.stage{position:relative;isolation:isolate;padding-top:clamp(112px,13vw,164px);padding-bottom:clamp(44px,6vw,80px)}
.stage::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(to right,color-mix(in srgb,var(--b-ink) 7%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--b-ink) 7%,transparent) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(ellipse 72% 70% at 68% 46%,#000 0%,rgba(0,0,0,.6) 45%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 68% 46%,#000 0%,rgba(0,0,0,.6) 45%,transparent 100%)}
.stage>.stage__bg{position:absolute;inset:0;z-index:-2;max-width:none;margin:0;background-position:center 60%;background-size:cover;opacity:.42}
.stage__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--b-bg) 14%,color-mix(in srgb,var(--b-bg) 50%,transparent) 58%,color-mix(in srgb,var(--b-bg) 78%,transparent)),linear-gradient(transparent 60%,var(--b-bg))}
.stage__in{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(40px,5vw,64px);align-items:center}
.stage .crumb ol{color:var(--b-muted)}
.stage .crumb a{color:var(--b-ink)}
:root:not([data-theme="dark"]) body:has(#main>:is(.stage,[data-tone="dark"]):first-child) .nav:not(.is-scrolled){--ink:#F1F1EF;--bg:#0B0B0D;--line:rgba(241,241,239,.18);--muted:#A1A1A6;color:var(--ink)}
:root:not([data-theme="dark"]) body:has(#main>:is(.stage,[data-tone="dark"]):first-child) .nav:not(.is-scrolled) .logo--ink{display:none}
:root:not([data-theme="dark"]) body:has(#main>:is(.stage,[data-tone="dark"]):first-child) .nav:not(.is-scrolled) .logo--paper{display:block}
.stage__kicker{display:inline-flex;align-items:center;gap:10px;margin-top:24px;padding:6px 14px 6px 12px;border:1px solid var(--b-line);border-radius:999px;font-size:14px;font-weight:600}
.stage__kicker::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,var(--b-ink) 16%,transparent)}
.stage h1{margin-top:18px;font-weight:500;font-size:clamp(2.6rem,6.2vw,5.8rem);line-height:.96;letter-spacing:-.045em;text-wrap:balance}
.stage__lead{max-width:48ch;margin-top:20px;color:var(--b-muted);font-size:clamp(17px,1.4vw,20px)}
.stage__buy{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:30px}
.stage .btn{background:var(--b-ink);color:var(--b-bg)}
.stage .link{color:var(--b-ink)}
.stage__price{margin-top:16px;font-size:15px;color:var(--b-muted)}
.stage__price strong{color:var(--b-ink);font-weight:600}
.stage__visual{position:relative;min-width:0}
.stage__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(40px,6vw,72px);border-top:1px solid var(--b-line)}
.stage__facts div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:6px;padding:20px 16px 4px 0}
.stage__facts dd{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:500;line-height:1;letter-spacing:-.03em}
.stage__facts dt{font-size:14px;color:var(--b-muted)}
@media (min-width:760px){.stage__facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1000px){.stage__in{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}}
.frame{position:relative;margin:0;overflow:hidden;border:1px solid var(--b-line);border-radius:18px;background:#000;box-shadow:0 44px 90px -34px rgba(0,0,0,.85)}
.frame img{display:block;width:100%;height:auto}
.sprite{flex:none;width:var(--s,160px);aspect-ratio:1;background:var(--sheet) 0 0/1600% 100% no-repeat;animation:sprite var(--d,1.3s) steps(16,jump-none) infinite}
.sprite--flip{transform:scaleX(-1)}
@keyframes sprite{to{background-position:100% 0}}
.arena{position:relative;padding-bottom:clamp(36px,5vw,64px)}
.arena .frame{transform:perspective(1800px) rotateY(-9deg) rotateX(3deg);transform-origin:70% 50%}
.arena__crew{position:absolute;left:-3%;right:-2%;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}
.arena__crew .sprite{--s:clamp(112px,15vw,210px);margin-bottom:-6%;filter:drop-shadow(0 20px 18px rgba(0,0,0,.6))}
.arena__crew .sprite:nth-child(2){--s:clamp(132px,18vw,250px);margin-left:-8%;margin-right:auto}
.roster__ui{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,3vw,36px);margin-top:clamp(28px,4vw,48px)}
.roster__list{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;scrollbar-width:none}
.roster__list::-webkit-scrollbar{display:none}
.rtab{flex:none;scroll-snap-align:start;display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:12px;align-items:center;min-width:210px;min-height:64px;padding:8px 16px 8px 8px;border:1px solid var(--b-line);border-radius:16px;background:transparent;color:var(--b-ink);text-align:left;cursor:pointer;transition:background-color .25s,border-color .25s,color .25s}
.rtab img{grid-row:span 2;width:52px;height:52px;border-radius:10px;background:color-mix(in srgb,var(--b-ink) 8%,transparent)}
.rtab__name{align-self:end;font-weight:600;line-height:1.2}
.rtab__tier{align-self:start;font-size:13px;color:var(--b-muted)}
.rtab:hover{border-color:color-mix(in srgb,var(--b-ink) 42%,transparent)}
.rtab[aria-selected="true"]{background:var(--b-ink);border-color:var(--b-ink);color:var(--b-bg)}
.rtab[aria-selected="true"] .rtab__tier{color:color-mix(in srgb,var(--b-bg) 68%,var(--b-ink))}
.rtab[aria-selected="true"] img{background:color-mix(in srgb,var(--b-bg) 12%,transparent)}
.rpanel{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,3vw,40px);align-items:center;padding:clamp(16px,2.4vw,28px);border:1px solid var(--b-line);border-radius:24px;background:color-mix(in srgb,var(--b-ink) 4%,transparent)}
.rpanel[hidden]{display:none}
.rpanel:focus-visible{outline:2px solid var(--b-ink);outline-offset:3px}
.rpanel__stage{position:relative;display:flex;justify-content:center;align-items:flex-end;aspect-ratio:4/3;overflow:hidden;border-radius:18px;background:var(--floor) center 72%/cover no-repeat}
.rpanel__stage::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.05) 40%,rgba(0,0,0,.5))}
.rpanel__stage .sprite{--s:min(84%,380px);position:relative;z-index:1;margin-bottom:-15%;filter:drop-shadow(0 18px 14px rgba(0,0,0,.55))}
.rpanel h3{font-weight:500;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1;letter-spacing:-.035em}
.rpanel__tier{margin-top:10px;font-size:15px;color:var(--b-muted)}
.rpanel__desc{margin-top:14px;font-size:clamp(16px,1.2vw,18px)}
.stats{display:grid;gap:12px;margin-top:22px}
.stats div{display:grid;grid-template-columns:44px minmax(0,1fr) 60px;align-items:center;gap:12px}
.stats dt{font-size:13px;font-weight:600;color:var(--b-muted)}
.stats dd{display:contents}
.stats__bar{height:6px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--b-ink) 14%,transparent)}
.stats__bar::before{content:'';display:block;width:calc(var(--v) * 100%);height:100%;border-radius:inherit;background:var(--b-ink);transform-origin:0 50%;animation:grow .8s var(--ease) both}
@keyframes grow{from{transform:scaleX(0)}}
.stats__n{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.rpanel__ult{margin-top:22px;padding-top:18px;border-top:1px solid var(--b-line)}
.rpanel__ult strong{display:block;margin-bottom:4px;font-size:13px;font-weight:600;color:var(--b-muted)}
@media (min-width:760px){.rpanel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (min-width:1000px){.roster__ui{grid-template-columns:280px minmax(0,1fr);align-items:stretch}.roster__list{flex-direction:column;overflow:visible;padding:0}.rtab{min-width:0;min-height:60px}.rpanel{height:100%;grid-template-columns:minmax(0,1fr);align-content:start}.rpanel__stage{aspect-ratio:16/7}.rpanel__stage .sprite{--s:min(64%,460px);margin-bottom:-15%}.rpanel__info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px}.rpanel__info>h3,.rpanel__info>.rpanel__tier,.rpanel__info>.rpanel__desc{grid-column:1}.rpanel__info>.stats{grid-column:2;grid-row:1/4;margin-top:6px}.rpanel__info>.rpanel__ult{grid-column:1/-1}}
.foes{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:clamp(28px,4vw,48px)}
.foe{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--bg)}
.foe__stage{position:relative;display:flex;justify-content:center;align-items:flex-end;aspect-ratio:16/10;overflow:hidden;background:#0B0B0D var(--floor,none) center 78%/cover no-repeat}
.foe__stage::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.5))}
.foe__stage .sprite{--s:min(80%,300px);position:relative;z-index:1;margin-bottom:-15%;filter:drop-shadow(0 16px 14px rgba(0,0,0,.55))}
.foe__stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0 0}
.foe__text{display:grid;gap:8px;align-content:start;padding:20px 22px 24px}
.foe h3{font-weight:500;font-size:clamp(1.3rem,1.8vw,1.6rem);letter-spacing:-.02em}
.foe p{color:var(--muted)}
.foe__stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.foe__stats li{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--muted)}
.foe__stats b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
@media (min-width:900px){.foes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.console{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(18px,3vw,36px);margin-top:clamp(28px,4vw,48px)}
.console__tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}
.console__tabs::-webkit-scrollbar{display:none}
.ctab{flex:none;display:grid;gap:4px;min-height:48px;padding:12px 18px;border:1px solid var(--line);border-radius:16px;background:transparent;color:var(--ink);text-align:left;cursor:pointer;transition:background-color .25s,border-color .25s}
.ctab__t{font-weight:600}
.ctab__d{display:none;font-size:14px;color:var(--muted)}
.ctab:hover{border-color:color-mix(in srgb,var(--ink) 40%,transparent)}
.ctab[aria-selected="true"]{border-color:var(--ink);background:color-mix(in srgb,var(--ink) 6%,transparent)}
.cpanel{margin:0}
.cpanel[hidden]{display:none}
.cpanel:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:18px}
.cpanel img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:18px;background:#0b0b0d}
.cpanel figcaption{max-width:72ch;margin-top:14px;color:var(--muted)}
@media (min-width:1000px){.console{grid-template-columns:300px minmax(0,1fr);align-items:start}.console__tabs{flex-direction:column;overflow:visible;padding:0}.ctab{padding:16px 18px}.ctab__d{display:block}}
.band .ctab{border-color:var(--b-line);color:var(--b-ink)}
.band .ctab__d,.band .cpanel figcaption{color:var(--b-muted)}
.band .ctab[aria-selected="true"]{border-color:var(--b-ink);background:color-mix(in srgb,var(--b-ink) 8%,transparent)}
.band .cpanel img{border-color:var(--b-line)}
.notes{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(28px,4vw,48px)}
.note h3{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line);font-weight:500;font-size:clamp(1.2rem,1.6vw,1.4rem)}
.note h3 span{font-size:13px;font-weight:600;color:var(--muted)}
.note li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.note li::before{content:'';flex:none;width:7px;height:7px;margin-top:.6em;border-radius:50%;background:currentColor}
@media (min-width:900px){.notes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.setup{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,72px);margin-top:clamp(28px,4vw,48px)}
.setup h3.setup__t{margin-bottom:8px;font-weight:500;font-size:clamp(1.2rem,1.6vw,1.4rem)}
.setup .psteps{grid-template-columns:minmax(0,1fr);border-bottom:0}
.setup .psteps li,.setup .psteps li+li{padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}
.setup .pcode{margin-top:18px}
@media (min-width:1000px){.setup{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.notice{display:grid;gap:6px;margin-top:26px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--ink) 3%,transparent);font-size:15px;color:var(--muted)}
.notice__t{font-weight:600;color:var(--ink)}
@media (prefers-reduced-motion:reduce){.sprite,.stats__bar::before{animation:none}}
