/* ValdFM visual refresh: explicit artwork, truthful scene preview, neon audio spectrum. */
.cover{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 30% 20%,rgba(92,246,255,.22),transparent 38%),
    linear-gradient(145deg,#21183c,#0c0913 70%);
}
.cover img{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.015);
  transition:opacity .45s ease,transform 6s ease;
}
.cover.has-art img{opacity:1;transform:scale(1);filter:brightness(1.12) saturate(1.04) contrast(1.02)}
.cover-fallback{
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  color:#aaa3b8;
  font-size:10px;
  font-weight:800;
  letter-spacing:3px;
}
.cover.has-art .cover-fallback{display:none}
.cover-shine{
  z-index:2;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 28%,transparent 72%,rgba(144,92,255,.14));
  mix-blend-mode:screen;
}

.preview{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:300px;
  border:1px solid rgba(255,255,255,.12);
  background:#0b0812;
  box-shadow:inset 0 0 80px rgba(144,92,255,.1),0 28px 80px rgba(0,0,0,.28);
}
.preview-backdrop{
  position:absolute;
  z-index:-3;
  inset:-36px;
  background-position:center;
  background-size:cover;
  filter:blur(30px) saturate(1.55) brightness(.52);
  transform:scale(1.18);
  transition:background-image .5s ease;
}
.preview-shade{
  position:absolute;
  z-index:-2;
  inset:0;
  background:
    radial-gradient(circle at 20% 42%,rgba(92,246,255,.24),transparent 35%),
    radial-gradient(circle at 88% 22%,rgba(255,79,216,.22),transparent 34%),
    linear-gradient(90deg,rgba(7,5,13,.35),rgba(8,5,14,.84));
}
.preview::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:linear-gradient(120deg,transparent 45%,rgba(255,255,255,.045) 50%,transparent 55%);
  transform:translateX(-100%);
  animation:preview-sheen 9s ease-in-out infinite;
}
@keyframes preview-sheen{0%,72%{transform:translateX(-100%)}88%,100%{transform:translateX(100%)}}
.preview-art{
  position:absolute;
  left:30px;
  top:34px;
  width:180px;
  height:180px;
  object-fit:cover;
  border-radius:10px;
  opacity:0;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 22px 60px rgba(0,0,0,.48),0 0 45px rgba(92,246,255,.12);
  transition:opacity .4s ease;
}
.preview.has-art .preview-art{opacity:1}
.preview-brand{
  position:absolute;
  top:30px;
  left:240px;
  right:28px;
  display:flex;
  align-items:center;
  gap:8px;
  letter-spacing:2px;
  font-size:13px;
}
.preview-brand small{color:var(--acid)}
.preview-brand em{margin-left:auto;color:rgba(255,255,255,.58);font-size:8px;font-style:normal;letter-spacing:2px}
.preview-fullscreen{
  position:absolute;
  z-index:6;
  top:18px;
  right:20px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  padding:8px 12px;
  color:rgba(255,255,255,.82);
  background:rgba(7,5,13,.52);
  backdrop-filter:blur(10px);
  font:800 8px/1 inherit;
  letter-spacing:1.5px;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.preview-fullscreen:hover,.preview-fullscreen:focus-visible{border-color:#c8ff3d;color:#c8ff3d;background:rgba(7,5,13,.78);outline:none}
.preview-copy{
  position:absolute;
  left:240px;
  right:28px;
  top:88px;
  display:flex;
  flex-direction:column;
  min-width:0;
}
.preview-copy span{color:#5cf6ff;font-size:8px;font-weight:900;letter-spacing:2.5px}
.preview-copy strong{margin-top:8px;overflow:hidden;color:#fff;font-size:25px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 5px 22px rgba(0,0,0,.5)}
.preview-copy small{margin-top:7px;color:#c9c1d8;font-size:13px}
#preview-spectrum{
  position:absolute;
  left:238px;
  right:22px;
  bottom:34px;
  width:calc(100% - 260px);
  height:100px;
}
.preview-hint{
  position:absolute;
  left:240px;
  bottom:18px;
  color:rgba(255,255,255,.72);
  background:transparent;
  border:0;
  padding:0;
  font-family:inherit;
  text-align:left;
  cursor:pointer;
  font-size:7px;
  font-weight:800;
  letter-spacing:2px;
  transition:opacity .25s ease;
}
.preview-hint:hover,.preview-hint:focus-visible{color:#c8ff3d}
.preview.audio-live .preview-hint{opacity:0;pointer-events:none}

.preview:fullscreen,
.preview.fullscreen-fallback{
  width:100vw;
  height:100vh;
  min-height:100vh;
  border:0;
  border-radius:0;
  background:#07050d;
}
.preview.fullscreen-fallback{position:fixed;z-index:9999;inset:0;overscroll-behavior:contain}
body:has(.preview.fullscreen-fallback){overflow:hidden}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-fullscreen{top:clamp(20px,3vh,40px);right:clamp(20px,3vw,48px)}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-brand{top:clamp(24px,5vh,64px);left:clamp(28px,6vw,96px);right:clamp(28px,6vw,96px);font-size:clamp(14px,1.5vw,22px)}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-brand em{display:none}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-art{
  left:clamp(28px,6vw,96px);
  top:clamp(100px,18vh,180px);
  width:min(34vw,52vh);
  height:min(34vw,52vh);
  border-radius:clamp(10px,1.2vw,20px);
  box-shadow:0 32px 100px rgba(0,0,0,.56),0 0 80px rgba(92,246,255,.16);
}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-copy{left:46vw;right:7vw;top:25vh}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-copy span{font-size:clamp(9px,.85vw,14px)}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-copy strong{font-size:clamp(32px,4.5vw,74px);white-space:normal}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-copy small{font-size:clamp(16px,1.7vw,28px)}
:is(.preview:fullscreen,.preview.fullscreen-fallback) #preview-spectrum{left:46vw;right:6vw;bottom:16vh;width:48vw;height:30vh}
:is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-hint{left:46vw;bottom:12vh;font-size:clamp(8px,.8vw,13px)}

@media(max-width:760px){
  .preview{min-height:420px}
  .preview-art{left:24px;top:58px;width:150px;height:150px}
  .preview-brand{left:24px;top:24px}
  .preview-copy{left:194px;top:74px;right:20px}
  #preview-spectrum{left:24px;right:24px;bottom:36px;width:calc(100% - 48px);height:130px}
  .preview-hint{left:24px;bottom:18px}
}
@media(max-width:520px){
  .preview-art{width:128px;height:128px}
  .preview-copy{left:170px}
  .preview-copy strong{font-size:20px}
}

@media(max-aspect-ratio:3/4){
  :is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-brand{left:24px;top:24px}
  :is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-art{left:50%;top:11vh;width:min(58vw,32vh);height:min(58vw,32vh);transform:translateX(-50%)}
  :is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-copy{left:8vw;right:8vw;top:46vh;text-align:center}
  :is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-copy strong{font-size:clamp(28px,8vw,52px)}
  :is(.preview:fullscreen,.preview.fullscreen-fallback) #preview-spectrum{left:6vw;right:6vw;bottom:8vh;width:88vw;height:25vh}
  :is(.preview:fullscreen,.preview.fullscreen-fallback) .preview-hint{left:50%;bottom:5vh;transform:translateX(-50%);white-space:nowrap}
}

.track-notes{margin:0 0 28px;padding:30px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(120deg,rgba(32,69,78,.18),rgba(10,9,16,.8) 55%,rgba(87,47,118,.2));box-shadow:0 30px 70px rgba(0,0,0,.18)}
.notes-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:20px}.notes-heading h2{margin:5px 0 0;font-size:34px;letter-spacing:-1.3px}.notes-status{color:#5cf6ff;font-size:9px;font-weight:900;letter-spacing:1.5px}.notes-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.86fr);gap:34px;padding-top:24px}.notes-copy>p{margin:0;color:#d9d4e4;font-size:16px;line-height:1.55;max-width:670px}.note-facts{display:flex;gap:32px;flex-wrap:wrap;margin:26px 0 0}.note-facts div{display:grid;gap:6px}.note-facts dt,.listen-links>span{color:#827b8e;font-size:8px;font-weight:900;letter-spacing:1.7px}.note-facts dd{margin:0;color:#fff;font-size:12px;font-weight:750}.listen-links{display:grid;gap:12px;align-content:start}.listen-links>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.listen-link{min-height:96px;padding:14px 11px;display:flex;flex-direction:column;gap:7px;justify-content:flex-end;border:1px solid rgba(255,255,255,.13);background:rgba(4,4,8,.42);color:#fff;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.listen-link:hover,.listen-link:focus-visible{transform:translateY(-3px);outline:none}.listen-link svg{width:25px;height:25px;fill:currentColor;margin-bottom:auto}.listen-link b{font-size:11px}.listen-link small{font-size:7px;font-weight:900;letter-spacing:1.1px;opacity:.64}.spotify{color:#72eb84}.spotify:hover,.spotify:focus-visible{border-color:#72eb84;background:rgba(114,235,132,.08)}.apple{color:#f5b2c6}.apple:hover,.apple:focus-visible{border-color:#f5b2c6;background:rgba(245,178,198,.08)}.youtube{color:#ff7676}.youtube:hover,.youtube:focus-visible{border-color:#ff7676;background:rgba(255,118,118,.08)}
@media(max-width:760px){.track-notes{padding:24px}.notes-grid{grid-template-columns:1fr;gap:25px}.notes-heading h2{font-size:29px}.listen-links>div{max-width:510px}.note-facts{gap:22px}}
@media(max-width:430px){.track-notes{padding:21px}.notes-heading{align-items:flex-start;flex-direction:column;gap:9px}.notes-copy>p{font-size:15px}.listen-link{min-height:88px;padding:12px 9px}.listen-link svg{width:22px;height:22px}.listen-link b{font-size:10px}}

.signal-room{margin:0 0 28px;padding:30px;border:1px solid rgba(255,255,255,.11);background:linear-gradient(120deg,rgba(84,44,124,.18),rgba(10,9,16,.78) 52%,rgba(25,91,97,.16));box-shadow:0 30px 70px rgba(0,0,0,.18)}
.room-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:25px}.room-head h2{margin:5px 0 9px;font-size:34px;letter-spacing:-1.3px}.room-head p{max-width:580px;margin:0;color:#a9a2b4;font-size:14px;line-height:1.55}.room-rule{min-width:175px;border-left:2px solid #c8ff3d;padding:5px 0 5px 13px;display:grid;gap:5px}.room-rule b{font-size:10px;letter-spacing:1px;color:#c8ff3d}.room-rule span{font-size:11px;color:#a9a2b4;line-height:1.3}.room-grid{display:grid;grid-template-columns:minmax(260px,.73fr) minmax(300px,1.27fr);gap:30px}.request-form{display:grid;gap:8px}.request-form label{font-size:10px;font-weight:800;letter-spacing:1.1px;color:#d6d0df}.request-form label small{color:#837c90}.request-form input{width:100%;border:1px solid rgba(255,255,255,.13);background:rgba(4,4,8,.55);padding:13px 14px;color:#fff;font:13px inherit;outline:none;transition:border-color .2s}.request-form input:focus{border-color:#5cf6ff}.request-form button{margin-top:8px;padding:14px;border:0;background:linear-gradient(96deg,#c8ff3d,#5cf6ff);color:#0a0a0e;font:800 10px inherit;letter-spacing:1.2px;cursor:pointer;display:flex;justify-content:space-between}.form-status{min-height:17px;margin:4px 0 0;font-size:10px;font-weight:800;letter-spacing:.8px;color:#c8ff3d}.request-list-wrap{min-width:0}.list-label{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding:0 0 12px;color:#7f7789;font-size:9px;font-weight:800;letter-spacing:1.5px}.request-list{list-style:none;padding:0;margin:0}.request{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.rank{color:#655d70;font-size:12px;font-weight:800}.request div{display:grid;gap:4px;min-width:0}.request a{color:#5cf6ff;font-size:9px;font-weight:800;letter-spacing:1px;text-decoration:none}.request strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.request small{color:#9b94a4;font-size:11px}.vote{border:1px solid rgba(200,255,61,.35);background:rgba(200,255,61,.08);color:#e9ff9c;padding:8px 10px;min-width:54px;cursor:pointer;font:800 12px inherit}.vote:hover,.vote:focus-visible{background:rgba(200,255,61,.19);outline:none}.room-empty{padding:25px 0;color:#8a8294;font-size:13px}@media(max-width:700px){.signal-room{padding:22px}.room-head,.room-grid{grid-template-columns:1fr;display:grid}.room-rule{min-width:0}.room-head h2{font-size:29px}}
