@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,700;0,800;0,900;1,800;1,900&family=Barlow:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--lime:#baff26;--ink:#0b100d;--white:#f2f5eb;--muted:#90a08f}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{background:var(--ink);color:var(--white);font-family:Barlow,Arial,sans-serif}button,select,a{font:inherit}button,select{color:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid white;outline-offset:3px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#game-shell{height:100dvh;width:100%;overflow:hidden}#character-select{height:100%;padding:2.5vh 4vw;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:1.5vh;background:repeating-linear-gradient(125deg,transparent 0 90px,#baff2603 90px 92px),radial-gradient(ellipse at 20% 70%,#29402077,transparent 55%),#0b100d}.select-top{display:flex;align-items:center;gap:24px}.wordmark{font:italic 900 clamp(23px,2.5vw,38px) 'Barlow Condensed',Impact;letter-spacing:-1px}.wordmark span{color:var(--lime)}#player-identity{margin-left:auto;font-size:11px;color:var(--muted);max-width:42%;text-align:right}.exit-link{font-size:11px;color:var(--lime)}.select-heading{text-align:center}.select-heading>span{font-size:10px;letter-spacing:4px;color:var(--lime)}h1{font:italic 900 clamp(28px,4.5vw,66px)/.95 'Barlow Condensed',Impact;margin:8px 0} .select-heading p{margin:8px 0 0;color:var(--muted);font-size:12px}.selection-stage{min-height:0;display:grid;grid-template-columns:1fr 1.5fr .85fr;gap:3vw;align-items:center}.fighter-preview{position:relative;min-height:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.fighter-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--lime) 15%,transparent),transparent 65%);pointer-events:none}.fighter-preview>canvas{width:auto;max-width:100%;height:min(32vh,320px);object-fit:contain;position:relative}.character-caption small{display:block;font-size:9px;letter-spacing:2px;color:var(--lime)}.character-caption strong{display:block;font:italic 900 clamp(28px,3.3vw,48px)/1.1 'Barlow Condensed',Impact;margin-top:6px}.bio .tag{font-size:9px;letter-spacing:2px;color:var(--muted)}.bio p{font-size:12px;line-height:1.5;color:var(--muted);max-width:260px;margin:10px 0}.player-label{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:10px;margin-bottom:12px}.player-label b{background:var(--lime);color:var(--ink);padding:6px;font-size:13px}.player-label span{margin-left:auto;color:#768575;font-size:9px}#roster-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}#roster-picks button{position:relative;border:1px solid #3b4c36;background:linear-gradient(150deg,#1d291e,#111712);padding:0;overflow:hidden;min-width:0;transition:background .12s,border .12s}#roster-picks button.active{border:2px solid var(--lime);background:radial-gradient(ellipse at bottom,#526a31,#1a2519);box-shadow:0 0 24px #baff2610}#roster-picks button.active:after{content:'1P';position:absolute;left:7px;top:6px;font-size:11px;font-weight:900;color:var(--lime)}#roster-picks canvas{width:100%;height:min(15vh,135px);object-fit:contain;display:block}#roster-picks span{display:block;padding:7px 2px;background:#0005;font:700 clamp(12px,1.5vw,20px) 'Barlow Condensed',Impact;text-transform:uppercase}.selection-hint{display:flex;justify-content:space-between;color:#65775d;font-size:9px;letter-spacing:1px;margin-top:12px}.match-setup{position:relative;display:flex;align-items:center;flex-direction:column;gap:8px}.match-setup canvas{width:min(100%,250px);height:min(29vh,250px);object-fit:contain;filter:saturate(.7)}.cpu-label{font-size:10px;letter-spacing:2px;color:var(--muted)}.match-setup label{font-size:9px;letter-spacing:2px;color:var(--muted)}.match-setup select{max-width:100%;width:170px;background:#192318;border:1px solid #425b35;padding:10px;font-weight:700}.versus-mark{position:absolute;left:-18%;top:36%;font:italic 900 40px 'Barlow Condensed';color:#a0bc7160}.select-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #34412e;padding-top:2vh}.mode-buttons{display:flex;gap:6px}.mode-buttons button{padding:10px 17px;border:1px solid #394b32;background:#141d13;font-size:11px;font-weight:800}.mode-buttons button[aria-pressed=true]{color:var(--lime);border-color:var(--lime)}#mode-description{font-size:11px;color:var(--muted);margin:8px 0 0}.fight-launch{display:flex;gap:16px;align-items:center;max-width:55%}#select-loading,#select-error{margin:0;font-size:12px;color:var(--muted)}#select-error{color:#ffad8b}#fight-start{font:italic 900 clamp(24px,3vw,40px) 'Barlow Condensed';letter-spacing:3px;background:var(--lime);color:var(--ink);border:0;min-width:190px;padding:10px 38px;box-shadow:5px 5px 0 #526e20;transform:skew(-6deg)}
#fight-screen{position:relative;width:100%;height:100%;background:radial-gradient(ellipse,#233522,#070c08);overflow:hidden;display:grid;place-items:center}.canvas-wrap{width:100%;height:100%;display:grid;place-items:center}#arena{display:block;width:min(100vw,calc(100dvh * 1200 / 650));height:min(100dvh,calc(100vw * 650 / 1200));outline:none;touch-action:none}.fight-bottom{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;align-items:center;gap:20px;pointer-events:none;font-size:10px;color:#b6c7ab}.fight-bottom button{pointer-events:auto;margin-left:auto;border:1px solid #a3be7950;background:#0b140cdd;padding:10px 15px;color:#e5f7d6;font-weight:800}.keyboard-hint{opacity:.75;font-size:9px}#fight-type{color:var(--lime);font-weight:800;letter-spacing:2px}#round-callout{position:absolute;inset:0;display:grid;place-items:center;font:italic 900 clamp(70px,12vw,180px) 'Barlow Condensed';color:var(--lime);text-shadow:7px 7px #071007;pointer-events:none}#match-progress{position:absolute;bottom:45px;left:20px;font-size:10px;color:#bfcead}#fight-error{position:absolute;top:22%;left:20%;right:20%;text-align:center;background:#401d1ddb;color:#ffc4b7}#fight-error:empty{display:none}#result-screen{position:absolute;inset:0;display:grid;place-items:center;background:#071009c9;backdrop-filter:blur(3px)}.result-card{text-align:center}.result-card>span{letter-spacing:5px;font-size:12px;color:#aabc99}.result-card h2{font:italic 900 clamp(50px,9vw,120px)/1 'Barlow Condensed';color:var(--lime);margin:16px}.result-card p{color:var(--muted);font-size:13px}.result-card button,dialog button{display:block;min-width:240px;margin:12px auto;padding:15px 25px;border:1px solid #60774b;background:#162010;color:var(--white);font-weight:800}.result-card button.result-primary,#menu-resume{background:var(--lime);color:var(--ink);border-color:var(--lime)}dialog{width:min(90vw,540px);max-height:85dvh;overflow:auto;border:1px solid #688b43;background:#111a10;color:var(--white);padding:30px;text-align:center}dialog::backdrop{background:#000b}dialog h2{font:italic 900 44px 'Barlow Condensed';margin:0 0 20px}dialog p{font-size:13px;color:var(--muted);line-height:1.7}.menu-controls{margin-top:25px}dialog a{font-size:10px;color:var(--muted)}.touch-controls{display:none}
@media(max-width:850px){#character-select{padding:2vh 3vw}.selection-stage{grid-template-columns:.8fr 1.5fr;gap:3vw}.match-setup{grid-column:1/-1;flex-direction:row;justify-content:center;gap:12px}.match-setup canvas,.cpu-label,.versus-mark{display:none}.selection-stage{grid-template-rows:1fr auto}.bio p{display:none}.select-heading h1{font-size:36px}.fight-launch{max-width:50%}#fight-start{min-width:140px;padding:10px 22px}.keyboard-hint{display:none}}
@media(max-width:540px) and (orientation:portrait){.select-top{gap:12px}.wordmark{font-size:24px}#player-identity{font-size:9px}.exit-link{font-size:9px}.select-heading h1{font-size:32px}.selection-stage{grid-template-columns:1fr;gap:10px}.fighter-preview{display:none}#roster-picks canvas{height:min(17vh,140px)}#roster-picks span{font-size:18px}.selection-hint{display:none}.select-bottom{flex-direction:column;align-items:stretch;gap:12px}.fight-launch{max-width:100%;justify-content:flex-end}#fight-start{width:100%}.mode-picker{text-align:center}.mode-buttons{justify-content:center}.player-label{margin-bottom:8px}.select-heading p{font-size:11px}}
@media(max-height:560px) and (orientation:landscape){#character-select{padding:10px 3vw;gap:8px}.select-heading p,.select-heading>span,.bio,.selection-hint{display:none}.select-heading h1{font-size:29px;margin:0}.select-top .wordmark{font-size:24px}.selection-stage{grid-template-columns:1fr 1.8fr .7fr;grid-template-rows:1fr}.match-setup{grid-column:auto;flex-direction:column}.match-setup select{width:110px}.fighter-preview>canvas{height:32vh}#roster-picks canvas{height:13vh}.character-caption strong{font-size:28px}.character-caption small{font-size:8px}.player-label{margin-bottom:5px}#roster-picks{gap:5px}#roster-picks span{padding:3px;font-size:14px}.select-bottom{padding-top:8px}.mode-buttons button{padding:6px 12px}#mode-description{margin-top:5px;font-size:10px}#fight-start{font-size:24px;padding:7px 25px}}
@media(pointer:coarse),(max-width:1000px){.touch-controls{position:absolute;left:10px;right:10px;bottom:60px;display:flex;justify-content:space-between;gap:10px}.touch-controls>div{display:flex;gap:5px}.touch-controls button{touch-action:none;user-select:none;background:#102010b0;border:1px solid #d6ff7950;border-radius:50%;height:46px;min-width:46px;padding:6px;font-size:10px;font-weight:800}.keyboard-hint{display:none}#match-progress{bottom:115px}.fight-bottom{bottom:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Opponent assignment belongs to match creation, not character selection. */
.match-setup .mystery-opponent{font:italic 900 clamp(60px,12vh,130px)/1 'Barlow Condensed',Impact;color:#baff26;text-shadow:0 0 55px #baff2630}.match-setup strong{font:700 20px 'Barlow Condensed',Impact;letter-spacing:2px}.match-setup p{font-size:12px;line-height:1.6;color:var(--muted);text-align:center;margin:0}.match-setup{padding:20px 0;border-block:1px solid #baff2620}
@media(max-width:850px){.match-setup{padding:8px 0}.match-setup .mystery-opponent{font-size:38px}.match-setup strong{font-size:16px}.match-setup p{font-size:10px}}
@media(max-height:560px) and (orientation:landscape){.match-setup .mystery-opponent{font-size:42px}.match-setup strong{font-size:13px;letter-spacing:1px}.match-setup p{font-size:10px}}

#queue-screen{position:absolute;inset:0;z-index:8;background:#0b100df5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}#queue-screen h2{font:italic 900 clamp(30px,5vw,70px) "Barlow Condensed",Impact;color:var(--lime);margin:10px}#queue-screen p{color:var(--muted)}#cancel-queue{background:var(--lime);color:#0b100d;border:0;padding:15px 30px;font-weight:800;margin-top:25px}.mode-buttons{flex-wrap:wrap}

#combo-hint{color:var(--lime);font-size:11px;font-weight:800;margin:10px 0 4px}#combo-help{color:var(--muted);font-size:10px;line-height:1.35;margin:0}#combo-controls{display:none}#arena{touch-action:none}
@media(pointer:coarse),(max-width:1000px){#combo-controls{display:flex;position:absolute;right:15px;bottom:116px;align-items:center;gap:5px}#combo-controls span{font-size:10px}#combo-controls button{background:#1b2b1cdd;border:1px solid var(--lime);color:var(--lime);width:38px;height:34px;font-weight:800;touch-action:none}}
@media(max-height:560px) and (orientation:landscape){#combo-help{display:none}#combo-hint{font-size:9px;margin:4px 0}#roster-picks canvas{height:11vh}}
@media(max-width:540px) and (orientation:portrait){#roster-picks canvas{height:min(14vh,115px)}#combo-hint{font-size:10px}.mode-buttons button{padding:8px 10px;font-size:10px}.selection-stage{gap:6px}}

body[data-stream-autoplay] #player-identity,body[data-stream-autoplay] .exit-link,body[data-stream-autoplay] .mode-picker,body[data-stream-autoplay] .fight-bottom,body[data-stream-autoplay] .touch-controls,body[data-stream-autoplay] #combo-controls{display:none!important}body[data-stream-autoplay] .select-bottom{justify-content:flex-end}body.autoplay-paused:after{content:'AUTOPLAY PAUSED / P TO RESUME';position:fixed;inset:0;background:#07100dd9;display:grid;place-items:center;color:#baff26;font:900 32px Arial;z-index:100}

/* Seven fighters: two rows on wide screens, compact three rows on phones. */
#roster-picks{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.selection-stage{grid-template-columns:.9fr 1.8fr .7fr;gap:2vw}
#roster-picks span{font-size:clamp(12px,1.35vw,20px)}
@media(max-width:850px){.selection-stage{grid-template-columns:.7fr 1.7fr}}
@media(max-width:540px) and (orientation:portrait){.selection-stage{grid-template-columns:1fr}#roster-picks{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}#roster-picks canvas{height:min(8.5vh,76px)}#roster-picks span{font-size:14px;padding:4px}.select-heading h1{font-size:27px}.match-setup{padding:4px 0}.match-setup .mystery-opponent{font-size:25px}.select-bottom{gap:7px;padding-top:8px}.player-label span{font-size:8px}}
@media(max-height:560px) and (orientation:landscape){.selection-stage{grid-template-columns:.8fr 2fr .65fr}#roster-picks canvas{height:10vh}}

.result-match-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.result-match-actions button{min-width:180px;margin:12px 0}

/* Thumb controls and landscape fallback for portrait phones. */
#sol-earned{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#f2f5eb;font-variant-numeric:tabular-nums}#sol-earned svg{width:19px;height:16px}#sol-earned small{font-size:8px;color:#90a08f}
#arena{width:min(var(--arena-width,100vw),calc(var(--arena-height,100dvh) * 1200 / 650));height:min(var(--arena-height,100dvh),calc(var(--arena-width,100vw) * 650 / 1200))}
body.portrait-fight #game-shell{position:fixed;left:50%;top:50%;width:100dvh;height:100dvw;transform:translate(-50%,-50%) rotate(90deg)}
@media(pointer:coarse),(max-width:1000px){
 .touch-controls{inset:auto 12px 12px;pointer-events:none;align-items:end}.touch-controls>div{pointer-events:auto;display:grid;gap:5px}.touch-controls button{width:44px;min-width:44px;height:44px;padding:2px;font-size:9px;background:#09180bd9;border-color:#a5d57988}.touch-controls button:active{background:#6c9129;color:white}
 .movement-pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}.movement-pad [data-key=w]{grid-column:2}.movement-pad [data-key=a]{grid-column:1;grid-row:2}.movement-pad [data-key=s]{grid-column:2;grid-row:2}.movement-pad [data-key=d]{grid-column:3;grid-row:2}.movement-pad [data-key=shift]{grid-column:3;grid-row:1;font-size:8px}
 .attack-pad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,44px)}.attack-pad [data-key=e]{grid-column:2/4;width:93px;border-radius:22px;color:var(--lime)}
 #combo-controls{right:12px;bottom:111px;gap:4px}#combo-controls button{width:32px;height:29px}#combo-controls span{font-size:8px}
 .fight-bottom{left:165px;right:165px;bottom:12px;gap:6px;justify-content:center;flex-wrap:wrap}.fight-bottom #fight-type{display:none}.fight-bottom button{margin:0;padding:7px 10px;font-size:9px}#sol-earned{font-size:11px}#sol-earned small{font-size:7px}#match-progress{bottom:45px;left:165px;right:165px;text-align:center}
 .result-card h2{font-size:50px;margin:8px}.result-card button{padding:10px;margin:6px auto}.result-match-actions{gap:8px}.result-card>span{font-size:9px}
}

@media(max-width:1200px){.keyboard-hint{display:none}}
@media(pointer:coarse),(max-width:1000px){.touch-controls{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}#combo-controls{right:max(12px,env(safe-area-inset-right))}}

.fight-bottom #voice-toggle{margin-left:0;font-size:9px;padding:10px;color:var(--lime)}.voice-notice{font-size:10px;color:var(--muted)}
@media(pointer:coarse),(max-width:1000px){.fight-bottom #voice-toggle{font-size:8px;padding:7px 5px}.fight-bottom{column-gap:5px}}

#launch-error-dialog{border:2px solid var(--lime);box-shadow:0 0 60px #0009;padding:clamp(22px,5vw,42px)}#launch-error-dialog h2{font-size:clamp(30px,5vw,44px);color:var(--lime)}#launch-error-message{font-size:18px;color:var(--white);margin:20px 0 28px;line-height:1.5}#launch-error-home{display:block;background:var(--lime);color:var(--ink);padding:16px;font-size:15px;font-weight:800}#launch-error-close{min-width:0;width:100%;font-size:13px}

@media(pointer:coarse),(max-width:1000px){#combo-controls{z-index:4;bottom:113px;display:grid;grid-template-columns:repeat(3,44px);gap:5px;pointer-events:auto}#combo-status{grid-column:1/-1;text-align:center;min-height:12px;font-weight:800;color:var(--lime)}#combo-controls button{width:44px;height:40px;touch-action:none;user-select:none}#combo-controls button.tapped{background:var(--lime);color:#101315;transform:scale(.94)}}

#result-screen{z-index:10}#game-shell[data-screen="result"] #combo-controls,#game-shell[data-screen="result"] .touch-controls{visibility:hidden}

.select-top .wordmark{display:block;flex-shrink:0;line-height:0}.select-top .wordmark img{display:block;width:clamp(100px,10vw,156px);height:clamp(64px,6.4vw,100px);object-fit:cover;object-position:center}@media(max-height:600px){.select-top .wordmark img{width:100px;height:64px}}
/* Readable reward HUD, separate from the control strip. */
#reward-hud{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:68px;width:min(470px,calc(100% - 40px));padding:16px 20px;background:#09140ff2;border:1px solid #687c40;border-radius:12px;box-shadow:0 8px 30px #0006;pointer-events:none;z-index:3;color:#f2f5eb}#reward-hud .reward-stats{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.reward-label{display:block;font-size:10px;line-height:1.4;font-weight:800;letter-spacing:1.5px;color:#b4c5ae;margin-bottom:6px}#reward-hud #sol-earned{font-size:25px;font-weight:800;gap:9px;line-height:1.2}#reward-hud #sol-earned svg{width:24px;height:21px;flex-shrink:0}#reward-hud #sol-earned small{font-size:14px;color:#e5f4db}#reward-countdown{display:block;font-size:25px;line-height:1.2;font-weight:800;font-variant-numeric:tabular-nums;color:#d4ff65}#reward-qualification{font-size:15px;line-height:1.4;font-weight:700;margin:13px 0 0;padding-top:11px;border-top:1px solid #354832}#reward-requirement{font-size:12px;line-height:1.4;color:#b6c8af;margin:5px 0 0}#reward-hud[data-state=qualified],#reward-hud[data-state=paid]{border-color:#baff26}#reward-hud[data-state=qualified] #reward-qualification,#reward-hud[data-state=paid] #reward-qualification{color:#d4ff65}#reward-hud[data-state=inactive] #reward-qualification,#reward-hud[data-state=unavailable] #reward-qualification{color:#ffd19c}#match-progress{display:none!important}#result-screen{z-index:4}#game-shell[data-screen=result] #reward-hud{z-index:5;bottom:20px}body[data-stream-wallet] #player-identity{display:block!important}body[data-stream-autoplay] #reward-hud{bottom:20px}
@media(pointer:coarse),(max-width:1000px){#reward-hud{left:50%;transform:translateX(-50%);bottom:50px;width:min(390px,calc(100% - 330px));padding:8px 12px;border-radius:8px}#reward-hud .reward-stats{gap:12px}.reward-label{font-size:8px;letter-spacing:.7px;margin-bottom:3px}#reward-hud #sol-earned,#reward-countdown{font-size:19px}#reward-hud #sol-earned svg{width:18px;height:16px}#reward-hud #sol-earned small{font-size:10px}#reward-qualification{font-size:11px;margin-top:6px;padding-top:6px}#reward-requirement{font-size:9px;margin-top:3px}#game-shell[data-screen=result] #reward-hud{width:min(400px,calc(100% - 40px));bottom:10px}body[data-stream-autoplay] #reward-hud{left:20px;transform:none;width:340px}}
.result-card #reward-hud{position:static!important;transform:none!important;width:min(470px,calc(100vw - 40px));margin:14px auto;text-align:left;pointer-events:none}.result-card #reward-qualification{margin:9px 0 0}.result-card #reward-requirement{margin:5px 0 0}@media(pointer:coarse),(max-width:1000px){.result-card #reward-hud{width:min(390px,calc(100% - 24px));margin:8px auto;padding:8px 12px}.result-card #reward-qualification{font-size:11px;margin-top:5px}.result-card #reward-requirement{font-size:9px;margin-top:3px}}

.fight-bottom #music-toggle,.fight-bottom #sfx-toggle{font-size:9px;padding:10px;color:var(--lime)}
@media(pointer:coarse),(max-width:1000px){.fight-bottom #music-toggle,.fight-bottom #sfx-toggle{font-size:8px;padding:7px 5px}}

/* Transparent keyboard reference, laid out in physical key rows. */
.keyboard-guide{position:absolute;right:20px;bottom:65px;display:flex;gap:24px;z-index:3;pointer-events:none;color:#f3f7ed;text-shadow:0 1px 3px #000,0 0 6px #000}
.keyboard-half{display:flex;flex-direction:column;gap:5px}.keyboard-label{font-size:9px;letter-spacing:1.5px;font-weight:800;margin-bottom:3px;color:#d2e5be}.key-row{display:flex;gap:5px}.key-row.stagger{padding-left:12px}.keycap{width:59px;height:41px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid #d2e5be60;border-radius:5px;background:#07100926}.keycap kbd{font:800 14px Barlow,sans-serif}.keycap small{font-size:7px;font-weight:700;letter-spacing:.3px}.keycap.wide{width:187px;height:29px;flex-direction:row;gap:10px}.keycap.unused{opacity:.3}
#reward-hud{background:#09140f66;border-color:#91aa6355;box-shadow:none;text-shadow:0 1px 3px #000,0 0 5px #0008}
#game-shell[data-screen=result] .keyboard-guide{display:none}
@media(pointer:fine) and (min-width:1001px){#combo-controls{right:20px;bottom:224px}}
@media(pointer:coarse),(max-width:1000px){.keyboard-guide{display:none}}
body[data-stream-autoplay] .keyboard-guide{display:none}

.keyboard-guide .keycap{border-color:#e5f7d6b3;box-shadow:0 1px 3px #0008,inset 0 0 0 1px #07100955;color:inherit;text-shadow:inherit;padding:0}
.keyboard-guide button.keycap{pointer-events:auto;cursor:pointer;touch-action:none}
.keyboard-guide .keycap.pressed,.touch-controls button.pressed{background:var(--lime);border-color:#efffc9;color:#08120b;text-shadow:none;box-shadow:0 0 12px #baff2655;transform:translateY(1px)}

#fight-loading:not([hidden]){position:absolute;inset:0;z-index:9;display:grid;place-items:center;background:#071009dd;color:var(--lime);font:italic 900 clamp(22px,4vw,48px) Barlow Condensed,Impact,sans-serif;text-align:center;padding:24px}

#reward-hud .latest-payout-row{margin:10px 0 0;font-size:13px;line-height:1.4;color:#effadc}#reward-hud .latest-payout-row a{pointer-events:auto;color:#d4ff65;text-underline-offset:3px;margin-left:6px}#reward-hud .reward-total-note{margin:4px 0 0;font-size:11px;line-height:1.4;color:#c5d3bd}@media(pointer:coarse),(max-width:1000px){#reward-hud .latest-payout-row{font-size:10px;margin-top:6px}#reward-hud .reward-total-note{font-size:9px}}

/* Seven playable fighters; archived fighters never occupy a selection slot. */
#roster-picks{grid-template-columns:repeat(4,minmax(0,1fr))}
#roster-picks canvas{height:min(14vh,130px)}
@media(max-width:540px) and (orientation:portrait){#roster-picks{grid-template-columns:repeat(3,minmax(0,1fr))}#roster-picks canvas{height:min(8.5vh,76px)}}
@media(max-height:560px) and (orientation:landscape){#roster-picks canvas{height:10vh}}
.select-top .wordmark img{object-fit:contain;width:clamp(110px,12vw,176px)}
