:root{font-family:Arial,Helvetica,sans-serif;color:#f5f2ec;background:#111310;color-scheme:dark;--lime:#d4ff60;--muted:#a3aa98;--line:#34392e;--orange:#ffae70}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0,#2c3520 0,transparent 48%),#111310;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#23271e;padding:12px 18px;border-radius:8px;font-weight:700}button:hover:not(:disabled){border-color:var(--lime);transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:4px}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;padding:24px 4vw;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:32px;font-weight:1000;font-style:italic;letter-spacing:-2px}.brand span{display:block;font-size:9px;letter-spacing:4px;font-style:normal;margin-top:4px;color:var(--lime)}.header-right{display:flex;align-items:center;gap:20px}.tag,.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800}.tag{border:1px solid #62723e;border-radius:99px;padding:8px 12px;color:var(--lime)}.quiet{background:transparent;border:0;font-size:12px}.lobby{max-width:1320px;min-height:calc(100vh - 105px);margin:auto;padding:60px 30px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.eyebrow{color:var(--lime)}h1{font-size:clamp(38px,4.5vw,68px);line-height:.98;letter-spacing:-3px;margin:23px 0}em{font-style:normal;color:var(--lime)}.intro p{color:var(--muted);max-width:450px;line-height:1.7;font-size:15px}h2{font-size:24px;letter-spacing:-.8px}.lobby-cards{height:310px;position:relative;margin:28px 0 0 55px}.lobby-cards img{width:190px;border-radius:12px;box-shadow:0 20px 40px #0008;transform:rotate(-12deg)}.lobby-cards img+img{position:absolute;left:150px;top:20px;transform:rotate(11deg)}.entry{align-self:center;background:#1c2018;border:1px solid #3c4431;border-radius:20px;padding:32px;box-shadow:0 20px 80px #0004}label{display:block;color:#c9cfbf;font-size:12px;font-weight:700;margin-top:22px}input{display:block;width:100%;border:1px solid #424937;background:#12160f;border-radius:8px;padding:15px;color:white;margin-top:8px}input::placeholder{color:#737d66}.mode-tabs{display:flex;gap:10px;margin-top:24px}.mode-tabs button{flex:1;text-align:left;font-size:13px}.mode-tabs span{display:block;color:var(--muted);font-size:10px;margin-top:7px;font-weight:400}.mode-tabs .selected{border-color:var(--lime);background:#303d1e;color:var(--lime)}.primary{background:var(--lime);color:#192108;border-color:var(--lime)}.secondary{background:transparent}.wide{width:100%;margin-top:12px;display:flex;justify-content:space-between;align-items:center}.small{font-size:11px;color:var(--muted);line-height:1.6}.divider{display:flex;align-items:center;gap:12px;color:#829071;font-size:9px;letter-spacing:2px;margin:25px 0 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.code-input{text-transform:uppercase;letter-spacing:6px}.board{max-width:1360px;margin:auto;padding:24px 30px 50px}.matchbar{display:flex;align-items:center;gap:15px;margin-bottom:22px}.matchbar h2{font-size:18px;margin:0}.roomcode{color:var(--lime);font-family:monospace;font-size:22px;letter-spacing:3px}.matchbar .right{margin-left:auto;display:flex;gap:10px;align-items:center}.stage{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.arena{border:1px solid #49513c;border-radius:18px;overflow:hidden;background:radial-gradient(ellipse at center,#2a321d,#191e15 70%)}.lane{padding:20px 24px}.lane.opponent{background:#0002;border-bottom:1px solid #4c5737}.driver{display:flex;align-items:center;gap:12px;margin-bottom:14px}.driver h3{font-size:14px;margin:0}.driver .score{margin-left:auto;color:var(--muted);font-size:11px}.avatar{width:30px;height:30px;display:grid;place-items:center;background:#343e27;border-radius:50%;font-weight:700;color:var(--lime);font-size:11px}.active-area{display:flex;align-items:center;gap:18px}.card-art{display:block;width:122px;border-radius:9px;box-shadow:0 6px 22px #0006}.card-button{background:transparent;border:0;padding:0;border-radius:9px;flex-shrink:0}.card-button:hover:not(:disabled){transform:translateY(-3px)}.hero-details{flex:1;min-width:0}.hero-details h3{margin:0 0 6px;font-size:16px}.hero-details .id{font:10px monospace;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:14px 0 8px}.stat{background:#0a0d08aa;border:1px solid #39432d;border-radius:7px;padding:9px 2px;text-align:center}.stat strong{display:block;font-size:20px}.stat span{display:block;text-transform:uppercase;letter-spacing:.5px;font-size:8px;color:#b7c2a5;margin-top:3px}.stat.chosen{border-color:var(--lime);background:#35451f;color:var(--lime)}.engine{display:flex;gap:7px;align-items:center;font-size:10px;margin-top:8px;color:#b4bea7}.light{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:5px;background:#333a2a}.light svg{width:20px;height:16px;fill:currentColor}.light.yellow{color:#ffd953}.light.red{color:#ff685f}.light.dead{color:#acb09f}.light.healthy{color:#a2b77e}.effect-note{font-size:10px;color:var(--orange);line-height:1.5;margin:5px 0}.slot{width:110px;flex-shrink:0;text-align:center}.slot>small{display:block;color:var(--muted);font-size:8px;letter-spacing:2px;margin-top:8px}.slot img{width:98px;border-radius:7px}.card-back{width:98px;height:136px;background:repeating-linear-gradient(45deg,#242e1b,#242e1b 5px,#202818 5px,#202818 10px);border:1px solid #71864c;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--lime);font-size:16px;font-weight:900;font-style:italic;box-shadow:inset 0 0 0 6px #192015}.card-back small{font-size:7px;font-style:normal;letter-spacing:2px}.empty-slot{width:98px;height:136px;border:1px dashed #53613e;border-radius:8px;display:grid;place-items:center;font-size:10px;color:#859571;padding:10px}.support-slot-button{border:0;background:none;padding:0}.battle-strip{display:flex;justify-content:center;gap:12px;align-items:center;padding:10px;background:#d4ff6010;color:var(--lime);font-size:11px;letter-spacing:1px}.hand{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}.mini{width:70px;padding:0;background:#141a0f;border:1px solid #465436;border-radius:7px;overflow:hidden;position:relative}.mini img{width:100%;display:block}.mini.active{border:2px solid var(--lime)}.mini.dead{filter:grayscale(1);opacity:.4}.mini .mini-label{display:block;font:9px monospace;padding:5px 0}.mini .mini-light{position:absolute;right:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#a9b685}.mini .mini-light.yellow{background:#ffd953}.mini .mini-light.red{background:#ff665b}.mini .mini-light.dead{background:#777}.controls{padding:20px;background:#1d2318;border:1px solid #465337;border-radius:14px;align-self:start;position:sticky;top:20px}.controls .eyebrow{font-size:9px}.controls h2{font-size:23px;margin:12px 0}.controls p{font-size:12px;color:#bbc5ad;line-height:1.6}.controls button{width:100%;margin-top:9px;font-size:12px}.controls button small{display:block;font-size:9px;font-weight:400;margin-top:4px}.control-reason{font-size:10px!important;color:#929e82!important;margin:6px 0}.turn-num{font-size:10px;letter-spacing:2px;color:#95a180;margin-bottom:12px}.actions-row{display:flex;gap:8px}.actions-row button{flex:1}.hand-title{font-size:9px;color:#aab59c;letter-spacing:2px;margin:18px 0 0}.support-hand{display:flex;gap:8px}.support-hand button{width:78px;margin-top:9px;padding:0;border-radius:6px;overflow:hidden;background:none}.support-hand img{width:100%;display:block}.log{margin-top:20px;border-top:1px solid #465337;padding-top:12px;max-height:190px;overflow:auto}.log p{font-size:10px;line-height:1.45;color:#9fad90;margin:8px 0}.log p:first-child{color:#e2ebd6}.waiting{max-width:650px;text-align:center;margin:90px auto;padding:35px;border:1px solid var(--line);border-radius:18px;background:#1c2316}.waiting .roomcode{font-size:50px;letter-spacing:10px;margin:20px}.waiting p{color:var(--muted);line-height:1.7}.waiting a{display:inline-block;margin:15px;color:var(--lime)}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#e4efcf;color:#15210b;max-width:90vw;padding:14px 20px;border-radius:10px;z-index:60;font-size:13px;box-shadow:0 5px 20px #0005;display:none}dialog{background:#1b2315;border:1px solid #647b43;color:white;border-radius:16px;max-width:min(650px,94vw);padding:30px;max-height:90vh}dialog::backdrop{background:#000c;backdrop-filter:blur(6px)}dialog li{margin:14px 0;color:#cad6bc;font-size:13px;line-height:1.6}.close{float:right;margin:0 0 15px 15px}.inspect-art{width:240px;max-width:100%;display:block;margin:10px auto;border-radius:10px}.inspect-body{clear:both}.inspect-body button{margin:8px}.animation{position:fixed;inset:0;z-index:55;background:#0b1109d9;backdrop-filter:blur(5px);display:grid;place-items:center}.animation[hidden]{display:none}.dial{width:270px;height:270px;border-radius:50%;border:10px solid #738d45;border-right-color:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 100px #aaff2233}.dial span{font-size:11px;letter-spacing:2px;color:#c6d7af;text-align:center;padding:10px}.dial strong{font-size:76px;color:var(--lime)}.offline{color:#ffb28c!important}.prep .card-art{width:150px}.board-footer{font-size:10px;color:#859174;text-align:center;margin-top:20px}.replace-choice{margin-top:12px}.replace-choice button{margin-bottom:5px}.winner{color:var(--lime)}
@media(max-width:1050px){.lobby{gap:35px}.stage{grid-template-columns:1fr 250px}.active-area{gap:12px}.card-art{width:100px}.slot{width:82px}.slot img,.slot .card-back,.empty-slot{width:78px;height:auto;min-height:108px}.stat strong{font-size:17px}.stat span{font-size:7px}.lane{padding:17px}.hero-details h3{font-size:13px}}
@media(max-width:760px){header{padding:18px}.brand{font-size:26px}.header-right{gap:5px}.tag{display:none}.lobby{display:flex;flex-direction:column;padding:30px 20px;gap:25px}.intro h1{font-size:43px}.intro p{font-size:13px}.lobby-cards{display:none}.entry{width:100%;padding:23px}.stage{grid-template-columns:1fr}.controls{position:static}.board{padding:18px 12px 35px}.matchbar{gap:7px;flex-wrap:wrap}.matchbar h2{font-size:14px}.matchbar .right{gap:2px}.matchbar button{padding:8px;font-size:10px}.roomcode{font-size:17px}.lane{padding:13px}.active-area{gap:10px}.card-art{width:82px}.slot{width:65px}.slot img,.slot .card-back,.empty-slot{width:62px;min-height:86px}.slot .card-back{font-size:12px}.hero-details h3{font-size:12px}.stats{gap:3px;margin-top:9px}.stat{padding:6px 1px}.stat strong{font-size:16px}.stat span{font-size:6px;letter-spacing:0}.mini{width:57px}.hero-details .id{font-size:8px}.effect-note{font-size:8px}.engine{font-size:8px;flex-wrap:wrap}.light{padding:3px 5px}.hand{gap:6px;margin-top:12px}.controls{padding:18px}.controls h2{font-size:22px}.controls button{min-height:44px}.waiting{margin:40px 12px;padding:22px}.waiting .roomcode{font-size:37px}.prep .card-art{width:100px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}button:hover:not(:disabled){transform:none}}

.mini>.card-back{width:100%;height:96px;min-height:0;font-size:11px;border:0;box-shadow:none}.mini>.card-back small{font-size:6px}@media(max-width:760px){.mini>.card-back{height:77px;font-size:9px}}
/* Battle presentation: server outcomes are revealed, never generated here. */
.lane{position:relative}.fx-panel{text-align:center;position:relative;width:min(540px,92vw);padding:35px 20px;overflow:hidden}.fx-label{font-size:10px;letter-spacing:3px;color:#d4ff60}.fx-panel h2{font-size:clamp(24px,5vw,38px);margin:16px 0 25px}.fx-result{font-size:16px;color:#e8f5d6;min-height:24px}.coin-stage{perspective:700px;padding:15px}.coin-disc{width:150px;height:150px;border-radius:50%;border:9px double #d4ff60;background:radial-gradient(circle at 30% 25%,#d4ff60,#6b8e27);color:#192108;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:28px;font-weight:1000;box-shadow:0 14px 40px #0008;margin:auto}.coin-disc span{font-size:10px;letter-spacing:3px}.fx-number{width:135px;height:135px;margin:20px auto;display:grid;place-items:center;border:3px solid #d4ff60;border-radius:22px;font-size:80px;font-weight:900;background:#26341b;animation:dice-rattle .16s infinite alternate}.fx-number.landed{animation:result-land .3s ease-out;box-shadow:0 0 45px #d4ff6044}.rev-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.rev-pair p{font-size:13px;overflow-wrap:anywhere}.tachometer{width:150px;height:150px;border:8px solid #8da361;border-top-color:#ff685f;border-radius:50%;position:relative;margin:15px auto;background:repeating-conic-gradient(from -120deg,#c6d7af 0 2deg,transparent 2deg 24deg);box-shadow:inset 0 0 0 14px #192015}.tachometer:before{content:'';position:absolute;inset:20px;border-radius:50%;background:#192015}.tachometer i{position:absolute;width:3px;height:54px;background:#ff685f;left:calc(50% - 1px);top:13px;transform-origin:50% 100%;animation:rev-needle .22s infinite alternate;z-index:1}.tachometer.settled i{animation:none;transform:rotate(var(--needle))}.rev-value{position:absolute;inset:55px 0 0;font-size:36px;color:#d4ff60;z-index:2}.fx-shield{position:absolute;inset:15% 10%;display:flex;align-items:center;justify-content:center;gap:12px;font-size:24px;letter-spacing:5px;font-weight:900;color:#b5eaff;background:#143244dd;border:2px solid #83d5ff;border-radius:40%;pointer-events:none;z-index:3}.fx-shield span{font-size:58px}.fx-support{width:180px;max-height:40vh;object-fit:contain;border-radius:12px}.finish-flags{font-size:70px;color:#d4ff60;animation:result-land .6s ease-out}.fx-confetti{position:absolute;inset:0;pointer-events:none}.fx-confetti i{position:absolute;left:var(--x);top:-20px;width:7px;height:15px;background:#d4ff60;animation:confetti-fall 1.8s var(--delay) ease-in both}.fx-confetti i:nth-child(even){background:#fff}.fx-win .fx-panel{border:1px solid #7e9c46;border-radius:22px;background:radial-gradient(ellipse at top,#35491d,#151d10)}
@keyframes dice-rattle{from{transform:rotate(-5deg) translateY(-3px)}to{transform:rotate(5deg) translateY(3px)}}@keyframes result-land{from{transform:scale(1.2)}to{transform:scale(1)}}@keyframes rev-needle{from{transform:rotate(-90deg)}to{transform:rotate(110deg)}}@keyframes confetti-fall{to{transform:translateY(450px) rotate(var(--tilt));opacity:0}}
@media(max-width:430px){.tachometer{width:115px;height:115px}.tachometer i{height:40px;top:10px}.rev-value{inset:40px 0 0;font-size:29px}.rev-pair{gap:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.mobile-battle-nav{display:none}button,a,input{touch-action:manipulation}input{font-size:16px}.driver h3,.hero-details h3{overflow-wrap:anywhere}.animation{padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));overflow:auto}.fx-panel{max-height:95dvh;overflow:auto}dialog{overscroll-behavior:contain}
@media(max-width:760px){
 body{min-width:320px}.board{padding-bottom:calc(85px + env(safe-area-inset-bottom))}.stage{gap:16px}.arena,.controls{min-width:0}.controls{scroll-margin-top:12px}.lane{padding:12px}.active-area{display:grid;grid-template-columns:96px minmax(0,1fr) 68px;gap:10px}.active-area>.card-button{grid-column:1;grid-row:1}.active-area>.card-back{grid-column:1;grid-row:1;width:96px;height:130px}.card-art,.prep .card-art{width:96px}.hero-details{display:contents}.hero-details h3{grid-column:2;grid-row:1;align-self:center;font-size:14px;line-height:1.4;margin:0}.hero-details>.id{display:none}.active-area>.slot{grid-column:3;grid-row:1;width:68px}.slot img,.slot .card-back,.empty-slot{width:68px;min-height:95px}.stats{grid-column:1/-1;margin:0;gap:5px}.stat{padding:8px 1px}.stat strong{font-size:21px}.stat span{font-size:9px}.engine{grid-column:1/-1;font-size:11px;margin:0;flex-wrap:nowrap}.light{padding:5px 8px;gap:6px}.effect-note{grid-column:1/-1;font-size:11px;margin:0}.driver{flex-wrap:wrap;gap:7px}.driver h3{font-size:13px;flex:1}.driver .score{font-size:10px}.hand{flex-wrap:nowrap;gap:8px}.mini{width:58px;flex-shrink:0;min-height:44px}.mini .mini-label{font-size:10px}.mini .mini-light{width:13px;height:13px}.matchbar .right{width:100%;justify-content:flex-end}.matchbar button{min-height:44px;font-size:12px;padding:10px}.matchbar h2{font-size:12px}.matchbar .roomcode{margin-left:auto}.control-reason{font-size:12px!important}.controls p,.small{font-size:12px}.controls button{font-size:14px;min-height:48px}.support-hand button{width:86px}.mobile-battle-nav{position:fixed;z-index:15;left:0;right:0;bottom:0;display:flex;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#151d10f5;border-top:1px solid #53613e;backdrop-filter:blur(12px)}.mobile-battle-nav a{flex:1;display:grid;place-items:center;min-height:44px;text-decoration:none;border:1px solid #62723e;border-radius:8px;font-size:12px;font-weight:800}.mobile-battle-nav a:last-child{background:var(--lime);color:#192108}.board-footer{line-height:1.5}.inspect-art{width:min(240px,65vw)}dialog{padding:20px;width:calc(100vw - 24px);max-height:90dvh}.close{min-height:44px}.waiting .roomcode{letter-spacing:5px;font-size:32px}.intro h1{font-size:clamp(32px,9.5vw,43px);letter-spacing:-2px}.entry{padding:20px}.mode-tabs button{min-width:0;padding:12px}.lobby{padding:24px 16px}.fx-panel{padding:20px 10px}.fx-panel h2{font-size:26px}.fx-result{font-size:14px}
}
@media(max-width:360px){.active-area{grid-template-columns:82px minmax(0,1fr) 60px;gap:8px}.card-art,.prep .card-art{width:82px}.active-area>.slot,.slot img,.slot .card-back,.empty-slot{width:60px}.hero-details h3{font-size:12px}.driver .score{width:100%;margin-left:37px}.stat span{font-size:8px}.mini{width:54px}.engine{font-size:10px}}
@media(min-width:761px) and (max-width:960px){.stage{grid-template-columns:1fr}.controls{position:static}.lobby{gap:24px}.lobby-cards{margin-left:10px}.lobby-cards img{width:150px}.lobby-cards img+img{left:110px}}
/* Slower, explicit battle presentation. */
.coin-disc{position:relative;transform-style:preserve-3d;background:none;border:0;box-shadow:none;width:170px;height:170px}.coin-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:9px double #d4ff60;border-radius:50%;background:radial-gradient(circle at 30% 25%,#e5ff98,#6b8e27);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 40px #0008;font-size:26px}.coin-back{transform:rotateY(180deg);background:radial-gradient(circle at 30% 25%,#f5dc98,#a87930);border-color:#f5dc98}.coin-face span{max-width:130px;overflow-wrap:anywhere;line-height:1.4;letter-spacing:1px;margin-top:10px}.coin-assignments{font-size:13px;color:#c6d7af;line-height:1.8}.coin-stage{padding:35px 15px}.fx-number{animation-duration:.32s}.tachometer i{animation-duration:.65s}.fx-result{line-height:1.5}.fx-panel{width:min(620px,94vw)}.versus-bar{border:1px solid #6b853e;background:linear-gradient(115deg,#2e421e,#172111);border-radius:16px;padding:22px 20px;text-align:center}.versus-bar h2{margin:8px 0 20px;color:#d4ff60;letter-spacing:3px}.versus-values{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);align-items:center;gap:12px}.versus-values strong{display:block;font-size:64px;line-height:1.2;color:white}.versus-values span{display:block;font-size:14px;overflow-wrap:anywhere}.versus-values small{display:block;font-size:9px;letter-spacing:2px;color:#a9bd92;margin-top:8px}.versus-values>b{color:#d4ff60;font-size:22px}.battle-prompt{width:min(620px,94vw);padding:22px}.battle-prompt::backdrop{background:#0b1109dd}.defence-choice{text-align:center;line-height:1.6}.defence-choice button{display:block;width:100%;min-height:48px;margin-top:12px}.damage-art{width:160px;max-height:35dvh;object-fit:contain;border-radius:10px;display:block;margin:18px auto}.damage-light{display:flex;justify-content:center;margin:20px 0}.damage-light .light{font-size:17px;padding:12px 18px}.fx-damage .fx-panel{border:1px solid #66553e;border-radius:20px;background:#1d2318}.fx-confetti i{animation-duration:3.6s}
@media(max-width:430px){.versus-bar{padding:18px 12px}.versus-values{gap:6px;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}.versus-values strong{font-size:48px}.versus-values span{font-size:12px}.versus-values>b{font-size:17px}.battle-prompt{padding:14px}.fx-panel h2{font-size:24px}.coin-stage{padding:20px 10px}.coin-disc{width:145px;height:145px}.damage-art{width:135px}.damage-light .light{font-size:14px}.fx-panel p{font-size:13px}}
.turn-banner{padding:18px 22px;margin-bottom:18px;background:linear-gradient(110deg,#344c1d,#1b2714);border:1px solid #718e41;border-radius:14px}.turn-banner>span{font-size:10px;letter-spacing:2px;color:#b9caa4}.turn-banner h2{font-size:24px;color:var(--lime);margin:9px 0}.turn-banner p{font-size:13px;line-height:1.5;margin:0;color:#d5dfc9}.stat strong.stat-up,.stat-up{color:#ffd76a!important}.stat strong.stat-down,.stat-down{color:#ff7770!important}.stat-delta{display:block;font-size:10px;margin-top:5px}.effect-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;grid-column:1/-1}.effect-badge{display:inline-block;border:1px solid #827044;border-radius:5px;background:#3a321c;color:#ffe2a1;padding:5px 7px;font-size:10px;line-height:1.4}.effect-badge.penalty{background:#3a2020;color:#ffaaa5;border-color:#88514b}.effect-badge.used{background:#34372d;color:#cbd0bd;border-color:#5f6650}.mini-effect{display:block;padding:4px 1px;font-size:7px;line-height:1.3;background:#3a321c;color:#ffe2a1}.mini-effect.used{background:#33382c;color:#d6dfc7}.item-preview{text-align:left;border:1px solid #617247;background:#131d0e;border-radius:9px;padding:13px;margin:14px 0}.item-preview>strong{font-size:10px;color:#c1d4a7;letter-spacing:.5px}.item-preview ul{padding:0;margin:10px 0;list-style:none}.item-preview li{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin:7px 0}.item-preview li span{white-space:nowrap}.preview-outcome{font-size:14px;color:var(--lime);line-height:1.5}.network-status{padding:9px 4vw;background:#1f2b17;border-bottom:1px solid #3a4b2b;color:#b7cda0;font-size:12px;line-height:1.5}.network-status[hidden]{display:none}.network-status.offline{background:#39271a;border-color:#765033}.volume-control{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:8px 4vw}.volume-control[hidden]{display:none}.volume-control label{margin:0;font-size:11px}.volume-control input{width:110px;padding:0;margin:0;accent-color:#d4ff60;min-height:32px}#soundToggle{min-height:44px;border:1px solid #4a5739;white-space:nowrap}.prompt-connection{border-top:1px solid #425333;padding-top:12px;color:#c4cfb5}.inspect-body .effect-badges{margin-bottom:14px}
@media(max-width:760px){header{flex-wrap:wrap;gap:10px}.header-right{gap:6px}.header-right .quiet{padding:9px;font-size:10px}.turn-banner{padding:16px;margin-bottom:14px}.turn-banner h2{font-size:21px}.turn-banner p{font-size:12px}.effect-badges{margin-top:0}.effect-badge{font-size:10px}.stat-delta{font-size:10px}.mini-effect{font-size:7px}.item-preview{padding:12px}.item-preview li{font-size:13px}.network-status{padding:10px 16px}.volume-control{padding:6px 16px}}

.support-inspect-art{max-height:32dvh;width:auto;max-width:100%;object-fit:contain}
.learn-link{display:inline-block;padding:12px 0;color:var(--lime);font-size:14px;font-weight:700;text-underline-offset:5px;line-height:1.5}.home-rules{max-width:1100px;margin:0 auto;padding:40px 30px 70px;scroll-margin-top:20px;border-top:1px solid var(--line)}.home-rules>h2{font-size:clamp(28px,4vw,42px);margin:16px 0}.rules-intro{color:#b7c6a9;line-height:1.7;max-width:650px}.rules-copy{clear:both}.rules-quickstart{border:1px solid #516736;border-radius:14px;background:#202d17;padding:22px;margin:24px 0 16px}.rules-quickstart h3{margin:0 0 12px;font-size:20px;color:#e7f4d8}.rules-copy p,.rules-copy li{font-size:14px;line-height:1.75;color:#c9d4bd}.rules-copy strong{color:#f0f5e8}.rules-copy li{margin:9px 0}.rules-quickstart ol{padding-left:21px;margin-bottom:0}.roll-guide{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0}.roll-guide>div{text-align:center;padding:15px 5px;background:#182211;border:1px solid #536b35;border-radius:9px}.roll-guide b{display:block;color:var(--lime);font-size:26px}.roll-guide span{display:block;font-size:11px;margin-top:6px;color:#ccd8be}.rules-tools{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 12px}.rules-tools button{min-height:44px;font-size:12px}.rules-copy details{border:1px solid #3f5030;border-radius:10px;margin:10px 0;background:#182014;overflow:hidden}.rules-copy summary{padding:18px 20px;cursor:pointer;font-size:15px;font-weight:700;line-height:1.5;color:#edf5e3}.rules-copy summary::marker{color:var(--lime)}.rules-copy summary:focus-visible{outline:3px solid var(--lime);outline-offset:-4px}.rules-copy details[open]>summary{background:#29371e;border-bottom:1px solid #40552e}.rule-body{padding:4px 22px 18px}.rule-body ul{padding-left:20px}.rule-example{border-left:3px solid var(--lime);background:#24341a;padding:16px;margin:18px 0}.rule-example p{margin-bottom:0}.health-guide{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.health-guide span{padding:12px;background:#283120;border-radius:7px;font-size:12px;line-height:1.5}.health-yellow{color:#ffd76a}.health-red{color:#ff7770}.rule-body h4{color:var(--lime);font-size:14px;margin:24px 0 10px}.support-reference{margin:0}.support-reference>div{display:grid;grid-template-columns:150px 1fr;gap:14px;border-bottom:1px solid #35432b;padding:12px 0}.support-reference dt{font-size:13px;font-weight:700;line-height:1.6}.support-reference dd{font-size:13px;color:#c2d0b4;margin:0;line-height:1.6}#rules{max-width:min(800px,94vw);width:800px}#rules .rules-copy li{margin:9px 0}#rules .rules-copy .stat-up{color:#ffd76a!important}#rules .rules-copy .stat-down{color:#ff7770!important}
@media(max-width:760px){.home-rules{padding:28px 16px 45px;margin:0 12px}.rules-quickstart{padding:17px}.rules-quickstart h3{font-size:18px}.roll-guide{grid-template-columns:repeat(3,minmax(0,1fr))}.rules-copy summary{font-size:14px;padding:16px 14px}.rule-body{padding:2px 15px 15px}.rules-copy p,.rules-copy li{font-size:13px}.support-reference>div{grid-template-columns:1fr;gap:3px}.health-guide{grid-template-columns:1fr}.rules-tools button{flex:1;padding:10px;font-size:11px}#rules{padding:20px 14px}.rule-example{padding:13px}.home-rules .learn-link{font-size:13px}}
/* Timed team selection and practice */
.draft-screen{max-width:1000px;margin:auto;padding:40px 24px 70px}.draft-screen h1{font-size:clamp(2rem,7vw,4rem)}.draft-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.draft-card{padding:8px;min-width:0}.draft-card .card-back{width:100%;height:auto;aspect-ratio:2/3;min-height:0}.draft-card>span{display:block;font-size:12px;margin-top:10px}.draft-card.picked{border:2px solid #d4ff60;opacity:1;background:#314220}.draft-card.picked .card-back{filter:brightness(1.3)}.decision-timer{font-variant-numeric:tabular-nums;color:#d4ff60;font-weight:750;min-height:24px}.decision-timer.urgent{color:#ff8076}.coach,.battle-recap{padding:18px;border:1px solid #798d4c;background:#202b17;border-radius:14px;margin-bottom:18px}.coach strong{color:#d4ff60}.coach p{margin:8px 0 0}.battle-recap summary{cursor:pointer;min-height:44px}.battle-recap p{border-top:1px solid #48513c;padding-top:12px}.speed-control{display:flex;align-items:center;gap:8px;font-size:12px}.speed-control select{background:#23291b;color:#eef4df;border:1px solid #66734b;border-radius:8px;min-height:44px;padding:6px}.header-right{flex-wrap:wrap}#practice{margin-top:12px}
@media(max-width:600px){.draft-screen{padding:24px 16px 60px}.draft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.draft-card .card-back{max-height:180px;aspect-ratio:auto}.draft-card{min-height:180px}.speed-control{font-size:11px}header{gap:10px;flex-wrap:wrap}.header-right{gap:8px}.coach{padding:14px}}
.draft-card .card-back{height:190px;max-height:none}.speed-control{margin-top:0}
@media(max-width:600px){.draft-screen{padding-top:20px}.draft-screen h1{font-size:30px;letter-spacing:-1px;margin:14px 0}.draft-screen>p{font-size:13px;line-height:1.5}.draft-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.draft-card{padding:4px;min-height:104px}.draft-card .card-back{height:74px;font-size:11px;letter-spacing:-.3px;border-radius:5px}.draft-card .card-back small{font-size:5px;letter-spacing:.5px}.draft-card>span{font-size:8px;margin-top:6px}.draft-screen .decision-timer{position:sticky;top:0;background:#1c2617;padding:8px;z-index:2}.draft-card.picked>span{font-size:7px}}
.reveal-card{--reveal-glow:#9db37d;margin:20px auto;width:min(210px,45vw);filter:drop-shadow(0 0 8px var(--reveal-glow))}.reveal-card img{width:100%;max-height:48vh;object-fit:contain;border-radius:12px}.rarity-1{--reveal-glow:#9cdb6e}.rarity-2{--reveal-glow:#66dbff;filter:drop-shadow(0 0 14px var(--reveal-glow))}.rarity-3{--reveal-glow:#b891ff;filter:drop-shadow(0 0 20px var(--reveal-glow))}.rarity-4{--reveal-glow:#ff92dd;filter:drop-shadow(0 0 25px var(--reveal-glow))}.rarity-5{--reveal-glow:#ffd76a;filter:drop-shadow(0 0 32px var(--reveal-glow))}.rarity-6{--reveal-glow:#fff2c2;filter:drop-shadow(0 0 40px var(--reveal-glow))}.fx-team-reveal h2{font-size:clamp(20px,4vw,32px)}.turn-arrived{animation:turn-arrived 1s ease-out 2}.decision-timer.urgent{animation:timer-warning 1s ease-in-out infinite}@keyframes timer-warning{50%{box-shadow:0 0 0 3px #ff807655;background:#462820}}@keyframes turn-arrived{50%{box-shadow:0 0 24px #d4ff6077}}.match-summary{padding:16px 0;border-block:1px solid #52603f;margin:18px 0}.summary-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-numbers p{font-size:11px}.summary-numbers b{display:block;font-size:28px;color:var(--lime)}.best-car{display:flex;align-items:center;gap:14px}.best-car img{width:80px;border-radius:8px}.match-summary h4{margin:22px 0 8px}.match-summary p{line-height:1.6}#gallery{width:1100px;max-width:95vw}.gallery-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.gallery-filters select,#feedback select,#feedback textarea{display:block;width:100%;padding:12px;border-radius:8px;background:#12160f;color:#edf4e3;border:1px solid #52603f;margin-top:8px;min-height:44px;font:inherit}#feedback textarea{resize:vertical}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.gallery-card{border:1px solid #455338;border-radius:12px;padding:14px;background:#20271a;min-width:0}.gallery-card img{width:100%;aspect-ratio:2/3;object-fit:contain}.gallery-card h3{font-size:15px;line-height:1.4}.gallery-card p{font-size:12px;line-height:1.6}.gallery-stats{text-transform:capitalize}#feedback{width:580px;max-width:94vw}.gallery-filters label{margin-top:8px}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-filters{grid-template-columns:1fr 1fr}.gallery-filters label:first-child{grid-column:1/-1}.gallery-card{padding:10px}.gallery-card h3{font-size:13px}.header-right{gap:4px}.header-right .quiet{padding:10px 8px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.turn-arrived,.decision-timer.urgent{animation:none}}

/* Opening team selection: all four heroes, then all three items. */
.prep-screen{max-width:1100px;margin:auto;padding:30px 24px 64px}.prep-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.prep-screen h1{font-size:clamp(28px,5vw,50px);letter-spacing:-1px;margin:22px 0 14px}.prep-intro{max-width:700px;line-height:1.6;color:#c9d4bd}.prep-steps{display:flex;list-style:none;padding:0;gap:10px}.prep-steps li{flex:1;padding:12px;border-bottom:3px solid var(--line);font-size:12px;color:var(--muted)}.prep-steps .current{color:var(--lime);border-color:var(--lime)}.prep-steps .complete{color:#e4efd6;border-color:#71864c}.prep-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0}.prep-grid.item-choices{grid-template-columns:repeat(3,minmax(0,1fr));max-width:820px}.prep-choice{min-width:0;padding:10px;text-align:left;background:#1c2417;border:2px solid var(--line)}.prep-choice img{width:100%;aspect-ratio:2/3;object-fit:contain;display:block;border-radius:8px}.prep-choice strong,.prep-choice>span{display:block;overflow-wrap:anywhere}.prep-choice strong{font-size:14px;margin:12px 0 8px}.prep-choice>span{color:var(--lime);font-size:10px;line-height:1.5}.prep-choice.selected{border-color:var(--lime);background:#303e22}.prep-selected{display:flex;align-items:center;gap:18px;padding:16px;background:#202b17;border:1px solid #52643b;border-radius:12px;margin:20px 0}.prep-selected img{width:70px;border-radius:5px}.prep-selected h2{font-size:18px;margin:8px 0 12px}.prep-selected button{min-height:44px}.prep-confirm{padding:20px;border:1px solid #71864c;border-radius:12px;background:#1c2815}.prep-confirm>p{line-height:1.5;margin-top:0}.prep-confirm .primary{min-height:50px}.prep-confirm .small{margin:14px 0 0}.prep-wait{padding:20px;background:#27391c;border-radius:10px;color:var(--lime);line-height:1.6}
@media(max-width:600px){.prep-screen{padding:20px 14px 40px}.prep-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.prep-grid.item-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.prep-choice{padding:6px}.prep-choice strong{font-size:12px;margin:8px 0 6px}.prep-choice>span{font-size:9px}.prep-grid.item-choices .prep-choice strong{font-size:11px}.prep-screen .decision-timer{position:sticky;top:0;background:#1c2617;padding:9px;border-radius:6px;z-index:2}.prep-steps{gap:5px}.prep-steps li{padding:10px 5px;font-size:11px}.prep-intro{font-size:14px}.prep-confirm{padding:16px}.prep-confirm .primary{width:100%}.prep-selected{gap:12px;padding:12px}}

.roll-control{display:flex!important;align-items:center;justify-content:center;gap:14px;min-height:108px!important;width:100%;box-shadow:0 6px 0 #708833,0 12px 22px #0004;margin-bottom:18px!important}.roll-control:active{transform:translateY(4px)!important;box-shadow:0 2px 0 #708833}.roll-die{font-size:54px;line-height:1}.roll-control small{display:block;font-size:11px;line-height:1.5;margin-top:8px;font-weight:400}.versus-values span{font-weight:800;margin-bottom:8px}.versus-values .stat-winner{border-radius:12px;box-shadow:0 0 28px #d4ff6088,inset 0 0 22px #d4ff6022;text-shadow:0 0 18px #d4ff60;border:2px solid #d4ff60}.stat-change-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.stat-change-grid>div{border:1px solid #647744;border-radius:12px;padding:16px;background:#1a2414}.stat-counter{font-size:64px;line-height:1.2;display:block;font-variant-numeric:tabular-nums}.stat-owner{font-weight:800;overflow-wrap:anywhere}.stat-change-grid h3{font-size:16px;letter-spacing:2px}.stat-change-grid p{line-height:1.5}.fx-stat-change .fx-panel{border:1px solid #647744;background:#172111;border-radius:16px}.fx-versus .fx-panel{animation:none}
@media(max-width:430px){.stat-change-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat-counter{font-size:48px}.roll-control{min-height:96px!important}}

.round-screen{max-width:760px}.round-screen>.primary{min-height:54px;width:100%;margin:16px 0}.round-screen .battle-recap{margin-top:28px}.round-outcome{font-size:22px;font-weight:800;text-align:center}.round-damage{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;line-height:1.5}.round-screen .versus-bar{margin:24px 0}.round-screen>p{text-align:center}
@media(max-width:760px){.controls{display:flex;flex-direction:column}.controls>.battle-recap{order:100;margin-top:24px;margin-bottom:0}.controls>.roll-control{order:0}.round-screen{padding-bottom:40px}.round-screen h1{font-size:32px}}

.defensive-item{border:1px solid #566d3b;border-radius:12px;padding:16px;margin:18px 0;background:#1b2614}.defensive-item>img{height:130px;max-width:100%;object-fit:contain;border-radius:8px}.defensive-item h3{margin:10px 0}.prep-steps li{min-width:0;overflow-wrap:anywhere}

/* Hero health glow follows the same damage state as the EML indicator. */
.hero-glow.glow-healthy{--health-glow:#4ce887;--health-halo:#4ce88780}
.hero-glow.glow-yellow{--health-glow:#ffd44d;--health-halo:#ffd44d80}
.hero-glow.glow-red{--health-glow:#ff5058;--health-halo:#ff505890}
.hero-glow:not(.glow-dead){outline:2px solid var(--health-glow);outline-offset:1px;box-shadow:0 0 10px var(--health-halo),0 0 24px var(--health-halo);transition:box-shadow .7s ease,outline-color .7s ease}
.hero-glow.glow-dead{outline:1px solid #687065;box-shadow:none;filter:grayscale(1)}
.mini:has(.hero-glow){overflow:visible}
.mini .hero-glow:not(.glow-dead){box-shadow:0 0 8px var(--health-halo);outline-width:1px;border-radius:5px}
@media(prefers-reduced-motion:reduce){.hero-glow{transition:none!important}}

.selectable-stats .stat{cursor:pointer;min-height:60px;min-width:0;padding:8px 2px;border:2px solid #d4ff60;background:#30441e;box-shadow:0 0 10px #d4ff6033}
.selectable-stats .stat:hover,.selectable-stats .stat:focus-visible{background:#45612a;box-shadow:0 0 16px #d4ff6070}
.selectable-stats .stat span{display:block}

.versus-card{position:relative;width:min(100%,220px);margin:12px auto;border-radius:10px;isolation:isolate;box-shadow:0 8px 22px #0008}
.versus-card img{display:block;width:100%;height:auto;border-radius:10px}
.art-stat-glow{position:absolute;left:calc(9.8% + var(--stat-index)*16.2%);top:67.8%;width:15.5%;height:10.7%;border:2px solid #d4ff60;border-radius:3px;box-shadow:0 0 12px #d4ff60,inset 0 0 9px #d4ff6066;background:#d4ff6020;pointer-events:none}
.layout-fullart .art-stat-glow{top:74.8%;height:6.7%}
.layout-ascend .art-stat-glow{left:calc(12.6% + var(--stat-index)*15.8%);top:78.5%;width:14.5%;height:9%}
.versus-card.card-victor{outline:2px solid #d4ff60;box-shadow:0 0 24px #d4ff6080}
.fx-versus .fx-panel{max-height:94dvh;overflow-y:auto}
.fx-versus .versus-card{width:min(100%,220px,32dvh)}
.versus-driver{min-width:0}
@media(max-width:430px){.versus-bar h2{margin-bottom:10px}.versus-card{margin:8px auto}.versus-values .versus-driver>strong{font-size:36px}.versus-driver>small{font-size:8px;letter-spacing:1px}.art-stat-glow{border-width:1px}.versus-values{align-items:center}}

.stat-index-0{--stat-index:0}.stat-index-1{--stat-index:1}.stat-index-2{--stat-index:2}.stat-index-3{--stat-index:3}.stat-index-4{--stat-index:4}

.comeback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.comeback-grid article{min-width:0;padding:14px;border:1px solid #52643a;background:#1a2415;border-radius:12px;text-align:center}.comeback-grid img{width:100%;max-width:210px;border-radius:8px}.comeback-grid h2{font-size:18px}.comeback-grid p{font-size:13px;line-height:1.5}.comeback-grid button{width:100%;min-height:48px;font-size:12px;padding:10px 4px;overflow-wrap:anywhere}
@media(max-width:600px){.comeback-grid{gap:8px}.comeback-grid article{padding:7px}.comeback-grid h2{font-size:13px}.comeback-grid p{font-size:11px}.comeback-grid button{font-size:10px}.comeback-grid img{border-radius:5px}}

/* Slow, readable presentation. */
.header-right{flex-wrap:wrap}.player-badge{display:inline-block;font-size:10px;letter-spacing:.7px;border:1px solid #827147;color:#ffe0a0;border-radius:20px;padding:5px 9px}
.item-uses{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:8px}.item-uses span{font-size:9px;line-height:1.4;padding:5px;border:1px solid #5e6a51;border-radius:5px}.item-uses .used{color:#d4ff60;background:#344522;border-color:#9bb548}.item-uses .pending{color:#bdc5b5;background:#1e2618}
.first-match-guide{max-width:1100px;margin:16px auto;padding:18px 22px;border:1px solid #7a9850;border-radius:12px;background:#27371c;animation:gentle-arrival 1.2s ease both}.first-match-guide strong{font-size:11px;letter-spacing:2px;color:#d4ff60}.first-match-guide p{font-size:14px;line-height:1.7;margin:9px 0}.first-match-guide small{font-size:11px;color:#aabd97}.battle-prompt .first-match-guide{margin-top:0;padding:12px}.battle-prompt .first-match-guide small{display:none}
.victory-screen{max-width:1050px;margin:auto;padding:40px 24px 80px;text-align:center;animation:gentle-arrival 1.6s ease both}.victory-screen h1{font-size:clamp(30px,6vw,58px);line-height:1.1}.winner-garage{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:30px 0}.winner-garage figure{margin:0;width:150px}.winner-garage img{width:100%;border-radius:10px;box-shadow:0 0 22px #d4ff6040}.winner-garage figcaption{font-size:12px;line-height:1.5;margin-top:12px}.victory-stats{max-width:680px;margin:30px auto;padding:24px;border:1px solid #4c6335;border-radius:14px;background:#192212}.victory-stats .best-car{justify-content:center;text-align:left}.victory-stats>p{line-height:1.7;font-size:13px}#victoryActions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:28px auto;max-width:680px}#victoryActions button{min-height:54px;flex:1;min-width:180px}.new-awards{max-width:680px;margin:24px auto;border:1px solid #ae9651;background:#352f1a;border-radius:14px;padding:20px;color:#ffe3a1}.new-awards span{display:block;font-size:12px;margin-top:8px}
#profile{width:min(680px,94vw)}#profile select{display:block;width:100%;margin-top:8px;padding:12px}.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.achievement{padding:16px;border:1px solid #4a5142;border-radius:10px;background:#22291d}.achievement p{font-size:13px;line-height:1.6}.achievement small{font-size:11px}.achievement.earned{border-color:#b69b4b;background:#332d1b;color:#ffe2a0}.achievement.locked{color:#aeb7a6}.achievement-reveal{border:1px solid #baa05a;border-radius:12px;padding:24px;margin:16px 0;background:#302a19}.achievement-reveal strong{font-size:24px;color:#ffdfa0}
body[data-cardback="afterhours"] .card-back{background:radial-gradient(ellipse at top,#583f87,#130e23);border-color:#b49ae4;color:#e1cfff;box-shadow:inset 0 0 30px #8f5ac044}body[data-cardback="redline"] .card-back{background:repeating-linear-gradient(135deg,#291314 0,#291314 18px,#46191c 18px,#46191c 20px);border-color:#e75b66;color:#ffd2d6}
.fx-versus .versus-card{transition:box-shadow 1.2s ease,outline-color 1.2s ease}
.battle-contact .attack-won{--battle-colour:#4ce887}
.battle-contact .battle-lost{--battle-colour:#ff5058}
.battle-contact .defence-won{--battle-colour:#60adff}
.battle-contact .versus-card{outline:2px solid var(--battle-colour);box-shadow:0 0 18px var(--battle-colour),0 0 38px color-mix(in srgb,var(--battle-colour) 55%,transparent)}
.battle-contact .art-stat-glow{border-color:var(--battle-colour);box-shadow:0 0 12px var(--battle-colour);background:color-mix(in srgb,var(--battle-colour) 12%,transparent);transition:border-color 1.2s ease,box-shadow 1.2s ease,background 1.2s ease}.fx-achievement .fx-panel{max-height:90dvh;overflow-y:auto}
@keyframes gentle-arrival{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.first-match-guide{margin:12px;padding:14px}.first-match-guide p{font-size:13px}.victory-screen{padding:24px 12px 60px}.winner-garage{gap:12px}.winner-garage figure{width:125px}.victory-stats{padding:15px}.achievement-grid{grid-template-columns:1fr}.player-badge{font-size:8px;padding:4px 6px}.slot .item-uses span{font-size:8px;padding:3px}.header-right{gap:4px}.header-right .quiet{font-size:10px;padding:8px}.achievement-reveal strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.first-match-guide,.victory-screen{animation:none}.battle-contact .versus-card{transition:none}}

.victory-screen h1{letter-spacing:-.5px;text-wrap:balance;max-width:800px;margin-left:auto;margin-right:auto}
@media(max-width:600px){.winner-garage figure{width:calc((100% - 24px)/3);max-width:125px}.winner-garage figcaption{font-size:10px}.victory-screen h1{font-size:34px}}

/* GOD classification does not replace the engine-health glow. */
.god-badge{display:inline-block!important;width:fit-content;border:1px solid #f2c86f;background:#3b2c13;color:#ffdc8f!important;border-radius:6px;padding:5px 8px;margin:6px 0;font-size:10px!important;font-weight:800;letter-spacing:1px;line-height:1.4}
.god-note{color:#ffdc8f!important;font-size:12px!important;line-height:1.6!important;max-width:480px}.prep-choice .god-badge{margin:5px auto}.versus-driver .god-badge{font-size:9px!important;letter-spacing:.5px}.mini-label{white-space:nowrap}

@media(max-width:760px){.active-area .god-badge{grid-column:1/-1;margin:0}}

/* Garages and friendly-match features. */
.entry select{display:block;width:100%;margin-top:8px;padding:13px;background:#192112;border:1px solid #53613e;border-radius:8px;color:#fff}
body[data-garage="neon"]{background:radial-gradient(ellipse at 10% 0,#342048,transparent 60%),#0d111b}body[data-garage="neon"] .arena{background:linear-gradient(125deg,#21172e,#101d29);border-color:#aa77c9}
body[data-garage="workshop"]{background:repeating-linear-gradient(0deg,#191d1c 0,#191d1c 55px,#222826 56px,#222826 58px)}body[data-garage="workshop"] .arena{background:linear-gradient(115deg,#30372d,#141c17);border-color:#bea96c}
body[data-sleeve="gold"] .lane:not(.opponent) .card-art,body[data-sleeve="gold"] .prep-choice img{border:3px solid #e4bd62}body[data-sleeve="carbon"] .lane:not(.opponent) .card-art,body[data-sleeve="carbon"] .prep-choice img{border:3px ridge #8b9498}
#matchExtras{max-width:1050px;margin:16px auto;padding:0 20px}#matchExtras[hidden]{display:none}.rivalry{padding:14px 18px;border:1px solid #50603c;background:#172012dd;border-radius:12px;text-align:center}.rivalry>span,.rivalry small{display:block;font-size:11px;color:#c5d6b2;line-height:1.6}.rivalry strong{display:block;font-size:17px;margin:8px 0;overflow-wrap:anywhere}.rivalry b{color:#d4ff60;white-space:nowrap;margin:0 12px}.rivalry p{font-size:13px;line-height:1.6}.reaction-menu{margin:12px auto}.reaction-menu summary{font-size:11px;letter-spacing:1px;cursor:pointer;padding:10px}.reaction-menu>div{display:flex;flex-wrap:wrap;gap:7px}.reaction-menu button{min-height:44px;font-size:11px;padding:10px}.reaction-menu small{display:block;margin-top:8px;color:#bac6ae;font-size:11px}#reactionToast{position:fixed;z-index:65;top:20px;left:50%;transform:translateX(-50%);max-width:90vw;padding:20px;border:1px solid #d4ff60;border-radius:12px;background:#1c2815;color:#e3ffad;box-shadow:0 15px 50px #000a;font-weight:800;pointer-events:none}
.match-awards{max-width:700px;margin:24px auto}.match-awards article{padding:16px;border:1px solid #8f7e4d;border-radius:12px;background:#2a2619;margin:12px 0}.match-awards strong{color:#ffdc8f}.match-awards p{font-size:13px;line-height:1.6}.room-choice{padding:18px;border:1px solid #9bb96b;border-radius:10px;color:#d4ff60;font-weight:800}#roomAgreement p{line-height:1.7}#roomAgreement button{margin:8px;min-height:48px}#photoFinish{width:min(650px,94vw)}.photo-finish-image{display:block;width:100%;height:auto;border-radius:12px;margin:18px 0}.download-finish{display:block;text-align:center;padding:18px;background:#d4ff60;color:#16200e;font-weight:800;border-radius:9px;text-decoration:none}
/* Night drag strip: slow headlights, no flashing. */
.rev-showdown{max-width:850px;margin:auto;padding:28px 20px 80px;text-align:center}.rev-showdown h1{font-size:clamp(28px,6vw,48px);line-height:1.1}.rev-showdown>p{line-height:1.7}.rev-showdown>.primary{min-height:64px;width:100%;max-width:500px;font-size:16px}.drag-strip{position:relative;overflow:hidden;border:1px solid #455875;border-radius:16px;padding:28px 24px 65px;margin:22px auto;background:radial-gradient(ellipse at 50% 15%,#233752,transparent 65%),linear-gradient(#070d19 0%,#11192a 60%,#303947 61%,#141a24 100%);isolation:isolate}.drag-strip:after{content:'';position:absolute;z-index:-1;bottom:0;left:49%;height:45%;width:2%;background:repeating-linear-gradient(0deg,#c8d0dc 0 14px,transparent 14px 28px);transform:perspective(80px) rotateX(35deg)}.strip-lights{position:absolute;inset:0;z-index:-1}.strip-lights i{position:absolute;width:48%;height:85%;bottom:-20%;left:-12%;background:radial-gradient(ellipse,#cce7ff55,transparent 65%);transform:rotate(28deg);animation:headlight-rise 2.4s ease both}.strip-lights i+i{left:auto;right:-12%;transform:rotate(-28deg)}.rev-builds{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end}.rev-builds figure{margin:0;min-width:0}.rev-builds img{display:block;width:min(100%,160px);max-height:28dvh;object-fit:contain;margin:auto;filter:drop-shadow(0 8px 18px #a7d6ff33)}.rev-builds figcaption{font-size:14px;font-weight:700;margin-top:12px;overflow-wrap:anywhere}.rev-builds small{display:block;margin-top:8px;color:#bbd7ff;font-size:9px;letter-spacing:1px}.fx-rev .drag-strip{padding:15px 16px 25px;margin:12px 0}.fx-rev .rev-builds img{max-height:17dvh}.fx-rev .tachometer{width:100px;height:75px}.fx-rev .rev-pair{gap:16px}.fx-rev .fx-panel{overflow-y:auto}.god-entrance-art{display:block;max-height:47dvh;max-width:80%;margin:24px auto;border-radius:12px;box-shadow:0 0 25px #e4bd6266,0 0 70px #e4bd622b}.fx-god-entrance{background:radial-gradient(ellipse at center,#443415eb,#080a08f7)}.fx-god-entrance .fx-label{color:#ffdc8f}.fx-god-entrance h2{font-size:clamp(23px,5vw,38px)}
@keyframes headlight-rise{from{opacity:0}to{opacity:1}}
@media(max-width:600px){#matchExtras{padding:0 12px}.rivalry strong{font-size:14px}.rivalry b{margin:0 5px}.drag-strip{padding:22px 14px 45px}.rev-builds{gap:16px}.rev-builds figcaption{font-size:12px}.rev-showdown{padding:20px 16px 90px}.fx-rev .rev-builds img{max-height:14dvh}.fx-rev .fx-panel h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.strip-lights i{animation:none}.god-entrance-art{animation:none}}
