/* Three living dioramas. The reference layouts use the same authoritative rules. */
body[data-playing=yes]{--badge-width:130px;--ink:#ffedc8;--muted:#c9d1b3;background:#243f30;overflow-x:hidden}
body[data-playing=yes][data-scene='1']{--world:url('/assets/stadium-cinematic.webp');--accent:#79b543;--card-bg:#fff1c7;--world-ink:#204b40}
body[data-playing=yes][data-scene='2']{--world:url('/assets/safari.webp');--accent:#d8ab68;--card-bg:#ffefce;--world-ink:#543c27}
body[data-playing=yes][data-scene='3']{--world:url('/assets/crochet-volcano.webp');--accent:#e8994d;--card-bg:#19253b;--world-ink:#ffe4ad;background:#11182b}
body[data-playing=yes]::before{background:var(--world) center/cover!important;opacity:1!important;filter:none}
body[data-playing=yes] header{max-width:none!important;height:57px;min-height:57px!important;padding:5px 20px!important;background:linear-gradient(#103b35ed,#112c29b3)!important;border:0!important;box-shadow:0 3px 20px #06171380;position:relative;z-index:4;color:#fff1c1}
body[data-playing=yes] .brand{font-size:30px!important;color:#ffe58a!important;text-shadow:0 3px 0 #56301c,2px 0 0 #56301c;letter-spacing:-1px}.brand b{color:#5de1c8}.brand small{font-size:8px!important;color:#fff2ce}
body[data-playing=yes] #app .game{padding:4px 60px 8px 16px!important;min-height:0;height:calc(100dvh - 57px);color:var(--world-ink);max-width:none}
body[data-playing=yes] .game-top{height:18px;min-height:18px!important;margin:0!important;color:#fff0c1;text-shadow:0 1px 3px #000;align-items:center;gap:4px}.game-top .eyebrow{font-size:9px}.game-top .connection{font-size:10px}
#app .game .main-board{height:calc(100% - 18px);display:grid!important;grid-template-columns:minmax(0,1fr) minmax(230px,21vw);grid-template-rows:clamp(57px,7.5vh,90px) clamp(64px,8.5vh,100px) minmax(200px,1fr) clamp(145px,22vh,245px);grid-template-areas:'crew crew' 'turn turn' 'track track' 'market pocket';gap:7px!important}
.crew-ribbon{grid-area:crew;display:flex;justify-content:center;align-items:stretch;gap:10px;padding:2px 0;min-width:0}
.ribbon-player{position:relative;display:flex;align-items:center;gap:8px;flex:1;max-width:260px;min-width:0;padding:4px 9px;background:linear-gradient(#123f48f5,#082c36f5);color:#ffefc7;border:3px solid color-mix(in srgb,var(--player-color) 60%,#d8b36b);border-radius:15px;box-shadow:0 5px 0 #0c202fb3,0 8px 14px #0004;text-align:left;overflow:hidden}
.ribbon-player b{display:block;font-size:clamp(12px,1vw,19px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}.ribbon-player strong{font-size:clamp(17px,1.5vw,28px);line-height:1.1;color:#ffe581}.ribbon-avatar{position:relative;width:58px;align-self:stretch;flex:0 0 58px}.ribbon-avatar>img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 3px 2px #0007)}.ribbon-avatar .avatar-charm{font-size:14px;bottom:0!important;right:0!important}.ribbon-player.active{border-color:#ffe06b;box-shadow:0 0 0 2px #fff5aa,0 0 18px #ffd856aa,0 5px 0 #6f4123;animation:active-crew 2s ease-in-out infinite}.ribbon-player.self b::after{content:' •';color:#ffee6a}.ribbon-pulse{position:absolute;top:5px;right:6px;width:7px;height:7px;background:#ffef75;border-radius:50%;box-shadow:0 0 8px #ffea7d}
#app .game .turn-hud{grid-area:turn;justify-self:center;align-self:center;width:min(760px,75%);height:100%;min-height:0!important;margin:0!important;padding:7px 18px!important;background:linear-gradient(#fff1bb,#ecc57f)!important;border:4px solid #b88842!important;border-radius:15px 26px 14px 22px!important;box-shadow:0 5px 0 #68492980,0 12px 25px #092d3255;color:#35251a!important;z-index:5}
#app .game .turn-copy strong{font-size:clamp(19px,2.2vw,35px)!important;line-height:1!important;margin:0!important;text-shadow:0 2px 0 #fff5;display:block}.game .turn-label{font-size:clamp(12px,1.2vw,19px)!important;color:#623e1b}.game .turn-copy small{font-size:11px!important;line-height:1.2;margin:1px 0 0!important}.game .turn-avatar{width:60px!important;height:60px!important;flex-basis:60px!important}.game .turn-avatar img{width:100%!important;height:100%!important;object-fit:contain}.game .up-next{margin-left:auto;padding-left:20px;border-left:1px solid #b99255;min-width:140px}.game .up-next small{font-size:10px}.game .up-next b{font-size:15px}.game .turn-hud.your-turn{animation:parchment-turn 2.8s ease-in-out infinite}
#app .game .cinematic-stage{grid-area:track;display:flex;flex-direction:column;background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;transform:none!important;margin:0!important;padding:0!important;min-height:0;isolation:auto;overflow:visible}
#app .cinematic-stage::before,#app .cinematic-stage::after{display:none!important}.cinematic-stage>.section-head{padding:0 5px!important;height:22px;min-height:22px;margin:0!important;color:#fff4d4;text-shadow:0 2px 3px #173021;background:#12393155;border-radius:10px}.cinematic-stage>.section-head h2{font-size:14px!important}.cinematic-stage>.section-head>span{font-size:10px!important;padding:0 6px!important;background:#163e34d9;color:#fff6cf}
#app .cinematic-stage .track{flex:1;min-height:0;display:flex;flex-direction:column;gap:0;position:relative;overflow:visible;padding-top:8px}
#app .cinematic-stage .lane{flex:1;height:auto!important;min-height:0;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;position:relative;overflow:visible;z-index:2}
.cinematic-stage .road-bed{position:absolute;left:var(--badge-width);right:25px;top:0;bottom:0;pointer-events:none}
.road-bed svg{width:100%;height:100%;overflow:visible}.road-bed path{fill:none;stroke-linecap:round}.road-shadow{stroke:#554326aa;stroke-width:67;transform:translateY(7px);filter:drop-shadow(0 4px 2px #18292455)}.road-edge{stroke:#7cad37;stroke-width:61}.road-surface{stroke:#d8ad70;stroke-width:49}
#app .cinematic-stage .lane-name{display:grid!important;grid-template-columns:29px 1fr;grid-template-rows:1fr auto;position:absolute!important;left:0!important;top:25%!important;bottom:auto;width:calc(var(--badge-width) - 12px);opacity:1!important;background:linear-gradient(color-mix(in srgb,var(--dino) 90%,#fff),color-mix(in srgb,var(--dino) 70%,#61291b));border:3px solid #ecda9a;border-radius:9px 2px 9px 2px;rotate:-3deg;color:white;text-shadow:0 2px 2px #351d21;font-size:13px!important;padding:3px;z-index:4;box-shadow:0 5px 0 #6a503e77}
.lane-name>b{grid-row:span 2;background:#f8ecc9;color:#31473c;border-radius:3px;text-shadow:none;font-size:20px;display:grid;place-items:center;margin-right:5px}.lane-name>strong{font-size:12px;white-space:nowrap}.lane-name>small{font-size:8px!important;white-space:nowrap}
.race-space{position:absolute;translate:-50% -50%;width:calc(100% / (var(--finish) + 1));height:55%;display:grid;place-items:center;color:#fff3d1;font-size:clamp(13px,1.5vw,24px);font-weight:900;text-shadow:0 2px 1px #9a694a;border-right:2px solid #f9e5b678;rotate:1deg}.race-space.start-space{font-size:10px!important}.race-space.finish-space{border:0;font-size:22px}.race-spaces{position:absolute;inset:0}
#app .cinematic-stage .runner{width:clamp(92px,9vw,165px)!important;height:clamp(60px,7vh,108px)!important;margin-left:0!important;translate:-50% -76%;top:50%;z-index:6;transition:left .8s cubic-bezier(.22,.7,.25,1),top .8s,transform .8s!important;filter:drop-shadow(0 7px 3px #17322666)!important;overflow:visible!important}
#app .cinematic-stage .runner .racer-character{width:100%;height:auto;aspect-ratio:1/2;top:auto!important;bottom:-43%;left:0;translate:none;background-image:url('/assets/toy-racers-fixed.webp');background-size:500% 100%;clip-path:none!important;transform:none!important;filter:none!important}
#app .cinematic-stage .runner>span{display:none!important}.cinematic-stage .runner .dust{bottom:0!important;z-index:-1}.cinematic-stage .runner.hopping .racer-character{animation:cinematic-run .65s ease-in-out!important}.cinematic-stage .runner.pet .racer-character{animation:cinematic-pet .5s ease-in-out!important}
#app .cinematic-stage .checkpoint-row{height:35px;min-height:35px;flex-shrink:0;margin:3px 25px 0 var(--badge-width);gap:8px;align-items:center}.cinematic-stage .checkpoint{width:100%;height:28px!important;max-width:56px!important;min-height:0;border:2px solid #dac7a1;background:#8c7956;border-radius:8px;box-shadow:0 4px 0 #4e473f;transform:perspective(300px) rotateX(10deg);aspect-ratio:auto;color:#ffebbf;padding:0!important}.cinematic-stage .checkpoint .checkpoint-art{width:100%;height:100%;border-radius:6px;display:grid;place-items:center}.cinematic-stage .checkpoint small{position:absolute;right:1px;bottom:0;background:#efdab2;color:#61462c;font-size:8px;padding:1px 3px;border-radius:4px}.cinematic-stage .checkpoint.flipped{border-color:#ffdf7e;box-shadow:0 0 10px #ffcd7966,0 4px 0 #4e473f}
#app .cinematic-stage .race-leaders{display:none!important}.cinematic-stage .track-caption{height:15px;font-size:9px!important;display:flex!important;color:#fff0be;text-shadow:0 1px 3px #000;margin:1px 0!important;padding-left:var(--badge-width)}
#app .game .market{grid-area:market;min-height:0;margin:0!important;padding:8px 12px!important;border:3px solid #bd9a5a!important;border-radius:20px!important;background:linear-gradient(#fff5d9f5,#f1d6a4f5)!important;box-shadow:0 6px 0 #65442b77!important;color:#294d40;overflow:visible;display:flex;flex-direction:column}
#app .game .market .section-head{height:24px;min-height:24px;margin:0!important;padding:0}.game .market .section-head h2{font-size:17px!important}.game .market-guidance{font-size:10px!important}.game .market .section-head small{font-size:9px!important}
#app .game .market-tray{flex:1;min-height:0;gap:10px;align-items:center;padding:4px 0!important;display:flex;flex-direction:row}
#app .game .market-tray .reveal-deck{width:100px!important;flex:0 0 100px!important;height:min(100%,150px)!important;min-height:85px!important;border-radius:45% 45% 15px 15px;padding:5px;gap:4px;background:radial-gradient(#fff3bd,#c6a359)!important;color:#4a3520}.game .reveal-deck .fossil-foot{font-size:34px!important}.game .reveal-deck strong{font-size:12px!important}.game .reveal-deck small{font-size:8px!important}
#app .game .market-tray .market-cards{height:100%;min-height:0;gap:12px;padding:4px 4px 7px!important;overflow-x:auto;overflow-y:visible;justify-content:center;align-items:center}
#app .game .market-tray .race-card{flex:0 1 220px!important;width:220px!important;height:auto!important;min-width:80px;max-width:240px;aspect-ratio:525/375;border-radius:15px!important;border:4px solid #edd189!important;box-shadow:0 5px 0 #78503877,0 9px 12px #223a3044!important;background:#ffefc2;overflow:hidden}
#app .game .market-tray .race-card img{width:100%;height:100%!important;min-height:0;object-fit:contain}.game .race-card.pickable:not(:disabled){outline:2px solid #ffc946;outline-offset:2px}.game .race-card:disabled{opacity:1!important;filter:saturate(.85)}.game .race-card .card-name{display:none!important}
.pocket-collection{grid-area:pocket;background:linear-gradient(#fff7dcf0,#efd7a9f5);border:3px solid #bc9a5d;border-radius:18px;padding:12px;box-shadow:0 6px 0 #65442b77;color:#264a40;align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.pocket-collection h2{display:flex;align-items:center;justify-content:space-between;font-size:17px}.pocket-collection h2 button{padding:2px 8px;border-radius:50%;color:#245346;background:#fff6d1}.pocket-collection>div{display:flex;gap:5px;margin:8px 0;justify-content:space-around}.pocket-collection>div button{padding:3px;flex:1;min-width:0;max-width:56px;border:2px solid #b4a17f;border-radius:9px;background:#fff7dc}.pocket-collection img{width:100%;height:48px;object-fit:contain;display:block}.pocket-collection b{font-size:16px}.pocket-collection>small{font-size:10px;text-align:center}.collection-overlay{position:fixed;z-index:62;left:20%;right:20%;top:25%;border:3px solid #dcc186;border-radius:24px;padding:15px;background:#fff3cf;box-shadow:0 0 0 100vmax #071b2488;color:#244735}.collection-overlay .collection{background:none!important;border:0;box-shadow:none}
.side-tools{right:8px;top:80px;gap:9px}.side-tools button{border:2px solid #c9af75;border-radius:50%;background:#10373de8;color:#ffedb6;width:42px;height:42px;font-size:20px}.campfire{right:8px!important;bottom:8px!important}.game-side-panel{background:#fff1d2f5}.style-preview{background:linear-gradient(#d6b87f,#ac7751)}
/* Round two: miniature winding tabletop, cards in the wooden sidebar. */
body[data-scene='2'] #app .game .main-board{grid-template-columns:minmax(0,1fr) clamp(230px,23vw,350px);grid-template-rows:clamp(65px,10vh,110px) minmax(240px,1fr) clamp(65px,9vh,110px);grid-template-areas:'track turn' 'track market' 'crew pocket';gap:12px!important}
body[data-scene='2'] #app .turn-hud{width:100%;padding:6px 9px!important;border-radius:15px!important;background:linear-gradient(#178798,#10636a)!important;color:#fff2ae!important;border-color:#ac8150!important}.game .turn-hud .up-next{color:inherit}
body[data-scene='2'] .turn-avatar{display:none}body[data-scene='2'] .turn-copy strong{font-size:23px!important}body[data-scene='2'] .turn-label{color:#fff1aa}body[data-scene='2'] .up-next{min-width:0;max-width:90px;padding-left:6px;border-color:#ecbb7755}body[data-scene='2'] .up-next b{font-size:11px}
body[data-scene='2'] #app .market{background:linear-gradient(#986233f0,#57351cf5)!important;border-color:#e0b47b!important;color:#fff0cb;padding:10px!important}body[data-scene='2'] .market-guidance{display:none}body[data-scene='2'] #app .market .section-head h2{font-size:14px!important}
body[data-scene='2'] #app .market-tray{flex-direction:column;overflow:hidden;gap:8px}body[data-scene='2'] #app .market-tray .reveal-deck{width:100%!important;flex:0 0 62px!important;min-height:62px!important;height:62px!important;flex-direction:row;border-radius:15px}body[data-scene='2'] #app .market-tray .market-cards{width:100%;height:auto;flex:1;overflow-y:auto;overflow-x:hidden;flex-direction:column;justify-content:flex-start;gap:12px;padding:6px!important}
body[data-scene='2'] #app .market-tray .race-card{width:100%!important;flex:0 0 auto!important;min-height:0;max-width:260px;rotate:0deg!important;transform:perspective(600px) rotateY(-3deg);border-color:#ead1a1!important}body[data-scene='2'] .road-edge{stroke:#fff0c9;stroke-width:65}body[data-scene='2'] .road-surface{stroke:var(--dino);stroke-width:55}body[data-scene='2'] .road-shadow{stroke:#61432788;stroke-width:70;transform:translateY(9px)}body[data-scene='2'] .race-space{border:2px solid #fff2caaa;border-radius:6px;background:#fff3b418;height:48%;width:calc(100% / (var(--finish) + 1) - 3px);color:#fff8dd;text-shadow:0 2px 2px #57352c66}
body[data-scene='2'] .pocket-collection{padding:5px 10px}body[data-scene='2'] .pocket-collection h2{font-size:12px}body[data-scene='2'] .pocket-collection>div{margin:2px 0}body[data-scene='2'] .pocket-collection img{height:25px}body[data-scene='2'] .pocket-collection b{font-size:12px}body[data-scene='2'] .pocket-collection>small{display:none}
/* Round three: amigurumi runners on floating rock platforms above the lava. */
body[data-scene='3'] .road-bed svg{opacity:0}.game .lava-chase{display:none}body[data-scene='3'] .lava-chase{display:block;position:absolute;top:3%;bottom:40px;left:calc(var(--badge-width) - 5px);width:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 70% 40%,#fff083aa,transparent 35%),repeating-radial-gradient(ellipse at 0 50%,#ffa43fc4 0 6px,#df452dbe 8px 15px,#7e1f3580 20px 25px);border-radius:10% 65% 30% 10%;filter:drop-shadow(0 0 14px #ff6c26);clip-path:polygon(0 0,85% 0,94% 10%,88% 20%,100% 32%,90% 45%,98% 60%,85% 75%,93% 86%,82% 100%,0 100%);transition:width 1.5s,opacity 1s}
body[data-scene='3'] .lava-chase.awake{opacity:.8;animation:lava-flow 4s ease-in-out infinite}body[data-scene='3'] .lava-chase i{position:absolute;background:#ffb55b;border-radius:50%;width:7px;height:7px;left:80%;top:20%;box-shadow:0 0 12px #ffc361;animation:ember-float 2.5s infinite}body[data-scene='3'] .lava-chase i:nth-child(2){top:50%;animation-delay:.7s}body[data-scene='3'] .lava-chase i:nth-child(3){top:80%;animation-delay:1.3s}
body[data-scene='3'] .race-space{background:linear-gradient(145deg,#bcb2ba,#655d76);border:2px solid #c5b6ad;border-bottom:5px solid #403d57;border-radius:42% 32% 38% 28%;height:49%;width:calc(100% / (var(--finish) + 1) - 5px);box-shadow:0 8px 0 #252c48,0 13px 12px #020e2880;color:#fff1cd;text-shadow:0 2px 2px #2c2140;transform:perspective(350px) rotateX(22deg)}
body[data-scene='3'] #app .runner .racer-character{background-image:url('/assets/crochet-racers-fixed.webp')!important}body[data-scene='3'] .lane-name{background:linear-gradient(#252d49,#10172e)!important;border-color:var(--dino);box-shadow:0 5px 0 #0005}body[data-scene='3'] .lane-name strong{color:var(--dino)}
body[data-scene='3'] #app .game .turn-hud{background:linear-gradient(#343141,#151c32)!important;border-color:#b99564!important;color:#ffe08c!important;box-shadow:0 0 20px #e68e3444,0 6px 0 #050e23!important}body[data-scene='3'] .turn-label{color:#ffecb9}body[data-scene='3'] .turn-copy strong{text-shadow:0 3px 0 #000!important}body[data-scene='3'] #app .game .market,body[data-scene='3'] .pocket-collection{background:linear-gradient(#243148f2,#0e1a30f5)!important;color:#ffe8bc!important;border-color:#8b795d!important;box-shadow:0 6px 0 #040e23!important}body[data-scene='3'] .pocket-collection>div button{background:#122941;border-color:#777780;color:#fff0b6}
@keyframes active-crew{50%{box-shadow:0 0 0 2px #fff5aa,0 0 26px #ffd856dd,0 5px 0 #6f4123}}@keyframes parchment-turn{50%{filter:drop-shadow(0 0 10px #fff29b66)}}@keyframes cinematic-run{0%,100%{rotate:0deg;scale:1}25%{rotate:-3deg;scale:1.04 .98}65%{rotate:2deg;scale:1.02 .99}}@keyframes cinematic-pet{0%,100%{rotate:0deg;scale:1}35%{rotate:-5deg;scale:1.09}70%{rotate:4deg;scale:1.05}}@keyframes lava-flow{50%{filter:drop-shadow(0 0 23px #ff762f);background-position:15px -12px}}@keyframes ember-float{0%{translate:0 10px;opacity:0}40%{opacity:1}100%{translate:20px -25px;opacity:0}}
@media(min-width:1700px){body[data-playing=yes]{--badge-width:170px}.lane-name strong{font-size:17px}.lane-name>small{font-size:10px!important}.lane-name>b{font-size:26px}.ribbon-avatar{width:75px;flex-basis:75px}.ribbon-player{max-width:300px}.pocket-collection img{height:65px}.pocket-collection>div button{max-width:65px}}
@media(max-height:680px) and (min-width:1000px){#app .game .main-board{grid-template-rows:48px 53px minmax(170px,1fr) 120px}.game .turn-avatar{width:42px!important;height:42px!important;flex-basis:42px!important}.game .turn-copy strong{font-size:21px!important}.game .turn-copy small{font-size:9px!important}.ribbon-avatar{flex-basis:38px}.ribbon-player strong{font-size:16px}.cinematic-stage>.section-head{height:18px;min-height:18px}.cinematic-stage .checkpoint-row{height:27px!important;min-height:27px!important}.cinematic-stage .track-caption{display:none!important}#app .cinematic-stage .runner{width:75px!important;height:55px!important}.game .market .section-head h2{font-size:13px!important}.pocket-collection{padding:5px}.pocket-collection img{height:32px}.pocket-collection>small{font-size:8px}.pocket-collection h2{font-size:13px}}
@media(max-width:999px){body[data-playing=yes]{--badge-width:80px}body[data-playing=yes] header{height:55px!important;padding:4px 9px!important}body[data-playing=yes] .brand{font-size:20px!important}body[data-playing=yes] #app .game{height:auto;min-height:calc(100dvh - 55px);padding:4px 8px 70px!important}#app .game .main-board,body[data-scene='2'] #app .game .main-board{height:auto;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto auto;grid-template-areas:'crew' 'turn' 'track' 'market' 'pocket';gap:7px!important}.crew-ribbon{gap:5px;overflow-x:auto;justify-content:flex-start;min-height:59px}.ribbon-player{flex:0 0 140px;max-width:140px;border-width:2px;padding:3px 5px;gap:4px}.ribbon-avatar{flex-basis:38px;height:46px}.ribbon-player b{font-size:11px;max-width:85px}.ribbon-player strong{font-size:16px}#app .game .turn-hud{width:100%;height:65px;min-height:65px!important;padding:5px 10px!important;border-width:3px!important}.game .turn-copy strong{font-size:21px!important}.game .turn-label{font-size:11px!important}.game .turn-copy small{font-size:9px!important}.game .turn-avatar{width:42px!important;height:42px!important;flex-basis:42px!important}.game .up-next{min-width:85px;padding-left:7px}.game .up-next b{font-size:11px}
#app .game .cinematic-stage{height:clamp(320px,44vh,550px)}#app .cinematic-stage .lane-name{width:68px;grid-template-columns:18px 1fr;padding:2px;border-width:2px;font-size:9px!important;top:26%!important}.lane-name strong{font-size:9px}.lane-name small{font-size:6px!important;white-space:normal}.lane-name>b{font-size:14px}.cinematic-stage .road-bed{right:12px}#app .cinematic-stage .runner{width:70px!important;height:52px!important}.race-space{font-size:13px}.race-space.start-space{font-size:7px!important}.cinematic-stage .checkpoint-row{gap:4px;margin-right:12px!important;height:30px!important;min-height:30px!important}.cinematic-stage .checkpoint{height:23px!important}.cinematic-stage .track-caption{font-size:7px!important;height:19px;line-height:1.15;gap:8px;padding-left:2px}
#app .game .market,body[data-scene='2'] #app .game .market{height:195px;padding:6px 8px!important;border-width:2px!important}.game .market-guidance{display:none}#app .game .market-tray,body[data-scene='2'] #app .market-tray{flex-direction:row;gap:8px}#app .game .market-tray .reveal-deck,body[data-scene='2'] #app .market-tray .reveal-deck{flex:0 0 76px!important;width:76px!important;height:120px!important;min-height:120px!important;flex-direction:column;border-radius:40% 40% 10px 10px;padding:4px}.game .reveal-deck .fossil-foot{font-size:27px!important}.game .reveal-deck strong{font-size:10px!important}.game .reveal-deck small{font-size:7px!important}#app .game .market-tray .market-cards,body[data-scene='2'] #app .market-tray .market-cards{flex-direction:row;width:auto;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;padding:6px 5px!important;gap:10px;height:100%}#app .game .market-tray .race-card,body[data-scene='2'] #app .market-tray .race-card{flex:0 0 150px!important;width:150px!important;max-width:150px;border-width:3px!important}.pocket-collection,body[data-scene='2'] .pocket-collection{height:110px;padding:7px 10px}.pocket-collection h2,body[data-scene='2'] .pocket-collection h2{font-size:14px}.pocket-collection img,body[data-scene='2'] .pocket-collection img{height:38px}.pocket-collection>small{display:none}.pocket-collection>div{margin:4px 0}.collection-overlay{left:10px;right:10px;top:20%}.side-tools{top:auto;bottom:10px;left:8px;right:auto}.side-tools button{width:39px;height:39px}.game-side-panel{right:8px;left:8px;width:auto}
}
@media(prefers-reduced-motion:reduce){.ribbon-player,.turn-hud,.lava-chase,.lava-chase i,.racer-character{animation:none!important}#app .cinematic-stage .runner{transition:none!important}}
body[data-playing=yes]{background:var(--world) center/cover fixed!important}body[data-playing=yes]::before{display:none!important}body[data-playing=yes] #app{position:relative;z-index:1}.game>.game-layout{height:calc(100% - 18px)}#app .game .main-board{height:100%}
#app .cinematic-stage .runner{--racer-size:clamp(92px,9vw,165px);width:var(--racer-size)!important;height:var(--racer-size)!important;translate:-50% -92%}.cinematic-stage .runner .racer-character{bottom:-48%!important}
.avatar-model{display:block;position:relative;width:100%;height:100%;background:url('/assets/toy-racers-fixed.webp') calc(var(--avatar-sprite)*25%) 55% / 500% auto no-repeat;filter:drop-shadow(0 3px 2px #0005)}body[data-scene='3'] .avatar-model{background-image:url('/assets/crochet-racers-fixed.webp')}.pocket-collection>div button{color:#264a40!important}.ribbon-player .ribbon-avatar{display:block}.game .turn-avatar .avatar-model{height:100%;width:100%}
@media(max-width:999px){.game>.game-layout{height:auto}#app .game .main-board{height:auto}#app .cinematic-stage .runner{--racer-size:70px}}
@media(max-height:680px) and (min-width:1000px){#app .cinematic-stage .runner{--racer-size:75px}}
#app .cinematic-stage .runner{--racer-size:clamp(75px,calc((100dvh - 450px)/5),145px);translate:-50% -75%}
#app .game .market-tray .race-card{height:calc(100% - 16px)!important;max-height:205px;aspect-ratio:auto}
body[data-scene='2'] #app .market-tray .race-card{height:auto!important;max-height:none;aspect-ratio:525/375}
@media(max-width:999px){#app .cinematic-stage .runner{--racer-size:65px}#app .game .market-tray .race-card,body[data-scene='2'] #app .game .market-tray .race-card{height:112px!important;aspect-ratio:525/375;max-height:112px}}
@media(max-height:680px) and (min-width:1000px){#app .cinematic-stage .runner{--racer-size:65px}}
body[data-scene='2'] #app .game .turn-copy strong{font-size:19px!important;line-height:1.1!important}body[data-scene='2'] #app .game .turn-label{font-size:17px!important;line-height:1.1!important;color:#fff2aa}body[data-scene='2'] #app .market-tray .race-card{max-width:225px}
.game-logo{width:105px;height:58px;object-fit:contain;display:block;filter:drop-shadow(0 3px 2px #0005)}.brand-fallback{display:none}.brand small{display:none!important}body[data-playing=yes] header .game-logo{width:125px;height:55px}#app .game .market-tray .market-cards{overflow-y:hidden}body[data-scene='2'] #app .game .market-tray .market-cards{overflow-y:auto}
.finish-space{background:repeating-conic-gradient(#f3e3c3 0% 25%,#203035 0% 50%) 50% / 16px 16px!important;border:3px solid #ac8d58!important;border-radius:7px!important;max-width:60px;box-shadow:0 5px 0 #533d28!important;color:#152a29!important;display:flex;flex-direction:column;justify-content:center;gap:0;overflow:hidden}.finish-space b{font-size:20px;background:#ffeec2dc;padding:1px 6px;line-height:1.1;border-radius:5px}.finish-space small{font-size:7px;font-weight:900;line-height:1.1;letter-spacing:.3px;text-shadow:none;color:#f5e6b8;background:#23353ae6;padding:2px 4px}
body[data-scene='1'] .road-edge{stroke:#6c9d39;filter:drop-shadow(0 3px 1px #53772677)}body[data-scene='1'] .road-shadow{stroke:#765735;stroke-width:61}
body[data-scene='3'] .pocket-collection>div button{color:#fff2b8!important}
@media(max-width:999px){body[data-playing=yes] header .game-logo{height:46px;width:100px}.finish-space{max-width:28px!important}.finish-space b{font-size:13px;padding:0}.finish-space small{font-size:5px;padding:0}.game .market .section-head small{color:inherit!important}.pocket-collection img{height:36px}}

.toy-dino{background-image:url(/assets/crochet-racers-fixed.webp)!important;height:180px;width:90px}.toy-dino.crowned{height:210px;width:105px}@media(max-width:700px){.toy-dino{height:130px;width:65px}.toy-dino.crowned{height:150px;width:75px}}
.toy-dino{clip-path:inset(0 7% 0 7%)}
#app .cinematic-stage .runner .racer-character{clip-path:inset(0 7%)!important}.avatar-model{clip-path:inset(0 7%)}
@media(max-width:600px){html,body{overflow-x:clip}#app .cinematic-stage .runner{--racer-size:50px!important}.ribbon-crew{scrollbar-width:none}.ribbon-crew::-webkit-scrollbar{display:none}}
.avatar-model{background-size:500% 100%;background-position-y:center}

/* Whole sprite cells retain faces, horns and tails. */
#app .cinematic-stage .runner .racer-character,.avatar-model,.toy-dino{clip-path:none!important}
.avatar-model{background-size:500% auto;background-position-y:center;aspect-ratio:1/2;height:100%;width:50%;margin:auto}
body[data-playing=yes] header .volume-control,body[data-playing=yes] header:has(.audio-settings[open]) .volume-control{display:flex;position:static;min-width:0;padding:0;border:0;background:none;gap:7px}
header .volume-control input#volume{appearance:auto;-webkit-appearance:auto;width:140px;height:24px;padding:0;border:0;background:transparent;accent-color:#f6c85c;cursor:pointer;touch-action:none}
header .volume-control label{display:none}
@media(max-width:760px){body[data-playing=yes] header .volume-control{position:fixed;top:58px;right:8px;width:155px;z-index:70;border-radius:10px;background:#153e35ee;padding:2px 8px}header .volume-control input#volume{width:105px}.game-top{padding-right:160px}.volume-control{flex:0 0 auto;order:initial}}

#app .cinematic-stage .racer-character[style="--sprite:0"],.avatar-model[style="--avatar-sprite:0"]{background-size:477.83132530120486% 100%!important;background-position:0.0% center!important;left:0!important;width:100%!important;clip-path:none!important}
#app .cinematic-stage .racer-character[style="--sprite:1"],.avatar-model[style="--avatar-sprite:1"]{background-size:519.109947643979% 100%!important;background-position:25.60899437851343% center!important;left:0!important;width:100%!important;clip-path:none!important}
#app .cinematic-stage .racer-character[style="--sprite:2"],.avatar-model[style="--avatar-sprite:2"]{background-size:483.6585365853659% 100%!important;background-position:50.22250476795931% center!important;left:0!important;width:100%!important;clip-path:none!important}
#app .cinematic-stage .racer-character[style="--sprite:3"],.avatar-model[style="--avatar-sprite:3"]{background-size:507.1611253196931% 100%!important;background-position:75.0% center!important;left:0!important;width:100%!important;clip-path:none!important}
#app .cinematic-stage .racer-character[style="--sprite:4"],.avatar-model[style="--avatar-sprite:4"]{background-size:499.49622166246854% 100%!important;background-position:100.0% center!important;left:0!important;width:100%!important;clip-path:none!important}
body[data-scene="3"] #app .cinematic-stage .racer-character[style="--sprite:0"],body[data-scene="3"] .avatar-model[style="--avatar-sprite:0"],.toy-dino[style*="--toy-sprite:0"]{background-size:502.0253164556962% 100%!important;background-position:0.0% center!important;left:0!important;width:100%!important;clip-path:none!important}
body[data-scene="3"] #app .cinematic-stage .racer-character[style="--sprite:1"],body[data-scene="3"] .avatar-model[style="--avatar-sprite:1"],.toy-dino[style*="--toy-sprite:1"]{background-size:533.0645161290323% 100%!important;background-position:25.450031036623216% center!important;left:0!important;width:100%!important;clip-path:none!important}
body[data-scene="3"] #app .cinematic-stage .racer-character[style="--sprite:2"],body[data-scene="3"] .avatar-model[style="--avatar-sprite:2"],.toy-dino[style*="--toy-sprite:2"]{background-size:472.14285714285717% 100%!important;background-position:50.159948816378765% center!important;left:0!important;width:100%!important;clip-path:none!important}
body[data-scene="3"] #app .cinematic-stage .racer-character[style="--sprite:3"],body[data-scene="3"] .avatar-model[style="--avatar-sprite:3"],.toy-dino[style*="--toy-sprite:3"]{background-size:508.46153846153845% 100%!important;background-position:75.95731324544884% center!important;left:0!important;width:100%!important;clip-path:none!important}
body[data-scene="3"] #app .cinematic-stage .racer-character[style="--sprite:4"],body[data-scene="3"] .avatar-model[style="--avatar-sprite:4"],.toy-dino[style*="--toy-sprite:4"]{background-size:512.4031007751938% 100%!important;background-position:100.0% center!important;left:0!important;width:100%!important;clip-path:none!important}body .avatar-model[style]{width:50%!important;height:100%;margin:auto;left:auto!important}
#app .avatar-model[style]{width:50%!important;height:100%!important;margin:auto;left:auto!important}

#app .avatar-model[style="--avatar-sprite:0"]{width:100%!important;background-size:477.83132530120486% 170%!important;background-position:0.0% center!important}
#app .avatar-model[style="--avatar-sprite:1"]{width:100%!important;background-size:519.109947643979% 170%!important;background-position:25.60899437851343% center!important}
#app .avatar-model[style="--avatar-sprite:2"]{width:100%!important;background-size:483.6585365853659% 170%!important;background-position:50.22250476795931% center!important}
#app .avatar-model[style="--avatar-sprite:3"]{width:100%!important;background-size:507.1611253196931% 170%!important;background-position:75.0% center!important}
#app .avatar-model[style="--avatar-sprite:4"]{width:100%!important;background-size:499.49622166246854% 170%!important;background-position:100.0% center!important}
body[data-scene="3"] #app .avatar-model[style="--avatar-sprite:0"]{width:100%!important;background-size:502.0253164556962% 170%!important;background-position:0.0% center!important}
body[data-scene="3"] #app .avatar-model[style="--avatar-sprite:1"]{width:100%!important;background-size:533.0645161290323% 170%!important;background-position:25.450031036623216% center!important}
body[data-scene="3"] #app .avatar-model[style="--avatar-sprite:2"]{width:100%!important;background-size:472.14285714285717% 170%!important;background-position:50.159948816378765% center!important}
body[data-scene="3"] #app .avatar-model[style="--avatar-sprite:3"]{width:100%!important;background-size:508.46153846153845% 170%!important;background-position:75.95731324544884% center!important}
body[data-scene="3"] #app .avatar-model[style="--avatar-sprite:4"]{width:100%!important;background-size:512.4031007751938% 170%!important;background-position:100.0% center!important}
/* Racers share one layer above all roads, including during lane swaps. */
#app .cinematic-stage .track>.runner{position:absolute!important;z-index:10!important;transform:none!important;overflow:visible!important}

