:root {
  --forest: #262b2c;
  --forest-deep: #191c1f;
  --paper: #eef0ed;
  --ink: #eef0ed;
  --muted: #a9b0b3;
  --leaf: #91b99b;
  --honey: #e8c15b;
  --berry: #c78189;
  --blue: #739bac;
  --line: #373d41;
  --shadow: none;
  font-family: "Segoe UI", Arial, sans-serif;
}
body { background: #191c1f; color: var(--paper); }
body::before, body::after, .home-light, .weather-layer, .scroll-progress { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
svg.lucide { width: 20px; height: 20px; flex-shrink: 0; stroke-width: 1.6; }
.site-header { width: min(100% - 64px, 1440px); min-height: 108px; padding: 20px 0; display: grid; grid-template-columns: minmax(0, 1.5fr) auto auto; gap: 26px; }
.brand-line { gap: 18px; }
.parking-mark { position: relative; display: grid; place-items: center; flex: 0 0 44px; height: 48px; border: 2px solid #c6dadc; border-radius: 6px; font-size: 34px; line-height: 1; color: #f3f4ef; }
.parking-mark svg { position: absolute; right: -12px; bottom: -6px; width: 25px; height: 25px; padding: 3px; border-radius: 4px; color: #192024; background: #d6dfdc; transform: rotate(-12deg); }
h1 { font-size: 27px; font-weight: 500; line-height: 1.25; white-space: nowrap; color: #f0f0ec; }
h2, .page-section h2 { font-family: "Segoe UI", Arial, sans-serif; font-size: 27px; font-weight: 600; line-height: 1.3; color: var(--paper); }
h3, .page-section h3 { font-family: "Segoe UI", Arial, sans-serif; font-size: 22px; font-weight: 500; color: var(--paper); }
.brand-location { display: flex; align-items: center; gap: 6px; margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.brand-location svg { width: 14px; height: 14px; }
.header-widgets { grid-column: 3; grid-row: 1; flex-wrap: nowrap; gap: 16px; }
.weather-pill, .time-pill { border: 0; border-radius: 0; padding: 0; background: none; backdrop-filter: none; min-height: 42px; color: var(--paper); }
.weather-pill { text-decoration: none; }
.weather-pill svg { color: var(--honey); width: 24px; height: 24px; }
.weather-pill small { color: var(--paper); font-size: 21px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.weather-pill:hover small { color: var(--honey); }
.time-pill { padding-left: 16px; border-left: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 3px; justify-content: center; }
.time-pill strong { font-size: 12px; font-weight: 400; color: var(--muted); }
.time-pill small { font-size: 16px; color: var(--paper); font-variant-numeric: tabular-nums; }
.section-tabs { grid-column: 2; grid-row: 1; position: static; width: auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; backdrop-filter: none; gap: 8px; }
.section-tab { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; min-width: 85px; min-height: 64px; padding: 6px 10px; border-radius: 0; font-size: 14px; font-weight: 500; color: var(--muted); }
.section-tab::after { position: absolute; content: ""; bottom: 0; left: 10px; right: 10px; height: 2px; background: var(--honey); transform: scaleX(0); transition: transform .25s ease; }
.section-tab.is-active, .section-tab:hover { background: none; box-shadow: none; color: var(--honey); }
.section-tab.is-active::after { transform: scaleX(1); }
.site-main { width: min(100% - 64px, 1440px); margin-bottom: 40px; }
.page-section, #liveSection, #archiveSection, #supportSection { padding: 0; border: 0; border-radius: 0; min-height: 0; overflow: visible; background: none; box-shadow: none; }
.section-heading { margin: 0 0 24px; padding: 24px 0; align-items: center; border-color: var(--line); }
.eyebrow { letter-spacing: 0; font-weight: 500; font-size: 12px; color: var(--muted); text-transform: none; margin-bottom: 8px; }
#liveSection .section-heading { padding: 12px 18px; margin: 0; border: 1px solid var(--line); border-radius: 6px 6px 0 0; background: #22272b; }
#liveSection h2 { font-size: 20px; font-weight: 500; }
.live-indicator { font-size: 12px; font-weight: 400; color: var(--muted); }
.live-indicator i { background: #86b792; box-shadow: none; }
.video-shell, .archive-video-shell { border: 1px solid var(--line); background: #111416; box-shadow: none; aspect-ratio: 16 / 9; border-radius: 0 0 6px 6px; }
video { background: #111416; }
.player-overlay { background: rgba(15,19,21,.36); gap: 18px; }
.player-overlay p { font-size: 15px; font-weight: 400; text-shadow: 0 1px 5px #000; }
.play-button { width: 76px; height: 76px; background: rgba(23,27,29,.65); border: 2px solid #f2f1ed; box-shadow: none; transition: background .2s; animation: playHalo 4s ease-in-out infinite; }
.play-button:hover { background: rgba(199,153,55,.65); }
.play-button span { border-left-color: #f2f1ed; }
.retry-button { font-weight: 600; color: #191c1f; background: var(--honey); }
.coverage-layout { grid-template-columns: 240px minmax(180px, 1fr) auto; gap: 24px; margin-top: 20px; padding-top: 20px; border-color: var(--line); }
.map-frame { grid-column: 1; grid-row: 1; width: 240px; border: 0; border-radius: 5px; }
.map-frame img { aspect-ratio: 735 / 537; object-fit: contain; }
.coverage-copy { grid-column: 2; grid-row: 1; }
.coverage-copy h3 { font-size: 19px; }
.coverage-copy p:last-child { max-width: 320px; margin-top: 8px; font-size: 14px; color: var(--muted); line-height: 1.65; }
.coverage-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 22px; max-width: 420px; }
.coverage-actions a { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; text-underline-offset: 4px; transition: color .2s; }
.coverage-actions a:hover { color: #fff; }
.coverage-actions a:first-child svg { color: #d58a92; }
.archive-controls { grid-template-columns: minmax(220px, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) auto; }
.archive-controls > *, .archive-date-picker { min-width: 0; }
.archive-controls input[type="time"], .archive-date-trigger { width: 100%; min-width: 0; background: #22272b; color: var(--paper); border-color: #485054; font-weight: 500; }
.archive-controls > label, .archive-field { color: var(--muted); font-weight: 500; }
#archiveButton { background: var(--honey); color: #202320; box-shadow: none; font-weight: 600; }
#archiveButton:disabled { opacity: .45; cursor: wait; }
.archive-calendar { background: #242a2d; border-color: #485054; box-shadow: 0 16px 40px #0006; max-width: 100%; }
#archiveSection.is-calendar-open { min-height: 720px; }
.archive-calendar-day.has-recording { background: #3a443e; border-color: #7b967e; }
.archive-calendar-day.is-selected { background: var(--honey); color: #202320; }
.archive-timeline { padding: 18px 0; border: 0; border-radius: 0; background: none; }
.timeline-track { background: #141719; }
.timeline-hours { display: flex; justify-content: space-between; }
.timeline-hours span, .timeline-hours span:last-child { transform: none; }
.archive-status { font-weight: 400; color: #d9c890; }
.support-layout { grid-template-columns: 1fr 260px; min-height: 330px; gap: 60px; padding: 30px 0 40px; }
.support-copy p, .contact-band p, .section-note { color: var(--muted); }
.support-copy { max-width: 610px; }
.qr-card { color: #e9edeb; border: 1px solid #526358; background: #252c29; box-shadow: 0 0 0 5px #9abc9f08; font-size: 14px; font-weight: 500; animation: supportBreathe 6s ease-in-out infinite; }
.qr-image-wrap { padding: 0; }
.qr-image-wrap > img:last-child { border-radius: 2px; }
.qr-card:hover { transform: translateY(-3px); box-shadow: 0 0 0 5px #9abc9f18; }
.contact-band { border-color: var(--line); padding-top: 30px; }
.contact-band a { background: #c78189; color: #171b1d; font-weight: 600; }
.contact-mark { border-color: #8dac98; }
:is(button, a, input):focus-visible { outline: 2px solid var(--honey); outline-offset: 4px; }
@keyframes supportBreathe { 50% { border-color: #8ea591; box-shadow: 0 0 0 5px #9abc9f14; } }
@keyframes playHalo { 50% { box-shadow: 0 0 0 7px #ffffff0a; border-color: #e8c15b; } }
@media (max-width: 1250px) {
  .site-header { grid-template-columns: 1fr auto; gap: 8px 24px; }
  .header-widgets { grid-column: 2; }
  .section-tabs { grid-column: 1 / -1; grid-row: 2; justify-self: center; width: 360px; }
  .section-tab { flex-direction: row; min-height: 48px; }
  .coverage-layout { grid-template-columns: 200px 1fr; }
  .map-frame { width: 200px; }
  .coverage-actions { grid-column: 1 / -1; max-width: none; justify-content: flex-start; }
}
@media (max-width: 820px) {
  .site-header, .site-main { width: calc(100% - 32px); }
  .site-header { grid-template-columns: 1fr; gap: 18px; padding-top: 22px; }
  .header-widgets { grid-column: 1; grid-row: 2; justify-content: flex-start; width: auto; }
  .section-tabs { grid-row: 3; width: 100%; }
  h1 { font-size: 25px; white-space: normal; }
  .weather-pill, .time-pill { flex: none; width: auto; }
  .time-pill { flex-direction: row; align-items: center; gap: 12px; }
  .section-heading { flex-direction: row; gap: 14px; }
  .section-note { font-size: 12px; max-width: 170px; }
  .archive-controls { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .archive-date-field, #archiveButton { grid-column: 1 / -1; }
  .archive-calendar { position: static; margin-top: 8px; width: min(360px, 100%); }
  #archiveSection.is-calendar-open { min-height: 0; }
  .support-layout { gap: 28px; grid-template-columns: 1fr 220px; }
  .contact-band { grid-template-columns: auto 1fr; }
  .contact-band a { grid-column: 2; justify-self: start; }
}
@media (max-width: 520px) {
  .site-header, .site-main { width: calc(100% - 24px); }
  .brand-line { gap: 16px; align-items: center; }
  h1 { font-size: 22px; line-height: 1.25; }
  h2, .page-section h2 { font-size: 24px; }
  .parking-mark { flex-basis: 36px; height: 40px; font-size: 28px; }
  .header-widgets { display: flex; gap: 14px; }
  .weather-pill small { font-size: 18px; }
  .time-pill small { font-size: 14px; }
  .section-tab { min-width: 0; font-size: 13px; padding-inline: 4px; }
  .section-tab svg { width: 17px; height: 17px; }
  #liveSection .section-heading { padding: 12px 10px; }
  #liveSection h2 { font-size: 16px; }
  .live-indicator { font-size: 10px; }
  .video-shell { aspect-ratio: 16 / 9; }
  .play-button { width: 54px; height: 54px; }
  .play-button span { border-top-width: 10px; border-bottom-width: 10px; border-left-width: 17px; }
  .player-overlay { padding: 10px; gap: 10px; }
  .player-overlay p { font-size: 12px; }
  .coverage-layout { grid-template-columns: 125px minmax(0, 1fr); gap: 16px; }
  .map-frame { width: 125px; }
  .coverage-copy h3 { font-size: 17px; }
  .coverage-copy p:last-child { font-size: 12px; line-height: 1.5; }
  .coverage-actions { gap: 16px; }
  .coverage-actions a { font-size: 12px; }
  .support-layout { grid-template-columns: 1fr; padding-top: 8px; }
  .support-copy h3 { font-size: 21px; }
  .support-copy p { font-size: 15px; }
  .contact-band { gap: 12px; }
  .contact-band p { line-height: 1.6; }
  .section-heading { flex-wrap: wrap; }
  .section-note { max-width: none; }
}
