@font-face{font-family:Teko;src:url(/fonts/teko/Teko-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Teko;src:url(/fonts/teko/Teko-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed/BarlowCondensed-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed/BarlowCondensed-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Barlow Condensed;src:url(/fonts/barlow-condensed/BarlowCondensed-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Ring Mono;src:url(/fonts/ibm-plex-mono/RingMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Ring Mono;src:url(/fonts/ibm-plex-mono/RingMono-Medium.woff2) format("woff2");font-weight:500;font-display:swap}.help-card{position:absolute;left:var(--space-3);top:calc(var(--size-hud-h) + var(--space-2));max-height:calc(100% - var(--size-hud-h) - var(--space-6));overflow:hidden;padding:var(--space-3) var(--space-4);background:var(--ui-panel);border:var(--hairline) solid var(--ui-line-hi);outline:var(--hairline) solid var(--ui-bg);font-family:var(--font-body);font-size:var(--type-xs);line-height:1.2;color:var(--ui-dim);pointer-events:none}.help-card.compact{top:auto;bottom:var(--space-3);max-width:calc(100% - var(--size-minimap) - var(--space-6));padding:var(--space-2) var(--space-3)}.help-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-6);margin-bottom:var(--space-1)}.help-title{font-family:var(--font-heading);font-weight:700;letter-spacing:.06em;color:var(--ui-accent)}.help-key{font-family:var(--font-mono);color:var(--ui-faint)}.help-cols{display:flex;gap:var(--space-6);align-items:flex-start}.help-grid{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:0 var(--space-4);margin:0}.help-group{grid-column:1 / -1;margin-top:var(--space-1);font-family:var(--font-heading);font-weight:700;letter-spacing:.08em;color:var(--ui-text)}.help-group:first-child{margin-top:0}.help-keys{white-space:nowrap}.help-action{margin:0}.help-note{margin:var(--space-2) 0 0;color:var(--ui-faint)}.help-card.compact .help-head{display:none}.help-card.compact .help-grid{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3)}.help-card.compact .help-group{margin:0 0 0 var(--space-3);color:var(--ui-accent)}.help-card.compact .help-group:first-child{margin-left:0}.kc{display:inline-block;min-width:var(--space-6);padding:0 var(--space-1);background:var(--ui-panel-hi);border:var(--hairline) solid var(--ui-line-hi);border-bottom-width:calc(var(--hairline) * 2);font-family:var(--font-mono);font-size:var(--type-xs);line-height:1.1;text-align:center;color:var(--ui-text);margin:var(--hairline) 0}.kc-word{color:var(--ui-dim)}.kc-sep{margin:0 var(--space-1);color:var(--ui-faint)}.help-hint{position:absolute;left:var(--space-3);bottom:var(--space-2);margin:0;font-family:var(--font-mono);font-size:var(--type-xs);color:var(--ui-faint)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ui-bg);color:var(--ui-text);font-family:var(--font-heading);font-size:var(--type-md)}body.game{overflow:hidden;color-scheme:dark}body.game,body.game *{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}body.game .credits .doc,body.game .credits .doc *{-webkit-user-select:text;user-select:text}[data-fonts=loading] #ui{visibility:hidden}.sym{font-family:var(--font-mono)}.game-stage{position:relative;display:grid;place-items:center;width:100vw;height:100vh;overflow:hidden;background:var(--ui-bg)}#game,.view3d{grid-area:1 / 1;display:block;image-rendering:pixelated;image-rendering:crisp-edges}#game{position:relative;z-index:1}.ui{grid-area:1 / 1;position:relative;z-index:2;width:var(--size-screen-w);height:var(--size-screen-h);overflow:hidden}.ui[data-screen=fight]{pointer-events:none}img{image-rendering:pixelated;image-rendering:crisp-edges}.mirror{transform:scaleX(-1)}.dim{color:var(--ui-dim)}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-5);text-align:center}.scrim{background:var(--scrim)}.screen-head{display:flex;align-items:baseline;justify-content:space-between;width:100%;gap:var(--space-5)}.screen-head h2,.modal h2{margin:0;font-family:var(--font-display);font-size:var(--type-xl);font-weight:600;letter-spacing:.04em;line-height:1;color:var(--ui-accent)}.modal h2{font-size:var(--type-lg)}.prompt{margin:0;font-size:var(--type-md);font-weight:600;color:var(--ui-dim)}.prompt.corner-a{color:var(--ui-corner-a)}.prompt.corner-b{color:var(--ui-corner-b)}.hints{position:absolute;left:0;right:0;bottom:var(--space-2);display:flex;justify-content:center;gap:var(--space-5);font-family:var(--font-mono);font-size:var(--type-xs);color:var(--ui-faint)}.hint{font:inherit;color:inherit;background:none;border:var(--hairline) solid var(--ui-line);padding:0 var(--space-3);cursor:pointer}[data-input=mouse] [data-i],[data-input=mouse] [data-act]{cursor:pointer}[data-input=keys] body,body[data-screen=fight]{cursor:none}.h-mouse,.back-btn,.h-pad{display:none}[data-input=mouse] .h-mouse,[data-input=mouse] .back-btn{display:inline-flex}[data-input=mouse] .h-keys{display:none}[data-device=pad] .h-pad{display:inline}[data-device=pad] .h-kb{display:none}[data-input=mouse] .hint:hover,[data-input=mouse] .back-btn:hover{color:var(--ui-bg);background:var(--ui-focus);border-color:var(--ui-focus)}.h-label{margin-right:var(--space-2)}.back-btn{position:absolute;left:var(--space-3);bottom:var(--space-2);align-items:center;padding:var(--space-1) var(--space-3);font-family:var(--font-heading);font-weight:700;font-size:var(--type-sm);letter-spacing:.06em;color:var(--ui-text);background:var(--ui-panel);border:var(--hairline) solid var(--ui-line-hi);cursor:pointer}.back-btn.in-modal{position:static;align-self:flex-start}.modal .hints{position:static;margin-top:var(--space-3);flex-wrap:wrap;gap:var(--space-3)}.fighter-name{color:var(--c);text-shadow:var(--fighter-outline);font-family:var(--font-heading);font-weight:700;letter-spacing:.03em;white-space:nowrap}.logo{display:block}.logo-title,.logo-menu{width:var(--size-logo-w);height:var(--size-logo-h)}.logo-menu{margin-bottom:0}.menu{gap:var(--space-2);padding-bottom:var(--space-7)}.menu .menu-list{gap:0}.edition{margin:0;font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:.2em;color:var(--ui-dim);line-height:1}.tagline{margin:0;font-family:var(--font-body);font-style:italic;font-size:var(--type-md);color:var(--ui-text)}.press-start{margin:var(--space-5) 0 0;font-family:var(--font-display);font-size:var(--type-lg);letter-spacing:.1em;color:var(--ui-accent)}.footer-note{position:absolute;bottom:var(--space-3);margin:0;font-family:var(--font-mono);font-size:var(--type-xs);color:var(--ui-faint)}.blink{animation:blink calc(var(--time-blink) * 2) steps(1) infinite}@keyframes blink{50%{opacity:0}}.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.menu-item{padding:var(--space-1) var(--space-6);font-size:var(--type-lg);font-weight:600;letter-spacing:.06em;color:var(--ui-dim);border:var(--hairline) solid transparent}.menu-item.focus{color:var(--ui-bg);background:var(--ui-focus);border-color:var(--ui-focus)}.menu-item.focus:before{content:"";display:inline-block;width:.42em;height:.6em;margin-right:.45em;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}.menu-hint{margin:0;font-family:var(--font-body);font-size:var(--type-sm);color:var(--ui-dim)}.select{justify-content:flex-start;gap:var(--space-3);background:var(--glow-a),var(--glow-b),var(--scrim-light)}.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,var(--tile));gap:var(--space-1)}.tile{position:relative;width:var(--tile);height:var(--tile);background:var(--ui-panel);outline:var(--hairline) solid var(--ui-line)}.tile-img{display:block;width:var(--tile);height:var(--tile)}.tile.soon .tile-img{filter:grayscale(1) brightness(.55)}.tile.picked{outline-color:var(--ui-accent-dim)}.tile.focus{outline:var(--space-1) solid var(--ui-focus);z-index:1;animation:tile-pop var(--time-tile-pop) steps(3)}.tile.confirmed,.slot.confirmed{animation:confirm var(--time-confirm) steps(4)}@keyframes tile-pop{0%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes confirm{0%,50%{filter:brightness(2.2)}25%,75%{filter:brightness(1)}}.select-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;gap:var(--space-5)}.slot{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3);border:var(--hairline) solid var(--ui-line);background:var(--ui-panel);font-size:var(--type-sm)}.slot.corner-b{flex-direction:row-reverse}.slot.active.corner-a{border-color:var(--ui-corner-a)}.slot.active.corner-b{border-color:var(--ui-corner-b)}.slot-label{font-family:var(--font-mono);font-size:var(--type-xs);color:var(--ui-dim)}.tile-empty{display:block;width:var(--tile);height:var(--tile);border:var(--hairline) dashed var(--ui-line)}.focus-info{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.focus-name{font-size:var(--type-lg)}.badge{padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--type-xs);border:var(--hairline) solid currentColor}.badge-ok{color:var(--ui-ok)}.badge-soon{color:var(--ui-soon)}.denied-0{animation:denied-a var(--time-denied) steps(4);color:var(--ui-danger)}.denied-1{animation:denied-b var(--time-denied) steps(4);color:var(--ui-danger)}@keyframes denied-a{25%{transform:translate(var(--space-2))}75%{transform:translate(calc(var(--space-2) * -1))}}@keyframes denied-b{25%{transform:translate(var(--space-2))}75%{transform:translate(calc(var(--space-2) * -1))}}.cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-5);width:100%}.card{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:var(--space-4);padding:var(--space-3);border:var(--hairline) solid var(--ui-line);background:var(--ui-panel);font-size:var(--type-lg)}.card.focus{border-color:var(--ui-focus);outline:var(--hairline) solid var(--ui-focus)}.card-vs{font-family:var(--font-display);font-size:var(--type-xl);color:var(--ui-accent)}.versus-row{display:flex;align-items:center;gap:var(--space-7)}.versus-fighter{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.versus-img{width:var(--size-versus-w);height:var(--size-versus-h)}.versus-fighter.corner-a .versus-img{border-bottom:var(--space-1) solid var(--ui-corner-a)}.versus-fighter.corner-b .versus-img{border-bottom:var(--space-1) solid var(--ui-corner-b)}.versus-name{font-size:var(--type-lg)}.help-tip{margin:0;font-family:var(--font-mono);font-size:var(--type-xs);color:var(--ui-dim)}.vs-sprite{width:calc(var(--size-vs-w) * 2);height:calc(var(--size-vs-h) * 2);background-image:var(--vs);background-size:calc(var(--size-vs-w) * 4) calc(var(--size-vs-h) * 2);image-rendering:pixelated;animation:vs-flash calc(var(--time-vs-flash) * 2) steps(1) infinite}@keyframes vs-flash{50%{background-position:calc(var(--size-vs-w) * -2) 0}}.modal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--size-modal-w);padding:var(--space-5);background:var(--ui-panel);border:var(--hairline) solid var(--ui-line-hi);display:flex;flex-direction:column;gap:var(--space-3)}.setup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.setup-row{display:flex;justify-content:space-between;padding:var(--space-1) var(--space-3);font-size:var(--type-sm);color:var(--ui-dim);border:var(--hairline) solid transparent}.setup-row.focus{color:var(--ui-text);border-color:var(--ui-focus)}.setup-value{font-family:var(--font-mono);color:var(--ui-text)}.arrow{font:inherit;color:inherit;background:none;border:0;padding:0 var(--space-1);cursor:pointer}[data-input=mouse] .arrow:hover,.setup-row.focus .setup-value{color:var(--ui-accent)}.vol-bar{display:inline-flex;gap:var(--hairline);vertical-align:middle}.vol-bar i{display:inline-block;width:var(--space-1);height:var(--space-3);background:var(--ui-line)}.vol-bar i.on{background:currentColor}.vol-num{display:inline-block;min-width:3.5em;text-align:right}.setup-start{margin-top:var(--space-2);padding:var(--space-2);font-family:var(--font-display);font-size:var(--type-lg);color:var(--ui-dim);border:var(--hairline) solid var(--ui-line)}.setup-start.focus{color:var(--ui-bg);background:var(--ui-focus);border-color:var(--ui-focus)}.note{margin:0;font-family:var(--font-body);font-size:var(--type-xs);color:var(--ui-faint)}.result{justify-content:flex-start;gap:var(--space-2)}.result-head{display:flex;flex-direction:column;align-items:center}.method{margin:0;font-family:var(--font-display);font-size:var(--type-xl);color:var(--ui-accent);line-height:1}.winner{font-size:var(--type-lg)}.result-body{display:flex;gap:var(--space-6);align-items:flex-start}.stats{border-collapse:collapse;font-size:var(--type-sm)}.stats caption{font-family:var(--font-mono);font-size:var(--type-xs);color:var(--ui-dim);padding-bottom:var(--space-1)}.stats th,.stats td{padding:0 var(--space-3)}.stats tbody th{font-weight:500;color:var(--ui-dim);font-family:var(--font-body);font-size:var(--type-xs)}.stats td{font-family:var(--font-mono);color:var(--ui-text)}.stats .total td,.stats .total th{color:var(--ui-accent);border-top:var(--hairline) solid var(--ui-line)}.stats .stopped td{color:var(--ui-danger);font-family:var(--font-mono);font-size:var(--type-xs)}.result-actions{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;gap:var(--space-3)}.result-actions .menu-item{font-size:var(--type-md)}.credits{justify-content:flex-start;background:var(--ui-bg)}.credits-view{position:relative;flex:1;width:100%;overflow:hidden;text-align:left}.credits-scroll{transform:translateY(calc(var(--scroll) * var(--space-8) * -1));transition:transform var(--time-fade)}.doc{font-family:var(--font-body);font-size:var(--type-xs);line-height:1.5;color:var(--ui-dim);margin-bottom:var(--space-6)}.doc h2,.doc h3,.doc h4{margin:var(--space-3) 0 var(--space-1);font-family:var(--font-heading);color:var(--ui-text)}.doc h2{font-size:var(--type-md);color:var(--ui-accent)}.doc h3,.doc h4{font-size:var(--type-sm)}.doc p,.doc ul{margin:0 0 var(--space-2)}.doc ul{padding-left:var(--space-6)}.doc strong{color:var(--ui-text)}.doc code{font-family:var(--font-mono)}.doc table{border-collapse:collapse;margin-bottom:var(--space-3)}.doc th,.doc td{border:var(--hairline) solid var(--ui-line);padding:0 var(--space-2);text-align:left}.fight-overlay{grid-area:1 / 1;position:relative;z-index:3;width:var(--size-screen-w);height:var(--size-screen-h);pointer-events:none}.toast{position:absolute;left:50%;top:calc(var(--space-8) + var(--space-5));transform:translate(-50%);margin:0;padding:var(--space-1) var(--space-4);background:var(--scrim);border:var(--hairline) solid var(--ui-accent-dim);font-family:var(--font-heading);font-weight:700;font-size:var(--type-sm);letter-spacing:.06em;color:var(--ui-accent);white-space:nowrap}
