.app-sidebar.svelte-1nhzsi7{position:fixed;top:0;left:0;bottom:0;z-index:20;display:flex;flex-direction:column;width:220px;padding:.75rem;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-right:1px solid var(--border);overflow-y:auto;transition:width var(--dur-med) var(--ease)}.app-sidebar.collapsed.svelte-1nhzsi7{width:60px}.theme-toggle.svelte-1nhzsi7{display:flex;align-items:center;gap:.75rem;padding:.4rem .6rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.theme-toggle.svelte-1nhzsi7:hover{color:var(--text);background:var(--surface-1)}.sidebar-top.svelte-1nhzsi7{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.brand.svelte-1nhzsi7{display:flex;align-items:center;gap:.6rem;min-width:0;padding:.25rem;color:var(--text);text-decoration:none}.brand-icon.svelte-1nhzsi7{width:1.5rem;height:1.5rem;flex-shrink:0;color:var(--accent)}.brand-name.svelte-1nhzsi7{font-size:1.05rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.collapse-toggle.svelte-1nhzsi7{margin-left:auto;display:flex;align-items:center;justify-content:center;padding:.3rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.collapse-toggle.svelte-1nhzsi7:hover{color:var(--text);background:var(--surface-1)}.collapse-toggle.svelte-1nhzsi7 svg:where(.svelte-1nhzsi7){width:1.1rem;height:1.1rem}.sidebar-nav.svelte-1nhzsi7{display:flex;flex-direction:column;gap:.15rem}.sidebar-nav.svelte-1nhzsi7 a:where(.svelte-1nhzsi7){position:relative;display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border-radius:6px;color:var(--text-muted);text-decoration:none;font-size:.9rem;font-weight:600;white-space:nowrap;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.sidebar-nav.svelte-1nhzsi7 a:where(.svelte-1nhzsi7):hover{color:var(--text)}.sidebar-nav.svelte-1nhzsi7 a.active:where(.svelte-1nhzsi7){color:var(--text);background:var(--surface-1)}.nav-label.svelte-1nhzsi7{overflow:hidden;text-overflow:ellipsis}.collapsed.svelte-1nhzsi7 .nav-label:where(.svelte-1nhzsi7){display:none}.collapsed.svelte-1nhzsi7 .sidebar-nav:where(.svelte-1nhzsi7) a:where(.svelte-1nhzsi7){justify-content:center;padding:.55rem}.collapsed.svelte-1nhzsi7 .nav-badge:where(.svelte-1nhzsi7){position:absolute;top:.1rem;right:.1rem;margin-left:0;min-width:.95rem;line-height:.95rem;font-size:.6rem;background:var(--bg)}.collapsed.svelte-1nhzsi7 .collapse-toggle:where(.svelte-1nhzsi7){margin-left:0}.collapsed.svelte-1nhzsi7 .sidebar-top:where(.svelte-1nhzsi7){flex-direction:column;gap:.4rem}.sidebar-footer.svelte-1nhzsi7{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.sidebar-footer.svelte-1nhzsi7 .job-indicator{flex-direction:column;align-items:stretch;margin-left:0}.sidebar-footer.svelte-1nhzsi7 .job-pill{justify-content:center}.sidebar-user.svelte-1nhzsi7{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--text-muted)}.username.svelte-1nhzsi7{flex:1;white-space:nowrap}.sidebar-version.svelte-1nhzsi7{font-size:.7rem;color:var(--text-muted);opacity:.75;padding-left:.65rem}.sign-out.svelte-1nhzsi7{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.sign-out.svelte-1nhzsi7:hover{color:var(--text);border-color:var(--text-muted)}.collapsed.svelte-1nhzsi7 .sidebar-user:where(.svelte-1nhzsi7){justify-content:center}.collapsed.svelte-1nhzsi7 .theme-toggle:where(.svelte-1nhzsi7){justify-content:center;border:none;padding:.4rem}.collapsed.svelte-1nhzsi7 .sign-out:where(.svelte-1nhzsi7){border:none;padding:.4rem}.offline-pill.svelte-1nhzsi7{display:inline-flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.25rem .6rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger);font-size:.75rem;font-weight:600}.collapsed.svelte-1nhzsi7 .offline-pill:where(.svelte-1nhzsi7){justify-content:center;padding:.25rem}@media(max-width:720px){.app-sidebar.svelte-1nhzsi7{display:none}}.bottom-nav.svelte-1azti6v{display:none}@media(max-width:720px){.bottom-nav.svelte-1azti6v{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sidebar);background:var(--chrome-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.bn-item.svelte-1azti6v{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem 0 .5rem;border:none;background:transparent;color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-semibold);min-height:52px}.bn-item.active.svelte-1azti6v{color:var(--accent)}.bn-label.svelte-1azti6v{line-height:1}.bn-badge.svelte-1azti6v{position:absolute;top:.15rem;right:calc(50% - 1.4rem);min-width:1rem;padding:0 .3rem;border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--weight-bold);line-height:1rem;text-align:center;color:var(--on-accent);background:var(--accent)}.bn-overlay.svelte-1azti6v{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--overlay)}.bn-sheet.svelte-1azti6v{position:fixed;left:0;right:0;bottom:0;z-index:calc(var(--z-overlay) + 1);display:flex;flex-direction:column;padding:var(--space-2) var(--space-3) calc(var(--space-2) + env(safe-area-inset-bottom));background:var(--surface-2);border-top:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-3)}.bn-sheet-item.svelte-1azti6v{display:flex;align-items:center;gap:.75rem;padding:.7rem .75rem;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text);font-size:var(--text-md);font-weight:var(--weight-semibold);text-align:left;text-decoration:none}.bn-sheet-item.svelte-1azti6v:active{background:var(--surface-1)}.bn-divider.svelte-1azti6v{height:1px;margin:var(--space-2) 0;background:var(--border)}}.sk.svelte-19vyxbv{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);animation:svelte-19vyxbv-sk-pulse 1.4s ease-in-out infinite}.sk-line.svelte-19vyxbv{height:.8rem;border:none;border-radius:var(--r-full);background:var(--border)}.sk-cover.svelte-19vyxbv{aspect-ratio:1}.sk-stat.svelte-19vyxbv{height:4.5rem}@keyframes svelte-19vyxbv-sk-pulse{0%,to{opacity:1}50%{opacity:.55}}.sk-card.svelte-o4p3vv{display:flex;flex-direction:column}.sk-card-body.svelte-o4p3vv{padding:.6rem .7rem .7rem;display:flex;flex-direction:column;gap:.3rem}.sk-gap.svelte-o4p3vv{height:.2rem}.empty-state.svelte-64hdw{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center}.empty-state.svelte-64hdw svg{color:var(--text-muted)}.es-title.svelte-64hdw{margin:0;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text)}.es-body.svelte-64hdw{margin:0;max-width:42ch;color:var(--text-muted);font-size:var(--text-base)}.es-actions.svelte-64hdw{display:flex;gap:.6rem;margin-top:var(--space-2)}.spinner.svelte-mfr6of{animation:svelte-mfr6of-spin .7s linear infinite}@keyframes svelte-mfr6of-spin{to{transform:rotate(360deg)}}.btn.svelte-g9c1iq{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem .75rem;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1);color:var(--text);font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:inherit;line-height:1.4;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.btn.svelte-g9c1iq:active:not(:disabled){transform:scale(.97)}.btn.svelte-g9c1iq:hover:not(:disabled){border-color:var(--border-strong)}.btn.svelte-g9c1iq:disabled{opacity:.5;cursor:default}.btn-primary.svelte-g9c1iq{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary.svelte-g9c1iq:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost.svelte-g9c1iq{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost.svelte-g9c1iq:hover:not(:disabled){color:var(--text);border-color:var(--border)}.btn-danger.svelte-g9c1iq{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.btn-danger.svelte-g9c1iq:hover:not(:disabled){border-color:var(--danger)}.btn-sm.svelte-g9c1iq{padding:.25rem .55rem;font-size:var(--text-sm)}.btn-block.svelte-g9c1iq{display:flex;width:100%}.error-state.svelte-bvw973{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-6) 0}.error-details.svelte-bvw973{font-size:var(--text-sm);color:var(--text-muted)}.error-details.svelte-bvw973 code:where(.svelte-bvw973){display:block;margin-top:var(--space-1);max-width:60ch;white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono)}.modal.svelte-9pi54v:focus{outline:none}.modal.wide.svelte-9pi54v{width:min(640px,calc(100vw - 2rem))}.progress.svelte-fnn7li{height:.35rem;min-width:4rem;background:var(--border);border-radius:var(--r-full);overflow:hidden}.progress-fill.svelte-fnn7li{height:100%;background:var(--accent);border-radius:var(--r-full);transition:width var(--dur-med) var(--ease-out)}.totp-step.svelte-qvsjcg{display:flex;flex-direction:column;gap:.5rem}.totp-step.svelte-qvsjcg input:where(.svelte-qvsjcg){background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .6rem;font-size:.9rem}.totp-qr.svelte-qvsjcg{align-self:center}.totp-secret.svelte-qvsjcg{align-self:center;font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.recovery-codes.svelte-qvsjcg{margin:0;font-family:var(--font-mono);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.5rem .7rem;line-height:1.7}.settings-tabs.svelte-uox1oc{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-4) 0 var(--space-1)}.settings-tab.svelte-uox1oc{padding:.35rem .8rem;border:1px solid var(--border);border-radius:var(--r-full);background:transparent;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.settings-tab.svelte-uox1oc:hover{color:var(--text);border-color:var(--border-strong)}.settings-tab.active.svelte-uox1oc{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.settings-grid.svelte-uox1oc{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem 1rem;margin-bottom:.5rem}.setting-field.svelte-uox1oc{display:flex;flex-direction:column;gap:.3rem}.setting-label.svelte-uox1oc{font-size:.85rem;color:var(--text-muted);display:flex;align-items:center;gap:.4rem}.setting-field.svelte-uox1oc input[type=text]:where(.svelte-uox1oc),.setting-field.svelte-uox1oc input[type=password]:where(.svelte-uox1oc){background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .6rem;font-size:.9rem}.setting-field.svelte-uox1oc select:where(.svelte-uox1oc){background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .6rem;font-size:.9rem}.save-row.svelte-uox1oc{margin-top:1rem}.pw-form.svelte-uox1oc{display:flex;flex-wrap:wrap;gap:.5rem}.pw-form.svelte-uox1oc input:where(.svelte-uox1oc){background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.45rem .6rem;font-size:.9rem}.totp-block.svelte-uox1oc{margin-top:1rem;display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.token.svelte-uox1oc{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.4rem .6rem;font-size:.8rem;word-break:break-all;max-width:32rem}.agent-hint.svelte-uox1oc{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:.75rem;font-size:.8rem;overflow-x:auto;margin:.6rem 0 .25rem;max-width:32rem}.small.svelte-uox1oc{font-size:.8rem}.setup.svelte-760mc0{max-width:520px;margin:3rem auto;padding:0 1.5rem}fieldset.svelte-760mc0{border:1px solid var(--border);border-radius:8px;margin:0 0 1rem;padding:1rem;display:flex;flex-direction:column;gap:.7rem}legend.svelte-760mc0{padding:0 .4rem;font-weight:600}label.svelte-760mc0{display:flex;flex-direction:column;gap:.3rem;flex:1;font-size:.85rem;color:var(--text-muted)}input.svelte-760mc0,select.svelte-760mc0{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.5rem .6rem;font-size:.95rem}.muted.svelte-760mc0{color:var(--text-muted)}.small.svelte-760mc0{font-size:.8rem;margin:.25rem 0 0}.warning.svelte-760mc0{color:var(--warning)}.error.svelte-760mc0{color:var(--danger)}.token.svelte-760mc0{display:block;background:var(--surface-1);border:1px dashed var(--border);border-radius:6px;padding:.5rem .6rem;font-family:var(--font-mono);font-size:.85rem;word-break:break-all;margin:.6rem 0}.agent-hint.svelte-760mc0{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:.75rem;font-size:.8rem;overflow-x:auto;margin:.6rem 0 1rem}.auth.svelte-wn3gk0{max-width:380px;margin:4rem auto;padding:0 1.5rem}form.svelte-wn3gk0{display:flex;flex-direction:column;gap:.9rem}label.svelte-wn3gk0{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-muted)}input.svelte-wn3gk0{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.5rem .6rem;font-size:.95rem}.error.svelte-wn3gk0{color:var(--danger);margin:0}.muted.svelte-wn3gk0{color:var(--text-muted);margin:0}.version.svelte-wn3gk0{margin-top:1.5rem;text-align:center;font-size:.8rem}.divider.svelte-wn3gk0{display:flex;align-items:center;gap:.8rem;color:var(--text-muted);font-size:.8rem;margin:1.2rem 0}.divider.svelte-wn3gk0:before,.divider.svelte-wn3gk0:after{content:"";flex:1;border-top:1px solid var(--border)}.sso.svelte-wn3gk0{display:block;text-align:center;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.6rem 1.2rem;text-decoration:none}.sso.svelte-wn3gk0:hover{border-color:var(--accent)}.auth.svelte-17y2q1x{max-width:380px;margin:4rem auto;padding:0 1.5rem}form.svelte-17y2q1x{display:flex;flex-direction:column;gap:.9rem}label.svelte-17y2q1x{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-muted)}input.svelte-17y2q1x{background:var(--surface-1);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:.5rem .6rem;font-size:.95rem}.muted.svelte-17y2q1x{color:var(--text-muted)}.error.svelte-17y2q1x{color:var(--danger);margin:0}.toaster.svelte-qh8836{position:fixed;right:1rem;bottom:1rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);max-width:min(380px,calc(100vw - 2rem));pointer-events:none}.toast.svelte-qh8836{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);font-size:var(--text-base);pointer-events:auto}.toast.svelte-qh8836 svg{flex-shrink:0;color:var(--text-muted)}.toast-success.svelte-qh8836{border-color:color-mix(in srgb,var(--success) 45%,transparent)}.toast-success.svelte-qh8836 svg{color:var(--success)}.toast-error.svelte-qh8836{border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.toast-error.svelte-qh8836 svg{color:var(--danger)}.toast-msg.svelte-qh8836{flex:1;min-width:0}.toast-close.svelte-qh8836{display:flex;align-items:center;justify-content:center;padding:.2rem;border:none;border-radius:var(--r-xs);background:transparent;color:var(--text-muted);cursor:pointer}.toast-close.svelte-qh8836:hover{color:var(--text)}:root{color-scheme:dark;--bg: #121216;--surface-1: #1c1c22;--surface-2: #24242d;--border: #2c2c36;--border-strong: #3e3e4a;--text: #e8e8ec;--text-muted: #9a9aa6;--accent: #7c6cf0;--accent-hover: #8f82f8;--on-accent: #ffffff;--danger: #ff8e8e;--warning: #e0b34c;--success: #a8e6b0;--info: #8ec9ff;--type-album-fg: #8ec9ff;--type-ep-fg: #a8e6b0;--type-single-fg: #f2c979;--placeholder: #26262e;--crop-bg: #000000;--overlay: rgba(0, 0, 0, .6);--chrome-bg: color-mix(in srgb, var(--bg) 85%, transparent);--shadow-1: 0 1px 2px rgba(0, 0, 0, .25);--shadow-2: 0 4px 16px rgba(0, 0, 0, .35);--shadow-3: 0 12px 40px rgba(0, 0, 0, .5);--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .05em;--tracking-wider: .08em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 10px;--r-full: 999px;--dur-fast: .12s;--dur-med: .2s;--dur-slow: .3s;--ease: cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1);--z-sticky: 5;--z-header: 10;--z-sidebar: 20;--z-overlay: 100;--z-toast: 120;--sidebar-w: 220px;--sidebar-w-collapsed: 60px;--content-max: 1600px}:root[data-theme=light]{color-scheme:light;--bg: #f6f3ee;--surface-1: #ffffff;--surface-2: #ffffff;--border: #e4ded4;--border-strong: #cbc3b6;--text: #26231d;--text-muted: #6f685c;--accent: #6a56d6;--accent-hover: #5b48c4;--on-accent: #ffffff;--danger: #c13f2f;--warning: #8f6a12;--success: #2f7d45;--info: #2c6cb3;--type-album-fg: #3a6ea5;--type-ep-fg: #2f7d45;--type-single-fg: #9a6b17;--placeholder: #e7e1d8;--crop-bg: #000000;--overlay: rgba(38, 32, 22, .45);--chrome-bg: color-mix(in srgb, var(--bg) 88%, transparent);--shadow-1: 0 1px 2px rgba(58, 46, 28, .06);--shadow-2: 0 4px 16px rgba(58, 46, 28, .1);--shadow-3: 0 12px 40px rgba(58, 46, 28, .16)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:100%;line-height:1.5}header{position:sticky;top:0;z-index:var(--z-header);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);background:var(--chrome-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}h1{margin:0;font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}h3{margin:0 0 var(--space-3);font-size:var(--text-lg)}input,select,button{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1);color:var(--text);font-size:var(--text-base);font-family:inherit}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}main{padding:var(--space-6);max-width:var(--content-max);margin:0 auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:200;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font-size:var(--text-base);font-weight:var(--weight-semibold);text-decoration:none;transform:translateY(-300%);transition:transform var(--dur-med) var(--ease)}.skip-link:focus{transform:none}.nav-badge{display:inline-block;min-width:1.1rem;margin-left:.35rem;padding:0 .35rem;border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--weight-bold);line-height:1.1rem;text-align:center;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.job-indicator{display:flex;gap:var(--space-2);margin-left:auto}.job-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--r-full);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.job-pill:hover{border-color:var(--accent)}.job-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);animation:job-pulse 1.2s ease-in-out infinite}.job-progress{color:var(--text-muted);font-variant-numeric:tabular-nums}@keyframes job-pulse{0%,to{opacity:1}50%{opacity:.3}}.pagebar{display:flex;gap:var(--space-2);max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--space-6) 0}.pagebar input[type=search]{flex:1;min-width:160px}.app-main{margin-left:var(--sidebar-w, 220px);transition:margin-left var(--dur-med) var(--ease)}.boot-splash{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);color:var(--text-muted)}.boot-logo{width:3rem;height:3rem;color:var(--accent)}.layout{display:flex;gap:var(--space-6);max-width:var(--content-max);margin:0 auto;padding:var(--space-6)}.layout>main.content{flex:1;min-width:0;padding:0;margin:0}.sidebar{width:220px;flex-shrink:0;position:sticky;top:1rem;align-self:flex-start}.sidebar.narrow{width:auto}.group-index{display:flex;flex-direction:column;gap:.1rem}.group-index button{padding:.2rem .6rem;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);font-size:var(--text-base);font-weight:var(--weight-semibold);text-align:left;transition:color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease)}.group-index button:hover{color:var(--text)}.group-index button.active{color:var(--text);background:var(--surface-1)}.sidebar h4{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-muted)}.sidebar .hint{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}@media(max-width:720px){.app-main{margin-left:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.layout{flex-direction:column}.sidebar{width:100%;position:static}.group-index{flex-direction:row;flex-wrap:wrap}.pagebar,.cal-bar{flex-wrap:wrap}.cal-day{height:5.5rem;padding:.2rem}.cal-entry .cal-artist{display:none}.cal-weekday{padding:.3rem;font-size:var(--text-2xs)}.tracklist thead{display:none}.tracklist,.tracklist tbody,.tracklist tr,.tracklist td{display:block}.tracklist{border:none;background:transparent;border-radius:0}.tracklist tr{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:.6rem;padding:.6rem .8rem}.tracklist td{border:none;padding:.15rem 0}.tracklist .tno,.tracklist .tdur,.new-releases-list .nr-date,.new-releases-list .nr-detected,.quarantine-list .q-date,.quarantine-list .q-actions,.jobs-list .j-progress,.jobs-list .j-time{width:auto;text-align:left}.cal-bar .mark-all{margin-left:0}}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:var(--space-5);margin-bottom:var(--space-2)}.card{display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease)}@media(hover:hover)and (pointer:fine){.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2)}}.card:active{transform:translateY(-2px) scale(.98)}.cover{aspect-ratio:1;background:var(--placeholder)}.fade-img{opacity:0;transition:opacity var(--dur-med) var(--ease)}.fade-img.loaded{opacity:1}.cover img{width:100%;height:100%;object-fit:cover;display:block}.placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.placeholder svg{width:40%;height:40%}.meta{padding:var(--space-2) var(--space-3) var(--space-3);display:flex;flex-direction:column;gap:.2rem}.title{font-weight:var(--weight-semibold);font-size:var(--text-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.title{color:var(--text);text-decoration:none;transition:color var(--dur-fast) var(--ease)}a.title:hover{text-decoration:underline}a.title:after{content:"";position:absolute;inset:0}.artist{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.artist{text-decoration:none;position:relative;z-index:1;transition:color var(--dur-fast) var(--ease)}a.artist:hover{color:var(--text);text-decoration:underline}.group{scroll-margin-top:var(--space-2)}.group-header{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.3rem;position:sticky;top:-1px;z-index:var(--z-sticky);background:var(--chrome-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.date{color:var(--text-muted);font-size:var(--text-sm);display:flex;gap:var(--space-2)}.original{opacity:.75}.badges{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:.35rem}.badge{padding:.1rem .45rem;border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.03em;border:1px solid var(--border);color:var(--text-muted)}.badge.type-album{color:var(--type-album-fg);border-color:color-mix(in srgb,var(--type-album-fg) 45%,transparent)}.badge.type-ep{color:var(--type-ep-fg);border-color:color-mix(in srgb,var(--type-ep-fg) 45%,transparent)}.badge.type-single{color:var(--type-single-fg);border-color:color-mix(in srgb,var(--type-single-fg) 45%,transparent)}.badge.format{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.footer{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-6) 0;color:var(--text-muted);font-size:var(--text-base)}.error{color:var(--danger)}.empty{color:var(--text-muted);text-align:center;padding:var(--space-12) 0}a.card{color:inherit;text-decoration:none}.back{display:inline-block;margin-bottom:var(--space-4);color:var(--text-muted);text-decoration:none;font-size:var(--text-base);transition:color var(--dur-fast) var(--ease)}.back:hover{color:var(--text)}.artist-head{display:flex;gap:var(--space-6);margin-bottom:var(--space-8)}.artist-image{width:256px;aspect-ratio:1;flex-shrink:0;align-self:flex-start;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--placeholder)}.artist-image img{width:100%;height:100%;object-fit:cover;display:block}.artist-info{display:flex;flex-direction:column;gap:.4rem;min-width:0}.artist-info h2{margin:0;font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.subtle{margin:0;color:var(--text-muted);font-size:var(--text-base)}.bio{margin:var(--space-2) 0 0;max-width:70ch;color:var(--text);font-size:var(--text-base);line-height:1.5}.bio-clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;overflow:hidden}.read-more{align-self:flex-start;margin:.25rem 0 0;padding:0;background:none;border:none;color:var(--accent);font-size:var(--text-base);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.read-more:hover{text-decoration:underline}.discography{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.discography li{padding:var(--space-2) var(--space-4);background:var(--surface-1);border-bottom:1px solid var(--border)}.discography li:last-child{border-bottom:none}.discography li:not(.owned) .rg-title,.discography li:not(.owned) .rg-date{opacity:.55}.rg-row{display:flex;align-items:center;gap:var(--space-4)}.rg-toggle{flex-shrink:0;display:flex;align-items:center;padding:.15rem;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease)}.rg-toggle svg{width:.85rem;height:.85rem;transition:transform var(--dur-fast) var(--ease-out)}.rg-toggle:hover{color:var(--text)}.rg-toggle.open svg{transform:rotate(90deg)}.rg-expanded{display:flex;align-items:flex-start;gap:var(--space-4)}.rg-cover{width:80px;flex-shrink:0;aspect-ratio:1;margin-top:.4rem;margin-left:var(--space-8);border-radius:var(--r-xs);overflow:hidden;background:var(--placeholder)}.rg-cover img{width:100%;height:100%;object-fit:cover;display:block}.rg-expanded .editions{flex:1;min-width:0}.rg-expanded:has(.rg-cover) .editions{padding-left:.2rem}.editions{padding:.4rem .2rem .4rem var(--space-8);font-size:var(--text-base)}.editions ul{list-style:none;margin:0;padding:0}.editions li{display:flex;align-items:center;gap:.9rem;padding:.18rem 0;border:none;color:var(--text-muted)}.ed-date{width:5.6rem;flex-shrink:0;font-variant-numeric:tabular-nums}.ed-country{width:1.8rem;flex-shrink:0}.ed-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editions a.badge{text-decoration:none}.rg-date{width:3rem;flex-shrink:0;color:var(--text-muted);font-size:var(--text-base);font-variant-numeric:tabular-nums}.rg-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-md)}.rg-badges{display:flex;gap:.4rem;flex-shrink:0}.rg-link{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0;color:inherit;text-decoration:none}.rg-link:hover .rg-title,.rg-link:hover .rg-date{opacity:1}.rg-link:hover .rg-title{text-decoration:underline}.release-head{display:flex;gap:var(--space-6);margin-bottom:var(--space-8)}.release-cover{width:220px;aspect-ratio:1;flex-shrink:0;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--placeholder)}.release-cover img{width:100%;height:100%;object-fit:cover;display:block}.release-info{display:flex;flex-direction:column;gap:.4rem;min-width:0}.release-info h2{margin:0;font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.disc-header{margin:var(--space-5) 0 .4rem;font-size:var(--text-base);color:var(--text-muted);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.tracklist{width:100%;border-collapse:collapse;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.tracklist td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);font-size:var(--text-md)}.tracklist tr:last-child td{border-bottom:none}.tracklist .tno{width:2.5rem;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.tracklist .ttitle{min-width:0}.track-artist{display:block;color:var(--text-muted);font-size:var(--text-sm)}.tracklist .tdur{width:4rem;color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums}.sidebar .path{font-family:var(--font-mono);font-size:var(--text-sm);word-break:break-all}.badge.warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 45%,transparent)}button.danger{color:var(--danger)}button.danger:hover:not(:disabled){border-color:var(--danger)}main>h2{margin:0 0 .4rem;font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.quarantine-list .q-album{min-width:0}.quarantine-list .q-path{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:34rem}.quarantine-list .q-tags{min-width:12rem}.quarantine-list .q-tags .badges{flex-wrap:wrap}.quarantine-list .q-date{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap}.quarantine-list .q-actions{white-space:nowrap;text-align:right}.quarantine-list .q-actions button{margin-left:.4rem}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4) var(--space-5);margin-top:var(--space-5)}.panel h3{margin-top:0}.panel .tracklist{border:none;background:transparent}.panel .tracklist td{padding:.45rem .5rem}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.subhead{margin:1.1rem 0 .4rem;font-size:var(--text-base);color:var(--text-muted);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.running{margin-top:var(--space-2)}.add-channel{margin-top:.9rem}.add-channel input[type=email],.add-channel input[type=url],.add-channel input[type=text]{flex:1;min-width:10rem}.add-channel input.narrow{flex:0 1 7rem;min-width:5rem}.toggle{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:var(--text-sm);margin-right:.6rem;cursor:pointer}.ch-summary{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28rem;color:var(--text-muted);font-size:var(--text-base)}.status-done{color:var(--text-muted)}.status-running,.status-queued{color:var(--accent)}.status-failed{color:var(--danger)}.j-error{display:block;max-width:24rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:var(--text-sm)}.stat-cards{display:flex;flex-wrap:wrap;gap:var(--space-4);margin:var(--space-4) 0 var(--space-2)}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:9rem;padding:var(--space-4) var(--space-6);background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);text-decoration:none;color:var(--text);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease)}@media(hover:hover)and (pointer:fine){.stat-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-2)}}.stat-num{font-size:var(--text-3xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.stat-label{color:var(--text-muted);font-size:var(--text-base)}.dash-section{margin-top:var(--space-8)}.dash-head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3)}.dash-head h3{margin:0;font-size:var(--text-lg)}.dash-head .cal-month{color:var(--text-muted);font-size:var(--text-base)}.dash-more{margin-left:auto;font-size:var(--text-base)}.cal-bar{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-4) 0}.cal-nav{display:flex;align-items:center;justify-content:center;padding:.35rem .55rem}.cal-bar .cal-month{min-width:9rem;text-align:center;font-weight:var(--weight-bold)}.cal-bar .filters{margin-left:auto;display:flex;gap:var(--space-3)}.disco-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 var(--space-3)}.disco-head h3{margin:0}.disco-filters{display:flex;gap:var(--space-3)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.cal-weekday{background:var(--surface-1);padding:.4rem .6rem;font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-muted)}.cal-day{background:var(--surface-1);height:clamp(7rem,17vh,11rem);min-width:0;padding:var(--space-1);display:flex;flex-direction:column}.cal-day.other-month{opacity:.45}.cal-day.today{box-shadow:inset 0 0 0 2px var(--accent)}.cal-day.today .cal-daynum{color:var(--accent)}.cal-daynum{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-muted);font-variant-numeric:tabular-nums}.cal-dayhead{display:flex;align-items:center;justify-content:space-between;gap:.3rem;margin-bottom:var(--space-1)}.cal-count{flex-shrink:0;padding:0 .4rem;border-radius:var(--r-full);font-size:var(--text-2xs);font-weight:var(--weight-semibold);line-height:var(--space-5);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.cal-entries{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.cal-entry{display:flex;flex-direction:column;padding:.15rem .3rem;margin-bottom:.2rem;border-radius:var(--r-xs);background:color-mix(in srgb,var(--accent) 12%,transparent);min-width:0}.cal-entry a{text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--dur-fast) var(--ease)}.cal-entry a:hover{text-decoration:underline}.cal-entry .cal-title{color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.cal-entry .cal-artist{color:var(--text-muted);font-size:var(--text-xs)}.cal-artist-row{display:flex;align-items:center;gap:.3rem;min-width:0}.cal-artist-row .cal-artist{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-artist-row .badge{flex-shrink:0}.owned-badge{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.badge.linked-badge{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);text-decoration:none}.badge.unseen{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.new-releases-list .nr-date{width:7.5rem;color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.new-releases-list .nr-title{min-width:0}.new-releases-list .nr-title .title{display:flex;align-items:center;gap:var(--space-2)}.new-releases-list .nr-title a{color:var(--text);text-decoration:none;transition:color var(--dur-fast) var(--ease)}.new-releases-list .nr-title a:hover{text-decoration:underline}.new-releases-list tr.unseen .nr-title .title a{font-weight:var(--weight-bold)}.new-releases-list .nr-title .artist a{color:var(--text-muted);font-size:var(--text-sm)}.new-releases-list .nr-detected{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap}.new-releases-list .nr-actions{white-space:nowrap;text-align:right}.cal-bar .mark-all{margin-left:auto}.jobs-list th{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);text-align:left}.jobs-list .j-progress,.jobs-list .j-time{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;font-variant-numeric:tabular-nums}.j-progress-row{display:inline-flex;align-items:center;gap:.5rem;min-width:9rem}.modal-overlay{position:fixed;inset:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay)}.modal{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);width:min(480px,calc(100vw - 2rem));display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-3)}.modal h3{margin:0}.bio-modal{width:min(640px,calc(100vw - 2rem))}.bio-modal .bio-full{margin:0;max-height:70vh;overflow-y:auto;color:var(--text);font-size:var(--text-md);line-height:1.6;white-space:pre-wrap}.crop-viewport{width:400px;max-width:100%;aspect-ratio:1;overflow:hidden;border-radius:var(--r-md);border:1px solid var(--border);cursor:grab;touch-action:none;background:var(--crop-bg)}.crop-viewport canvas{display:block;width:100%;height:100%}.crop-controls{display:flex;gap:var(--space-4);align-items:center}.zoom-row{display:flex;align-items:center;gap:var(--space-2);flex:1;font-size:var(--text-base);color:var(--text-muted)}.zoom-row input[type=range]{flex:1;padding:0;border:none;background:none;accent-color:var(--accent)}.crop-empty{padding:var(--space-6) 0;text-align:center}.modal-actions{display:flex;gap:var(--space-2);align-items:center}.modal-actions .spacer{flex:1}
