:root{color-scheme:light dark;--bg: #fbfaf7;--bg-soft: #f3efe8;--text: #1a1815;--text-muted: #6f6a62;--text-faint: #a9a39a;--border: #e7e1d6;--border-strong: #d6cebf;--accent: #d7484a;--accent-ink: #b13638;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.5rem;--tracking-tight: -.02em;--tracking-snug: -.014em;--tracking-wide: .04em;--radius-sm: 8px;--radius: 10px;--radius-lg: 18px;--font-display: "Newsreader", "Iowan Old Style", "Apple Garamond", Georgia, serif;--font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Helvetica Neue", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ease: cubic-bezier(.2, .8, .2, 1)}@media(prefers-color-scheme:dark){:root{--bg: #14130f;--bg-soft: #1c1a16;--text: #ece7dd;--text-muted: #9b9389;--text-faint: #5e564c;--border: #2a2620;--border-strong: #3a342c;--accent: #e25a5c;--accent-ink: #f07274}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--text);text-decoration:none;transition:color .16s var(--ease)}a:hover{color:var(--accent-ink)}h1,h2,h3{font-family:var(--font-display);font-weight:500;color:var(--text);letter-spacing:var(--tracking-snug);line-height:1.1;font-variation-settings:"opsz" 72}.container{max-width:1120px;margin:0 auto;padding:0 28px}.site-nav{border-bottom:1px solid var(--border);padding:12px 0;position:sticky;top:0;z-index:10;backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);background:color-mix(in srgb,var(--bg) 82%,transparent)}.site-nav .container{display:flex;align-items:center;justify-content:space-between;gap:24px}.site-nav .brand{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);letter-spacing:var(--tracking-tight);color:var(--text)}.site-nav .brand:hover{color:var(--text)}.site-nav .brand img{border-radius:var(--radius-sm);display:block}.site-nav .brand .dot{color:var(--accent)}.site-nav nav{display:flex;gap:28px;font-size:var(--text-sm);font-weight:500}.site-nav nav a{color:var(--text-muted)}.site-nav nav a:hover{color:var(--text)}.site-footer{border-top:1px solid var(--border);margin-top:128px;padding:28px 0 32px;color:var(--text-muted);font-size:var(--text-sm)}.site-footer .container{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px}.site-footer nav{display:flex;gap:24px}.site-footer a{color:var(--text-muted)}.site-footer a:hover{color:var(--text)}@media(max-width:960px){.site-footer{margin-top:80px}}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-family:var(--font-sans);font-weight:600;font-size:var(--text-sm);letter-spacing:var(--tracking-snug);border:1px solid transparent;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);will-change:transform}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px #ffffff2e inset,0 8px 20px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.btn-primary:hover{background:var(--accent-ink);color:#fff}.btn-link{padding:12px 4px;color:var(--text-muted);background:transparent;font-weight:600}.nav-cta{height:32px;padding:0 12px 0 16px;font-size:var(--text-sm);gap:8px;line-height:1;border-radius:var(--radius-sm);box-shadow:none}.btn-link:hover{color:var(--text);transform:none}.btn-link .arrow{display:inline-block;transition:transform .2s var(--ease)}.btn-link:hover .arrow{transform:translate(3px)}.kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-muted);margin:0}.kicker-dot{display:inline-block;width:6px;height:6px;border-radius:999px;background:var(--accent)}.lede{font-size:var(--text-lg);line-height:1.6;color:var(--text-muted);max-width:52ch;margin:0 0 32px}.prose{max-width:720px;margin:80px auto 32px;padding:0 28px}.prose h1{font-size:clamp(2rem,4vw,2.5rem);margin:0 0 12px;letter-spacing:var(--tracking-tight)}.prose .date{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-faint);margin:0 0 40px}.prose h2{font-size:var(--text-2xl);margin:40px 0 12px;letter-spacing:var(--tracking-snug)}.prose p,.prose li{margin:0 0 12px;font-size:var(--text-base);color:var(--text)}.prose a{color:var(--accent-ink);border-bottom:1px solid color-mix(in srgb,var(--accent-ink) 35%,transparent)}.prose a:hover{border-bottom-color:var(--accent-ink)}.prose ul,.prose ol{padding-left:20px}.prose h3{font-size:var(--text-lg);margin:28px 0 8px;letter-spacing:var(--tracking-snug)}.prose table{display:block;overflow-x:auto;border-collapse:collapse;margin:0 0 20px;font-size:var(--text-sm)}.prose th,.prose td{border-bottom:1px solid var(--border);padding:8px 16px 8px 0;text-align:left;vertical-align:top}.prose th{font-weight:600;color:var(--text)}.prose blockquote{border-left:2px solid var(--border);margin:0 0 12px;padding-left:16px;color:var(--text-muted)}.prose code{font-family:var(--font-mono);font-size:.9em}.prose hr{border:none;border-top:1px solid var(--border);margin:32px 0}.guides-lede{color:var(--text-muted);max-width:720px;margin:0}.guides-list{list-style:none;margin:0;padding:0}.guides-list li{border-top:1px solid var(--border)}.guides-list a{display:flex;flex-direction:column;gap:6px;padding:24px 0;text-decoration:none}.guides-title{font-size:var(--text-lg);font-weight:500;color:var(--text)}.guides-list a:hover .guides-title{color:var(--accent-ink)}.guides-desc{font-size:var(--text-sm);color:var(--text-muted)}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(10px);animation:reveal-up .7s var(--ease) forwards}@keyframes reveal-up{to{opacity:1;transform:none}}html.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--reveal-delay, 0ms)}html.js [data-reveal].revealed{opacity:1;transform:none}}
