.dev-variant-shape-toggle[data-astro-cid-37ptilnu]{z-index:50;font-family:var(--mono);border-radius:var(--r);border:1px solid var(--border);background:var(--bg2);color:var(--text-sub);cursor:pointer;padding:.4rem .7rem;font-size:.72rem;position:fixed;bottom:1rem;left:1rem}.dev-variant-shape-toggle[data-astro-cid-37ptilnu]:hover{color:var(--text);border-color:var(--accent)}.empty[data-astro-cid-37ptilnu]{max-width:42rem;margin:0 auto;padding:4rem 2rem}.empty[data-astro-cid-37ptilnu] p[data-astro-cid-37ptilnu]{border:1px dashed var(--border);border-radius:var(--r);color:var(--text-muted);padding:2rem;font-size:.95rem}.stage[data-astro-cid-37ptilnu]{grid-template-columns:40fr 25fr 35fr;height:calc(100vh - 4.75rem);display:grid;position:relative;overflow:hidden}[data-astro-cid-37ptilnu][hidden]{display:none!important}.sr-only[data-astro-cid-37ptilnu]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stage-artwork[data-astro-cid-37ptilnu]{justify-content:center;align-items:center;min-width:0;padding:1.5rem 1rem;display:flex;position:relative}.orbital-decor[data-astro-cid-37ptilnu]{z-index:1;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:60%;height:55%;transition:opacity .4s;display:flex;position:absolute;bottom:6%;left:0}.orbital-decor[data-astro-cid-37ptilnu].active{opacity:1}.orbital-ring[data-astro-cid-37ptilnu]{border:1px solid color-mix(in srgb, var(--char-accent,var(--accent)) 50%, transparent);border-radius:50%;position:absolute}.ring-a[data-astro-cid-37ptilnu]{width:260px;height:260px;transform:scaleY(.4)}.ring-b[data-astro-cid-37ptilnu]{width:180px;height:180px;transform:rotate(30deg)scaleY(.4)}.orbital-satellite[data-astro-cid-37ptilnu]{background:var(--char-accent,var(--accent));width:7px;height:7px;box-shadow:0 0 12px var(--char-accent,var(--accent));offset-path:ellipse(130px 50px at 50% 50%);border-radius:50%;margin:-3.5px 0 0 -3.5px;animation:13s linear infinite orbit;position:absolute;top:50%;left:50%}.sat-b[data-astro-cid-37ptilnu]{offset-path:ellipse(90px 36px at 50% 50%);animation-duration:19s;animation-direction:reverse}@keyframes orbit{0%{offset-distance:0%}to{offset-distance:100%}}@media (width<=920px){.ring-a[data-astro-cid-37ptilnu]{width:180px;height:180px}.ring-b[data-astro-cid-37ptilnu]{width:125px;height:125px}.orbital-satellite[data-astro-cid-37ptilnu]{offset-path:ellipse(90px 35px at 50% 50%)}.sat-b[data-astro-cid-37ptilnu]{offset-path:ellipse(62px 25px at 50% 50%)}}.artwork-figure[data-astro-cid-37ptilnu]{z-index:2;pointer-events:none;justify-content:flex-start;align-items:flex-end;width:fit-content;max-width:640px;height:96%;max-height:900px;transition:opacity .22s,transform .22s;display:flex;position:absolute;bottom:0;left:0}.artwork-figure[data-astro-cid-37ptilnu].swapping{opacity:0;transform:translateY(10px)scale(.97)}.artwork-image[data-astro-cid-37ptilnu]{object-fit:contain;object-position:bottom left;transform-origin:0 100%;width:auto;max-width:100%;height:100%}.artwork-silhouette[data-astro-cid-37ptilnu]{width:auto;height:100%;fill:var(--char-accent,var(--accent));opacity:.92;filter:drop-shadow(0 26px 46px #00000080) drop-shadow(0 0 50px color-mix(in srgb, var(--char-accent,var(--accent)) 30%, transparent));transition:fill .3s}.artwork-mark-badge[data-astro-cid-37ptilnu]{aspect-ratio:1;background:var(--bg2);border:2px solid var(--char-accent,var(--accent));width:20%;max-width:60px;font-family:var(--mono);color:var(--char-accent,var(--accent));border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;font-weight:700;transition:border-color .3s,color .3s;display:flex;position:absolute;bottom:4%;right:2%}.stage-roster[data-astro-cid-37ptilnu]{z-index:2;flex-direction:column;justify-content:center;min-width:0;min-height:0;padding:1.5rem 1rem;display:flex;position:relative}.roster-rail[data-astro-cid-37ptilnu]{max-height:100%;padding:2.5rem 1.5rem;position:relative;overflow:visible}.roster-slot[data-astro-cid-37ptilnu]{will-change:transform;width:112px;height:97px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:absolute;top:0;left:0}.roster-node[data-astro-cid-37ptilnu]{cursor:pointer;width:112px;height:97px;color:var(--text);font-family:var(--mono);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .15s,filter .15s,opacity .3s;display:flex;position:relative}.roster-node[data-astro-cid-37ptilnu]:before,.roster-node[data-astro-cid-37ptilnu]:after{content:"";clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);position:absolute}.roster-node[data-astro-cid-37ptilnu]:before{background:var(--border);transition:background-color .15s;inset:0}.roster-node[data-astro-cid-37ptilnu]:after{background:var(--bg2);inset:2px}.roster-node-mark[data-astro-cid-37ptilnu],.roster-node-portrait[data-astro-cid-37ptilnu]{z-index:1;position:relative}.roster-node[data-astro-cid-37ptilnu]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.roster-node[data-astro-cid-37ptilnu]:focus-visible:before{background:var(--accent)}.roster-node[data-astro-cid-37ptilnu].highlighted{z-index:3;filter:drop-shadow(0 0 18px color-mix(in srgb, var(--char-accent,var(--accent)) 45%, transparent));transform:scale(1.16)}.roster-node[data-astro-cid-37ptilnu].highlighted:before{background:var(--char-accent,var(--accent))}.roster-node[data-astro-cid-37ptilnu].confirmed{z-index:4;filter:drop-shadow(0 0 32px color-mix(in srgb, var(--node-accent,var(--accent)) 65%, transparent));transform:scale(1.24)}.roster-node[data-astro-cid-37ptilnu].confirmed:before{background:var(--node-accent,var(--accent))}.roster-node[data-astro-cid-37ptilnu].confirmed:after{inset:3px}.roster-node[data-astro-cid-37ptilnu].locked{opacity:.5}.roster-node[data-astro-cid-37ptilnu].locked.unnamed{cursor:default}.roster-node-mark[data-astro-cid-37ptilnu]{font-size:1.8rem;font-weight:700}.roster-node-portrait[data-astro-cid-37ptilnu]{object-fit:cover;object-position:center 8%;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);filter:grayscale(.78)brightness(.46);width:calc(100% - 6px);height:calc(100% - 6px);transition:filter .25s;position:absolute;inset:3px}.roster-node[data-astro-cid-37ptilnu].highlighted .roster-node-portrait[data-astro-cid-37ptilnu],.roster-node[data-astro-cid-37ptilnu].confirmed .roster-node-portrait[data-astro-cid-37ptilnu]{filter:none}.roster-node[data-astro-cid-37ptilnu].locked-shake{animation:.3s locked-shake}@keyframes locked-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.stage[data-astro-cid-37ptilnu].locking-in .roster-node[data-astro-cid-37ptilnu]:not(.confirmed){opacity:.3;filter:grayscale(.4)}.stage-info[data-astro-cid-37ptilnu]{z-index:2;flex-direction:column;justify-content:center;min-width:0;min-height:0;padding:1.5rem 3rem 1.5rem 1.25rem;display:flex;position:relative}.info-scroll[data-astro-cid-37ptilnu]{min-width:0;max-height:100%;padding-bottom:12px;overflow-y:auto}.info-tags[data-astro-cid-37ptilnu]{flex-wrap:wrap;gap:.5rem;margin:0 0 .6rem;display:flex}.info-system[data-astro-cid-37ptilnu],.info-badge[data-astro-cid-37ptilnu]{width:fit-content;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin:0;padding:.25rem .75rem;font-size:.68rem;display:inline-block}.info-system[data-astro-cid-37ptilnu]{color:var(--char-accent,var(--accent));border:1px solid color-mix(in srgb, var(--char-accent,var(--accent)) 45%, transparent);transition:color .3s,border-color .3s}.info-badge[data-astro-cid-37ptilnu]{color:var(--text-muted);background:var(--bg2)}.info-name[data-astro-cid-37ptilnu]{margin:0 0 .25rem;font-size:clamp(1.9rem,1.8vw + 1.3rem,2.8rem);line-height:1.05}.info-campaign[data-astro-cid-37ptilnu]{font-family:var(--mono);color:var(--text-sub);margin:0 0 .25rem;font-size:.85rem}.info-role[data-astro-cid-37ptilnu]{color:var(--text-muted);margin:0 0 .6rem;font-size:.8rem}.info-tagline[data-astro-cid-37ptilnu]{color:var(--text-sub);max-width:32rem;margin:.35rem 0 .7rem;font-size:.92rem;line-height:1.5}.info-abilities[data-astro-cid-37ptilnu]{flex-direction:column;gap:.5rem;margin:0 0 1.75rem;padding:0;list-style:none;display:flex}.info-abilities[data-astro-cid-37ptilnu] li[data-astro-cid-37ptilnu]{font-family:var(--mono);color:var(--text-sub);padding-left:1.1rem;font-size:.85rem;position:relative}.info-abilities[data-astro-cid-37ptilnu] li[data-astro-cid-37ptilnu]:before{content:"•";color:var(--char-accent,var(--accent));position:absolute;left:0}.info-stats[data-astro-cid-37ptilnu],.info-ranked[data-astro-cid-37ptilnu],.info-features[data-astro-cid-37ptilnu]{max-width:34rem;margin:0 0 .5rem}.dossier-cta[data-astro-cid-37ptilnu]{font-family:var(--mono);background:var(--confirmed-accent,var(--accent));color:#0a0e17;cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:999px;align-self:flex-start;padding:.85rem 2.2rem;font-size:.92rem;font-weight:700;transition:opacity .3s,transform .3s,background .3s;transform:translateY(8px)}.dossier-cta[data-astro-cid-37ptilnu].visible{opacity:1;pointer-events:auto;transform:translateY(0)}.dossier-cta[data-astro-cid-37ptilnu]:disabled{background:var(--bg3);color:var(--text-muted);cursor:default}.dossier-cta[data-astro-cid-37ptilnu]:focus-visible{outline:2px solid var(--confirmed-accent,var(--accent));outline-offset:3px}.confirm-hint[data-astro-cid-37ptilnu]{font-family:var(--mono);color:var(--text-muted);margin-top:.85rem;font-size:.72rem}.stage[data-astro-cid-37ptilnu].confirming{animation:.36s forwards confirm-flash}@keyframes confirm-flash{0%{opacity:1;filter:brightness()}50%{opacity:1;filter:brightness(1.6)}to{opacity:0;filter:brightness(2)}}@media (width<=920px){.stage[data-astro-cid-37ptilnu]{grid-template-rows:auto auto auto;grid-template-columns:1fr;height:auto;min-height:0;overflow:visible}.stage-artwork[data-astro-cid-37ptilnu]{min-height:48vh;padding:1.5rem 1.5rem .5rem}.orbital-decor[data-astro-cid-37ptilnu]{bottom:0;left:0;width:auto;height:auto;inset:0}.artwork-figure[data-astro-cid-37ptilnu]{justify-content:center;width:fit-content;max-width:85%;height:86%;max-height:none;position:relative;bottom:auto;left:auto}.stage-roster[data-astro-cid-37ptilnu]{padding:.5rem 0 .5rem 1.5rem}.roster-rail[data-astro-cid-37ptilnu]{flex-direction:row;align-items:stretch;gap:.6rem;padding:2rem 1.5rem;display:flex;overflow:auto visible}.roster-slot[data-astro-cid-37ptilnu]{flex-shrink:0;align-self:center;width:auto;height:auto;position:static}.roster-node[data-astro-cid-37ptilnu]{width:92px;height:80px}.stage-info[data-astro-cid-37ptilnu]{padding:.5rem 1.5rem 2.5rem}.info-name[data-astro-cid-37ptilnu]{font-size:clamp(2rem,7vw,2.6rem)}}@media (prefers-reduced-motion:reduce){.orbital-satellite[data-astro-cid-37ptilnu],.stage[data-astro-cid-37ptilnu].confirming,.roster-node[data-astro-cid-37ptilnu].locked-shake{animation:none}.roster-node[data-astro-cid-37ptilnu],.roster-slot[data-astro-cid-37ptilnu],.variant-slot[data-astro-cid-37ptilnu],.artwork-figure[data-astro-cid-37ptilnu],.orbital-decor[data-astro-cid-37ptilnu],.dossier-cta[data-astro-cid-37ptilnu]{transition:none}}.artwork-layers{z-index:2;pointer-events:none;position:absolute;inset:0}.artwork-layer{object-fit:contain;width:auto;max-width:640px;height:96%;max-height:900px;transition:opacity .22s,transform .22s,left .15s,bottom .15s,top .15s;position:absolute}.artwork-layers.swapping .artwork-layer{opacity:0!important;transform:translateY(10px)!important}@media (width<=920px){.artwork-layer{height:86%;max-height:none}}.artwork-stands{z-index:3;pointer-events:none;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;max-width:48%;transition:opacity .22s,transform .22s;display:flex;position:absolute;top:4%;right:3%}.artwork-stands.swapping{opacity:0;transform:translateY(10px)}.artwork-stand-img{object-fit:contain;width:auto;max-width:100%;height:9rem}:where(.artwork-stands:has(.artwork-stand-img:nth-child(2))) .artwork-stand-img{height:6rem}@media (width<=920px){.artwork-stands{justify-content:center;max-width:100%;margin-top:.75rem;position:static}}.artwork-composition{display:contents}.stage-artwork:has(.artwork-composition[data-character=johan-takahashi]){container-type:size}.artwork-composition[data-character=johan-takahashi]{aspect-ratio:4/5;width:min(100cqw,80cqh);display:block;position:absolute;bottom:0;left:0}.artwork-composition[data-character=johan-takahashi] .artwork-figure{width:100%;max-width:none;height:90%;max-height:none;position:absolute;bottom:0;left:0}.artwork-composition[data-character=johan-takahashi] .artwork-image{object-fit:contain;object-position:bottom left;width:100%;height:100%}.artwork-composition[data-character=johan-takahashi] .artwork-stands{width:42%;max-width:none;height:38%;margin:0;display:block;position:absolute;inset:12% 0 auto auto}.artwork-composition[data-character=johan-takahashi] .artwork-stand-img{object-fit:contain;width:100%;height:100%;position:absolute}.artwork-composition[data-character=johan-takahashi] .artwork-stands{z-index:1}.artwork-composition[data-act=act-1] .artwork-stands{width:12%;height:7.7%;top:27%;right:29%}.artwork-composition[data-act=act-2] .artwork-stands{width:38%;height:33.4%;top:24%;right:2%}.artwork-composition[data-act=act-3] .artwork-figure{height:80%}.artwork-composition[data-act=act-3] .artwork-stands{width:100%;height:100%;top:0;right:0}.artwork-composition[data-act=act-3] .artwork-stand-img{width:48%;height:52%}.artwork-composition[data-act=act-3] .artwork-stand-img:first-child{top:0;left:0}.artwork-composition[data-act=act-3] .artwork-stand-img:nth-child(2){top:1%;right:0}.artwork-composition[data-act=act-3] .artwork-stand-img:nth-child(3){bottom:12%;right:0}.artwork-composition[data-act=act-5] .artwork-figure{height:78%}.artwork-composition[data-act=act-5] .artwork-stands{width:94%;height:92%;top:1%;right:0}@media (width<=920px){.stage-artwork:has(.artwork-composition[data-character=johan-takahashi]){aspect-ratio:4/5;height:auto;min-height:0;padding:0}}.stat-group{margin:0 0 .6rem}.stat-group:last-child{margin-bottom:0}.stat-group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .6rem;font-size:.68rem}.stat-row{align-items:center;gap:.9rem;margin:0 0 .5rem;display:flex}.stat-row:last-child{margin-bottom:0}.stat-row-label{font-family:var(--mono);color:var(--text-sub);flex:0 0 5.5rem;font-size:.78rem}.segmented-bar{flex:1;gap:.25rem;min-width:0;display:flex}.segment{background:var(--bg3);border:1px solid var(--border);border-radius:2px;flex:1;max-width:1.6rem;height:.6rem;position:relative;overflow:hidden}.segment.filled{background:var(--char-accent,var(--accent));border-color:var(--char-accent,var(--accent))}.segment.exceptional{background:#ffcb47;border-color:#ffcb47;box-shadow:0 0 8px #ffcb4799}.segment.half:after{content:"";background:var(--char-accent,var(--accent));width:50%;position:absolute;inset:0}.segment.half.exceptional:after{background:#ffcb47;box-shadow:0 0 8px #ffcb4799}.stat-row-value{text-align:right;min-width:2rem;font-family:var(--mono);color:var(--text);flex:none;font-size:.78rem;font-weight:700}.stat-row-value.exceptional{color:#ffcb47}.resource-group{flex-wrap:wrap;gap:1.25rem;display:flex}.circular-meter{flex-direction:column;align-items:center;gap:.35rem;display:flex}.circular-meter-ring{position:relative}.circular-meter-ring svg{width:4.2rem;height:4.2rem;display:block}.circular-meter-track{fill:none;stroke:var(--bg3);stroke-width:7px}.circular-meter-fill{fill:none;stroke:var(--char-accent,var(--accent));stroke-width:7px;stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset .3s;transform:rotate(-90deg)}.circular-meter-value{font-family:var(--mono);color:var(--text);justify-content:center;align-items:center;font-size:.95rem;font-weight:700;display:flex;position:absolute;inset:0}.circular-meter-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);text-align:center;font-size:.65rem}.radar-chart{width:100%;max-width:15rem}.radar-grid{fill:none;stroke:var(--border);stroke-width:1px}.radar-shape{fill:color-mix(in srgb, var(--char-accent,var(--accent)) 22%, transparent);stroke:var(--char-accent,var(--accent));stroke-width:1.5px}.radar-axis-label{font-family:var(--mono);fill:var(--text-muted);text-anchor:middle;font-size:9px}.radar-axis-value{fill:var(--text);font-weight:700}.info-variant{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--char-accent,var(--accent));margin:0 0 .4rem;font-size:.68rem;font-weight:700;display:block}.info-variant-blurb{color:var(--text-sub);max-width:34rem;margin:0 0 .6rem;font-size:.82rem}.ranked-grid{flex-direction:column;gap:.4rem;display:flex}.ranked-row{align-items:center;gap:.75rem;min-width:0;display:flex}.ranked-row-label{font-family:var(--mono);color:var(--text-sub);text-overflow:ellipsis;white-space:nowrap;flex:0 0 6rem;font-size:.78rem;overflow:hidden}.rank-bar{flex:1;align-items:center;gap:.2rem;min-width:0;display:flex}.rank-bar-segment{background:var(--bg3);border:1px solid var(--border);border-radius:2px;flex:1;max-width:1.3rem;height:.6rem;transition:background-color .3s,border-color .3s,box-shadow .3s}.rank-bar-segment.extended-low{border-color:color-mix(in srgb, #9b7cf0 35%, var(--border));margin-right:.3rem}.rank-bar-segment.extended-high{border-color:color-mix(in srgb, #ffcb47 35%, var(--border));margin-left:.3rem}.rank-bar-segment.filled{background:var(--char-accent,var(--accent));border-color:var(--char-accent,var(--accent))}.rank-bar-segment.filled.extended-low{background:#9b7cf0;border-color:#9b7cf0;box-shadow:0 0 8px #9b7cf08c}.rank-bar-segment.filled.extended-high{background:#ffcb47;border-color:#ffcb47;box-shadow:0 0 8px #ffcb4799}.rank-bar-grade{text-align:right;min-width:2rem;font-family:var(--mono);color:var(--text);flex:none;font-size:.78rem;font-weight:700;transition:color .3s}.rank-bar-grade.extended-low{color:#9b7cf0}.rank-bar-grade.extended-high{color:#ffcb47}.feature-item{margin:0 0 .4rem}.feature-item:last-child{margin-bottom:0}.feature-name{font-family:var(--mono);color:var(--text);font-size:.85rem;font-weight:700}.feature-name:before{content:"✦";color:var(--char-accent,var(--accent));margin-right:.5rem;font-size:.7rem}.feature-description{color:var(--text-muted);margin:.2rem 0 0 1.2rem;font-size:.8rem;line-height:1.5}@media (width<=920px){.ranked-row-label{flex-basis:4.5rem}.rank-bar-segment{max-width:.85rem}.stat-row-label{flex-basis:4.5rem}.circular-meter svg{width:3.4rem;height:3.4rem}.radar-chart{max-width:11rem}}.variant-slot{opacity:0;pointer-events:none;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .25s;position:absolute;top:0;left:0}.variant-slot.visible{opacity:1;pointer-events:auto}.roster-variant{cursor:pointer;width:100%;height:100%;color:var(--text-sub);font-family:var(--mono);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:.7rem;font-weight:700;transition:transform .2s,filter .2s;display:flex;position:relative;transform:scale(1)rotate(0)}.roster-variant:before,.roster-variant:after{content:"";clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);position:absolute}.roster-variant:before{background:var(--border);transition:background-color .15s;inset:0}.roster-variant:after{background:var(--bg2);transition:background-color .15s;inset:1.5px}.roster-variant span{z-index:1;transition:color .15s;position:relative}.roster-variant:hover:before,.roster-variant:focus-visible:before{background:var(--char-accent,var(--accent))}.roster-variant:focus-visible{outline:none}.roster-variant.active{filter:drop-shadow(0 0 8px color-mix(in srgb, var(--char-accent,var(--accent)) 55%, transparent));transform:scale(1.12)rotate(0)}.roster-variant.active:after{background:var(--char-accent,var(--accent))}.roster-variant.active span{color:#05131a}.dev-variant-shape-triangle .roster-variant:before,.dev-variant-shape-triangle .roster-variant:after{clip-path:polygon(50% 0%,100% 100%,0% 100%)}
