/* Signal instrument panel — Frontier Signal. Semantic evidence colors are independent of the UI accent. */
:root {
 color-scheme:dark;
 --bg:#171719; --dark:#101012; --surface:#232326; --surface2:#36363c;
 --text:#f6f6f8; --dark-text:#f6f6f8; --muted:#c0c0ca;
 --border:#55555e; --control-border:#80808a;
 --accent:#ff795e; --accent-hover:#ff947e; --action-text:#161619; --focus:#ffb5a4; --red:#ffafbe;
 --amber:#efc59a; --mint:#b8dcba; --evidence:#dce7b0;
 --font:Menlo,Consolas,monospace; --display:var(--font);
 --page-width:1600px; --gutter:24px; --radius:0;
 --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-6:24px; --space-8:32px;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:24px; scrollbar-color:var(--control-border) var(--bg) }
body { margin:0; background:var(--bg); color:var(--text); font:14px/1.5 var(--font); -webkit-font-smoothing:antialiased }
::selection { background:var(--accent); color:var(--action-text) }
a { color:inherit; text-decoration:none; text-underline-offset:4px }
button,input,select { font:inherit; border-radius:0 }
button { cursor:pointer; color:inherit; background:none; border:0 }
a,button,input,select,summary { -webkit-tap-highlight-color:transparent }
button,a,input,select,summary { touch-action:manipulation }
input { caret-color:var(--accent) }
:focus-visible { outline:3px solid var(--focus); outline-offset:3px }
main:focus { outline:none }
button:disabled { opacity:.5; cursor:not-allowed }
a:hover { color:var(--accent-hover) }
p { margin:10px 0 16px; color:var(--muted) }
h1,h2,h3,h4 { font-family:var(--font); line-height:1.25; margin:0; font-weight:700; overflow-wrap:anywhere }
h1 { font-size:36px; letter-spacing:-1.4px }
h2 { font-size:22px; letter-spacing:-.5px }
h3 { font-size:19px; letter-spacing:-.3px }
h4 { font-size:17px }
[hidden] { display:none!important }
.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 }
.skip { position:fixed; top:-100px; left:14px; z-index:100; background:var(--accent); color:var(--action-text); padding:12px 16px; font-weight:700 }
.skip:focus { top:10px }
.icon { display:inline-block; width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; vertical-align:-.12em; flex-shrink:0 }
/* Compact masthead and destination key bank. */
.site-header { background:var(--dark); color:var(--text) }
.masthead { max-width:var(--page-width); margin:auto; padding:12px var(--gutter); display:flex; align-items:center; gap:24px; min-height:64px }
.brand { display:inline-flex; gap:10px; align-items:center; min-height:44px; white-space:nowrap; font-weight:700; font-size:23px; letter-spacing:-1px; line-height:1 }
.brand:hover { color:var(--text) }
.brand svg { width:32px; height:32px; padding:5px; stroke:var(--action-text); stroke-width:2.5; fill:none; background:var(--accent) }
.brand-light { font-weight:400 }.brand-period { color:var(--accent) }
.masthead-purpose { font-size:12px; color:var(--muted); max-width:240px; border-left:1px solid var(--border); padding-left:24px }
.edition-link { display:flex; flex-direction:column; justify-content:center; min-height:44px; margin-left:auto; text-align:right; font-size:12px; color:var(--muted) }
.edition-link>span:first-child { color:var(--text); font-weight:700 }
.navigation-bar { background:var(--dark); border-block:1px solid var(--border); padding:0 max(var(--gutter),calc((100vw - var(--page-width))/2 + var(--gutter))); display:flex; align-items:center; justify-content:space-between; gap:16px }
nav { display:flex; align-items:stretch; gap:4px; min-height:48px }
nav a { position:relative; display:flex; align-items:center; justify-content:center; padding:12px 18px; min-height:48px; font-size:13px; font-weight:700; color:var(--muted); text-align:center }
nav a:hover { background:var(--surface); color:var(--text) }
nav a.active { background:var(--surface2); color:var(--text) }
nav a.active:after { content:''; height:3px; position:absolute; bottom:0; left:0; right:0; background:var(--accent) }
.beginner { display:flex; align-items:center; gap:10px; min-height:44px; font-size:12px; color:var(--muted); padding:8px 0; text-align:left }
.toggle { flex-shrink:0; display:block; width:34px; height:22px; padding:3px; background:var(--accent); border:1px solid var(--accent) }
.toggle:after { content:''; display:block; width:14px; height:14px; background:var(--action-text); transform:translateX(12px); transition:transform .18s ease-out }
.beginner[aria-checked=false] .toggle { background:var(--surface); border-color:var(--control-border) }
.beginner[aria-checked=false] .toggle:after { background:var(--muted); transform:translateX(0) }
main { max-width:var(--page-width); margin:auto; padding:24px var(--gutter) 48px; min-height:60vh }
main,section,article,aside,.event-body,#company-models { min-width:0 }
.page-heading { margin-bottom:20px }.page-heading p { font-size:14px; margin:10px 0 0; max-width:80ch }
.small-note { font-size:12px; font-weight:400; line-height:1.5; color:var(--muted) }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:.035em; color:var(--muted); margin:0 0 10px }
.text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:4px 0; font-size:13px; font-weight:700; color:var(--accent); text-align:left }
.text-link:hover { color:var(--accent-hover); text-decoration:underline }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:24px 0 16px }
.view-heading { margin:0 0 20px }.page-description { max-width:56ch; font-size:14px; margin:0 }
.amber { color:var(--amber) }.mint { color:var(--mint) }.muted { color:var(--muted) }
/* Directory: provider keys, paired readings, and the expanded catalog. */
.landscape-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:20px }
.edition-facts { display:grid; gap:4px; font-size:12px; min-width:330px; border-left:1px solid var(--border); padding-left:20px }
.edition-facts a { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px }
.edition-facts span { color:var(--muted) }.edition-facts strong { font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums }
.landscape-subhead { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:12px; border-top:1px solid var(--border); padding-top:14px }
.landscape-subhead h2 { font-size:19px }.landscape-subhead>span { font-size:12px; color:var(--muted) }
.company-picker { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:4px; margin-bottom:16px }
.company-choice { position:relative; text-align:left; padding:12px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 8px; align-items:baseline; min-width:0; min-height:64px; background:var(--surface); border:1px solid var(--control-border) }
.company-choice strong { font-size:14px; font-weight:700 }.company-choice>span { grid-row:2; font-size:12px; color:var(--muted) }.company-choice small { grid-row:2; font-size:12px; color:var(--muted); white-space:nowrap }
.company-choice[aria-pressed=true] { background:var(--accent); border-color:var(--accent); color:var(--action-text) }
.company-choice[aria-pressed=true]>span,.company-choice[aria-pressed=true] small { color:var(--action-text) }
.company-choice[aria-pressed=true] strong { text-decoration:underline; text-underline-offset:4px }
.company-choice:hover:not([aria-pressed=true]) { background:var(--surface2); border-color:var(--accent-hover) }
.featured-models { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px }
.model-card { min-width:0; display:flex; flex-direction:column; border:1px solid var(--border); background:var(--surface); padding:16px }
.featured-model { padding:18px; border-top:3px solid var(--accent) }
.model-card-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px }
.model-role { font-size:12px; color:var(--muted); font-weight:700 }
.model-card-head h3 { font:700 26px/1.25 var(--font); letter-spacing:-.7px }
/* Preserve the existing green / amber / red availability palette and written statuses. */
.model-availability { font-size:12px; line-height:1.5; padding:3px 8px; background:#e7eee4; color:#30523c; font-weight:500; max-width:100% }
.model-availability.amber { background:#f4e8d8; color:#82420f }
.model-availability.restricted { background:#f8e0e0; color:#a12132; font-weight:700 }
.model-description { font-size:14px; line-height:1.6; margin:12px 0 16px; max-width:80ch }
.model-card-foot { margin-top:auto; padding-top:8px; border-top:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px }
.model-release { display:flex; flex-wrap:wrap; gap:4px 8px; align-items:center; min-width:0 }.metadata-label { color:var(--muted); font-size:12px }
.release-date { display:inline-flex; align-items:center; gap:5px; min-height:44px; text-decoration:underline; font-size:12px; font-variant-numeric:tabular-nums }
.model-release small { font-size:12px; color:var(--muted) }
.model-docs { display:inline-flex; min-height:44px; align-items:center; gap:5px; white-space:nowrap; font-weight:700; color:var(--accent); padding:4px 0 }
.retirement-note { font-size:12px; color:var(--amber); margin:10px 0 0 }
.model-expand { width:100%; min-height:44px; display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:12px; padding:10px 14px; border:1px solid var(--control-border); background:var(--surface); font-size:13px; font-weight:700; text-align:left }
.model-expand:hover { background:var(--surface2); border-color:var(--accent-hover) }.model-expand>span:last-child { font-size:22px; line-height:1 }
.model-expand[aria-expanded=true] { border-bottom:3px solid var(--accent) }
.catalog-provenance { display:flex; align-items:center; flex-wrap:wrap; gap:4px 16px; margin-top:8px }
.catalog-provenance .text-link { font-size:12px }.catalog-provenance>a:last-child { margin-left:auto }
#model-catalog-note { margin:4px 0 0; max-width:120ch; font-size:12px }
.catalog-tools { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; gap:16px; align-items:end; margin:16px 0; padding:16px; background:var(--surface); border:1px solid var(--border) }
label { font-size:12px; font-weight:700; display:flex; flex-direction:column; gap:7px; color:var(--text); min-width:0 }
input,select { display:block; width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid var(--control-border); background:var(--surface); color:var(--text); font-size:14px; line-height:1.4 }
input::placeholder { color:var(--muted); opacity:1 }select { padding-right:24px }
.catalog-tools p { margin:0; min-height:44px; display:flex; align-items:center }
.model-group { margin-top:20px }.model-group>h3 { font-size:17px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-bottom:12px }
.model-group>h3 span { font-size:12px; font-weight:400; color:var(--muted) }
.model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }.model-grid h4 { font-size:18px; line-height:1.35 }
.model-grid .model-description { font-size:13px }.model-grid .model-card-top { justify-content:flex-start }.catalog-close { margin-top:12px }
/* The incident selector and evidence readout form a 43 / 57 instrument pair. */
.dashboard-incidents { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:16px; margin-top:24px }
.incident-index,.incident-spotlight { border:1px solid var(--border); background:var(--surface); padding:18px }
.incident-index { align-self:start; border-top:3px solid var(--accent) }.incident-index h2 { font-size:23px }
.incident-intro { font-size:14px; margin:10px 0 }.incident-index>.small-note { margin:10px 0 16px }
.incident-picker { display:flex; flex-direction:column; gap:4px; margin-bottom:8px }
.incident-picker button { display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; border:1px solid var(--control-border); padding:10px 12px; min-height:64px }
.incident-picker button[aria-pressed=true] { background:var(--surface2); border-left:3px solid var(--accent); padding-left:10px }
.incident-picker button:hover { background:var(--surface2); border-color:var(--accent-hover) }
.incident-picker strong { display:block; font-size:14px; font-weight:700 }.incident-picker small { font-size:12px; color:var(--muted) }.incident-picker button>span:last-child { color:var(--accent) }
.spotlight-top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px; margin:0 0 12px }.evidence-chip { font-size:12px; font-weight:700; color:var(--evidence) }
.incident-spotlight>h3 { font:700 23px/1.3 var(--font); letter-spacing:-.5px }
.incident-facts { margin:16px 0 0 }.incident-facts>div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:16px; padding:12px 0; border-top:1px solid var(--border) }
.incident-facts dt { font-size:12px; font-weight:700 }.incident-facts dd { margin:0; font-size:14px; line-height:1.6; color:var(--muted); max-width:80ch }
.spotlight-footer { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px; margin-top:8px }
.spotlight-footer .text-link,.outlook-main>.text-link { background:var(--accent); color:var(--action-text); padding:10px 14px; border:1px solid var(--accent) }
.spotlight-footer .text-link:hover,.outlook-main>.text-link:hover { background:var(--accent-hover); border-color:var(--accent-hover); text-decoration:none }
.dashboard-bottom { display:grid; grid-template-columns:1fr 1.25fr 1fr; gap:16px; margin-top:16px }
.dashboard-bottom>article { border:1px solid var(--border); background:var(--surface); padding:18px }
.dashboard-bottom h2 { font-size:20px }.dashboard-bottom p { font-size:14px; line-height:1.6; margin:12px 0 }.dashboard-bottom .text-link { font-size:12px }
.dashboard-recent { margin-top:12px }.dashboard-recent button { width:100%; display:block; text-align:left; padding:12px 0; border-top:1px solid var(--border); font-size:13px; line-height:1.5; min-height:44px }
.dashboard-recent small { display:block; font-size:12px; color:var(--muted); margin-bottom:4px }.dashboard-recent button:hover { color:var(--accent-hover); text-decoration:underline; text-underline-offset:3px }
/* Overview retains independent concern, safeguard, and evidence semantics. */
.demo-note { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; border:1px solid var(--border); border-left:3px solid var(--accent); background:var(--surface); padding:8px 14px; margin-bottom:16px; font-size:12px; color:var(--muted) }
.demo-label { font-size:12px; font-weight:700; letter-spacing:.02em; color:var(--text) }.demo-note .text-link { margin-left:auto; font-size:12px }
.outlook { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); background:var(--surface); border:1px solid var(--border); border-top:3px solid var(--accent) }
.outlook-main { padding:18px }.risk-title { display:flex; flex-direction:column; align-items:start; gap:12px }.risk-title h2 { font-size:26px; max-width:36ch }
.trend { font-size:12px; color:var(--evidence); order:2; border:1px solid var(--border); padding:4px 8px }
.outlook-main p { font-size:14px; line-height:1.6; max-width:80ch; margin:16px 0 }
.outlook-aside { padding:18px; border-left:1px solid var(--border); display:flex; flex-direction:column; justify-content:center }.outlook-aside>.eyebrow { margin-bottom:12px }
.signal-row { display:flex; align-items:center; gap:16px; width:100%; text-align:left; padding:12px 0; min-height:48px; border-bottom:1px solid var(--border) }
.signal-symbol { font-size:24px; line-height:1 }.signal-row strong { font-size:14px; font-weight:700 }.signal-row:hover strong { text-decoration:underline; text-underline-offset:4px }
.outlook-foot { padding-top:12px; margin-top:8px; display:flex; flex-direction:column; gap:8px }.outlook-foot a { display:flex; align-items:center; min-height:44px; font-size:12px; color:var(--accent) }
.changed-strip { display:flex; align-items:center; gap:16px; padding:12px 0; border-bottom:1px solid var(--border); font-size:13px; color:var(--muted) }
.changed-strip>.eyebrow { white-space:nowrap; margin:0 }.changed-strip button { margin-left:auto; flex-shrink:0; width:44px; height:44px; border:1px solid var(--control-border); color:var(--accent); font-size:20px }
.pathway-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px }.pathway-card { text-align:left; padding:18px; border:1px solid var(--control-border); background:var(--surface); display:flex; flex-direction:column }
.pathway-card:hover { background:var(--surface2) }.pathway-card:hover h3 { color:var(--accent-hover); text-decoration:underline; text-underline-offset:4px }
.card-top { font-size:12px; color:var(--amber); margin-bottom:12px }.pathway-card h3 { font-size:19px }.pathway-card p { font-size:14px; max-width:80ch; margin:12px 0 }
.card-bottom { display:flex; align-items:baseline; gap:16px; justify-content:space-between; color:var(--muted); font-size:12px; margin-top:auto }.card-bottom>span { color:var(--accent); font-size:20px }
.evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px }.evidence-grid article { padding:18px; border:1px solid var(--border); background:var(--surface); display:flex; flex-direction:column }
.evidence-label { font-size:19px }.evidence-grid p { font-size:14px; line-height:1.6 }.evidence-grid .text-link { margin-top:auto }
/* Timeline filters and dated evidence readouts. */
.timeline-search { display:flex; gap:16px; max-width:880px; margin-bottom:16px }.timeline-search label:first-child { flex:1 }.timeline-search label:last-child { width:180px }
.timeline-controls { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:16px; border-block:1px solid var(--border); padding:12px 0 }
.filters { display:flex; flex-wrap:wrap; gap:4px }.filter { min-height:44px; padding:9px 12px; font-size:12px; border:1px solid var(--control-border); background:var(--surface); color:var(--muted) }
.filter:hover { background:var(--surface2); color:var(--text) }.filter.selected { background:var(--accent); border-color:var(--accent); color:var(--action-text); font-weight:700; text-decoration:underline; text-underline-offset:4px }
.signal-filter { display:flex; align-items:center; gap:12px; min-width:0 }.signal-filter label { font-size:12px }.signal-filter select { min-height:44px; width:auto; font-size:13px }
.result-count { font-size:14px; font-weight:700; color:var(--text); margin:16px 0 0 }.timeline-results-header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px }
.timeline-results-header p { margin:4px 0 0; font-size:12px }.timeline-results-header button { font-size:12px; flex-shrink:0 }
#event-list { display:grid; gap:12px }.event-row { display:grid; grid-template-columns:64px minmax(0,1fr); gap:18px; padding:18px; border:1px solid var(--border); background:var(--surface) }
.event-date { display:flex; flex-direction:column; align-items:start; font-size:12px; color:var(--muted); line-height:1.5; font-variant-numeric:tabular-nums; border-right:1px solid var(--border) }
.event-date strong { font:700 28px/1.2 var(--font); color:var(--text); margin:3px 0 }.event-date small { font-size:12px }
.event-meta { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:baseline; font-size:12px; color:var(--muted) }.event-meta>span:first-child { font-weight:700 }.event-meta span+span { border-left:1px solid var(--border); padding-left:12px }
.event-body h3 { margin:10px 0; font:700 21px/1.35 var(--font); max-width:80ch }.event-body h3 button { font:inherit; padding:0; min-height:44px; text-align:left }
.event-body h3 button:hover { color:var(--accent-hover); text-decoration:underline; text-underline-offset:4px }
.event-body>p { font-size:14px; line-height:1.6; max-width:100ch; margin:10px 0 }.event-excerpt { display:block }.event-body .occurrence { font-size:12px; margin-top:12px }
.event-bottom { display:flex; align-items:center; gap:16px; justify-content:space-between; margin-top:12px }.event-bottom>div { display:flex; gap:6px; flex-wrap:wrap; min-width:0 }
.tag { font-size:12px; line-height:1.5; padding:8px; min-height:44px; border:1px solid var(--control-border); background:var(--surface2); color:var(--text); text-align:left }
.tag:hover { border-color:var(--accent-hover) }.worry-link { font-size:12px; font-weight:700; color:var(--accent); padding:8px 0; min-height:44px; text-align:left }
.load-more { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:16px; width:100%; border:1px solid var(--control-border); background:var(--surface); padding:12px; min-height:44px; margin-top:16px; font-size:14px; font-weight:700 }
.load-more span { font-size:12px; font-weight:400; color:var(--muted) }.load-more:hover { background:var(--surface2) }.timeline-end { margin:20px 0; text-align:center }
/* Evidence circles remain full / half / outlined. Their fill is data, not decoration. */
.ladder-layout { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:16px; margin-top:20px }
.ladder-steps { border:1px solid var(--control-border); background:var(--surface) }
.ladder-step { display:grid; grid-template-columns:24px minmax(0,1fr) 12px; column-gap:12px; row-gap:4px; width:100%; min-height:72px; text-align:left; padding:12px 16px; font-size:14px; border-left:3px solid transparent }
.ladder-step+.ladder-step { border-top:1px solid var(--control-border) }.step-number { grid-row:1/3; align-self:center; font-size:12px; color:var(--muted); font-variant-numeric:tabular-nums }.step-label { grid-column:2; grid-row:2; font-size:12px; color:var(--muted) }
.step-status { grid-column:3; grid-row:1/3; align-self:center; width:10px; height:10px; border:1px solid var(--evidence); border-radius:50%; background:var(--evidence) }
.step-status.none { background:none; border-color:var(--muted) }.step-status.limited { background:linear-gradient(90deg,var(--evidence) 50%,transparent 50%) }
.ladder-step.selected { background:var(--surface2); border-left-color:var(--accent); font-weight:700 }.ladder-step:hover:not(.selected) { background:var(--surface2) }
.stage-detail { align-self:start; position:sticky; top:24px; background:var(--surface); border:1px solid var(--border); border-top:3px solid var(--accent); padding:18px }
.stage-big { display:block; font:700 48px/1.1 var(--font); color:var(--muted); margin-bottom:16px; font-variant-numeric:tabular-nums }.stage-detail h2 { font-size:23px }
.stage-detail .stage-evidence { font-size:12px; font-weight:700; color:var(--evidence); margin:12px 0 16px }.stage-detail>p { font-size:14px; line-height:1.6 }
.stage-why { margin-top:16px; padding-top:16px; border-top:1px solid var(--border) }.stage-why h3 { font-size:17px }.stage-why p { font-size:14px; line-height:1.6; margin-bottom:12px }.ladder-note { margin:16px 0 0; max-width:120ch }.ladder-back { display:none }
/* Methodology, source disclosures, import history, and glossary. */
.method-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:16px; margin-top:20px }
.method-nav { display:flex; flex-direction:column; align-self:start; gap:4px; position:sticky; top:24px }
.method-nav a { display:flex; align-items:center; font-size:13px; padding:10px 12px; min-height:44px; border:1px solid var(--control-border); background:var(--surface); color:var(--muted) }
.method-nav a[aria-current] { font-weight:700; color:var(--text); background:var(--surface2); border-left:3px solid var(--accent); padding-left:10px }.method-nav a:hover { color:var(--accent-hover) }
.method-body { max-width:100ch; min-width:0 }.method-body>section { background:var(--surface); border:1px solid var(--border); padding:18px; margin-bottom:16px; scroll-margin-top:24px }
.method-body h2 { font-size:23px }.method-body h3 { font-size:18px; margin:20px 0 12px }.method-body p,.method-body li { font-size:14px; line-height:1.65 }.method-body p a { text-decoration:underline; color:var(--accent); overflow-wrap:anywhere }
.method-body ul { padding-left:20px; color:var(--muted) }.method-body li { padding-left:4px; margin-bottom:10px }
.source-record,.coverage-group { border-bottom:1px solid var(--border); padding:12px 0 }.source-record summary,.coverage-group summary { cursor:pointer; font-size:14px; line-height:1.6; padding:10px 0; min-height:44px; overflow-wrap:anywhere }
.source-record summary small { display:block; margin:4px 0 0 16px; font-size:12px; color:var(--muted) }.source-record>h3 { margin:0 }.source-record>p { font-size:14px }
.source-record[open],.coverage-group[open] { padding-bottom:16px }.source-record[open] summary { margin-bottom:8px }.coverage-group .related { font-size:13px }
.glossary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px }
.glossary-grid button { text-align:left; display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--control-border); font-size:13px; padding:12px; min-height:44px; overflow-wrap:anywhere }
.glossary-grid button:hover { background:var(--surface2); color:var(--accent-hover) }
/* Evidence reader and definition dialogs. */
dialog { width:min(840px,calc(100% - 32px)); max-height:90dvh; padding:24px; background:var(--surface); color:var(--text); border:1px solid var(--control-border); border-top:3px solid var(--accent); border-radius:0; box-shadow:none; overflow-wrap:anywhere }
dialog::backdrop { background:#101012cc }body:has(dialog[open]) { overflow:hidden }
.close-dialog { position:sticky; z-index:1; margin-left:auto; top:0; width:44px; height:44px; display:grid; place-items:center; background:var(--surface2); border:1px solid var(--control-border) }
.close-dialog:hover { border-color:var(--accent-hover) }.close-dialog svg { width:20px; height:20px; stroke:var(--text); stroke-width:1.5; fill:none }
dialog h2 { font:700 26px/1.3 var(--font); margin:12px 0 20px; letter-spacing:-.7px }dialog h3 { font-size:18px; margin:20px 0 12px }dialog p { font-size:14px; line-height:1.65; max-width:90ch }
dialog .eyebrow { margin-top:12px }dialog .small-note { font-size:12px }.lead { font-size:14px; line-height:1.65 }.record-classification { font-size:12px!important; color:var(--muted); margin-top:-8px }
.record-dates { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.8fr); gap:16px; padding:16px 0; margin:16px 0; border-block:1px solid var(--border) }.record-dates dt { font-size:12px; color:var(--muted); margin-bottom:5px }.record-dates dd { margin:0; font-size:13px }
.interpretation section { padding:16px 0; border-top:1px solid var(--border) }.interpretation h3 { margin:0 0 12px }.interpretation p:last-child { margin:0 }
.limit,.standalone { background:var(--surface2); padding:16px!important; margin:12px 0; border:1px solid var(--border) }.limit p:last-child { margin:0 }
.worry { border-block:1px solid var(--border); margin:16px 0; padding:8px 0 }.worry summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:14px; font-weight:700; color:var(--accent) }
.takeaway { border-top:1px solid var(--border); padding-top:16px; font-size:14px; line-height:1.6 }
.source-link { display:block; padding:12px 0; min-height:44px; font-size:14px; color:var(--accent); border-bottom:1px solid var(--border); overflow-wrap:anywhere }.source-link>span { float:right }.source-link small { display:block; font-size:12px; color:var(--muted); margin-top:5px; line-height:1.6 }
.related { display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid var(--border); padding:12px 0; min-height:44px; width:100%; text-align:left; font-size:14px; line-height:1.5 }.related small { display:block; font-size:12px; color:var(--muted); margin-bottom:4px }.related:hover { color:var(--accent-hover) }
/* Inline definitions retain prose flow; all standalone controls meet 44px. */
.jargon { display:inline; padding:0 1px; border-bottom:1px dotted currentColor; font-size:inherit; line-height:inherit; text-align:inherit }.jargon span { font-size:.7em; margin-left:4px; color:var(--accent) }.jargon:hover { color:var(--accent-hover) }
.pill { display:inline-block; padding:4px 8px; border:1px solid var(--border); font-size:12px; background:var(--surface2) }
.empty-state { text-align:center; border:1px dashed var(--control-border); background:var(--surface); padding:24px 16px; margin:16px 0 }.empty-state p { max-width:55ch; margin-inline:auto }.empty-state h3 { margin-bottom:12px }.loading-state { padding:32px 0; font-size:14px; color:var(--muted) }
footer { display:flex; align-items:center; flex-wrap:wrap; gap:8px 24px; border-top:1px solid var(--border); max-width:var(--page-width); margin:auto; padding:16px var(--gutter); font-size:12px; color:var(--muted) }
footer a { display:inline-flex; align-items:center; gap:5px; min-height:44px }.footer-brand { font-size:19px; font-weight:700; color:var(--text); margin-right:auto }
@media(max-width:1100px) {
 .masthead-purpose { display:none }.navigation-bar { gap:12px }nav a { padding-inline:12px }.beginner { font-size:12px }
 .company-choice { padding:12px }.company-choice small { display:none }.model-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
 .incident-facts>div { grid-template-columns:1fr; gap:8px }.model-card-foot { flex-wrap:wrap; gap:4px 12px }
 .dashboard-bottom { grid-template-columns:repeat(2,minmax(0,1fr)) }.dashboard-bottom>article:last-child { grid-column:1/-1 }
 .catalog-tools { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) }.catalog-tools p { grid-column:1/-1; min-height:0 }
}
@media(max-width:850px) {
 .navigation-bar { flex-wrap:wrap; gap:0 }.navigation-bar nav { flex:1; justify-content:stretch }.navigation-bar nav a { flex:1 }.beginner { margin-left:auto }
 .landscape-heading { align-items:start; flex-direction:column; gap:12px }.edition-facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-width:0; width:100%; padding:10px 0; border-left:0; border-block:1px solid var(--border) }.edition-facts a { flex-direction:column; align-items:start; justify-content:center; gap:2px }
 .featured-models,.dashboard-incidents,.ladder-layout,.outlook,.pathway-grid,.evidence-grid,.dashboard-bottom { grid-template-columns:1fr }.dashboard-bottom>article:last-child { grid-column:auto }
 .outlook-aside { border-left:0; border-top:1px solid var(--border) }.stage-detail { position:static }.ladder-back { display:flex; margin-top:12px }#stage-detail:focus { outline:3px solid var(--focus); outline-offset:3px }
 .incident-facts>div { grid-template-columns:120px minmax(0,1fr) }.event-bottom { align-items:start; flex-direction:column; gap:8px }
 .method-layout { grid-template-columns:1fr }.method-nav { position:static; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) }.method-body { max-width:100% }
 .section-head { flex-wrap:wrap }.page-description { max-width:100% }
}
@media(max-width:560px) {
 :root { --gutter:14px }main { padding-top:20px; padding-bottom:32px }
 h1 { font-size:28px; letter-spacing:-1px }.masthead { flex-wrap:wrap; gap:4px 16px; padding-top:12px; padding-bottom:12px }.brand { font-size:21px }
 .edition-link { font-size:12px; text-align:left; margin:0; width:100%; min-height:44px }
 .navigation-bar { display:block }.navigation-bar nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding-top:4px }.navigation-bar nav a { font-size:12px; padding:10px 5px; min-height:48px }.beginner { margin-left:auto; padding-block:10px }
 .landscape-heading { margin-bottom:16px }.edition-facts { gap:12px; font-size:12px }.edition-facts strong { white-space:normal }
 .landscape-subhead { flex-wrap:wrap; gap:4px }.landscape-subhead h2 { font-size:19px }
 .company-picker { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px }.company-choice { padding:10px 12px; min-height:64px }.company-choice strong { font-size:13px }.company-choice>span { font-size:12px }
 .featured-model,.model-card,.incident-index,.incident-spotlight,.dashboard-bottom>article,.outlook-main,.outlook-aside,.pathway-card,.evidence-grid article,.stage-detail,.method-body>section { padding:16px 12px }
 .featured-model .model-card-head h3 { font-size:23px }.model-card-foot { flex-wrap:wrap }.model-card-head h4 { overflow-wrap:anywhere }
 .catalog-provenance { gap:4px 12px }.catalog-provenance>a:last-child { margin-left:0 }.catalog-provenance>.small-note { flex-basis:100% }
 .catalog-tools { grid-template-columns:1fr; padding:12px }.model-grid { grid-template-columns:1fr }input,select { font-size:16px }
 .dashboard-incidents { margin-top:20px }.incident-spotlight>h3 { font-size:21px }.incident-facts>div { grid-template-columns:1fr; gap:8px }.spotlight-footer { align-items:start; flex-direction:column }
 .demo-note { padding:10px 12px }.demo-note .text-link { margin-left:0 }.risk-title h2 { font-size:23px }.changed-strip { flex-wrap:wrap; gap:8px 12px }.changed-strip>.eyebrow { width:100% }.changed-strip>span:nth-child(2) { flex:1 }
 .timeline-search { gap:12px; flex-wrap:wrap }.timeline-search label:first-child { flex-basis:100% }.timeline-search label:last-child { width:100% }.filters { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) }.filter { padding:8px; font-size:12px }
 .signal-filter { width:100%; flex-wrap:wrap }.signal-filter select { width:100%; font-size:16px }.timeline-results-header { flex-wrap:wrap; gap:4px }
 .event-row { grid-template-columns:1fr; gap:12px; padding:16px 12px }.event-date { flex-direction:row; align-items:baseline; gap:8px; border-right:0; border-bottom:1px solid var(--border); padding-bottom:8px }.event-date strong { font-size:22px; margin:0 }.event-body h3 { font-size:19px }
 .event-meta { gap:6px 10px }.event-meta span+span { padding-left:10px }.event-body>p { font-size:14px }.event-bottom { gap:8px }.tag { font-size:12px }
 .ladder-step { padding:12px; column-gap:10px }.stage-big { font-size:40px }.stage-detail h2 { font-size:22px }.method-nav { grid-template-columns:repeat(2,minmax(0,1fr)) }.method-nav a { font-size:12px }.method-body h2 { font-size:22px }
 .glossary-grid { grid-template-columns:1fr }.source-record summary,.coverage-group summary { font-size:13px }
 dialog { padding:12px; width:calc(100% - 24px); max-height:92dvh }dialog h2 { font-size:23px }.record-dates { grid-template-columns:1fr; gap:12px }.record-dates dd { font-size:13px }
 footer { gap:4px 16px }.footer-brand { width:100%; font-size:20px }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto }*,*:before,*:after { animation:none!important; transition:none!important } }
@media(forced-colors:active) {
 .model-availability,.step-status,.toggle { border:1px solid CanvasText }
 .company-choice[aria-pressed=true],.ladder-step.selected,.filter.selected { outline:2px solid Highlight; outline-offset:-3px }
 nav a.active:after { background:Highlight }.step-status { background:CanvasText }.step-status.none { background:Canvas }.step-status.limited { background:linear-gradient(90deg,CanvasText 50%,Canvas 50%) }
}
@media print {
 :root { color-scheme:light; --bg:#fff; --dark:#fff; --surface:#fff; --surface2:#eee; --text:#111; --muted:#333; --border:#888; --accent:#222; --amber:#82420f; --mint:#30523c; --evidence:#30523c }
 .site-header,footer,.close-dialog,.beginner { display:none }main { padding:0 }.model-card,.pathway-card,.event-row { break-inside:avoid }
 .stage-detail,.method-nav { position:static }dialog[open] { position:static; max-height:none; width:100% }
 .spotlight-footer .text-link,.outlook-main>.text-link,.company-choice[aria-pressed=true],.filter.selected { background:#ddd; color:#111 }
}
