
:root { color-scheme: light; --paper:#f3f0e8; --ink:#171916; --muted:#686b62; --line:rgba(23,25,22,.18); --accent:#e7502b; --signal:#395e52; --tertiary:#315f89; font-family:"DM Sans",system-ui,sans-serif; background:var(--paper); color:var(--ink); }
:root[data-theme="dark"] { color-scheme:dark; --paper:#151713; --ink:#f1eee4; --muted:#a3a69a; --line:rgba(241,238,228,.17); --accent:#ff6a43; --signal:#9bc9b5; --tertiary:#7fb0e0; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; background:var(--paper); color:var(--ink); transition:background 240ms,color 240ms; }
a { color:inherit; text-decoration:none; }
.site-header, footer { display:flex; align-items:center; justify-content:space-between; padding:22px 34px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
.site-header { border-bottom:1px solid var(--line); }
.wordmark { font-size:20px; font-weight:500; letter-spacing:-.08em; }
nav { display:flex; align-items:center; gap:24px; }
nav a { padding-bottom:4px; border-bottom:1px solid transparent; }
nav a:hover { border-color:var(--accent); }
.theme-toggle { border:0; padding:4px; color:inherit; font:17px "DM Sans",system-ui,sans-serif; background:none; cursor:pointer; transition:transform 180ms; }
.theme-toggle:hover { transform:rotate(180deg); }
footer { border-top:1px solid var(--line); color:var(--muted); }
.index-page, .entry-page { width:min(1160px,calc(100% - 68px)); min-height:calc(100vh - 122px); margin:auto; padding:90px 0 120px; }
.hero { display:grid; grid-template-columns:.65fr 1.45fr .9fr; align-items:end; gap:0 26px; padding-bottom:90px; }
.hero .eyebrow { align-self:start; }
.hero h1 { grid-column:2; grid-row:1 / span 2; }
.hero > p:last-child { grid-column:2; max-width:520px; margin:40px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.hero-scholar { grid-column:3; grid-row:1 / span 3; align-self:center; width:min(100%,330px); max-height:390px; margin:auto; object-fit:contain; filter:drop-shadow(0 18px 22px rgba(23,25,22,.12)); }
.eyebrow { margin:0 0 28px; color:var(--accent); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin:0; font:400 clamp(72px,11vw,150px)/.82 "Instrument Serif",serif; letter-spacing:-.045em; }
h1 em { color:var(--accent); font-weight:400; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.project-card { display:flex; min-height:330px; flex-direction:column; padding:28px; border-right:1px solid var(--line); transition:background 180ms,transform 180ms; }
.project-card:last-child { border-right:0; }
.project-card:hover { background:color-mix(in srgb,var(--signal) 8%,transparent); transform:translateY(-5px); }
.project-index, .week-label { color:var(--muted); font-size:9px; text-transform:uppercase; }
.project-card h2 { margin:auto 0 15px; font:400 42px "Instrument Serif",serif; }
.project-card p { min-height:58px; margin:0 0 35px; color:var(--muted); font-size:11px; line-height:1.7; }
.week-label { display:flex; justify-content:space-between; padding-top:18px; border-top:1px solid var(--line); }
.week-label b { color:var(--accent); }
.project-heading { display:grid; grid-template-columns:1fr 2fr; align-items:end; padding-bottom:72px; }
.project-heading h1 { grid-column:2; font-size:clamp(78px,11vw,145px); }
.project-heading > p:last-child { grid-column:2; max-width:560px; margin:36px 0 0; color:var(--muted); font-size:13px; line-height:1.8; }
.week-list { border-top:1px solid var(--ink); }
.week-card { display:grid; grid-template-columns:90px 1fr auto; align-items:center; gap:28px; padding:34px 4px; border-bottom:1px solid var(--line); transition:padding 180ms,background 180ms; }
.week-card:hover { padding-right:18px; padding-left:18px; background:color-mix(in srgb,var(--signal) 7%,transparent); }
.week-number, .week-card p, .week-card span { color:var(--muted); font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.week-card p { margin:0 0 10px; color:var(--accent); }
.week-card h2 { margin:0 0 12px; font:400 clamp(30px,4vw,48px)/1.05 "Instrument Serif",serif; }
.week-card b { color:var(--accent); font-size:20px; font-weight:400; }
.hermeneutics-log { border-top:1px solid var(--ink); }
.hermeneutics-week { display:grid; grid-template-columns:minmax(170px,1fr) 2fr; gap:40px; padding:38px 0; border-bottom:1px solid var(--line); }
.hermeneutics-week h2 { margin:0; font:400 clamp(32px,4vw,52px)/1 "Instrument Serif",serif; }
.hermeneutics-week > div { display:grid; gap:12px; }
.hermeneutics-week a { display:flex; align-items:start; justify-content:space-between; gap:24px; padding:18px 0; border-bottom:1px solid var(--line); font:400 clamp(24px,3vw,38px)/1.12 "Instrument Serif",serif; }
.hermeneutics-week a:first-child { padding-top:0; }
.hermeneutics-week a:last-child { border-bottom:0; }
.hermeneutics-week a:hover span { color:var(--accent); }
.hermeneutics-week a b { color:var(--accent); font:400 18px "DM Sans",system-ui,sans-serif; }
@media (max-width:760px) { .hermeneutics-week{display:block;padding:30px 0}.hermeneutics-week h2{margin-bottom:24px}.hermeneutics-week a{font-size:28px} }
.back { display:inline-block; margin-bottom:85px; color:var(--muted); font-size:10px; text-transform:uppercase; }
.entry-heading { display:grid; grid-template-columns:1fr 2fr; align-items:start; padding-bottom:80px; }
.entry-heading h1 { grid-column:2; font-size:clamp(70px,10vw,132px); }
.sales-spec { grid-column:2; max-width:700px; margin-top:42px; padding:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.sales-spec h2 { margin:0 0 12px; font:400 28px "Instrument Serif",serif; }
.sales-spec p { margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.sales-spec + .summary { margin-top:28px; }
.summary { grid-column:2; max-width:700px; margin-top:42px; color:var(--muted); font-size:13px; line-height:1.8; }
.summary p { margin:0 0 14px; }
.chart-card { margin-top:28px; padding:clamp(24px,4vw,48px); border:1px solid #d7d7d2; color:#171916; background:#fff; }
.chart-card > header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding-bottom:38px; border-bottom:1px solid var(--line); }
.chart-card h2 { margin:6px 0 0; font:400 clamp(34px,5vw,58px)/1 "Instrument Serif",serif; }
.chart-card > header > span, .chart-kicker, .chart-note { color:var(--muted); font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.chart-kicker { margin:0; color:var(--accent); }
.plot-frame { display:grid; width:min(100%,900px); grid-template-columns:64px 1fr; align-items:start; margin:0 auto; border:1px solid #d7d7d2; border-top:0; background:#fff; }
.y-axis { display:grid; grid-template-columns:18px 1fr; height:320px; padding:48px 0 22px; border-right:1px solid #777b72; color:#686b62; }
.y-axis-title { align-self:center; font-size:9px; letter-spacing:.06em; text-transform:uppercase; transform:rotate(-90deg); white-space:nowrap; }
.y-axis-ticks { display:flex; flex-direction:column; justify-content:space-between; align-items:flex-end; font-size:9px; }
.y-axis-ticks b { position:relative; padding-right:10px; font-weight:400; }
.y-axis-ticks b::after { position:absolute; top:50%; right:-1px; width:6px; border-top:1px solid #777b72; content:""; }
.bar-chart { display:grid; grid-template-columns:repeat(var(--bar-count),minmax(0,1fr)); align-items:end; gap:clamp(10px,2vw,24px); height:320px; padding:48px 14px 0; background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#ecece8 calc(25% - 1px),#ecece8 25%); }
.bar-item { position:relative; display:grid; grid-template-rows:auto 1fr auto; gap:12px; height:100%; padding:0; border:0; color:inherit; text-align:center; background:transparent; cursor:pointer; }
.grouped-bar-chart { display:grid; grid-template-columns:repeat(var(--group-count),minmax(0,1fr)); gap:clamp(18px,4vw,48px); height:320px; padding:48px 20px 0; background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),#ecece8 calc(25% - 1px),#ecece8 25%); }
.model-group { display:grid; grid-template-rows:1fr auto; min-width:0; }
.grouped-bars { display:flex; align-items:stretch; justify-content:center; gap:10px; min-height:0; }
.grouped-bar { position:relative; display:grid; width:min(64px,45%); grid-template-rows:auto 1fr auto; gap:10px; min-width:0; padding:0; border:0; color:#171916; text-align:center; background:transparent; cursor:pointer; }
.grouped-bar.model-gemini { --series-color:#315f89; }
.grouped-bar.model-deepseek { --series-color:#bd5a3a; }
.grouped-bar.model-grok { --series-color:#52734d; }
.grouped-bar .bar-fill { min-height:6px; background:var(--series-color); }
.grouped-bar.constraint-strict .bar-fill { border:1px solid var(--series-color); background:color-mix(in srgb,var(--series-color) 28%,white); }
.constraint-label { color:#686b62; font-size:8px; letter-spacing:.05em; text-transform:uppercase; }
.model-label { padding:14px 4px 0; border-top:1px solid #777b72; font:10px "DM Sans",system-ui,sans-serif; letter-spacing:.04em; text-align:center; text-transform:uppercase; }
.chart-legend { display:flex; width:min(100%,900px); flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 auto; padding:18px 0 0; color:#686b62; font-size:9px; text-transform:uppercase; }
.chart-legend span { display:inline-flex; align-items:center; gap:7px; }
.chart-legend .legend-title { color:#171916; font-weight:600; }
.interaction-legend { display:flex; flex-wrap:wrap; gap:12px 22px; width:min(100%,900px); margin:28px auto 4px; color:#686b62; font-size:10px; text-transform:uppercase; }
.interaction-legend span { display:flex; align-items:center; gap:8px; }
.interaction-legend i { width:18px; height:3px; }
.interaction-grid { display:grid; width:min(100%,900px); grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px; margin:18px auto; }
.interaction-facet { padding:14px; border:1px solid #d7d7d2; background:#fff; }
.interaction-facet p { margin:0 0 8px; color:#171916; font-size:10px; font-weight:600; text-transform:uppercase; }
.interaction-facet svg { display:block; width:100%; }
.interaction-facet text { fill:#686b62; font:8px "DM Sans",system-ui,sans-serif; text-transform:uppercase; }
.interaction-point { cursor:help; }
.interaction-card > .chart-note { width:min(100%,900px); margin:12px auto 0; color:#686b62; font-size:12px; line-height:1.75; letter-spacing:0; text-transform:none; }
.legend-color, .legend-shade { display:inline-block; width:14px; height:10px; border:1px solid transparent; }
.legend-color.gemini { background:#315f89; }
.legend-color.deepseek { background:#bd5a3a; }
.legend-color.grok { background:#52734d; }
.legend-shade.soft { background:#555; }
.legend-shade.strict { border-color:#555; background:#c8c8c8; }
.bar-value { font:600 14px "DM Sans",system-ui,sans-serif; opacity:0; transform:translateY(5px); transition:opacity 160ms,transform 160ms; }
.bar-track { display:flex; align-items:flex-end; justify-content:center; height:100%; border-bottom:2px solid var(--muted); }
.bar-fill { width:64px; max-width:100%; height:calc(var(--value) * 100%); background:var(--signal); border-radius:2px 2px 0 0; box-shadow:0 2px 8px rgba(57,94,82,.12); transform-origin:bottom; transition:filter 200ms,transform 200ms,box-shadow 200ms; }
.bar-label { font:10px "DM Sans",system-ui,sans-serif; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); }
.tooltip { position:absolute; z-index:2; top:-50px; left:50%; display:grid; gap:8px; width:240px; padding:14px 16px; border:1px solid var(--muted); border-radius:3px; color:var(--ink); font:9px/1.6 "DM Sans",system-ui,sans-serif; background:var(--paper); box-shadow:0 4px 12px rgba(0,0,0,.15); opacity:0; pointer-events:none; transform:translate(-50%,0) scaleY(.95); transition:opacity 160ms,transform 160ms; }
.tooltip strong { color:var(--accent); font-weight:600; }
.tooltip span { color:var(--muted); }
.chart-card .bar-label, .chart-card .chart-note, .chart-card > header > span { color:#686b62; }
.chart-card .tooltip { color:#171916; background:#fff; }
.chart-card .tooltip span { color:#686b62; }
.bar-item:hover .bar-fill, .bar-item:focus-visible .bar-fill { filter:brightness(0.85); box-shadow:0 4px 12px rgba(57,94,82,.24); }
.bar-item:hover .bar-value, .bar-item:focus-visible .bar-value { opacity:1; transform:translateY(0); font-weight:600; }
.bar-item:hover .tooltip, .bar-item:focus-visible .tooltip { opacity:1; transform:translate(-50%,0) scaleY(1); }
.grouped-bar:hover .bar-fill, .grouped-bar:focus-visible .bar-fill { filter:brightness(.85); box-shadow:0 4px 12px rgba(57,94,82,.24); }
.grouped-bar:hover .bar-value, .grouped-bar:focus-visible .bar-value { opacity:1; transform:translateY(0); font-weight:600; }
.grouped-bar:hover .tooltip, .grouped-bar:focus-visible .tooltip { opacity:1; transform:translate(-50%,0) scaleY(1); }
.bar-item:focus-visible, .grouped-bar:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
.chart-note { margin:30px 0 0; text-align:right; }
.line-chart-card .chart-note { text-align:left; color:var(--muted); font-size:12px; line-height:1.8; text-transform:none; letter-spacing:0; }
.line-panels { display:grid; gap:28px; margin-top:10px; }
.line-panel-label { margin:0 0 8px; color:var(--muted); font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.line-plot-frame { display:grid; grid-template-columns:64px 1fr; align-items:stretch; border:1px solid #d7d7d2; background:#fff; }
.line-plot-frame .y-axis { height:220px; padding:14px 0; }
.line-svg-scroll { padding:14px 10px 50px; }
.line-chart-inner { position:relative; width:100%; height:220px; }
.line-chart-inner svg { position:absolute; inset:0; display:block; width:100%; height:100%; }
.line-hover-layer { position:absolute; inset:0; }
.line-hover-point { position:absolute; top:0; bottom:0; width:10px; margin:0; padding:0; transform:translateX(-50%); border:0; background:transparent; cursor:pointer; }
.line-hover-point:hover, .line-hover-point:focus-visible { background:color-mix(in srgb, var(--ink) 5%, transparent); }
.line-hover-point:focus-visible { outline:1px solid var(--accent); outline-offset:0; }
.line-tooltip { position:absolute; top:auto; bottom:100%; left:50%; z-index:3; display:grid; gap:5px; width:300px; max-height:280px; overflow-y:auto; margin-bottom:8px; padding:12px 14px; border:1px solid var(--muted); border-radius:3px; color:var(--ink); font:9px/1.6 "DM Sans",system-ui,sans-serif; background:var(--paper); box-shadow:0 4px 12px rgba(0,0,0,.18); text-align:left; text-transform:none; letter-spacing:0; white-space:normal; transform:translate(-50%,4px) scaleY(.95); transform-origin:bottom; }
.line-tooltip strong { position:sticky; top:-12px; padding-top:2px; background:var(--paper); }
.line-hover-point:hover .line-tooltip, .line-hover-point:focus-visible .line-tooltip { opacity:1; transform:translate(-50%,0) scaleY(1); }
.line-tooltip strong { display:block; margin-bottom:2px; color:var(--ink); font-family:"DM Sans",system-ui,sans-serif; font-weight:600; font-size:10px; line-height:1.5; }
.line-tooltip .tt-row { display:flex; align-items:center; gap:6px; padding:3px 5px; border-radius:2px; }
.line-tooltip .tt-row .legend-color { flex:none; width:9px; height:7px; }
.line-tooltip .tt-row b { margin-left:auto; font-weight:600; }
.line-chart-card .chart-legend { justify-content:flex-start; }
.week-page .back { margin-bottom:72px; }
.week-heading { display:grid; grid-template-columns:1fr 2fr; align-items:end; padding-bottom:56px; }
.week-heading .eyebrow { align-self:start; }
.week-heading h1 { font-size:clamp(54px,8vw,105px); line-height:.9; }
.week-heading > p:last-child { grid-column:2; margin:28px 0 0; color:var(--muted); font-size:12px; }
.experiment-grid { display:grid; gap:18px; }
.experiment-card { display:grid; grid-template-columns:72px 1fr auto; align-items:start; gap:22px; min-height:220px; padding:34px 32px; border:1px solid var(--line); transition:border-color 180ms,background 180ms,transform 180ms; }
.experiment-card:hover { border-color:var(--ink); background:color-mix(in srgb,var(--signal) 7%,transparent); transform:translateY(-3px); }
.experiment-index,.experiment-meta { color:var(--accent); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.experiment-copy { display:grid; align-content:start; }
.experiment-copy strong { margin-top:24px; font:400 clamp(36px,5vw,58px)/.95 "Instrument Serif",serif; }
.experiment-description { max-width:650px; margin-top:22px; color:var(--muted); font-size:12px; line-height:1.7; }
.experiment-card .arrow { padding-top:2px; }
.distillation-entry-page { width:min(1120px,calc(100% - 32px)); padding-top:52px; }
.distillation-entry-page .back { margin:0 0 42px 8px; }
.distillation-frame { display:block; width:100%; min-height:1200px; border:0; background:var(--paper); overflow:hidden; }
.e1-monitor-shell { display:grid; grid-template-columns:145px minmax(0,1fr); align-items:start; gap:28px; }
nav.e1-host-section-rail { position:sticky; top:18px; z-index:4; display:flex; flex-direction:column; align-items:stretch; gap:4px; margin-top:var(--e1-rail-start,0px); padding:12px 0; font-size:.875rem; }
nav.e1-host-section-rail a { padding:8px 10px; border:0; border-left:2px solid transparent; color:var(--muted); line-height:1.35; }
nav.e1-host-section-rail a:hover, nav.e1-host-section-rail a:focus-visible, nav.e1-host-section-rail a.active { border-left-color:var(--signal); color:var(--ink); background:color-mix(in srgb,var(--signal) 8%,transparent); }
@media (max-width:1050px) {
  .e1-monitor-shell { display:block; }
  nav.e1-host-section-rail { top:0; flex-direction:row; overflow-x:auto; margin-top:0!important; padding:8px 0; border-bottom:1px solid var(--line); background:var(--paper); }
  nav.e1-host-section-rail a { flex:none; border-left:0; border-bottom:2px solid transparent; white-space:nowrap; }
  nav.e1-host-section-rail a:hover, nav.e1-host-section-rail a:focus-visible, nav.e1-host-section-rail a.active { border-bottom-color:var(--signal); }
}
.not-found { min-height:calc(100vh - 122px); }
@media (max-width:760px) { .site-header,footer{padding:18px 20px}.index-page,.entry-page{width:calc(100% - 40px);padding-top:60px}.hero{grid-template-columns:1fr auto;gap:24px 8px}.hero .eyebrow{grid-column:1 / -1}.hero h1{grid-column:1;grid-row:2}.hero-scholar{grid-column:2;grid-row:2;width:120px;max-height:190px}.hero>p:last-child{grid-column:1 / -1;margin-top:8px}.entry-heading,.project-heading{display:block}.hero h1,.entry-heading h1,.project-heading h1{font-size:78px}.summary,.project-heading>p:last-child{margin-top:32px}.project-grid{display:block}.project-card{min-height:240px;border-right:0;border-bottom:1px solid var(--line)}.project-card:last-child{border-bottom:0}.week-card{grid-template-columns:44px 1fr auto;gap:14px}.plot-frame{grid-template-columns:50px 1fr}.y-axis{height:260px;padding-top:48px}.bar-chart,.grouped-bar-chart{height:260px;gap:8px;padding:48px 6px 0}.grouped-bars{gap:4px}.grouped-bar{width:min(40px,48%)}.model-label{font-size:8px}.bar-label{font-size:8px;writing-mode:vertical-rl}.chart-card>header{align-items:flex-start;flex-direction:column}.tooltip{width:160px}.back{margin-bottom:60px} }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{transition:none!important;scroll-behavior:auto!important} }

/* Readable prose and navigation; retain monospace for literal code. */
body { font-size:1rem; line-height:1.65; }
button, input, select, textarea { font-family:"DM Sans",system-ui,sans-serif; }
.site-header, footer, .back { font-size:.875rem; letter-spacing:.02em; }
.eyebrow, .project-index, .week-label, .week-number, .week-card p,
.week-card span, .experiment-index, .experiment-meta { font-size:.8125rem; }
.hero > p:last-child, .project-heading > p:last-child,
.summary, .sales-spec p, .experiment-description, .project-card p { font-size:1rem; line-height:1.8; }
.sales-entry p, .sales-entry dd, .sales-entry li { font-size:1rem; }
.sales-entry .sales-guide, .sales-entry .sales-note,
.sales-entry .sales-chart-caption, .sales-entry .sales-provenance { font-size:.875rem!important; }
.message-content { font:1rem/1.75 "DM Sans",system-ui,sans-serif; }
.message-content p { font-size:1rem!important; }
pre, code, .message-content code, .command-chip code { font-family:"DM Mono",monospace; }
.site-header nav { flex-wrap:wrap; }
@media (max-width:600px) {
  .site-header { gap:16px; }
  .site-header nav { gap:12px; justify-content:flex-end; }
}

/* Four research areas form two balanced rows. */
@media(min-width:761px){.project-grid:has(>.project-card:nth-child(4)):not(:has(>.project-card:nth-child(5))){grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid:has(>.project-card:nth-child(4))>.project-card:nth-child(2){border-right:0}.project-grid:has(>.project-card:nth-child(4))>.project-card:nth-child(-n+2){border-bottom:1px solid var(--line)}}