:root{--fg:#e8e4dd;--soft:#c4c0b9;--dim:#85817a;--line:#ffffff1a;--panel:#0c0c0dc7;--acc:#ffb454;--mono:ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body{height:100%;color:var(--fg);-webkit-font-smoothing:antialiased;background:#030304;margin:0;font:12px/1.45 ui-sans-serif,system-ui,-apple-system,Helvetica Neue,sans-serif;overflow:hidden}#gl{touch-action:none;cursor:grab;opacity:0;width:100%;height:100%;transition:opacity .55s ease-out;display:block;position:fixed;inset:0}.ready #gl{opacity:1}#loader{z-index:7;opacity:0;pointer-events:none;color:var(--dim);font:10px var(--mono);border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:14px 18px 10px;transition:opacity .25s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loading #loader{opacity:1}.ready #loader{display:none}#loader .bar{background:#ffffff21;border-radius:2px;width:150px;height:2px;overflow:hidden}#loader-fill{background:var(--soft);border-radius:2px;width:0;height:100%;display:block}#loader.wait #loader-fill{animation:1.05s ease-in-out infinite slide;width:34%!important}@keyframes slide{0%{transform:translate(-110%)}to{transform:translate(305%)}}#loader-pct{min-height:12px}#loader-pct:after{content:attr(data-pct)}.og,.og body{background:#000}.og body>:not(#gl){display:none!important}#vig{pointer-events:none;background:radial-gradient(at 50% 46%,#0000 42%,#0009 100%);position:fixed;inset:0}#teaser{z-index:6;max-width:290px;position:fixed;top:16px;left:18px}#teaser p{color:var(--dim);margin:0}.link{all:unset;cursor:pointer;color:var(--fg);border-bottom:1px solid #ffffff4d}.link:hover{border-color:var(--fg)}#toggles{z-index:6;gap:2px;display:flex;position:fixed;top:12px;right:14px}#toggles button{all:unset;cursor:pointer;color:var(--dim);border-radius:999px;padding:5px 10px}#toggles button:hover{color:var(--fg)}#toggles button[hidden]{display:none}#credit{z-index:6;color:var(--dim);align-items:baseline;gap:20px;display:flex;position:fixed;bottom:13px;right:24px}#credit a{color:inherit;text-decoration:none}#credit a:hover,#t-reset:hover{color:var(--fg)}#t-reset{all:unset;cursor:pointer}#t-reset[hidden]{display:none}#toggles button[aria-pressed=true]{color:var(--fg);background:#ffffff17}#foot{color:var(--dim);font-variant-numeric:tabular-nums;pointer-events:none;gap:14px;display:flex;position:fixed;bottom:14px;left:18px}#toggles #t-records{align-items:center;gap:8px;max-width:360px;display:inline-flex}#now-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}#now-time{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap}#now-time:empty{display:none}.eq{flex:none;align-items:flex-end;gap:2px;height:10px;display:inline-flex}.eq i{transform-origin:bottom;background:currentColor;border-radius:1px;width:2px;height:100%;transition:transform .4s;transform:scaleY(.25)}#t-records.playing .eq{color:var(--acc)}#t-records.playing .eq i{animation:.9s ease-in-out infinite alternate eq}#t-records.playing .eq i:nth-child(2){animation-duration:1.15s;animation-delay:-.5s}#t-records.playing .eq i:nth-child(3){animation-duration:.7s;animation-delay:-.2s}#t-records.playing .eq i:nth-child(4){animation-duration:1s;animation-delay:-.8s}@keyframes eq{0%{transform:scaleY(.2)}45%{transform:scaleY(1)}to{transform:scaleY(.45)}}@media (prefers-reduced-motion:reduce){#t-records.playing .eq i{animation:none;transform:scaleY(.7)}}.panel{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:4;border-radius:12px;padding:14px;position:fixed}#ctl{width:236px;max-height:calc(100% - 86px);top:46px;right:14px;overflow:auto}#hud{opacity:0;pointer-events:none;contain:layout paint;width:292px;padding:10px;transition:opacity .5s;bottom:40px;left:16px}#toggles,#foot,#hover-track{contain:layout paint}#hud.on{opacity:1}h2{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin:14px 0 6px;font-size:10px;font-weight:500}h2:first-child{margin-top:0}.row{align-items:center;gap:6px;margin:5px 0;display:flex}.row label{color:var(--dim);flex:0 0 76px}.row output{text-align:right;font:11px var(--mono);color:var(--soft);flex:0 0 34px}input[type=range]{min-width:0;accent-color:var(--acc);flex:1;height:14px}#ctl button,select,.file{font:inherit;color:var(--fg);border:1px solid var(--line);cursor:pointer;text-align:center;background:#ffffff0f;border-radius:7px;flex:1;padding:5px 8px}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}select option{color:var(--fg);background:#1b1b1d}#ctl button:hover,.file:hover{background:#ffffff1f}#ctl button.on{background:var(--acc);color:#1a1206;border-color:#0000}#scope{border-radius:6px;width:100%;height:62px;display:block}#stats{font:10px/1.4 var(--mono);grid-template-columns:1fr 1fr;gap:1px 12px;margin-top:8px;display:grid}#stats span{color:var(--dim)}#stats b{float:right;color:var(--soft);font-weight:400}#power{display:none}dialog{color:var(--fg);border:1px solid var(--line);background:#0f0f10f7;border-radius:14px;width:calc(100% - 40px);max-width:540px;max-height:calc(100% - 40px);padding:28px 30px 22px;font-size:13px;line-height:1.58;overflow:auto}dialog::backdrop{background:#000000a8}dialog h3{letter-spacing:-.01em;margin:0 0 14px;font-size:18px;font-weight:600}dialog p,dialog ul{color:var(--soft);margin:0 0 12px}dialog ul{padding-left:18px}dialog li{margin:5px 0}dialog .fine{color:var(--dim);font-size:12px}dialog strong{color:var(--fg);font-weight:600}dialog a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--dim);text-decoration-color:var(--dim);text-underline-offset:2px}dialog a:hover{color:var(--fg);-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}dialog code{font:11.5px var(--mono);color:var(--fg)}dialog form{text-align:right;margin:18px 0 0}dialog form button{font:inherit;color:var(--fg);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:999px;padding:6px 16px}@media (max-width:900px){#teaser{max-width:210px}}@media (max-width:640px){#teaser{max-width:calc(100% - 36px);top:calc(14px + env(safe-area-inset-top))}#toggles{top:calc(52px + env(safe-area-inset-top))}#credit{bottom:calc(12px + env(safe-area-inset-bottom))}#foot{right:18px;bottom:calc(32px + env(safe-area-inset-bottom))}#toggles #t-records{max-width:calc(100vw - 120px)}#hud{width:min(272px,100% - 32px);bottom:calc(56px + env(safe-area-inset-bottom));padding:7px}#scope{height:40px}#stats{gap:0 10px;margin-top:5px;font-size:9px}#ctl{width:min(236px,100% - 28px);top:calc(88px + env(safe-area-inset-top));max-height:calc(100% - 164px);padding:9px 10px;font-size:11px}#ctl h2{margin:9px 0 3px;font-size:9px}#ctl .row{gap:5px;margin:3px 0}#ctl .row label{flex-basis:62px}#ctl .row output{flex-basis:30px;font-size:10px}#ctl button,#ctl select,#ctl .file{border-radius:6px;padding:3px 6px}}#hover-track{z-index:6;pointer-events:none;background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--fg);white-space:nowrap;border-radius:999px;padding:4px 9px;font-size:11px;position:fixed;top:0;left:0}#hover-track[hidden]{display:none}dialog.albums{background:#0f0f10;width:calc(100% - 48px);max-width:820px;padding:22px 24px 18px}dialog.albums .head{justify-content:space-between;align-items:baseline;margin-bottom:16px;display:flex}dialog.albums h3{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:10px;font-weight:500}dialog.albums .close{all:unset;cursor:pointer;color:var(--dim);border-radius:6px;padding:2px 6px;font-size:12px}dialog.albums .close:hover{color:var(--fg)}.album-view .hero{align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.album-view .cover{aspect-ratio:1;background:#1a1a1c;border-radius:4px;flex:none;width:168px;display:block;position:relative;overflow:hidden;box-shadow:0 10px 28px #0009}.album-view .cover img{object-fit:cover;width:100%;height:100%;display:block}.album-view .ph{background:radial-gradient(circle at 70% 30%,#2b2b2f,#121214 70%);flex-direction:column;justify-content:flex-end;gap:3px;padding:14px;display:flex;position:absolute;inset:0}.album-view .ph:before{content:"";aspect-ratio:1;background:repeating-radial-gradient(circle,#0b0b0c 0 2px,#141416 2px 3px);border-radius:50%;width:90%;position:absolute;top:-28%;right:-28%}.album-view .ph b{font-size:14px;font-weight:600;line-height:1.2;position:relative}.album-view .ph i{color:var(--dim);font-size:11px;font-style:normal;position:relative}.album-view .info{flex-direction:column;gap:3px;min-width:0;display:flex}.album-view .info b{letter-spacing:-.01em;font-size:20px;font-weight:600}.album-view .info i{color:var(--soft);font-style:normal}.album-view .info span{color:var(--dim)}.album-view .info .hint{margin-top:8px;font-size:11px}.album-view .disc h4{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:500}.album-view .disc+.disc{margin-top:18px}.album-view .sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.album-view .side{border:1px solid var(--line);background:#ffffff05;border-radius:10px;min-width:0;padding:6px;position:relative}.album-view .side[aria-current=true]:after{content:"";border:1px solid var(--acc);pointer-events:none;will-change:opacity;border-radius:10px;animation:1.6s ease-in-out infinite ringPulse;position:absolute;inset:-1px}@keyframes ringPulse{50%{opacity:.3}}.album-view .side-head{all:unset;box-sizing:border-box;cursor:pointer;border-radius:7px;align-items:baseline;gap:8px;width:100%;padding:6px 8px 8px;display:flex}.album-view .side-head b{font-weight:600}.album-view .side-head span{color:var(--dim);font-variant-numeric:tabular-nums}.album-view .side-head em{color:var(--dim);margin-left:auto;font-size:11px;font-style:normal}.album-view .side[aria-current=true] .side-head em{color:var(--acc)}.album-view .side-head{transition:background .12s}.album-view .side-head:hover,.album-view .side-head:focus-visible{background:#ffffff0f}.album-view .side-head:hover em{color:var(--fg)}.album-view ol{margin:0;padding:0;list-style:none}.album-view .song{all:unset;box-sizing:border-box;cursor:pointer;border-radius:7px;align-items:baseline;gap:10px;width:100%;padding:5px 8px;transition:background .12s;display:flex}.album-view .song:hover,.album-view .song:focus-visible{background:#ffffff12}.album-view .song .n{color:var(--dim);font-variant-numeric:tabular-nums;flex:0 0 14px}.album-view .song .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.album-view .song .t i{color:var(--dim);margin-left:6px;font-style:normal}.album-view .song .l{color:var(--dim);font-variant-numeric:tabular-nums}.album-view .song[aria-current=true] .t,.album-view .song[aria-current=true] .n{color:var(--acc)}.album-view .side li{align-items:center;gap:2px;display:flex}.album-view .side li .song{flex:1;min-width:0}.album-view .share{all:unset;box-sizing:border-box;height:26px;color:var(--dim);cursor:pointer;opacity:0;border-radius:7px;flex:0 0 26px;place-items:center;transition:opacity .12s,background .12s,color .12s;display:grid}.album-view .share svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.album-view .side li:hover .share,.album-view .share:focus-visible,.album-view .share[data-copied]{opacity:1}.album-view .share:hover,.album-view .share:focus-visible{color:inherit;background:#ffffff12}.album-view .share[data-copied]{color:var(--acc)}@media (hover:none){.album-view .share{opacity:1}}@media (prefers-reduced-motion:reduce){.album-view .side[aria-current=true]:after{animation:none}}dialog.albums .credit{border-top:1px solid var(--line);color:var(--dim);margin:18px 0 0;padding-top:12px;font-size:11px;line-height:1.6}dialog.albums .credit a{color:var(--soft)}@media (max-width:640px){dialog.albums{width:calc(100% - 20px);max-height:calc(100% - 20px);padding:16px 14px 12px}.album-view .hero{gap:14px}.album-view .cover{width:104px}.album-view .info b{font-size:16px}.album-view .sides{grid-template-columns:minmax(0,1fr)}}dialog.albums .back{all:unset;cursor:pointer;color:var(--soft);border-radius:6px;margin-left:-6px;padding:2px 6px;font-size:12px}dialog.albums .back:hover{color:var(--fg);background:#ffffff0f}.album-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:22px 18px;margin:0;padding:0;list-style:none;display:grid}.album-grid>li{contain:layout style}.album{all:unset;box-sizing:border-box;cursor:pointer;border-radius:6px;width:100%;display:block;position:relative}.album .cover{aspect-ratio:1;will-change:transform;background:#1a1a1c;border-radius:4px;transition:transform .18s;display:block;position:relative;overflow:hidden;box-shadow:0 8px 20px #00000094}.album .cover img{object-fit:cover;width:100%;height:100%;display:block}.album .ph{background:radial-gradient(circle at 70% 30%,#2b2b2f,#121214 70%);flex-direction:column;justify-content:flex-end;gap:3px;padding:12px;display:flex;position:absolute;inset:0}.album .ph:before{content:"";aspect-ratio:1;background:repeating-radial-gradient(circle,#0b0b0c 0 2px,#141416 2px 3px);border-radius:50%;width:90%;position:absolute;top:-28%;right:-28%}.album .ph b{font-size:13px;font-weight:600;line-height:1.2;position:relative}.album .ph i{color:var(--dim);font-size:11px;font-style:normal;position:relative}.album .meta{margin-top:8px;display:block}.album .meta b{white-space:nowrap;text-overflow:ellipsis;font-weight:400;display:block;overflow:hidden}.album .meta i{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;font-style:normal;display:block;overflow:hidden}@media (hover:hover) and (pointer:fine){.album:hover .cover,.album:hover:after{transform:translateY(-4px)}}.album:focus-visible .cover,.album:focus-visible:after{transform:translateY(-4px)}.album:focus-visible .cover{outline:2px solid var(--soft);outline-offset:2px}.album[aria-current=true]:after{content:"";aspect-ratio:1;border:2px solid var(--acc);pointer-events:none;will-change:opacity, transform;border-radius:8px;width:calc(100% + 10px);transition:transform .18s;animation:1.6s ease-in-out infinite ringPulse;position:absolute;top:-5px;left:-5px}.album[aria-current=true] .meta b{color:var(--acc)}@media (prefers-reduced-motion:reduce){.album[aria-current=true]:after{animation:none}.album .cover,.album:after{transition:none}}@media (max-width:640px){.album-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px 12px}}
