:root{color-scheme:dark;--bg:#141713;--panel:#1e221c;--line:#363a31;--cream:#efe9d9;--muted:#9da392;--gold:#f1b14e;--orange:#ed8b3b;--green:#8dac78;--display:Impact,'Arial Narrow','Helvetica Neue',sans-serif;font-family:Arial,Helvetica,sans-serif;font-synthesis:none;color:var(--cream);background:var(--bg)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0%,#282f2033,transparent 65%),var(--bg)}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #fff;outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}button,select{touch-action:manipulation}button:hover{filter:brightness(1.15)}[hidden]{display:none!important}.topbar{height:84px;max-width:1600px;margin:auto;padding:0 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:11px;font:17px/.9 var(--display);font-weight:900;letter-spacing:1.5px}.brand>span:last-child{display:flex;flex-direction:column;gap:4px}.brand strong{color:var(--gold)}.brand-mark{position:relative;font:bold italic 29px var(--display);background:var(--gold);color:var(--bg);padding:8px 9px;transform:skew(-7deg);letter-spacing:-3px}.brand-mark span{font-size:10px;position:absolute;right:4px;top:2px;letter-spacing:0}.edition{font-size:10px;letter-spacing:2px;color:var(--muted);display:flex;align-items:center;gap:10px}.edition i{width:6px;height:6px;background:var(--green);border-radius:50%}.edition b{border:1px solid var(--line);padding:3px 5px;font-weight:normal}.topbar nav{display:flex;align-items:center;gap:13px;margin-left:auto}.text-button{background:none;font-size:12px;color:var(--muted);padding:8px 4px}.text-button:hover{color:var(--cream)}.text-button span{border:1px solid var(--line);padding:2px 5px;margin-left:8px}.icon-button{width:34px;height:34px;border:1px solid var(--line);background:transparent;font-size:20px;color:var(--cream)}main{max-width:1600px;margin:auto;padding:33px 4% 0}.selection-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font:italic 58px/.98 var(--display);font-weight:900;letter-spacing:-1px;margin:0}em{font-style:inherit;color:var(--gold)}.record{display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--line);padding-left:22px}.record span{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.record b{font:italic 25px var(--display);letter-spacing:2px}.select-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:30px}.fighters-column{min-width:0}.versus-preview{height:365px;position:relative;overflow:hidden;border:1px solid #4b5140;background:#303827;background-image:linear-gradient(0deg,#151913 0%,#15191350 55%,#15191366),url('../assets/arenas/congresso.webp');background-size:cover;background-position:center;isolation:isolate}.versus-preview:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,#00000010 3px 4px);pointer-events:none;z-index:2}.arena-tint{position:absolute;inset:0;background:linear-gradient(90deg,#f1b14e0d,#0000 45%,#92bbcd0d);z-index:-1}.preview-watermark{position:absolute;font:italic 240px var(--display);font-weight:900;letter-spacing:-12px;color:#ffffff06;bottom:20px;left:15%;z-index:-1}#preview{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.fighter-label{position:absolute;bottom:46px;z-index:3;max-width:42%;text-shadow:0 2px 10px #000}.fighter-label.left{left:23px}.fighter-label.right{right:23px;text-align:right}.slot-tag{font-size:9px;letter-spacing:1.7px;color:var(--gold);font-weight:700}.cpu-tag{color:#afc6cd}.fighter-label h2{font:italic 32px var(--display);font-weight:900;text-transform:uppercase;margin:6px 0 4px;letter-spacing:-.3px}.fighter-label>span:last-child{font-size:9px;letter-spacing:2px;color:#e6e5c9}.vs{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%) rotate(-8deg);font:italic 68px var(--display);color:var(--gold);text-shadow:4px 4px #3e301d;font-weight:900}.vs span{display:block;font-size:14px;text-align:center;margin-top:3px}.preview-foot{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;background:#11150ebd;border-top:1px solid #c8c3a322;padding:11px 16px;font-size:8px;letter-spacing:1.7px;color:#bec3b5}.roster-heading,.setup-heading{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}h3{font:11px Arial,sans-serif;letter-spacing:1px;color:var(--gold);margin:0;display:flex;gap:10px;align-items:center}h3 span{color:var(--cream);font-weight:700;font-size:10px;letter-spacing:1.4px}.slot-switch{display:flex;border:1px solid var(--line);padding:3px;gap:3px}.slot-switch button{font-size:10px;letter-spacing:1px;background:transparent;color:var(--muted);padding:4px 11px}.slot-switch button[aria-pressed=true]{background:var(--gold);color:var(--bg);font-weight:bold}.roster{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.fighter-card{position:relative;overflow:hidden;background:linear-gradient(140deg,#363d32,#24281f);height:100px;border:1px solid #414739;padding:0;transition:border-color .15s,background .15s}.fighter-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#141810 0%,transparent 60%);z-index:1}.fighter-card:hover{background:linear-gradient(130deg,#5c6145,#343b2b)}.fighter-card img{position:absolute;height:260px;width:390px;max-width:none;top:0;left:50%;transform:translateX(-50%);object-fit:contain;pointer-events:none}.fighter-card .card-name{position:absolute;bottom:7px;left:5px;right:5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;z-index:2}.fighter-card .card-id{position:absolute;top:6px;left:6px;font-size:8px;color:#aaa98e;z-index:2}.fighter-card .card-slot{position:absolute;top:0;right:0;background:var(--gold);color:#171b13;padding:4px;font-size:9px;font-weight:bold;z-index:2}.fighter-card.p1{border:2px solid var(--gold);background:#5c512d}.fighter-card.p2{border:2px solid #8cb3bf;background:#344b50}.fighter-card.p2 .card-slot{background:#a9cbd5}.random-card{background:repeating-linear-gradient(-45deg,#24291e,#24291e 6px,#292e23 6px,#292e23 12px);font:bold italic 38px var(--display);color:var(--muted);border:1px solid var(--line)}.random-card span{display:block;font:8px Arial,sans-serif;letter-spacing:1px;margin-top:7px}.roster-note{display:flex;justify-content:space-between;align-items:center;margin-top:7px;gap:10px;font-size:10px;color:var(--muted)}.setup{padding-left:25px;border-left:1px solid var(--line)}.setup-heading{margin-top:0;margin-bottom:15px}.setup-heading>span{font-size:10px;color:var(--muted)}.arena-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.arena-card{position:relative;aspect-ratio:1.65;overflow:hidden;padding:0;background:#282e23;border:1px solid #414739;text-align:left}.arena-card img{width:100%;height:100%;object-fit:cover;opacity:.58;transition:opacity .15s,transform .25s}.arena-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#090f08ee,transparent 70%)}.arena-card:hover img,.arena-card[aria-pressed=true] img{opacity:1;transform:scale(1.04)}.arena-card[aria-pressed=true]{border:2px solid var(--gold)}.arena-card span{position:absolute;bottom:8px;left:8px;right:6px;font-size:10px;font-weight:700;z-index:1}.arena-card b{position:absolute;top:5px;right:5px;color:var(--gold);z-index:1;font-size:12px}.arena-detail{display:flex;gap:11px;margin:17px 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.location-pin{font-size:24px;color:var(--gold)}.arena-detail strong{font-size:13px;display:block;margin-bottom:5px}.arena-detail div span{font-size:10px;color:var(--muted)}.settings{display:grid;gap:9px;margin-bottom:24px}.settings label{font-size:9px;letter-spacing:1.6px;color:var(--muted);font-weight:700}.settings label:not(:first-child){margin-top:10px}select{background:#252b20;color:var(--cream);border:1px solid #434a38;border-radius:0;padding:11px 12px;font-size:12px;min-width:0;width:100%}.difficulty-wrap{display:flex;align-items:center;gap:15px}.difficulty-wrap select{flex:1}.difficulty-wrap span{font-size:8px;color:var(--muted);white-space:nowrap}.primary-button{width:100%;background:var(--gold);color:#1c2116;padding:17px 18px;display:flex;align-items:center;justify-content:space-between;font:italic 22px var(--display);font-weight:900;letter-spacing:1px;box-shadow:0 4px #8c642a;transition:transform .15s}.primary-button:hover{transform:translateY(-1px)}.primary-button b{font:24px Arial}#load-status{font-size:10px;color:var(--muted);text-align:center;margin:13px 0 0;line-height:1.5}.selection-footer{border-top:1px solid var(--line);margin-top:22px;padding:20px 0 26px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:9px;color:var(--muted);letter-spacing:.6px}.selection-footer a{margin-left:auto;color:var(--cream)}.selection-footer i{margin:0 8px}.satire{width:100%;font-size:9px;opacity:.6}kbd{font:10px monospace;color:#d3d8c7;border:1px solid #545b46;background:#23291d;border-radius:3px;padding:3px 5px;white-space:nowrap}.battle-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10px;letter-spacing:1px;color:var(--muted)}.game-shell{position:relative;width:100%;aspect-ratio:16/9;background:#1d241a;overflow:hidden;border:1px solid #515744;isolation:isolate}#game{width:100%;height:100%;display:block}.hud{position:absolute;left:4%;right:4%;top:5%;display:grid;grid-template-columns:1fr 100px 1fr;gap:22px;align-items:start;pointer-events:none}.hud-name{display:flex;justify-content:space-between;align-items:center;font:italic 25px var(--display);font-weight:900;letter-spacing:1px;text-transform:uppercase;text-shadow:2px 2px 4px #000}.hud-name b{font:9px Arial;letter-spacing:1px;background:#161e15c9;padding:5px 9px;color:var(--gold)}.health-track{position:relative;height:26px;background:#351e18;border:3px solid #f4e6b9;transform:skew(-10deg);box-shadow:3px 3px #0008;margin-top:8px;overflow:hidden}.health-track span,.health-track i{position:absolute;left:0;top:0;bottom:0;width:100%;transform-origin:left;background:linear-gradient(#fff4a8 0 25%,#edba42 25% 65%,#a77820 65%);transition:transform .08s}.health-track i{background:#eb713d;transition:transform .5s .2s}.opponent .health-track{transform:skew(10deg)}.opponent .health-track span,.opponent .health-track i{right:0;left:auto;transform-origin:right}.opponent .health-track span{background:linear-gradient(#c8eff0 0 25%,#85bac6 25% 65%,#4d7f89 65%)}.round-dots{display:flex;gap:7px;margin:12px 3px}.opponent .round-dots{justify-content:flex-end}.round-dots i{width:12px;height:12px;border:2px solid #f3e9cf;background:#171c17aa;transform:rotate(45deg);box-shadow:2px 2px #0008}.round-dots i.won{background:var(--gold)}.timer-box{text-align:center;color:#fff6dd;text-shadow:3px 3px #201b10;line-height:1}.timer-box>span{font-size:9px;letter-spacing:2px;font-weight:bold}.timer-box strong{font:italic 64px/.95 var(--display);font-weight:900;display:block;margin:3px 0}.timer-box small{font:8px monospace;letter-spacing:1px}.timer-box.urgent strong{color:#f58b62}.announcement{position:absolute;inset:25% 0 auto;text-align:center;pointer-events:none;text-shadow:3px 4px #1f170c,0 0 40px #000;display:flex;flex-direction:column;align-items:center}.announcement strong{font:italic clamp(42px,8vw,110px)/1 var(--display);font-weight:900;color:#ffe4a1;letter-spacing:3px}.announcement small{font-size:12px;letter-spacing:5px;margin-bottom:10px;color:#fff6d9}.announcement>span{font-size:12px;letter-spacing:2px;margin-top:12px;color:#fff4dc}.announcement:empty{display:none}.game-bottom{position:absolute;left:3%;right:3%;bottom:3%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;text-shadow:1px 2px #000;color:#fff7e6}.game-bottom b{color:var(--gold)}.battle-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;font-size:10px;color:var(--muted)}.battle-controls kbd{margin-left:5px}.touch-controls{display:none;position:absolute;bottom:4%;left:3%;right:3%;justify-content:space-between;align-items:end;pointer-events:none;user-select:none;-webkit-user-select:none;touch-action:none}.touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto;border:1px solid #fff7bd66;background:#192016ab;backdrop-filter:blur(3px);font-weight:bold;box-shadow:0 3px #0007}.touch-controls button.active{background:#edb14edd;color:#141713;transform:translateY(2px)}.dpad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,44px);gap:3px}.dpad button{font-size:19px;border-radius:9px}.dpad .up{grid-column:2}.dpad .left{grid-row:2;grid-column:1}.dpad .right{grid-row:2;grid-column:3}.dpad .down{grid-row:3;grid-column:2}.dpad>span{grid-row:2;grid-column:2;background:#19201655;border-radius:8px}.touch-actions{display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:40px 56px;gap:7px;align-items:end}.touch-actions button{height:56px;border-radius:50%;font-size:9px;color:#fff6de}.touch-actions .small-action{height:36px;border-radius:6px;font-size:8px}.touch-actions .small-action:first-child{grid-column:2}.touch-actions .punch{background:#b0742dcc}.touch-actions .kick{background:#8b4833cc}.show-touch .touch-controls{display:flex}.show-touch .game-bottom{bottom:1%;font-size:7px}.mobile-tip{display:none;font-size:11px;color:var(--muted);line-height:1.6;text-align:center;margin:20px auto;max-width:340px}dialog{border:1px solid #72775d;background:#1b2119;color:var(--cream);padding:38px;width:min(620px,calc(100% - 30px));max-height:90dvh;box-shadow:0 20px 90px #000a}dialog::backdrop{background:#090e0bc9;backdrop-filter:blur(7px)}dialog h2{font:italic 42px/1 var(--display);font-weight:900;margin:10px 0 25px}dialog p{font-size:13px;line-height:1.8;color:#bbc1b0}dialog .primary-button{margin-top:22px}.dialog-close{position:absolute;right:15px;top:10px;font-size:28px;background:none}.control-table{margin:22px 0;font-size:11px}.control-table>div{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.control-table b{font-size:9px;color:var(--gold);letter-spacing:1px}.control-table kbd{width:fit-content}.secondary-button{width:100%;background:transparent;border:1px solid var(--line);margin-top:15px;padding:15px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:1px}#pause-dialog,#result-dialog{text-align:center;max-width:460px}#pause-dialog .text-button{margin-top:18px}.result-score{font:italic 62px var(--display);color:var(--gold)}#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:12px 18px;background:#efe9d9;color:#172010;font-size:12px;z-index:20;max-width:90%;box-shadow:0 6px 25px #0008;pointer-events:none;opacity:0;transition:opacity .2s}#toast.visible{opacity:1}body.playing main{padding-top:14px}body.playing .topbar{height:64px}body.playing .edition{opacity:.7}
@media(min-width:1500px){.versus-preview{height:405px}.fighter-card{height:112px}.select-layout{grid-template-columns:minmax(0,1fr) 375px}}
@media(max-width:1100px){.topbar{padding:0 3%;height:70px}main{padding:26px 3% 0}.select-layout{gap:20px;grid-template-columns:minmax(0,1fr) 285px}.setup{padding-left:18px}.versus-preview{height:310px}h1{font-size:48px}.roster{grid-template-columns:repeat(6,minmax(0,1fr))}.fighter-card{height:88px}.fighter-card img{height:230px;width:345px}.fighter-card .card-name{font-size:8px}.fighter-label h2{font-size:26px}.fighter-label.left{left:15px}.fighter-label.right{right:15px}.arena-card span{font-size:9px}.setup-heading h3 span{font-size:9px}.battle-controls{flex-wrap:wrap;justify-content:center}}
@media(max-width:760px){.topbar{height:65px;gap:15px}.brand{font-size:14px}.brand-mark{font-size:23px}.edition{font-size:8px;letter-spacing:1px}.edition b{display:none}.topbar nav{gap:8px}#help-button{font-size:0}#help-button span{font-size:13px;margin:0}.selection-heading{margin-bottom:20px}h1{font-size:42px}.eyebrow{font-size:8px;letter-spacing:1.5px}.record{padding-left:14px}.record span{font-size:7px;max-width:70px;line-height:1.5}.record b{font-size:18px}.select-layout{grid-template-columns:1fr;gap:26px}.versus-preview{height:300px}.roster{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.fighter-card{height:87px}.fighter-card img{height:240px;width:360px}.fighter-card .card-name{font-size:8px;letter-spacing:0}.roster-note{font-size:9px}.setup{border-left:0;border-top:1px solid var(--line);padding:22px 0 0}.arena-grid{grid-template-columns:repeat(3,1fr)}.arena-card{aspect-ratio:1.5}.arena-card span{font-size:9px}.arena-detail{margin:13px 0 18px}.settings{grid-template-columns:1fr 1fr;gap:10px 14px}.settings label{grid-row:1}.settings label:not(:first-child){margin-top:0;grid-column:2}.settings>select{grid-row:2;grid-column:1}.difficulty-wrap{grid-row:2;grid-column:2}.difficulty-wrap>span{display:none}.selection-footer{font-size:8px;gap:15px}.selection-footer>span:first-child{display:none}.selection-footer a{margin-left:0}.satire{font-size:8px}.selection-footer{padding-bottom:20px}.hud{grid-template-columns:1fr 54px 1fr;gap:10px;top:4%}.hud-name{font-size:14px;letter-spacing:0}.hud-name b{font-size:6px;padding:3px}.health-track{height:15px;border-width:2px;margin-top:4px}.timer-box strong{font-size:36px}.timer-box>span{font-size:6px;letter-spacing:1px}.timer-box small{font-size:5px}.round-dots{margin:6px 0;gap:5px}.round-dots i{width:8px;height:8px;border-width:1px}.announcement small{font-size:8px;letter-spacing:3px;margin-bottom:5px}.announcement>span{font-size:9px;margin-top:5px}.battle-topline{font-size:8px;letter-spacing:0}.battle-topline .text-button{font-size:10px}.game-bottom{font-size:5px;letter-spacing:1px}.battle-controls>span{display:none}.mobile-tip{display:block}.show-touch .touch-controls{position:relative;inset:auto;gap:15px;align-items:center;padding:18px 14px;background:#1b2118}.show-touch.game-shell{aspect-ratio:auto;overflow:visible}.show-touch #game{aspect-ratio:16/9;height:auto}.show-touch .hud{top:3%}.show-touch .announcement{top:16%}.show-touch .game-bottom{display:none}dialog{padding:28px 22px}dialog h2{font-size:34px}.control-table{font-size:10px}.control-table kbd{font-size:9px}body.playing .topbar{height:55px}body.playing main{padding:10px 2%}.battle-controls{margin-top:6px}.dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,40px)}.touch-actions{grid-template-columns:repeat(3,52px);grid-template-rows:36px 52px}.touch-actions button{height:52px}}
@media(pointer:coarse){.battle-controls>span{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
/* Keep the full fighting surface inside a desktop viewport. */
@media(min-width:761px) and (min-height:561px){.game-shell{width:min(100%,calc((100dvh - 182px)*16/9));margin-inline:auto}.battle-topline,.battle-controls{max-width:calc((100dvh - 182px)*16/9);margin-inline:auto}}
.record b{white-space:nowrap}.fighter-card .card-name{overflow:hidden;text-overflow:ellipsis}.record-reset{border:0;background:transparent;color:var(--muted);font-size:8px;letter-spacing:.7px;padding:0;text-align:left;opacity:.7}
@media(max-width:420px){.record b{font-size:15px}.record{padding-left:10px}.record span{letter-spacing:.8px}h1{font-size:39px}}
.universe-heading{padding:25px 0 35px}.universe-heading h1{font-size:clamp(42px,5.6vw,80px)}.universe-heading>p:last-child{color:var(--muted);font-size:14px;margin:18px 0 0}.universe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px}.universe-card{position:relative;isolation:isolate;overflow:hidden;min-height:390px;text-align:left;padding:30px;display:flex;flex-direction:column;align-items:flex-start;background:#22291f;border:1px solid #596044;transition:transform .2s,border-color .2s}.universe-card:before{content:'';position:absolute;inset:0;z-index:-2;background-image:linear-gradient(0deg,#11180efc 5%,#15200ecc 50%,#15200e30),var(--universe-cover);background-size:cover;background-position:center}.universe-card:hover:not(:disabled){transform:translateY(-5px);border-color:var(--gold)}.universe-badge{font-size:9px;font-weight:bold;letter-spacing:1.8px;color:var(--gold);padding:8px 10px;border:1px solid #dca74588;background:#1a2219a8}.universe-symbol{position:absolute;right:35px;top:28px;font:bold 110px var(--display);color:#ecd49728;z-index:-1}.universe-eyebrow{font-size:9px;letter-spacing:1.8px;color:#c2c6b7;margin-top:65px}.universe-card>strong{font:italic 64px/.95 var(--display);font-weight:900;text-transform:uppercase;margin:12px 0 15px}.universe-description{font-size:13px;line-height:1.7;max-width:360px;color:#c8caba}.universe-action{border-top:1px solid #e9e3b72d;width:100%;padding-top:22px;margin-top:25px;font-size:10px;letter-spacing:1.5px;color:var(--gold);font-weight:bold}.universe-card:disabled{opacity:1;cursor:not-allowed;filter:none;border-color:#3f413b;background:repeating-linear-gradient(-45deg,#262823,#262823 15px,#242621 15px,#242621 30px)}.universe-card.creators:before{background:radial-gradient(ellipse at 90% 0%,#69504755,#191d19ee 90%)}.universe-card:disabled>strong{color:#a3a799}.universe-card:disabled .universe-badge{color:#b5b9ac;border-color:#5e6456}.universe-card:disabled .universe-action{color:#898f7c}.universe-card:disabled .universe-symbol{color:#c1a59322}.universe-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;border-top:1px solid var(--line);padding:22px 0;font-size:9px;letter-spacing:1px;color:var(--muted)}.universe-bottom i{margin:0 8px}#universe-status{font-size:11px;color:var(--muted);margin:18px 0 28px}.universe-back{margin-bottom:18px}.site-footer{max-width:1600px;margin:0 auto;padding:20px 4%;display:flex;gap:20px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:9px;letter-spacing:.6px;border-top:1px solid var(--line)}.site-footer nav{display:flex;gap:18px;margin-left:auto}.site-footer>span:last-child{width:100%;opacity:.65}.playing .site-footer{display:none}@media(max-width:760px){.universe-heading{padding:12px 0 25px}.universe-heading h1{font-size:45px}.universe-card{min-height:335px;padding:23px}.universe-eyebrow{margin-top:45px}.universe-card>strong{font-size:56px}.universe-grid{gap:16px}.universe-action{font-size:9px}.site-footer{gap:16px}.universe-bottom{font-size:8px}}

/* Audio mixer */
.audio-mixer{display:grid;gap:10px;margin:24px 0 30px}.audio-mixer label{display:flex;align-items:center;justify-content:space-between;font-weight:700}.audio-mixer small{display:block;font-size:12px;font-weight:400;color:var(--muted,#a9ad9d);margin-top:4px}.audio-mixer output{font-variant-numeric:tabular-nums;color:var(--gold,#e9c66b)}.audio-mixer input{width:100%;min-height:32px;accent-color:var(--gold,#e9c66b);margin:0 0 10px;cursor:pointer}.audio-note{font-size:12px!important;line-height:1.6!important}#audio-dialog{max-width:480px}#audio-state{font-size:14px}

#audio-dialog .audio-note{margin-top:16px}

/* Touch defaults prevent double-tap zoom; menus still permit deliberate pinch zoom. */
html{touch-action:manipulation;-webkit-text-size-adjust:100%}
button,a,label,input,select{touch-action:manipulation}
button{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#game-shell,#touch-controls,#touch-controls *{touch-action:none;-webkit-touch-callout:none}
.mobile-option{display:flex;align-items:center;gap:10px;min-height:48px;margin:0 0 16px;color:var(--muted);font-size:12px;cursor:pointer}
.mobile-option input{width:22px;height:22px;accent-color:var(--gold);flex-shrink:0}
.mobile-battle-bar{display:none}
.dpad{pointer-events:auto;touch-action:none;border-radius:30%;background:radial-gradient(#121b13bb,transparent 72%)}
#rotate-dialog{text-align:center;max-width:410px;z-index:30}
#rotate-dialog .rotate-phone{font:64px/1 var(--display);color:var(--gold);margin:8px 0 24px}
#rotate-dialog .rotate-safe{font-size:12px;color:var(--gold)}
#rotate-dialog .primary-button{font-size:17px;letter-spacing:.4px;min-height:52px}
@media(max-width:760px){
 select{font-size:16px;min-height:46px;padding:10px 8px}
 .slot-switch button{min-width:44px;min-height:38px}
 .roster{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
 .fighter-card{height:96px}.fighter-card .card-name{font-size:9px}
 .icon-button,#help-button{min-width:44px;min-height:44px}
 .topbar{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:10px}
 .topbar nav{gap:5px}.edition{display:none}
 .text-button{min-height:44px}
 .site-footer nav a{display:inline-flex;align-items:center;min-height:44px}
 .universe-card{min-height:300px}
 .settings{gap:10px}.difficulty-wrap{gap:0}
}
/* The fight gets the viewport; the center remains clear between the two thumbs. */
body.touch-mode.playing{overflow:hidden;overscroll-behavior:none;touch-action:none;background:#080d09}
body.touch-mode.playing .topbar,body.touch-mode.playing .battle-topline,body.touch-mode.playing .battle-controls,body.touch-mode.playing .mobile-tip{display:none}
body.touch-mode.playing main{padding:0;max-width:none}
body.touch-mode.playing #battle{
 --arena-height:calc(100dvh - 44px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
 position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
 padding-top:calc(44px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);
 background:radial-gradient(ellipse,#263224,#080d09);overflow:hidden;touch-action:none
}
body.touch-mode.playing .game-shell{
 width:min(100%,calc(var(--arena-height)*16/9));height:auto;max-height:var(--arena-height);
 aspect-ratio:16/9;flex:none;margin:0;border:0;overflow:visible
}
body.touch-mode.playing #game{width:100%;height:100%;aspect-ratio:16/9;object-fit:contain}
body.touch-mode.playing .mobile-battle-bar{
 position:fixed;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;gap:6px;
 height:calc(44px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));
 background:#111a13e8;border-bottom:1px solid #e9d59a25
}
.mobile-battle-bar>span{font:14px var(--display);letter-spacing:1px;margin-right:auto}.mobile-battle-bar b{color:var(--gold)}
.mobile-battle-bar button{height:44px;min-width:52px;background:transparent;font-size:12px;padding:0 12px;border-left:1px solid #e9d59a25}
body.touch-mode.playing .touch-controls{
 display:flex;position:fixed;z-index:5;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
 bottom:max(12px,env(safe-area-inset-bottom));top:auto;align-items:end;gap:16px;padding:0;background:none
}
body.touch-mode.playing .dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:4px}
body.touch-mode.playing .dpad button{font-size:23px;border-radius:12px}
body.touch-mode.playing .touch-actions{grid-template-columns:repeat(3,58px);grid-template-rows:44px 58px;gap:8px}
body.touch-mode.playing .touch-actions button{height:58px;font-size:11px;letter-spacing:.3px}
body.touch-mode.playing .touch-actions .small-action,body.touch-mode.playing .touch-actions [data-input=uppercut]{height:44px;border-radius:12px;font-size:9px}
body.touch-mode.playing .touch-actions .small-action:first-child{grid-column:1}
body.touch-mode.playing .touch-actions .punch{grid-column:2;background:#b67e31e8}
body.touch-mode.playing .touch-actions .kick{grid-column:3;background:#a2573be8}
body.touch-mode.playing .touch-controls button{background-color:#142319d9;border-color:#eedbb393;box-shadow:0 3px #03070499;backdrop-filter:none}
body.touch-mode.playing .touch-controls button.active{background:var(--gold);color:#101b12;transform:translateY(2px)}
body.touch-mode.playing .hud{grid-template-columns:1fr 56px 1fr;gap:12px;top:4%;left:4%;right:4%}
body.touch-mode.playing .hud-name{font-size:18px;letter-spacing:0}
body.touch-mode.playing .hud-name b{font-size:8px;padding:3px}
body.touch-mode.playing .health-track{height:18px;border-width:2px;margin-top:4px}
body.touch-mode.playing .timer-box strong{font-size:38px}
body.touch-mode.playing .timer-box>span{font-size:7px;letter-spacing:1px}
body.touch-mode.playing .timer-box small{font-size:6px}
body.touch-mode.playing .round-dots{margin:7px 0;gap:5px}
body.touch-mode.playing .round-dots i{width:9px;height:9px;border-width:1px}
body.touch-mode.playing .announcement{top:27%}
body.touch-mode.playing .announcement strong{font-size:clamp(36px,7vw,72px)}
body.touch-mode.playing .announcement small,body.touch-mode.playing .announcement>span{font-size:10px;margin:4px}
body.touch-mode.playing .game-bottom{display:none}
body.touch-mode.playing dialog{touch-action:manipulation;overscroll-behavior:contain}
@media(orientation:landscape) and (max-height:440px){
 dialog{max-height:calc(100dvh - 16px);padding:18px 24px}
 dialog h2{font-size:28px;margin:6px 0 12px}dialog p{margin-bottom:8px}
 dialog .primary-button{margin-top:12px;padding:12px}.secondary-button{margin-top:10px;padding:12px}
 .audio-mixer{grid-template-columns:1fr 1fr;align-items:center;gap:8px 16px;margin:12px 0}
 .audio-mixer input{margin:0}.audio-mixer label{font-size:13px}.audio-mixer small{font-size:10px}
}
/* Older 16:9 phones need a lower control band so thumbs do not cover fighters. */
@media(orientation:landscape) and (max-aspect-ratio:19/10){
 body.touch-mode.playing #battle{--arena-height:calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom));align-items:flex-start}
}
@media(max-width:360px){.topbar{padding-inline:8px;gap:8px}.topbar nav{gap:3px}.brand{gap:8px}}
