#root{min-height:100vh}button,input,select,textarea{font:inherit}:root{--bg:#0a0908;--bg-deep:#050403;--ink:#f3ece0;--ink-dim:#f3ece08c;--ink-mute:#f3ece047;--rule:#f3ece024;--accent:#d04545;--accent-soft:#d045452e;--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Geist", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, "SFMono-Regular", monospace;--artist-tracking:.22em;--page-pad:clamp(20px, 4vw, 56px);--row-h:clamp(64px, 7vh, 96px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0;font-weight:400;overflow-x:hidden}body{background:radial-gradient(ellipse 70% 50% at 50% 0%, #d045451a, transparent 60%), radial-gradient(ellipse 90% 60% at 50% 100%, #d045450d, transparent 60%), var(--bg);min-height:100vh}body:before{content:"";pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}::selection{background:var(--accent);color:var(--bg)}.nav{z-index:30;padding:18px var(--page-pad);background:linear-gradient(to bottom, var(--bg) 60%, transparent);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);justify-content:space-between;align-items:center;font-size:11px;display:flex;position:sticky;top:0}.nav .brand{color:var(--ink);letter-spacing:var(--artist-tracking);align-items:center;gap:10px;display:flex}.nav .brand-code:before{content:"·";color:var(--ink-dim);margin-right:10px}.nav .brand .dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%}.nav .meta{gap:22px;display:flex}.nav .meta a{color:inherit;text-decoration:none;transition:color .2s}.nav .meta a:hover{color:var(--ink)}@media (width<=760px){html{scroll-padding-top:94px}.nav{letter-spacing:.12em;background:linear-gradient(#0a0908f0 72%,#0000);flex-wrap:wrap;align-items:center;gap:10px 16px;padding-top:12px;padding-bottom:10px;font-size:10px}.nav .brand{letter-spacing:.18em;gap:9px;width:100%}.nav .brand-code{margin-left:auto}.nav .brand-code:before{display:none}.nav .meta{scrollbar-width:none;order:3;justify-content:space-between;gap:12px;width:100%;padding-bottom:2px;overflow-x:auto}.nav .meta::-webkit-scrollbar{display:none}.nav .meta a{flex:none}}.hero{padding:clamp(40px, 6vh, 96px) var(--page-pad) clamp(48px, 8vh, 120px);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:end;gap:clamp(24px,4vw,64px);display:grid;position:relative}@media (width<=880px){.hero{grid-template-columns:1fr}}@media (width<=640px){.hero{padding-top:18px;padding-bottom:44px}}.hero-meta{flex-direction:column;gap:28px;min-width:0;display:flex}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);align-items:center;gap:12px;font-size:11px;display:flex}.eyebrow .accent{color:var(--accent)}.eyebrow .bar{background:var(--rule);flex:1;max-width:80px;height:1px}@media (width<=560px){.hero-meta{gap:22px}.eyebrow{letter-spacing:.18em;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px;font-size:10px;display:grid}.eyebrow .bar{display:none}.eyebrow span:last-child{grid-column:2}.artist-line{letter-spacing:.2em;font-size:10px}}.artist-line{font-family:var(--mono);letter-spacing:var(--artist-tracking);text-transform:uppercase;color:var(--ink-dim);margin-bottom:4px;font-size:12px}.title{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(96px,18vw,260px);font-weight:400;line-height:.85}.title .ital{color:var(--accent);font-style:italic}.title--long{max-width:8.8ch;font-size:clamp(64px,9.4vw,148px);line-height:.88}@media (width<=560px){.title{font-size:clamp(82px,30vw,132px)}.title--long{max-width:8.8ch;font-size:clamp(52px,16vw,80px);line-height:.92}}.title-foot{grid-template-columns:repeat(3,auto);gap:clamp(24px,4vw,56px);margin-top:8px;display:grid}@media (width<=640px){.title-foot{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:16px}}.foot-cell{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;flex-direction:column;gap:4px;font-size:11px;display:flex}.foot-cell .lbl{color:var(--ink-mute)}.foot-cell .val{color:var(--ink)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.btn{appearance:none;cursor:pointer;font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;border:0;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;font-size:11px;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--accent);color:var(--bg)}.btn--primary:hover{background:#e05a5a}.btn--ghost{color:var(--ink);border:1px solid var(--rule);background:0 0}.btn--ghost:hover{border-color:var(--ink-dim)}.btn svg{width:12px;height:12px}.hero-media{grid-template-columns:minmax(0,1fr) minmax(112px,.32fr);justify-self:end;align-items:end;gap:14px;width:100%;max-width:680px;display:grid;position:relative}.portrait-card{aspect-ratio:5/7;background:#070504;border-radius:4px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 30px 90px -24px #000000db,0 0 0 1px #ffffff0d}.portrait-card:after{content:"";pointer-events:none;background:linear-gradient(#0000 62%,#0504037a),radial-gradient(circle at 50% 10%,#d0454529,#0000 50%);position:absolute;inset:0}.portrait-card img,.photo-tile img{object-fit:cover;width:100%;height:100%;display:block}.hero-cover-strip{gap:10px;display:grid;position:relative}.cover-frame{justify-self:end;width:100%;max-width:660px;position:relative}@media (width<=880px){.hero-media,.cover-frame{justify-self:start;max-width:100%}}@media (width<=560px){.hero-media{grid-template-columns:1fr}.hero-cover-strip{margin-top:8px}.cover-frame .cover-label,.cover-frame .cover-spec{margin:0 0 10px;position:static}.cover-frame .cover-spec{margin:10px 0 0}}.cover-frame .cover-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;position:absolute;top:-22px;left:0}.hero-cover-strip .cover-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-size:10px}.cover-frame .cover-spec{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;position:absolute;bottom:-22px;right:0}.cover{background:#070504;border-radius:4px;width:100%;margin:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d,0 30px 80px -20px #000c,0 0 0 1px #ffffff0a}.cover-gallery{grid-template-columns:minmax(0,1fr) minmax(118px,.36fr);align-items:stretch;gap:14px;display:grid}.hero-cover-strip .cover-gallery{grid-template-columns:1fr;gap:10px}.hero-cover-strip .cover-gallery__rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cover img{object-fit:cover;width:100%;height:100%;display:block}.cover--primary{aspect-ratio:1}.cover-gallery__rail{gap:14px;display:grid}.cover--secondary{aspect-ratio:1}@media (width<=560px){.cover-gallery{grid-template-columns:1fr}.cover-gallery__rail{grid-template-columns:repeat(2,minmax(0,1fr))}}.photo-section{padding:clamp(48px, 8vh, 96px) var(--page-pad);border-bottom:1px solid var(--rule);grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.photo-section__copy{gap:14px;display:grid;position:sticky;top:92px}.photo-section__copy .num{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-mute);font-size:11px}.photo-section__copy h2{font-family:var(--serif);letter-spacing:0;margin:0;font-size:clamp(38px,5.8vw,92px);font-weight:400;line-height:.92}.photo-section__copy .ital{color:var(--accent);font-style:italic}.photo-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(150px,17vw);gap:14px;display:grid}.photo-tile{background:#070504;border-radius:4px;margin:0;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a}.photo-tile--1{grid-area:span 2/span 2}.photo-tile--2,.photo-tile--5,.photo-tile--3,.photo-tile--4,.photo-tile--6{grid-column:span 2}@media (width<=880px){.photo-section{grid-template-columns:1fr}.photo-section__copy{position:static}.photo-grid{grid-auto-rows:minmax(170px,34vw)}}@media (width<=560px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:52vw;gap:10px}.photo-tile,.photo-tile--1,.photo-tile--2,.photo-tile--3,.photo-tile--4,.photo-tile--5,.photo-tile--6{grid-area:span 1/span 1}.photo-tile--1{grid-area:span 2/1/auto/-1}}.marquee{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;color:var(--ink);padding:22px 0;font-size:clamp(40px,6vw,84px);line-height:1;overflow:hidden}.marquee .track{gap:48px;padding-right:48px;animation:30s linear infinite marqueeScroll;display:inline-flex}.marquee .ital{color:var(--accent);font-style:italic}.marquee .artist-name{font-family:var(--mono);letter-spacing:var(--artist-tracking);text-transform:uppercase;vertical-align:middle;color:var(--ink-dim);font-size:.24em}.marquee .star{color:var(--accent);margin:0 18px;font-style:normal}@keyframes marqueeScroll{to{transform:translate(-50%)}}.section{padding:clamp(48px, 8vh, 96px) var(--page-pad)}.section--tight{padding-top:clamp(32px,5vh,64px);padding-bottom:clamp(32px,5vh,64px)}.section-hd{border-bottom:1px solid var(--rule);grid-template-columns:80px 1fr auto;align-items:baseline;gap:24px;margin-bottom:36px;padding-bottom:18px;display:grid}.section-hd .num{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-mute);font-size:11px}.section-hd .ttl{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);font-size:clamp(28px,4vw,48px);font-weight:400}.section-hd .ttl .ital{color:var(--accent);font-style:italic}.section-hd .side{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-size:11px}@media (width<=760px){.section-hd{grid-template-columns:1fr;gap:10px;margin-bottom:24px}}.tracklist{margin:0;padding:0;list-style:none;position:relative}.tracklist:before{content:"";background:linear-gradient(to bottom, transparent, var(--accent) 12%, var(--rule) 88%, transparent);opacity:.7;width:1px;position:absolute;top:28px;bottom:28px;left:9px}.track-item{list-style:none;position:relative}.track-item--standalone{border-bottom-color:color-mix(in srgb, var(--accent) 36%, transparent);margin-bottom:clamp(18px,2vw,28px)}.track-item--standalone:after{content:"EP timeline";color:var(--muted);background:var(--bg);font:700 10px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;padding:0 10px;position:absolute;bottom:calc(-1*clamp(18px,2vw,28px));left:clamp(56px,7vw,82px)}.track-row{appearance:none;color:inherit;font:inherit;text-align:left;width:100%;min-height:var(--row-h);cursor:pointer;background:0 0;border:0;grid-template-columns:104px 1fr auto;align-items:center;gap:24px;padding:16px 0;transition:padding .25s,background .25s;display:grid}.track-item{border-bottom:1px solid var(--rule)}.track-item--standalone{border-bottom-color:color-mix(in srgb, var(--accent) 36%, transparent)}.track-row:hover{background:#ffffff05;padding-left:14px;padding-right:14px}.track-row.is-playing{padding-left:14px;padding-right:14px}.track-row:disabled{cursor:default}.track-row:disabled .name,.track-row:disabled .extra{opacity:.54}.track-row:disabled:hover{background:0 0;padding-left:0;padding-right:0}.track-row.is-playing .num{color:var(--accent)}.track-row.is-playing .name{color:var(--ink)}.track-row.is-playing .num .roman{display:none}.track-row.is-playing .num .bars{display:flex}.track-row .num{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-mute);align-items:center;gap:10px;min-width:0;font-size:11px;display:flex}.track-row .timeline-dot{z-index:1;border:1px solid var(--rule);background:var(--bg);width:19px;height:19px;box-shadow:0 0 0 6px var(--bg);border-radius:50%;flex:none;position:relative}.track-row .timeline-dot:after{content:"";background:var(--ink-mute);border-radius:50%;position:absolute;inset:5px}.track-row:hover .timeline-dot,.track-row.is-playing .timeline-dot{border-color:var(--accent)}.track-row:hover .timeline-dot:after,.track-row.is-playing .timeline-dot:after{background:var(--accent)}.track-row .timeline-index{flex-direction:column;gap:4px;min-width:0;display:flex}.track-row .timeline-date{letter-spacing:.16em;color:var(--ink-dim);white-space:nowrap;font-size:9px}.track-row .num .bars{align-items:end;gap:2px;height:12px;display:none}.track-row .num .bars i{background:var(--accent);width:2px;animation:1s ease-in-out infinite bar;display:block}.track-row .num .bars i:first-child{animation-delay:0s}.track-row .num .bars i:nth-child(2){animation-delay:.2s}.track-row .num .bars i:nth-child(3){animation-delay:.4s}.track-row .num .bars i:nth-child(4){animation-delay:.6s}@keyframes bar{0%,to{height:30%}50%{height:100%}}.track-row .name{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);align-items:baseline;gap:12px;min-width:0;font-size:clamp(28px,3.6vw,46px);font-weight:400;line-height:1;display:flex}.track-row .name .ital{color:var(--accent);font-style:italic}.track-row .name .feat{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;font-size:11px;font-style:normal}.track-row .extra{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:8px;font-size:10px;display:flex}.track-row .phase{color:var(--ink-dim);white-space:nowrap}.track-row .tag{border:1px solid var(--rule);border-radius:999px;padding:4px 8px}.track-row .tag--accent{color:var(--accent);border-color:var(--accent-soft)}.track-row .time{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-dim);font-variant-numeric:tabular-nums;font-size:12px}.track-item .lyrics-toggle{width:28px;height:28px;color:var(--ink-mute);cursor:pointer;opacity:0;font-family:var(--mono);background:0 0;border:0;font-size:16px;transition:opacity .2s,color .2s;position:absolute;top:50%;right:-38px;transform:translateY(-50%)}.track-item:hover .lyrics-toggle,.track-item .lyrics-toggle:focus-visible{opacity:1}.track-item .lyrics-toggle:hover,.track-item .lyrics-toggle:focus-visible{color:var(--accent)}.track-lyrics{font-family:var(--serif);color:var(--ink-dim);max-width:720px;padding:18px 0 28px 80px;font-size:clamp(18px,1.6vw,22px);font-style:italic;line-height:1.5;display:none}.track-lyrics.is-open{display:block}.track-lyrics em{color:var(--accent);font-style:italic}@media (width<=900px){.track-row,.track-row:hover,.track-row.is-playing{padding-right:40px}.track-item .lyrics-toggle{opacity:1;right:0}}@media (width<=760px){.tracklist:before{left:9px}.track-row{grid-template-columns:72px minmax(0,1fr);gap:10px 14px;min-height:86px;padding:18px 40px 18px 0}.track-row:hover,.track-row.is-playing{padding-left:10px;padding-right:40px}.track-row .num{grid-area:1/1/span 2;align-self:start;gap:8px;padding-top:4px}.track-row .timeline-index{gap:3px}.track-row .timeline-date{letter-spacing:.12em;font-size:8px}.track-row .name{flex-direction:column;grid-area:1/2;align-items:flex-start;gap:7px;font-size:clamp(27px,9vw,42px);line-height:.98}.track-row .name .feat{white-space:normal;line-height:1.25}.track-row .extra{flex-wrap:wrap;grid-area:2/2;min-height:22px}.track-row .time{grid-area:1/3;align-self:start;padding-top:10px}.track-item .lyrics-toggle{opacity:1;top:30px;right:0}.track-lyrics{max-width:calc(100vw - 40px);padding:10px 0 24px 56px}}.streams{grid-template-columns:repeat(5,minmax(96px,1fr));gap:clamp(12px,1.5vw,18px);max-width:820px;margin:0 auto;display:grid}.stream{--stream-color:var(--accent);aspect-ratio:1;border:1px solid var(--rule);min-height:118px;color:var(--ink);filter:grayscale();opacity:.62;cursor:pointer;background:#ffffff04;border-radius:8px;place-items:center;padding:clamp(18px,2.2vw,24px);text-decoration:none;transition:border-color .2s,background .2s,color .2s,filter .2s,opacity .2s,transform .2s;display:grid}.stream:hover,.stream:focus-visible{border-color:color-mix(in srgb, var(--stream-color) 84%, white 16%);background:var(--stream-color);color:#fff;filter:grayscale(0);opacity:1;outline:none;transform:translateY(-3px)}.stream--apple-music{--stream-color:#fa243c}.stream--spotify{--stream-color:#1db954}.stream--youtube-music{--stream-color:red}.stream--tidal{--stream-color:#0ff}.stream--amazon-music{--stream-color:#00a8e1}.stream-logo{pointer-events:none;width:min(58%,96px);height:min(58%,96px);transition:transform .2s;display:block}.stream:hover .stream-logo,.stream:focus-visible .stream-logo{transform:scale(1.04)}@media (width<=760px){.streams{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:420px}.stream{border-radius:6px;min-height:auto;padding:18px}}.credits{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px 48px;display:grid}.credit{border-top:1px solid var(--rule);flex-direction:column;gap:6px;padding-top:14px;display:flex}.credit .role{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-size:10px}.credit .who{font-family:var(--serif);color:var(--ink);font-size:22px}.credit .who .ital{color:var(--accent);font-style:italic}.notes{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:clamp(24px,4vw,64px);display:grid}@media (width<=880px){.notes{grid-template-columns:1fr}}.notes .lead{font-family:var(--serif);letter-spacing:-.005em;color:var(--ink);margin:0;font-size:clamp(28px,3vw,38px);line-height:1.15}.notes .lead .ital{color:var(--accent);font-style:italic}.notes .body{font-family:var(--sans);color:var(--ink-dim);max-width:56ch;font-size:15px;line-height:1.65}.notes .body p{margin:0 0 1em}.notes .body p:last-child{margin:0}.notes .body .sig{font-family:var(--serif);color:var(--accent);margin-top:18px;font-size:22px;font-style:italic}.subscribe{padding:clamp(56px, 9vh, 120px) var(--page-pad);border-top:1px solid var(--rule);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,80px);display:grid}@media (width<=880px){.subscribe{grid-template-columns:1fr}}.subscribe h2{font-family:var(--serif);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:clamp(40px,6vw,84px);font-weight:400;line-height:.95}.subscribe h2 .ital{color:var(--accent);font-style:italic}.subscribe .form{flex-direction:column;gap:16px;display:flex}.subscribe .form .row{border-bottom:1px solid var(--rule);gap:0;padding-bottom:14px;transition:border-color .2s,box-shadow .2s;display:flex}.subscribe .form input{font-family:var(--sans);color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:8px 0;font-size:18px;transition:color .2s,opacity .2s}.subscribe .form input::placeholder{color:var(--ink-mute)}.subscribe .form .submit{cursor:pointer;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent);background:0 0;border:0;padding:8px 0 8px 16px;font-size:11px;transition:color .2s,opacity .2s,transform .2s;position:relative;overflow:hidden}.subscribe .form .submit:hover{transform:translate(4px)}.subscribe .form .submit:disabled{cursor:default}.subscribe .form .submit.ok{color:var(--ink);animation:.42s both submitSaved}.subscribe .form .submit .submit-sheen{pointer-events:none;background:linear-gradient(100deg,#0000,#fff3,#0000);position:absolute;inset:0;transform:translate(-110%)}.subscribe .form.is-submitting .submit{color:var(--ink)}.subscribe .form.is-submitting .submit .submit-sheen{animation:1s ease-in-out infinite submitSheen}.subscribe .form.is-saved .row{border-bottom-color:color-mix(in srgb, var(--accent) 65%, var(--rule));animation:.5s both submitRowSaved}.subscribe .form.has-error .row{border-bottom-color:var(--accent)}.subscribe .fine{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;transition:color .2s,transform .2s}.subscribe .form.has-error .fine{color:var(--accent);transform:translate(4px)}@keyframes submitSheen{to{transform:translate(110%)}}@keyframes submitSaved{0%{transform:scale(.98)}60%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes submitRowSaved{0%{box-shadow:0 0 #d0454500}50%{box-shadow:0 10px 34px #d045451f}to{box-shadow:0 0 #d0454500}}@media (width<=560px){.subscribe .form .row{flex-direction:column;gap:12px}.subscribe .form .submit{align-self:flex-start;padding-left:0}}.footer{padding:28px var(--page-pad);border-top:1px solid var(--rule);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);justify-content:space-between;align-items:center;font-size:10px;display:flex}.footer .socials{gap:22px;display:flex}.footer .socials a{color:inherit;text-decoration:none;transition:color .2s}.footer .socials a:hover{color:var(--ink)}@media (width<=760px){.footer{flex-direction:column;align-items:flex-start;gap:16px}.footer .socials{flex-wrap:wrap;gap:14px 18px}}body.density-tight{--page-pad:clamp(16px, 3vw, 40px);--row-h:clamp(54px, 6vh, 76px)}body.density-loose{--page-pad:clamp(28px, 5vw, 80px);--row-h:clamp(80px, 9vh, 120px)}.player{z-index:50;-webkit-backdrop-filter:blur(20px)saturate(160%);border-top:1px solid var(--rule);padding:14px var(--page-pad);background:#0a0908c7;grid-template-columns:minmax(220px,1fr) minmax(0,2fr) minmax(220px,1fr);align-items:center;gap:24px;transition:transform .3s;display:grid;position:fixed;bottom:0;left:0;right:0;transform:translateY(0)}.player.is-hidden{transform:translateY(100%)}.player.is-disabled{opacity:.72}@media (width<=720px){.player{grid-template-columns:auto 1fr auto;gap:12px;padding:10px 16px}.player .player-meta-text{display:none}}@media (width<=560px){.player{grid-template-columns:1fr;gap:8px;padding:10px 14px 12px}.player-meta{display:none}.player-buttons{gap:10px}.player-buttons button{width:34px;height:34px}.player-buttons .play{width:42px;height:42px}.player-scrub{gap:8px}.player-scrub span{display:none}}.player-meta{align-items:center;gap:14px;min-width:0;display:flex}.player-thumb{background:#070504 url(/covers/spilled-1.jpg) 50%/cover;border-radius:2px;flex-shrink:0;width:48px;height:48px;position:relative;overflow:hidden}.player-meta-text{flex-direction:column;gap:2px;min-width:0;display:flex}.player-meta-text .pname{font-family:var(--serif);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.player-meta-text .pname .ital{color:var(--accent);font-style:italic}.player-meta-text .partist{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute);font-size:10px}.player-controls{flex-direction:column;align-items:center;gap:8px;display:flex}.player-buttons{align-items:center;gap:18px;display:flex}.player-buttons button{appearance:none;color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;transition:color .2s,background .2s,transform .15s;display:grid}.player-buttons button:hover{color:var(--ink)}.player-buttons button:disabled{cursor:default;opacity:.42}.player-buttons button:disabled:hover{color:var(--ink-dim);transform:none}.player-buttons .play{background:var(--ink);color:var(--bg);width:44px;height:44px}.player-buttons .play:hover{background:var(--accent);color:var(--bg);transform:scale(1.04)}.player-buttons svg{width:16px;height:16px}.player-scrub{width:100%;max-width:640px;font-family:var(--mono);letter-spacing:.12em;color:var(--ink-mute);font-variant-numeric:tabular-nums;align-items:center;gap:12px;font-size:10px;display:flex}.player-bar{background:var(--rule);cursor:pointer;border-radius:2px;flex:1;height:3px;position:relative}.player.is-disabled .player-bar{cursor:default}.player-bar .fill{background:var(--accent);border-radius:2px;height:100%;position:absolute;top:0;left:0}.player-bar .knob{background:var(--accent);width:10px;height:10px;box-shadow:0 0 12px var(--accent);opacity:0;border-radius:50%;transition:opacity .2s;position:absolute;top:50%;transform:translate(-50%,-50%)}.player-bar:hover .knob{opacity:1}.player-aux{justify-content:flex-end;align-items:center;gap:16px;display:flex}.player-aux button{appearance:none;color:var(--ink-mute);cursor:pointer;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;background:0 0;border:0;padding:6px 0;font-size:10px;transition:color .2s}.player-aux button:hover{color:var(--ink)}.player-aux button.active{color:var(--accent)}@media (width<=720px){.player-aux{display:none}}@media (width<=560px){.player{grid-template-columns:1fr;gap:8px;padding:10px 14px 12px}.player-meta{display:none}.player-buttons{justify-content:center;gap:10px}.player-buttons button{width:34px;height:34px}.player-buttons .play{width:42px;height:42px}.player-scrub{gap:8px;max-width:none}.player-scrub span{display:none}}.spacer-player{height:100px}@media (width<=560px){.spacer-player{height:132px}}body.theme-light{--bg:#f4f0e6;--bg-deep:#ebe5d4;--ink:#1a1612;--ink-dim:#1a161299;--ink-mute:#1a161259;--rule:#1a161224;--accent:#b3411f;--accent-soft:#b3411f1f}body.theme-light .player{background:#f4f0e6c7}body.theme-light .player-buttons .play{background:var(--ink);color:var(--bg)}body.theme-light .player-buttons .play:hover{background:var(--accent);color:#fff}body.theme-crimson{--accent:#d04545;--accent-soft:#d045452e}body.theme-ice{--accent:#6f9bd6;--accent-soft:#6f9bd62e}.monogram{font-family:var(--serif);letter-spacing:0;color:var(--ink);font-size:22px;line-height:1}.monogram .ital{color:var(--accent);font-style:italic}
