:root{--cream:#ece4cf;--ink:#0a2230;--deep:#08202e;--deep-2:#06161f;--rail-bg:#06161fd1;--accent:#c44d3a;--teal:#1f5d7a;--line:#ece4cf24;--serif:"Zilla Slab", Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--deep);width:100%;height:100%;color:var(--cream);font-family:var(--mono);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow:hidden}#app{background:var(--deep);flex-direction:row;display:flex;position:fixed;inset:0}.eyebrow{font:500 11px/1 var(--mono);letter-spacing:.32em;text-transform:uppercase;color:#ece4cf8c}.eyebrow.wide{letter-spacing:.42em}.eyebrow.soft{color:#ece4cf80;letter-spacing:.28em}.eyebrow.gap{margin-top:14px}.disp{font-family:var(--serif);color:var(--cream);letter-spacing:-.01em;font-weight:700;line-height:.96}.btn{appearance:none;color:var(--cream);font:500 10px/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-backdrop-filter:blur(6px);background:#081a2459;border:1px solid #ece4cf42;border-radius:2px;padding:9px 12px;transition:background .15s,color .15s,border-color .15s}.btn:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}.btn.ghost{color:#ece4cf80;border-color:#0000}.btn.ghost:hover{color:var(--ink)}.rule{background:var(--line);height:1px;margin:22px 0 16px}.trow{cursor:pointer;border-left:2px solid #0000;border-radius:2px;justify-content:space-between;align-items:baseline;gap:14px;padding:8px 11px;transition:background .15s;display:flex}.trow:hover{background:#ece4cf0f}.trow.active{background:var(--cream);border-left-color:var(--accent)}.tnum{font:500 10px var(--mono);letter-spacing:.14em;color:#ece4cf80;min-width:22px}.ttitle{font:500 15px/1.15 var(--serif);color:#ece4cfd1;flex:1}.tdur{font:400 11px var(--mono);letter-spacing:.08em;color:#ece4cf66}.trow.active .tnum{color:var(--ink)}.trow.active .ttitle{color:var(--ink);font-weight:600}.trow.active .tdur{color:#0a223099}@keyframes svpulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes svdot{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.rail{background:var(--rail-bg);-webkit-backdrop-filter:blur(10px);border-right:1px solid var(--line);z-index:6;flex:none;width:392px;transition:width .55s cubic-bezier(.7,0,.2,1);position:relative;overflow:hidden}.rail.collapsed{width:58px}.railbody{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;width:392px;padding:44px 40px 40px;transition:opacity .3s;display:flex;position:absolute;inset:0;overflow-y:auto}.railbody::-webkit-scrollbar{display:none}.rail.collapsed .railbody{opacity:0;pointer-events:none}.rail-title{margin-top:12px;font-size:40px}.rail-cat{font:400 11px var(--mono);letter-spacing:.2em;color:#ece4cf73;margin-top:14px}.rail-spacer{flex:1}.railtoggle{width:32px;height:32px;color:var(--cream);font:500 14px/1 var(--mono);cursor:pointer;background:#081a2480;border:1px solid #ece4cf4d;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:flex}.railtoggle:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}.rail-fold{position:absolute;top:38px;right:34px}.liner-label{margin-bottom:8px}.liner-text{font:400 11px/1.85 var(--mono);letter-spacing:.03em;color:#ece4cf80}.credits{font:400 10px/1.7 var(--mono);letter-spacing:.03em;color:#ece4cf80}.credits-note{font:400 10px/1.7 var(--mono);letter-spacing:.03em;color:#ece4cf57;margin-top:10px}.rail-nowplaying{display:none}.rail-now-title{margin-top:10px;font-size:34px}.rail-now-meta{font:400 11px var(--mono);letter-spacing:.14em;color:#ece4cf80;margin-top:10px}.rail-listening{align-items:flex-start;gap:12px;display:none}.pulse-dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;margin-top:3px;animation:1.6s ease-in-out infinite svdot}.listening-copy{font:500 11px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ece4cfb3}.railctls{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.ctl{display:none}#app[data-mode=choose] .ctl[data-m~=choose],#app[data-mode=browse] .ctl[data-m~=browse],#app[data-mode=matched] .ctl[data-m~=matched],#app[data-mode=listening] .ctl[data-m~=listening]{display:inline-flex}#app[data-mode=matched] .rail-tracklist,#app[data-mode=listening] .rail-tracklist{display:none}#app[data-mode=matched] .rail-nowplaying{display:block}#app[data-mode=listening] .rail-listening{display:flex}.spine{opacity:0;pointer-events:none;flex-direction:column;justify-content:space-between;align-items:center;padding:20px 0 24px;transition:opacity .35s .12s;display:flex;position:absolute;inset:0}.rail.collapsed .spine{opacity:1;pointer-events:auto}.spinelabel{writing-mode:vertical-rl;font:500 11px var(--mono);letter-spacing:.34em;text-transform:uppercase;color:#ece4cf80;transform:rotate(180deg)}.spine-cat{writing-mode:vertical-rl;font:400 9px var(--mono);letter-spacing:.2em;color:#ece4cf59;transform:rotate(180deg)}.progress-plate{flex-direction:column;align-items:center;gap:12px;display:none}#app[data-mode=matched] .progress-plate{display:flex}.progress-track{background:#ece4cf29;border-radius:2px;width:3px;height:118px;position:relative;overflow:hidden}.progress-bar{background:var(--cream);height:0%;transition:height .5s linear;position:absolute;top:0;left:0;right:0;box-shadow:0 0 6px #ece4cf8c}.progress-clock{writing-mode:vertical-rl;font:500 9px var(--mono);letter-spacing:.16em;color:#ece4cf9e;transform:rotate(180deg)}.stage{background:var(--deep);flex:1;min-width:0;position:relative;overflow:hidden}.stage canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.halftone{pointer-events:none;z-index:2;opacity:.05;mix-blend-mode:screen;background-image:radial-gradient(#ece4cf99 .5px,#0000 .7px);background-size:3px 3px;position:absolute;inset:0}.grain{pointer-events:none;z-index:2;opacity:.5;background:radial-gradient(120% 90% at 50% 42%,#0000 55%,#040e1480 100%);position:absolute;inset:0}.plate-frame{pointer-events:none;z-index:3;border:1px solid var(--line);position:absolute;inset:22px}.mic-status{z-index:6;pointer-events:none;align-items:center;gap:9px;display:flex;position:absolute;top:44px;right:48px}.mic-dot{background:#ece4cf80;border-radius:50%;width:8px;height:8px}.mic-dot.listening{background:var(--accent);animation:1.6s ease-in-out infinite svdot}.mic-dot.matched{background:var(--cream);box-shadow:0 0 8px #ece4cfe6}.mic-label{font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#ece4cfa6}.now-plate{z-index:5;pointer-events:none;display:none;position:absolute;bottom:48px;left:48px}#app[data-mode=matched] .now-plate,#app[data-mode=browse] .now-plate{display:block}.plate-title{font-size:50px}.plate-meta{font:400 11px var(--mono);letter-spacing:.16em;color:#ece4cf80;margin-top:12px}.brand-mobile{display:none}.listening-msg{z-index:6;pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 24px;display:none;position:absolute;inset:0}#app[data-mode=listening] .listening-msg{display:flex}.ripple{width:150px;height:150px;margin-bottom:32px;position:relative}.ripple span{border-radius:50%;position:absolute}.ripple span:first-child{border:1px solid #ece4cf4d;animation:3s ease-in-out infinite svpulse;inset:0}.ripple span:nth-child(2){border:1px solid #ece4cf38;animation:3s ease-in-out .6s infinite svpulse;inset:26px}.ripple span:nth-child(3){background:#ece4cf80;animation:3s ease-in-out 1.2s infinite svpulse;inset:56px}.listening-head{font:500 13px/1 var(--mono);letter-spacing:.38em;text-transform:uppercase;color:#ece4cfd9;animation:3.2s ease-in-out infinite svpulse}.listening-sub{font:italic 500 16px/1.5 var(--serif);color:#ece4cf80;max-width:34ch;margin-top:14px}.mic-overlay{z-index:7;text-align:center;background:radial-gradient(#0d324580 0%,#071c28d1 82%);flex-direction:column;justify-content:center;align-items:center;padding:0 24px;display:none;position:absolute;inset:0}#app[data-mode=choose] .mic-overlay{display:flex}.choose-title{margin:18px 0 10px;font-size:46px}.choose-sub{font:italic 500 15px/1.5 var(--serif);color:#ece4cf99;max-width:42ch;margin-bottom:32px}.choose-actions{flex-direction:column;align-items:center;gap:14px;display:flex}.choose-privacy{font:400 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ece4cf6b;max-width:46ch;margin-top:-4px}.pill{appearance:none;background:var(--cream);color:var(--ink);font:600 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;border:none;border-radius:999px;padding:17px 36px;transition:transform .12s}.pill:hover{transform:scale(1.03)}.link-btn{appearance:none;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ece4cf99;text-underline-offset:4px;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:8px;text-decoration:underline}.link-btn:hover{color:var(--cream)}.sheet{z-index:20;background:var(--rail-bg);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);will-change:transform;border-radius:14px 14px 0 0;flex-direction:column;height:85dvh;transition:transform .5s cubic-bezier(.7,0,.2,1);display:none;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.sheetpeek{width:100%;padding:11px 20px calc(11px + env(safe-area-inset-bottom));cursor:grab;user-select:none;touch-action:none;flex-direction:column;flex:none;align-items:center;gap:7px;display:flex;position:relative}.sheetpeek:active{cursor:grabbing}.sheethairline{background:var(--cream);width:0%;height:1px;transition:width .5s linear,opacity .6s;position:absolute;top:0;left:0;box-shadow:0 0 4px #ece4cf99}.sheetgrip{background:#ece4cf4d;border-radius:2px;width:34px;height:4px;transition:opacity .6s}.sheetpeek:active .sheetgrip{background:#ece4cf8c}.sheetpeek-label{transition:opacity .6s}.sheetbody{-webkit-overflow-scrolling:touch;min-height:0;padding:4px 22px calc(20px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}#app[data-sheet=peek] .sheetbody{display:none}.sheet .trow{padding:6px 8px}.sheet .ttitle{font-size:13px}.sheet-tracklist{display:none}#app[data-sheet=full] .sheet-tracklist{display:block}.sheet-nowplaying{display:none}#app[data-sheet=half] .sheet-nowplaying,#app[data-sheet=full] .sheet-nowplaying{display:block}#app[data-mode=choose] .sheet-nowplaying,#app[data-mode=listening] .sheet-nowplaying{display:none}.sheet-now-title{margin-bottom:4px;font-size:26px}.sheet-now-meta{font:400 11px var(--mono);letter-spacing:.14em;color:#ece4cf80;margin-bottom:16px}.sheet-album-note{display:none}#app[data-sheet=half] .sheet-album-note,#app[data-sheet=full] .sheet-album-note{display:block}#app[data-mode=browse] .sheet-album-note,#app[data-mode=matched] .sheet-album-note,.sheet-credits{display:none}#app[data-sheet=half] .sheet-credits,#app[data-sheet=full] .sheet-credits{display:block}.sheet .railctls{gap:8px;margin-top:18px;display:none}#app[data-sheet=half] .sheet .railctls,#app[data-sheet=full] .sheet .railctls{display:flex}.sheet .ctl{text-align:center;flex:1;justify-content:center}.mic-status,.brand-mobile,.plate-frame,.now-plate{transition:opacity .6s}#app.chrome-idle .mic-status,#app.chrome-idle .brand-mobile,#app.chrome-idle .plate-frame,#app.chrome-idle .now-plate,#app.chrome-idle .sheetpeek-label,#app.chrome-idle .sheethairline{opacity:0}#app.chrome-idle .sheetgrip{opacity:.12}#app.clean .rail,#app.clean .mic-status,#app.clean .brand-mobile,#app.clean .plate-frame,#app.clean .now-plate,#app.clean .sheet{display:none!important}.debug-hud{z-index:8;pointer-events:none;font:11px var(--mono);letter-spacing:.08em;color:#ece4cfcc;text-shadow:0 0 4px #000c;position:absolute;top:8px;left:10px}button[hidden]{display:none!important}@media (width<=720px),(pointer:coarse) and (height<=520px){.rail{display:none}.sheet{display:flex}.stage{width:100dvw;height:100dvh;position:fixed;inset:0}.plate-frame{inset:14px}.mic-status{top:calc(40px + env(safe-area-inset-top));right:22px}.mic-label{display:none}.brand-mobile{z-index:6;top:calc(40px + env(safe-area-inset-top));letter-spacing:.32em;font-size:9px;display:block;position:absolute;left:22px}#app[data-mode=matched] .now-plate,#app[data-mode=browse] .now-plate,.now-plate{display:none}.choose-title{font-size:30px}.choose-sub{margin-bottom:24px;font-size:13px}.pill{padding:15px 30px;font-size:11px}.ripple{width:112px;height:112px}.ripple span:nth-child(2){inset:20px}.ripple span:nth-child(3){inset:44px}.listening-head{letter-spacing:.28em;font-size:10px}.listening-sub{font-size:14px}}
