:root{--paper: #f5f0e6;--paper-2: #ece5d6;--card: #fbf8f1;--ink: #1c1a16;--ink-2: #3a362f;--muted: #6f685c;--rule: #dcd2bf;--accent: #c2410c;--accent-ink: #9a3412;--odin: #0f6b63;--odin-soft: #dcebe6;--code-bg: #efe8da;--shadow: 0 1px 0 rgba(28, 26, 22, .04), 0 10px 30px -18px rgba(28, 26, 22, .35);--serif: "Source Serif 4", Georgia, "Times New Roman", serif;--display: "Fraunces", Georgia, serif;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--measure: 40rem;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #121110;--paper-2: #1b1917;--card: #1a1816;--ink: #ede7db;--ink-2: #d2cbbd;--muted: #9d968a;--rule: #2f2b26;--accent: #fb7d3c;--accent-ink: #fdba74;--odin: #5eead4;--odin-soft: #12302c;--code-bg: #1f1c19;--shadow: 0 10px 30px -18px rgba(0,0,0,.8);color-scheme:dark}}:root[data-theme=dark]{--paper: #121110;--paper-2: #1b1917;--card: #1a1816;--ink: #ede7db;--ink-2: #d2cbbd;--muted: #9d968a;--rule: #2f2b26;--accent: #fb7d3c;--accent-ink: #fdba74;--odin: #5eead4;--odin-soft: #12302c;--code-bg: #1f1c19;--shadow: 0 10px 30px -18px rgba(0,0,0,.8);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;height:auto}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent)}.wrap{max-width:72rem;margin:0 auto;padding:0 1rem}@media(min-width:640px){.wrap{padding:0 2rem}}.muted{color:var(--muted)}.tiny{font-size:.8rem}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--card);padding:.5rem 1rem;z-index:10}.kicker{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.site-header{border-bottom:1px solid var(--rule);background:color-mix(in srgb,var(--paper) 92%,transparent);position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:3.75rem}.brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none}.brand-mark{width:1.75rem;height:1.75rem;color:var(--ink)}.brand-name{font-family:var(--display);font-weight:800;font-size:1.2rem;letter-spacing:-.01em;white-space:nowrap}.nav{display:flex;align-items:center;gap:.25rem;font-family:var(--mono);font-size:.8rem}.nav a{color:var(--ink-2);text-decoration:none;padding:.4rem .55rem;border-radius:.4rem;white-space:nowrap}.nav a:hover,.nav a[aria-current]{background:var(--paper-2);color:var(--ink)}.nav-agentry{color:var(--accent-ink)!important}.theme-toggle{background:none;border:0;color:var(--ink-2);padding:.4rem;cursor:pointer;border-radius:.4rem;display:grid;place-items:center}.theme-toggle:hover{background:var(--paper-2)}@media(max-width:560px){.brand-name{font-size:1.05rem}.nav a:not(.nav-agentry):nth-child(2){display:none}.nav{font-size:.72rem}.nav a{padding:.35rem .4rem}}.site-footer{border-top:1px solid var(--rule);margin-top:5rem;padding:2.5rem 0 2rem;font-size:.95rem}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem}.footer-brand{font-family:var(--display);font-weight:800;font-size:1.15rem;margin:0 0 .25rem}.footer-inner p{max-width:32rem;margin:0}.footer-links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;font-family:var(--mono);font-size:.8rem}.hero{padding:3.5rem 0 2.5rem;border-bottom:1px solid var(--rule)}.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.03em;margin:.6rem 0 1rem;max-width:16ch}.hero h1 em{font-style:italic;color:var(--accent);font-weight:650}.hero p.lede{font-size:1.25rem;max-width:38rem;color:var(--ink-2);margin:0}.hero-stats{display:flex;flex-wrap:wrap;gap:1.75rem 2.5rem;margin-top:2rem;font-family:var(--mono);font-size:.8rem;color:var(--muted)}.hero-stats strong{display:block;font-family:var(--display);font-size:1.9rem;color:var(--ink);font-weight:650;letter-spacing:-.02em}.section{padding:3rem 0 0}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--rule);padding-bottom:.6rem}.section-head h2{font-family:var(--display);font-weight:650;font-size:1.6rem;margin:0;letter-spacing:-.01em}.section-head a{font-family:var(--mono);font-size:.78rem}.feature{display:grid;gap:1.5rem;text-decoration:none;color:inherit}@media(min-width:860px){.feature{grid-template-columns:1.25fr 1fr;align-items:center;gap:2.5rem}}.feature-img,.card-img{border-radius:.6rem;overflow:hidden;background:var(--paper-2);border:1px solid var(--rule);aspect-ratio:1200/630}.feature-img img,.card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.feature:hover img,.card:hover img{transform:scale(1.02)}.feature h3{font-family:var(--display);font-weight:800;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.08;letter-spacing:-.02em;margin:.4rem 0 .75rem}.feature:hover h3,.card:hover h3,.row:hover h3{color:var(--accent-ink)}.feature p{color:var(--ink-2);margin:0 0 .9rem}.meta{font-family:var(--mono);font-size:.75rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.25rem .75rem}.grid{display:grid;gap:2rem 1.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}.card{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.7rem}.card h3{font-family:var(--display);font-weight:650;font-size:1.32rem;line-height:1.18;letter-spacing:-.01em;margin:0}.card p{margin:0;color:var(--ink-2);font-size:1rem;line-height:1.5}.series-band{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.series-card{background:var(--card);border:1px solid var(--rule);border-radius:.7rem;padding:1.25rem 1.25rem 1.1rem;text-decoration:none;color:inherit;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.4rem}.series-card h3{font-family:var(--display);font-weight:800;font-size:1.4rem;margin:0}.series-card p{margin:0;font-size:.98rem;color:var(--ink-2);line-height:1.5}.series-card .count{font-family:var(--mono);font-size:.75rem;color:var(--muted);margin-top:auto;padding-top:.5rem}.series-card.odin{border-color:color-mix(in srgb,var(--odin) 40%,var(--rule))}.series-card.odin .kicker{color:var(--odin)}.list{list-style:none;padding:0;margin:0}.row{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}.row time{font-family:var(--mono);font-size:.78rem;color:var(--muted);padding-top:.3rem}.row h3{font-family:var(--display);font-weight:650;font-size:1.2rem;margin:0 0 .2rem;line-height:1.25}.row p{margin:0;font-size:.98rem;color:var(--muted);line-height:1.45}@media(max-width:560px){.row{grid-template-columns:1fr;gap:.2rem}}.article-head{padding:3rem 0 1.5rem;max-width:50rem;margin:0 auto}.article-head h1{font-family:var(--display);font-weight:800;font-size:clamp(2.1rem,5.2vw,3.6rem);line-height:1.04;letter-spacing:-.028em;margin:.7rem 0 1rem;text-wrap:balance}.dek{font-size:1.3rem;line-height:1.45;color:var(--ink-2);margin:0 0 1.5rem;text-wrap:pretty}.byline{display:flex;align-items:center;gap:.85rem;font-size:.95rem}.avatars{display:flex}.avatar{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.78rem;letter-spacing:-.02em;border:2px solid var(--paper)}.avatar.chris{background:var(--ink);color:var(--paper)}.avatar.darian{background:var(--accent);color:#fff;margin-left:-.6rem}.byline .names{line-height:1.35}.byline .names b{font-weight:600}.article-hero{max-width:60rem;margin:0 auto 2.5rem}.article-hero img{width:100%;border-radius:.7rem;border:1px solid var(--rule);display:block}.article-hero figcaption{font-size:.85rem;color:var(--muted);margin-top:.5rem;font-family:var(--mono)}.prose{max-width:var(--measure);margin:0 auto}.prose>*+*{margin-top:1.15em}.prose p{margin:0}.prose h2{font-family:var(--display);font-weight:650;font-size:1.75rem;line-height:1.2;letter-spacing:-.015em;margin:2.2em 0 .2em}.prose h3{font-family:var(--display);font-weight:650;font-size:1.3rem;margin:1.8em 0 .1em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.35em}.prose strong{font-weight:600}.prose hr{border:0;text-align:center;margin:2.5em 0}.prose hr:after{content:"• • •";color:var(--muted);letter-spacing:.5em}.prose blockquote{margin-left:0;margin-right:0;padding:.2rem 0 .2rem 1.25rem;border-left:3px solid var(--accent);color:var(--ink-2);font-style:italic}.prose blockquote.odin,.prose .odin-quote{border-left-color:var(--odin);background:var(--odin-soft);padding:1rem 1.25rem;border-radius:0 .5rem .5rem 0;font-style:normal;font-family:var(--mono);font-size:.92rem;line-height:1.6;color:var(--ink)}.prose .odin-quote cite{display:block;margin-top:.5rem;font-size:.75rem;color:var(--muted);font-style:normal}.prose .pull{font-family:var(--display);font-size:1.6rem;line-height:1.25;font-weight:650;letter-spacing:-.01em;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);padding:1rem 0;margin:2em 0;color:var(--ink);text-wrap:balance}.prose code{font-family:var(--mono);font-size:.85em;background:var(--code-bg);padding:.1em .35em;border-radius:.25rem}.prose pre{background:var(--code-bg)!important;padding:1rem 1.15rem;border-radius:.5rem;overflow-x:auto;font-size:.85rem;line-height:1.55;border:1px solid var(--rule)}.prose pre code{background:none;padding:0;font-size:inherit}:root[data-theme=dark] .astro-code,:root[data-theme=dark] .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .astro-code,:root:not([data-theme=light]) .astro-code span{color:var(--shiki-dark)!important;background-color:transparent!important}}.prose img{border-radius:.5rem;border:1px solid var(--rule);display:block;margin:0 auto}.prose figure{margin:2em 0}.prose figure.wide{margin-left:calc(50% - min(30rem,50vw - 1rem));margin-right:calc(50% - min(30rem,50vw - 1rem))}.prose figcaption{font-size:.85rem;color:var(--muted);margin-top:.6rem;font-family:var(--mono);line-height:1.5}.prose table{width:100%;border-collapse:collapse;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:.55rem .75rem .55rem 0;border-bottom:1px solid var(--rule);vertical-align:top}.prose th{font-family:var(--mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.prose .callout{background:var(--card);border:1px solid var(--rule);border-radius:.6rem;padding:1rem 1.25rem;font-size:1rem;box-shadow:var(--shadow)}.prose .callout>:first-child{margin-top:0}.prose .tldr{background:var(--card);border:1px solid var(--rule);border-left:4px solid var(--accent);border-radius:.4rem;padding:1rem 1.25rem;font-size:1.02rem}.prose .tldr:before{content:"Short version";display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.35rem}.tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:2.5rem auto 0;max-width:var(--measure)}.tags a{font-family:var(--mono);font-size:.75rem;text-decoration:none;color:var(--ink-2);border:1px solid var(--rule);border-radius:99px;padding:.2rem .65rem}.tags a:hover{border-color:var(--accent);color:var(--accent-ink)}.endbox{max-width:var(--measure);margin:3rem auto 0;display:grid;gap:1rem}.authors-box{background:var(--card);border:1px solid var(--rule);border-radius:.7rem;padding:1.25rem;font-size:.98rem;display:grid;gap:.9rem}.authors-box .who{display:grid;grid-template-columns:2.6rem 1fr;gap:.8rem;align-items:start}.authors-box .who p{margin:0;color:var(--ink-2);line-height:1.5}.authors-box .avatar{margin:0}.cta{background:var(--ink);color:var(--paper);border-radius:.7rem;padding:1.5rem;display:grid;gap:.5rem}.cta h2{font-family:var(--display);font-weight:800;font-size:1.45rem;margin:0;line-height:1.2}.cta p{margin:0;color:color-mix(in srgb,var(--paper) 80%,transparent);font-size:1rem}.cta a.btn{justify-self:start;margin-top:.4rem;background:var(--accent);color:#fff;text-decoration:none;font-family:var(--mono);font-size:.85rem;padding:.6rem 1rem;border-radius:.4rem}.cta a.btn:hover{filter:brightness(1.08)}.series-nav{max-width:var(--measure);margin:2.5rem auto 0;border:1px solid var(--rule);border-radius:.7rem;padding:1.1rem 1.25rem}.series-nav ol{margin:.5rem 0 0;padding-left:1.2rem;font-size:.98rem}.series-nav li{padding:.15rem 0}.series-nav li[aria-current]{font-weight:600}.pager{max-width:var(--measure);margin:2rem auto 0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.pager a{text-decoration:none;color:inherit;border:1px solid var(--rule);border-radius:.6rem;padding:.9rem 1rem;display:block}.pager a:hover{border-color:var(--accent)}.pager span{display:block;font-family:var(--mono);font-size:.72rem;color:var(--muted)}.pager b{font-family:var(--display);font-weight:650;font-size:1.02rem;line-height:1.25;display:block;margin-top:.2rem}.pager .next{text-align:right;grid-column:2}.page-head{padding:3rem 0 1.5rem}.page-head h1{font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.025em;margin:.5rem 0 .75rem;line-height:1.05}.page-head p{font-size:1.15rem;color:var(--ink-2);max-width:42rem;margin:0}.prose figure img[src$=".svg"]{border:0;border-radius:0;width:100%}.page-head.with-portrait{display:grid;gap:1.5rem;align-items:center}.page-head .portrait{width:9rem;height:9rem;border-radius:50%}@media(min-width:640px){.page-head.with-portrait{grid-template-columns:11rem 1fr}.page-head .portrait{width:11rem;height:11rem}}
