
:root{color-scheme:dark;--bg:#090e17;--panel:#111925;--ink:#eee6d5;--dim:#a8a8b9;--gold:#e6c795;--line:#303746;--purple:#b8a1db}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,sans-serif}button,a,input{touch-action:manipulation}a{color:var(--gold);text-underline-offset:.2em}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.wrap{width:min(1260px,calc(100% - 48px));margin:auto}.mast{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:24px 0;color:var(--dim);font-size:12px;letter-spacing:.2em;text-transform:uppercase}.hero{display:grid;grid-template-columns:minmax(250px,.85fr) 1.15fr;gap:56px;align-items:center;padding:46px 0 52px}.cover{width:100%;height:auto;border:1px solid var(--line);display:block}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.16em;font-size:12px}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.03em;line-height:1.05}h1{font-size:clamp(38px,5vw,70px);margin:16px 0 24px}h2{font-size:clamp(28px,3vw,44px)}.lede{font-size:18px;color:var(--dim);max-width:36em}.tagline{color:var(--purple)}.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:25px 0}.primary{border:0;padding:13px 23px;border-radius:3px;background:var(--gold);color:#17131a;font-weight:650}.minor{font-size:13px;color:var(--dim)}.player{border-block:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:center}#now-title{font-family:Georgia,serif;font-size:24px;line-height:1.25;margin:7px 0}.controls{display:flex;gap:10px;align-items:center}audio{width:100%;height:42px} .transport{display:flex;gap:10px;margin-top:9px}.transport button{border:1px solid var(--line);background:transparent;border-radius:3px;padding:7px 12px;font-size:13px}.stage{display:grid;grid-template-columns:minmax(250px,.72fr) 1.28fr;gap:50px;padding:36px 0 60px}.act{margin:0 0 24px}.act h3{color:var(--gold);font-size:12px;letter-spacing:.17em;text-transform:uppercase;margin-bottom:10px}.track{display:grid;grid-template-columns:24px 1fr auto;gap:9px;width:100%;text-align:left;border:0;border-top:1px solid var(--line);padding:15px 10px;background:transparent;font-size:14px;line-height:1.45}.track span:first-child,.track time{color:var(--dim);font-size:12px}.track:hover,.track[aria-current=true]{background:var(--panel)}.track[aria-current=true]{box-shadow:inset 3px 0 var(--gold);color:var(--gold)}.score-head{display:flex;justify-content:space-between;align-items:center;gap:18px}.score-head h2{margin:0}.follow{font-size:12px;color:var(--dim);white-space:nowrap}#scene-note{color:var(--dim);font-style:italic;border-left:2px solid var(--purple);padding-left:18px;margin:24px 0}#lyrics{height:510px;overflow:auto;scroll-behavior:smooth;padding:0 14px 30px 0;scrollbar-color:#5b5369 transparent}.cue{display:block;width:100%;text-align:left;background:none;border:0;border-left:2px solid transparent;padding:13px 16px;margin-bottom:5px;font-family:Georgia,serif;font-size:22px;line-height:1.48;color:#b9b9c6}.cue .role{display:block;font-family:system-ui,sans-serif;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--dim);margin-bottom:5px}.cue.active{background:var(--panel);border-left-color:var(--gold);color:var(--ink)}.cue .singing{color:#17131a;background:var(--gold);border-radius:2px}.cue:hover{background:#141c29}.downloads{border-top:1px solid var(--line);padding:24px 0;display:flex;gap:20px;flex-wrap:wrap;font-size:13px}footer{color:var(--dim);font-size:12px;padding:10px 0 45px;max-width:68em}.status{min-height:1.5em;font-size:12px;color:var(--dim)}@media(max-width:800px){.hero{gap:26px;grid-template-columns:.7fr 1fr}.stage{gap:24px;grid-template-columns:.8fr 1.2fr}.player{grid-template-columns:1fr;gap:16px}.cue{font-size:20px}}@media(max-width:600px){.wrap{width:calc(100% - 32px)}.mast{letter-spacing:.11em;font-size:10px}.hero{grid-template-columns:1fr;padding-top:24px;gap:23px}.hero .cover{max-width:370px;margin:auto}.hero h1{font-size:43px}.lede{font-size:16px}.stage{grid-template-columns:1fr;gap:24px;padding-top:28px}#lyrics{height:440px}.score-head{flex-wrap:wrap}.actions{gap:18px}.track{padding-block:12px}.downloads{gap:14px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

