:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--surface:#171a20;--raised:#20242c;--line:#2a2f38;--text:#eceef2;--muted:#9aa3b2;--accent:#a394ff;--on-accent:#14111f;--ok:#4ade80;--fail:#f87171;--nav-height:64px}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6f8;--surface:#fff;--raised:#eef0f4;--line:#e1e4ea;--text:#181b21;--muted:#5b6472;--accent:#5a48d6;--on-accent:#fff;--ok:#15803d;--fail:#c5322f}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:700}h2{margin:0 0 8px;font-size:1rem;font-weight:600}p{margin:0 0 12px}a{color:inherit;text-underline-offset:2px}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{min-height:100dvh;display:flex}.sidebar{z-index:20;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.sidebar .brand{display:none}.modules{grid-template-columns:repeat(4,1fr);display:grid}.nav-item{height:var(--nav-height);color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:500;display:flex;position:relative}.nav-item.tab-active{color:var(--accent)}.nav-icon{display:flex}.nav-count{min-width:18px;color:var(--on-accent);text-align:center;background:var(--accent);border-radius:9px;padding:0 5px;font-size:.68rem;font-weight:700;line-height:18px;position:absolute;top:6px;left:calc(50% + 6px)}.content{min-width:0;max-width:760px;padding:max(12px, env(safe-area-inset-top)) 16px calc(var(--nav-height) + env(safe-area-inset-bottom) + 84px);flex:1;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-bottom:8px;display:flex}.account{align-items:center;gap:4px;min-width:0;display:flex}.account-name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.brand{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700}.action-bar{right:12px;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + 10px);z-index:15;background:var(--raised);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:8px 8px 8px 16px;font-size:.925rem;font-weight:500;display:flex;position:fixed;left:12px;box-shadow:0 8px 28px #00000047}@media (width>=900px){.sidebar{border-top:0;border-right:1px solid var(--line);flex-direction:column;flex:none;align-self:flex-start;gap:24px;width:232px;height:100dvh;padding:24px 12px;display:flex;position:sticky;top:0;bottom:auto}.sidebar .brand{padding:0 12px;display:block}.modules{flex-direction:column;gap:2px;display:flex}.nav-item{border-radius:10px;flex-direction:row;justify-content:flex-start;gap:12px;height:44px;padding:0 12px;font-size:.95rem}.nav-item:hover,.nav-item.tab-active{color:var(--text);background:var(--raised)}.nav-item.tab-active .nav-icon{color:var(--accent)}.nav-count{margin-left:auto;position:static}.content{padding:24px 32px 96px}.action-bar{min-width:360px;bottom:24px;left:calc(50% + 116px);right:auto;transform:translate(-50%)}}.login,.loading{justify-content:center;align-items:center;min-height:100dvh;padding:16px;display:flex}.loading{color:var(--muted)}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;gap:12px;width:100%;max-width:400px;padding:32px 24px;display:grid}.login-card .brand{color:var(--accent);font-size:.95rem}.login-card .meta{margin:0 0 8px}.tabs{z-index:5;background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:none;gap:4px;margin:0 -16px 16px;padding:0 16px;display:flex;position:sticky;top:0;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{min-height:44px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;margin-bottom:-1px;padding:0 10px;font-size:.925rem;font-weight:500}.tab:hover{color:var(--text)}.tab-active{color:var(--text);border-bottom-color:var(--accent)}.card .tabs{background:0 0;margin:0 0 12px;padding:0;position:static}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:16px}.strip{margin-bottom:12px}.strip-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.strip-text{color:var(--muted);margin:0;font-size:.875rem}.strip .btn{flex:none}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}@media (width>=640px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-direction:column;padding:14px 16px;display:flex}.tile strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.4rem;font-weight:700}.tile .meta{font-size:.825rem}.meta,.hint{color:var(--muted)}.meta{font-size:.9rem}.hint{overflow-wrap:anywhere;margin:8px 0 0;font-size:.825rem}.page-hint{margin:-4px 0 12px}.status{margin:8px 0 0}.warn{color:var(--fail);font-size:.875rem}.btn{min-height:44px;color:var(--text);background:var(--raised);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0 16px;font-size:.95rem;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){border-color:var(--line)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{color:var(--on-accent);background:var(--accent)}.btn-danger{color:var(--fail);background:color-mix(in srgb, var(--fail) 14%, transparent)}.btn-ghost{color:var(--muted);background:0 0}.btn-small{flex:none;align-self:center;min-height:36px;padding:0 12px;font-size:.875rem;font-weight:500}.btn-inline{align-self:flex-start;margin-top:6px}.btn-block{width:100%}.card>.btn:not(.btn-small){margin-top:8px;margin-right:8px}@media (width<=639px){.card>.btn:not(.btn-small){width:100%;margin-right:0}}.link-btn{min-height:40px;color:var(--text);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:8px 0;display:block}.link-btn:hover{color:var(--accent)}.name-btn{min-height:0;padding:0;font-weight:600}.bulk{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.bulk .input{flex:200px;margin:0}.bulk .meta{margin:0}.input{width:100%;min-height:44px;color:var(--text);background:var(--raised);border:1px solid #0000;border-radius:10px;margin-bottom:8px;padding:0 12px}textarea.input{padding:10px 12px}.field{gap:6px;font-size:.875rem;font-weight:500;display:grid}.check{align-items:center;gap:12px;min-height:44px;margin-bottom:4px;font-size:.95rem;display:flex}.check input,.select input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.select{cursor:pointer;flex:none;justify-content:center;align-items:center;width:28px;min-height:44px;display:flex}.fallback{resize:vertical;margin-top:12px;font-size:.85rem}.notice{overflow-wrap:anywhere;border-radius:10px;margin:10px 0;padding:10px 12px;font-size:.925rem}.notice-ok{background:color-mix(in srgb, var(--ok) 13%, transparent)}.notice-fail{background:color-mix(in srgb, var(--fail) 13%, transparent)}.progress{background:var(--raised);border-radius:3px;height:6px;margin:12px 0 6px;overflow:hidden}.progress-bar{background:var(--accent);height:100%;transition:width .2s}.progress+.meta{margin:0;font-size:.825rem}.plain,.sublist{margin:0;padding:0;list-style:none}.row{border-top:1px solid var(--line);gap:10px;padding:10px 0;display:flex}.plain>.row:first-child{border-top:0}.row-compact{align-items:center;min-height:52px}.row-body{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.row>.select{align-self:flex-start;min-height:44px}.row .name{color:var(--text);font-weight:600;text-decoration:none}.row a.name:hover{color:var(--accent)}.row-muted .name,.row-muted .meta{color:var(--muted);opacity:.75}.cover{background:var(--raised);border-radius:6px;flex:none;width:44px;height:44px}summary{min-height:32px;color:var(--muted);cursor:pointer;align-items:center;font-size:.875rem;list-style:none;display:inline-flex}summary::-webkit-details-marker{display:none}summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:6px;height:6px;margin-right:8px;transition:transform .15s;transform:rotate(-45deg)}details[open]>summary:before{transform:rotate(45deg)}summary:hover{color:var(--text)}.sublist li{padding:4px 0;font-size:.925rem}.sublist-row{overflow-wrap:anywhere;align-items:center;gap:8px;min-height:40px;display:flex}.sublist-row span{min-width:0}.row-links{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:.875rem;display:flex}.row-links a{min-height:36px;color:var(--muted);align-items:center;display:inline-flex}.badge{color:var(--muted);background:var(--raised);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:500}.badge-own{color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.badge-inline{align-self:flex-start;margin-top:4px}.pager{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.pager .meta{font-variant-numeric:tabular-nums;font-size:.875rem}#list-duplicates,#list-core-artists,#list-core-tracks,#list-artists,#list-releases,#list-suggestions,#list-added,#list-similar,#list-saved{scroll-margin-top:60px}.crumbs{flex-wrap:wrap;align-items:center;gap:2px 8px;margin-bottom:10px;font-size:.9rem;display:flex}.crumb-current{overflow-wrap:anywhere;font-weight:600}.chart-readout{font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:.925rem}.chart-plot{border-bottom:1px solid var(--line);cursor:crosshair;touch-action:pan-y;align-items:flex-end;gap:2px;height:140px;display:flex}.bar{background:var(--accent);border-radius:3px 3px 0 0;flex:1;min-width:0}.bar-active{background:var(--text)}.chart-axis{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin:4px 0 8px;font-size:.825rem;display:flex}.table{font-variant-numeric:tabular-nums;border-collapse:collapse;width:100%;font-size:.925rem}.table th,.table td{text-align:left;border-top:1px solid var(--line);padding:6px 0}
