/* ORION display tokens. Source text, evidence and review labels remain data-owned. */
:root, html[data-theme], html.public-page {
  color-scheme: light;
  --bg: #FFFFFF;
  --surface: #F6F7F9;
  --surface-alt: #F1F5F9;
  --border: #E3E6EA;
  --text: #0F172A;
  --text-2: #475569;
  --muted: #64748B;
  --accent: #0F766E;
  --button-bg: #0F766E;
  --button-text: #FFFFFF;
  --badge-founder-text: #166534;
  --badge-founder-bg: #DCFCE7;
  --badge-matched-text: #334155;
  --badge-matched-bg: #F1F5F9;
  --form-error: #B91C1C;
  --form-error-bg: #FEF2F2;
  --transparent: transparent;
  --shadow-color: rgba(15, 23, 42, .08);
  --accent-rgb: 15, 118, 110;
  --text-2-rgb: 71, 85, 105;
  --font-body: 17px;
  --font-small: 14px;
  --line-body: 1.6;
  --reading-width: 70ch;
  --weight-normal: 400;
  --weight-medium: 600;
  --weight-bold: 700;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-card: 12px;
  --row-min: 56px;
  --touch-min: 44px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --body: var(--font);
  --display: var(--font);
  --mono: var(--font);
  /* Existing CSS names resolve to roles rather than status or score colors. */
  --sidebar: var(--surface);
  --surface2: var(--surface-alt);
  --surface3: var(--surface-alt);
  --surface-2: var(--surface-alt);
  --surface-3: var(--surface-alt);
  --border2: var(--border);
  --border3: var(--border);
  --border-bright: var(--border);
  --text2: var(--text-2);
  --text3: var(--text-2);
  --text4: var(--text-2);
  --text-mid: var(--text-2);
  --text-dim: var(--text-2);
  --accent-deep: var(--accent);
  --accent-dim: var(--surface-alt);
  --green: var(--text-2);
  --green-dim: var(--surface-alt);
  --red: var(--text-2);
  --red-dim: var(--surface-alt);
  --amber: var(--text-2);
  --amber-dim: var(--surface-alt);
  --warn: var(--text-2);
  --warn-dim: var(--surface-alt);
  --purple: var(--text-2);
  --purple-dim: var(--surface-alt);
  --blue: var(--text-2);
  --cyan: var(--text-2);
  --yellow: var(--text-2);
  --orange: var(--text-2);
  --glass-bg: var(--surface);
  --glass-bg-strong: var(--surface);
  --glass-border: var(--border);
  --ion-blue: var(--text-2);
  --ion-cyan: var(--text-2);
  --ion-violet: var(--text-2);
  --glow-blue: var(--transparent);
  --glow-blue-soft: var(--transparent);
  --glow-cyan-soft: var(--transparent);
  --glow-violet-soft: var(--transparent);
  --depth-1: 0 1px 2px var(--shadow-color);
  --depth-2: 0 4px 12px var(--shadow-color);
  --depth-glow: var(--depth-1);
}
html[data-theme="dark"], html.public-page[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0B0F14;
  --surface: #121821;
  --surface-alt: #1E293B;
  --border: #243041;
  --text: #E6EDF3;
  --text-2: #A9B4C0;
  --muted: #8B98A5;
  --accent: #5EEAD4;
  --button-bg: #2DD4BF;
  --button-text: #04201D;
  --badge-founder-text: #86EFAC;
  --badge-founder-bg: #0F2A1B;
  --badge-matched-text: #CBD5E1;
  --badge-matched-bg: #1E293B;
  --form-error: #FCA5A5;
  --form-error-bg: #321B22;
  --shadow-color: rgba(0, 0, 0, .2);
  --accent-rgb: 94, 234, 212;
  --text-2-rgb: 169, 180, 192;
}
/* Private founder charts use separate series, never public status colors. */
body.founder-metrics-page {
  --metrics-chart-visits: #155AA2;
  --metrics-chart-confirmed: #187346;
  --metrics-chart-pending: #855400;
  --metrics-chart-stopped: #9E3756;
  --metrics-chart-new: #7249A4;
}
html[data-theme="dark"] body.founder-metrics-page {
  --metrics-chart-visits: #93C5FD;
  --metrics-chart-confirmed: #86EFAC;
  --metrics-chart-pending: #FCD34D;
  --metrics-chart-stopped: #FDA4AF;
  --metrics-chart-new: #D8B4FE;
}
html { font-size: var(--font-body); scroll-padding-top: var(--space-12); }
body { background-color: var(--bg) !important; color: var(--text) !important; font-family: var(--font) !important; font-size: var(--font-body) !important; line-height: var(--line-body) !important; font-weight: var(--weight-normal); }
body :where(p, blockquote, dd, dt, li, input, select, textarea) { line-height: var(--line-body); }
body * { font-size: max(var(--font-small), 1em) !important; font-weight: var(--weight-normal) !important; }
body #main * { font-size: max(var(--font-small), 1em) !important; font-weight: var(--weight-normal) !important; }
body :where(header, footer, nav, a, button, h1, h2, h3, h4, p, li, dd, dt, td, th, blockquote, time, strong, b, small, label, input, textarea, select, .ticker, .company-ticker),
body #main :where(header, footer, nav, a, button, h1, h2, h3, h4, p, li, dd, dt, td, th, blockquote, time, strong, b, small, label, input, textarea, select, .ticker, .company-ticker) { font-family: var(--font) !important; }
body :where(span, div, section, article, aside, pre, code, figcaption, summary):not(.material-icons):not(.material-symbols-outlined):not(.fa):not(.fas):not(.far):not(.fab) { font-family: var(--font) !important; }
body :where(p, li, dd, td, blockquote), body #main :where(p, li, dd, td, blockquote) { font-size: var(--font-body) !important; line-height: var(--line-body) !important; }
body :where(p, blockquote, .lede, .intro, .section-intro, .source-quote, .timing-quote) { max-inline-size: var(--reading-width); }
body :where(small, .meta, .caption, .hint, .note, .source-meta, .last-checked, .calendar-meta, .review-label, .badge), body #main :where(small, .meta, .caption, .hint, .note, .source-meta, .last-checked, .calendar-meta, .review-label, .badge) { font-size: var(--font-small) !important; color: var(--text-2); }
body h1, body #main h1 { color: var(--text) !important; font-size: clamp(32px, 5vw, 48px) !important; line-height: 1.2 !important; font-weight: var(--weight-bold) !important; }
body h2, body #main h2 { color: var(--text) !important; font-size: 24px !important; line-height: 1.3 !important; font-weight: var(--weight-medium) !important; }
body h3, body #main h3 { color: var(--text) !important; font-size: 19px !important; line-height: 1.4 !important; font-weight: var(--weight-medium) !important; }
body a, body #main a { color: var(--accent); text-underline-offset: 3px; }
body main a, body #main a { color: var(--accent) !important; text-decoration: underline !important; }
body a:hover { text-decoration-thickness: 2px; }
body .orion-public-header a { min-height: var(--touch-min); }
body .orion-public-header nav a, body .orion-public-footer nav a { display: inline-flex; align-items: center; min-height: var(--touch-min); }
body .orion-public-header nav.orion-public-links, body .orion-public-footer nav { gap: var(--space-2) var(--space-6); }
body .orion-public-header .orion-public-nav-wrap { gap: var(--space-4) var(--space-6); }
body .ce-badge { white-space: normal; max-inline-size: 100%; overflow-wrap: anywhere; }
body #main a.home-due-title, body #main .timing-ladder .ladder-quote { line-height: var(--line-body) !important; }
body.program-page #main .intake-notice, body.program-page #main .intake-fallback { opacity: 1; }
body.program-page #main section.program-file { display: block; min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere; }
body.program-page #main .program-file-facts, body.program-page #main .program-file-facts > div, body.program-page #main .record-pair > div, body.program-page #main .terms dl > div { min-inline-size: 0; }
body.program-page #main .program-file-facts dd, body.program-page #main .terms dd { min-inline-size: 0; max-inline-size: var(--reading-width); overflow-wrap: anywhere; }
body blockquote { color: var(--text-2) !important; border-color: var(--border) !important; font-weight: var(--weight-normal); }
body :where(.orion-timing, [data-orion-timing], .calendar-wording strong, .due-wording strong, .home-due-wording strong, .ladder-quote strong, .timing-quote [data-period]), body #main :where(.orion-timing, [data-orion-timing], .calendar-wording strong, .due-wording strong, .home-due-wording strong, .ladder-quote strong, .timing-quote [data-period]) { color: var(--text) !important; font-weight: var(--weight-medium) !important; }
body :where(.card, .panel, .tier, .study-card, .source-card, .gap-card, .evidence-card, .company-card, .record-card, .guidance-item, .calendar-row, .home-due-list li, .home-records-list li, .home-window-card, [data-card]) { background-color: var(--surface) !important; border: 1px solid var(--border); border-radius: var(--radius-card) !important; padding: var(--space-6) !important; box-shadow: none !important; --muted: var(--text-2); }
body :where(main, .record-body, .observatory-page, .stale-page, .home-wrap) > :where(section, .section, .report-section):has(+ :where(section, .section, .report-section)) { margin-block-end: 0 !important; }
body :where(main, .record-body, .observatory-page, .stale-page, .home-wrap) > :where(section, .section, .report-section) + :where(section, .section, .report-section) { margin-block-start: var(--space-12) !important; }
/* Keep the retained report's provider state in its introductory viewport. */
body .stale-launch-hero { display: flex; flex-direction: column; }
body .stale-launch-hero > .stale-eyebrow { order: 0; }
body .stale-launch-hero > .stale-launch-lead { order: 1; }
body .stale-launch-hero > .hosted-weekly { order: 2; }
body .stale-launch-hero > :not(.stale-eyebrow):not(.stale-launch-lead):not(.hosted-weekly) { order: 3; }
body .stale-launch-hero .hosted-weekly-compact { padding: var(--space-6) !important; margin-block: var(--space-3) !important; }
@media (max-width: 600px) {
  body .stale-launch-hero { padding-block: var(--space-2) var(--space-4); }
  body .stale-launch-hero .stale-wall-preview svg { max-height: var(--space-12); }
  body .stale-launch-hero .hosted-weekly { display: flex !important; flex-direction: column; gap: var(--space-2); }
  body .stale-launch-hero .weekly-newsletter-action { order: -1; margin-block-start: 0; }
}
body :where(li, .calendar-row, .gate-row, .record-row, .table-row, tbody tr) { min-height: var(--row-min); border: 1px solid var(--border); }
body :where(li, .calendar-row, .gate-row, .record-row, .table-row, tbody tr):hover { background-color: var(--surface); }
body :where(.ticker, .company-ticker, [data-ticker-label]) { font-weight: var(--weight-medium) !important; letter-spacing: .02em; }
body :where(.score, .signal, .risk, .metric, .stat, .phase, .kicker, .eyebrow, .status, .tag, .pill) { color: var(--text-2) !important; }
body :where(td, th) { height: var(--row-min); padding: var(--space-3) var(--space-4); border-color: var(--border); }
body :where(time, .number, .numeric, .stat, .metric, .count, .price, .window-countdown, td) { font-variant-numeric: tabular-nums; }
body input:is([type="checkbox"], [type="radio"]) { accent-color: var(--accent); }
body label:has(input:is([type="checkbox"], [type="radio"])) { min-height: var(--touch-min); }
body :where(button, .btn, .button, [role="button"], input:not([type="checkbox"]):not([type="radio"]), select, textarea) { min-height: var(--touch-min); border-radius: var(--radius-card); font-family: var(--font); font-size: max(var(--font-small), 1em); }
body :where(button, .btn, .button, [role="button"]) { background: var(--transparent) !important; color: var(--accent) !important; border: 1px solid var(--accent); padding: var(--space-2) var(--space-4); font-weight: var(--weight-medium); }
body #main :where(button, .btn, .button, [role="button"], .ticker, .company-ticker, [data-ticker-label], .review-label, .badge) { font-weight: var(--weight-medium) !important; }
body :where(.home-cta-primary, [data-home-primary]) { display: inline-flex; align-items: center; justify-content: center; min-height: var(--touch-min); padding: var(--space-3) var(--space-6); border: 1px solid var(--button-bg); border-radius: var(--radius-card); background: var(--button-bg) !important; color: var(--button-text) !important; font-weight: var(--weight-medium); }
body #main a.home-cta-primary, body #main a[data-home-primary], body a.home-cta-primary { background: var(--button-bg) !important; color: var(--button-text) !important; font-weight: var(--weight-medium) !important; text-decoration: none !important; }
body :where(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status]) { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-1) var(--space-2); border: 1px solid var(--border) !important; border-radius: var(--radius-card); background: var(--badge-matched-bg) !important; color: var(--badge-matched-text) !important; font-weight: var(--weight-medium) !important; }
body :where(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status])::before { content: "○"; flex: none; font-size: 1em; }
body :is(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status]), body :is(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status]) a,
body #main :is(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status]), body #main :is(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status]) a { color: var(--badge-matched-text) !important; background: var(--badge-matched-bg) !important; font-weight: var(--weight-medium) !important; }
body :is(a, span)[data-founder-checked="true"], body :is(a, span)[data-review-status="founder_reviewed"] { background: var(--badge-founder-bg) !important; color: var(--badge-founder-text) !important; }
body :is(a, span)[data-founder-checked="true"] a, body :is(a, span)[data-review-status="founder_reviewed"] a { background: var(--badge-founder-bg) !important; color: var(--badge-founder-text) !important; }
body :is(a, span)[data-founder-checked="true"]::before, body :is(a, span)[data-review-status="founder_reviewed"]::before { content: "✓"; }
body #main :where(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status]), body #main :where(.badge, .status-pill, .review-label, .gate-status, :is(a, span)[data-review-status]) a, body #main a.review-label { color: var(--badge-matched-text) !important; background: var(--badge-matched-bg) !important; font-weight: var(--weight-medium) !important; }
body #main :is(a, span)[data-founder-checked="true"], body #main :is(a, span)[data-review-status="founder_reviewed"], body #main :is(a, span)[data-founder-checked="true"] a, body #main :is(a, span)[data-review-status="founder_reviewed"] a { color: var(--badge-founder-text) !important; background: var(--badge-founder-bg) !important; }
body :where(.form-error, .field-error, .invalid-feedback, form [role="alert"]) { color: var(--form-error) !important; background-color: var(--form-error-bg); }
body :where(input[aria-invalid="true"], textarea[aria-invalid="true"], select[aria-invalid="true"]) { border-color: var(--form-error) !important; }
body :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 2px !important; }
html body button.orion-theme-toggle:focus, html body button.orion-theme-toggle:focus-visible { outline: 2px solid var(--accent) !important; outline-offset: 2px !important; }
body :where(.theme-toggle, .orion-theme-toggle) { display: inline-flex; align-items: center; justify-content: center; width: var(--touch-min); height: var(--touch-min); padding: var(--space-2); flex: none; }
.orion-theme-toggle svg { width: 20px; height: 20px; stroke: currentColor; }
html[data-theme="light"] .orion-theme-icon-moon, html[data-theme="dark"] .orion-theme-icon-sun { display: none; }
html[data-theme="light"] .orion-theme-icon-sun, html[data-theme="dark"] .orion-theme-icon-moon { display: block; }
:root:not([data-theme]) .orion-theme-icon-moon { display: none; }
:root:not([data-theme]) .orion-theme-icon-sun { display: block; }
.orion-theme-controls { display: flex; justify-content: flex-end; position: relative; z-index: 50; padding: var(--space-2) var(--space-4); background: var(--bg); border-bottom: 1px solid var(--border); }
@media (min-width: 1200px) {
  body.promise-record-page .change-table td[data-label="Source"] { padding-inline: var(--space-2); }
  body.promise-record-page .change-table:has(th:nth-child(6):last-child) th:nth-child(3) { width: calc(37% - 136px); }
  body.promise-record-page .change-table:has(th:nth-child(6):last-child) th:nth-child(6) { width: 136px; min-inline-size: 128px; }
}
@media (max-width: 700px) {
  body main { padding-inline: var(--space-4) !important; }
  body main :where(.shell, .wrap, .container, .home-wrap) { padding-inline: 0 !important; margin-inline: 0 !important; width: 100% !important; max-width: 100% !important; }
  body :where(.card, .panel, .tier, .source-card, .evidence-card, .calendar-row, .home-due-list li, .home-records-list li, .home-window-card, [data-card]) { padding: var(--space-6) !important; }
  body.program-page #main .program-file-facts, body.program-page #main .record-pair { grid-template-columns: minmax(0, 1fr); }
  body.program-page #main .program-file-facts dd, body.program-page #main .terms dd { margin-inline-start: 0; }
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --bg: #0B0F14; --surface: #121821; --surface-alt: #1E293B; --border: #243041;
    --text: #E6EDF3; --text-2: #A9B4C0; --muted: #8B98A5; --accent: #5EEAD4;
    --button-bg: #2DD4BF; --button-text: #04201D;
    --badge-founder-text: #86EFAC; --badge-founder-bg: #0F2A1B;
    --badge-matched-text: #CBD5E1; --badge-matched-bg: #1E293B;
    --form-error: #FCA5A5; --form-error-bg: #321B22;
    --shadow-color: rgba(0, 0, 0, .2); --accent-rgb: 94, 234, 212; --text-2-rgb: 169, 180, 192;
  }
  :root:not([data-theme]) .orion-theme-icon-sun { display: none; }
  :root:not([data-theme]) .orion-theme-icon-moon { display: block; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
