:root {
  color-scheme: light;
  --paper: #f7f7f5;
  --surface: #fff;
  --ink: #1d252b;
  --muted: #5d6971;
  --faint: #879198;
  --line: #d6dadc;
  --line-strong: #adb5ba;
  --blue: #245b86;
  --blue-pale: #e8eff4;
  --green: #3f6a56;
  --green-pale: #e8f0eb;
  --amber: #765720;
  --amber-pale: #f3eddf;
  --red: #81444d;
  --red-pale: #f3e9ea;
  --violet: #5f5676;
  --violet-pale: #eeebf2;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; color: var(--ink); background: var(--paper); font-size: 16px; line-height: 1.58; }
a { color: var(--blue); text-underline-offset: 3px; }
code, pre { font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; }
.skip-link { position: fixed; z-index: 100; top: -60px; left: 12px; padding: 8px 11px; color: white; background: var(--ink); }
.skip-link:focus { top: 10px; }

.doc-header { position: sticky; z-index: 20; top: 0; min-height: 58px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); background: rgba(247,247,245,.96); backdrop-filter: blur(12px); }
.header-brand { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; font-weight: 760; }
.brand-mark { width: 36px; height: 27px; display: grid; place-items: center; color: white; background: #26343f; border-radius: 2px; font: 800 10px/1 ui-monospace, monospace; letter-spacing: -.05em; }
.header-label { padding-left: 12px; border-left: 1px solid var(--line-strong); color: var(--muted); font-size: 13px; font-weight: 600; }
.header-actions { display: flex; align-items: center; gap: 16px; font-size: 13px; font-weight: 650; }
.header-actions a:first-child { color: var(--muted); text-decoration: none; }
.header-actions .open-app { padding: 6px 10px; border: 1px solid var(--line-strong); border-radius: 2px; color: var(--ink); text-decoration: none; background: var(--surface); }

.doc-layout { width: min(1260px, 100%); margin: 0 auto; display: grid; grid-template-columns: 238px minmax(0, 820px) 160px; gap: clamp(28px, 4vw, 58px); padding: 0 24px; }
.doc-sidebar { position: sticky; top: 58px; height: calc(100vh - 58px); padding: 30px 20px 50px 0; overflow: auto; border-right: 1px solid var(--line); }
.nav-title { margin: 0 0 17px; color: var(--faint); font: 800 10px/1.2 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .11em; }
.doc-nav { display: grid; gap: 20px; }
.nav-group { display: grid; gap: 3px; }
.nav-group > span { margin-bottom: 5px; color: var(--faint); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .05em; }
.nav-group a { padding: 5px 8px; border-left: 2px solid transparent; color: var(--muted); text-decoration: none; font-size: 13px; line-height: 1.35; }
.nav-group a:hover { color: var(--ink); }
.nav-group a[aria-current="page"] { border-left-color: var(--blue); color: var(--ink); background: var(--blue-pale); font-weight: 700; }

.doc-main { min-width: 0; padding: 42px 0 90px; }
.breadcrumbs { margin: 0 0 27px; display: flex; flex-wrap: wrap; gap: 7px; align-items: center; color: var(--faint); font-size: 12px; }
.breadcrumbs a { color: var(--muted); text-decoration: none; }.breadcrumbs span[aria-hidden] { color: var(--line-strong); }
.page-kicker, .figure-label, .section-label { margin: 0 0 9px; color: var(--blue); font: 800 11px/1.25 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .1em; }
h1, h2 { color: #17232c; font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.025em; }
h1 { margin: 0; max-width: 800px; font-size: clamp(36px, 5vw, 54px); line-height: 1.08; }
.page-lede { max-width: 750px; margin: 18px 0 0; color: var(--muted); font-size: 18px; line-height: 1.55; }
.page-meta { margin: 17px 0 0; display: flex; flex-wrap: wrap; gap: 7px 16px; color: var(--faint); font-size: 12px; }
.local-toc { margin: 32px 0 0; padding: 14px 17px; border: 1px solid var(--line); background: var(--surface); }
.local-toc strong { display: block; margin-bottom: 7px; font-size: 12px; }.local-toc ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 5px 18px; list-style: none; }.local-toc a { font-size: 13px; }

.doc-section { margin-top: 54px; scroll-margin-top: 74px; }
.doc-section h2 { margin: 0 0 14px; font-size: clamp(27px, 3.4vw, 37px); line-height: 1.16; }
.doc-section > p { max-width: 740px; color: var(--muted); }
.doc-section h3 { margin: 28px 0 9px; color: #22313c; font-size: 17px; line-height: 1.3; }
.doc-section h4 { margin: 22px 0 7px; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.doc-section ul, .doc-section ol { padding-left: 22px; }.doc-section li { margin: 6px 0; }

.summary-figure, .method-figure, .code-figure { margin: 34px 0 0; padding: 18px; border: 1px solid var(--line); background: var(--surface); }
.figure-label { margin-bottom: 15px; color: var(--faint); }
.figure-caption { margin: 14px 0 0; color: var(--faint); font-size: 12px; line-height: 1.45; }
.flow-row { display: grid; grid-template-columns: repeat(9, auto); align-items: stretch; }
.flow-node { min-width: 0; padding: 13px 10px; display: grid; align-content: center; border: 1px solid var(--line-strong); background: #fafafa; text-align: center; }
.flow-node strong { font-size: 13px; }.flow-node small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.3; }
.flow-arrow { display: grid; place-items: center; padding: 0 6px; color: var(--faint); font-size: 13px; }
.vertical-flow { width: min(600px, 100%); margin: 0 auto; display: grid; justify-items: center; }
.vertical-flow .flow-node { width: 100%; padding: 13px 16px; }.vertical-flow .flow-arrow { min-height: 31px; }.audit-marker { width: min(600px, 100%); padding: 6px 10px; border-left: 3px solid var(--red); color: var(--red); background: var(--red-pale); font: 800 10px/1.3 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .06em; }

.actor-key { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.tag, .status { width: max-content; max-width: 100%; padding: 4px 7px; display: inline-flex; border-radius: 2px; font: 800 9px/1.2 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .06em; }
.script, .active { color: var(--green); background: var(--green-pale); }.model, .planned { color: var(--amber); background: var(--amber-pale); }.human, .review { color: var(--red); background: var(--red-pale); }.partial { color: var(--violet); background: var(--violet-pale); }.developing { color: var(--blue); background: var(--blue-pale); }
.note { margin: 22px 0; padding: 14px 16px; border-left: 3px solid var(--blue); color: var(--muted); background: #eef2f4; font-size: 14px; }
.note strong { color: var(--ink); }.note.warning { border-left-color: var(--amber); background: var(--amber-pale); }.note.human-note { border-left-color: var(--red); background: var(--red-pale); }

.link-list { margin: 22px 0 0; border-top: 1px solid var(--line); }
.link-card { padding: 17px 6px; display: grid; grid-template-columns: 1fr auto; gap: 15px; border-bottom: 1px solid var(--line); color: inherit; text-decoration: none; }
.link-card:hover h3 { color: var(--blue); }.link-card h3 { margin: 0 0 4px; font-size: 16px; }.link-card p { margin: 0; color: var(--muted); font-size: 13px; }.link-card > span { align-self: center; color: var(--blue); font-size: 18px; }

.responsibility-table, .status-table, .signal-table { margin-top: 22px; border: 1px solid var(--line); background: var(--surface); }
.table-row { display: grid; grid-template-columns: 165px 150px 1fr; border-bottom: 1px solid var(--line); }.table-row:last-child { border-bottom: 0; }.table-row > * { padding: 11px 13px; }.table-row > :last-child { color: var(--muted); font-size: 13px; }.table-head { color: var(--faint); background: #f0f1ef; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }

.stage-list { margin-top: 24px; border-top: 1px solid var(--line); }
.stage { padding: 18px 0; display: grid; grid-template-columns: 43px minmax(0, 1fr) 88px; gap: 12px; border-bottom: 1px solid var(--line); }
.stage-no { color: var(--faint); font: 800 12px/1.4 ui-monospace, monospace; }.stage h3 { margin: 0 0 5px; font-size: 16px; }.stage p { margin: 0; color: var(--muted); font-size: 13px; }.stage .tag { justify-self: end; }
.decision-tree { margin-top: 22px; padding: 20px; border: 1px solid var(--line); background: var(--surface); }
.decision-main { display: grid; grid-template-columns: 1fr 35px 1fr; align-items: center; }.decision-branches { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.branch { padding-top: 12px; border-top: 2px solid var(--green); }.branch:last-child { border-top-color: var(--amber); }.branch-label { color: var(--faint); font: 800 9px/1 ui-monospace, monospace; text-transform: uppercase; letter-spacing: .08em; }.branch-flow { margin-top: 9px; display: grid; grid-template-columns: 1fr 24px 1fr 24px 1fr; align-items: center; }.decision-box { padding: 10px; border: 1px solid var(--line); background: #fafafa; text-align: center; font-size: 12px; line-height: 1.35; }.arrow { display: grid; place-items: center; color: var(--faint); }

.method-grid { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.method-card { padding: 16px; border: 1px solid var(--line); background: var(--surface); }.method-card h3 { margin: 0 0 7px; font-size: 15px; }.method-card p { margin: 0; color: var(--muted); font-size: 13px; }.method-card .tag { margin-bottom: 11px; }
.method-steps { margin-top: 22px; counter-reset: method; border-top: 1px solid var(--line); }.method-step { position: relative; padding: 16px 0 16px 48px; border-bottom: 1px solid var(--line); }.method-step::before { counter-increment: method; content: counter(method); position: absolute; left: 0; top: 16px; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line-strong); color: var(--blue); font: 800 11px/1 ui-monospace, monospace; }.method-step h3 { margin: 0 0 4px; }.method-step p { margin: 0; color: var(--muted); font-size: 14px; }
.compare { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.compare > div { padding: 15px; border: 1px solid var(--line); background: var(--surface); }.compare h3 { margin: 0 0 8px; font-size: 15px; }.compare p { margin: 0; color: var(--muted); font-size: 13px; }
.signal-table .table-row { grid-template-columns: 1fr 1fr; }.signal-table .table-row > :first-child { font-size: 13px; font-weight: 650; }
.signal-table .table-row > * { min-width: 0; overflow-wrap: anywhere; }

pre { margin: 0; padding: 18px; overflow: auto; color: #e5edf2; background: #1f2b34; font-size: 12px; line-height: 1.65; }.code-figure { padding: 0; }.code-figure .figure-label { margin: 0; padding: 11px 14px; border-bottom: 1px solid #394750; color: #aebbc4; background: #1f2b34; }.code-key { color: #83c5ee; }.code-value { color: #e3b778; }.code-attr { color: #c2afe6; }.code-directive { color: #e7a5ad; }.code-page { color: #7bc6bb; }
.grammar { margin: 16px 0; padding: 12px 14px; overflow: auto; border: 1px solid var(--line); color: var(--ink); background: #f0f2f1; font-size: 12px; }
.page-next { margin-top: 62px; padding-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; border-top: 1px solid var(--line); }.page-next a { min-height: 70px; padding: 12px; display: flex; flex-direction: column; justify-content: center; border: 1px solid var(--line); color: var(--ink); text-decoration: none; background: var(--surface); }.page-next a:last-child { text-align: right; }.page-next small { color: var(--faint); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }.page-next strong { margin-top: 3px; font-size: 13px; }.page-next a:hover strong { color: var(--blue); }
.right-rail { padding-top: 45px; }.right-rail nav { position: sticky; top: 86px; display: grid; gap: 7px; }.right-rail strong { margin-bottom: 4px; color: var(--faint); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }.right-rail a { color: var(--muted); text-decoration: none; font-size: 11px; line-height: 1.35; }.right-rail a:hover { color: var(--blue); }
.doc-footer { padding: 25px 24px 35px; border-top: 1px solid var(--line); color: var(--faint); font-size: 11px; text-align: center; }

/* Measured recognition evidence */
.evidence-stats { margin-top: 24px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); background: var(--surface); }
.evidence-stats > div { min-width: 0; padding: 17px 14px; border-right: 1px solid var(--line); }
.evidence-stats > div:last-child { border-right: 0; }
.evidence-stats strong { display: block; color: var(--red); font: 500 27px/1.1 Georgia, "Times New Roman", serif; }
.evidence-stats span { display: block; margin-top: 7px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.evidence-case { padding-top: 52px; border-top: 1px solid var(--line-strong); }
.source-figure { margin: 27px 0 0; border: 1px solid var(--line); background: #e9ecec; }
.source-figure a { display: grid; place-items: center; padding: clamp(12px, 2.8vw, 28px); overflow: auto; }
.source-figure img { display: block; width: 100%; height: auto; border: 1px solid #c8ccce; background: white; box-shadow: 0 7px 20px rgba(36, 49, 58, .09); }
.source-figure figcaption { margin: 0; padding: 12px 15px; border-top: 1px solid var(--line); color: var(--muted); background: var(--surface); font-size: 12px; line-height: 1.5; }
.source-figure figcaption strong { color: var(--ink); }
.footnote-source img { max-width: 510px; }
.glyph-crop img { max-width: 537px; }
.compact-source img { max-width: 747px; }
.result-compare { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.result-panel { min-width: 0; padding: 17px; border: 1px solid var(--line); background: var(--surface); }
.result-panel.expected { border-top: 3px solid var(--green); }
.result-panel.observed { border-top: 3px solid var(--red); }
.result-panel .figure-label { margin-bottom: 12px; }
.result-panel p, .result-panel blockquote { color: var(--muted); font-size: 13px; }
.result-panel blockquote { margin: 0; padding: 10px 12px; border-left: 3px solid var(--line-strong); color: var(--ink); background: #f3f4f2; font: 500 16px/1.55 Georgia, "Times New Roman", serif; }
.result-panel p:last-child { margin-bottom: 0; }
.result-panel pre { margin-top: 12px; padding: 12px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: 11px; }
.result-panel mark { color: var(--green); background: var(--green-pale); }
.result-panel del { color: var(--red); background: var(--red-pale); text-decoration-thickness: 1px; }
.cause-plan { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cause-plan > div { padding: 16px; border: 1px solid var(--line); background: transparent; }
.cause-plan h3 { margin: 0 0 7px; }
.cause-plan p { margin: 0; color: var(--muted); font-size: 13px; }
.secondary-example-title { margin-top: 35px !important; }
.provenance-list { margin-top: 20px; padding: 15px 17px; border: 1px solid var(--line); background: var(--surface); }
.provenance-list summary { cursor: pointer; color: var(--blue); font-size: 13px; font-weight: 700; }
.provenance-list dl { margin: 17px 0 0; }
.provenance-list dt { margin-top: 12px; color: var(--muted); font-size: 12px; font-weight: 700; }
.provenance-list dd { margin: 3px 0 0; overflow-wrap: anywhere; font-size: 11px; }
.document-links { margin-top: 10px; display: grid; gap: 7px; }
.document-links a { padding: 12px 14px; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; border: 1px solid var(--line); color: var(--ink); background: var(--surface); text-decoration: none; }
.document-links a:hover { border-color: var(--blue); }
.document-links a::after { content: "↗"; order: 2; color: var(--blue); }
.document-links a.report-link { border-left: 3px solid var(--blue); background: var(--blue-pale); }
.document-links strong { font-size: 13px; }
.document-links span { order: 3; flex-basis: 100%; color: var(--muted); font-size: 11px; }
.verdict-grid { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.verdict-grid article { padding: 17px; border: 1px solid var(--line); background: var(--surface); }
.verdict-grid h3 { margin: 12px 0 7px; }
.verdict-grid p { margin: 0; color: var(--muted); font-size: 13px; }
.trace-list { margin-top: 22px; border-top: 1px solid var(--line); }
.trace-list article { padding: 15px 0; display: grid; grid-template-columns: 34px 1fr; gap: 13px; border-bottom: 1px solid var(--line); }
.trace-list article > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--line-strong); color: var(--blue); font: 800 11px/1 ui-monospace, monospace; }
.trace-list h3 { margin: 2px 0 4px; }
.trace-list p { margin: 0; color: var(--muted); font-size: 13px; }
.component-table .table-row { grid-template-columns: 205px 110px 1fr; }
.component-table small { color: var(--faint); }
.explanation-grid .method-card { border-top: 3px solid var(--blue); }

@media (max-width: 1080px) { .doc-layout { grid-template-columns: 220px minmax(0, 1fr); }.right-rail { display: none; } }
@media (max-width: 760px) {
  .doc-header { padding-inline: 14px; }.header-label, .header-actions > a:first-child { display: none; }
  .doc-layout { display: block; padding: 0 16px; }.doc-sidebar { position: static; width: auto; height: auto; margin: 0 -16px; padding: 12px 16px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--line); }.doc-nav { display: flex; gap: 8px; min-width: max-content; }.nav-title, .nav-group > span { display: none; }.nav-group { display: flex; gap: 4px; }.nav-group a { padding: 5px 8px; border: 1px solid var(--line); }.nav-group a[aria-current="page"] { border-color: var(--blue); }
  .doc-main { padding-top: 30px; }.flow-row { grid-template-columns: 1fr; }.flow-arrow { min-height: 24px; transform: rotate(90deg); }.method-grid, .compare { grid-template-columns: 1fr; }
  .responsibility-table .table-row, .status-table .table-row { grid-template-columns: 1fr 110px; }.responsibility-table .table-row > :last-child, .status-table .table-row > :last-child { grid-column: 1 / -1; padding-top: 0; }.table-head > :last-child { display: none; }
  .decision-branches { grid-template-columns: 1fr; }.branch-flow { grid-template-columns: 1fr; }.branch-flow .arrow { min-height: 24px; transform: rotate(90deg); }
  .evidence-stats { grid-template-columns: 1fr 1fr; }.evidence-stats > div:nth-child(2) { border-right: 0; }.evidence-stats > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.result-compare, .cause-plan, .verdict-grid { grid-template-columns: 1fr; }.component-table .table-row { grid-template-columns: 1fr 110px; }.component-table .table-row > :last-child { grid-column: 1 / -1; padding-top: 0; }
}
@media (max-width: 480px) { h1 { font-size: 34px; }.page-lede { font-size: 16px; }.doc-section { margin-top: 42px; }.doc-section h2 { font-size: 27px; }.stage { grid-template-columns: 32px 1fr; }.stage .tag { grid-column: 2; justify-self: start; }.page-next { grid-template-columns: 1fr; }.page-next a:last-child { text-align: left; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Revision dates distinguish retained content from this navigation repair. */
.content-dates{margin:18px 0;padding:12px 15px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px}.content-dates time{color:var(--ink);font-weight:650}.outdated-content{border-left:4px solid var(--amber);background:var(--amber-pale);padding:16px;margin:18px 0;color:var(--ink)}.outdated-link{font-size:.85em;color:var(--amber);font-weight:700}.heading-fold-toggle{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-width:36px;min-height:36px;margin-right:9px;border:1px solid var(--line-strong);border-radius:3px;background:var(--surface);color:var(--blue);font:600 18px/1 system-ui;cursor:pointer}.heading-fold-toggle:hover{background:var(--blue-pale)}.heading-fold-toggle:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.heading-fold-content[hidden]{display:none!important}.heading-link-fold{position:relative}.heading-link-fold>.heading-fold-toggle{position:absolute;right:5px;top:10px}.heading-link-fold>a{padding-right:50px}@media print{.heading-fold-toggle{display:none}.heading-fold-content[hidden]{display:block!important}}
