@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(../media/vt323-latin-400-normal.1rqqvv-tpuy10.woff2)format("woff2"),url(../media/vt323-latin-400-normal.2sq_ap69xq50f.woff)format("woff")}
@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(../media/chakra-petch-latin-500-normal.2lcw2inh66lu4.woff2)format("woff2"),url(../media/chakra-petch-latin-500-normal.3n-ik3vovvoo3.woff)format("woff")}
@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(../media/chakra-petch-latin-700-normal.1s--kcv7ff0_e.woff2)format("woff2"),url(../media/chakra-petch-latin-700-normal.021qjwus5muiv.woff)format("woff")}
@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-condensed-latin-500-normal.0fubb5d-ac7xd.woff2)format("woff2"),url(../media/ibm-plex-sans-condensed-latin-500-normal.0x_-npptp6hps.woff)format("woff")}
@font-face{font-family:IBM Plex Sans Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/ibm-plex-sans-condensed-latin-700-normal.2newqdkvd_-jx.woff2)format("woff2"),url(../media/ibm-plex-sans-condensed-latin-700-normal.1_30xhcd5qxyz.woff)format("woff")}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff")}
@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(../media/permanent-marker-latin-400-normal.3mb8si3fxj6ni.woff2)format("woff2"),url(../media/permanent-marker-latin-400-normal.2f5voktn71n6o.woff)format("woff")}
@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/nunito-sans-latin-400-normal.3vp5p1xhybych.woff2)format("woff2"),url(../media/nunito-sans-latin-400-normal.0tbh1hwu8vvg5.woff)format("woff")}
@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/nunito-sans-latin-700-normal.1h08l092c36eb.woff2)format("woff2"),url(../media/nunito-sans-latin-700-normal.2nzv-9tzo45g7.woff)format("woff")}
@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:800;src:url(../media/nunito-sans-latin-800-normal.1oxttt8f7u4al.woff2)format("woff2"),url(../media/nunito-sans-latin-800-normal.2d0moflxqetu3.woff)format("woff")}
@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/share-tech-mono-latin-400-normal.0n9a02a1i9_0e.woff2)format("woff2"),url(../media/share-tech-mono-latin-400-normal.2sb4sp6-6fpbu.woff)format("woff")}
@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/work-sans-latin-400-normal.31phoeye97tya.woff2)format("woff2"),url(../media/work-sans-latin-400-normal.28yfg54lku-gs.woff)format("woff")}
@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/work-sans-latin-700-normal.231288nt-pddp.woff2)format("woff2"),url(../media/work-sans-latin-700-normal.1pze40wscpcly.woff)format("woff")}
@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:600;src:url(../media/fraunces-latin-600-italic.2xx0-q3mtjsaf.woff2)format("woff2"),url(../media/fraunces-latin-600-italic.2y5b0o-zj9k05.woff)format("woff")}
:root{--tint:#2f6fd0;--bad:#ff6b5e;--radius:12px;--radius-sm:8px}[data-skin=deck]{--bg:#14161b;--surface:#1b1e25;--surface-2:#232731;--line:#2a2f38;--ink:#e6e8ec;--ink-dim:#8a919c;--accent:#2fd36a;--accent-ink:#06240f;--accent-soft:#12301d;--sel-ink:#7dffa0;--display-bg:#061109;--display-ink:#7dffa0;--display-glow:0 0 6px #7dffa08c;--lyric:#f4d35e;--font-ui:"Chakra Petch", system-ui, sans-serif;--font-display:"VT323", ui-monospace, monospace;--font-hand:"Chakra Petch", sans-serif;--chassis:linear-gradient(180deg, #d9dde3 0%, #aab0b9 48%, #c3c8cf 100%);--chassis-ink:#2a2e35;--chassis-edge:inset 0 1px 0 #f5f7fa, inset 0 -2px 0 #7d838c, 0 8px 24px #00000080;--btn:linear-gradient(180deg, #eef0f3, #b4bac3);--btn-ink:#2a2e35;--btn-edge:inset 0 1px 0 #fff, 0 3px 0 #6f757e;--play:linear-gradient(180deg, #4ce383, #23a650);--play-ink:#06240f;--play-edge:inset 0 1px 0 #b6ffcf, 0 3px 0 #146b33;--field:#232731;--field-ink:#e6e8ec;--wash:22%}[data-skin=cassette]{--bg:#efe6d4;--surface:#f6efe1;--surface-2:#e6dac3;--line:#cdbfa5;--ink:#2b2520;--ink-dim:#6f6254;--accent:#c4471f;--accent-ink:#fff5ea;--accent-soft:#f3d9cc;--sel-ink:#a63a17;--display-bg:#3a322b;--display-ink:#e8a33d;--display-glow:none;--lyric:#c4471f;--font-ui:"IBM Plex Sans Condensed", system-ui, sans-serif;--font-display:"IBM Plex Mono", ui-monospace, monospace;--font-hand:"Permanent Marker", cursive;--chassis:#2b2520;--chassis-ink:#f6efe1;--chassis-edge:0 6px 0 #1a1612;--btn:#d8ccb6;--btn-ink:#2b2520;--btn-edge:0 5px 0 #a89a82;--play:#c4471f;--play-ink:#fff5ea;--play-edge:0 5px 0 #7f2a10;--field:#fffaf0;--field-ink:#2b2520;--radius:6px;--radius-sm:4px;--wash:14%}[data-skin=aqua]{--bg:#dfe8f3;--surface:#fff;--surface-2:#eef3f9;--line:#c6d2e2;--ink:#10233f;--ink-dim:#4a5d79;--accent:#0b5fd6;--accent-ink:#fff;--accent-soft:#e2edff;--sel-ink:#0b5fd6;--display-bg:#fff;--display-ink:#10233f;--display-glow:none;--lyric:#0b5fd6;--font-ui:"Nunito Sans", system-ui, sans-serif;--font-display:"Nunito Sans", system-ui, sans-serif;--font-hand:"Nunito Sans", sans-serif;--chassis:#fff;--chassis-ink:#10233f;--chassis-edge:0 10px 30px #10233f26;--btn:linear-gradient(180deg, #fff, #e7edf5);--btn-ink:#10233f;--btn-edge:0 0 0 1px #c6d2e2, 0 2px 4px #10233f1f;--play:linear-gradient(180deg, #8cc4ff 0%, #2f86f0 50%, #0b5fd6 51%, #3d93f5 100%);--play-ink:#fff;--play-edge:0 0 0 1px #0a4fb3, 0 6px 14px #0b5fd673;--field:#fff;--field-ink:#10233f;--radius:18px;--radius-sm:12px;--wash:30%}[data-skin=radio]{--bg:#120d0a;--surface:#1e1510;--surface-2:#2a1a10;--line:#3b2a20;--ink:#efe3d2;--ink-dim:#a8927a;--accent:#ffb547;--accent-ink:#1a0f08;--accent-soft:#2e1d0f;--sel-ink:#ffb547;--display-bg:#1a0f08;--display-ink:#ffb547;--display-glow:0 0 8px #ffb54799;--lyric:#f3d9a8;--font-ui:"Work Sans", system-ui, sans-serif;--font-display:"Share Tech Mono", ui-monospace, monospace;--font-hand:"Fraunces", Georgia, serif;--chassis:#3b2416;--chassis-ink:#f3d9a8;--chassis-edge:inset 0 1px 0 #6a4329, 0 10px 30px #0009;--btn:radial-gradient(circle at 35% 30%, #f1d08f, #a87a35 60%, #6b4a1c);--btn-ink:#2a1a0b;--btn-edge:0 3px 6px #0009;--play:radial-gradient(circle at 35% 30%, #ffd38a, #e08a1e 60%, #8a4f0c);--play-ink:#2a1a0b;--play-edge:0 4px 10px #000000b3, 0 0 18px #ffb54759;--field:#1a0f08;--field-ink:#efe3d2;--radius:14px;--radius-sm:10px;--wash:26%}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg,#14161b);color:var(--ink,#e6e8ec);font:15px/1.4 var(--font-ui,system-ui, sans-serif);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.desk{background:linear-gradient(180deg, color-mix(in srgb, var(--tint) var(--wash), var(--bg)) 0, var(--bg) 420px);justify-content:center;align-items:flex-start;min-height:100dvh;transition:background .6s;display:flex}.window{width:100%;max-width:560px}.window.main{height:100dvh;max-height:960px;padding:max(10px, env(safe-area-inset-top)) 12px 0;flex-direction:column;gap:10px;display:flex;position:relative}.titlebar{-webkit-user-select:none;user-select:none;align-items:center;gap:8px;min-height:36px;display:flex}.tb-logo{background:var(--accent);width:10px;height:10px;box-shadow:0 0 8px var(--accent);border-radius:50%;flex:none}.tb-name{letter-spacing:.18em;font-size:14px;font-weight:700}.tb-status{letter-spacing:.06em;color:var(--ink-dim);white-space:nowrap;margin-left:auto;font-size:11px}.tb-x{border:1px solid var(--line);background:var(--surface);width:36px;height:36px;color:var(--ink);border-radius:var(--radius-sm);place-items:center;padding:0;display:grid}.tb-x svg{width:18px;height:18px}.np{background:var(--chassis);color:var(--chassis-ink);box-shadow:var(--chassis-edge);border-radius:calc(var(--radius) + 4px);flex-direction:column;gap:12px;padding:12px;display:flex}.np-flags{letter-spacing:.08em;align-items:center;gap:10px;font-size:12px;display:flex}.np-flag{opacity:.45}.np-flag.lit{opacity:1}.lyr-toggle{letter-spacing:.08em;color:inherit;opacity:.5;background:0 0;border:1px solid;border-radius:4px;padding:0 6px;font-size:12px}.lyr-toggle.lit{opacity:1;color:var(--lyric)}.seek{width:100%;accent-color:var(--accent);height:22px;margin:0}.times{opacity:.75;font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-8px;font-size:12px;display:flex}.transport{justify-content:space-between;align-items:center;gap:8px;display:flex}.tbtn{border-radius:var(--radius-sm);background:var(--btn);width:52px;height:52px;color:var(--btn-ink);box-shadow:var(--btn-edge);border:none;flex:none;place-items:center;font-size:18px;display:grid}.tbtn svg{width:22px;height:22px}.tbtn.big{background:var(--play);width:68px;height:60px;color:var(--play-ink);box-shadow:var(--play-edge)}.tbtn.big svg{width:26px;height:26px}.tbtn.small{width:44px;height:44px}.tbtn.small svg{width:18px;height:18px}.tbtn.on{box-shadow:var(--btn-edge), inset 0 0 0 3px var(--accent)}.tbtn:active{transform:translateY(2px)}.tbtn.fold{width:36px;height:36px;box-shadow:none;color:inherit;opacity:.7;background:0 0}.vol{display:none}@media (min-width:700px){.vol{max-width:120px;accent-color:var(--accent);flex:1;display:block}}.deck-error{color:#ffd2cc;border-radius:var(--radius-sm);background:#3a0d0d;padding:6px 8px;font-size:13px}.deck-error button{margin-left:6px}[data-skin=aqua] .tbtn,[data-skin=radio] .tbtn{border-radius:50%}[data-skin=aqua] .tbtn.big,[data-skin=radio] .tbtn.big{width:70px;height:70px}[data-skin=cassette] .tbtn{border-radius:6px 6px 10px 10px;height:56px}[data-skin=cassette] .tbtn.big{height:56px;transform:translateY(3px);box-shadow:0 2px #7f2a10}.lcd{background:var(--display-bg);border-radius:var(--radius-sm);color:var(--display-ink);font-family:var(--font-display);text-shadow:var(--display-glow);gap:12px;min-height:112px;padding:12px;display:flex;box-shadow:inset 0 2px 8px #000,0 1px #eef1f4}.lcd-left{flex-direction:column;gap:6px;min-width:96px;display:flex}.lcd-state{font-size:16px}.lcd-time{font-size:50px;line-height:.85}.lcd-right{flex-direction:column;flex:1;justify-content:space-between;gap:4px;min-width:0;display:flex}.marquee{white-space:nowrap;font-size:24px;line-height:1;overflow:hidden}.marquee .scroll{padding-left:100%;animation:14s linear infinite marquee;display:inline-block}@keyframes marquee{to{transform:translate(-100%)}}.lcd-sub{white-space:nowrap;text-overflow:ellipsis;opacity:.85;min-height:20px;font-size:19px;line-height:1.1;overflow:hidden}.lcd-lyric{color:var(--lyric);text-shadow:0 0 6px #f4d35e80;opacity:1}.viz{align-items:flex-end;gap:3px;height:30px;display:flex}.viz span{opacity:.35;background:currentColor;width:5px;height:4px}.viz.on span{opacity:1;animation:.9s ease-in-out infinite alternate bar}@keyframes bar{0%{height:4px}30%{height:24px}60%{height:10px}to{height:30px}}[data-skin=deck] .np-flags{font-family:var(--font-display);color:var(--chassis-ink);font-size:16px}.tape{color:#2b2520;background:#f6efe1;border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px 14px;display:flex}.tape-stripe{background:var(--accent);border-radius:3px;height:6px}.tape-stripe.b{background:#e8a33d}.tape-title{font-family:var(--font-hand);color:#1f3a8a;white-space:nowrap;text-overflow:ellipsis;font-size:26px;line-height:1.05;overflow:hidden}.tape-artist{font-family:var(--font-hand);color:#4a4038;white-space:nowrap;text-overflow:ellipsis;font-size:15px;overflow:hidden}.tape-window{background:#3a322b;border-radius:30px;justify-content:space-between;align-items:center;height:74px;padding:0 20px;display:flex;box-shadow:inset 0 2px 6px #000}.tape-time{font-family:var(--font-display);color:#e8a33d;font-size:18px}.reel{width:54px;height:54px}.reel.on{animation:3s linear infinite spin}.tape-lyric{font-family:var(--font-display);color:var(--accent);text-align:center;white-space:nowrap;text-overflow:ellipsis;min-height:18px;font-size:13px;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}[data-skin=cassette] .np-flags{color:#f6efe1}.gloss{align-items:center;gap:14px;display:flex}.gloss-art{object-fit:cover;background:var(--tint);width:120px;height:120px;box-shadow:0 8px 18px color-mix(in srgb, var(--tint) 45%, transparent);border-radius:14px;flex:none}.gloss-meta{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.gloss-kicker{letter-spacing:.1em;color:var(--accent);font-size:12px;font-weight:800}.gloss-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:22px;font-weight:800;line-height:1.12;display:-webkit-box;overflow:hidden}.gloss-artist{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.gloss-lyric{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;min-height:19px;margin-top:4px;font-size:14px;overflow:hidden}[data-skin=aqua] .np-flags{color:var(--ink-dim)}.radio{align-items:center;gap:14px;display:flex}.vinyl{background:repeating-radial-gradient(circle,#0b0807 0 3px,#1c1512 3px 4px);border-radius:50%;flex:none;place-items:center;width:120px;height:120px;display:grid;box-shadow:0 0 0 3px #1f1612,0 6px 14px #0009}.vinyl.on{animation:6s linear infinite spin}.vinyl-label{object-fit:cover;background:var(--tint);border:2px solid #0b0807;border-radius:50%;width:46px;height:46px}.vfd{background:var(--display-bg);border-radius:var(--radius-sm);min-width:0;font-family:var(--font-display);color:var(--display-ink);text-shadow:var(--display-glow);flex-direction:column;flex:1;gap:3px;padding:10px 12px;display:flex;box-shadow:inset 0 2px 8px #000}.vfd-time{font-size:30px;line-height:1}.vfd-line{white-space:nowrap;text-overflow:ellipsis;text-transform:uppercase;font-size:14px;overflow:hidden}.vfd-line.dim{opacity:.75;font-size:12px}.radio-lyric{font-family:var(--font-hand);color:var(--lyric);text-align:center;white-space:nowrap;text-overflow:ellipsis;min-height:24px;font-size:17px;font-style:italic;overflow:hidden}[data-skin=radio] .np-flags{color:#c9a77a}.mini{padding:10px 12px max(10px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);align-items:center;gap:10px;margin:0 -12px;display:flex;position:relative;box-shadow:0 -8px 24px #0000002e}.mini-bar{background:var(--accent);height:3px;position:absolute;top:0;left:0}.mini-open{text-align:left;min-width:0;color:inherit;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:0;display:flex}.mini-art{border-radius:var(--radius-sm);object-fit:cover;background:var(--tint);flex:none;width:44px;height:44px}.mini-meta{flex-direction:column;min-width:0;display:flex}.mini-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.mini-sub{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.mini .tbtn,.mini .tbtn.big{width:48px;height:48px;transform:none}.mini .tbtn.big svg{width:22px;height:22px}.tabs{background:var(--surface-2);border-radius:var(--radius-sm);gap:4px;padding:3px;display:flex}.tab{border-radius:calc(var(--radius-sm) - 2px);height:40px;color:var(--ink-dim);letter-spacing:.06em;background:0 0;border:none;flex:1;font-size:13px;font-weight:700}.tab.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000002e}.panel{overscroll-behavior:contain;flex:1;min-height:0;margin:0 -12px;padding:0 12px;overflow:auto}.panel-empty{color:var(--ink-dim);padding:22px 6px}.linkish{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.tiles{scrollbar-width:none;gap:12px;padding:4px 0 12px;display:flex;overflow-x:auto}.tiles::-webkit-scrollbar{display:none}.tile{text-align:left;width:104px;color:inherit;background:0 0;border:none;flex-direction:column;flex:none;gap:6px;padding:0;display:flex}.tile-art{border-radius:var(--radius);background:var(--surface-2);border:2px solid #0000;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));width:104px;height:104px;display:grid;overflow:hidden}.tile-art img,.tile-art span{object-fit:cover;width:100%;height:100%;display:block}.tile-art.solo{grid-template-rows:1fr;grid-template-columns:1fr;place-items:center;display:grid}.tile-art.solo svg{width:40px;height:40px}.tile.on .tile-art{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;line-height:1.2;overflow:hidden}.tile-name .owner{color:var(--ink-dim);font-weight:400}.tile-n{color:var(--ink-dim);margin-top:-4px;font-size:12px}.tile.add .tile-art{border:2px dashed var(--line);color:var(--accent);background:0 0}.pl-head{flex-direction:column;gap:10px;padding:4px 0 10px;display:flex}.pl-name{font-size:22px;font-weight:800;line-height:1.15}.pl-name small{color:var(--ink-dim);margin-top:2px;font-size:13px;font-weight:400;display:block}.pl-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pl-filter{align-items:center;gap:8px;display:flex}.pl-filter-n{color:var(--ink-dim);white-space:nowrap;font-size:12px}.btn{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--ink);letter-spacing:.03em;padding:6px 14px;font-size:13px;font-weight:700}.btn.tiny{min-height:32px;padding:4px 10px;font-size:12px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.down{background:var(--accent-soft);border-color:var(--accent);color:var(--sel-ink)}.btn.danger{color:var(--bad)}.field{background:var(--field);width:100%;min-height:42px;color:var(--field-ink);border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;padding:8px 12px;font-size:16px}textarea.field{resize:vertical;font-size:15px}.list{margin:0;padding:0 0 16px;list-style:none}.row{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.row.track{border-radius:var(--radius-sm);gap:0;padding:0}.row-play{text-align:left;min-width:0;color:inherit;border-radius:var(--radius-sm);background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:8px 6px;display:flex}.row.cur{background:var(--accent-soft)}.row.cur .row-title{color:var(--sel-ink)}.row-play .art{border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2);flex:none;width:48px;height:48px}.row-play .art.blank{color:var(--ink-dim);place-items:center;font-size:16px;display:grid}.num{display:none}.row.cur .num{color:var(--sel-ink);width:auto;display:inline}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-title{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.row-sub{color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.artist-link{color:inherit;font:inherit;text-align:left;background:0 0;border:none;padding:0}.artist-link:hover{color:var(--accent);text-decoration:underline}.dur{color:var(--ink-dim);font-variant-numeric:tabular-nums;flex:none;font-size:13px}.row-more{width:40px;color:var(--ink-dim);background:0 0;border:none;flex:none;align-self:stretch;font-size:18px}.row-tools{flex-wrap:wrap;flex-basis:100%;gap:6px;padding:0 6px 10px 66px;display:flex}.st-error .row-title{color:var(--bad)}.st-queued .row-title,.st-downloading .row-title{opacity:.6}.pill,.badge{letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.pill.ok{color:var(--accent)}.pill.busy{color:#e8a33d}.pill.bad{color:var(--bad)}.pill.dim{color:var(--ink-dim)}.blink{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.3}}.badge{color:var(--ink-dim)}.badge.via-ytmusic{color:#e0566b}.badge.via-soundcloud{color:#e98a3c}.badge.best{color:var(--accent)}.search-bar{background:var(--bg);z-index:1;gap:6px;padding:2px 0 8px;display:flex;position:sticky;top:0}.search-status{color:var(--ink-dim);min-height:18px;padding:0 0 6px;font-size:12px}.thumb{object-fit:cover;background:var(--surface-2);border-radius:6px;flex:none;width:64px;height:40px}.thumb.blank{color:var(--ink-dim);place-items:center;display:grid}.thumb.sq{width:48px;height:48px}.results .row{border-bottom:1px solid var(--line)}.results .row.best{background:var(--accent-soft);border-radius:var(--radius-sm);padding-left:6px;padding-right:6px}.btn.save{flex:none}.plays{color:var(--ink-dim)}.import-card{border:1px dashed var(--line);border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start;gap:8px;margin:4px 0 10px;padding:12px;display:flex}.import-card p{margin:0}.albums-head{letter-spacing:.1em;color:var(--ink-dim);padding:8px 0 4px;font-size:12px;font-weight:700}.more-albums{padding:2px 0 6px;font-size:13px}.panel.lyrics-panel{background:linear-gradient(180deg, color-mix(in srgb, var(--tint) 55%, #000) 0%, color-mix(in srgb, var(--tint) 25%, #000) 100%);border-radius:var(--radius);color:#fff;margin:0;padding:0}.lyrics-top{background:color-mix(in srgb, var(--tint) 55%, #000);z-index:1;align-items:center;gap:12px;padding:14px;display:flex;position:sticky;top:0}.lyrics-top img,.lyrics-top span.art{object-fit:cover;background:#ffffff26;border-radius:8px;flex:none;width:48px;height:48px}.lyrics-top b{font-size:16px;display:block}.lyrics-top small{color:#ffffffb3;font-size:13px}.lyrics{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:24px 18px 45vh;display:flex}.lyr{color:#ffffff6b;font-size:22px;font-weight:700;line-height:1.35;font-family:var(--font-ui);background:0 0;border:none;padding:2px 6px;transition:color .25s,transform .25s}.lyr.past{color:#ffffff47}.lyr.now{color:#fff;transform:scale(1.06)}.lyr.plain{color:#ffffffd9;margin:0;font-size:19px}.lyr-note{color:#fff9;font-size:12px}.lyrics-panel .panel-empty{color:#fffc;padding:24px 18px}.scrim{z-index:10;background:#05080e99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.window.dialog{background:var(--surface);max-width:440px;color:var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px #00000080}.dialog .titlebar{border-bottom:1px solid var(--line);padding:12px 14px;font-weight:800}.dialog .titlebar .tb-x{margin-left:auto}.dialog-body{flex-direction:column;gap:12px;max-height:75dvh;padding:14px;display:flex;overflow:auto}.dlg-song{margin:0;font-weight:700}.dlg-hint{background:var(--accent-soft);border-radius:var(--radius-sm);margin:0;padding:8px 10px;font-size:13px}.checks{flex-wrap:wrap;gap:6px;display:flex}.check{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:8px;min-height:40px;padding:6px 12px;font-weight:700;display:flex}.check.on{background:var(--accent-soft);border-color:var(--accent)}.check small{color:var(--ink-dim);font-weight:400}.inline-new{gap:6px;display:flex}.dlg-buttons{justify-content:flex-end;gap:8px;display:flex}.lbl{flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.lbl small{color:var(--ink-dim);font-weight:400}.family{flex-direction:column;gap:6px;margin:6px 0;padding:0;list-style:none;display:flex}.family li{align-items:center;gap:6px;display:flex}.family li b{flex:1}.family-add{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.family-add .field{flex:140px}.skins{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.skin-card{border-radius:var(--radius-sm);border:2px solid var(--line);background:var(--surface-2);text-align:left;color:inherit;flex-direction:column;gap:8px;padding:8px;display:flex}.skin-card.on{border-color:var(--accent)}.skin-card b{font-size:14px}.skin-card small{color:var(--ink-dim);font-size:12px}.skin-swatch{border-radius:6px;height:56px;display:flex;overflow:hidden}.skin-swatch span{flex:1}.err{color:var(--bad);margin:0;font-weight:700}.login{background:var(--surface);border-radius:var(--radius);max-width:360px;margin-top:12vh;padding:16px;box-shadow:0 20px 50px #0006}.login .titlebar{margin-bottom:12px}.login-lcd{background:var(--display-bg);color:var(--display-ink);font-family:var(--font-display);text-shadow:var(--display-glow);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px;font-size:22px;display:flex}.toast{left:50%;bottom:calc(88px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);border-radius:var(--radius-sm);z-index:20;max-width:92vw;padding:10px 14px;font-size:14px;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000059}@media (min-width:600px){.window.main{padding-top:18px}}@media (prefers-reduced-motion:reduce){.reel.on,.vinyl.on,.viz.on span,.marquee .scroll{animation:none}}.duet{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);flex-direction:column;gap:6px;padding:8px 10px;display:flex}.duet.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.duet-row{align-items:center;gap:10px;display:flex}.duet-row.ask{background:var(--accent-soft);border-radius:var(--radius-sm);padding:6px 8px}.duet-badge{font-size:20px}.duet-art{object-fit:cover;background:var(--surface-2);border-radius:6px;flex:none;width:36px;height:36px}.duet-text{flex-direction:column;flex:1;min-width:0;display:flex}.duet-text b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.duet-text small{color:var(--ink-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.duet-queue{flex-direction:column;gap:6px;max-height:220px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.duet-queue li{align-items:center;gap:8px;font-size:13px;display:flex}.duet-queue li img,.duet-queue li .art{object-fit:cover;background:var(--surface-2);border-radius:5px;flex:none;width:32px;height:32px}.duet-queue li span{flex-direction:column;min-width:0;display:flex}.duet-queue li small,.duet-queue li.dim{color:var(--ink-dim)}.np-locked{text-align:center;opacity:.8;font-size:12px}.family li.family-member{flex-wrap:wrap}.family-pairs{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:6px;padding-left:4px;display:flex}.family-pairs small{color:var(--ink-dim)}.update-bar{border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid var(--accent);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}
