:root {
  --bg: #080d16; --panel: #101925; --panel2: #152131; --ink: #eef1ec;
  --dim: #acb8c7; --faint: #8292a7; --line: #293546;
  --green: #d5eb9e; --cyan: #8fbedf; --amber: #eac39a; --red: #e6a0a0;
  --sans: Inter, "Segoe UI", system-ui, sans-serif;
  --serif: Georgia, "Times New Roman", serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --gutter: max(5vw, calc((100vw - 1280px) / 2));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; color: var(--ink); background: var(--bg); font: 16px/1.65 var(--sans); isolation: isolate; }
[hidden] { display: none !important; }
#ambient-field { position: fixed; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
a { color: inherit; text-underline-offset: .25em; }
a:hover { color: var(--green); }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
button { color: inherit; background: transparent; }
:focus-visible { outline: 2px solid var(--green); outline-offset: 5px; }
/* Evidence-led entry and readable directed graphs. */
.reading-width { max-width: 70ch; }
.compact-hero { padding-top: 3rem !important; padding-bottom: 2.5rem !important; }
.compact-hero h1 { font-size: clamp(2.5rem, 4.4vw, 4.6rem); max-width: 1000px; }
.hero.research-hero { align-items: start; padding-top: 4rem; }
.research-hero > * { min-width: 0; }
.hero.research-hero h1 { font-size: clamp(3rem, 5.1vw, 5.3rem); }
.research-hero .hero-deck { max-width: 600px; margin: 1.5rem 0; }
.featured-result { background: #111b28ec; border: 1px solid var(--line); border-top: 3px solid var(--green); padding: 2.4rem; border-radius: 4px; }
.featured-result h2 { font-size: clamp(2rem, 3vw, 3rem); }
.featured-result p { font-size: .94rem; }
.sign-input { display: flex; gap: .5rem; margin: 1.5rem 0; }
.sign-input span { display: grid; place-items: center; flex: 1; min-width: 0; max-width: 2.2rem; aspect-ratio: 1; border: 1px solid #7d925d; color: var(--green); border-radius: 50%; }
.sign-input span:nth-last-child(-n+2) { border-color: #839fb5; color: var(--cyan); }
.sign-output { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); margin: 1.5rem 0; padding: 1rem 0; gap: 1rem; }
.sign-output dd { margin: 0; font: 2.5rem var(--mono); color: var(--green); }
.sign-output dt { font-size: .8rem; color: var(--dim); margin-top: .5rem; }
.featured-result .result-limit { font-size: .8rem; border-left: 2px solid var(--amber); padding-left: 1rem; }
.plain-loop { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; padding: 0; list-style: none; counter-reset: loop; }
.plain-loop li { border-top: 1px solid var(--line); padding-top: 1rem; counter-increment: loop; }
.plain-loop li::before { content: '0' counter(loop); display: block; color: var(--green); font: .85rem var(--mono); margin-bottom: 1rem; }
.plain-loop p { font-size: .9rem; margin-top: .7rem; }
.research-now .two-column { align-items: start; }
.case-status { font-size: .84rem !important; border-left: 2px solid var(--amber); padding-left: 1rem; }
.case-choices { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.5rem; }
.case-choices a { text-decoration: none; border: 1px solid var(--line); padding: .7rem 1rem; font-size: .85rem; }
.case-choices a[aria-current] { border-color: var(--green); color: var(--green); }
.map-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-bottom: 2rem; align-items: end; }
.map-intro h2 { font-size: clamp(1.8rem, 3vw, 3rem); }
.map-intro p { max-width: 65ch; font-size: .9rem; }
.evidence-layout { display: grid; grid-template-columns: minmax(270px, .8fr) minmax(0, 1.25fr); gap: 4rem; align-items: start; }
.evidence-path { min-width: 0; }
.evidence-node { display: flex; gap: 1rem; align-items: center; border: 1px solid var(--line); padding: .85rem 1rem; border-radius: 4px; text-decoration: none; background: #101925ee; }
.evidence-node[aria-current] { border-color: var(--green); background: #202b29; }
.path-number { font: .9rem var(--mono); color: var(--green); }
.evidence-node small { display: block; color: var(--dim); font: .7rem var(--mono); margin-bottom: .3rem; }
.evidence-node strong { display: block; font-size: .93rem; font-weight: 500; }
.evidence-node.open-node { border-style: dashed; }
.evidence-edge { display: flex; align-items: center; min-height: 44px; gap: 1.2rem; padding-left: 1.6rem; font: .72rem var(--mono); color: var(--cyan); text-decoration: none; }
.evidence-edge > span:first-child { font-size: 1.7rem; line-height: 1; }
.evidence-edge[aria-current] { color: var(--green); text-decoration: underline; }
.open-edge { color: var(--amber); }
.evidence-details { min-width: 0; position: sticky; top: 110px; padding: 1.5rem 2rem; background: #101925f5; border: 1px solid var(--line); border-top: 3px solid var(--green); }
.evidence-details > .kicker { margin-bottom: .6rem; }
.evidence-detail { scroll-margin-top: 110px; margin-bottom: 2rem; }
.evidence-detail h2 { font-size: clamp(1.8rem, 2.5vw, 2.6rem); line-height: 1.15; }
.evidence-detail .detail-body { color: var(--ink); font-size: 1rem; }
.evidence-badge { font: .75rem/1.5 var(--mono); color: var(--cyan); margin-bottom: 1.2rem; }
.detail-contract { margin: 1.5rem 0; font-size: .9rem; }
.detail-contract div { border-top: 1px solid var(--line); padding: .8rem 0; }
.detail-contract dt { color: var(--green); font-weight: 500; margin-bottom: .3rem; }
.detail-contract dd { margin: 0; color: var(--dim); }
.evidence-controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); padding-top: 1.3rem; }
.evidence-controls button { border: 1px solid #607384; border-radius: 3px; padding: .7rem; font-size: .8rem; min-height: 44px; }
.evidence-controls button:disabled { opacity: .45; cursor: default; }
.case-conclusion h2, .purpose-statement h2 { max-width: 1050px; font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.25; }
.purpose-statement > p:not(.kicker) { max-width: 780px; font-size: 1.05rem; }
.relationship-key { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 3rem; margin-bottom: 2.5rem; }
.relationship-key div { border-top: 1px solid var(--line); padding-top: 1rem; }
.relationship-key dt { color: var(--green); margin-bottom: .5rem; }
.relationship-key dd { color: var(--dim); margin: 0; }
.source-ledger { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin: 2rem 0; }
.source-ledger article { border-top: 1px solid var(--line); padding-top: 1rem; }
.relationship-list { max-width: 850px; padding-left: 1.3rem; }
.relationship-list li { padding: .7rem 0; }
.observed-stages { margin-top: 2rem; }
.observed-stages li { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.observed-stages strong { color: var(--green); }
@media (max-width: 1050px) { .evidence-layout { gap: 2rem; } .site-header nav { gap: 1rem; } }
@media (max-width: 800px) {
  .research-hero { display: block; }
  .featured-result { margin-top: 2.5rem; padding: 1.5rem; }
  .plain-loop, .relationship-key, .source-ledger, .map-intro { grid-template-columns: 1fr; gap: 1.2rem; }
  .evidence-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .evidence-details { position: static; padding: 1.25rem; }
  .map-intro h2 { margin-bottom: .5rem; }
  .evidence-detail .inline-links { gap: 1rem; }
  .evidence-node { min-height: 70px; }
  .case-choices { display: grid; }
}
::selection { background: var(--green); color: var(--bg); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-weight: 400; line-height: 1.07; letter-spacing: -.055em; }
h1 { font-size: clamp(3rem, 6.2vw, 6.6rem); margin-bottom: 1.5rem; }
h2 { font-size: clamp(2rem, 3.7vw, 3.9rem); margin-bottom: 1.5rem; }
h3 { font-size: 1.3rem; font-weight: 500; line-height: 1.3; letter-spacing: -.02em; }
h1 em, h2 em { font-family: var(--serif); color: var(--green); font-weight: 400; }
p { color: var(--dim); }
small, time { color: var(--faint); }
.kicker, .section-caption, .card-index, .count-label { font: 12px/1.6 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--green); }
.kicker { margin-bottom: 1.5rem; }
.skip-link { position: fixed; left: -999px; top: 1rem; z-index: 100; background: var(--green); color: var(--bg); padding: 1rem; }
.skip-link:focus { left: 1rem; }
.site-header { min-height: 84px; padding: 0 var(--gutter); display: flex; justify-content: space-between; align-items: center; gap: 2rem; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; background: rgba(8,13,22,.95); backdrop-filter: blur(16px); }
.wordmark { display: flex; gap: .8rem; align-items: center; text-decoration: none; font-size: 1.55rem; letter-spacing: -.045em; white-space: nowrap; }
.brand-orbit { color: var(--green); font-size: 2rem; }
.brand-math { color: var(--faint); font-size: .9rem; letter-spacing: -.015em; }
.site-header nav { display: flex; gap: 1.5rem; align-items: center; }
.site-header nav a { font-size: .8rem; text-decoration: none; color: var(--dim); padding: 1.7rem 0; border-bottom: 2px solid transparent; white-space: nowrap; }
.site-header nav a:hover, .site-header nav a[aria-current="page"] { color: var(--green); border-bottom-color: var(--green); }
.menu-toggle { display: none; border: 1px solid var(--line); border-radius: 4px; padding: .55rem .8rem; }
.site-status { padding: .7rem var(--gutter); border-bottom: 1px solid rgba(41,53,70,.5); display: flex; gap: .6rem; align-items: center; color: var(--faint); font: 10px/1.5 var(--mono); letter-spacing: .02em; }
.site-status time { margin-left: auto; }
.status-indicator { width: 6px; height: 6px; border-radius: 50%; background: var(--amber); flex-shrink: 0; }
.status-indicator.fresh { background: var(--green); box-shadow: 0 0 9px #d5eb9e40; }
.hero { padding: 5.5rem var(--gutter) 6rem; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 3vw; min-height: 720px; }
.hero h1 { font-size: clamp(3.4rem, 6.5vw, 7rem); line-height: 1.02; }
.hero-deck { max-width: 470px; font-size: 1.05rem; margin: 2rem 0; }
.hero-map { min-width: 0; }
.hero-constellation { width: 100%; overflow: visible; }
.orbit-lines { stroke: var(--line); fill: none; stroke-dasharray: 2 8; }
.constellation-lines { stroke: #55728b; stroke-width: 1; fill: none; opacity: .7; }
.constellation-points { fill: var(--cyan); }
.core-point { fill: var(--green); filter: drop-shadow(0 0 12px #d5eb9e66); animation: breathe 7s ease-in-out infinite; transform-origin: 310px 252px; }
.constellation-labels { fill: var(--dim); font: 12px var(--mono); }
.core-label { fill: var(--green); }
.diagram-caption { fill: var(--faint); font: 11px var(--mono); color: var(--faint); }
.map-caption { display: flex; justify-content: space-between; border-block: 1px solid var(--line); padding: 1rem 0; color: var(--faint); text-decoration: none; font: 11px var(--mono); }
.hero-actions, .inline-links { display: flex; align-items: center; flex-wrap: wrap; gap: 1.5rem; }
.button { display: inline-flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 1rem 1.4rem; background: var(--green); color: #142017; border: 1px solid var(--green); border-radius: 3px; text-decoration: none; font-weight: 600; font-size: .85rem; }
.button:hover { background: #e5f6bd; color: #142017; }
.button-outline { background: none; color: var(--green); border-color: #687751; }
.text-link, .inline-links > a:not(.button) { font-size: .82rem; text-decoration: none; border-bottom: 1px solid #586774; padding-bottom: .25rem; }
.section-link { display: inline-block; margin-top: 2rem; }
.section { padding: 5rem var(--gutter); border-bottom: 1px solid var(--line); }
.section-heading { display: grid; grid-template-columns: 1.4fr 1fr; gap: 4rem; align-items: end; margin-bottom: 3rem; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > p { margin-bottom: .1rem; max-width: 450px; font-size: .95rem; }
.section-heading > .text-link, .section-heading > .count-label { justify-self: end; }
.pulse-strip { padding: 2rem var(--gutter); background: #111b28d9; border-block: 1px solid var(--line); }
.section-caption { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; color: var(--faint); font-size: 10px; }
.pulse-strip dl { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.pulse-strip dl > div { border-left: 1px solid var(--line); padding: 0 1.8rem; }
.pulse-strip dl > div:first-child { padding-left: 0; border: 0; }
.pulse-strip dt { color: var(--dim); font-size: .76rem; }
.pulse-strip dd { margin: .3rem 0; font: 400 clamp(1.8rem, 2.8vw, 3rem)/1.3 var(--mono); letter-spacing: -.07em; }
.pulse-strip dd small { font-size: 1rem; margin-left: .3rem; }
.pulse-strip dl p { font-size: .72rem; max-width: 210px; margin: .6rem 0 0; color: var(--faint); }
.dream-grid { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
.dream-card { padding: 2rem; background: #0c1420cc; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.dream-card:last-child { border: 0; }
.card-index { color: var(--faint); font-size: 10px; margin-bottom: 2.5rem; }
.dream-card h3 { font-size: 1.5rem; }
.dream-card a { text-decoration: none; }
.dream-card p { font-size: .85rem; }
.dream-card time { margin-top: auto; padding-top: 1rem; font: 10px var(--mono); }
.idea-invitation, .two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 6vw; align-items: center; }
.idea-invitation p { max-width: 480px; }
.growth-preview { margin: 0; padding: 0 0 0 1.5rem; list-style: none; border-left: 1px solid #58674c; }
.growth-preview li { position: relative; padding: 1.2rem 0 1.2rem 2.5rem; }
.growth-preview li:before { content: ""; position: absolute; left: -1.8rem; top: 1.6rem; width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.growth-preview span { display: inline-block; width: 2.2rem; font: .7rem var(--mono); color: var(--green); }
.growth-preview strong { font-size: 1.4rem; font-weight: 400; }
.growth-preview p { margin: .5rem 0 0 2.2rem; font-size: .85rem; }
.correction-feature { border-left: 4px solid var(--amber); background: linear-gradient(110deg, #2a261e80, transparent); }
.correction-feature h2 em { color: var(--amber); }
.correction-feature > p:not(.kicker) { max-width: 720px; }
.door-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.door-grid a { display: flex; flex-direction: column; text-decoration: none; padding: 2rem; border: 1px solid var(--line); background: #10192580; transition: border-color .2s, transform .2s; }
.door-grid a:hover { border-color: var(--green); transform: translateY(-3px); }
.door-grid span { font: 10px var(--mono); color: var(--faint); text-transform: uppercase; }
.door-grid h3 { margin: 2.5rem 0 1rem; font-size: 1.5rem; color: var(--ink); }
.door-grid b { font-size: .8rem; font-weight: 400; color: var(--green); margin-top: auto; }
.door-grid p { font-size: .85rem; }
.writing-row { display: grid; grid-template-columns: 160px 1fr 30px; gap: 2rem; border-top: 1px solid var(--line); padding: 1.5rem 0; text-decoration: none; align-items: center; }
.writing-row > span:first-child { font: 11px var(--mono); color: var(--faint); }
.writing-row h3 { margin: 0; }
.page-hero { padding: 5rem var(--gutter) 4rem; border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 1050px; }
.page-hero > p:not(.kicker) { max-width: 780px; font-size: 1.05rem; }
.page-hero .inline-links { margin-top: 2rem; }
.archive-tools { display: grid; grid-template-columns: 2fr 1fr auto; gap: 1.5rem; align-items: end; }
.archive-tools label { display: flex; flex-direction: column; gap: .7rem; color: var(--dim); font: 11px var(--mono); text-transform: uppercase; }
input, select { min-height: 48px; background: var(--panel); color: var(--ink); border: 1px solid #455469; border-radius: 3px; padding: .75rem 1rem; font: .9rem var(--sans); min-width: 0; }
input::placeholder { color: var(--faint); }
.archive-tools > p { color: var(--green); font: 12px var(--mono); }
.archive-note { font-size: .8rem; color: var(--faint); max-width: 850px; margin: 1.8rem 0; }
.dream-list { margin-top: 3rem; }
.dream-item { display: grid; grid-template-columns: 230px 1fr; gap: 3rem; border-top: 1px solid var(--line); padding: 2.6rem 0; scroll-margin-top: 100px; }
.dream-item:target { border-top-color: var(--green); background: #d5eb9e08; }
.dream-meta { display: flex; flex-direction: column; gap: .6rem; font: 11px/1.7 var(--mono); color: var(--green); }
.dream-meta a { color: var(--faint); }
.dream-item h2 { font: 500 1.65rem/1.3 var(--sans); letter-spacing: -.03em; max-width: 850px; }
.dream-item p { max-width: 850px; }
.lead-label { display: inline-block; border: 1px solid #465236; color: var(--green); font: 10px var(--mono); border-radius: 20px; padding: .4rem .7rem; }
.run-measures, .recent-runs { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); }
.run-measures > div, .recent-runs > a { padding: 1.5rem; border-right: 1px solid var(--line); }
.run-measures strong, .recent-runs strong { display: block; font: 400 2.4rem var(--mono); color: var(--green); margin-bottom: .5rem; letter-spacing: -.05em; }
.run-measures span, .recent-runs small { display: block; color: var(--dim); font-size: .75rem; }
.recent-runs a { text-decoration: none; }
.recent-runs span { color: var(--amber); font: 12px var(--mono); }
.run-journal article { display: grid; grid-template-columns: 1fr 1.5fr; gap: 2rem; border-top: 1px solid var(--line); padding: 2rem 0; }
.run-journal h3 { margin: .5rem 0; font-size: 1.7rem; }
.run-journal time { font: 11px var(--mono); }
.run-journal dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0; align-items: center; }
.run-journal dt { color: var(--faint); font-size: .75rem; }
.run-journal dd { margin: .4rem 0 0; font: 1.6rem var(--mono); }
.connection-totals strong { font: 400 clamp(3rem,5vw,5rem) var(--mono); letter-spacing: -.08em; color: var(--green); }
.connection-totals p { font-size: 1.2rem; margin: 1rem 0; }
.graph-section { padding-top: 2rem; }
.graph-toolbar, .graph-legend { display: flex; justify-content: space-between; gap: 1rem; align-items: center; font: 11px/1.6 var(--mono); color: var(--dim); padding: 1rem 0; }
.graph-toolbar button, .growth-step-actions button { border: 1px solid #52617a; padding: .5rem .8rem; border-radius: 3px; font-size: .75rem; }
.network-stage { background: radial-gradient(ellipse at 50% 45%, #1f354377, #0c152277); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
#idea-network { width: 100%; display: block; min-height: 320px; }
.network-edge line, .network-edge path { fill: none; stroke: #90b2ca; stroke-width: 1.5; opacity: .6; }
.context-edge path { stroke-dasharray: 6 7; stroke: #9aabb9; }
.network-node { cursor: pointer; }
.network-node circle { fill: var(--cyan); }
.network-node .node-halo { fill: none; stroke: #8fbedf55; }
.central-node circle { fill: var(--green); }
.network-node text { fill: var(--ink); font: 13px var(--sans); }
.network-node .node-role { fill: var(--faint); font: 11px var(--mono); }
.network-node[aria-pressed="true"] .node-halo { stroke: var(--green); stroke-width: 2; }
.network-edge.is-selected line, .network-edge.is-selected path { stroke: var(--green); stroke-width: 2.5; opacity: 1; }
.is-muted { opacity: .14; }
.legend-solid:before, .legend-dashed:before { content: ""; width: 28px; display: inline-block; border-top: 1px solid var(--cyan); margin-right: .7rem; vertical-align: middle; }
.legend-dashed:before { border-top-style: dashed; }
.graph-selection { border-left: 2px solid var(--green); padding: 1rem 1.2rem; background: #d5eb9e06; font-size: .85rem; margin: 2rem 0; }
.node-list { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; }
.node-list button { text-align: left; border: 1px solid var(--line); padding: 1rem; background: var(--panel); display: flex; flex-direction: column; gap: .6rem; }
.node-list span, .node-list small { font: 10px var(--mono); color: var(--faint); }
.node-list strong { font-size: .83rem; font-weight: 500; line-height: 1.5; }
.connection-ledger { font: 12px/1.7 var(--mono); color: var(--dim); margin: 2rem 0 0; padding: 1rem 0; border-top: 1px solid var(--line); }
.connection-ledger summary { cursor: pointer; }
.edge-census { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.edge-census article { padding: 1.5rem; background: var(--bg); }
.edge-census strong { font: 2rem var(--mono); color: var(--green); }
.edge-census h3 { margin: 1rem 0; font-size: 1rem; }
.edge-census p { font-size: .8rem; }
.edge-census span { font: 10px var(--mono); color: var(--faint); }
.growth-section { padding-top: 2rem; }
.growth-controls { display: grid; grid-template-columns: repeat(5,1fr); border: 1px solid var(--line); }
.growth-controls button { padding: 1rem; text-align: left; border: 0; border-right: 1px solid var(--line); font-size: .8rem; }
.growth-controls span { display: block; font: 11px var(--mono); color: var(--faint); margin-bottom: .4rem; }
.growth-controls button[aria-pressed="true"] { background: var(--green); color: #18251b; }
.growth-controls button[aria-pressed="true"] span { color: #3d503c; }
.growth-layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 3rem; align-items: center; padding-top: 3rem; }
.growth-canvas svg { width: 100%; overflow: visible; }
.growth-canvas .diagram-caption { text-align: center; font-size: 10px; }
.growth-wires path { stroke: #6c8b9e; stroke-width: 1.5; fill: none; }
.growth-wires .bridge { stroke: var(--green); stroke-width: 2; stroke-dasharray: 5 5; }
.growth-source circle { fill: #36472e; stroke: var(--green); stroke-width: 1.5; }
.growth-canvas text { fill: var(--ink); font: 14px var(--mono); }
.growth-port circle { fill: var(--green); }
.growth-port text, .growth-test text { fill: var(--dim); font-size: 12px; }
.growth-partner circle { fill: #22384d; stroke: var(--cyan); }
.growth-partner .bridge-label { fill: var(--green); font-size: 11px; }
.growth-test circle { fill: var(--amber); }
.growth-canvas .return-label { fill: var(--green); font-size: 12px; }
[class*="show-stage-"] { opacity: .06; transition: opacity .65s ease; }
[data-stage="1"] .show-stage-1, [data-stage="2"] .show-stage-1, [data-stage="3"] .show-stage-1, [data-stage="4"] .show-stage-1,
[data-stage="2"] .show-stage-2, [data-stage="3"] .show-stage-2, [data-stage="4"] .show-stage-2,
[data-stage="3"] .show-stage-3, [data-stage="4"] .show-stage-3, [data-stage="4"] .show-stage-4 { opacity: 1; }
.growth-copy article { min-height: 370px; }
.growth-copy h2 { font-size: clamp(1.8rem,2.7vw,2.8rem); }
.growth-copy p { font-size: .9rem; }
.takeaway { border-left: 2px solid var(--green); padding-left: 1rem; color: var(--green); margin-top: 2rem; }
.growth-step-actions { display: flex; justify-content: space-between; align-items: center; gap: .8rem; font: 11px var(--mono); color: var(--faint); }
button:disabled { opacity: .35; cursor: default; }
.library-item { display: grid; grid-template-columns: 190px 1fr 30px; gap: 2.5rem; padding: 2.7rem 0; border-top: 1px solid var(--line); }
.entry-meta { display: flex; flex-direction: column; gap: .6rem; font: 11px/1.5 var(--mono); color: var(--green); }
.library-item h3 { font-size: 1.9rem; max-width: 830px; }
.library-item h3 a { text-decoration: none; }
.library-item p { max-width: 850px; font-size: .93rem; }
.tag-list, .prose-page header ul { display: flex; gap: .5rem; flex-wrap: wrap; list-style: none; padding: 0; }
.tag-list li, .prose-page header li { border: 1px solid var(--line); padding: .2rem .6rem; font: 10px/1.6 var(--mono); color: var(--faint); border-radius: 15px; }
.entry-arrow { text-decoration: none; font-size: 1.6rem; color: var(--green); }
.paper-entry { border-top-color: var(--green); background: #d5eb9e05; padding-inline: 1.5rem; }
.finding-record > article { display: grid; grid-template-columns: 1.7fr 1fr; gap: 4rem; padding: 3rem 0; border-top: 1px solid var(--line); }
.finding-record h3 { font-size: 1.6rem; }
.finding-record aside { padding-left: 2rem; border-left: 1px solid var(--line); }
.finding-record aside span { font: 11px var(--mono); text-transform: uppercase; color: var(--amber); }
.finding-record aside p { font-size: .86rem; margin: .7rem 0 1.8rem; }
blockquote { margin: 2rem 0; padding: 1.3rem 1.6rem; background: #8fbedf0c; border-left: 2px solid var(--cyan); color: var(--ink); font-size: .95rem; }
.scope-locks ul { columns: 2; column-gap: 4rem; padding-left: 1rem; color: var(--dim); }
.scope-locks li { padding: .5rem; break-inside: avoid; font-size: .9rem; }
.prose-page { padding: 5rem var(--gutter); }
.prose-page header { max-width: 1000px; margin: 0 auto 4rem; }
.prose-page h1 { font-size: clamp(2.8rem,5vw,5rem); }
.prose-page .dek { max-width: 850px; font-size: 1.2rem; }
.prose, .citation, .entry-next { max-width: 780px; margin-inline: auto; }
.prose { font-size: 1.08rem; line-height: 1.85; }
.prose h2 { font-size: 2rem; margin: 3rem 0 1.5rem; }
.prose h3 { margin-top: 2rem; }
.prose li { margin-bottom: .6rem; color: var(--dim); }
.prose code { font-size: .85em; color: var(--green); overflow-wrap: anywhere; }
.prose pre { white-space: pre-wrap; overflow-wrap: anywhere; background: var(--panel); padding: 1.5rem; }
.prose table { border-collapse: collapse; width: 100%; font-size: .83rem; }
.prose th, .prose td { border-bottom: 1px solid var(--line); padding: .7rem; text-align: left; }
.citation { border-left: 2px solid var(--green); padding: 1rem 1.5rem; background: var(--panel); margin-top: 3rem; }
.citation span { font: 11px var(--mono); color: var(--green); }
.citation p { margin: .7rem 0 0; font-size: .85rem; overflow-wrap: anywhere; }
.entry-next { display: flex; gap: 1.5rem; flex-wrap: wrap; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-size: .8rem; }
.entry-next span { color: var(--faint); margin-right: auto; }
.loop-story, .decision-protocol, .fork-explainer, .definition-ledger, .scope-callout, .identity-grid, .policy-grid { padding: 5rem var(--gutter); border-bottom: 1px solid var(--line); }
.loop-story, .decision-protocol, .fork-explainer { display: grid; grid-template-columns: 1fr 1.4fr; gap: 5vw; }
.loop-story ol, .decision-protocol ol { padding: 0; margin: 0; list-style: none; }
.loop-story li, .decision-protocol li { padding: 1.7rem 0; border-top: 1px solid var(--line); }
.loop-story li > span, .decision-protocol li > span { color: var(--green); font: 11px var(--mono); }
.loop-story h3, .decision-protocol h3 { margin: .7rem 0; }
.decision-protocol strong { color: var(--amber); font-size: .85rem; font-weight: 400; }
.fork-paths article { padding: 1.5rem; border: 1px solid var(--line); margin-bottom: 1rem; }
.fork-paths span { color: var(--green); font-size: .85rem; }
.fork-paths p { margin: 1rem 0 0; font-size: .9rem; }
.definition-ledger dl { margin-top: 3rem; }
.definition-ledger dl > div { display: grid; grid-template-columns: 220px 1fr; gap: 3rem; border-top: 1px solid var(--line); padding: 1.5rem 0; }
.definition-ledger dt { color: var(--green); }
.definition-ledger dd { margin: 0; }
.definition-ledger dd p { margin-bottom: .5rem; }
.scope-callout { background: #152131a0; }
.scope-callout h2 { max-width: 900px; }
.scope-callout > p:last-child { max-width: 850px; }
.identity-grid, .policy-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 3rem; }
.identity-grid h2, .policy-grid h2 { font-size: 1.6rem; }
.identity-grid article > span { color: var(--green); font: 11px var(--mono); text-transform: uppercase; }
.identity-grid article p { margin-top: 1rem; }
.about-hero h1 { max-width: 850px; }
.organism-view { padding: 0 var(--gutter) 4rem; }
.organism-stage { height: 620px; position: relative; border: 1px solid var(--line); overflow: hidden; }
.organism-stage canvas { width: 100%; height: 100%; display: block; }
#motion-toggle { position: absolute; right: 1rem; top: 1rem; padding: .5rem .8rem; font: 11px var(--mono); border: 1px solid var(--line); background: #080d16dd; }
.canvas-instruction { position: absolute; left: 1.5rem; bottom: 1rem; font: 11px var(--mono); }
.organism-console { display: grid; grid-template-columns: 1fr 2fr; border: 1px solid var(--line); }
.station-rail { display: flex; flex-direction: column; }
.station-button { display: flex; gap: 1rem; text-align: left; border: 0; border-bottom: 1px solid var(--line); padding: 1rem; }
.station-button span { font: 11px var(--mono); color: var(--faint); }
.station-button strong { font-size: .8rem; font-weight: 500; }
.station-button[aria-current="true"] { background: #d5eb9e15; box-shadow: inset 2px 0 var(--green); }
.station-readout { padding: 3rem; border-left: 1px solid var(--line); background: #101925aa; }
.station-readout h2 { font-size: 2.5rem; }
.station-readout dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.station-readout dt { font: 11px var(--mono); color: var(--faint); }
.station-readout dd { margin: .5rem 0; color: var(--green); }
#station-edges { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 2rem; }
#station-edges strong { color: var(--cyan); font-weight: 400; }
.readable { max-width: 760px; }
.empty-state { padding: 2rem; border: 1px dashed var(--line); }
.site-footer { padding: 4rem var(--gutter) 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; background: #080d16ee; border-top: 1px solid var(--line); }
.footer-name { font-size: 1.8rem; letter-spacing: -.04em; text-decoration: none; }
.site-footer p { font-size: .83rem; margin-top: 1rem; }
.site-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem 2rem; font-size: .8rem; }
.site-footer nav a { text-decoration: none; color: var(--dim); }
.site-footer nav a:hover { color: var(--green); }
.footer-bottom { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 1.5rem; border-top: 1px solid var(--line); padding-top: 1.5rem; color: var(--faint); font: 10px/1.8 var(--mono); }
.footer-bottom > span { margin-right: auto; }
.footer-bottom button { font: inherit; color: var(--dim); border: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; }
.about-page { max-width: 1600px; margin-inline: auto; padding-inline: clamp(1.5rem, 5vw, 5rem); }
.owner-seeds { border-top: 1px solid var(--line); margin-top: 4rem; padding-top: 4rem; }
.seed-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2.5rem; margin: 2rem 0; align-items: start; }
.seed-entry { border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.seed-entry summary { cursor: pointer; min-height: 70px; padding: 1rem .3rem; color: var(--green); }
.seed-entry summary span { font: .72rem var(--mono); color: var(--faint); margin-right: .6rem; }
.seed-entry summary strong { font-size: 1rem; font-weight: 500; }
.seed-entry > div { padding: 0 .5rem 1.5rem; }
.seed-entry .seed-idea { color: var(--ink); }
.seed-entry:target { border-top-color: var(--green); }
@media (max-width: 800px) { .seed-gallery { grid-template-columns: 1fr; } }
.about-page header { max-width: none; }
.about-page header h1 { font-size: clamp(2.8rem, 5vw, 4.8rem); }
.about-byline { max-width: 36rem; font: italic 1.1rem/1.6 var(--serif); color: var(--faint); }
.about-prose { max-width: none; font: 1.2rem/1.95 var(--serif); }
.about-prose p { margin-bottom: 2rem; color: #c5ced8; }
.about-prose p:first-child::first-letter { initial-letter: 3 2; -webkit-initial-letter: 3 2; color: var(--green); font-family: var(--serif); font-weight: 400; margin-right: .5rem; }
.about-prose h2 { margin-top: 3rem; font-family: var(--sans); font-size: 2.4rem; }
.about-contact { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.about-contact > a { font-size: 1.3rem; }
.about-contact > p:last-child { margin-top: 1rem; font-size: .9rem; }
@keyframes breathe { 50% { transform: scale(1.1); opacity: .7; } }
.motion-paused * { animation-play-state: paused !important; }
@media (max-width: 1100px) {
  .site-header { flex-wrap: wrap; gap: 0; padding-block: .8rem 0; }
  .site-header nav { gap: 1.1rem; }
  .site-header nav a { padding-block: 1rem; }
  .hero { min-height: 650px; gap: 1rem; }
  .hero h1 { font-size: 5.5vw; }
  .hero-actions { gap: 1rem; }
  .dream-card { padding: 1.5rem; }
  .graph-legend { flex-wrap: wrap; }
}
@media(max-width:800px) {
  :root { --gutter: 6vw; }
  .site-header { min-height: 72px; padding-block: .8rem; }
  .wordmark { font-size: 1.35rem; }
  .menu-toggle { display: block; }
  .site-header nav { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; width: 100%; padding-top: .6rem; }
  .site-header nav a { padding: .5rem 0; font-size: .82rem; }
  html.js .site-header nav:not(.is-open) { display: none; }
  .site-status { flex-wrap: wrap; gap: .4rem; font-size: 9px; }
  .site-status time { width: 100%; margin: 0 0 0 12px; }
  .hero { grid-template-columns: 1fr; padding-block: 3.5rem; min-height: 0; }
  .hero h1 { font-size: clamp(3.4rem, 12vw, 5rem); }
  .hero-map { max-width: 520px; width: 100%; margin: 1rem auto 0; }
  .hero-deck { max-width: 560px; font-size: 1rem; }
  .hero-constellation { max-height: 330px; }
  .section, .page-hero, .loop-story, .decision-protocol, .fork-explainer, .definition-ledger, .scope-callout, .identity-grid, .policy-grid { padding-block: 3.5rem; }
  .page-hero h1 { font-size: clamp(2.7rem, 10vw, 4rem); }
  .section-heading { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2rem; }
  .section-heading > .text-link, .section-heading > .count-label { justify-self: start; }
  .section-caption { flex-direction: column; gap: .4rem; }
  .pulse-strip dl { grid-template-columns: 1fr 1fr; gap: 2rem 0; }
  .pulse-strip dl > div { padding-inline: 1rem; }
  .pulse-strip dl > div:nth-child(3) { padding-left: 0; border-left: 0; }
  .pulse-strip dd { font-size: clamp(1.5rem, 5.5vw, 2.5rem); }
  .dream-grid, .door-grid, .idea-invitation, .two-column { grid-template-columns: 1fr; }
  .dream-card { border-right: 0; border-bottom: 1px solid var(--line); }
  .dream-card p { max-width: 560px; }
  .card-index { margin-bottom: 1.3rem; }
  .growth-preview { margin-top: 1.5rem; }
  .writing-row { grid-template-columns: 1fr 25px; gap: .7rem; }
  .writing-row > span:first-child { grid-column: 1/-1; }
  .writing-row h3 { font-size: 1.2rem; }
  .archive-tools { grid-template-columns: 1.3fr 1fr; gap: 1rem; }
  .archive-tools > p { grid-column: 1/-1; margin: 0; }
  .dream-item { grid-template-columns: 1fr; gap: 1rem; padding-block: 2rem; }
  .dream-meta { flex-direction: row; flex-wrap: wrap; gap: .5rem 1rem; }
  .dream-meta time { width: 100%; order: 3; }
  .dream-item h2 { font-size: 1.4rem; }
  .run-measures, .recent-runs { grid-template-columns: 1fr 1fr; }
  .run-measures > div, .recent-runs > a { border-bottom: 1px solid var(--line); padding: 1.1rem; }
  .run-measures strong { font-size: 1.8rem; }
  .run-journal article { grid-template-columns: 1fr; gap: 1.3rem; }
  .run-journal dd { font-size: 1.3rem; }
  .node-list, .edge-census { grid-template-columns: 1fr 1fr; }
  .network-stage { overflow-x: auto; }
  #idea-network { min-width: 720px; }
  .graph-toolbar { flex-direction: column; align-items: flex-start; }
  .growth-controls { grid-template-columns: repeat(5, minmax(95px, 1fr)); overflow-x: auto; }
  .growth-controls button { font-size: .7rem; padding: .8rem; }
  .growth-layout { grid-template-columns: 1fr; gap: 1rem; }
  .growth-canvas svg { max-height: 340px; }
  .growth-copy article { min-height: 330px; }
  .library-item { grid-template-columns: 1fr 25px; gap: 1rem; }
  .entry-meta { grid-column: 1/-1; flex-direction: row; flex-wrap: wrap; }
  .library-item h3 { font-size: 1.5rem; }
  .finding-record > article { grid-template-columns: 1fr; gap: 1rem; }
  .finding-record aside { padding-left: 1.2rem; }
  .scope-locks ul { columns: 1; }
  .prose-page { padding-top: 3rem; }
  .prose { font-size: 1rem; }
  .loop-story, .decision-protocol, .fork-explainer, .identity-grid, .policy-grid { grid-template-columns: 1fr; }
  .definition-ledger dl > div { grid-template-columns: 1fr; gap: .5rem; }
  .organism-stage { height: 480px; margin-top: 2rem; }
  .organism-console { grid-template-columns: 1fr; }
  .station-rail { max-height: 210px; overflow: auto; }
  .station-readout { padding: 1.5rem; border-left: 0; border-top: 1px solid var(--line); }
  #station-edges { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; gap: 2rem; padding-top: 3rem; }
  .footer-bottom { gap: .8rem 1rem; }
  .footer-bottom > span { width: 100%; }
}
@media(max-width:420px) {
  .prose th, .prose td { padding: .7rem .4rem; }
  .node-list, .edge-census { grid-template-columns: 1fr; }
  .archive-tools { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ==== Paper files: the /papers/ pages ===========================================
   app/papers.py with templates papers.html, paper-folder.html, paper-file.html and
   _paper_files.html. The frame (titles, facts, rows, page links), the delivered file's
   rendering (.paper-doc for Markdown, .json-table for JSON tables) and the server-side
   highlighting: Pygments token classes under .code, in the site's palette. A line's number
   is drawn from its data-n attribute, so it is never selected or copied with the code.
   Code scrolls sideways inside its own box; the page itself never does. */
.paper-files { padding: 3.5rem var(--gutter) 5rem; }
.paper-files > * { min-width: 0; }
.paper-crumbs { display: flex; flex-wrap: wrap; gap: .3rem .8rem; margin-bottom: 2.5rem; font: 11px/1.7 var(--mono); color: var(--faint); }
.paper-crumbs a { color: var(--dim); text-decoration: none; }
.paper-crumbs a:hover { color: var(--green); }
.paper-crumbs > * + *::before { content: "/"; margin-right: .8rem; color: #4a5a6e; }
.paper-crumbs span { overflow-wrap: anywhere; }
.paper-files-head { max-width: 1000px; margin-bottom: 2.5rem; }
.paper-files-head .kicker { margin-bottom: 1rem; }
.paper-files-head h1 { font-size: clamp(2rem, 4.4vw, 3.6rem); letter-spacing: -.04em; overflow-wrap: anywhere; }
.paper-files-what { max-width: 780px; font-size: 1.05rem; color: var(--dim); }
.paper-files-head .inline-links { margin-top: 1.5rem; }
.paper-facts { display: grid; gap: .45rem; max-width: 900px; margin: 1.2rem 0; }
.paper-facts > div { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: 1rem; align-items: baseline; }
.paper-facts dt { font: 11px/1.8 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--faint); }
.paper-facts dd { min-width: 0; margin: 0; color: var(--dim); font-size: .88rem; }
.paper-facts code { font: .78rem/1.6 var(--mono); color: var(--ink); overflow-wrap: anywhere; word-break: break-all; }
.paper-group { margin-top: 3rem; }
.paper-group h2 { font-size: clamp(1.6rem, 2.6vw, 2.4rem); margin-bottom: 1rem; }
.paper-rows { list-style: none; margin: 0; padding: 0; }
.paper-row { border-top: 1px solid var(--line); padding: 1.3rem 0; }
.paper-row-name { margin: 0 0 .3rem; color: var(--ink); font-size: 1.05rem; overflow-wrap: anywhere; }
.paper-row-name a { text-decoration-color: #586774; }
.paper-row-path { margin-left: .6rem; font: 11px var(--mono); color: var(--faint); }
.paper-row-what { max-width: 780px; margin: .2rem 0 .4rem; font-size: .92rem; }
.paper-row-meta { margin: 0; font: 11px/1.8 var(--mono); color: var(--faint); }
.paper-row .paper-facts { margin: .6rem 0; }
.paper-row-links { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; margin: .4rem 0 0; font-size: .82rem; }
.paper-row-links a { text-decoration: none; border-bottom: 1px solid #586774; padding-bottom: .1rem; }
.paper-row-outputs { margin: 1rem 0 0 1.2rem; padding-left: 1rem; border-left: 2px solid var(--line); }
.paper-row-label { margin: 0 0 .2rem; font: 11px/1.8 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--green); }
.paper-row-outputs .paper-row { padding: .9rem 0; }
.paper-row-outputs .paper-row:first-child { border-top: 0; }
.paper-view-label { margin: 2.5rem 0 1rem; font: 12px/1.6 var(--mono); letter-spacing: .09em; text-transform: uppercase; color: var(--green); }
.paper-file { min-width: 0; margin-top: 1.5rem; }
.paper-pages { margin: 2rem 0; padding: 1rem 1.2rem; border: 1px solid var(--line); background: #101925cc; }
.paper-pages-count { margin: 0 0 .6rem; font: 11px/1.7 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--green); }
.paper-pages-list { display: grid; gap: .35rem; list-style: none; margin: 0 0 .8rem; padding: 0; font-size: .82rem; }
.paper-pages-list li { display: flex; gap: .8rem; align-items: baseline; color: var(--dim); }
.paper-pages-list a { flex: 0 0 2.6rem; padding: .15rem 0; border: 1px solid var(--line); text-align: center; text-decoration: none; font: .78rem var(--mono); }
.paper-pages-list a[aria-current] { border-color: var(--green); color: var(--green); }
.paper-pages-list span { min-width: 0; overflow-wrap: anywhere; }
.paper-pages-step { display: flex; gap: 1rem; margin: 0; font-size: .85rem; }
.paper-pages-step a[rel="next"] { margin-left: auto; }
.paper-pages-compact .paper-pages-count { margin-bottom: .3rem; }
.checker-layout { display: grid; gap: 2.5rem; margin-top: 1.5rem; }
.checker-layout > * { min-width: 0; }
.checker-program > .paper-file:first-child, .checker-outputs > .paper-view-label:first-child { margin-top: 0; }
.checker-output { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.checker-output h3 { margin-bottom: .4rem; font-size: 1.1rem; overflow-wrap: anywhere; }
.checker-output .paper-view-label { margin-top: 1.5rem; }
@media (min-width: 1100px) {
  .checker-layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; }
}
/* A delivered Markdown document. */
.paper-doc { max-width: 860px; color: var(--dim); font-size: 1rem; line-height: 1.75; overflow-wrap: break-word; }
.paper-doc h2, .paper-doc h3, .paper-doc h4, .paper-doc h5, .paper-doc h6 { margin: 2.2rem 0 1rem; color: var(--ink); font-weight: 500; line-height: 1.25; letter-spacing: -.02em; }
.paper-doc h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 400; letter-spacing: -.035em; }
.paper-doc h3 { font-size: 1.4rem; }
.paper-doc h4 { font-size: 1.15rem; }
.paper-doc h5, .paper-doc h6 { font-size: 1rem; }
.paper-doc > :first-child { margin-top: 0; }
.paper-doc p, .paper-doc li { color: var(--dim); }
.paper-doc li { margin-bottom: .5rem; }
.paper-doc strong { color: var(--ink); font-weight: 600; }
.paper-doc a { color: var(--ink); }
.paper-doc code { font: .86em var(--mono); color: var(--green); }
.paper-doc pre { overflow-x: auto; margin: 1.2rem 0; padding: 1rem 1.2rem; white-space: pre; overflow-wrap: normal; background: var(--panel); border: 1px solid var(--line); font: .8rem/1.6 var(--mono); }
.paper-doc pre code { color: var(--ink); font-size: inherit; }
.paper-doc table { display: block; width: max-content; max-width: 100%; overflow-x: auto; margin: 1.5rem 0; border-collapse: collapse; font-size: .85rem; line-height: 1.55; }
.paper-doc th, .paper-doc td { padding: .5rem .7rem; border: 1px solid var(--line); vertical-align: top; }
.paper-doc th { color: var(--ink); background: var(--panel); font-weight: 500; }
.paper-doc th:not([align]) { text-align: left; }
.paper-doc hr { margin: 2rem 0; border: 0; border-top: 1px solid var(--line); }
.paper-doc .math { color: var(--ink); font: .9em var(--mono); }
.paper-doc .math.display { display: block; overflow-x: auto; margin: .8rem 0; padding: .6rem .9rem; white-space: pre-wrap; background: #8fbedf0c; border-left: 2px solid var(--line); }
/* A JSON file's flat parts as tables. */
.json-table { margin: 0 0 1.6rem; }
.json-table h3 { margin: 0 0 .5rem; color: var(--dim); font: 12px/1.6 var(--mono); letter-spacing: .02em; overflow-wrap: anywhere; }
.table-scroll { max-width: 100%; overflow-x: auto; }
.json-table table { border-collapse: collapse; font: .8rem/1.5 var(--mono); }
.json-table th, .json-table td { padding: .35rem .6rem; border: 1px solid var(--line); text-align: left; vertical-align: top; overflow-wrap: break-word; }
.json-table thead th { color: var(--ink); background: var(--panel); font-weight: 500; white-space: nowrap; }
.json-table th[scope="row"] { min-width: 12ch; color: var(--cyan); font-weight: 400; overflow-wrap: anywhere; }
.json-table td { min-width: 6ch; max-width: 60ch; color: var(--ink); }
.json-table td.num { color: var(--amber); text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* Highlighted code and text. */
.code-scroll { overflow-x: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 4px; }
.code { width: max-content; min-width: 100%; margin: 0; padding: .9rem 1.2rem .9rem 0; color: var(--ink); font: .78rem/1.6 var(--mono); white-space: pre; overflow-wrap: normal; tab-size: 4; }
.code code { font: inherit; color: inherit; }
.code [data-n]::before { content: attr(data-n); display: inline-block; position: sticky; left: 0; box-sizing: content-box; margin-right: 1rem; padding: 0 .8rem 0 1rem; color: #5d6c80; background: var(--panel); border-right: 1px solid var(--line); text-align: right; -webkit-user-select: none; user-select: none; }
.code.ln-1 [data-n]::before { width: 1ch; } .code.ln-2 [data-n]::before { width: 2ch; }
.code.ln-3 [data-n]::before { width: 3ch; } .code.ln-4 [data-n]::before { width: 4ch; }
.code.ln-5 [data-n]::before { width: 5ch; } .code.ln-6 [data-n]::before { width: 6ch; }
.code [data-n]:target { background: #d5eb9e1f; }
.code [data-n]:target::before { color: var(--green); }
.code .k, .code .kd, .code .kn, .code .kp, .code .kr, .code .kt, .code .ow, .code .bp, .code .nt { color: var(--cyan); }
.code .s, .code .s1, .code .s2, .code .sa, .code .sb, .code .sc, .code .dl, .code .sh, .code .sr, .code .ss, .code .sx { color: var(--green); }
.code .se, .code .si, .code .m, .code .mb, .code .mf, .code .mh, .code .mi, .code .il, .code .mo, .code .nd { color: var(--amber); }
.code .kc, .code .nb, .code .nf, .code .fm, .code .nc, .code .ne, .code .vm { color: var(--red); }
.code .c, .code .ch, .code .cm, .code .cp, .code .cpf, .code .c1, .code .cs, .code .sd { color: var(--faint); font-style: italic; }
.code .o, .code .na { color: var(--dim); }
.code .err { color: var(--red); }
.code.lang-tex .nb, .code.lang-tex .nv, .code.lang-tex .s, .code.lang-tex .sb { color: var(--amber); }
.code.lang-tex .m { color: var(--amber); }
@media (max-width: 800px) {
  .paper-files { padding-top: 2.5rem; }
  .paper-facts > div { grid-template-columns: 1fr; gap: 0; }
  .paper-row-outputs { margin-left: .4rem; padding-left: .8rem; }
  .code { font-size: .72rem; }
  .code [data-n]::before { margin-right: .7rem; padding: 0 .5rem 0 .6rem; }
}
