:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f0e7;background:#10151b;font-synthesis:none;--muted:#8e969c;--line:#2b3238;--green:#b5ed91;--orange:#ff9962}
*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button,a,select,input{outline-offset:5px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--green)}button{color:inherit}a{color:inherit;text-decoration:none}[hidden]{display:none!important}kbd{font:600 11px ui-monospace,monospace;border:1px solid #49515a;border-bottom-width:2px;border-radius:4px;padding:3px 5px;white-space:nowrap;color:#dce3da;background:#20282e}
.site-header{max-width:1480px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:23px 44px;border-bottom:1px solid var(--line);gap:16px}.wordmark{font-weight:950;font-size:23px;letter-spacing:-1.3px;font-style:italic}.wordmark span{color:var(--green)}.wordmark i{font-size:14px;color:var(--orange);margin-left:10px;vertical-align:top}.header-right{display:flex;align-items:center;gap:25px}.mode-badge{font-size:10px;font-weight:750;letter-spacing:1.2px;border:1px solid #3d4b39;border-radius:20px;padding:8px 13px;color:var(--green);display:flex;align-items:center;gap:8px}.mode-badge i,.green-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green)}.quiet{background:transparent;border:0;color:#b6bdbd;font-size:12px;padding:8px 0}.quiet:hover{color:var(--green)}.quiet kbd{margin-left:6px}.sound-button{border:1px solid var(--line);background:#1a2228;width:32px;height:32px;border-radius:50%;font-size:20px;color:var(--green)}.sound-button[aria-pressed=true]{color:#80888c}
.selection-screen{max-width:1480px;margin:auto;padding:35px 44px 0}.intro-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:var(--green);margin:0 0 13px}h1{font-size:clamp(34px,4vw,56px);line-height:1.08;letter-spacing:-2.5px;font-weight:850;margin:0}h1 em{font-style:italic;color:var(--green)}.intro-copy{color:var(--muted);font-size:13px;margin:13px 0 0}.edition{display:flex;align-items:center;gap:14px}.edition>span{font-size:66px;letter-spacing:-5px;font-weight:900;color:#2c373c;font-style:italic}.edition p{font-size:9px;line-height:2;letter-spacing:1.1px;color:#7d878c}.edition b{font-weight:600;color:#c2c6be}.selection-layout{display:grid;grid-template-columns:minmax(0,1fr)320px;gap:28px;align-items:start}.roster-panel{min-width:0}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;border-bottom:1px solid var(--line)}.target-tabs{display:flex;gap:22px}.target-tab{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 13px;font-size:10px;font-weight:750;letter-spacing:1px;color:#626d75}.target-tab span{color:#929d9f;margin-left:5px}.target-tab.active{color:var(--green);border-color:var(--green)}.target-tab.active span{color:#f1f1e8}.tiny-label{font-size:8px;letter-spacing:1px;color:#6c7880}.roster{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:11px}.roster-card{position:relative;min-width:0;overflow:hidden;background:#1a2127;border:1px solid #303a41;border-radius:7px;padding:0;text-align:left;transition:background .15s,border-color .15s,transform .15s}.roster-card.selected{transform:translateY(-3px)}.roster-card.selected{border:2px solid var(--fighter-color);background:color-mix(in srgb,var(--fighter-color) 12%,#192026)}.portrait{height:138px;display:flex;justify-content:center;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% 85%,color-mix(in srgb,var(--fighter-color) 12%,transparent),transparent 75%)}.portrait img{width:190px;max-width:none;height:178px;object-fit:contain;object-position:50% 0;transform:translateY(8px);filter:drop-shadow(0 8px 9px #070e1960);transition:transform .2s}.roster-card.selected .portrait img{transform:translateY(2px) scale(1.05)}.card-name{position:relative;display:block;border-top:1px solid #ffffff0d;padding:11px 9px 10px;background:#171f24;font-size:10px;font-weight:750;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-name small{font-size:8px;color:#7d8a8d;font-weight:500;display:block;margin-top:5px;white-space:normal;line-height:1.35}.card-name small span{white-space:nowrap}.card-marker{position:absolute;right:7px;top:7px;background:var(--fighter-color);color:#132021;z-index:1;border-radius:3px;min-width:21px;font-size:10px;text-align:center;padding:4px;font-weight:900}.card-marker.cpu{background:var(--orange)}.roster-footer{display:flex;justify-content:space-between;gap:16px;font-size:8px;letter-spacing:.6px;color:#6f7f84;margin-top:21px}.roster-footer i{margin-right:6px}.match-panel{border:1px solid var(--line);border-radius:10px;background:#192127;padding:17px;overflow:hidden}.fighter-preview{height:180px;position:relative;border-bottom:1px solid var(--line);margin-bottom:15px}.preview-text{position:relative;z-index:1;width:60%;padding-top:3px}.preview-text .eyebrow{color:var(--fighter-color);font-size:8px;letter-spacing:1.2px;margin-bottom:7px}.preview-text h2{font-size:27px;letter-spacing:-1px;line-height:1.06;margin:0 0 8px}.preview-text .role{font-size:10px;line-height:1.6;color:var(--fighter-color);margin:0}.preview-portrait{position:absolute;right:-28px;bottom:0;width:200px;height:205px;object-fit:contain;filter:drop-shadow(0 5px 16px #070c15)}.fighter-stats{position:absolute;left:0;bottom:14px;display:grid;gap:6px;z-index:2}.stat{display:flex;align-items:center;gap:8px;font-size:8px;color:#8f9b9f}.stat>span{width:60px}.stat-dots{display:flex;gap:3px}.stat-dots i{display:block;width:10px;height:4px;border-radius:1px;background:#3b454a}.stat-dots i.filled{background:var(--fighter-color)}.versus{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.versus .vs{font-weight:900;color:var(--orange);font-style:italic;font-size:18px}.versus-pick{font-size:10px;font-weight:650;max-width:110px;display:flex;flex-direction:column;gap:5px}.versus-pick small{font-size:8px;letter-spacing:1px;color:#7e8d95}.versus-pick:last-child{text-align:right}.match-settings label{display:block;color:#909b9e;font-weight:650;letter-spacing:1px;font-size:8px;margin:14px 0 7px}select{width:100%;background:#111a20;color:#dce4e0;border:1px solid #354149;border-radius:5px;font-size:10px;padding:9px;cursor:pointer}.stage-preview{display:flex;gap:10px;align-items:center;margin:10px 0 16px}.stage-preview img{width:64px;height:38px;object-fit:cover;border-radius:4px}.stage-preview b{font-size:10px;font-weight:650;display:block}.stage-preview span{display:block;font-size:9px;color:#829093;margin-top:5px}.primary{width:100%;border:0;padding:14px 17px;border-radius:5px;background:var(--green);color:#15211d;font-size:11px;font-weight:850;letter-spacing:.8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #a6f69108}.primary:hover{background:#c5ffa2}.primary span{font-size:20px;line-height:14px}.load-status{font-size:8px;text-align:center;letter-spacing:1px;color:#8e999a;margin:10px 0 0;min-height:12px}.selection-footer{margin-top:32px;padding:19px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#68767c}.selection-footer b{color:var(--green);margin-left:8px}
.game-screen{max-width:1390px;padding:14px 36px 28px;margin:auto}.arena-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:10px;color:#9faead;letter-spacing:.5px}.arena-wrap{position:relative;border:1px solid #3b484b;border-radius:9px;overflow:hidden;box-shadow:0 20px 70px #0004;background:#0c151a}.arena-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:16/9}.hud{position:absolute;left:3.1%;right:3.1%;top:3.5%;display:grid;grid-template-columns:1fr 80px 1fr;gap:28px;pointer-events:none}.hud-name{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:clamp(10px,1.5vw,20px);font-weight:850;letter-spacing:-.5px;text-shadow:0 2px 4px #000}.hud-name small{font-size:9px;letter-spacing:1px;color:#d7e7ce;padding:3px 7px;border:1px solid #b9d3b56b;border-radius:4px;background:#1c2d2a8c}.health-track{border:2px solid #fff5;background:#182324b5;height:20px;transform:skew(-8deg);box-shadow:0 3px 8px #0003;padding:2px}.health-track>div{height:100%;background:linear-gradient(90deg,#83ba60,#d6f6a7);transition:width .08s linear}.opponent .health-track>div{background:linear-gradient(90deg,#ffc59a,#fa9060);margin-left:auto}.meter-row{display:flex;gap:12px;align-items:center;margin-top:9px}.meter-track{height:7px;background:#121b239c;border:1px solid #c9e7d84f;flex:1;max-width:190px;border-radius:2px;overflow:hidden}.meter-track>div{height:100%;background:#87dbe5}.meter-track.ready>div{background:#ffd991;box-shadow:0 0 10px #ffc872}.meter-track.code-meter>div{background:#83ffb0}.round-dots{display:flex;gap:7px}.round-dots i{display:block;width:9px;height:9px;border-radius:50%;border:1px solid #fff8;background:#15211d99}.round-dots i.won{background:#fff3bc;border-color:#fff3bc;box-shadow:0 0 8px #ffe69e66}.opponent .hud-name{flex-direction:row-reverse}.opponent .meter-row{flex-direction:row-reverse}.timer-block{text-align:center;filter:drop-shadow(0 2px 4px #000)}.timer-block>span{display:block;font-size:9px;letter-spacing:1.4px;color:#e9e7d9}.timer-block>b{display:block;line-height:1.05;font-size:48px;font-weight:900;letter-spacing:-2px;color:#fff7e4}.timer-block.low>b{color:#ff9a78}.arena-overlay{position:absolute;inset:0;background:#051018c9;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;z-index:3}.overlay-card{text-align:center;max-width:380px;width:90%;padding:30px;background:#162127e8;border:1px solid #6e827559;border-radius:12px}.overlay-card h2{font-size:38px;letter-spacing:-1.8px;margin:10px 0 22px}.overlay-card .primary{justify-content:center;margin-top:22px}.overlay-card .quiet{margin-top:12px}.overlay-card p:not(.eyebrow){font-size:13px;color:#c5d5cd}.battle-bottom{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.8px;color:#8a989c;margin:14px 0}.battle-bottom span:first-child{color:var(--green);font-size:10px;letter-spacing:.2px}.move-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.move-card{border:1px solid var(--line);background:#172026;border-radius:6px;padding:12px 14px;display:flex;flex-direction:column;gap:7px}.move-card small{font-size:8px;letter-spacing:1px;color:#8a999c}.move-card b{font-size:12px;font-weight:650}.move-card .command{font:650 15px ui-monospace,monospace;color:var(--green)}.move-card:last-child{border-color:#594b30;background:#24241e}.move-card:last-child .command{color:#ffd58d}.controls-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;margin:20px 0 0;font-size:10px;color:#98a6a6;line-height:2}
dialog{background:#192228;color:#f4f0e7;border:1px solid #45514a;border-radius:12px;padding:26px 32px;max-width:540px;width:calc(100% - 30px);max-height:90vh}dialog::backdrop{background:#040b13c9;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head .eyebrow{margin:0}dialog h2{font-size:34px;line-height:1.08;letter-spacing:-1.2px;margin:20px 0}.help-controls{font-size:12px;line-height:1.8;color:#bbc9c4}.help-controls b{color:var(--green)}.help-controls p{margin:14px 0}.volume-settings{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:13px}.volume-settings label{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.volume-settings input{width:70%;accent-color:var(--green)}.dialog-foot{color:#7f9494;font-size:10px;line-height:1.7;margin-bottom:0}
@media(min-width:1600px){.portrait{height:178px}.portrait img{height:225px;width:235px}.card-name{font-size:12px}.selection-screen{padding-top:45px}.match-panel{padding:23px}.fighter-preview{height:205px}.preview-portrait{height:232px}}
@media(max-width:1170px){.roster{grid-template-columns:repeat(4,minmax(0,1fr))}.selection-layout{grid-template-columns:minmax(0,1fr)290px;gap:20px}.tiny-label{display:none}.roster-footer{flex-direction:column;gap:8px}.portrait{height:140px}.card-name{font-size:11px}}
@media(max-width:800px){.site-header{padding:18px 22px}.header-right{gap:14px}.mode-badge{display:none}.selection-screen{padding:25px 22px 0}.edition{display:none}.intro-row{margin-bottom:25px}.selection-layout{grid-template-columns:1fr}.roster{grid-template-columns:repeat(4,minmax(0,1fr))}.match-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.fighter-preview{grid-row:1/4;margin:0;height:200px}.versus{grid-column:2;margin:0}.match-settings{grid-column:2;grid-row:2/5}.primary{grid-column:1}.match-panel .load-status{grid-column:1}.selection-footer{margin-top:20px}.game-screen{padding:12px}.hud{gap:12px;grid-template-columns:1fr 48px 1fr}.timer-block>b{font-size:32px}.timer-block>span{font-size:7px}.health-track{height:14px}.hud-name{margin-bottom:5px}.hud-name small{font-size:6px;padding:2px 4px}.meter-track{height:5px}.meter-row{margin-top:5px}.round-dots i{width:6px;height:6px}.move-guide{grid-template-columns:repeat(2,1fr)}.battle-bottom>span:last-child{display:none}}
@media(max-width:480px){.wordmark{font-size:19px}.header-right .quiet{font-size:10px}.header-right kbd{display:none}.selection-screen{padding:22px 14px 0}h1{font-size:34px;letter-spacing:-1.8px}.roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.portrait{height:116px}.portrait img{width:155px;height:155px}.card-name{font-size:9px;padding:9px 7px}.match-panel{display:block}.fighter-preview{height:175px;margin-bottom:15px}.preview-portrait{right:0}.match-settings{margin-bottom:10px}.roster-footer{font-size:7px}.controls-strip{gap:8px}.overlay-card{padding:16px}.overlay-card h2{font-size:25px}.overlay-card .eyebrow{font-size:7px;margin-bottom:5px}.overlay-card .primary{padding:10px;margin-top:10px}.timer-block>b{font-size:24px}.hud{gap:8px;grid-template-columns:1fr 34px 1fr}.hud-name{font-size:9px}.hud-name small{display:none}.move-card{padding:10px}.move-card b{font-size:10px}.move-card .command{font-size:12px}.selection-footer{font-size:6px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.splash-screen{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#254438 0%,#111e26 38%,#080f17 78%)}
.splash-screen:before{content:'';position:absolute;inset:0;background:linear-gradient(150deg,transparent 38%,#b5ed9114 38.2%,transparent 38.7%,transparent 65%,#ff996216 65.2%,transparent 65.7%);z-index:-1}
.splash-grid{position:absolute;bottom:-30%;left:-25%;width:150%;height:80%;background:linear-gradient(#b5ed9130 1px,transparent 1px),linear-gradient(90deg,#b5ed9130 1px,transparent 1px);background-size:75px 75px;transform:perspective(450px) rotateX(60deg);mask-image:linear-gradient(transparent,#000);z-index:-1}
.splash-content{position:relative;z-index:2;text-align:center;padding:30px 20px 170px;width:100%}.splash-content .eyebrow{letter-spacing:3px;font-size:clamp(8px,1.2vw,12px)}
.splash-logo{font-size:clamp(54px,11.5vw,165px);font-style:italic;font-weight:950;letter-spacing:-.055em;line-height:.97;text-shadow:0 6px 0 #040a0e,0 0 70px #b5ed9126}.splash-logo span{color:var(--green)}.splash-logo i{display:inline-block;font-size:.23em;color:var(--orange);vertical-align:top;margin:8px 0 0 10px}
.splash-tagline{color:#a6b6b1;font-size:clamp(12px,1.5vw,18px);margin:25px 0 38px}.splash-continue{border:1px solid #b5ed9166;border-radius:5px;color:#eefae5;background:#192c27a6;padding:18px 28px;font-size:clamp(10px,1.1vw,14px);font-weight:750;letter-spacing:1.7px;animation:splash-breathe 2.2s ease-in-out infinite}.splash-continue kbd{font-size:inherit;color:var(--green);border-color:#b5ed9170;background:#13231b;margin:0 5px}.splash-continue:hover{background:#355339}.splash-continue:disabled{animation:none}.splash-caption{color:#6c8a82;font-size:8px;letter-spacing:2px;margin-top:22px}
.splash-fighters{position:absolute;bottom:-40px;left:2%;right:2%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;opacity:.83;pointer-events:none}.splash-fighters img{width:140%;margin-left:-20%;height:clamp(150px,22vw,320px);object-fit:contain;object-position:bottom;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--fighter-color) 30%,transparent));mask-image:linear-gradient(#000 60%,transparent)}
@keyframes splash-breathe{0%,100%{box-shadow:0 0 0 #b5ed9100}50%{box-shadow:0 0 26px #b5ed9130}}
@media(max-width:700px){.splash-logo span{display:block}.splash-logo{font-size:clamp(64px,20vw,110px)}.splash-logo i{display:none}.splash-fighters{grid-template-columns:repeat(6,minmax(0,1fr));bottom:-50px}.splash-fighters img{height:155px}.splash-fighters img:nth-child(n+7){display:none}.splash-content{padding-bottom:130px}.splash-caption{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.splash-continue{animation:none}}
/* The trailing damage bar makes the strength of each contact visible. */
.health-track{position:relative;isolation:isolate}.health-track>div{position:relative;z-index:1}.health-damage{position:absolute;top:2px;bottom:2px;left:2px;width:calc(var(--hp,100%) - 4px);background:#fff0c4;transition:width .55s ease .18s}.opponent .health-damage{left:auto;right:2px}.health-track.full .health-damage{transition:none}.health-track.danger>div{background:linear-gradient(90deg,#ec674d,#ffb06f)}

/* Keyboard selection and the pre-round controls. */
.roster:focus-visible{outline:2px solid var(--green);outline-offset:7px;border-radius:7px}.roster-card{cursor:default}.controls-overlay{position:fixed;z-index:10;padding:20px}.opening-controls{width:min(570px,100%);max-height:calc(100svh - 40px);overflow:auto;padding:28px 32px;background:#162127;border:1px solid #64785d;border-radius:12px;box-shadow:0 24px 100px #0007}.opening-controls h2{font-size:30px;line-height:1.1;letter-spacing:-1px;margin:0 0 22px}.opening-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.opening-keys>div{display:flex;align-items:center;gap:10px}.opening-keys kbd{min-width:35px;text-align:center;color:var(--green);font-size:14px;padding:7px}.opening-keys span{font-size:12px;font-weight:700}.opening-keys small{display:block;font-size:9px;color:#98aba3;font-weight:400;line-height:1.5;margin-top:4px}.opening-controls .primary{margin-top:30px}@media(max-width:540px){.opening-controls{padding:22px 20px}.opening-controls h2{font-size:26px}.opening-keys{grid-template-columns:1fr;gap:20px}.opening-keys kbd{min-width:84px}.opening-keys small{font-size:11px}.roster-footer{line-height:1.8}}
.music-credits{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.7;color:#bbc9c4}.music-credits summary{cursor:pointer;color:var(--green);font-weight:650}.music-credits ol{padding-left:20px}.music-credits li{padding:10px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.music-credits li b,.music-credits li span{display:block}.music-credits li b{color:#f4f0e7}.music-credits a{color:var(--green);text-underline-offset:3px}

/* Touch: phones play with a direction pad and three buttons over the page. */
html:not(.touch) .touch-only,html:not(.touch) .touch-controls,html.touch .kb-only,html.touch button kbd,html.touch .controls-strip{display:none!important}
.touch-controls{position:fixed;left:0;right:0;bottom:0;height:0;z-index:2;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.touch-pad,.touch-button{touch-action:none;-webkit-tap-highlight-color:transparent;background:#101a20a6;border:1px solid #b5ed9159}
.touch-pad{position:absolute;left:16px;bottom:18px;width:150px;height:150px;border-radius:50%}
.touch-pad i{position:absolute;font-style:normal;font-size:19px;line-height:1;color:#b5ed91a6;transform:translate(-50%,-50%);pointer-events:none}
.touch-pad .up{left:50%;top:19%}.touch-pad .down{left:50%;top:81%}.touch-pad .left{left:19%;top:50%}.touch-pad .right{left:81%;top:50%}
.touch-pad[data-held~=ArrowUp] .up,.touch-pad[data-held~=ArrowDown] .down,.touch-pad[data-held~=ArrowLeft] .left,.touch-pad[data-held~=ArrowRight] .right{color:#f4ffe9;text-shadow:0 0 12px var(--green)}
.touch-buttons{position:absolute;right:16px;bottom:18px;display:grid;grid-template-columns:repeat(2,72px);gap:10px 12px;justify-items:center;align-items:end}
.touch-button{width:72px;height:72px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:24px;font-weight:850;line-height:1;color:#eefae5}
.touch-button small{font-size:7px;font-weight:700;letter-spacing:.8px;color:#a9bcae}
.touch-button.held{background:#3c5b3fd9;border-color:var(--green)}
.touch-button.supreme{grid-column:1/3;justify-self:end;width:auto;height:44px;border-radius:22px;flex-direction:row;gap:8px;padding:0 18px;font-size:18px;border-color:#ffd58d59;color:#ffe6b8}
/* The supreme button lights up with the meter, and the pad steps aside
   whenever a pause, result or instructions card covers the arena. */
.arena-wrap:has(#p1-meter.ready)~.touch-controls .supreme{border-color:#ffd991;box-shadow:0 0 16px #ffc87280}
.arena-wrap:has(.arena-overlay:not([hidden]))~.touch-controls{visibility:hidden}
html.touch .game-screen{padding-bottom:205px}html.touch .arena-wrap{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
html.touch{touch-action:manipulation}html.touch .quiet{padding:10px 0}
.rotate-hint{font-size:11px;color:#98aba3;margin:18px 0 0}
@media(orientation:landscape){.rotate-hint{display:none!important}}
/* A phone on its side: the arena takes the whole height and the controls
   sit over its lower corners. */
@media(orientation:landscape) and (max-height:540px){
html.touch body:has(#game-screen:not([hidden])) .site-header{display:none}
html.touch .game-screen{max-width:none;padding:0 0 16px}
html.touch .arena-topline{height:34px;margin:0;padding:0 14px}
html.touch .arena-wrap{width:min(100%,calc((100svh - 34px)*16/9));margin:0 auto;border-width:0;border-radius:0}
html.touch .battle-bottom,html.touch .move-guide{margin-left:14px;margin-right:14px}
html.touch .move-guide{grid-template-columns:repeat(4,1fr)}
html.touch .hud{grid-template-columns:1fr 48px 1fr;gap:12px}html.touch .timer-block>b{font-size:30px}html.touch .health-track{height:13px}
html.touch .overlay-card{padding:16px}html.touch .overlay-card h2{font-size:25px;margin:6px 0 10px}html.touch .overlay-card .primary{padding:10px;margin-top:10px}
html.touch .opening-controls{padding:18px 24px}html.touch .opening-controls h2{font-size:22px;margin-bottom:14px}html.touch .opening-controls .primary{margin-top:18px}
.touch-pad{width:136px;height:136px;bottom:12px}.touch-buttons{bottom:12px;grid-template-columns:repeat(2,66px)}.touch-button{width:66px;height:66px}.touch-button.supreme{height:40px}
}

/* The start bar follows the screen while the start button is out of view, and
   the loading card covers the wait between choosing and fighting. */
.start-bar{position:fixed;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:center;gap:14px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#10151b;border-top:1px solid #3d4b39;box-shadow:0 -12px 30px #0007}
.start-bar-pick{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.start-bar-pick b,.start-bar-pick span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.start-bar-pick b{font-size:13px;font-weight:750}.start-bar-pick span{font-size:10px;color:#8e999a}
.start-bar .primary{width:auto;flex:none;gap:12px;padding:13px 18px}
.loading-overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:20px;background:#051018ed}
.loading-card{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.loading-card b{font-size:13px;letter-spacing:2px;color:var(--green)}.loading-card span{font-size:15px;font-weight:750}.loading-card small{font-size:11px;color:#8e999a}
.loading-spinner{width:40px;height:40px;margin-bottom:6px;border-radius:50%;border:3px solid #b5ed9133;border-top-color:var(--green);animation:loading-spin .8s linear infinite}
@keyframes loading-spin{to{transform:rotate(360deg)}}
