@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;0,800;0,900;1,800;1,900&family=Barlow:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--ink:#0a0b0e;--panel:#111217;--line:#27282e;--dim:#8d8e98;--white:#f4f0e9;--gold:#ffc253;--red:#ff603a;--cyan:#58d9ee;font-family:Barlow,Arial,sans-serif;color:var(--white);background:var(--ink)}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{touch-action:manipulation}button:hover{filter:brightness(1.12)}[hidden]{display:none!important}#app{max-width:1536px;margin:auto;padding:0 44px}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--white);font-size:19px;font-weight:800;letter-spacing:.8px}.brandmark{width:43px;height:43px;background:var(--gold);border-radius:9px;color:#111;font-size:34px;font-weight:900;font-style:italic;line-height:43px;text-align:center;position:relative}.brandmark span{position:absolute;font-size:17px;right:1px;top:-8px}.brand small{display:block;font-size:9px;letter-spacing:3.4px;font-weight:600;margin-top:5px;color:var(--dim)}.muted{font-weight:400;color:#bebdc0}.edition{font-size:10px;letter-spacing:2px;font-weight:600;display:flex;align-items:center;gap:9px}.edition i,.status-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;display:inline-block}.edition>span{color:var(--dim);border-left:1px solid var(--line);padding-left:10px}.toolbar{display:flex;gap:8px}.toolbar button{background:#15161b;border:1px solid #2b2d33;width:36px;height:36px;border-radius:7px;font-size:20px;position:relative}.sound-off{position:absolute;width:18px;height:1px;background:var(--white);transform:rotate(-50deg);top:16px;left:8px}.arena{height:min(620px,65vw);min-height:460px;position:relative;isolation:isolate;overflow:hidden;border:1px solid #333239;border-radius:12px 12px 0 0;background:#11131b}.backdrop{position:absolute;inset:0;background:url('assets/neon-alley.png') center 54%/cover no-repeat;filter:brightness(.70)}canvas{position:absolute;width:100%;height:100%;inset:0;touch-action:none;outline:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#090a1077,transparent 27%,transparent 72%,#080c1677),radial-gradient(ellipse at 50% 60%,transparent 45%,#070b164a);z-index:1}.arena-label{position:absolute;bottom:21px;left:28px;z-index:2;font-size:10px;font-weight:700;letter-spacing:2px;display:flex;align-items:center;gap:9px;color:#e9e3da}.arena-label i{display:block;width:5px;height:5px;background:var(--red)}.arena-label span{font-size:8px;color:#b6b3af;letter-spacing:1.5px;margin-left:7px}.menu{position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,#070a10ef,#090b128f 37%,transparent 70%);display:flex;align-items:center;padding:45px 5%}.menu-copy{width:60%}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;color:var(--gold);margin:0 0 20px;display:flex;align-items:center;gap:10px}.eyebrow>span{height:1px;width:22px;background:var(--gold)}h1,h2{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;margin:0;line-height:.82;font-weight:900;letter-spacing:-1.5px}h1{font-size:clamp(74px,7.2vw,112px);position:relative}h1 em{color:var(--gold);font-style:italic}h1 .title-dot{color:var(--red)}.tagline{font-size:16px;line-height:1.4;font-weight:500;color:#c6c6cf;margin:20px 0}.bout{display:flex;gap:16px;align-items:center;font-family:'Barlow Condensed',Impact,sans-serif;font-size:22px;letter-spacing:2px;margin:19px 0}.bout i{font-family:Barlow,sans-serif;font-size:10px;color:var(--dim);font-weight:500}.bout span:last-child{color:var(--cyan)}.start-row{display:flex;align-items:center;gap:20px}.primary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:17px 21px;background:var(--gold);color:#18140e;font-weight:800;font-size:13px;letter-spacing:1.1px;border-radius:4px;box-shadow:0 3px 28px #fdae2420;min-height:52px}.primary>span{font-size:22px;line-height:1}.text-button{background:none;font-size:12px;color:#b9b9c1;padding:12px 0}.loading{font-size:10px;color:#a19d9e;margin:10px 0 0;min-height:14px}.match-note{position:absolute;right:30px;bottom:62px;text-align:right}.match-note>span,.match-note small{display:block;color:#b7bcc5;font-size:8px;letter-spacing:2px}.match-note strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:27px;display:block;margin:9px 0;line-height:1;font-style:italic;letter-spacing:.5px}.understage{border:1px solid var(--line);border-top:0;background:#111217;border-radius:0 0 12px 12px}.preflight{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 30px}.label{font-size:9px;letter-spacing:1.8px;color:#92939e;display:block;margin-bottom:10px;font-weight:600}.difficulty>div{display:flex;gap:5px}.difficulty button{background:#1b1c22;color:#a3a4ad;border:1px solid #33343b;border-radius:4px;padding:9px 20px;font-size:12px}.difficulty button[aria-pressed=true]{border-color:#a98542;color:var(--gold);background:#ffc25310}.record strong,.arena-caption strong{font-size:15px;font-weight:500}.record i{color:#52535a;font-style:normal;margin:0 8px}.arena-caption{text-align:right}.keyboard-strip{display:flex;justify-content:center;gap:20px;border-top:1px solid #23242b;padding:13px;color:#888a96;font-size:10px}.keyboard-strip>span{display:flex;align-items:center;gap:5px}kbd{font-family:inherit;border:1px solid #353740;border-radius:3px;min-width:19px;height:19px;display:inline-flex;justify-content:center;align-items:center;padding:1px 4px;color:#c5c6cf;font-size:9px;background:#1b1d23}footer{display:flex;justify-content:space-between;gap:15px;padding:22px 0;color:#72747e;font-size:8px;letter-spacing:1.2px;font-weight:600}footer>span{display:flex;gap:8px;align-items:center}footer b{font-weight:600;color:#b7b5b2}footer a{color:#b9b8b5;text-decoration:none}.hud{position:absolute;top:26px;left:30px;right:30px;display:grid;grid-template-columns:1fr 90px 1fr;gap:24px;z-index:4}.fighter-name{display:flex;align-items:end;justify-content:space-between;margin-bottom:9px}.fighter-name strong{font-family:'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;font-size:29px;line-height:1}.fighter-name span{font-size:8px;letter-spacing:1.4px;color:#bab6bd}.health-track{height:15px;background:#57242980;border:1px solid #eec3a345;padding:2px;transform:skewX(-14deg)}.health-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ff7440,#ffd27c);box-shadow:0 0 12px #ff773555;transition:width .10s linear}.opponent .health-track{transform:skewX(14deg)}.opponent .health-track i{background:linear-gradient(90deg,#90edf4,#31aac9);margin-left:auto;box-shadow:0 0 12px #67d9e944}.opponent .fighter-name{flex-direction:row-reverse}.energy-row{margin-top:8px;display:flex;gap:10px;align-items:center}.energy-row span{font-size:7px;letter-spacing:1px;white-space:nowrap;color:#c1bdc3}.energy-track{height:4px;flex:1;background:#e9d4bf22}.energy-track i{display:block;width:0;height:100%;background:var(--gold);transition:width .1s}.opponent .energy-track i{background:var(--cyan)}.opponent .energy-row{flex-direction:row-reverse}.opponent .energy-track i{margin-left:auto}.guard-track{height:2px;background:#ffffff18;margin-top:7px;width:36%}.guard-track i{display:block;width:100%;height:100%;background:#b3c2d2}.clock{text-align:center}.clock b{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:600;font-size:52px;line-height:1}.clock span{display:block;color:#a6a4ab;font-size:8px;letter-spacing:1px;margin-top:4px}.announcement{position:absolute;left:0;right:0;top:38%;text-align:center;z-index:6;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-style:italic;font-size:100px;letter-spacing:3px;color:var(--gold);text-shadow:4px 4px 0 #260c0d,0 0 50px #ff6b4433;pointer-events:none;line-height:.85}.combo{position:absolute;top:27%;left:8%;font-size:16px;font-weight:800;color:var(--gold);z-index:4;transform:skew(-8deg)}.combo b{font-family:'Barlow Condensed',Impact,sans-serif;font-size:70px;margin-right:5px}.callout{position:absolute;bottom:65px;left:0;right:0;text-align:center;z-index:5;letter-spacing:3px;font-size:12px;font-weight:800;color:var(--gold);pointer-events:none}.rush-vfx{position:absolute;inset:0;box-shadow:inset 0 0 90px #ff713666;opacity:0;pointer-events:none;z-index:2;transition:opacity .25s}.rush-vfx.active{opacity:1}.controls{padding:15px 28px;display:flex;justify-content:space-between;align-items:center;touch-action:none;user-select:none;gap:15px}.pad{height:104px;width:104px;border:1px solid #46454c;border-radius:50%;background:radial-gradient(#2c2d35,#191a20);position:relative;touch-action:none}.pad-knob{width:45px;height:45px;border:1px solid #716e68;background:linear-gradient(135deg,#4b4c53,#292a31);border-radius:50%;position:absolute;left:29px;top:29px;box-shadow:0 5px 10px #0005;pointer-events:none}.pad>span{position:absolute;color:#8a8b98;font-size:20px}.pad-up{left:46px;top:3px}.pad-left{top:37px;left:8px}.pad-right{top:37px;right:8px}.control-hint{display:block;font-size:7px;letter-spacing:1px;text-align:center;color:#83848e;margin-top:8px}.action-zone{display:flex;align-items:center;gap:13px}.action{border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #51515b;background:radial-gradient(ellipse at 35% 20%,#34353e,#1b1c23);position:relative;width:80px;height:80px;touch-action:none;box-shadow:0 4px 0 #07080c;color:#ceced6}.action-symbol{font-size:26px;line-height:1.05}.action strong{font-size:10px;letter-spacing:1px}.action small{position:absolute;bottom:-17px;white-space:nowrap;font-size:6px;color:#9b9aa4;letter-spacing:.2px}.light{width:103px;height:103px;background:radial-gradient(ellipse at 35% 20%,#ffde90,#eea935);color:#2c210c;border-color:#ffe4a6}.light .action-symbol{font-size:37px}.light strong{font-size:13px}.light small{color:#9b9aa4}.heavy{border-color:#9c5741;color:#ffab7e;background:radial-gradient(ellipse at 35% 20%,#5f3028,#251e21)}.heavy.ready{border-color:var(--gold);color:var(--gold);box-shadow:0 0 22px #ffcc3344,0 4px 0 #07080c}.action.pressed{transform:translateY(3px);filter:brightness(1.25);box-shadow:none}.fight-tip{font-size:11px;letter-spacing:2px;color:#d8c7ac;line-height:1.8;text-align:center}.fight-tip span{font-size:10px;letter-spacing:0;color:#7f818d}.modal-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#05070bcc;backdrop-filter:blur(7px);z-index:10}.panel{text-align:center;width:360px;max-width:90%;padding:27px 15px}.panel .eyebrow{justify-content:center;font-size:8px;margin-bottom:17px}.panel h2{font-size:78px}.panel h2 span{color:var(--gold)}.panel p{font-size:12px;color:#c0bbc2;margin:16px 0 24px}.panel .primary{width:100%;margin-top:15px}.secondary{background:#26272d;border:1px solid #4a4b54;padding:12px;width:100%;border-radius:4px;margin-top:10px;font-size:12px}.panel .text-button{display:block;margin:6px auto 0}.result-numbers{display:grid;grid-template-columns:1fr 1fr;padding:18px 0;border-top:1px solid #ffffff22;border-bottom:1px solid #ffffff22}.result-numbers span{display:block;font-size:8px;letter-spacing:2px;color:#a7a3ae}.result-numbers strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:40px;display:block;margin-top:4px}.result-numbers>div:last-child strong{color:var(--gold)}.result-details{font-size:10px;display:flex;justify-content:center;gap:20px;color:#aba8b1;margin:15px 0}.local-note{font-size:8px;color:#777880;display:block;margin-top:10px}dialog{background:#15161b;border:1px solid #4a4438;border-radius:10px;color:var(--white);max-width:720px;width:92%;padding:36px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font-size:70px;line-height:.88}dialog h2 em{color:var(--gold)}.dialog-close{position:absolute;top:14px;right:17px;font-size:27px;background:none}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:28px}.help-grid b{color:var(--gold);font-size:10px}.help-grid h3{font-size:15px;margin:5px 0}.help-grid p{font-size:12px;line-height:1.65;color:#b4b4bd;margin:0}.help-note{font-size:11px;line-height:1.6;color:#9b9498;margin:24px 0}.playing .arena-label span{display:none}.playing .arena-label{font-size:8px;bottom:18px}.playing .backdrop{filter:brightness(.86)}
@media(min-width:1600px){#app{padding:0 40px}.arena{height:680px}}
@media(max-width:1000px){#app{padding:0 20px}.edition{display:none}.arena{min-height:480px}.menu{padding:32px}.eyebrow{font-size:8px}.match-note{right:20px}.start-row{gap:13px}.primary{font-size:11px;padding:16px}.keyboard-strip{gap:11px}.fighter-name span{display:none}.fight-tip{font-size:9px;letter-spacing:1px}.preflight{padding:22px}.arena-caption{display:none}.hud{left:23px;right:23px;gap:16px}}
@media(max-width:600px){#app{padding:0 10px}.topbar{height:70px;gap:8px}.brand{font-size:15px;gap:9px}.brandmark{width:35px;height:35px;font-size:28px;line-height:35px;border-radius:7px}.brand small{font-size:7px;letter-spacing:2.4px}.toolbar{gap:5px}.toolbar button{width:30px;height:30px;font-size:17px}.sound-off{left:5px;top:14px}.arena{min-height:485px;height:calc(100svh - 247px);max-height:630px}.menu{padding:28px 23px;align-items:flex-start;background:linear-gradient(90deg,#060a12ef,#090b1277 56%,transparent)}.menu-copy{width:100%;pointer-events:none}.menu button{pointer-events:auto}.menu .eyebrow{font-size:6px;letter-spacing:1.2px;margin:7px 0 17px}.eyebrow>span{width:12px}h1{font-size:74px}.tagline{font-size:12px;margin:16px 0}.bout{font-size:18px;margin:17px 0}.start-row{flex-direction:column;align-items:flex-start;gap:0}.primary{padding:14px 17px;min-height:48px}.start-row .text-button{padding-top:9px;font-size:11px}.loading{font-size:8px;max-width:190px;margin-top:0}.match-note{right:16px;bottom:45px}.match-note strong{font-size:18px}.match-note>span{font-size:7px}.match-note small{font-size:6px}.arena-label{left:17px;bottom:16px;font-size:8px}.arena-label span{display:none}.preflight{padding:19px 16px;gap:10px}.label{font-size:7px;letter-spacing:1.2px}.difficulty button{padding:8px 12px;font-size:10px}.record strong{font-size:10px}.record i{margin:0 3px}.keyboard-strip{display:none}footer{font-size:6px;letter-spacing:.5px;padding:15px 1px;flex-wrap:wrap;gap:8px}footer>span:nth-child(2){order:3;width:100%;font-size:6px}.hud{top:19px;left:16px;right:16px;grid-template-columns:1fr 45px 1fr;gap:9px}.fighter-name strong{font-size:23px}.health-track{height:11px}.energy-row{gap:5px;flex-wrap:wrap}.energy-track{min-width:100%;height:3px}.energy-row span{font-size:5px}.clock b{font-size:39px}.clock span{font-size:5px}.guard-track{margin-top:5px}.controls{padding:14px 13px 20px;gap:8px;min-height:143px}.pad{width:87px;height:87px}.pad-knob{left:23px;top:23px;width:39px;height:39px}.pad-up{left:37px}.pad-left,.pad-right{top:28px}.control-hint{font-size:6px}.fight-tip{display:none}.action-zone{gap:8px;align-items:center}.action{height:61px;width:61px}.action-symbol{font-size:22px}.action strong{font-size:8px;letter-spacing:.5px}.action small{font-size:5px;bottom:-14px;max-width:67px;white-space:normal;line-height:1.15}.light{height:76px;width:76px}.light strong{font-size:10px}.light .action-symbol{font-size:28px}.heavy{margin-top:-25px}.guard{margin-top:26px}.announcement{font-size:75px;top:42%}.combo{top:29%;left:6%;font-size:12px}.combo b{font-size:50px}.callout{bottom:42px;font-size:10px}.panel{padding:20px 9px}.panel h2{font-size:66px}.panel p{font-size:11px;margin:12px 0 17px}.result-numbers{padding:14px 0}.result-numbers strong{font-size:35px}.result-details{font-size:9px;margin:11px 0}.result-panel .primary{margin-top:9px}dialog{padding:26px}.help-grid{gap:17px;grid-template-columns:1fr}dialog h2{font-size:57px}.help-grid p{font-size:12px}}
@media(max-height:550px) and (orientation:landscape){#app{padding:0 12px}.topbar{height:48px}.brand{font-size:14px}.brandmark{width:30px;height:30px;line-height:30px;font-size:25px}.brand small{display:none}.arena{height:calc(100svh - 55px);min-height:290px;max-height:none;border-radius:8px}.menu{padding:20px 30px}.menu .eyebrow{margin-bottom:10px}h1{font-size:61px}.tagline{font-size:11px;margin:10px 0}.bout{font-size:18px;margin:10px 0}.menu .primary{min-height:40px;padding:10px 16px}.menu .loading{font-size:8px}.match-note strong{font-size:21px}.preflight{position:absolute;right:30px;top:65px;padding:0;background:none;z-index:5}.preflight .record{display:none}.label{font-size:7px}.difficulty button{padding:6px 12px}.understage{border:0}.playing .controls{position:absolute;left:23px;right:23px;bottom:10px;z-index:5;padding:0;background:none;pointer-events:none}.controls button,.controls .pad{pointer-events:auto}.controls .pad{width:82px;height:82px;opacity:.8}.pad-knob{left:20px;top:20px}.pad-up{left:35px}.pad-left,.pad-right{top:26px}.controls .action{width:57px;height:57px;opacity:.9}.controls .light{width:72px;height:72px}.controls .action small,.control-hint,.keyboard-strip,footer,.fight-tip{display:none}.controls .action-zone{gap:12px}.hud{top:16px}.arena-label{display:none}.panel{width:360px;padding:10px}.panel .eyebrow{margin-bottom:9px}.panel h2{font-size:48px}.panel p{margin:9px 0}.result-numbers{padding:8px 0}.result-numbers strong{font-size:29px}.result-details{margin:7px 0}.panel .primary{margin-top:8px;min-height:38px;padding:9px 16px}.local-note{display:none}.announcement{font-size:70px}.playing #app{height:100svh}.playing{overflow:hidden}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.rush-vfx.active{opacity:.4}}

/* Fight cues stay close to the arena and never add a fourth touch action. */
.combo-guide{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 14px;border:1px solid #ffffff30;border-radius:6px;background:#090c13df;color:#e8e1d3;font-size:12px;font-weight:700;letter-spacing:.6px;white-space:nowrap;pointer-events:none}
.combo-dots{display:flex;align-items:center;gap:5px}.combo-dots i{display:block;width:9px;height:9px;border:1px solid #a39b90;border-radius:50%;background:#242832}.combo-dots i.complete{background:var(--gold);border-color:var(--gold);box-shadow:0 0 9px #ffc25377}.combo-dots b{color:var(--gold);font-size:18px;margin-left:2px}.finisher-ready{border-color:var(--gold);color:var(--gold);background:#211909eb}.heavy.finisher{border-color:var(--gold);color:var(--gold);box-shadow:0 0 22px #ffc25355}.panel .result-tip{font-size:13px;line-height:1.45;color:#e4d9c3;margin:10px 0}.result-match{font-size:12px}.local-note{font-size:11px;line-height:1.5}.callout{bottom:105px}.action strong{font-size:12px;letter-spacing:.25px}
@media(max-width:600px){.combo-guide{bottom:40px;padding:8px 10px;gap:7px;font-size:11px;letter-spacing:.2px}.callout{bottom:87px;font-size:11px;letter-spacing:1px}.action strong{font-size:10px}.light strong{font-size:12px}.energy-row span{font-size:9px;letter-spacing:0}.clock span{font-size:8px}.guard-track{height:3px}.panel .result-tip{font-size:12px}.local-note{font-size:10px}footer>span:nth-child(2){font-size:10px;line-height:1.5}.toolbar button{min-width:34px;min-height:34px}}
@media(max-height:550px) and (orientation:landscape){.combo-guide{bottom:20px;font-size:11px;padding:7px 10px}.callout{bottom:65px}.panel .result-tip{font-size:11px;line-height:1.3;margin:6px 0}.result-match{margin:5px 0;font-size:11px}.result-panel .eyebrow{display:none}}

/* v0.4: cinematic entry, quiet HUD chrome, separate damage echo. */
.menu{background:#080a10;padding:40px 5%}.key-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.menu:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#060910ed 0%,#060910ad 30%,#06091018 60%),linear-gradient(0deg,#05080ddd,transparent 30%);z-index:-1;pointer-events:none}.menu-copy{position:relative;width:48%}.menu h1{font-size:clamp(80px,8.1vw,122px);letter-spacing:-2px;filter:drop-shadow(0 5px 20px #000a)}.menu .eyebrow{letter-spacing:2px;color:#e2c8a3}.menu .tagline{color:#ddd4ca;font-weight:400}.menu .bout{border-top:1px solid #c6ac7c44;padding-top:15px;max-width:255px}.primary{background:linear-gradient(115deg,#ffdd8b,#f2b342);border:1px solid #ffe1a58c;box-shadow:0 4px 25px #ff941624}.match-note{bottom:35px}.match-note strong{font-size:23px;color:#fff3e5}.playing .backdrop{filter:brightness(.72) saturate(.82)}.playing .vignette{background:linear-gradient(0deg,#080a1255,transparent 30%,transparent 65%,#030711aa),radial-gradient(ellipse at 50% 55%,transparent 38%,#04091270)}
.hud{filter:drop-shadow(0 2px 8px #000b)}.fighter-name{margin-bottom:10px}.fighter-name strong{font-style:italic;font-size:31px}.health-track{position:relative;height:18px;padding:3px;background:#271c21d9;border-color:#d4c2ab66;box-shadow:0 2px 14px #0006}.health-track i{position:relative;z-index:1;height:100%;transition:width .08s linear}.health-track .health-echo{position:absolute;left:3px;top:3px;height:calc(100% - 6px);max-width:calc(100% - 6px);z-index:0;background:#fff1c5;box-shadow:none;opacity:.85;transition:width .5s ease .22s}.opponent .health-echo{left:auto;right:3px;background:#dffcff}.health-track.critical{border-color:#ff704bcc}.health-track.critical i:not(.health-echo){background:linear-gradient(90deg,#a62731,#ff774c)}.clock b{font-size:55px;text-shadow:0 1px 15px #d7cdb03b}.clock .urgent{color:#ff815f}.energy-track{height:5px;background:#d5c8b124}.combo-guide{background:#070b12c4;border-color:#c0ad873c;border-radius:3px;backdrop-filter:blur(6px)}.finisher-ready{border-color:#ffc253a6;background:#271a09e8}.callout{text-shadow:0 2px 8px #000}.result-panel{background:linear-gradient(155deg,#191e27f2,#080c14f2);border:1px solid #c3a5705e;box-shadow:0 24px 70px #0007;padding:28px 24px;border-radius:5px}.result-panel .eyebrow{color:#f5cb86}.result-panel h2{background:linear-gradient(#fff5db,#ffc35a);background-clip:text;color:transparent}.result-numbers{border-color:#bca97f44}
@media(max-width:600px){.menu{padding:25px 22px;align-items:flex-end}.key-art{object-position:64% 20%;height:67%;object-fit:cover}.menu:after{background:linear-gradient(0deg,#070b11 1%,#070b11 21%,#070b11cc 45%,transparent 75%),linear-gradient(90deg,#070b1144,transparent 70%)}.menu-copy{width:100%;pointer-events:auto}.menu h1{font-size:64px;line-height:.83;letter-spacing:-1px}.menu h1 br{display:none}.menu h1 em{display:block}.menu .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:12px}.menu .tagline{display:none}.menu .bout{font-size:17px;margin:13px 0 11px;padding-top:11px;max-width:none}.menu .start-row{flex-direction:row;align-items:center;gap:17px}.menu .primary{font-size:10px;padding:12px 14px;gap:15px}.menu .loading{margin-top:6px;font-size:9px;max-width:none}.menu .text-button{font-size:10px;white-space:nowrap}.match-note{display:none}.hud{gap:9px}.fighter-name strong{font-size:24px}.health-track{height:14px;padding:2px}.health-track .health-echo{top:2px;left:2px;height:calc(100% - 4px);max-width:calc(100% - 4px)}.opponent .health-echo{left:auto;right:2px}.clock b{font-size:41px}.result-panel{padding:20px 16px}.result-panel h2{font-size:64px}}
@media(max-height:550px) and (orientation:landscape){.menu{padding:18px 30px;align-items:center}.menu-copy{width:48%}.menu h1{font-size:59px}.menu .tagline{display:none}.menu .bout{margin:12px 0}.menu .eyebrow{font-size:7px;margin-bottom:10px}.result-panel{padding:12px 22px}.result-panel h2{font-size:46px}.hud{top:13px}.fighter-name strong{font-size:24px}.clock b{font-size:40px}.health-track{height:12px;padding:2px}.health-track .health-echo{top:2px;height:calc(100% - 4px)}}

@media(min-width:601px){.key-art{object-fit:contain;object-position:right center}}
@media(max-width:600px){.menu .title-dot{display:none}}

/* A percentage pan uses only the photograph's cropped surplus. Pin the photo
   and the painted soles to the same floor as the viewport changes shape. */
.playing .backdrop{background-position:var(--stage-focus,50%) var(--stage-floor,82%)}

.studio-link{display:inline-block;color:var(--gold,#ffd078);font-size:13px;padding:10px 0;text-decoration:none}.studio-link:hover{text-decoration:underline}

/* Timed defense uses the existing three controls. */
.combo-guide.counter-ready{border-color:#99f3ff;background:#062d35ec;overflow:hidden}.counter-window{position:absolute;left:0;bottom:0;height:3px;background:#b3f9ff;pointer-events:none}.action.light.counter-ready{background:#b8f4ff;color:#09232b;box-shadow:0 0 0 3px #73eaff70}.action.guard.perfect-window{border-color:#b3f9ff}.incoming{color:#ffd090!important;font-weight:800}.result-counter{font-size:12px;letter-spacing:.6px;color:#b9ecf2;margin:10px 0}

.difficulty-note{font-size:10px;line-height:1.4;color:#a3a4ad;margin:8px 0 0;max-width:300px}.style-choice{display:flex;align-items:center;gap:14px;margin-top:14px}.style-choice>span{font-size:9px;letter-spacing:1.5px;color:#92939e}.style-choice select{font:inherit;font-size:12px;min-height:44px;flex:1;min-width:0;border:1px solid #454650;border-radius:4px;padding:8px 10px;background:#1b1c22;color:#f4f0e9}.style-choice select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.preflight .difficulty{max-width:100%}

.training-button{min-height:52px;padding:14px 18px;background:#171b23;color:#eae5da;border:1px solid #8a7345;border-radius:4px;font-size:13px;font-weight:800;letter-spacing:.7px}
#training-menu{width:480px;max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:30px;overflow:auto}#training-menu h2{font-size:48px;margin-bottom:24px}#training-menu h2 span{color:var(--gold)}#training-menu label{display:block;font-size:14px;margin:12px 0 8px}#training-drill{width:100%;min-height:48px;background:#1b1c22;color:var(--white);border:1px solid #575960;border-radius:5px;font:inherit;font-size:16px;padding:10px}#training-description{font-size:16px;line-height:1.5;min-height:72px}#training-menu .training-note{font-size:13px;line-height:1.5;color:#bcb8b0}.training-coach{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:min(440px,calc(100% - 32px));z-index:5;display:flex;align-items:center;gap:12px;border:1px solid #626468;background:#0a1018ed;box-shadow:0 6px 24px #0005;border-radius:7px;padding:10px 12px}.training-coach>div{flex:1;min-width:0}.training-coach strong{font-size:14px;color:var(--gold)}#training-progress{display:block;font-size:12px;color:#bdcad2;margin-top:3px}#training-cue{font-size:13px;line-height:1.3;margin:5px 0 0;color:#f4f0e9}.training-coach button{min-width:48px;min-height:44px;background:#293541;border-radius:4px;font-size:12px;font-weight:700}.training-result-panel h2{font-size:64px}.training-result-panel h3{font-size:20px;margin:18px 0 5px}.training-result-panel .primary{margin-top:20px}.training .arena-label{display:none}
@media(max-width:600px){.start-row{gap:8px}.training-button{padding:12px;font-size:12px}.training-coach{bottom:24px}.training-result-panel h2{font-size:54px}}
@media(max-height:500px) and (orientation:landscape){#training-menu{padding:18px 24px}#training-menu h2{font-size:32px;margin:0 0 12px}#training-menu .eyebrow{margin-bottom:10px}#training-description{min-height:0;margin:8px 0}.training-result-panel{padding:10px}.training-result-panel h2{font-size:36px;line-height:.85}.training-result-panel h3{margin:8px 0 3px;font-size:16px}.training-result-panel p{margin:7px 0}.training-result-panel .eyebrow{margin-bottom:8px}.training-result-panel .primary{margin-top:10px;min-height:44px;padding:10px}.training-result-panel .secondary{min-height:40px;margin-top:5px}.training-result-panel .text-button{padding:7px}.training-coach{width:310px;bottom:18px;padding:8px 10px}.training-coach strong{font-size:13px}#training-cue{font-size:12px}}

/* Local mastery lives outside the fight and adds no combat buttons. */
.menu-links{display:flex;align-items:center;flex-wrap:wrap;gap:4px 22px}.menu-links .text-button{min-height:44px}.menu-links #progress-open{color:var(--gold)}
#progress-dialog{width:700px;max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:32px;background:linear-gradient(150deg,#20242d,#0c1018);border-color:#a48650;overscroll-behavior:contain}
#progress-dialog .dialog-close{width:44px;height:44px;top:10px;right:10px}#progress-dialog h2{font-size:64px;line-height:.9}#progress-dialog h2 em{color:var(--gold)}#progress-dialog .eyebrow{padding-right:35px;font-size:10px}
.mastery-summary{display:flex;gap:22px;align-items:center;margin:26px 0 16px}.mastery-badge{border-left:3px solid var(--gold);padding:0 16px}.mastery-badge span{display:block;letter-spacing:1.5px;font-size:10px;color:#c8ba9e}.mastery-badge strong{display:block;font:800 56px/1 'Barlow Condensed',Impact,sans-serif;color:var(--gold)}.mastery-detail{flex:1;min-width:0}.mastery-detail strong{font-size:14px}.mastery-detail span{font-size:13px;color:#b9c0cc;display:block}.mastery-detail progress{width:100%;height:8px;display:block;margin:10px 0;accent-color:var(--gold);border:0;border-radius:4px;overflow:hidden;background:#353841}.mastery-detail progress::-webkit-progress-bar{background:#353841}.mastery-detail progress::-webkit-progress-value{background:var(--gold)}.mastery-detail progress::-moz-progress-bar{background:var(--gold)}
.mastery-record{font-size:12px;letter-spacing:.5px;color:#c2c3cb;border-bottom:1px solid #48453e;padding-bottom:22px}.milestone-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:22px}.milestone-heading h3{margin:0;font-size:20px}.milestone-heading span{font-size:11px;color:var(--gold);white-space:nowrap}.mastery-explain,.mastery-note{font-size:13px;line-height:1.5;color:#b9bfc9}.mastery-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.milestone{position:relative;min-width:0;border:1px solid #404550;border-radius:5px;padding:16px;background:#121721}.milestone.unlocked{border-color:#aa884a;background:linear-gradient(135deg,#40301b77,#151921)}.milestone h3{margin:0 24px 8px 0;font-size:17px}.milestone p{font-size:13px;line-height:1.45;color:#c0c2cb;min-height:38px;margin:8px 0 16px}.milestone-number{position:absolute;right:13px;top:14px;font-size:12px;color:#90939d}.milestone-count{font-size:10px;letter-spacing:.8px;color:#aeb6c4;display:block;margin-bottom:10px}.unlocked .milestone-count{color:var(--gold)}.title-equip{width:100%;min-height:44px;background:#242c38;border:1px solid #566273;border-radius:4px;font-size:13px;text-align:left;padding:10px 12px;line-height:1.3}.title-equip[aria-pressed=true]{color:var(--gold);border-color:var(--gold);background:#ffca5912}.title-equip:disabled{opacity:1;color:#8c929d;background:#171e28;border-color:#343b48;cursor:default}.default-title{margin-top:14px}.mastery-note{border-top:1px solid #48453e;padding-top:16px;margin-bottom:0}#mastery-status{font-size:13px;color:var(--gold);min-height:18px;margin:12px 0}
@media(max-width:600px){#progress-dialog{padding:24px 20px}#progress-dialog h2{font-size:54px}.mastery-list{grid-template-columns:1fr}.mastery-summary{gap:12px}.mastery-badge{padding:0 12px}.mastery-detail strong{font-size:12px}.mastery-record{font-size:11px}.menu .menu-links .text-button{font-size:12px}.menu-links{gap:4px 18px}}
@media(max-height:550px) and (orientation:landscape){#progress-dialog{padding:24px}#progress-dialog h2{font-size:42px}.menu .menu-links{gap:0 18px}.menu .menu-links .text-button{font-size:11px}.menu .loading{margin-top:0}}

#progress-done{margin-top:20px;min-height:44px}
.comparison{display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center;border:1px solid #47423a;background:linear-gradient(100deg,#211d17,#101620);padding:16px 22px;margin-bottom:14px;border-radius:7px}
.comparison strong{display:block;font:700 23px/1.1 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px;color:#fbd08a;margin-top:5px}.comparison .label{font-size:9px}.comparison nav{display:flex;gap:8px}.comparison nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 16px;border:1px solid #525660;color:#d4d9e2;border-radius:4px;text-decoration:none;font-size:13px;background:#151b25}.comparison nav a[aria-current=page]{border-color:#f3c373;background:#f3c373;color:#1e170e;font-weight:800}.comparison p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.45;color:#bfc3ca}.comparison a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.arena-choice{max-width:250px}.arena-choice select{display:block;margin-top:8px;min-height:44px;width:100%;padding:9px 12px;font:inherit;font-size:13px;background:#19202c;border:1px solid #69543b;color:#fff1d9;border-radius:4px}.arena-choice p{color:#adb5c2;font-size:11px;line-height:1.4;margin:8px 0 0}.arena-choice select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.preflight{flex-wrap:wrap}.arena-label b{font-weight:500}.menu .eyebrow b{font-weight:500}.playing .comparison{display:none}.loading{max-width:390px;line-height:1.45}.playing .arena{min-height:420px}
.versus{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:28px;pointer-events:none;background:linear-gradient(90deg,#070d1b8a,transparent 45%,#070d1b8a);padding:90px 28px 70px}.versus-card{position:relative;width:27%;max-width:250px;text-align:center;border-bottom:3px solid #f0b765;padding:15px 10px;background:linear-gradient(0deg,#0b111ee8,#0b111e00 90%)}.versus-card span{display:block;font-size:9px;letter-spacing:2px;color:#f5d3a0}.versus-card strong{font:800 clamp(26px,4vw,60px)/1 'Barlow Condensed',Impact,sans-serif;display:block;margin-top:6px;color:#ffe6bd;text-shadow:0 3px 12px #000}.versus-card.shadow-card{border-color:#77d6ef}.shadow-card span{color:#aeeaff}.shadow-card strong{color:#d3f5ff}.versus-center{text-align:center;max-width:180px}.versus-center>b{display:block;font:italic 900 70px/1 'Barlow Condensed',Impact,sans-serif;color:#f9cc80;text-shadow:0 0 24px #d3984944}.versus-center>span{display:block;font-size:9px;letter-spacing:2px;line-height:1.5;margin:12px 0}.versus-center small{display:block;font-size:11px;font-weight:700;color:#ffc66f}.apk-portrait{display:none;width:100%;height:min(230px,30vh);object-fit:cover;object-position:center 22%;border-radius:3px;margin-bottom:14px}body[data-fighters=apk] .apk-portrait{display:block}.versus[hidden]{display:none}
@media(max-width:800px){.comparison{padding:13px 16px;gap:10px;grid-template-columns:1fr}.comparison nav{width:100%}.comparison nav a{flex:1;padding:9px 11px}.comparison strong{font-size:20px}.comparison p{font-size:11px}.preflight{gap:20px}.arena-choice{max-width:none;flex-basis:100%}.arena-choice select{width:100%}.versus{gap:8px;padding:92px 12px 75px}.versus-card{width:34%;padding:10px 5px}.versus-card span{font-size:7px;letter-spacing:.5px}.versus-card strong{font-size:31px}.versus-center{max-width:80px}.versus-center>b{font-size:47px}.versus-center>span{font-size:7px;letter-spacing:.7px}.apk-portrait{height:175px}.versus-center small{font-size:9px}}
@media(max-width:600px){.playing .arena{min-height:340px;height:calc(100svh - 233px)}.comparison .label{font-size:8px}.comparison{margin-bottom:10px}.preflight .record{align-self:flex-end}.loading{font-size:11px!important}.menu .start-row{gap:10px}.menu .training-button{font-size:10px;padding:12px 9px}}
@media(max-height:550px) and (orientation:landscape){.comparison{padding:8px 14px;grid-template-columns:1fr auto;margin-bottom:8px}.comparison strong{font-size:16px}.comparison nav a{min-height:40px;font-size:11px}.comparison p{display:none}.comparison .label{font-size:7px}.preflight{position:relative;inset:auto;padding:16px 24px;display:flex;gap:24px;align-items:start;background:#10131b}.preflight .arena-choice{flex-basis:auto;max-width:230px}.preflight .difficulty{max-width:310px}.playing .arena{height:calc(100svh - 55px);min-height:260px}.versus{padding:60px 70px 35px;gap:20px}.apk-portrait{height:110px;margin-bottom:5px}.versus-card{max-width:150px;padding:5px}.versus-card strong{font-size:29px}.versus-center>b{font-size:52px}.versus-center>span{margin:6px 0}.versus-card span{font-size:7px}}
@media(max-width:1000px){.fighter-name{flex-direction:column;align-items:flex-start;gap:3px}.opponent .fighter-name{flex-direction:column;align-items:flex-end}.fighter-name span{display:block;max-width:100%;font-size:8px;letter-spacing:.3px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Variant B introduces the actual Rocky / Shadow artwork without changing menu actions. */
.apk-keyart{display:none}
body[data-fighters=apk] .menu>.key-art{display:none}
body[data-fighters=apk] .apk-keyart{display:grid;grid-template-columns:1fr 1fr;position:absolute;inset:0 0 0 43%;z-index:-2;overflow:hidden;background:#10131b}
.apk-keyart img{width:100%;height:100%;min-width:0;object-fit:cover;object-position:center 20%}
body[data-fighters=apk] .menu:after{background:linear-gradient(90deg,#070b11 0%,#070b11f2 30%,#070b1155 48%,transparent 66%),linear-gradient(0deg,#05080ddd,transparent 30%)}
@media(max-width:600px){body[data-fighters=apk] .apk-keyart{inset:0 0 32% 0}.apk-keyart img{object-position:center 15%}body[data-fighters=apk] .menu:after{background:linear-gradient(0deg,#070b11 0%,#070b11 23%,#070b11c9 43%,transparent 78%)}body[data-fighters=apk] .menu h1{font-size:59px}}
@media(max-height:550px) and (orientation:landscape){body[data-fighters=apk] .apk-keyart{inset:0 0 0 43%}.apk-keyart img{object-position:center 13%}}
/* First Strike: character choice stays separate from visual variant. */
.fighter-select{margin-bottom:14px;padding:18px 22px;border:1px solid #353b45;border-radius:7px;background:#10151d}.fighter-select-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.fighter-select-heading .label{margin:0;color:#d2d7e0}.fighter-select-heading>span:last-child{font-size:9px;letter-spacing:1.5px;color:#8c95a4}.fighter-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fighter-card{display:flex;align-items:center;gap:16px;text-align:left;background:#171b24;border:1px solid #434652;border-radius:5px;padding:0 16px 0 0;min-width:0;overflow:hidden;min-height:88px}.fighter-card img{width:80px;height:88px;object-fit:cover;object-position:center 20%;filter:saturate(.5);flex-shrink:0}.fighter-card>span{flex:1;min-width:0}.fighter-card strong{display:block;font:800 30px/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:1px}.fighter-card b{display:block;color:#e9b976;font-size:10px;letter-spacing:1px;margin:7px 0}.fighter-card small{display:block;font-size:12px;color:#b1bdca}.fighter-card i{font-style:normal;font-size:24px;color:#717b8b}.fighter-card.shadow b{color:#8fdff5}.fighter-card[aria-pressed=true]{background:linear-gradient(110deg,#4c321d70,#191d26);border-color:#ffc253;box-shadow:inset 0 0 0 1px #ffc25355}.fighter-card.shadow[aria-pressed=true]{background:linear-gradient(110deg,#19475d70,#191d26);border-color:#71d4ef;box-shadow:inset 0 0 0 1px #71d4ef55}.fighter-card[aria-pressed=true] img{filter:none}.fighter-card[aria-pressed=true] i{color:#fff}.fighter-choice-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px}.fighter-choice-note p{font-size:12px;color:#b9c5d4;line-height:1.5;margin:0}.fighter-choice-note button{flex-shrink:0;min-height:44px;color:#e9c287}.playing .fighter-select{display:none}#moves-dialog{width:min(680px,94vw)}.moves-tradeoff{color:#c8d3e1;line-height:1.5}.moves-list{display:grid;gap:12px;margin:22px 0}.moves-list article{border:1px solid #3c4c60;border-left:3px solid var(--gold);padding:15px;background:#131b27;border-radius:4px}.moves-list h3{font-size:14px;letter-spacing:1px;color:#ffce84;margin:0 0 12px}.moves-list strong{display:block;font-size:13px;line-height:1.5}.moves-list small{display:block;color:#8fdcf4;letter-spacing:1px;margin:8px 0}.moves-list p{font-size:13px;line-height:1.45;color:#b4c1d3;margin:0}.combo-guide{max-width:calc(100% - 30px)}#combo-guide-label{text-align:center;line-height:1.4}
@media(max-width:650px){.fighter-select{padding:13px 12px}.fighter-select-heading>span:last-child{font-size:7px;letter-spacing:.5px}.fighter-options{gap:8px}.fighter-card{gap:8px;padding-right:6px;min-height:83px}.fighter-card img{width:48px;height:83px}.fighter-card strong{font-size:25px}.fighter-card b{font-size:8px;line-height:1.4;letter-spacing:.3px;margin:5px 0}.fighter-card small{display:none}.fighter-card i{display:none}.fighter-choice-note{display:block;margin-top:10px}.fighter-choice-note p{font-size:11px}.fighter-choice-note button{padding:6px 0;min-height:35px;font-size:12px}#moves-dialog{padding:25px 18px}.moves-list strong{font-size:12px}.combo-guide{gap:7px;padding:8px 10px}#combo-guide-label{font-size:9px;letter-spacing:.6px}}
@media(max-height:550px) and (orientation:landscape){.fighter-select{padding:12px 20px}.fighter-card{min-height:70px}.fighter-card img{height:70px;width:64px}.fighter-card strong{font-size:26px}.fighter-choice-note{margin-top:3px}.fighter-select-heading{margin-bottom:8px}}

/* Fullscreen keeps the whole document scrollable, including menu dialogs. */
html:fullscreen{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;background:var(--ink)}
html:fullscreen body{min-height:100%}
body:not(.playing) canvas{touch-action:pan-y pinch-zoom}
dialog{overscroll-behavior:contain}

/* Short landscape screens: fighter choice beside the launch panel. */
@media(max-height:550px) and (orientation:landscape){
 #app{padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}
 body:not(.playing) #app{display:grid;grid-template-columns:minmax(220px,28%) minmax(0,1fr);gap:8px;align-items:start}
 .topbar{height:44px;gap:12px}
 body:not(.playing) .topbar,body:not(.playing) .comparison,body:not(.playing) .understage{grid-column:1/-1}
 .toolbar button{width:36px;height:36px}
 .comparison{padding:6px 10px;margin:0;gap:8px;grid-template-columns:1fr auto}
 .comparison .label,.comparison p{display:none}
 .comparison strong{font-size:16px;margin:0;letter-spacing:.5px}
 .comparison nav{width:auto;gap:6px}
 .comparison nav a{min-height:36px;padding:6px 12px;font-size:11px;white-space:nowrap}
 .fighter-select{padding:10px;margin:0;min-width:0}
 .fighter-select-heading{margin-bottom:8px}
 .fighter-select-heading .label{font-size:8px;letter-spacing:1px}
 .fighter-select-heading>span:last-child{display:none}
 .fighter-options{grid-template-columns:1fr;gap:6px}
 .fighter-card{min-height:56px;gap:10px;padding-right:8px}
 .fighter-card img{height:56px;width:46px}
 .fighter-card strong{font-size:24px}
 .fighter-card b{font-size:8px;line-height:1.2;letter-spacing:.3px;margin:4px 0 0}
 .fighter-card small,.fighter-card i{display:none}
 .fighter-choice-note{display:block;margin-top:7px}
 .fighter-choice-note p{font-size:11px;line-height:1.4}
 .fighter-choice-note button{min-height:36px;padding:7px 0;font-size:12px}
 body:not(.playing) .arena{height:max(248px,calc(100svh - 120px));height:max(248px,calc(100dvh - 120px));min-height:0;max-height:none;min-width:0}
 .menu{padding:12px 18px;align-items:center}
 .menu-copy{width:100%;max-width:360px}
 .menu .eyebrow,.menu .tagline,.match-note{display:none}
 .menu h1,body[data-fighters=apk] .menu h1{font-size:46px;letter-spacing:-1px}
 .menu .bout{font-size:16px;margin:8px 0;padding-top:7px}
 .menu .start-row{flex-direction:row;align-items:center;gap:8px}
 .menu .primary,.menu .training-button{min-height:44px;padding:10px 12px;font-size:10px;letter-spacing:.5px;gap:14px}
 .menu .menu-links{gap:0 14px}
 .menu .menu-links .text-button{min-height:32px;padding:6px 0;font-size:11px}
 .menu .loading{font-size:10px!important;line-height:1.3;margin:0}
 .preflight{padding:14px 18px;gap:20px}
 .preflight .arena-choice,.preflight .difficulty{flex:1;max-width:none}
 .preflight .arena-choice select,.preflight .difficulty button{min-height:40px}
 .playing #app{position:relative;display:block;height:100svh;height:100dvh;overflow:hidden}
 .playing .arena{height:calc(100svh - 48px);height:calc(100dvh - 48px - env(safe-area-inset-bottom));min-height:0;max-height:none}
 .playing .controls{left:max(23px,env(safe-area-inset-left));right:max(23px,env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));min-height:0}
 .modal-overlay{overflow-y:auto;overscroll-behavior:contain;align-items:flex-start;padding:10px 0}
 .modal-overlay>.panel{margin:auto;flex-shrink:0}
}
@media(max-width:700px) and (max-height:550px) and (orientation:landscape){
 body:not(.playing) #app{grid-template-columns:200px minmax(0,1fr)}
 .menu{padding:12px}
 .menu h1,body[data-fighters=apk] .menu h1{font-size:40px}
 .menu .primary,.menu .training-button{padding:10px 8px;gap:6px;font-size:9px}
}
