:root{--ink:#17141a;--panel:#211d25;--panel-2:#29222b;--cream:#f5eee3;--muted:#afa5ad;--copper:#d18b67;--lav:#b8a9db;--line:#403640;--danger:#ef9c83}*{box-sizing:border-box}html{background:var(--ink);color:var(--cream);font-family:'DM Sans',sans-serif}body{margin:0;min-width:280px}.room{max-width:1240px;margin:auto;padding:22px 52px 34px;min-height:100vh;display:flex;flex-direction:column}.masthead{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.wordmark{font:700 1.6rem 'Space Grotesk';letter-spacing:-.08em;color:var(--cream);text-decoration:none}.wordmark span{color:var(--copper)}.header-meta{display:flex;align-items:center;gap:30px;color:var(--muted);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.back{color:var(--cream);font-size:.72rem;letter-spacing:.03em;text-transform:none;text-decoration:none;border:1px solid var(--line);padding:10px 14px;transition:border-color .2s,color .2s}.back:hover,.back:focus-visible{border-color:var(--copper);color:var(--copper)}main{flex:1}.intro{display:flex;justify-content:space-between;align-items:end;padding:76px 0 55px;gap:40px}.eyebrow,.label{color:var(--copper);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px}.intro h1{font:500 clamp(3.4rem,8vw,7.5rem)/.86 'Space Grotesk';letter-spacing:-.08em;margin:0}.intro h1 em{color:var(--lav);font-style:normal}.intro-copy{max-width:280px;color:var(--muted);font-size:.85rem;line-height:1.7;margin:0 0 5px}.intro-copy strong{color:var(--cream);font-weight:500}.player{background:var(--panel);padding:28px 32px 20px;border:1px solid #342d38}.now-playing{display:flex;gap:18px;align-items:center}.play{border:1px solid var(--copper);border-radius:50%;background:var(--copper);color:var(--ink);width:55px;height:55px;flex:0 0 55px;font-size:1.05rem;cursor:pointer;transition:transform .2s,background .2s}.play:hover:not(:disabled),.play:focus-visible:not(:disabled){transform:scale(1.06);background:#e3a27e}.play:disabled{opacity:.35;cursor:not-allowed}.play.playing{background:var(--lav);border-color:var(--lav)}.now-playing h2{font:500 clamp(1.3rem,3vw,2.2rem)/1 'Space Grotesk';letter-spacing:-.05em;margin:0 0 6px}.audio-status{font-size:.73rem;color:var(--muted);margin:0}.wave-wrap{position:relative;margin-top:27px}.waveform{display:block;width:100%;height:108px;background:linear-gradient(90deg,rgba(184,169,219,.05),transparent)}#waveform{width:100%;height:110px}.wave-base,.wave-progress{fill:rgba(184,169,219,.2);stroke:var(--lav);stroke-width:1}.wave-progress{fill:rgba(209,139,103,.22);stroke:var(--copper);clip-path:inset(0 calc(100% - var(--progress,0%)) 0 0)}.seek{position:absolute;inset:0 0 24px;width:100%;height:100%;opacity:0;cursor:pointer}.seek:focus-visible{opacity:.25;outline:2px solid var(--copper)}.time{display:flex;justify-content:space-between;color:var(--muted);font:11px 'Space Grotesk';margin-top:5px}.controls{display:flex;justify-content:space-between;align-items:center;margin-top:19px}.volume{display:flex;align-items:center;gap:9px;color:var(--copper);font-size:1.1rem}.volume input{accent-color:var(--copper);width:105px}.volume-value{font:11px 'Space Grotesk';color:var(--muted);width:32px}.hint{color:#827780;font-size:.68rem}.songs{margin-top:68px}.section-heading{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;align-items:end}.section-heading h2{font:500 1.1rem 'Space Grotesk';letter-spacing:-.03em;margin:0}.section-heading span{font:10px 'Space Grotesk';color:var(--muted);letter-spacing:.12em}.track-list{display:grid;grid-template-columns:1fr 1fr}.track-row{display:grid;grid-template-columns:42px 1fr auto 24px;align-items:center;gap:12px;padding:19px 10px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--cream);text-align:left;cursor:pointer;min-width:0}.track-row:nth-child(odd){border-right:1px solid var(--line);padding-left:0}.track-row:hover,.track-row:focus-visible{background:rgba(184,169,219,.07)}.track-row.active{color:var(--copper)}.track-number{font:12px 'Space Grotesk';color:var(--muted)}.track-name{min-width:0}.track-name strong{font:500 1rem 'Space Grotesk';display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-name small{display:block;color:var(--muted);font-size:.68rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-duration{color:var(--muted);font:11px 'Space Grotesk'}.track-arrow{font-size:1rem;color:var(--muted)}.credits{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin:82px 0 70px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.credits h2{font:500 clamp(2rem,4vw,3.5rem)/.95 'Space Grotesk';letter-spacing:-.07em;margin:0}.credit-copy{max-width:470px;font-size:.86rem;line-height:1.65;color:var(--muted)}.credit-copy p{margin:0 0 22px}.credit-copy strong{color:var(--cream);font-weight:500}.credit-copy .setup{font-size:.78rem}.fine{font-size:.68rem;color:#827780}footer{color:#827780;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}footer span{color:var(--copper)}.status-error{color:var(--danger);font-size:.78rem;min-height:0;margin:0 0 14px}.status-error:empty{display:none}.status-error button{border:0;background:none;color:var(--cream);text-decoration:underline;cursor:pointer;font:inherit;padding:0 3px}@media(max-width:700px){.room{padding:12px 18px 25px}.header-meta>span{display:none}.header-meta{gap:0}.back{padding:8px 10px}.intro{display:block;padding:54px 0 39px}.intro-copy{margin-top:28px}.player{padding:21px 17px 16px}.controls{align-items:start;gap:18px;flex-direction:column}.hint{order:-1}.track-list{display:block}.track-row,.track-row:nth-child(odd){border-right:0;padding:17px 0}.credits{grid-template-columns:1fr;gap:30px;margin:62px 0 53px;padding:27px 0}.credits h2{font-size:2.7rem}.track-name strong{font-size:.94rem}}@media(prefers-reduced-motion:reduce){.play{transition:none}}
.embedded .back{display:none}
.masthead{position:sticky;top:0;z-index:3;background:var(--ink);min-height:62px}
.embedded .header-meta{visibility:hidden}
.track-name small{white-space:normal}
.seek:disabled{cursor:default}
:is(a,button,input):focus-visible{outline:2px solid var(--copper);outline-offset:4px}