@font-face { font-family: "Space Grotesk"; src: url("fonts/space-grotesk-latin-variable.woff2") format("woff2"); font-style: normal; font-weight: 300 700; font-display: swap; }
@font-face { font-family: "Doto"; src: url("fonts/doto-latin-variable.woff2") format("woff2"); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: "Space Mono"; src: url("fonts/space-mono-latin-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Space Mono"; src: url("fonts/space-mono-latin-bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("fonts/jetbrains-mono-latin-variable.woff2") format("woff2"); font-style: normal; font-weight: 100 800; font-display: swap; }

@layer reset, tokens, base, layout, components, states, print;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  :where(html, body, h1, h2, h3, p, figure, blockquote, pre, dl, ol, ul) { margin: 0; }
  :where(ol, ul) { padding: 0; }
  :where(button, input) { font: inherit; }
}

@layer tokens {
  :root { color-scheme: light; --bg:#fff; --surface:#f5f5f5; --surface-2:#eee; --ink:#1a1a1a; --muted:#666; --rule:#e2e2e2; --rule-2:#999; --accent:#d71921; --accent-soft:#fff0f0; --terminal:#1b1b1f; --terminal-ink:#d4d4da; --evidence:#e6efff; --font-reading: "Space Grotesk",ui-sans-serif,system-ui,sans-serif; --font-machine: "Space Mono",ui-monospace,monospace; --font-code: "JetBrains Mono",ui-monospace,monospace; --font-dot: "Doto","Space Mono",ui-monospace,monospace; --micro:.75rem; --label:.875rem; --body:1rem; --lead:1.125rem; --frame:96rem; --book-width:min(calc(100vw - clamp(2rem,10vw,12rem)),var(--frame)); --outer-gutter:calc((100vw - var(--book-width))/2); --floating-topbar-width:min(75%,74rem); --topbar:5rem; --radius:.25rem; }
}

@layer base {
  html { min-width: 20rem; overflow-x:clip; background:var(--surface); color:var(--ink); font-family:var(--font-reading); font-kerning:normal; font-synthesis:none; scroll-behavior:smooth; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
  body { min-width: 20rem; overflow-x:clip; background:var(--surface); font-size:var(--body); line-height:1.6; }
  :where(h1,h2,h3) { line-height:1.1; letter-spacing:-.02em; text-wrap:balance; }
  :where(p,li,dd) { text-wrap:pretty; }
  :where(a) { color:inherit; text-decoration-thickness:.08em; text-underline-offset:.2em; }
  :where(a:hover) { color:var(--accent); }
  :where(a,button):focus-visible { outline:.1875rem solid var(--accent); outline-offset:.1875rem; }
  code { font-family:var(--font-code); font-variant-ligatures:none; }
  [hidden] { display:none; }
}

@layer layout {
  .site-frame { width:var(--book-width); min-height:100dvh; margin-inline:auto; }
  main { min-width:0; border:1px solid var(--rule); background:var(--bg); }
  .skip-link { position:fixed; inset-block-start:.75rem; inset-inline-start:.75rem; z-index:100; padding:.75rem 1rem; background:var(--ink); color:var(--bg); transform:translateY(-200%); }
  .skip-link:focus { transform:translateY(0); }
  .topbar { position:sticky; inset-block-start:0; z-index:70; min-height:var(--topbar); padding-block-start:.75rem; background:transparent; pointer-events:none; }
  .topbar-inner { width:100%; min-height:2.5rem; display:flex; align-items:center; gap:.5rem; pointer-events:auto; }
  .chapter-dock { position:fixed; inset:auto auto max(1rem,env(safe-area-inset-bottom)) 1rem; z-index:80; width:min(22rem,calc(100vw - 2rem)); display:flex; flex-direction:column; align-items:flex-start; pointer-events:none; }
  .chapter-rail { order:1; width:100%; max-height:min(72dvh,36rem); margin-block-end:.75rem; overflow-y:auto; overscroll-behavior:contain; border:1px solid var(--rule); border-radius:var(--radius); background:var(--bg); box-shadow:0 1.25rem 4rem rgb(0 0 0/.18); pointer-events:auto; scrollbar-width:thin; }
  .chapter-columns { display:block; }
  .cover { min-height:34.25rem; display:grid; grid-template-areas:"copy stage"; grid-template-columns:7fr 5fr; }
  .cover-copy { grid-area:copy; min-width:0; display:flex; flex-direction:column; padding:3rem 2rem 2.5rem; border-inline-end:1px solid var(--rule); }
  .cover-stage { grid-area:stage; min-width:0; display:flex; align-items:center; }
  .chapter-header { display:grid; grid-template-areas:"number title contract"; grid-template-columns:2.5rem minmax(0,1.15fr) minmax(14rem,.85fr); gap:1.25rem; padding:3rem 2rem 2.5rem; border-block-end:1px solid var(--rule); }
  .chapter-number { grid-area:number; }
  .chapter-header > div:nth-child(2) { grid-area:title; }
  .chapter-contract { grid-area:contract; }
  .prose-section { display:grid; grid-template-areas:"index copy evidence"; grid-template-columns:2rem minmax(0,1fr) minmax(12rem,.42fr); gap:1rem; padding:3rem 2rem; border-block-end:1px solid var(--rule); content-visibility: auto; contain-intrinsic-block-size:36rem; }
  .section-index { grid-area:index; }
  .section-copy { grid-area:copy; }
  .evidence { grid-area:evidence; align-self:end; }
  .lens-explorer, .chapter-prose { container-type: inline-size; }
}

@layer components {
  .brand { color:var(--muted); font-family:var(--font-dot); font-size:1.25rem; font-weight:500; line-height:1; letter-spacing:.02em; text-decoration:none; }
  .crumb, .edition { display:none; }
  .print-button, .menu-button { min-height:2.5rem; display:flex; align-items:center; justify-content:center; border:1px solid var(--rule); border-radius:var(--radius); font-family:var(--font-machine); font-size:var(--label); line-height:1; letter-spacing:.05em; text-decoration:none; }
  .print-button { margin-inline-start:auto; padding-inline:.875rem; background:var(--surface); }
  .menu-button { order:2; min-width:10rem; min-height:3.5rem; display:grid; grid-template-columns:1fr auto; gap:1rem; padding-inline:1.125rem; border-color:rgb(255 255 255/.14); background:var(--terminal); box-shadow:0 .75rem 2rem rgb(0 0 0/.16); color:#fff; pointer-events:auto; cursor:pointer; text-align:start; }
  .menu-indicator { width:1.75rem; aspect-ratio:1; display:grid; place-items:center; border:1px solid rgb(255 255 255/.2); border-radius:50%; font-size:var(--body); transition:transform .24s ease,opacity .24s ease; }
  .rail-home { position:sticky; inset-block-start:0; z-index:20; display:flex; gap:.75rem; padding:1rem; border-block-end:1px solid var(--rule); background:var(--bg); font-family:var(--font-machine); font-size:var(--micro); text-decoration:none; }
  .rail-home span, .chapter-rail li span { color:var(--accent); }
  .chapter-rail ol { display:grid; gap:.375rem; padding:.5rem; list-style:none; }
  .chapter-rail li { position:sticky; inset-block-start:calc(.375rem + (var(--chapter-index) * .3125rem)); overflow:hidden; border:1px solid var(--rule); border-radius:var(--radius); background:var(--bg); box-shadow:0 .375rem 1rem rgb(0 0 0/.06); }
  .chapter-rail li a { min-height:3.5rem; display:grid; grid-template-columns:2rem 1fr; gap:.75rem; align-items:center; padding:.75rem 1rem; text-decoration:none; }
  .chapter-rail li span { font-family:var(--font-machine); font-size:var(--micro); }
  .chapter-rail li strong { font-size:var(--label); font-weight:600; line-height:1.25; }
  .chapter-rail a[aria-current="page"] { background:var(--accent-soft); box-shadow:inset .25rem 0 var(--accent); }
  .cover-label, .eyebrow, .kicker, .chapter-mode { color:var(--muted); font-family:var(--font-machine); font-size:var(--micro); letter-spacing:.05em; }
  .cover h1 { max-width:none; margin-block:0 2.5rem; font-family:var(--font-dot); font-size:clamp(3rem,calc(2rem + 3vw),5rem); font-weight:500; line-height:1; letter-spacing:.01em; }
  .cover-deck { max-width:36ch; font-size:clamp(1rem,calc(.875rem + .25vw),1.125rem); }
  .cover-actions { margin-block-start:auto; display:flex; flex-wrap:wrap; gap:.5rem; }
  .cover-actions a { min-height:2.5rem; display:flex; align-items:center; padding-inline:1.125rem; border:1px solid var(--rule); border-radius:var(--radius); font-size:var(--label); text-decoration:none; }
  .cover-actions .primary-action { border-color:var(--ink); background:var(--ink); color:#fff; }
  .system-trace { width:100%; overflow:hidden; }
  .system-trace svg { width:100%; height:auto; display:block; }
  [id$="-dots"] circle { fill:var(--rule); opacity:.65; }
  .trace-edge :where(line,path) { fill:none; stroke:var(--rule-2); stroke-width:1.5; }
  .trace-edge.is-active :where(line,path) { stroke:var(--accent); stroke-width:3.5; }
  .trace-node rect { fill:var(--bg); stroke:var(--rule-2); stroke-width:1.2; }
  .trace-node text { fill:var(--ink); font-family:var(--font-machine); font-size:.625rem; }
  .trace-node.is-active rect { fill:var(--accent-soft); stroke:var(--accent); stroke-width:2; }
  .system-trace figcaption, .figure-caption { min-height:3rem; display:flex; align-items:center; padding:.75rem 1.5rem; border-block-start:1px solid var(--rule); color:var(--muted); font-family:var(--font-machine); font-size:var(--label); }
  .install-strip { min-height:3rem; display:grid; grid-template-columns:5rem 1fr auto; align-items:center; background:var(--terminal); color:#bdbdb8; font-family:var(--font-machine); font-size:var(--micro); }
  .install-strip > * { padding-inline:1.5rem; }
  .install-strip code { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .install-strip b, .figure-caption b, .system-trace figcaption b { color:var(--accent); font-weight:700; }
  .install-strip a { text-decoration:none; }
  .reference-intro, .workflow > header, .capabilities > header, .contents > header { padding:3rem 2rem 2.5rem; }
  :where(.reference-intro,.workflow,.capabilities,.contents) { content-visibility: auto; contain-intrinsic-block-size:48rem; }
  :where(.reference-intro,.workflow,.capabilities,.contents) h2 { margin-block:.75rem; font-size:clamp(2rem,calc(1.75rem + .75vw),2.5rem); font-weight:400; }
  :where(.reference-intro,.workflow) header > p:last-child, .reference-intro > p:last-child { max-width:64ch; font-size:var(--lead); }
  .reference-tabs { display:flex; overflow-x:auto; border-block-end:1px solid var(--rule); background:var(--surface-2); }
  .reference-tabs button { min-width:7rem; min-height:3rem; padding-inline:1rem; border:0; border-inline-end:1px solid var(--rule); border-block-end:.125rem solid transparent; background:var(--bg); color:var(--muted); cursor:pointer; font-family:var(--font-machine); font-size:var(--micro); }
  .reference-tabs button[aria-selected="true"] { border-block-end-color:var(--accent); color:var(--ink); }
  .lens-panels { display:grid; }
  .lens-panel { grid-area:1/1; }
  .thesis-detail { min-height:25rem; display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding:3rem 2rem; border-block-end:1px solid var(--rule); }
  .thesis-detail h3 { margin-block:.75rem; font-size:var(--lead); }
  .thesis-detail p { font-size:var(--lead); }
  .thesis-detail blockquote { margin-block-start:1.5rem; padding-inline-start:1rem; border-inline-start:1px solid var(--rule); font-size:var(--body); }
  .thesis-detail blockquote span, .thesis-detail pre > span { display:block; margin-block-end:.5rem; color:var(--muted); font-family:var(--font-machine); font-size:var(--micro); }
  .thesis-detail pre > span { color:#aaa; }
  .thesis-detail pre { min-width:0; min-height:19rem; overflow:auto; padding:1.5rem; background:var(--terminal); color:var(--terminal-ink); font-family:var(--font-code); font-size:var(--micro); white-space:pre-wrap; }
  .workflow-diagram { padding-block:1rem; border-block:1px solid var(--rule); }
  .workflow-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block-end:1px solid var(--rule); }
  .workflow-steps article { min-width:0; display:grid; grid-template-columns: subgrid; grid-template-rows:auto auto 1fr auto; grid-row:span 4; gap:.5rem; padding:1.5rem; border-inline-end:1px solid var(--rule); }
  .workflow-steps span, .capability span, .contents li span { color:var(--accent); font-family:var(--font-machine); font-size:var(--micro); }
  .workflow-steps strong { font-family:var(--font-machine); font-size:var(--label); } .capability strong { font-family:var(--font-machine); font-size:var(--lead); }
  .workflow-steps p, .capability p, .contents li p { color:var(--muted); font-size:var(--body); }
  .workflow-steps code { width:fit-content; padding:.25rem .5rem; border:1px solid var(--rule); font-size:var(--micro); text-transform:uppercase; }
  .status-line { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 1.5rem; background:var(--surface-2); font-family:var(--font-machine); font-size:var(--micro); }
  .workflow-note, .reference-link { display:block; padding:1.5rem; border-block-end:1px solid var(--rule); font-size:var(--body); }
  .reference-link { font-family:var(--font-machine); font-size:var(--micro); text-decoration:none; }
  .capabilities > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .capability { min-width:0; display:grid; grid-template-columns:subgrid; gap:.75rem; padding:1.5rem; border-block-start:1px solid var(--rule); border-inline-end:1px solid var(--rule); text-decoration:none; transition:background-color .2s ease-out,color .2s ease-out; }
  .contents ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; border-block-start:1px solid var(--rule); }
  .contents li { min-width:0; border-block-end:1px solid var(--rule); border-inline-end:1px solid var(--rule); }
  .contents li a { min-height:9rem; display:grid; grid-template-columns:2rem 1fr 1rem; gap:.75rem; padding:1.5rem; text-decoration:none; transition:background-color .2s ease-out,color .2s ease-out; }
  .contents li strong { font-size:var(--lead); }
  .contents li p { grid-column:2/-1; } .capability:is(:hover,:focus-visible), .contents li a:is(:hover,:focus-visible) { background:var(--terminal); color:#fff; } .capability:is(:hover,:focus-visible) :where(strong,p), .contents li a:is(:hover,:focus-visible) :where(strong,p,b) { color:inherit; }
  .chapter-number, .chapter-mode, .chapter-contract dt { color:var(--accent); font-family:var(--font-machine); font-size:var(--micro); }
  .chapter h1 { max-width:17ch; margin-block:.5rem 1rem; font-size:clamp(2.5rem,calc(2rem + 1vw),3.5rem); font-weight:500; }
  .chapter-summary { max-width:58ch; font-size:var(--lead); }
  .chapter-contract { border-block-start:1px solid var(--rule); }
  .chapter-contract div { padding-block:1rem; border-block-end:1px solid var(--rule); }
  .chapter-contract dd { margin-block-start:.5rem; font-size:var(--body); }
  .visual-stage { border-block-end:1px solid var(--rule); }
  .stage-note, .contract-title, .operations-heading { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem 2rem; border-block-start:1px solid var(--rule); }
  :where(.stage-note,.contract-title,.operations-heading) span { color:var(--accent); font-family:var(--font-machine); font-size:var(--micro); }
  .split-stage { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .split-lane { min-height:20rem; padding:2rem; border-inline-end:1px solid var(--rule); }
  .split-lane h3 { margin-block-end:2rem; font-size:1.5rem; }
  .split-lane li { padding-block:.75rem; border-block-end:1px solid var(--rule); }
  .contract-stage { padding:2rem; background:var(--surface); }
  .contract-title { padding-inline:0; }
  .contract-title strong { font-size:1.5rem; }
  .contract-stage dl div { display:grid; grid-template-columns:minmax(6rem,.7fr) 2fr; gap:1rem; padding-block:1rem; border-block-end:1px solid var(--rule); }
  .contract-stage :where(dt,dd) { font-family:var(--font-machine); font-size:var(--label); }
  .contract-stage dt { color:var(--accent); }
  .contract-boundary { max-width:38ch; margin-block-start:2rem; }
  .temporal-stage { padding:3rem 2rem; }
  .temporal-stage ol { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.75rem; list-style:none; }
  .temporal-stage li { min-height:9rem; display:flex; flex-direction:column; gap:.5rem; padding:1rem; border:1px solid var(--rule); }
  .temporal-stage :where(span,small) { color:var(--accent); font-family:var(--font-machine); font-size:var(--micro); }
  .temporal-stage small { margin-block-start:auto; color:var(--muted); }
  .decision-stage { overflow-x:auto; }
  .scroll-hint, .decision-stage caption { padding:1rem 2rem; color:var(--muted); font-family:var(--font-machine); font-size:var(--micro); text-align:start; }
  .decision-stage table { width:100%; min-width:60rem; border-collapse:collapse; }
  .decision-stage th, .decision-stage td { padding:1rem; border:1px solid var(--rule); text-align:start; }
  .decision-stage thead { background:var(--terminal); color:var(--terminal-ink); font-family:var(--font-machine); font-size:var(--micro); }
  .operations-stage { background:var(--terminal); color:var(--terminal-ink); }
  .operations-stage ol { list-style:none; }
  .operations-stage li { display:grid; grid-template-columns:2rem .6fr .7fr 1fr; gap:1rem; padding:1rem 2rem; border-block-end:1px solid #444; }
  .operations-stage li span, .operations-stage li b { color:#ff9297; font-family:var(--font-machine); font-size:var(--label); }
  .migration-stage { padding:3rem 2rem; }
  .migration-stage ol { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); list-style:none; }
  .migration-stage li { min-height:8rem; display:flex; flex-direction:column; gap:.5rem; padding:1rem; border:1px solid var(--rule); }
  .migration-stage :where(span,small) { color:var(--accent); font-family:var(--font-machine); font-size:var(--micro); }
  .migration-stage small { margin-block-start:auto; color:var(--muted); }
  .rollback-line { padding:1rem; border-block-end:1px solid var(--accent); color:var(--accent); font-family:var(--font-machine); font-size:var(--micro); }
  .section-index::before { content:"↳"; color:var(--accent); }
  .section-copy h2 { margin-block-end:1rem; font-size:2rem; font-weight:500; }
  .section-copy > p { max-width:64ch; font-size:var(--body); }
  .section-copy ul { margin-block-start:1.5rem; padding-inline-start:1.25rem; }
  .section-copy li { padding-block:.5rem; border-block-end:1px solid var(--rule); font-size:var(--body); }
  .evidence { padding:1rem; background:var(--evidence); font-size:var(--body); }
  .evidence span { display:block; margin-block-end:.5rem; font-family:var(--font-machine); font-size:var(--micro); font-weight:700; }
  .command-band { display:grid; grid-template-columns:1fr auto; background:var(--terminal); color:var(--terminal-ink); }
  .command-band > div { padding:1rem 2rem; }
  .command-band span { display:block; color:#aaa; font-family:var(--font-machine); font-size:var(--micro); }
  .command-band code { font-size:var(--label); }
  .command-band button { padding-inline:1.5rem; border:0; border-inline-start:1px solid #444; background:transparent; color:inherit; cursor:pointer; }
  .command-band p { grid-column:1/-1; padding:1rem 2rem; border-block-start:1px solid #444; color:#aaa; }
  .book-footer { display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; padding:1.5rem 2rem; background:var(--bg); font-size:var(--micro); }
  .book-footer p { color:var(--muted); font-family:var(--font-machine); }
  .book-footer div:last-child { text-align:end; }
  .reading-progress { position:fixed; inset:0 0 auto; z-index:90; height:.125rem; background:var(--accent); transform:scaleX(0); transform-origin:left; animation:reading-progress linear; animation-timeline:scroll(root); }
  @keyframes reading-progress { to { transform:scaleX(1); } }
}

@layer states {
  .lens-panel[hidden] { display:none; }
  .topbar.is-floating .topbar-inner { width:var(--floating-topbar-width); min-height:4.25rem; margin-inline:auto; padding:.625rem .75rem; border:1px solid #444; border-radius:.5rem; background:var(--terminal); box-shadow:0 .75rem 2.5rem rgb(0 0 0/.18); color:#fff; }
  .topbar.is-floating .brand { color:#fff; }
  .topbar.is-floating .print-button { margin-inline-start:auto; border-color:#555; background:#27272c; color:#fff; }
  .menu-button[aria-expanded="true"] .menu-indicator { transform:rotate(45deg); }
  @container (max-width:48rem) { .thesis-detail { grid-template-columns:1fr; gap:1.5rem; } .prose-section { grid-template-areas:"index copy" ". evidence"; grid-template-columns:2rem 1fr; } }
  @media (min-width:48.0625rem) {
    .chapter-dock { inset:0; width:auto; display:block; }
    .menu-button { position:fixed; inset:auto auto max(1rem,env(safe-area-inset-bottom)) .5rem; width:calc(var(--outer-gutter) - 1rem); min-width:0; grid-template-columns:1fr; padding:0; }
    .menu-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
    .chapter-rail { position:fixed; inset:calc(var(--topbar) + .75rem) 0 5.25rem; width:100vw; height:calc(100dvh - var(--topbar) - 6rem); max-height:none; margin:0; overflow:visible; border:0; background:transparent; box-shadow:none; pointer-events:none; }
    .chapter-columns { height:100%; display:grid; grid-template-columns:var(--outer-gutter) var(--book-width) var(--outer-gutter); align-items:end; }
    .chapter-stack-shell { max-height:100%; display:flex; flex-direction:column; justify-content:flex-end; overflow-y:auto; pointer-events:none; scrollbar-width:none; }
    .chapter-stack-shell-left { grid-column:1; padding-inline:.5rem; } .chapter-stack-shell-right { grid-column:3; padding-inline:.5rem; }
    .chapter-rail .rail-home, .chapter-rail li { position:relative; inset:auto; min-height:3rem; margin:0; border:1px solid var(--rule); background:var(--bg); box-shadow:0 .375rem 1rem rgb(0 0 0/.08); pointer-events:auto; }
    .chapter-rail .rail-home { display:grid; place-items:center; padding:.625rem .25rem; } .chapter-rail .rail-home strong, .chapter-rail li strong { display:none; }
    .chapter-rail ol { display:flex; flex-direction:column; gap:0; padding:.375rem 0 0; }
    .chapter-rail li + li { margin-block-start:-.25rem; }
    .chapter-rail li a { min-height:3.25rem; grid-template-columns:1fr; place-items:center; padding:.625rem .25rem; }
  }
  @media (max-width:48rem) {
    :root { --book-width:min(calc(100% - 2rem),var(--frame)); }
    .topbar.is-floating .topbar-inner { width:calc(100% - 1rem); }
    .cover { min-height:0; grid-template-areas:"copy" "stage"; grid-template-columns:1fr; }
    .cover-copy { min-height:28rem; padding:2.25rem 1.25rem 2rem; border-inline-end:0; border-block-end:1px solid var(--rule); }
    .cover-stage { min-height:20rem; }
    .install-strip { grid-template-columns:auto 1fr; } .install-strip a { display:none; }
    .workflow-steps, .capabilities > div, .contents ol, .split-stage { grid-template-columns:1fr; }
    .temporal-stage ol, .migration-stage ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .chapter-header { grid-template-areas:"number" "title" "contract"; grid-template-columns:1fr; padding:2rem 1.25rem; }
    .prose-section { padding:2rem 1.25rem; }
    .operations-stage li { grid-template-columns:2rem 1fr; } .operations-stage li :where(em,b) { grid-column:2; }
    .book-footer { grid-template-columns:1fr 1fr; } .book-footer p { display:none; }
  }
  @media (min-width:112rem) { .menu-button { grid-template-columns:1fr auto; padding-inline:1rem; } .menu-label { position:static; width:auto; height:auto; overflow:visible; clip-path:none; white-space:normal; } .chapter-rail .rail-home, .chapter-rail li a { grid-template-columns:1.5rem minmax(0,1fr); place-items:center start; padding:.75rem; } .chapter-rail .rail-home strong, .chapter-rail li strong { display:block; overflow-wrap:anywhere; font-size:var(--micro); } }
  @media (pointer:coarse) { :where(a,button) { min-height:2.75rem; } }
  @media (prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto; animation-duration:.001ms; animation-iteration-count:1; transition-duration:.001ms; } }
  @media (forced-colors:active) { :where(a,button):focus-visible { outline-color:Highlight; } }
}

@layer print {
  .print-cover, .print-toc { display:none; }
  @media print {
    @page { size:A4; margin:15mm 14mm 17mm; }
    :root { --bg:#fff; --surface:#f5f5f5; --ink:#111; --muted:#555; --rule:#aaa; --terminal:#fff; --terminal-ink:#111; --micro:.625rem; --label:.75rem; --body:.875rem; --lead:1rem; }
    html, body { background:var(--bg); font-size:var(--body); }
    .site-frame { width:100%; } main { border:0; }
    .skip-link, .topbar, .chapter-dock, .book-footer, .reading-progress, .command-band button, .cover-actions { display:none; }
    .print-cover, .print-toc { display:block; } .print-cover { min-height:250mm; padding-block-start:20mm; break-after:page; }
    .print-cover > p, .print-cover dt { font-family:var(--font-machine); font-size:var(--micro); }
    .print-cover h1 { max-width:9ch; margin-block:24mm 8mm; font-family:var(--font-machine); font-size:3.5rem; line-height:.9; }
    .print-cover h2 { max-width:24ch; font-size:1.5rem; font-weight:500; }
    .print-cover .system-trace { margin-block-start:20mm; border:1px solid var(--rule); } .print-cover dl { display:grid; grid-template-columns:1fr 1fr; gap:8mm; margin-block-start:12mm; }
    .print-toc { break-after:page; } .print-toc h2 { margin-block:16mm 10mm; font-size:2.5rem; } .print-toc ol { list-style:none; border-block-start:1px solid var(--rule); }
    .print-toc li { border-block-end:1px solid var(--rule); } .print-toc a { display:grid; grid-template-columns:3rem 1fr; padding-block:1rem; text-decoration:none; }
    .print-chapter { break-before:page; } .chapter-header { grid-template-areas:"number title contract"; grid-template-columns:3rem 1.25fr .75fr; gap:1rem; padding:1.5rem 0; }
    .chapter h1 { font-size:2.5rem; } .chapter-summary { font-size:var(--body); }
    .visual-stage, .evidence, .command-band { break-inside:avoid; } .system-trace svg { min-height:0; }
    .prose-section { grid-template-areas:"index copy" ". evidence"; grid-template-columns:2rem 1fr; padding:1rem 0; content-visibility:visible; contain-intrinsic-size:none; }
    .section-copy h2 { font-size:1.25rem; } .decision-stage { overflow:visible; } .decision-stage table { min-width:0; font-size:var(--micro); } .scroll-hint { display:none; }
    .operations-stage { background:var(--bg); color:var(--ink); } .operations-stage li { grid-template-columns:2rem .6fr .7fr 1fr; } .operations-stage li :where(span,b) { color:var(--ink); }
    .command-band { background:var(--bg); color:var(--ink); border-block:1px solid var(--rule); } .command-band span, .command-band p { color:var(--ink); }
    :where(.reference-intro,.workflow,.capabilities,.contents) { content-visibility:visible; contain-intrinsic-size:none; }
    a { text-decoration:none; }
  }
}
