:root{--desk:#1b1f2a;--metal-hi:#eceef2;--metal:#c9ccd3;--metal-lo:#8e93a0;--metal-dk:#4b4f5c;--ink:#12141a;--title-a:#0d2a6b;--title-b:#2f6fd0;--lcd-bg:#07130b;--lcd:#5dff8a;--lcd-dim:#1f6a35;--lcd-glow:0 0 6px #5dff8a8c;--list-bg:#0a0d12;--list-ink:#b8f7c8;--list-dim:#5d7a66;--list-sel:#163a7a;--amber:#ffcc4d;--bad:#ff6b5e;--ui:Tahoma, Verdana, "Segoe UI", system-ui, sans-serif;--mono:"Lucida Console", "Consolas", "Courier New", ui-monospace, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--desk);color:var(--ink);font:13px/1.35 var(--ui);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background-image:radial-gradient(circle at 20% 0,#2a3142 0,#0000 60%)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}.desk{min-height:100dvh;padding:max(12px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));justify-content:center;align-items:flex-start;display:flex}.window{background:linear-gradient(180deg, var(--metal-hi), var(--metal) 40%, #b9bdc6);width:100%;max-width:560px;box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 var(--metal-lo), 0 10px 30px #00000080;border:1px solid #000;border-radius:6px;padding:0 6px 6px}.window.main{flex-direction:column;height:calc(100dvh - 24px);max-height:900px;display:flex}.titlebar{background:linear-gradient(90deg, var(--title-a), var(--title-b));color:#fff;letter-spacing:.12em;-webkit-user-select:none;user-select:none;border-radius:5px 5px 0 0;align-items:center;gap:6px;margin:0 -6px 6px;padding:4px 6px;font-size:12px;font-weight:700;display:flex}.tb-logo{color:var(--lcd)}.tb-status{letter-spacing:.04em;opacity:.85;margin-left:auto;font-size:11px;font-weight:400}.tb-x{background:var(--metal);width:22px;height:18px;color:var(--ink);box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 var(--metal-lo);border:1px solid #000;padding:0;font-size:11px;line-height:14px}.lcd{background:var(--lcd-bg);border:2px solid;border-color:var(--metal-dk) var(--metal-hi) var(--metal-hi) var(--metal-dk);color:var(--lcd);font-family:var(--mono);text-shadow:var(--lcd-glow);gap:10px;min-height:84px;padding:8px 10px;display:flex}.lcd-left{flex-direction:column;align-items:flex-start;gap:4px;min-width:92px;display:flex}.lcd-state{font-size:12px}.lcd-time{letter-spacing:.04em;font-size:30px;font-weight:700;line-height:1}.lcd-right{flex-direction:column;flex:1;justify-content:space-between;gap:4px;min-width:0;display:flex}.marquee{white-space:nowrap;font-size:14px;overflow:hidden}.marquee .scroll{padding-left:100%;animation:14s linear infinite marquee;display:inline-block}@keyframes marquee{to{transform:translate(-100%)}}.lcd-sub{color:#9dffb8;white-space:nowrap;text-overflow:ellipsis;min-height:16px;font-size:12px;overflow:hidden}.lcd-lyric{color:var(--amber);text-shadow:0 0 6px #ffcc4d80}.lcd-flags{color:var(--lcd-dim);text-shadow:none;gap:8px;font-size:10px;display:flex}.lcd-flags .lit{color:var(--lcd);text-shadow:var(--lcd-glow)}.lcd-btn{font:inherit;color:var(--lcd-dim);background:0 0;border:1px solid;padding:0 4px}.lcd-btn.lit{color:var(--amber)}.viz{align-items:flex-end;gap:2px;height:22px;display:flex}.viz span{background:var(--lcd-dim);width:5px;height:3px}.viz.on span{background:var(--lcd);animation:.9s ease-in-out infinite alternate bar}@keyframes bar{0%{height:3px}30%{height:18px}60%{height:8px}to{height:22px}}.seek,.vol{accent-color:var(--title-b)}.seek{width:100%;margin:8px 0 4px}.transport{align-items:center;gap:4px;display:flex}.tbtn,.btn{background:linear-gradient(180deg, #f7f8fa, var(--metal) 60%, #b3b7c0);box-shadow:inset 1px 1px 0 #fff, inset -1px -1px 0 var(--metal-lo);color:var(--ink);border:1px solid #000;border-radius:3px}.tbtn{width:44px;height:36px;font-size:15px}.tbtn.big{width:54px;font-size:17px}.tbtn.small{width:36px;font-size:14px}.tbtn:active,.btn:active,.tbtn.down,.btn.down{box-shadow:inset 1px 1px 0 var(--metal-lo), inset -1px -1px 0 #fff;background:linear-gradient(#a9adb7,#c3c6ce)}.tsep{width:6px}.vol{flex:1;min-width:60px;margin-left:6px}.deck-error{color:#ffd2cc;background:#3a0d0d;border:1px solid #000;margin-top:6px;padding:4px 6px;font-size:12px}.deck-error button{margin-left:6px}.tabs{gap:2px;margin-top:8px;display:flex}.tab{letter-spacing:.06em;background:linear-gradient(#dfe1e6,#b5b9c2);border:1px solid #000;border-bottom:none;border-radius:4px 4px 0 0;flex:1;padding:6px 4px;font-size:12px;font-weight:700;box-shadow:inset 1px 1px #fff}.tab.on{background:var(--list-bg);color:var(--lcd);text-shadow:var(--lcd-glow)}.panel{background:var(--list-bg);min-height:0;color:var(--list-ink);font-family:var(--mono);border:1px solid #000;border-top:none;flex:1;font-size:13px;overflow:auto}.panel-empty{color:var(--list-dim);font-family:var(--ui);padding:18px 12px}.linkish{color:var(--lcd);background:0 0;border:none;padding:0;text-decoration:underline}.modes{background:var(--list-bg);z-index:1;border-bottom:1px solid #1d2733;gap:4px;padding:6px;display:flex;position:sticky;top:0;overflow-x:auto}.mode{font-family:var(--ui);letter-spacing:.06em;color:var(--list-ink);background:#141a22;border:1px solid #2c3a4a;border-radius:3px;flex:none;padding:6px 10px;font-size:12px;font-weight:700}.mode small{color:var(--list-dim);margin-left:4px;font-weight:400}.mode.on{background:var(--list-sel);color:#fff;border-color:#4c7fd9}.mode.add{color:var(--lcd);border-style:dashed}.pl-head{border-bottom:1px solid #1d2733;flex-direction:column;gap:6px;padding:8px;display:flex}.pl-filter{align-items:center;gap:6px;display:flex}.pl-filter .field{padding:5px 8px}.pl-filter-n{color:var(--amber);font-size:11px;font-family:var(--ui);white-space:nowrap}.pl-name{color:var(--lcd);letter-spacing:.08em;text-shadow:var(--lcd-glow);font-weight:700}.pl-name small{color:var(--list-dim);letter-spacing:0;text-shadow:none;margin-left:6px;font-weight:400}.pl-actions{flex-wrap:wrap;gap:4px;display:flex}.btn{font-family:var(--ui);padding:5px 10px;font-size:12px;font-weight:700}.btn.tiny{padding:3px 7px;font-size:11px}.btn.primary{color:#fff;text-shadow:0 -1px #0b2a66;background:linear-gradient(#5b95f0,#2457b8);box-shadow:inset 1px 1px #9cc0ff}.btn.danger{color:#8b0d00}.list{margin:0;padding:0;list-style:none}.row{border-bottom:1px solid #121922;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 8px;display:flex}.row.track{gap:0;padding:0}.row-play{text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:7px 8px;display:flex}.row-play:hover:not(:disabled){background:#101824}.row.cur .row-play{background:var(--list-sel);color:#fff}.row.cur .num{color:var(--lcd)}.num{color:var(--list-dim);flex:none;width:2.6em}.row-main{flex-direction:column;flex:1;min-width:0;display:flex}.row-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.row-sub{color:var(--list-dim);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.row.cur .row-sub{color:#b9c9ea}.dur{color:var(--list-dim);flex:none}.row-more{width:36px;color:var(--list-dim);background:0 0;border:none;flex:none;align-self:stretch;font-size:16px}.row-tools{flex-wrap:wrap;flex-basis:100%;gap:4px;padding:0 8px 8px 3.6em;display:flex}.st-error .row-title{color:var(--bad)}.st-queued .row-title,.st-downloading .row-title{color:var(--list-dim)}.pill,.badge{font-family:var(--ui);letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700}.pill.ok{color:var(--lcd)}.pill.busy{color:var(--amber)}.pill.bad{color:var(--bad)}.pill.dim{color:var(--list-dim)}.blink{animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.3}}.badge{color:#7d93b8}.badge.via-ytmusic{color:#ff8a8a}.badge.via-soundcloud{color:#ffa65c}.badge.best{color:var(--amber)}.search-bar{background:var(--list-bg);z-index:1;gap:4px;padding:6px;display:flex;position:sticky;top:0}.field{width:100%;color:var(--ink);border:2px solid;border-color:var(--metal-dk) var(--metal-hi) var(--metal-hi) var(--metal-dk);font-size:16px;font-family:var(--ui);background:#fff;border-radius:0;flex:1;padding:7px 8px}.search-status{color:var(--amber);min-height:16px;font-size:11px;font-family:var(--ui);padding:0 8px 4px}.thumb{object-fit:cover;background:#111;border:1px solid #000;flex:none;width:64px;height:36px}.thumb.blank{color:var(--list-dim);place-items:center;display:grid}.results .row.best{background:#0f1b12}.btn.save{flex:none}.plays{color:#8fb39a}.import-card{border:1px dashed var(--lcd-dim);font-family:var(--ui);flex-direction:column;align-items:flex-start;gap:8px;margin:6px;padding:10px;display:flex}.import-card p{margin:0}.lyrics{text-align:center;font-family:var(--ui);flex-direction:column;align-items:center;gap:4px;padding:18px 12px 40vh;display:flex}.lyr{color:var(--list-dim);background:0 0;border:none;padding:2px 6px;font-family:inherit;font-size:17px;line-height:1.5}.lyr.past{color:#3e5847}.lyr.now{color:var(--lcd);text-shadow:var(--lcd-glow);font-size:19px;font-weight:700}.lyr.plain{color:var(--list-ink);margin:0}.lyr-note{color:var(--list-dim);font-size:11px}.scrim{z-index:10;background:#05080e99;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{max-width:420px}.dialog-body{flex-direction:column;gap:10px;padding:4px 6px 6px;display:flex}.dlg-song{margin:0;font-weight:700}.dlg-hint{background:#fffbe6;border:1px solid #c9b25c;margin:0;padding:6px 8px;font-size:12px}.checks{flex-wrap:wrap;gap:6px;display:flex}.check{border:1px solid var(--metal-dk);background:#fff;align-items:center;gap:6px;padding:6px 10px;font-weight:700;display:flex}.check.on{border-color:var(--title-b);background:#dbe8ff}.check small{color:#b8860b}.inline-new{gap:4px;display:flex}.dlg-buttons{justify-content:flex-end;gap:6px;display:flex}.lbl{flex-direction:column;gap:4px;font-size:12px;font-weight:700;display:flex}.lbl small{color:#444;font-weight:400}textarea.field{resize:vertical;font-size:14px}.err{color:#a40000;margin:0;font-weight:700}.login{max-width:360px;margin-top:12vh}.login-lcd{justify-content:space-between;align-items:center;min-height:0}.toast{left:50%;bottom:max(18px, env(safe-area-inset-bottom));background:var(--lcd-bg);color:var(--lcd);text-shadow:var(--lcd-glow);font-family:var(--mono);border:2px solid var(--metal);z-index:20;max-width:92vw;padding:8px 12px;font-size:13px;position:fixed;transform:translate(-50%)}@media (max-width:420px){.desk{padding-left:0;padding-right:0;padding-top:env(safe-area-inset-top)}.window.main{border-radius:0;height:100dvh;max-height:none}.lcd-time{font-size:26px}.tbtn{width:40px}}.albums-head{letter-spacing:1px;color:var(--amber);font-size:11px;font-family:var(--ui);padding:6px 8px 2px}.thumb.sq{width:40px;height:40px;margin:0 12px}.more-albums{padding:2px 8px 6px;font-size:12px}
