.site-foot[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);font-size:var(--step--1);color:var(--fg-mute);margin-top:auto;padding-block:2rem}.site-foot__inner[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.site-foot[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-foot[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--fg-dim);text-decoration:none}.site-foot[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--accent)}:root{--bg:#0b0906;--bg-subtle:#12100b;--surface:#17140e;--surface-hover:#1e1a12;--border:#2e2718;--border-strong:#4a3f26;--fg:#f0e9da;--fg-dim:#bcb098;--fg-mute:#8d8067;--accent:#d9b44a;--accent-soft:#d9b44a1c;--accent-2:#c4424f;--accent-3:#e2542f;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Helvetica, Arial, sans-serif;--font-serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, monospace;--step--1:clamp(.82rem, .79rem + .13vw, .89rem);--step-0:clamp(1rem, .96rem + .19vw, 1.09rem);--step-1:clamp(1.2rem, 1.12rem + .38vw, 1.42rem);--step-2:clamp(1.44rem, 1.29rem + .72vw, 1.85rem);--step-3:clamp(1.73rem, 1.48rem + 1.23vw, 2.4rem);--step-4:clamp(2.07rem, 1.66rem + 2.02vw, 3.13rem);--measure:68ch;--wrap:1100px;--wrap-narrow:720px;--gap:1.5rem;--radius:10px;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4eddd;--bg-subtle:#eae0c9;--surface:#fbf6ea;--surface-hover:#f2ead6;--border:#dccfb1;--border-strong:#bfae88;--fg:#1a1408;--fg-dim:#4d4535;--fg-mute:#736549;--accent:#806210;--accent-soft:#80621017;--accent-2:#8e2433;--accent-3:#b8381d;color-scheme:light}}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100dvh;line-height:1.65;display:flex}img,svg,video,canvas{max-width:100%;height:auto;display:block}input,button,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-serif);text-wrap:balance;letter-spacing:-.01em;font-weight:600;line-height:1.15}p,li{text-wrap:pretty}a{color:var(--accent);text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}::selection{background:var(--accent-soft);color:var(--fg)}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.wrap--narrow{max-width:var(--wrap-narrow)}.stack>*+*{margin-top:var(--gap)}.section{padding-block:clamp(3rem,8vw,5.5rem)}.section+.section{border-top:1px solid var(--border)}.kicker{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-mute)}.lede{font-size:var(--step-1);color:var(--fg-dim);max-width:var(--measure)}.skip-link{background:var(--surface);color:var(--fg);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:100;padding:.75rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.btn{border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--fg);font-size:var(--step--1);background:0 0;align-items:center;gap:.5rem;padding:.55rem 1.1rem;text-decoration:none;transition:border-color .15s,background-color .15s;display:inline-flex}.btn:hover{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}.btn--primary{border-color:var(--accent);background:var(--accent-soft)}.tag{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border);color:var(--fg-mute);border-radius:999px;padding:.15rem .5rem;font-size:.72rem;display:inline-block}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.6rem;padding:1.25rem;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.card:hover{border-color:var(--border-strong);background:var(--surface-hover)}.card__title{font-size:var(--step-1)}.card__title a{color:var(--fg);text-decoration:none}.card__title a:after{content:"";position:absolute;inset:0}.card__desc{color:var(--fg-dim);font-size:var(--step--1)}.card__meta{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:auto;display:flex}.card--link{position:relative}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1.15em}.prose h2{font-size:var(--step-2);margin-top:2.2em}.prose h3{font-size:var(--step-1);margin-top:1.8em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose strong{color:var(--fg);font-weight:600}.prose blockquote{border-left:2px solid var(--accent);color:var(--fg-dim);font-family:var(--font-serif);padding-left:1.1em;font-style:italic}.prose code:not(pre code){font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border);border-radius:4px;padding:.1em .35em;font-size:.87em}.prose pre{font-family:var(--font-mono);font-size:var(--step--1);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem;line-height:1.6;overflow-x:auto}.prose img{border:1px solid var(--border);border-radius:var(--radius)}.prose figure{margin-block:2em}.prose figcaption{font-size:var(--step--1);color:var(--fg-mute);max-width:var(--measure);margin-top:.6em}.prose hr{border:0;border-top:1px solid var(--border);margin-block:2.5em}.prose table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.5em .7em}.prose th{background:var(--bg-subtle)}.table-scroll{overflow-x:auto}
