/* ========================================================================== */
/* SITE APPEARANCE — edit this section; the remainder of the file uses it.    */
/* ========================================================================== */

/*
  THEME SELECTION

  Exactly one of the theme blocks below should be uncommented. The first
  block is active by default. To try another scheme, comment out "Paper & Ink"
  and uncomment one of the other blocks. Rebuild the site, then hard-refresh.
*/

/* Theme: Paper & Ink */
/*
:root {
  --paper: #f4f0e6;
  --paper-light: #faf7ef;
  --ink: #151719;
  --graphite: #5e615f;
  --muted: #777870;
  --rule: #d4ccbd;
  --rule-dark: #a9a293;
  --blue: #246bfd;
  --blue-dark: #174fbf;
  --copper: #b56a3b;

  --article-text: #2b2d2c;
  --header-bg: rgba(244, 240, 230, .93);
  --soft-fill: rgba(255, 255, 255, .22);
  --control-fill: rgba(255, 255, 255, .25);
  --hover-fill: rgba(36, 107, 253, .06);
  --grid-line: rgba(94, 97, 95, .08);
  --hero-glow: rgba(255, 255, 255, .72);
  --accent-glow: rgba(181, 106, 59, .04);
  --tape-fill: rgba(244, 240, 230, .84);
  --tape-shadow: rgba(244, 240, 230, .56);
  --overlay: rgba(21, 23, 25, .46);
  --shadow: rgba(21, 23, 25, .24);

  --inverse-bg: #151719;
  --inverse-text: #faf7ef;
  --inverse-muted: #b8b7ae;
  --inverse-rule: #454747;

  --code-bg: #101418;
  --code-text: #e9ebe8;
  --code-rule: #3a3e40;
  --code-control-bg: #1d2123;
  --code-control-text: #b7bbb8;
  --code-control-rule: #4d5254;
  --code-scrollbar: #656a6d;
  --code-scrollbar-track: #181b1d;
  --syntax-keyword: #8fb6ff;
  --syntax-string: #d8b07a;
  --syntax-comment: #818a89;
  --syntax-number: #8fd1c9;

  --inline-code: #1f4067;
  --xref: #315a8d;
  --selection-text: #ffffff;
  --image-background: #ffffff;
  --texture-blend: multiply;
  --color-scheme: light;
}
*/

/* Theme: Midnight Blueprint (active) */
:root {
  --paper: #11161d;
  --paper-light: #19212b;
  --ink: #e8edf3;
  --graphite: #b7c0ca;
  --muted: #8793a0;
  --rule: #273443;
  --rule-dark: #3c4c5f;
  --blue: #72a7ff;
  --blue-dark: #9ac0ff;
  --copper: #e29a68;
  --article-text: #d4dbe3;
  --header-bg: rgba(17, 22, 29, .93);
  --soft-fill: rgba(255, 255, 255, .025);
  --control-fill: rgba(255, 255, 255, .035);
  --hover-fill: rgba(114, 167, 255, .09);
  --grid-line: rgba(154, 192, 255, .07);
  --hero-glow: rgba(114, 167, 255, .045);
  --accent-glow: rgba(226, 154, 104, .045);
  --tape-fill: rgba(25, 33, 43, .88);
  --tape-shadow: rgba(17, 22, 29, .66);
  --overlay: rgba(3, 7, 12, .68);
  --shadow: rgba(0, 0, 0, .42);
  --inverse-bg: #080c11;
  --inverse-text: #eef3f8;
  --inverse-muted: #a9b4bf;
  --inverse-rule: #344150;
  --code-bg: #080c11;
  --code-text: #e3eaf1;
  --code-rule: #334050;
  --code-control-bg: #141b23;
  --code-control-text: #b7c1cb;
  --code-control-rule: #465568;
  --code-scrollbar: #526274;
  --code-scrollbar-track: #10161d;
  --syntax-keyword: #91b8ff;
  --syntax-string: #e7b47f;
  --syntax-comment: #7f8d99;
  --syntax-number: #8fd8cf;
  --inline-code: #a8c8ff;
  --xref: #9fc1ef;
  --selection-text: #08101a;
  --image-background: #ffffff;
  --texture-blend: soft-light;
  --color-scheme: dark;
}

/* Theme: Terminal Green */
/*
:root {
  --paper: #0c120f;
  --paper-light: #121b16;
  --ink: #d9eadf;
  --graphite: #afc6b6;
  --muted: #7f9988;
  --rule: #213329;
  --rule-dark: #375443;
  --blue: #55d68b;
  --blue-dark: #82e5aa;
  --copper: #e0b35f;
  --article-text: #c9dacf;
  --header-bg: rgba(12, 18, 15, .94);
  --soft-fill: rgba(177, 255, 206, .025);
  --control-fill: rgba(177, 255, 206, .035);
  --hover-fill: rgba(85, 214, 139, .08);
  --grid-line: rgba(85, 214, 139, .065);
  --hero-glow: rgba(85, 214, 139, .035);
  --accent-glow: rgba(224, 179, 95, .04);
  --tape-fill: rgba(18, 27, 22, .9);
  --tape-shadow: rgba(12, 18, 15, .68);
  --overlay: rgba(2, 8, 5, .7);
  --shadow: rgba(0, 0, 0, .44);
  --inverse-bg: #070c09;
  --inverse-text: #e2f2e7;
  --inverse-muted: #9bb4a4;
  --inverse-rule: #30473a;
  --code-bg: #060b08;
  --code-text: #d7eadc;
  --code-rule: #2c4435;
  --code-control-bg: #101912;
  --code-control-text: #a9c1b1;
  --code-control-rule: #405d49;
  --code-scrollbar: #4a6a55;
  --code-scrollbar-track: #0d1510;
  --syntax-keyword: #71e29c;
  --syntax-string: #e2c477;
  --syntax-comment: #718879;
  --syntax-number: #7ed9cf;
  --inline-code: #8be8ae;
  --xref: #8bc7a2;
  --selection-text: #07100a;
  --image-background: #ffffff;
  --texture-blend: soft-light;
  --color-scheme: dark;
}
*/

/* Theme: Slate & Copper */
/*
:root {
  --paper: #242628;
  --paper-light: #2d3033;
  --ink: #f0ece4;
  --graphite: #cbc4b8;
  --muted: #9f9a91;
  --rule: #3b3e41;
  --rule-dark: #575b5e;
  --blue: #79a8d8;
  --blue-dark: #9bc0e4;
  --copper: #d58c5b;
  --article-text: #ddd8cf;
  --header-bg: rgba(36, 38, 40, .94);
  --soft-fill: rgba(255, 255, 255, .025);
  --control-fill: rgba(255, 255, 255, .035);
  --hover-fill: rgba(121, 168, 216, .08);
  --grid-line: rgba(255, 255, 255, .055);
  --hero-glow: rgba(255, 255, 255, .025);
  --accent-glow: rgba(213, 140, 91, .045);
  --tape-fill: rgba(45, 48, 51, .9);
  --tape-shadow: rgba(36, 38, 40, .68);
  --overlay: rgba(8, 9, 10, .68);
  --shadow: rgba(0, 0, 0, .42);
  --inverse-bg: #17191b;
  --inverse-text: #f1ede5;
  --inverse-muted: #bbb4a9;
  --inverse-rule: #4b4f52;
  --code-bg: #151719;
  --code-text: #ece8df;
  --code-rule: #45494c;
  --code-control-bg: #222527;
  --code-control-text: #c3bdb4;
  --code-control-rule: #555a5d;
  --code-scrollbar: #676c70;
  --code-scrollbar-track: #202224;
  --syntax-keyword: #9fc5ec;
  --syntax-string: #e4b27f;
  --syntax-comment: #8d9495;
  --syntax-number: #94d4cd;
  --inline-code: #acd0f2;
  --xref: #a4bed7;
  --selection-text: #151719;
  --image-background: #ffffff;
  --texture-blend: soft-light;
  --color-scheme: dark;
}
*/

/*
  FONT SELECTION

  These are ordinary system-font stacks, so no web-font download is required.
  Replace a stack or uncomment one of the presets below.
*/
:root {
  --serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

  /* Modern editorial preset: */
  /* --serif: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif; */
  /* --sans: Inter, Aptos, "Segoe UI", Helvetica, Arial, sans-serif; */

  /* Traditional book preset: */
  /* --serif: Baskerville, "Baskerville Old Face", "Hoefler Text", Georgia, serif; */
  /* --sans: Optima, Candara, "Segoe UI", sans-serif; */

  /* Technical preset: */
  /* --serif: Georgia, "Times New Roman", serif; */
  /* --sans: "IBM Plex Sans", "Segoe UI", Helvetica, Arial, sans-serif; */
  /* --mono: "IBM Plex Mono", "Cascadia Mono", "SFMono-Regular", Consolas, monospace; */
}

/* Layout variables normally do not need changing. */
:root {
  --header-height: 78px;
  --gutter: clamp(22px, 5vw, 76px);
  color-scheme: var(--color-scheme);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 28px); background: var(--paper); }
html.dialog-open { overflow: hidden; }
body {
  margin: 0;
  color: var(--ink);
  background: radial-gradient(circle at 16% 12%, var(--hero-glow), transparent 28%), radial-gradient(circle at 83% 31%, var(--accent-glow), transparent 24%), var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}
body::before {
  position: fixed; inset: 0; z-index: 100; pointer-events: none; content: ""; opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");
  mix-blend-mode: var(--texture-blend);
}
::selection { color: var(--selection-text); background: var(--blue); }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
button, input { font: inherit; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
[hidden] { display: none !important; }

.skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 10px 14px; color: var(--inverse-text); background: var(--inverse-bg); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

/* Header and search */
.site-header {
  position: sticky; top: 0; z-index: 80; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  height: var(--header-height); padding: 0 var(--gutter); border-bottom: 1px solid color-mix(in srgb, var(--graphite) 52%, transparent);
  background: var(--header-bg); backdrop-filter: blur(14px) saturate(.8);
}
.site-brand { display: inline-flex; align-items: center; justify-self: start; gap: 12px; font-size: 18px; font-weight: 650; letter-spacing: -.02em; text-decoration: none; }
.site-brand svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.desktop-nav { display: flex; gap: clamp(13px,1.55vw,27px); height: 100%; }
.desktop-nav a { position: relative; display: flex; align-items: center; color: var(--graphite); font-size: 13px; font-weight: 520; text-decoration: none; }
.desktop-nav a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; content: ""; background: var(--blue); transform: scaleX(0); transition: transform .16s ease; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-actions { display: flex; align-items: center; justify-self: end; }
.search-trigger { display: inline-flex; align-items: center; gap: 9px; min-height: 38px; padding: 0 9px 0 12px; color: var(--graphite); border: 1px solid var(--rule-dark); background: var(--control-fill); cursor: pointer; }
.search-trigger:hover { color: var(--ink); border-color: var(--ink); }
.search-trigger kbd { padding: 2px 5px; color: var(--muted); border: 1px solid var(--rule); font-family: var(--mono); font-size: 10px; }
.search-icon { color: var(--blue); font-size: 22px; line-height: 1; transform: rotate(-20deg); }
.menu-trigger, .mobile-nav { display: none; }

.search-backdrop { position: fixed; inset: 0; z-index: 200; display: grid; align-items: start; justify-items: center; padding: 11vh 20px 30px; background: var(--overlay); backdrop-filter: blur(6px); }
.search-dialog { width: min(720px,100%); max-height: 76vh; overflow: hidden; border: 1px solid var(--ink); background: var(--paper-light); box-shadow: 0 26px 80px var(--shadow); }
.search-field { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 18px 20px; border-bottom: 1px solid var(--rule); }
.search-field > span { color: var(--blue); font-size: 26px; line-height: 1; transform: rotate(-20deg); }
.search-field input { width: 100%; color: var(--ink); border: 0; outline: 0; background: transparent; font-size: 18px; }
.search-field button { padding: 4px 7px; color: var(--graphite); border: 1px solid var(--rule); background: transparent; font-family: var(--mono); font-size: 11px; cursor: pointer; }
.search-results { max-height: 62vh; overflow: auto; padding: 12px; }
.search-results-label { margin: 3px 8px 8px; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.search-result { display: grid; grid-template-columns: 132px 1fr; gap: 2px 18px; padding: 14px 12px; border-top: 1px solid var(--rule); text-decoration: none; }
.search-result:first-of-type { border-top: 0; }
.search-result:hover { background: var(--hover-fill); }
.search-result-part { grid-row: 1/span 2; color: var(--copper); font-family: var(--mono); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.search-result strong { font-family: var(--serif); font-size: 19px; line-height: 1.2; }
.search-result > span:last-child { overflow: hidden; color: var(--graphite); font-size: 12px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.search-empty { padding: 46px 20px; color: var(--muted); text-align: center; }

/* Shared */
.eyebrow, .section-index, .article-kicker { margin: 0; color: var(--copper); font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-width: 190px; min-height: 58px; padding: 13px 20px; border: 1px solid var(--ink); font-size: 14px; font-weight: 650; text-decoration: none; transition: .16s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--paper-light); background: var(--ink); }
.button-primary:hover { border-color: var(--blue); background: var(--blue); }
.button-secondary { background: transparent; }
.button-secondary:hover { color: var(--paper-light); background: var(--ink); }
.text-link { display: inline-flex; align-items: center; gap: 12px; font-weight: 650; text-decoration-color: var(--blue); }
.text-link span { color: var(--blue); transition: transform .16s ease; }
.text-link:hover span { transform: translateX(4px); }
.section-shell { padding: 110px var(--gutter); }
.section-heading-row { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(280px,.7fr); gap: 80px; align-items: end; margin: 22px 0 58px; }
.section-heading-row h2, .reading-map > h2 { margin: 0; font-family: var(--serif); font-size: clamp(43px,5vw,72px); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
.section-heading-row > p { max-width: 520px; margin: 0; color: var(--graphite); font-size: 17px; line-height: 1.7; }

/* Home */
.home-hero { position: relative; display: grid; grid-template-columns: minmax(480px,.95fr) minmax(500px,1.05fr); min-height: calc(100svh - var(--header-height)); overflow: hidden; border-bottom: 1px solid var(--rule-dark); }
.home-hero::before { position: absolute; inset: 0; pointer-events: none; content: ""; background-image: linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(90deg,transparent,black 40%); }
.home-hero-copy { position: relative; z-index: 2; align-self: center; padding: 70px 30px 70px var(--gutter); }
.home-hero h1 { margin: 23px 0 8px; font-family: var(--serif); font-size: clamp(82px,9vw,146px); font-weight: 500; letter-spacing: -.07em; line-height: .82; }
.home-hero h2 { margin: 0; font-family: var(--serif); font-size: clamp(41px,4.35vw,67px); font-weight: 500; letter-spacing: -.045em; line-height: 1.02; }
.hero-lead { max-width: 620px; margin: 26px 0 0; color: var(--graphite); font-size: clamp(17px,1.45vw,21px); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 38px; }
.hero-meta { margin: 32px 0 0; color: var(--muted); font-family: var(--mono); font-size: 12px; }
.hero-diagram { position: relative; align-self: stretch; min-height: 640px; overflow: hidden; }
.hero-diagram > svg { position: absolute; top: 50%; left: 50%; width: min(720px,110%); transform: translate(-50%,-50%); }
.diagram-grid path { fill: none; stroke: var(--rule-dark); stroke-width: .7; opacity: .26; }
.diagram-orbits { fill: none; stroke: var(--rule-dark); stroke-width: 1; opacity: .52; }
.diagram-orbits circle:first-child { stroke: var(--copper); stroke-dasharray: 4 5; }
.diagram-circuit { fill: none; stroke-width: 1.5; }
.diagram-circuit.copper { stroke: var(--copper); }
.diagram-circuit.blue { stroke: var(--blue); }
.diagram-circuit circle { fill: var(--paper); }
.diagram-registers { fill: var(--graphite); font-family: var(--mono); font-size: 12px; }
.tape-row { position: absolute; top: 50%; left: 50%; z-index: 3; display: flex; transform: translate(-50%,-50%); box-shadow: 0 0 0 12px var(--tape-shadow); }
.tape-row span { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid var(--rule-dark); border-left: 0; background: var(--tape-fill); font-family: var(--mono); font-size: 16px; }
.tape-row span:first-child { border-left: 1px solid var(--rule-dark); }
.tape-row .active { position: relative; color: var(--blue); border: 2px solid var(--blue); background: var(--paper-light); box-shadow: 0 0 24px color-mix(in srgb, var(--blue) 13%, transparent); }
.tape-row .active::before { position: absolute; top: -28px; content: "DP"; font-size: 9px; }
.metric-strip { display: grid; grid-template-columns: repeat(4,1fr); border-bottom: 1px solid var(--rule-dark); background: var(--inverse-bg); }
.metric-strip > div { display: flex; align-items: baseline; gap: 18px; min-height: 102px; padding: 24px clamp(22px,4vw,58px); color: var(--inverse-text); border-left: 1px solid var(--inverse-rule); }
.metric-strip > div:first-child { border-left: 0; }
.metric-strip strong { color: var(--inverse-text); font-family: var(--serif); font-size: 44px; font-weight: 500; }
.metric-strip span { color: var(--inverse-muted); font-family: var(--mono); font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.story-intro { border-bottom: 1px solid var(--rule); }
.pathway-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--rule-dark); }
.pathway-card { position: relative; min-height: 390px; padding: clamp(35px,5vw,72px); overflow: hidden; text-decoration: none; }
.pathway-card + .pathway-card { border-left: 1px solid var(--rule-dark); }
.pathway-card::after { position: absolute; right: -60px; bottom: -88px; width: 290px; height: 290px; content: ""; border: 1px solid currentColor; border-radius: 50%; opacity: .11; transition: transform .35s ease; }
.pathway-card:hover::after { transform: scale(1.15); }
.hardware-path { color: var(--inverse-text); background: var(--inverse-bg); }
.software-path { background: var(--paper-light); }
.pathway-label { font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.hardware-path .pathway-label { color: var(--inverse-muted); }
.software-path .pathway-label { color: var(--copper); }
.pathway-card h3 { max-width: 520px; margin: 75px 0 18px; font-family: var(--serif); font-size: clamp(38px,4vw,58px); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.pathway-card p { max-width: 530px; margin: 0 0 48px; opacity: .73; }
.hardware-path .text-link { color: var(--inverse-text); }
.acus-feature { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 590px; color: var(--inverse-text); background: var(--inverse-bg); }
.acus-feature-code { display: grid; grid-template-columns: repeat(5,auto); align-content: center; justify-content: center; gap: 12px; padding: 70px; border-right: 1px solid var(--inverse-rule); background: linear-gradient(var(--control-fill) 1px,transparent 1px),linear-gradient(90deg,var(--control-fill) 1px,transparent 1px); background-size: 38px 38px; }
.acus-feature-code span { display: grid; min-width: 96px; min-height: 68px; padding: 10px; place-items: center; border: 1px solid var(--rule-dark); font-family: var(--mono); font-size: 11px; }
.acus-feature-code b { align-self: center; color: var(--blue); font-weight: 400; }
.acus-feature-copy { align-self: center; padding: 80px var(--gutter); }
.acus-feature-copy h2 { max-width: 680px; margin: 18px 0 24px; font-family: var(--serif); font-size: clamp(46px,5vw,72px); font-weight: 500; letter-spacing: -.045em; line-height: .98; }
.acus-feature-copy > p:not(.section-index) { max-width: 600px; color: var(--inverse-muted); font-size: 17px; }
.acus-feature-copy .text-link { margin-top: 22px; color: var(--inverse-text); }
.reading-map { border-bottom: 1px solid var(--rule-dark); }
.reading-map > h2,.reading-map-heading h2 { margin: 19px 0 56px; }
.reading-map-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 32px; }
.reading-map-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--rule-dark); border-bottom: 1px solid var(--rule-dark); }
.reading-map-grid > div { min-height: 220px; padding: 28px 26px; border-left: 1px solid var(--rule-dark); }
.reading-map-grid > div:first-child { border-left: 0; }
.reading-map-grid > div > span { color: var(--copper); font-family: var(--mono); font-size: 10px; }
.reading-map-grid h3 { margin: 40px 0 3px; font-family: var(--serif); font-size: 26px; font-weight: 500; line-height: 1.08; }
.reading-map-grid p { margin: 0 0 25px; color: var(--muted); font-size: 13px; }
.reading-map-grid a { color: var(--blue-dark); font-size: 13px; font-weight: 650; }

/* Landing pages */
.landing-hero { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(320px,.8fr); min-height: 650px; overflow: hidden; border-bottom: 1px solid var(--rule-dark); }
.landing-hero > div:first-child { align-self: center; padding: 90px var(--gutter); }
.landing-hero h1 { max-width: 950px; margin: 20px 0 28px; font-family: var(--serif); font-size: clamp(58px,7.2vw,108px); font-weight: 500; letter-spacing: -.058em; line-height: .94; }
.landing-lead { max-width: 780px; margin: 0; color: var(--graphite); font-size: clamp(18px,1.7vw,23px); line-height: 1.6; }
.landing-actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 38px; }
.landing-accent { position: relative; display: grid; min-height: 100%; place-items: center; border-left: 1px solid var(--rule-dark); background: linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px); background-size: 40px 40px; }
.landing-accent::before,.landing-accent::after { position: absolute; content: ""; border: 1px solid var(--copper); border-radius: 50%; opacity: .45; }
.landing-accent::before { width: 300px; height: 300px; }
.landing-accent::after { width: 410px; height: 410px; border-color: var(--rule-dark); }
.landing-accent span { position: relative; z-index: 2; max-width: 430px; padding: 20px; color: var(--blue-dark); font-family: var(--mono); font-size: clamp(13px,1.4vw,19px); line-height: 2.2; text-align: center; }
.chapter-section { border-bottom: 1px solid var(--rule-dark); }
.part-contents-intro { max-width: 520px; }
.part-contents-intro p { margin: 0 0 18px; color: var(--graphite); font-size: 17px; line-height: 1.7; }
.chapter-grid { border-top: 1px solid var(--rule-dark); }
.chapter-card { display: grid; grid-template-columns: 72px 1fr; gap: 28px; padding: 32px 0; border-bottom: 1px solid var(--rule-dark); text-decoration: none; }
.chapter-card:hover h3 { color: var(--blue-dark); }
.chapter-card-number { padding-top: 3px; color: var(--copper); font-family: var(--mono); font-size: 12px; }
.chapter-card > div { display: grid; grid-template-columns: minmax(230px,.65fr) minmax(300px,1fr) 150px; gap: 40px; align-items: start; }
.chapter-card h3 { margin: 0; font-family: var(--serif); font-size: 31px; font-weight: 500; letter-spacing: -.025em; line-height: 1.12; transition: color .16s ease; }
.chapter-card p { margin: 0; color: var(--graphite); font-size: 13px; line-height: 1.6; }
.chapter-card-meta { justify-self: end; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .03em; text-transform: uppercase; }
.compiler-model { padding: 80px var(--gutter); color: var(--inverse-text); background: var(--inverse-bg); }
.compiler-model-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 28px; border: 1px solid var(--inverse-rule); }
.compiler-model-grid > div { min-height: 220px; padding: 30px; border-left: 1px solid var(--inverse-rule); }
.compiler-model-grid > div:first-child { border-left: 0; }
.compiler-model-grid span { color: var(--blue); font-family: var(--mono); font-size: 11px; }
.compiler-model-grid h2 { margin: 45px 0 8px; font-family: var(--serif); font-size: 30px; font-weight: 500; }
.compiler-model-grid p { margin: 0; color: var(--inverse-muted); font-size: 13px; }

/* Chapters */
.reading-progress { position: fixed; top: var(--header-height); right: 0; left: 0; z-index: 78; height: 2px; pointer-events: none; }
.reading-progress span { display: block; width: 100%; height: 100%; background: var(--blue); transform: scaleX(0); transform-origin: left; }
.article-page { padding: 0 var(--gutter) 100px; }
.article-layout { display: grid; grid-template-columns: 220px minmax(0,780px) minmax(170px,220px); gap: clamp(34px,4vw,76px); justify-content: center; }
.standalone-article .article-layout { grid-template-columns: minmax(0,780px) minmax(170px,220px); }
.article-sidebar,.article-toc { position: sticky; top: calc(var(--header-height) + 42px); align-self: start; max-height: calc(100vh - var(--header-height) - 70px); overflow: auto; scrollbar-width: thin; }
.article-sidebar { padding-top: 68px; }
.sidebar-part { display: block; margin-bottom: 21px; color: var(--copper); font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.article-sidebar nav { border-top: 1px solid var(--rule-dark); }
.article-sidebar nav a { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 11px 4px; color: var(--graphite); border-bottom: 1px solid var(--rule); font-size: 12px; line-height: 1.3; text-decoration: none; }
.article-sidebar nav a span { color: var(--muted); font-family: var(--mono); font-size: 9px; }
.article-sidebar nav a:hover,.article-sidebar nav a[aria-current="page"] { color: var(--ink); }
.article-sidebar nav a[aria-current="page"] { padding-left: 10px; box-shadow: inset 2px 0 var(--blue); }
.report-article { min-width: 0; }
.article-header { padding: 86px 0 64px; border-bottom: 1px solid var(--rule-dark); }
.breadcrumbs { display: flex; gap: 9px; align-items: center; margin-bottom: 48px; color: var(--muted); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.breadcrumbs a { color: var(--blue-dark); }
.article-header h1 { max-width: 820px; margin: 18px 0 24px; font-family: var(--serif); font-size: clamp(54px,6.5vw,88px); font-weight: 500; letter-spacing: -.055em; line-height: .94; }
.article-description { max-width: 720px; margin: 0; color: var(--graphite); font-family: var(--serif); font-size: 21px; line-height: 1.5; }
.article-meta { display: flex; gap: 20px; margin-top: 28px; color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.article-meta span + span::before { margin-right: 20px; content: "·"; }
.page-jump { display: inline-flex; gap: 10px; align-items: center; width: fit-content; color: var(--blue-dark); font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.page-jump span { font-size: 14px; line-height: 1; }
.page-jump:hover span { transform: translateY(3px); }
.page-jump-down { margin-top: 26px; }
.page-navigation { scroll-margin-top: calc(var(--header-height) + 30px); }
.page-jump-up { margin-left: auto; }
.page-jump-up:hover span { transform: translateY(-3px); }
.article-toc { padding-top: 68px; }
.article-toc > p { margin: 0 0 16px; font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.article-toc nav { display: flex; flex-direction: column; gap: 9px; padding-left: 13px; border-left: 1px solid var(--rule-dark); }
.article-toc a { color: var(--muted); font-size: 11px; line-height: 1.35; text-decoration: none; }
.article-toc a:hover,.article-toc a.current { color: var(--blue-dark); }
.article-toc .toc-subsection { padding-left: 10px; }
.mobile-article-toc { display: none; margin-top: 28px; border: 1px solid var(--rule-dark); background: var(--soft-fill); }
.mobile-article-toc summary { position: relative; padding: 17px 48px 17px 18px; color: var(--ink); font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .09em; list-style: none; cursor: pointer; text-transform: uppercase; }
.mobile-article-toc summary::-webkit-details-marker { display: none; }
.mobile-article-toc summary::after { position: absolute; top: 50%; right: 18px; color: var(--blue-dark); content: "+"; font-size: 18px; font-weight: 400; line-height: 1; transform: translateY(-50%); }
.mobile-article-toc[open] summary::after { content: "−"; }
.mobile-article-toc nav { display: flex; flex-direction: column; padding: 3px 18px 15px; border-top: 1px solid var(--rule-dark); }
.mobile-article-toc a { padding: 10px 0; color: var(--muted); border-bottom: 1px solid var(--rule); font-size: 13px; line-height: 1.35; text-decoration: none; }
.mobile-article-toc a:last-child { border-bottom: 0; }
.mobile-article-toc a:hover,.mobile-article-toc a.current { color: var(--blue-dark); }
.mobile-article-toc .toc-subsection { padding-left: 14px; }
.mobile-outline-group { display: contents; }
.mobile-part-toc nav a { display: grid; grid-template-columns: 30px 1fr; gap: 8px; }
.mobile-part-toc nav a span { color: var(--copper); font-family: var(--mono); font-size: 10px; }
.mobile-part-toc nav a[aria-current="page"] { color: var(--blue-dark); font-weight: 650; }

/* Complete contents */
.contents-page { padding-bottom: 110px; }
.contents-hero { padding: 105px var(--gutter) 88px; border-bottom: 1px solid var(--rule-dark); background: linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px); background-size: 54px 54px; }
.contents-hero h1, .contents-hero h2 { margin: 18px 0 24px; font-family: var(--serif); font-size: clamp(72px,10vw,142px); font-weight: 500; letter-spacing: -.065em; line-height: .86; }
.contents-hero > p:last-child { max-width: 760px; margin: 0; color: var(--graphite); font-size: clamp(18px,1.7vw,23px); line-height: 1.6; }
.about-intro { padding: 105px var(--gutter) 88px; border-bottom: 1px solid var(--rule-dark); }
.about-intro h1 { margin: 18px 0 24px; font-family: var(--serif); font-size: clamp(72px,10vw,142px); font-weight: 500; letter-spacing: -.065em; line-height: .86; }
.about-intro > p:last-child { max-width: 760px; margin: 0; color: var(--graphite); font-size: clamp(18px,1.7vw,23px); line-height: 1.6; }
.about-document { width: min(820px,calc(100% - 2 * var(--gutter))); margin: 0 auto; padding: 30px 0 120px; }
.about-section { padding: 72px 0; border-bottom: 1px solid var(--rule); }
.about-section:last-child { border-bottom: 0; }
.about-section h2 { margin: 14px 0 28px; font-family: var(--serif); font-size: clamp(38px,5vw,64px); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.about-section > p,.about-source-content { color: var(--graphite); font-size: 17px; line-height: 1.8; }
.about-source-content > :first-child { margin-top: 0; }
.about-source-content > :last-child { margin-bottom: 0; }
.about-source-content h1,.about-source-content h2 { display: none; }
.about-source-content figure { margin: 42px 0 0; }
.about-source-content img { max-width: 100%; height: auto; }
.about-contact .button { margin: 10px 0 24px; }
.about-contact a:not(.button) { text-decoration: underline; text-decoration-color: var(--rule-dark); text-underline-offset: 3px; }

.about-copy { max-width: 720px; }
.about-copy h2,.contact-card h2 { margin: 14px 0 24px; font-family: var(--serif); font-size: clamp(34px,4vw,56px); font-weight: 500; letter-spacing: -.035em; line-height: 1; }
.about-copy > p:last-of-type,.contact-card > p { color: var(--graphite); font-size: 17px; line-height: 1.75; }
.contact-card { align-self: start; padding: 34px; border: 1px solid var(--rule-dark); background: var(--paper-light); }
.contact-card .button { margin: 10px 0 32px; }
.contact-card dl { margin: 0; border-top: 1px solid var(--rule); }
.contact-card dl div { display: grid; grid-template-columns: 100px 1fr; gap: 18px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
.contact-card dt { color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-card dd { margin: 0; overflow-wrap: anywhere; }
.contact-card dd a { text-decoration: underline; text-decoration-color: var(--rule-dark); text-underline-offset: 3px; }
.contents-body { padding: 0 var(--gutter); }
.contents-part { display: grid; grid-template-columns: minmax(190px,.32fr) minmax(0,1fr); gap: clamp(40px,7vw,110px); padding: 82px 0; border-bottom: 1px solid var(--rule-dark); }
.contents-part > header { position: sticky; top: calc(var(--header-height) + 35px); align-self: start; }
.contents-part h2 { margin: 15px 0 0; font-family: var(--serif); font-size: clamp(32px,3.6vw,54px); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.contents-entries { border-top: 1px solid var(--rule-dark); }
.contents-entry { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 20px; padding: 27px 0; border-bottom: 1px solid var(--rule); }
.contents-entry > span,.contents-entry small { color: var(--copper); font-family: var(--mono); font-size: 10px; letter-spacing: .05em; text-transform: uppercase; }
.contents-entry h3 { margin: 0; font-family: var(--serif); font-size: clamp(25px,2.5vw,36px); font-weight: 500; letter-spacing: -.025em; line-height: 1.12; }
.contents-entry h3 a { text-decoration: none; }
.contents-entry h3 a:hover { color: var(--blue-dark); }
.contents-entry p { max-width: 760px; margin: 10px 0 12px; color: var(--graphite); font-size: 13px; line-height: 1.6; }
.contents-sections { margin-top: 16px; }
.contents-sections summary { width: fit-content; color: var(--blue-dark); font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .07em; cursor: pointer; text-transform: uppercase; }
.contents-sections nav { display: flex; flex-wrap: wrap; gap: 7px 18px; margin-top: 13px; padding-left: 14px; border-left: 1px solid var(--rule-dark); }
.contents-sections nav a { color: var(--muted); font-size: 12px; text-decoration: none; }
.contents-sections nav a:hover { color: var(--blue-dark); }

.article-content { padding: 52px 0 36px; color: var(--article-text); font-family: var(--serif); font-size: 18px; line-height: 1.78; }
.article-content > *:first-child { margin-top: 0; }
.legacy-anchor { display: block; width: 0; height: 0; scroll-margin-top: calc(var(--header-height) + 30px); }
.article-content p { margin: 1.2em 0; }
.article-content h2,.article-content h3,.article-content h4,.article-content h5 { color: var(--ink); scroll-margin-top: calc(var(--header-height) + 30px); }
.article-content h2 { margin: 2.2em 0 .7em; padding-top: .7em; border-top: 1px solid var(--rule-dark); font-size: 43px; font-weight: 500; letter-spacing: -.035em; line-height: 1.06; }
.article-content h3 { margin: 2em 0 .65em; font-size: 29px; font-weight: 600; letter-spacing: -.025em; line-height: 1.15; }
.article-content h4,.article-content h5 { margin: 2em 0 .45em; font-family: var(--sans); font-size: 16px; font-weight: 700; }
.article-content h5 { color: var(--copper); font-family: var(--mono); font-size: 12px; letter-spacing: .09em; text-transform: uppercase; }
.article-content a { color: var(--blue-dark); text-decoration-color: color-mix(in srgb, var(--blue) 45%, transparent); overflow-wrap: anywhere; }
.article-content .citation { font-family: var(--mono); font-size: .72em; font-weight: 600; text-decoration: none; vertical-align: .15em; }
.article-content .xref { color: var(--xref); font-style: italic; }
.article-content strong { color: var(--ink); }
.article-content code { padding: .08em .27em; color: var(--inline-code); border: 1px solid color-mix(in srgb, var(--blue) 16%, transparent); background: color-mix(in srgb, var(--blue) 5.5%, transparent); font-family: var(--mono); font-size: .84em; }
.article-content pre code { padding: 0; color: inherit; border: 0; background: transparent; font-size: inherit; }
.article-content blockquote { margin: 2em 0; padding: 2px 0 2px 26px; color: var(--graphite); border-left: 2px solid var(--copper); font-style: italic; }
.article-content ul,.article-content ol { margin: 1.4em 0; padding-left: 1.5em; }
.article-content li { padding-left: .25em; margin: .42em 0; }
.article-content li::marker { color: var(--copper); font-family: var(--mono); font-size: .85em; }
.code-frame { position: relative; width: calc(100% + 30px); margin: 2.1em 0 2.1em -15px; }
.article-content pre { max-width: 100%; margin: 0; overflow: auto; padding: 25px 24px; color: var(--code-text); border: 1px solid var(--code-rule); background: var(--code-bg); font-family: var(--mono); font-size: 12.5px; line-height: 1.65; tab-size: 2; scrollbar-color: var(--code-scrollbar) var(--code-scrollbar-track); }
.article-content pre a { color: inherit; text-decoration: none; }
.copy-code { position: absolute; top: 9px; right: 9px; z-index: 2; padding: 5px 8px; color: var(--code-control-text); border: 1px solid var(--code-control-rule); background: var(--code-control-bg); font-family: var(--mono); font-size: 9px; cursor: pointer; }
.sourceCode .kw,.sourceCode .cf,.sourceCode .dt { color: var(--syntax-keyword); }
.sourceCode .st,.sourceCode .vs,.sourceCode .ss,.sourceCode .ch { color: var(--syntax-string); }
.sourceCode .co { color: var(--syntax-comment); font-style: italic; }
.sourceCode .dv,.sourceCode .bn,.sourceCode .fl { color: var(--syntax-number); }
.sourceCode .fu { color: var(--blue-dark); }
.sourceCode .op { color: var(--copper); }
.sourceCode .pp,.sourceCode .im { color: var(--syntax-keyword); }
.sourceCode .sc { color: var(--syntax-number); }
.sourceCode .bu { color: var(--blue-dark); }
.sourceCode .va { color: var(--code-text); }
.sourceCode a[id^="cb"] { color: inherit; }
.sourceCode pre { white-space: pre; }
.article-content figure { margin: 3em 0; text-align: center; }
.article-content figure figure { margin: 1.5em 0; }
.article-content img { display: block; width: auto; max-width: 100%; height: auto !important; margin: 0 auto; padding: clamp(12px,2vw,24px); box-sizing: border-box; border: 1px solid var(--rule); background: var(--image-background); }
.article-content figcaption,.article-content table caption { margin: 12px auto 0; color: var(--muted); font-family: var(--sans); font-size: 11px; line-height: 1.5; text-align: left; }
.caption-label { color: var(--copper); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; }
.article-content .code-listing { margin: 2.5em 0; text-align: left; }
.article-content .code-listing > .sourceCode,.article-content .code-listing > pre { margin-bottom: 0; }
.article-content .code-listing figcaption { margin-top: 12px; }
.missing-figure { display: grid; min-height: 290px; place-items: center; align-content: center; gap: 9px; padding: 30px; color: var(--muted); border: 1px solid var(--rule-dark); background: linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),var(--control-fill); background-size: 28px 28px; font-family: var(--mono); font-size: 11px; text-transform: uppercase; }
.missing-figure-mark { color: var(--copper); font-size: 22px; letter-spacing: .1em; }
.missing-schematic { display: inline-flex; align-items: center; min-height: 48px; padding: 8px 14px; border: 1px solid var(--rule-dark); }
.article-content table { width: 100%; margin: 2.3em 0; border-collapse: collapse; font-family: var(--sans); font-size: 12px; line-height: 1.45; }
.article-content thead { color: var(--inverse-text); background: var(--inverse-bg); }
.article-content th,.article-content td { padding: 10px 9px; border: 1px solid var(--rule-dark); text-align: left; vertical-align: top; }
.article-content tbody tr:nth-child(even) { background: var(--soft-fill); }
.article-content math[display="block"] { display: block; max-width: 100%; margin: 1.7em auto; overflow-x: auto; padding: 14px; text-align: center; }
.article-content .footnotes { margin-top: 64px; color: var(--graphite); font-family: var(--sans); font-size: 12px; }
.article-content .footnotes hr { margin-bottom: 24px; border: 0; border-top: 1px solid var(--rule-dark); }
.article-content .footnote-ref { font-family: var(--mono); font-size: .75em; text-decoration: none; }
.article-pagination { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 62px; padding-top: 25px; border-top: 1px solid var(--rule-dark); }
.article-pagination a { display: flex; flex-direction: column; gap: 8px; min-height: 112px; padding: 20px; border: 1px solid var(--rule-dark); text-decoration: none; }
.article-pagination a:hover { border-color: var(--blue); }
.article-pagination a > span { color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.article-pagination strong { font-family: var(--serif); font-size: 20px; font-weight: 500; line-height: 1.2; }
.pagination-next { align-items: flex-end; text-align: right; }

/* Footer */
.site-footer { display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; padding: 60px var(--gutter); color: var(--inverse-text); background: var(--inverse-bg); }
.site-footer > div { display: flex; align-items: center; gap: 22px; }
.footer-mark { color: var(--blue); font-family: var(--mono); font-size: 22px; }
.site-footer p { margin: 0; color: var(--inverse-muted); font-size: 12px; line-height: 1.5; }
.site-footer strong { color: var(--inverse-text); font-family: var(--serif); font-size: 21px; font-weight: 500; }
.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 22px; }
.site-footer nav a { color: var(--inverse-muted); font-size: 11px; }
.site-footer .footer-note { grid-column: 1/-1; padding-top: 28px; border-top: 1px solid var(--inverse-rule); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

@media (max-width: 1240px) {
  .site-header { grid-template-columns: auto 1fr auto; gap: 22px; }.site-brand span { display: none; }.desktop-nav { justify-content: center; gap: 16px; margin-right: 0; }
  .article-layout { grid-template-columns: 190px minmax(0,760px); }.article-toc { display: none; }.mobile-article-toc { display: block; }
  .home-hero { grid-template-columns: minmax(450px,1fr) minmax(380px,.85fr); }.tape-row span { width: 48px; height: 48px; }
  .chapter-card > div { grid-template-columns: minmax(220px,.7fr) 1fr; }.chapter-card-meta { display: none; }
  .acus-feature-code { grid-template-columns: repeat(3,auto); }
}
@media (max-width: 980px) {
  :root { --header-height: 68px; }.site-header { grid-template-columns: 1fr auto; }.desktop-nav { display: none; }
  .search-trigger { border: 0; }.search-trigger > span:not(.search-icon),.search-trigger kbd { display: none; }
  .menu-trigger { display: flex; flex-direction: column; gap: 6px; margin-left: 5px; padding: 11px; border: 0; background: transparent; cursor: pointer; }
  .menu-trigger span { display: block; width: 22px; height: 1px; background: var(--ink); }
  .mobile-nav { position: absolute; top: 100%; right: 0; left: 0; padding: 12px var(--gutter) 24px; border-bottom: 1px solid var(--ink); background: var(--paper-light); box-shadow: 0 20px 35px var(--shadow); }
  .mobile-nav.open { display: grid; }.mobile-nav a,.mobile-nav button { padding: 13px 0; border: 0; border-bottom: 1px solid var(--rule); background: transparent; font-family: var(--serif); font-size: 21px; text-align: left; text-decoration: none; }
  .home-hero { grid-template-columns: 1fr; min-height: auto; }.home-hero-copy { padding-top: 90px; padding-bottom: 45px; }.hero-diagram { min-height: 490px; }.hero-diagram > svg { width: min(720px,95%); }
  .metric-strip { grid-template-columns: 1fr 1fr; }.metric-strip > div:nth-child(3) { border-top: 1px solid var(--inverse-rule); border-left: 0; }.metric-strip > div:nth-child(4) { border-top: 1px solid var(--inverse-rule); }
  .section-heading-row { grid-template-columns: 1fr; gap: 28px; align-items: start; }.acus-feature { grid-template-columns: 1fr; }.acus-feature-code { min-height: 360px; border-right: 0; border-bottom: 1px solid var(--inverse-rule); }
  .reading-map-heading { align-items: flex-start; flex-direction: column; margin-bottom: 38px; }.reading-map-heading h2 { margin-bottom: 0; }
  .reading-map-grid { grid-template-columns: 1fr 1fr; }.reading-map-grid > div:nth-child(3) { border-top: 1px solid var(--rule-dark); border-left: 0; }.reading-map-grid > div:nth-child(4) { border-top: 1px solid var(--rule-dark); }
  .landing-hero { grid-template-columns: 1fr; }.landing-accent { min-height: 350px; border-top: 1px solid var(--rule-dark); border-left: 0; }
  .article-layout { grid-template-columns: 1fr; }.article-sidebar { display: none; }.article-header { padding-top: 70px; }
  .mobile-outline-group { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.mobile-outline-group .mobile-article-toc { margin-top: 28px; }
  .contents-part { grid-template-columns: 1fr; gap: 28px; }.contents-part > header { position: static; }.contents-part h2 { max-width: 620px; }
  .about-document { width: min(820px,calc(100% - 2 * var(--gutter))); }
  .standalone-article .article-layout { grid-template-columns: minmax(0,780px); }.standalone-article .article-toc { display: none; }
  .compiler-model-grid { grid-template-columns: 1fr; }.compiler-model-grid > div { min-height: 160px; border-top: 1px solid var(--inverse-rule); border-left: 0; }.compiler-model-grid > div:first-child { border-top: 0; }
}
@media (max-width: 700px) {
  .section-shell { padding-top: 78px; padding-bottom: 78px; }.home-hero-copy { padding-right: var(--gutter); }.home-hero h1 { font-size: clamp(65px,20vw,95px); }.home-hero h2 { font-size: clamp(35px,11vw,51px); }
  .hero-actions,.landing-actions { display: grid; }.button { width: 100%; }.hero-diagram { min-height: 360px; }.tape-row span { width: 36px; height: 40px; font-size: 12px; }.tape-row span:nth-child(-n+2),.tape-row span:nth-last-child(-n+2) { display: none; }
  .metric-strip { grid-template-columns: 1fr; }.metric-strip > div { min-height: 80px; border-top: 1px solid var(--inverse-rule); border-left: 0; }.metric-strip > div:first-child { border-top: 0; }
  .pathway-grid { grid-template-columns: 1fr; }.pathway-card { min-height: 330px; }.pathway-card + .pathway-card { border-top: 1px solid var(--rule-dark); border-left: 0; }.pathway-card h3 { margin-top: 48px; }
  .acus-feature-code { grid-template-columns: 1fr auto 1fr; padding: 38px 20px; }.acus-feature-code span { min-width: 80px; }.reading-map-grid { grid-template-columns: 1fr; }.reading-map-grid > div { min-height: 165px; border-top: 1px solid var(--rule-dark); border-left: 0; }.reading-map-grid > div:first-child { border-top: 0; }
  .landing-hero > div:first-child { padding-top: 70px; padding-bottom: 70px; }.landing-hero h1 { font-size: clamp(50px,15vw,76px); }.landing-accent { min-height: 280px; }.landing-accent::before { width: 210px; height: 210px; }.landing-accent::after { width: 280px; height: 280px; }
  .chapter-card { grid-template-columns: 38px 1fr; gap: 10px; }.chapter-card > div { grid-template-columns: 1fr; gap: 12px; }.article-header h1 { font-size: clamp(48px,15vw,70px); }.article-description { font-size: 18px; }.article-content { font-size: 17px; }.article-content h2 { font-size: 35px; }.article-content h3 { font-size: 26px; }
  .mobile-outline-group { grid-template-columns: 1fr; gap: 0; }.mobile-outline-group .mobile-article-toc + .mobile-article-toc { margin-top: 12px; }
  .contents-hero { padding-top: 70px; }.contents-part { padding: 60px 0; }.contents-entry { grid-template-columns: 36px minmax(0,1fr); gap: 8px; }.contents-entry p { font-size: 12px; }.contents-sections nav { flex-direction: column; }
  .about-intro { padding-top: 70px; }.about-document { padding-bottom: 78px; }.about-section { padding: 54px 0; }
  .code-frame { width: 100%; margin-left: 0; }.article-content pre { padding: 22px 16px; font-size: 11px; }.article-content table { display: block; max-width: 100%; overflow-x: auto; }.article-pagination { grid-template-columns: 1fr; }.article-pagination > span { display: none; }.page-jump { min-height: 44px; }.page-jump-down { margin-top: 20px; }
  .site-footer { grid-template-columns: 1fr; }.site-footer nav { justify-content: flex-start; }.search-backdrop { padding-top: 4vh; }.search-result { grid-template-columns: 1fr; }.search-result-part { grid-row: auto; }
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }.page-jump span { transition: transform .18s ease; }
  .diagram-circuit.blue path { stroke-dasharray: 420; animation: trace 9s ease-in-out infinite; }.tape-row .active { animation: pulse 4s ease-in-out infinite; }
  @keyframes trace { 0%,15% { stroke-dashoffset: 420; opacity: .3; } 50%,100% { stroke-dashoffset: 0; opacity: 1; } }
  @keyframes pulse { 0%,100% { box-shadow: 0 0 14px color-mix(in srgb, var(--blue) 8%, transparent); } 50% { box-shadow: 0 0 32px color-mix(in srgb, var(--blue) 28%, transparent); } }
}
@media print {
  .site-header,.site-footer,.article-sidebar,.article-toc,.mobile-article-toc,.article-pagination,.page-jump,.reading-progress,.copy-code { display: none !important; }
  body { background: white; } body::before { display: none; }.article-page { padding: 0; }.article-layout { display: block; }.article-content { font-size: 11pt; }
}
