:root{color-scheme:light;--bg: #f6f8fc;--panel: #ffffff;--text: #182338;--muted: #536176;--link: #075b96;--border: #d8e0eb;--shadow: rgba(27, 45, 74, .05);--code-bg: #ffffff;--control: #eef2f8;--hover: #e2eaf4;--glow-blue: rgba(139, 211, 255, .12);--glow-green: rgba(151, 255, 193, .08);--accent: #b93828;--max: 980px}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1020;--panel: rgba(255, 255, 255, .06);--text: #edf1f7;--muted: #b7c2d3;--link: #8bd3ff;--border: rgba(255, 255, 255, .14);--shadow: rgba(0, 0, 0, .2);--code-bg: #171e2e;--control: rgba(255, 255, 255, .03);--hover: rgba(255, 255, 255, .08);--glow-blue: rgba(139, 211, 255, .12);--glow-green: rgba(151, 255, 193, .08);--accent: #f16652}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg: #0b1020;--panel: rgba(255, 255, 255, .06);--text: #edf1f7;--muted: #b7c2d3;--link: #8bd3ff;--border: rgba(255, 255, 255, .14);--shadow: rgba(0, 0, 0, .2);--code-bg: #171e2e;--control: rgba(255, 255, 255, .03);--hover: rgba(255, 255, 255, .08);--accent: #f16652}}*{box-sizing:border-box}html,body{height:100%}html{background:var(--bg)}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;position:relative;isolation:isolate}body:before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(1200px 800px at 20% 10%,var(--glow-blue),transparent 50%),radial-gradient(1200px 800px at 90% 20%,var(--glow-green),transparent 55%),var(--bg);background-repeat:no-repeat;pointer-events:none}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent);color:var(--bg)}a.panel.card:hover,a.panel.card:focus-visible{text-decoration:none}.post-card{position:relative}.post-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(800px circle at var(--mouse-x, -9999px) var(--mouse-y, -9999px),rgba(255,255,255,.06),transparent 40%);z-index:0;pointer-events:none;opacity:0;transition:opacity .3s ease}.post-card:hover:after{opacity:1}.post-card .post-card-title-link{color:var(--text);text-decoration:none}.post-card .post-card-title-link:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:0}.post-card .post-card-title-link:hover,.post-card .post-card-title-link:focus-visible{text-decoration:none}.post-card a.pill,.post-card .post-card-title-link .h2{position:relative;z-index:1}a.pill:hover,a.pill:focus-visible{background:var(--hover);color:var(--text);text-decoration:none}main,header,footer{width:100%;max-width:var(--max);margin:0 auto;padding:24px}header{padding-top:28px;padding-bottom:8px}footer{padding-top:12px;padding-bottom:28px;color:var(--muted)}.panel{border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 12px 30px var(--shadow)}.stack{display:grid;gap:14px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row>*{min-width:0}.stack>*{min-width:0}.muted{color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--control);color:var(--muted);font-size:14px;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.card{padding:18px;overflow-wrap:anywhere;word-break:break-word}.h1{font-size:clamp(26px,3.2vw,38px);line-height:1.2;letter-spacing:-.02em;margin:0}.h2{font-size:20px;margin:0}.prose p{margin:0 0 1em}.prose p:last-child{margin-bottom:0}.prose li{margin:0 0 .5em}.prose li:last-child{margin-bottom:0}.prose li>p{margin:0}.prose :is(ul,ol){margin:0 0 1em;padding-left:1.25em}.prose :is(ul,ol):last-child{margin-bottom:0}.prose :is(p,li,blockquote,h1,h2,h3,h4,h5,h6) code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.95em;padding:.15em .35em;border-radius:8px;background:var(--hover)}.prose pre{padding:16px;overflow:auto;border-radius:16px;border:1px solid var(--border);background-color:var(--code-bg)!important}.prose pre code{padding:0;background:transparent}.prose,.prose a{overflow-wrap:anywhere;word-break:break-word}.prose :is(p,li,blockquote,h1,h2,h3,h4,h5,h6) code{overflow-wrap:anywhere;word-break:break-word}.prose pre{max-width:100%;-webkit-overflow-scrolling:touch}.prose :is(img,video,iframe){max-width:100%;height:auto}.prose table{display:block;max-width:100%;overflow-x:auto}.byline{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;color:var(--muted);font-size:14px}.byline .byline-publisher{color:var(--text);font-weight:600}.byline .byline-sep{opacity:.5}.post-edit-link{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:14px}.post-edit-link .post-edit-icon{flex:none}.share-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.share-label{color:var(--muted);font-size:14px;margin-right:6px}.share-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--border);background:var(--control);color:var(--text);font-size:14px;cursor:pointer;transition:background-color .15s ease}.share-btn:hover,.share-btn:focus-visible{text-decoration:none;background:var(--hover)}.header-row{justify-content:space-between;flex-wrap:wrap;gap:10px}.header-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.header-search-trigger{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--muted);font:inherit}.header-search-trigger:hover,.header-search-trigger:focus-visible{background:var(--hover);color:var(--text)}.header-search-kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;padding:2px 6px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--muted)}.header-lang{position:relative}.header-lang-trigger{cursor:pointer;user-select:none;list-style:none;display:inline-flex}.header-lang-trigger::-webkit-details-marker{display:none}.header-lang-trigger:hover,.header-lang[open] .header-lang-trigger{background:var(--hover);color:var(--text)}.header-lang-code{font-weight:600;letter-spacing:.02em}.header-lang-caret{font-size:11px;opacity:.7}.header-lang-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:180px;margin:0;padding:6px;list-style:none;border:1px solid var(--border);border-radius:10px;background:var(--bg, #0b0b10);box-shadow:0 10px 30px #00000059}.header-lang-menu li{margin:0}.header-lang-menu a{display:flex;align-items:baseline;gap:10px;padding:8px 10px;border-radius:6px;color:var(--muted);text-decoration:none;font-size:14px}.header-lang-menu a:hover,.header-lang-menu a:focus-visible{background:var(--hover);color:var(--text)}.header-lang-menu-code{font-weight:600;font-size:12px;min-width:40px;color:var(--text);opacity:.75}.search-overlay[hidden]{display:none}.search-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:48px 16px 16px}.search-overlay-backdrop{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.search-overlay-panel{position:relative;width:100%;max-width:720px;max-height:calc(100vh - 64px);overflow:auto;padding:18px;background:var(--bg)}.search-overlay-header{justify-content:space-between;margin-bottom:12px}.search-overlay-close{cursor:pointer}.pagefind-ui{--pagefind-ui-font: inherit;--pagefind-ui-background: transparent;--pagefind-ui-text: var(--text);--pagefind-ui-border: var(--border);--pagefind-ui-primary: var(--link);--pagefind-ui-tag: var(--panel)}#pagefind-search .pagefind-ui__search-input::placeholder{color:var(--muted);opacity:1}.pagefind-ui .pagefind-ui__result{grid-template-columns:1fr}.pagefind-ui .pagefind-ui__result-thumb,.pagefind-ui .pagefind-ui__result-image{display:none}.pagefind-ui .pagefind-ui__result-tags{color:var(--muted);background:var(--panel);border:1px solid var(--border)}.pagefind-ui .pagefind-ui__search-clear{background:var(--panel);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:13px;cursor:pointer}.pagefind-ui .pagefind-ui__search-clear:hover,.pagefind-ui .pagefind-ui__search-clear:focus-visible{color:var(--text);background:var(--hover)}.home-hero{margin-top:18px}.home-tagline{margin:0;font-size:clamp(16px,1.6vw,18px);font-weight:400;color:var(--text);line-height:1.5}.home-cta{color:var(--text);font-weight:600}.home-cta:hover,.home-cta:focus-visible{background:var(--hover);text-decoration:none}.featured-section{margin-top:24px}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}@media(max-width:900px){.featured-grid{grid-template-columns:1fr}}.featured-card{height:100%}.start-here-sections{gap:18px}.start-here-blurb{margin:0}.start-here-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.start-here-item{display:grid;gap:4px;padding:10px 0;border-top:1px solid var(--border)}.start-here-item:first-child{border-top:0;padding-top:0}.start-here-item:last-child{padding-bottom:0}.start-here-link{font-weight:600;color:var(--text);overflow-wrap:anywhere}.start-here-link:hover{color:var(--link)}.start-here-desc{font-size:14px;overflow-wrap:anywhere}.archive-year-index{margin-top:4px}.archive-sections{gap:18px}.archive-year{scroll-margin-top:12px}.archive-year-head{justify-content:space-between}.archive-month{gap:8px}.archive-month-head{font-size:15px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0}.archive-month-count{font-weight:400;text-transform:none;letter-spacing:0}.archive-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.archive-item{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:baseline;padding:4px 0;border-top:1px solid var(--border)}.archive-item:first-child{border-top:0}.archive-date{font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap}.archive-link{color:var(--text);overflow-wrap:anywhere}.archive-link:hover{color:var(--link)}@media(max-width:640px){.archive-item{grid-template-columns:1fr;gap:2px}}.tag-cloud{gap:10px}.tag-cloud a.pill{color:var(--text)}.tag-cloud .tag-count{font-size:12px;opacity:.75}.prev-next{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}@media(max-width:640px){.prev-next{grid-template-columns:1fr}}.prev-next-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--panel);color:var(--text);text-decoration:none}.prev-next-item:hover,.prev-next-item:focus-visible{background:var(--hover);text-decoration:none}.prev-next-next{text-align:right}.prev-next-label{color:var(--muted);font-size:13px}.prev-next-title{font-weight:600;line-height:1.35}.prev-next-empty{visibility:hidden;border:0;background:transparent}.related-heading{font-size:16px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-weight:600}.comments-section{margin-top:28px;display:flex;flex-direction:column;gap:12px}.comments-section h2{font-size:16px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:0}.comments-section .giscus,.comments-section .giscus-frame{width:100%}.footer-nav{gap:16px;margin-bottom:6px}.footer-nav a{color:var(--muted);font-size:14px}.footer-nav a:hover{color:var(--link)}.footer-copy{font-size:13px}.pillar-index{border-top:1px solid var(--border);padding-top:20px}.pillar-index-group{margin-top:10px}.pillar-index-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.pillar-index-item a{font-weight:600}.pillar-index-item .muted{font-size:14px;margin-top:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer-newsletter{margin-top:32px;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;gap:10px}.footer-newsletter-heading{margin:0;font-size:20px}.footer-newsletter-copy{margin:0;max-width:520px}.footer-newsletter-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 2px}.footer-newsletter-input{flex:1 1 220px;min-width:200px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:inherit;font:inherit}.footer-newsletter-input:focus{outline:2px solid var(--accent, #4f8cff);outline-offset:2px}.footer-newsletter-submit{cursor:pointer;border:1px solid var(--border);background:var(--panel)}.footer-newsletter-alt{margin:0;font-size:14px}.inline-subscribe{margin-top:28px;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--panel);display:grid;gap:8px}.inline-subscribe-heading{margin:0;font-size:20px}.inline-subscribe-copy{margin:0}.inline-subscribe-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.inline-subscribe-input{flex:1 1 220px;min-width:200px;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--bg, #fff);color:inherit;font:inherit}.inline-subscribe-input:focus{outline:2px solid var(--accent, #4f8cff);outline-offset:2px}.footer-newsletter-submit{cursor:pointer;border:1px solid var(--border);background:var(--panel);padding:8px 16px;font:inherit}.footer-newsletter-submit:hover,.footer-newsletter-submit:focus-visible{background:var(--hover);color:var(--text)}.inline-subscribe-submit{cursor:pointer;border:1px solid var(--border);background:var(--panel);padding:8px 16px;font:inherit}.inline-subscribe-submit:hover,.inline-subscribe-submit:focus-visible{background:var(--hover);color:var(--text)}.inline-subscribe-alt{margin:0;font-size:14px}.subscribe-hero{padding:28px;display:grid;gap:14px}.subscribe-hero .lead{font-size:18px;margin:0}.subscribe-fine-print{margin:0;font-size:13px}.subscribe-why{margin-top:24px;display:grid;gap:12px}.subscribe-bullets{margin:0;padding-left:20px;display:grid;gap:10px}.adslot{display:block;margin:24px 0;min-height:280px;text-align:center}.adslot-label{display:block;font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.adslot ins.adsbygoogle{display:block;margin:0 auto}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip-link{position:fixed;top:8px;left:12px;z-index:100;padding:10px 16px;border-radius:8px;background:var(--bg);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.primary-nav{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:22px;padding-bottom:14px;border-bottom:1px solid var(--border);font-size:14px}.primary-nav a{padding:4px 0;color:var(--muted)}.primary-nav a:hover,.primary-nav a[aria-current]{color:var(--link);text-decoration:underline;text-underline-offset:7px}.theme-picker{gap:4px;padding:0 8px}.theme-picker select{min-height:36px;max-width:120px;border:0;background:transparent;color:var(--text);font:inherit;cursor:pointer}.theme-picker option{color:var(--text);background:var(--bg)}:root:not([data-theme]) .theme-picker{display:none}main:has(>article.prose),main:has(>.article-layout){max-width:840px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr)}.article-layout>*{min-width:0}.article-after{min-width:0}@media(min-width:1160px){main:has(>.article-layout--with-related){max-width:1132px}body:has(.article-layout--with-related)>:is(header,footer){max-width:1132px}.article-layout--with-related{grid-template-columns:minmax(0,792px) 260px;column-gap:32px}.article-layout--with-related>:is(.article-breadcrumbs,.prose,.article-after){grid-column:1}.article-layout.article-layout--with-related>.related-articles{grid-column:2;grid-row:2 / 4;margin-top:0}.article-layout--with-related>.related-articles[data-sticky]{position:sticky;top:24px}}.prose{line-height:1.75}.prose :is(p,li,blockquote) a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose :is(h2,h3)[id]{margin-bottom:0;line-height:1.3;scroll-margin-top:24px}.prose :is(h2,h3)[id]:target{color:var(--link)}.prose table{border-collapse:collapse;font-size:.9375rem}.prose th,.prose td{padding:10px 14px;border:1px solid var(--border)}.prose th{background:var(--control);text-align:left}.prose blockquote{margin:0;border-left:3px solid var(--link);padding:8px 18px;color:var(--muted)}.astro-code,.astro-code span{color:var(--shiki-light)!important;font-style:var(--shiki-light-font-style)!important;font-weight:var(--shiki-light-font-weight)!important;text-decoration:var(--shiki-light-text-decoration)!important}:root[data-theme=dark] :is(.astro-code,.astro-code span){color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}@media(prefers-color-scheme:dark){:root:not([data-theme]) :is(.astro-code,.astro-code span){color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;text-decoration:var(--shiki-dark-text-decoration)!important}}.home-tagline{max-width:760px;font-size:clamp(22px,2.5vw,30px);font-weight:650;line-height:1.4;letter-spacing:-.02em}.featured-card{align-content:start}.featured-card>.row{align-content:start;min-height:76px}.featured-card .post-card-title-link{align-content:start}.featured-card .post-card-title-link .muted{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;font-size:14px}.post-card:hover{border-color:var(--link)}.topic-guides{margin-block:18px}.topic-guides-list{margin:0;padding-left:1.2em;display:grid;gap:6px}@media(max-width:640px){main,header,footer{padding-left:16px;padding-right:16px}.header-actions{gap:6px}.header-search-label,.header-search-kbd{display:none}.header-search-trigger{min-height:38px}.primary-nav{gap:6px 18px;margin-top:16px}.card{padding:16px}.featured-card>.row{min-height:0}.prev-next-empty{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
