@font-face{font-family:FightDisplay;src:url("assets/display.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:FightSans;src:url("assets/mono.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--ink:#100e19;--ink-2:#171321;--panel:#211b2e;--panel-2:#2b233a;--line:#5a4d6d;--cream:#fff1cf;--muted:#b9aec6;--acid:#d9ff59;--acid-dark:#829b28;--red:#ff5964;--orange:#ff8a4c;--cyan:#58e4d6;--purple:#9f77f6;--shadow:#08060e;--display:FightDisplay,"Courier New",monospace;--sans:FightSans,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;min-height:100vh;color:var(--cream);background:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:none;overflow-x:hidden}
button,a{font:inherit;color:inherit}button{border:0}button:focus-visible,a:focus-visible{outline:3px solid var(--acid);outline-offset:4px}[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--acid);color:var(--ink);padding:12px 16px;font:700 12px var(--display);text-decoration:none}.skip-link:focus{top:16px}
.pixel-grid{position:fixed;inset:0;z-index:-2;background-color:var(--ink);background-image:linear-gradient(#211a3022 1px,transparent 1px),linear-gradient(90deg,#211a3022 1px,transparent 1px),radial-gradient(circle at 75% 0,#3a2647 0,transparent 33%);background-size:24px 24px,24px 24px,100% 100%}
.scanlines{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.075;background:repeating-linear-gradient(0deg,transparent 0 3px,#fff 3px 4px);mix-blend-mode:overlay}
.topbar{height:76px;padding:0 clamp(16px,4vw,56px);display:flex;align-items:center;gap:28px;border-bottom:4px solid var(--shadow);background:#171321ee;position:sticky;top:0;z-index:40;box-shadow:0 2px 0 var(--line);backdrop-filter:blur(12px)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}.logo svg{width:36px;height:36px;fill:var(--acid);filter:drop-shadow(3px 3px 0 var(--shadow))}.logo .logo-cut{fill:var(--ink)}.logo-mark{display:block;width:44px;height:44px;object-fit:cover;image-rendering:pixelated}.logo span{display:grid;line-height:.85}.logo b{font:900 18px var(--display);letter-spacing:-.07em}.logo i{font:700 10px var(--display);letter-spacing:.14em;color:var(--acid);font-style:normal;margin-top:5px}
.cabinet-status{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font:600 9px var(--display);letter-spacing:.12em;color:var(--muted)}.cabinet-status i{width:7px;height:7px;background:var(--acid);box-shadow:0 0 0 2px #d9ff5926,0 0 12px var(--acid)}
.top-stats{margin-left:auto;display:flex;align-items:center;gap:14px;font:700 10px var(--display);letter-spacing:.06em}.vault-stat{padding:9px 11px;border:2px solid var(--line);box-shadow:3px 3px 0 var(--shadow)}.vault-stat strong{color:var(--acid);font-size:13px;margin-left:7px}.vault-stat strong:after{content:" BAG";font-size:8px}.sound-toggle{cursor:pointer;background:var(--panel-2);border:2px solid var(--line);padding:9px 11px;font:700 10px var(--display);box-shadow:3px 3px 0 var(--shadow);transition:transform .1s,border-color .1s}.sound-toggle:hover{border-color:var(--acid);transform:translate(-1px,-1px)}.sound-toggle:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.sound-toggle span{color:var(--acid)}
main{width:min(1380px,100%);margin:0 auto;padding:0 clamp(14px,3vw,44px)}
.hero-panel{min-height:620px;display:grid;grid-template-columns:1.45fr .55fr;gap:clamp(34px,6vw,92px);align-items:center;padding:76px 0 64px;position:relative;border-bottom:0}
.hero-panel:before{content:"";position:absolute;left:-40vw;right:-40vw;bottom:0;height:9px;background:repeating-linear-gradient(90deg,var(--acid) 0 18px,var(--ink) 18px 30px);border-top:3px solid var(--shadow);border-bottom:3px solid var(--shadow)}
.hero-copy{position:relative}.hero-copy:before{content:"";position:absolute;width:112px;height:112px;right:12%;top:-42px;border:18px solid #302641;box-shadow:0 0 0 8px #1a1624;transform:rotate(14deg);z-index:-1}
.kicker{margin:0 0 24px;text-transform:uppercase;font:700 11px var(--display);letter-spacing:.14em;color:var(--muted)}.kicker span{display:inline-block;width:9px;height:9px;background:var(--red);margin-right:8px;box-shadow:12px 0 0 var(--orange)}
.hero-panel h1{margin:0;font:900 clamp(64px,9.8vw,142px)/.77 var(--display);letter-spacing:-.09em;text-wrap:balance;text-shadow:6px 6px 0 #4a385e,10px 10px 0 var(--shadow)}.hero-panel h1 em{color:var(--acid);font-style:normal;-webkit-text-stroke:2px var(--ink);text-shadow:5px 5px 0 var(--purple),9px 9px 0 var(--shadow)}
.hero-sub{margin:33px 0 0;font:700 clamp(15px,1.7vw,22px) var(--display);letter-spacing:-.035em;color:var(--cream);max-width:680px}.hero-sub:before{content:">";color:var(--acid);margin-right:10px}
.mission-card{align-self:center;background:var(--cream);color:var(--ink);border:4px solid var(--ink);padding:18px;box-shadow:9px 9px 0 var(--purple),13px 13px 0 var(--shadow);transform:rotate(1.1deg);position:relative}.mission-card:before,.mission-card:after{content:"";position:absolute;width:10px;height:10px;background:var(--ink)}.mission-card:before{left:6px;top:6px}.mission-card:after{right:6px;bottom:6px}.mission-top{display:flex;justify-content:space-between;padding-bottom:11px;border-bottom:3px solid var(--ink);font:800 9px var(--display);letter-spacing:.07em}.mission-art{height:145px;margin:14px 0;display:grid;grid-template-columns:1fr 34px 1fr;align-items:end;background-color:#c9e5d6;background-image:linear-gradient(#80b09d 2px,transparent 2px),linear-gradient(90deg,#80b09d 2px,transparent 2px);background-size:16px 16px;border:3px solid var(--ink);overflow:hidden}.mini-sprite{height:130px;display:flex;align-items:flex-end;justify-content:center}.mini-sprite svg{width:92px;height:120px;image-rendering:pixelated;filter:drop-shadow(5px 5px 0 #223c38)}.enemy-mini{transform:scaleX(-1)}.mission-versus{align-self:center;z-index:2;background:var(--red);color:#fff;padding:8px 4px;border:3px solid var(--ink);font:900 13px var(--display);transform:rotate(-8deg)}.mission-card h2{font:900 23px var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:0 0 8px}.mission-card>p{font-size:13px;line-height:1.45;margin:0;max-width:38ch}.key-guide{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px 8px;align-items:center;border-top:2px dashed var(--ink);margin-top:15px;padding-top:12px;font:700 9px var(--display);text-transform:uppercase}.key-guide kbd,.moves kbd{min-width:20px;height:20px;display:inline-grid;place-items:center;background:var(--ink);color:var(--acid);border:0;box-shadow:2px 2px 0 #765f87;font:700 9px var(--display)}
.ticker{position:absolute;left:0;right:0;bottom:22px;height:28px;display:flex;gap:22px;align-items:center;overflow:hidden;white-space:nowrap;font:700 9px var(--display);letter-spacing:.13em;color:var(--muted)}.ticker b{color:var(--acid)}
.screen-panel{background:var(--ink-2);border:3px solid var(--line);box-shadow:8px 8px 0 var(--shadow);position:relative}.screen-panel:before,.screen-panel:after{content:"";position:absolute;z-index:2;pointer-events:none}.screen-panel:before{width:12px;height:12px;left:-3px;top:-3px;border-top:3px solid var(--acid);border-left:3px solid var(--acid)}.screen-panel:after{width:12px;height:12px;right:-3px;bottom:-3px;border-right:3px solid var(--acid);border-bottom:3px solid var(--acid)}
.selection{padding:32px clamp(16px,2.6vw,34px) 34px;margin:64px 0 92px;scroll-margin-top:94px}.screen-title{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:22px}.screen-title>div{position:relative;padding-left:54px}.screen-step{position:absolute;left:0;bottom:2px;width:40px;height:40px;display:grid;place-items:center;background:var(--acid);color:var(--ink);font:900 13px var(--display);box-shadow:4px 4px 0 #68527c}.screen-title p{margin:0 0 4px;color:var(--acid);font:700 9px var(--display);letter-spacing:.15em;text-transform:uppercase}.screen-title h2{font:900 clamp(25px,3vw,42px)/.95 var(--display);letter-spacing:-.06em;text-transform:uppercase;margin:0}.screen-hint{max-width:310px;text-align:right;color:var(--muted)!important;font:500 14px/1.4 var(--sans)!important;letter-spacing:0!important;text-transform:none!important}.screen-title.compact{margin:0 0 16px}.screen-title.compact h2{font-size:29px}.screen-title.compact .screen-step{background:var(--purple);color:#fff}
.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fighter-card{min-width:0;position:relative;text-align:left;background:var(--panel);border:3px solid var(--line);padding:0 0 16px;cursor:pointer;overflow:hidden;box-shadow:5px 5px 0 var(--shadow);transition:transform .12s,border-color .12s,background .12s}.fighter-card:hover{transform:translateY(-5px);border-color:#89739f}.fighter-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--shadow)}.fighter-card[aria-pressed=true]{border-color:var(--acid);background:#2a2631;transform:translateY(-5px);box-shadow:6px 6px 0 var(--acid-dark)}.select-corners{display:none;position:absolute;inset:5px;z-index:5;pointer-events:none;border:2px dashed var(--acid)}.fighter-card[aria-pressed=true] .select-corners{display:block}.pick-mark{position:absolute;z-index:4;right:8px;top:8px;background:var(--ink);border:2px solid var(--line);color:var(--muted);padding:6px 7px;font:800 9px var(--display)}.fighter-card[aria-pressed=true] .pick-mark{background:var(--acid);border-color:var(--ink);color:var(--ink)}
.portrait{height:256px;display:block;position:relative;overflow:hidden;border-bottom:3px solid var(--line);background-color:#30263c;background-image:linear-gradient(#443653 2px,transparent 2px),linear-gradient(90deg,#443653 2px,transparent 2px);background-size:24px 24px}.portrait:after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:repeating-linear-gradient(135deg,#171321 0 8px,#211b2e 8px 16px);clip-path:polygon(0 42%,12% 28%,22% 45%,36% 20%,47% 50%,63% 23%,75% 44%,89% 17%,100% 38%,100% 100%,0 100%)}.portrait-glitch{background-color:#163f47;background-image:linear-gradient(#205964 2px,transparent 2px),linear-gradient(90deg,#205964 2px,transparent 2px);background-size:24px 24px}.portrait-oracle{background-color:#3a2853;background-image:linear-gradient(#54376c 2px,transparent 2px),linear-gradient(90deg,#54376c 2px,transparent 2px);background-size:24px 24px}.pixel-sprite{position:absolute;inset:14px 0 0;display:flex;align-items:flex-end;justify-content:center;z-index:2}.pixel-sprite svg{width:230px;height:240px;image-rendering:pixelated;filter:drop-shadow(8px 8px 0 #0b0911)}.fighter-card:hover .pixel-sprite{animation:idle .7s steps(2,end) infinite}.portrait-shadow{position:absolute;width:150px;height:18px;left:50%;bottom:18px;z-index:1;transform:translateX(-50%);background:#09070d99;clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%)}
.fighter-copy{display:flex;flex-direction:column;padding:16px 16px 12px}.fighter-copy small{font:600 9px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);order:2;margin-top:5px}.fighter-copy strong{font:900 29px/.9 var(--display);letter-spacing:-.06em;color:var(--cream)}.stat-line{display:grid;gap:7px;padding:0 16px 14px}.stat-line>span{display:grid;grid-template-columns:30px 1fr 25px;align-items:center;gap:8px}.stat-line i,.stat-line em{font:700 8px var(--display);font-style:normal;color:var(--muted)}.stat-line em{text-align:right}.stat-line b{display:block;height:7px;background:var(--ink);border:1px solid #695979;padding:1px}.stat-line u{display:block;width:var(--stat);height:100%;background:var(--acid);text-decoration:none}.ability{margin:0 16px;display:flex;flex-direction:column;padding:11px 12px;background:var(--ink);border-left:4px solid var(--acid)}.ability b{font:800 10px var(--display);color:var(--acid)}.ability small{color:var(--muted);font-size:11px;margin-top:4px}
.target-zone{margin-top:43px}.targets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.target-card{min-width:0;display:grid;grid-template-columns:72px 1fr auto;grid-template-rows:auto 1fr;align-items:center;gap:0 12px;position:relative;text-align:left;background:#1d1828;border:3px solid var(--line);padding:10px;cursor:pointer;box-shadow:4px 4px 0 var(--shadow);transition:transform .1s,border-color .1s}.target-card:hover{transform:translateY(-3px);border-color:var(--cream)}.target-card[aria-pressed=true]{border-color:var(--orange);background:#2d2029;box-shadow:5px 5px 0 #8c4728}.target-number{position:absolute;top:6px;right:7px;font:700 8px var(--display);color:#796987}.target-avatar{grid-row:1/3;width:72px;height:78px;background:#342b42;border:2px solid #695979;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.target-avatar span{display:flex;align-items:flex-end;height:74px}.target-avatar svg{width:72px;height:82px;image-rendering:pixelated;filter:drop-shadow(3px 3px 0 #09070d)}.target-copy{align-self:end}.target-copy small{font:800 8px var(--display);letter-spacing:.07em;color:var(--orange)}.target-copy strong{display:block;font:900 16px var(--display);letter-spacing:-.035em;margin-top:3px}.target-copy em{display:block;font-style:normal;color:var(--muted);font-size:11px;margin-top:3px}.bag{align-self:end;text-align:right;padding-right:4px}.bag small{display:block;font:700 7px var(--display);color:var(--muted)}.bag b{font:900 22px var(--display);letter-spacing:-.06em;color:var(--acid)}.bag i{font:700 7px var(--display);font-style:normal;color:var(--acid);margin-left:4px}
.queue-bar{margin-top:24px;min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--cream);color:var(--ink);border:3px solid var(--ink);padding:12px 12px 12px 18px;box-shadow:6px 6px 0 var(--purple)}.queue-bar>div>span{font:900 8px var(--display);letter-spacing:.11em;color:#685d70}.queue-bar p{margin:5px 0 0;font-weight:750}.primary-action,.secondary-action{min-height:52px;padding:0 18px;cursor:pointer;font:850 12px var(--display);text-transform:uppercase;letter-spacing:-.02em;transition:transform .1s,filter .1s}.primary-action{display:flex;align-items:center;gap:22px;background:var(--acid);color:var(--ink);border:3px solid var(--ink);box-shadow:4px 4px 0 #705986}.primary-action b{font-size:11px}.primary-action:not(:disabled):hover{filter:brightness(1.08);transform:translate(-2px,-2px);box-shadow:6px 6px 0 #705986}.primary-action:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 #705986}.primary-action:disabled{background:#b8afaa;color:#746b70;box-shadow:none;cursor:not-allowed}.secondary-action{background:var(--panel-2);border:3px solid var(--line);box-shadow:4px 4px 0 var(--shadow)}.secondary-action:hover{border-color:var(--acid);transform:translateY(-2px)}
.arena{margin:42px 0 80px;padding:24px;scroll-margin-top:92px;animation:panel-in .25s steps(4,end)}.arena-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.round-pill{display:inline-block;background:var(--red);padding:6px 9px;color:#fff;font:800 9px var(--display);letter-spacing:.09em;box-shadow:3px 3px 0 #6e2730}.arena h2{font:900 clamp(26px,4vw,46px)/.9 var(--display);letter-spacing:-.06em;margin:9px 0 0}.pot{text-align:right;border-left:3px solid var(--line);padding-left:18px}.pot span{display:block;color:var(--muted);font:700 8px var(--display);letter-spacing:.08em}.pot strong{color:var(--acid);font:900 34px var(--display);letter-spacing:-.07em}.pot strong:after,.loot-count strong:after{content:" BAG";font-size:9px;letter-spacing:0}
.battle-stage{height:500px;display:grid;grid-template-columns:1fr 84px 1fr;align-items:end;gap:8px;position:relative;overflow:hidden;border:4px solid var(--shadow);background:#262547;isolation:isolate}.battle-stage:before{content:"";position:absolute;inset:0;z-index:-5;background:linear-gradient(#2b2444 0 45%,#644253 45% 47%,#c66b49 47% 49%,#211b31 49%)}.battle-stage:after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;box-shadow:inset 0 0 0 4px #6f5a78,inset 0 -7px 0 #0b0911}
.city-layer{position:absolute;inset:15% 0 27%;z-index:-3;background:linear-gradient(90deg,transparent 0 4%,#171525 4% 15%,transparent 15% 18%,#1a172a 18% 31%,transparent 31% 34%,#141221 34% 53%,transparent 53% 58%,#1a172a 58% 74%,transparent 74% 78%,#141221 78% 96%,transparent 96%)}.city-layer:before{content:"";position:absolute;inset:15% 5% 4%;background:repeating-linear-gradient(90deg,transparent 0 13px,#d9ff5966 13px 17px,transparent 17px 29px),repeating-linear-gradient(0deg,transparent 0 14px,#ff8a4c55 14px 18px,transparent 18px 30px);clip-path:polygon(0 18%,9% 18%,9% 0,18% 0,18% 34%,31% 34%,31% 8%,46% 8%,46% 27%,62% 27%,62% 0,72% 0,72% 37%,84% 37%,84% 13%,100% 13%,100% 100%,0 100%)}.city-layer i{position:absolute;bottom:0;width:13%;background:#100e19}.city-layer i:nth-child(1){left:10%;height:70%}.city-layer i:nth-child(2){left:45%;height:88%}.city-layer i:nth-child(3){right:8%;height:63%}.city-layer span{position:absolute;padding:7px;background:var(--red);border:3px solid var(--cream);color:#fff;font:900 10px var(--display);box-shadow:4px 4px 0 var(--shadow);transform:rotate(-4deg)}.city-layer span:nth-of-type(1){left:20%;top:15%}.city-layer span:nth-of-type(2){right:18%;top:29%;background:var(--cyan);color:var(--ink);transform:rotate(3deg)}
.arena-floor{position:absolute;left:0;right:0;bottom:0;height:29%;z-index:-2;background-color:#261f31;background-image:linear-gradient(30deg,#3c3048 12%,transparent 12.5%,transparent 87%,#3c3048 87.5%),linear-gradient(150deg,#3c3048 12%,transparent 12.5%,transparent 87%,#3c3048 87.5%),linear-gradient(30deg,#3c3048 12%,transparent 12.5%,transparent 87%,#3c3048 87.5%),linear-gradient(150deg,#3c3048 12%,transparent 12.5%,transparent 87%,#3c3048 87.5%);background-size:40px 70px;background-position:0 0,0 0,20px 35px,20px 35px;transform:perspective(300px) rotateX(12deg);transform-origin:bottom}
.combatant{height:100%;display:flex;flex-direction:column;padding:18px 20px 9px;min-width:0;position:relative}.combatant-meta{display:flex;align-items:end;justify-content:space-between;gap:12px;z-index:4;text-shadow:2px 2px 0 var(--shadow)}.combatant-meta span{font:700 8px var(--display);letter-spacing:.12em;color:var(--acid)}.combatant-meta strong{font:900 20px var(--display);letter-spacing:-.04em}.enemy-side .combatant-meta{flex-direction:row-reverse}.health-row{display:flex;align-items:center;gap:9px;margin-top:8px;z-index:4}.health-row>b{flex:0 0 auto;font:700 8px var(--display);color:var(--cream);text-shadow:2px 2px var(--shadow)}.health-track{height:17px;flex:1;background:var(--shadow);border:3px solid var(--cream);padding:2px;box-shadow:3px 3px 0 #08060e}.health-track i{display:block;width:100%;height:100%;background:var(--acid);transition:width .35s steps(8,end),background .1s}.health-track i.low{background:var(--red);animation:danger .5s steps(2,end) infinite}.enemy-health i{background:var(--orange)}
.battle-portrait{flex:1;min-height:0;display:flex;align-items:flex-end;justify-content:center;position:relative}.battle-portrait:after{content:"";position:absolute;left:50%;bottom:23px;width:190px;height:25px;background:#08060e99;transform:translateX(-50%);clip-path:polygon(8% 0,92% 0,100% 50%,92% 100%,8% 100%,0 50%);z-index:-1}.battle-portrait svg{width:min(100%,310px);height:330px;image-rendering:pixelated;filter:drop-shadow(10px 10px 0 #08060e)}.enemy-portrait svg{transform:scaleX(-1)}.special-label{display:flex;justify-content:space-between;z-index:4;font:700 8px var(--display);color:var(--cream);text-shadow:2px 2px var(--shadow)}.special-track{height:11px;background:var(--shadow);border:2px solid var(--cyan);padding:2px;z-index:4;margin-top:4px}.special-track i{display:block;width:0;height:100%;background:var(--cyan);transition:width .35s steps(8,end)}.intent{z-index:4;min-height:34px;display:grid;place-items:center;background:var(--cream);color:var(--ink);border:3px solid var(--shadow);padding:6px;text-align:center;font:800 8px var(--display);letter-spacing:.03em;box-shadow:4px 4px 0 #08060e}.intent.danger{background:var(--red);color:#fff}.intent.guard{background:var(--cyan)}
.versus{height:100%;display:grid;place-items:center;align-content:center;z-index:6}.versus small{background:var(--cream);color:var(--ink);padding:4px 6px;font:800 7px var(--display);transform:rotate(3deg);margin-bottom:-3px}.versus span{width:62px;height:62px;display:grid;place-items:center;background:var(--red);color:#fff;border:4px solid var(--cream);box-shadow:6px 6px 0 var(--shadow);font:900 24px var(--display);transform:rotate(-6deg);text-shadow:3px 3px #862f39}
.combat-console{display:grid;grid-template-columns:.62fr 1.38fr;margin-top:14px;border:3px solid var(--line);box-shadow:5px 5px 0 var(--shadow);background:var(--panel)}.battle-log-wrap{min-width:0;border-right:3px solid var(--line);padding-top:12px}.battle-log-wrap>span{margin-left:14px;font:800 8px var(--display);letter-spacing:.1em;color:var(--acid)}.battle-log{height:145px;padding:8px 14px 14px;overflow:auto;font:600 10px/1.55 var(--display);color:var(--muted);scrollbar-color:var(--line) var(--ink)}.battle-log p{margin:0;padding:5px 0;border-bottom:1px dashed #443852}.battle-log p:first-child:before{content:"> ";color:var(--acid)}.battle-log .good{color:var(--acid)}.battle-log .bad{color:var(--red)}.battle-log .special{color:var(--cyan)}
.moves{display:grid;grid-template-columns:repeat(4,1fr)}.moves button{min-width:0;position:relative;min-height:176px;background:var(--panel);border-right:3px solid var(--line);padding:14px;text-align:left;cursor:pointer;transition:background .1s,transform .1s;overflow:hidden}.moves button:last-child{border-right:0}.moves button:hover:not(:disabled){background:#372c48;transform:translateY(-3px)}.moves button:active:not(:disabled){transform:translateY(2px)}.moves button:disabled{opacity:.42;cursor:not-allowed}.moves button>span{display:block;color:var(--muted);font:700 7px var(--display);letter-spacing:.08em}.moves button>span kbd{display:inline-grid;margin-right:5px}.moves button>b{display:block;margin-top:28px;font:850 14px/1.1 var(--display);text-transform:uppercase;letter-spacing:-.03em}.moves button>small{display:block;margin-top:7px;font-size:10px;color:var(--muted)}.moves button>i{position:absolute;right:9px;bottom:7px;font:900 25px var(--display);font-style:normal;color:#ffffff0a}.moves .special-move:not(:disabled){background:#1d3e42;box-shadow:inset 0 0 0 3px var(--cyan)}.moves .special-move:not(:disabled):after{content:"READY";position:absolute;right:-20px;top:11px;width:76px;padding:3px;background:var(--acid);color:var(--ink);text-align:center;transform:rotate(45deg);font:900 7px var(--display)}
.combatant.hit .battle-portrait{animation:hit .34s steps(4,end)}.combatant.attack .battle-portrait{animation:attack .4s steps(4,end)}.battle-stage.flash{animation:flash .28s steps(2,end)}.battle-stage.shake{animation:shake .28s steps(4,end)}.float-number{position:absolute;z-index:30;top:38%;font:900 34px var(--display);color:var(--red);text-shadow:4px 4px 0 var(--shadow);pointer-events:none;animation:float 1s steps(8,end) forwards}.float-number.player{left:22%}.float-number.enemy{right:22%}.float-number.heal{color:var(--acid)}.impact-pixel{position:absolute;z-index:28;width:9px;height:9px;background:var(--cream);pointer-events:none;animation:burst .55s steps(5,end) forwards;left:var(--x);top:var(--y);--dx:0px;--dy:-40px}.impact-pixel:nth-of-type(2n){background:var(--red)}.impact-pixel:nth-of-type(3n){background:var(--acid)}
.result{margin:40px 0 80px;padding:76px 24px;text-align:center;overflow:hidden;scroll-margin-top:92px;background:#1b2e2b;animation:panel-in .25s steps(4,end)}.result.loss{background:#321c2a}.result-burst{position:absolute;inset:-60%;background:repeating-conic-gradient(from 0deg,transparent 0 8deg,#d9ff590e 8deg 16deg);animation:spin 28s linear infinite}.result-stamp{position:relative;display:inline-block;padding:9px 13px;border:3px solid var(--acid);color:var(--acid);box-shadow:4px 4px 0 #436e54;font:800 10px var(--display);letter-spacing:.08em;transform:rotate(-2deg)}.loss .result-stamp{border-color:var(--red);color:var(--red);box-shadow:4px 4px 0 #762f42}.result h2{position:relative;max-width:950px;margin:25px auto 15px;font:900 clamp(38px,6vw,84px)/.9 var(--display);letter-spacing:-.075em;text-transform:uppercase;text-shadow:5px 5px 0 var(--shadow)}.result>p{position:relative;margin:0;color:var(--muted);font-size:17px}.loot-count{position:relative;margin:35px auto;display:inline-flex;align-items:center;gap:24px;background:var(--ink);border:3px solid var(--line);padding:15px 20px;box-shadow:5px 5px 0 var(--shadow)}.loot-count span{font:700 9px var(--display);color:var(--muted)}.loot-count strong{font:900 34px var(--display);color:var(--acid)}.result-actions{position:relative;display:flex;justify-content:center;gap:14px}.result-actions .primary-action{width:auto}
.disclaimer{display:flex;justify-content:space-between;gap:30px;border-top:2px dashed var(--line);padding:25px 0 42px;color:var(--muted);font-size:11px}.disclaimer p{margin:0}.disclaimer span{flex:0 0 auto;font:600 8px var(--display);letter-spacing:.08em}.contract-line{display:flex;align-items:center;gap:9px;margin-top:13px!important}.contract-line strong{flex:0 0 auto;padding:5px 7px;background:var(--acid);color:var(--ink);font:900 8px var(--display)}.contract-line a{color:var(--cream);font:700 9px/1.5 var(--display);letter-spacing:.025em;text-decoration:none;overflow-wrap:anywhere}.contract-line a:hover{color:var(--acid);text-decoration:underline}
@keyframes idle{50%{transform:translateY(-3px)}}@keyframes hit{25%{transform:translateX(-18px);filter:brightness(2)}50%{transform:translateX(12px)}75%{transform:translateX(-6px)}}@keyframes attack{50%{transform:translateX(38px) scale(1.04)}}@keyframes flash{50%{filter:brightness(2.2) saturate(1.5)}}@keyframes shake{25%{transform:translate(7px,-3px)}50%{transform:translate(-6px,3px)}75%{transform:translate(4px,2px)}}@keyframes float{to{transform:translateY(-82px);opacity:0}}@keyframes burst{to{transform:translate(var(--dx),var(--dy)) rotate(90deg);opacity:0}}@keyframes danger{50%{filter:brightness(1.8)}}@keyframes panel-in{from{opacity:0;transform:translateY(18px)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1020px){.hero-panel{grid-template-columns:1.2fr .8fr;min-height:570px}.hero-panel h1{font-size:clamp(64px,10vw,100px)}.roster{grid-template-columns:1fr}.fighter-card{display:grid;grid-template-columns:220px 1fr;grid-template-rows:auto auto 1fr}.portrait{grid-row:1/4;height:230px;border-bottom:0;border-right:3px solid var(--line)}.pixel-sprite svg{width:205px;height:220px}.fighter-copy{padding-top:40px}.ability{align-self:end}.targets{grid-template-columns:1fr}.target-card{grid-template-columns:86px 1fr auto}.target-avatar{width:86px}.battle-stage{height:450px}.battle-portrait svg{height:285px}.combat-console{grid-template-columns:1fr}.battle-log-wrap{border-right:0;border-bottom:3px solid var(--line)}.battle-log{height:100px}.moves button{min-height:145px}}
@media(max-width:760px){.topbar{height:64px;padding:0 14px}.logo svg{width:30px}.logo-mark{width:38px;height:38px}.logo b{font-size:15px}.cabinet-status{display:none}.sound-toggle span{display:none}.sound-toggle{padding:8px;font-size:8px}.vault-stat{padding:8px;font-size:8px}.hero-panel{min-height:auto;grid-template-columns:1fr;padding:54px 0 76px;gap:45px}.hero-copy:before{right:4%;top:-30px;width:74px;height:74px}.hero-panel h1{font-size:clamp(60px,20vw,96px);text-shadow:4px 4px 0 #4a385e,7px 7px 0 var(--shadow)}.hero-panel h1 em{text-shadow:4px 4px 0 var(--purple),7px 7px 0 var(--shadow)}.mission-card{transform:none;margin:0 4px}.ticker{bottom:20px}.selection{margin-top:40px;padding:22px 12px 25px}.screen-title{display:block}.screen-hint{text-align:left;margin:13px 0 0 54px!important}.fighter-card{grid-template-columns:128px 1fr}.portrait{height:220px}.pixel-sprite{inset:26px -24px 0}.pixel-sprite svg{width:175px;height:190px}.fighter-copy{padding:38px 10px 8px}.fighter-copy strong{font-size:23px}.fighter-copy small{font-size:7px}.stat-line{padding:0 10px 9px;gap:5px}.ability{margin:0 10px 10px;padding:8px}.ability small{font-size:9px}.target-card{grid-template-columns:63px 1fr auto;padding:8px}.target-avatar{width:63px;height:70px}.target-avatar svg{width:64px;height:73px}.target-copy strong{font-size:13px}.target-copy em{font-size:9px}.bag b{font-size:18px}.queue-bar{align-items:stretch;flex-direction:column}.queue-bar .primary-action{justify-content:space-between;width:100%}.arena{padding:12px;margin-top:24px}.arena-head{align-items:flex-start}.pot strong{font-size:25px}.battle-stage{height:390px;grid-template-columns:1fr 38px 1fr}.combatant{padding:12px 6px 7px}.combatant-meta{display:block}.enemy-side .combatant-meta{display:flex;flex-direction:column-reverse;align-items:flex-end}.combatant-meta strong{display:block;font-size:13px;margin-top:4px}.health-row{gap:4px}.health-row>b{font-size:6px}.health-track{height:13px;border-width:2px}.battle-portrait svg{width:175px;height:235px}.battle-portrait:after{width:110px}.versus span{width:38px;height:38px;border-width:2px;font-size:14px}.versus small{display:none}.intent{font-size:6px;min-height:30px;padding:3px}.special-label{font-size:6px}.moves{grid-template-columns:1fr 1fr}.moves button{min-height:122px;border-bottom:3px solid var(--line)}.moves button:nth-child(2){border-right:0}.moves button>b{margin-top:17px;font-size:12px}.moves button>small{font-size:8px}.float-number.player{left:10%}.float-number.enemy{right:10%}.result{padding:58px 16px}.result-actions{flex-direction:column}.result-actions .primary-action,.secondary-action{width:100%;justify-content:space-between}.disclaimer{display:block}.disclaimer span{display:block;margin-top:12px}}
@media(max-width:420px){main{padding:0 10px}.logo i{font-size:8px}.top-stats{gap:5px}.sound-toggle{width:33px;overflow:hidden;white-space:nowrap}.hero-panel h1{font-size:18.5vw}.mission-art{height:126px}.mini-sprite{height:116px}.mini-sprite svg{height:106px}.fighter-card{grid-template-columns:112px 1fr}.portrait{height:210px}.pixel-sprite{inset:32px -34px 0}.pixel-sprite svg{width:160px;height:180px}.fighter-copy strong{font-size:20px}.screen-title h2{font-size:25px}.target-number{display:none}.target-card{grid-template-columns:54px 1fr auto}.target-avatar{width:54px;height:62px}.target-avatar svg{width:58px;height:66px}.arena h2{font-size:22px}.pot{padding-left:8px}.battle-stage{height:370px}.battle-portrait svg{height:215px}.combatant-meta strong{font-size:11px}.health-row>b{display:none}.intent{font-size:5px}.moves button{padding:10px}.moves button>b{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
