:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Space Grotesk","Avenir Next","Segoe UI",system-ui,sans-serif;--font-body:"Manrope","Avenir Next","Segoe UI",system-ui,sans-serif;--bg-main:#0f1412;--bg-surface:#161b18;--bg-elevated:#1c2420;--ink:#0b0b0b;--clay:#121212;--mist:#1c1c1c;--steel:#2a2a2a;--tide:#1db954;--pulse:#1ed760;--text-primary:#fff;--text-muted:#b3b3b3;--text-subtle:#b3b3b3;--border-subtle:#ffffff14;--shadow-glow:0 0 16px #1db95440;--shadow-card:0 8px 24px #00000059}*{box-sizing:border-box}body{min-height:100vh;color:var(--text-primary);font-family:var(--font-body),system-ui,sans-serif;background:radial-gradient(circle at 10% 10%,#1db95405,transparent 45%),radial-gradient(circle at 90% 0%,#1ed76004,transparent 40%),linear-gradient(180deg,var(--bg-main)0%,#121212 40%,var(--bg-main)100%);background-attachment:fixed;margin:0}a{color:var(--pulse);text-decoration:none}a:hover{color:#fff}.page{max-width:1200px;margin:0 auto;padding:32px 16px}@media (min-width:768px){.page{padding:32px}}.settings-page{background:#0f141299;border-radius:16px}.shell{max-width:1200px;margin:0 auto;padding:0 16px}@media (min-width:768px){.shell{padding:0 32px}}.header-shell{margin-top:0;margin-bottom:16px}.fixed-top{z-index:80;position:sticky;top:0}.player-shell-wrap[data-visible=false]{display:none}.player-shell-wrap{z-index:50;margin-bottom:16px;position:sticky;top:88px}.heading-1{font-family:var(--font-display),system-ui,sans-serif;margin:0 0 .5rem;font-size:28px;font-weight:600;line-height:1.3}.heading-2{font-family:var(--font-display),system-ui,sans-serif;margin:0 0 .75rem;font-size:22px;font-weight:600;line-height:1.3}.heading-3{font-size:18px;font-weight:500;line-height:1.4}.label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-subtle);font-size:13px}.text-body{color:var(--text-muted);font-size:15px;line-height:1.5}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;padding:24px;box-shadow:0 4px 16px #0006}.panel{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;padding:16px}header.panel{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--border-subtle);position:sticky;top:16px}.pill{height:28px;color:var(--text-muted);background:#ffffff0f;border-radius:999px;align-items:center;gap:.4rem;padding:0 12px;font-size:.8125rem;font-weight:500;display:inline-flex}.pill-success{color:var(--tide);background:#1db9541a;border:1px solid #1db9544d}.pill-warn{color:#fbbf24;background:#fb923c1a;border:1px solid #fb923c66}.pill-error{color:#fecaca;background:#ef44441f;border:1px solid #ef444466}.pill-info{color:#bfdbfe;background:#3b82f61f;border:1px solid #3b82f659}.btn{cursor:pointer;border:1px solid #0000;border-radius:16px;align-items:center;gap:.5rem;height:44px;padding:.6rem 1rem;font-size:.875rem;transition:all .2s;display:inline-flex}.btn-primary{background:var(--tide);color:#0b0b0b;box-shadow:var(--shadow-glow)}.btn-primary:hover{background:var(--pulse)}.btn-secondary{border-color:var(--tide);color:#fff;background:0 0}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover{text-decoration:underline}.btn:disabled{opacity:.6;cursor:not-allowed}.input{background:var(--bg-surface);border:1px solid var(--border-subtle);color:#fff;border-radius:16px;height:40px;padding:0 .8rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.combo{width:min(420px,100%);position:relative}.combo-input{background:var(--bg-surface);border:1px solid var(--border-subtle);color:#fff;border-radius:16px;width:100%;height:40px;padding:0 1rem;font-size:.9rem;box-shadow:inset 0 0 0 1px #ffffff05}.combo-clear{color:#fff;cursor:pointer;background:#ffffff14;border:0;border-radius:999px;width:24px;height:24px;font-size:1rem;line-height:1;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}.combo-clear:hover{background:#ffffff29}.combo-list{z-index:20;background:#0c0c0cfa;border:1px solid #ffffff14;border-radius:1rem;max-height:260px;padding:.4rem;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 18px #00000059}.combo-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:.55rem .75rem;font-size:.85rem}.combo-item:hover,.combo-item:focus-visible{background:#ffffff14;outline:none}.combo-item.active{color:#fff;background:#1db9542e;font-weight:600}.combo-track{align-items:center;gap:10px;display:inline-flex}.combo-track-cover{object-fit:cover;background:#ffffff14;border-radius:8px;width:28px;height:28px}.combo-track-cover.placeholder{display:inline-block}.combo-track-name{font-size:.85rem}.combo-empty{color:var(--text-subtle);padding:.6rem .8rem;font-size:.8rem}.artist-link{color:var(--tide);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.artist-link:hover{color:#fff}.login-shell{background:radial-gradient(circle at top,#12bfa22e,#0000 55%),linear-gradient(#0b0b0b 0%,#050505 100%);place-items:center;min-height:100vh;padding:2rem;display:grid}.login-card{text-align:center;background:#101010d9;border:1px solid #ffffff1a;border-radius:1.5rem;gap:1rem;width:min(420px,90vw);padding:2rem;display:grid;box-shadow:0 20px 60px #00000073}.login-logo{width:140px;height:auto;margin:0 auto}.login-title{font-family:var(--font-display);margin:0;font-size:1.7rem}.login-form{gap:.75rem;display:grid}.input:focus-visible,.combo-input:focus-visible,.btn:focus-visible,a:focus-visible,.combo-clear:focus-visible,.play-btn:focus-visible,.track-row:focus-visible,.segmented-btn:focus-visible,.detail-btn:focus-visible{outline:2px solid var(--tide);outline-offset:2px}.queue-add-btn{color:var(--tide);border-color:#1db95459;font-size:18px;font-weight:700;line-height:1}.queue-add-btn:hover{background:#1db9542e;border-color:#1db95499}.queue-add-btn:disabled{opacity:.4;cursor:not-allowed}.track-row:focus-visible{background:#1db9541f;border-color:#1db95480}.nav{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.nav-left{align-items:center;gap:16px;display:flex}.nav-right{align-items:center;margin-left:auto;display:flex}.nav-link{border:1px solid var(--border-subtle);color:#fff;background:0 0;border-radius:999px;align-items:center;height:44px;padding:0 16px;font-size:.8rem;display:inline-flex}.nav-link.secondary{border-color:var(--border-subtle);color:var(--text-muted)}.nav-link.active{color:#fff;box-shadow:none;background:#1db95440;border-color:#1db954e6}.library-sticky{z-index:40;background:linear-gradient(#080c0cd9 0%,#080c0c8c 70%,#080c0c1a 100%);border-radius:16px;padding:24px;position:static;top:auto}.library-logo{width:100%;max-width:240px;height:auto;margin:8px 0 16px}.status-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.status-grid.compact .panel{background:var(--bg-elevated);border:1px solid var(--border-subtle);padding:.5rem .75rem;font-size:.75rem}.status-badges{flex-wrap:wrap;gap:8px;display:flex}.status-summary{gap:4px;display:grid}.track-list{gap:8px;display:grid}.track-header{border:1px solid var(--border-subtle);background:var(--bg-elevated);text-transform:uppercase;letter-spacing:.14em;color:var(--text-subtle);border-radius:1rem;grid-template-columns:98px 1fr auto;align-items:center;gap:16px;padding:8px 16px;font-size:.65rem;display:grid}.track-header.columns-4{grid-template-columns:98px 1fr 1fr auto}.track-header.columns-5{grid-template-columns:98px 1fr 80px 1fr auto}.track-header.columns-6{grid-template-columns:98px minmax(0,1fr) 80px minmax(0,1fr) 72px 128px}.track-col-track{min-width:0}.track-col-year{text-align:left;justify-self:start;width:100%}.track-col-playlists{justify-self:start;width:100%;min-width:0}.track-col-duration,.track-col-actions{text-align:right;justify-self:end;width:100%}.track-actions-group{justify-content:flex-end;align-items:center;gap:8px;display:flex}.track-context-title{padding-left:114px}@media (max-width:900px){.track-context-title{padding-left:0}}.empty-state{background:#0006;border:1px dashed #ffffff2e;border-radius:1rem;padding:16px 18px}.empty-state .text-body{margin-top:4px}.playlist-chip{color:var(--text-muted);white-space:nowrap;border:1px solid #ffffff1f;border-radius:999px;align-items:center;margin:0 8px 8px 0;padding:.1rem .5rem;font-size:.7rem;display:inline-flex}.playlist-more{color:var(--tide);border:1px solid #1db9544d;border-radius:999px;align-items:center;margin:0 8px 8px 0;padding:.1rem .5rem;font-size:.7rem;display:inline-flex}.segmented{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:999px;gap:8px;margin-bottom:16px;padding:4px;display:inline-flex}.segmented-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;height:36px;padding:0 16px;font-size:.8rem;position:relative}.segmented-btn.active{background:var(--bg-surface);color:#fff}.segmented-btn.active:after{content:"";background:var(--tide);border-radius:999px;height:2px;position:absolute;bottom:2px;left:10px;right:10px}.segmented-btn:focus-visible{outline:2px solid var(--tide);outline-offset:2px}.details-summary{cursor:pointer;color:#fff;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:.85rem;font-weight:600;list-style:none;display:flex}.details-summary::-webkit-details-marker{display:none}.details-summary:after{content:""}.details-summary:hover{background:var(--bg-surface)}.details-summary:focus-visible{outline:2px solid var(--tide);outline-offset:2px}details[open]>.details-summary:after{content:"▴"}.track-row{background:0 0;border:0;padding:0;display:block}.track-row-inner{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:16px;width:100%}.track-row-inner:hover{background:var(--bg-elevated)}.track-row-inner.playing{border-color:#1db95480;border-left:4px solid var(--tide);background:var(--bg-elevated)}.track-virtual-list .track-row{background:0 0;border:0;padding:0;display:block}.track-virtual-list .track-row-inner{border-radius:16px}.detail-btn{width:36px;height:36px;color:var(--text-primary);cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.play-btn{color:#eafff2f2;cursor:pointer;background:#1db95433;border:1px solid #1db95473;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;transition:opacity .14s,transform .14s,background .12s,border-color .12s,color .12s;display:inline-flex}.play-btn:hover:not(:disabled){color:#fff;background:#1db9544d;border-color:#1db954a6}.play-btn:disabled{opacity:.4;cursor:not-allowed}.track-row .play-btn{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.92)}.track-row:hover .play-btn,.track-row:focus-within .play-btn{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.track-row:hover .play-btn:disabled,.track-row:focus-within .play-btn:disabled{opacity:.4}@media (hover:none){.track-row .play-btn{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}.track-row .play-btn:disabled{opacity:.4}}.detail-btn:hover{background:#1db9542e;border-color:#1db95466}.detail-btn:focus-visible{outline:2px solid var(--tide);outline-offset:2px}.shuffle-btn.active{color:#fff;background:linear-gradient(135deg,#1db954a6,#13c2a173),#00000040;border-color:#1db954e6;box-shadow:0 0 0 1px #1db95480,0 0 16px #1db95473}.shuffle-btn.pending{opacity:.6;pointer-events:none}.table-header{text-transform:uppercase;letter-spacing:.2em;background:#2a2a2acc;font-size:.7rem}.text-subtle{color:var(--text-subtle);font-size:.75rem}.text-muted{color:var(--text-muted)}.track-detail-overlay{z-index:60;background:#000000b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.track-detail-card{background:#0c0c0cfa;border:1px solid #ffffff1f;border-radius:16px;width:min(920px,100%);box-shadow:0 12px 32px #00000080}@media (prefers-reduced-motion:reduce){body{background-attachment:scroll}.player-control,.btn,.detail-btn{transition:none}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}.track-detail-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.track-detail-header-left{align-items:center;gap:16px;display:flex}.track-detail-header-cover{background:#ffffff14;border-radius:12px;flex-shrink:0;width:72px;height:72px;overflow:hidden}.track-detail-header-cover img{object-fit:cover;width:100%;height:100%;display:block}.track-detail-header-cover.placeholder{width:72px;height:72px}.track-detail-header-actions{align-items:center;gap:8px;display:inline-flex}.track-detail-body{grid-template-columns:1fr;gap:16px;padding:20px;display:grid}.track-detail-content{gap:16px;display:grid}.track-detail-section{gap:8px;display:grid}.track-detail-title{text-transform:uppercase;letter-spacing:.14em;color:var(--text-subtle);font-size:.7rem}.track-detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 16px;display:grid}.track-detail-field{background:#ffffff0a;border:1px solid #ffffff14;border-radius:12px;padding:8px 16px;font-size:.85rem}.track-detail-playlists{gap:6px;display:grid}.track-detail-playlist-row{align-items:center;gap:8px;display:inline-flex}.track-detail-playlists a{color:var(--text-primary);text-decoration:none}.track-detail-playlists a:hover{text-decoration:underline}.playlist-remove-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:inline-flex}.playlist-remove-btn:hover{background:#ff6a6a29;border-color:#ff6a6acc}.playlist-remove-btn:disabled{opacity:.5;cursor:not-allowed}.playing-indicator{color:#fff;background:#1db95440;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;display:inline-flex}.player-card{background:linear-gradient(135deg,#029ae42e,#13c2a129,#45dd611f),#0000008c;border:1px solid #029ae440;border-radius:18px;grid-template-columns:3fr 2fr;align-items:center;gap:16px;margin:16px 0 20px;padding:14px 16px;display:grid;position:relative}.player-release{color:#ffffff73;letter-spacing:.02em;pointer-events:none;font-size:11px;line-height:1;position:absolute;bottom:8px;left:12px}.player-cover{background:#029ae42e;border:1px solid #029ae459;border-radius:14px;width:80px;height:80px;overflow:hidden}.player-cover img{object-fit:cover;width:100%;height:100%;display:block}.player-cover.placeholder{width:80px;height:80px}.player-main{grid-template-columns:90px 1fr auto;align-items:center;gap:16px;min-width:0;display:grid}.player-connect{background:linear-gradient(135deg,#029ae42e,#13c2a129,#45dd611f),#00000073;border:1px solid #029ae440;border-radius:16px;min-width:0;padding:12px}.player-queue{background:linear-gradient(135deg,#029ae42e,#13c2a129,#45dd611f),#00000073;border:1px solid #029ae440;border-radius:16px;margin-top:12px;padding:12px}.player-queue-title{margin-bottom:8px;font-weight:600}.player-queue-list{gap:8px;display:grid}.player-queue-item{grid-template-columns:40px 1fr;align-items:center;gap:8px;display:grid}.player-queue-cover{background:#029ae433;border:1px solid #029ae44d;border-radius:8px;width:40px;height:40px}.player-queue-name{font-weight:500}.player-meta{min-width:0}.player-meta-wide{min-width:0;max-width:100%}.player-title{margin-bottom:4px;font-size:1rem;font-weight:600}.player-title-row{align-items:center;gap:10px;min-width:0;display:flex}.player-title-row .player-title{margin-bottom:0}.player-like-btn{color:#ffffffeb;cursor:pointer;background:#00000059;border:1px solid #029ae44d;border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;line-height:1;transition:transform 80ms,color .12s,background .12s;display:inline-flex}.player-like-btn:hover:not(:disabled){color:#fff;transform:scale(1.05)}.player-like-btn.active{color:#1ed760;background:#1db9542e;border-color:#1db95473}.player-like-btn:disabled{opacity:.75;cursor:default}.player-controls{align-items:center;gap:16px;display:inline-flex}.player-progress{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:8px;display:grid}.player-progress-main{grid-column:1/-1;margin-top:10px}.player-volume{grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-top:8px;display:grid}.player-slider{appearance:none;background:#029ae433;border-radius:999px;outline:none;width:100%;height:18px}.player-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#13c2a1;border:2px solid #0006;border-radius:50%;width:18px;height:18px}.player-slider::-moz-range-thumb{cursor:pointer;background:#13c2a1;border:2px solid #0006;border-radius:50%;width:18px;height:18px}.player-device-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.player-device-select{width:100%}.player-device-select:focus-visible{outline:none}.player-control{color:#fffc;cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;transition:transform 80ms,color 80ms,background 80ms;display:inline-flex}.player-control svg{fill:currentColor;width:24px;height:24px}.player-control-grad{background:linear-gradient(135deg,#029ae440,#13c2a133,#45dd612e),#00000059;border:1px solid #029ae440}.player-control:hover{color:#fff;transform:scale(1.06)}.player-control:active{transform:scale(.98)}.player-control-play{color:#111;background:#1db954;width:48px;height:48px}.player-control-play.player-control-grad{background:linear-gradient(135deg,#029ae459,#13c2a14d,#45dd6147),#1db954;border:1px solid #029ae44d}.account-page{gap:24px;display:grid}.account-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.account-version{text-align:right;background:#00000059;border:1px solid #029ae42e;border-radius:12px;flex-direction:column;justify-content:center;min-width:140px;height:32px;padding:0 10px;display:inline-flex}.account-version-value{font-size:.9rem;font-weight:600}.account-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.account-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;gap:16px;padding:24px;display:grid;box-shadow:0 4px 16px #0006}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.span-12{grid-column:1/-1}.account-panel-title{text-transform:uppercase;letter-spacing:0;color:#fff9;font-size:.7rem;font-weight:600}.account-connection{gap:10px;display:grid}.account-user{grid-template-columns:56px 1fr;align-items:center;gap:12px;display:grid}.account-user-avatar{background:#029ae426;border:1px solid #029ae440;border-radius:50%;width:56px;height:56px;overflow:hidden}.account-user-avatar img{object-fit:cover;width:100%;height:100%;display:block}.account-user-avatar.placeholder{width:56px;height:56px}.account-user-meta{gap:4px;min-width:0;display:grid}.account-user-name{font-weight:600}.account-actions{gap:10px;display:grid}.account-action-primary{border-radius:16px;padding:.6rem 1rem;font-size:.85rem}.btn-outline-green{color:#fff;background:0 0;border:1px solid #1db954e6}.btn-outline-green:hover{background:#1db9541a}.btn-solid-green{color:#0b0b0b;box-shadow:var(--shadow-glow);background:#1db954f2;border:1px solid #1db954e6}.account-divider{background:#ffffff14;height:1px;margin:48px 0}.account-divider+.account-panel{margin-top:48px}.account-resource-list{gap:12px;max-height:420px;padding-right:4px;display:grid;overflow-y:auto}.account-resource-row{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;height:64px;padding:0 16px;display:grid;position:relative}.account-resource-row:before{content:"";background:#3b82f6cc;border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.account-resource-row[data-status=ok]:before{background:#1db954e6}.account-resource-row[data-status=running]:before{background:#fb923ce6}.account-resource-row[data-status=failed]:before{background:#ef4444e6}.account-resource-row:hover{background:var(--bg-elevated)}.count-icon{margin-right:6px}.account-resource-name{min-width:0;font-weight:600}.account-resource-meta{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.account-resource-cta{justify-content:center;width:120px}.account-resource-spinner{border:2px solid #ffffff40;border-top-color:var(--tide);border-radius:50%;width:14px;height:14px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:980px){.account-grid{grid-template-columns:1fr}.span-3,.span-4,.span-6,.span-12{grid-column:1/-1}}.player-control-play svg{width:24px;height:24px}.player-control-play:hover{color:#111;background:#1ed760}.player-control-ghost.active:not(.shuffle-btn){color:#0b0b0b;background:var(--tide);border:1px solid #1db954e6}.volume-toggle{width:44px;height:44px;font-size:.95rem}.volume-toggle.active{color:#fff9}.player-slider-volume:disabled{opacity:.5;cursor:not-allowed}.player-badge{color:#029ae4e6;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}.player-badge-compact{min-width:0}@media (max-width:860px){.player-card{grid-template-rows:auto auto;grid-template-columns:1fr}.player-main{grid-template-rows:auto auto;grid-template-columns:70px 1fr}.player-controls,.player-connect{grid-column:1/-1}}@media (max-width:720px){.track-detail-header{flex-direction:column;align-items:flex-start}.track-detail-header-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}}
