/* Calendar controls retain their query and subscription fields. */
body.calendar-page #main .calendar-hero { padding-block: 0 !important; margin: 0; }
body.calendar-page #main .calendar-hero article { padding: 0; }
body.calendar-page #main .calendar-hero h1 { margin: 0; }
body.calendar-page #main .calendar-hero-line { margin: var(--space-1) 0 0; max-inline-size: var(--reading-width); color: var(--text-2); }
body.calendar-page #main .calendar-hero-short { display: none; }
/* Phones (founder, 2026-10-17): the one-line version in the small text size (and the badge legend margins further
   down) keep three full rows in the first 390x844 screen, as scripts/audit-site-layout.js requires. */
@media (max-width: 767px) {
  body.calendar-page #main .calendar-hero-line { margin-block-start: 0; font-size: var(--font-small) !important; }
  body.calendar-page #main .calendar-hero-full { display: none; }
  body.calendar-page #main .calendar-hero-short { display: inline; }
}
body.calendar-page #calendar-title { scroll-margin-block-start: var(--space-4); }
body.calendar-page #main .calendar { margin-block: var(--space-2) var(--space-12) !important; padding-block: 0 !important; }
.calendar-controls { margin: 0; }
.calendar-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); align-items: center; }
.calendar-search { margin: 0; min-inline-size: 0; }
.calendar-search-label { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.calendar-search input { box-sizing: border-box; inline-size: 100%; min-inline-size: 0; min-block-size: var(--touch-min); padding: var(--space-2) var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--text); font: inherit; }
.calendar-filter-toggle { white-space: nowrap; min-block-size: var(--touch-min); }
.calendar-filter-panel { box-sizing: border-box; position: static; inline-size: 100%; max-inline-size: none; margin: var(--space-3) 0 0; padding: var(--space-6); border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--text); }
.calendar-filter-panel:not([open]) { display: none; }
.calendar-filter-panel[open] { display: grid; gap: var(--space-6); }
/* Keep the native open fallback without painting it before the controller closes it. */
@media (scripting: enabled) {
  html:not(.calendar-filters-ready) .calendar-filter-panel[open] { display: none; }
}
.calendar-filter-heading { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); }
.calendar-filter-heading h2 { margin: 0; }
.calendar-section-nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.calendar-section-nav a { min-block-size: var(--touch-min); }
.calendar-filters fieldset { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.calendar-filters legend { inline-size: 100%; margin-block-end: var(--space-1); color: var(--text-2); }
.calendar-check { display: inline-flex; align-items: center; gap: var(--space-2); min-block-size: var(--touch-min); }
.calendar-type-count { color: var(--text-2); }
.calendar-month { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); margin: 0; }
.calendar-month input { box-sizing: border-box; max-inline-size: 100%; min-inline-size: 0; padding: var(--space-2); background: var(--surface); color: var(--text); border: 1px solid var(--border); }
.calendar-month span { flex-basis: 100%; color: var(--text-2); font-size: var(--font-small); }
body.calendar-page #main .calendar-count { margin: var(--space-2) 0; font-size: var(--font-small) !important; color: var(--text-2); }
body.calendar-page #main [data-calendar-filter-state], body.calendar-page #main [data-calendar-count] { margin-block: 0; }
body.calendar-page #main .schedule-review-legend { margin-block: var(--space-1); }
body.calendar-page #main .record-pagination { margin-block: var(--space-6) var(--space-12); }
.calendar-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.calendar-row[hidden], .calendar-group[hidden] { display: none; }
.calendar-groups { display: grid; gap: var(--space-6); }
body.calendar-page #main .calendar-group { margin: 0; padding: 0; }
body.calendar-page #main .calendar-group-title { margin: 0 0 var(--space-2); }
.calendar-group-says { font-weight: var(--weight-normal); color: var(--text-2); }
body.calendar-page #main .calendar-group-note { margin: 0 0 var(--space-2); font-size: var(--font-small) !important; color: var(--text-2); }
.calendar-meta, .calendar-size, .calendar-result, .calendar-history { color: var(--text-2); }
.calendar-meta time, .calendar-history time { white-space: nowrap; }
.calendar-history summary, .calendar-intro > summary { cursor: pointer; min-block-size: var(--touch-min); }
.calendar-history ol { margin: var(--space-2) 0 0; padding-inline-start: var(--space-6); }
.calendar-when, .calendar-size, .calendar-result { margin: 0 0 var(--space-2); }
.calendar-none { color: var(--text-2); }
.calendar-intro { margin-block-start: var(--space-6); }
.calendar-watch { margin: 0 0 var(--space-3); padding: var(--space-3) var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--text); }
.calendar-watch button { margin-inline-start: var(--space-2); }
@media (max-width: 767px) {
  body.calendar-page .orion-public-header .orion-public-nav-wrap { padding-block: var(--space-2); row-gap: var(--space-2); }
  body.calendar-page .orion-public-header nav.orion-public-links { gap: var(--space-2); }
  body.calendar-page #main .calendar-hero { padding-block: 0 !important; }
  body.calendar-page #main .calendar { margin-block-start: var(--space-1) !important; }
  /* With the one-line hero text (2026-10-17), this keeps three full rows in the first 390x844 screen. */
  body.calendar-page #main .schedule-review-legend { margin-block: 0; }
  html.calendar-filters-ready .calendar-filter-panel[open] { position: fixed; inset: auto 0 0; inline-size: 100%; max-block-size: 80dvh; margin: 0; border-radius: var(--radius-card) var(--radius-card) 0 0; overflow-y: auto; overscroll-behavior: contain; }
  .calendar-filter-panel::backdrop { background: color-mix(in srgb, var(--text) 50%, var(--transparent)); }
  html.calendar-filters-ready .calendar-filter-heading { position: sticky; inset-block-start: calc(-1 * var(--space-6)); background: var(--surface); padding-block: var(--space-2); }
}

/* Retained stage, dated public float and research evidence presentation. */
.calendar-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1.3fr); gap: var(--space-4); margin: var(--space-3) 0; padding: var(--space-3) 0; border-block: 1px solid var(--border); }
body #main .calendar-facts > p { min-inline-size: 0; margin: 0; font-size: var(--font-small) !important; line-height: var(--line-body); overflow-wrap: anywhere; }
.calendar-stage strong, .calendar-period strong { color: var(--text); }
.calendar-stage-source { display: block; font-size: var(--font-small); color: var(--text-2); }
.calendar-stage-source a, .calendar-research a { color: var(--accent); }
.calendar-facts .calendar-when time, .calendar-facts .calendar-size time { white-space: normal; }
.calendar-research { margin: var(--space-3) 0; font-size: var(--font-small); line-height: var(--line-body); color: var(--text-2); }
.calendar-research p { margin: var(--space-1) 0; }
.calendar-research-evidence summary { cursor: pointer; min-block-size: var(--touch-min); color: var(--text); }
.calendar-research-evidence dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-1) var(--space-3); margin: var(--space-2) 0; }
.calendar-research-evidence dt { font-weight: var(--weight-medium); }
.calendar-research-evidence dd { margin: 0; overflow-wrap: anywhere; }
.home-stage-filters { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: var(--space-3) 0 var(--space-4); padding: var(--space-3) var(--space-4); border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); color: var(--text); }
.home-stage-filters legend { inline-size: 100%; margin: 0 0 var(--space-2); font-size: var(--font-small); color: var(--text-2); }
.home-stage-note { font-size: var(--font-small); line-height: var(--line-body); color: var(--text-2); }
@media (max-width: 640px) { .calendar-facts { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); } }

/* Retained urgent calendar partition presentation. */
/* Ended windows keep their evidence outside the active calendar and feed. */
.calendar-ended{margin-top:48px;padding-top:24px;border-top:1px solid var(--border,currentColor)}
.calendar-ended[hidden]{display:none}
.calendar-window-ended{margin:8px 0;color:var(--text-2,inherit)}
