/* Composition layer, loaded last: chapter rehearsal marks, three surface levels, a steadier rhythm and readable measures. */
:root{--raised:#fff;--rule:#c8d4e3;--pad:var(--gutter);--r-panel:12px;--r-figure:8px}
@media(min-width:1700px){:root{--pad:max(var(--gutter),calc((100vw - 1500px)/2))}}

/* Surfaces: chapters share one paper, figures rise to white, tools stay dark. The planned film is the only tinted interlude. */
.paper-alt{background:var(--paper)}
.section{padding-block:72px 128px}
.section:not(.ink)::before{content:"";position:absolute;top:0;left:var(--pad);right:var(--pad);height:1px;background:var(--rule)}
.ink+.section::before,#overview::before,.demo-plan::before{display:none}
#overview{padding-top:104px}
.demo-plan{background:#e7eef7;padding-top:104px}

/* Chapter openings: a boxed rehearsal mark, as in an ensemble score, then the chapter name. */
.chapter-mark{display:flex;align-items:center;gap:16px;font:600 14px/1.35 var(--sans);letter-spacing:0;color:var(--ink);margin-bottom:44px}
.chapter-mark .mark{display:inline-grid;place-items:center;flex:none;min-width:46px;height:46px;padding:0 8px;border:2px solid var(--cobalt);border-radius:3px;font:700 26px/1 var(--display);letter-spacing:-.02em;color:var(--cobalt);background:var(--paper)}
.ink .chapter-mark{color:#e4ecf8}.ink .chapter-mark .mark{border-color:var(--cyan);color:var(--cyan);background:transparent}
.section-intro{margin-bottom:64px;align-items:end}
.section-intro h2,.chapter-heading h2{font-size:clamp(42px,4.7vw,70px);letter-spacing:-.05em;line-height:1.04}
.intro-note{font-size:16px;line-height:1.6;max-width:40ch;color:#4b5f7e}
.ink .intro-note{color:#b3c5df}
.chapter-heading{margin-bottom:8px}

/* Measures: captions and notes stop before they become hard to track. */
.footnote,.case-limit,.mount-note{max-width:72ch}
figcaption{max-width:90ch}
.model-scope p{max-width:70ch}

/* Opening: the product, the claim and the label fit one screen. */
.hero-v3{padding-top:124px}
.hero-heading{margin-bottom:40px}
.hero-render img{aspect-ratio:2.2;object-position:50% 56%;border-radius:var(--r-panel)}
.hero-render figcaption{margin-top:14px}

/* Panel hierarchy: large instruments and figures at 12px, photographs at 8px. */
.technical-chart,.circuit-panel,.workbench,.link-diagram,.comparison{background:var(--raised);border:1px solid var(--rule);border-radius:var(--r-panel)}
.candidate-chart{background:var(--raised)}
.assembly-viewer,.record-inspector,.demo-stage,.exchange,.code-card,.guard-score{border-radius:var(--r-panel)}
.field-photo img,.hardware-evidence figure img,.mount-study figure img,.mechanical-studies img{border-radius:var(--r-figure)}
.workbench-tabs{background:#edf2f9}
.workbench-tabs [aria-selected="true"]{background:var(--raised)}
.link-diagram{background:var(--raised)}

/* Readable minimum sizes. These follow the earlier stylesheets' selectors so one set holds at every width. */
:root{--t-caption:12px;--t-small:13.5px;--t-mono:11.5px}
figcaption,.footnote,.case-limit,.mount-note,.tool-provenance,.figure-kicker,.figure-heading>span,.technical-chart figcaption,.board-figure figcaption,.hero-render figcaption,.hero-render figcaption>a,.hero-v3 .hero-bottom,.hero-v3 .kicker,.paired-signature>small,.portfolio-return,footer p,footer>a:last-child,.sources-list small,.sources-list a small,.research-triptych small,.research-triptych a,.micro-facts p,.layer-key span,.demo-announcement,.cue-score small,.study-grid small,.assembly-key span,.revision-line small,.window-comparison small,.mask-comparison small,.delivery-comparison small,.mask-comparison span,.shot-list small,.demo-reference p,.demo-reference span,.workbench-tabs small,.marker-score span,.three-notes article>span,.clock-ledger span,.record-bottom p,.record-bottom>a,.reply-ledger>a,.model-scope>a,.training-loop>.footnote,.forest-panel>.footnote,.guard-score>p,.feature-key span,.host-node small,.peer-line small,.device-node>span,.packet-id>span,.event-ledger b,.record-step>span,.file-tree span,.hero-action,.exchange-middle small,.wearer p,.component-grid article>span,.mechanical-studies figcaption span,.revision-line p,.training-loop li>span,.scene-label,.zoom-button>span,.ui-crop-button>span,.signal-chain li>span,.mount-study figcaption,.mechanical-studies figcaption,.demo-plan>.footnote,.link-diagram>.footnote,.hero-v3>.portfolio-return,.section-tag:not(.chapter-mark),caption,th,.code-card a,.record-inspector .figure-heading>span,.peer-line span,.host-node>span,.recording-workflow li>span,.reply-ledger .figure-kicker,.cue-score span{font-size:var(--t-caption)}
.exchange button,.exchange button.quiet-button,.board-switch button,.making-v2 .board-switch button,.archive-actions{font-size:12.5px}
.scene-signal>span{font-size:11px}
.compact-facts>div{grid-template-columns:100px 1fr}
.demo-stage-top,.exchange-top,.code-caption,.plot-legend,.raw-evidence>span,.window-comparison span,.case-closure span,.engineering-case>header>span,.device-node small,.debug-links,.quality-row,.guard-score>div,.shot-list>button>span,.workbench-tabs span,.event-ledger time,.event-ledger>div>span,.record-step time,.file-tree code,.reply-ledger code,.reply-ledger>div>span,.failure-header,.component-grid p,.case-code,.raw-evidence pre,.decision-sketch,.record-detail time,.record-bottom code,.scene-caption>span,.board-toolbar>div:first-child{font-size:var(--t-mono)}
.research-triptych p,.compact-facts,.vocabulary p,.model-scope p,.mechanical-heading p,.signal-chain p,.code-card>p,.guard-panel>div>p:not(.figure-kicker),.three-notes p,.tool-description p,.record-intro,.record-detail p,.engineering-case>header p,.case-closure p,.delivery-comparison span,.other-investigations p,.result-strip p,.study-grid p,.numbered-notes p,.safeguard-grid p,.scene-caption>p,.hero-statement>p:nth-child(2),.layer-key b,.assembly-key b,.interaction-intro{font-size:var(--t-small)}
.chinese{font-size:13px}

@media(max-width:1080px){.section{padding-block:64px 104px}}
@media(max-width:760px){
.section{padding-block:44px 76px}
#overview,.demo-plan{padding-top:72px}
.chapter-mark{gap:12px;font-size:13px;margin-bottom:30px}
.chapter-mark .mark{min-width:38px;height:38px;font-size:21px}
.section-intro{margin-bottom:40px}
.section-intro h2,.chapter-heading h2{font-size:clamp(38px,10vw,56px)}
.intro-note{font-size:15px;max-width:none}
.hero-v3{padding-top:100px}
.hero-render img{aspect-ratio:1.34;border-radius:0}
.technical-chart{border-radius:0;border-inline:0}
.circuit-panel,.workbench,.link-diagram,.comparison{border-radius:8px}
.assembly-viewer{border-radius:0}
.code-card pre,.light-code pre{font-size:11px}
.result-strip article{grid-template-columns:100px 1fr}
.guard-score>div>span{width:92px}
}
@media print{.section::before{display:none}.paper-alt,.demo-plan{background:white}.chapter-mark .mark{background:white}}
