#progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:var(--z-chrome);background:rgba(255,255,255,.06)}#progress i{display:block;height:100%;width:0%;background:linear-gradient(90deg,transparent,var(--accent));box-shadow:0 0 14px rgba(var(--accent-rgb),.7);transition:width .12s linear}#loader{position:fixed;inset:0;z-index:var(--z-loader);display:grid;place-items:center;background:radial-gradient(90% 70% at 50% 40%,rgba(var(--tint),.18),transparent 70%),rgba(5,5,12,.94);backdrop-filter:blur(22px) saturate(1.1);transition:opacity 1s var(--ease),visibility 1s}#loader.gone{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{width:min(560px,84vw);text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.loader-mark{font-family:var(--f-display);font-weight:800;font-size:clamp(2.4rem,9vw,5rem);line-height:1;letter-spacing:-.04em;text-transform:lowercase}.loader-sub{font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.26em;text-transform:uppercase;color:var(--faint)}.loader-bar{width:100%;height:1px;background:rgba(255,255,255,.12);overflow:hidden}.loader-bar i{display:block;height:100%;width:0%;background:var(--accent);box-shadow:0 0 12px var(--accent);transition:width .5s var(--ease)}.loader-meta{width:100%;display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}#enter{position:relative;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;width:132px;height:132px;border-radius:50%;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);border:1px solid rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.07);transition:background .4s var(--ease),transform .5s var(--spring),color .3s,opacity .4s}#enter .enter-ring{position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(var(--accent-rgb),.25);animation:pulse-ring 3.4s var(--ease) infinite}@keyframes pulse-ring{0%{transform:scale(.94);opacity:.9}70%{transform:scale(1.12);opacity:0}100%{opacity:0}}#enter:not([disabled]):hover{background:rgba(var(--accent-rgb),.18);transform:scale(1.05)}#enter[disabled]{opacity:.35}#enter.armed .enter-label::after{content:""}.loader-note{font-family:var(--f-mono);font-size:var(--t-mono);color:var(--faint);letter-spacing:.1em;opacity:.8}#cursor{position:fixed;inset:0;z-index:var(--z-cursor);pointer-events:none;opacity:0;transition:opacity .4s}#cursor.on{opacity:1}.cur-dot,.cur-ring{position:absolute;top:0;left:0;border-radius:50%;transform:translate3d(-100px,-100px,0);will-change:transform}.cur-dot{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;background:var(--accent);box-shadow:0 0 10px rgba(var(--accent-rgb),.9)}.cur-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid rgba(var(--accent-rgb),.55);transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),border-color .3s,background .3s,opacity .3s}#cursor.hot .cur-ring{width:58px;height:58px;margin:-29px 0 0 -29px;background:rgba(var(--accent-rgb),.10);border-color:rgba(var(--accent-rgb),.85)}#cursor.text .cur-ring{width:4px;height:26px;margin:-13px 0 0 -2px;border-radius:2px;background:var(--accent);border-color:transparent}#cursor.down .cur-ring{width:24px;height:24px;margin:-12px 0 0 -12px}#trail{position:fixed;inset:0;z-index:calc(var(--z-cursor) - 1);pointer-events:none;opacity:0;transition:opacity .5s}#trail.on{opacity:.9}#hud{position:fixed;inset:0;z-index:var(--z-chrome);padding:calc(var(--gut) * .62);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:10px;pointer-events:none;opacity:0;transition:opacity .9s var(--ease),transform .6s var(--ease)}#hud.on{opacity:1}#hud.hidden-ui{opacity:0;transform:translateY(8px);pointer-events:none}#hud.hidden-ui:hover{opacity:1;transform:none;pointer-events:auto}.hud-corner{display:flex;flex-direction:column;gap:2px}.hud-corner.tl{grid-area:1/1;align-items:flex-start}.hud-corner.tr{grid-area:1/2;align-items:flex-end;text-align:right}.hud-corner.bl{grid-area:3/1;justify-content:flex-end;align-items:flex-start}.hud-corner.br{grid-area:3/2;align-items:flex-end;justify-content:flex-end;gap:8px}.mark{font-family:var(--f-display);font-weight:800;font-size:1.05rem;letter-spacing:-.03em;text-transform:lowercase;transition:color .3s}.mark:hover{color:var(--accent)}.hud-line{font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);display:flex;align-items:center;gap:.5em;line-height:1.9}.hud-line.right{justify-content:flex-end}.hud-line.dim{color:var(--faint)}.pulse{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:pulse 2.6s var(--ease) infinite}@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.row{display:flex;align-items:center;gap:10px}.row.gap{gap:14px}.row.end{justify-content:flex-end}.ghost{font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);padding:3px 2px;display:inline-flex;align-items:center;gap:.55em;transition:color .3s,opacity .3s;pointer-events:auto}.ghost:hover{color:var(--ink)}.ghost .led{width:6px;height:6px;border-radius:50%;border:1px solid currentColor;transition:background .3s,box-shadow .3s,border-color .3s}.ghost[aria-pressed="true"] .led{background:var(--accent);border-color:var(--accent);box-shadow:0 0 9px var(--accent)}.ghost[aria-pressed="true"]{color:var(--ink)}.nav-prev,.nav-next{font-size:.9rem;line-height:1;padding:0 4px;color:var(--dim)}.nav-prev:hover,.nav-next:hover{color:var(--accent)}#scenes{display:flex;align-items:center;gap:7px;pointer-events:auto}#scenes button{position:relative;width:16px;height:16px;border-radius:50%;display:grid;place-items:center}#scenes button::before{content:"";position:absolute;inset:-1px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--p,0) * 360deg),transparent 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.6px),#000 calc(100% - 1.6px));mask:radial-gradient(farthest-side,transparent calc(100% - 1.6px),#000 calc(100% - 1.6px));opacity:0;transition:opacity .4s}#scenes button[aria-selected="true"]::before{opacity:.9}#scenes button i{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.28);transition:background .3s,transform .4s var(--spring),box-shadow .3s}#scenes button:hover i{background:rgba(255,255,255,.6);transform:scale(1.35)}#scenes button[aria-selected="true"] i{background:var(--accent);transform:scale(1.5);box-shadow:0 0 10px var(--accent)}#scenes button::after{content:attr(data-name);position:absolute;bottom:150%;right:0;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:rgba(8,8,16,.9);border:1px solid var(--line);padding:3px 7px;border-radius:6px;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;pointer-events:none}#scenes button:hover::after{opacity:1;transform:none}#swipeHint{position:fixed;left:50%;bottom:calc(var(--gut) * .62);transform:translateX(-50%);font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);opacity:0;transition:opacity .8s;z-index:var(--z-chrome);text-align:center;pointer-events:none}#swipeHint.on{opacity:.75}#rail{position:fixed;right:calc(var(--gut) * .58);top:50%;transform:translateY(-50%);z-index:var(--z-chrome);display:flex;align-items:center;gap:14px;opacity:0;transition:opacity .9s var(--ease)}#rail.on{opacity:1}#rail ul{display:flex;flex-direction:column;gap:12px;align-items:flex-end}#rail button{display:flex;align-items:center;gap:9px;font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);transition:color .3s}#rail button span{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease),opacity .35s}#rail:hover button span,#rail button:hover span,#rail button:focus-visible span,#rail button[aria-current="true"] span{max-width:120px;opacity:1}#rail button i{width:14px;height:1px;background:currentColor;transition:width .4s var(--ease),background .3s}#rail button:hover{color:var(--ink)}#rail button:hover i{width:26px}#rail button[aria-current="true"]{color:var(--accent)}#rail button[aria-current="true"] i{width:32px;background:var(--accent);box-shadow:0 0 10px var(--accent)}#rail .rail-line{display:none}.card{position:relative;background:var(--card);border:1px solid var(--card-line);border-radius:var(--r);backdrop-filter:blur(var(--blur)) saturate(1.2);box-shadow:var(--shadow);overflow:hidden}.card::before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);opacity:.5}.card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(220px circle at var(--mx,50%) var(--my,0%),rgba(var(--accent-rgb),.16),transparent 62%);opacity:0;transition:opacity .4s}.card:hover::after{opacity:1}.presence{display:flex;gap:14px;padding:16px 17px;min-width:min(340px,82vw)}.av{position:relative;width:56px;height:56px;flex:0 0 56px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:#0a0a12;background:linear-gradient(140deg,var(--accent),rgba(var(--accent-rgb),.45));text-transform:lowercase}.av::after{content:"";position:absolute;right:-1px;bottom:-1px;width:17px;height:17px;border-radius:50%;background:#3ddc84;border:3px solid #0b0b14;box-shadow:0 0 10px rgba(61,220,132,.7)}.presence[data-status="idle"] .av::after{background:#f0b232;box-shadow:0 0 10px rgba(240,178,50,.7)}.presence[data-status="dnd"] .av::after{background:#f04747;box-shadow:0 0 10px rgba(240,71,71,.7)}.presence-body{display:flex;flex-direction:column;gap:2px;min-width:0}.presence-name{font-family:var(--f-display);font-weight:600;font-size:1.02rem;display:flex;align-items:center;gap:6px}.presence-tag{font-family:var(--f-mono);font-size:var(--t-mono);color:var(--faint);letter-spacing:.1em}.presence-status{font-size:var(--t-small);color:var(--dim)}.presence-act{margin-top:9px;padding-top:9px;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center}.presence-act .mini{width:38px;height:38px;border-radius:9px;flex:0 0 38px;object-fit:cover}.presence-act .t{font-size:var(--t-small);color:var(--dim);line-height:1.4;min-width:0}.presence-act .t b{display:block;color:var(--ink);font-weight:500}.presence-act .t span{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;color:var(--faint)}.badge{font-family:var(--f-mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;padding:2px 6px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.4);color:var(--accent);background:rgba(var(--accent-rgb),.1)}.now{display:flex;gap:13px;align-items:center;padding:13px 15px;cursor:pointer;transition:transform .5s var(--ease),border-color .4s}.now:hover{border-color:rgba(var(--accent-rgb),.45)}.now-art{width:52px;height:52px;flex:0 0 52px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.4);position:relative}.now-art canvas{width:100%;height:100%}.now-art .pulse-ring{position:absolute;inset:0;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.35)}.now-body{min-width:0;flex:1}.now-kicker{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}.now-title{font-family:var(--f-display);font-weight:600;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.now-artist{font-size:var(--t-small);color:var(--dim)}.now-bars{display:flex;align-items:flex-end;gap:2px;height:20px;margin-top:6px}.now-bars i{width:3px;height:20%;background:linear-gradient(var(--accent),rgba(var(--accent-rgb),.3));border-radius:2px;transition:height .09s linear}.btn{position:relative;display:inline-flex;align-items:center;gap:.6em;font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.18em;text-transform:uppercase;padding:12px 20px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink);background:rgba(255,255,255,.03);overflow:hidden;transition:color .35s,border-color .35s,transform .4s var(--ease);will-change:transform}.btn .arr{transition:transform .4s var(--spring)}.btn:hover .arr{transform:translate(3px,-3px)}.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--accent);transform:translateY(101%);transition:transform .5s var(--ease)}.btn.solid{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.solid::before{background:#fff}.btn.solid:hover{color:#08080f}.btn.ghost:hover{border-color:rgba(var(--accent-rgb),.5)}.btn:hover::before{transform:none}.btn:active{transform:scale(.97)}#terminal{position:fixed;inset:0;z-index:var(--z-term);display:grid;place-items:center;padding:var(--gut);background:rgba(4,4,10,.72);backdrop-filter:blur(10px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}#terminal.on{opacity:1;visibility:visible}.term-window{width:min(760px,94vw);max-height:min(560px,78vh);display:flex;flex-direction:column;background:rgba(8,8,15,.92);border:1px solid var(--line-2);border-radius:14px;box-shadow:0 30px 90px rgba(0,0,0,.7),0 0 0 1px rgba(var(--accent-rgb),.12);transform:translateY(12px) scale(.985);transition:transform .4s var(--ease);overflow:hidden}#terminal.on .term-window{transform:none}.term-bar{display:flex;align-items:center;gap:10px;padding:9px 13px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.02)}.term-bar .dots{display:flex;gap:6px}.term-bar .dots i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.16)}.term-bar .dots i:nth-child(1){background:#ff5f57}.term-bar .dots i:nth-child(2){background:#febc2e}.term-bar .dots i:nth-child(3){background:#28c840}.term-title{flex:1;text-align:center;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;color:var(--faint)}.term-close{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:2px 6px;border:1px solid var(--line);border-radius:5px}.term-close:hover{color:var(--ink);border-color:var(--line-2)}.term-out{flex:1;overflow-y:auto;padding:16px 18px;font-family:var(--f-mono);font-size:.78rem;line-height:1.75;color:var(--dim)}.term-out::-webkit-scrollbar{width:7px}.term-line{white-space:pre-wrap;word-break:break-word}.term-line.cmd{color:var(--ink)}.term-line.cmd::before{content:"❯ ";color:var(--accent)}.term-line.ok{color:var(--accent)}.term-line.warn{color:#febc2e}.term-line.err{color:#ff6b6b}.term-line a{color:var(--accent);border-bottom:1px solid rgba(var(--accent-rgb),.4)}.term-line .k{color:var(--ink)}.term-line .v{color:var(--faint)}.term-line.ascii{color:rgba(var(--accent-rgb),.75);font-size:.62rem;line-height:1.25}.term-in{display:flex;align-items:center;gap:9px;padding:12px 18px;border-top:1px solid var(--line);background:rgba(255,255,255,.02)}.term-in .ps1{color:var(--accent);font-family:var(--f-mono)}#termInput{flex:1;font-family:var(--f-mono);font-size:.82rem;color:var(--ink);outline:none;background:none}#termInput::placeholder{color:rgba(244,245,250,.25)}.term-in .hint{font-family:var(--f-mono);font-size:.62rem;color:var(--faint);letter-spacing:.1em}#toast{position:fixed;left:50%;bottom:clamp(70px,9vh,110px);z-index:var(--z-term);transform:translate(-50%,12px);background:var(--ink);color:#08080f;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:10px 16px;border-radius:999px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .3s,transform .45s var(--ease),visibility .3s;box-shadow:0 10px 30px rgba(0,0,0,.5)}#toast.on{opacity:1;visibility:visible;transform:translate(-50%,0)}#flash{position:fixed;inset:0;z-index:calc(var(--z-loader) - 1);pointer-events:none;background:var(--accent);opacity:0}#flash.on{animation:flash .5s var(--ease)}@keyframes flash{0%{opacity:.5}100%{opacity:0}}.social{display:flex;flex-wrap:wrap;gap:8px}.social a,.social button{display:inline-flex;align-items:center;gap:.5em;font-family:var(--f-mono);font-size:var(--t-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.02);transition:color .3s,border-color .3s,background .3s,transform .4s var(--ease)}.social a:hover,.social button:hover{color:var(--ink);border-color:rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.09);transform:translateY(-2px)}.social .ico{font-size:.9em;opacity:.85}.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.chips span{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);padding:5px 10px;border-radius:6px;border:1px solid var(--line);background:rgba(255,255,255,.02);transition:color .3s,border-color .3s}.chips span:hover{color:var(--accent);border-color:rgba(var(--accent-rgb),.45)}.tilt{transform-style:preserve-3d;will-change:transform}.magnetic{will-change:transform}@media (max-width:900px){#rail{display:none}.hud-corner.bl .hud-line:last-of-type{display:none}}@media (max-width:720px){#hud{padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px))}.hud-corner.bl{display:none}.hud-corner.br{gap:10px}.hud-corner.br .row.gap:first-child{gap:10px}#hudToggle{display:none}.hud-line{letter-spacing:.12em}#scenes{gap:10px}#scenes button{width:13px;height:13px}#swipeHint{bottom:calc(52px + env(safe-area-inset-bottom,0px));max-width:74vw;line-height:1.7}.hint-wide{display:none}.term-out{font-size:.72rem}#toast{font-size:.62rem;bottom:96px}}@media (min-width:721px){.hint-tight{display:none}}@media (max-width:420px){#zone{display:none}}