/* Lyric page styles: matches the main site, built to READ (no flashlight). */
*{ box-sizing:border-box; margin:0; padding:0; }
:root{
  --bg:#030407; --ink:#f4f1e8; --muted:#7d8494; --blue:#29e7ff;
  --sans:"Space Grotesk", system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  --disp:"Anton", Impact, sans-serif;
}
html{ -webkit-text-size-adjust:100%; }
body{ background:var(--bg); color:var(--ink); font-family:var(--sans); line-height:1.55; min-height:100vh; overflow-x:hidden; -webkit-font-smoothing:antialiased; }
img{ display:block; max-width:100%; }
::selection{ background:var(--blue); color:#02131a; }
:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; }

.grain{ position:fixed; inset:0; z-index:90; pointer-events:none; opacity:.05; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.vignette{ position:fixed; inset:0; z-index:89; pointer-events:none;
  background:radial-gradient(120% 90% at 50% 25%, transparent 52%, rgba(0,0,0,.6) 100%); }

.bar{ position:relative; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:12px;
  max-width:900px; margin:0 auto; padding:20px clamp(20px,5vw,48px); }
.back{ font:500 12px/1 var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .3s; }
.back:hover{ color:var(--blue); }
.bar .tag{ font:500 11px/1 var(--mono); letter-spacing:.34em; text-transform:uppercase; color:#3a4050; }
.bar .tag::before{ content:"[ "; } .bar .tag::after{ content:" ]"; }

.song{ position:relative; z-index:2; max-width:640px; margin:0 auto; padding:clamp(20px,5vw,40px) clamp(20px,5vw,48px) 90px; text-align:center; }
.hero{ display:flex; flex-direction:column; align-items:center; gap:14px; margin-bottom:clamp(32px,7vh,60px); }
.cover{ width:clamp(150px,42vw,190px); aspect-ratio:1; border-radius:14px; object-fit:cover;
  box-shadow:0 24px 64px rgba(0,0,0,.6), 0 0 0 1px rgba(41,231,255,.25), 0 0 60px rgba(41,231,255,.12); filter:saturate(.95) brightness(.96); }
.eyebrow{ font:500 11px/1 var(--mono); letter-spacing:.32em; text-transform:uppercase; color:var(--muted); }
.title{ font-family:var(--disp); font-weight:400; text-transform:uppercase; font-size:clamp(2.6rem,10vw,4.6rem);
  line-height:.9; letter-spacing:.01em; text-shadow:0 0 46px rgba(41,231,255,.42), 0 0 14px rgba(41,231,255,.28); }
.theme{ color:var(--blue); font-style:italic; font-size:clamp(1rem,3vw,1.2rem); text-shadow:0 0 24px rgba(41,231,255,.35); }
.player{ width:100%; max-width:430px; margin-top:10px; }
.player iframe{ width:100%; border:0; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,.5); }

.lyrics{ white-space:pre-wrap; font-size:clamp(1.05rem,3vw,1.22rem); line-height:1.9; color:#dcd9d0; letter-spacing:.004em; }

.foot{ margin-top:clamp(44px,8vh,76px); display:flex; flex-direction:column; gap:20px; align-items:center; }
.listen{ display:flex; gap:22px; flex-wrap:wrap; justify-content:center; font:500 12px/1 var(--mono); letter-spacing:.1em; text-transform:uppercase; }
.listen a{ color:var(--ink); text-decoration:none; opacity:.82; transition:color .3s, opacity .3s; }
.listen a:hover{ color:var(--blue); opacity:1; }
.back-foot{ font:500 11px/1 var(--mono); letter-spacing:.2em; text-transform:uppercase; color:var(--muted);
  text-decoration:none; border-bottom:1px solid #1d2430; padding-bottom:4px; transition:color .3s, border-color .3s; }
.back-foot:hover{ color:var(--blue); border-color:var(--blue); }

/* ---- Lyrics index page ---- */
.index{ position:relative; z-index:2; max-width:900px; margin:0 auto; padding:clamp(20px,5vw,40px) clamp(20px,5vw,48px) 90px; }
.index-title{ font-family:var(--disp); font-weight:400; text-transform:uppercase; text-align:center; font-size:clamp(2.4rem,9vw,4.4rem); line-height:.9; letter-spacing:.01em; text-shadow:0 0 40px rgba(41,231,255,.35); }
.index-sub{ text-align:center; color:var(--muted); margin:10px 0 clamp(28px,5vh,48px); font-size:clamp(1rem,2.6vw,1.15rem); }
.index-grid{ display:grid; gap:clamp(10px,1.6vw,16px); grid-template-columns:repeat(2,1fr); }
@media(min-width:640px){ .index-grid{ grid-template-columns:repeat(3,1fr); } }
@media(min-width:920px){ .index-grid{ grid-template-columns:repeat(4,1fr); } }
.lcard{ display:block; text-decoration:none; color:var(--ink); border-radius:12px; overflow:hidden; position:relative;
  background:#0a0c13; border:1px solid rgba(244,241,232,.06); transition:border-color .3s, transform .25s; }
.lcard img{ width:100%; aspect-ratio:1; object-fit:cover; filter:saturate(.9) brightness(.78); transition:filter .4s, transform .5s; }
.lcard-t{ display:block; padding:12px 12px 2px; font-weight:700; font-size:.95rem; line-height:1.15; }
.lcard-x{ display:block; padding:2px 12px 14px; font-size:.74rem; color:var(--blue); opacity:.9; line-height:1.25; }
.lcard:hover{ border-color:var(--blue); transform:translateY(-3px); }
.lcard:hover img{ filter:saturate(1.12) brightness(1); transform:scale(1.05); }
.index .foot{ margin-top:clamp(36px,7vh,64px); }
