:root {
  color-scheme: dark;
  --bg: #0b0b0d;
  --panel: #121216;
  --panel-2: #18181d;
  --ink: #f4f3ef;
  --muted: #9d9aa3;
  --line: rgba(255,255,255,.11);
  --purple: #a879e8;
  --purple-soft: rgba(155,109,224,.13);
  --lime: #c4db22;
  --orange: #ff9b61;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--bg); color: var(--ink); }
a { color: inherit; }
button, input, select { font: inherit; }
code, pre { font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace; }

.doc-topbar {
  position: sticky; top: 0; z-index: 30; height: 70px; padding: 0 clamp(18px,4vw,58px);
  display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line);
  background: rgba(11,11,13,.9); backdrop-filter: blur(18px);
}
.doc-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; }
.doc-brand img { width: 38px; height: 38px; border-radius: 10px; }
.doc-brand span { display: grid; gap: 2px; }
.doc-brand strong { font-size: 14px; }
.doc-brand small { color: var(--muted); font-size: 10px; letter-spacing: .05em; }
.doc-topbar nav { display: flex; align-items: center; gap: 8px; }
.doc-topbar nav a, .doc-topbar nav button { padding: 9px 12px; color: #c7c4cd; background: transparent; border: 1px solid transparent; border-radius: 7px; font-size: 11px; text-decoration: none; cursor: pointer; }
.doc-topbar nav a:hover, .doc-topbar nav button:hover { color: var(--ink); border-color: var(--line); }
.doc-topbar nav button { border-color: rgba(155,109,224,.45); }

.doc-shell { max-width: 1620px; margin: 0 auto; display: grid; grid-template-columns: 250px minmax(0,1fr); }
.toc { position: sticky; top: 70px; height: calc(100vh - 70px); padding: 38px 24px 28px clamp(18px,3vw,42px); overflow-y: auto; border-right: 1px solid var(--line); }
.toc > p { margin: 0 0 20px; color: var(--purple); font: 700 9px ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.toc nav { display: grid; gap: 2px; }
.toc nav a { padding: 7px 9px; color: #9c99a2; border-radius: 6px; font-size: 11px; line-height: 1.3; text-decoration: none; }
.toc nav a:hover, .toc nav a.is-active { color: var(--ink); background: var(--purple-soft); }
.toc-note { margin-top: 25px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.toc-note span { color: var(--lime); font: 700 8px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.toc-note p { margin: 9px 0 0; color: #aca9b1; font-size: 10px; line-height: 1.55; }

.doc-main { min-width: 0; }
.doc-hero { padding: clamp(72px,9vw,140px) clamp(24px,7vw,110px) clamp(70px,8vw,120px); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 74% 22%, rgba(155,109,224,.12), transparent 34%); }
.eyebrow { margin: 0 0 22px; color: var(--lime); font: 750 10px ui-monospace, monospace; letter-spacing: .14em; text-transform: uppercase; }
.doc-hero h1 { max-width: 1000px; margin: 0; font-size: clamp(58px,8vw,118px); line-height: .88; font-weight: 540; letter-spacing: -.065em; }
.lede { max-width: 790px; margin: 38px 0 0; color: #c0bdc4; font-size: clamp(16px,1.55vw,21px); line-height: 1.72; }
.hero-meta { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 8px; }
.hero-meta span { padding: 8px 10px; color: var(--muted); border: 1px solid var(--line); border-radius: 6px; font: 650 9px ui-monospace, monospace; text-transform: uppercase; }

.doc-section { padding: clamp(72px,9vw,130px) clamp(24px,7vw,110px); border-bottom: 1px solid var(--line); }
.doc-section.core-topic { position: relative; background: radial-gradient(circle at 92% 4%,rgba(155,109,224,.12),transparent 29%),linear-gradient(180deg,rgba(255,255,255,.012),transparent 28%); }
.doc-section.core-topic::before { content: "CORE CHAPTER"; position: absolute; top: 31px; right: clamp(24px,7vw,110px); color: rgba(196,219,34,.7); font: 700 8px ui-monospace,monospace; letter-spacing: .16em; }
.doc-section.dynamic-core { background: radial-gradient(circle at 88% 5%,rgba(196,219,34,.08),transparent 28%),linear-gradient(180deg,rgba(155,109,224,.045),transparent 30%); }
.section-title { margin-bottom: 42px; display: grid; grid-template-columns: 44px 1fr; gap: 18px; align-items: start; }
.section-title > span { padding-top: 8px; color: var(--purple); font: 700 11px ui-monospace, monospace; }
.section-title p { margin: 0 0 8px; color: var(--muted); font: 700 9px ui-monospace, monospace; letter-spacing: .12em; text-transform: uppercase; }
.section-title h2 { max-width: 980px; margin: 0; font-size: clamp(38px,5.5vw,72px); line-height: 1; letter-spacing: -.05em; font-weight: 540; }
.section-intro { max-width: 840px; margin: -12px 0 38px 62px; color: #aaa7af; font-size: 15px; line-height: 1.75; }
.subheading { margin: 55px 0 22px; font-size: 24px; letter-spacing: -.025em; }

.four-up { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.summary-grid article, .concept-row article, .method-grid article { min-height: 220px; padding: 22px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); }
.summary-grid article.accent, .method-grid article.accent { border-color: rgba(155,109,224,.62); background: linear-gradient(145deg,var(--purple-soft),var(--panel) 68%); }
.summary-grid article.dynamic-accent { border-color: rgba(196,219,34,.45); background: linear-gradient(145deg,rgba(196,219,34,.07),var(--panel) 68%); }
.summary-grid b, .concept-row span, .method-grid span { color: var(--purple); font: 700 9px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.summary-grid h3, .concept-row h3, .method-grid h3 { margin: 31px 0 11px; font-size: 17px; }
.summary-grid p, .concept-row p, .method-grid p { margin: 0; color: #a9a6ae; font-size: 12px; line-height: 1.68; }

.quick-table-wrap { margin-top: 20px; overflow-x: auto; border: 1px solid var(--line); border-radius: 11px; }
.quick-table { width: 100%; min-width: 850px; border-collapse: collapse; background: var(--panel); }
.quick-table th, .quick-table td { padding: 15px 16px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; color: #b1aeb6; font-size: 11px; line-height: 1.55; }
.quick-table thead th { color: var(--muted); background: #0e0e11; font: 700 8px ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase; }
.quick-table tbody th { color: var(--ink); font-weight: 650; }
.quick-table tr:last-child > * { border-bottom: 0; }
.quick-table tr > *:last-child { border-right: 0; }
.format-table { min-width: 980px; }

.key-line { margin-top: 20px; padding: 20px 22px; display: grid; grid-template-columns: 150px 1fr; gap: 26px; border-left: 2px solid var(--lime); background: rgba(196,219,34,.04); }
.key-line span { color: var(--lime); font: 700 9px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.key-line p { margin: 0; color: #ccc9d0; font-size: 13px; line-height: 1.7; }
.refs { margin-top: 18px; padding-top: 15px; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; border-top: 1px solid var(--line); }
.refs span { margin-right: 4px; color: var(--muted); font: 700 8px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.refs a { padding: 6px 8px; color: #bca7de; border: 1px solid rgba(155,109,224,.25); border-radius: 6px; font-size: 9px; line-height: 1.35; text-decoration: none; }
.refs a:hover { color: var(--ink); border-color: var(--purple); }

.interactive-card { border: 1px solid rgba(155,109,224,.48); border-radius: 14px; background: #0f0f13; overflow: hidden; }
.lab-tabs { display: flex; gap: 2px; padding: 10px; border-bottom: 1px solid var(--line); }
.lab-tabs button { padding: 9px 13px; color: var(--muted); background: transparent; border: 1px solid transparent; border-radius: 7px; font: 700 9px ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.lab-tabs button[aria-selected="true"] { color: var(--ink); border-color: rgba(155,109,224,.52); background: var(--purple-soft); }
.lab-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.55fr); min-height: 430px; }
.lab-stage { position: relative; min-width: 0; overflow: hidden; background: #060609; border-right: 1px solid var(--line); cursor: grab; touch-action: none; }
.lab-stage:active { cursor: grabbing; }
.lab-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.lab-stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 80px rgba(0,0,0,.28); }
.lab-loading { position: absolute; z-index: 5; inset: 0; display: grid; place-content: center; justify-items: center; gap: 13px; color: #bbb8c1; background: rgba(6,6,9,.84); font: 650 9px ui-monospace, monospace; letter-spacing: .07em; text-transform: uppercase; }
.lab-loading i { width: 22px; height: 22px; border: 2px solid rgba(168,121,232,.22); border-top-color: var(--purple); border-radius: 50%; animation: lab-spin .8s linear infinite; }
@keyframes lab-spin { to { transform: rotate(360deg); } }
.lab-render-badge { position: absolute; z-index: 3; top: 14px; left: 14px; max-width: calc(100% - 28px); padding: 7px 9px; color: var(--lime); background: rgba(8,8,11,.84); border: 1px solid rgba(196,219,34,.23); border-radius: 6px; font: 650 8px ui-monospace, monospace; letter-spacing: .045em; text-transform: uppercase; }
.lab-orbit-hint { position: absolute; z-index: 3; top: 14px; right: 14px; padding: 7px 9px; color: #aaa7af; background: rgba(8,8,11,.76); border: 1px solid var(--line); border-radius: 6px; font: 650 8px ui-monospace, monospace; text-transform: uppercase; }
.stage-legend { position: absolute; left: 14px; bottom: 14px; padding: 7px 9px; color: #bbb8c1; background: rgba(10,10,12,.82); border: 1px solid var(--line); border-radius: 6px; font: 650 8px ui-monospace, monospace; letter-spacing: .05em; text-transform: uppercase; }
.lab-copy { padding: 30px 26px; }
.lab-copy > span { color: var(--purple); font: 700 9px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.lab-copy h3 { margin: 18px 0 12px; font-size: 22px; }
.lab-copy > p { margin: 0; color: #aaa7af; font-size: 12px; line-height: 1.7; }
.lab-copy dl { margin: 29px 0 0; display: grid; gap: 12px; }
.lab-copy dl div, .contract-results dl div, .blend-controls dl div { display: grid; grid-template-columns: 85px 1fr; gap: 10px; }
.lab-copy dt, .contract-results dt, .blend-controls dt { color: var(--muted); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.lab-copy dd, .contract-results dd, .blend-controls dd { margin: 0; color: #d0cdd4; font-size: 10px; line-height: 1.45; }
.lab-controls { padding: 14px 16px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 16px; align-items: end; border-top: 1px solid var(--line); }
.lab-controls label.is-static { opacity: .4; }
.lab-controls label, .blend-controls label, .memory-controls label { display: grid; gap: 8px; }
.lab-controls label span, .blend-controls label span, .memory-controls label span { display: flex; justify-content: space-between; color: var(--muted); font: 650 9px ui-monospace, monospace; text-transform: uppercase; }
input[type="range"] { width: 100%; accent-color: var(--purple); }
.lab-controls button, .blend-controls button, .contract-results button { min-height: 36px; padding: 0 13px; color: var(--ink); background: #17171c; border: 1px solid var(--line); border-radius: 7px; cursor: pointer; }
.lab-controls button:hover, .blend-controls button:hover, .contract-results button:hover { border-color: var(--purple); }
.lab-actions { display: flex; gap: 7px; }
.pipeline-steps { margin: 0; padding: 13px 16px 17px; display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; list-style: none; border-top: 1px solid var(--line); }
.pipeline-steps li { min-height: 64px; padding: 10px; display: grid; align-content: space-between; gap: 10px; border-radius: 7px; background: var(--panel-2); }
.pipeline-steps b { color: var(--purple); font: 700 8px ui-monospace, monospace; }
.pipeline-steps span { color: #c4c1c8; font-size: 10px; }

.capture-flow { margin-top: 28px; display: grid; grid-template-columns: repeat(9,auto); align-items: center; gap: 10px; }
.capture-flow article { min-width: 0; min-height: 170px; padding: 18px; border-top: 1px solid var(--purple); background: var(--panel); }
.capture-flow article span { color: var(--muted); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.capture-flow strong { display: block; margin-top: 24px; font-size: 12px; }
.capture-flow p { margin: 9px 0 0; color: #9f9ca4; font-size: 10px; line-height: 1.55; }
.capture-flow > i { color: #5e5b64; font-style: normal; }

.training-bridge { margin-top: 28px; }
.bridge-head { padding: 22px; display: flex; align-items: end; justify-content: space-between; gap: 30px; border-bottom: 1px solid var(--line); }
.bridge-head p { margin: 0 0 7px; color: var(--purple); font: 700 8px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.bridge-head h3 { max-width: 800px; margin: 0; font-size: 19px; line-height: 1.35; }
.bridge-toggle { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 7px; }
.bridge-toggle button { min-height: 30px; padding: 0 11px; color: var(--muted); border: 0; border-radius: 5px; background: transparent; font: 700 8px ui-monospace, monospace; text-transform: uppercase; cursor: pointer; }
.bridge-toggle button[aria-selected="true"] { color: var(--ink); background: var(--purple-soft); }
.shared-evidence { padding: 14px 22px; display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: #c8c5cc; border-bottom: 1px solid var(--line); font-size: 10px; }
.shared-evidence span { margin-right: 6px; color: var(--lime); font: 700 8px ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.shared-evidence b { padding: 6px 8px; border: 1px solid var(--line); border-radius: 5px; background: var(--panel); font-weight: 550; }
.shared-evidence i { color: #66626b; font-style: normal; }
.bridge-lanes { display: grid; grid-template-columns: 1fr 1fr; }
.bridge-lanes article { padding: 22px; }
.bridge-lanes article:first-child { border-right: 1px solid var(--line); }
.bridge-lanes header { display: flex; align-items: baseline; gap: 12px; }
.bridge-lanes header span { color: var(--purple); font: 700 9px ui-monospace, monospace; text-transform: uppercase; }
.bridge-lanes header strong { font-size: 13px; }
.bridge-lanes ol { margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); gap: 5px; list-style: none; counter-reset: bridge; }
.bridge-lanes li { min-height: 82px; padding: 10px; display: grid; align-content: end; color: #bbb8c0; border-top: 1px solid rgba(168,121,232,.5); background: var(--panel); font-size: 9px; line-height: 1.45; counter-increment: bridge; transition: opacity .2s, transform .2s, border-color .2s; }
.bridge-lanes li::before { content: counter(bridge,decimal-leading-zero); align-self: start; margin-bottom: 18px; color: var(--purple); font: 700 8px ui-monospace, monospace; }
.bridge-lanes li.is-emphasis { border-color: var(--lime); transform: translateY(-2px); }
.bridge-lanes article > p { margin: 17px 0 0; color: #98959d; font-size: 10px; line-height: 1.6; }
.bridge-conclusion { padding: 17px 22px; display: grid; grid-template-columns: 100px 1fr; gap: 20px; border-top: 1px solid var(--line); background: rgba(196,219,34,.035); }
.bridge-conclusion span { color: var(--lime); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.bridge-conclusion p { margin: 0; color: #c2bfc7; font-size: 11px; line-height: 1.65; }
.paper-figures { margin-top: 18px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.paper-figures figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.paper-figures figure > a { height: 245px; display: grid; place-items: center; overflow: hidden; background: #08080a; border-bottom: 1px solid var(--line); }
.paper-figures img { width: 100%; height: 100%; display: block; object-fit: contain; transition: transform .25s ease; }
.paper-figures a:hover img { transform: scale(1.018); }
.paper-figures figcaption { min-height: 185px; padding: 18px; }
.paper-figures figcaption span { color: var(--purple); font: 700 8px ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.paper-figures figcaption strong { display: block; margin-top: 18px; font-size: 13px; line-height: 1.4; }
.paper-figures figcaption p { margin: 10px 0 0; color: #9f9ca4; font-size: 10px; line-height: 1.6; }

.contract-stack { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }
.contract-stack article { min-height: 225px; padding: 20px; border: 1px solid var(--line); background: var(--panel); }
.contract-stack span { color: var(--purple); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.contract-stack h3 { margin: 31px 0 10px; font-size: 14px; }
.contract-stack p { margin: 0; color: #a29fa7; font-size: 11px; line-height: 1.62; }
.contract-inspector { margin-top: 26px; }
.inspector-head { padding: 20px 22px; display: flex; justify-content: space-between; align-items: end; gap: 30px; border-bottom: 1px solid var(--line); }
.inspector-head p, .blend-lab > div:first-child p, .memory-lab > div:first-child p { margin: 0 0 6px; color: var(--purple); font: 700 8px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.inspector-head h3, .blend-lab > div:first-child h3, .memory-lab > div:first-child h3 { margin: 0; font-size: 19px; }
.inspector-head label { display: grid; gap: 7px; color: var(--muted); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.inspector-head select, .memory-controls select { min-height: 36px; padding: 0 34px 0 10px; color: var(--ink); background: #19191f; border: 1px solid var(--line); border-radius: 7px; }
.inspector-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.72fr); }
.inspector-grid pre { min-height: 330px; margin: 0; padding: 23px; overflow: auto; color: #cfcbd4; background: #08080a; border-right: 1px solid var(--line); font-size: 10px; line-height: 1.6; }
.contract-results { padding: 24px; }
.contract-results dl { margin: 0; display: grid; gap: 16px; }
.contract-results dl div { grid-template-columns: 112px 1fr; }
.contract-results button { margin-top: 26px; }
#contract-outcome { min-height: 45px; margin: 13px 0 0; color: var(--orange); font-size: 11px; line-height: 1.5; }

.callout { margin-top: 26px; padding: 20px 22px; display: grid; grid-template-columns: 150px 1fr; gap: 28px; border: 1px solid rgba(155,109,224,.38); border-radius: 10px; background: var(--purple-soft); }
.callout.danger { border-color: rgba(255,155,97,.45); background: rgba(255,155,97,.06); }
.callout strong { color: var(--purple); font-size: 11px; }
.callout.danger strong { color: var(--orange); }
.callout p { margin: 0; color: #c1bec6; font-size: 12px; line-height: 1.7; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.prose-grid article { padding-top: 18px; border-top: 1px solid var(--line); }
.prose-grid h3 { margin: 0 0 18px; font-size: 18px; }
.prose-grid p, .prose-grid li { color: #adaab2; font-size: 12px; line-height: 1.75; }
.prose-grid ol, .prose-grid ul { padding-left: 20px; }
.concept-row { margin-top: 30px; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.concept-row article { min-height: 180px; }
.format-mini { margin-top: 20px; padding: 18px; display: grid; grid-template-columns: 140px repeat(5,1fr); gap: 12px; align-items: start; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.format-mini > b { color: var(--purple); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.format-mini span { color: #9f9ca4; font-size: 9px; line-height: 1.5; }
.format-mini span strong { display: block; margin-bottom: 4px; color: #d2cfd6; }

.formula-card { margin: 0 0 25px; padding: 28px; display: grid; gap: 14px; border: 1px solid rgba(155,109,224,.46); border-radius: 11px; background: linear-gradient(140deg,var(--purple-soft),var(--panel) 62%); }
.formula-card span { color: var(--purple); font: 700 8px ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.formula-card code { color: var(--ink); font-size: clamp(18px,2.1vw,29px); line-height: 1.65; white-space: normal; }
.formula-card p { max-width: 780px; margin: 0; color: #aaa7af; font-size: 12px; line-height: 1.65; }
.formula-card.compact { margin: 0; align-content: center; }
.formula-card.compact code { font-size: 14px; }
.ray-equations { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-bottom: 35px; }
.ray-equations article { padding: 18px; border-top: 1px solid var(--purple); background: var(--panel); }
.ray-equations span { color: var(--muted); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.ray-equations code { display: block; margin-top: 24px; color: #ddd9e0; font-size: 12px; }
.ray-equations p { margin: 10px 0 0; color: #9f9ca4; font-size: 10px; line-height: 1.55; }

.gaussian-anatomy { display: grid; grid-template-columns: 230px 1fr 1fr; gap: 28px; align-items: stretch; }
.gaussian-orb { position: relative; min-height: 250px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: radial-gradient(ellipse at center,rgba(155,109,224,.45),rgba(155,109,224,.06) 43%,transparent 70%),#08080a; }
.gaussian-orb i { position: absolute; inset: 50%; width: 160px; height: 64px; margin: -32px -80px; border: 1px solid rgba(196,219,34,.55); border-radius: 50%; transform: rotate(26deg); }
.gaussian-orb i:nth-child(2) { transform: rotate(86deg) scale(.65); border-color: rgba(155,109,224,.8); }
.gaussian-orb i:nth-child(3) { transform: rotate(146deg) scale(.82); border-color: rgba(255,255,255,.2); }
.gaussian-anatomy > dl { margin: 0; padding: 21px; display: grid; gap: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); }
.gaussian-anatomy > dl div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; align-items: baseline; }
.gaussian-anatomy dt { color: var(--purple); font: 700 9px ui-monospace, monospace; }
.gaussian-anatomy dd { margin: 0; color: #b4b1b9; font-size: 11px; line-height: 1.5; }
.gs-layer-map { margin-top: 12px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.gs-layer-map article { min-height: 205px; padding: 21px; display: grid; align-content: space-between; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); }
.gs-layer-map article:nth-child(2) { border-color: rgba(155,109,224,.45); }
.gs-layer-map span, .gs-equation-stack span, .failure-grid span { color: var(--purple); font: 700 8px ui-monospace,monospace; letter-spacing: .09em; text-transform: uppercase; }
.gs-layer-map h3, .failure-grid h3 { margin: 29px 0 10px; font-size: 16px; }
.gs-layer-map p, .failure-grid p { margin: 0; color: #aaa7af; font-size: 11px; line-height: 1.65; }
.gs-contract-table { min-width: 970px; }
.gs-equation-stack { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.gs-equation-stack article { min-height: 235px; padding: 21px; border-top: 1px solid var(--purple); background: var(--panel); }
.gs-equation-stack code { display: block; margin: 30px 0 17px; color: #e4e0e7; font-size: 12px; line-height: 1.65; }
.gs-equation-stack p { margin: 0; color: #a8a5ad; font-size: 10px; line-height: 1.65; }
.numbered-flow { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; list-style: none; }
.numbered-flow.six-flow { grid-template-columns: repeat(3,1fr); }
.numbered-flow li { min-height: 180px; padding: 18px; display: grid; grid-template-rows: auto 1fr; border: 1px solid var(--line); background: var(--panel); }
.numbered-flow li > span { color: var(--purple); font: 700 9px ui-monospace, monospace; }
.numbered-flow div { align-self: end; }
.numbered-flow b { font-size: 12px; }
.numbered-flow p { margin: 9px 0 0; color: #a29fa7; font-size: 10px; line-height: 1.55; }

.blend-lab, .memory-lab { margin-top: 30px; padding: 22px; }
.blend-layout { margin-top: 20px; display: grid; grid-template-columns: 1.45fr .55fr; gap: 20px; }
.blend-layout canvas { width: 100%; min-height: 260px; border: 1px solid var(--line); border-radius: 8px; background: #08080a; }
.blend-controls { display: grid; align-content: start; gap: 18px; }
.blend-controls dl { margin: 0; display: grid; gap: 10px; }
.lab-caption { margin: 16px 0 0; color: #908d95; font-size: 10px; line-height: 1.6; }
.method-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 9px; margin-bottom: 28px; }
.dynamic-methods button { min-height: 205px; padding: 22px; color: inherit; text-align: left; border: 1px solid var(--line); border-radius: 11px; background: var(--panel); cursor: pointer; }
.dynamic-methods button:hover { border-color: rgba(155,109,224,.6); }
.dynamic-methods button[aria-selected="true"] { border-color: var(--lime); background: linear-gradient(145deg,rgba(196,219,34,.07),var(--panel) 70%); box-shadow: inset 0 0 0 1px rgba(196,219,34,.08); }
.dynamic-methods span { color: var(--purple); font: 700 9px ui-monospace,monospace; letter-spacing: .1em; text-transform: uppercase; }
.dynamic-methods h3 { margin: 30px 0 11px; color: var(--ink); font-size: 16px; }
.dynamic-methods p { margin: 0; color: #a9a6ae; font-size: 11px; line-height: 1.6; }
.dynamic-explorer { margin: -12px 0 34px; padding: 25px; display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); gap: 35px; }
.dynamic-explorer > div > span { color: var(--lime); font: 700 8px ui-monospace,monospace; letter-spacing: .11em; text-transform: uppercase; }
.dynamic-explorer h3 { margin: 15px 0 10px; font-size: 24px; }
.dynamic-explorer > div > p { max-width: 680px; margin: 0; color: #aaa7af; font-size: 12px; line-height: 1.72; }
.dynamic-explorer dl { margin: 0; display: grid; gap: 10px; }
.dynamic-explorer dl div { display: grid; grid-template-columns: 125px 1fr; gap: 13px; align-items: baseline; padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.dynamic-explorer dl div:last-child { border-bottom: 0; }
.dynamic-explorer dt { color: var(--muted); font: 700 8px ui-monospace,monospace; text-transform: uppercase; }
.dynamic-explorer dd { margin: 0; color: #d0cdd4; font-size: 10px; line-height: 1.5; }
.dynamic-family-table { min-width: 1120px; }
.dynamic-family-table small { color: var(--purple); font: 650 8px ui-monospace,monospace; }
.failure-grid { margin: 30px 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.failure-grid article { min-height: 215px; padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.dynamic-failures article { border-top-color: rgba(196,219,34,.38); }

.memory-lab > div:first-child { margin-bottom: 20px; }
.memory-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.memory-results { margin-top: 20px; display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; }
.memory-results article { min-height: 90px; padding: 15px; display: grid; align-content: space-between; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); }
.memory-results span { color: var(--muted); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.memory-results strong { color: var(--lime); font: 650 17px ui-monospace, monospace; }

.math-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.math-grid article { min-height: 210px; padding: 21px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.math-grid span { color: var(--purple); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.math-grid code { display: block; margin: 31px 0 13px; color: #ddd9e0; font-size: 12px; line-height: 1.6; }
.math-grid p { margin: 0; color: #a6a3ab; font-size: 10px; line-height: 1.6; }
.metric-groups { margin-top: 22px; display: grid; grid-template-columns: repeat(2,1fr); gap: 9px; }
.metric-groups article { padding: 22px; border-top: 1px solid var(--purple); background: var(--panel); }
.metric-groups h3 { margin: 0 0 12px; font-size: 16px; }
.metric-groups p { margin: 0; color: #a6a3ab; font-size: 11px; line-height: 1.65; }

.evidence-banner { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.evidence-banner > div { min-height: 120px; padding: 17px; display: grid; align-content: space-between; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.evidence-banner span { color: var(--muted); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.evidence-banner strong { margin-top: 18px; color: var(--lime); font: 600 24px ui-monospace, monospace; }
.evidence-banner small { color: #94919a; font-size: 9px; }
.implementation-flow { margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; list-style: none; counter-reset: flow; }
.implementation-flow li { min-height: 160px; padding: 18px; border: 1px solid var(--line); background: var(--panel); counter-increment: flow; }
.implementation-flow li::before { content: counter(flow,decimal-leading-zero); display: block; margin-bottom: 28px; color: var(--purple); font: 700 8px ui-monospace, monospace; }
.implementation-flow b { font-size: 11px; }
.implementation-flow p { margin: 9px 0 0; color: #9f9ca4; font-size: 10px; line-height: 1.55; }
.boundary-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.boundary-grid article { padding: 21px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel); }
.boundary-grid span { color: var(--purple); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.boundary-grid ul { padding-left: 17px; }
.boundary-grid li, .boundary-grid p { color: #a8a5ad; font-size: 10px; line-height: 1.65; }
.table-note { color: var(--muted); font-size: 10px; line-height: 1.6; }

.qa-list { border-top: 1px solid var(--line); }
.qa-list details { border-bottom: 1px solid var(--line); }
.qa-list summary { padding: 20px 4px; color: #d5d2d9; font-size: 14px; cursor: pointer; }
.qa-list details[open] summary { color: var(--lime); }
.qa-list p { max-width: 900px; margin: 0; padding: 0 4px 22px; color: #aaa7af; font-size: 12px; line-height: 1.75; }
.glossary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.glossary-grid article { min-height: 135px; padding: 17px; border: 1px solid var(--line); background: var(--panel); }
.glossary-grid b { color: var(--purple); font: 700 9px ui-monospace, monospace; }
.glossary-grid p { margin: 25px 0 0; color: #9f9ca4; font-size: 10px; line-height: 1.55; }
.sources-list { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.sources-list h3 { grid-column: 1 / -1; }
.sources-list a { min-height: 73px; padding: 14px 16px; display: grid; gap: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel); text-decoration: none; }
.sources-list a:hover { border-color: var(--purple); }
.sources-list span { color: var(--purple); font: 700 8px ui-monospace, monospace; text-transform: uppercase; }
.sources-list strong { color: #c6c3ca; font-size: 10px; }

.doc-footer { min-height: 150px; padding: 28px clamp(24px,7vw,110px); display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; gap: 30px; }
.doc-footer > div { display: flex; align-items: center; gap: 10px; }
.doc-footer img { width: 38px; height: 38px; border-radius: 10px; }
.doc-footer div span { display: grid; gap: 2px; }
.doc-footer strong { font-size: 12px; }
.doc-footer small, .doc-footer p { color: var(--muted); font-size: 9px; line-height: 1.55; }
.doc-footer a { color: var(--purple); font-size: 10px; text-decoration: none; }

@media (max-width: 1180px) {
  .doc-shell { grid-template-columns: 210px minmax(0,1fr); }
  .doc-section, .doc-hero { padding-inline: 48px; }
  .four-up, .method-grid { grid-template-columns: repeat(2,1fr); }
  .contract-stack { grid-template-columns: repeat(3,1fr); }
  .capture-flow { grid-template-columns: 1fr 1fr 1fr; }
  .capture-flow > i { display: none; }
  .capture-flow article { min-height: 145px; }
  .bridge-lanes ol { grid-template-columns: 1fr 1fr 1fr; }
  .paper-figures { grid-template-columns: 1fr 1fr; }
  .paper-figures figure:last-child { grid-column: 1 / -1; }
  .gaussian-anatomy { grid-template-columns: 200px 1fr; }
  .gaussian-anatomy .formula-card { grid-column: 1 / -1; }
  .numbered-flow { grid-template-columns: repeat(3,1fr); }
  .failure-grid { grid-template-columns: repeat(2,1fr); }
  .implementation-flow { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 860px) {
  html { scroll-padding-top: 70px; }
  .doc-shell { display: block; }
  .toc { display: none; }
  .doc-section, .doc-hero { padding-inline: 24px; }
  .doc-hero h1 { font-size: 65px; }
  .section-intro { margin-left: 0; }
  .lab-layout, .inspector-grid, .blend-layout { grid-template-columns: 1fr; }
  .lab-stage { min-height: 380px; border-right: 0; border-bottom: 1px solid var(--line); }
  .bridge-lanes { grid-template-columns: 1fr; }
  .bridge-lanes article:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .inspector-grid pre { border-right: 0; border-bottom: 1px solid var(--line); }
  .contract-stack { grid-template-columns: repeat(2,1fr); }
  .two-col, .memory-controls, .dynamic-explorer { grid-template-columns: 1fr; }
  .gs-layer-map, .gs-equation-stack { grid-template-columns: 1fr; }
  .ray-equations, .evidence-banner, .glossary-grid { grid-template-columns: repeat(2,1fr); }
  .format-mini { grid-template-columns: repeat(2,1fr); }
  .format-mini > b { grid-column: 1 / -1; }
  .math-grid { grid-template-columns: repeat(2,1fr); }
  .boundary-grid { grid-template-columns: 1fr; }
  .doc-footer { grid-template-columns: 1fr auto; }
  .doc-footer p { display: none; }
}
@media (max-width: 580px) {
  .doc-topbar nav a { display: none; }
  .doc-brand small { display: none; }
  .doc-hero { padding-top: 60px; }
  .doc-hero h1 { font-size: 48px; }
  .section-title { grid-template-columns: 28px 1fr; gap: 10px; }
  .section-title h2 { font-size: 39px; }
  .four-up, .method-grid, .contract-stack, .concept-row, .ray-equations, .math-grid, .metric-groups, .evidence-banner, .implementation-flow, .glossary-grid, .sources-list, .memory-results, .numbered-flow.six-flow, .failure-grid { grid-template-columns: 1fr; }
  .sources-list h3 { grid-column: auto; }
  .summary-grid article, .method-grid article { min-height: 180px; }
  .lab-tabs { overflow-x: auto; }
  .lab-tabs button { white-space: nowrap; }
  .lab-stage { min-height: 300px; }
  .lab-controls { grid-template-columns: 1fr; }
  .lab-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .lab-orbit-hint { top: auto; bottom: 48px; right: 10px; }
  .lab-render-badge { top: 10px; left: 10px; }
  .stage-legend { left: 10px; bottom: 10px; }
  .bridge-head { align-items: stretch; flex-direction: column; }
  .bridge-toggle { align-self: flex-start; }
  .shared-evidence { align-items: flex-start; }
  .bridge-lanes ol { grid-template-columns: 1fr 1fr; }
  .bridge-conclusion { grid-template-columns: 1fr; gap: 8px; }
  .paper-figures { grid-template-columns: 1fr; }
  .paper-figures figure:last-child { grid-column: auto; }
  .paper-figures figure > a { height: 220px; }
  .pipeline-steps { grid-template-columns: 1fr 1fr; }
  .capture-flow { grid-template-columns: 1fr; }
  .inspector-head { align-items: stretch; flex-direction: column; }
  .callout, .key-line { grid-template-columns: 1fr; gap: 10px; }
  .gaussian-anatomy { grid-template-columns: 1fr; }
  .gaussian-orb { min-height: 210px; }
  .numbered-flow { grid-template-columns: 1fr; }
  .numbered-flow li { min-height: 140px; }
  .dynamic-explorer { padding: 18px; }
  .dynamic-explorer dl div { grid-template-columns: 1fr; gap: 5px; }
  .doc-section.core-topic::before { display: none; }
  .doc-footer { grid-template-columns: 1fr; }
  .doc-footer > a { display: none; }
}

@media print {
  :root { color-scheme: light; --bg:#fff; --panel:#f6f5f2; --panel-2:#eceae6; --ink:#171719; --muted:#58555e; --line:rgba(0,0,0,.16); --purple:#6942a5; --purple-soft:rgba(105,66,165,.08); --lime:#647000; }
  .doc-topbar, .toc, .interactive-card button, .lab-controls { display: none !important; }
  .doc-shell { display: block; max-width: none; }
  .doc-section, .doc-hero { padding: 34px 24px; break-inside: auto; }
  .doc-hero { padding-top: 20px; }
  .doc-hero h1 { font-size: 58px; }
  .section-title h2 { font-size: 34px; }
  article, table, .formula-card, .callout, .key-line, .interactive-card { break-inside: avoid; }
  .lab-stage { min-height: 300px; }
  a { text-decoration: none; }
}
