/* BSC Poker X Virtual Sports v19.6.0 — clean race-first responsive rebuild */
:root{color-scheme:dark;--bg:#02070d;--panel:#061722e8;--panel2:#081d2a;--line:#0f6277;--cyan:#35e3ff;--gold:#ffc42d;--green:#43ec9e;--red:#ff465e;--text:#f5fbff;--muted:#8eaab8;--r:14px;--gap:9px;--raceH:clamp(500px,69dvh,900px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 20% -20%,#0d3d5b 0,transparent 35rem),linear-gradient(180deg,#02070d,#04111b 55%,#02070d);color:var(--text);overflow-x:hidden}button,input,a{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img,canvas,video,svg{max-width:100%}[hidden]{display:none!important}.vs-app{width:min(100%,2048px);margin:auto;padding:8px;display:grid;gap:var(--gap)}
.vs-header{min-height:58px;padding:7px 10px;border:1px solid var(--line);border-radius:var(--r);background:#051723e9;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;position:sticky;top:0;z-index:90;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:8px}.brand-mark{width:42px;height:42px;border:2px solid var(--gold);border-radius:9px;display:grid;place-items:center;color:var(--gold);font-weight:1000}.brand b{display:block;font-size:15px}.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:1.3px}.vs-nav{display:flex;justify-content:center;gap:5px;overflow:auto;scrollbar-width:none}.vs-nav a{padding:8px 12px;border-radius:8px;font-size:11px;font-weight:900;white-space:nowrap}.vs-nav .active{background:#0b4054;box-shadow:inset 0 -2px var(--cyan)}.header-actions{display:flex;gap:6px}.header-actions button,.vs-footer button{border:1px solid #1a6076;background:#071924;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:900}
.race-topbar{display:grid;grid-template-columns:.72fr .72fr 1.2fr .8fr 1.8fr;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#05141f}.race-topbar>div{min-height:70px;padding:9px 11px;border-right:1px solid #123b4a;display:grid;align-content:center;gap:2px;min-width:0}.race-topbar>div:last-child{border:0}.race-topbar small,.race-rail small,.ticket-builder small,.section-head small{font-size:8px;color:var(--muted);letter-spacing:1.1px}.race-topbar strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.race-topbar span{font-size:8px;color:#9eb8c4}.circuit-select>div{display:flex;gap:5px}.duration{border:1px solid #24586a;background:#071923;padding:7px 9px;border-radius:7px;font-size:9px;font-weight:1000}.duration.active{color:#111;background:linear-gradient(#ffd542,#efa900);border-color:#ffd765}
.arena-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(210px,15vw,275px);gap:var(--gap);align-items:start}.arena-main{min-width:0;border:1px solid var(--line);border-radius:var(--r);padding:7px;background:#04131d}.arena-toolbar{min-height:52px;display:grid;grid-template-columns:1.25fr .9fr .7fr;gap:6px;margin-bottom:6px}.bot-line,.start-callout,.winner-banner{border:1px solid #15495a;border-radius:9px;background:#031119;padding:8px 10px;display:flex;align-items:center;gap:8px;min-width:0}.bot-line b{color:var(--gold);font-size:11px}.bot-line span{font-size:7px;color:var(--cyan)}.bot-line p{margin:0;color:#b8ccd5;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-callout{display:grid}.start-callout strong{color:var(--gold);font-size:11px}.start-callout span,.winner-banner span{font-size:8px;color:#b7c8cf}.winner-banner{border-color:#8c7100;justify-content:center;flex-direction:column}.winner-banner strong{color:var(--gold)}
.race-viewport{position:relative;height:var(--raceH);min-height:440px;overflow:hidden;border:1px solid #0c7d98;border-radius:12px;background:#01060b;isolation:isolate;box-shadow:0 20px 55px #0009}.race-canvas{position:absolute;inset:0;background:radial-gradient(circle at 50% 10%,#0a3150 0,transparent 38%),#01060a}.race-canvas canvas{display:block!important;width:100%!important;height:100%!important;max-width:none!important}.render-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;background:#010a10e8;z-index:3}.render-loading b{color:var(--cyan);letter-spacing:2px}.render-loading span{color:var(--muted);font-size:10px}
.cg-fleet-layer{position:absolute;inset:0;z-index:7;pointer-events:none;overflow:hidden;perspective:1400px}.cg-ship{--ship-x:0px;--ship-y:0px;--ship-scale:.7;--ship-heading:0deg;--ship-bank:0deg;--ship-pitch:0deg;--warp:.25;position:absolute;left:50%;top:50%;width:clamp(118px,15.5vw,300px);margin:0;transform-origin:50% 58%;transform:translate(-50%,-50%) translate3d(var(--ship-x),var(--ship-y),0) rotate(var(--ship-heading)) rotateX(var(--ship-pitch)) rotateY(0deg) rotateZ(var(--ship-bank)) scale(var(--ship-scale));transition:filter .18s linear;will-change:transform;filter:drop-shadow(0 12px 18px #000e) drop-shadow(0 0 calc(9px + 15px*var(--warp)) rgb(var(--accent)/.58))}.cg-ship img{width:100%;height:auto;display:block;user-select:none}.cg-ship::after{content:"";position:absolute;left:18%;right:18%;bottom:5%;height:8%;border-radius:50%;background:rgb(var(--accent)/calc(.18 + var(--warp)*.34));filter:blur(9px)}.cg-ship figcaption{position:absolute;left:50%;top:-12px;transform:translateX(-50%);display:flex;gap:5px;align-items:center;background:#031018e8;border:1px solid rgb(var(--accent)/.6);border-radius:6px;padding:3px 6px;white-space:nowrap}.cg-ship figcaption b{font-size:8px}.cg-ship figcaption span{font-size:6px;color:#aac0c9}.cg-ship[data-phase="LIVE"] figcaption span{display:none}.cg-ship.is-leader figcaption{box-shadow:0 0 15px rgb(var(--accent)/.35)}
.broadcast-hud{position:absolute;left:8px;top:8px;right:190px;z-index:15;display:flex;gap:5px;flex-wrap:wrap}.broadcast-hud span{padding:6px 8px;border-radius:7px;background:#03151de8;border:1px solid #15526a;font-size:8px;font-weight:900}.broadcast-hud .live-dot{background:#b71d34;border-color:#ff566c}.grid-announcer{position:absolute;z-index:16;left:50%;top:16%;transform:translateX(-50%);width:min(560px,68%);padding:9px 14px;text-align:center;border-radius:9px;background:#020a0ec9;border:1px solid #9b7c00;backdrop-filter:blur(8px);pointer-events:none}.grid-announcer small,.grid-announcer b,.grid-announcer strong,.grid-announcer span{display:block}.grid-announcer small{font-size:7px;color:#91e9fa;letter-spacing:1.4px}.grid-announcer b{font-size:12px;letter-spacing:2px}.grid-announcer strong{font-size:clamp(18px,2.4vw,34px);color:var(--gold);line-height:1.1}.grid-announcer span{font-size:7px;color:#a7bcc6;margin-top:3px}.track-shell.live-phase .grid-announcer:not(.active){display:none}.track-caption{position:absolute;left:8px;bottom:46px;z-index:13;padding:6px 8px;border-radius:7px;background:#03151ddd;border:1px solid #15546b}.track-caption b,.track-caption span{display:block}.track-caption b{font-size:8px;color:#7beeff}.track-caption span{font-size:6px;color:#91aab5}.pilot-card{position:absolute;right:9px;top:49px;z-index:17;width:170px;border:1px solid #24cce8;border-radius:9px;background:#04141ee8;padding:7px;display:grid;grid-template-columns:50px 1fr;gap:6px;backdrop-filter:blur(10px);pointer-events:none}.pilot-card>small{grid-column:1/-1;font-size:7px;color:#63e9ff;letter-spacing:1px}.pilot-card img{width:50px;height:40px;object-fit:contain}.pilot-card div{display:grid;gap:1px}.pilot-card b{font-size:13px}.pilot-card strong{color:var(--gold);font-size:11px}.pilot-card span,.pilot-card em{font-size:7px;color:#a9bec7;font-style:normal}.camera-bar{position:absolute;left:7px;right:7px;bottom:7px;z-index:19;display:flex;gap:4px;overflow:auto;scrollbar-width:none}.camera-bar button{flex:0 0 auto;border:1px solid #18576e;background:#051823da;padding:6px 8px;border-radius:6px;font-size:7px;font-weight:900}.camera-bar button.active{background:#0b455c;border-color:#47eaff}
.runner-board{border:1px solid #0e6076;border-radius:10px;padding:7px;margin-top:6px;background:#04141e}.runner-board header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #123d4d;padding-bottom:5px}.runner-board header b{font-size:10px}.runner-board header small,.runner-board header>span{font-size:6px;color:#75dff1}.runner-list{display:grid;grid-template-columns:repeat(8,minmax(115px,1fr));gap:4px;margin-top:6px;overflow:auto;scrollbar-width:thin}.runner-list>*{min-width:0}
.race-rail{position:sticky;top:69px;max-height:calc(100dvh - 77px);overflow:auto;border:1px solid var(--line);border-radius:var(--r);background:#05141f;padding:7px;display:grid;gap:6px;scrollbar-width:thin}.race-rail>section{border:1px solid #154354;border-radius:9px;background:#04131c;padding:9px;display:grid;gap:4px}.race-rail b{font-size:13px}.race-rail span{font-size:8px;color:#abc0c9}.profile-strip{grid-template-columns:42px 1fr}.profile-strip img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid var(--gold)}.profile-strip>.xp-track,.profile-strip>small{grid-column:1/-1}.xp-track{height:7px;background:#0b2a35;border-radius:99px;overflow:hidden}.xp-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#23dcb7,#39dfff,#ffd84f)}.telemetry{grid-template-columns:1fr 1fr}.telemetry>span{grid-column:1/-1}.modules b{font-size:8px;border:1px solid #154254;border-radius:5px;padding:4px}.bet-jump{text-align:center;padding:10px;border-radius:8px;background:linear-gradient(#ffd33c,#f1a800);color:#111;font-weight:1000;font-size:10px}
.betting-panel,.data-deck,.vs-footer{border:1px solid var(--line);border-radius:var(--r);background:#05141f;padding:9px}.section-head{display:flex;justify-content:space-between;gap:8px}.section-head b{font-size:12px}.market-tabs,.explorer-tabs,.history-range,.place-filter,.combo-tabs,.leaderboard-tabs,.quick-stake{display:flex;gap:5px;flex-wrap:wrap;margin:7px 0}.market-tabs button,.explorer-tabs button,.history-range button,.place-filter button,.combo-tabs button,.leaderboard-tabs button,.quick-stake button{border:1px solid #175269;background:#061721;border-radius:6px;padding:6px 8px;font-size:8px;font-weight:900}.market-tabs .active,.explorer-tabs .active,.history-range .active,.place-filter .active,.combo-tabs .active,.leaderboard-tabs .active,.quick-stake .active{background:#0a4055;border-color:#3be6ff}.bet-dog-grid{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:5px;overflow:auto}.ticket-builder{display:grid;grid-template-columns:1.5fr 1.25fr .6fr .7fr .7fr;gap:6px;margin-top:7px}.ticket-builder>div{border:1px solid #14475a;border-radius:8px;padding:7px;background:#04131c}.ticket-slots{display:flex;gap:4px;flex-wrap:wrap}.stake-step{display:grid;grid-template-columns:auto 1fr auto;gap:3px}.stake-step input{min-width:0;background:#020a0f;color:#fff;border:1px solid #195268;border-radius:5px;text-align:center}.place-bet{border:0;border-radius:8px;background:linear-gradient(#ffd33d,#efa800);color:#111;font-weight:1000}.balance-history{display:grid;grid-template-columns:.45fr 1.55fr;gap:6px;margin-top:7px}.balance-history>div{border:1px solid #14475a;border-radius:8px;padding:7px}.balance-history strong{font-size:16px}.balance-history p{font-size:8px;color:#7fe8fa}.balance-history header{display:flex;justify-content:space-between}.data-deck summary{font-size:10px;font-weight:900;color:#8feeff;cursor:pointer}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}.analytics-grid article,.leaderboard,.odds-explorer{border:1px solid #144759;border-radius:8px;padding:8px;min-width:0}.economy-stats,.leaderboard-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.economy-stats div,.leaderboard-summary div{background:#04131c;border:1px solid #123b4b;border-radius:6px;padding:6px}.economy-stats span,.leaderboard-summary span{display:block;font-size:6px;color:#8faab6}.economy-stats strong,.leaderboard-summary strong{font-size:10px}table{width:100%;border-collapse:collapse;min-width:620px}td,th{border-bottom:1px solid #123949;padding:6px;font-size:8px}.analytics-grid article{overflow:auto}#winnerGraph{width:100%;min-height:160px;background:#031119;border-radius:7px}.vs-footer{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#91aab5}
.space-podium,.race-reward-overlay{position:absolute;inset:0;z-index:35;display:grid;place-items:center;background:#01080c9e;backdrop-filter:blur(4px)}.space-podium{padding:15px}.podium-kicker{font-size:8px;color:#8fefff;letter-spacing:2px}.podium-title{font-size:clamp(22px,4vw,48px);font-weight:1000;color:var(--gold);margin:4px 0 12px}.podium-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;width:min(760px,95%)}.podium-card{display:grid;place-items:center;padding:10px;border:1px solid #1b5d70;border-radius:10px;background:#061722dc}.podium-card.first{border-color:#c79b00;transform:translateY(-8px)}.podium-card img{height:86px;object-fit:contain}.podium-card b{font-size:16px}.podium-card strong{color:var(--gold)}.reward-panel{width:min(520px,90%);background:#061822;border:1px solid #19718a;border-radius:12px;padding:14px}.reward-main{display:grid;grid-template-columns:1fr 1fr;gap:6px}.reward-main div{border:1px solid #174658;border-radius:7px;padding:8px}.reward-progress>div{height:7px;background:#0a2c39}.reward-progress i{display:block;height:100%;background:linear-gradient(90deg,#25dcb8,#3cdcff,#ffd54b)}.ship-promo-cinema{position:absolute;inset:0;z-index:29;background:#000}.ship-promo-cinema video{width:100%;height:100%;object-fit:cover}.ship-inspector{position:fixed;inset:0;z-index:200}.ship-inspector-backdrop{position:absolute;inset:0;background:#000c}.ship-inspector-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,94vw);background:#061923;border:1px solid #1a6b82;border-radius:12px;padding:12px}.ship-inspector-panel header{display:flex;justify-content:space-between}.ship-inspector-stage{min-height:300px;display:grid;place-items:center}.ship-inspector-stage img{max-height:280px}.inspector-meta{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:1450px){:root{--raceH:clamp(470px,65dvh,780px)}.arena-layout{grid-template-columns:minmax(0,1fr) 225px}.race-topbar{grid-template-columns:.7fr .7fr 1fr .8fr 1.6fr}.runner-list{grid-template-columns:repeat(4,minmax(135px,1fr))}.ticket-builder{grid-template-columns:1.3fr 1fr .6fr .7fr}.place-bet{grid-column:1/-1;min-height:38px}}
@media(max-width:1100px){:root{--raceH:clamp(430px,61dvh,690px)}.arena-layout{grid-template-columns:1fr}.race-rail{position:static;max-height:none;grid-template-columns:repeat(5,1fr);overflow:visible}.race-rail .modules{display:none}.bet-jump{display:grid;place-items:center}.arena-toolbar{grid-template-columns:1fr 1fr}.winner-banner{grid-column:1/-1}.analytics-grid{grid-template-columns:1fr}.leaderboard-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){:root{--raceH:clamp(380px,57dvh,590px);--gap:6px}.vs-app{padding:4px}.vs-header{grid-template-columns:1fr auto;position:relative}.vs-nav{grid-row:2;grid-column:1/-1;justify-content:flex-start}.brand small{display:none}.race-topbar{grid-template-columns:1fr 1fr}.race-topbar .race-key{display:none}.circuit-select{grid-column:1/-1}.race-topbar>div{min-height:58px}.circuit-select>div{display:grid;grid-template-columns:repeat(3,1fr)}.arena-toolbar{display:none}.race-rail{grid-template-columns:repeat(2,1fr)}.race-rail>section:nth-child(n+4){display:none}.pilot-card{width:145px;top:43px}.broadcast-hud{right:7px}.broadcast-hud span:nth-child(4),.broadcast-hud span:nth-child(5){display:none}.grid-announcer{top:12%;width:74%}.runner-list{grid-template-columns:repeat(4,minmax(120px,1fr))}.bet-dog-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.ticket-builder{grid-template-columns:1fr 1fr}.ticket-builder>div:first-child,.place-bet{grid-column:1/-1}.balance-history{grid-template-columns:1fr}.economy-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){:root{--raceH:clamp(340px,52dvh,520px)}.header-actions button{font-size:0;padding:8px}.header-actions button::first-letter{font-size:12px}.race-topbar{grid-template-columns:1fr 1fr}.race-topbar>div:nth-child(4){display:none}.circuit-select{grid-column:1/-1}.race-rail{display:none}.race-viewport{min-height:330px}.pilot-card{left:7px;right:7px;top:auto;bottom:42px;width:auto;grid-template-columns:38px 1fr;padding:5px}.pilot-card>small{display:none}.pilot-card img{width:38px;height:30px}.pilot-card div{grid-template-columns:1fr auto auto;align-items:center;gap:5px}.pilot-card b{font-size:11px}.grid-announcer{top:11%;width:84%;padding:6px}.grid-announcer span{display:none}.track-caption{display:none}.camera-bar button:nth-child(n+8){display:none}.runner-list{grid-template-columns:repeat(2,minmax(125px,1fr));max-height:145px;overflow:auto}.bet-dog-grid{grid-template-columns:repeat(2,minmax(125px,1fr))}.ticket-builder{grid-template-columns:1fr}.ticket-builder>div:first-child,.place-bet{grid-column:auto}.podium-grid{grid-template-columns:1fr;max-height:78%;overflow:auto}.podium-card.first{transform:none}.analytics-grid{display:block}.analytics-grid article{margin-top:6px}.vs-footer{font-size:7px}}
@media(orientation:landscape) and (max-height:620px){:root{--raceH:calc(100dvh - 96px)}.vs-header{display:none}.race-topbar,.race-rail,.arena-toolbar{display:none}.arena-layout{display:block}.arena-main{padding:3px}.runner-board{position:absolute;left:7px;right:7px;bottom:7px;z-index:25;background:#03131cdd;max-height:84px;overflow:hidden}.runner-list{grid-template-columns:repeat(8,minmax(90px,1fr))}.race-viewport{min-height:300px}.pilot-card{top:8px;right:8px;left:auto;bottom:auto;width:140px}.grid-announcer{top:9%}.camera-bar{bottom:88px}.betting-panel,.data-deck,.vs-footer{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
/* v19.5 sponsor/results/responsive broadcast upgrade */
.sponsor-board-card{margin:12px 0;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid rgba(91,225,255,.25);border-radius:14px;background:rgba(2,12,20,.72)}
.sponsor-board-card button,.result-toolbar button{min-height:38px}.sponsor-board-player{grid-column:1/-1;position:relative}.sponsor-board-player video{width:min(520px,100%);aspect-ratio:16/9;object-fit:cover;border-radius:10px}.result-toolbar{display:flex;gap:8px;align-items:center}.result-toolbar.results-hidden{opacity:.9}.grid-phase .race-viewport{box-shadow:0 0 0 1px rgba(67,224,255,.25),0 0 34px rgba(40,160,255,.14)}
@media(max-width:1024px){.arena-layout{grid-template-columns:1fr}.race-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.race-viewport{min-height:52vw}.camera-bar{overflow-x:auto;white-space:nowrap}}
@media(max-width:700px){body{overflow-x:hidden}.vs-header,.race-topbar{gap:6px}.race-topbar{grid-template-columns:repeat(2,minmax(0,1fr))}.race-rail{grid-template-columns:1fr}.race-viewport{min-height:58vw}.runner-board{font-size:11px}.sponsor-board-card{grid-template-columns:1fr auto}.ship-promo-cinema{display:none!important}.podium-grid{transform:scale(.86)}.camera-bar button:nth-child(n+7){display:none}}
@media(max-width:480px) and (orientation:portrait){.vs-nav{display:none}.race-topbar .race-key{display:none}.race-viewport{min-height:68vw}.broadcast-hud{font-size:10px}.track-caption{display:none}.pilot-card{transform:scale(.82);transform-origin:right top}.betting-panel{padding-inline:8px}.sponsor-board-player video{width:100%}}
@media(max-height:500px) and (orientation:landscape){.vs-header{display:none}.race-topbar{position:absolute;z-index:8;left:6px;right:6px;top:6px;opacity:.9}.race-viewport{height:100vh;min-height:100vh}.race-rail,.runner-board{display:none}.arena-layout{display:block}}


/* v19.6.0 broadcast start / spacecraft flight-dynamics / warp exhaust */
.pre-race-broadcast{background:radial-gradient(circle at 70% 40%,rgba(32,93,126,.24),transparent 50%),#000;overflow:hidden}
.pre-race-broadcast::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 80px #000;pointer-events:none}
.pre-race-broadcast video{filter:saturate(1.08) contrast(1.04)}
.promo-broadcast-meta{position:absolute!important;left:18px;right:18px;bottom:18px;padding:12px 14px;border:1px solid rgba(82,224,255,.45);border-radius:10px;background:linear-gradient(90deg,rgba(2,13,20,.92),rgba(3,19,28,.72));display:grid!important;grid-template-columns:auto 1fr auto;gap:4px 12px;align-items:center;z-index:2}
.promo-broadcast-meta small{grid-column:1/-1;color:#68ecff;font-size:8px;letter-spacing:2px}.promo-broadcast-meta b{font-size:22px;color:#fff}.promo-broadcast-meta strong{font-size:11px;color:#ffc42d}.promo-broadcast-meta span{font-size:9px;color:#b8d4df}.promo-broadcast-meta em{grid-column:1/-1;color:#70ffd2;font-size:9px;font-style:normal}
.cg-ship{--exhaust:.28;transform-style:preserve-3d}
.cg-ship .warp-exhaust{position:absolute;left:50%;top:57%;transform-origin:100% 50%;transform:translate(-101%,-50%);pointer-events:none;z-index:-1;opacity:calc(.30 + var(--warp)*.55)}
.cg-ship .warp-exhaust.outer{width:calc(28% + 92%*var(--warp));height:19%;border-radius:100% 12% 12% 100%;background:linear-gradient(90deg,transparent 0,rgb(var(--accent)/.10) 18%,rgb(var(--accent)/.48) 68%,rgba(170,242,255,.8) 100%);filter:blur(7px);mix-blend-mode:screen}
.cg-ship .warp-exhaust.inner{width:calc(18% + 60%*var(--warp));height:9%;border-radius:100% 10% 10% 100%;background:linear-gradient(90deg,transparent,rgb(var(--accent)/.72),#e8ffff);filter:blur(2px);mix-blend-mode:screen}
.cg-ship .warp-exhaust.core{width:calc(10% + 32%*var(--warp));height:4%;background:linear-gradient(90deg,transparent,#8fffff,#fff);box-shadow:0 0 12px #79f4ff;filter:blur(.3px)}
.cg-ship .warp-exhaust.sparks{width:calc(20% + 76%*var(--warp));height:22%;background:repeating-linear-gradient(90deg,transparent 0 13%,rgb(var(--accent)/.6) 14% 15%,transparent 16% 27%);filter:blur(1px);opacity:.3}
.cg-ship.is-warping .warp-exhaust.outer{animation:v1952WarpPulse .22s ease-in-out infinite alternate}.cg-ship.is-charging .warp-exhaust{animation:v1952Charge .5s ease-in-out infinite alternate}
.launch-charge-phase .cg-ship .warp-exhaust.outer{filter:blur(5px) brightness(1.45)}.warp-go-phase .cg-ship .warp-exhaust.outer{width:170%;opacity:1;filter:blur(9px) brightness(1.9)}
@keyframes v1952WarpPulse{to{transform:translate(-102%,-50%) scaleX(1.15);opacity:.96}}@keyframes v1952Charge{to{filter:brightness(1.7) blur(3px);opacity:1}}
.grid-phase .grid-announcer{border-color:#ff4058;box-shadow:0 0 34px rgba(255,38,65,.25)}.warp-go-phase .grid-announcer{border-color:#56ffd3;box-shadow:0 0 42px rgba(61,255,205,.35)}
@media(max-width:700px){.promo-broadcast-meta{left:7px;right:7px;bottom:7px;padding:8px}.promo-broadcast-meta b{font-size:15px}.cg-ship .warp-exhaust.sparks{display:none}.cg-ship .warp-exhaust.outer{filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.cg-ship .warp-exhaust{animation:none!important}}

/* v19.6.0 TeX Bot + aerodynamic visibility + sponsor audio broadcast */
.tex-bot-line{display:grid!important;grid-template-columns:auto auto minmax(210px,.78fr) minmax(0,1.6fr);gap:8px;align-items:center}
.tex-bot-line>b{font-size:12px;letter-spacing:.08em;color:#ffd95b}.tex-bot-ship{display:grid;grid-template-columns:auto auto auto;gap:4px 6px;align-items:center;padding:4px 7px;border:1px solid rgba(94,226,255,.24);border-radius:8px;background:rgba(3,19,28,.86)}
.tex-bot-ship strong{color:#fff;font-size:10px}.tex-bot-ship em{font-style:normal;color:#63eaff;font-weight:900;font-size:10px}.tex-bot-ship i{font-style:normal;color:#ffce57;font-size:8px}.tex-bot-ship small{grid-column:1/-1;color:#92aeb8;font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cg-ship{transform:translate(-50%,-50%) translate3d(var(--ship-x),var(--ship-y),var(--ship-z,0px)) perspective(920px) rotate(var(--ship-heading)) rotateX(var(--ship-pitch)) rotateY(var(--ship-yaw)) rotateZ(var(--ship-bank)) scale(var(--ship-scale));filter:saturate(1.28) contrast(1.09) brightness(1.08) drop-shadow(0 10px 17px #000e) drop-shadow(0 0 calc(9px + 15px*var(--warp)) rgb(var(--accent)/.62))}
.cg-ship img{filter:saturate(1.18) contrast(1.06);transform:translateZ(4px)}
.cg-ship::before{content:"";position:absolute;inset:12% 12% 18%;border-radius:42% 52% 46% 54%;background:linear-gradient(118deg,rgba(255,255,255,.20),transparent 28% 66%,rgb(var(--accent)/.22));mix-blend-mode:screen;opacity:.55;pointer-events:none}
.cg-ship .warp-exhaust.outer{width:calc(34% + 118%*var(--warp));height:22%;filter:blur(7px) saturate(1.35) brightness(1.2)}
.cg-ship .warp-exhaust.inner{width:calc(23% + 74%*var(--warp));height:11%;filter:blur(2px) brightness(1.35)}
.cg-ship .warp-exhaust.core{width:calc(13% + 40%*var(--warp));box-shadow:0 0 16px #d8ffff,0 0 28px rgb(var(--accent)/.7)}
.live-phase .cg-ship.is-warping{filter:saturate(1.35) contrast(1.1) brightness(1.12) drop-shadow(0 10px 18px #000e) drop-shadow(0 0 22px rgb(var(--accent)/.72))}
.ship-promo-cinema video{filter:saturate(1.14) contrast(1.06)}
@media(max-width:800px){.tex-bot-line{grid-template-columns:auto 1fr}.tex-bot-line>span{display:none}.tex-bot-ship{grid-column:2}.tex-bot-line p{grid-column:1/-1}.tex-bot-ship small{display:none}.cg-ship{filter:saturate(1.18) contrast(1.06) brightness(1.06) drop-shadow(0 7px 12px #000d) drop-shadow(0 0 12px rgb(var(--accent)/.5))}}


/* v19.6.0 — per-ship sponsor video actions + aerodynamic CG calibration */
.bet-dog-card{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;align-content:start;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;background:linear-gradient(180deg,rgba(9,18,24,.96),rgba(3,9,14,.98));}
.bet-dog-card:hover,.bet-dog-card:focus-visible{transform:translateY(-2px);outline:none;border-color:var(--coin);box-shadow:0 12px 28px #0008,0 0 18px color-mix(in srgb,var(--coin) 30%,transparent)}
.bet-dog-card.video-active{border-color:var(--coin);box-shadow:0 0 0 2px color-mix(in srgb,var(--coin) 38%,transparent),0 0 28px color-mix(in srgb,var(--coin) 30%,transparent)}
.bet-dog-card .ship-inspect-hint{position:absolute;right:8px;top:8px;z-index:3;border:1px solid #ffffff45;background:#031018cc;color:#fff;border-radius:7px;padding:5px 7px;font-size:9px;font-weight:900}
.ship-card-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.ship-card-actions small{white-space:nowrap}.ship-video-btn{border:1px solid color-mix(in srgb,var(--coin) 65%,#ffffff 10%);background:linear-gradient(180deg,color-mix(in srgb,var(--coin) 18%,#06131a),#041018);color:#eefcff;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:900;cursor:pointer;box-shadow:inset 0 0 14px color-mix(in srgb,var(--coin) 12%,transparent)}.ship-video-btn:hover{filter:brightness(1.25)}
.ship-card-video-stage{--sponsor-coin:#45dcff;position:relative;overflow:hidden;margin:12px 0 4px;padding:10px;border:1px solid color-mix(in srgb,var(--sponsor-coin) 65%,#ffffff 8%);background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--sponsor-coin) 13%,transparent),transparent 50%),#02080d;box-shadow:0 16px 38px #0009,0 0 26px color-mix(in srgb,var(--sponsor-coin) 14%,transparent)}
.ship-card-video-stage.stage-enter{animation:v1960VideoStage .42s cubic-bezier(.2,.8,.25,1)}.sponsor-stage-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.sponsor-stage-head small{display:block;color:#8edff1;letter-spacing:.12em;font-size:9px}.sponsor-stage-head b{display:block;margin-top:3px;font-size:15px}.sponsor-stage-head button{border:1px solid #34515f;background:#06141b;color:#fff;border-radius:8px;padding:7px 10px}.ship-card-video-stage video{display:block;width:100%;max-height:min(56vw,520px);aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:10px}.sponsor-stage-scan{position:absolute;inset:42px 0 auto;height:2px;background:linear-gradient(90deg,transparent,var(--sponsor-coin),transparent);opacity:.7;animation:v1960Scan 1.7s linear infinite;pointer-events:none}
@keyframes v1960VideoStage{from{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}@keyframes v1960Scan{from{transform:translateY(0)}to{transform:translateY(410px)}}
.cg-ship{--engine-y:57%;--exhaust-scale:1;transform-origin:53% 57%}.cg-ship .warp-exhaust{top:var(--engine-y);scale:var(--exhaust-scale) 1}.cg-ship img{transform-origin:54% 56%;backface-visibility:hidden}.live-phase .cg-ship{transition:filter .14s linear}.live-phase .cg-ship img{filter:saturate(1.26) contrast(1.09) brightness(1.08)}
@media(max-width:900px){.bet-dog-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.ship-card-video-stage video{max-height:58vw}}
@media(max-width:620px){.bet-dog-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.bet-dog-card{min-width:0!important}.ship-card-actions{align-items:flex-end;flex-direction:column}.ship-video-btn{width:100%}.ship-card-video-stage{position:sticky;bottom:6px;z-index:30}.ship-card-video-stage video{max-height:46vh}.sponsor-stage-scan{display:none}}
@media(prefers-reduced-motion:reduce){.ship-card-video-stage.stage-enter,.sponsor-stage-scan{animation:none!important}}


/* v19.6.0 — odds recovery, branded coin telemetry, TeX BOT speech cloud */
.tex-bot-line{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 18%,rgba(43,227,255,.16),transparent 34%),linear-gradient(135deg,rgba(3,22,34,.97),rgba(4,11,20,.98));border-color:#1b8aa5;box-shadow:inset 0 0 30px rgba(23,205,255,.06),0 8px 30px rgba(0,0,0,.28)}
.tex-bot-line::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 0 42%,rgba(74,229,255,.06) 48%,transparent 55%);transform:translateX(-120%);animation:texBotSweep 8s linear infinite}.tex-bot-line>*{position:relative;z-index:1}.tex-bot-line #botMode{color:#6cecff;font-size:9px;letter-spacing:.12em;font-weight:900}.tex-bot-order{margin-top:6px;padding-top:5px;border-top:1px solid rgba(90,221,255,.16);font-size:8px;color:#7caab8;letter-spacing:.08em;white-space:normal}.tex-bot-ship{border-radius:10px;background:rgba(4,33,45,.64);border:1px solid rgba(67,221,255,.18);padding:5px 7px}.tex-bot-ship strong{color:#fff}.tex-bot-ship em{color:#ffd34a}.tex-bot-line p{min-height:2.55em}
@keyframes texBotSweep{to{transform:translateX(120%)}}
.runner-row{display:grid!important;grid-template-columns:34px minmax(0,1.35fr) minmax(74px,.72fr) minmax(70px,.65fr)!important;align-items:center!important;gap:6px!important;min-height:84px!important;padding:7px!important;border:1px solid #123f50!important;border-radius:10px!important;background:linear-gradient(180deg,#061923,#031018)!important;overflow:hidden!important}.runner-row.leader{border-color:#26e5b0!important;box-shadow:inset 0 0 24px rgba(34,230,172,.10)}.runner-name{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:6px!important;min-width:0}.runner-name>span:last-child{min-width:0}.runner-name b{display:block;font-size:12px;white-space:nowrap}.runner-name small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:7px;color:#8fb1bf}.coin-logo{width:38px!important;height:38px!important;min-width:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#061018!important;border:1px solid color-mix(in srgb,var(--coin) 65%,#193745)!important;box-shadow:0 0 16px color-mix(in srgb,var(--coin) 25%,transparent)!important;overflow:hidden}.coin-token-img{display:block!important;width:34px!important;height:34px!important;object-fit:contain!important}.runner-speed,.runner-telemetry{min-width:0}.runner-speed i,.runner-telemetry i{display:block;font-size:6px;color:#6c93a3;font-style:normal}.runner-speed strong,.runner-telemetry strong{font-size:12px}.runner-speed small{font-size:7px}.runner-odds{display:block!important;margin-top:4px!important;color:#ffd34a!important;font-size:9px!important;letter-spacing:.03em}.runner-lane{display:block;font-size:7px;color:#54deed;margin-top:3px}.ship-focus-btn{width:30px!important;height:30px!important;border-radius:50%!important;border:1px solid #2b6f82!important;background:#092534!important;color:#fff!important;font-weight:900!important}.odds-empty{display:block;padding:9px;color:#7ea3b2;font-size:9px}#liveComboRows{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}#liveComboRows button{border:1px solid #174b5e;background:#051723;color:#eaf8fb;border-radius:7px;padding:7px;text-align:left;font-size:8px}#liveComboRows button strong{float:right;color:#ffd34a}
@media(max-width:1450px){.runner-row{grid-template-columns:30px minmax(0,1.2fr) 70px 66px!important}.runner-name{grid-template-columns:32px minmax(0,1fr)!important}.coin-logo{width:32px!important;height:32px!important;min-width:32px!important}.coin-token-img{width:29px!important;height:29px!important}}
@media(max-width:800px){#liveComboRows{grid-template-columns:repeat(2,minmax(0,1fr))}.runner-row{min-height:78px!important}}
@media(max-width:560px){.tex-bot-order{font-size:7px}.runner-row{grid-template-columns:28px minmax(0,1.3fr) 60px 56px!important;gap:4px!important;padding:5px!important}.runner-speed strong,.runner-telemetry strong{font-size:10px}.runner-name b{font-size:10px}.runner-name small{font-size:6px}.coin-logo{width:29px!important;height:29px!important;min-width:29px!important}.coin-token-img{width:26px!important;height:26px!important}}

/* ========================================================================
   v19.6.0 — Original coin LIVE 8-SHIP BOARD + TeX BOT broadcast deck
   ======================================================================== */
html,body,.vs-app{max-width:100%;overflow-x:hidden}.arena-main,.runner-board,.runner-list,.tex-broadcast-deck,.tex-bot-line,.grid-status-cloud,.live-ship-card{min-width:0;box-sizing:border-box}
.arena-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr)!important;gap:10px!important;align-items:stretch!important}.tex-broadcast-deck{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.52fr);gap:10px;width:100%}.tex-bot-line{display:grid!important;grid-template-columns:78px minmax(0,1fr) minmax(150px,.30fr)!important;gap:12px!important;align-items:center!important;min-height:116px!important;padding:12px 14px!important;border:1px solid #20bad8!important;border-radius:16px!important}.tex-bot-avatar{width:72px;height:72px;object-fit:contain;border-radius:18px;border:1px solid #1b8399;background:#03121a;box-shadow:0 0 22px rgba(45,222,255,.22)}.tex-bot-copy{min-width:0}.tex-bot-copy header{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tex-bot-copy header>b{font-size:15px;letter-spacing:.04em;color:#eefcff}.tex-bot-copy #botMode{padding:4px 8px;border:1px solid rgba(57,220,255,.28);border-radius:999px;background:#05202a;color:#6cecff!important}.tex-bot-line p{margin:7px 0 5px!important;min-height:0!important;line-height:1.42!important;font-size:12px!important;white-space:normal!important;overflow-wrap:anywhere}.tex-bot-order{margin-top:4px!important;padding-top:4px!important;white-space:normal!important;overflow-wrap:anywhere}.tex-bot-ship{display:grid!important;gap:2px!important;align-content:center!important;min-height:78px!important}.tex-bot-ship strong,.tex-bot-ship em,.tex-bot-ship i,.tex-bot-ship small{display:block!important;white-space:normal!important;overflow-wrap:anywhere!important}.grid-status-cloud{display:grid;align-content:center;gap:5px;padding:12px 16px;border:1px solid #29dbe8;border-radius:44px 44px 24px 24px;background:radial-gradient(circle at 50% 0,rgba(55,227,255,.14),transparent 60%),linear-gradient(180deg,#031722,#031019);box-shadow:inset 0 0 28px rgba(43,219,232,.05),0 0 22px rgba(43,219,232,.12)}.grid-status-cloud>b{color:#69efff;font-size:14px;letter-spacing:.08em;margin-bottom:3px}.grid-status-cloud>span{font-size:9px;color:#bfeef5;letter-spacing:.04em}.grid-status-cloud strong,.grid-status-cloud em,.grid-status-cloud i{font:inherit;color:#f6fdff}.grid-status-cloud i{color:#ffd34a}

.runner-board{padding:10px 10px 12px!important;border:1px solid #176b83!important;border-radius:15px!important;background:linear-gradient(180deg,rgba(2,15,22,.98),rgba(2,10,16,.98))!important;overflow:hidden!important}.runner-board>header{padding:0 2px 8px;border-bottom:1px solid rgba(49,195,229,.16)}.runner-list{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:7px!important;padding-top:10px!important;width:100%!important;overflow:visible!important}.runner-row.live-ship-card{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto 76px auto auto auto!important;gap:6px!important;min-height:278px!important;padding:8px!important;border:1px solid color-mix(in srgb,var(--coin) 58%,#16475a)!important;border-radius:13px!important;background:radial-gradient(circle at 50% 8%,color-mix(in srgb,var(--coin) 11%,transparent),transparent 34%),linear-gradient(180deg,#061620,#020b10)!important;box-shadow:inset 0 0 20px rgba(0,0,0,.24),0 6px 18px rgba(0,0,0,.30)!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease!important;overflow:hidden!important}.runner-row.live-ship-card:hover,.runner-row.live-ship-card.tex-focus,.runner-row.live-ship-card.video-active{transform:translateY(-2px);border-color:var(--coin)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--coin) 35%,transparent),0 0 25px color-mix(in srgb,var(--coin) 24%,transparent),0 8px 22px #0008!important}.runner-row.live-ship-card.tex-focus{animation:v1960CardFocus 1.1s ease-in-out infinite alternate}.live-ship-head{display:grid;grid-template-columns:28px 34px minmax(0,1fr);align-items:center;gap:5px;min-width:0}.live-ship-head>b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-ship-head .ship-focus-btn{width:28px!important;height:28px!important;min-width:28px!important;font-size:10px!important}.live-ship-head .coin-logo{width:34px!important;height:34px!important;min-width:34px!important;border:0!important;background:transparent!important;box-shadow:none!important}.live-ship-head .coin-token-img{width:34px!important;height:34px!important;object-fit:contain!important;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--coin) 42%,transparent))}.live-ship-art{height:76px;display:grid;place-items:center;overflow:hidden}.live-ship-art img{display:block;width:100%;height:74px;object-fit:contain;filter:drop-shadow(0 9px 8px #000c) drop-shadow(0 0 9px color-mix(in srgb,var(--coin) 20%,transparent));transition:transform .2s ease,filter .2s ease}.live-ship-card.tex-focus .live-ship-art img{transform:scale(1.045);filter:drop-shadow(0 10px 9px #000d) drop-shadow(0 0 13px color-mix(in srgb,var(--coin) 40%,transparent))}.live-ship-identity{min-width:0}.live-ship-identity strong{display:block;color:#f5fbfd;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-ship-identity small{display:block;margin-top:2px;color:color-mix(in srgb,var(--coin) 75%,#bfeaf4);font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-ship-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;border-top:1px solid rgba(109,212,235,.12);border-bottom:1px solid rgba(109,212,235,.12);padding:6px 0}.live-ship-metrics>span{display:grid;align-content:start;min-width:0;border-right:1px solid rgba(109,212,235,.10);padding:0 3px}.live-ship-metrics>span:last-child{border-right:0}.live-ship-metrics i,.live-ship-footer i{font-style:normal;font-size:6px;color:#6e9eae;letter-spacing:.08em}.live-ship-metrics b{font-size:9px;color:#f5fbfd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-ship-metrics small{font-size:6px;color:#779aa7}.live-ship-footer{display:flex;align-items:end;justify-content:space-between;gap:4px}.live-ship-footer>span{display:grid}.live-ship-footer>span b{font-size:10px;color:#ffd34a}.live-ship-footer button{border:1px solid color-mix(in srgb,var(--coin) 70%,#ffffff 8%);background:linear-gradient(180deg,color-mix(in srgb,var(--coin) 13%,#06131a),#030b10);color:#eefcff;border-radius:7px;padding:6px 7px;font-size:7px;font-weight:900;white-space:nowrap;cursor:pointer}.live-ship-footer button:hover{filter:brightness(1.22)}
@keyframes v1960CardFocus{to{box-shadow:0 0 0 1px color-mix(in srgb,var(--coin) 58%,transparent),0 0 34px color-mix(in srgb,var(--coin) 36%,transparent),0 8px 22px #0009!important}}

/* sponsor stage stays contained and never changes document width */
.ship-card-video-stage{max-width:100%!important;contain:layout paint}.ship-card-video-stage video{width:100%!important;max-width:100%!important;aspect-ratio:16/9!important;object-fit:contain!important;height:auto!important}

@media(max-width:1500px){.runner-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}.runner-row.live-ship-card{grid-template-rows:auto 92px auto auto auto!important}.live-ship-art,.live-ship-art img{height:90px}.arena-toolbar{grid-template-columns:1fr!important}.tex-broadcast-deck{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1050px){.tex-broadcast-deck{grid-template-columns:1fr}.grid-status-cloud{border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.grid-status-cloud>b{grid-column:1/-1}.runner-list{grid-template-columns:repeat(4,minmax(0,1fr))!important}.tex-bot-line{grid-template-columns:62px minmax(0,1fr) 150px!important}.tex-bot-avatar{width:58px;height:58px}.tex-bot-line p{font-size:11px!important}}
@media(max-width:700px){.runner-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}.runner-row.live-ship-card{min-height:255px!important;grid-template-rows:auto 82px auto auto auto!important}.live-ship-art,.live-ship-art img{height:80px}.tex-bot-line{grid-template-columns:52px minmax(0,1fr)!important}.tex-bot-avatar{width:48px;height:48px}.tex-bot-ship{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))!important;min-height:0!important}.grid-status-cloud{grid-template-columns:1fr}.grid-status-cloud>b{grid-column:auto}.arena-toolbar{display:block!important}.start-callout,.winner-banner,.result-toolbar{margin-top:8px}.runner-board{padding:7px!important}}
@media(max-width:430px){.runner-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}.runner-row.live-ship-card{padding:6px!important;min-height:242px!important}.live-ship-head{grid-template-columns:25px 30px minmax(0,1fr)}.live-ship-head .ship-focus-btn{width:25px!important;height:25px!important;min-width:25px!important}.live-ship-head .coin-logo,.live-ship-head .coin-token-img{width:30px!important;height:30px!important;min-width:30px!important}.live-ship-identity strong{font-size:8px}.live-ship-identity small{font-size:6px}.live-ship-metrics b{font-size:8px}.live-ship-footer button{font-size:6px;padding:5px}.tex-bot-copy header>b{font-size:12px}.tex-bot-line p{font-size:10px!important}}
@media(max-height:500px) and (orientation:landscape){.runner-list{display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding-bottom:7px!important}.runner-row.live-ship-card{flex:0 0 220px;scroll-snap-align:start;min-height:238px!important}.tex-broadcast-deck{grid-template-columns:minmax(0,1fr) 260px}.tex-bot-line{min-height:96px!important}.grid-status-cloud{padding:8px 12px}}

/* v19.6.0 — unified ship assets, single sponsor entry point, flight calibration inspector */
.live-ship-art,.bet-dog-card{--ship-canvas-ratio:1.78}
.live-ship-art img,.bet-dog-card>img{object-fit:contain!important;object-position:center!important;transform-origin:50% 52%!important}
.bet-dog-card>img{width:100%!important;height:118px!important;max-width:100%!important;display:block!important;margin:0 auto!important}
.live-ship-footer button[data-board-inspect]{min-width:72px}
.ship-inspector-panel{width:min(860px,96vw);overflow:hidden;background:linear-gradient(180deg,#071b27,#020b11);box-shadow:0 28px 100px #000c,0 0 38px var(--inspect-coin,#27d9ee)22}
.ship-inspector-stage{position:relative;min-height:440px;overflow:hidden;border:1px solid color-mix(in srgb,var(--inspect-coin,#27d9ee) 42%,#153d4b);border-radius:13px;background:#02080d;perspective:1100px;isolation:isolate;cursor:grab}
.ship-inspector-stage.dragging{cursor:grabbing}.shipyard-reference{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;opacity:.34;filter:saturate(.82) brightness(.52) contrast(1.08);transform:none!important;z-index:0}
.ship-inspector-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 0 28%,#02080d44 58%,#02080dd9 100%),linear-gradient(180deg,#00101933,#001019aa)}
#shipTurntable{position:relative;z-index:2;width:min(620px,86%);height:330px;display:grid;place-items:center;transform-style:preserve-3d;will-change:transform;transition:filter .16s ease}
#shipTurntable>img{width:100%!important;height:100%!important;max-height:330px!important;object-fit:contain!important;filter:drop-shadow(0 25px 18px #000d) drop-shadow(0 0 25px var(--inspect-coin,#27d9ee)44);backface-visibility:visible}
.inspect-axis-hud{position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);display:flex;gap:7px;pointer-events:none}.inspect-axis-hud span{padding:4px 8px;border:1px solid #1a6075;border-radius:999px;background:#021017dd;color:#81dff0;font-size:8px;font-weight:900;letter-spacing:.12em}
.inspector-actions{display:flex;gap:8px;margin-top:10px}.inspector-actions button{border:1px solid #23647a;background:#04131b;color:#eafaff;border-radius:8px;padding:8px 12px;font-weight:900;cursor:pointer}.inspector-actions button.active{border-color:var(--inspect-coin,#27d9ee);box-shadow:0 0 18px color-mix(in srgb,var(--inspect-coin,#27d9ee) 35%,transparent);color:#fff}
.inspector-note{margin:9px 0 0;color:#83a9b7;font-size:10px;line-height:1.45}
@media(max-width:700px){.ship-inspector-stage{min-height:330px}#shipTurntable{height:240px;width:92%}#shipTurntable>img{max-height:240px!important}.bet-dog-card>img{height:102px!important}}

/* v19.6.0 — interactive shipyard betting / warp selection */
.bet-dog-grid{align-items:stretch}
.shipyard-bet-card{position:relative;overflow:hidden;isolation:isolate;grid-template-rows:auto minmax(0,1fr) auto auto!important;min-height:340px!important;padding:0!important;background:#02070d!important;border-color:color-mix(in srgb,var(--coin) 42%,#173746)!important;transform-style:preserve-3d;perspective:1100px}
.shipyard-bet-card::before{content:"";position:absolute;inset:-35%;pointer-events:none;z-index:5;background:conic-gradient(from 0deg,transparent 0 32%,color-mix(in srgb,var(--coin) 48%,transparent) 40%,transparent 48% 100%);opacity:0;filter:blur(22px);transition:opacity .25s ease;animation:v1960SelectionSweep 2.6s linear infinite}
.shipyard-bet-card.selected{border-width:2px!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--coin) 45%,transparent),0 0 24px color-mix(in srgb,var(--coin) 42%,transparent),0 18px 38px #000a!important;transform:translateY(-3px) perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}
.shipyard-bet-card.selected::before{opacity:.42}
.shipyard-card-top{position:absolute;left:8px;right:8px;top:8px;z-index:12;display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:6px;pointer-events:none}
.shipyard-card-top>strong{font-size:14px;letter-spacing:.08em;text-shadow:0 2px 8px #000}
.shipyard-card-top .lane-no{position:static!important;width:30px;height:30px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--coin) 70%,#fff);background:#031019df;color:#fff;border-radius:50%;font-size:11px}
.shipyard-card-top .place-badge{position:static!important;min-width:34px;display:grid;place-items:center;background:color-mix(in srgb,var(--coin) 78%,#fff);color:#02070d;font-weight:1000;opacity:0;transform:scale(.85);transition:.2s ease}
.shipyard-bet-card.selected .place-badge{opacity:1;transform:scale(1)}
.shipyard-card-top .ship-inspect-hint{position:static!important;pointer-events:auto;white-space:nowrap}
.bet-hangar-frame{position:relative;overflow:hidden;min-height:250px;aspect-ratio:1/1;background:#02070d;transform-style:preserve-3d}
.bet-hangar-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#00000008 48%,#02070d 96%),radial-gradient(circle at 50% 54%,transparent 0 25%,#0000 40%,#0007 100%);z-index:3}
.bet-hangar-img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;filter:saturate(1.07) contrast(1.06) brightness(.86);transform:scale(1.015) translateZ(0);transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .28s ease}
.shipyard-bet-card:hover .bet-hangar-img{filter:saturate(1.16) contrast(1.08) brightness(.96);transform:scale(1.035)}
.shipyard-bet-card.selected .bet-hangar-img{filter:saturate(1.28) contrast(1.10) brightness(1.04) drop-shadow(0 0 14px color-mix(in srgb,var(--coin) 44%,transparent));transform:scale(1.055) translateZ(24px)}
.bet-engine-halo{position:absolute;left:50%;top:50%;width:42%;height:42%;translate:-50% -50%;border-radius:50%;z-index:2;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff 0 2%,color-mix(in srgb,var(--coin) 88%,#7effff) 4% 12%,color-mix(in srgb,var(--coin) 36%,transparent) 24%,transparent 64%);filter:blur(3px);mix-blend-mode:screen}
.shipyard-bet-card.selected .bet-engine-halo{opacity:.72;animation:v1960EngineCore .46s ease-in-out infinite alternate}
.bet-warp-plume{position:absolute;left:50%;top:62%;width:56%;height:18%;translate:-50% -50%;z-index:4;pointer-events:none;opacity:0;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--coin) 60%,#8ff));mix-blend-mode:screen}
.bet-warp-plume i{position:absolute;left:50%;top:50%;translate:-50% -50%;border-radius:50% 50% 100% 100%;transform-origin:50% 0;background:linear-gradient(180deg,#fff 0,color-mix(in srgb,var(--coin) 80%,#8fffff) 20%,color-mix(in srgb,var(--coin) 40%,transparent) 70%,transparent 100%)}
.bet-warp-plume i:nth-child(1){width:9%;height:125%;filter:blur(.4px)}
.bet-warp-plume i:nth-child(2){width:19%;height:160%;opacity:.72;filter:blur(3px)}
.bet-warp-plume i:nth-child(3){width:36%;height:220%;opacity:.38;filter:blur(8px)}
.shipyard-bet-card.selected .bet-warp-plume{opacity:.9;animation:v1960WarpPreview .24s ease-in-out infinite alternate}
.bet-rank-overlay{position:absolute;left:10px;right:10px;bottom:9px;z-index:8;display:flex;justify-content:space-between;align-items:end;gap:8px;pointer-events:none}
.bet-rank-overlay span{padding:5px 8px;border:1px solid color-mix(in srgb,var(--coin) 58%,#fff);border-radius:999px;background:#020b12d9;color:#fff;font-size:9px;font-weight:1000;letter-spacing:.10em}
.bet-rank-overlay small{color:#a9c4ce;font-size:8px;font-weight:900;letter-spacing:.12em;text-shadow:0 2px 5px #000}
.shipyard-bet-card.selected .bet-rank-overlay span{background:color-mix(in srgb,var(--coin) 72%,#061019);box-shadow:0 0 13px color-mix(in srgb,var(--coin) 44%,transparent)}
.shipyard-bet-card.selected .bet-rank-overlay small{color:#fff}
.shipyard-card-copy{position:relative;z-index:8;padding:9px 10px 6px;background:linear-gradient(180deg,#061018,#03090e);border-top:1px solid color-mix(in srgb,var(--coin) 24%,#15333f)}
.shipyard-card-copy b{display:block;font-size:10px;letter-spacing:.04em}.shipyard-card-copy span{display:block;margin-top:3px;color:color-mix(in srgb,var(--coin) 72%,#d4e9ef);font-size:9px}
.shipyard-bet-card .ship-card-actions{position:relative;z-index:8;padding:7px 9px 9px;margin:0;background:#03090e;border-top:1px solid #102a35}
.shipyard-bet-card.rank-p1{box-shadow:0 0 28px color-mix(in srgb,var(--coin) 55%,transparent),0 0 0 2px #ffd34a55 inset!important}.shipyard-bet-card.rank-p1 .place-badge{background:#ffd34a}
.shipyard-bet-card.rank-p2 .place-badge{background:#dce8ef}.shipyard-bet-card.rank-p3 .place-badge{background:#c98248;color:#fff}
@keyframes v1960EngineCore{from{transform:scale(.88);filter:blur(3px) brightness(1.1)}to{transform:scale(1.14);filter:blur(4px) brightness(1.8)}}
@keyframes v1960WarpPreview{from{transform:scaleY(.76);filter:brightness(1.0)}to{transform:scaleY(1.14);filter:brightness(1.65)}}
@keyframes v1960SelectionSweep{to{transform:rotate(360deg)}}
@media(max-width:1280px){.shipyard-bet-card{min-height:315px!important}.bet-hangar-frame{min-height:220px}}
@media(max-width:900px){.shipyard-bet-card{min-height:300px!important}.bet-hangar-frame{min-height:205px}.shipyard-card-top{grid-template-columns:28px 1fr auto}.shipyard-card-top .ship-inspect-hint{grid-column:2/4;justify-self:end;font-size:8px}.shipyard-card-top>strong{font-size:12px}}
@media(max-width:620px){.shipyard-bet-card{min-height:290px!important}.bet-hangar-frame{min-height:190px}.shipyard-card-copy b{font-size:9px}.shipyard-card-copy span{font-size:8px}.bet-warp-plume{width:70%}}
@media(prefers-reduced-motion:reduce){.shipyard-bet-card,.bet-hangar-img,.bet-engine-halo,.bet-warp-plume,.shipyard-bet-card::before{animation:none!important;transition:none!important}}

/* v19.6.0 — quaternion CG flight / dual-engine warp / inspector calibration */
.cg-ship{--engine-xl:42%;--engine-xr:58%;--engine-y:58%;transform-style:preserve-3d}
.cg-ship .engine-plume{position:absolute;top:var(--engine-y);width:100%;height:100%;pointer-events:none;z-index:-2;transform-style:preserve-3d;scale:var(--exhaust-scale) 1}
.cg-ship .engine-plume.left{left:var(--engine-xl)}.cg-ship .engine-plume.right{left:var(--engine-xr)}
.cg-ship .engine-plume .warp-exhaust{position:absolute!important;left:0!important;top:0!important;transform-origin:100% 50%!important;transform:translate(-100%,-50%)!important;display:block}
.cg-ship .engine-plume .warp-exhaust.outer{width:calc(20% + 82%*var(--warp));height:18%}
.cg-ship .engine-plume .warp-exhaust.inner{width:calc(13% + 54%*var(--warp));height:8%}
.cg-ship .engine-plume .warp-exhaust.core{width:calc(8% + 30%*var(--warp));height:3.5%}
.cg-ship .engine-plume .warp-exhaust.sparks{width:calc(18% + 62%*var(--warp));height:18%}
.cg-ship.is-warping .engine-plume{filter:brightness(1.12)}

.inspect-nose-axis{position:absolute;left:50%;top:50%;width:42%;height:2px;z-index:5;transform-origin:0 50%;transform:translateY(-50%);pointer-events:none;color:#75ff9d}
.inspect-nose-axis i{position:absolute;inset:0;background:linear-gradient(90deg,#fff,#75ff9d);box-shadow:0 0 12px #75ff9d}
.inspect-nose-axis i::after{content:"";position:absolute;right:-2px;top:50%;translate:0 -50%;border-left:12px solid #75ff9d;border-top:6px solid transparent;border-bottom:6px solid transparent}
.inspect-nose-axis b{position:absolute;right:0;top:-20px;font-size:8px;letter-spacing:.12em;color:#9affb7;white-space:nowrap}
.inspect-engine-anchor{position:absolute;z-index:6;width:14px;height:14px;border-radius:50%;translate:-50% -50%;pointer-events:none;background:#dff;box-shadow:0 0 0 3px rgb(50 225 255/.32),0 0 20px #53efff}
.inspect-engine-anchor::after{content:"ENGINE";position:absolute;left:50%;top:17px;translate:-50% 0;font-size:7px;font-weight:900;color:#8eefff;letter-spacing:.08em;white-space:nowrap}
.inspect-turn-sim{margin-top:10px;padding:9px 10px;border:1px solid #174d60;border-radius:9px;background:#031018}
.inspect-turn-sim label{display:flex;justify-content:space-between;gap:12px;color:#8db9c7;font-size:9px;font-weight:900;letter-spacing:.1em}.inspect-turn-sim output{color:var(--inspect-coin,#5de6ff)}
.inspect-turn-sim input{width:100%;margin-top:8px;accent-color:var(--inspect-coin,#5de6ff)}
.inspector-actions{flex-wrap:wrap}.inspector-actions button{flex:1 1 145px}
.inspector-actions button.active{background:color-mix(in srgb,var(--inspect-coin,#27d9ee) 18%,#04131b)}
@media(max-width:700px){.inspect-nose-axis{width:35%}.inspect-engine-anchor{width:11px;height:11px}.inspector-actions button{flex-basis:46%;padding:7px 8px;font-size:9px}}

/* v19.6.0 — 2.5D aerodynamic visual envelope for WEBP spacecraft.
   Quaternion/spline math remains authoritative for the presentation frame, but the flat artwork never performs true 90° rotateY foreshortening. */
.cg-ship{
  --ship-yaw-skew:0deg;
  --ship-depth-scale:1;
  transform:translate(-50%,-50%) translate3d(var(--ship-x),var(--ship-y),var(--ship-z,0px)) perspective(920px)
    rotate(var(--ship-heading))
    rotateZ(var(--ship-bank))
    rotateX(var(--ship-pitch))
    skewX(var(--ship-yaw-skew))
    scaleX(var(--ship-depth-scale))
    scale(var(--ship-scale));
}
.cg-ship img{backface-visibility:hidden;transform:translateZ(4px);}
.live-phase .cg-ship{transform-origin:52% 58%;}
/* Plumes inherit the complete 2.5D hull attitude so they stay attached during bank/yaw/lane changes. */
.cg-ship .engine-plume{transform-style:preserve-3d;}
/* Inspector uses the same non-deforming flight envelope rather than spinning a flat WEBP edge-on. */
#shipTurntable{transform-style:preserve-3d;will-change:transform;}
#shipTurntable>img{backface-visibility:hidden!important;}
.inspect-axis-hud::after{content:'2.5D ENVELOPE · YAW ±12° · BANK ±34° · PITCH ±8°';display:block;color:#6ce6ff;font-size:8px;letter-spacing:.08em;margin-top:4px;}

/* v19.6.0 production flight inspector + recording */
.inspect-production-controls{display:grid;gap:8px;padding:10px 14px;border-top:1px solid rgba(120,220,255,.18)}
.inspect-production-controls select,.inspect-production-controls button{background:#07131d;color:#dff8ff;border:1px solid rgba(91,220,255,.32);border-radius:7px;padding:7px 9px;font-weight:800}
.inspect-presets,.inspect-playback{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.inspect-playback input{flex:1;min-width:140px}.inspect-telemetry{font:700 11px/1.5 ui-monospace,monospace;color:#9eeaff}
#recordStart15{pointer-events:auto;border:1px solid #ff5269;background:#18070c;color:#fff;border-radius:6px;padding:5px 8px;font-weight:900}
#recordStart15.armed{box-shadow:0 0 16px #ff304c}#recordStartStatus{font:800 10px ui-monospace,monospace}
@media(max-width:600px){.inspect-production-controls{padding:8px}.inspect-presets button,.inspect-playback button{font-size:10px;padding:6px}.inspect-telemetry{font-size:9px}}


/* v19.6.1 — CG/CSS hover + aerodynamic readability patch.
   Presentation only: no result, odds, payout or authoritative race-state changes. */
.cg-fleet-layer{perspective:1600px;overflow:hidden}
.cg-ship{
  --hover-clearance:12px;
  --hover-bob:0px;
  --aero-load:0;
  --lane-px:42px;
  transform-origin:52% 60%;
  filter:saturate(1.30) contrast(1.10) brightness(1.08)
    drop-shadow(0 12px 18px #000d)
    drop-shadow(0 0 calc(10px + 17px*var(--warp)) rgb(var(--accent)/.60));
}
.cg-ship img{
  filter:saturate(1.22) contrast(1.07) brightness(1.06);
  transform:translateZ(5px);
}
.cg-ship.is-grid-hover img{filter:saturate(1.28) contrast(1.09) brightness(1.10)}

/* Real-looking separation from track: soft projected shadow + anti-grav light pool. */
.cg-ship .anti-grav-shadow{
  position:absolute;left:50%;top:72%;width:68%;height:22%;transform:translate(-50%,0) scaleY(.56);
  border-radius:50%;pointer-events:none;z-index:-5;
  background:radial-gradient(ellipse at center,#000b 0 25%,rgb(var(--accent)/.18) 44%,transparent 72%);
  filter:blur(calc(5px + var(--hover-clearance)*.18));
  opacity:clamp(.24,calc(.76 - var(--hover-clearance)*.018),.70);
}
.cg-ship.is-grid-hover .anti-grav-shadow::after{
  content:"";position:absolute;inset:10% 16%;border-radius:50%;
  background:radial-gradient(ellipse at center,rgb(var(--accent)/.32),transparent 68%);
  filter:blur(5px);animation:v1961HoverPulse 1.8s ease-in-out infinite alternate;
}

/* Aerodynamic wake is subtle and only appears under load/speed. */
.cg-ship .aero-wake{
  position:absolute;top:53%;width:46%;height:2px;pointer-events:none;z-index:-4;opacity:calc(var(--aero-load)*.72);
  background:linear-gradient(90deg,transparent,rgb(var(--accent)/.12) 25%,rgb(var(--accent)/.68) 100%);
  filter:blur(.55px) drop-shadow(0 0 5px rgb(var(--accent)/.55));transform-origin:100% 50%;
}
.cg-ship .wake-left{left:4%;transform:translate(-100%,-50%) rotate(-8deg)}
.cg-ship .wake-right{left:9%;top:63%;transform:translate(-100%,-50%) rotate(8deg)}
.cg-ship.is-aero-loaded .aero-wake{animation:v1961AeroWake .24s ease-in-out infinite alternate}

/* Grid phase: stable attitude, visible hover, no random pre-start roll/pitch. */
.cg-ship[data-phase="WAITING"],.cg-ship[data-phase="COUNTDOWN"]{
  transition:filter .2s linear;
}
.cg-ship[data-phase="WAITING"] figcaption,.cg-ship[data-phase="COUNTDOWN"] figcaption{
  box-shadow:0 0 12px rgb(var(--accent)/.20);backdrop-filter:blur(6px)
}

/* Exhaust attachment and launch clarity. */
.cg-ship .engine-plume{filter:drop-shadow(0 0 6px rgb(var(--accent)/.34));}
.cg-ship.is-charging .engine-plume{filter:brightness(1.32) saturate(1.35) drop-shadow(0 0 8px rgb(var(--accent)/.55));}
.cg-ship.is-warping .engine-plume{filter:brightness(1.20) saturate(1.24) drop-shadow(0 0 9px rgb(var(--accent)/.48));}

/* Inspector gets a more useful aerodynamic calibration presentation. */
.ship-inspector-stage{background:
  radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--inspect-coin,#27d9ee) 10%,transparent),transparent 35%),
  linear-gradient(180deg,#03101a,#01070b)}
.ship-inspector-stage::before{
  content:"AERODYNAMIC CALIBRATION · HOVER / BANK / PITCH / YAW";
  position:absolute;left:12px;top:10px;z-index:5;padding:5px 8px;border-radius:999px;
  border:1px solid color-mix(in srgb,var(--inspect-coin,#27d9ee) 35%,#153d4b);
  background:#021017c9;color:#a9efff;font:800 8px/1.2 ui-monospace,monospace;letter-spacing:.08em;pointer-events:none
}
#shipTurntable>img{filter:drop-shadow(0 24px 18px #000c) drop-shadow(0 0 30px color-mix(in srgb,var(--inspect-coin,#27d9ee) 50%,transparent));}
.inspect-production-controls{background:linear-gradient(180deg,#03121bcc,#02090f)}
.inspect-telemetry{padding:7px 9px;border:1px solid #144654;border-radius:8px;background:#020b11;box-shadow:inset 0 0 18px #001018}

@keyframes v1961HoverPulse{from{opacity:.35;transform:scale(.92)}to{opacity:.72;transform:scale(1.08)}}
@keyframes v1961AeroWake{from{opacity:calc(var(--aero-load)*.42);scale:.92 1}to{opacity:calc(var(--aero-load)*.82);scale:1.08 1}}
@media(max-width:800px){
  .cg-ship .aero-wake{display:none}
  .cg-ship .anti-grav-shadow{width:74%;height:18%;filter:blur(4px)}
  .ship-inspector-stage::before{font-size:7px;left:8px;top:8px}
}
@media(prefers-reduced-motion:reduce){
  .cg-ship .anti-grav-shadow::after,.cg-ship .aero-wake{animation:none!important}
}

/* v19.6.3 betting + history + result readability */
.quick-stake{display:grid!important;grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px}
.quick-stake button{min-height:40px;font-size:11px;border-radius:9px}
.ticket-builder{grid-template-columns:minmax(250px,1.35fr) minmax(300px,1.55fr) minmax(110px,.55fr) minmax(120px,.6fr) minmax(180px,.8fr)!important;align-items:stretch}
.ticket-builder>div{min-width:0}
.ticket-slots{display:flex;gap:6px;flex-wrap:wrap}
.ticket-slot{min-width:92px}
.balance-history{grid-template-columns:minmax(240px,.38fr) minmax(0,1.62fr)!important}
.bet-history-scroll{max-height:310px;overflow:auto;padding-right:4px;scrollbar-gutter:stable}
.bet-history-scroll::-webkit-scrollbar,.race-results-scroll::-webkit-scrollbar{width:10px;height:10px}
.bet-history-scroll::-webkit-scrollbar-thumb,.race-results-scroll::-webkit-scrollbar-thumb{background:#1c6d83;border-radius:8px;border:2px solid #06141c}
.ticket-v1963{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid #123c4c;border-radius:8px;background:#04131b;margin:0 0 6px}
.ticket-picks{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap}
.history-coin{display:inline-flex;align-items:center;gap:5px;background:#071d28;border:1px solid #19566a;border-radius:999px;padding:3px 7px}
.history-coin img{width:22px;height:22px;object-fit:contain}
.history-coin b{font-size:10px}
.pick-arrow{color:#67dff4;font-weight:900}
.ticket-meta{display:grid;justify-items:end;gap:3px;white-space:nowrap}
.ticket-meta strong{font-size:10px}
.result-icon{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;margin-right:5px;background:#0c2a34}
.win{color:#62f5ad!important}.lose{color:#ff6e7a!important}.pending{color:#ffd45f!important}
.race-results-card{overflow:hidden!important}
.race-results-scroll{max-height:360px;overflow:auto;scrollbar-gutter:stable}
.scroll-hint{font-size:8px;color:#67dff4}
@media(max-width:1100px){
 .ticket-builder{grid-template-columns:1fr 1fr!important}
 .ticket-builder .place-bet{grid-column:1/-1;min-height:54px}
 .quick-stake{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:700px){
 .balance-history{grid-template-columns:1fr!important}
 .ticket-builder{grid-template-columns:1fr!important}
 .quick-stake{grid-template-columns:repeat(4,1fr)}
 .ticket-v1963{grid-template-columns:1fr}
 .ticket-meta{justify-items:start}
}

.pre-race-track-map{position:absolute;right:14px;bottom:58px;width:min(36%,520px);z-index:26;display:none;background:linear-gradient(180deg,rgba(3,16,24,.96),rgba(3,10,17,.94));border:1px solid #24cce9;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 28px rgba(28,203,232,.12);overflow:hidden;pointer-events:none;backdrop-filter:blur(8px)}
.pre-race-track-map.active{display:block}.pre-race-track-map header,.pre-race-track-map footer{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 10px}.pre-race-track-map header{border-bottom:1px solid rgba(61,218,242,.28)}.pre-race-track-map footer{border-top:1px solid rgba(61,218,242,.22);font-size:8px;color:#8dc8d4}.pre-race-track-map header span{font-size:8px;letter-spacing:.12em;color:#62dff3}.pre-race-track-map header b{font-size:11px;color:#ffd34d}#preRaceMapCanvas{display:block;width:100%;height:auto;aspect-ratio:2/1}
@media(max-width:900px){.pre-race-track-map{width:44%;right:8px;bottom:54px}}@media(max-width:620px){.pre-race-track-map{width:48%;right:6px;bottom:48px}.pre-race-track-map footer{display:none}}

/* v19.7.0 — exact top-down circuit maps */
.track-map-selector{
  position:absolute;left:14px;bottom:58px;z-index:27;display:grid;
  grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;width:min(54%,720px);
}
.track-map-card{
  display:grid;grid-template-columns:1fr;gap:4px;padding:5px;background:rgba(3,16,24,.94);
  border:1px solid #176477;border-radius:10px;color:#d8f7ff;overflow:hidden;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.34)
}
.track-map-card.active{border-color:#ffd247;box-shadow:0 0 0 1px #ffd247,0 0 22px rgba(255,210,71,.17)}
.track-map-card canvas{width:100%;height:auto;aspect-ratio:11/6;border-radius:6px;background:#02080d}
.track-map-card span{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:1px 3px}
.track-map-card b{font-size:9px;letter-spacing:.08em}.track-map-card small{font-size:8px;color:#8bc9d4}
@media(max-width:900px){.track-map-selector{width:58%;left:8px;bottom:54px;gap:5px}}
@media(max-width:620px){.track-map-selector{width:48%;grid-template-columns:1fr;left:6px;bottom:48px}.track-map-card:not(.active){display:none}}

/* v19.7.1: only NEBULA 5K and TITAN 10K circuit choices remain */
.track-map-selector{grid-template-columns:repeat(2,minmax(150px,1fr))}

/* v19.7.7 — Race Monitor is informational, not a circuit selector */
[data-duration="1"],[data-map-duration="1"],#trackThumbOrbit,#trackMapSelector{display:none!important}
.pre-race-track-map{width:min(40%,560px)}
.race-monitor-description{padding:9px 11px 10px;border-top:1px solid rgba(61,218,242,.22);background:rgba(1,10,16,.82)}
.race-monitor-description>b{display:block;color:#ffd34d;font-size:12px;letter-spacing:.06em;margin-bottom:5px}
.race-monitor-description p{margin:0 0 8px;color:#c6e5eb;font-size:9px;line-height:1.45}
.race-monitor-sectors{display:flex;flex-wrap:wrap;gap:4px}
.race-monitor-sectors span{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:1px solid rgba(68,214,237,.28);border-radius:999px;color:#aee7f0;font-size:7px;background:rgba(8,36,47,.7)}
.race-monitor-sectors i{display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#ffd34d;color:#071018;font-style:normal;font-weight:900}
@media(max-width:760px){.pre-race-track-map{width:48%}.race-monitor-description p{display:none}}

/* v19.7.7 dual-engine warp exhaust — attached to canonical CG racer element */
.cg-ship,[data-cg-ship]{position:absolute}
.v1973-exhaust{position:absolute;z-index:-1;width:var(--plume,24px);height:8px;transform:translate(-100%,-50%);transform-origin:100% 50%;pointer-events:none;border-radius:100% 8px 8px 100%;opacity:calc(.35 + var(--power,.2)*.5);background:linear-gradient(90deg,transparent 0%,rgba(41,199,255,.16) 22%,rgba(78,226,255,.72) 68%,rgba(235,254,255,.98) 100%);filter:drop-shadow(0 0 5px rgba(61,218,255,.95));mix-blend-mode:screen}
.v1973-exhaust::after{content:"";position:absolute;right:-2px;top:50%;width:7px;height:7px;border-radius:50%;transform:translateY(-50%);background:#efffff;box-shadow:0 0 7px #69e8ff,0 0 13px #1cc9ff}
.v1973-exhaust-left{margin-left:-2px}.v1973-exhaust-right{margin-left:2px}
@media(prefers-reduced-motion:reduce){.v1973-exhaust{filter:none}}

/* =========================================================
   v19.7.7 — CG COIN BETTING COMMAND DOCK
   ========================================================= */
.market-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}
.market-tabs button{min-height:42px;border:1px solid rgba(76,211,239,.35)!important;background:linear-gradient(180deg,rgba(10,37,49,.95),rgba(3,17,24,.96))!important;color:#bcecf5!important;font-weight:900;letter-spacing:.06em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.market-tabs button.active{color:#07131a!important;background:linear-gradient(180deg,#61ecff,#20b8e8)!important;border-color:#87f3ff!important;box-shadow:0 0 18px rgba(38,214,255,.38),inset 0 0 10px rgba(255,255,255,.5)!important;transform:translateY(-1px)}
.v1977-coin-bet-dock{margin:8px 0 12px;padding:10px 12px 12px;border:1px solid rgba(61,218,242,.28);border-radius:12px;background:radial-gradient(circle at 50% 0%,rgba(30,112,142,.12),transparent 45%),linear-gradient(180deg,rgba(3,20,28,.98),rgba(1,10,15,.98));box-shadow:inset 0 0 24px rgba(15,99,124,.08)}
.v1977-coin-dock-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:9px}
.v1977-coin-dock-head small{display:block;color:#65dff0;font-size:9px;letter-spacing:.16em}
.v1977-coin-dock-head b{display:block;color:#e9fbff;font-size:12px;letter-spacing:.05em;margin-top:2px}
#coinDockHint{font-size:9px;color:#ffd34d;border:1px solid rgba(255,211,77,.25);padding:5px 8px;border-radius:999px;background:rgba(255,195,38,.07)}
.v1977-coin-grid{display:grid;grid-template-columns:repeat(8,minmax(72px,1fr));gap:7px}
.v1977-coin-pick{--coin:#4fdcff;position:relative;isolation:isolate;display:flex;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid color-mix(in srgb,var(--coin) 46%,#12303a);border-radius:10px;background:linear-gradient(180deg,rgba(9,30,39,.96),rgba(2,13,18,.98));color:#dffaff;cursor:pointer;overflow:hidden;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.v1977-coin-pick:hover{transform:translateY(-2px);border-color:var(--coin);box-shadow:0 0 14px color-mix(in srgb,var(--coin) 36%,transparent)}
.v1977-coin-pick.selected{border-color:var(--coin);background:radial-gradient(circle at 22% 50%,color-mix(in srgb,var(--coin) 20%,transparent),rgba(3,16,22,.98) 58%);box-shadow:0 0 22px color-mix(in srgb,var(--coin) 48%,transparent),inset 0 0 14px color-mix(in srgb,var(--coin) 16%,transparent)}
.v1977-coin-orbit{position:relative;flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.22),rgba(0,0,0,.12) 60%);box-shadow:0 0 0 1px color-mix(in srgb,var(--coin) 48%,transparent),0 0 10px color-mix(in srgb,var(--coin) 20%,transparent)}
.v1977-coin-orbit::after{content:"";position:absolute;inset:-4px;border:1px solid color-mix(in srgb,var(--coin) 52%,transparent);border-radius:50%;opacity:.38}
.v1977-coin-orbit img{width:30px;height:30px;object-fit:contain;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--coin) 48%,transparent))}
.v1977-coin-copy{display:flex;min-width:0;flex-direction:column;text-align:left}
.v1977-coin-copy b{font-size:10px;letter-spacing:.05em;white-space:nowrap}
.v1977-coin-copy small{font-size:7px;color:#9bc3ca;white-space:nowrap}
.v1977-coin-pick.selected .v1977-coin-copy small{color:var(--coin);font-weight:900}
.v1977-coin-light{position:absolute;right:-18px;bottom:-20px;width:58px;height:58px;border-radius:50%;background:var(--coin);filter:blur(18px);opacity:0;z-index:-1;transition:opacity .16s ease}
.v1977-coin-pick.selected .v1977-coin-light{opacity:.42}
.v1977-coin-pick.coin-pulse .v1977-coin-orbit{animation:v1977CoinPulse .46s ease-out}
@keyframes v1977CoinPulse{0%{transform:scale(.86);filter:brightness(.8)}50%{transform:scale(1.13);filter:brightness(1.65)}100%{transform:scale(1);filter:brightness(1)}}
.v1977-combo-btn{display:flex!important;align-items:center!important;gap:5px!important;min-height:36px!important}
.v1977-mini-coin{--coin:#45dcff;display:inline-flex;align-items:center;gap:4px}
.v1977-mini-coin img{width:18px;height:18px;border-radius:50%;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--coin) 56%,transparent))}
.v1977-mini-coin b{font-size:8px}.v1977-combo-btn em{font-style:normal;color:#67ddea}.v1977-combo-btn strong{margin-left:auto;color:#ffd34d}
@media(max-width:1180px){.v1977-coin-grid{grid-template-columns:repeat(4,minmax(92px,1fr))}}
@media(max-width:680px){.v1977-coin-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.market-tabs{grid-template-columns:1fr}.v1977-coin-dock-head{align-items:flex-start;flex-direction:column}}

/* =========================================================
   v19.7.7 — COMPACT CG ODDS EXPLORER / SINGLE ACTIVE LOCK
   ========================================================= */
.data-deck{margin-top:6px!important}
.data-deck>summary{min-height:24px!important;padding:3px 8px!important;line-height:1.05!important}
.data-deck[open]>summary{margin-bottom:2px!important}
.odds-explorer{padding:4px 10px 8px!important;margin:0!important}
.explorer-tabs{display:flex!important;gap:7px!important;margin:0 0 6px!important;padding:0!important}
.explorer-tabs button{min-height:34px!important;padding:6px 13px!important}
#liveComboRows{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin:0!important;padding:0!important;align-items:stretch}

.v1977-combo-btn{
  --combo-a:#45dcff;--combo-b:#ffd34d;
  position:relative;isolation:isolate;overflow:hidden;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  width:100%;min-width:0;min-height:42px!important;padding:5px 9px!important;gap:8px!important;
  border:1px solid rgba(51,188,217,.30)!important;border-radius:9px!important;
  background:linear-gradient(180deg,rgba(4,24,32,.98),rgba(2,14,20,.99))!important;
  color:#dff8fd!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)!important;
  transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background .14s ease!important;
  cursor:pointer;
}
.v1977-combo-btn:hover{transform:translateY(-1px);border-color:rgba(72,221,244,.62)!important;box-shadow:0 0 9px rgba(47,208,235,.14),inset 0 0 10px rgba(41,171,196,.06)!important}
.v1977-combo-btn:focus-visible{outline:2px solid #9af5ff!important;outline-offset:2px!important}

.v1977-combo-coins{display:flex;align-items:center;gap:5px;min-width:0}
.v1977-mini-coin{--coin:#45dcff;display:inline-flex;align-items:center;gap:5px;min-width:0}
.v1977-mini-coin b{font-size:8px;letter-spacing:.035em;color:#edfaff;white-space:nowrap}
.v1977-mini-coin em,.v1977-combo-coins>em{font-style:normal;color:#64dced;font-size:10px}
.v1977-coin-ring{position:relative;display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;
  background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.25),rgba(2,12,16,.72) 62%);
  border:1px solid color-mix(in srgb,var(--coin) 58%,#d9faff);
  box-shadow:inset 0 0 5px rgba(255,255,255,.12),0 0 6px color-mix(in srgb,var(--coin) 24%,transparent)}
.v1977-coin-ring::after{content:"";position:absolute;inset:2px;border-radius:50%;border:1px solid rgba(255,255,255,.12);pointer-events:none}
.v1977-coin-ring img{width:19px;height:19px;object-fit:contain;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--coin) 45%,transparent))}

.v1977-combo-right{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}
.v1977-combo-right strong{font-size:9px!important;color:#ffd633!important;text-shadow:0 0 5px rgba(255,209,37,.16)}
.v1977-selected-badge{padding:2px 5px;border-radius:999px;border:1px solid rgba(255,226,97,.7);background:rgba(255,198,36,.11);color:#ffe86b;font-size:6px;font-weight:1000;letter-spacing:.12em}

.v1977-combo-btn.selected{transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--combo-a) 55%,#ffd34d)!important;
  background:
    radial-gradient(circle at 8% 50%,color-mix(in srgb,var(--combo-a) 15%,transparent),transparent 34%),
    radial-gradient(circle at 72% 50%,color-mix(in srgb,var(--combo-b) 10%,transparent),transparent 42%),
    linear-gradient(180deg,rgba(7,34,42,.99),rgba(2,15,20,.99))!important;
  box-shadow:0 0 18px color-mix(in srgb,var(--combo-a) 31%,transparent),inset 0 0 15px rgba(40,205,230,.10),inset 0 0 0 1px rgba(255,222,95,.12)!important}
.v1977-combo-btn.selected .v1977-coin-ring{filter:brightness(1.3);box-shadow:0 0 11px color-mix(in srgb,var(--coin) 65%,transparent),inset 0 0 7px rgba(255,255,255,.2)}
.v1977-combo-btn.selected .v1977-combo-right strong{color:#ffeb62!important;text-shadow:0 0 7px rgba(255,211,47,.48)}
.v1977-combo-btn.selected::after{content:"";position:absolute;z-index:-1;top:-80%;bottom:-80%;width:28%;left:-38%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(188,248,255,.16),transparent);animation:v1977SelectionSweep .52s ease-out 1}
@keyframes v1977SelectionSweep{from{left:-38%}to{left:118%}}

@media(max-width:1180px){#liveComboRows{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){#liveComboRows{grid-template-columns:1fr!important}.v1977-combo-btn{min-height:40px!important}}
@media(prefers-reduced-motion:reduce){.v1977-combo-btn.selected::after{animation:none}}

/* =========================================================
   v19.7.7 — BETTING LAYOUT HOTFIX / NO VERTICAL COIN CLOUD
   ========================================================= */

/* Keep betting controls and quick coins as one compact block. */
.betting-panel{overflow:visible!important}
.ticket-builder{
  display:grid!important;
  grid-template-columns:minmax(280px,1.15fr) minmax(380px,1.25fr) minmax(150px,.48fr) minmax(150px,.48fr) minmax(220px,.72fr)!important;
  align-items:stretch!important;
  gap:7px!important;
}
.ticket-builder>div{min-width:0!important}
#placeUnifiedBet.place-bet{min-width:220px!important;min-height:100%!important}

/* The quick-coin dock must never become a tall single-column strip on desktop. */
.v1977-coin-bet-dock{
  width:100%!important;
  max-width:none!important;
  margin:7px 0 10px!important;
  padding:8px 10px 10px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
.v1977-coin-dock-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 7px!important;
  min-height:26px!important;
}
.v1977-coin-dock-head>div{display:flex!important;align-items:baseline!important;gap:8px!important;min-width:0}
.v1977-coin-dock-head small{font-size:8px!important;line-height:1!important;white-space:nowrap!important}
.v1977-coin-dock-head b{font-size:11px!important;line-height:1!important;white-space:nowrap!important;margin:0!important}
#coinDockHint{flex:0 0 auto!important;white-space:nowrap!important}

.v1977-coin-grid{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  align-items:stretch!important;
}
.v1977-coin-pick{
  width:100%!important;
  min-width:0!important;
  min-height:54px!important;
  max-height:58px!important;
  padding:6px 7px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  box-sizing:border-box!important;
}
.v1977-coin-orbit{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
}
.v1977-coin-orbit img{width:27px!important;height:27px!important}
.v1977-coin-copy{min-width:0!important;overflow:hidden!important}
.v1977-coin-copy b{font-size:9px!important;overflow:hidden!important;text-overflow:ellipsis!important}
.v1977-coin-copy small{font-size:6.5px!important;overflow:hidden!important;text-overflow:ellipsis!important}

/* Balance/history follows immediately; remove the huge dead vertical area. */
.balance-history{
  display:grid!important;
  grid-template-columns:minmax(280px,.38fr) minmax(0,1.62fr)!important;
  gap:7px!important;
  margin-top:0!important;
  align-items:stretch!important;
}
.balance-history>div{min-height:0!important}
.bet-history-scroll{max-height:310px!important}

/* Odds cloud remains compact and directly below its tabs. */
.data-deck{margin-top:6px!important}
.odds-explorer{padding-top:3px!important}
#liveComboRows{align-content:start!important}

/* Responsive behavior: 4-wide only on medium screens, never 1-wide until mobile. */
@media(max-width:1380px){
  .ticket-builder{grid-template-columns:minmax(240px,1fr) minmax(330px,1.1fr) minmax(130px,.45fr) minmax(130px,.45fr) minmax(190px,.65fr)!important}
  .v1977-coin-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .ticket-builder{grid-template-columns:1fr 1fr!important}
  #placeUnifiedBet.place-bet{grid-column:1/-1;min-height:64px!important}
  .v1977-coin-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .balance-history{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .ticket-builder{grid-template-columns:1fr!important}
  .v1977-coin-dock-head{align-items:flex-start!important;flex-direction:column!important}
  .v1977-coin-dock-head>div{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}
  .v1977-coin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v1977-coin-pick{min-height:50px!important}
}

/* =========================================================
   v19.7.7 — UNIFIED QUICK COINS + LIVE ODDS CLOUD
   ========================================================= */

.v1977-unified-betting-cloud{
  width:100%!important;
  margin:7px 0 10px!important;
  padding:8px 10px 10px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(66,216,239,.34)!important;
  border-radius:12px!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(34,189,220,.10),transparent 34%),
    linear-gradient(180deg,rgba(3,20,28,.985),rgba(1,11,16,.995))!important;
  box-shadow:inset 0 0 28px rgba(28,136,161,.07),0 0 14px rgba(24,122,146,.05)!important;
  overflow:hidden!important;
}
.v1977-cloud-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:28px!important;
  margin:0 0 6px!important;
  padding:0 1px!important;
}
.v1977-cloud-head>div{display:flex!important;align-items:baseline!important;gap:8px!important;min-width:0}
.v1977-cloud-head small{font-size:8px!important;line-height:1!important;color:#66dff0!important;letter-spacing:.14em!important;white-space:nowrap!important}
.v1977-cloud-head b{font-size:11px!important;line-height:1!important;color:#eafcff!important;white-space:nowrap!important}
.v1977-cloud-head>span{font-size:7px!important;letter-spacing:.14em!important;color:#ffd34d!important;white-space:nowrap!important}

/* Coin dock is now part of the same cloud, not a separate block. */
.v1977-unified-betting-cloud .v1977-coin-bet-dock{
  margin:0!important;
  padding:0 0 7px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.v1977-unified-betting-cloud .v1977-coin-dock-head{
  margin:0 0 5px!important;
  min-height:20px!important;
}
.v1977-unified-betting-cloud .v1977-coin-dock-head small,
.v1977-unified-betting-cloud .v1977-coin-dock-head b{
  font-size:7px!important;
}
.v1977-unified-betting-cloud #coinDockHint{
  padding:3px 7px!important;
  font-size:7px!important;
}

/* Coins stay on one horizontal row on wide screens. */
.v1977-unified-betting-cloud .v1977-coin-grid{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:5px!important;
}
.v1977-unified-betting-cloud .v1977-coin-pick{
  min-height:48px!important;
  max-height:50px!important;
  padding:5px 6px!important;
}
.v1977-unified-betting-cloud .v1977-coin-orbit{
  flex-basis:30px!important;width:30px!important;height:30px!important;
}
.v1977-unified-betting-cloud .v1977-coin-orbit img{width:24px!important;height:24px!important}

/* Live odds sit immediately below coins in the same cloud. */
.v1977-unified-betting-cloud .odds-explorer{
  margin:0!important;
  padding:6px 0 0!important;
  border-top:1px solid rgba(78,211,233,.16)!important;
  background:transparent!important;
}
.v1977-unified-betting-cloud .explorer-tabs{
  margin:0 0 5px!important;
  gap:6px!important;
}
.v1977-unified-betting-cloud .explorer-tabs button{
  min-height:30px!important;
  padding:5px 12px!important;
  font-size:8px!important;
}
.v1977-unified-betting-cloud #liveComboRows{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
}
.v1977-unified-betting-cloud .v1977-combo-btn{
  min-height:38px!important;
  padding:4px 8px!important;
  border-radius:8px!important;
}
.v1977-unified-betting-cloud .v1977-coin-ring{
  width:22px!important;height:22px!important;flex-basis:22px!important;
}
.v1977-unified-betting-cloud .v1977-coin-ring img{width:17px!important;height:17px!important}
.v1977-unified-betting-cloud .v1977-mini-coin b{font-size:7px!important}
.v1977-unified-betting-cloud .v1977-combo-right strong{font-size:8px!important}

/* Balance/history immediately after the unified cloud. */
.balance-history{margin-top:0!important}

/* Old data deck now starts with analytics/history only. */
.data-deck{margin-top:6px!important}
.data-deck>summary{padding-top:3px!important;padding-bottom:3px!important}

/* Responsive: keep coins and pairs close without creating a vertical desert. */
@media(max-width:1380px){
  .v1977-unified-betting-cloud .v1977-coin-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .v1977-unified-betting-cloud #liveComboRows{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
  .v1977-cloud-head{align-items:flex-start!important;flex-direction:column!important;gap:3px!important}
  .v1977-cloud-head>div{align-items:flex-start!important;flex-direction:column!important;gap:2px!important}
  .v1977-unified-betting-cloud .v1977-coin-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v1977-unified-betting-cloud #liveComboRows{grid-template-columns:1fr!important}
}


/* =========================================================
   v19.7.7.1 HOTFIX — REAL DOM SELECTORS FOR HORIZONTAL COINS
   The coin component DOM still uses v1974-* class names.
   Force those exact elements into an 8-wide horizontal strip.
   ========================================================= */

#unifiedBetCloud .v1974-coin-bet-dock{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 7px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

#unifiedBetCloud .v1974-coin-dock-head{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  min-height:24px!important;
  margin:0 0 6px!important;
}

#unifiedBetCloud .v1974-coin-dock-head>div{
  display:flex!important;
  flex-direction:row!important;
  align-items:baseline!important;
  gap:8px!important;
  min-width:0!important;
}

#unifiedBetCloud .v1974-coin-dock-head small,
#unifiedBetCloud .v1974-coin-dock-head b{
  margin:0!important;
  line-height:1!important;
  white-space:nowrap!important;
}

#unifiedBetCloud #coinDockHint{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

#unifiedBetCloud #coinBetGrid.v1974-coin-grid{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(0,1fr)!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  align-items:stretch!important;
}

#unifiedBetCloud #coinBetGrid>.v1974-coin-pick{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:50px!important;
  max-height:54px!important;
  padding:6px 8px!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

#unifiedBetCloud .v1974-coin-orbit{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
}

#unifiedBetCloud .v1974-coin-orbit img{
  width:27px!important;
  height:27px!important;
}

#unifiedBetCloud .v1974-coin-copy{
  display:flex!important;
  flex:1 1 auto!important;
  min-width:0!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow:hidden!important;
}

#unifiedBetCloud .v1974-coin-copy b,
#unifiedBetCloud .v1974-coin-copy small{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Prevent generic button / grid rules from stretching coin buttons to full rows. */
#unifiedBetCloud .v1974-coin-pick{grid-column:auto!important;grid-row:auto!important}

/* Keep odds immediately below the horizontal coin row. */
#unifiedBetCloud .odds-explorer{
  clear:both!important;
  width:100%!important;
  margin:0!important;
  padding:6px 0 0!important;
}

/* Responsive behavior */
@media(max-width:1380px){
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
  }
}
@media(max-width:760px){
  #unifiedBetCloud .v1974-coin-dock-head{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  #unifiedBetCloud .v1974-coin-dock-head>div{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:2px!important;
  }
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* =========================================================
   v19.7.8 — FULL RESPONSIVE PASS
   desktop / laptop / tablet / mobile
   ========================================================= */

/* ---------- Global fluidity ---------- */
html,body{max-width:100%;overflow-x:hidden}
*{box-sizing:border-box}
img,video,canvas,svg{max-width:100%;height:auto}
.virtual-sports-page,.space-race-page,.page-shell,.app-shell,main{
  width:100%!important;
  max-width:100%!important;
}
.track-wrap,#trackWrap{min-width:0!important}
button,input,select{max-width:100%}

/* ---------- Wide desktop 1600+ ---------- */
@media(min-width:1600px){
  .virtual-sports-page,.space-race-page,.page-shell,.app-shell,main{
    max-width:1920px!important;
    margin-inline:auto!important;
  }
  .ticket-builder{
    grid-template-columns:minmax(320px,1.1fr) minmax(420px,1.25fr) minmax(160px,.45fr) minmax(160px,.45fr) minmax(240px,.72fr)!important;
  }
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
  }
  #unifiedBetCloud #liveComboRows{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* ---------- Standard desktop / laptop 1200–1599 ---------- */
@media(min-width:1200px) and (max-width:1599px){
  .ticket-builder{
    grid-template-columns:minmax(260px,1fr) minmax(360px,1.15fr) minmax(140px,.45fr) minmax(140px,.45fr) minmax(200px,.65fr)!important;
  }
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    grid-auto-flow:column!important;
  }
  #unifiedBetCloud #liveComboRows{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}

/* ---------- Tablet landscape / small laptop 900–1199 ---------- */
@media(min-width:900px) and (max-width:1199px){
  .ticket-builder{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #placeUnifiedBet.place-bet{
    grid-column:1/-1!important;
    min-height:70px!important;
  }
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
  }
  #unifiedBetCloud #liveComboRows{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .balance-history{
    grid-template-columns:1fr!important;
  }
  .analytics-grid{
    grid-template-columns:1fr 1fr!important;
  }
}

/* ---------- Tablet portrait 700–899 ---------- */
@media(min-width:700px) and (max-width:899px){
  .ticket-builder{
    grid-template-columns:1fr 1fr!important;
  }
  #placeUnifiedBet.place-bet{
    grid-column:1/-1!important;
    min-height:68px!important;
  }
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
  }
  #unifiedBetCloud #liveComboRows{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .balance-history,.analytics-grid{
    grid-template-columns:1fr!important;
  }
}

/* ---------- Mobile 0–699 ---------- */
@media(max-width:699px){
  body{font-size:14px}
  .ticket-builder{grid-template-columns:1fr!important}
  #placeUnifiedBet.place-bet{
    grid-column:auto!important;
    min-height:62px!important;
    width:100%!important;
  }
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
  }
  #unifiedBetCloud #liveComboRows{
    grid-template-columns:1fr!important;
  }
  .balance-history,.analytics-grid{
    grid-template-columns:1fr!important;
  }
  .market-tabs,.explorer-tabs{
    width:100%!important;
  }
  .market-tabs button,.explorer-tabs button{
    min-width:0!important;
    flex:1 1 0!important;
  }
}

/* ---------- Critical track + Race Monitor responsive fix ---------- */

/* Desktop: monitor floats right but stays within track bounds. */
@media(min-width:1200px){
  #trackWrap,.track-wrap{
    position:relative!important;
    overflow:hidden!important;
  }
  #preRaceTrackMap.pre-race-track-map{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    left:auto!important;
    width:min(34vw,520px)!important;
    max-width:42%!important;
    max-height:calc(100% - 24px)!important;
    z-index:12!important;
    overflow:auto!important;
  }
}

/* Tablet: monitor becomes a compact top-right card without covering half the track. */
@media(min-width:800px) and (max-width:1199px){
  #trackWrap,.track-wrap{
    position:relative!important;
    overflow:hidden!important;
  }
  #preRaceTrackMap.pre-race-track-map{
    position:absolute!important;
    top:10px!important;
    right:10px!important;
    left:auto!important;
    width:min(44vw,420px)!important;
    max-width:46%!important;
    max-height:58%!important;
    z-index:12!important;
    overflow:auto!important;
  }
  .race-monitor-description p{font-size:8px!important;line-height:1.35!important}
  .race-monitor-sectors{gap:3px!important}
  .race-monitor-sectors span{font-size:6px!important;padding:2px 5px!important}
}

/* Mobile: never overlay Race Monitor on the track. Put it in flow. */
@media(max-width:799px){
  #trackWrap,.track-wrap{
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }
  #preRaceTrackMap.pre-race-track-map{
    position:relative!important;
    order:2!important;
    inset:auto!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:8px 0 0!important;
    z-index:auto!important;
    overflow:visible!important;
  }
  #preRaceMapCanvas{
    width:100%!important;
    height:auto!important;
    max-height:220px!important;
  }
  .race-monitor-description{
    padding:8px 9px!important;
  }
  .race-monitor-description p{
    display:block!important;
    font-size:8px!important;
    line-height:1.35!important;
  }
}

/* ---------- Live 8-ship board ---------- */
.live-board-grid,.runner-grid,.ship-grid,#liveBoard,.live-board{
  min-width:0!important;
}
@media(min-width:1400px){
  .live-board-grid,.runner-grid,.ship-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
}
@media(min-width:900px) and (max-width:1399px){
  .live-board-grid,.runner-grid,.ship-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:899px){
  .live-board-grid,.runner-grid,.ship-grid{
    grid-template-columns:1fr!important;
  }
}

/* ---------- Camera controls ---------- */
.camera-controls,[data-camera-bar],.camera-bar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
}
.camera-controls button,[data-camera-bar] button,.camera-bar button{
  flex:0 1 auto!important;
  min-width:72px!important;
}
@media(max-width:699px){
  .camera-controls button,[data-camera-bar] button,.camera-bar button{
    min-width:calc(33.333% - 6px)!important;
    padding:8px 6px!important;
    font-size:11px!important;
  }
}

/* ---------- Current stage / profile ---------- */
.current-stage,.profile-card,.player-profile{
  min-width:0!important;
}
@media(max-width:699px){
  .current-stage,.profile-card,.player-profile{
    padding:14px!important;
  }
  .current-stage h2,.current-stage strong{
    font-size:clamp(20px,7vw,30px)!important;
  }
}

/* ---------- Prevent text overflow everywhere important ---------- */
.ticket-builder,.v1974-coin-copy,.v1978-combo-btn,.v1978-mini-coin,
.current-stage,.player-profile,.race-monitor-description{
  overflow-wrap:anywhere;
}

/* ---------- Safe viewport scaling for browser zoom / narrow panes ---------- */
@media(max-width:520px){
  #unifiedBetCloud{padding:7px!important}
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
  }
  #unifiedBetCloud #liveComboRows{grid-template-columns:1fr!important}
  .v1974-coin-pick{min-height:48px!important}
}


/* =========================================================
   v19.7.9 — RESPONSIVE TRANSMITTER / CENTERED 15s SPONSOR VIDEO
   ========================================================= */

/* Smaller, centered sponsor video stage */
#sponsorBoardPlayer.sponsor-transmitter-v1979{
  width:100%!important;
  max-width:980px!important;
  margin:10px auto 12px!important;
  padding:10px 12px 12px!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  border:1px solid rgba(74,220,245,.34)!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(39,176,204,.12),transparent 40%),
    linear-gradient(180deg,rgba(3,20,28,.98),rgba(1,11,16,.99))!important;
  box-shadow:0 0 22px rgba(27,152,180,.08),inset 0 0 24px rgba(33,146,171,.06)!important;
}
#sponsorBoardPlayer .sponsor-stage-head{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:8px!important;
}
#sponsorBoardPlayer .sponsor-stage-head>div:first-child{min-width:0}
#sponsorStageKicker{color:#65e5f6!important;font-size:8px!important;letter-spacing:.13em!important}
#sponsorShipName{display:block!important;font-size:12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

.sponsor-transmitter-status{
  display:flex!important;align-items:center!important;gap:6px!important;
  padding:4px 7px!important;border:1px solid rgba(82,225,255,.28)!important;
  border-radius:999px!important;background:rgba(5,31,40,.9)!important;
  white-space:nowrap!important
}
.sponsor-transmitter-status i{width:7px;height:7px;border-radius:50%;background:#49ffc0;box-shadow:0 0 8px #49ffc0}
.sponsor-transmitter-status span{font-size:7px;color:#bdeef5;letter-spacing:.1em}
.sponsor-transmitter-status strong{font-size:8px;color:#ffd34d}

.sponsor-transmitter-shell{
  position:relative!important;
  width:min(560px,100%)!important;
  margin:0 auto!important;
  padding:7px!important;
  border:1px solid rgba(83,221,244,.38)!important;
  border-radius:12px!important;
  background:#020a0f!important;
  box-shadow:0 0 22px rgba(50,209,236,.14),inset 0 0 18px rgba(15,87,104,.18)!important;
}
.sponsor-transmitter-topline{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:8px!important;padding:0 2px 6px!important
}
.sponsor-transmitter-topline span{font-size:7px;color:#74e9f8;letter-spacing:.14em}
.sponsor-transmitter-topline b{font-size:7px;color:#5affc3;letter-spacing:.1em}
#sponsorBoardVideo{
  display:block!important;
  width:100%!important;
  max-width:546px!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  max-height:308px!important;
  margin:0 auto!important;
  object-fit:contain!important;
  background:#000!important;
  border-radius:8px!important;
}
.sponsor-transmitter-meter{
  display:flex!important;justify-content:center!important;gap:4px!important;
  padding-top:6px!important
}
.sponsor-transmitter-meter i{
  width:34px;height:3px;border-radius:3px;background:#1e6375;
  box-shadow:0 0 6px rgba(63,220,245,.18)
}
.sponsor-transmitter-meter i:nth-child(-n+4){background:#49dff6}
.sponsor-transmitter-meter i:last-child{background:#ffd34d}

/* ---------- Responsive race monitor: stop overlay on laptop/tablet ---------- */
/* Full desktop only: overlay is allowed. */
@media(min-width:1280px){
  #preRaceTrackMap.pre-race-track-map{
    position:absolute!important;
    top:12px!important;
    right:12px!important;
    left:auto!important;
    width:min(31vw,500px)!important;
    max-width:38%!important;
    max-height:calc(100% - 24px)!important;
    z-index:12!important;
    overflow:auto!important;
  }
}

/* Laptop/tablet: monitor becomes in-flow so it cannot cover track or ships. */
@media(max-width:1279px){
  #trackWrap,.track-wrap{
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
  }
  #preRaceTrackMap.pre-race-track-map{
    position:relative!important;
    inset:auto!important;
    order:2!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:8px 0 0!important;
    overflow:visible!important;
    z-index:auto!important;
  }
  #preRaceMapCanvas{
    width:100%!important;
    height:auto!important;
    max-height:260px!important;
  }
}

/* Smaller sponsor transmitter on tablet */
@media(max-width:900px){
  #sponsorBoardPlayer.sponsor-transmitter-v1979{
    max-width:720px!important;
    padding:8px!important;
  }
  .sponsor-transmitter-shell{width:min(460px,100%)!important}
  #sponsorBoardVideo{max-width:446px!important;max-height:251px!important}
  #sponsorBoardPlayer .sponsor-stage-head{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .sponsor-transmitter-status{display:none!important}
}

/* Mobile */
@media(max-width:699px){
  #sponsorBoardPlayer.sponsor-transmitter-v1979{
    width:100%!important;
    max-width:none!important;
    margin:7px auto!important;
    padding:7px!important;
  }
  #sponsorBoardPlayer .sponsor-stage-head{
    grid-template-columns:1fr auto!important;
    gap:6px!important;
  }
  .sponsor-transmitter-shell{width:100%!important;padding:5px!important}
  #sponsorBoardVideo{
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
  }
  .sponsor-transmitter-topline span,.sponsor-transmitter-topline b{font-size:6px!important}
}

/* Narrow phone */
@media(max-width:480px){
  #sponsorBoardPlayer .sponsor-stage-head>div:first-child{max-width:70vw!important}
  #sponsorCloseBtn{padding:6px 8px!important;font-size:9px!important}
  .sponsor-transmitter-meter i{width:22px!important}
}

/* Live 8-ship board: reliable 2-col tablet / 1-col phone fallbacks. */
@media(max-width:1100px){
  .runner-list,.live-board-grid,.runner-grid,.ship-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .runner-list,.live-board-grid,.runner-grid,.ship-grid{
    grid-template-columns:1fr!important;
  }
}

/* Top status and circuit selector remain usable in narrow DevTools panes. */
@media(max-width:1050px){
  .race-topbar{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .circuit-select{grid-column:1/-1!important}
  .circuit-select>div{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
}

/* =========================================================
   v19.7.9.1 — LIVE 8-SHIP BOARD RESPONSIVE HOTFIX
   ========================================================= */

/* Board shell */
.runner-board{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.runner-board>header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:6px 12px!important;
}
.runner-list{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:10px!important;
  align-items:stretch!important;
}

/* Cards become self-contained and never force horizontal overflow. */
.runner-row.live-ship-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(92px,auto) auto auto auto!important;
  overflow:hidden!important;
}
.live-ship-head{
  display:grid!important;
  grid-template-columns:42px 46px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
.live-ship-head>b{
  min-width:0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.live-ship-art{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:88px!important;
  overflow:hidden!important;
}
.live-ship-art img{
  display:block!important;
  width:min(88%,190px)!important;
  height:96px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}
.live-ship-identity{
  min-width:0!important;
}
.live-ship-identity strong,
.live-ship-identity small{
  display:block!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.live-ship-metrics{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  min-width:0!important;
}
.live-ship-metrics>span{min-width:0!important}
.live-ship-footer{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:8px!important;
  min-width:0!important;
}
.live-ship-footer button[data-board-inspect]{
  min-width:0!important;
  width:auto!important;
  max-width:58%!important;
  padding-inline:10px!important;
}

/* 8 across only when the viewport is truly wide enough. */
@media(min-width:1800px){
  .runner-list{
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .runner-row.live-ship-card{
    padding:12px!important;
  }
  .live-ship-head{
    grid-template-columns:42px 46px minmax(0,1fr)!important;
  }
  .live-ship-art img{height:104px!important}
}

/* Large desktop / laptop: 4 across, two rows. */
@media(min-width:1200px) and (max-width:1799px){
  .runner-list{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .runner-row.live-ship-card{
    padding:10px!important;
  }
  .live-ship-art img{height:108px!important;width:min(78%,200px)!important}
}

/* Tablet landscape / small laptop: 2 across. */
@media(min-width:760px) and (max-width:1199px){
  .runner-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .runner-row.live-ship-card{
    padding:9px!important;
    grid-template-rows:auto minmax(100px,auto) auto auto auto!important;
  }
  .live-ship-art img{height:110px!important;width:min(72%,210px)!important}
  .live-ship-head{
    grid-template-columns:38px 42px minmax(0,1fr)!important;
  }
}

/* Mobile: single full-width card, compact vertical rhythm. */
@media(max-width:759px){
  .runner-board{
    padding-inline:8px!important;
  }
  .runner-list{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .runner-row.live-ship-card{
    padding:8px!important;
    grid-template-rows:auto 86px auto auto auto!important;
    border-radius:12px!important;
  }
  .live-ship-head{
    grid-template-columns:34px 38px minmax(0,1fr)!important;
    gap:6px!important;
  }
  .live-ship-head .ship-focus-btn{
    width:34px!important;height:34px!important;min-width:34px!important;
  }
  .live-ship-head .coin-logo,
  .live-ship-head .coin-token-img{
    width:36px!important;height:36px!important;min-width:36px!important;
  }
  .live-ship-art img{
    height:84px!important;
    width:min(66%,180px)!important;
  }
  .live-ship-identity strong{font-size:11px!important}
  .live-ship-identity small{font-size:7px!important}
  .live-ship-metrics b{font-size:10px!important}
  .live-ship-footer button[data-board-inspect]{
    max-width:none!important;
    padding:6px 10px!important;
  }
}

/* Very narrow phones */
@media(max-width:420px){
  .runner-board>header>span{
    width:100%!important;
    text-align:left!important;
  }
  .live-ship-metrics{
    grid-template-columns:1fr 1fr 1fr!important;
  }
  .live-ship-footer{
    align-items:center!important;
  }
  .live-ship-footer button[data-board-inspect]{
    font-size:6px!important;
  }
}

/* Landscape phones: horizontal scroll is preferable to crushed cards. */
@media(max-height:520px) and (orientation:landscape) and (max-width:1000px){
  .runner-list{
    display:flex!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    gap:8px!important;
    padding-bottom:6px!important;
  }
  .runner-row.live-ship-card{
    flex:0 0 min(300px,72vw)!important;
    scroll-snap-align:start!important;
  }
}

/* =========================================================
   v19.7.9.2 — 400px MOBILE RACE VIEWPORT RESPONSIVE HOTFIX
   ========================================================= */

/* Mobile race stage is a clean vertical stack:
   3D viewport -> HUD/cameras -> Race Monitor -> runner board -> rail. */
@media(max-width:699px){
  .arena-layout{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .arena-main{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:6px!important;
  }

  #trackWrap.race-viewport{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:12px!important;
  }

  /* 3D stage gets its own stable aspect ratio and cannot be split by later UI. */
  #dogRun3D.race-canvas{
    position:relative!important;
    display:block!important;
    order:1!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    aspect-ratio:16/10!important;
    min-height:240px!important;
    max-height:360px!important;
    overflow:hidden!important;
    border-radius:10px!important;
  }

  #dogRun3D canvas,
  #dogRun3D>canvas{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
  }

  /* Keep overlays inside the actual 3D stage only. */
  .broadcast-hud{
    position:absolute!important;
    top:6px!important;
    left:6px!important;
    right:auto!important;
    bottom:auto!important;
    z-index:18!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
    max-width:calc(100% - 12px)!important;
    font-size:8px!important;
  }
  .grid-announcer{
    position:absolute!important;
    top:16%!important;
    left:50%!important;
    right:auto!important;
    width:min(88%,340px)!important;
    transform:translateX(-50%)!important;
    padding:7px 8px!important;
    z-index:17!important;
  }
  .grid-announcer small{font-size:6px!important}
  .grid-announcer b{font-size:10px!important}
  .grid-announcer strong{font-size:18px!important}
  .grid-announcer span{display:none!important}

  /* Pilot profile becomes a compact bottom strip and no longer covers the monitor. */
  #v193PilotProfile.pilot-card{
    position:absolute!important;
    left:7px!important;
    right:7px!important;
    bottom:7px!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    z-index:16!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    padding:5px 7px!important;
  }
  #v193PilotProfile>small{display:none!important}
  #v193PilotProfile img{width:34px!important;height:28px!important}
  #v193PilotProfile div{min-width:0!important}
  #v193PilotProfile b{font-size:10px!important}

  /* Camera controls are normal-flow beneath the stage, 3 per row. */
  #cameraBar.camera-bar{
    position:relative!important;
    inset:auto!important;
    order:2!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    width:100%!important;
    margin:6px 0 0!important;
    padding:0!important;
    overflow:visible!important;
    white-space:normal!important;
    z-index:auto!important;
  }
  #cameraBar.camera-bar button{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:34px!important;
    padding:6px 4px!important;
    font-size:9px!important;
  }

  /* Race Monitor is a standalone card after cameras, never an overlay. */
  #preRaceTrackMap.pre-race-track-map{
    position:relative!important;
    order:3!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:7px 0 0!important;
    overflow:hidden!important;
    z-index:auto!important;
    border-radius:10px!important;
  }
  #preRaceTrackMap header{
    padding:7px 8px!important;
  }
  #preRaceTrackMap header span,
  #preRaceTrackMap header b{
    font-size:8px!important;
  }
  #preRaceMapCanvas{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:180px!important;
    object-fit:contain!important;
  }
  .race-monitor-description{
    padding:7px 8px!important;
  }
  .race-monitor-description>b{font-size:10px!important}
  .race-monitor-description p{
    display:block!important;
    margin:4px 0 6px!important;
    font-size:7px!important;
    line-height:1.35!important;
  }
  .race-monitor-sectors{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px!important;
  }
  .race-monitor-sectors span{
    font-size:6px!important;
    padding:2px 5px!important;
  }
  #preRaceTrackMap footer{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:4px 8px!important;
    padding:6px 8px!important;
    font-size:6px!important;
  }

  /* Track caption is redundant on narrow phones. */
  .track-caption{display:none!important}

  /* Rail is visible after the race area, not mixed into the viewport. */
  .race-rail{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    width:100%!important;
    margin-top:7px!important;
  }
  .race-rail>section{
    display:block!important;
    min-width:0!important;
    padding:10px!important;
  }
  .race-rail>section:nth-child(n+4){
    display:none!important;
  }
}

/* Extra narrow 360–430 px */
@media(max-width:430px){
  #dogRun3D.race-canvas{
    aspect-ratio:4/5!important;
    min-height:300px!important;
    max-height:420px!important;
  }
  #cameraBar.camera-bar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  #preRaceMapCanvas{max-height:160px!important}
  .race-monitor-sectors span:nth-child(n+5){display:none!important}
  .runner-board{margin-top:7px!important}
}

/* Tiny phones: camera buttons 2 per row. */
@media(max-width:350px){
  #cameraBar.camera-bar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* =========================================================
   v19.7.9.3 — SMALL-SCREEN RECOMPOSITION
   Purpose: a different mobile layout, not a squeezed desktop.
   ========================================================= */

.mobile-race-summary{display:none}

/* 0–699px: dedicated mobile composition */
@media(max-width:699px){

  /* Page rhythm */
  .vs-app{padding:0!important}
  .vs-header{padding:6px 8px!important}
  .race-topbar{padding:6px 8px!important}
  .arena-layout{padding:0!important;margin:0!important}
  .arena-main{padding:0 6px 6px!important}
  .betting-panel{padding:8px!important}
  .data-deck{margin-inline:6px!important}

  /* Compact summary replaces tall desktop metadata on small screens */
  .mobile-race-summary{
    display:grid!important;
    grid-template-columns:1.2fr 1fr .8fr!important;
    gap:5px!important;
    margin:6px!important;
    padding:6px!important;
    border:1px solid #174b5e!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,#061923,#031018)!important;
  }
  .mobile-race-summary>div{
    min-width:0!important;
    padding:5px 6px!important;
    border-right:1px solid rgba(91,225,255,.12)!important;
  }
  .mobile-race-summary>div:last-child{border-right:0!important}
  .mobile-race-summary small{
    display:block!important;
    color:#6f9eac!important;
    font-size:6px!important;
    letter-spacing:.1em!important;
  }
  .mobile-race-summary b{
    display:block!important;
    margin-top:2px!important;
    color:#f2fbfd!important;
    font-size:9px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Hide bulky desktop race rail completely on phone;
     the compact summary above replaces it. */
  .race-rail{display:none!important}

  /* Race stage = clean 4:3 viewport */
  #trackWrap.race-viewport{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    border-radius:10px!important;
    background:#020b10!important;
  }
  #dogRun3D.race-canvas{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }

  /* Mobile HUD = tiny top strip */
  #broadcastHud.broadcast-hud{
    position:absolute!important;
    left:6px!important;right:6px!important;top:6px!important;bottom:auto!important;
    display:flex!important;
    gap:4px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    max-width:none!important;
    padding:0!important;
    z-index:20!important;
  }
  #broadcastHud span{
    flex:0 0 auto!important;
    min-width:0!important;
    padding:3px 5px!important;
    font-size:6px!important;
    border-radius:6px!important;
  }
  #broadcastHud span:nth-child(n+5){display:none!important}

  /* Start announcer is compact and centered */
  #startGridCinematic.grid-announcer{
    position:absolute!important;
    left:50%!important;
    top:20%!important;
    width:78%!important;
    transform:translateX(-50%)!important;
    padding:6px 8px!important;
    border-radius:10px!important;
  }
  #startGridCinematic small{font-size:5px!important}
  #startGridCinematic b{font-size:9px!important}
  #startGridCinematic strong{font-size:16px!important;line-height:1!important}
  #startGridCinematic span{display:none!important}

  /* Pilot = slim bottom badge, not a card */
  #v193PilotProfile.pilot-card{
    position:absolute!important;
    left:6px!important;right:6px!important;bottom:6px!important;top:auto!important;
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
    width:auto!important;
    padding:4px 6px!important;
    border-radius:8px!important;
    background:rgba(2,14,20,.88)!important;
    backdrop-filter:blur(4px)!important;
  }
  #v193PilotProfile>small{display:none!important}
  #v193PilotProfile img{width:26px!important;height:22px!important}
  #v193PilotProfile div{
    display:grid!important;
    grid-template-columns:auto auto auto!important;
    align-items:center!important;
    gap:5px!important;
    min-width:0!important;
  }
  #v193PilotProfile b{font-size:8px!important}
  #v193PilotProfile strong{font-size:7px!important}
  #v193PilotProfile span,#v193PilotProfile em{font-size:5px!important}
  #v193PilotProfile i{display:none!important}

  /* Camera control = compact horizontal scroller, one line */
  #cameraBar.camera-bar{
    position:relative!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    width:100%!important;
    margin:6px 0 0!important;
    padding:0 0 4px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:thin!important;
  }
  #cameraBar.camera-bar button{
    flex:0 0 78px!important;
    width:78px!important;
    min-width:78px!important;
    min-height:30px!important;
    padding:5px 6px!important;
    font-size:7px!important;
    scroll-snap-align:start!important;
  }

  /* Race Monitor = compact map-only panel.
     Description sectors are hidden on phone to save vertical space. */
  #preRaceTrackMap.pre-race-track-map{
    position:relative!important;
    width:100%!important;
    margin:6px 0 0!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }
  #preRaceTrackMap header{
    padding:6px 7px!important;
  }
  #preRaceTrackMap header span{font-size:6px!important}
  #preRaceTrackMap header b{font-size:8px!important}
  #preRaceMapCanvas{
    width:100%!important;
    max-height:130px!important;
    object-fit:contain!important;
  }
  #preRaceTrackMap .race-monitor-description{
    display:none!important;
  }
  #preRaceTrackMap footer{
    padding:5px 7px!important;
    font-size:5px!important;
  }

  /* Live board = horizontal compact carousel instead of giant vertical cards */
  .runner-board{
    margin-top:7px!important;
    padding:7px!important;
    border-radius:10px!important;
    overflow:hidden!important;
  }
  .runner-board>header{
    margin-bottom:5px!important;
  }
  .runner-board>header b{font-size:9px!important}
  .runner-board>header small,.runner-board>header>span{font-size:5px!important}
  #runnerList.runner-list{
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:5px!important;
  }
  #runnerList .runner-row.live-ship-card{
    flex:0 0 78vw!important;
    max-width:310px!important;
    min-width:250px!important;
    scroll-snap-align:center!important;
    padding:7px!important;
    grid-template-rows:auto 72px auto auto auto!important;
    border-radius:10px!important;
  }
  #runnerList .live-ship-head{
    grid-template-columns:30px 34px minmax(0,1fr)!important;
    gap:5px!important;
  }
  #runnerList .live-ship-head .ship-focus-btn{
    width:30px!important;height:30px!important;min-width:30px!important;
  }
  #runnerList .live-ship-head .coin-logo,
  #runnerList .live-ship-head .coin-token-img{
    width:32px!important;height:32px!important;min-width:32px!important;
  }
  #runnerList .live-ship-art{min-height:68px!important}
  #runnerList .live-ship-art img{
    width:min(70%,150px)!important;
    height:70px!important;
  }
  #runnerList .live-ship-identity strong{font-size:9px!important}
  #runnerList .live-ship-identity small{font-size:6px!important}
  #runnerList .live-ship-metrics b{font-size:8px!important}
  #runnerList .live-ship-footer button{font-size:6px!important;padding:5px 7px!important}

  /* Betting: simple mobile stack */
  .ticket-builder{grid-template-columns:1fr!important}
  .balance-history{grid-template-columns:1fr!important}
  #unifiedBetCloud #coinBetGrid.v1974-coin-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #unifiedBetCloud #liveComboRows{grid-template-columns:1fr!important}

  /* Analytics: one card per row */
  .analytics-grid{grid-template-columns:1fr!important}
}

/* Tiny phones */
@media(max-width:380px){
  .mobile-race-summary{
    grid-template-columns:1fr 1fr!important;
  }
  .mobile-race-summary>div:last-child{
    grid-column:1/-1!important;
    border-top:1px solid rgba(91,225,255,.12)!important;
    border-right:0!important;
  }
  #dogRun3D.race-canvas{aspect-ratio:1/1!important}
  #runnerList .runner-row.live-ship-card{
    flex-basis:86vw!important;
    min-width:230px!important;
  }
}

/* =========================================================
   v19.7.9.4 — UNIVERSAL COMPACT LIVE 8-SHIP BOARD
   Same interaction/layout language at every resolution.
   ========================================================= */

.runner-board{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  padding:8px!important;
  border-radius:12px!important;
}

.runner-board>header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-wrap:wrap!important;
  gap:5px 10px!important;
  margin-bottom:6px!important;
}

.runner-board>header b{font-size:10px!important}
.runner-board>header small,
.runner-board>header>span{font-size:6px!important}

/* Always use the compact small-screen carousel model. */
#runnerList.runner-list{
  display:flex!important;
  grid-template-columns:none!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  gap:8px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  scroll-padding-inline:8px!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch!important;
  padding:2px 2px 7px!important;
  scrollbar-width:thin!important;
}

/* Universal compact cards */
#runnerList .runner-row.live-ship-card{
  flex:0 0 clamp(250px,22vw,320px)!important;
  width:auto!important;
  min-width:250px!important;
  max-width:320px!important;
  height:auto!important;
  min-height:0!important;
  padding:8px!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 76px auto auto auto!important;
  scroll-snap-align:start!important;
  overflow:hidden!important;
  border-radius:11px!important;
}

#runnerList .live-ship-head{
  display:grid!important;
  grid-template-columns:30px 34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:6px!important;
  min-width:0!important;
}

#runnerList .live-ship-head .ship-focus-btn{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  font-size:9px!important;
}

#runnerList .live-ship-head .coin-logo,
#runnerList .live-ship-head .coin-token-img{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
}

#runnerList .live-ship-head>b{
  min-width:0!important;
  font-size:10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#runnerList .live-ship-art{
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-height:72px!important;
  overflow:hidden!important;
}

#runnerList .live-ship-art img{
  display:block!important;
  width:min(72%,160px)!important;
  height:74px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:auto!important;
}

#runnerList .live-ship-identity{
  min-width:0!important;
}

#runnerList .live-ship-identity strong{
  display:block!important;
  font-size:9px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#runnerList .live-ship-identity small{
  display:block!important;
  font-size:6px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#runnerList .live-ship-metrics{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  min-width:0!important;
  padding:5px 0!important;
}

#runnerList .live-ship-metrics i{font-size:5px!important}
#runnerList .live-ship-metrics b{font-size:8px!important}
#runnerList .live-ship-metrics small{font-size:5px!important}

#runnerList .live-ship-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:6px!important;
  min-width:0!important;
}

#runnerList .live-ship-footer>span b{font-size:8px!important}
#runnerList .live-ship-footer button[data-board-inspect]{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  padding:5px 8px!important;
  font-size:6px!important;
}

/* Desktop: a little more visible per screen, still same carousel. */
@media(min-width:1600px){
  #runnerList .runner-row.live-ship-card{
    flex-basis:280px!important;
  }
}

/* Laptop / tablet */
@media(min-width:700px) and (max-width:1599px){
  #runnerList .runner-row.live-ship-card{
    flex-basis:270px!important;
  }
}

/* Phone: same design, slightly wider card for readability. */
@media(max-width:699px){
  #runnerList .runner-row.live-ship-card{
    flex:0 0 78vw!important;
    min-width:245px!important;
    max-width:310px!important;
  }
}

/* Very narrow phone */
@media(max-width:380px){
  #runnerList .runner-row.live-ship-card{
    flex-basis:86vw!important;
    min-width:225px!important;
  }
}

/* Remove older grid/height constraints from previous responsive generations. */
#runnerList.runner-list{
  max-height:none!important;
}
.runner-board{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  max-height:none!important;
}

/* =========================================================
   v19.7.10 — RESULT AUTO-DISMISS + T-3 WARP IGNITION
   ========================================================= */

/* The last three seconds are a visible progressive warp charge. */
#trackWrap.warp-precharge-3{
  box-shadow:0 0 0 1px rgba(80,215,255,.38),0 0 26px rgba(42,170,255,.16)!important;
}
#trackWrap.warp-precharge-2{
  box-shadow:0 0 0 1px rgba(96,229,255,.58),0 0 36px rgba(42,195,255,.25)!important;
}
#trackWrap.warp-precharge-1{
  box-shadow:0 0 0 2px rgba(130,247,255,.78),0 0 52px rgba(58,220,255,.34)!important;
}
#trackWrap.warp-precharge-3 .cg-ship .warp-exhaust{filter:brightness(1.18)!important}
#trackWrap.warp-precharge-2 .cg-ship .warp-exhaust{filter:brightness(1.42)!important}
#trackWrap.warp-precharge-1 .cg-ship .warp-exhaust{filter:brightness(1.72)!important}
#trackWrap.warp-precharge-1 .grid-announcer{
  border-color:#73f7ff!important;
  box-shadow:0 0 36px rgba(78,231,255,.32)!important;
}

/* Official result is presentation-only and fades cleanly before auto-dismiss. */
#spacePodium:not([hidden]){animation:v19710PodiumIn .32s ease-out both}
#winnerBanner.official:not([hidden]){animation:v19710WinnerIn .24s ease-out both}
@keyframes v19710PodiumIn{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes v19710WinnerIn{from{opacity:0}to{opacity:1}}

@media(prefers-reduced-motion:reduce){
  #spacePodium:not([hidden]),#winnerBanner.official:not([hidden]){animation:none!important}
}

/* =========================================================
   v19.7.10.1 — MOBILE RACE-FIRST HOTFIX
   On phones the aerial circuit map is removed so the live
   3D race remains the primary visual.
   ========================================================= */

@media(max-width:699px){

  /* Hide the map card completely on phones. */
  #preRaceTrackMap.pre-race-track-map{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }

  /* The real race canvas becomes the dominant mobile panel. */
  #trackWrap.race-viewport{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
  }

  #dogRun3D.race-canvas{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    min-height:280px!important;
    max-height:none!important;
    overflow:hidden!important;
    border-radius:10px!important;
  }

  #dogRun3D canvas,
  #dogRun3D>canvas{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
  }

  /* Compact one-line camera strip directly under the race. */
  #cameraBar.camera-bar{
    position:relative!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:5px!important;
    width:100%!important;
    margin:6px 0 0!important;
    padding:0 0 4px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    scroll-snap-type:x proximity!important;
  }
  #cameraBar.camera-bar button{
    flex:0 0 74px!important;
    width:74px!important;
    min-width:74px!important;
    min-height:30px!important;
    padding:5px 6px!important;
    font-size:7px!important;
    scroll-snap-align:start!important;
  }

  /* Make sure the start overlay and pilot badge don't consume the full view. */
  #startGridCinematic.grid-announcer{
    top:15%!important;
    width:76%!important;
    padding:6px 8px!important;
  }
  #startGridCinematic strong{font-size:16px!important}

  #v193PilotProfile.pilot-card{
    left:6px!important;
    right:6px!important;
    bottom:6px!important;
    top:auto!important;
    width:auto!important;
    padding:4px 6px!important;
    grid-template-columns:26px minmax(0,1fr) auto!important;
  }

  /* Runner board follows immediately after the camera strip. */
  .runner-board{
    margin-top:7px!important;
  }
}

/* 400px-class phones get a taller race image for better ship visibility. */
@media(max-width:430px){
  #dogRun3D.race-canvas{
    aspect-ratio:4/5!important;
    min-height:360px!important;
  }
}

/* Very narrow phones */
@media(max-width:360px){
  #dogRun3D.race-canvas{
    aspect-ratio:1/1!important;
    min-height:320px!important;
  }
}

/* v19.7.10.2 — six-second multilingual ship speaker */
.runner-row.tex-focus{
  box-shadow:0 0 0 1px color-mix(in srgb,var(--coin) 72%,#fff 10%),0 0 24px color-mix(in srgb,var(--coin) 34%,transparent)!important;
}
#botMode{white-space:normal!important}

/* v19.7.10.3 — one-shot five-second multilingual sponsor carousel */
.runner-row.tex-focus{transform:translateY(-1px)}

/* v19.7.10.4 — TTS diagnostics can contain long system voice names */
#botMode{overflow-wrap:anywhere!important}

/* v19.7.10.5 multilingual race commentary */
#commentary,#botMode{unicode-bidi:plaintext}

/* =========================================================
   v19.7.10.6 — START GRID DISMISS + LIVE COMMENT CLOUD
   ========================================================= */

/* Start grid is pre-start only. JS also toggles hidden immediately at LIVE. */
#startGridCinematic[hidden]{
  display:none!important;
}
#startGridCinematic.is-active{
  display:block!important;
}

/* Compact live commentary cloud in upper-left of the race viewport. */
#raceCommentCloud.race-comment-cloud{
  position:absolute;
  top:70px;
  left:14px;
  z-index:19;
  width:min(360px,31vw);
  min-width:240px;
  max-width:420px;
  padding:10px 12px;
  border:1px solid rgba(73,222,246,.46);
  border-radius:12px;
  background:
    radial-gradient(circle at 0 0,rgba(45,190,220,.15),transparent 40%),
    linear-gradient(180deg,rgba(2,17,24,.94),rgba(1,10,15,.95));
  box-shadow:0 0 22px rgba(39,184,215,.11),inset 0 0 18px rgba(40,174,201,.07);
  backdrop-filter:blur(8px);
  pointer-events:none;
}
#raceCommentCloud[hidden]{display:none!important}
#raceCommentCloud small{
  display:block;
  margin-bottom:3px;
  color:#65e7f8;
  font-size:7px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
#raceCommentCloud b{
  display:block;
  color:#eafcff;
  font-size:10px;
  letter-spacing:.06em;
  margin-bottom:4px;
}
#raceCommentCloud p{
  margin:0;
  color:#b8dce4;
  font-size:9px;
  line-height:1.38;
}
#raceCommentCloud.is-live{
  border-color:rgba(77,232,255,.62);
  box-shadow:0 0 26px rgba(38,213,242,.16),inset 0 0 18px rgba(48,196,220,.09);
}
#raceCommentCloud.is-finished{
  border-color:rgba(255,211,77,.56);
}
#raceCommentCloud.is-finished small{color:#ffd34d}

/* Tablet: keep it readable but smaller. */
@media(max-width:1279px) and (min-width:700px){
  #raceCommentCloud.race-comment-cloud{
    top:60px;
    left:10px;
    width:min(320px,42vw);
    min-width:220px;
  }
}

/* Mobile: compact bubble below the HUD, no overlap with pilot badge. */
@media(max-width:699px){
  #raceCommentCloud.race-comment-cloud{
    top:40px!important;
    left:6px!important;
    right:6px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    padding:6px 8px!important;
    border-radius:9px!important;
  }
  #raceCommentCloud small{font-size:5px!important}
  #raceCommentCloud b{font-size:7px!important;margin-bottom:2px!important}
  #raceCommentCloud p{
    font-size:6px!important;
    line-height:1.28!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
}

/* v19.7.10.7 — browser-authoritative TeX BOT language label */
#botMode{max-width:100%;overflow-wrap:anywhere}

/* v19.7.10.8 — keep visible TeX BOT labels language-neutral */
#botMode{letter-spacing:.04em}


/* ==========================================================
   Space Race v2 visual tuning — measured from 130.30 s capture
   Keeps the existing 1024x1024 canonical fleet art and hybrid renderer.
   ========================================================== */
.cg-fleet-layer{overflow:hidden}
.cg-ship{
  width:clamp(126px,17vw,360px);
  filter:
    saturate(1.34)
    contrast(1.12)
    brightness(1.10)
    drop-shadow(0 13px 20px #000e)
    drop-shadow(0 0 calc(11px + 18px*var(--warp)) rgb(var(--accent)/.62));
}
.cg-ship img{
  image-rendering:auto;
  filter:saturate(1.24) contrast(1.08) brightness(1.09);
}
.live-phase .cg-ship.is-warping{
  filter:
    saturate(1.40)
    contrast(1.12)
    brightness(1.14)
    drop-shadow(0 13px 21px #000e)
    drop-shadow(0 0 24px rgb(var(--accent)/.74));
}
.cg-ship .warp-exhaust.outer{
  width:calc(36% + 126%*var(--warp));
  height:20%;
  opacity:calc(.27 + var(--warp)*.53);
  filter:blur(6px) saturate(1.38) brightness(1.24);
}
.cg-ship .warp-exhaust.inner{
  width:calc(24% + 80%*var(--warp));
  height:10%;
  filter:blur(1.8px) brightness(1.38);
}
.cg-ship .warp-exhaust.core{
  width:calc(13% + 44%*var(--warp));
  height:3.5%;
  box-shadow:0 0 13px #dfffff,0 0 25px rgb(var(--accent)/.72);
}
.cg-ship .hover-shadow{
  transform:translate(-50%,-50%) scaleX(1.06);
  opacity:clamp(.22,calc(.70 - var(--hover-clearance)*.018),.64);
}
@media(max-width:700px){
  .cg-ship{width:clamp(112px,29vw,230px)}
  .cg-ship .warp-exhaust.outer{filter:blur(4px) saturate(1.3) brightness(1.18)}
}

/* =========================================================
   BSC SPACE RACE v4.3 — single live timing cloud + podium
   ========================================================= */
#broadcastHud,#raceCommentCloud,#v429FinishAtmos{display:none!important}
.v43-live-cloud{position:absolute;z-index:96;left:50%;top:14px;transform:translateX(-50%);display:grid;grid-template-columns:auto auto minmax(160px,1fr);align-items:center;gap:10px;width:min(620px,calc(100% - 190px));padding:8px 12px;border:1px solid #22cce8;border-radius:14px;background:linear-gradient(180deg,rgba(3,20,31,.95),rgba(1,10,17,.92));box-shadow:0 10px 32px #0009,0 0 20px #12cfee25;pointer-events:none;backdrop-filter:blur(8px)}
.v43-live-dot{width:12px;height:12px;border-radius:50%;background:#31515c;box-shadow:inset 0 0 0 2px #09202a}.v43-live-cloud>div{display:grid;gap:2px}.v43-live-cloud small{font:900 11px/1 system-ui;letter-spacing:.14em;color:#7fefff}.v43-live-cloud b{font:1000 19px/1.05 ui-monospace,monospace;color:#fff}.v43-live-meta{border-left:1px solid #1d5b6c;padding-left:10px;min-width:0}.v43-live-meta strong{font:900 11px/1 system-ui;color:#e8fbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v43-live-meta span{font:700 9px/1.2 system-ui;color:#9ebcc7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v43-live-cloud[data-state="live"] .v43-live-dot{background:#ff3451;box-shadow:0 0 13px #ff3451;animation:v43Pulse 1.25s ease-in-out infinite}.v43-live-cloud[data-state="grid"] .v43-live-dot{background:#36d9ff;box-shadow:0 0 11px #36d9ff}.v43-live-cloud[data-state="final"]{border-color:#ffd64a;box-shadow:0 0 26px #ffc92844}.v43-live-cloud[data-state="final"] .v43-live-dot,.v43-live-cloud[data-state="podium"] .v43-live-dot{background:#ffd64a;box-shadow:0 0 14px #ffd64a}.v43-live-cloud[data-state="finish"]{border-color:#fff;box-shadow:0 0 30px #dffaff66}.v43-live-cloud[data-state="podium"]{border-color:#d9ad28;background:linear-gradient(180deg,rgba(35,25,3,.96),rgba(12,8,1,.94))}.v43-live-cloud[data-state="ended"]{opacity:.72}@keyframes v43Pulse{50%{transform:scale(1.24);filter:brightness(1.35)}}
.space-podium.v43-visible{display:grid!important;visibility:visible!important;opacity:1!important;z-index:140!important;background:radial-gradient(circle at 50% 40%,rgba(22,42,55,.80),rgba(0,4,8,.94))!important}.space-podium.v43-visible .podium-grid{width:min(900px,96%);align-items:end}.space-podium.v43-visible .podium-card{min-height:210px;box-shadow:0 16px 35px #000a}.space-podium.v43-visible .podium-card.first{min-height:270px;transform:translateY(-24px);border-color:#ffd43d;box-shadow:0 0 34px #ffd43d38}.space-podium.v43-visible .podium-card.second{border-color:#c8d5dc}.space-podium.v43-visible .podium-card.third{border-color:#c37a3d}.space-podium.v43-visible .podium-card img{height:clamp(100px,14vw,190px);max-width:95%;object-fit:contain}.space-podium.v43-visible .podium-title{font-size:clamp(28px,5vw,62px);text-shadow:0 0 24px #ffd64a55}
#v43Debug{position:absolute;right:10px;bottom:52px;z-index:150;width:min(320px,80vw);border:1px solid #1d8ca4;border-radius:8px;background:#020c12e8;color:#9ff5ff;font:11px/1.35 ui-monospace,monospace;padding:6px}#v43Debug summary{cursor:pointer;font-weight:900}#v43Debug pre{white-space:pre-wrap;margin:6px 0 0}
@media(max-width:760px){.v43-live-cloud{top:8px;width:calc(100% - 18px);grid-template-columns:auto auto 1fr;padding:6px 8px}.v43-live-cloud b{font-size:15px}.v43-live-meta span{font-size:8px}.space-podium.v43-visible .podium-card{min-height:150px;padding:6px}.space-podium.v43-visible .podium-card.first{min-height:190px}.space-podium.v43-visible .podium-card img{height:90px}}


/* v4.3.1 track-plane GRID neon: independent ground-plane presentation, never inherits ship sprite rotation/bank. */
.v431-track-neon{position:absolute;left:50%;top:50%;width:var(--neon-w,64px);height:var(--neon-h,14px);transform:translate(-50%,-50%) translate3d(var(--neon-x,0),var(--neon-y,0),0) rotate(var(--neon-heading,0deg));transform-origin:50% 50%;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(ellipse at center,rgb(var(--accent)/.48) 0 18%,rgb(var(--accent)/.24) 38%,rgb(var(--accent)/.08) 58%,transparent 74%);box-shadow:0 0 8px rgb(var(--accent)/.45),0 0 18px rgb(var(--accent)/.28);filter:blur(.4px);opacity:.92}.live-phase .v431-track-neon{opacity:0;transition:opacity .45s ease}.cg-ship.is-grid-hover .anti-grav-shadow{opacity:.12}.cg-ship.is-grid-hover .anti-grav-shadow::after{opacity:.18}
#v43Debug{position:absolute;right:10px;top:54px;z-index:96;max-width:min(360px,88vw);background:#001018e8;color:#8df8ff;border:1px solid #1d8fa4;border-radius:8px;padding:6px 9px;font:11px/1.35 ui-monospace,monospace}#v43Debug:not([open]){background:#001018c8}#v43Debug pre{max-height:42vh;overflow:auto;white-space:pre-wrap;margin:7px 0 0}

/* v4.3.2 — GRID spacecraft presentation: dorsal/oblique hull view, track-plane hover. */
.cg-ship[data-phase="WAITING"] img,.cg-ship[data-phase="COUNTDOWN"] img{object-fit:contain}
.cg-ship[data-phase="WAITING"],.cg-ship[data-phase="COUNTDOWN"]{transform-origin:50% 58%}


/* v4.3.2.2 — GRID hull track-plane projection. Presentation-only.
   Physical bank/pitch/yaw remain zero on GRID; this extra rotateX is camera-plane
   foreshortening so flat canonical PNG art visually lies on the 3D road. */
.cg-ship{--grid-hull-tilt:0deg;--grid-hull-depth:1;}
.cg-ship.is-grid-hover{
  transform:translate(-50%,-50%) translate3d(var(--ship-x),var(--ship-y),var(--ship-z,0px)) perspective(920px)
    rotate(var(--ship-heading))
    rotateX(var(--grid-hull-tilt))
    scaleY(var(--grid-hull-depth))
    scale(var(--ship-scale));
}
.cg-ship.is-grid-hover img{transform:translateZ(5px);}
/* Ground glow remains a road-surface effect, independent of hull foreshortening. */
.v431-track-neon{transform:translate(-50%,-50%) translate3d(var(--neon-x,0),var(--neon-y,0),0) rotate(var(--neon-heading,0deg)) scaleY(.48);}

/* v4.4 PRO CG presence: fuller hulls without cartoon stretching. */
#trackWrap .cg-ship{filter:saturate(1.30) contrast(1.10) brightness(1.08) drop-shadow(0 14px 22px #000e) drop-shadow(0 0 calc(11px + 18px*var(--warp)) rgb(var(--accent)/.68));}
#trackWrap.grid-phase .cg-ship{width:clamp(132px,17.2vw,324px);}
#trackWrap.grid-phase .cg-ship img{filter:saturate(1.24) contrast(1.08) brightness(1.10) drop-shadow(0 5px 7px rgba(0,0,0,.46));}
#trackWrap.grid-phase .cg-ship::before{opacity:.68;filter:blur(.3px);}
#trackWrap.grid-phase .v431-track-neon{opacity:.78;filter:blur(.7px);}
@media(max-width:800px){#trackWrap.grid-phase .cg-ship{width:clamp(116px,30vw,238px)}}
