:root{--paper:#eee2c9;--ink:#191b27;--pink:#ef569e;--gold:#f0c67b;--muted:#a5a7ae;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:#11141d;color:var(--paper);font:15px system-ui,sans-serif;background-image:repeating-linear-gradient(165deg,transparent,transparent 7px,#ffffff02 8px)}button,select{font:inherit;color:inherit}button{cursor:pointer;min-height:44px;background:#2a2d38;border:1px solid #555964;padding:10px 15px;font-size:12px;font-weight:800;letter-spacing:.5px}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--pink);outline-offset:3px}button:hover{filter:brightness(1.17)}button:disabled{cursor:default;opacity:.6}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;gap:30px;border-bottom:1px solid #383b46;padding:20px 5vw}header a{font-size:21px;font-weight:950;letter-spacing:-1px}header a span{color:var(--pink)}.edition{color:var(--muted);font:10px monospace;letter-spacing:2px}header button{margin-left:auto}main{max-width:1360px;margin:auto;padding:0 36px}.title{display:flex;align-items:center;justify-content:space-between;padding:38px 0 28px}.eyebrow{color:var(--gold);font:11px monospace;letter-spacing:3px}h1{font:900 clamp(50px,6vw,90px)/.92 Impact,'Arial Black',system-ui;margin:0;letter-spacing:-1px}h1 span{color:var(--pink)}.intro{font-size:21px;line-height:1.6;border-left:2px solid #4b4e58;padding-left:30px}.intro strong{color:var(--gold)}.roster{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{position:relative;height:300px;padding:0;border:2px solid #474954;background:#262a36;overflow:hidden;text-align:left;isolation:isolate}.card::before{content:'';position:absolute;inset:0;background:linear-gradient(160deg,#315363,#191c29);z-index:-1}.card[data-id=angie]::before{background:linear-gradient(150deg,#a34270,#201928)}.card[data-id=maga]::before{background:linear-gradient(150deg,#8b4737,#241c22)}.card[data-id=obama]::before{background:linear-gradient(150deg,#8e7652,#262630)}.card .portrait{display:block;width:100%;height:260px;background-repeat:no-repeat;background-size:400% 200%;background-position:left top}.card .label{position:absolute;bottom:0;left:0;right:0;padding:13px 15px;background:#151820ef}.card strong{font-size:19px;display:block}.card small{color:#cbc6be;display:block;font:10px monospace;margin-top:5px}.card.selected{border-color:var(--gold);box-shadow:0 6px var(--gold)}.card.locked{border-style:dashed}.card.locked .portrait{filter:saturate(.7)}.ribbon{position:absolute;right:9px;top:10px;padding:7px;background:var(--gold);color:var(--ink);font:800 10px monospace;box-shadow:3px 3px #1118}.setup{display:flex;gap:30px;justify-content:space-between;background:#1d202b;border:1px solid #444752;margin-top:25px;padding:23px}.setup small{font:11px monospace;letter-spacing:2px;color:var(--pink)}.setup h2{margin:9px 0;font-size:29px}.setup p{font-size:12px;line-height:1.6;color:#c4c5ca;margin:6px 0}.options{min-width:330px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.options label{font-size:10px;color:var(--muted)}select{display:block;margin-top:6px;width:100%;min-height:44px;background:#11141c;padding:10px 8px;border:1px solid #626574;font-size:12px}.primary{background:var(--gold);color:var(--ink);border-color:var(--gold)}.options .primary{grid-column:1/3}.sample-note{font-size:11px;color:#aaaeb8;line-height:1.7;max-width:950px;margin:22px 0}.arena-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:20px;padding:12px 0;font:11px monospace}.arena-toolbar>div{display:flex;gap:6px}.arena-toolbar button{font-size:10px;padding:9px}#game-wrap{position:relative;background:#191b26;aspect-ratio:16/9;border:2px solid #5d5551;box-shadow:0 20px 80px #0007}#phaser-game{width:100%;height:100%;outline:0}#phaser-game canvas{display:block;width:100%!important;height:100%!important;object-fit:contain;margin:0!important}#overlay,#move-panel{position:absolute;inset:0;display:grid;place-items:center;background:#11141be8;z-index:4;padding:20px}#overlay>div{max-width:560px;text-align:center}#overlay h2,#move-panel h2{font:900 clamp(32px,4vw,64px)/1 Impact,'Arial Black',sans-serif;margin:15px 0}#overlay-kicker{color:var(--pink);font:12px monospace;letter-spacing:3px}#overlay-copy{line-height:1.6;font-size:14px;color:#cbcbd0}#overlay button{margin:6px}#move-panel{display:block;overflow:auto;text-align:center}#move-panel h2{font-size:30px;color:var(--gold)}#move-content{max-width:760px;margin:15px auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}#move-content p{margin:0;background:#272b36;padding:12px;font-size:13px}#move-content strong{display:block;color:var(--pink);margin-bottom:4px}.touch{display:flex;justify-content:space-between;gap:20px;padding:12px 16px;background:#1c202c;user-select:none;touch-action:none}.touch button{touch-action:none;user-select:none;min-width:50px;height:46px;border-bottom:4px solid #080b13}.directions{display:grid;grid-template-columns:repeat(3,55px);gap:5px}.directions [data-control=down]{grid-column:1/4}.attacks{display:grid;grid-template-columns:repeat(2,90px);gap:5px}.touch .pink{background:#7d3258}.touch .gold{background:#6b582c}.touch button.active{transform:translateY(2px);border-bottom-width:1px;filter:brightness(1.4)}.live-status{display:flex;justify-content:space-between;padding:12px 0;font:11px monospace;color:#c7c7c9;gap:12px}.guide{padding:20px 0;border-top:1px solid #343845;font-size:11px;line-height:1.9;color:#aeb1bb}.guide p{margin:7px 0}kbd{display:inline-block;padding:2px 6px;margin:0 2px;background:#282c38;border:1px solid #525767;border-radius:3px;font:12px monospace;color:#f5e7c7}footer{padding:24px;text-align:center;color:#9ca1ad;font-size:10px}#arena:fullscreen{display:flex;flex-direction:column;justify-content:center;background:#11141d;padding:0 18px}#arena:fullscreen #game-wrap{height:calc(100dvh - 215px);aspect-ratio:16/9;width:auto;max-width:100%;margin:auto}#arena:fullscreen #phaser-game{min-width:0}body.playing header,body.playing .title{display:none}[hidden]{display:none!important}@media(min-width:1000px) and (pointer:fine){.touch{display:none}#arena:fullscreen #game-wrap{height:calc(100dvh - 110px)}}@media(max-width:700px){header{padding:14px;gap:10px}.edition{display:none}header a{font-size:17px}main{padding:0 12px}.title{padding:26px 0}.intro{display:none}h1{font-size:58px}.roster{grid-template-columns:repeat(2,1fr);gap:10px}.card{height:235px}.card .portrait{height:220px}.card strong{font-size:16px}.setup{display:block;padding:17px}.options{min-width:0;margin-top:18px}.arena-toolbar{font-size:9px;flex-direction:column;gap:8px}.arena-toolbar button{font-size:9px;padding:7px}.touch{padding:9px 5px;gap:8px}.directions{grid-template-columns:repeat(3,44px)}.attacks{grid-template-columns:repeat(2,78px)}.touch button{padding:5px;min-width:44px;font-size:11px}.live-status{font-size:9px;display:block;line-height:1.8}#overlay{padding:8px}#overlay h2{font-size:28px;margin:7px 0}#overlay-copy{font-size:10px;margin:6px 0}#overlay button{font-size:10px;padding:7px;min-height:38px;margin:3px}#overlay-kicker{margin:5px;font-size:9px}#move-panel{padding:10px}#move-panel h2{font-size:22px}#move-content{margin:8px auto;gap:5px}#move-content p{font-size:10px;padding:8px}}@media(max-height:500px) and (orientation:landscape){main{padding:0}#arena .arena-toolbar{margin:0;flex-direction:row;padding:4px 8px}#arena #game-wrap{height:calc(100dvh - 72px);width:100%;aspect-ratio:auto}#arena .touch{position:absolute;left:0;right:0;bottom:25px;background:none;z-index:3;pointer-events:none}.touch button{pointer-events:auto;opacity:.72}.live-status{height:25px;padding:4px 10px}.guide,footer{display:none}#arena:fullscreen #game-wrap{height:calc(100dvh - 72px);width:100%}}
/* Keep every match control reachable on narrow screens. */
@media(max-width:700px){.arena-toolbar>div{width:100%;flex-wrap:wrap;justify-content:center;gap:5px}.arena-toolbar button{padding:7px 8px}#overlay button{min-height:44px}}
#arena:fullscreen #game-wrap{width:100%;margin:0 auto}
#block-toggle[aria-pressed=true]{background:#8ed5e6;color:#16202a;border-color:#cff6ff}
/* The full core roster stays readable without hiding any villain. */
@media(min-width:1000px){.roster{grid-template-columns:repeat(5,1fr)}.card{height:225px}.card .portrait{height:215px}.card strong{font-size:16px}.title{padding:26px 0 22px}h1{font-size:62px}.intro{font-size:18px}.ribbon{font-size:9px;padding:5px}}
.card[data-id=keisha]::before{background:linear-gradient(150deg,#30765d,#172b2b)}.card[data-id=abdul]::before{background:linear-gradient(150deg,#257386,#202330)}.card[data-id=georgia]::before,.card[data-id=laura]::before{background:linear-gradient(150deg,#72528b,#242133)}.card[data-id=scott]::before{background:linear-gradient(150deg,#5879a2,#202331)}.card[data-id=trump]::before{background:linear-gradient(150deg,#9b7842,#342a27)}
.arena-toolbar>div{flex-wrap:wrap}#transform{border-color:#b597db;color:#dec2ff}
@media(max-width:700px){.live-status span{display:block}#overlay button{min-height:44px}}
/* Release interface */
header #help{margin-left:auto}header #sound{margin-left:0}.connection-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;color:#a9d8d9;font:12px monospace}.connection-line button{flex-shrink:0}.stage-label{display:flex;flex-direction:column;gap:5px}.stage-label small{color:#f0c67b;font-size:10px}.options{max-width:430px}.options #continue-tour{grid-column:1/-1}.mobile-hud{display:none}.arena-controller{font:10px monospace;color:#9eb6bd;margin:0 0 10px}.pad-legend{max-width:760px;margin:16px auto;font:12px/1.7 monospace;color:#9fd8db}dialog{background:#1a1d2a;color:#eee2c9;border:2px solid #e2c588;max-width:730px;width:calc(100% - 28px);max-height:88dvh;padding:26px;box-shadow:0 25px 120px #000b}dialog::backdrop{background:#080c16db}.help-head{display:flex;align-items:center;gap:20px;justify-content:space-between}.help-head h2{font:32px Impact,system-ui;margin:0;color:#f0c67b}dialog p,dialog li{font-size:14px;line-height:1.7}.controller-grid{display:grid;grid-template-columns:1fr 2fr;gap:1px;background:#48505e}.controller-grid>*{padding:10px;background:#262b38;font-size:13px}.controller-grid span{color:#ecba79}.volume-control{display:flex;gap:20px;align-items:center;padding-top:16px}.volume-control input{min-height:44px;flex:1}.card:focus-visible{outline:4px solid #92d8e3;outline-offset:3px;z-index:2}.sample-note{max-width:unset}#career{color:#f0c67b}.roster .ribbon{font-size:9px}.live-status #input-display{color:#e5c68d}
@media(max-width:700px){header{flex-wrap:wrap}header a{margin-right:auto}header #help{margin-left:0;font-size:9px}.connection-line{align-items:flex-start;font-size:10px}.connection-line button{font-size:9px;padding:7px}.mobile-hud{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:10px;padding:9px 8px;background:#252838;border:1px solid #4e4e5a;border-bottom:0}.mobile-hud>div:last-child{text-align:right}.mobile-hud strong{font:800 11px system-ui;display:block}.mobile-hud small{font:9px monospace;display:block;color:#f0c67b}.mobile-hud meter{width:100%;height:13px;display:block}.mobile-hud>b{text-align:center;font-size:21px}.arena-toolbar{margin-top:0;padding-top:9px}.arena-toolbar>div{justify-content:center}.stage-label small{font-size:9px}#move-content{grid-template-columns:1fr}.touch button{height:52px}.live-status{padding:8px 0}.arena-controller{font-size:9px}.guide{padding-top:12px}.pad-legend{font-size:10px}.help-head h2{font-size:25px}dialog{padding:16px}.controller-grid>*{font-size:11px;padding:8px}.connection-line button{max-width:110px}}
@media(max-height:500px) and (orientation:landscape){.mobile-hud{display:none}.arena-controller{display:none}.stage-label small{display:none}.arena-toolbar{gap:5px}.arena-toolbar>div{gap:4px}.arena-toolbar button{padding:6px;font-size:9px}.touch button{height:46px}.pad-legend{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.arena-toolbar button{min-width:44px}

.card[data-id=rick]::before{background:linear-gradient(150deg,#4869a1,#202331)}

.card[data-id=pete]::before{background:linear-gradient(150deg,#52749b,#1c2736)}
.card[data-id=stephen]::before{background:linear-gradient(150deg,#894a5c,#29212d)}
.card[data-id=elon]::before{background:linear-gradient(150deg,#467d72,#1c2932)}

/* Both sides are explicit before entering a versus match. */
.mode-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.mode-choices button{text-align:left;min-height:64px;font-size:14px}.mode-choices small{display:block;font:11px/1.5 system-ui;margin-top:4px;letter-spacing:0;color:#c1c3cb}.mode-choices button[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.mode-choices button[aria-pressed=true] small{color:#3e3740}.matchup-picker{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:10px}.matchup-side{display:grid;grid-template-columns:100px minmax(0,1fr);gap:15px;align-items:center;text-align:left;min-height:135px;padding:8px 16px 8px 8px;background:#1d2433;border:2px solid #53606f}.matchup-side[aria-pressed=true]{border-color:var(--pink);box-shadow:0 4px var(--pink)}.matchup-side:disabled{opacity:.8}.matchup-portrait{display:block;width:100px;height:115px;background-size:400% 200%;background-repeat:no-repeat;background-position:left top}.matchup-side small,.matchup-side strong,.matchup-side em{display:block}.matchup-side small{font:10px monospace;color:#dfbb76}.matchup-side strong{font-size:21px;line-height:1.2;margin:9px 0;letter-spacing:0;overflow-wrap:anywhere}.matchup-side em{font:normal 10px monospace;color:#b1d9e6}.versus-mark{text-align:center;font:italic 900 24px Impact,system-ui;color:var(--gold)}.selection-hint{font:700 12px/1.7 monospace;color:#f3c584;margin:20px 0 4px}.selection-help{font:11px/1.7 system-ui;color:#bec6d1;margin:0 0 22px}.matchup-summary{grid-column:1/-1;padding:10px;background:#111722;font-weight:800!important;color:var(--gold)!important}.options #start{min-height:50px}.matchup-side:focus-visible,.mode-choices button:focus-visible{outline-color:#92d8e3}.card.selected{border-color:var(--pink);box-shadow:0 5px var(--pink)}
@media(max-width:700px){.mode-choices{gap:6px}.mode-choices button{padding:9px 7px;font-size:10px;letter-spacing:0}.mode-choices small{font-size:9px}.matchup-picker{gap:5px;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)}.matchup-side{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;padding:7px;min-height:178px;text-align:center}.matchup-portrait{width:70px;height:80px}.matchup-side small{font-size:9px}.matchup-side strong{font-size:14px;margin:6px 0}.matchup-side em{font-size:9px}.versus-mark{font-size:18px}.selection-hint{font-size:11px}.selection-help{font-size:10px}}
