:root{color-scheme:light;--paper:#faf9f6;--ink:#202c32;--muted:#626c70;--accent:#236457;--line:#dedfd8;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-underline-offset:4px}
a:hover{color:var(--accent)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:2px}
::selection{background:#d5e7df}
.site-header,.hero,.reading-layout,.site-footer{width:min(1120px,calc(100% - 96px));margin-inline:auto}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.wordmark{font-size:20px;font-weight:700;letter-spacing:-.7px;text-decoration:none}
.wordmark-dot{color:var(--accent)}
.github-link{font-size:13px;text-decoration:none;color:var(--muted)}
.github-link span{margin-left:8px}
.hero{padding:74px 0 0}
.eyebrow,.nav-label{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:650}
.eyebrow{color:var(--accent);display:flex;align-items:center;gap:12px;margin:0 0 27px}
.eyebrow>span{height:7px;width:7px;border-radius:50%;background:var(--accent)}
h1{font-family:var(--serif);font-size:clamp(42px,5.6vw,74px);font-weight:400;line-height:1.08;letter-spacing:-2.7px;margin:0;max-width:1000px;text-wrap:balance}
.subtitle{font-size:21px;font-weight:400;line-height:1.5;color:var(--muted);margin:26px 0 12px}
.epigraph{font-family:var(--serif);font-size:17px;letter-spacing:3px;color:var(--accent);margin:0}
.byline{display:flex;flex-wrap:wrap;gap:12px 32px;font-size:12px;line-height:1.7;color:var(--muted);margin-top:38px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline strong{color:var(--ink);font-weight:600}
.byline-date{margin-left:auto;display:flex;gap:12px}
.reading-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start;padding:58px 0 88px}
.sidebar{position:sticky;top:34px;font-size:12px;line-height:1.6}
.nav-label{font-size:10px;color:var(--muted);margin:5px 0 22px}
.sidebar nav>a{display:flex;gap:13px;text-decoration:none;padding:8px 0;font-weight:550}
.sidebar nav>a>span{font-size:10px;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:2px}
.subnav{margin:12px 0 0 19px;padding:0 0 0 17px;border-left:1px solid var(--line)}
.subnav a{display:block;text-decoration:none;color:var(--muted);padding:7px 0}
.subnav a:hover{color:var(--accent)}
.source-link{display:inline-block;text-decoration:none;color:var(--muted);margin-top:32px;font-size:11px}
.source-link span{margin-left:8px}
.prose{min-width:0;max-width:740px;font-family:var(--serif);font-size:18px;line-height:1.85;overflow-wrap:break-word}
.prose>h2{font-family:var(--sans);font-size:26px;font-weight:650;line-height:1.3;letter-spacing:-.7px;margin:64px 0 24px;padding-top:34px;border-top:1px solid var(--line);text-wrap:balance}
.prose>h2:first-child{margin-top:0;padding-top:0;border:0}
.prose h3{font-family:var(--sans);font-size:19px;font-weight:650;letter-spacing:-.3px;line-height:1.5;margin:40px 0 18px;max-width:640px;text-wrap:balance}
.prose p{margin:0 0 23px}
.prose strong{font-weight:700}
.prose ul,.prose ol{padding-left:25px;margin:24px 0 28px}
.prose li{padding-left:8px;margin-bottom:14px}
.prose li::marker{color:var(--accent);font-size:.9em}
.prose li>ul{margin-top:16px;margin-bottom:8px}
.prose ol{font-family:var(--sans);font-size:15px;line-height:1.85;padding:22px 28px 12px 48px;border:1px solid var(--line);border-radius:4px;background:#f2f3ed}
.prose #proposal+p{border-left:3px solid var(--accent);padding:22px 26px;background:#edf2ed;font-size:20px;line-height:1.75}
.site-footer{border-top:1px solid var(--line);padding:27px 0 38px;display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}
.site-footer span span{padding:0 10px;color:#a3aaa5}
.site-footer a{text-decoration:none;white-space:nowrap}
.skip-link{position:absolute;top:-80px;left:20px;background:var(--ink);color:white;padding:12px;z-index:2}
.skip-link:focus{top:12px}
@media(min-width:1500px){.hero{padding-top:88px}}
@media(max-width:900px){.site-header,.hero,.reading-layout,.site-footer{width:calc(100% - 64px)}.reading-layout{grid-template-columns:180px minmax(0,1fr);gap:36px}.prose{font-size:17px}h1{letter-spacing:-1.8px}.byline-date{margin-left:0}}
@media(max-width:680px){.site-header,.hero,.reading-layout,.site-footer{width:calc(100% - 40px)}.site-header{height:76px}.hero{padding-top:42px}h1{font-size:42px;letter-spacing:-1.6px;line-height:1.12}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:22px}.subtitle{font-size:17px;margin-top:22px}.epigraph{font-size:15px;letter-spacing:2px}.byline{margin-top:28px;padding:18px 0;gap:6px;flex-direction:column}.byline-date{font-size:11px}.reading-layout{display:block;padding-top:25px;padding-bottom:48px}.sidebar{position:static;margin-bottom:35px;padding-bottom:24px;border-bottom:1px solid var(--line)}.nav-label{margin:0 0 10px}.sidebar nav>a{display:inline-flex;margin-right:16px;font-size:11px;gap:6px}.subnav,.source-link{display:none}.prose{font-size:17px;line-height:1.85}.prose>h2{font-size:23px;margin-top:44px;padding-top:28px}.prose h3{font-size:18px;margin-top:30px}.prose ol{font-size:14px;padding:18px 18px 6px 35px}.prose #proposal+p{font-size:18px;padding:18px}.site-footer{font-size:10px;line-height:1.8}.site-footer span span{padding:0 4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;color:black}.sidebar,.github-link,.site-footer,.skip-link{display:none}.site-header,.hero,.reading-layout{width:100%}.site-header{height:auto;padding-bottom:16px}.hero{padding-top:24px}h1{font-size:36px}.reading-layout{display:block;padding-top:28px}.prose{max-width:none;font-size:11pt}.prose h2,.prose h3{break-after:avoid}.prose li{break-inside:avoid}.byline{margin-top:20px}}
