/* Official palette only. All sizing, spacing, typography and interaction live in event-shared.css. */
:root {
  --ink: #4a1b37;
  --ink-deep: #2f1122;
  --paper: #fff5e1;
  --gold: var(--sunlight);
  --muted: #efd0e1;
  --line: rgba(246,190,69,.24);
  --plum-type: #4a1b37;
  --rust-type: #78294e;
  --door-panel-shadow: #a4411d;
  --door-panel-line: rgba(246,190,69,.21);
  --door-handle-shadow: #4a1b37;
  --door-seam-glow: rgba(246,190,69,.4);
  --door-button-shadow: rgba(0,0,0,.25);
  color-scheme: dark;
}
body { background: var(--ink-deep); color: var(--paper); }
.site-header { background: rgba(47,17,34,.97); border-bottom-color: var(--line); color: var(--paper); }
.desktop-nav a:hover, .subtle-link:hover { color: var(--gold); }
.button { background: var(--gold); border-color: var(--gold); color: var(--ink-deep); }
.button:hover { background: #f9d88f; border-color: #f9d88f; }
.hero {
  background: linear-gradient(180deg,rgba(47,17,34,.76) 0%,rgba(47,17,34,.58) 38%,rgba(47,17,34,.12) 72%,transparent 100%),
              linear-gradient(180deg,var(--purple) 0%,var(--purple) 30%,var(--orange-red) 76%,var(--sunlight) 100%);
  color: var(--paper);
}
.hero .free-label { color: var(--gold); }
.hero-time > span { color: var(--muted); }
.door-frame, .door-panel { border-color: #f6be45; }
.door-panel { background: linear-gradient(92deg,#762f15,#eb5e29 25%,#bc4b21 76%,#702c14); }
.door-right { background: linear-gradient(268deg,#762f15,#eb5e29 25%,#bc4b21 76%,#702c14); }
.panel-top, .panel-bottom { border-color: rgba(246,190,69,.65); }
.door-handle { background: linear-gradient(90deg,#a87c24,#f6be45,#a87c24); }
.door-seam { background: #fff1c8; }
.open-door { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.open-door:hover { background: #f9d88f; }
.reveal-link { background: var(--gold); border-color: var(--gold); color: var(--ink); }
.reveal-link:hover { background: #f9d88f; border-color: #f9d88f; }
.intro { background: linear-gradient(180deg,#fbe8b5,var(--sunlight)); border-bottom-color: #d69859; }
.section-light { color: var(--ink); }
.section-light h2 { color: var(--ink); }
.section-light .fiction-note { color: #765333; }
.section-dark { background: linear-gradient(180deg,var(--purple-shade),var(--ink-deep)); color: var(--paper); }
.section-dark h2 { color: var(--paper); }
.information { background: linear-gradient(180deg,#fff5e1,#ffe7c0); }
.information .free-label { color: #78294e; }
.event-details > div { border-top-color: #e3bd87; }
.event-details dt, .info-actions > p, .terms-note { color: #71365b; }
.info-actions .button { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.info-actions .button:hover { background: #762b59; border-color: #762b59; }
.arrival-card li p { color: #64324e; }
.arrival-card li::marker { color: #923b22; }
.transport-links { border-top-color: #e3bd87; }
.lineup, .sponsors { background: #5d2345; color: #fff5e1; color-scheme: dark; }
.lineup h2, .lineup h3, .lineup h4, .sponsors h2, .sponsor-copy h3, .sponsor-history h4 { color: #fff5e1; }
.guest-copy h3 span, .club-heading p, .sponsor-english, .sponsors .sponsors-intro { color: #efd0e1; }
.lineup .role, .sponsor-person { color: #f6be45; }
.guest-copy > p:last-child, .sponsor-bio, .sponsor-credits { color: #f7e4ee; }
.sponsors, .club-lineup, .sponsor-history { border-top-color: rgba(246,190,69,.3); }
.lineup .poster-link:focus-visible, .sponsor-card .poster-link:focus-visible { outline-color: #fff5e1; }
.closing {
  background: linear-gradient(180deg,rgba(47,17,34,.68),rgba(47,17,34,.45),rgba(47,17,34,.68)),
              linear-gradient(180deg,var(--purple) 0%,var(--purple-shade) 45%,var(--orange-red) 100%);
  color: var(--paper);
}
.closing-date, .closing-free { color: var(--gold); }
.site-footer { background: #250d1b; border-top-color: var(--line); }
.footer-inner { color: var(--muted); }
.footer-brand { color: var(--paper); }
