@font-face{font-family:'Michroma';src:url('fonts/Michroma-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Space Grotesk';src:url('fonts/SpaceGrotesk.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('fonts/JetBrainsMono.ttf') format('truetype');font-weight:100 800;font-display:swap}
:root{--ink:#050b13;--panel:#0b1622;--line:#1d3346;--text:#d6e4ec;--dim:#8ca6b8;--accent:#ff9a3c;--cyan:#59d8ed;--green:#3fe6a0}
*{box-sizing:border-box}
html{background:var(--ink)}
body{margin:0;color:var(--text);font:16px/1.6 'Space Grotesk',system-ui,sans-serif;background:radial-gradient(ellipse at 50% -10%,#0e2236 0,var(--ink) 60%) no-repeat,var(--ink);min-height:100vh;display:flex;flex-direction:column}
a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}
main{width:min(1160px,100% - 32px);margin:0 auto;flex:1}
h1,h2,h3{font-family:'Michroma',sans-serif;font-weight:400;letter-spacing:.03em;line-height:1.15;color:#f1f7fa}
h1{font-size:clamp(28px,5vw,52px);margin:.2em 0}h2{font-size:clamp(17px,2.2vw,22px);margin:1.6em 0 .7em}h3{font-size:16px;margin:1.4em 0 .4em}
.kicker{font:12px 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#ffb36b;margin:0}
.lead{color:#b9cdda;max-width:62ch}.meta{color:var(--dim);font-size:14px}.artist{color:var(--dim);margin:0 0 1em;letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.top{display:flex;align-items:center;justify-content:space-between;width:min(1160px,100% - 32px);margin:0 auto;padding:22px 0}
.brand{font:400 20px 'Michroma',sans-serif;letter-spacing:.2em;color:#f1f7fa}.brand:hover{text-decoration:none;color:var(--accent)}
.top nav{display:flex;gap:22px;font-size:14px}.top nav a{color:var(--dim)}
.foot{width:min(1160px,100% - 32px);margin:60px auto 0;padding:24px 0 90px;border-top:1px solid var(--line);display:flex;gap:24px;flex-wrap:wrap;color:#6c879a;font-size:13px}.foot a{color:#6c879a}
.hero{padding:clamp(40px,9vw,110px) 0 30px;text-align:center}.hero h1{font-size:clamp(44px,11vw,120px);letter-spacing:.12em;margin:.1em 0;text-shadow:0 0 40px rgba(90,166,255,.25)}.hero .lead{margin:0 auto}
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.album-card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;color:var(--text);transition:border-color .15s,transform .15s}
.album-card:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none}.album-card img{width:100%;height:auto;display:block}
.album-card div{padding:14px 16px}.album-card h3{margin:0 0 4px}.album-card p{margin:0;color:var(--dim);font-size:14px}
.album-head{display:grid;grid-template-columns:minmax(260px,520px) 1fr;gap:clamp(20px,4vw,48px);align-items:center;padding:20px 0 30px}
.album-cover,.track-cover{width:100%;height:auto;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.cta{background:var(--accent);color:#1b0f04;border:0;border-radius:999px;padding:12px 24px;font:600 15px 'Space Grotesk',sans-serif;cursor:pointer}.cta:hover{filter:brightness(1.1)}
.tracklist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.track{display:grid;grid-template-columns:44px 56px 1fr auto 96px 56px;gap:14px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line)}
.track:hover{background:rgba(255,255,255,.02)}.track .t-cover{width:56px;height:56px;border-radius:6px;object-fit:cover}.track.has-video{background:linear-gradient(90deg,rgba(255,154,60,.06),transparent 60%)}
.row-play{width:40px;height:40px;border-radius:50%;border:1px solid #33506a;background:transparent;color:var(--text);cursor:pointer}.row-play:hover,.row-play.on{border-color:var(--accent);color:var(--accent)}.row-play.muted{border:0;text-align:center;color:#3c556a}
.t-title{color:#eef5f9;font-weight:500}.t-num{font:12px 'JetBrains Mono',monospace;color:var(--dim);margin-right:12px}.t-genre{color:var(--dim);font-size:14px}.t-time{font:13px 'JetBrains Mono',monospace;color:var(--dim);text-align:right}
.badge{font:11px 'JetBrains Mono',monospace;color:var(--accent);border:1px solid rgba(255,154,60,.5);border-radius:999px;padding:2px 9px;white-space:nowrap}
.track.pending{opacity:.5}
.crumbs{font-size:13px;color:var(--dim);margin:4px 0 18px}.crumbs a{color:var(--dim)}
.film-frame{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.film-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.film-note{font-size:13px;color:var(--dim);margin:10px 0 0}
.title-row{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:22px;margin-top:26px}.title-cover{width:96px;height:96px;border-radius:8px}.title-text h1{margin:.1em 0}
.listen{display:grid;grid-template-columns:minmax(220px,420px) 1fr;gap:clamp(20px,4vw,48px);align-items:center}
.track-body{display:grid;grid-template-columns:1fr minmax(260px,380px);gap:clamp(24px,4vw,56px)}
.verse{margin-bottom:1.3em}.verse h4{font:11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#5f7d92;margin:0 0 .3em}.verse p{margin:0;font-size:17px;color:#dbe7ee}
.facts{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:4px 22px 18px;align-self:start;position:sticky;top:20px}
.facts p{color:#b9cdda;font-size:15px}.facts dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:18px 0;font-size:14px}.facts dt{color:var(--dim)}.facts dd{margin:0;font-family:'JetBrains Mono',monospace;font-size:13px}
.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font:11px 'JetBrains Mono',monospace;color:#9fc0d3;border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.analysis img{width:100%;height:auto;border-radius:8px;border:1px solid var(--line)}
.pager{display:flex;justify-content:space-between;gap:20px;margin:40px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.prose{max-width:70ch}.prose p{color:#b9cdda}
@media(max-width:760px){.album-head,.listen,.track-body{grid-template-columns:1fr}.track{grid-template-columns:40px 48px 1fr 48px}.track img{width:48px;height:48px}.t-genre,.badge{display:none}.facts{position:static}.album-cover,.track-cover{max-width:420px}}

/* buttons */
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}
.cta{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.cta:hover{text-decoration:none}
.ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text);border:1px solid #3a5670;border-radius:999px;padding:11px 20px;font:500 15px 'Space Grotesk',sans-serif;cursor:pointer;text-decoration:none}
.ghost:hover,.ghost.on{border-color:var(--accent);color:var(--accent);text-decoration:none}
.video-pill{display:inline-flex;align-items:center;gap:5px;font:600 12px 'Space Grotesk',sans-serif;color:#1b0f04;background:var(--accent);border-radius:999px;padding:5px 12px;white-space:nowrap;text-decoration:none;justify-self:start}
.video-pill:hover{filter:brightness(1.1);text-decoration:none}.video-pill.static{padding:2px 9px;font-size:11px}
/* video cards */
.videos{margin:10px 0 20px}.videos .lead{margin-top:-.3em}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:22px}
.video-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .15s}.video-card:hover{border-color:var(--accent)}
.video-still{position:relative;display:block;aspect-ratio:16/9;background:#000}.video-still img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.video-card:hover .video-still img{transform:scale(1.03)}
.still-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;border:2px solid var(--accent);background:rgba(5,11,19,.55);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:26px;padding-left:5px;backdrop-filter:blur(3px)}
.still-tag{position:absolute;left:12px;top:12px;font:600 11px 'JetBrains Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#1b0f04;background:var(--accent);border-radius:4px;padding:3px 8px}
.video-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;flex-wrap:wrap}.video-meta h3{margin:0 0 2px;font-size:17px}.video-meta h3 a{color:#f1f7fa}.video-meta p{margin:0;color:var(--dim);font-size:13px}
.video-actions{display:flex;gap:8px}.video-actions .cta,.video-actions .ghost{padding:8px 16px;font-size:14px}
/* waveform on track pages */
.wave-inline{margin:22px 0 6px;height:96px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer}
.wave-inline canvas{width:100%;height:100%;display:block}
/* dock player */
#dock{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);z-index:50;width:min(1160px,calc(100% - 20px));background:rgba(9,18,29,.97);border:1px solid #2a4560;border-radius:14px;padding:10px 14px;display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;box-shadow:0 14px 50px rgba(0,0,0,.6);backdrop-filter:blur(10px)}
#dock[hidden]{display:none}body.docked .foot{padding-bottom:150px}
#dock-cover{width:72px;height:72px;border-radius:8px;object-fit:cover}
#dock-head{display:flex;align-items:center;gap:12px;margin-bottom:4px}.dock-names{flex:1;min-width:0;display:flex;gap:10px;align-items:baseline;overflow:hidden;white-space:nowrap}
#dock-title{font-size:15px;color:#f1f7fa}#dock-sub{font-size:13px;color:var(--dim);overflow:hidden;text-overflow:ellipsis}#dock-time{font:12px 'JetBrains Mono',monospace;color:var(--dim);white-space:nowrap}
#dock-wave{height:62px;cursor:pointer;touch-action:none}#dock-wave canvas{width:100%;height:100%;display:block}
#dock-ctrl{display:flex;gap:8px;align-items:center}
#dock-ctrl button{height:40px;border-radius:999px;border:1px solid #33506a;background:transparent;color:var(--text);cursor:pointer;font:12px 'JetBrains Mono',monospace;padding:0 12px}
#dock-ctrl button:hover{border-color:var(--accent);color:var(--accent)}#dock-play{width:52px;height:52px!important;font-size:18px!important;border-color:var(--accent)!important;color:var(--accent)!important}
#dock-close{position:absolute;top:6px;right:8px;background:none;border:0;color:#6c879a;font-size:18px;cursor:pointer}
@media(max-width:760px){
 .track{grid-template-columns:40px 48px 1fr auto}.track .t-cover{width:48px;height:48px}.t-time{display:none}
 .title-row{grid-template-columns:64px 1fr}.title-row .actions{grid-column:1/3}.title-cover{width:64px;height:64px}
 #dock{grid-template-columns:52px 1fr;padding:10px}#dock-cover{width:52px;height:52px}#dock-ctrl{grid-column:1/3;justify-content:center}#dock-sub{display:none}#dock-wave{height:54px}
 .video-grid{grid-template-columns:1fr}
}
@media(max-width:520px){.brand{font-size:15px;letter-spacing:.14em}.top nav{gap:12px;font-size:13px}}
