/* Proof Atlas uses the blog's scientific article tokens. No separate brand palette. */
:root .proof-atlas-theme {
  --atlas-node:var(--accent); --atlas-binder:var(--accent-warm);
  --atlas-reference:var(--text-light); --atlas-selection:var(--accent);
  font-family:var(--serif); color:var(--text); background:var(--bg);
}
:root .proof-atlas-theme :is(.pa-page,.pa-grammar,.pa-manual,.pa-field-diagram,.pa-language) {
  --pa-ink:var(--text); --pa-deep:var(--text); --pa-teal:var(--accent);
  --pa-muted:var(--text-light); --pa-line:var(--border); --pa-paper:var(--bg); --pa-gold:var(--accent-warm);
  --ref-bg:var(--bg); --ref-surface:var(--fig-bg); --ref-ink:var(--text); --ref-muted:var(--text-light);
  --ref-line:var(--border); --ref-accent:var(--accent); --ref-code:var(--fig-bg); --ref-code-ink:var(--text);
  --ref-note:var(--text-light); --ref-note-bg:var(--fig-bg);
  --pm-ink:var(--text); --pm-muted:var(--text-light); --pm-paper:var(--bg); --pm-surface:var(--fig-bg);
  --pm-line:var(--border); --pm-accent:var(--accent); --pm-selected:var(--accent-light);
  color:var(--text); background:var(--bg); font-family:var(--sans);
}
:root .proof-atlas-theme :is(.pa-page,.pa-manual,.pl-library,.pow-shell) :is(button,input,select,summary,small) {font-family:var(--sans)}
:root .proof-atlas-theme :is(.pa-page,.pa-manual,.pl-library,.pow-shell) :is(code,pre) {font-family:var(--mono)}
:root .proof-atlas-theme :is(.pa-page,.pa-manual) :is(h1,h2) {font-family:var(--serif);font-weight:600;font-style:normal;letter-spacing:-.015em;color:var(--text)}
:root .proof-atlas-theme :is(.pa-page,.pa-manual) h1 {font-size:clamp(1.9rem,4vw,2.65rem);line-height:1.2}
:root .proof-atlas-theme :is(.pa-page,.pa-manual) h2 {font-size:clamp(1.45rem,2.5vw,1.8rem);line-height:1.3}
:root .proof-atlas-theme :is(.pa-page,.pa-manual) :is(h1,h2) em {font:inherit;color:inherit}
:root .proof-atlas-theme :is(.pa-page,.pa-manual) p {font-family:var(--serif);color:var(--text-light);line-height:1.75}
:root .proof-atlas-theme :is(.pa-page,.pa-manual) h3 {font-family:var(--sans);color:var(--text)}
:root .proof-atlas-theme :is(.pa-page,.pa-manual) a {color:var(--accent)}
:root .proof-atlas-theme :is(.pa-language-hero,.pa-grammar-hero,.pa-grammar-path,.pa-grammar-explorer,.pa-grammar-layers,.pa-language-bridge,.pa-language-gallery,.pa-language-foot,.pa-manual) {background:var(--bg);color:var(--text)}
:root .proof-atlas-theme :is(.pa-language-hero,.pa-grammar-hero) {max-width:1100px;margin-inline:auto;padding:48px 24px 32px}
:root .proof-atlas-theme :is(.pa-language-hero,.pa-grammar-hero)>p {max-width:680px;font-size:1.12rem;font-weight:400}
:root .proof-atlas-theme :is(.pa-section-mark,.pa-eyebrow,.pa-language-card-meta,.pa-language-caption,.pa-language-under,.pa-scale-choice-index,.pa-scale-chip) {font-family:var(--sans);color:var(--text-light);letter-spacing:.02em;text-transform:none}
:root .proof-atlas-theme :is(.pa-language-grid,.pa-scale-panels) {gap:24px;background:transparent}
:root .proof-atlas-theme .pa-language-card {border:0;border-top:1px solid var(--border);border-radius:0;background:var(--bg);box-shadow:none;padding:24px 0}
:root .proof-atlas-theme .pa-language-levels>div {border-color:var(--border)}
:root .proof-atlas-theme :is(.pa-language-card p,.pa-language-card p.pa-language-caution,.pa-language-levels p,.pa-language-intro,.pa-language-foot p) {color:var(--text-light)}
:root .proof-atlas-theme :is(.pa-language-example,.pa-scale-code-wrap pre,.pa-grammar .pa-reference-example pre) {background:var(--fig-bg);color:var(--text);border:1px solid var(--border);box-shadow:none}
:root .proof-atlas-theme :is(.pa-button,.pa-language-filters button,.pa-scale-choice,.pa-context-link,.pa-stage-actions button) {font-family:var(--sans);background:var(--bg);color:var(--text);border:1px solid var(--border);box-shadow:none;border-radius:3px;min-height:44px}
:root .proof-atlas-theme :is(.pa-primary,.pa-secondary) {color:var(--accent)!important;background:var(--bg);border-color:var(--border)}
:root .proof-atlas-theme :is(.pa-language-filters button,.pa-scale-choice,.pa-reference-layer,.pa-grammar-choice)[aria-pressed="true"] {background:var(--accent-light);color:var(--accent);border-color:var(--accent)}
:root .proof-atlas-theme :is(.pa-reference-layer,.pa-grammar-choice)[aria-pressed="true"] :is(small,span) {color:inherit}
:root .proof-atlas-theme :is(.pa-scale-panel,.pa-scale-panel-inset,.pa-scale-selection,.pa-scale-flow,.pa-scale-definition,.pa-scale-scope,.pa-scale-intro,.pa-scale-graph-fields span) {background:var(--fig-bg);color:var(--text);border-color:var(--border);box-shadow:none}
:root .proof-atlas-theme :is(.pa-scale-panel>p,.pa-scale-panel-label span,.pa-scale-intro strong,.pa-scale-status,.pa-scale-definition,.pa-scale-distinction p,.pa-scale-choice-index,.pa-scale-chip) {color:var(--text-light)}
:root .proof-atlas-theme .pa-scale-distinction code {background:var(--fig-bg);color:var(--text)}
:root .proof-atlas-theme .pa-reference-scales {margin-inline:auto;max-width:1100px;padding-inline:24px}
:root .proof-atlas-theme .pa-grammar .pa-grammar-readout p {font-family:var(--serif)}
:root .proof-atlas-theme :is(.pa-grammar-drawing,.pa-scale-panel-inset) svg {font-family:var(--sans)}
:root .proof-atlas-theme .pa-grammar-drawing svg text {font-family:var(--sans)}
:root .proof-atlas-theme :is(.pa-grammar-path,.pa-grammar-layers) {border-color:var(--border)}
:root .proof-atlas-theme .pa-grammar-layer-grid article {background:var(--bg);border-color:var(--border);box-shadow:none}
:root .proof-atlas-theme .pa-grammar-layer-grid code {color:var(--text);background:var(--fig-bg)}

/* Article measure for prose; figures and working applications may use the wider measure. */
:root .proof-atlas-theme .pa-manual {max-width:1100px;padding:48px 24px 72px;font-size:17px}
:root .proof-atlas-theme .pa-manual>header>p,:root .proof-atlas-theme .pa-manual section>p {max-width:680px}
:root .proof-atlas-theme .pa-manual>header h1 {max-width:760px}
:root .proof-atlas-theme .pa-manual section {border:0;margin-top:3.5rem;padding-top:0;scroll-margin-top:2rem}
:root .proof-atlas-theme .pa-manual nav {font-family:var(--sans);font-size:.9rem;gap:.5rem 1.4rem}
:root .proof-atlas-theme .pm-key {font-family:var(--sans);font-size:.95rem}
:root .proof-atlas-theme .pm-controls {font-family:var(--sans);font-size:.9rem}
:root .proof-atlas-theme .pm-node text {font-family:var(--sans)}
:root .proof-atlas-theme .pm-node .pm-small {font-family:var(--mono)}
:root .proof-atlas-theme .pm-accounting {font-family:var(--mono);font-size:.82rem}
:root .proof-atlas-theme .pm-constructor-grid {gap:2rem 3rem}
:root .proof-atlas-theme .pa-field-diagram {font-family:var(--sans)}
:root .proof-atlas-theme .pm-rule-grid {gap:2rem 3rem}
.pm-math {margin:1rem 0 1.5rem;padding:1.25rem .75rem;background:var(--fig-bg);border:1px solid var(--border);overflow-x:auto;overflow-y:hidden;max-width:100%;color:var(--text)}
.pm-math .katex-display {margin:.3rem 0;padding:.5rem 0;text-align:left}
.pm-math .katex-display>.katex {text-align:left;white-space:nowrap}
.pm-math .katex {font-size:1.1em}

/* The microscope and compiled library use the same paper as the article. */
:root .proof-atlas-theme :is(.pa-page--app,.pa-explorer,.pa-explorer--app,.pa-app,.pa-appbar,.pa-stage,.pa-stage-head,.pa-stage-foot,.pa-app-sidebar,.pa-inspector,.pa-reader,.pa-reader-head,.pa-reader-tabs,.pa-reader-foot,.pa-reader-scroll) {background:var(--bg);color:var(--text);border-color:var(--border);box-shadow:none}
:root .proof-atlas-theme .pa-appbar h1 {font:600 clamp(1.35rem,2.5vw,1.9rem)/1.25 var(--serif);letter-spacing:-.015em}
:root .proof-atlas-theme .pa-app :is(p,span,label,dt,dd,small,.pa-app-kicker,.pa-live-mark) {color:var(--text-light)}
:root .proof-atlas-theme .pa-app :is(h2,h3,strong) {color:var(--text)}
:root .proof-atlas-theme .pa-app :is(button,input,select) {font-family:var(--sans);color:var(--text);background:var(--bg);border-color:var(--border);min-height:44px;box-shadow:none}
:root .proof-atlas-theme .pa-app :is(button:hover,button.is-active,.pa-reader-tabs button[aria-selected="true"]) {color:var(--accent);background:var(--accent-light);border-color:var(--accent)}
:root .proof-atlas-theme :is(.pa-hover-dock,.pa-tooltip,.pa-branch-hud) {background:var(--bg);color:var(--text);border-color:var(--border);box-shadow:0 2px 8px #0001}
:root .proof-atlas-theme :is(.pa-hover-dock,.pa-tooltip,.pa-branch-hud) :is(p,strong,h3,span) {color:var(--text)}
:root .proof-atlas-theme :is(.pa-reader .pr-callout,.pa-reader .pr-card,.pa-reader .pr-term-row,.pa-reader .pr-context,.pa-reader .pr-metric,.pa-reader blockquote,.pa-reader .pr-article-quote) {background:var(--fig-bg);color:var(--text);border-color:var(--border)}
:root .proof-atlas-theme .pa-reader :is(h1,h2,h3,h4,p,li,dt,dd,summary,.pr-subtree-meta,.pr-term-index,.pr-term-role) {color:var(--text)}
:root .proof-atlas-theme .pa-reader :is(pre,code) {background:var(--fig-bg);color:var(--text);font-family:var(--mono)}
:root .proof-atlas-theme .pa-reader :is(a,.pr-kicker,.pr-eyebrow) {color:var(--accent)}
:root .proof-atlas-theme .pl-canvas-wrap {background:var(--fig-bg);border:1px solid var(--border);border-radius:3px}
:root .proof-atlas-theme :is(.pow-shell,.pl-library) :is(.pow-status,.pow-viewport,.pow-inspector pre,.poc-stage-types) {border-color:var(--border);background:var(--fig-bg);color:var(--text)}
:root .proof-atlas-theme .pow-status {border-left-color:var(--accent)}
:root .proof-atlas-theme .pow-card {border-top-color:var(--accent)}
:root .proof-atlas-theme .pow-card:is([data-constructor="lam"],[data-constructor="forallE"],[data-constructor="letE"]) {border-top-color:var(--accent-warm)}
:root .proof-atlas-theme .pow-card[data-constructor="bvar"] {border-top-color:var(--text-light)}
:root .proof-atlas-theme :is(.pow-card>[aria-pressed="true"],.pow-shell :focus-visible) {outline-color:var(--accent)}
:root .proof-atlas-theme .pow-shell button:hover {border-color:var(--accent)}
:root .proof-atlas-theme :is(.pow-shell,.pl-library) :is(button,select,input) {min-height:44px;font-family:var(--sans)}
:root .proof-atlas-theme :is(a,button,input,select,summary,[tabindex="0"]):focus-visible {outline-color:var(--accent)}

/* Program and evidence have a short reading route and a separate technical index. */
.atlas-reading-route {display:flex;flex-wrap:wrap;gap:.4rem 1rem;padding:0;margin:1.25rem 0 2rem;list-style:none;font:500 .95rem/1.6 var(--sans)}
.atlas-reading-route li {font:inherit;margin:0}
.atlas-reading-route a {padding:.4rem 0;display:inline-block}
.atlas-program-intro {max-width:680px}
.atlas-evidence-controls {display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin:1.5rem 0;font:500 .9rem/1.5 var(--sans)}
.atlas-evidence-controls input {width:100%;max-width:34rem;padding:.7rem .9rem;border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}
.atlas-evidence-controls button {padding:.6rem .8rem;border:1px solid var(--border);border-radius:3px;background:var(--bg);color:var(--text);font:inherit;cursor:pointer}
.atlas-evidence-controls button[aria-pressed="true"] {border-color:var(--accent);background:var(--accent-light);color:var(--accent)}
.atlas-evidence-group {margin:2rem 0;scroll-margin-top:1rem}
.atlas-evidence-group>h2 {font:600 1.3rem/1.4 var(--sans);margin-bottom:1rem}
.atlas-evidence-entry {margin:.6rem 0;font-size:.98rem}
.atlas-evidence-entry>summary {font:500 1rem/1.5 var(--sans);padding:.65rem 0;cursor:pointer;color:var(--text)}
.atlas-evidence-entry[open] {margin-bottom:2rem}
.atlas-evidence-entry[open]>summary {color:var(--accent)}
.atlas-evidence-entry>h2 {font-size:1.35rem;margin-top:1rem}
.atlas-evidence-entry p {font-size:1rem}
.atlas-evidence-entry pre {max-width:100%;overflow:auto}
.atlas-evidence-group[hidden],.atlas-evidence-entry[hidden] {display:none}
.atlas-program-links {margin-top:2rem;font-family:var(--sans)}
.atlas-overview-route {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2rem 0 3rem}
.atlas-overview-route article {min-width:0}
.atlas-overview-route small {font:500 .85rem/1.5 var(--sans);color:var(--text-muted)}
.atlas-overview-route h2 {font:600 1.25rem/1.35 var(--sans);margin:.5rem 0}
.atlas-overview-route p {font:400 1rem/1.65 var(--serif)}
@media(max-width:700px) {
 :root .proof-atlas-theme :is(.pa-language-hero,.pa-grammar-hero,.pa-manual) {padding:32px 20px}
 :root .proof-atlas-theme .pm-rule-grid,:root .proof-atlas-theme .pm-constructor-grid,.atlas-overview-route {grid-template-columns:minmax(0,1fr)}
 :root .proof-atlas-theme :is(.pow-shell,.pl-library) :is(button,select,input),:root .proof-atlas-theme .pa-app :is(button,input,select) {min-height:44px}
 .pm-math {padding:1rem .6rem;font-size:.9rem}
 .atlas-reading-route {gap:.3rem .8rem}
 .atlas-overview-route {gap:1.5rem}
}
@media print {.atlas-evidence-controls {display:none}.atlas-evidence-entry>* {display:block!important}}

:root .proof-atlas-theme .pm-math .katex-display{overflow:visible;max-width:none}
:root .proof-atlas-theme .pm-node rect{stroke:var(--text-muted)}

:root .proof-atlas-theme .pa-reader-footer{background:var(--bg);color:var(--text-light);border-color:var(--border)}
:root .proof-atlas-theme .pa-reader-toggle{background:var(--bg)!important;color:var(--text)!important;border-color:var(--border)!important}
:root .proof-atlas-theme .pa-reader-tabs button.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}
:root .proof-atlas-theme .pa-reader :is(.pr-badge,.pr-stat,.pr-syntax-card,.pr-disclaimer){background:var(--fig-bg);color:var(--text);border-color:var(--border)}
:root .proof-atlas-theme .pa-reader :is(.pr-detail,.pr-rule-text,.pr-related,.pr-body,.pr-body b,.pr-heading){color:var(--text)}
:root .proof-atlas-theme .pa-reader :is(.pr-actions a,.pr-actions button){background:var(--bg);color:var(--accent);border-color:var(--border)}
:root .proof-atlas-theme .pa-reader .pr-code{background:var(--fig-bg);color:var(--text)}
:root .proof-atlas-theme .pa-reader .pr-code :is(.keyword,.constant){color:var(--accent)}
:root .proof-atlas-theme .pa-reader .pr-code .type{color:var(--accent-warm)}
:root .proof-atlas-theme .pa-page a{text-decoration:underline;text-underline-offset:3px}
:root .proof-atlas-theme :is(.pl-library,.pow-shell) p a{text-decoration:underline;text-underline-offset:3px}

:root .proof-atlas-theme:is(.proof-atlas-program,.proof-atlas-evidence) .l-body>h1{font:600 clamp(1.9rem,4vw,2.5rem)/1.2 var(--serif);letter-spacing:-.015em;color:var(--text)}
.atlas-evidence-controls>[role="group"]{display:flex;flex-wrap:wrap;gap:.5rem}

:root .proof-atlas-theme .atlas-overview-route h2,:root .proof-atlas-theme .research-hub .research-section>h2{border:0;padding-top:0}
:root .proof-atlas-theme .pa-syntax-legend{background:var(--bg);color:var(--text-light);border-color:var(--border)}
:root .proof-atlas-theme .pa-dot-app{background:var(--accent)}
:root .proof-atlas-theme :is(.pa-dot-const,.pa-dot-bvar,.pa-dot-lit){background:var(--text-light)}
:root .proof-atlas-theme .pa-dot-binder{background:var(--accent-warm)}
:root .proof-atlas-theme .pa-syntax-legend .pa-legend-note{color:var(--text-light)}
