:root{--bg:#080d14;--panel:#101a22;--panel2:#15232d;--ink:#f3f8f8;--muted:#93aab5;--lime:#beff39;--pink:#ff4fd1;--line:#35505d;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);font-family:Inter,"Arial", "PingFang SC",sans-serif;-webkit-font-smoothing:antialiased;background:radial-gradient(circle at 50% -10%,#1c3545 0,#080d14 42%);min-height:100dvh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #fff;outline-offset:3px}button,select{-webkit-tap-highlight-color:transparent}.app-shell{width:min(100%,1500px);margin:auto}.topbar{height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 clamp(16px,3.2vw,46px);border-bottom:1px solid #315160;background:#090f15d9}.brand{display:flex;align-items:center;gap:10px;font-weight:1000;letter-spacing:.08em;white-space:nowrap}.brand-mark{width:34px;height:34px;border:2px solid var(--lime);border-radius:9px;color:var(--lime);display:grid;place-items:center;font-family:Impact,sans-serif;font-size:23px;letter-spacing:-.1em;transform:skew(-9deg)}.brand-mark span{font-size:16px;margin-left:-7px}.brand-name{font-size:13px}.brand-name small{color:var(--muted);font-size:10px}.header-center{height:33px;min-width:186px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #294450;background:#101b22;border-radius:5px;color:#dbe7eb;font-size:11px;font-weight:800;letter-spacing:.02em}.header-center b{color:var(--lime);font-variant-numeric:tabular-nums}.live-dot{height:7px;width:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime)}.header-right{display:flex;align-items:center;justify-content:flex-end;gap:13px}.balance{display:flex;align-items:baseline;gap:5px;white-space:nowrap}.balance small{display:block;margin-right:6px;color:var(--muted);font-size:10px;font-weight:700}.balance strong{font-size:19px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.balance>span{color:var(--lime);font-size:10px;font-weight:900}.icon-button{width:34px;height:34px;border:1px solid #42606d;background:#192a33;color:#e8f5f4;border-radius:50%;font-weight:900}.icon-button:hover{border-color:var(--lime);color:var(--lime)}main{padding:0 clamp(12px,3vw,42px) 25px}.game-intro{min-height:116px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 3px 17px}.eyebrow{color:#bed0d3;font-size:11px;font-weight:900;letter-spacing:.18em}.eyebrow i{font-style:normal;color:var(--pink);padding:0 5px}.game-intro h1{margin:4px 0 3px;font-family:Impact,"Arial Black",sans-serif;font-style:italic;font-size:clamp(35px,3.6vw,60px);letter-spacing:.02em;line-height:1}.game-intro h1 em{color:var(--lime);font-style:inherit}.game-intro p{margin:0;color:#b6c8cb;font-size:12px}.round-tag{text-align:right;display:grid;gap:3px;font-size:11px;color:#99b3b8;font-weight:800;letter-spacing:.1em;white-space:nowrap}.round-tag b{font-size:17px;color:white}.round-tag span{font-size:10px;letter-spacing:0}.arena{position:relative;overflow:hidden;isolation:isolate;height:clamp(355px,42vw,590px);border:1px solid #466172;border-radius:9px;background:#091521 url('./assets/launch-sky.jpg') center 47%/cover no-repeat;box-shadow:0 20px 50px #0009, inset 0 0 80px #06121c}.arena:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#030b13aa 0,#030b1399 42%,#030b1355 50%,#030b1388 60%,#030b13aa 100%),linear-gradient(0deg,#030912df 0,transparent 42%,#03091280 100%)}#arenaCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1}.arena-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(0deg,#07101999,transparent 20%,transparent 66%,#070d189e),linear-gradient(90deg,#07121a22,transparent 48%,#07121a22)}.arena-top{position:absolute;z-index:4;left:0;right:0;top:0;display:grid;grid-template-columns:1fr 160px 1fr;align-items:start;padding:16px clamp(13px,2vw,30px);pointer-events:none}.lane-label{display:flex;flex-direction:column;gap:0;text-shadow:0 2px 12px #000}.lane-label strong{font-family:Impact,"Arial Black",sans-serif;letter-spacing:.05em;font-size:clamp(22px,3vw,40px);line-height:1;color:var(--lime)}.stock-label{text-align:right}.stock-label strong{color:var(--pink)}.lane-index{font-size:10px;font-weight:900;letter-spacing:.13em;color:#d3e4e2}.lane-sub{color:#b6c9cc;font-size:10px;margin-top:5px}.arena-center{display:flex;flex-direction:column;align-items:center;padding:5px 10px 8px;border:1px solid #617783;background:#0b1721dc;border-radius:6px;text-align:center;box-shadow:0 3px 20px #000a}.arena-center>span{font-size:9px;letter-spacing:.1em;font-weight:900;color:#c8d6d6}.arena-center strong{font-size:28px;line-height:1.05;font-variant-numeric:tabular-nums}.arena-center #centerBottom{color:var(--lime);font-size:9px}.lane-multipliers{position:absolute;z-index:4;left:0;right:0;top:28%;display:grid;grid-template-columns:1fr 1fr;pointer-events:none}.multiplier{display:grid;justify-items:center;gap:1px;text-shadow:0 3px 18px #000,0 1px 6px #000}.multiplier small{font-weight:900;letter-spacing:.16em;color:#d4e4e3;font-size:10px}.multiplier strong{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(46px,6vw,91px);font-weight:900;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:var(--lime)}.multiplier strong span{font-size:.5em;margin-left:3px}.multiplier.stock strong{color:var(--pink)}.multiplier em{font-style:normal;font-weight:900;font-size:10px;letter-spacing:.16em;color:#d9eaeb}.multiplier.crashed strong{color:#ff756d}.multiplier.cashed em{color:var(--lime)}.arena-bottom{position:absolute;z-index:4;inset:auto 0 0;min-height:34px;padding:0 clamp(13px,2vw,30px) 8px;display:flex;align-items:end;justify-content:space-between;gap:10px;color:#bdd2d2;font-size:9px;font-weight:900;letter-spacing:.09em}.arena-bottom #arenaNote{color:white;text-align:center;font-size:10px;letter-spacing:0}.action-strip{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#afc6c9;font-size:11px;font-weight:800}.action-strip:before{content:"";height:8px;width:8px;background:var(--lime);border-radius:50%;box-shadow:0 0 12px var(--lime)}.action-strip #actionHint{margin-right:auto}.fair-note{color:#829ca5}.cash-both,.bet-both{height:35px;padding:0 16px;background:#d8f5f4;color:#0c1b21;border:0;border-radius:4px;font-weight:1000;font-size:11px;white-space:nowrap}.cash-both b,.bet-both b{font-size:16px;margin-left:5px}.cash-both:hover,.bet-both:hover{background:white}.bet-both{background:#c5e983}.bet-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bet-card{min-width:0;padding:15px 17px 13px;background:linear-gradient(125deg,#13242b,#101a22 72%);border:1px solid #365c59;border-top:3px solid var(--lime);border-radius:6px;box-shadow:0 12px 30px #0005}.stock-card{border-color:#6d4269;border-top-color:var(--pink);background:linear-gradient(125deg,#2b1b2b,#111921 72%)}.bet-card-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:10px}.bet-card-heading>div{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px}.mini-dot{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime)}.stock-card .mini-dot{background:var(--pink);box-shadow:0 0 10px var(--pink)}.bet-card-heading small{color:#a7c2c0;font-size:9px;font-weight:900;letter-spacing:.14em}.bet-card h2{margin:1px 0 0;font-size:19px;line-height:1.1}.bet-state{padding:5px 7px;border:1px solid #426266;border-radius:3px;color:#b6caca;font-size:10px;white-space:nowrap}.bet-state.armed{border-color:var(--lime);color:var(--lime)}.stock-card .bet-state.armed{border-color:var(--pink);color:var(--pink)}.bet-controls>label,.auto-row>label{display:block;color:#93b0b5;font-size:10px;font-weight:800;margin-bottom:6px}.amount-row{height:44px;display:grid;grid-template-columns:45px 1fr 45px;align-items:center;background:#081219;border:1px solid #45636d;border-radius:4px;overflow:hidden}.amount-row input{width:100%;min-width:0;border:0;color:white;background:transparent;text-align:center;font-weight:1000;font-size:20px;outline:none;appearance:textfield}.amount-row input::-webkit-inner-spin-button,.amount-row input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper{height:100%;border:0;background:#1b3139;color:#ddeded;font-size:25px}.stepper:hover{background:#294b53}.quick-bets{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:6px}.quick-bets button{height:27px;border:1px solid #34525b;border-radius:3px;background:#0b1a20;color:#b8d0d1;font-size:11px;font-weight:900}.quick-bets button.selected,.quick-bets button:hover{border-color:var(--lime);color:var(--lime)}.stock-card .quick-bets button.selected,.stock-card .quick-bets button:hover{border-color:var(--pink);color:var(--pink)}.auto-row{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.auto-row label{margin:0}.auto-row select{height:28px;min-width:100px;padding:0 24px 0 9px;background:#0b1a20;color:#dfefed;border:1px solid #42626a;border-radius:3px;font-size:11px;font-weight:800}.primary-action{width:100%;height:48px;padding:0 14px;border:0;border-radius:4px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;font-size:15px;font-weight:1000;transition:filter .15s,transform .15s}.primary-action:not(:disabled):hover{filter:brightness(1.13);transform:translateY(-1px)}.car-action{background:var(--lime);color:#10210b}.stock-action{background:var(--pink);color:#271024}.primary-action b{font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.primary-action:disabled{background:#294047;color:#90a8ad}.bet-result{margin:8px 0 0;color:#9eb8bc;font-size:11px;min-height:14px}.history-section{padding:21px 2px}.history-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.history-heading h2{margin:0 0 10px;font-family:Impact,sans-serif;font-size:18px;letter-spacing:.08em}.history-heading span{font-size:10px;color:#83a0a7}.history-list{display:flex;gap:8px;overflow:auto;scrollbar-width:thin}.history-list>p{margin:0;color:#829da3;font-size:12px}.history-chip{min-width:128px;padding:9px 11px;border:1px solid #385560;border-radius:4px;background:#101e27}.history-chip small{display:block;color:#8ca7aa;font-size:9px;font-weight:900}.history-chip strong{display:flex;justify-content:space-between;gap:5px;font-size:12px;color:var(--lime)}.history-chip strong span+span{color:var(--pink)}.history-chip em{font-style:normal;color:#b3c4c8;font-size:9px}.footer-note{padding:4px 0 calc(12px + var(--safe-bottom));font-size:10px;color:#739098;text-align:center}.help-dialog{width:min(92vw,480px);max-height:min(85vh,700px);padding:0;border:1px solid #667f87;border-top:3px solid var(--lime);border-radius:7px;background:#111e27;color:white;box-shadow:0 24px 100px #000}.help-dialog::backdrop{background:#01060bd9;backdrop-filter:blur(7px)}.help-dialog form{padding:20px 23px}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.dialog-head small{font-size:10px;color:var(--lime);letter-spacing:.18em;font-weight:900}.dialog-head h2{margin:4px 0 8px;font-size:24px}.dialog-close{border:0;background:transparent;color:#dcebef;font-size:30px;line-height:1}.help-dialog ol{padding-left:20px;margin:10px 0;line-height:1.55;font-size:13px;color:#d2e2e5}.help-dialog li{padding-left:3px;margin:8px 0}.dialog-disclaimer{padding:10px;background:#1a3036;border-left:3px solid var(--pink);color:#c3d9dd;font-size:11px;line-height:1.5}.settings{display:flex;gap:20px;padding:9px 0;color:#e8f3f2;font-size:12px}.settings label{display:flex;align-items:center;gap:5px}.settings input{accent-color:var(--lime)}.reset-button,.dialog-done{min-height:38px;margin-top:8px;padding:0 12px;border:1px solid #58757d;background:transparent;color:#d6e8e9;border-radius:3px;font-size:11px;font-weight:800}.dialog-done{float:right;background:var(--lime);color:#0b1b17;border-color:var(--lime)}
@media(max-width:760px){.topbar{height:56px;grid-template-columns:1fr auto;padding:0 12px}.brand-name small,.header-center{display:none}.balance small{display:none}.balance strong{font-size:17px}.game-intro{min-height:105px;padding:15px 2px}.game-intro h1{font-size:clamp(30px,8vw,44px)}.game-intro p{font-size:10px}.round-tag{display:none}.arena{height:clamp(320px,47dvh,470px)}.arena-top{grid-template-columns:1fr 86px 1fr;padding:12px 10px}.lane-index{font-size:8px}.lane-label strong{font-size:clamp(16px,5vw,27px)}.lane-sub{font-size:9px}.arena-center{padding:5px 3px}.arena-center strong{font-size:21px}.arena-center>span{font-size:8px}.lane-multipliers{top:27%}.multiplier strong{font-size:clamp(40px,10vw,64px)}.arena-bottom{font-size:7px;padding:0 8px 7px}.arena-bottom #arenaNote{font-size:9px}.action-strip{min-height:47px;font-size:10px}.fair-note{display:none}.bet-grid{gap:8px}.bet-card{padding:10px 9px 9px}.bet-card h2{font-size:16px}.bet-card-heading small{font-size:8px}.bet-state{font-size:8px;padding:4px 5px}.amount-row{height:41px;grid-template-columns:34px 1fr 34px}.amount-row input{font-size:17px}.stepper{font-size:21px}.quick-bets{gap:3px}.quick-bets button{font-size:10px}.auto-row{margin:8px 0}.auto-row label{font-size:9px}.auto-row select{min-width:78px;padding-left:4px;padding-right:14px;font-size:10px}.primary-action{height:47px;padding:0 8px;font-size:12px}.primary-action b{font-size:9px}.bet-result{font-size:9px;line-height:1.2}.history-section{padding:17px 2px}.history-heading span{font-size:9px}}
@media(max-width:390px){.eyebrow{font-size:9px}.game-intro p{max-width:340px}.lane-label strong{font-size:17px}.multiplier strong{font-size:40px}.multiplier small{font-size:8px}.bet-card-heading{gap:3px}.bet-card h2{font-size:14px}.bet-state{font-size:7px}.primary-action{font-size:11px}.primary-action b{font-size:8px}.auto-row select{min-width:70px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* V2 flight staging: the vehicles stay visible below the compact multiplier HUD. */
.arena:before{background:linear-gradient(0deg,#030a13b0 0,transparent 36%,#030a134d 100%),linear-gradient(90deg,#030b1370 0,#030b134a 44%,#030b1330 50%,#030b134a 56%,#030b1370 100%)}
.arena-vignette{background:linear-gradient(0deg,#07101980,transparent 18%,transparent 78%,#070d1866)}
.lane-multipliers{top:18%}
.multiplier strong{font-size:clamp(44px,5.2vw,74px)}
@media(max-width:760px){.lane-multipliers{top:18%}.multiplier strong{font-size:clamp(37px,9vw,56px)}}

/* Comic character edition: one illustrated world for the Roadster and stock lanes. */
.arena{background-image:url('./assets/comic-launch-city.jpg');background-position:center 51%;border-color:#67829a}
.arena:before{background:linear-gradient(0deg,#030a13a8 0,transparent 34%,#030a133b 100%),linear-gradient(90deg,#030b1370 0,#030b1325 45%,#030b131f 50%,#030b1325 55%,#030b1370 100%)}
.arena-vignette{z-index:0;background:linear-gradient(0deg,#07101983,transparent 19%,transparent 77%,#070d1866)}
.reaction-layer{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.reaction-bubble{position:absolute;left:50%;bottom:4px;color:#e9fcff;font:italic 900 clamp(30px,5vw,55px)/1 Impact,"Arial Black",sans-serif;letter-spacing:.03em;white-space:nowrap;text-shadow:0 3px 12px #000;filter:drop-shadow(0 3px 12px #000);animation:cheer-rise 1.7s ease-out forwards}
.reaction-bubble.car{left:12%;color:var(--lime)}
.reaction-bubble.stock{left:88%;color:var(--pink)}
@keyframes cheer-rise{0%{opacity:0;transform:translate(-50%,10px) scale(.65)}18%{opacity:1;transform:translate(-50%,-12px) scale(1.1)}100%{opacity:0;transform:translate(-50%,-105px) scale(1.25)}}
@media(max-width:760px){.reaction-bubble{bottom:3px;font-size:clamp(24px,7vw,34px)}.reaction-bubble.car{left:14%}.reaction-bubble.stock{left:86%}}
.social-strip{min-height:48px;display:flex;align-items:center;gap:clamp(9px,1.5vw,22px);padding:7px 2px;border-bottom:1px solid #29404b;color:#c7d8db;font-size:10px;font-weight:800}
.room-presence,.crowd-counts,.cheer-buttons{display:flex;align-items:center;gap:7px;white-space:nowrap}
.room-presence strong{color:#e9f7ed;font-size:13px;font-variant-numeric:tabular-nums}.room-presence small{color:#829ca7;font-size:9px}
.players-icon{width:18px;height:18px;flex:none;fill:currentColor;color:var(--lime);filter:drop-shadow(0 0 5px #aaff4266)}
.social-strip.offline .players-icon,.social-strip.offline .room-presence strong{color:#ff9b87}
.crowd-counts{padding-left:12px;border-left:1px solid #37515a}.crowd-counts>span{color:#829ca7}
.car-crowd{color:var(--lime)}.stock-crowd{color:var(--pink)}
.crowd-feed{flex:1;min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d9e9e9;text-align:center}
.cheer-buttons button{height:29px;min-width:38px;padding:0 7px;border:1px solid #41606b;border-radius:5px;background:#182831;color:#fff;font-size:11px;font-weight:900;line-height:1;white-space:nowrap}
.cheer-buttons [data-cheer="car"]{color:var(--lime);border-color:#526d3e}.cheer-buttons [data-cheer="stock"]{color:var(--pink);border-color:#76506f}
.cheer-buttons button:hover:not(:disabled){border-color:#e9f3f3;background:#26434b;transform:translateY(-1px)}
.cheer-buttons button:disabled{opacity:.4;cursor:default}
@media(max-width:760px){.social-strip{flex-wrap:wrap;min-height:58px;gap:4px 10px;padding:6px 1px}.room-presence small{display:none}.crowd-counts{padding-left:8px}.crowd-counts>span{display:none}.crowd-feed{order:3;flex:0 0 100%;font-size:9px;text-align:left}.cheer-buttons{margin-left:auto;gap:3px}.cheer-buttons button{height:26px;min-width:34px;font-size:10px}}
@media(max-width:390px){.social-strip{gap:3px 6px}.room-presence,.crowd-counts{gap:4px}.crowd-counts{padding-left:5px}.cheer-buttons button{min-width:30px;padding:0 4px}}
@media(prefers-reduced-motion:reduce){.reaction-bubble{animation-duration:.01ms}}
.dual-bet-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px;padding:14px 17px;border:1px solid #688278;border-radius:7px;background:linear-gradient(100deg,#1a2b27,#251b2a);box-shadow:0 12px 25px #0005}
.dual-bet-copy{display:grid;gap:3px;min-width:0}.dual-bet-copy strong{font-size:17px;letter-spacing:.02em;color:#fff}.dual-bet-copy span{font-size:13px;font-weight:900;color:#e3f4e9;font-variant-numeric:tabular-nums}.dual-bet-copy small{font-size:10px;color:#a9c0bf}
.dual-bet-panel .bet-both{flex:none;min-width:168px;height:49px;border-radius:5px;background:linear-gradient(105deg,#baf651,#ff78ce);color:#16191d;font-size:15px;box-shadow:0 4px 20px #adff5a26}
.dual-bet-panel .bet-both:not(:disabled):hover{filter:brightness(1.12)}.dual-bet-panel .bet-both:disabled{background:#344b4e;color:#a6bdbe;box-shadow:none}
@media(max-width:760px){.dual-bet-panel{display:grid;gap:10px;margin-top:8px;padding:12px}.dual-bet-copy strong{font-size:15px}.dual-bet-copy span{font-size:11px}.dual-bet-copy small{font-size:9px}.dual-bet-panel .bet-both{width:100%;min-width:0;height:47px}}

/* Mobile-first live room HUD. Keep the timer in the arena and put completed multipliers above it. */
.brand{gap:9px}.brand-logo{display:block;width:128px;height:auto;max-height:43px;object-fit:contain}.brand-mode{color:#9bb7b9;font-size:10px;font-weight:900;letter-spacing:.13em}.topbar{height:62px}.header-center{min-width:130px}.game-intro{min-height:90px;padding:13px 3px 12px}.game-intro h1{font-size:clamp(31px,3.2vw,48px)}
.history-section{margin:0 0 10px;padding:10px 12px 12px;border:1px solid #31505b;border-radius:8px;background:#0d1b23}.history-heading{align-items:center}.history-heading h2{margin:0 0 8px;font:900 14px/1.1 Inter,"PingFang SC",sans-serif;letter-spacing:.04em;color:#eaf5ee}.history-heading span{font-size:10px}.history-list{gap:7px;padding-bottom:2px;scroll-snap-type:x proximity}.history-list>p{padding:9px 3px;font-size:11px}.history-chip{flex:none;min-width:150px;padding:7px 9px;border-radius:6px;scroll-snap-align:start}.history-chip:first-child{border-color:#8fac72;background:#172724}.history-chip small{font-size:10px;color:#d0ded8}.history-chip strong{display:flex;flex-direction:column;align-items:flex-start;gap:1px;margin-top:4px;font-size:12px;line-height:1.2;font-variant-numeric:tabular-nums}.history-chip strong .car{color:var(--lime)}.history-chip strong .stock{color:var(--pink)}
.arena-top{grid-template-columns:1fr 1fr;gap:12px}.arena-center{position:absolute;z-index:5;left:50%;top:51%;width:clamp(158px,17vw,210px);padding:14px 15px 13px;transform:translate(-50%,-50%);border:1px solid #a7e963aa;border-radius:14px;background:linear-gradient(145deg,#152a2cf2,#0a1721ef);box-shadow:0 15px 35px #000b,0 0 35px #7cde5d28;pointer-events:none}.arena-brand{display:block;width:104px;max-width:100%;height:auto;margin:0 auto 8px}.arena-center>span{font-size:12px;letter-spacing:.06em;color:#e1eeeb}.arena-center strong{margin:3px 0;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(50px,5vw,73px);line-height:1;color:var(--lime);text-shadow:0 0 18px #b3ff6a50}.arena-center #centerBottom{font-size:10px;color:#d5e4de;letter-spacing:0}.countdown-track{height:5px;width:100%;margin-top:11px;overflow:hidden;border-radius:99px;background:#324d4b}.countdown-track span{display:block;height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,#74efbe,#c8ff49);box-shadow:0 0 12px #b9ff53}.arena-center[data-phase="running"]{top:11%;width:116px;padding:5px 8px 6px;transform:translate(-50%,0);border-color:#47748a99;background:#0b1b27d9;box-shadow:0 5px 18px #0008}.arena-center[data-phase="running"] .arena-brand,.arena-center[data-phase="running"] .countdown-track,.arena-center[data-phase="running"] #centerBottom{display:none}.arena-center[data-phase="running"]>span{font-size:9px}.arena-center[data-phase="running"] strong{font:900 17px/1 Inter,"Arial Black",sans-serif;color:#e8fffb;text-shadow:none}.arena-center[data-phase="result"]{border-color:#8da5b0;width:175px}.arena-center[data-phase="result"] .countdown-track{display:none}.arena-center[data-phase="result"] strong{font-size:31px;color:white}.lane-multipliers{top:18%}
.bet-list-section{margin:13px 0 4px;padding:15px;border:1px solid #35535f;border-radius:8px;background:#101d26}.bet-list-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.bet-list-heading h2{margin:3px 0 0;font-size:19px;line-height:1.1}.bet-list-heading>span{color:var(--lime);font-size:11px;font-weight:900;font-variant-numeric:tabular-nums;white-space:nowrap}.bet-list-note{margin:7px 0 11px;color:#8da8ae;font-size:10px}.bet-list{max-height:284px;overflow:auto;border:1px solid #29434d;border-radius:6px;background:#09161e;scrollbar-width:thin}.bet-list-empty{margin:0;padding:19px 13px;color:#8da8ae;font-size:12px}.bet-list-row{min-height:44px;display:grid;grid-template-columns:minmax(0,1.4fr) 92px 100px 95px;align-items:center;gap:8px;padding:7px 11px;border-bottom:1px solid #203943;font-size:11px}.bet-list-row:last-child{border-bottom:0}.bet-list-row.self{background:#24422b58}.bet-player{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e4f2ef;font-weight:800}.bet-lane{font-weight:900;color:var(--lime)}.bet-list-row.stock .bet-lane{color:var(--pink)}.bet-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bet-status{text-align:right;color:#b5c8c9;white-space:nowrap}.bet-status.cashed{color:var(--lime)}.bet-status.crashed{color:#ff9a86}.bet-status.active{color:#ecf4b2}
@media(max-width:760px){
  main{padding:0 10px 16px}.topbar{height:54px;padding:0 10px}.brand-logo{width:112px}.brand-mode{font-size:8px}.balance strong{font-size:16px}.header-right{gap:8px}.icon-button{width:32px;height:32px}
  .game-intro{min-height:65px;padding:9px 2px 7px}.game-intro h1{margin:2px 0;font-size:clamp(27px,7vw,36px)}.game-intro p{font-size:10px;line-height:1.25}.eyebrow{font-size:9px}
  .history-section{padding:8px 9px 9px;margin-bottom:8px}.history-heading h2{font-size:12px;margin-bottom:6px}.history-heading span{font-size:8px}.history-chip{min-width:139px;padding:6px 8px}.history-chip small{font-size:9px}.history-chip strong{font-size:11px}
  .arena{height:clamp(350px,48dvh,490px);border-radius:10px}.arena-top{padding:11px 9px}.lane-label strong{font-size:clamp(18px,5vw,27px)}.lane-index{font-size:8px}.arena-center{top:49%;width:154px;padding:12px 13px}.arena-brand{width:93px;margin-bottom:7px}.arena-center strong{font-size:56px}.arena-center[data-phase="running"]{top:12%;width:88px;padding:5px 6px}.arena-center[data-phase="running"] strong{font-size:15px}.arena-center[data-phase="running"]>span{font-size:8px}.arena-center[data-phase="result"]{width:148px}.arena-center[data-phase="result"] strong{font-size:27px}.lane-multipliers{top:19%}.multiplier strong{font-size:clamp(38px,9vw,55px)}
  .social-strip{min-height:53px}.action-strip{min-height:44px}.bet-grid{gap:7px}.bet-card{padding:10px 9px 9px}.bet-card h2{font-size:16px}.bet-card-heading{margin-bottom:9px}.bet-state{font-size:9px}.amount-row{height:43px;grid-template-columns:34px 1fr 34px}.stepper{font-size:23px}.quick-bets button{height:31px;font-size:11px}.auto-row select{height:30px}.primary-action{height:52px;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 5px;text-align:center;font-size:13px}.primary-action b{font-size:10px}.bet-result{min-height:24px;font-size:10px;line-height:1.2}
  .bet-list-section{padding:12px;margin-top:10px}.bet-list-heading h2{font-size:16px}.bet-list-heading>span{font-size:10px}.bet-list-note{font-size:9px}.bet-list-row{min-height:55px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"player amount" "lane status";gap:3px 8px;padding:7px 10px;font-size:11px}.bet-player{grid-area:player}.bet-lane{grid-area:lane}.bet-amount{grid-area:amount}.bet-status{grid-area:status}
}
@media(max-width:390px){.brand-logo{width:100px}.brand-mode{display:none}.balance strong{font-size:15px}.game-intro p{display:none}.game-intro{min-height:53px}.history-heading span{display:none}.arena{height:clamp(335px,48dvh,450px)}.bet-card{padding:9px 7px}.bet-card h2{font-size:15px}.bet-state{font-size:8px}.quick-bets{gap:2px}.quick-bets button{font-size:10px}.auto-row{gap:4px}.auto-row select{min-width:73px}.primary-action{font-size:12px}}

/* The game begins with the compact history strip; controls keep only actionable copy. */
.music-button{color:var(--lime);display:grid;place-items:center;position:relative}
.music-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.music-button.muted{color:#78929a}.music-button.muted .sound-wave{opacity:.25}
.music-button.muted:after{content:"";position:absolute;width:22px;height:2px;left:5px;top:15px;background:#ff8c8c;transform:rotate(-43deg)}
.history-section{display:flex;align-items:center;gap:12px;margin-top:9px;padding:8px 12px}
.history-heading{flex:none}
.history-heading h2{margin:0;white-space:nowrap}
.history-list{min-width:0;flex:1;align-items:center}
.history-list>p{padding:0;white-space:nowrap}
.history-chip{min-width:140px;padding:8px 10px}
.history-chip strong{flex-direction:row;align-items:center;gap:10px;margin:0;white-space:nowrap}
.action-strip{min-height:12px;margin:2px 0}
.action-strip:before{display:none}
.bet-result:empty{display:none}
.bet-list{margin-top:11px}
@media(max-width:760px){
  .history-section{gap:8px;margin-top:7px;padding:7px 9px}
  .history-heading h2{margin:0;font-size:12px}
  .history-chip{min-width:130px;padding:6px 8px}
  .history-chip strong{flex-direction:row;gap:8px;margin:0;font-size:11px}
  .action-strip{min-height:12px}
  .bet-result:empty{display:none}
  .bet-list{margin-top:9px}
}

/* Standalone game HUD. */
.game-header{min-height:138px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding:4px 4px 0}
.game-logo{margin:0;line-height:0}
.game-logo img{display:block;width:clamp(250px,24vw,320px);height:auto;max-width:100%;object-fit:contain;filter:drop-shadow(0 7px 15px #0008)}
.game-tools{display:flex;align-items:center;justify-content:flex-end;justify-self:end;gap:12px;margin-top:9px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.arena-center[data-phase="countdown"]{width:174px;padding:10px 13px 11px}
.arena-brand-stack{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;margin:0 auto 5px}
.arena-brand-stack img{display:block;height:auto;object-fit:contain}
.arena-company-logo{width:116px;max-height:39px}
.arena-game-logo{width:124px;max-height:54px}
.arena-center[data-phase="running"] .arena-brand-stack,.arena-center[data-phase="result"] .arena-brand-stack{display:none}
@media(max-width:760px){
  .game-header{min-height:0;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;justify-items:stretch;gap:2px 0;padding:2px 0 4px}
  .game-logo{grid-column:1/-1;grid-row:2;justify-self:center}
  .game-logo img{width:min(72vw,250px);max-height:none}
  .game-tools{grid-column:2;grid-row:1;width:auto;min-height:38px;gap:8px;margin-top:0}
  .game-tools .balance{margin-right:0}
  .arena-center[data-phase="countdown"]{width:166px;padding:9px 11px 10px}
  .arena-company-logo{width:112px;max-height:37px}
  .arena-game-logo{width:120px;max-height:52px}
}

/* Completed outcomes read as color-coded multipliers without a visible legend. */
.history-section{min-height:74px;padding:6px 9px}
.history-section:has(.history-list:empty){display:none}
.history-list{display:flex;flex-direction:row;align-items:stretch;width:100%;gap:6px;padding:0}
.history-pair{display:grid;grid-template-rows:repeat(2,26px);gap:3px;flex:0 0 82px;padding:3px;border:1px solid #35515d;border-radius:9px;background:#0a1820;scroll-snap-align:start}
.history-chip{display:inline-flex;align-items:center;justify-content:center;min-width:0;width:100%;height:26px;padding:0 3px;border-radius:6px;font:900 14px/1 Impact,"Arial Black",sans-serif;font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}
.history-chip.car,.history-chip.car:first-child{color:#c8ff6b;border-color:#668f45;background:#1d3423}
.history-chip.stock{color:#ff9be5;border-color:#a35496;background:#38223b}
@media(max-width:760px){
  .history-section{min-height:66px;padding:5px 7px}
  .history-pair{grid-template-rows:repeat(2,23px);gap:2px;flex-basis:76px;padding:3px}
  .history-chip{height:23px;padding:0 2px;font-size:13px}
}

/* Portrait play view: keep both lane actions and the dual bet in the first screen. */
@media(max-width:760px){
  main{padding:env(safe-area-inset-top,0px) 8px calc(10px + var(--safe-bottom))}
  .game-header{height:50px;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0}
  .game-logo{flex:none}
  .game-logo img{width:106px;max-width:none}
  .game-tools{width:auto;min-height:0;gap:6px;margin:0 0 0 auto}
  .balance{gap:2px}
  .balance strong{font-size:14px}
  .balance>span{font-size:8px}
  .icon-button{width:32px;height:32px;flex:none}

  .history-section{height:43px;min-height:43px;margin:0 0 3px;padding:2px 0;border:0;background:transparent}
  .history-list{gap:4px}
  .history-pair{grid-template-rows:repeat(2,16px);gap:1px;flex-basis:68px;padding:2px}
  .history-chip{height:16px;font-size:11px}

  .arena{height:clamp(185px,calc(100dvh - 445px - env(safe-area-inset-top,0px) - var(--safe-bottom)),320px)}
  .arena-top{padding:6px 7px}
  .lane-label strong{font-size:clamp(15px,4.2vw,20px)}
  .lane-multipliers{top:20%}
  .multiplier{gap:0}
  .multiplier.car{justify-items:start;padding-left:8px;text-align:left}
  .multiplier.stock{justify-items:end;padding-right:8px;text-align:right}
  .multiplier small,.multiplier em{display:none}
  .multiplier strong{font-size:clamp(30px,8vw,42px)}
  .arena-center[data-phase="countdown"]{top:57%;width:126px;padding:6px 8px 7px}
  .arena-company-logo{width:72px;max-height:25px}
  .arena-game-logo{width:80px;max-height:36px}
  .arena-brand-stack{gap:1px;margin-bottom:3px}
  .arena-center[data-phase="countdown"]>span{font-size:9px}
  .arena-center[data-phase="countdown"] strong{font-size:39px}
  .countdown-track{height:3px;margin-top:5px}
  .arena-center[data-phase="running"]{top:6%}

  .social-strip{height:34px;min-height:34px;flex-wrap:nowrap;gap:5px;padding:2px 0;overflow:hidden}
  .social-strip .crowd-feed{display:none}
  .room-presence,.crowd-counts,.cheer-buttons{gap:4px}
  .crowd-counts{padding-left:5px}
  .cheer-buttons{margin-left:auto;gap:2px}
  .cheer-buttons button{height:27px;min-width:31px;padding:0 4px;font-size:9px}

  .action-strip{height:4px;min-height:4px;margin:0;gap:5px;overflow:hidden}
  .action-strip:has(#actionHint:not(:empty)){height:38px;min-height:38px;margin:1px 0}
  .action-strip #actionHint{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .bet-grid{gap:5px}
  .bet-card{padding:6px 6px 5px;border-top-width:2px}
  .bet-card-heading{align-items:center;gap:3px;margin-bottom:3px}
  .bet-card-heading>div{grid-template-columns:6px 1fr;column-gap:4px}
  .bet-card-heading small{display:none}
  .mini-dot{grid-row:1;width:6px;height:6px}
  .bet-card h2{font-size:13px;line-height:1}
  .bet-state{padding:2px 3px;font-size:8px}
  .bet-controls>label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .amount-row{height:32px;grid-template-columns:30px 1fr 30px}
  .amount-row input{font-size:16px}
  .stepper{font-size:19px}
  .quick-bets{gap:2px;margin-top:3px}
  .quick-bets button{height:24px;font-size:10px}
  .auto-row{gap:3px;margin:4px 0}
  .auto-row label{font-size:9px}
  .auto-row select{height:27px;min-width:69px;padding:0 12px 0 3px;font-size:10px}
  .primary-action{height:44px;gap:0;padding:3px 4px;font-size:12px}
  .primary-action b{font-size:9px}
  .bet-result{min-height:0;max-height:13px;margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}

  .dual-bet-panel{display:flex;min-height:40px;gap:5px;margin-top:4px;padding:3px 7px}
  .dual-bet-copy{flex:1;gap:1px;overflow:hidden}
  .dual-bet-copy strong{font-size:11px}
  .dual-bet-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}
  .dual-bet-panel .bet-both{flex:none;width:102px;min-width:0;height:34px;font-size:12px}
}
@media(max-width:760px) and (max-height:640px){
  .game-header{height:44px;min-height:44px}
  .game-logo img{width:94px}
  .history-section{height:38px;min-height:38px}
  .history-pair{grid-template-rows:repeat(2,14px);flex-basis:64px;padding:1px}
  .history-chip{height:14px;font-size:10px}
  .arena{height:clamp(170px,calc(100dvh - 400px - env(safe-area-inset-top,0px) - var(--safe-bottom)),190px)}
  .social-strip{height:26px;min-height:26px;padding:1px 0}
  .cheer-buttons button{height:23px}
  .quick-bets button{height:22px}
  .auto-row select{height:25px}
  .primary-action{height:40px}
  .bet-result{display:none}
  .dual-bet-panel{min-height:37px}
}
@media(max-width:350px){
  .crowd-counts{display:none}
  .game-tools{gap:4px}
}

/* Shared action and in-arena reactions. */
.arena-cheers{position:absolute;z-index:6;left:50%;bottom:34px;transform:translateX(-50%);transition:opacity .18s}
.arena-cheers .cheer-buttons{display:flex;gap:6px;margin:0;padding:4px;border:1px solid #aac3bc66;border-radius:99px;background:#07151cbd;box-shadow:0 7px 24px #0009;backdrop-filter:blur(7px)}
.arena-cheers .cheer-buttons button{height:30px;min-width:48px;border-radius:99px;touch-action:manipulation;user-select:none}
.arena-cheers .cheer-buttons button.tapped{animation:cheer-tap .18s ease-out}
@keyframes cheer-tap{50%{transform:scale(1.16);filter:brightness(1.4)}}
.auto-row>.auto-switch{display:inline-flex;align-items:center;gap:6px;margin:0;color:#d4e5e3;cursor:pointer;white-space:nowrap}
.auto-switch input{position:absolute;opacity:0;width:1px;height:1px}
.auto-switch input:focus-visible+.auto-track{outline:2px solid white;outline-offset:3px}
.auto-track{position:relative;width:30px;height:18px;flex:none;border:1px solid #5b7276;border-radius:99px;background:#34454c;transition:background .15s}
.auto-track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#d5e3e3;transition:transform .15s}
.auto-switch input:checked+.auto-track{background:#8bdc4d;border-color:#aef46a}
.stock-card .auto-switch input:checked+.auto-track{background:#db6ab8;border-color:#ff9edc}
.auto-switch input:checked+.auto-track:after{transform:translateX(12px);background:#102018}
.auto-switch:has(input:disabled){opacity:.55;cursor:default}
.auto-target{height:28px;min-width:70px;display:flex;align-items:center;justify-content:flex-end;gap:2px;padding:0 6px;border:1px solid #557078;border-radius:5px;background:#08171f;color:#ecf5f1}
.auto-target input{width:49px;min-width:0;border:0;outline:0;background:transparent;color:inherit;text-align:right;font-size:11px;font-weight:900;appearance:textfield}
.auto-target input::-webkit-inner-spin-button,.auto-target input::-webkit-outer-spin-button{-webkit-appearance:none}
.auto-target:has(input:disabled){opacity:.48}
.auto-target.invalid{border-color:#ff786f;color:#ffae9f}
.action-strip:has(#actionHint:empty){height:3px;min-height:3px;margin:0}
.action-strip:has(#actionHint:not(:empty)){height:31px;min-height:31px;margin:0}
.bet-list-section{margin-top:7px;padding:8px 10px}.bet-list-heading h2{margin:0;font-size:13px}.bet-list{max-height:142px;margin-top:5px}.bet-list-row{min-height:32px;padding:4px 8px}
.bet-list-empty{padding:8px 10px}
@media(max-width:760px){
  .arena-cheers{bottom:25px}.arena-cheers .cheer-buttons{gap:3px;padding:3px}.arena-cheers .cheer-buttons button{height:27px;min-width:41px;font-size:10px}
  .auto-row{gap:3px}.auto-row>.auto-switch{gap:3px;font-size:9px}.auto-track{width:26px;height:16px}.auto-track:after{width:10px;height:10px}.auto-switch input:checked+.auto-track:after{transform:translateX(10px)}
  .auto-target{min-width:55px;height:23px;padding:0 3px}.auto-target input{width:37px;font-size:9px}
  .bet-list-section{margin-top:5px;padding:6px}.bet-list-heading h2{font-size:11px}.bet-list{max-height:76px;margin-top:3px}.bet-list-row{min-height:25px;display:grid;grid-template-columns:minmax(0,1fr) 30px 57px 48px;grid-template-areas:none;gap:3px;padding:3px 4px;font-size:8px}.bet-player,.bet-lane,.bet-amount,.bet-status{grid-area:auto}.bet-list-empty{padding:5px;font-size:9px}
}
@media(max-width:350px){.auto-row>.auto-switch{font-size:8px}.auto-target{min-width:52px}}
@media(prefers-reduced-motion:reduce){.arena-cheers .cheer-buttons button.tapped{animation:none}}

/* Compact countdown crest: two logos share one row and the perimeter drains with time. */
.arena-center[data-phase="countdown"]{width:218px;padding:14px 12px 10px;border-color:#3d5b60;background:linear-gradient(145deg,#152a2cf2,#0a1721f5);box-shadow:0 12px 30px #000b}
.arena-center[data-phase="countdown"]>*:not(.countdown-outline){position:relative;z-index:1}
.arena-center[data-phase="countdown"]>span:empty{display:none}
.arena-brand-stack{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:10px;width:100%;margin:0 0 2px}
.arena-brand-stack .arena-company-logo{width:78px;max-height:28px}
.arena-brand-stack .arena-game-logo{width:78px;max-height:34px}
.arena-brand-divider{width:1px;height:28px;flex:none;background:linear-gradient(transparent,#a8c5be 22%,#a8c5be 78%,transparent)}
.arena-center[data-phase="countdown"] #centerValue{margin:0;font-size:50px;line-height:1;color:#e7ffbc;font-variant-numeric:tabular-nums;text-shadow:0 0 15px #b3ff6a66}
.countdown-outline{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.arena-center[data-phase="countdown"] .countdown-outline{display:block}
.countdown-outline rect{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}
.countdown-outline-track{stroke:#3a575e}
.countdown-outline-fill{stroke:#baff73;stroke-dasharray:100 100;stroke-dashoffset:0;stroke-linecap:round;filter:drop-shadow(0 0 5px #baff73)}
@media(max-width:760px){
  .arena-center[data-phase="countdown"]{width:188px;top:57%;padding:9px 8px 7px}
  .arena-brand-stack{gap:7px;margin-bottom:1px}
  .arena-brand-stack .arena-company-logo{width:68px;max-height:24px}
  .arena-brand-stack .arena-game-logo{width:68px;max-height:29px}
  .arena-brand-divider{height:24px}
  .arena-center[data-phase="countdown"] #centerValue{font-size:42px}
}
@media(max-width:350px){.arena-center[data-phase="countdown"]{width:178px}.arena-brand-stack .arena-company-logo,.arena-brand-stack .arena-game-logo{width:64px}}

/* Results show two stopped multipliers without declaring a winner. */
.arena-center[data-phase="result"]{display:none}

/* Each lane owns its bet and cashout controls. */
.bet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}
.quick-bets{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:5px}
.quick-bets button{min-width:0;height:25px;padding:0 2px;font-size:10px}
.quick-bets button:disabled{opacity:.48}
@media(max-width:760px){
  .bet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .quick-bets{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-top:3px}
  .quick-bets button{height:22px;padding:0 1px;font-size:9px}
  .car-card{order:0}.stock-card{order:0}
  .bet-grid .bet-card{min-width:0;padding:5px 4px}
  .bet-card-heading{min-height:29px;flex-direction:column;align-items:flex-start;justify-content:start;gap:2px;margin-bottom:3px}
  .bet-card-heading>div{min-width:0}
  .bet-card h2{font-size:clamp(11px,3.2vw,14px);white-space:nowrap}
  .bet-state{padding:1px 3px;font-size:7px;line-height:1.1}
  .amount-row{height:31px;grid-template-columns:21px minmax(0,1fr) 21px}
  .amount-row input{font-size:13px}
  .stepper{font-size:17px}
  .auto-row{flex-direction:column;align-items:stretch;gap:2px;margin:4px 0}
  .auto-row>.auto-switch{font-size:8px;gap:2px}
  .auto-track{width:24px;height:15px}
  .auto-track:after{width:9px;height:9px}
  .auto-switch input:checked+.auto-track:after{transform:translateX(9px)}
  .auto-target{width:100%;min-width:0;height:22px}
  .auto-target input{width:45px;font-size:9px}
  .primary-action{height:40px;font-size:10px}
  .primary-action b{font-size:8px}
}
.multiplier.car.crashed strong{color:var(--lime)}
.multiplier.stock.crashed strong{color:var(--pink)}
.arena-center[data-phase="running"]{display:none}

/* The newest completed round is always the leftmost pair. */
.history-pair.latest{border-color:#b6d98a;box-shadow:0 0 0 1px #c8ec9170,0 0 14px #caff7c35}
.history-pair.latest .history-chip{animation:latest-history-blink 2.2s ease-in-out infinite}
@keyframes latest-history-blink{0%,100%{opacity:1;filter:brightness(1.24)}50%{opacity:.43;filter:brightness(.78)}}
@media(prefers-reduced-motion:reduce){.history-pair.latest .history-chip{animation:none}}

/* Personal result first; spectators see the server's full-room payout. */
.settlement-panel[hidden]{display:none}
.settlement-panel{position:absolute;z-index:5;left:50%;top:55%;width:min(440px,92%);display:grid;align-content:center;justify-items:center;gap:2px;padding:0;transform:translate(-50%,-50%);border:0;border-radius:0;background:none;box-shadow:none;text-align:center;pointer-events:none;backdrop-filter:none}
.settlement-panel>span{color:#e2eced;font-size:11px;font-weight:900;letter-spacing:.06em;text-shadow:0 2px 8px #061126}
.settlement-panel strong{color:#d9f9ff;font:900 30px/1.04 Impact,"Arial Black",sans-serif;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 3px 11px #061126}
.settlement-panel small{color:#d4e0de;font-size:10px;font-weight:800;white-space:nowrap;text-shadow:0 2px 8px #061126}
.settlement-panel small:empty{display:none}
.settlement-panel[data-outcome="win"]{width:min(440px,92%)}
.settlement-panel[data-outcome="win"]>span{color:#e5d5ae;font-size:11px}
.settlement-panel[data-outcome="win"] strong{color:#ffdc73;font-size:52px;letter-spacing:-.018em;text-shadow:0 3px 11px #061126,0 0 12px #ffcf573d}
.settlement-panel[data-outcome="win"] small{color:#e3d9c0;font-size:10px}
.settlement-panel[data-outcome="even"] strong{color:#e2eeea}
@media(max-width:760px){.settlement-panel{top:52%;width:92%;gap:1px}.settlement-panel>span{font-size:9px}.settlement-panel strong{font-size:24px}.settlement-panel small{font-size:8px}.settlement-panel[data-outcome="win"]{width:92%}.settlement-panel[data-outcome="win"]>span{font-size:10px}.settlement-panel[data-outcome="win"] strong{font-size:42px}.settlement-panel[data-outcome="win"] small{font-size:9px}}
@media(max-width:350px){.settlement-panel[data-outcome="win"] strong{font-size:38px}}

/* Bet cards communicate their state through controls and color, not status copy. */
.bet-card-heading{min-height:0;align-items:center;margin-bottom:6px}
.bet-card-heading>div{grid-template-columns:9px 1fr}
.mini-dot{grid-row:1}
.car-card[data-placed="true"]{border-color:#b6ea67;box-shadow:0 0 0 1px #b6ea6740,0 12px 30px #0005}
.stock-card[data-placed="true"]{border-color:#f494dc;box-shadow:0 0 0 1px #f494dc40,0 12px 30px #0005}
.car-action[data-state="placed"]:disabled{background:#4f703c;color:#ddffb1}
.stock-action[data-state="placed"]:disabled{background:#774365;color:#ffd3f0}
.car-action[data-state="cashed"]:disabled{background:#355d50;color:#c9f5da}
.stock-action[data-state="cashed"]:disabled{background:#614562;color:#f8d0f1}
.amount-row:has(.stake-value[aria-invalid="true"]){border-color:#ff827f;box-shadow:0 0 0 1px #ff827f55}
@media(max-width:760px){.bet-card-heading{min-height:0;flex-direction:row;align-items:center;margin-bottom:5px}.bet-card-heading>div{grid-template-columns:6px 1fr}}

/* Tapping the amount opens a compact picker; the five quick amounts stay on each card. */
.amount-row .stake-value{position:relative;width:100%;min-width:0;height:100%;padding:0 15px 0 5px;border:0;background:transparent;color:#fff;text-align:center;font-size:20px;font-weight:1000;font-variant-numeric:tabular-nums;white-space:nowrap}
.amount-row .stake-value:after{content:"";position:absolute;right:9px;top:calc(50% - 4px);width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.65}
.amount-row .stake-value:not(:disabled):hover{background:#ffffff12}
.amount-row .stake-value:disabled{color:#bbced0}
.stock-card .amount-row .stake-value:not(:disabled){color:#ffe6f7}
.car-card .amount-row .stake-value:not(:disabled){color:#e9ffcc}
.stake-dialog{width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;border:1px solid #69848a;border-radius:12px;background:#10212b;color:#f3fbf8;box-shadow:0 20px 70px #000c}
.stake-dialog::backdrop{background:#020911c9;backdrop-filter:blur(5px)}
.stake-dialog[data-lane="car"]{border-top:3px solid var(--lime);--picker-accent:var(--lime);--picker-ink:#14220b}
.stake-dialog[data-lane="stock"]{border-top:3px solid var(--pink);--picker-accent:var(--pink);--picker-ink:#271024}
.stake-dialog form{display:grid;gap:12px;padding:17px}
.stake-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.stake-dialog-head small{color:var(--picker-accent);font-size:10px;font-weight:900;letter-spacing:.14em}
.stake-dialog-head h2{margin:3px 0 0;font-family:Impact,"Arial Black",sans-serif;font-size:25px;letter-spacing:.035em}
.stake-dialog-head button{width:29px;height:29px;border:0;background:transparent;color:#dbe9ea;font-size:28px;line-height:1}
.stake-dialog-edit{height:55px;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:stretch;border:1px solid #56727a;border-radius:7px;background:#081720;overflow:hidden}
.stake-dialog-edit button{border:0;background:#19323b;color:#e7f5f5;font-size:26px;font-weight:700}
.stake-dialog-edit button:active{background:#305760}
.stake-dialog-edit input{width:100%;min-width:0;padding:0 4px;border:0;outline:0;background:transparent;color:#fff;text-align:center;font-size:29px;font-weight:1000;font-variant-numeric:tabular-nums;appearance:textfield}
.stake-dialog-edit input::-webkit-inner-spin-button,.stake-dialog-edit input::-webkit-outer-spin-button{-webkit-appearance:none}
.stake-dialog-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.stake-dialog-presets button{height:40px;border:1px solid #496671;border-radius:6px;background:#172e38;color:#e3f1f1;font-size:14px;font-weight:900;font-variant-numeric:tabular-nums}
.stake-dialog-presets button[aria-pressed="true"]{border-color:var(--picker-accent);background:var(--picker-accent);color:var(--picker-ink)}
.stake-dialog-presets button:not([aria-pressed="true"]):hover{border-color:var(--picker-accent);color:var(--picker-accent)}
.stake-picker-error{min-height:13px;margin:0;color:#ffada7;text-align:center;font-size:11px;font-weight:700}
.stake-apply{height:44px;border:0;border-radius:6px;background:var(--picker-accent);color:var(--picker-ink);font-size:14px;font-weight:1000;letter-spacing:.04em}
.stake-apply:disabled{background:#385258;color:#9ab2b5}
@media(max-width:760px){.amount-row .stake-value{font-size:clamp(13px,3.7vw,16px)}.amount-row .stake-value:after{right:4px;width:4px;height:4px}}

/* Keep the sky edge clean; multiplier thresholds provide the flight accents. */
.arena{border:0}
.multiplier.car{--tier-glow:#baff39}
.multiplier.stock{--tier-glow:#ff53d2}
.multiplier[data-tier]:not([data-tier="0"]) strong{filter:drop-shadow(0 0 6px var(--tier-glow))}
.multiplier[data-tier="3"] strong,.multiplier[data-tier="4"] strong,.multiplier[data-tier="5"] strong{filter:drop-shadow(0 0 11px var(--tier-glow)) drop-shadow(0 0 20px var(--tier-glow))}
.multiplier.tier-pulse strong{animation:multiplier-tier-pulse .9s ease-out both}
@keyframes multiplier-tier-pulse{0%{transform:scale(.88);filter:drop-shadow(0 0 1px var(--tier-glow))}28%{transform:scale(1.19);filter:drop-shadow(0 0 18px var(--tier-glow))}100%{transform:scale(1);filter:drop-shadow(0 0 7px var(--tier-glow))}}
@media(prefers-reduced-motion:reduce){.multiplier.tier-pulse strong{animation:none}}

/* Live multipliers grow steadily with the value, within each lane's mobile width. */
.multiplier strong{display:inline-block;white-space:nowrap;font-size:calc(clamp(44px,5.2vw,74px) + var(--multiplier-grow-desktop,0px));transition:font-size .16s ease-out}
@media(max-width:760px){.multiplier strong{font-size:calc(clamp(30px,8vw,42px) + var(--multiplier-grow-mobile,0px))}}
@media(prefers-reduced-motion:reduce){.multiplier strong{transition:none}}
@media(max-width:760px){.arena-cheers{bottom:2px}.arena-center[data-phase="countdown"]{top:55%}}

/* Reaction bar keeps the original three cheers centered with emoji on both sides. */
.arena-cheers{max-width:calc(100% - 8px)}
.arena-cheers .cheer-buttons{gap:5px;max-width:100%;white-space:nowrap}
.arena-cheers .cheer-side,.arena-cheers .cheer-main{display:flex;align-items:center;gap:3px;flex:none}
.arena-cheers .cheer-side button{min-width:32px;width:32px;padding:0;font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:18px;font-weight:400}
.arena-cheers .cheer-main button{min-width:46px;padding:0 6px}
.reaction-bubble.emoji{font:normal 400 clamp(30px,5vw,48px)/1 "Apple Color Emoji","Segoe UI Emoji",sans-serif;letter-spacing:0}
@media(max-width:760px){
  .arena-cheers .cheer-buttons{gap:3px;padding:3px}
  .arena-cheers .cheer-side,.arena-cheers .cheer-main{gap:2px}
  .arena-cheers .cheer-side button{width:27px;min-width:27px;height:27px;font-size:16px}
  .arena-cheers .cheer-main button{height:27px;min-width:0;padding:0 3px;font-size:9px}
  .arena-cheers .cheer-main [data-cheer="car"]{width:32px}
  .arena-cheers .cheer-main [data-cheer="wow"]{width:46px}
  .arena-cheers .cheer-main [data-cheer="stock"]{width:39px}
  .reaction-bubble.emoji{font-size:30px}
}
@media(max-width:350px){
  .arena-cheers .cheer-buttons{gap:2px;padding:2px}
  .arena-cheers .cheer-side button{width:24px;min-width:24px;height:26px;font-size:15px}
  .arena-cheers .cheer-main [data-cheer="car"]{width:29px}
  .arena-cheers .cheer-main [data-cheer="wow"]{width:43px}
  .arena-cheers .cheer-main [data-cheer="stock"]{width:36px}
}

.bet-list-heading{align-items:center}
.bet-list-scope{display:flex;gap:3px;margin-left:auto;padding:2px;border:1px solid #35535f;border-radius:6px;background:#09161e}
.bet-list-scope button{min-width:52px;height:26px;padding:0 8px;border:0;border-radius:4px;background:transparent;color:#9cb5b6;font-family:inherit;font-size:10px;font-weight:900;cursor:pointer}
.bet-list-scope button[aria-pressed="true"]{background:var(--lime);color:#09201c}
.bet-list-scope button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:760px){
  .bet-list-section{margin-top:3px;padding:3px 5px}
  .bet-list-heading h2,.bet-list-heading>span{display:none}
  .bet-list-scope{width:100%;justify-content:center;margin:0;padding:1px;border:0;background:transparent}
  .bet-list-scope button{min-width:62px;height:19px;font-size:9px}
  .bet-list{max-height:38px;margin-top:2px}
  .bet-list-row{min-height:23px;padding:2px 4px}
  .bet-list-empty{padding:8px 5px}
}

/* Kinetic Pop: a single graphic world for the riders, countdown, and controls. */
:root{--bg:#061126;--panel:#0a1829;--panel2:#102038;--ink:#f6f6ec;--muted:#91a5b7;--lime:#caff4d;--pink:#ff57c4;--line:#31465d}
html,body{background:#061126}
.game-logo img{filter:none}
.game-header{min-height:90px;align-items:center;padding:4px 0}
.game-logo img{width:clamp(200px,22vw,290px)}
.game-tools{margin-top:0}
.balance small{color:#afbed0}
.icon-button{border-color:#45566b;background:#0b1930;color:#f7f8f6}
.history-section{border:0;background:transparent}
.history-pair{border-color:#33445b;background:#0a1830;border-radius:8px}
.history-chip.car,.history-chip.car:first-child{color:var(--lime);background:#142318}
.history-chip.stock{color:var(--pink);background:#291830}
.arena{border:0;border-radius:3px;background:#081433 url('./assets/kinetic-pop-sky.jpg') center center/cover no-repeat;box-shadow:none}
.arena:before{background:linear-gradient(180deg,#07122970 0%,#07122908 35%,#07122900 70%,#07122988 100%)}
.arena-vignette{background:linear-gradient(180deg,#07122966,transparent 28%,transparent 70%,#0712295e)}
.lane-label strong{font-family:Impact,'Arial Narrow','Arial Black',sans-serif;letter-spacing:.02em;text-shadow:0 2px 9px #071126e8}
.multiplier strong{font-family:Impact,'Arial Narrow','Arial Black',sans-serif;font-weight:900;letter-spacing:-.01em;text-shadow:0 3px 8px #071126d9}
.multiplier[data-tier]:not([data-tier="0"]) strong{filter:drop-shadow(0 0 3px var(--tier-glow))}
.multiplier[data-tier="3"] strong,.multiplier[data-tier="4"] strong,.multiplier[data-tier="5"] strong{filter:drop-shadow(0 0 7px var(--tier-glow))}
.arena-center[data-phase="countdown"]{display:flex;justify-content:center;align-items:center;width:158px;height:158px;padding:17px 8px 9px;border:0;border-radius:50%;background:#07162dda;box-shadow:0 8px 24px #050b1a7a;backdrop-filter:blur(4px)}
.arena-brand-stack{gap:5px;margin:0 0 2px}
.arena-brand-stack .arena-company-logo{width:55px;max-height:23px}
.arena-brand-stack .arena-game-logo{width:55px;max-height:24px}
.arena-brand-divider{height:20px}
.arena-center[data-phase="countdown"] #centerValue{font-family:Impact,'Arial Narrow','Arial Black',sans-serif;font-size:60px;line-height:1;color:#fffbe9;text-shadow:0 2px 9px #f7eeae47}
.countdown-outline circle{fill:none;stroke-width:5;vector-effect:non-scaling-stroke}
.countdown-outline-track{stroke:#34465e}
.countdown-outline-fill{stroke:#6bd8ff;filter:drop-shadow(0 0 4px #6bd8ff80);transform:rotate(-90deg);transform-origin:50% 50%}
.arena-cheers .cheer-buttons{border-color:#55677b80;background:#07162bd9;box-shadow:0 5px 15px #02091780}
.bet-card,.stock-card{border:1px solid #34485b;border-radius:10px;background:#0b192a;box-shadow:none}
.car-card{border-color:#456048}.stock-card{border-color:#66405e}
.mini-dot,.stock-card .mini-dot{box-shadow:none}
.bet-card h2{font-weight:900}
.bet-controls>label{display:none}
.amount-row{border-color:#43566b;border-radius:7px;background:#0c1c2f}
.stepper{background:#172c40;color:#f6f8f3}
.quick-bets button{border-color:#3c5064;border-radius:5px;background:#0b1a2a;color:#f0f4ef}
.auto-target{border-color:#405369;background:#0b1a2a}
.primary-action{flex-direction:column;justify-content:center;align-items:center;gap:0;border-radius:8px;text-align:center;line-height:1.05;font-weight:1000}
.car-action{background:var(--lime);color:#0b1420}.stock-action{background:var(--pink);color:#1c1020}
.primary-action b{font-size:10px;line-height:1.1}
.bet-list-section{border-color:#263d53;border-radius:9px;background:#0a1829}
.bet-list-scope{border-color:#34495c;background:#081525}
.bet-list-scope button[aria-pressed="true"]{background:var(--lime);color:#102019}
.bet-list{border-color:#263d53;background:#081525}
@media(max-width:760px){
  main{display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) 8px calc(6px + var(--safe-bottom))}
  .game-header{order:0}.history-section{order:1}.arena{order:2}.action-strip{order:3}.bet-grid{order:4}.social-strip{order:5}.bet-list-section{order:6}
  .game-header{height:53px;min-height:53px;padding:0}
  .game-logo img{width:143px}
  .game-tools{gap:5px}
  .balance strong{font-size:15px}
  .icon-button{width:32px;height:32px}
  .history-section{height:46px;min-height:46px;margin-bottom:2px;padding:2px 0}
  .history-pair{grid-template-rows:repeat(2,17px);flex-basis:68px;gap:1px;padding:2px}
  .history-chip{height:17px;font-size:11px}
  .arena{height:clamp(260px,calc(100dvh - 416px - env(safe-area-inset-top,0px) - var(--safe-bottom)),520px)}
  .arena-top{padding:8px 8px}
  .lane-label strong{font-size:clamp(19px,5vw,25px)}
  .lane-multipliers{top:17%}
  .multiplier.car{padding-left:8px}.multiplier.stock{padding-right:8px}
  .multiplier strong{font-size:calc(clamp(43px,11.8vw,54px) + var(--multiplier-grow-mobile,0px))}
  .arena-center[data-phase="countdown"]{top:46%;width:136px;height:136px;padding:14px 5px 7px}
  .arena-brand-stack{gap:3px;margin-bottom:1px}
  .arena-brand-stack .arena-company-logo{width:48px;max-height:20px}
  .arena-brand-stack .arena-game-logo{width:48px;max-height:21px}
  .arena-brand-divider{height:18px}
  .arena-center[data-phase="countdown"] #centerValue{font-size:49px}
  .arena-cheers{bottom:5px}
  .arena-cheers .cheer-buttons{gap:3px;padding:3px}
  .social-strip{height:25px;min-height:25px;padding:1px 0}
  .action-strip:has(#actionHint:empty){height:2px;min-height:2px}
  .bet-grid{gap:5px}
  .bet-grid .bet-card{padding:7px 6px 6px}
  .bet-card-heading{margin-bottom:5px}
  .bet-card h2{font-size:15px}
  .amount-row{height:36px;grid-template-columns:24px minmax(0,1fr) 24px}
  .amount-row .stake-value{font-size:17px}
  .quick-bets{gap:3px;margin-top:4px}
  .quick-bets button{height:24px;font-size:9px}
  .auto-row{flex-direction:row;align-items:center;gap:2px;margin:6px 0}
  .auto-row>.auto-switch{font-size:8px}
  .auto-target{width:52px;min-width:52px;height:23px}
  .auto-target input{width:34px;font-size:9px}
  .primary-action{height:45px;font-size:14px}
  .primary-action b{font-size:9px}
  .bet-list-section{margin-top:4px;padding:4px 5px}
  .bet-list-scope button{height:21px}
  .bet-list{max-height:35px;margin-top:2px}
}
@media(max-width:350px){
  .game-logo img{width:116px}
  .arena-center[data-phase="countdown"]{width:122px;height:122px}
  .arena-center[data-phase="countdown"] #centerValue{font-size:43px}
  .auto-row>.auto-switch{font-size:7px}
}
