:root{--void: #07060f;--void-2: #0d0b1c;--teal: #19f0d8;--magenta: #e33ff2;--gold: #ffc85c;--ink: #e9e6ff;--ink-dim: #9d97c4;--pad: clamp(14px, 2.2vmin, 26px);--radius: clamp(10px, 1.6vmin, 18px);--tap: 46px;--font: "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--void);color:var(--ink);font-family:var(--font);overscroll-behavior:none;touch-action:none}#stage{position:fixed;inset:0;width:100%;height:100%;display:block}.ui{position:fixed;inset:0;display:grid;pointer-events:none;z-index:2}.ui>*{grid-area:1 / 1}.screen{display:grid;align-content:center;justify-items:center;gap:var(--pad);padding:calc(var(--pad) + var(--safe-t)) calc(var(--pad) + var(--safe-r)) calc(var(--pad) + var(--safe-b)) calc(var(--pad) + var(--safe-l));opacity:0;transform:translateY(14px) scale(.985);transition:opacity .42s cubic-bezier(.16,1,.3,1),transform .42s cubic-bezier(.16,1,.3,1),filter .42s ease;filter:blur(6px);pointer-events:none;overflow-y:auto;overscroll-behavior:contain}.screen[data-active=true]{opacity:1;transform:none;filter:none;pointer-events:auto}.screen[hidden]{display:none}.title{text-align:center;display:grid;gap:.15em;margin-bottom:clamp(4px,1.4vmin,18px)}.title h1{margin:0;font-size:clamp(2.4rem,9.5vmin,6.4rem);font-weight:200;letter-spacing:clamp(.09em,1.1vmin,.24em);line-height:.98;background:linear-gradient(100deg,var(--teal),var(--magenta) 52%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px rgba(227,63,242,.35));animation:hue 14s ease-in-out infinite}@keyframes hue{0%,to{filter:drop-shadow(0 0 22px rgba(25,240,216,.34))}50%{filter:drop-shadow(0 0 34px rgba(255,200,92,.34))}}.title p{margin:0;font-size:clamp(.7rem,1.7vmin,.95rem);letter-spacing:.36em;text-transform:uppercase;color:var(--ink-dim)}.panel{width:min(560px,100%);display:grid;gap:clamp(8px,1.4vmin,14px);padding:clamp(14px,2.4vmin,26px);border-radius:var(--radius);background:linear-gradient(160deg,#19f0d80f,#e33ff20d);border:1px solid rgba(233,230,255,.13);backdrop-filter:blur(16px) saturate(1.25);-webkit-backdrop-filter:blur(16px) saturate(1.25);box-shadow:0 20px 60px #0000008c,inset 0 1px #ffffff12}.panel h2{margin:0 0 .2em;font-size:clamp(.78rem,1.8vmin,1rem);font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--teal)}.btn{appearance:none;min-height:var(--tap);padding:0 clamp(16px,2.6vmin,30px);border-radius:calc(var(--radius) * .8);border:1px solid rgba(233,230,255,.2);background:#0d0b1c8c;color:var(--ink);font:inherit;font-size:clamp(.92rem,2.1vmin,1.1rem);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.6em;position:relative;overflow:hidden;transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,background .18s ease,box-shadow .18s ease}.btn:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#19f0d838,#e33ff238);opacity:0;transition:opacity .2s ease}.btn:hover,.btn:focus-visible{border-color:#19f0d8a6;box-shadow:0 0 0 1px #19f0d84d,0 12px 34px #19f0d829;outline:none;transform:translateY(-1px)}.btn:hover:after,.btn:focus-visible:after{opacity:1}.btn:active{transform:translateY(1px) scale(.99)}.btn>span{position:relative;z-index:1}.btn--primary{border-color:#19f0d880;background:linear-gradient(100deg,#19f0d829,#e33ff229);font-size:clamp(1rem,2.5vmin,1.3rem);min-height:calc(var(--tap) + 8px)}.btn--ghost{background:transparent;border-color:#e9e6ff24;font-size:clamp(.78rem,1.8vmin,.95rem)}.menu-actions{display:grid;gap:clamp(8px,1.4vmin,14px);width:min(380px,100%)}.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,44%);align-items:center;gap:clamp(8px,1.6vmin,18px);min-height:var(--tap)}.row>label{font-size:clamp(.78rem,1.75vmin,.95rem);letter-spacing:.08em;color:var(--ink-dim)}.row output{font-family:var(--mono);font-size:clamp(.7rem,1.6vmin,.85rem);color:var(--teal);text-align:right;min-width:3.4em}.row--slider{grid-template-columns:minmax(0,1fr) minmax(110px,40%) auto}input[type=range]{appearance:none;width:100%;height:var(--tap);background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--teal),var(--magenta));opacity:.75}input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--ink);box-shadow:0 0 14px #19f0d8cc}input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,var(--teal),var(--magenta))}input[type=range]::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:var(--ink);box-shadow:0 0 14px #19f0d8cc}input[type=range]:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:6px}.seg{display:grid;grid-auto-flow:column;gap:4px;padding:4px;border-radius:calc(var(--radius) * .7);background:#0d0b1c99;border:1px solid rgba(233,230,255,.12)}.seg button{appearance:none;border:0;background:transparent;color:var(--ink-dim);font:inherit;font-size:clamp(.66rem,1.5vmin,.8rem);letter-spacing:.12em;text-transform:uppercase;min-height:calc(var(--tap) - 12px);padding:0 clamp(6px,1.4vmin,14px);border-radius:calc(var(--radius) * .5);cursor:pointer;transition:color .16s ease,background .16s ease}.seg button[aria-pressed=true]{color:var(--void);background:linear-gradient(100deg,var(--teal),var(--magenta));font-weight:600}.seg button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.hud{pointer-events:none;display:grid;grid-template-rows:auto 1fr auto;padding:calc(var(--pad) + var(--safe-t)) calc(var(--pad) + var(--safe-r)) calc(var(--pad) + var(--safe-b)) calc(var(--pad) + var(--safe-l));opacity:0;transition:opacity .4s ease}.hud[data-active=true]{opacity:1}.hud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--pad);flex-wrap:wrap}.hud-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--pad);flex-wrap:wrap}.readout{display:grid;gap:2px;font-family:var(--mono)}.readout .k{font-size:clamp(.52rem,1.25vmin,.66rem);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-dim)}.readout .v{font-size:clamp(1.1rem,3.4vmin,2rem);font-weight:300;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;text-shadow:0 0 18px rgba(25,240,216,.45)}.readout--right{text-align:right;justify-items:end}.bloom{display:flex;gap:clamp(3px,.8vmin,7px);align-items:center}.bloom i{display:block;width:clamp(9px,2.1vmin,15px);height:clamp(9px,2.1vmin,15px);border-radius:3px;background:#e9e6ff24;transform:rotate(45deg);transition:background .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}.bloom i[data-on=true]{background:linear-gradient(140deg,var(--teal),var(--magenta));box-shadow:0 0 14px #19f0d8b3;transform:rotate(45deg) scale(1.16)}.meter{width:min(240px,42vw);height:6px;border-radius:3px;background:#e9e6ff1f;overflow:hidden}.meter>i{display:block;height:100%;width:100%;transform-origin:left center;background:linear-gradient(90deg,var(--teal),var(--magenta));transition:transform .18s ease}.meter--boss{width:min(560px,76vw);height:9px}.meter--boss>i{background:linear-gradient(90deg,var(--magenta),var(--gold))}.boss-bar{display:none;justify-items:center;gap:6px;text-align:center}.boss-bar[data-active=true]{display:grid}.boss-bar .k{font-family:var(--mono);font-size:clamp(.55rem,1.3vmin,.7rem);letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}.locks{display:flex;gap:clamp(3px,.8vmin,6px)}.locks i{width:clamp(5px,1.2vmin,8px);height:clamp(16px,3.4vmin,26px);border-radius:2px;background:#e9e6ff29;transition:background .12s ease,box-shadow .12s ease}.locks i[data-on=true]{background:var(--gold);box-shadow:0 0 12px var(--gold)}.toast{position:absolute;left:50%;top:26%;transform:translate(-50%,-50%);font-size:clamp(1.1rem,4.4vmin,2.4rem);font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 34px rgba(255,200,92,.6);opacity:0;pointer-events:none;white-space:nowrap}.toast[data-show=true]{animation:toast 1.5s cubic-bezier(.16,1,.3,1)}@keyframes toast{0%{opacity:0;transform:translate(-50%,-50%) scale(.86);letter-spacing:.6em}22%{opacity:1;transform:translate(-50%,-50%) scale(1);letter-spacing:.3em}76%{opacity:1}to{opacity:0;transform:translate(-50%,-56%) scale(1.02)}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:clamp(8px,1.6vmin,16px);width:100%}.stat{display:grid;gap:3px;padding:clamp(9px,1.6vmin,15px);border-radius:calc(var(--radius) * .7);background:#0d0b1c80;border:1px solid rgba(233,230,255,.1)}.stat .k{font-family:var(--mono);font-size:clamp(.5rem,1.2vmin,.64rem);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-dim)}.stat .v{font-size:clamp(1rem,2.9vmin,1.6rem);font-weight:300;font-variant-numeric:tabular-nums;color:var(--teal)}.help{display:grid;gap:clamp(6px,1.2vmin,12px);font-size:clamp(.78rem,1.8vmin,.95rem);line-height:1.55;color:var(--ink-dim)}.help b{color:var(--ink);font-weight:500}.help kbd{font-family:var(--mono);font-size:.85em;padding:2px 7px;border-radius:5px;background:#e9e6ff1a;border:1px solid rgba(233,230,255,.16);color:var(--ink)}.hint{font-family:var(--mono);font-size:clamp(.56rem,1.3vmin,.72rem);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);text-align:center}.touchpad{position:fixed;inset:0;z-index:1;touch-action:none;display:none}.touchpad[data-active=true]{display:block}@media (prefers-reduced-motion: reduce){.screen,.btn,.bloom i{transition-duration:1ms}.title h1{animation:none}.toast[data-show=true]{animation-duration:.6s}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-height: 460px){:root{--pad: 10px;--tap: 40px}.title h1{font-size:clamp(1.6rem,7vmin,2.6rem)}.screen{align-content:start}}.pips{display:flex;gap:clamp(4px,1vmin,8px);align-items:center;min-height:22px}.pips i{display:block;width:clamp(11px,2.4vmin,17px);height:clamp(11px,2.4vmin,17px);border-radius:50%;background:#e9e6ff24;box-shadow:inset 0 0 0 1px #e9e6ff2e;transition:background .2s ease,box-shadow .2s ease,transform .2s cubic-bezier(.16,1,.3,1)}.pips i[data-on=true]{background:radial-gradient(circle at 35% 30%,var(--gold),var(--magenta));box-shadow:0 0 14px #ffc85cbf;transform:scale(1.08)}.meter--orb{width:min(190px,34vw);height:4px}.meter--orb>i{background:linear-gradient(90deg,var(--gold),var(--teal))}.orb-readout{gap:4px}.orb-panel .orb-row{display:flex;align-items:center;justify-content:space-between;gap:var(--pad);flex-wrap:wrap}.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(8px,1.4vmin,14px)}.level-btn{appearance:none;display:grid;gap:3px;text-align:left;min-height:var(--tap);padding:clamp(9px,1.6vmin,14px);border-radius:calc(var(--radius) * .7);border:1px solid rgba(233,230,255,.14);background:#0d0b1c8c;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s cubic-bezier(.16,1,.3,1)}.level-btn .k{font-family:var(--mono);font-size:clamp(.52rem,1.2vmin,.66rem);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim)}.level-btn .v{font-size:clamp(.86rem,2vmin,1.05rem);font-weight:300}.level-btn .lock{font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--magenta)}.level-btn[aria-pressed=true]{border-color:#19f0d899;background:linear-gradient(100deg,#19f0d829,#e33ff224)}.level-btn:hover:not(:disabled),.level-btn:focus-visible{border-color:#19f0d880;transform:translateY(-1px);outline:none}.level-btn:disabled{opacity:.45;cursor:not-allowed}.ability{appearance:none;pointer-events:auto;min-height:var(--tap);min-width:var(--tap);padding:0 clamp(12px,2.2vmin,22px);border-radius:999px;border:1px solid rgba(255,200,92,.35);background:#0d0b1c99;color:var(--ink-dim);font:inherit;font-size:clamp(.62rem,1.5vmin,.78rem);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .16s ease}.ability[data-ready=true]{color:var(--gold);border-color:var(--gold);box-shadow:0 0 18px #ffc85c66}.ability[data-active=true]{color:var(--void);background:linear-gradient(100deg,var(--gold),var(--teal));border-color:transparent;transform:scale(1.04)}.ability[hidden]{display:none}.namecard{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;text-align:center;opacity:0;pointer-events:none;white-space:nowrap}.namecard[data-show=true]{animation:namecard 2.3s cubic-bezier(.16,1,.3,1)}.namecard-k{font-family:var(--mono);font-size:clamp(.55rem,1.3vmin,.72rem);letter-spacing:.42em;text-transform:uppercase;color:var(--teal)}.namecard-name{font-size:clamp(1.6rem,6vmin,3.4rem);font-weight:200;letter-spacing:.16em;background:linear-gradient(100deg,var(--teal),var(--magenta) 55%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(255,200,92,.45))}.namecard-sub{font-family:var(--mono);font-size:clamp(.55rem,1.3vmin,.74rem);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}@keyframes namecard{0%{opacity:0;transform:translate(-50%,-50%) scale(.9);filter:blur(8px)}14%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}78%{opacity:1}to{opacity:0;transform:translate(-50%,-54%) scale(1.03);filter:blur(4px)}}@media (prefers-reduced-motion: reduce){.namecard[data-show=true]{animation-duration:1.2s}}.superpower{appearance:none;pointer-events:auto;display:grid;gap:5px;justify-items:center;min-height:var(--tap);padding:6px clamp(12px,2.2vmin,22px);border-radius:calc(var(--radius) * .8);border:1px solid rgba(233,230,255,.2);background:#0d0b1c99;color:var(--ink-dim);font:inherit;cursor:pointer;transition:color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .16s ease}.super-name{font-size:clamp(.62rem,1.5vmin,.78rem);letter-spacing:.2em;text-transform:uppercase}.super-meter{display:block;width:clamp(58px,12vmin,96px);height:4px;border-radius:2px;background:#e9e6ff24;overflow:hidden}.super-meter>i{display:block;height:100%;width:100%;transform-origin:left center;transform:scaleX(0);background:linear-gradient(90deg,var(--magenta),var(--gold));transition:transform .22s cubic-bezier(.16,1,.3,1)}.superpower[data-ready=true]{color:var(--gold);border-color:var(--gold);box-shadow:0 0 20px #ffc85c66}.superpower[data-active=true]{color:var(--void);background:linear-gradient(100deg,var(--gold),var(--magenta));border-color:transparent;transform:scale(1.05)}
