:root{--ink:#e9fbff;--dim:#e9fbff85;--faint:#e9fbff2e;--accent:#2fe6d0;--font:"Inter", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", "Cascadia Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);background:#020507;margin:0;overflow:hidden}canvas#view{cursor:none;touch-action:none;outline:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#hud{pointer-events:none;user-select:none;position:fixed;inset:0}canvas.pixel-popups{pointer-events:none;width:100vw;height:100vh;image-rendering:pixelated;position:fixed;inset:0}body.panel-open canvas.pixel-popups,body.at-title canvas.pixel-popups{opacity:0}.hud-tl{position:absolute;top:clamp(18px,3vh,40px);left:clamp(20px,3vw,48px)}.hud-tr{text-align:right;position:absolute;top:clamp(18px,3vh,40px);right:clamp(20px,3vw,48px)}.hud-label{letter-spacing:.38em;text-transform:uppercase;color:var(--dim);font-size:11px}.hud-label b{color:var(--ink);letter-spacing:.3em;font-weight:600}.hud-score{letter-spacing:.04em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:clamp(30px,3.2vw,52px);font-weight:200;line-height:1}.hud-lives{justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.hud-life{border:1px solid var(--ink);width:10px;height:10px;transform:rotate(45deg);box-shadow:0 0 10px #2fe6d099}.hud-life.on{background:var(--ink)}.hud-combo{text-align:center;opacity:0;transition:opacity .25s;position:absolute;top:clamp(18px,3vh,40px);left:50%;transform:translate(-50%)}.hud-combo.on{opacity:1}.hud-combo .n{font-variant-numeric:tabular-nums;font-size:clamp(26px,2.6vw,42px);font-weight:300}.hud-tones{align-items:center;gap:14px;display:flex;position:absolute;bottom:clamp(16px,2.6vh,32px);left:50%;transform:translate(-50%)}.hud-tone{opacity:.35;border:1px solid;border-radius:50%;width:12px;height:12px;transition:all .18s}.hud-tone.on{opacity:1;background:currentColor;width:18px;height:18px;box-shadow:0 0 16px,inset 0 0 3px #fff}.hud-hint{letter-spacing:.32em;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:12px;transition:opacity .4s;position:absolute;bottom:13vh;left:50%;transform:translate(-50%)}.hud-hint kbd{font-family:var(--mono);color:var(--ink);border:1px solid var(--faint);letter-spacing:0;border-radius:3px;padding:1px 6px;font-size:11px}.hud-banner{text-align:center;opacity:0;letter-spacing:.5em;text-transform:uppercase;font-size:clamp(22px,2.4vw,38px);font-weight:200;transition:opacity .5s,letter-spacing .8s;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.hud-banner.on{opacity:1;letter-spacing:.7em}.hud-subtitle{letter-spacing:.12em;color:var(--ink);text-shadow:0 0 12px #000000e6;opacity:0;font-size:14px;transition:opacity .3s;position:absolute;bottom:20vh;left:50%;transform:translate(-50%)}.hud-subtitle.on{opacity:1}#overlay{pointer-events:none;position:fixed;inset:0}.fatal{pointer-events:auto;background:radial-gradient(at 50% 40%,#0b2a33 0%,#020507 70%);place-items:center;display:grid;position:fixed;inset:0}.fatal-card{text-align:center;max-width:560px;padding:40px}.fatal-card h1{letter-spacing:.6em;margin:0 0 18px;font-weight:200}.fatal-card p{color:var(--dim);line-height:1.6}.debug{font:11px/1.5 var(--mono);color:#bff;white-space:pre;pointer-events:none;background:#000a0eb8;border:1px solid #78fff026;padding:8px 10px;position:fixed;bottom:12px;left:12px}.hud-shards{letter-spacing:.08em;color:var(--ink);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:7px;margin-top:12px;font-size:13px;display:flex}.hud-shards i,.panel .shards i{background:linear-gradient(135deg,#b9fff6,#2fe6d0);width:9px;height:9px;display:inline-block;transform:rotate(45deg);box-shadow:0 0 8px #2fe6d0b3}.hud-chips{flex-direction:column-reverse;gap:8px;display:flex;position:absolute;bottom:clamp(18px,3vh,40px);left:clamp(20px,3vw,48px)}.hud-chip{background:linear-gradient(90deg,#041014c7,#04101459);border:1px solid #a0fff01f;border-radius:22px;align-items:center;gap:10px;min-width:190px;padding:5px 12px 5px 6px;animation:.35s ease-out chip-in;display:flex}.hud-chip svg{flex:none}.hud-chip .t{flex:1}.hud-chip .nm{letter-spacing:.14em;text-transform:uppercase;color:var(--ink);font-size:11px}.hud-chip .bar{background:#ffffff1a;border-radius:1px;height:2px;margin-top:5px;overflow:hidden}.hud-chip .bar i{color:#7ff3e4;transform-origin:0;background:currentColor;height:100%;transition:transform .1s linear;display:block}.hud-chip.combination{border-color:#ffd27873}.hud-chip.combination .bar i{color:#ffd37a}.hud-chip.ending .bar i{animation:.4s steps(2,end) infinite blink}.hud-chip .ct{font-variant-numeric:tabular-nums;color:var(--dim);text-align:right;min-width:18px;font-size:12px}@keyframes chip-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:.25}}.hud-ability{opacity:.55;width:72px;height:72px;transition:opacity .25s,filter .25s;position:absolute;bottom:clamp(18px,3vh,40px);right:clamp(20px,3vw,48px)}.hud-ability.ready{opacity:1;filter:drop-shadow(0 0 10px #7ff3e48c)}.hud-energy{position:absolute;inset:0;transform:rotate(-90deg)}.hud-energy circle{fill:none;stroke-width:3px}.hud-energy .track{stroke:#ffffff1a}.hud-energy .fill{stroke:#7ff3e4;stroke-linecap:round;transition:stroke-dashoffset .2s}.hud-ability-icon{line-height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-ability-key{font:10px/1 var(--mono);letter-spacing:.1em;color:var(--dim);position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.hud-ability:after{content:attr(data-state);font:10px/1 var(--mono);color:var(--dim);position:absolute;top:-6px;right:-6px}.hud-toasts{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:clamp(120px,16vh,170px);right:clamp(20px,3vw,48px)}.hud-toast{letter-spacing:.2em;text-transform:uppercase;opacity:0;white-space:nowrap;background:#041014b3;border:1px solid #a0fff026;border-radius:20px;align-items:center;gap:10px;padding:6px 16px 6px 8px;font-size:11px;transition:opacity .3s,transform .3s;display:flex;transform:translate(10px)}.hud-toast.on{opacity:1;transform:none}.hud-toast.discovery{color:#ffe2a6;border-color:#ffd27880;padding:9px 20px 9px 10px}.hud-toast small{letter-spacing:.3em;color:var(--dim);font-size:9px;display:block}body.panel-open canvas#view{cursor:default;filter:blur(2px)brightness(.6);transition:filter .25s}.panel{pointer-events:auto;scrollbar-color:#7ff3e44d transparent;scrollbar-width:thin;background:radial-gradient(at 50% 0,#0a28308c,#020507d1 70%);display:none;position:fixed;inset:0;overflow-y:auto}.panel.on{animation:.25s ease-out fade;display:block}@keyframes fade{0%{opacity:0}}.panel-inner{max-width:1180px;margin:0 auto;padding:clamp(24px,5vh,56px) clamp(16px,4vw,48px) 64px}.panel header{align-items:center;gap:24px;margin-bottom:8px;display:flex}.panel h2{letter-spacing:.6em;text-transform:uppercase;flex:1;margin:0;font-size:26px;font-weight:200}.panel .shards{letter-spacing:.08em;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:14px;display:flex}.panel h3{letter-spacing:.36em;text-transform:uppercase;color:var(--ink);align-items:baseline;gap:14px;margin:34px 0 12px;font-size:12px;font-weight:400;display:flex}.panel h3 small{letter-spacing:.06em;text-transform:none;color:var(--dim);font-size:11px}.panel .cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.panel .card{background:linear-gradient(160deg,#0e2228bf,#050c0fcc);border:1px solid #a0fff01a;border-radius:10px;gap:14px;padding:14px;display:flex}.panel .card.locked{opacity:.62}.panel .card.locked .ic{filter:grayscale(.8)}.panel .card .ic{flex:none;line-height:0}.panel .card .bd{flex:1;min-width:0}.panel .card .nm{letter-spacing:.06em;font-size:14px}.panel .card .meta{font:10px/1.6 var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.panel .card .ds{color:#e9fbffbf;margin:6px 0 10px;font-size:12px;line-height:1.5}.panel .card .ft{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.panel .card .st{color:var(--dim);font-size:11px}.panel .card .st .ok{color:#7ff3e4}.panel .card .st .lvl{color:#7ff3e4;letter-spacing:.1em}.panel .cost:before{content:"";background:#7ff3e4;width:7px;height:7px;margin-right:6px;display:inline-block;transform:rotate(45deg)}.panel button{font:11px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer;background:#7ff3e414;border:1px solid #7ff3e459;border-radius:16px;padding:7px 13px;transition:background .15s,border-color .15s}.panel button:hover:not(:disabled){background:#7ff3e433}.panel button:focus-visible{outline-offset:2px;outline:2px solid #7ff3e4}.panel button.on{background:#7ff3e447;border-color:#7ff3e4}.panel button:disabled{opacity:.35;cursor:default}.panel button.x{background:0 0;border-color:#fff3}.panel .bt{gap:6px;display:flex}.panel .disc{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.panel .disc div{background:#281e0a59;border:1px solid #ffd27840;border-radius:8px;padding:10px 14px}.panel .disc b{color:#ffe2a6;letter-spacing:.08em;font-weight:400;display:block}.panel .disc span{color:var(--dim);font-size:11px}.panel .disc em{color:var(--dim);font-size:12px}.hud-obj{letter-spacing:.22em;text-transform:uppercase;color:var(--dim);font-variant-numeric:tabular-nums;min-height:14px;margin-top:8px;font-size:11px}.hud-obj i{opacity:.5;margin:0 8px;font-style:normal}.hud-obj .warn{color:#ff8a9e}.hud-boss{text-align:center;opacity:0;width:min(460px,46vw);transition:opacity .5s,transform .5s;position:absolute;top:clamp(16px,2.6vh,34px);left:50%;transform:translate(-50%,-8px)}.hud-boss.on{opacity:1;transform:translate(-50%)}.hud-boss .nm{letter-spacing:.5em;text-transform:uppercase;color:var(--ink);margin-bottom:7px;font-size:11px}.hud-boss .bar{background:#ffffff14;border-radius:2px;height:4px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f}.hud-boss .bar i{transform-origin:0;border-radius:2px;position:absolute;inset:0}.hud-boss .bar .dmg{background:#ffffff59}.hud-boss .bar .hp{background:linear-gradient(90deg,#b9c6cc,#f2fbff);transition:background .25s}.hud-boss .bar b{background:#020507;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.hud-boss.open .bar .hp{background:linear-gradient(90deg,#ffd37a,#fff3d0);box-shadow:0 0 12px #ffd37a}.hud-boss.open .nm{color:#ffe2a6}.hud-boss.cue .st{animation:.3s steps(2,end) infinite blink}.hud-boss.beaten{opacity:.4}.hud-boss .st{letter-spacing:.26em;text-transform:uppercase;color:var(--dim);justify-content:center;align-items:center;gap:8px;margin-top:7px;font-size:10px;display:flex}.hud-boss .st small{letter-spacing:.3em;opacity:.7;margin-left:8px;font-size:9px}.hud-boss .tn{background:currentColor;border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:0 0 8px}#hud:has(.hud-boss.on) .hud-combo{top:clamp(84px,11vh,110px)}.lv-intro{text-align:center;opacity:0;pointer-events:none;text-shadow:0 0 18px #000000e6;width:min(620px,86vw);transition:opacity .9s,transform 1.2s cubic-bezier(.2,.7,.2,1);position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)translateY(14px)}.lv-intro.on{opacity:1;transition-duration:.6s,.9s;transform:translate(-50%,-50%)}.lv-world{letter-spacing:.46em;text-transform:uppercase;color:var(--dim);font-size:11px}.lv-num{font-size:13px;font-family:var(--mono);color:var(--accent);letter-spacing:.3em;margin-top:18px}.lv-intro h1{letter-spacing:.32em;text-transform:uppercase;margin:6px 0 4px;padding-left:.32em;font-size:clamp(30px,4vw,54px);font-weight:200}.lv-arch{letter-spacing:.5em;text-transform:uppercase;color:var(--accent);font-size:10px}.lv-intro p{color:#e9fbffdb;max-width:520px;margin:20px auto 0;font-size:15px;line-height:1.6}.lv-obj{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;display:flex}.lv-obj span{letter-spacing:.3em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--accent) 50%, transparent);background:#02080a80;border-radius:16px;padding:7px 14px;font-size:10px}.lv-results{opacity:0;pointer-events:none;background:radial-gradient(at 50% 45%,#02060840,#020507bf);place-items:center;transition:opacity .5s;display:grid;position:absolute;inset:0}.lv-results.on{opacity:1;pointer-events:auto}.lv-results .card{text-align:center;border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);width:min(440px,88vw);box-shadow:0 0 60px color-mix(in srgb, var(--accent) 14%, transparent);background:linear-gradient(170deg,#0e2228db,#040a0deb);border-radius:14px;padding:34px 36px 30px;transition:transform .6s cubic-bezier(.2,.7,.2,1);transform:translateY(10px)}.lv-results.on .card{transform:none}.lv-results h2{letter-spacing:.55em;text-transform:uppercase;color:var(--accent);margin:14px 0 6px;padding-left:.55em;font-size:34px;font-weight:200}.lv-results p{color:var(--dim);margin:0 0 22px;font-size:13px}.lv-results .stats{gap:8px;margin-bottom:26px;display:grid}.lv-results .row{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);align-items:baseline;gap:10px;font-size:12px;display:flex}.lv-results .row span{text-align:left;flex:1}.lv-results .row b{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:15px;font-weight:400}.lv-results .row em{color:#020507;background:var(--accent);letter-spacing:.2em;border-radius:8px;padding:2px 7px;font-size:9px;font-style:normal}.lv-results .acts{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lv-results button,.panel.levels header button{font:11px/1 var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:pointer;background:#ffffff0a;border:1px solid #fff3;border-radius:18px;padding:9px 15px}.lv-results button.primary{background:color-mix(in srgb, var(--accent) 22%, transparent);border-color:var(--accent)}.lv-results button:hover{background:color-mix(in srgb, var(--accent) 30%, transparent)}.lv-results kbd,.panel.levels kbd{font-family:var(--mono);color:var(--dim);letter-spacing:0;margin-left:6px;font-size:9px}.panel.levels h3{--accent:#7ff3e4;color:var(--accent)}.panel.levels h3 .tones{gap:5px;margin-left:auto;display:inline-flex}.panel.levels h3 .tones i{border-radius:50%;width:8px;height:8px}.lv-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.lv-tile{text-align:left;cursor:pointer;color:var(--ink);font-family:var(--font);background:linear-gradient(160deg,#0e2228bf,#050c0fcc);border:1px solid #a0fff01a;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;gap:3px 12px;padding:12px 14px;transition:border-color .15s,transform .15s;display:grid}.lv-tile:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.lv-tile:disabled{opacity:.35;cursor:default}.lv-tile .n{font:20px/1 var(--mono);color:var(--accent);grid-row:span 2;align-self:center}.lv-tile .nm{letter-spacing:.08em;font-size:13px}.lv-tile .ar{letter-spacing:.24em;text-transform:uppercase;color:var(--dim);font-size:9px}.lv-tile.done{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.lv-tile.done .nm:after{content:" ✓";color:var(--accent)}.lv-tile.boss .n:after{content:"◆";vertical-align:top;margin-left:3px;font-size:9px}body:has(.lv-results.on) .hud-banner,body.panel-open .lv-intro,body:has(.lv-results.on) .lv-intro{opacity:0}body:has(.lv-results.on) .hud-hint,body.panel-open .hud-hint{opacity:0!important}.style-pick{flex-wrap:wrap;align-items:stretch;gap:10px;margin:18px 0 4px;display:flex}.style-pick>span{letter-spacing:.3em;text-transform:uppercase;color:var(--dim);flex-basis:100%;font-size:11px}.style-pick .sty{text-align:left;cursor:pointer;color:var(--ink);font-family:var(--font);text-transform:none;letter-spacing:0;background:#ffffff08;border:1px solid #a0fff01f;border-radius:10px;flex-direction:column;flex:200px;gap:4px;padding:12px 14px;display:flex}.style-pick .sty b{letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:500}.style-pick .sty small{color:var(--dim);font-size:11px;line-height:1.4}.style-pick .sty.on{background:#7ff3e41f;border-color:#7ff3e4}.style-pick .sty-resonance b{background:linear-gradient(90deg,#22d8c8,#ffa63d,#ff5c7a,#9a7cff);color:#0000;-webkit-background-clip:text;background-clip:text}.style-pick .sty-muted b{color:#b9c4c6}.style-pick .sty-pixel b{font-family:"Silkscreen", var(--mono);letter-spacing:.06em;color:#ffd37a}body[data-style=pixel]{--font:"Pixelify Sans", "Silkscreen", var(--mono)}body[data-style=pixel] .hud-label,body[data-style=pixel] .hud-obj,body[data-style=pixel] .hud-hint,body[data-style=pixel] .hud-boss .nm,body[data-style=pixel] .hud-boss .st,body[data-style=pixel] .lv-world,body[data-style=pixel] .lv-arch,body[data-style=pixel] .lv-obj span,body[data-style=pixel] .hud-toast{letter-spacing:.12em}body[data-style=pixel] .hud-score,body[data-style=pixel] .hud-combo .n{font-family:"Silkscreen", var(--mono);letter-spacing:0;font-weight:400}body[data-style=pixel] .lv-intro h1,body[data-style=pixel] .lv-results h2,body[data-style=pixel] .panel h2,body[data-style=pixel] .hud-banner{font-family:"Silkscreen", var(--mono);letter-spacing:.12em;padding-left:.12em;font-weight:400}body[data-style=pixel] .hud-chip,body[data-style=pixel] .hud-toast,body[data-style=pixel] .lv-results .card,body[data-style=pixel] .lv-tile,body[data-style=pixel] .panel .card,body[data-style=pixel] button,body[data-style=pixel] .lv-obj span,body[data-style=pixel] .style-pick .sty{border-radius:0!important}body[data-style=pixel] .lv-results .card{border-width:2px;box-shadow:6px 6px #0009}body[data-style=pixel] .hud-tone,body[data-style=pixel] .hud-boss .tn{border-radius:0}body[data-style=pixel] .hud-boss .bar,body[data-style=pixel] .hud-boss .bar i{border-radius:0;height:6px}body[data-style=pixel] .hud-boss .bar{height:6px}body[data-style=muted] .hud-tone.on{box-shadow:0 0 6px}body[data-style=muted] .hud-life{box-shadow:none}.panel.settings .panel-inner{max-width:920px}.panel.settings header button{margin-left:0}.panel.levels header{flex-wrap:wrap}.panel.settings h3{margin-top:38px}.panel.settings h3 .preset-state{letter-spacing:.1em;align-items:center;gap:10px;margin-left:auto;display:inline-flex}.panel.settings h3 .custom{color:#ffd37a;letter-spacing:.24em;font-size:11px}.panel.settings h3 .preset-state button{padding:5px 10px;font-size:10px}.preset-pick{margin-top:0}.preset-pick .sty{flex-basis:150px}.rows{border-top:1px solid #a0fff014;flex-direction:column;margin-top:14px;display:flex}.row{border-bottom:1px solid #a0fff014;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 28px;padding:13px 2px;display:flex}.row .lb{flex:260px;min-width:0}.row .lb b{letter-spacing:.08em;font-size:13px;font-weight:500;display:block}.row .lb small{color:var(--dim);margin-top:3px;font-size:11.5px;line-height:1.45;display:block}.row .ctl{flex:none;align-items:center;display:flex}.row.dim .ctl{opacity:.45}.seg{border:1px solid #7ff3e44d;border-radius:18px;display:inline-flex;overflow:hidden}.panel .seg button{background:0 0;border:0;border-radius:0;min-width:64px;padding:8px 14px}.panel .seg button+button{border-left:1px solid #7ff3e42e}.panel .seg button.on{color:#fff;background:#7ff3e43d}.panel button.sw{background:#ffffff0f;border-color:#ffffff40;border-radius:13px;width:46px;height:26px;padding:0;position:relative}.panel button.sw i{background:#e9fbff8c;border-radius:50%;width:18px;height:18px;transition:transform .18s,background .18s;position:absolute;top:3px;left:3px}.panel button.sw.on{background:#7ff3e44d;border-color:#7ff3e4}.panel button.sw.on i{background:#e9fbff;transform:translate(20px);box-shadow:0 0 10px #7ff3e4cc}.rng{align-items:center;gap:12px;display:inline-flex}.rng input{accent-color:#7ff3e4;cursor:pointer;width:min(220px,52vw)}.rng output{text-align:right;min-width:42px;font:12px/1 var(--mono);color:var(--ink)}.panel .note{color:var(--dim);background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;margin:14px 0 0;padding:11px 14px;font-size:12px;line-height:1.5}.panel .note code{font:11px var(--mono);color:var(--ink)}.panel .note.warn{color:#ffe2a6;background:#3c280859;border-color:#ffd2784d;flex-wrap:wrap;align-items:center;gap:16px;display:flex}.panel .note.warn span{flex:280px}.panel kbd{font-family:var(--mono);border:1px solid var(--faint);letter-spacing:0;border-radius:3px;margin-left:4px;padding:1px 5px;font-size:10px}body[data-style=pixel] .seg,body[data-style=pixel] .panel button.sw,body[data-style=pixel] .panel button.sw i,body[data-style=pixel] .panel .note{border-radius:0!important}.hud-gear{pointer-events:auto;width:30px;height:30px;color:var(--dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;margin:-6px -6px 6px 0;padding:0;transition:color .15s,border-color .15s,background .15s;display:inline-grid}.hud-gear:hover,.hud-gear:focus-visible{color:var(--ink);border-color:var(--faint);background:#04101499;outline:none}body.panel-open .hud-gear{opacity:0;pointer-events:none}body[data-style=pixel] .hud-gear{border-radius:0}.hud-fps{font:10px/1.4 var(--mono);color:var(--dim);letter-spacing:.04em;white-space:nowrap;background:#0206088c;border-radius:3px;padding:1px 8px;display:none;position:absolute;top:4px;left:50%;transform:translate(-50%)}.hud-fps.on{display:block}.panel .tabs{flex-wrap:wrap;gap:6px;margin:18px 0 2px;display:flex}.panel .tabs button{border-radius:18px;padding:8px 14px}.panel .tabs button small{color:var(--dim);letter-spacing:.06em;margin-left:4px;font-size:10px}.panel .slots{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 14px;display:flex}.panel .slots .slot{border:1px dashed #7ff3e459;border-radius:50%;place-items:center;width:34px;height:34px;display:inline-grid}.panel .slots .slot.shut{background:repeating-linear-gradient(45deg,#ffffff08 0 4px,#0000 4px 8px);border-color:#ffffff1f}.panel .slots .slot.full{background:#7ff3e414;border-style:solid;border-color:#7ff3e4}.panel .slots button{margin-left:8px}body[data-style=pixel] .panel .slots .slot{border-radius:0}.hud-ability-mini{opacity:.55;background:#04101480;border:1px solid #a0fff02e;border-radius:50%;place-items:center;width:40px;height:40px;transition:opacity .25s,filter .25s;display:grid;position:absolute;bottom:clamp(18px,3vh,40px)}.hud-ability-mini[data-slot="1"]{right:calc(clamp(20px,3vw,48px) + 86px)}.hud-ability-mini[data-slot="2"]{right:calc(clamp(20px,3vw,48px) + 134px)}.hud-ability-mini.ready{opacity:1;filter:drop-shadow(0 0 8px #7ff3e473);border-color:#7ff3e499}.hud-ability-mini .ic{line-height:0}.hud-ability-mini .k{font:9px/1 var(--mono);color:var(--dim);position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}.hud-ability-mini:after{content:attr(data-state);font:9px/1 var(--mono);color:var(--dim);position:absolute;top:-8px;right:-6px}body[data-style=pixel] .hud-ability-mini{border-radius:0}.panel.levels .title-btn{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit}.lv-tile.locked{opacity:.35;cursor:default}.lv-tile.locked:hover{border-color:#a0fff01a;transform:none}.lv-tile.knocked{opacity:.6;animation:.32s ease-out knock}@keyframes knock{0%,to{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}}.lv-tile.secret-room{background:linear-gradient(160deg,#3c2e0ecc,#120c04d9);border-color:#f5d27a66}.secrets-lead{color:var(--dim);margin:0 0 16px;font-size:13px}.secret-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.secret{color:var(--dim);background:#050c0fb3;border:1px dashed #a0fff024;border-radius:10px;padding:12px 14px 12px 50px;position:relative}.secret .sn{font:15px/1 var(--mono);color:#a0fff059;position:absolute;top:13px;left:14px}.secret b{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:11px;display:block}.secret p{margin:0 0 6px;font-size:12px;line-height:1.45}.secret small{font:10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.secret.found{color:#e9e2cf;background:linear-gradient(160deg,#30260c99,#080a0acc);border-style:solid;border-color:#f5d27a73}.secret.found .sn,.secret.found small{color:#f5d27a}.secret .mode-sw{font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;color:var(--ink);background:#ffffff0d;border:1px solid #ffffff40;border-radius:12px;padding:6px 10px;position:absolute;bottom:10px;right:12px}.secret .mode-sw.on{color:#1a1407;background:#f5d27a;border-color:#f5d27a}.credits .roll{text-align:center;padding:20px 0 40px;animation:1.2s ease-out roll-in}.credits .roll h4{font:11px/1 var(--font);letter-spacing:.3em;text-transform:uppercase;color:#f5d27a;margin:26px 0 6px}.credits .roll p{max-width:560px;color:var(--ink);margin:0 auto;font-size:14px;line-height:1.6}@keyframes roll-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}body.at-title #hud{opacity:0;transition:opacity .4s}body.at-title canvas#view{cursor:default}.panel.title-screen{background:linear-gradient(90deg,#020608db 0%,#0206089e 38%,#0206080d 70%,#02060800 100%)}.title-inner{box-sizing:border-box;flex-direction:column;justify-content:center;max-width:640px;min-height:100%;padding:clamp(28px,8vh,90px) clamp(20px,7vw,120px);display:flex}.logo{letter-spacing:.32em;white-space:nowrap;color:#eafffb;margin:0;font-size:clamp(40px,7.4vw,96px);font-weight:200;line-height:1}.logo span{animation:6s ease-in-out infinite ring;animation-delay:var(--d);text-shadow:0 0 22px #7ff3e440;display:inline-block}@keyframes ring{0%,70%,to{color:#eafffb;text-shadow:0 0 22px #7ff3e440;transform:none}76%{color:var(--c);text-shadow:0 0 28px var(--c), 0 0 60px var(--c);transform:translateY(-4px)}}.tagline{color:var(--dim);letter-spacing:.14em;margin:18px 0 0;font-size:clamp(13px,1.4vw,16px)}.tone-row{gap:10px;margin:22px 0 34px;display:flex}.tone-row i{background:var(--c);width:9px;height:9px;box-shadow:0 0 12px var(--c);animation:2.4s ease-in-out infinite pulse-dot;animation-delay:var(--d);border-radius:50%}@keyframes pulse-dot{50%{opacity:.6;transform:scale(1.5)}}.title-menu{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.title-menu button{all:unset;cursor:pointer;font:300 clamp(17px, 1.8vw, 22px)/1.1 var(--font);letter-spacing:.28em;text-transform:uppercase;color:#eafffbc7;border-left:2px solid #0000;flex-direction:column;gap:3px;padding:9px 18px 9px 16px;transition:color .15s,border-color .15s,background .15s,padding .15s;display:flex}.title-menu button small{font:11px/1.3 var(--mono);letter-spacing:.08em;text-transform:none;color:var(--dim)}.title-menu button:hover,.title-menu button:focus-visible,.title-menu button:focus{color:#fff;background:linear-gradient(90deg,#7ff3e41f,#0000);border-left-color:#7ff3e4;outline:none;padding-left:24px}.title-menu button.primary{color:#fff;margin-bottom:8px;font-size:clamp(22px,2.4vw,30px)}.title-menu button.primary small{color:#7ff3e4}.title-note{font:12px/1.5 var(--mono);color:#ffd9a8;letter-spacing:.04em;background:linear-gradient(90deg,#ffb35c24,#0000);border-left:2px solid #ffb35c;max-width:420px;margin:-18px 0 18px 16px;padding:8px 12px;transition:opacity .9s}.title-note small{color:var(--dim);display:block}.title-note.gone{opacity:0}.title-quick{flex-direction:column;gap:8px;margin-top:26px;padding-left:16px;display:flex}.quick-row{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.quick-row span{font:10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);min-width:92px}.panel .quick-row button{all:unset;cursor:pointer;font:11px/1 var(--mono);letter-spacing:.08em;color:#eafffbb3;border:1px solid #ffffff29;border-radius:999px;padding:6px 11px;transition:color .15s,border-color .15s,background .15s}.panel .quick-row button:hover,.panel .quick-row button:focus-visible,.panel .quick-row button:focus{color:#fff;background:#7ff3e41f;border-color:#7ff3e4;outline:none}.panel .quick-row button.on,.panel .quick-row button.on:hover,.panel .quick-row button.on:focus{color:#02110f;background:#7ff3e4;border-color:#fff}.title-foot{font:11px/1.8 var(--mono);color:var(--dim);letter-spacing:.06em;margin-top:26px}.title-foot kbd{font-family:var(--mono);border:1px solid #fff3;border-radius:4px;margin:0 2px;padding:1px 5px;font-size:10px}.title-foot .showing{opacity:.7;display:block}@media (width<=640px){.panel.title-screen{background:#020608c7}.logo{letter-spacing:.18em}}.tutorial-card{box-sizing:border-box;width:min(560px,100vw - 32px);color:var(--ink);pointer-events:auto;opacity:0;visibility:hidden;background:linear-gradient(160deg,#0a1e24e0,#040a0de6);border:1px solid #7ff3e44d;border-radius:12px;padding:14px 18px 12px;position:fixed;bottom:clamp(110px,21vh,210px);left:50%;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.tutorial-card.on{opacity:1;visibility:visible;animation:.45s ease-out tut-in}@keyframes tut-in{0%{opacity:0;transform:translate(-50%,12px)}}.tut-head{align-items:center;gap:12px;display:flex}.tut-head b{letter-spacing:.3em;text-transform:uppercase;color:#7ff3e4;flex:1;font-size:12px;font-weight:400}.tut-n{font:11px/1 var(--mono);color:var(--dim)}.tut-tone{font:10px/1 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--dim);align-items:center;gap:6px;display:inline-flex}.tut-tone i{border-radius:50%;width:14px;height:14px;box-shadow:0 0 10px}.tut-head button{all:unset;cursor:pointer;font:10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);border:1px solid #ffffff2e;border-radius:12px;padding:5px 9px}.tut-head button:hover{color:var(--ink);border-color:#fff6}.tutorial-card p{margin:10px 0;font-size:15px;line-height:1.5}.tutorial-card kbd{font-family:var(--mono);border:1px solid #ffffff4d;border-radius:4px;padding:0 6px;font-size:12px}.tut-dots{gap:6px;display:flex}.tut-dots i{background:#ffffff1f;border-radius:2px;flex:1;height:3px}.tut-dots i.done{background:#7ff3e4}.tut-dots i.now{background:#7ff3e480;animation:1.6s ease-in-out infinite pulse-dot}.panel.pause-menu.on{place-items:center;display:grid}.pause-card{--accent:#7ff3e4;text-align:center;background:linear-gradient(170deg,#0e2228e6,#040a0df0);border:1px solid #7ff3e438;border-radius:14px;width:min(420px,90vw);padding:30px 32px 26px;animation:.2s ease-out fade;box-shadow:0 0 60px #7ff3e414}.pause-card h2{margin:12px 0 0;padding-left:.6em;font-size:30px}.pause-card .lv-obj{margin:14px 0 20px}.pause-items{align-items:stretch;gap:2px}.pause-items button{flex-direction:row;justify-content:space-between;align-items:center;padding:10px 16px;font-size:clamp(15px,1.6vw,18px)}.pause-items button kbd{font:10px var(--mono);letter-spacing:0;color:var(--dim);border:1px solid #ffffff2e;border-radius:4px;padding:1px 6px}.pause-items button.primary{margin-bottom:6px;font-size:clamp(18px,2vw,22px)}.pause-ask p{margin:6px 0 18px;font-size:15px;line-height:1.5}.pause-ask p small{color:var(--dim);margin-top:4px;font-size:12px;display:block}.pause-ask .acts{justify-content:center;gap:10px;display:flex}.pause-ask .acts button.primary{background:#ffb35c38;border-color:#ffb35c}
