/* delaymirror — "Neon studio" design system.
   Rehearsal-room dark, neon pink sign, mint tape marks.
   Big Shoulders display over system body. A dance studio, not an app. */

:root{
  --stage:#131019;
  --wings:#1b1724;
  --wings2:#241e30;
  --tape:#332b44;
  --ice:#ece9f4;
  --dust:#9d97ad;
  --neon:#ff4d9d;
  --neon-deep:#d12d78;
  --mint:#35e0c8;
  --disp:'Big Shoulders','Arial Narrow',sans-serif;
  --body:-apple-system,'Segoe UI',Roboto,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--stage);color:var(--ice);font-family:var(--body);
  font-size:16px;line-height:1.55;-webkit-text-size-adjust:100%}
a{color:var(--mint)}
h1,h2,h3{font-family:var(--disp);line-height:1.02;text-transform:uppercase;letter-spacing:.01em;font-weight:700}
b,strong{font-weight:600;color:var(--ice)}

/* marquee bar */
.marquee{display:flex;align-items:center;gap:14px;padding:12px 20px;
  border-bottom:1px solid var(--tape);flex-wrap:wrap}
.marquee .sign{display:flex;align-items:center;gap:8px;font-family:var(--disp);
  font-weight:700;font-size:1.35rem;text-transform:uppercase;color:var(--ice);text-decoration:none}
.marquee .sign em{font-style:normal;color:var(--neon);text-shadow:0 0 14px rgba(255,77,157,.55)}
.marquee .hum{font-size:.74rem;color:var(--dust);margin-right:auto}
.marquee nav{display:flex;gap:16px;font-size:.9rem}
.marquee nav a{text-decoration:none;color:var(--ice);opacity:.85}
.marquee nav a.here{color:var(--neon);opacity:1}

/* opener */
.callout{max-width:920px;margin:0 auto;padding:30px 20px 6px}
.callout h1{font-size:clamp(2.2rem,7vw,3.8rem)}
.callout h1 em{font-style:normal;color:var(--neon);text-shadow:0 0 18px rgba(255,77,157,.45)}
.callout .patter{margin-top:8px;max-width:620px;color:var(--dust);font-size:1rem}
.callout .patter b{color:var(--ice)}

/* mirror */
.studio{max-width:920px;margin:16px auto 0;padding:0 20px}
.mirrorframe{background:var(--wings);border:1px solid var(--tape);border-radius:12px;overflow:hidden}
.glass{position:relative;background:#000;min-height:220px}
.glass video{display:none}
.glass canvas{display:block;width:100%;height:auto}
.glass .houselights{position:absolute;inset:0;display:flex;flex-direction:column;gap:14px;
  align-items:center;justify-content:center;text-align:center;padding:26px}
.glass .houselights p{max-width:440px;font-size:.92rem;color:var(--dust)}
.glass .timetag{position:absolute;top:10px;left:12px;font-family:var(--disp);
  font-size:1.3rem;letter-spacing:.05em;color:var(--neon);text-shadow:0 1px 8px rgba(0,0,0,.8);
  background:rgba(19,16,25,.55);padding:2px 12px;border-radius:6px}
.glass .timetag.live{color:var(--mint)}
.glass .frozen-tag{position:absolute;top:10px;right:12px;font-family:var(--disp);font-size:1rem;
  color:var(--stage);background:var(--mint);padding:2px 12px;border-radius:6px;display:none}
.glass.frozen .frozen-tag{display:block}

.cue{font-family:var(--disp);font-weight:700;font-size:1.05rem;text-transform:uppercase;
  letter-spacing:.04em;border-radius:8px;border:1px solid var(--neon-deep);
  background:var(--neon);color:#2b0a1c;padding:10px 24px;cursor:pointer}
.cue:hover{background:#ff6cae}
.cue.dim{background:transparent;color:var(--ice);border-color:var(--tape)}
.cue.dim:hover{border-color:var(--neon)}
.cue.small{font-size:.85rem;padding:7px 14px}
.cue[disabled]{opacity:.4;cursor:default}

.deckrow{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--tape)}
.deckrow .gap{flex:1}
.delayrow{display:flex;gap:14px;align-items:center;padding:4px 16px 14px;flex-wrap:wrap}
.delayrow label{font-size:.72rem;color:var(--dust);text-transform:uppercase;letter-spacing:.09em}
.delayrow input[type=range]{flex:1;min-width:160px;accent-color:var(--neon)}
.delayrow .bigdelay{font-family:var(--disp);font-size:1.6rem;color:var(--neon);min-width:74px;text-align:right}
.optrow{display:flex;gap:18px;padding:0 16px 14px;flex-wrap:wrap;font-size:.88rem;color:var(--dust)}

/* backstage content */
.backstage{max-width:920px;margin:0 auto;padding:24px 20px 40px}
.backstage h2{font-size:1.8rem;margin:44px 0 4px}
.backstage .aside{color:var(--dust);font-size:.9rem;margin-bottom:14px}
.backstage p{margin:12px 0;max-width:700px;color:#cfcbdb}
.backstage ol,.backstage ul{margin:12px 0 12px 22px;max-width:680px;color:#cfcbdb}
.backstage li{margin:8px 0}

.greenroom{background:var(--wings);border:1px solid var(--tape);border-left:4px solid var(--neon);
  border-radius:8px;padding:18px 20px;margin:30px 0}
.greenroom .sig{color:var(--dust);font-size:.85rem;margin-top:10px}

.setlist{list-style:none;margin-left:0!important}
.setlist li{padding-left:26px;position:relative}
.setlist li::before{content:"▸";position:absolute;left:2px;color:var(--neon)}

.qa h3{font-family:var(--disp);font-size:1.25rem;margin:22px 0 6px}
.qa p{margin-top:4px}

.zines{display:grid;gap:12px;margin-top:16px}
.zines a{display:block;background:var(--wings);border:1px solid var(--tape);border-radius:8px;
  padding:14px 16px;text-decoration:none;color:var(--ice)}
.zines a:hover{border-color:var(--neon)}
.zines b{font-family:var(--disp);font-size:1.25rem;text-transform:uppercase}
.zines span{display:block;font-size:.88rem;color:var(--dust);margin-top:3px}
.zines time{display:block;font-size:.7rem;color:var(--dust);margin-top:8px;text-transform:uppercase;letter-spacing:.08em}

dl.encorelog{max-width:680px}
dl.encorelog dt{font-family:var(--disp);font-size:1.15rem;margin-top:14px;color:var(--neon);text-transform:uppercase}
dl.encorelog dd{margin-left:0;color:#cfcbdb}

/* articles */
article.zine{max-width:720px;margin:0 auto;padding:30px 20px 50px}
article.zine h1{font-size:clamp(1.8rem,5.4vw,2.7rem);margin-bottom:6px}
article.zine .byline{color:var(--dust);font-size:.85rem;margin-bottom:22px}
article.zine h2{font-size:1.5rem;margin:30px 0 8px}
article.zine p{margin:13px 0;color:#cfcbdb}
article.zine ol{margin:12px 0 12px 22px;color:#cfcbdb}
article.zine li{margin:9px 0}
article.zine figure{margin:26px 0;text-align:center}
article.zine figure svg{max-width:100%;height:auto}
article.zine figcaption{font-size:.8rem;color:var(--dust);margin-top:8px}

/* footer */
footer.stagedoor{border-top:1px solid var(--tape);margin-top:30px;padding:22px 20px;
  max-width:920px;margin-left:auto;margin-right:auto}
footer.stagedoor .links{display:flex;gap:16px;font-size:.88rem;margin-bottom:10px;flex-wrap:wrap}
footer.stagedoor p{font-size:.8rem;color:var(--dust)}

@media (max-width:560px){
  .marquee .hum{display:none}
  .callout{padding-top:22px}
}
