@font-face{font-family:'Plenario Pixel';src:url('./assets/plenario-pixel.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#080913;--blue:#10195e;--gold:#ffe15b;--white:#f6f0e0;--muted:#bbc0dd;--accent:#48d6ff;--pixel:'Plenario Pixel','Courier New',monospace;font-family:'Courier New',monospace;background:var(--bg);color:var(--white)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#232344 0,#080913 70%)}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent;outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #fff}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#app{max-width:1140px;margin:auto;padding:0 24px 22px}canvas{image-rendering:pixelated}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:960px;margin:0 auto;height:82px}.brand{font-family:Impact,'Arial Black',sans-serif;font-style:italic;font-size:28px;line-height:.9;color:#ffca42;text-shadow:2px 3px #b42325,4px 5px #090725;letter-spacing:-.7px;transform:skew(-5deg)}.brand b{color:#fff0a1;font-size:36px}.brand small{display:block;font:9px var(--pixel);color:#f6ece5;letter-spacing:3px;text-shadow:2px 2px #24216a;margin:9px 0 0 3px}.top-actions{display:flex;gap:10px;align-items:center}.icon-button{background:#252344;border:2px solid #75739a;border-top-color:#b0abcd;border-left-color:#b0abcd;box-shadow:2px 2px #000;padding:11px 12px;font:9px/1.5 var(--pixel);white-space:nowrap}.icon-button[aria-pressed=true]{color:var(--gold)}#selection{max-width:960px;margin:auto}.console-screen{position:relative;isolation:isolate;background:#0c1250 url('./assets/player-select-map.png') no-repeat center 8px;background-size:100% auto;border:5px solid #4b4a71;border-top-color:#79789e;border-left-color:#79789e;box-shadow:0 0 0 5px #111323,0 14px 50px #0008,inset 0 0 55px #020729;padding:17px 36px 15px;overflow:hidden}.console-screen:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;opacity:.16;background:repeating-linear-gradient(0deg,#000,#000 1px,transparent 1px,transparent 4px)}.scoreline{display:flex;justify-content:space-between;gap:15px;font:10px/1.7 var(--pixel);text-shadow:2px 2px #050718;color:#fff}.scoreline>span:first-child{color:#48d6ff}.scoreline>span:last-child{color:#fa7d83}.scoreline b{font-weight:normal}.console-screen h1{text-align:center;font:clamp(18px,2.8vw,30px)/1.4 var(--pixel);color:#ffe05b;text-shadow:3px 3px #ae3027,5px 5px #030a28;margin:20px 0 18px;letter-spacing:-.05em}.portrait-duel{display:grid;grid-template-columns:1fr .85fr 1fr;align-items:center;gap:20px;max-width:660px;margin:0 auto 19px}.duel-player{text-align:center;position:relative;min-width:0}.duel-player canvas{display:block;width:100%;height:185px;object-fit:cover;border:4px solid #fff0a7;border-right-color:#c38642;border-bottom-color:#c38642;box-shadow:4px 4px #000;background:#080e29}.duel-player.opponent canvas{border-color:#f48798;border-right-color:#9b374c;border-bottom-color:#9b374c}.player-label{position:absolute;top:8px;left:9px;color:#ffff84;font:11px var(--pixel);z-index:1;text-shadow:2px 2px #a5282e,3px 3px #000}.opponent .player-label{color:#ff9dac;font-size:8px;top:10px;left:12px}.duel-player h2{font:11px/1.6 var(--pixel);text-transform:uppercase;margin:10px -18px 0;min-height:34px;color:#ffdf65;text-shadow:2px 2px #722824;overflow-wrap:anywhere}.duel-player p{font-size:11px;font-weight:bold;margin:4px -10px 0;color:#fff6ce;text-transform:uppercase;text-shadow:2px 2px #000;min-height:24px;line-height:1.3}.opponent h2{color:#ffa7ad}.duel-center{text-align:center;align-self:center;padding-bottom:26px}.edition{font:9px/1.8 var(--pixel);color:#e8dfb0;white-space:nowrap;text-shadow:2px 2px #000}.versus-mark{display:block;font:italic 900 76px/1 Impact,'Arial Black',sans-serif;transform:skew(-9deg);color:#ffdf52;text-shadow:3px 3px #e85425,6px 6px #751929,-3px -2px #fff7b8;margin:13px 0}.brasilia-label{font:8px/2 var(--pixel);color:#c7f8f2;text-shadow:2px 2px #091652}.roster-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;width:min(100%,620px);margin:0 auto;padding:5px;border:3px solid #a8b6d9;box-shadow:3px 3px #070c22;background:#070e2acc}.fighter-card{position:relative;min-width:0;background:#07112a;border:3px solid #637497;border-right-color:#344161;border-bottom-color:#344161;padding:0;display:flex;flex-direction:column;overflow:visible;isolation:isolate}.fighter-card canvas{width:100%;height:auto;aspect-ratio:1.22;object-fit:cover;display:block;filter:saturate(.8) brightness(.85)}.fighter-card:hover canvas,.fighter-card[aria-pressed=true] canvas{filter:none}.fighter-card .name{font:bold 10px/1.25 'Courier New',monospace;color:#eee9d0;padding:4px 1px;text-align:center;white-space:nowrap;background:#090f32;letter-spacing:-.4px}.fighter-card[aria-pressed=true]{border-color:#fff47e;box-shadow:0 0 0 2px #ff8a28;z-index:2;animation:cursor 1s steps(2,end) infinite}.fighter-card[aria-pressed=true]:before{content:'1P';position:absolute;left:3px;top:3px;color:#fff566;font:10px var(--pixel);text-shadow:2px 2px #b42128,3px 3px #000;z-index:2}.fighter-card[aria-pressed=true] .name{color:#ffec6c}.fighter-card.boss:after{content:'BOSS';position:absolute;top:4px;right:3px;color:#ffadad;background:#6d142baa;font:6px/1.5 var(--pixel);padding:2px}.locked-card{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(135deg,#111a3b,#111a3b 8px,#1a2446 8px,#1a2446 9px);color:#8190ad}.locked-card .name{font-size:9px;width:100%;background:transparent}.lock-icon{font:29px/1.1 var(--pixel);color:#7f8aa8;margin:8px 0 4px}.lock-sub{font:7px 'Courier New',monospace;margin-bottom:5px}.move-display{max-width:620px;margin:15px auto 0;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f6edc1;background:#050c30cc;border:2px solid #7381ab;padding:11px;font-size:13px;text-transform:uppercase}.move-display>span:first-child{font:10px var(--pixel);color:var(--accent)}.move-display strong{font:9px/1.6 var(--pixel);flex:1;text-align:center;color:#fff295}.move-command{font-size:14px;white-space:nowrap}.quote{text-align:center;font-size:13px;color:#cfe8ee;text-shadow:2px 2px #000;margin:10px 0 12px;line-height:1.5}.selection-bottom{max-width:620px;margin:0 auto;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px}.difficulty{display:flex;align-items:center;gap:10px;min-width:0}.difficulty label{color:#ffdc66;font:8px var(--pixel)}.difficulty select{border:1px solid #808ba9;background:#0e1645;border-radius:0;padding:6px;min-height:32px;font-size:11px;max-width:100%}.roster-count{font-size:10px;color:#adbada;white-space:nowrap}.primary{display:flex;align-items:center;justify-content:center;gap:15px;border:2px solid #9398cf;border-top-color:#e9e0af;border-left-color:#e9e0af;box-shadow:3px 3px #080829;background:#251d62;color:#ffef6c;font:13px/1.6 var(--pixel);text-shadow:2px 2px #8a2522;padding:15px 20px;min-height:54px;max-width:620px;width:100%;margin:16px auto 0}.primary:hover{background:#423385;border-color:#fff28a}.primary:active{transform:translateY(2px);box-shadow:1px 1px #080829}.primary:disabled{color:#9fabc5;background:#1b2547;text-shadow:none}.start-cursor{animation:blink 1.2s steps(2,end) infinite}.select-hint{font-size:11px;line-height:1.5;text-align:center;color:#c0c7e4;margin:11px 0 13px}.creditline{display:flex;justify-content:space-between;font:7px/1.8 var(--pixel);color:#b1b3da;gap:10px}.footer{display:flex;justify-content:space-between;gap:15px;margin:17px 0 0;font-size:11px;color:#aba8bc}.footer button{font:10px 'Courier New',monospace;color:#c9c4e8;border:0;background:transparent;padding:0;text-decoration:underline;text-underline-offset:3px}
.battle-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font:9px/1.6 var(--pixel);max-width:1040px;margin:auto;padding:12px 0;color:#d6d5e9}.text-button{border:0;background:transparent;padding:10px 4px;color:#ffdf7a;font:9px/1.7 var(--pixel)}.text-button:hover{color:white}.arena-wrap{position:relative;border:5px solid #656581;border-bottom-color:#32354f;border-right-color:#32354f;box-shadow:0 0 0 4px #111323,0 10px 45px #0008;margin:auto;max-width:1040px;background:#0b1443;overflow:hidden}#arena{width:100%;height:auto;display:block;aspect-ratio:4/3;touch-action:none}.arena-wrap:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.14;background:repeating-linear-gradient(0deg,#000,#000 1px,transparent 1px,transparent 3px)}.battle-overlay{position:absolute;inset:0;background:#070b2aec;display:grid;align-items:safe center;justify-items:center;overflow-y:auto;overscroll-behavior:contain;padding:22px;text-align:center;z-index:4}.battle-overlay>div{max-width:470px;width:100%;margin:auto}.eyebrow{font:9px/1.8 var(--pixel);color:#b9c5ee}.battle-overlay h2{font:clamp(20px,3vw,34px)/1.5 var(--pixel);color:#ffdd6a;text-shadow:3px 3px #9a2929;margin:12px 0}.battle-overlay p{font-size:16px;line-height:1.5;color:#d6dcf0}.battle-overlay .primary{margin:17px auto 8px;font-size:11px}.versus-screen{position:absolute;inset:0;z-index:3;background:linear-gradient(125deg,#123f7ee6 0%,#111956ed 48%,#6e204fe8 100%),url('./assets/player-select-map.png') center/cover;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.versus-heading{font:12px/1.6 var(--pixel);color:#ffe277;text-shadow:2px 2px #952922;margin:0 0 24px}.versus-faces{display:grid;grid-template-columns:1fr 100px 1fr;align-items:center;gap:26px;width:min(100%,690px)}.versus-faces>div{min-width:0}.versus-faces canvas{width:100%;max-height:285px;object-fit:cover;border:5px solid #eada90;border-right-color:#8e4a32;border-bottom-color:#8e4a32;box-shadow:5px 5px #07091d}.versus-faces h2{font:11px/1.6 var(--pixel);text-transform:uppercase;color:#ffe482;text-shadow:2px 2px #862828;margin:12px 0 6px;overflow-wrap:anywhere}.versus-faces>div>span{font:13px var(--pixel);color:#71e3ff}.versus-faces>div:last-child>span{color:#ff9cb0}.versus-caption{font:9px/1.8 var(--pixel);color:#d3e7ff;margin:25px 0 10px}.keyboard-hint{font-size:11px;color:#b6b4cb;text-align:center;line-height:1.8;margin:18px 0}.keyboard-hint b{color:#ffda63;margin:0 5px}.touch-controls{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1040px;margin:auto;padding:17px 12px;user-select:none;touch-action:none;-webkit-user-select:none;background:#777488;border:3px solid #c2beca;border-right-color:#4f4b5d;border-bottom-color:#4f4b5d;border-radius:0 0 14px 14px}.direction-pad,.action-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,36px);gap:2px;min-width:0}.touch-controls button{background:#252533;color:#f1eff6;border:2px solid #59566b;border-bottom:4px solid #15151c;border-radius:5px;touch-action:none;user-select:none;font:20px/1 'Courier New',monospace;padding:3px;min-width:0;min-height:0;box-shadow:1px 2px #494452}.touch-controls button span{display:block;font:8px/1.5 'Courier New',monospace}.direction-pad [data-input=left]{grid-column:1;grid-row:2}.direction-pad [data-input=jump]{grid-column:2;grid-row:1}.direction-pad [data-input=right]{grid-column:3;grid-row:2}.action-pad button{border-radius:50%;background:#6453a0;border-color:#9785d0;border-bottom-color:#39315b;color:#fff}.action-pad [data-input=block]{grid-column:2;grid-row:1;background:#9890c1;color:#211b3a}.action-pad [data-input=punch]{grid-column:1;grid-row:2;background:#9890c1;color:#211b3a}.action-pad [data-input=kick]{grid-column:2;grid-row:3}.action-pad [data-input=special]{grid-column:3;grid-row:2}.touch-controls button.active{transform:translateY(2px);border-color:#ffe785;background:#433273}.touch-controls button:disabled{opacity:.35}.touch-controls button.active span{color:#fff}dialog{width:min(560px,calc(100% - 26px));max-height:88dvh;background:#121746;color:#f3eddd;border:4px solid #d2c7a2;border-right-color:#65668b;border-bottom-color:#65668b;padding:30px;box-shadow:8px 8px #000}dialog::backdrop{background:#020415db}dialog h2{font:18px/1.6 var(--pixel);color:#ffe081;margin:17px 0}dialog p{font-size:16px;line-height:1.6}.dialog-close{position:absolute;top:7px;right:9px;border:0;background:transparent;color:#fff;font-size:28px}.help-keys{display:grid;grid-template-columns:1fr 1.5fr;gap:14px;border-block:1px solid #7178a0;padding:18px 0;font-size:14px}.help-keys dt{color:#ffdd6b}.help-keys dd{margin:0}.muted{color:#bec6e2}#concept-dialog{width:min(1100px,calc(100% - 28px))}#concept-dialog img{display:block;width:100%;height:auto;margin:17px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes cursor{0%,100%{border-color:#fff47e}50%{border-color:#ff9940}}@keyframes blink{50%{opacity:.25}}
@media(pointer:fine){.touch-controls{display:none}}
@media(max-width:700px){#app{padding:0 14px 16px}.topbar{height:73px;gap:8px}.brand{font-size:22px}.brand b{font-size:28px}.brand small{font-size:7px;letter-spacing:2px}.top-actions{gap:6px}.icon-button{font-size:7px;padding:10px 7px}.console-screen{padding:14px 18px 13px}.scoreline{font-size:8px}.scoreline>span:nth-child(2){font-size:7px}.console-screen h1{font-size:21px;margin:18px 0}.portrait-duel{gap:12px;grid-template-columns:1fr .65fr 1fr;margin-bottom:16px}.duel-player canvas{height:155px;border-width:3px}.duel-player h2{font-size:8px;margin:9px -8px 0;min-height:29px}.duel-player p{font-size:9px;min-height:24px}.player-label{font-size:9px;left:7px;top:7px}.opponent .player-label{font-size:6px;left:7px;top:8px}.edition{font-size:7px}.versus-mark{font-size:55px}.brasilia-label{font-size:6px}.roster-grid{gap:4px;padding:4px}.fighter-card{border-width:2px}.fighter-card .name{font-size:8px;padding:4px 0}.fighter-card[aria-pressed=true]:before{font-size:8px}.fighter-card.boss:after{font-size:5px}.lock-icon{font-size:23px}.locked-card .name{font-size:7px}.lock-sub{font-size:6px}.roster-count{font-size:8px}.difficulty{gap:7px}.difficulty label{font-size:7px}.difficulty select{font-size:10px}.move-display{padding:8px;gap:7px}.move-display strong{font-size:8px}.move-command{font-size:12px}.move-display>span:first-child{font-size:8px}.primary{font-size:11px;padding:13px 9px;min-height:47px}.quote{font-size:12px}.select-hint{font-size:10px}.creditline{font-size:6px}.footer{font-size:10px;gap:10px}.footer button{font-size:9px}.battle-toolbar{font-size:7px;padding:10px 0}.text-button{font-size:8px;padding:8px 3px}.arena-wrap{border-width:3px}.battle-overlay{padding:15px}.battle-overlay h2{font-size:21px}.battle-overlay p{font-size:14px}.battle-overlay .primary{font-size:9px}.versus-heading{font-size:9px;margin-bottom:15px}.versus-faces{grid-template-columns:1fr 52px 1fr;gap:12px;max-width:520px}.versus-faces canvas{max-height:195px;border-width:3px}.versus-faces h2{font-size:8px;margin:9px 0}.versus-faces .versus-mark{font-size:46px}.versus-faces>div>span{font-size:9px}.versus-caption{font-size:7px;margin:18px 0 5px}.keyboard-hint{display:none}}
@media(max-width:440px){#app{padding-inline:10px}.topbar{height:68px}.brand{font-size:19px}.brand b{font-size:25px}.brand small{font-size:6px}.icon-button{font-size:6px;padding:10px 6px}.console-screen{padding:11px 11px 12px;border-width:3px;background-size:155% auto;background-position:50% 8px}.scoreline{font-size:6px;gap:5px}.scoreline>span:nth-child(2){font-size:6px}.console-screen h1{font-size:17px;margin:17px 0 14px}.portrait-duel{grid-template-columns:1fr .52fr 1fr;gap:8px}.duel-player canvas{height:117px}.duel-player h2{font-size:7px;line-height:1.7;margin:7px -5px 0;min-height:25px}.duel-player p{font-size:8px;margin:2px -4px 0;min-height:22px}.duel-center{padding-bottom:30px}.edition{display:none}.versus-mark{font-size:41px;margin:8px 0}.brasilia-label{font-size:5px;line-height:1.9}.opponent .player-label{font-size:5px;left:5px}.roster-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border-width:2px}.fighter-card canvas{aspect-ratio:1.25}.fighter-card .name{font-size:8px;letter-spacing:-.6px}.fighter-card[aria-pressed=true]:before{font-size:7px}.locked-card .name{font-size:7px}.lock-icon{font-size:20px;margin:5px 0 3px}.move-display{margin-top:12px;padding:8px 6px;gap:5px}.move-display strong{font-size:7px;line-height:1.6}.move-command{font-size:10px}.quote{font-size:11px;margin:9px 0}.roster-count{display:none}.selection-bottom{justify-content:center}.difficulty{width:100%;justify-content:space-between}.difficulty select{max-width:80%;font-size:10px}.primary{font-size:10px;margin-top:12px}.creditline{font-size:5px;gap:6px}.footer{font-size:9px}.footer button{font-size:8px}.select-hint{font-size:9px;margin:9px 0 12px}.battle-toolbar{font-size:6px;gap:7px}.text-button{font-size:7px}.touch-controls{padding:13px 9px;gap:8px}.direction-pad,.action-pad{grid-template-columns:repeat(3,36px);grid-template-rows:repeat(3,32px);gap:2px}.touch-controls button{font-size:17px}.touch-controls button span{font-size:6px}.battle-overlay{padding:11px}.battle-overlay h2{font-size:17px;line-height:1.5;margin:8px 0}.battle-overlay p{font-size:12px;line-height:1.45}.battle-overlay .primary{font-size:8px;min-height:36px;padding:9px 6px;margin:10px auto 5px}.eyebrow{font-size:7px}.versus-screen{padding:12px}.versus-heading{font-size:7px;margin-bottom:12px}.versus-faces{grid-template-columns:1fr 35px 1fr;gap:8px}.versus-faces canvas{max-height:130px;border-width:3px}.versus-faces .versus-mark{font-size:32px}.versus-faces h2{font-size:6px;line-height:1.7;min-height:24px}.versus-faces>div>span{font-size:7px}.versus-caption{font-size:6px;margin:12px 0 2px}dialog{padding:24px 17px}dialog h2{font-size:16px}dialog p{font-size:14px}.help-keys{font-size:12px}}
@media(max-height:540px) and (orientation:landscape){body:has(#battle:not([hidden])) .topbar{display:none}.battle-toolbar{padding:3px 0;font-size:7px;max-width:820px}.arena-wrap{width:min(100%,calc((100dvh - 42px)*4/3));max-height:calc(100dvh - 42px)}.touch-controls{position:fixed;inset:auto 9px 10px;background:transparent;border:0;padding:0;max-width:none;z-index:2;pointer-events:none;border-radius:0}.direction-pad,.action-pad{pointer-events:none;grid-template-columns:repeat(3,39px);grid-template-rows:repeat(3,32px)}.touch-controls button{pointer-events:auto;opacity:.86}.battle-overlay,.versus-screen{padding:12px}.versus-faces canvas{max-height:180px}.versus-heading{margin:0 0 10px;font-size:9px}.versus-caption{margin:10px 0 0}.versus-faces h2{font-size:8px}.versus-faces .versus-mark{font-size:48px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.console-screen h1{font-size:clamp(28px,4vw,44px);letter-spacing:3px}.scoreline{font-size:15px}.duel-player h2{font-size:17px}.player-label{font-size:16px}.opponent .player-label{font-size:12px}.edition{font-size:14px}.brasilia-label{font-size:12px}.move-display strong{font-size:15px}.primary{font-size:20px}.icon-button{font-size:14px}.creditline{font-size:11px}.fighter-card[aria-pressed=true]:before{font-size:16px}.versus-heading{font-size:20px}.versus-faces h2{font-size:18px}.versus-caption{font-size:15px}.battle-toolbar,.text-button{font-size:14px}.eyebrow{font-size:14px}.battle-overlay .primary{font-size:17px}
@media(max-width:700px){.console-screen h1{font-size:32px}.scoreline,.scoreline>span:nth-child(2){font-size:12px}.duel-player h2{font-size:14px}.player-label{font-size:13px}.opponent .player-label{font-size:10px}.edition{font-size:11px}.brasilia-label{font-size:10px}.move-display strong{font-size:13px}.primary{font-size:17px}.icon-button{font-size:11px}.creditline{font-size:10px}.versus-heading{font-size:15px}.versus-faces h2{font-size:14px}.versus-caption{font-size:12px}.battle-toolbar,.text-button{font-size:12px}.battle-overlay .primary{font-size:14px}}
@media(max-width:440px){.console-screen h1{font-size:27px;letter-spacing:2px}.scoreline,.scoreline>span:nth-child(2){font-size:10px}.duel-player h2{font-size:11px}.player-label{font-size:11px}.opponent .player-label{font-size:9px}.brasilia-label{font-size:8px}.move-display strong{font-size:11px}.primary{font-size:16px}.icon-button{font-size:10px}.creditline{font-size:9px}.fighter-card[aria-pressed=true]:before{font-size:12px}.versus-heading{font-size:12px}.versus-faces h2{font-size:11px}.versus-caption{font-size:10px}.battle-toolbar,.text-button{font-size:10px}.eyebrow{font-size:12px}.battle-overlay .primary{font-size:13px}}

/* SFII-inspired face-offs with readable, player-paced dialogue. */
.selection-bottom{flex-wrap:wrap;gap:14px}.versus-screen{overflow:auto;padding:16px}.versus-faces{align-items:start}.versus-faces>div{min-width:0;flex:1}.taunt{font-family:system-ui,sans-serif;font-size:clamp(12px,1.7vw,18px);line-height:1.4;color:#fff1c2;max-width:300px;margin:12px auto;min-height:3em}#stage-aside{font-family:system-ui,sans-serif;font-size:14px;margin:4px 0;color:#e0cb9d}.versus-caption{margin:8px 0}#result-portraits{display:flex;justify-content:center;gap:22px;margin:12px 0}#result-portraits[hidden]{display:none}#result-portraits>div{width:40%;max-width:185px}#result-portraits canvas{width:100%;border:3px solid #f4cf72;image-rendering:pixelated}#result-portraits strong{display:block;font-size:12px;margin-top:6px}.defeated{filter:grayscale(.85);opacity:.65}.battle-overlay{overflow:auto}.battle-overlay>div{max-height:100%;overflow:auto}#overlay-copy{font-family:system-ui,sans-serif;font-size:18px;line-height:1.45}button:disabled{cursor:wait}@media(max-width:600px){.versus-screen{justify-content:flex-start;padding:9px}.versus-faces canvas{max-height:110px;width:auto;max-width:100%}.versus-faces h2{font-size:12px}.versus-heading{margin:4px}.versus-mark{font-size:30px}.taunt{margin:5px auto;min-height:0;font-size:12px}.versus-caption,#stage-aside{font-size:10px}.battle-overlay>div{padding:10px}#result-portraits{margin:6px}#result-portraits canvas{max-height:100px;width:auto;max-width:100%}#overlay-copy{font-size:14px}}

.versus-screen{justify-content:safe center}.versus-screen>*{flex-shrink:0}@media(max-height:600px){.versus-screen{justify-content:flex-start}}
