:root {
  color-scheme: dark;
  --bg:#060807;
  --panel:#111512;
  --panel2:#090c0a;
  --edge:#303832;
  --text:#e7ebe6;
  --muted:#929a93;
  --green:#76de8d;
  --green-dim:#31553a;
  --amber:#d7a653;
  --amber-dim:#5b4828;
}

* { box-sizing:border-box; }
html,body { margin:0; min-height:100%; background:var(--bg); color:var(--text); }
body {
  min-height:100vh;
  padding:28px 18px 48px;
  font-family:Arial,Helvetica,sans-serif;
  position:relative;
  overflow-x:hidden;
}

a { color:var(--green); text-decoration:none; }
a:hover { color:#b6f6c2; text-decoration:underline; }

.ambient-backdrop {
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 50% 10%, rgba(86,128,92,.10), transparent 42%),
    linear-gradient(180deg, #090c0a, #030504 72%);
}

.credits-shell {
  width:min(1180px,100%);
  margin:0 auto;
  padding:18px;
  border:1px solid #303632;
  border-radius:12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 8%),
    linear-gradient(135deg, #121512, #090b0a 54%, #111411);
  box-shadow:0 28px 90px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.05);
}

.credits-header,
.credits-panel,
.credits-footer {
  border:1px solid var(--edge);
  background:linear-gradient(180deg,#151915,#0d100e);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045), inset 0 -8px 22px rgba(0,0,0,.18);
}

.credits-header { padding:20px; border-radius:7px; }
.back-link { display:inline-block; margin-bottom:18px; font-size:.72rem; letter-spacing:.13em; }
.brand-row { display:flex; justify-content:space-between; gap:28px; align-items:center; }
.station-logo { width:min(280px,34vw); max-height:92px; object-fit:contain; object-position:right center; }
.eyebrow { margin:0 0 6px; color:#7d877f; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(2rem,5vw,3.7rem); line-height:.92; letter-spacing:.015em; }
h1 span { color:var(--amber); font-weight:400; }
.lede { max-width:800px; margin:14px 0 0; color:#b8bfb9; line-height:1.55; }

.status-strip {
  margin-top:20px;
  padding-top:12px;
  border-top:1px solid #293029;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 18px;
  color:#7f8981;
  font-size:.66rem;
  letter-spacing:.13em;
}
.status-strip span { display:flex; align-items:center; gap:8px; }
.lamp { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 10px rgba(118,222,141,.72); }

.credits-panel { margin-top:14px; padding:20px; border-radius:6px; }
.intro-panel > p { margin:0; color:#a8b0aa; line-height:1.6; }
.summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:18px; }
.summary div { border:1px solid #283029; background:#080b09; padding:14px; }
.summary strong { display:block; color:var(--green); font-size:1.7rem; font-weight:500; }
.summary span { display:block; margin-top:3px; color:#777f79; font-size:.63rem; letter-spacing:.13em; }

.panel-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:14px; }
h2 { margin:0; font-size:1.18rem; letter-spacing:.04em; }
.section-note { margin:-3px 0 17px; color:#8d968f; line-height:1.5; font-size:.88rem; }
.artist-groups { display:grid; gap:10px; }

.artist-card { border:1px solid #2b332c; background:#090c0a; }
.artist-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:13px 14px;
  border-bottom:1px solid #242b25;
  background:linear-gradient(180deg,#111512,#0c0f0d);
}
.artist-name { margin:0; font-size:.98rem; letter-spacing:.06em; }
.license-badge {
  flex:0 0 auto;
  border:1px solid var(--green-dim);
  border-radius:999px;
  padding:4px 8px;
  color:var(--green);
  font-size:.64rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.license-badge.permission { color:var(--amber); border-color:var(--amber-dim); }
.artist-card-meta { margin-top:5px; display:flex; flex-wrap:wrap; gap:8px 14px; font-size:.72rem; color:#7f8981; }
.artist-card-meta a { font-size:inherit; }
.track-list { list-style:none; padding:0; margin:0; }
.track-row { padding:10px 14px; border-bottom:1px solid #202621; }
.track-row:last-child { border-bottom:0; }
.track-title { color:#d9ded9; font-size:.88rem; }
.track-credit { margin-top:4px; color:#818a83; font-size:.72rem; line-height:1.45; }
.track-credit.custom { color:#aeb6af; font-style:italic; }

.empty-state { text-align:center; padding:42px 20px; }
.empty-state p { color:var(--muted); }
.error-state { border-color:#5c3131; }

.credits-footer {
  margin-top:14px;
  padding:13px 15px;
  border-radius:6px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  color:#717971;
  font-size:.64rem;
  letter-spacing:.1em;
}
.credits-footer a { font-size:inherit; }

@media (max-width:700px) {
  body { padding:12px 8px 28px; }
  .credits-shell { padding:10px; }
  .brand-row { align-items:flex-start; }
  .station-logo { width:150px; }
  .summary { grid-template-columns:1fr; }
  .artist-card-head { flex-direction:column; }
}

@media (max-width:520px) {
  .station-logo { display:none; }
  h1 { font-size:2rem; }
  .credits-header,.credits-panel { padding:15px; }
  .status-strip { flex-direction:column; }
}
