:root{
  --bg:#0b0f1a; --panel:#0f1730; --text:#e7f0ff; --muted:#9fb3d9;
  --accent:#2cf6ff; --accent2:#8b5cf6; --danger:#ff4d6d; --shadow:0 10px 30px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 800px at 20% 0%, #0e1530 0%, #0b0f1a 60%), var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica,Arial,sans-serif}
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(90deg, rgba(44,246,255,.08), rgba(139,92,246,.08));backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:36px;height:36px;filter:drop-shadow(0 0 8px rgba(44,246,255,.6))}
.controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
label{color:var(--muted);font-size:.9rem}
input[type="number"]{width:110px;padding:10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0a1024;color:var(--text);outline:none}
.btn{padding:10px 14px;border-radius:12px;border:1px solid rgba(44,246,255,.4);background:linear-gradient(180deg,#142446,#0d152c);color:var(--text);cursor:pointer;box-shadow:var(--shadow)}
.btn:hover{border-color:var(--accent)}
.btn.small{padding:6px 10px;border-radius:10px}
.tabs{display:flex;gap:8px;margin-left:8px}
.tab{padding:10px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,#18224b,#0d1530);color:var(--muted);cursor:pointer}
.tab.active{color:var(--text);border-color:var(--accent);box-shadow:0 0 10px rgba(44,246,255,.3), inset 0 0 10px rgba(44,246,255,.1)}
main{max-width:1100px;margin:30px auto;padding:0 16px}
.results{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.card{background:linear-gradient(180deg,#101734,#0b1026);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.rank{position:absolute;top:10px;right:12px;color:var(--accent);font-weight:700;opacity:.9}
.title{font-weight:700;margin:6px 0}
.artist{color:var(--muted);font-size:.95rem}
.actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.link{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#0a132e;color:var(--text);text-decoration:none}
.link:hover{border-color:var(--accent2)}
.site-footer{padding:24px 20px;border-top:1px solid rgba(255,255,255,.08);color:var(--muted);text-align:center}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}
.modal.hidden{display:none}
.modal-content{background:#0d132c;border:1px solid rgba(255,255,255,.12);width:min(900px,92vw);border-radius:16px;box-shadow:0 15px 60px rgba(0,0,0,.7);position:relative}
.close-btn{position:absolute;top:8px;right:8px;border:none;background:#121a3a;color:var(--text);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:6px 10px;cursor:pointer}
#playerContainer{aspect-ratio:16/9;width:100%}
@media (max-width:640px){ #playerContainer{aspect-ratio:auto;height:320px} }
.cookie-bar{position:fixed;left:0;right:0;bottom:0;background:#0f1730;border-top:1px solid rgba(255,255,255,.12);color:var(--text);display:flex;align-items:center;justify-content:center;gap:12px;padding:10px;z-index:60}
.cookie-bar.hidden{display:none}
.legal-modal{max-height:80vh;overflow:auto;padding:20px}
.legal-content h2{margin-top:0}
