@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/space-grotesk-400.woff2) format("woff2")}:root{color-scheme:dark;--bg:#000;--ink:#f3f0ff;--ink-dim:rgba(243,240,255,.58);--line:rgba(243,240,255,.18);--accent:#8fe9ff;--alert:#ffab7a;--font-ui:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-num:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--core:clamp(76px,15vmin,128px)}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;background:var(--bg);touch-action:none}.ui{position:relative;box-sizing:border-box;height:100%;display:grid;place-items:center;padding-block:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));pointer-events:none}.core{position:relative;width:var(--core);height:var(--core);pointer-events:auto}.seek{position:absolute;inset:-20px;border-radius:50%;cursor:pointer;touch-action:none}.seek:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ring{position:absolute;inset:-11px;width:calc(100% + 22px);height:calc(100% + 22px);transform:rotate(-90deg);pointer-events:none;overflow:visible}.ring circle{fill:none;stroke-width:1.1}.ring .track{stroke:var(--line)}.ring .prog{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:307.88;stroke-dashoffset:307.88;visibility:hidden}.core[data-state=loading] .ring .prog{stroke:var(--ink-dim)}.play{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;display:grid;place-items:center;padding:0;font:inherit;transition:border-color .2s;will-change:transform}.play:hover{border-color:#f3f0ff80}.play:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.play svg{grid-area:1/1;width:36%;height:36%;fill:currentColor;transition:opacity .3s,transform .3s}.play .i-pause,.core[data-state=playing] .i-play{opacity:0;transform:scale(.6)}.core[data-state=playing] .i-pause{opacity:.9;transform:none}.core[data-state=loading] .i-play{opacity:.35}body.quiet .core[data-state=playing] .i-pause{opacity:.28}body.quiet,body.quiet .seek,body.quiet .play{cursor:none}.status{position:absolute;left:50%;top:calc(100% + 34px);transform:translate(-50%);margin:0;white-space:nowrap;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-variant-numeric:tabular-nums;opacity:0;transition:opacity .35s;pointer-events:none}.status.on{opacity:1}.status.err{color:var(--alert);letter-spacing:.04em;text-transform:none;white-space:normal;width:min(80vw,340px);text-align:center;font-size:14px;line-height:1.45}.status .num{font-family:var(--font-num);letter-spacing:.06em}.nojs{position:fixed;left:0;right:0;bottom:24px;margin:0;text-align:center;color:var(--ink-dim);font-size:14px}.loader,.core{grid-area:1/1}.loader{width:min(260px,72vw);display:grid;gap:10px;transition:opacity .5s ease,transform .5s ease}.loader-head{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.loader-head .num{font-family:var(--font-num);letter-spacing:.04em;color:var(--ink-dim);font-variant-numeric:tabular-nums}.loader-bar{height:2px;background:var(--line);border-radius:1px;overflow:hidden}.loader-fill{height:100%;background:var(--ink);transform:scaleX(0);transform-origin:0 50%}.loader-step{margin:0;font-size:12px;line-height:1.45;color:var(--ink-dim);min-height:1.45em}.loader.err .loader-step{color:var(--alert);font-size:14px}.loader.err .loader-fill{background:var(--alert)}body.ready .loader{opacity:0;transform:translateY(-6px);pointer-events:none}.cover{position:fixed;inset:0;background:var(--bg);pointer-events:none;transition:opacity 1.4s ease}body.ready .cover{opacity:0}.core{visibility:hidden;opacity:0;transform:scale(.9);transition:opacity .7s ease .2s,transform .9s cubic-bezier(.2,.8,.2,1) .2s}body.ready .core{visibility:visible;opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.play svg,.status{transition:none}.loader,.cover,.core{transition-duration:.01s;transition-delay:0s}}.brand-card,.brand-badge{position:fixed;z-index:3;box-sizing:border-box;background:#06060a8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:4px;color:var(--ink);transition:opacity .6s ease,border-color .2s,color .2s}.brand-card{top:max(16px,env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));width:min(330px,calc(100vw - 32px));padding:12px 14px 13px;display:flex;flex-direction:column;gap:8px}.brand-head{display:flex;align-items:center;gap:10px}.brand-card .mono{display:block;flex:none;height:18px;width:auto;aspect-ratio:321.8/183.9}.brand-card h1{margin:0;font-size:15px;font-weight:400;line-height:1.2;letter-spacing:.01em}.brand-card p{margin:0;font-size:12px;line-height:1.45;color:var(--ink-dim)}.brand-badge{right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:10px;padding:7px 10px 7px 12px;text-decoration:none}.brand-badge .by{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#f3f0ffb8}.brand-badge .mono{display:block;height:14px;width:auto;aspect-ratio:321.8/183.9}.brand-badge:hover{border-color:#f3f0ff73}.brand-badge:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body.quiet .brand-card,body.quiet .brand-badge{opacity:.6}@media (max-width:420px){.brand-card{padding:11px 12px}.brand-card .mono{height:16px}.brand-card h1{font-size:14px}.brand-card p{font-size:11.5px}}.sprite{position:absolute}
.nf{overflow:auto;display:grid;place-items:center;min-height:100%;padding:16px;box-sizing:border-box;text-align:center;user-select:auto;-webkit-user-select:auto}.nf h1{margin:0 0 1.5rem;font-size:1.25rem;font-weight:400;letter-spacing:.02em;text-wrap:balance}.nf-code{margin:0 0 .5rem;font-family:var(--font-num);font-size:.75rem;letter-spacing:.14em;color:var(--ink-dim)}.nf a{color:var(--accent);text-underline-offset:.2em}.nf a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
