:root{--bg: #faf9f6;--panel: #f3f1ec;--ink: #1b1a17;--ink-2: #57544d;--ink-3: #8c8880;--line: #e4e1d9;--accent: #5b4bd6;--accent-soft: #ece9fb;--serif: "Fraunces", Georgia, serif;--sans: "Inter", system-ui, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #131211;--panel: #1a1917;--ink: #efede8;--ink-2: #aaa69d;--ink-3: #75716a;--line: #2a2825;--accent: #9d92ff;--accent-soft: #25223b;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:400 15px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.eyebrow{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.shell{display:grid;grid-template-columns:296px 1fr;height:100%}.side{display:flex;flex-direction:column;gap:18px;padding:24px 16px 0;background:var(--panel);border-right:1px solid var(--line);min-height:0}.brand{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 8px 2px;flex-shrink:0;line-height:0}.brand-logo{display:block;width:52px;flex-shrink:0;height:auto;filter:brightness(.67)}.brand-name{color:var(--ink);font:600 21px/1 var(--sans);letter-spacing:.04em}.brand-letter{display:inline-block;opacity:0;clip-path:inset(0 100% 0 0)}.brand-x-final{opacity:0}.brand.is-intro-playing .brand-letter{animation:codex-letter-unveil .4s cubic-bezier(.4,0,.2,1) both}.brand.is-intro-playing .brand-x-outline{animation:codex-x-draw 2s linear both}.brand.is-intro-playing .brand-x-upper{animation:codex-x-draw .55s linear .55s both}.brand.is-intro-playing .brand-x-lower{animation:codex-x-draw .75s linear 1.25s both}.brand.is-intro-playing .brand-x-final{animation:codex-x-final 1ms linear 2s forwards}.brand.is-intro-playing .brand-x-traced{animation:codex-x-settle 1ms linear 2s forwards}@keyframes codex-x-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes codex-letter-unveil{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}@keyframes codex-x-final{to{opacity:1}}@keyframes codex-x-settle{to{opacity:0}}@media(prefers-color-scheme:dark){.brand-logo{filter:brightness(1.5)}}.search{display:flex;align-items:center;gap:8px;padding:0 10px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink-3)}.search:focus-within{border-color:var(--accent)}.search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;color:var(--ink)}.search kbd{font:500 10px var(--sans);padding:2px 6px;border:1px solid var(--line);border-radius:5px}.tree{flex:1;overflow-y:auto;padding-bottom:24px;margin:0 -8px;padding-inline:8px}.year{margin-bottom:18px}.year .eyebrow{padding:0 8px;margin-bottom:6px}.subject{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;border-radius:8px;text-align:left;color:var(--ink-2)}.subject:hover{background:var(--accent-soft)}.subject.is-active{color:var(--ink);font-weight:500}.subject .chev{flex:none;transition:transform .15s;color:var(--ink-3)}.subject[aria-expanded=true] .chev{transform:rotate(90deg)}.notes{margin:2px 0 6px 15px;padding-left:12px;border-left:1px solid var(--line);display:flex;flex-direction:column}.notes a{padding:4px 8px;font-size:13.5px;color:var(--ink-2);border-radius:6px}.notes a:hover{color:var(--ink)}.notes a.is-current{color:var(--accent);background:var(--accent-soft);font-weight:500}.results a{display:block;padding:8px;border-radius:8px}.results a:hover{background:var(--accent-soft)}.results strong{display:block;font-weight:500}.results span{font-size:12.5px;color:var(--ink-3)}main{overflow-y:auto;min-width:0}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;height:56px;padding:0 40px;background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;font-size:13px;color:var(--ink-3)}.crumbs{display:flex;align-items:center;gap:6px}.crumbs a:hover{color:var(--ink)}.menu{display:none}.page,.read{padding:40px 40px 120px}.page{max-width:920px;margin:0 auto}h1{margin:0 0 16px;font:500 clamp(32px,4.4vw,48px) / 1.08 var(--serif);letter-spacing:-.02em}h1.hero{font-size:clamp(40px,6vw,68px);line-height:1.02;margin-bottom:24px}h2{margin:0 0 14px;font:500 26px/1.2 var(--serif);letter-spacing:-.01em}.lede{max-width:56ch;margin:0 0 40px;font-size:18px;line-height:1.6;color:var(--ink-2)}.topbar.topbar-home{display:none}.presentation-home{padding-top:54px}.presentation-section{padding:38px 0;border-bottom:1px solid var(--line)}.presentation-section:first-child{padding-top:0}.presentation-section:last-child{border-bottom:0}.presentation-section h1,.presentation-section h2{margin:0 0 19px;font:500 clamp(32px,4vw,44px)/1.15 var(--serif);letter-spacing:-.02em}.presentation-section p{max-width:65ch;margin:0;color:var(--ink-2);font-size:16px;line-height:1.85}@media(max-width:800px){.topbar.topbar-home{display:flex}.presentation-section{padding:30px 0}.presentation-section p{font-size:15px;line-height:1.85}}.year-block{margin-top:56px}.year-block h2{padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:20px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.tile{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--line);border-radius:14px;transition:border-color .15s,background .15s,transform .15s}.tile:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.tile span{font:500 18px/1.25 var(--serif)}.tile small{color:var(--ink-3);font-size:12.5px}.list{margin-top:32px;border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:baseline;padding:22px 4px;border-bottom:1px solid var(--line)}.row:hover strong{color:var(--accent)}.row .num{font:400 14px var(--serif);color:var(--ink-3)}.row strong{display:block;font:500 22px/1.25 var(--serif);transition:color .15s}.row em{display:block;margin-top:6px;font-style:normal;color:var(--ink-2)}.row small{color:var(--ink-3)}.read{display:grid;grid-template-columns:minmax(0,680px) 200px;justify-content:center;gap:72px}article section{margin-top:48px;scroll-margin-top:80px}article p{margin:0 0 18px;font-size:17px;line-height:1.75;color:var(--ink)}article .lede{font-size:20px;margin-bottom:8px}ul{margin:0 0 18px;padding-left:22px;font-size:17px;line-height:1.75}li::marker{color:var(--accent)}blockquote{margin:28px 0;padding:4px 0 4px 22px;border-left:2px solid var(--accent);font:italic 400 21px/1.5 var(--serif);color:var(--ink-2)}.table-wrap{margin:24px 0;overflow-x:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:14.5px}th,td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}th{background:var(--panel);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.toc{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:2px;font-size:13px}.toc a{padding:5px 0 5px 14px;border-left:1px solid var(--line);color:var(--ink-3)}.toc a:hover{color:var(--ink);border-color:var(--accent)}.scrim{display:none}@media(max-width:1100px){.toc{display:none}.read{grid-template-columns:minmax(0,680px)}}@media(max-width:800px){.shell{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:min(320px,86vw);z-index:20;transform:translate(-100%);transition:transform .2s}.side.is-open{transform:none}.scrim{display:block;position:fixed;inset:0;z-index:15;background:#0006}.menu{display:grid;place-items:center;width:36px;height:36px;margin-left:-8px}.topbar{padding:0 16px}.page,.read{padding:24px 16px 80px}.row{grid-template-columns:32px 1fr}.row small{display:none}}@media(prefers-reduced-motion:reduce){.brand .brand-name,.brand .brand-letter,.brand .brand-x-final{animation:none!important;opacity:1;clip-path:none}.brand .brand-x-traced{animation:none!important;opacity:0}.brand .brand-x-stroke{animation:none!important;stroke-dashoffset:0}*{transition:none!important;scroll-behavior:auto!important}}
