:root {
  --ink: #071315;
  --ink-2: #0d1b1d;
  --paper: #f2f0e9;
  --paper-2: #e7e4da;
  --lime: #c9ff55;
  --lime-deep: #82ad23;
  --coral: #ff7f66;
  --cyan: #79d9ea;
  --muted: #819095;
  --line: rgba(7, 19, 21, 0.15);
  --dark-line: rgba(255, 255, 255, 0.13);
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.topbar {
  height: 66px;
  padding: 0 3.4vw;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
  position: sticky;
  top: 0;
  z-index: 50;
  color: #eff7f1;
  background: rgba(7, 19, 21, 0.9);
  border-bottom: 1px solid var(--dark-line);
  backdrop-filter: blur(18px);
}
.brand { display: flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: .05em; font-size: 12px; white-space: nowrap; }
.brand i { color: var(--lime); font-style: normal; }
.brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--lime); border-radius: 50%; color: var(--lime); font: 700 10px var(--mono); letter-spacing: -.05em; }
.topbar nav { display: flex; gap: 26px; font-size: 11px; color: #aeb9b8; }
.topbar nav a { transition: color .2s ease; }
.topbar nav a:hover { color: var(--lime); }
.live-state { justify-self: end; display: flex; align-items: center; gap: 7px; text-transform: uppercase; color: #aeb9b8; font: 10px var(--mono); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--muted); box-shadow: 0 0 0 4px rgba(129,144,149,.12); flex: 0 0 auto; }
.status-provisional, .status-partial, .status-operational { background: #ffbf5f; box-shadow: 0 0 0 4px rgba(255,191,95,.14); }
.status-final, .status-complete, .status-verified, .status-published { background: var(--lime); box-shadow: 0 0 0 4px rgba(201,255,85,.13); }
.status-lagged, .status-unavailable { background: var(--coral); box-shadow: 0 0 0 4px rgba(255,127,102,.12); }

.hero { min-height: 700px; height: calc(100svh - 66px); max-height: 920px; position: relative; overflow: hidden; color: #f6faf5; background: var(--ink); }
.hero-image { position: absolute; inset: 0; background: url('/solar-forensics-hero.png') center / cover no-repeat; transform: scale(1.012); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,14,16,.98) 0%, rgba(4,14,16,.78) 34%, rgba(4,14,16,.12) 69%), linear-gradient(0deg, rgba(4,14,16,.86) 0%, transparent 42%); }
.hero::after { content: ""; position: absolute; left: 3.4vw; right: 3.4vw; bottom: 32px; height: 1px; background: rgba(255,255,255,.22); }
.hero-content { position: absolute; z-index: 2; top: 50%; left: 8vw; width: min(720px, 60vw); transform: translateY(-48%); }
.hero-kicker { display: flex; gap: 10px; margin-bottom: 30px; }
.hero-kicker span { border: 1px solid rgba(255,255,255,.25); padding: 7px 10px; border-radius: 999px; color: #ced8d4; font: 9px var(--mono); letter-spacing: .1em; }
.hero-kicker span:first-child { color: var(--lime); border-color: rgba(201,255,85,.5); }
.hero h1 { margin: 0; font-size: clamp(64px, 7.7vw, 128px); line-height: .84; letter-spacing: -.072em; font-weight: 750; }
.hero h1 em, .section-heading h2 em { color: var(--lime); font-style: normal; font-weight: 350; }
.hero-deck { max-width: 660px; margin: 34px 0 0; color: #bdc8c5; font-size: clamp(17px, 1.4vw, 22px); line-height: 1.55; letter-spacing: -.015em; }
.hero-deck strong { color: #fff; font-family: var(--mono); font-size: .9em; }
.hero-actions { display: flex; gap: 12px; margin-top: 34px; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 0 20px; border-radius: 2px; font-size: 12px; font-weight: 750; letter-spacing: .03em; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--lime); color: var(--ink); }
.button.secondary { border: 1px solid rgba(255,255,255,.35); color: #fff; }
.button.secondary:hover { background: rgba(255,255,255,.08); }
.hero-proof { position: absolute; z-index: 2; right: 4vw; bottom: 58px; width: 240px; border-left: 1px solid var(--lime); padding-left: 18px; display: grid; gap: 5px; }
.hero-proof span, .overline { color: var(--lime-deep); font: 10px var(--mono); letter-spacing: .1em; }
.hero-proof strong { font: 21px var(--mono); }
.hero-proof small { color: #a7b3b0; font-size: 11px; }

.evidence-ribbon { background: var(--lime); display: grid; grid-template-columns: repeat(5, 1fr); padding: 0 3.4vw; }
.evidence-ribbon > div { min-height: 112px; padding: 24px 2.2vw; display: grid; align-content: center; border-right: 1px solid rgba(7,19,21,.18); }
.evidence-ribbon > div:first-child { border-left: 1px solid rgba(7,19,21,.18); }
.evidence-ribbon span { font: 9px var(--mono); letter-spacing: .12em; }
.evidence-ribbon strong { margin: 6px 0 2px; font-size: 22px; letter-spacing: -.035em; }
.evidence-ribbon small { font: 10px var(--mono); color: rgba(7,19,21,.62); }

.section { padding: 110px max(4vw, calc((100vw - 1480px) / 2)); }
.section-heading { max-width: 850px; margin-bottom: 54px; }
.section-heading.split-heading { max-width: none; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr); gap: 8vw; align-items: end; }
.eyebrow { color: var(--lime-deep); font: 700 10px var(--mono); letter-spacing: .13em; }
.section-heading h2 { margin: 17px 0 0; font-size: clamp(42px, 5vw, 78px); line-height: .98; letter-spacing: -.062em; }
.section-heading h2 em { color: #5e8611; }
.section-heading > p, .split-heading > p { margin: 20px 0 0; color: #536165; font-size: 15px; line-height: 1.75; }

.intro-section { background: var(--paper); }
.hypothesis-grid { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.hypothesis-card { min-height: 370px; padding: 25px; border-right: 1px solid var(--line); position: relative; display: flex; flex-direction: column; }
.hypothesis-card:last-child { border-right: 0; }
.card-index { font: 12px var(--mono); color: #727e80; }
.verdict { position: absolute; right: 18px; top: 19px; padding: 6px 8px; border-radius: 2px; font: 700 8px var(--mono); letter-spacing: .08em; background: #d8ddd7; }
.verdict-supported { background: var(--lime); }
.verdict-mixed { background: #ffe194; }
.verdict-rejected { background: #ffc4b8; }
.verdict-pending { background: #dce8ea; }
.hypothesis-card h3 { margin: 55px 0 30px; font-size: 18px; line-height: 1.35; letter-spacing: -.025em; }
.hypothesis-card dl { margin: auto 0 0; }
.hypothesis-card dl div { padding-top: 13px; margin-top: 13px; border-top: 1px solid var(--line); }
.hypothesis-card dt { font: 9px var(--mono); color: #748185; }
.hypothesis-card dd { margin: 6px 0 0; font-size: 11px; line-height: 1.55; color: #465458; }

.capacity-section { background: #e9eee2; }
.capacity-callout { margin-bottom: 24px; padding: 28px 30px; border-left: 5px solid var(--lime-deep); background: #f7f8ed; }
.capacity-callout h3 { margin: 8px 0 12px; font-size: clamp(24px, 3vw, 40px); letter-spacing: -.045em; }
.capacity-callout h3 em { color: #5e8611; }
.capacity-callout p { max-width: 1050px; margin: 0; color: #536165; font-size: 13px; line-height: 1.75; }
.capacity-method-grid { margin-top: 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.capacity-method-grid article { min-height: 180px; padding: 23px; display: grid; align-content: space-between; background: rgba(255,255,255,.7); }
.capacity-method-grid span { color: #687672; font: 8px var(--mono); text-transform: uppercase; }
.capacity-method-grid strong { margin: 18px 0; font: 500 clamp(28px, 3vw, 45px) var(--mono); letter-spacing: -.07em; }
.capacity-method-grid p { margin: 0; color: #5f6d70; font-size: 10px; line-height: 1.6; }
.capacity-bridge { margin-bottom: 24px; }
.capacity-table table { min-width: 1120px; }
.capacity-table td { font-size: 10px; }
.capacity-rules { margin-top: 24px; }
.sixty-day-audit { margin: 34px 0 40px; padding: 28px; border: 1px solid var(--line); background: rgba(255,255,255,.42); }
.sixty-day-audit .daily-decision-heading { margin-top: 0; }
.sixty-day-table table { min-width: 980px; }
.sixty-day-table td { font-size: 10px; }

.comparison-section { color: #eef6f2; background: var(--ink); }
.comparison-section .section-heading p { color: #92a09e; }
.comparison-section .section-heading h2 em { color: var(--lime); }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--dark-line); border: 1px solid var(--dark-line); }
.kpi-card { min-height: 180px; padding: 26px; background: var(--ink-2); color: #eef6f2; display: grid; align-content: space-between; }
.kpi-card span { color: #93a09e; font: 9px var(--mono); letter-spacing: .1em; }
.kpi-card strong { font: 500 clamp(34px, 3vw, 56px) var(--mono); letter-spacing: -.07em; }
.kpi-card small { color: #6f807e; font-size: 11px; }
.kpi-card.lime { background: var(--lime); color: var(--ink); }
.kpi-card.lime span, .kpi-card.lime small { color: rgba(7,19,21,.62); }
.kpi-card.coral strong { color: var(--coral); }
.chart-card { margin-top: 24px; border: 1px solid var(--dark-line); background: #0a1719; }
.chart-header { padding: 26px 28px 0; display: flex; justify-content: space-between; align-items: flex-start; }
.chart-header h3 { font-size: 22px; margin: 7px 0; }
.legend { display: flex; gap: 22px; color: #80908f; font: 10px var(--mono); }
.legend span { display: flex; align-items: center; gap: 7px; }
.legend i { width: 20px; height: 2px; display: inline-block; }
.legend-2026 { background: var(--lime); }
.legend-2025 { background: #748789; }
.chart-wrap { width: 100%; overflow-x: auto; padding: 10px 20px 0; }
.chart-wrap svg { display: block; width: 100%; min-width: 720px; }
.grid-line { stroke: rgba(255,255,255,.09); stroke-width: 1; }
.axis-label { fill: #697b79; font: 9px var(--mono); }
.series { fill: none; stroke-width: 2.2; vector-effect: non-scaling-stroke; }
.series-2026 { stroke: var(--lime); }
.series-2025 { stroke: #718487; stroke-dasharray: 5 5; }
.dot-2026 { fill: var(--ink); stroke: var(--lime); stroke-width: 1.5; }
.residual-panel { border-top: 1px solid var(--dark-line); padding: 24px 28px; display: grid; grid-template-columns: 270px 1fr; gap: 36px; align-items: end; }
.residual-panel p { margin: 8px 0 0; color: #748582; font-size: 11px; line-height: 1.55; }
.delta-strip { display: grid; grid-template-columns: repeat(31, 1fr); gap: 4px; align-items: end; height: 82px; }
.delta-day { height: 82px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 5px; }
.delta-day small { color: #5d706e; font: 7px var(--mono); }
.delta-bar { width: 100%; min-width: 3px; background: var(--lime); }
.delta-bar.negative { background: var(--coral); }
.delta-bar.missing { background: #314143; }

.decision-section { background: #edf0e5; }
.inspection-explainer { margin: -16px 0 28px; padding: 24px 28px; display: grid; grid-template-columns: 210px 1fr; gap: 9px 28px; border-left: 4px solid var(--cyan); background: #dfeaec; }
.inspection-explainer > span { grid-row: 1 / 3; color: #47717a; font: 700 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.inspection-explainer strong { font-size: 16px; letter-spacing: -.02em; }
.inspection-explainer p { margin: 0; color: #55696e; font-size: 11px; line-height: 1.65; }
.inspection-audit { margin: 0 0 32px; border: 1px solid var(--line); background: rgba(255,255,255,.48); }
.inspection-audit-summary { padding: 24px 26px; display: grid; grid-template-columns: minmax(300px, 1fr) minmax(560px, 1.45fr); gap: 28px; align-items: end; }
.inspection-audit-summary h3 { margin: 7px 0 0; font-size: 25px; letter-spacing: -.04em; }
.inspection-audit-summary dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); }
.inspection-audit-summary dl div { min-height: 70px; padding: 12px; display: grid; align-content: space-between; background: #f1f2e9; }
.inspection-audit-summary dt { color: #728083; font: 8px var(--mono); }
.inspection-audit-summary dd { margin: 0; font: 700 14px var(--mono); }
.inspection-audit-callout { padding: 18px 26px; display: grid; grid-template-columns: 210px 1fr; gap: 26px; border-top: 1px solid var(--line); border-left: 4px solid #e9a83c; background: #fff2d6; }
.inspection-audit-callout strong { font-size: 13px; }
.inspection-audit-callout p { margin: 0; color: #5f675f; font-size: 10px; line-height: 1.7; }
.inspection-policy-grid { border-width: 1px 0 0; }
.inspection-policy-grid strong { font-size: clamp(17px, 1.7vw, 23px); line-height: 1.15; }
.inspection-audit-table { border-width: 1px 0 0; }
.inspection-audit-table table { min-width: 1080px; }
.inspection-audit-table td { font-size: 10px; }
.run-state { display: inline-flex; padding: 5px 7px; border: 1px solid currentColor; font: 700 8px var(--mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.run-state-success { color: #39760b; background: #e7f4d4; }
.run-state-failed { color: #b53b2a; background: #ffe1d8; }
.run-state-pending { color: #8a641b; background: #fff0c1; }
.episode-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; border: 1px solid var(--line); background: var(--line); }
.episode-tabs button { padding: 19px 22px; display: grid; gap: 5px; text-align: left; border: 0; background: #f2f2e9; color: var(--ink); cursor: pointer; }
.episode-tabs button.active { background: var(--ink); color: #eff6f1; box-shadow: inset 0 -3px 0 var(--lime); }
.episode-tabs span { color: #768486; font: 9px var(--mono); }
.episode-tabs button.active span { color: var(--lime); }
.episode-tabs strong { font-size: 17px; }
.episode-tabs small { color: #788588; font: 9px var(--mono); }
.engineer-verdict { padding: 28px; display: grid; grid-template-columns: minmax(230px, .75fr) minmax(260px, 1fr) minmax(260px, 1fr) auto; gap: 28px; align-items: center; background: #fbfbf4; border: 1px solid var(--line); border-top: 0; }
.engineer-verdict > div:first-child { display: grid; gap: 7px; }
.engineer-verdict > div:first-child span { color: #6f7d80; font: 9px var(--mono); text-transform: uppercase; }
.engineer-verdict > div:first-child strong { font-size: 22px; letter-spacing: -.04em; }
.engineer-verdict > div:first-child small { color: #7a8789; font-size: 9px; line-height: 1.5; }
.engineer-verdict p { margin: 0; color: #536165; font-size: 11px; line-height: 1.65; }
.engineer-verdict dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 0; min-width: 240px; background: var(--line); }
.engineer-verdict dl div { padding: 12px; background: #eef0e6; }
.engineer-verdict dt { color: #768285; font: 8px var(--mono); }
.engineer-verdict dd { margin: 5px 0 0; font: 700 13px var(--mono); }
.engineer-verdict.verdict-review { border-left: 4px solid #e9a83c; }
.engineer-verdict.verdict-observe { border-left: 4px solid var(--lime-deep); }
.loss-bridge { margin-top: 24px; padding: 1px; display: grid; grid-template-columns: repeat(4, minmax(140px, 1fr) auto) minmax(150px, 1fr); align-items: stretch; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.loss-bridge article { min-height: 150px; padding: 20px; display: grid; align-content: space-between; background: #f7f7f0; }
.loss-bridge article.allowance { background: #eef1da; }
.loss-bridge article.loss { background: #ffd5cc; }
.loss-bridge article span { color: #6f7c7e; font: 8px var(--mono); text-transform: uppercase; }
.loss-bridge article strong { font: 500 clamp(24px, 2.4vw, 40px) var(--mono); letter-spacing: -.07em; }
.loss-bridge article small { color: #697678; font-size: 9px; line-height: 1.45; }
.loss-bridge > i { width: 28px; display: grid; place-items: center; background: #dfe3d7; color: #738078; font: 16px var(--mono); font-style: normal; }
.long-term-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin: 24px 0; background: var(--line); border: 1px solid var(--line); }
.long-term-grid article { min-height: 132px; padding: 19px; display: grid; align-content: space-between; background: rgba(255,255,255,.58); }
.long-term-grid span { color: #707d80; font: 8px var(--mono); text-transform: uppercase; }
.long-term-grid strong { font: 500 25px var(--mono); letter-spacing: -.05em; }
.long-term-grid small { color: #6b797b; font-size: 9px; line-height: 1.45; }
.daily-decision-heading { margin-top: 42px; display: grid; grid-template-columns: 1fr minmax(270px, .55fr); gap: 40px; align-items: end; }
.daily-decision-heading h3 { margin: 8px 0 16px; font-size: 27px; letter-spacing: -.04em; }
.daily-decision-heading p { color: #647174; font-size: 10px; line-height: 1.6; }
.engineer-daily-table table { min-width: 1230px; }
.engineer-daily-table td { font-size: 10px; }
.engineer-daily-table .alarm-row { background: rgba(255,127,102,.09); }
.engineer-daily-table .candidate-row { background: rgba(255,207,83,.12); }
.engineer-daily-table .suppressed-row { background: rgba(121,217,234,.08); }
.decision-disclaimer { margin-top: 16px; padding: 16px 18px; border: 1px solid var(--line); color: #5f6d70; font-size: 10px; line-height: 1.65; }
.decision-disclaimer strong { color: var(--ink); }

.abnormal-section { background: var(--paper-2); }
.segmented-control { justify-self: end; display: flex; border: 1px solid var(--line); padding: 4px; }
.segmented-control button { border: 0; background: transparent; padding: 11px 16px; color: #667477; font-size: 11px; cursor: pointer; }
.segmented-control button.active { background: var(--ink); color: var(--lime); }
.table-shell { overflow: auto; border: 1px solid var(--line); background: rgba(255,255,255,.36); }
table { width: 100%; border-collapse: collapse; min-width: 900px; }
th { padding: 13px 14px; text-align: left; background: rgba(7,19,21,.055); color: #617074; border-bottom: 1px solid var(--line); font: 9px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
td { padding: 14px; border-bottom: 1px solid var(--line); font-size: 12px; vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: rgba(255,255,255,.58); }
td strong { font-size: 12px; }
.numeric { text-align: right; font-family: var(--mono); font-variant-numeric: tabular-nums; }
.subcell { display: block; margin-top: 4px; color: #728084; font-size: 9px; font-weight: 400; }
.rank-number { color: #809093; font: 11px var(--mono); }
.negative-text { color: #c64631 !important; }
.positive-text { color: #39760b; }
.alarm-count { padding: 4px 6px; background: rgba(7,19,21,.08); font: 9px var(--mono); }
.ranking-note { margin: -28px 0 14px; color: #667478; font: 9px var(--mono); }
.ranking-note strong { color: var(--ink); }
.episode-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 24px; background: var(--line); border: 1px solid var(--line); }
.episode-grid article { background: var(--paper-2); padding: 27px; }
.episode-grid article > div { display: flex; justify-content: space-between; align-items: center; }
.episode-tag { padding: 5px 7px; background: var(--coral); font: 8px var(--mono); text-transform: uppercase; }
.episode-date { font: 9px var(--mono); color: #748184; }
.episode-grid h3 { margin: 25px 0 5px; font-size: 22px; }
.episode-grid p { color: #5e6b6e; font-size: 12px; line-height: 1.55; }
.episode-grid footer { margin-top: 22px; padding-top: 13px; border-top: 1px solid var(--line); color: #657276; font-size: 10px; }

.ledger-section { background: #f7f6f1; }
.formula-box { padding: 18px 20px; border-left: 2px solid var(--lime-deep); display: grid; gap: 7px; background: #ebece2; }
.formula-box span { font: 8px var(--mono); color: #738084; }
.formula-box strong { font: 13px var(--mono); }
.formula-box small { color: #687579; line-height: 1.5; }
.ledger-toolbar { display: grid; grid-template-columns: minmax(250px, 1fr) 190px 170px 180px auto; gap: 9px; margin-bottom: 12px; }
.search-field { display: flex; align-items: center; border: 1px solid var(--line); background: #fff; padding: 0 13px; }
.search-field svg { width: 17px; fill: none; stroke: #768285; stroke-width: 1.6; margin-right: 9px; }
.search-field input { width: 100%; height: 42px; border: 0; outline: 0; background: transparent; font-size: 11px; }
.ledger-toolbar select { border: 1px solid var(--line); background: #fff; padding: 0 12px; color: #39474a; font-size: 11px; }
.download-link { display: grid; place-items: center; padding: 0 16px; background: var(--ink); color: var(--lime); font-size: 10px; font-weight: 700; }
.ledger-count { margin: 13px 0; color: #758184; font: 9px var(--mono); }
.ledger-count strong { color: var(--ink); }
.ledger-load-state { min-height: 230px; border: 1px solid var(--line); background: rgba(255,255,255,.42); display: grid; place-content: center; justify-items: center; gap: 13px; color: #687579; text-align: center; }
.ledger-load-state strong { color: var(--ink); font-size: 16px; }
.ledger-load-state span { font-size: 11px; }
.ledger-load-state a { color: #3f6f0c; font: 700 10px var(--mono); }
.ledger-load-state.error { border-left: 4px solid var(--coral); }
.ledger-table table { min-width: 1350px; }
.ledger-table td { padding: 12px; font-size: 10px; }
.ledger-table td strong { font-size: 10px; }
.ledger-table small { color: #849093; font-size: 8px; }
.formula-column { background: rgba(7,19,21,.025); }
.formula-expression { display: inline-block; white-space: nowrap; font-size: 9px; }
.decision { display: inline-flex; padding: 5px 6px; border-radius: 2px; font: 700 8px var(--mono); letter-spacing: .04em; }
.decision-alarm { background: var(--coral); color: #3b0c05; }
.decision-suppressed_candidate { background: #ffd76e; }
.decision-normal { background: #cdeca8; }
.decision-suppressed { background: #dce1dd; }
.decision-learning { background: #cde5ea; }
.decision-no_data { background: #e4e2dc; color: #737c7d; }
.decision-not_evaluated { background: #ece8d8; color: #6f6a58; }
.decision-supported { background: #cdeca8; color: #27420d; }
.decision-mixed { background: #ffe2a1; color: #62490d; }
.production { font: 700 8px var(--mono); }
.production-yes { color: #bf3924; }
.production-no { color: #39760b; }
.production-unknown, .production-not_applicable { color: #798587; }
.reason-cell { max-width: 260px; color: #687579; line-height: 1.45; }
.pagination { display: flex; justify-content: flex-end; align-items: center; gap: 18px; margin-top: 18px; }
.pagination button { border: 1px solid var(--line); background: transparent; padding: 9px 12px; font-size: 10px; cursor: pointer; }
.pagination button:disabled { opacity: .35; cursor: default; }
.pagination span { color: #6d797c; font: 9px var(--mono); }

.method-section { background: #dfe3d5; }
.model-boundary { margin: 28px 0 22px; padding: 28px; border: 1px solid var(--line); background: rgba(255,255,255,.36); display: grid; gap: 9px; }
.model-boundary > span { color: var(--lime-deep); font: 700 9px var(--mono); letter-spacing: .09em; }
.model-boundary h3 { margin: 3px 0 0; font-size: 28px; letter-spacing: -.04em; }
.model-boundary p { margin: 3px 0; max-width: 920px; color: #566560; font-size: 13px; line-height: 1.7; }
.model-boundary code { margin-top: 5px; color: #34413e; font: 11px var(--mono); }
.production-model { margin-top: 70px; border-left: 4px solid var(--lime-deep); }
.replay-model { border-left: 4px solid var(--coral); }
.method-flow { display: grid; grid-template-columns: repeat(7, auto); gap: 12px; align-items: center; border: 1px solid var(--line); padding: 22px; }
.method-flow > div { min-height: 120px; min-width: 0; display: flex; flex-direction: column; justify-content: space-between; }
.method-flow > i { color: #849087; font-style: normal; }
.method-flow span { font: 9px var(--mono); color: #6e7d77; }
.method-flow strong { font-size: 15px; }
.method-flow small { color: #6b7975; font-size: 10px; line-height: 1.45; }
.equation-card { margin: 22px 0; padding: 24px; background: var(--ink); color: #e7eeea; display: grid; gap: 11px; }
.equation-card span { color: var(--lime); font: 9px var(--mono); }
.equation-card code { font: 12px var(--mono); color: #a9b8b4; }
.threshold-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.threshold-grid article { min-height: 155px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.threshold-grid article:nth-child(4n) { border-right: 0; }
.threshold-grid span { color: #687672; font: 8px var(--mono); text-transform: uppercase; }
.threshold-grid strong { display: block; margin: 13px 0; font: 500 25px var(--mono); letter-spacing: -.06em; }
.threshold-grid p { margin: 0; color: #64716e; font-size: 10px; line-height: 1.5; }
.suppression-list { margin-top: 24px; border: 1px solid var(--line); }
.suppression-list summary { padding: 18px 22px; display: flex; justify-content: space-between; cursor: pointer; font-size: 12px; font-weight: 700; }
.suppression-list summary strong { color: #718078; font: 9px var(--mono); }
.suppression-list ol { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.suppression-list li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; padding: 15px 19px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.suppression-list li:nth-child(even) { border-right: 0; }
.suppression-list li > span { color: #7c8984; font: 9px var(--mono); }
.suppression-list li strong { font-size: 11px; }
.suppression-list li p { margin: 5px 0 0; color: #64716e; font-size: 9px; line-height: 1.48; }
.suppression-list li code { display: block; margin-top: 7px; color: #76827e; font: 8px var(--mono); overflow-wrap: anywhere; }

.provenance-section { background: var(--paper); }
.source-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.source-grid > * { min-height: 220px; padding: 22px; background: var(--paper); position: relative; transition: background .2s ease; }
.source-grid a:hover { background: #fff; }
.source-grid > * > div { display: flex; align-items: center; gap: 8px; color: #718083; font: 8px var(--mono); text-transform: uppercase; }
.source-grid h3 { margin: 45px 0 10px; font-size: 17px; }
.source-grid p { color: #59676a; font-size: 11px; line-height: 1.5; }
.source-grid small { position: absolute; bottom: 20px; left: 22px; right: 22px; color: #7c888a; font: 8px var(--mono); }
.source-grid b { position: absolute; top: 20px; right: 20px; font-size: 13px; }
.notes-panel { margin-top: 25px; display: grid; grid-template-columns: 220px 1fr; padding: 24px; background: #e6e4da; }
.notes-panel > span { color: #667477; font: 9px var(--mono); }
.notes-panel ul { margin: 0; padding-left: 18px; columns: 2; column-gap: 50px; }
.notes-panel li { break-inside: avoid; margin-bottom: 9px; color: #536165; font-size: 10px; line-height: 1.5; }

.site-footer { min-height: 150px; padding: 45px 3.4vw; background: var(--ink); color: #eef5f0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; }
.site-footer p { color: #71807e; font: 9px var(--mono); }
.site-footer > a { justify-self: end; color: var(--lime); font-size: 10px; }
.static-loading, .static-error { min-height: 100vh; padding: 32px; display: grid; place-content: center; gap: 10px; text-align: center; background: var(--ink); color: var(--paper); }
.static-loading strong, .static-error strong { font-size: 24px; }
.static-loading span, .static-error p { margin: 0; color: #9aaba8; font: 10px var(--mono); }
.static-error .button { justify-self: center; margin-top: 12px; }
.load-ledger { margin-bottom: 24px; border: 0; cursor: pointer; }
.load-ledger:disabled { opacity: .65; cursor: wait; }
.load-error { padding: 18px; border-left: 3px solid var(--coral); background: #ffe1d8; color: #7e2f21; }
.weather-daily-table table { min-width: 1180px; }

.loading-screen { min-height: 100vh; display: grid; place-content: center; justify-items: center; gap: 24px; background: var(--ink); color: #eaf2ed; text-align: center; padding: 30px; }
.loading-screen h1 { margin: 0; font-size: 40px; }
.loading-screen p { color: #9aa8a5; max-width: 580px; }
.loading-mark { display: flex; align-items: flex-end; gap: 4px; height: 45px; }
.loading-mark span { width: 5px; height: 14px; background: var(--lime); animation: pulse 1s infinite alternate; }
.loading-mark span:nth-child(2) { height: 28px; animation-delay: .15s; }
.loading-mark span:nth-child(3) { height: 40px; animation-delay: .3s; }
@keyframes pulse { to { opacity: .25; transform: scaleY(.6); } }

@media (max-width: 1100px) {
  .topbar { grid-template-columns: 1fr auto; }
  .topbar nav { display: none; }
  .hypothesis-grid { grid-template-columns: repeat(2, 1fr); }
  .hypothesis-card { border-bottom: 1px solid var(--line); }
  .hypothesis-card:nth-child(even) { border-right: 0; }
  .kpi-grid, .threshold-grid, .source-grid, .capacity-method-grid { grid-template-columns: repeat(2, 1fr); }
  .threshold-grid article:nth-child(2n), .source-grid > *:nth-child(2n) { border-right: 0; }
  .ledger-toolbar { grid-template-columns: 1fr 1fr; }
  .engineer-verdict { grid-template-columns: 1fr 1fr; }
  .loss-bridge { grid-template-columns: 1fr; }
  .loss-bridge > i { width: auto; height: 28px; }
  .long-term-grid { grid-template-columns: repeat(2, 1fr); }
  .method-flow { grid-template-columns: 1fr; }
  .method-flow > i { transform: rotate(90deg); justify-self: center; }
}

@media (max-width: 720px) {
  .topbar { height: 58px; padding: 0 18px; }
  .topbar .live-state { font-size: 0; }
  .topbar .live-state::after { content: "DATA STATUS"; font-size: 8px; }
  .hero { height: auto; min-height: 760px; }
  .hero-content { left: 22px; right: 22px; width: auto; top: 43%; }
  .hero h1 { font-size: clamp(57px, 18vw, 80px); }
  .hero-kicker { flex-wrap: wrap; }
  .hero-deck { font-size: 16px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-proof { left: 22px; right: auto; bottom: 45px; }
  .evidence-ribbon { grid-template-columns: 1fr 1fr; padding: 0; }
  .evidence-ribbon > div { border-bottom: 1px solid rgba(7,19,21,.18); }
  .section { padding: 76px 18px; }
  .section-heading.split-heading { grid-template-columns: 1fr; gap: 20px; }
  .section-heading h2 { font-size: 45px; }
  .hypothesis-grid, .kpi-grid, .threshold-grid, .source-grid, .episode-grid, .capacity-method-grid { grid-template-columns: 1fr; }
  .inspection-explainer, .inspection-audit-summary, .inspection-audit-callout, .engineer-verdict, .daily-decision-heading { grid-template-columns: 1fr; }
  .inspection-explainer > span { grid-row: auto; }
  .inspection-audit-summary dl { grid-template-columns: repeat(2, 1fr); }
  .episode-tabs, .long-term-grid { grid-template-columns: 1fr; }
  .hypothesis-card, .kpi-card, .threshold-grid article, .source-grid > *, .episode-grid article { border-right: 0; }
  .chart-header { display: block; }
  .legend { margin-top: 15px; }
  .residual-panel { grid-template-columns: 1fr; }
  .delta-strip { gap: 2px; }
  .ledger-toolbar { grid-template-columns: 1fr; }
  .ledger-toolbar select, .download-link { min-height: 43px; }
  .suppression-list ol { grid-template-columns: 1fr; }
  .suppression-list li { border-right: 0; }
  .notes-panel { grid-template-columns: 1fr; gap: 20px; }
  .notes-panel ul { columns: 1; }
  .site-footer { grid-template-columns: 1fr; gap: 20px; text-align: left; }
  .site-footer > a { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
