.event-page {
  width: min(100%, 920px);
  padding: clamp(20px, 5vw, 56px) 20px 72px;
}
.event-page header { margin: 22px 0; }
.event-page-header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px 20px; }
.event-page h1 { overflow-wrap: anywhere; }
.event-breadcrumb { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; }
.event-breadcrumb a + a:not([hidden])::before { content: '/'; margin-right: 12px; color: var(--muted); }
.event-back, .event-program { font-size: .91rem; }
.event-program { color: var(--gold); margin-bottom: 8px; }
.event-intro, .event-time, .event-note { color: var(--muted); }
.event-intro, .event-time { margin-top: 8px; }
.event-content { display: grid; gap: 24px; }
.event-content section { margin: 0; }
.event-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 14px;
  list-style: none;
  margin-top: 12px;
}
.event-card, .event-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  padding: clamp(14px, 3vw, 24px);
  overflow-wrap: anywhere;
}
.event-description { white-space: pre-wrap; }
.event-status { margin-bottom: 12px; }
.event-status:empty { display: none; }
.event-panel > * + * { margin-top: 12px; }
.event-controls { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.event-join-control { min-width: 0; max-width: 100%; }
.event-join-control .event-note { max-width: 42ch; margin: 8px 0 0; font-size: .91rem; line-height: 1.5; }
.event-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 14px;
  border: 1px solid var(--line-strong);
  border-radius: 5px;
  background: transparent;
  color: var(--text);
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}
.event-page .event-primary { background: var(--gold); border-color: var(--gold); color: #17160f; font-weight: 600; }
.event-page .event-primary:hover { color: #17160f; }
.event-action:disabled { opacity: .6; cursor: wait; }
.event-action[hidden] { display: none; }
.event-reminder { display: flex; gap: 10px; align-items: center; min-height: 44px; }
.event-reminder input { width: 18px; height: 18px; accent-color: var(--gold); }
.event-reminder-list { margin-left: 1.25rem; color: var(--muted); font-size: .9rem; }
.event-page .event-host-form { display: grid; gap: 16px; }
.event-host-form fieldset { min-width: 0; }
.event-host-form legend { padding: 0 6px; font-weight: 600; }
.event-host-field { display: grid; gap: 6px; }
.event-host-field label { font-weight: 600; }
.event-host-field :is(input, select) { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: 5px; font: inherit; }
.event-host-field[hidden] { display: none; }
.event-host-field p, .event-host-readiness { font-size: .91rem; }
.event-host-field .event-note { margin: 0; }
.event-host-readiness { margin-top: 8px; color: var(--gold); }
.event-host-alert { border-left: 3px solid var(--gold); padding: 4px 12px; color: var(--text); }
.event-host-form > .event-action { justify-self: start; }
.event-host-form p:empty, .event-host-access p:empty { display: none; }
.event-rehearsal-launchers { display: grid; gap: 14px; margin-top: 16px; }
.event-rehearsal-launcher { display: grid; gap: 8px; justify-items: start; }
.event-rehearsal-setups { display: grid; gap: 8px; margin: 20px 0 0 20px; }
.event-program-room-forms { display: grid; gap: 24px; margin-top: 20px; }
.event-program-room-form { display: grid; gap: 12px; padding-top: 20px; border-top: 1px solid var(--line); }
.event-program-room-form fieldset { border: 0; min-width: 0; }
.event-program-room-form legend { font-weight: 600; margin-bottom: 12px; }
.event-program-room-form .event-reminder { margin-top: 8px; }
.event-program-room-form .event-note:empty { display: none; }
@media (min-width: 760px) {
  .event-page .event-host-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-host-form > :not(fieldset) { grid-column: 1 / -1; }
}
.event-page :is(a, button, input, select, video):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.event-player {
  --line-strong: #718364;
  --text: #f9f2e2;
  --muted: #c1c9b5;
  min-width: 0;
  overflow: hidden;
  padding: 8px;
  border: 1px solid #43543b;
  border-radius: 18px;
  background: linear-gradient(145deg, #263421, #171e15 70%);
  color: var(--text);
  box-shadow: 0 16px 42px #060a065c;
}
.event-player :is(video, iframe) {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  max-height: clamp(220px, 52vh, 560px);
  border-radius: 10px;
  background: #000;
  object-fit: contain;
}
.event-player video:focus-visible { outline-offset: -3px; }
.event-playback-controls { padding: 12px 8px 4px; font: 600 .875rem/1.4 system-ui, sans-serif; }
.event-playback-controls .event-action { border-radius: 8px; background: #222d1f; }
.event-playback-controls .event-action:hover:not(:disabled) { background: #35432d; }
.event-playback-controls select { color-scheme: dark; }
.event-player-note, .event-player-error { padding: 8px; color: var(--muted); }
.event-player iframe { border: 0; height: auto; }
.event-player-note { font-size: .86rem; }
.event-player-error { padding-block: 0; }
.event-player-error [hidden] { display: none; }
.event-player-error p:not(:empty) { margin-bottom: 8px; }
.event-player-error .event-action:not([hidden]) { margin-bottom: 10px; }
.event-room { border-left: 3px solid var(--gold); }
