.project-header[data-astro-cid-hvtljlvu]{padding-block:3rem 2.5rem}.inner[data-astro-cid-hvtljlvu]{margin:0 auto;padding-inline:20px}.project-header[data-astro-cid-hvtljlvu] h1[data-astro-cid-hvtljlvu]{margin:0;font-family:var(--font-serif);font-size:clamp(2.25rem,5.5vw,3.5rem);font-weight:500;line-height:1.05;letter-spacing:-.01em;color:rgb(var(--black));text-wrap:balance}.project-header[data-astro-cid-hvtljlvu] .dek[data-astro-cid-hvtljlvu]{margin:.8em 0 0;max-width:80ch;text-wrap:pretty;font-size:var(--text-lg);color:rgb(var(--gray-dark))}.artifact[data-astro-cid-hvtljlvu]{margin:2rem 0 1.5rem}.artifact[data-astro-cid-hvtljlvu]:last-child{margin-bottom:0}.project-section[data-astro-cid-f3rayaz7]{display:grid;grid-template-columns:var(--project-rail) minmax(0,1fr);gap:0 2.5rem;padding-block:2.5rem}.project-section[data-astro-cid-f3rayaz7]+.project-section[data-astro-cid-f3rayaz7]{border-top:1px solid rgb(var(--gray-light))}.project-section[data-astro-cid-f3rayaz7] h2[data-astro-cid-f3rayaz7]{margin:0;font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;line-height:1.2;color:rgb(var(--black));text-wrap:balance}.project-section[data-astro-cid-f3rayaz7] .body[data-astro-cid-f3rayaz7]>:first-child{margin-top:0}@media(max-width:760px){.project-section[data-astro-cid-f3rayaz7]{grid-template-columns:minmax(0,1fr);gap:.9rem}}.chart-legend[data-astro-cid-nkbdbj76]{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:6px;font-family:var(--font-mono);font-size:12.5px}.chart-legend[data-astro-cid-nkbdbj76] button[data-astro-cid-nkbdbj76]{display:flex;align-items:center;gap:7px;background:none;border:none;padding:4px 2px;color:rgb(var(--black));cursor:pointer;font-family:inherit;font-size:inherit}.chart-legend[data-astro-cid-nkbdbj76] button[data-astro-cid-nkbdbj76][aria-pressed=false]{color:rgb(var(--gray));opacity:.5}.chart-legend[data-astro-cid-nkbdbj76] .swatch[data-astro-cid-nkbdbj76]{width:11px;height:11px;border-radius:2px;flex:none}.chart-plot[data-astro-cid-nkbdbj76]{position:relative}.chart-plot[data-astro-cid-nkbdbj76] .chart-hover-line{stroke:color-mix(in srgb,rgb(var(--gray-light)) 60%,rgb(var(--gray)));stroke-width:1;opacity:0}.chart-plot[data-astro-cid-nkbdbj76] .chart-hover-line.show{opacity:1}.chart-tooltip[data-astro-cid-nkbdbj76]{position:absolute;pointer-events:none;background:rgb(var(--black));color:var(--bg);font-family:var(--font-mono);font-size:11.5px;padding:8px 10px;border-radius:6px;line-height:1.45;transform:translate(-50%,-110%);opacity:0;transition:opacity .1s ease;white-space:nowrap;z-index:4}.chart-tooltip[data-astro-cid-nkbdbj76].show{opacity:1}.filter-bar[data-astro-cid-ifcooorx]{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(6px);border-bottom:1px solid rgb(var(--gray-light));padding-block:4px 12px}.filter-bar[data-astro-cid-ifcooorx].inline{position:static;background:none;backdrop-filter:none;border-bottom:0;padding-block:0;margin-bottom:14px}.inner[data-astro-cid-ifcooorx]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 24px;margin:0 auto;padding-inline:20px}.inline[data-astro-cid-ifcooorx] .inner[data-astro-cid-ifcooorx]{padding-inline:0}.filter-chips[data-astro-cid-ifcooorx]{display:flex;gap:20px;min-width:0}.filter-chip[data-astro-cid-ifcooorx]{font:inherit;font-size:var(--text-sm);padding:8px 2px 10px;border:0;border-bottom:2px solid transparent;background:none;color:rgb(var(--gray-dark));cursor:pointer;white-space:nowrap}.filter-chip[data-astro-cid-ifcooorx]:hover{color:rgb(var(--black))}.filter-chip[data-astro-cid-ifcooorx] .note[data-astro-cid-ifcooorx]{color:rgb(var(--gray))}.filter-chip[data-astro-cid-ifcooorx][aria-checked=true]{border-bottom-color:var(--project-ink);color:var(--project-ink)}.filter-chip[data-astro-cid-ifcooorx]:focus-visible{outline:2px solid var(--project-ink);outline-offset:2px}.filter-search[data-astro-cid-ifcooorx]{margin-left:auto;position:relative;min-width:180px;flex:1 1 200px;max-width:320px}.filter-search[data-astro-cid-ifcooorx] input[data-astro-cid-ifcooorx]{width:100%;font-family:inherit;font-size:var(--text-sm);padding:7px 10px 7px 30px;border-radius:4px;border:1px solid rgb(var(--gray-light));background:none;color:rgb(var(--black))}.filter-search[data-astro-cid-ifcooorx] input[data-astro-cid-ifcooorx]:focus{outline:2px solid var(--project-ink);outline-offset:1px}.filter-search[data-astro-cid-ifcooorx] svg[data-astro-cid-ifcooorx]{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:rgb(var(--gray))}@media(max-width:720px){.filter-chips[data-astro-cid-ifcooorx]{overflow-x:auto;scrollbar-width:none}.filter-search[data-astro-cid-ifcooorx]{margin-left:0;max-width:none}}:is(.ai-vocab,.ai-vocab-palette){--s1: #2a78d6;--s2: #7c3aed;--s3: #1baf7a;--s4: #c98500;--series-ai: #1c6fb5;--series-ml: #c07f1c;--series-dl: #9c3b3b}[data-theme=dark] :is(.ai-vocab,.ai-vocab-palette){--s1: #3987e5;--s2: #a78bfa;--s3: #199e70;--series-ai: #4d93cc;--series-ml: #a8801c;--series-dl: #a83d63}.ai-vocab{--page: var(--bg);--surface: var(--bg-elevated);--surface-2: var(--bg-subtle);--ink: rgb(var(--black));--ink-soft: rgb(var(--gray-dark));--ink-mute: rgb(var(--gray));--rule: rgb(var(--gray-light));--rule-strong: color-mix(in srgb, rgb(var(--gray-light)) 60%, rgb(var(--gray)));--accent-ink: #ffffff;--good: #0a7f0a;--bad: #c9503f;--sans: var(--font-sans);--mono: var(--font-mono)}[data-theme=dark] .ai-vocab{--accent-ink: #18181b;--good: #3cc23c;--bad: #e0705f}.ai-vocab{background:var(--page);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.5;font-feature-settings:normal;& main{width:auto;max-width:none;margin:0;padding:0}:is(h1,h2,h3){margin:0;color:inherit;letter-spacing:normal;font-weight:600}& p{margin:0}& table{margin:0}:is(th,td){border-bottom:none}& a{color:var(--accent);transition:none}& a:hover{color:var(--accent)}.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}.mono{font-family:var(--mono)}& a.plain{color:inherit;text-decoration:none}.clickable:hover{border-color:var(--rule-strong)}.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:6;background:color-mix(in srgb,var(--page) 90%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);padding-top:8px}.topbar-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.term-card{border-top:1px solid var(--rule);padding:12px 0 8px;display:flex;flex-direction:column;gap:10px}.term-card[hidden]{display:none}.term-card.clickable:hover{border-top-color:var(--project-ink)}.term-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.term-card-head .term{font-weight:600;font-size:.98rem}.term-card-head .src{font-family:var(--mono);font-size:10px;color:var(--ink-mute);text-align:right;white-space:nowrap}.term-card svg{width:100%;height:56px;display:block}.legend{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;margin-bottom:14px}.legend span{display:flex;align-items:center;gap:6px;color:var(--ink-soft)}.legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.note{max-width:68ch;margin:0 0 12px;color:var(--ink-soft)}.caption{margin-top:10px;font-size:var(--text-sm);color:var(--ink-mute)}.panel{border-top:1px solid var(--rule);padding-top:14px;margin-bottom:24px}.panel h2{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;margin:0 0 4px}.panel>p{margin:0 0 14px;color:var(--ink-mute);font-size:13px;max-width:70ch}.lag-row{display:grid;grid-template-columns:min(200px,38%) 1fr;gap:10px;align-items:center;min-height:20px}.lag-label{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}& a.lag-label{color:inherit;text-decoration:none}& a.lag-label:hover{color:var(--accent);text-decoration:underline}.lag-track{position:relative;height:20px;border-bottom:1px solid var(--rule);margin-inline:6px}.lag-axis .lag-track{border-bottom-color:var(--rule-strong)}.lag-tick{position:absolute;bottom:3px;transform:translate(-50%);font-family:var(--mono);font-size:10px;color:var(--ink-mute)}@media(max-width:560px){.lag-tick.minor{display:none}}.lag-bar{position:absolute;top:9px;height:2px;background:var(--rule-strong)}.lag-dot{position:absolute;top:5px;width:10px;height:10px;margin-left:-5px;border-radius:50%;border:2px solid;background:var(--surface)}& a.lag-dot:before{content:"";position:absolute;inset:-9px;border-radius:50%}& a.lag-dot:hover{outline:2px solid currentColor;outline-offset:2px}.tabs{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:560px){.tabs{flex-wrap:nowrap;min-width:0;overflow-x:auto;scrollbar-width:none}.tab{flex:none}}.tab{font:inherit;font-size:var(--text-sm);padding:8px 2px 10px;margin-bottom:-1px;border:0;border-bottom:2px solid transparent;background:none;color:var(--ink-soft);cursor:pointer}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{border-bottom-color:var(--project-ink);color:var(--project-ink)}.tab:focus-visible{outline:2px solid var(--project-ink);outline-offset:2px}& section.layout{padding-block:8px 52px}& section.layout[hidden]{display:none}.layout-head{margin-bottom:16px}.layout-head h2{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;line-height:1.2}.layout-head p{margin-top:2px;color:var(--ink-mute);font-size:13px;max-width:80ch}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px 24px;margin-bottom:18px}.kpi{border-top:1px solid var(--rule);padding-top:10px}.kpi .k-label{font-size:12px;color:var(--ink-mute)}.kpi .k-list{list-style:none;margin:6px 0 0;padding:0}.kpi .k-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:3px 0}.kpi .k-list a{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;line-height:1.3;color:inherit;text-decoration:none}.kpi .k-list a:hover{color:var(--accent);text-decoration:underline}.kpi .k-num{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.up{color:var(--good)}.down{color:var(--bad)}.flat{color:var(--ink-mute)}.line-chart{width:100%;height:auto;overflow:visible;display:block}.line-chart .axis{fill:var(--ink-mute);font-family:var(--mono);font-size:10px}.table-wrap{overflow-x:auto}& table.data-table{width:100%;border-collapse:collapse;font-size:13px}& table.data-table th{text-align:left;font-size:12px;font-weight:400;color:var(--ink-mute);padding:8px 10px;border-bottom:1px solid var(--rule-strong);white-space:nowrap}& table.data-table td{padding:8px 10px;border-bottom:1px solid var(--rule);vertical-align:top}& table.data-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}& table.data-table td.heat-cell{min-width:4.5em;border-bottom-color:var(--bg)}& table.data-table td.heat-cell.dark{color:var(--bg)}& table.data-table td.ep{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft)}& table.data-table i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px}@media(max-width:560px){& table.data-table :is(th,td){padding-inline:6px}}:is(.term-page,.link-dialog-body) .table-wrap{margin-top:14px}.term-page{padding-block:26px 52px;max-width:760px}.back{font-family:var(--mono);font-size:12px;text-decoration:none}.term-page h1{font-size:1.6rem;margin:12px 0 4px}.term-meta{color:var(--ink-mute);font-size:13px;margin-bottom:16px}.lexicon{font-size:16px}.lexicon :is(h1,h2,h3){text-wrap:balance}.lexicon ::selection{background:var(--accent);color:var(--accent-ink)}.timeline{position:relative;display:flex;flex-direction:column}.timeline:before{content:"";position:absolute;left:84px;top:6px;bottom:6px;width:1px;background:var(--rule)}.entry{display:grid;grid-template-columns:84px 1fr;gap:18px;padding-block:20px;position:relative}.entry+.entry{border-top:1px solid var(--rule)}.entry[hidden]{display:none}.entry{scroll-margin-top:84px}@media(max-width:720px){.entry{scroll-margin-top:128px}}@media(prefers-reduced-motion:no-preference){.entry:target .card{animation:entry-flash 1.6s ease-out}}.entry .year{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--ink-mute);padding-top:4px;padding-right:14px;text-align:right}.entry .dot{position:absolute;left:84px;top:26px;width:9px;height:9px;border-radius:50%;background:var(--page);border:2px solid var(--project-ink);transform:translate(-50%)}.card{grid-column:2;min-width:0}.card .year-inline{display:none;font-size:var(--text-sm);color:var(--ink-mute);margin-bottom:4px}.card .term{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;color:var(--ink)}.card a.term:hover{color:var(--project-ink)}.card .era-pill{font-size:12px;color:var(--ink-mute);margin-left:10px}.card p{margin:10px 0 0;color:var(--ink-soft);max-width:66ch}.card .src{margin-top:8px;font-size:12.5px}.card .src a{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:3px}@media(max-width:620px){.timeline:before,.entry .dot{left:20px}.entry{grid-template-columns:20px 1fr;column-gap:14px}.entry .year{display:none}.card .year-inline{display:block}.card .era-pill{display:none}}.empty-state{padding:40px 0;color:var(--ink-mute);font-family:var(--mono);font-size:13.5px}.chart-panel{border-top:1px solid var(--rule);padding-top:14px}& svg.chart{width:100%;height:auto;display:block;overflow:visible}.chart-axis text{font-family:var(--mono);font-size:10.5px;fill:var(--ink-mute)}.chart-grid line{stroke:var(--rule);stroke-width:1}.chart-baseline{stroke:var(--rule-strong);stroke-width:1}& a.dated .mark{fill:var(--page);stroke:var(--dot);stroke-width:2;cursor:pointer}& a.dated:hover .mark{fill:var(--dot)}& a.dated .hit{fill:transparent;cursor:pointer}@media(max-width:620px){& a.dated .mark{r:9px;stroke-width:3}}& a.dated:focus-visible{outline:none}& a.dated:focus-visible .mark{stroke-width:3.5}.chart-note{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);font-size:12.5px;color:var(--ink-mute);display:flex;justify-content:flex-end}.provenance-wrap{margin-bottom:20px}.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.res-card{display:block;border-top:1px solid var(--rule);padding:12px 0 8px;text-decoration:none}.res-card:hover{border-top-color:var(--project-ink)}.res-card:focus-visible{outline:2px solid var(--project-ink);outline-offset:2px}.res-card .k{font-size:12px;color:var(--ink-mute)}.res-card h3{margin-top:2px;font-family:var(--sans);font-size:.98rem;color:var(--ink)}.res-card p{margin:6px 0 0;font-size:12.5px;color:var(--ink-mute)}}@keyframes entry-flash{0%{background:var(--surface-2)}}
