/* Assay lab presentation. Frozen data and chart geometry are unchanged. */
:root {
 --cream:#0b0e11; --paper:#11171b; --ink:#edf2f3; --muted:#9ca9ae;
 --line:#293238; --accent:#b5f4cc; --accent-dark:#b5f4cc;
 --positive:#95d9b0; --negative:#f0a49a; --shadow:none;
 --pub-ink:#edf2f3; --pub-muted:#9ca9ae; --pub-rule:#293238;
 --pub-paper:#11171b; --pub-accent:#b5f4cc; --pub-soft:#182126; --pub-dark:#11171b;
 --parent-brand-mustard:#b5f4cc;
 color-scheme:dark; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body,body.publication-page,body.evidence-receipt-page { background:var(--cream); color:var(--ink); }
::selection { background:var(--accent); color:var(--cream); }
:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
html { scroll-padding-top:130px; }
.lab-skip { position:fixed; top:-100px; left:20px; z-index:100; padding:10px 16px; background:var(--accent); color:var(--cream); }
.lab-skip:focus { top:10px; }
h1,h2,h3,.verdict-value,.metric strong,.money-step strong,.publication-verdict strong,.publication-verdict p,.publication-ledger dd,.explorer summary,.a003-verdict strong,.a003-verdict p,.a003-callout strong,.a003-figure figcaption b,.a004-criteria strong,.a004-risk-bridge strong,.a004-benchmark-grid strong,.a004-caveat-list strong,.a004-evidence-action strong,.receipt-result-grid strong { font-family:inherit!important; font-weight:500; letter-spacing:-.04em; }
.site-header { background:#0b0e11f5; border-color:var(--line); backdrop-filter:none; }
.nav { min-height:68px; gap:24px; }
.brand-mark { width:24px; height:24px; }.brand-mark:before,.brand-mark:after { width:16px; height:16px; border-width:1.5px; }
.brand-copy { font-size:17px; font-weight:600; letter-spacing:-.025em; }.brand-copy small { font:10px/1.4 ui-monospace,monospace; letter-spacing:.12em; }
.parent-link { margin-right:0; font-size:10px; font-weight:500; }
.nav-links { gap:18px; }.nav-links a { font-size:12px; font-weight:450; color:var(--muted); white-space:nowrap; }
.nav-links a:hover { color:var(--accent); }
.eyebrow,.section-kicker,.publication-number,.publication-entry-verdict,.pill,.receipt-facts dt,.publication-facts span { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-weight:450; }
.eyebrow { font-size:11px; letter-spacing:.12em; }
.hero,.publication-page .publication-hero { padding:64px 0 44px; }
.hero h1,.publication-hero h1,.publication-home .home-hero h1,.receipt-hero h1 { font-size:clamp(2.8rem,6vw,5.6rem); line-height:1.08; letter-spacing:-.06em; max-width:1000px; margin:24px 0; font-weight:500; }
.publication-home .home-hero p,.hero p,.publication-hero .reader-lede { max-width:740px; font-size:17px; line-height:1.8; }
.hero-actions { gap:12px; margin-top:28px; }.button { min-height:44px; border-radius:5px; font-size:13px; font-weight:500; padding:11px 16px; border-color:#425159; }
.button.primary { background:var(--accent); color:var(--cream); border-color:var(--accent); }.button.secondary { color:var(--ink); }
.button:hover { transform:none; }.button.secondary:hover { background:var(--paper); border-color:var(--accent); }
.pill { background:transparent; border:0; border-radius:0; padding:4px 12px 4px 0; color:var(--muted); font-size:11px; }.pill:before { width:4px; height:4px; }
.card,.article,.account-timeline,.mechanism-polish,.mechanism-panel,.a003-page .a003-article,.a004-page .a004-article { background:var(--paper); border-color:var(--line); border-radius:6px; box-shadow:none; }
.publication-entry h2 { font-size:clamp(1.6rem,3vw,2.3rem); line-height:1.2; }
.publication-entry p { color:var(--muted); font-size:15px; line-height:1.8; }.publication-number { font-size:14px; letter-spacing:.04em; padding-top:8px; color:var(--muted); }
.publication-entry-verdict { font-size:12px; color:var(--muted); line-height:1.8; font-weight:450; }
.publication-register { border:1px solid var(--line); border-radius:6px; padding:24px!important; }.publication-register p { color:var(--muted)!important; font-size:15px!important; }.publication-register .verdict-value { font-size:2rem!important; }
.metric { border-color:var(--line); }.metric strong { font-size:28px; }.metric span { font-size:12px; }
.step { border-color:var(--line); }.step h3 { font-size:22px; }.step p { font-size:14px; line-height:1.8; }
.home-independence-section .card { background:transparent; border-width:1px 0 0; padding:32px 0; border-radius:0; }
.home-independence-section h2 { font-size:clamp(1.8rem,4vw,3rem); }.home-independence-section p { color:var(--muted); }
.publication-article h2 { font-size:clamp(1.8rem,3.7vw,2.65rem); line-height:1.18; }.publication-article h3 { line-height:1.3; }
.article p,.publication-article p,.receipt-overview-copy p { line-height:1.85; }.publication-article p,.lead-copy { color:#bcc6ca; }
.publication-page .publication-article,.a003-page .a003-article,.a004-page .a004-article { background:transparent; border:0; padding-inline:0; box-shadow:none; }
.publication-verdict,.a003-page .a003-verdict,.a004-page .a004-verdict,.verdict-banner,.verdict,.mechanism-accounting,.a004-risk-bridge { background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:6px; }
.a003-page .a003-verdict strong,.a004-page .a004-verdict strong,.publication-verdict strong { color:var(--accent); }
.a003-page .a003-verdict p,.a004-page .a004-verdict p,.publication-verdict p { color:var(--ink); }
.verdict p,.verdict .eyebrow,.verdict-banner span,.mechanism-accounting span,.a004-risk-bridge p,.a004-risk-arrow { color:var(--muted); }
.money-step.final,.bridge-mobile .final,.a002-money-flow .a002-start,.a002-money-flow .a002-final { background:#1c2927; color:var(--ink); border-color:#425b50; }
.a002-money-flow .a002-start small,.a002-money-flow .a002-final small { color:var(--muted); }
.notice,.reader-note,.a003-chart-readout,.a004-chart-readout { background:#19252a; color:var(--ink); border-color:var(--line); border-left-color:var(--accent); border-radius:4px; }
.meta-strip span,.account-bridge,.grid-mechanism,.grid-story li,.result-card,.regime-callout,.money-step,.mechanism-steps li,.glossary>div,.timeline-readout>div,.timeline-facts>div,.evidence-hero-metrics>div,.mechanism-stage b,.viz-svg,.a002-money-flow li,.a003-controls,.a003-table-wrap,.a003-figure,.a003-chart,.a003-explorer-head select,.a003-explorer-grid>div,.a004-variant-grid article,.a004-method-grid article,.a004-criteria li,.a004-controls,.a004-table-wrap,.a004-figure,.a004-sensitivity,.a004-chart,.a004-explorer-head select,.a004-explorer-grid>div,.a004-benchmark-grid article,.a004-caveat-list li,.a004-evidence-action { background:var(--paper); color:var(--ink); border-color:var(--line); border-radius:5px; box-shadow:none; }
.meaning-card.means,.bridge-mobile .gain,.a002-money-flow .a002-gain,.a004-badge.pass { background:#152b23; border-color:#365647; color:var(--positive); }
.meaning-card.does-not,.money-step.loss,.a002-money-flow .a002-loss,.a003-fail,.a004-badge.fail { background:#2d2021; border-color:#624344; color:var(--negative); }
.a002-money-flow .a002-running { background:#1b252a; }
.result-table thead th,.a003-table thead th,.a004-table thead th,.receipt-document th,thead th { background:#1b252a!important; color:var(--muted); border-color:var(--line); }
.result-table tbody tr,.result-table tbody td { background:var(--paper); }.result-table .result-final { background:#2d2021; }
table th,table td { border-color:var(--line); }table { color:var(--ink); }
.a003-control-group button,.a004-control-group button,.viz-tab { background:var(--paper); color:var(--muted); border-color:#425159; border-radius:4px; font-weight:500; min-height:40px; }
.a003-control-group button[aria-pressed=true],.a004-control-group button[aria-pressed=true],#a002-btc:checked~.viz-tabs .viz-tab[for=a002-btc],#a002-eth:checked~.viz-tabs .viz-tab[for=a002-eth] { background:var(--accent); color:var(--cream); border-color:var(--accent); }
.article pre,.receipt-document pre { background:#151e23; color:var(--ink); border-color:var(--line); }.article code { background:#1b252a; color:var(--ink); }
.bar-track { background:#26333a; }.bar-row { border-color:var(--line); }.bar-track .neg { background:var(--negative); }.bar-track .pos { background:var(--positive); }
.bridge-label,.viz-cat,.viz-label { fill:var(--muted); }.bridge-final,.price-path { stroke:var(--ink); }.bridge-final,.viz-bar.viz-start,.viz-bar.viz-net { fill:#99aaa7; }
.grid-line,.mechanism-mini-grid,.viz-grid,.a003-chart .grid,.a004-chart .grid { stroke:#34434a; }.a003-chart .axis,.a004-chart .axis { stroke:#61717a; }
.bridge-gain,.positive-fill,.timeline-point-closed { fill:var(--positive); }.held-dot,.held-note,.timeline-point-account { fill:var(--negative); }
.buy-dot { fill:var(--accent); }.sell-dot { fill:var(--positive); }.buy-dot,.sell-dot,.held-dot,.mechanism-mini-buy,.mechanism-mini-sell,.mechanism-mini-held,.timeline-point { stroke:var(--paper); }
.mechanism-mini-zone { fill:#2d2021; }.mechanism-mini-target { stroke:var(--negative); }
.a003-chart .reference-label,.a004-chart .reference-label,.viz-bh-label { fill:#e4c17d; }.a003-chart .baseline,.a003-chart .bh-marker,.a004-chart .threshold { stroke:#e4c17d; }
.account-timeline img { background:#fffdf7; border-radius:5px; } /* Frozen standalone graphic retains its original readable colour key. */
.a004-caveat-list li:before { background:#263b31; color:var(--accent); }
.site-footer { background:var(--cream); border-color:var(--line); }.footer-row { font-size:12px; color:var(--muted); }.footer-row strong { color:var(--ink); font-weight:500; }
.assay-coach-launcher { background:var(--paper); color:var(--ink); border:1px solid #425159; border-radius:7px; box-shadow:0 8px 28px #0005; }
.assay-coach-launcher:hover { background:#192227; color:var(--ink); transform:none; }
.assay-coach-mark { background:transparent; color:var(--accent); border:1px solid #40584c; border-radius:4px; font:12px ui-monospace,monospace; }
.assay-coach-copy small { color:var(--muted); font-weight:450; font-size:9px; }.assay-coach-copy strong { color:var(--ink); font-size:13px; font-weight:500; }
@media(max-width:1080px) { .nav { flex-wrap:wrap; gap:12px; padding-block:14px 0; }.nav-links { flex-basis:100%; overflow-x:auto; padding:10px 0 14px; gap:24px; }.parent-link { margin-left:auto; }.nav-links a { min-height:24px; } }
@media(max-width:620px) {
 .hero,.publication-page .publication-hero { padding:36px 0 28px; }
 .hero h1,.publication-hero h1,.publication-home .home-hero h1,.receipt-hero h1 { font-size:clamp(2.4rem,10vw,3.6rem); line-height:1.12; }
 .hero p,.publication-home .home-hero p,.publication-hero .reader-lede { font-size:16px; line-height:1.75; }
 .publication-entry { gap:12px; }.publication-entry h2 { font-size:26px; }.publication-number { font-size:12px; }
 .publication-article p { font-size:16px; }.publication-article h2 { font-size:28px; }
 .publication-register { padding:20px!important; }.hero-actions .button { font-size:12px; }
 .a003-explorer-head select,.a004-explorer-head select { min-width:0; max-width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { transition:none!important; } }
/* Keep the reading shell and long receipt identifiers usable on narrow screens. */
main p,main code,main a { overflow-wrap:anywhere; }
.article h2 { font-size:clamp(1.8rem,3.7vw,2.65rem); line-height:1.18; }
@media(max-width:1080px) { .site-header .nav-links { display:flex; } }

/* Typography in chart captions and mechanism callouts follows the reading shell. */
.a002-money-flow strong,
.a002-readout-date strong,
.a003-callout strong,
.a003-evidence-action strong,
.a003-figure figcaption b,
.a003-method-grid strong,.a003-failure-grid strong,.a003-boundary-grid strong,
.a003-page .a003-verdict strong,
.a003-verdict p,
.a003-verdict strong,
.a004-benchmark-grid strong,
.a004-caveat-list strong,
.a004-criteria strong,
.a004-evidence-action strong,
.a004-figure figcaption b,
.a004-risk-bridge strong,
.a004-variant-grid strong,.a004-method-grid strong,
.assay-coach-mark,
.comparison-stat strong,
.evidence-hero-metrics strong,
.explorer summary,
.mechanism-accounting strong,
.mechanism-flow-arrow,
.mechanism-not-equal,
.mechanism-panel>strong,
.metric strong,
.money-step strong,
.publication-ledger dd,
.publication-number,
.publication-verdict p,
.publication-verdict strong,
.receipt-action strong,
.receipt-result-grid strong,
.result-head strong,
.result-table tbody th strong,
.timeline-facts strong,
.timeline-readout-date strong,
.verdict-banner strong,
.verdict-value,
h1,h2,h3 { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important; }
.comparison-stat,.account-flow,.result-table-wrap,.viz-figure,.a002-readout>div,.a003-callout,.a003-evidence-action,.technical-stack details { background:var(--paper); color:var(--ink); border-color:var(--line); border-radius:5px; box-shadow:none; }
.money-step.gain { background:#152b23; border-color:#365647; }.money-step.running { background:#1b252a; }
.result-table tbody th,.a003-table,.a004-table,.a003-table tbody th,.a004-table tbody th { background:var(--paper); color:var(--ink); }
.result-table .final-heading { background:#2d2021!important; color:var(--negative); }
.article table,.terms-more,.terms-more .glossary>div { background:var(--paper); border-color:var(--line); }

/* Decorative geometry is local, static and separate from measured evidence. */
.lab-hero-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:center; gap:24px; }
.lab-hero-copy { min-width:0; }
.publication-home .home-hero h1 { max-width:650px; font-size:clamp(3.2rem,5.6vw,5.3rem); text-wrap:balance; }
.publication-home .home-hero p { max-width:580px; }
.lab-hero-art { width:100%; aspect-ratio:520/490; background:url('/assets/lab/evidence-lens.svg') center/contain no-repeat; }
.publication-number { display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding-top:0; }
.lab-publication-art { display:block; width:64px; height:64px; background:center/contain no-repeat; }
.lab-art-grid { background-image:url('/assets/lab/grid.svg'); }
.lab-art-neighbours { background-image:url('/assets/lab/neighbours.svg'); }
.lab-art-rules { background-image:url('/assets/lab/rules.svg'); }
.lab-art-dual { background-image:url('/assets/lab/dual.svg'); }
@media(max-width:900px) {
 .lab-hero-layout { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:16px; }
 .publication-home .home-hero h1 { font-size:clamp(3rem,6.8vw,4rem); }
 .lab-publication-art { width:52px; height:52px; }
}
@media(max-width:620px) {
 .lab-hero-layout { grid-template-columns:minmax(0,1fr); gap:12px; }
 .publication-home .home-hero h1 { max-width:450px; font-size:clamp(2.7rem,11vw,3.8rem); }
 .lab-hero-art { width:min(100%,340px); height:240px; justify-self:center; }
 .publication-number { flex-direction:row; align-items:center; gap:16px; }
 .lab-publication-art { width:44px; height:44px; }
}
