:root{--navy:#07162f;--blue:#2563eb;--cyan:#60e6ff;--yellow:#ffc928;--red:#ef3f5b;--green:#26d99a;--paper:#f3f7ff;--ink:#13203a;--muted:#64748b;--white:#fff}
*{box-sizing:border-box}html{background:var(--paper)}body{min-height:100vh;margin:0;color:var(--ink);background:radial-gradient(circle at 8% 3%,#c8f5ff 0,transparent 28rem),var(--paper);font-family:"Yu Gothic",Meiryo,system-ui,sans-serif;overscroll-behavior:none}button,input{font:inherit}.topbar{display:flex;min-height:4rem;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem max(1rem,calc((100% - 1040px)/2));border-bottom:1px solid #dbe4f4;background:rgba(255,255,255,.9);backdrop-filter:blur(12px)}.brand{color:var(--navy);font:900 1.05rem Arial,sans-serif;letter-spacing:.08em}.brand>span{color:var(--yellow);font-size:1.4rem}.brand small{margin-left:.5rem;color:var(--blue);font-size:.62rem}.icon-button{padding:.45rem .8rem;border:1px solid #cbd5e1;border-radius:999px;color:var(--navy);background:white;font-size:.78rem;font-weight:900;cursor:pointer}.shell{width:min(1040px,calc(100% - 1.5rem));margin:auto;padding:clamp(1.4rem,4vw,3rem) 0 4rem}.setup-card{max-width:850px;margin:auto;padding:clamp(1.2rem,5vw,3.5rem);border:2px solid var(--navy);border-radius:1.6rem;background:#fff;box-shadow:10px 10px 0 var(--cyan)}.eyebrow{margin:0 0 .5rem;color:var(--blue);font:900 .7rem Arial,sans-serif;letter-spacing:.16em}.setup-card h1{margin:0;color:var(--navy);font-size:clamp(2.2rem,7vw,4.7rem);line-height:1.08;letter-spacing:-.055em}.setup-card h1 em{color:var(--blue);font-style:normal}.lead{max-width:42rem;color:#536078;font-weight:700}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0}.how-grid article{display:flex;align-items:center;gap:.7rem;padding:1rem;border-radius:1rem;background:#f0f5ff;font-size:.88rem;font-weight:900}.how-grid b{display:grid;flex:0 0 2.2rem;height:2.2rem;place-items:center;border-radius:50%;color:#fff;background:var(--navy)}.tuning{margin:1.3rem 0;padding:.9rem 1rem;border:1px solid #dbe4f4;border-radius:1rem;background:#fbfdff}.tuning summary{color:var(--navy);font-weight:900;cursor:pointer}.slider-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem;margin:1rem 0}.slider-grid label{display:grid;grid-template-columns:1fr auto;gap:.25rem;color:var(--muted);font-size:.78rem;font-weight:800}.slider-grid output{color:var(--blue)}.slider-grid input{grid-column:1/-1;width:100%;accent-color:var(--blue)}.switch-row{display:flex;flex-wrap:wrap;gap:1rem;color:var(--navy);font-weight:800}.switch-row input{accent-color:var(--blue)}.primary-button,.secondary-button{min-height:3.1rem;padding:.6rem 1.25rem;border:2px solid var(--navy);border-radius:.8rem;font-weight:900;cursor:pointer}.primary-button{color:white;background:var(--navy);box-shadow:5px 5px 0 var(--yellow)}.secondary-button{color:var(--navy);background:white}.setup-card>.primary-button{display:flex;width:min(100%,25rem);margin:1.4rem auto 0;align-items:center;justify-content:center}.prototype-note{margin:1rem 0 0;color:var(--muted);font-size:.72rem;text-align:center}
.game{max-width:920px;margin:auto}.hud{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:.7rem;margin-bottom:.7rem}.hp-card{display:grid;grid-template-columns:1fr auto;gap:.2rem .6rem;padding:.55rem .75rem;border:2px solid var(--navy);border-radius:.8rem;background:white}.hp-card span{color:var(--navy);font:900 .72rem Arial,sans-serif;letter-spacing:.1em}.hp-card strong{color:var(--navy);font:900 .78rem Arial,sans-serif}.hp-track{grid-column:1/-1;height:.75rem;overflow:hidden;border:2px solid var(--navy);border-radius:999px;background:#e6ebf5}.hp-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--green),#a3e635);transition:width .25s}.enemy-hud{text-align:right}.enemy-hud .hp-track i{margin-left:auto;background:linear-gradient(90deg,var(--yellow),var(--red))}.round-mark{color:var(--muted);font:900 .58rem Arial,sans-serif;text-align:center;letter-spacing:.08em}.round-mark strong{color:var(--navy);font-size:.9rem}
.arena{--travel:1050ms;position:relative;height:clamp(29rem,68vw,43rem);overflow:hidden;border:3px solid var(--navy);border-radius:1.4rem;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.32),transparent 13rem),linear-gradient(#16376a 0 56%,#0b1d3b 56% 74%,#b85843 74% 79%,#d9a35d 79%);box-shadow:0 20px 60px rgba(7,22,47,.24);touch-action:none;user-select:none;-webkit-user-select:none}.arena-lights{position:absolute;inset:0;background:conic-gradient(from 160deg at 10% 0,transparent 0 18deg,rgba(255,255,255,.16) 19deg 28deg,transparent 29deg 360deg),conic-gradient(from 180deg at 90% 0,transparent 0 332deg,rgba(255,255,255,.15) 333deg 342deg,transparent 343deg);pointer-events:none}.world{position:absolute;inset:0;transition:transform .16s cubic-bezier(.2,.8,.2,1)}.crowd{position:absolute;top:49%;left:0;width:100%;height:25%;opacity:.75;background:radial-gradient(circle,#91a3c0 0 .22rem,transparent .25rem) 0 0/1.8rem 1.5rem,linear-gradient(transparent,#07162f)}.ring-rope{position:absolute;z-index:1;left:-5%;width:110%;height:.35rem;background:#f6e1c3;box-shadow:0 2px 8px #07162f}.rope-one{top:67%}.rope-two{top:75%}.opponent-art{position:absolute;z-index:3;left:50%;bottom:5%;width:min(74%,40rem);aspect-ratio:1/1;background-image:url('./assets/rookie-boxer-sprites.png');background-repeat:no-repeat;background-size:300% 200%;background-position:0 0;filter:drop-shadow(0 18px 18px rgba(0,0,0,.38));transform:translateX(-50%);transform-origin:50% 60%;will-change:transform,filter}.arena[data-state="guard"] .opponent-art{background-position:0 0;animation:breathe 1.25s ease-in-out infinite}.arena[data-state="windup-left"] .opponent-art{background-position:0 0;animation:windLeft .22s ease-in-out infinite alternate}.arena[data-state="windup-right"] .opponent-art{background-position:0 0;animation:windRight .22s ease-in-out infinite alternate}.arena[data-state="punch-left"] .opponent-art{background-position:50% 0;animation:punchRush var(--travel) cubic-bezier(.12,.64,.35,1) forwards;transform-origin:36% 44%}.arena[data-state="punch-right"] .opponent-art{background-position:100% 0;animation:punchRush var(--travel) cubic-bezier(.12,.64,.35,1) forwards;transform-origin:66% 44%}.arena[data-state="miss"] .opponent-art{background-position:0 100%;animation:missSway .42s ease}.arena[data-state="hit"] .opponent-art{background-position:50% 100%;animation:recoil .42s ease}.arena[data-state="defeated"] .opponent-art{background-position:100% 100%;width:min(68%,34rem);animation:dropIn .45s ease}.direction-cue{position:absolute;z-index:8;top:1rem;left:50%;display:flex;min-width:min(82%,26rem);align-items:center;justify-content:center;gap:.65rem;padding:.5rem 1rem;border:2px solid var(--navy);border-radius:999px;background:rgba(255,255,255,.94);color:var(--navy);font-weight:900;transform:translateX(-50%);box-shadow:0 5px 18px rgba(7,22,47,.25)}.direction-cue b{color:var(--red);font-size:1.4rem}.arena.cue-left .direction-cue{border-color:#ef3f5b}.arena.cue-right .direction-cue{border-color:#2563eb}.impact-ring{position:absolute;z-index:7;top:48%;left:50%;width:16rem;height:16rem;pointer-events:none;transform:translate(-50%,-50%);opacity:0}.impact-ring i{position:absolute;inset:0;border:4px solid rgba(255,255,255,.85);border-radius:50%}.impact-ring i+ i{inset:18%;border-color:var(--yellow)}.arena.is-attacking .impact-ring{opacity:1;animation:ringClose var(--travel) linear forwards}.counter-glove{position:absolute;z-index:12;bottom:-58%;left:50%;width:min(70%,33rem);filter:drop-shadow(0 10px 14px rgba(0,0,0,.4));pointer-events:none;transform:translateX(-50%) scale(1.4);opacity:0}.arena.countering .counter-glove{animation:counterPunch .48s cubic-bezier(.1,.7,.2,1) forwards}.perfect-fx,.hit-word{position:absolute;z-index:14;top:24%;left:50%;color:white;font:900 clamp(2.8rem,10vw,6rem) Arial,sans-serif;letter-spacing:-.05em;text-shadow:5px 5px 0 var(--navy);pointer-events:none;transform:translate(-50%,-50%) rotate(-5deg) scale(.4);opacity:0}.arena.perfect .perfect-fx{animation:wordPop .8s ease}.hit-word{top:43%;color:var(--yellow)}.arena.impact .hit-word{animation:wordPop .52s ease}.vignette{position:absolute;z-index:15;inset:0;border:0 solid rgba(239,63,91,.75);pointer-events:none;transition:border-width .08s}.arena.player-hit .vignette{border-width:1.15rem}.dodge-zone{position:absolute;z-index:10;top:0;bottom:auto;width:50%;height:100%;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:1rem;border:0;color:#fff;background:linear-gradient(transparent 66%,rgba(7,22,47,.78));cursor:pointer;touch-action:none}.dodge-zone span{font:900 2.3rem Arial}.dodge-zone b{font-size:1rem}.dodge-zone small{opacity:.78}.dodge-left{left:0}.dodge-right{right:0}.dodge-zone:active{background:linear-gradient(transparent 58%,rgba(37,99,235,.8))}.overlay{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(7,22,47,.78);backdrop-filter:blur(5px);text-align:center}.overlay>div{max-width:28rem;padding:2rem;border-radius:1.3rem;background:white}.overlay p{margin:0;color:var(--blue);font:900 .8rem Arial;letter-spacing:.16em}.overlay h2{color:var(--navy)}
.arena.dodge-left-view .world{transform:translateX(13%) rotate(1deg)}.arena.dodge-right-view .world{transform:translateX(-13%) rotate(-1deg)}.arena.dodge-left-view .opponent-art,.arena.dodge-right-view .opponent-art{filter:drop-shadow(0 18px 18px rgba(0,0,0,.38)) blur(.5px)}.arena.shake{animation:screenShake .28s linear}.arena.hit-stop *{animation-play-state:paused!important}.status-panel{padding:.8rem .4rem}.status-panel>p:first-child{min-height:1.7rem;margin:.1rem 0 .45rem;color:var(--navy);font-size:1.05rem;font-weight:900;text-align:center}.timing-track{position:relative;height:1rem;overflow:hidden;border:2px solid var(--navy);border-radius:999px;background:#e5eaf3}.timing-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan) 0 58%,var(--yellow) 58% 80%,var(--red) 80%);transition:width .04s linear}.timing-track span{position:absolute;top:50%;right:.45rem;color:var(--navy);font:900 .55rem Arial;transform:translateY(-50%)}.key-help{margin:.4rem 0 0;color:var(--muted);font-size:.72rem;text-align:center}.result-card{margin-top:1rem;padding:1.5rem;border:2px solid var(--navy);border-radius:1.2rem;background:white;text-align:center;box-shadow:7px 7px 0 var(--cyan)}.result-icon{margin:0;font-size:3rem}.result-card h2{margin:.2rem;color:var(--navy);font-size:2rem}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;max-width:28rem;margin:1rem auto}.result-stats span{padding:.8rem;border-radius:.8rem;background:#f1f5fd;color:var(--muted);font-size:.76rem}.result-stats strong{display:block;color:var(--navy);font-size:1.7rem}.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}footer{padding:1.5rem;color:var(--muted);font:700 .68rem Arial;text-align:center;letter-spacing:.1em}
@keyframes breathe{50%{transform:translateX(-50%) translateY(-.6%) scale(1.015)}}@keyframes windLeft{to{transform:translateX(-52%) rotate(-1.5deg)}}@keyframes windRight{to{transform:translateX(-48%) rotate(1.5deg)}}@keyframes punchRush{0%{transform:translateX(-50%) scale(.82)}65%{transform:translateX(-50%) scale(1.02)}100%{transform:translateX(-50%) scale(1.62)}}@keyframes ringClose{0%{transform:translate(-50%,-50%) scale(1.8);opacity:.15}80%{opacity:.65}100%{transform:translate(-50%,-50%) scale(.12);opacity:1}}@keyframes missSway{45%{transform:translateX(-58%) rotate(-7deg)}}@keyframes counterPunch{0%{bottom:-65%;opacity:0;transform:translateX(-50%) scale(1.5)}35%{opacity:1}78%,100%{bottom:3%;opacity:1;transform:translateX(-50%) scale(.5)}}@keyframes recoil{45%{transform:translateX(-44%) rotate(7deg) scale(.96)}}@keyframes dropIn{0%{transform:translateX(-50%) translateY(-2rem);opacity:.2}}@keyframes wordPop{30%{opacity:1;transform:translate(-50%,-50%) rotate(-5deg) scale(1.15)}70%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}100%{opacity:0;transform:translate(-50%,-60%) scale(1)}}@keyframes screenShake{0%,100%{transform:none}20%{transform:translate(-8px,3px)}40%{transform:translate(7px,-4px)}60%{transform:translate(-5px,-2px)}80%{transform:translate(4px,2px)}}
@media(max-width:700px){.shell{width:min(100% - .8rem,1040px);padding-top:.8rem}.topbar{min-height:3.4rem}.brand small{display:none}.how-grid{grid-template-columns:1fr}.how-grid article{padding:.7rem}.slider-grid{grid-template-columns:1fr}.hud{gap:.35rem}.hp-card{padding:.45rem}.arena{height:min(72vh,39rem);min-height:30rem;border-radius:1rem}.opponent-art{width:min(96%,36rem);bottom:8%}.direction-cue{top:.6rem;min-width:90%;font-size:.82rem}.dodge-zone{height:100%;padding:.65rem}.dodge-zone span{font-size:1.8rem}.counter-glove{width:90%}}
@media(max-width:430px){.hp-card span{font-size:.58rem}.hp-card strong{font-size:.68rem}.round-mark{font-size:.48rem}.arena{min-height:27rem;height:68vh}.opponent-art{width:108%;bottom:10%}.dodge-zone b{font-size:.86rem}.status-panel>p:first-child{font-size:.9rem}.setup-card{box-shadow:6px 6px 0 var(--cyan)}}
body.reduced-motion .arena *,body.reduced-motion .world{animation-duration:.01ms!important;transition-duration:.01ms!important}body.reduced-motion .arena.shake{animation:none!important}body.reduced-motion .vignette{display:none}body.reduced-motion .arena.dodge-left-view .world{transform:translateX(6%)}body.reduced-motion .arena.dodge-right-view .world{transform:translateX(-6%)}
@media(prefers-reduced-motion:reduce){.arena *,.world{animation-duration:.01ms!important;transition-duration:.01ms!important}.arena.shake{animation:none!important}}
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}[hidden]{display:none!important}

/* v0.2: zone timing gauge and synchronized punch */
.top-actions{display:flex;align-items:center;gap:.45rem}.preview-banner{margin:0 auto 1rem;padding:.55rem 1rem;border:2px solid #b45309;border-radius:.75rem;color:#78350f;background:#fef3c7;font-weight:900;text-align:center}.setup-card h2{margin:.15rem 0;color:var(--blue);font-size:clamp(1.7rem,5vw,3.5rem);line-height:1.1}.setup-card .switch-row{justify-content:center;margin:1rem 0}.config-error{padding:1rem;border:2px solid #dc2626;border-radius:.8rem;color:#991b1b;background:#fee2e2}.gauge-demo{position:relative;height:4rem;margin:1.5rem 0;overflow:hidden;border:3px solid var(--navy);border-radius:.9rem;background:repeating-linear-gradient(135deg,#d9dfeb 0 8px,#c9d1df 8px 16px)}.gauge-demo span{position:absolute;top:0;display:grid;height:100%;place-items:center;font-size:.72rem;font-weight:900}.demo-fail{left:0;width:100%;color:#44516a}.demo-success{left:40%;z-index:2;width:36%;color:#064e3b;background:repeating-linear-gradient(45deg,#86efac 0 10px,#6ee7b7 10px 20px)}.demo-critical{left:53%;z-index:3;width:10%;color:white;background:repeating-linear-gradient(-45deg,#ef4444 0 8px,#dc2626 8px 16px)}.gauge-demo i{position:absolute;z-index:4;top:-.2rem;bottom:-.2rem;left:52%;width:.3rem;border:2px solid white;border-radius:999px;background:var(--navy);box-shadow:0 0 0 2px var(--navy)}
.timing-gauge{position:relative;height:clamp(4.2rem,10vw,5.2rem);overflow:visible;margin:.4rem 0;border:3px solid var(--navy);border-radius:1rem;background:#d5dce8;box-shadow:inset 0 3px 8px rgba(7,22,47,.18)}.failure-zone{position:absolute;inset:0;overflow:hidden;border-radius:.75rem;background:repeating-linear-gradient(135deg,#dde3ec 0 10px,#cbd3df 10px 20px)}.failure-zone span{position:absolute;top:50%;left:1rem;color:#526078;font:900 .68rem Arial,sans-serif;letter-spacing:.1em;transform:translateY(-50%)}.success-zone,.critical-zone{position:absolute;top:0;height:100%;display:grid;place-items:center;overflow:hidden}.success-zone{z-index:2;color:#064e3b;background:repeating-linear-gradient(45deg,#86efac 0 11px,#6ee7b7 11px 22px);box-shadow:inset 0 0 0 3px #15803d}.critical-zone{z-index:3;color:white;background:repeating-linear-gradient(-45deg,#ef4444 0 9px,#dc2626 9px 18px);box-shadow:inset 0 0 0 3px #991b1b}.success-zone span,.critical-zone span{font:900 clamp(.58rem,2vw,.78rem) Arial,sans-serif;text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.45)}.critical-zone span{writing-mode:vertical-rl;text-shadow:0 1px 2px #7f1d1d}.gauge-marker{position:absolute;z-index:6;top:-.6rem;bottom:-.6rem;left:0;width:.34rem;border:2px solid white;border-radius:999px;background:#07162f;box-shadow:0 0 0 2px #07162f,0 3px 9px rgba(0,0,0,.35);transform:translateX(-50%);will-change:left}.gauge-marker:before,.gauge-marker:after{content:"";position:absolute;left:50%;border:.48rem solid transparent;transform:translateX(-50%)}.gauge-marker:before{top:-.75rem;border-top-color:var(--yellow)}.gauge-marker:after{bottom:-.75rem;border-bottom-color:var(--yellow)}.gauge-key{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .8rem;margin:.55rem 0;color:var(--muted);font-size:.68rem;font-weight:900}.gauge-key span:before{content:"";display:inline-block;width:.65rem;height:.65rem;margin-right:.25rem;border:1px solid var(--navy);vertical-align:-.08rem}.key-miss:before{background:repeating-linear-gradient(135deg,#dde3ec 0 3px,#aeb8c8 3px 6px)}.key-success:before{background:#6ee7b7}.key-critical:before{background:#ef4444}
.arena{--punch-scale:.72;--counter-duration:900ms}.arena[data-state="punch-left"] .opponent-art,.arena[data-state="punch-right"] .opponent-art{animation:none!important;transform:translateX(-50%) scale(var(--punch-scale));transition:none}.arena[data-state="punch-left"] .opponent-art{background-position:50% 0;transform-origin:36% 44%}.arena[data-state="punch-right"] .opponent-art{background-position:100% 0;transform-origin:66% 44%}.arena.countering .counter-glove{animation-duration:var(--counter-punch-duration,.5s)}.arena.critical .perfect-fx{animation:wordPop .9s ease}.damage-fx{position:absolute;z-index:16;top:38%;left:50%;color:white;font:900 clamp(3rem,12vw,7rem) Arial,sans-serif;text-shadow:5px 5px 0 var(--navy);pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.4)}.arena.impact .damage-fx{animation:damagePop .65s ease}.arena.critical-impact .damage-fx{color:#fff4a8;font-size:clamp(4rem,15vw,8.5rem)}.arena.critical-impact{box-shadow:inset 0 0 0 .55rem rgba(255,201,40,.75),0 20px 60px rgba(7,22,47,.24)}.arena.normal-impact .hit-word{color:#fff}.tutorial-legend{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0}.tutorial-legend span{padding:.75rem;border:2px solid var(--navy);border-radius:.7rem;font-weight:900}.legend-green{color:#064e3b;background:#86efac}.legend-red{color:white;background:#ef4444}.practice-overlay>div,.tutorial-overlay>div{width:min(100%,33rem)}
@keyframes damagePop{25%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}70%{opacity:1;transform:translate(-50%,-55%) scale(1)}100%{opacity:0;transform:translate(-50%,-70%) scale(.9)}}
@media(max-width:700px){.setup-card h2{font-size:1.85rem}.timing-gauge{height:4.5rem}.success-zone span{font-size:.6rem}.critical-zone span{font-size:.52rem}.gauge-key{gap:.25rem .5rem}.tutorial-legend{grid-template-columns:1fr}.direction-cue{z-index:18}.dodge-zone{z-index:10}.perfect-fx,.damage-fx{z-index:20}}
body.reduced-motion .gauge-marker{transition:none!important}body.reduced-motion .arena[data-state="punch-left"] .opponent-art,body.reduced-motion .arena[data-state="punch-right"] .opponent-art{filter:drop-shadow(0 18px 18px rgba(0,0,0,.38))}

/* v0.6 campaign / roster */
.brand{text-decoration:none}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.4rem}.mode-card{display:flex;min-height:5.3rem!important;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}.mode-card b{font-size:1.05rem}.mode-card small{margin-top:.25rem;opacity:.82}.setup-card>.mode-grid .primary-button{margin:0}.fighter-select{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}.fighter-card{display:grid;gap:.35rem;padding:.65rem;border:2px solid var(--navy);border-radius:1rem;color:var(--navy);background:#fff;text-align:left;cursor:pointer}.fighter-thumb{display:block;width:100%;aspect-ratio:1.5/1;border-radius:.7rem;background-repeat:no-repeat;background-size:300% 200%;background-position:0 0}.fighter-card small{color:var(--muted)}.opponent-art.is-silhouette{filter:brightness(0) drop-shadow(0 0 20px rgba(255,216,74,.45));opacity:.9}.silhouette-label{position:absolute;z-index:7;left:50%;bottom:13%;padding:.45rem .8rem;border:2px solid #fff;border-radius:999px;color:#fff;background:#07162f;font:900 .7rem Arial;letter-spacing:.12em;transform:translateX(-50%)}.result-stats em{display:block;font-style:normal}.result-actions button[hidden]{display:none}.result-card .result-actions{max-width:42rem;margin:auto}
@media(max-width:700px){.mode-grid,.fighter-select{grid-template-columns:1fr}.fighter-select{max-height:24rem;overflow:auto}.mode-card{min-height:4.6rem!important}}

/* v0.6.1: compact desktop battle layout for Full HD at 100% / 125% scaling */
body.battle-view .shell{padding:.7rem 0 1.2rem}
body.battle-view .hud{margin-bottom:.45rem}
body.battle-view .arena{height:clamp(22rem,calc(100dvh - 22rem),34rem)}
body.battle-view .status-panel{padding:.45rem .4rem}
@media(min-width:701px){body.battle-view .timing-gauge{height:3.8rem}body.battle-view footer{padding:.75rem}}

/* v0.6.2: size the fighter from available arena height so the face stays visible */
@media(min-width:701px){body.battle-view .arena .opponent-art{width:min(92%,clamp(20rem,calc((100dvh - 22rem)*.92),31rem))!important;bottom:2%}}
