/* /live and /live/embed. The canvas keeps its seasonal palette in both themes; panels follow the theme. */
:root {
  --panel: #23281f; --line: #45503a; --text: #ece8d6; --soft: #b6b39c; --gold: #e0b24a;
}
:root[data-theme="light"] {
  --panel: #fbf7ea; --line: #cfc6a6; --text: #2a2a1e; --soft: #5c5a46; --gold: #a87a12;
}
body.live { margin: 0; }
.live-main { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 12px; max-width: 1280px;
  margin: 0 auto; padding: 12px 16px 24px; box-sizing: border-box; }
.live-stage { position: relative; line-height: 0; min-width: 0; }
.live-view { display: block; width: 100%; height: auto; image-rendering: pixelated; border-radius: 6px; background: #1a2014; }
.live-note { position: absolute; left: 50%; top: 8px; transform: translateX(-50%); margin: 0; padding: 6px 12px;
  background: var(--panel); color: var(--text); border: 1px solid var(--line); border-radius: 6px; line-height: 1.4;
  font-size: 0.875rem; max-width: calc(100% - 32px); text-align: center; }
.live-note[hidden] { display: none; }
.live-side { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.live-box { background: var(--panel); color: var(--text); border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; }
.live-h1 { font-size: 1.25rem; margin: 0 0 6px; }
.live-head { font-size: 1rem; margin: 0 0 6px; }
.live-help { color: var(--soft); font-size: 0.875rem; margin: 0 0 8px; }
.facts { margin: 0; display: grid; gap: 4px; }
.fact { display: grid; grid-template-columns: 7rem 1fr; gap: 8px; font-size: 0.9375rem; }
.fact dt { color: var(--soft); }
.fact dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.live-festival { color: var(--gold); font-weight: 600; margin: 8px 0 0; }
.chron, .agents { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 0.875rem; }
.chron li, .agents li { overflow-wrap: anywhere; }
.chron { max-height: 14rem; overflow: auto; }
body.live[data-embed="true"] .live-main { grid-template-columns: minmax(0, 1fr); padding: 0; }
body.live[data-embed="true"] .live-side { display: none; }
body.live[data-embed="true"] .live-view { border-radius: 0; }
@media (max-width: 800px) { .live-main { grid-template-columns: minmax(0, 1fr); } }
