@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/fonts/hanken-grotesk-latin-wght-italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Cascadia Code;src:url(/fonts/cascadia-code-latin-wght-normal.woff2)format("woff2");font-weight:200 700;font-display:swap}:root{color-scheme:light;--bar:#11264a;--bar-ink:#fff;--bar-muted:#b9c6dc;--canvas:#f3f5f8;--surface:#fff;--ink:#16202e;--muted:#5a6779;--line:#d9dfe7;--accent:#4f52b2;--accent-ink:#fff;--accent-soft:#e8e9f7;--done:#0e700e;--code-bg:#11264a;--code-ink:#e6eaf0;--note:#fff4ce;--note-line:#c19c00;--sans:"Hanken Grotesk", "Segoe UI", system-ui, sans-serif;--mono:"Cascadia Code", Consolas, monospace;--radius:4px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bar:#0a1322;--bar-muted:#9aa6b8;--canvas:#0e1420;--surface:#161d2b;--ink:#e6eaf0;--muted:#9aa6b8;--line:#2a3446;--accent:#9c9ef5;--accent-ink:#0e1420;--accent-soft:#252a4d;--done:#54b054;--code-bg:#0a1322;--note:#2e2a14;--note-line:#c19c00}}:root[data-theme=dark]{color-scheme:dark;--bar:#0a1322;--bar-muted:#9aa6b8;--canvas:#0e1420;--surface:#161d2b;--ink:#e6eaf0;--muted:#9aa6b8;--line:#2a3446;--accent:#9c9ef5;--accent-ink:#0e1420;--accent-soft:#252a4d;--done:#54b054;--code-bg:#0a1322;--note:#2e2a14;--note-line:#c19c00}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font:400 1rem/1.5 var(--sans);margin:0}img{max-width:100%;height:auto}a{color:var(--accent);text-underline-offset:.18em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:10;background:var(--surface);border-radius:var(--radius);padding:8px 12px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.appbar{background:var(--bar);color:var(--bar-ink);flex-wrap:wrap;align-items:center;gap:0 8px;padding-inline:clamp(12px,3vw,24px);display:flex}.brand{min-height:48px;color:inherit;letter-spacing:-.005em;align-items:center;gap:10px;margin-right:auto;font-weight:650;text-decoration:none;display:flex}.mark{flex:none;display:block}.appbar :focus-visible{outline-color:#fff}.appnav{flex-basis:100%;gap:4px;margin-inline:-8px;display:flex;overflow-x:auto}.appnav a{color:var(--bar-muted);border-bottom:3px solid #0000;padding:10px 12px 9px;font-size:.9375rem;font-weight:500;text-decoration:none}.appnav a:hover{color:var(--bar-ink)}.appnav a[aria-current]{color:var(--bar-ink);border-bottom-color:#a5a7f7}@media (width>=720px){.brand{margin-right:24px}.appnav{flex:1;order:0;align-self:stretch;margin:0}.appnav a{align-items:center;padding-block:3px 0;display:flex}.appbar-tools{order:1}}.shell{max-width:1240px;margin-inline:auto;padding:clamp(20px,4vw,40px) clamp(12px,3vw,24px) 64px}.intro{max-width:44rem;margin-bottom:clamp(20px,3vw,32px)}h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,1.2rem + 2.4vw,2.75rem);font-weight:650;line-height:1.12}.intro p{color:var(--muted);margin:12px 0 0;font-size:1.125rem}.panel,.featured,.record{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.fields{flex-wrap:wrap;gap:12px 33px;margin:0;display:flex;overflow:hidden}.fields div{flex-direction:column-reverse;display:flex;position:relative}.fields div:before{content:"";background:var(--line);width:1px;position:absolute;inset:2px auto 2px -17px}.fields dt{color:var(--muted);font-size:.8125rem}.fields dd{margin:0;font-weight:600}.featured{margin-bottom:16px;display:grid;overflow:hidden}.featured-media{background:var(--canvas);display:block}.featured-media img{aspect-ratio:1200/630;object-fit:cover;width:100%;display:block}.featured-body{padding:clamp(16px,3vw,28px)}.featured-flag{border-radius:var(--radius);background:var(--accent-soft);color:var(--accent);margin:0 0 10px;padding:2px 8px;font-size:.8125rem;font-weight:600;display:inline-block}.featured h2{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(1.3rem,1rem + 1.2vw,1.75rem);font-weight:650;line-height:1.2}.featured h2 a{color:inherit;text-decoration:none}.featured h2 a:hover{color:var(--accent)}.featured-text{color:var(--muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:10px 0 20px;display:-webkit-box;overflow:hidden}@media (width>=860px){.featured{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}.featured-media{align-self:stretch}.featured-media img{height:100%}}.workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width>=1000px){.workspace{grid-template-columns:minmax(0,1fr) 300px}}.commandbar{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:0 8px 0 4px;display:flex}.views{flex:1;min-width:0;display:flex;overflow-x:auto}.views a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:12px 12px 9px;font-weight:600;text-decoration:none}.views a span{font-variant-numeric:tabular-nums;margin-left:4px;font-weight:400}.views a:hover{color:var(--ink)}.views a[aria-current]{border-bottom-color:var(--accent);color:var(--ink)}.command{border-radius:var(--radius);color:var(--ink);white-space:nowrap;align-items:center;gap:6px;padding:6px 10px;font-size:.875rem;text-decoration:none;display:flex}.command:hover{background:var(--canvas)}.grid{border-collapse:collapse;width:100%}.grid thead th{border-bottom:1px solid var(--line);color:var(--muted);text-align:left;white-space:nowrap;padding:10px 12px;font-size:.8125rem;font-weight:600}.grid tbody th,.grid td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:11px 12px;font-size:.9375rem}.grid thead th:first-child,.grid tbody th{padding-left:16px}.grid tbody th{width:42%;font-weight:600;line-height:1.35}.grid tbody th a{color:var(--ink);text-decoration:none}.grid tbody th a:hover{color:var(--accent);text-decoration:underline}.grid tbody tr:hover{background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.grid td{color:var(--muted)}.c-date,.c-author{white-space:nowrap}.c-date{font-variant-numeric:tabular-nums}.none{opacity:.7}.type{color:var(--ink);align-items:center;gap:6px;display:inline-flex}.type:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.type-trick:before{box-shadow:inset 0 0 0 2px var(--accent);background:0 0}.grid-foot{color:var(--muted);justify-content:space-between;gap:16px;margin:0;padding:12px 16px;font-size:.875rem;display:flex}.grid-foot a{font-weight:600}@media (width<=719px){.grid thead{display:none}.grid,.grid tbody{display:block}.grid tbody th{width:auto}.grid tbody tr{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;gap:4px 12px;padding:12px 16px;display:grid}.grid tbody th,.grid td{border:0;padding:0;font-size:.875rem}.grid tbody th{grid-column:1/-1;font-size:1rem}.c-topics{display:none}.c-date{text-align:right}}.topics h2{border-bottom:1px solid var(--line);margin:0;padding:13px 16px 12px;font-size:1rem;font-weight:600}.topics ol{margin:0;padding:6px 0;list-style:none}.topics li a{color:var(--ink);grid-template-columns:1fr auto;gap:5px 12px;padding:7px 16px 9px;font-size:.9375rem;text-decoration:none;display:grid}.topics li a:hover{background:var(--canvas)}.topics .count{color:var(--muted);font-variant-numeric:tabular-nums}.topics .bar{background:linear-gradient(to right, var(--accent) calc(var(--share) * 100%), var(--line) 0);border-radius:2px;grid-column:1/-1;height:4px}.topics .grid-foot{border-top:1px solid var(--line)}.record-head{padding:clamp(16px,3vw,32px) clamp(16px,3vw,32px) clamp(16px,2.5vw,24px)}.crumbs{color:var(--muted);gap:8px;margin-bottom:12px;font-size:.875rem;display:flex}.crumbs a{color:inherit}.record-head h1{max-width:24em;margin-bottom:20px;font-size:clamp(1.6rem,1.1rem + 2vw,2.4rem)}.stages{z-index:2;border-block:1px solid var(--line);background:var(--surface);position:sticky;top:0}.stages ol{scrollbar-width:none;margin:0;padding:10px clamp(16px,3vw,32px);list-style:none;display:flex;overflow-x:auto}.stages li+li{margin-left:-7px}.stages a{background:var(--canvas);color:var(--muted);white-space:nowrap;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%,12px 50%);padding:7px 24px 7px 28px;font-size:.875rem;font-weight:600;text-decoration:none;display:block}.stages li:first-child a{border-radius:var(--radius) 0 0 var(--radius);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%);padding-left:16px}.stages a:hover{color:var(--ink)}.stages a.is-done{background:var(--accent-soft);color:var(--accent)}.stages a[aria-current]{background:var(--accent);color:var(--accent-ink)}.stages a:focus-visible{outline-offset:-5px}.record-body{gap:32px;padding:clamp(20px,3vw,32px) clamp(16px,3vw,32px) 40px;display:grid}@media (width>=1040px){.record-body{grid-template-columns:minmax(0,46rem) minmax(0,1fr);gap:56px}.side{place-self:start end;max-width:300px;position:sticky;top:76px}}.prose{overflow-wrap:break-word;min-width:0;font-size:1.0625rem;line-height:1.7}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose pre,.prose table,.prose blockquote{margin-block:0 1.15em}.prose h2,.prose h3,.prose h4{letter-spacing:-.01em;text-wrap:balance;scroll-margin-top:76px;line-height:1.25}.prose h2{border-top:1px solid var(--line);margin:2em 0 .6em;padding-top:.9em;font-size:1.6rem;font-weight:650}.prose h3{margin:1.8em 0 .5em;font-size:1.3rem;font-weight:650}.prose h4{margin:1.6em 0 .4em;font-size:1.0625rem;font-weight:700}.prose li{margin-block:.3em}.prose li>p{margin-block:0 .5em}.prose img{border:1px solid var(--line);border-radius:var(--radius);display:block}.prose .hero{width:100%;margin-bottom:1.5em}.prose :not(pre)>code{background:var(--canvas);font:.9em var(--mono);border-radius:3px;padding:.1em .35em}.prose table{border-collapse:collapse;max-width:100%;font-size:.9375rem;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 12px}.prose blockquote{border-left:4px solid var(--note-line);border-radius:0 var(--radius) var(--radius) 0;background:var(--note);margin-inline:0;padding:12px 16px}.prose blockquote>:last-child{margin-bottom:0}.prose .ai-note{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);padding:12px 16px;font-size:.9375rem;line-height:1.55}.sources ol{padding-left:1.4em}.sources li{margin-block:.5em}.source-host{color:var(--muted);font-size:.8125rem;display:block}.side h2{color:var(--muted);margin:0 0 10px;font-size:.8125rem;font-weight:600}.tags{flex-wrap:wrap;gap:6px;margin:0 0 28px;padding:0;list-style:none;display:flex}.tags a{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);padding:3px 10px;font-size:.875rem;text-decoration:none;display:block}.tags a:hover{border-color:var(--accent);color:var(--accent)}.related{margin:0;padding:0;list-style:none}.related li{border-top:1px solid var(--line);padding-block:10px;font-size:.9375rem;line-height:1.4}.related a{color:var(--ink);font-weight:600;text-decoration:none}.related a:hover{color:var(--accent)}.related time{color:var(--muted);margin-top:2px;font-size:.8125rem;display:block}.timeline{border-top:1px solid var(--line);padding:clamp(20px,3vw,32px) clamp(16px,3vw,32px) 40px;scroll-margin-top:60px}.timeline h2{margin:0;font-size:1.3rem;font-weight:650}.timeline h2 span{color:var(--muted);margin-left:4px;font-weight:400}.timeline-note{color:var(--muted);margin:4px 0 24px;font-size:.9375rem}.entries,.replies{margin:0;padding:0;list-style:none}.entries{max-width:46rem}.entry{grid-template-columns:36px minmax(0,1fr);gap:12px;padding-bottom:20px;display:grid;position:relative}.entry:before{content:"";background:var(--line);width:2px;position:absolute;top:40px;bottom:4px;left:17px}.entry:last-child:before{display:none}.avatar{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:700;display:grid}.entry-head{flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:6px 0 4px;font-size:.9375rem;display:flex}.entry-head time{color:var(--muted);font-size:.8125rem}.badge{border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);padding:1px 6px;font-size:.75rem;font-weight:600}.entry-text{overflow-wrap:anywhere}.entry-text p{margin:0 0 .6em}.entry-text pre{border-radius:var(--radius);background:var(--code-bg);color:var(--code-ink);font:.8125rem/1.55 var(--mono);padding:12px;overflow-x:auto}.entry-text img{border:1px solid var(--line)}.replies{margin-top:14px}.replies .entry{padding-bottom:12px}.replies .avatar{width:28px;height:28px;margin:4px;font-size:.6875rem}.foot{max-width:1240px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-inline:auto;padding:0 clamp(12px,3vw,24px) 40px;font-size:.875rem;display:flex}.foot p{margin:0}.foot a{color:inherit;margin-right:16px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.appbar-tools{align-items:center;gap:2px;display:flex}.tool{border-radius:var(--radius);min-width:40px;height:40px;color:var(--bar-muted);font:500 .9375rem var(--sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 11px;text-decoration:none;display:flex}.tool:hover,.tool[aria-current]{color:var(--bar-ink);background:#ffffff1f}.intro .crumbs{margin-bottom:8px}.page-count{color:var(--muted);font-weight:400}.pager{gap:16px;display:flex}.directory{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));margin:0;padding:6px 0;list-style:none;display:grid}.directory a{color:var(--ink);grid-template-columns:1fr auto;gap:5px 12px;padding:9px 16px 11px;text-decoration:none;display:grid}.directory a:hover{background:var(--canvas)}.directory .name{font-weight:600}.directory .count,.directory .when{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.directory .when{grid-column:1/-1}.bar{background:var(--line);width:100%;height:4px;fill:var(--accent);border-radius:2px;grid-column:1/-1;display:block}.video{margin-bottom:1.5em}.video iframe{aspect-ratio:16/9;border-radius:var(--radius);border:0;width:100%;display:block}.prose thead:not(:has(th:not(:empty))){display:none}.prose thead th{border-bottom-color:var(--muted);font-weight:650}.prose table:has(thead:not(:has(th:not(:empty)))) tbody tr:first-child td{border-top:1px solid var(--line)}.astro-code{border-radius:var(--radius);background:var(--code-bg);color:var(--code-ink);font:.875rem/1.6 var(--mono);tab-size:2;padding:38px 18px 16px;position:relative;overflow-x:auto}.astro-code:before{content:attr(data-language);color:#b9c6dc;font:600 .75rem/1.6 var(--sans);padding:5px 18px;position:absolute;top:0;left:0}.astro-code code{font:inherit}.t-comment{color:#92a1bb}.t-string,.t-string-expression{color:#a8e0a0}.t-keyword{color:#c9b8ff}.t-function{color:#8fd0ff}.t-constant{color:#f5c97a}.t-parameter{color:#ffd9a8}.t-punctuation{color:#c3cee0}.t-link{color:#8fd0ff;text-decoration:underline}.prose pre:not(.astro-code){border-radius:var(--radius);background:var(--code-bg);color:var(--code-ink);font:.875rem/1.6 var(--mono);padding:16px 18px;overflow-x:auto}.search-form{border-bottom:1px solid var(--line);gap:8px;padding:16px;display:flex}.search-form label{flex:1}.search-form input{border:1px solid var(--muted);border-radius:var(--radius);background:var(--surface);width:100%;height:44px;color:var(--ink);font:1rem var(--sans);padding:0 12px}.search-status{color:var(--muted);margin:0;padding:12px 16px;font-size:.9375rem}.results{margin:0;padding:0;list-style:none}.results li{border-top:1px solid var(--line);padding:12px 16px 14px}.results a{color:var(--ink);font-weight:600;text-decoration:none}.results a:hover{color:var(--accent);text-decoration:underline}.results p{color:var(--muted);margin:2px 0 0;font-size:.9375rem}.results .meta{font-size:.8125rem}.record-text{padding:clamp(20px,3vw,32px) clamp(16px,3vw,32px) 40px}.record-text .prose{max-width:46rem}.grid td a{color:inherit;text-decoration:none}.grid td a:hover{color:var(--accent);text-decoration:underline}@media (width<=519px){.command span{display:none}}.prose iframe{aspect-ratio:16/9;border-radius:var(--radius);border:0;width:100%;height:auto;display:block}
