@font-face{font-family:Newsreader;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/newsreader-latin.woff2)format("woff2-variations")}@font-face{font-family:Newsreader;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/newsreader-latin-italic.woff2)format("woff2-variations")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2-variations")}:root{--bg:#fbfaf8;--bg-soft:#f4f2ee;--fg:#1a1a18;--fg-soft:#5c5a55;--fg-faint:#8a877f;--rule:#e4e1da;--accent:#b3261e;--accent-soft:#f7ecea;--serif:"Newsreader", "Iowan Old Style", Palatino, Georgia, serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--measure:65ch;--gutter:clamp(1.25rem, 5vw, 2.5rem);--radius:8px}html.dark{--bg:#12120f;--bg-soft:#1a1a16;--fg:#eceae4;--fg-soft:#a8a49a;--fg-faint:#6f6c64;--rule:#2a2a24;--accent:#f0736a;--accent-soft:#2a1d1b}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light}html.dark{color-scheme:dark}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100dvh;font-size:16px;line-height:1.6;transition:background-color .18s,color .18s;display:flex}img,picture,svg{max-width:100%;height:auto;display:block}a{color:inherit}button{font:inherit}.wrap{width:100%;max-width:calc(var(--measure) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}main{flex:1;padding-block:clamp(2.5rem,6vw,4.5rem)}.site-header{border-bottom:1px solid var(--rule);z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(12px);position:sticky;top:0}.site-header .inner{justify-content:space-between;align-items:center;gap:1rem;padding-block:.9rem;display:flex}.brand{font-family:var(--serif);letter-spacing:-.01em;white-space:nowrap;font-size:1.0625rem;font-weight:600;text-decoration:none}.brand span{color:var(--fg-faint);font-weight:400}.nav{align-items:center;gap:1.25rem;display:flex}.nav a{color:var(--fg-soft);font-size:.875rem;text-decoration:none;transition:color .15s}.nav a:hover,.nav a[aria-current=page]{color:var(--fg)}.theme-toggle{border:1px solid var(--rule);cursor:pointer;width:2rem;height:2rem;color:var(--fg-soft);background:0 0;border-radius:999px;flex:none;place-items:center;transition:border-color .15s,color .15s;display:grid}.theme-toggle:hover{color:var(--fg);border-color:var(--fg-faint)}.theme-toggle svg{width:15px;height:15px}html:not(.dark) .icon-moon,html.dark .icon-sun{display:none}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.2}h1{font-size:clamp(2rem,5.5vw,2.75rem)}h2{margin-top:2.5rem;font-size:clamp(1.375rem,3.5vw,1.625rem)}h3{margin-top:2rem;font-size:1.1875rem}p,ul,ol,blockquote,pre,table{margin-top:1.25rem}.post-body{font-family:var(--serif);color:var(--fg);font-size:clamp(1.1875rem,2.2vw,1.25rem);line-height:1.68}.post-body>p:first-of-type{margin-top:0}.post-body h2{margin-top:2.75rem}.post-body h3{margin-top:2.125rem}.post-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline 1px;text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent)}.post-body a:hover{text-decoration-color:var(--accent)}.post-body ul,.post-body ol{padding-left:1.35em}.post-body li{margin-top:.5rem}.post-body li::marker{color:var(--fg-faint)}.post-body blockquote{border-left:2px solid var(--accent);color:var(--fg-soft);padding-left:1.15rem;font-style:italic}.post-body code{font-family:var(--mono);background:var(--bg-soft);border:1px solid var(--rule);border-radius:4px;padding:.12em .35em;font-size:.85em}.post-body pre{border:1px solid var(--rule);border-radius:var(--radius);padding:1rem 1.15rem;font-size:.875rem;line-height:1.6;overflow-x:auto;background:var(--bg-soft)!important}.post-body pre code{font-size:inherit;background:0 0;border:0;padding:0}.post-body img{border-radius:var(--radius);margin-block:2rem}.post-body hr{border:0;border-top:1px solid var(--rule);margin-block:2.5rem}.post-body table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.9375rem}.post-body th,.post-body td{border-bottom:1px solid var(--rule);text-align:left;padding:.55rem .75rem}.post-body th{font-weight:600}.intro{margin-bottom:clamp(2.5rem,6vw,3.5rem)}.intro p{font-family:var(--serif);color:var(--fg-soft);max-width:54ch;margin-top:.75rem;font-size:clamp(1.125rem,2.4vw,1.3125rem);line-height:1.55}.post-list{padding:0;list-style:none}.post-list li{border-top:1px solid var(--rule)}.post-list li:first-child{border-top:0}.post-item{padding-block:1.35rem;text-decoration:none;transition:opacity .15s;display:block}.post-item:hover{opacity:.68}.post-item-meta{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);font-variant-numeric:tabular-nums;align-items:center;gap:.45rem;font-size:.75rem;display:flex}.post-item-meta time{font-size:inherit;letter-spacing:inherit;color:inherit}.post-item-dot{color:var(--rule);font-size:.9rem;line-height:1}.post-item h2{margin-top:.3rem;margin-bottom:0;font-size:clamp(1.25rem,3vw,1.4375rem)}.post-item p{color:var(--fg-soft);max-width:60ch;margin-top:.4rem;font-size:.9375rem;line-height:1.55}.article-header{margin-bottom:2.5rem}.article-header h1{margin-top:.5rem}.article-meta{color:var(--fg-faint);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-top:.85rem;font-size:.8125rem;display:flex}.article-meta time{font-variant-numeric:tabular-nums}.article-subtitle{font-family:var(--serif);color:var(--fg-soft);margin-top:.75rem;font-size:clamp(1.0625rem,2.3vw,1.1875rem);line-height:1.5}.hero-img{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:var(--bg-soft);width:100%;margin-bottom:2.5rem}.back-link{color:var(--fg-soft);border-top:1px solid var(--rule);align-items:center;gap:.4rem;width:100%;margin-top:3rem;padding-top:1.5rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--fg)}.site-footer{border-top:1px solid var(--rule);color:var(--fg-faint);padding-block:2rem;font-size:.8125rem}.site-footer .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;display:flex}.site-footer a{color:var(--fg-soft);text-decoration:none}.site-footer a:hover{color:var(--fg);text-underline-offset:3px;text-decoration:underline}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.links-intro{margin-bottom:clamp(2rem,5vw,3rem)}.links-intro h1{margin-bottom:.6rem}.links-intro p{font-family:var(--serif);color:var(--fg-soft);max-width:48ch;font-size:clamp(1.0625rem,2.2vw,1.1875rem);line-height:1.55}.links-body{flex-direction:column;gap:2.25rem;display:flex}.links-group-title{font-family:var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 .75rem;font-size:.75rem;font-weight:500}.links-list{margin:0;padding:0;list-style:none}.links-list li+li{margin-top:.5rem}.link-row{border:1px solid var(--rule);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;text-decoration:none;transition:border-color .15s,background-color .15s;display:flex}.link-row:hover{border-color:var(--fg-faint);background:var(--bg-soft)}.link-row-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.link-row-title{font-family:var(--sans);color:var(--fg);letter-spacing:-.005em;font-size:1rem;font-weight:500}.link-row-desc{color:var(--fg-soft);font-size:.875rem;line-height:1.45}.link-row-arrow{width:16px;height:16px;color:var(--fg-faint);flex:none;transition:color .15s,transform .15s}.link-row:hover .link-row-arrow{color:var(--accent);transform:translate(2px,-2px)}.links-footnote{border-top:1px solid var(--rule);color:var(--fg-faint);margin-top:3rem;padding-top:1.5rem;font-size:.8125rem}.links-footnote a{color:var(--fg-soft);text-decoration:none}.links-footnote a:hover{color:var(--fg);text-underline-offset:3px;text-decoration:underline}
