:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ink:#120d13;--plum:#261521;--plum-soft:#3a2130;--paper:#f1ead8;--paper-dim:#cfc3ac;--amber:#f4b632;--orange:#e47c32;--danger:#c93645;--teal:#9ed0bf;--line:#f1ead833;--display-font:"Arial Narrow", "Avenir Next Condensed", "Helvetica Neue", "Liberation Sans Narrow", sans-serif;font-synthesis:none;text-rendering:optimizelegibility;font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:var(--ink);min-height:100vh;color:var(--paper)}button{font:inherit}button:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.host-probe{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;overflow:hidden}.app-shell{background:radial-gradient(circle at 78% 12%, #59293659, transparent 32rem), var(--ink);min-height:100vh;overflow:hidden}.app-shell:before{z-index:10;pointer-events:none;opacity:.16;content:"";mix-blend-mode:soft-light;background-image:repeating-linear-gradient(0deg,#f1ead829 0 1px,#0000 1px 4px);position:fixed;inset:0}.site-header{z-index:2;min-height:68px;padding:0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left));border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative}.header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.wordmark{color:var(--paper);font-family:var(--display-font);letter-spacing:.14em;justify-self:start;font-size:1.02rem;font-weight:800;font-stretch:75%}.wordmark span{color:var(--amber)}.header-note{color:var(--paper-dim);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.75rem}.audio-toggle{border:1px solid var(--line);width:44px;min-width:44px;min-height:44px;color:var(--paper-dim);cursor:pointer;background:0 0;place-items:center;padding:8px;display:inline-grid}.audio-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;display:block;overflow:visible}.audio-toggle:hover,.audio-toggle[aria-pressed=false]{border-color:var(--amber);color:var(--amber)}.audio-toggle[aria-pressed=true]{border-color:var(--teal);color:var(--teal)}.exit-button{color:#ffb0b4;cursor:pointer;background:0 0;border:1px solid #c93645a6;place-items:center;width:44px;min-width:44px;min-height:44px;padding:8px;display:inline-grid}.exit-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;display:block;overflow:visible}.exit-button:hover{border-color:var(--danger);color:#ffd0d2;background:#c936451f}.settings-button{border:1px solid var(--line);min-height:44px;color:var(--paper-dim);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:8px 12px;font-size:.66rem}.settings-button:hover,.settings-button[aria-expanded=true]{border-color:var(--teal);color:var(--teal)}.start-screen{isolation:isolate;min-height:100svh;padding:max(28px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:var(--ink);display:grid;position:relative;overflow:hidden}.key-art-backdrop,.key-art-shade{position:absolute;inset:0}.key-art-backdrop{z-index:-3;filter:saturate(1.03)contrast(1.03);background-position:50%;background-repeat:no-repeat;background-size:cover}.key-art-shade{z-index:-2;background:linear-gradient(#0c080a4d 0%,#0c080a05 32%,#0c080a0f 53%,#0c080ae6 100%),linear-gradient(90deg,#0c080a2e,#0000 25% 75%,#0c080a2e)}.menu-branding{z-index:1;text-align:center;place-self:start center;width:min(100%,480px);padding-top:clamp(8px,4vh,48px)}.arcade-logo{color:var(--paper);font-family:Impact, Haettenschweiler, "Arial Narrow", var(--display-font);letter-spacing:-.08em;text-shadow:4px 4px 0 var(--ink), 7px 7px 0 #e47c32cc, 0 12px 28px #0000008c;flex-direction:column;align-items:center;margin:0;font-size:clamp(3.3rem,8vw,7rem);font-style:italic;font-weight:900;font-stretch:75%;line-height:.72;display:inline-flex;position:relative;transform:skew(-7deg)rotate(-2deg)}.arcade-logo:before,.arcade-logo:after{background:var(--amber);content:"";height:5px;position:absolute;transform:skew(7deg)}.arcade-logo:before{width:42%;top:-12px;right:-20px}.arcade-logo:after{background:var(--orange);width:31%;bottom:-13px;left:-18px}.arcade-logo__line{display:block}.arcade-logo__line--top{padding-right:.14em}.arcade-logo__line--bottom{color:var(--amber);letter-spacing:-.1em;font-size:.78em}.menu-sticker{color:var(--ink);letter-spacing:.035em;background:#f1ead8eb;border:1px solid #120d13a6;margin:clamp(24px,4vh,42px) 0 0;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(.57rem,1vw,.68rem);font-weight:700;line-height:1.2;display:inline-block;transform:rotate(-2deg)}.content-rating{text-align:left;background:#120d13d6;border:1px solid #f4b632d1;gap:4px;width:min(100%,360px);margin:16px auto 0;padding:10px 14px 11px;display:grid;position:relative;transform:rotate(1deg);box-shadow:5px 5px #e47c32c2}.content-rating:before{background:var(--teal);content:"";width:42px;height:3px;position:absolute;top:0;left:0}.content-rating strong{color:var(--amber);font-family:var(--display-font);letter-spacing:.04em;text-transform:uppercase;font-size:.92rem}.content-rating span{color:var(--paper-dim);font-size:.66rem;line-height:1.35}.menu-sheet{z-index:1;width:min(1240px,100%);padding:20px clamp(16px, 3vw, 34px) max(10px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:linear-gradient(90deg,#120d13e0,#120d13c2);border-top:1px solid #f4b63294;grid-template-columns:minmax(190px,.34fr) minmax(0,1fr);align-self:end;gap:clamp(24px,4vw,64px);margin:0 auto;display:grid;box-shadow:0 -20px 50px #00000038}.menu-options{gap:18px;min-width:0;display:grid}.start-action{text-align:left;align-self:center}.primary-action{border:1px solid var(--amber);background:var(--amber);min-height:56px;color:var(--ink);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;padding:14px 24px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.87rem;font-weight:800;transition:transform .16s ease-out,background-color .16s ease-out,box-shadow .16s ease-out;box-shadow:0 8px 24px #f4b6322e}.primary-action span{margin-left:12px;font-size:1.25rem;transition:transform .16s ease-out;display:inline-block}.primary-action:hover{background:#ffd35f;transform:translateY(-2px);box-shadow:0 12px 30px #f4b63247}.primary-action:hover span{transform:translate(4px)}.primary-action:disabled{color:#312b29;cursor:not-allowed;box-shadow:none;background:#82796d;border-color:#82796d;transform:none}.primary-action:disabled span{transform:none}.start-action p{color:var(--paper-dim);margin:13px 0 0;font-size:.75rem;line-height:1.4}.start-action .orientation-hint{color:var(--teal);margin-top:6px;font-size:.64rem}.error-state{border:1px solid var(--danger);color:#ffb0b4;max-width:36ch;margin:16px auto 0;padding:10px 12px;font-size:.75rem;line-height:1.35}.tutorial-link{color:var(--paper);cursor:pointer;letter-spacing:.06em;text-underline-offset:3px;text-transform:uppercase;background:0 0;border:0;margin-top:14px;padding:5px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.67rem;text-decoration:underline;display:inline-block}.tutorial-link:hover{color:var(--amber)}.pwa-update{margin-top:14px}.pwa-update__hint{color:var(--teal);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.64rem}.pwa-update__action{margin-top:5px}.pwa-update__action:disabled{color:var(--paper-dim);cursor:not-allowed;text-decoration:none}.mode-picker{min-width:0}.mode-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;display:grid}.mode-choice{border:1px solid var(--line);min-width:0;min-height:70px;color:var(--paper);cursor:pointer;text-align:left;background:#3a21308f;flex-direction:column;justify-content:space-between;padding:9px 10px 8px;transition:border-color .16s ease-out,background-color .16s ease-out,transform .16s ease-out;display:flex}.mode-choice:hover,.mode-choice--selected{border-color:var(--amber);background:#3a2130e6;transform:translateY(-2px)}.mode-choice--selected{box-shadow:inset 0 -3px 0 var(--amber)}.mode-choice__index{color:var(--orange);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem}.mode-choice__copy{flex-direction:column;gap:3px;min-width:0;display:flex}.mode-choice__copy strong{color:var(--amber);font-family:var(--display-font);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;font-stretch:75%;overflow:hidden}.mode-choice__copy span{color:var(--paper-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;line-height:1.25;overflow:hidden}.training-picker{border-left:3px solid var(--orange);background:#3a2130ad;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;padding:10px 12px;display:flex}.training-picker h3,.training-picker p{margin:0}.training-picker h3{color:var(--paper);font-family:var(--display-font);font-size:.92rem}.training-picker p{color:var(--paper-dim);margin-top:3px;font-size:.62rem}.dummy-list{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.dummy-list button{border:1px solid var(--line);min-height:32px;color:var(--paper-dim);cursor:pointer;text-transform:uppercase;background:0 0;padding:6px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem}.dummy-list button:hover,.dummy-choice--selected{border-color:var(--amber)!important;color:var(--amber)!important}.stage-picker{align-self:center;min-width:0}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:12px;display:flex}.section-heading h2,.keyboard-help h2{font-family:var(--display-font);letter-spacing:-.04em;margin:0 0 10px;font-size:1.4rem;font-stretch:75%}.section-heading p{color:var(--paper-dim);margin:0 0 10px;font-size:.75rem}.stage-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.stage-choice{border:1px solid var(--line);min-height:68px;color:var(--paper);cursor:pointer;text-align:left;background:#3a21308f;grid-template-rows:1fr auto;grid-template-columns:52px minmax(0,1fr);padding:0;transition:border-color .16s ease-out,background-color .16s ease-out,transform .16s ease-out;display:grid;overflow:hidden}.stage-choice:hover,.stage-choice--selected{border-color:var(--amber);background:#3a2130e6;transform:translateY(-2px)}.stage-choice--selected{box-shadow:inset 0 -3px 0 var(--amber)}.stage-choice__image{background:linear-gradient(90deg, #120d130d, #120d13b3), var(--stage-image) center / cover;filter:saturate(.88);grid-row:1/-1;min-height:68px}.stage-choice__image--random{background:linear-gradient(135deg, var(--orange), var(--plum-soft) 52%, var(--teal))}.stage-choice__copy{flex-direction:column;justify-content:center;gap:3px;min-width:0;padding:8px 9px 5px;display:flex}.stage-choice__copy strong{color:var(--amber);font-family:var(--display-font);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-stretch:75%;overflow:hidden}.stage-choice__copy span{color:var(--paper-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;line-height:1.25;overflow:hidden}.stage-choice__mark{color:var(--paper-dim);letter-spacing:.08em;text-transform:uppercase;grid-column:2;padding:0 9px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.56rem}.stage-choice--selected .stage-choice__mark{color:var(--amber)}.connection-tools,.connection-surface{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-top:12px;display:flex}.connection-tools h2,.connection-surface h2{color:var(--paper);font-family:var(--display-font);margin:0 0 3px;font-size:1rem}.connection-tools p,.connection-surface p{color:var(--paper-dim);margin:0;font-size:.64rem;line-height:1.35}.connection-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.connection-status{color:var(--paper-dim);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem}.connection-status strong{color:var(--teal)}.visual-settings{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding-top:12px;display:flex}.visual-settings__copy{min-width:0}.visual-settings h2{color:var(--paper);font-family:var(--display-font);margin:0 0 3px;font-size:1rem}.visual-settings p{max-width:66ch;color:var(--paper-dim);margin:0;font-size:.64rem;line-height:1.4}.visual-settings__copy #visual-settings-description{color:var(--amber);font-family:var(--display-font);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:700}.visual-settings__copy .content-note{margin-top:3px}.visual-settings__copy .motion-note{color:var(--teal);margin-top:4px}.visual-toggle{border:1px solid var(--line);min-height:44px;color:var(--paper);cursor:pointer;letter-spacing:.04em;text-transform:uppercase;flex:none;align-items:center;gap:9px;padding:7px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:flex}.visual-toggle:hover{border-color:var(--amber);color:var(--amber)}.visual-toggle:has(input:focus-visible){border-color:var(--amber);color:var(--amber)}.visual-toggle input{width:19px;height:19px;accent-color:var(--amber);cursor:pointer;margin:0}.visual-settings__controls{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.surface-toggle{color:var(--paper-dim);text-transform:uppercase;align-items:center;gap:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;display:inline-flex}.surface-toggle input{width:17px;height:17px;accent-color:var(--amber)}.fight-screen{width:min(1180px,100%);padding:24px max(20px, env(safe-area-inset-right)) max(48px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));margin:0 auto}.combat-hud{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);align-items:start;gap:clamp(18px,3vw,42px);padding:10px 0 18px;display:grid}.fighter-hud--p2{text-align:right}.fighter-hud__label{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:9px;display:flex}.fighter-hud__label strong{color:var(--amber);font-family:var(--display-font);letter-spacing:-.04em;font-size:1.45rem;font-stretch:75%}.fighter-hud--p2 .fighter-hud__label strong{color:var(--teal)}.fighter-hud__label span,.meter-line,.resource-row{color:var(--paper-dim);font-size:.68rem}.meter-line,.resource-row{justify-content:space-between;gap:8px;display:flex}.meter-line{margin-bottom:4px}.meter-line strong,.resource-row strong{color:var(--paper);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;font-weight:500}.meter{background:#f1ead81f;border:1px solid #f1ead84d;height:10px;margin-bottom:8px;overflow:hidden}.meter span{background:var(--amber);height:100%;display:block}.fighter-hud--p2 .meter span{float:right;background:var(--teal)}.meter--resource{height:5px;margin:4px 0 2px}.meter--resource span{background:var(--orange)}.meter--special{height:4px;margin-top:0}.meter--special span{background:var(--amber)}.match-center{text-align:center;flex-direction:column;align-items:center;gap:7px;padding-top:5px;display:flex}.round-label,.phase-label{color:var(--paper-dim);letter-spacing:.1em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.64rem}.round-markers{align-items:center;gap:5px;display:flex}.round-markers>span:not(.round-vs){border:2px solid var(--paper-dim);border-radius:50%;width:14px;height:14px;display:block}.round-markers .round-marker--won{border-color:var(--amber);background:var(--amber)}.round-markers .round-marker--p2{border-color:var(--teal);background:var(--teal)}.round-vs{color:var(--paper-dim);margin:0 3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem}.timer{color:var(--paper);letter-spacing:-.05em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.45rem}.phase-label{color:var(--amber);font-size:.58rem}.live-status{min-height:24px;color:var(--paper);letter-spacing:.04em;text-align:center;text-transform:uppercase;margin:0 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.live-status span{color:var(--amber)}.training-runtime{color:var(--paper-dim);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:0 auto 13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;display:flex}.training-runtime button{border:1px solid var(--line);color:var(--paper-dim);cursor:pointer;font:inherit;background:0 0;padding:6px 8px;font-size:.6rem}.training-runtime button:hover,.training-runtime .runtime-choice--selected{border-color:var(--amber);color:var(--amber)}.training-runtime .runtime-reset{border-color:var(--orange);color:var(--orange);margin-left:5px}.versus-note{color:var(--teal);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0 0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem}.arena-wrap{width:100%}.arena-heading{color:var(--paper-dim);letter-spacing:.11em;text-transform:uppercase;justify-content:space-between;margin-bottom:7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;display:flex}.arena-heading span:first-child{color:var(--amber)}.arena-viewport{position:relative;overflow:hidden}.arena-canvas{aspect-ratio:16/9;background:var(--plum);border:1px solid #f1ead847;width:100%;display:block;box-shadow:0 16px 42px #0000005c}.arena-overlay{z-index:1;-webkit-backdrop-filter:brightness(.48)saturate(.7);backdrop-filter:brightness(.48)saturate(.7);background:#120d13ad;place-items:center;display:grid;position:absolute;inset:0}.arena-overlay__start{border:2px solid var(--amber);min-width:min(360px,100% - 32px);max-width:calc(100% - 32px);color:var(--paper);cursor:pointer;text-align:center;background:#120d13c7;justify-items:center;gap:14px;padding:clamp(22px,5vw,44px) clamp(24px,7vw,72px);display:grid;box-shadow:0 0 0 1px #f4b63233,0 18px 40px #0000006b}.arena-overlay__start:hover{background:#f4b63229}.arena-overlay__prompt{color:var(--amber);font-family:var(--display-font);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(1.55rem,4vw,4rem);font-weight:800;font-stretch:75%;line-height:.9}.arena-overlay__hint{color:var(--paper-dim);letter-spacing:.12em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:clamp(.62rem,1.2vw,.8rem)}.arena-overlay__countdown{color:var(--amber);font-family:var(--display-font);letter-spacing:-.08em;text-shadow:0 5px 0 var(--orange), 0 18px 38px #00000080;font-size:clamp(5rem,18vw,12rem);font-weight:900;font-stretch:75%;line-height:.72}.arena-overlay--countdown{background:#120d136b}.arena-overlay--result{z-index:2;background:#120d13b8;padding:10px}.arena-result-panel{width:min(660px,100%);max-height:calc(100% - 8px);margin:0;padding:clamp(16px,3vw,30px);overflow:auto}.arena-result-summary{margin-top:10px!important}.live-status[data-round-gate=round-ready],.live-status[data-round-gate=outcome]{color:var(--amber)}.arena-caption{color:var(--paper-dim);margin:7px 0 0;font-size:.72rem}.connection-surface{border:1px solid var(--line);background:#3a213075;margin:0 0 13px;padding:11px 12px}.state-panel{border:1px solid var(--amber);background:var(--paper);max-width:660px;color:var(--ink);text-align:center;margin:28px auto 0;padding:clamp(24px,5vw,42px);box-shadow:0 18px 42px #00000059}.state-panel--result{border-color:var(--teal)}.state-panel__stamp{color:#764b20;letter-spacing:.13em;text-transform:uppercase;margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem}.state-panel h2{font-family:var(--display-font);letter-spacing:-.06em;margin:0;font-size:clamp(2rem,5vw,3.2rem);font-stretch:75%;line-height:.95}.state-panel p:not(.state-panel__stamp){color:#493f36;max-width:42ch;margin:14px auto 0;line-height:1.45}.state-panel__actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px;display:flex}.state-panel .primary-action{box-shadow:none}.quiet-action{min-height:56px;color:var(--ink);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:0 0;border:1px solid #8f7d68;padding:14px 20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem}.quiet-action:hover{border-color:var(--ink);background:#120d1314}.result-grid{text-align:left;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;max-width:540px;margin:22px auto 0;display:grid}.result-grid>div{background:#120d130d;border:1px solid #120d132e;padding:10px}.result-grid dt{color:#764b20;letter-spacing:.08em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.59rem}.result-grid dd{color:var(--ink);margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem;font-weight:700}.result-persistence{font-size:.68rem;color:#764b20!important;margin-top:15px!important}.result-persistence--pending{color:#8e303a!important}.touch-controls,.touch-controls-pair,.touch-player-heading{display:none}.keyboard-help{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin-top:30px;padding:17px 0;display:flex}.keyboard-help h2{margin-bottom:5px;font-size:1.15rem}.keyboard-help p{color:var(--paper-dim);margin:0;font-size:.72rem}.keyboard-help dl{flex-wrap:wrap;justify-content:flex-end;gap:12px 16px;margin:0;display:flex}.keyboard-help dl>div{align-items:center;gap:6px;display:flex}.keyboard-help dt{gap:3px;display:flex}.keyboard-help dd{color:var(--paper-dim);margin:0;font-size:.68rem}kbd{background:var(--plum-soft);min-width:24px;min-height:24px;color:var(--paper);border:1px solid #f1ead873;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:inline-grid}.tutorial-backdrop{z-index:20;background:#120d13c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.tutorial-dialog{border:1px solid var(--amber);background:var(--paper);width:min(460px,100%);color:var(--ink);padding:clamp(26px,5vw,42px);position:relative;box-shadow:0 22px 60px #00000080}.tutorial-dialog .state-panel__stamp{margin-bottom:12px}.tutorial-dialog h2{font-family:var(--display-font);letter-spacing:-.07em;margin:0;font-size:clamp(2.3rem,7vw,3.6rem);line-height:.9}.tutorial-dialog>p:not(.state-panel__stamp){color:#493f36;max-width:38ch;margin:18px 0 0;line-height:1.5}.tutorial-close{width:38px;height:38px;color:var(--ink);cursor:pointer;background:0 0;border:0;font-size:1.8rem;line-height:1;position:absolute;top:10px;right:12px}.tutorial-keys{border-left:3px solid var(--orange);color:#493f36;letter-spacing:.06em;background:#3a21301a;gap:5px;margin-top:20px;padding:11px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;display:grid}.tutorial-keys span{grid-template-columns:72px 1fr;gap:8px;display:grid}.tutorial-keys strong{color:#764b20;letter-spacing:.08em;text-transform:uppercase;font-size:.6rem}.tutorial-input-status{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.62rem;color:#764b20!important;margin:11px 0 0!important}.tutorial-progress{gap:6px;margin-top:25px;display:flex}.tutorial-progress span{background:#b6a994;width:28px;height:4px;display:block}.tutorial-progress__step--active{background:var(--orange)!important}.tutorial-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:25px;display:flex}.tutorial-actions .quiet-action{min-height:44px;padding:9px 13px;font-size:.65rem}.tutorial-actions .primary-action{min-height:44px;box-shadow:none;padding:9px 15px;font-size:.68rem}@media (width<=860px){.menu-sheet{grid-template-columns:minmax(170px,.3fr) minmax(0,1fr);gap:20px}.mode-list{grid-template-columns:repeat(3,minmax(0,1fr))}.stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.start-screen{min-height:100svh;padding-right:max(14px, env(safe-area-inset-right));padding-left:max(14px, env(safe-area-inset-left))}.key-art-backdrop{background-color:var(--ink);background-position:top;background-size:100%}.key-art-shade{background:linear-gradient(#0c080a1a 0%,#0c080a14 22%,#0c080a66 39%,#0c080af0 67%,#0c080afc 100%)}.menu-branding{padding-top:2vh}.arcade-logo{font-size:clamp(3rem,16vw,5rem)}.menu-sticker{margin-top:27px;font-size:.56rem}.menu-sheet{max-height:65svh;padding:16px 0 max(7px, env(safe-area-inset-bottom));background:linear-gradient(90deg,#120d13f0,#120d13db);grid-template-columns:1fr;gap:18px;overflow-y:auto}.menu-options{gap:16px}.start-action{text-align:center}.start-action p{margin-top:9px}.stage-picker{width:100%}.section-heading{margin-bottom:9px}.section-heading h2{font-size:1.2rem}.section-heading p{font-size:.68rem}.stage-list,.mode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.mode-choice{min-height:62px;padding:7px 8px}.mode-choice__copy strong{font-size:.76rem}.mode-choice__copy span{font-size:.56rem}.training-picker,.connection-tools,.connection-surface,.visual-settings{flex-direction:column;align-items:flex-start}.visual-settings__controls,.dummy-list{justify-content:flex-start}.connection-tools,.connection-surface{gap:9px}.connection-actions{justify-content:flex-start}.stage-choice{grid-template-columns:42px minmax(0,1fr);min-height:60px}.stage-choice__image{min-height:60px}.stage-choice__copy{padding:6px 7px 3px}.stage-choice__copy strong{font-size:.78rem}.stage-choice__copy span{font-size:.58rem}.stage-choice__mark{padding:0 7px 5px;font-size:.5rem}.site-header{min-height:58px;padding-right:max(16px, env(safe-area-inset-right));padding-left:max(16px, env(safe-area-inset-left))}.header-actions{gap:5px}.settings-button{padding-left:8px;padding-right:8px;font-size:.56rem}.header-note{display:none}.fight-screen{padding-top:14px}.combat-hud{grid-template-columns:1fr 90px 1fr;gap:10px;padding-bottom:12px}.fighter-hud__label strong{font-size:1.1rem}.fighter-hud__label span{display:none}.resource-row{font-size:.6rem;line-height:1.6;display:block}.resource-row span{display:block}.meter-line{font-size:.62rem}.meter-line strong,.resource-row strong{font-size:.58rem}.timer{font-size:1.15rem}.round-label,.phase-label{font-size:.55rem}.live-status{margin-bottom:6px;font-size:.63rem}.arena-caption{font-size:.65rem}.keyboard-help{margin-top:22px;display:block}.keyboard-help dl{justify-content:flex-start;gap:10px 12px;margin-top:13px}.touch-controls{padding:10px 0 max(4px, env(safe-area-inset-bottom));justify-content:space-between;gap:10px;margin-top:18px;display:flex}.touch-controls-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px;display:grid}.touch-controls-pair .touch-controls{grid-template-columns:minmax(108px,.8fr) minmax(150px,1fr);align-items:end;gap:8px;min-width:0;margin-top:0;display:grid}.touch-controls-pair .touch-controls .touch-player-heading{grid-column:1/-1}.touch-player-heading{color:var(--paper-dim);letter-spacing:.1em;text-transform:uppercase;grid-column:1/-1;justify-content:space-between;align-items:baseline;margin:-2px 2px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.58rem;display:flex}.touch-player-heading strong{color:var(--amber)}.touch-controls--p2 .touch-player-heading strong{color:var(--teal)}.touch-cluster{flex:1}.touch-cluster p{color:var(--paper-dim);letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6rem}.move-pad,.action-pad{gap:7px;display:grid}.move-pad{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".jump.""left down right"}.move-pad button:first-child{grid-area:jump}.move-pad button:nth-child(2){grid-area:left}.move-pad button:nth-child(3){grid-area:down}.move-pad button:nth-child(4){grid-area:right}.action-pad{grid-template-columns:repeat(2,minmax(0,1fr))}.touch-cluster button{background:var(--plum-soft);min-width:44px;min-height:48px;color:var(--paper);cursor:pointer;touch-action:none;border:1px solid #f1ead86b;padding:7px 4px;font-size:.64rem}.touch-cluster button:active{border-color:var(--amber);background:var(--amber);color:var(--ink)}.touch-cluster--move button{color:var(--amber)}.touch-cluster--actions button:nth-child(-n+2){border-color:#f4b6328c}.touch-caption{color:var(--paper-dim);margin-top:6px;font-size:.58rem}.training-runtime{margin-bottom:10px}.versus-note{letter-spacing:.04em;font-size:.53rem}}@media (orientation:portrait) and (width<=680px){.touch-controls-pair{grid-template-columns:1fr}.fight-screen{padding-top:10px}.arena-canvas{object-fit:contain;max-height:48vh}.combat-hud{gap:6px}.fighter-hud__label strong{font-size:.94rem}.stage-choice__copy span{font-size:.68rem}}@media (pointer:coarse) and (orientation:landscape) and (height<=700px){.app-shell--fight .fight-screen{width:100%;padding-top:8px;padding-bottom:max(14px, env(safe-area-inset-bottom))}.app-shell--fight .combat-hud{grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);gap:12px;padding-top:3px;padding-bottom:7px}.app-shell--fight .fighter-hud__label{margin-bottom:4px}.app-shell--fight .fighter-hud__label strong{font-size:1.08rem}.app-shell--fight .resource-row{font-size:.58rem}.app-shell--fight .meter{margin-bottom:4px}.app-shell--fight .live-status{min-height:18px;margin-bottom:2px;font-size:.58rem}.app-shell--fight .arena-heading,.app-shell--fight .arena-caption,.app-shell--fight .keyboard-help{display:none}.app-shell--fight .arena-canvas{object-fit:contain;max-height:39svh}.app-shell--fight .touch-controls-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:8px;display:grid}.app-shell--fight .touch-controls-pair .touch-controls{min-width:0;padding:4px 0 max(4px, env(safe-area-inset-bottom));grid-template-columns:minmax(108px,.8fr) minmax(150px,1fr);align-items:end;gap:8px;margin:0;display:grid}.app-shell--fight .touch-controls-pair .touch-player-heading{grid-column:1/-1;margin:0;display:flex}.app-shell--fight .touch-controls-pair .touch-cluster p{margin-bottom:3px;font-size:.5rem}.app-shell--fight .touch-controls-pair .touch-cluster button{min-width:40px;min-height:42px;padding:4px 2px;font-size:.52rem}.app-shell--fight .touch-controls-pair .touch-caption{display:none}.app-shell--fight .touch-controls-pair .move-pad,.app-shell--fight .touch-controls-pair .action-pad{gap:4px}.app-shell--fight .touch-controls-pair .action-pad{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell--fight .fight-screen>.touch-controls{grid-template-columns:minmax(115px,.8fr) minmax(160px,1fr);align-items:end;gap:10px;display:grid}.app-shell--fight .fight-screen>.touch-controls .touch-player-heading{grid-column:1/-1;display:flex}.app-shell--fight .fight-screen>.touch-controls .touch-cluster button{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.arcade-logo,.menu-sticker,.stage-choice{transform:none}}@media (width>=681px) and (height<=700px){.menu-branding{padding-top:2vh}.arcade-logo{font-size:clamp(3.3rem,7vw,5.4rem)}.menu-sticker{margin-top:22px}.menu-sheet{padding-top:14px}}
