:root{font-family:Courier New,monospace;color:#dafaff;background:#0a0014;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 50% 45%,#21103c,transparent 70%),#0a0014;display:grid;place-items:center}main{width:min(1280px,100%);padding:24px}header,footer{display:flex;justify-content:space-between;align-items:center;gap:16px}header{padding:0 0 20px}.brand{font-weight:900;font-size:clamp(16px,2.4vw,28px);letter-spacing:-1px;text-shadow:2px 0 #ff006e55,-2px 0 #00ffff55}.brand b{color:#0ff}.phase{font-size:11px;color:#ac8fc7;letter-spacing:2px}.stage{width:100%;aspect-ratio:16/9;background:#070612;box-shadow:0 0 60px #8300c526;position:relative}.stage:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#0000000a 3px 4px)}canvas{width:100%;height:100%;display:block}footer{padding-top:18px;font-size:12px;letter-spacing:1px}small{display:block;color:#9c91b1;font-size:10px;margin-top:6px;letter-spacing:0}button{font:inherit;color:#0ff;border:1px solid #00ffff55;background:#151026;padding:10px;cursor:pointer}button:focus-visible{outline:2px solid #ff006e}@media(max-width:600px){main{padding:12px}.phase{display:none}footer{font-size:10px;letter-spacing:0}button{font-size:10px;padding:8px}}@media(orientation:landscape)and (max-height:600px){main{width:min(100%,calc((100svh - 145px)*16/9));padding:8px}header{padding-bottom:8px}footer{padding-top:8px}}.preferences{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:14px;color:#b3a8c6;font-size:11px}.preferences label{display:flex;align-items:center;gap:5px}.preferences input{accent-color:#00ffff}#round-status{font-size:12px;color:#e5b64f;min-height:16px;margin:10px 0 0}@media(orientation:landscape)and (max-height:600px){main{width:min(100%,calc((100svh - 205px)*16/9))}.preferences{gap:6px;font-size:10px;margin-top:8px}}[hidden]{display:none!important}.stage{container-type:size;overflow:hidden}.screen{position:absolute;inset:0;z-index:2;display:grid;place-items:center;text-align:center;background:linear-gradient(90deg,#080511ee,#171021c9,#080511ee);color:#e8ddc4}.menu-card,.victory-card,.pause-card{width:90%;position:relative}.eyebrow{font-size:clamp(7px,1cqw,13px);letter-spacing:.25em;color:#c8a35c;margin:0 0 1.4cqh}.menu-card h1{font-size:10cqw;line-height:.86;letter-spacing:-.07em;margin:1cqh 0;font-style:italic;color:#eee7d2;text-shadow:2px 0 #00ffff88,-2px 0 #ff006e88}.menu-card h1 span{color:#edbd4b;text-shadow:0 0 30px #e6ac2d66}.menu-subtitle{font-size:2.2cqw;letter-spacing:.8em;margin:2cqh 0 3cqh;color:#d0a34e}.match-rules{font-size:clamp(9px,1.25cqw,16px);margin:2cqh 0 3cqh;color:#c7b9d2}.screen button{font-size:clamp(10px,1.3cqw,17px);padding:1.6cqh 2.6cqw;min-height:28px}.gold-button{background:linear-gradient(130deg,#ffe39b,#d89a29);color:#20130a;border:1px solid #ffe3a3;font-weight:700;box-shadow:0 0 28px #bb7e2522}.menu-footnote{font-size:clamp(6px,.8cqw,11px);color:#a390b6;margin:2cqh 0 0}.pause-card h2{font-size:5cqw;color:#f2d28c;margin:3cqh 0 6cqh}.screen-actions{display:flex;justify-content:center;gap:1.5cqw;flex-wrap:wrap}.victory-screen{background:radial-gradient(ellipse at 50% 48%,#74551b88,#120c1ae8 60%,#090511f5)}.victory-card:before,.victory-card:after{content:"";position:absolute;inset:12% 3%;border:1px solid #ba8d3c55;transform:skew(-8deg);pointer-events:none}.victory-card:after{inset:9% 4%;border-color:#ba8d3c22;transform:skew(8deg)}.victory-card{padding:3cqh 0}.winner-emblem{color:#f6cc69;font-size:8cqw;line-height:1;font-weight:700;letter-spacing:-.2em;margin:1cqh 0 2cqh;text-shadow:0 0 35px #e9b44177}.winner-emblem span{color:#b88127}.victory-card h2{font-size:clamp(14px,4cqw,54px);letter-spacing:-.05em;color:#f8db91;text-shadow:0 0 22px #d9aa3955;margin:2cqh 0}.final-score{font-size:3cqw;color:#e0c07a;margin:1cqh 0}.victory-caption{font-size:clamp(6px,.9cqw,12px);letter-spacing:.25em;color:#ad97bb;margin:1cqh 0 4cqh}.victory-card .screen-actions{position:relative;z-index:1}#pause{margin-left:auto;font-size:11px;padding:7px 12px}.screen button:focus-visible{outline:2px solid #00ffff;outline-offset:3px}@media(orientation:landscape)and (max-height:600px){body{place-items:start center}main{width:min(100%,calc((100svh - 68px)*16/9));align-self:start}.phase{display:none}.brand{font-size:16px;white-space:nowrap}header{padding-bottom:8px}}canvas:focus-visible{outline:1px solid #e5b64f;outline-offset:2px}.mode-label{display:block;font-size:clamp(8px,1cqw,13px);color:#cabaa0;margin:1cqh 0 2cqh}.mode-label select{font:inherit;padding:4px 8px;background:#151026;color:#f2d28c;border:1px solid #876d3b}a{color:#d8ba77}#asset-status{font-size:10px;color:#9c91b1;margin:5px 0}.menu-card h1{font-size:9cqw}.menu-subtitle,.match-rules{margin:1cqh 0 2cqh}.preview-main{width:min(1200px,100%)}.preview-note,#preview-status,#preview-assets{font-size:12px;line-height:1.6;color:#b9abc8}.preview-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0;font-size:12px}.preview-controls label{display:flex;gap:7px;align-items:center}.preview-controls select{font:inherit;background:#151026;color:#e5c278;padding:7px;border:1px solid #6c5780}.preview-controls input{accent-color:#e5b64f}.preview-main .stage{max-height:none}.preview-main header{gap:20px}#preview-status{color:#e5c278}.audio-options{color:#aaa0bb;font-size:11px;margin-top:10px}.audio-options summary{cursor:pointer;width:max-content;color:#d5ba7c}.audio-grid{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 0}.audio-grid label{display:flex;align-items:center;gap:6px}.audio-grid input{accent-color:#e5b64f}.audio-grid input[type=range]{width:100px}.audio-grid span{flex-basis:100%;font-size:10px}.menu-frame{display:grid;grid-template-columns:1.1fr 1fr;gap:3%;width:92%;align-items:center}.menu-copy{text-align:left}.arcade-logo{font-size:7cqw;line-height:.86;letter-spacing:-.06em;font-style:italic;margin:1cqh 0 3cqh;color:#f1e5bd;text-shadow:2px 0 #00ffff88,-2px 0 #b35bff88}.arcade-logo span{color:#f4c34f;text-shadow:0 0 32px #e8ae3d66}.arcade-logo em{display:block;font-size:1.8cqw;letter-spacing:.7em;font-style:normal;margin-top:3cqh;color:#b99855}.menu-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5cqh 1cqw}.menu-options button{text-align:left;min-height:44px;padding:1.4cqh 1.2cqw;font-size:clamp(10px,1.3cqw,18px);color:#f6d993;background:#111224d9;border-color:#7c663d}.menu-options button small{font-size:clamp(7px,.8cqw,12px);color:#a99bbb;margin-top:4px}.menu-options button:hover,.menu-options button:focus-visible{background:#392b20;border-color:#e9bf64}.press-start{font-size:clamp(8px,1cqw,14px);color:#a7dbeb;letter-spacing:.14em;margin:2.5cqh 0 0;animation:start-pulse 2.4s ease-in-out infinite}.menu-showcase{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#dac698}.menu-showcase canvas{width:100%;height:30cqh;object-fit:contain}.menu-showcase strong{font-size:clamp(8px,1.1cqw,16px);display:block}.menu-showcase small{font-size:clamp(7px,.8cqw,12px)}.menu-showcase p{grid-column:1/-1;font-size:clamp(6px,.75cqw,10px);color:#8e819f}.select-frame{width:94%;height:94%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5cqh}.select-frame h2{color:#f2cf7b;font-size:clamp(16px,3cqw,40px);margin:0}.roster{display:flex;justify-content:center;gap:2cqw;width:100%}.screen .character-card{width:38%;max-width:330px;display:flex;align-items:center;flex-direction:column;padding:1.2cqh 1cqw;background:#0e1122;border:1px solid #594b6b;color:#c4b3d0}.character-card[aria-pressed=true]{border:2px solid #f2cb71;box-shadow:0 0 26px #b2872a33}.character-card canvas{width:100%;height:25cqh;object-fit:contain}.character-card strong{font-size:clamp(11px,1.5cqw,20px);color:#f6d791}.character-card b{font-size:clamp(8px,1cqw,14px);margin:4px 0}.character-card small{font-size:clamp(7px,.8cqw,12px);margin:2px}.select-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.select-actions label{font-size:clamp(10px,1cqw,14px)}select{font:inherit;background:#131427;color:#e9cc86;border:1px solid #756039;padding:7px}#selection-confirmation{font-size:clamp(7px,1cqw,12px);margin:0;color:#b8a6c7}#quick-settings,#fullscreen{font-size:11px;padding:7px 10px;margin-left:auto}#fullscreen{margin-left:0}header{gap:10px}.phase{margin-left:auto}dialog{width:min(920px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;color:#d2c6dd;background:radial-gradient(ellipse at top,#21172f,#090b18);border:1px solid #bc9451;padding:22px;font-size:13px;line-height:1.6}dialog::backdrop{background:#030512d9}dialog header{position:sticky;top:-22px;background:#141022;z-index:1;align-items:center;padding:8px 0 14px}dialog h2{margin:0;color:#f2cc78;font-size:24px}dialog header button{margin-left:auto}dialog h3{color:#d7ba73;border-bottom:1px solid #514261;padding-bottom:6px}dialog section{margin:18px 0}.binding-editor{display:grid;grid-template-columns:1fr 1fr;gap:18px}.binding-editor h4{color:#a8dcf4;margin:0}.binding-editor button{display:block;width:100%;font-size:12px;min-height:40px;margin:5px 0;padding:7px;color:#c7bdcf;border-color:#45435e;text-align:left}.touch-settings{display:flex;flex-wrap:wrap;gap:12px 18px}.touch-settings label{display:flex;align-items:center;gap:8px}.touch-settings input[type=range]{width:95px}#binding-status,#settings-status{color:#dfc17c;min-height:1.5em}.preferences label,.audio-grid label{min-height:32px}.preferences input[type=range]{width:110px}.orientation-prompt{position:fixed;inset:0;background:#0a0014f7;z-index:20;display:grid;place-items:center;text-align:center;padding:max(24px,env(safe-area-inset-top))}.orientation-prompt h2{font-size:32px;color:#edc873}.orientation-prompt p{max-width:420px;color:#b9a8c7}.touch-controls{position:fixed;inset:0;pointer-events:none;z-index:5;touch-action:none;user-select:none;-webkit-user-select:none}.touch-pad,.touch-attacks{position:absolute;bottom:calc(env(safe-area-inset-bottom) + var(--touch-bottom,10px));pointer-events:auto;display:grid;gap:5px;touch-action:none}.touch-pad{left:max(env(safe-area-inset-left),var(--touch-left,12px));grid-template-columns:repeat(3,var(--touch-size,48px))}.touch-pad [data-touch=jump]{grid-column:2}.touch-pad [data-touch=left]{grid-column:1;grid-row:2}.touch-pad [data-touch=crouch]{grid-column:2;grid-row:2}.touch-pad [data-touch=right]{grid-column:3;grid-row:2}.touch-attacks{right:max(env(safe-area-inset-right),var(--touch-right,12px));grid-template-columns:repeat(2,calc(var(--touch-size,48px) + 12px))}.touch-controls button{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;height:var(--touch-size,48px);padding:0;min-width:40px;font-size:10px;font-weight:700;background:#131725a6;border:1px solid #caab6699;color:#ffe2a0;border-radius:9px;box-shadow:0 2px 14px #0005}.touch-controls button.held{background:#bc8d36cf;color:#100c17;border-color:#ffe4a4}.touch-controls button[data-touch=block]{border-color:#7bccef99;color:#a2deed}.touch-controls button:focus{outline:none}#arena{touch-action:none}body[data-touch=true][data-playing=true]{overflow:hidden;overscroll-behavior:none}body[data-touch=true][data-playing=true] footer,body[data-touch=true][data-playing=true] #round-status,body[data-touch=true][data-playing=true] #asset-status{display:none}body[data-reduced-motion=true] .press-start{animation:none}.screen{transition:background-color .18s ease}.screen button{min-height:36px}@keyframes start-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.press-start{animation:none}.screen{transition:none}}@media(orientation:landscape)and (max-height:600px){main{width:min(100%,calc((100dvh - 68px)*16/9))}body[data-touch=true][data-playing=true] main{width:min(100%,calc((100dvh - 58px)*16/9));padding:6px}.menu-options button{padding:6px 8px;min-height:44px}.menu-showcase canvas{height:35cqh}.menu-showcase p{display:none}.arcade-logo{margin:0 0 2cqh}.select-frame{gap:1cqh}.character-card canvas{height:23cqh}header button{min-height:30px}#quick-settings,#fullscreen,#pause{font-size:10px;padding:6px 8px}.brand{font-size:14px}}@media(max-width:600px)and (orientation:portrait){.screen[data-screen=MENU]{position:fixed;inset:0;z-index:10;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 20px) 18px calc(env(safe-area-inset-bottom) + 20px);background:radial-gradient(ellipse at top,#27183e,#0a0014 70%)}.menu-frame{width:100%;grid-template-columns:1fr;gap:12px}.arcade-logo{font-size:54px;line-height:.85;margin:10px 0 18px}.arcade-logo em{font-size:16px;margin-top:14px}.menu-copy .eyebrow{font-size:9px}.menu-options{gap:10px}.menu-options button{font-size:13px;min-height:56px;padding:10px}.menu-options button small{font-size:9px}.press-start{font-size:10px}.menu-showcase canvas{height:160px}.menu-showcase strong{font-size:12px}.menu-showcase p{font-size:9px}.select-frame{height:auto;min-height:85dvh;width:100%;gap:18px}.select-frame h2{font-size:27px}.roster{gap:10px}.screen .character-card{width:49%;padding:8px}.character-card canvas{height:170px}.character-card strong{font-size:14px}.character-card b{font-size:10px}.character-card small{font-size:9px}.select-actions{gap:10px}#selection-confirmation{font-size:11px}.select-actions button{font-size:13px;min-height:44px;padding:10px}.select-actions label{font-size:12px}dialog{padding:14px;font-size:12px}.binding-editor{gap:8px}.binding-editor button{font-size:10px}header .brand{font-size:14px}#quick-settings,#fullscreen{font-size:10px;padding:5px 7px}.phase{display:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.menu-frame,.select-frame{animation:menu-enter .22s ease-out}@keyframes menu-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}body[data-reduced-motion=true] .menu-frame,body[data-reduced-motion=true] .select-frame{animation:none}@media(prefers-reduced-motion:reduce){.menu-frame,.select-frame{animation:none}}.touch-controls button[data-touch=special]{grid-column:1 / -1;border-color:#c680ff;color:#edceff}
