@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,700;1,9..144,400&family=Source+Sans+3:wght@400;600&family=Crimson+Pro:ital,wght@0,400;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap";.site-nav[data-astro-cid-dmqpwcec]{position:sticky;top:3rem}.site-name[data-astro-cid-dmqpwcec]{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.1rem;color:var(--color-text);text-decoration:none;display:block;margin-bottom:1.5rem}.site-name[data-astro-cid-dmqpwcec]:hover{color:var(--color-accent);text-decoration:none}ul[data-astro-cid-dmqpwcec]{list-style:none;padding:0}li[data-astro-cid-dmqpwcec]{margin-bottom:.4rem}.nav-link[data-astro-cid-dmqpwcec]{color:var(--color-muted);text-decoration:none;font-size:.95rem;transition:color .15s}.nav-link[data-astro-cid-dmqpwcec]:hover{color:var(--color-text);text-decoration:none}.nav-link[data-astro-cid-dmqpwcec].active{color:var(--color-text);font-weight:600}.coming-soon[data-astro-cid-dmqpwcec]{color:var(--color-coming-soon);cursor:default;font-style:italic}.nav-footnote[data-astro-cid-dmqpwcec]{font-size:.7rem;color:var(--color-coming-soon);margin-top:.75rem;font-style:italic}@media(max-width:700px){.site-nav[data-astro-cid-dmqpwcec]{position:static;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:1rem;border-bottom:1px solid var(--color-border);padding-bottom:1rem}.site-name[data-astro-cid-dmqpwcec]{margin-bottom:0;margin-right:auto;width:100%}ul[data-astro-cid-dmqpwcec]{display:flex;gap:1rem;flex-wrap:wrap}.nav-footnote[data-astro-cid-dmqpwcec]{display:none}}.site-footer[data-astro-cid-sz7xmlte]{margin-top:4rem;padding-bottom:2rem}.site-footer[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{font-size:.85rem;color:var(--color-muted)}.essay-content{font-family:Crimson Pro,Georgia,serif;font-size:1.125rem;line-height:1.8}.essay-content h1,.essay-content h2,.essay-content h3{font-family:Fraunces,Georgia,serif}.essay-content a{text-decoration:underline;text-underline-offset:2px}:root{--color-bg: #f7f5f0;--color-text: #111111;--color-muted: #6b6b6b;--color-accent: #CC0000;--color-accent-dark: #990000;--color-border: #e0ddd8;--color-code-bg: #f4f4f0;--color-tag-bg: #fdf0f0;--color-coming-soon: #c8c8c8}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:"Source Sans 3",system-ui,sans-serif;font-size:1rem;line-height:1.7;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:700;line-height:1.25}h1{font-size:2rem;margin-bottom:.5rem}h2{font-size:1.5rem;margin:2rem 0 .75rem}h3{font-size:1.2rem;margin:1.5rem 0 .5rem}p{margin-bottom:1rem}code{font-family:JetBrains Mono,monospace;font-size:.875em;background:var(--color-code-bg);padding:2px 6px;border-radius:3px}pre{font-family:JetBrains Mono,monospace;font-size:.85rem;background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:4px;padding:1rem;overflow-x:auto;margin:1.5rem 0}pre code{background:none;padding:0}blockquote{border-left:3px solid var(--color-border);padding-left:1rem;color:var(--color-muted);margin:1.5rem 0;font-style:italic}table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}th,td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}th{font-weight:600}hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.meta{font-family:"Source Sans 3",sans-serif;font-size:.85rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.page-wrapper{display:grid;grid-template-columns:180px 1fr;gap:3rem;max-width:880px;margin:0 auto;padding:3rem 2rem;min-height:100vh}.page-content{max-width:640px}@media(max-width:700px){.page-wrapper{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem 1rem}}.tag{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:3px;background:var(--color-tag-bg);color:var(--color-accent);margin-right:.25rem}.badge{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:3px;background:var(--color-muted);color:#fff}.badge-new{background:var(--color-accent)}.badge-internal{background:#555}.badge-research{background:#6b46c1}.badge-wip{background:#d97706}
