/* An editorial companion to the survey. Branch and verdict colors follow the
   paper; warm neutral surfaces and an ink-blue accent organize the page. */
:root {
  --bg: #faf9f5;
  --bg-2: #f1f0eb;
  --surface: #fff;
  --ink: #202a36;
  --ink-2: #354251;
  --muted: #626a73;
  --line: #dcdedb;
  --brand: #274963;
  --brand-deep: #203b51;
  --brand-soft: #e9eef1;
  --int: #326b98; --int-soft: #edf3f8;
  --exe: #9a5524; --exe-soft: #faf0e7;
  --eva: #4e7143; --eva-soft: #edf3e9;
  --thy: #78578e; --thy-soft: #f3eff6;
  --sel: #326b98; --act: #287875; --att: #78578e; --imp: #976215;
  --full: #3a8178; --part: #e4c58d; --none: #e0e4e7;
  --joint-0: #e0e4e7; --joint-1: #bbcbd4; --joint-2: #829eaf; --joint-3: #4b6f85; --joint-4: #274963;
  --radius: 6px;
  --maxw: 1280px;
  --font-body: "Manrope", "Helvetica Neue", sans-serif;
  --font-title: "Newsreader", Georgia, serif;
  --font-mono: "JetBrains Mono", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: var(--brand); text-decoration: none; text-underline-offset: 4px; }
a:hover { text-decoration: underline; }
button, input { font: inherit; }
button, a, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--brand); outline-offset: 5px; }
button { cursor: pointer; }
img { max-width: 100%; height: auto; display: block; }
p, h1, h2, h3, h4 { text-wrap: pretty; }
h3, h4 { line-height: 1.35; }
.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 40px; }
code { font-family: var(--font-mono); font-size: .88em; padding: 1px 5px; background: var(--bg-2); border-radius: 3px; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 300; transform: translateY(-160%); background: var(--ink); color: var(--surface); padding: 10px 16px; }
.skip-link:focus { transform: none; }

/* Masthead and a single reading sequence for the cover. */
.top { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--line); background: var(--bg); }
.nav-in { max-width: var(--maxw); margin: auto; padding: 15px 40px; display: flex; align-items: center; gap: 24px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--ink); font-size: 16px; font-weight: 800; letter-spacing: -.025em; line-height: 1.4; }
.brand:hover { text-decoration: none; }
.brand-mark { width: 42px; height: 42px; flex-shrink: 0; }
.brand-note { display: block; color: var(--muted); font-size: 10px; font-weight: 500; letter-spacing: .11em; text-transform: uppercase; }
.nav-tools { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.nav-tools a { font-size: 13px; font-weight: 600; color: var(--ink-2); padding: 7px 0; }
.nav-tools a span { margin-left: 4px; color: var(--muted); }
.nav-toggle { display: none; }
.progress { position: absolute; bottom: -1px; left: 0; height: 2px; width: 0; background: var(--brand); }
.hero { padding: 54px 0 12px; }
.hero-inner { max-width: 1080px; }
.eyebrow, .contents-label { font-size: 10px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow { color: var(--muted); margin: 0 0 22px; }
.eyebrow span { margin: 0 9px; color: var(--line); }
h1.title { font-family: var(--font-title); font-size: clamp(48px, 5.7vw, 78px); font-weight: 400; line-height: 1.1; letter-spacing: -.045em; margin: 0 0 12px; }
h1.title em { color: var(--brand); font-weight: 400; white-space: nowrap; }
.subtitle { margin: 0 0 13px; font-size: 24px; line-height: 1.45; font-weight: 600; color: var(--ink-2); }
.byline { display: flex; gap: 16px; align-items: center; margin-top: 24px; }
.byline-copy { max-width: 760px; min-width: 0; }
.authors, .affil { font-size: 15px; line-height: 1.65; }
.authors { font-weight: 600; margin: 0 0 6px; }
.authors sup, .affil sup { color: var(--brand); font-size: .75em; margin-left: 2px; }
.affil { display: flex; gap: 3px 15px; flex-wrap: wrap; color: var(--muted); margin: 0; }
.affil + .affil { margin-top: 3px; }
.seals { display: flex; gap: 10px; flex-shrink: 0; }
.seals img { width: 34px; height: 34px; object-fit: contain; }
.byline .seals img { width: 48px; height: 48px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 27px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 46px; padding: 11px 18px; background: var(--surface); color: var(--brand); border: 1px solid var(--line); border-radius: 6px; font-size: 12px; font-weight: 700; line-height: 1.5; transition: background .18s, border-color .18s, box-shadow .18s; }
.btn:hover, .btn:focus-visible { background: var(--brand); color: var(--surface); border-color: var(--brand); text-decoration: none; }
.btn:active { transform: translateY(1px); }
.button-arrow { display: inline-block; font-size: 17px; line-height: 1; transition: transform .18s; }
.btn:hover .button-arrow, .btn:focus-visible .button-arrow { transform: translateX(3px); }
.btn:disabled { cursor: not-allowed; background: var(--bg-2); border-color: transparent; color: var(--muted); box-shadow: none; transform: none; }
.soon { font-size: 9px; font-weight: 500; padding-left: 2px; }
.hero-links { display: flex; align-items: center; gap: 22px; margin-left: 12px; font-size: 12px; }
.figure { max-width: 760px; margin: 0 auto; }
.figure img { background: var(--surface); border: 0; border-radius: var(--radius); cursor: zoom-in; }
.hero-figure { margin-top: 34px; max-width: 760px; }
.hero-figure img { width: 100%; }
.figcap { margin: 10px 0 0; font-size: 12px; line-height: 1.7; color: var(--muted); }
.figcap b { color: var(--ink-2); }
.hero-figure .figcap { text-align: center; font-size: 11px; }

/* Link feedback adapted from WhiteNervosa's popular-ladybug-27 on Uiverse:
   https://github.com/uiverse-io/galaxy/blob/main/Buttons/WhiteNervosa_popular-ladybug-27.html
   MIT License — Copyright (c) 2023 Uiverse.io
   Permission is hereby granted, free of charge, to any person obtaining a copy
   of this software and associated documentation files (the "Software"), to deal
   in the Software without restriction, including without limitation the rights
   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
   copies of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:
   The above copyright notice and this permission notice shall be included in all
   copies or substantial portions of the Software.
   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
   SOFTWARE. */
.quiet-link { position: relative; display: inline-block; padding-bottom: 3px; }
.quiet-link::after { content: ""; position: absolute; pointer-events: none; bottom: 0; left: 50%; width: 0; height: 1px; background: currentColor; transition: width .2s, left .2s; }
.quiet-link:hover, .quiet-link:focus-visible { text-decoration: none; }
.quiet-link:hover::after, .quiet-link:focus-visible::after { width: 100%; left: 0; }

/* A quiet contents rail keeps the long article navigable. */
.article-layout { display: grid; grid-template-columns: 175px minmax(0, 1fr); gap: 64px; padding-top: 58px; }
.contents { align-self: stretch; }
.nav-links { position: sticky; top: 105px; padding-right: 18px; }
.contents-label { color: var(--muted); margin: 0 0 18px; }
.nav-links a { display: flex; align-items: baseline; gap: 13px; padding: 7px 0; font-size: 12px; color: var(--muted); transition: color .16s; }
.nav-links a span { font-family: var(--font-mono); font-size: 9px; opacity: .65; }
.nav-links a:hover, .nav-links a.on { color: var(--brand); text-decoration: none; }
.nav-links a.on { font-weight: 800; }
.nav-links a.on span { opacity: 1; }
.nav-links a.back-top { margin-top: 22px; padding-top: 10px; font-size: 10px; }
main { min-width: 0; }
main .wrap { max-width: none; margin: 0; padding: 0; }
section { padding: 54px 0; border-top: 1px solid var(--line); }
section:first-child { padding-top: 0; border-top: 0; }
section.compact { padding: 38px 0; }
.sec-head { margin: 0 0 28px; max-width: 77ch; }
.sec-kicker { color: var(--brand); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; margin-bottom: 12px; }
.sec-title { font-family: var(--font-title); font-size: clamp(30px, 3.05vw, 41px); font-weight: 500; line-height: 1.12; letter-spacing: -.025em; margin: 0 0 16px; }
.sec-sub { color: var(--muted); font-size: 16px; line-height: 1.85; margin: 0; }
.sec-sub b { color: var(--ink-2); }
#applications .sec-title { font-size: 32px; }

/* Definition and operational loop. */
.def-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 26px; align-items: center; }
.formula { min-width: 0; background: var(--brand-soft); padding: 24px; border-radius: 8px; }
.formula .lbl { margin: 0 0 14px; font-size: 13px; color: var(--brand); }
.formula .notation, .formula .note { font-size: 13px; color: var(--muted); margin: 5px 0 12px; }
.formula .notation { padding-top: 8px; margin-top: 14px; font-size: 11px; }
.formula .note { margin-bottom: 0; font-size: 11px; }
.formula .eq { font-size: 14px; padding: 6px 1px; }
.formula-step + .formula-step { margin-top: 14px; }
.formula-step p { margin: 0 0 4px; color: var(--muted); font-size: 12px; }
.eq { overflow-x: auto; max-width: 100%; padding: 8px 1px; font-size: 14px; }
.eq .katex-display { margin: 0; text-align: left; }
.eq .katex-display > .katex { text-align: left; }
.loop-card { display: flex; align-items: center; justify-content: center; min-width: 0; }
.update-loop { width: 100%; max-width: 400px; height: auto; }

/* Taxonomy: reference columns with restrained, semantic color. */
.branches { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.branch { border: 0; border-radius: 8px; padding: 24px; background: var(--surface); }
.branch.int { --c: var(--int); --cs: var(--int-soft); }
.branch.exe { --c: var(--exe); --cs: var(--exe-soft); }
.branch.eva { --c: var(--eva); --cs: var(--eva-soft); }
.branch-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 16px; margin-bottom: 10px; }
.branch h3 { font-size: 16px; color: var(--c); margin: 0; letter-spacing: -.02em; }
.branch .count { font-family: var(--font-mono); font-size: 9px; color: var(--muted); white-space: nowrap; }
.branch .gloss { font-size: 14px; color: var(--muted); margin: 0 0 15px; }
.subsec { padding: 0; margin-top: 22px; }
.subsec h4 { font-size: 13px; margin: 0 0 8px; display: flex; gap: 8px; align-items: baseline; }
.sn { font-family: var(--font-mono); font-size: 9px; color: var(--c); flex-shrink: 0; }
.mechs { display: flex; flex-wrap: wrap; gap: 6px; }
.mech { font-size: 12px; font-weight: 500; color: var(--ink-2); background: var(--cs); border: 1px solid transparent; border-radius: 3px; padding: 7px 9px; display: inline-flex; align-items: center; gap: 7px; line-height: 1.5; }
.mech:hover { border-color: var(--c); }
.mech b { font-size: 9px; color: var(--c); }
.tax-note { font-size: 12px; color: var(--muted); margin: 24px 0 0; }
details.fold { margin: 26px 0 0; border: 0; border-radius: 6px; background: var(--bg-2); }
details.fold summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; padding: 14px 18px; font-size: 12px; font-weight: 700; list-style: none; }
details.fold summary::-webkit-details-marker { display: none; }
details.fold summary::after { content: "+"; color: var(--brand); font-size: 22px; font-weight: 400; }
details.fold[open] summary::after { content: "−"; }
.fold-body { padding: 8px 18px 20px; }
.fold-body img { max-width: min(100%, 760px); margin: auto; cursor: zoom-in; }
.fold-body .figure + .figure { margin-top: 24px; }

/* Theory and evaluation. */
.theory-grid { display: grid; gap: 22px; }
.ea-table { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--surface); }
.ea-row { display: grid; grid-template-columns: 235px 1fr; gap: 16px; padding: 11px 18px; align-items: center; }
.ea-row:first-child { border-top: 0; }
.ea-row:nth-child(even) { background: var(--bg); }
.ea-row .p { font-size: 13px; font-weight: 700; color: var(--ink-2); }
.ea-row .m { display: flex; flex-wrap: wrap; gap: 5px; }
.ea-row .m span { font-size: 11px; padding: 2px 6px; color: var(--thy); background: var(--thy-soft); border-radius: 3px; }
.ea-foot { padding: 16px 18px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); }
.theory-concepts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.theory-concept { min-width: 0; }
.concept-abbr { display: inline-block; color: var(--thy); background: var(--thy-soft); font-family: var(--font-mono); font-size: 11px; padding: 5px 9px; border-radius: 4px; margin-bottom: 14px; }
.theory-concept h3 { font-size: 15px; margin: 0 0 10px; }
.theory-concept p { font-size: 14px; color: var(--muted); line-height: 1.8; margin: 0; }
.theory-reference { justify-self: start; font-size: 12px; }
.claims { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 32px; }
.claim { padding: 0; }
.claim.s { --c: var(--sel); }.claim.a { --c: var(--act); }.claim.t { --c: var(--att); }.claim.i { --c: var(--imp); }
.claim .k { color: var(--c); font-size: 9px; text-transform: uppercase; font-weight: 700; letter-spacing: .1em; }
.claim h4 { font-family: var(--font-title); font-size: 27px; font-weight: 500; margin: 8px 0; }
.claim p { margin: 0; font-size: 14px; color: var(--muted); }

/* Evidence uses the manuscript's existing denominators and verdicts. */
.evidence-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 22px; }
.panel { background: var(--surface); border: 0; padding: 24px; border-radius: 8px; min-width: 0; }
.panel h4 { font-size: 14px; margin: 0 0 8px; }
.panel .hint { font-size: 13px; color: var(--muted); margin: 0 0 22px; }
.bars { display: grid; gap: 18px; }
.bar-row { display: grid; gap: 5px; }
.bar-row .nm { font-size: 11px; font-weight: 700; }
.stack-bar { display: flex; height: 25px; border-radius: 2px; overflow: hidden; background: var(--none); }
.stack-bar span { display: grid; place-items: center; font-size: 10px; font-weight: 700; white-space: nowrap; overflow: hidden; }
.stack-bar .C { background: var(--full); color: var(--surface); }.stack-bar .O { background: var(--part); color: var(--ink-2); }.stack-bar .N { background: var(--none); color: var(--ink-2); }
.legend { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 20px; font-size: 9px; color: var(--muted); }
.legend i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 5px; }
.donut-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.donut { width: 180px; height: 180px; }
.donut circle { fill: none; stroke-width: 24; }
.donut .small { font-size: 12px; fill: var(--muted); }
.joint { display: grid; grid-template-columns: repeat(5,1fr); gap: 6px; width: 100%; margin-top: 18px; }
.joint div { text-align: center; font-size: 10px; color: var(--muted); }
.joint b { display: block; font-family: var(--font-mono); font-size: 16px; font-weight: 500; color: var(--ink); }
.joint i { display: block; height: 4px; margin: 5px auto 0; width: 75%; }
.evidence-takeaway { color: var(--muted); font-size: 14px; line-height: 1.8; margin: 22px 0 0; }
.evidence-takeaway b { color: var(--ink); }
details.theory-map { margin-top: 0; }

/* Reading list, citation and figure viewer. */
.explorer-bar { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.search { display: flex; gap: 12px; align-items: center; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); padding: 4px 14px; }
.search:focus-within { outline: 2px solid var(--brand); outline-offset: 2px; }
.search svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--muted); }
.search input { font-size: 13px; min-width: 0; width: 100%; padding: 11px 0; border: 0; outline: 0; background: transparent; color: var(--ink); }
.kbd { font-family: var(--font-mono); font-size: 10px; color: var(--muted); border: 1px solid var(--line); border-radius: 3px; padding: 0 6px; }
.filters { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.chip { font-size: 10px; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); background: transparent; padding: 7px 10px; }
.chip:hover { border-color: var(--brand); color: var(--brand); }
.chip.on { background: var(--brand); border-color: var(--brand); color: var(--surface); }
.chip .n { margin-left: 5px; opacity: .75; font-family: var(--font-mono); font-size: 9px; }
.result-meta { display: flex; justify-content: space-between; gap: 16px; margin: 14px 0; font-size: 11px; color: var(--muted); }
.result-meta button { border: 0; color: var(--brand); background: transparent; font-size: 11px; padding: 0 4px; }
.results { max-height: 560px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.group-head { position: sticky; top: 0; z-index: 1; background: var(--bg-2); padding: 9px 16px; border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--gc); }
.group-head span { margin-left: 8px; color: var(--muted); font-size: 9px; }
.row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 16px; border-bottom: 1px solid var(--line); padding: 13px 16px; }
.row:last-child { border-bottom: 0; }
.row:hover { background: var(--bg); }
.row .nm { font-size: 13px; font-weight: 800; }
.row .venue { font-family: var(--font-mono); font-size: 9px; margin-left: 8px; color: var(--muted); }
.row .node { font-size: 10px; margin-left: 8px; color: var(--gc); }
.row .desc { display: block; margin-top: 3px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.row .side { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: flex-end; max-width: 120px; }
.row .side a { border: 1px solid var(--line); font-size: 10px; padding: 2px 7px; border-radius: 3px; }
.row .side a:hover { border-color: var(--brand); text-decoration: none; }
.verdict { display: inline-flex; gap: 2px; }
.verdict span { width: 11px; height: 11px; border-radius: 2px; }
.verdict .C { background: var(--full); }.verdict .O { background: var(--part); }.verdict .N { background: var(--none); }
.empty { padding: 30px 20px; font-size: 13px; color: var(--muted); text-align: center; }
mark { background: var(--part); border-radius: 2px; color: var(--ink); }
.bibhead { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 12px; font-size: 11px; color: var(--muted); }
.copybtn { border: 1px solid var(--line); color: var(--brand); background: transparent; border-radius: 4px; padding: 9px 14px; font-size: 11px; }
.copybtn:hover { border-color: var(--brand); }.copybtn.done { background: var(--brand); color: var(--surface); }
pre.bib { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--bg-2); border: 1px solid var(--line); border-radius: var(--radius); font-family: var(--font-mono); font-size: 11px; line-height: 1.9; padding: 22px; margin: 0; color: var(--muted); }
pre.bib .k { color: var(--brand); }pre.bib .v { color: var(--ink-2); }
footer { padding: 30px 0 40px; border-top: 1px solid var(--line); font-size: 11px; color: var(--muted); margin-top: 30px; }
footer .wrap { position: relative; padding-right: 175px; }
footer .seals { position: absolute; right: 40px; top: 0; }
footer .seals img { width: 36px; height: 36px; }
footer p { margin: 6px 0; }
.lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(25,34,44,.9); display: none; align-items: center; justify-content: center; padding: 50px 24px; cursor: zoom-out; }
.lightbox.open { display: flex; }
.lightbox img { max-width: min(1600px,96vw); max-height: 85vh; object-fit: contain; background: var(--surface); border-radius: 4px; }
.lightbox-close { position: absolute; top: 14px; right: 22px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); font-size: 25px; }

@media (max-width: 1100px) {
  .wrap, .nav-in { padding-left: 28px; padding-right: 28px; }
  .article-layout { grid-template-columns: 145px minmax(0,1fr); gap: 36px; }
  .def-grid, .evidence-grid { grid-template-columns: 1fr; }
  .branches { gap: 16px; }.branch { padding: 18px; }
  .theory-concepts { gap: 18px; }
}
@media (max-width: 800px) {
  .nav-in { padding-top: 12px; padding-bottom: 12px; gap: 18px; }
  .nav-tools { gap: 20px; }.nav-tools a:first-child { display: none; }
  .nav-toggle { display: block; border: 1px solid var(--line); background: var(--bg); color: var(--brand); font-size: 11px; border-radius: 4px; padding: 10px 12px; min-height: 44px; }
  .hero { padding-top: 40px; }
  h1.title { font-size: 58px; }
  .byline { align-items: flex-start; gap: 16px; }
  .article-layout { display: block; padding-top: 40px; }
  .nav-links { display: none; position: fixed; top: 69px; left: 0; right: 0; max-height: calc(100dvh - 69px); overflow: auto; background: var(--bg); border: 0; border-bottom: 1px solid var(--line); padding: 20px 28px; z-index: 99; }
  .nav-links.open { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
  .contents-label { grid-column: 1/-1; margin-bottom: 8px; }.nav-links a { font-size: 12px; padding: 12px 0; }
  .nav-links a.back-top { margin-top: 8px; grid-column: 1/-1; }
  .def-grid { grid-template-columns: 1.15fr 1fr; gap: 20px; }
  .evidence-grid { grid-template-columns: 1fr 1fr; }.sec-title { font-size: 36px; }
  .formula { padding: 20px; }
}
@media (max-width: 560px) {
  .wrap, .nav-in { padding-left: 20px; padding-right: 20px; }
  .nav-in { gap: 12px; }.brand { font-size: 14px; gap: 9px; }.brand-note { font-size: 8px; }.brand-mark { width: 36px; height: 36px; }
  .nav-tools { gap: 16px; }.nav-tools a { font-size: 11px; }.nav-tools a:nth-child(2) { display: none; }
  .nav-toggle { font-size: 10px; padding: 9px; }
  .hero { padding-top: 32px; }.eyebrow { font-size: 8px; letter-spacing: .1em; margin-bottom: 22px; }.eyebrow span { margin: 0 6px; }
  h1.title { font-size: clamp(43px, 12vw, 60px); line-height: 1.04; margin-bottom: 18px; }
  .subtitle { font-size: 19px; margin-bottom: 12px; }
  .byline { margin-top: 20px; flex-direction: column; gap: 12px; }.authors, .affil { font-size: 14px; }.affil { flex-direction: column; gap: 3px; }.seals img { width: 28px; height: 28px; }
  .byline .seals img { width: 40px; height: 40px; }
  .hero-actions { margin-top: 22px; gap: 10px; }.btn { padding: 10px 13px; font-size: 11px; gap: 10px; }.soon { font-size: 8px; }
  .hero-links { margin-left: 0; width: 100%; font-size: 11px; gap: 22px; }.hero-links a { min-height: 44px; display: inline-flex; align-items: center; }
  .hero-figure { margin-top: 22px; }.hero-figure .figcap, .figcap { font-size: 10px; }
  section { padding: 38px 0; }section.compact { padding: 30px 0; }.sec-title, #applications .sec-title { font-size: 31px; }.sec-sub { font-size: 15px; }
  .def-grid, .branches, .claims, .evidence-grid { grid-template-columns: 1fr; }
  .formula { padding: 20px 18px; }
  .branch h3 { font-size: 17px; }.branch .gloss { font-size: 14px; }.subsec h4 { font-size: 13px; }.mech { font-size: 11px; min-height: 44px; }
  .theory-concepts { grid-template-columns: 1fr; gap: 24px; }.concept-abbr { margin-bottom: 10px; }
  .theory-concept h3 { margin-bottom: 6px; }
  .ea-row { grid-template-columns: 1fr; gap: 6px; padding: 12px 15px; }
  .claim h4 { font-size: 26px; }.claim p { font-size: 14px; }
  .panel .hint { font-size: 12px; }.panel h4 { font-size: 14px; }.legend { font-size: 10px; }
  .chip { min-height: 44px; font-size: 11px; }.result-meta { align-items: center; }.result-meta button { min-height: 44px; }
  .row { grid-template-columns: 1fr; gap: 8px; }.row .desc { font-size: 13px; }.row .side { justify-content: flex-start; max-width: none; }.row .side a { min-height: 44px; display: grid; place-items: center; padding: 8px 13px; }
  .search input { font-size: 16px; }.kbd { display: none; }.copybtn { min-height: 44px; }
  pre.bib { padding: 16px; font-size: 10px; }footer .wrap { padding-right: 20px; }footer .seals { position: static; margin-bottom: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .loop-orbit { display: none; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
