:root{--bg: #14121b;--bg-soft: #1d1a27;--bg-card: #221e30;--line: #322c44;--text: #ece8f5;--muted: #9a92b0;--accent: #c8a2ff;--accent-soft: #6f5a99;--cc0: #6fd3a0;--patreon: #ff9d7a;--direct: #7ab8ff;--radius: 14px;--maxw: 1100px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#2a2340 0%,transparent 60%),radial-gradient(900px 500px at -10% 10%,#241f37 0%,transparent 55%),var(--bg);color:var(--text);font:16px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}.hero{padding:22px 0 28px}.topbar{display:flex;justify-content:flex-end;padding-top:14px}.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang a{padding:5px 12px;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none;background:var(--bg-card)}.lang a.on{background:var(--accent-soft);color:#fff}.lang a:hover{text-decoration:none;color:var(--text)}.lang a.on:hover{color:#fff}.lic-note{color:var(--muted);font-size:13px;font-style:italic;margin:0 0 16px}.hero h1{margin:0 0 6px;font-size:clamp(28px,5vw,44px);letter-spacing:-.02em}.hero .tag{color:var(--accent);font-weight:600}.hero p{color:var(--muted);max-width:60ch;margin:8px 0 0}.stats{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.stat{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.stat b{display:block;font-size:22px}.stat span{color:var(--muted);font-size:13px}.disclaimer{margin-top:18px;padding:12px 16px;border-left:3px solid var(--accent-soft);background:var(--bg-soft);border-radius:8px;color:var(--muted);font-size:14px}.controls{position:sticky;top:0;z-index:5;background:#14121bd9;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:14px 0;margin-top:26px}.controls .row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.search{flex:1 1 260px;min-width:200px;background:var(--bg-card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:10px 14px;font-size:15px}.search::placeholder{color:var(--muted)}select{background:var(--bg-card);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:9px 12px;font-size:14px}.toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.toggle button{background:var(--bg-card);color:var(--muted);border:0;padding:9px 14px;cursor:pointer;font-size:14px}.toggle button[aria-pressed=true]{background:var(--accent-soft);color:#fff}.toggle-row{display:flex;justify-content:center;margin-bottom:14px}.toggle--hero{border-radius:12px;border-color:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft),0 8px 22px -10px var(--accent)}.toggle--hero button{padding:11px 28px;font-size:15px;font-weight:700;letter-spacing:.01em}.toggle--hero button[aria-pressed=true]{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-soft) 100%);color:#1a1426}.count{color:var(--muted);font-size:13px;padding:8px 2px 0}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;border:1px solid transparent}.badge.CC0{color:var(--cc0);border-color:color-mix(in srgb,var(--cc0) 40%,transparent)}.badge.Patreon{color:var(--patreon);border-color:color-mix(in srgb,var(--patreon) 40%,transparent)}.badge.DirectPermission{color:var(--direct);border-color:color-mix(in srgb,var(--direct) 40%,transparent)}.view{padding:22px 0 60px}table{width:100%;border-collapse:collapse}thead th{text-align:left;color:var(--muted);font-size:13px;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);cursor:pointer;user-select:none;position:sticky;top:64px;background:var(--bg)}thead th[data-sort]:after{content:" ↕";opacity:.35}thead th.asc:after{content:" ↑";opacity:1}thead th.desc:after{content:" ↓";opacity:1}tbody td{padding:10px;border-bottom:1px solid var(--bg-soft);font-size:14px}tbody tr:hover{background:var(--bg-soft)}td.dur,th.dur{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}#by-table{display:none}.artist-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px}.artist-card h3{margin:0 0 2px;font-size:22px}.artist-card .meta{color:var(--muted);font-size:14px;margin-bottom:12px}.links{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 14px}.links a{font-size:13px;padding:4px 10px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line)}.lic{font-size:13px;color:var(--muted);margin:6px 0}.lic b{color:var(--text)}.lic .cond{color:var(--patreon)}details summary{cursor:pointer;color:var(--accent);font-size:14px;margin-top:6px}.empty{color:var(--muted);padding:30px 0;text-align:center;display:none}footer{border-top:1px solid var(--line);padding:26px 0;color:var(--muted);font-size:13px}@media(max-width:760px){.controls .row{gap:8px}.search{flex:1 1 100%;min-width:0}.controls select{flex:1 1 calc(50% - 4px);min-width:0}.toggle{margin-left:0;flex:1 1 100%}.toggle button{flex:1}thead th{position:static}}@media(max-width:620px){.wrap{padding:0 16px}.hide-sm{display:none}.hero{padding:14px 0 20px}.hero p{font-size:15px}.stats{gap:8px}.stat{flex:1 1 calc(33.333% - 8px);padding:10px 12px}.stat b{font-size:19px}thead th{padding:8px;font-size:12px}tbody td{padding:9px 8px;font-size:13px}tbody td:first-child{overflow-wrap:anywhere}tbody td:not(:first-child){white-space:nowrap}.artist-card{padding:16px}.artist-card h3{font-size:20px}footer{padding:22px 0}}@media(max-width:400px){.stat{flex:1 1 calc(50% - 8px)}.controls select{flex:1 1 100%}}.now-playing[data-astro-cid-dtxkt5ef]{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 14px;background:var(--bg-card);border:1px solid var(--line);border-radius:999px;font-size:14px}.np-dot[data-astro-cid-dtxkt5ef]{width:8px;height:8px;border-radius:50%;background:var(--cc0);box-shadow:0 0 10px var(--cc0);animation:np-pulse 2s ease-in-out infinite;flex:none}@keyframes np-pulse{0%,to{opacity:1}50%{opacity:.35}}.np-label[data-astro-cid-dtxkt5ef],.np-sep[data-astro-cid-dtxkt5ef]{color:var(--muted)}.np-track[data-astro-cid-dtxkt5ef]{font-weight:600}
