:root{--space-3xs: 2px;--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--space-3xl: 96px;--space-4xl: 144px;--text-xs: .8125rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.5625rem;--text-2xl: 1.953rem;--text-3xl: 2.441rem;--text-display-s: clamp(2.25rem, 4vw + .5rem, 3.75rem);--text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);--text-section: clamp(2rem, 2.5vw + 1rem, 3.5rem);--text-title: clamp(1.25rem, .75vw + .875rem, 1.625rem);--text-lead: clamp(1.125rem, .35vw + 1rem, 1.375rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--color-error: oklch(52% .19 27);--color-success: oklch(50% .12 150);--container: 1440px;--gutter: 64px;--gap-columns: 32px;--section-gap-s: 120px;--section-gap: 144px;--section-gap-l: 176px;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-sticky-nav: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--color-paper: oklch(98.4% .004 250);--color-paper-2: oklch(96.6% .004 286);--color-paper-3: oklch(92% .005 286);--color-ink: oklch(21% .006 286);--color-ink-2: oklch(37% .012 286);--color-muted: oklch(52% .014 286);--color-rule: oklch(91% .005 286);--color-accent: oklch(50.8% .118 165.6);--color-accent-ink: oklch(98.5% .01 165);--color-focus: oklch(53% .14 164);--font-display: "Inter", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--font-outlier: "JetBrains Mono", ui-monospace, monospace;--display-weight: 600;--radius-card: 4px;--radius-pill: 999px;--rule-hair: 1px;--shadow-card: none;--tracking-display: -.02em;--nav-height: 56px}.dark{color-scheme:dark;--color-paper: oklch(14.1% .005 286);--color-paper-2: oklch(17.5% .006 286);--color-paper-3: oklch(21% .006 286);--color-ink: oklch(96.7% .003 286);--color-ink-2: oklch(87% .009 286);--color-muted: oklch(70.5% .015 286);--color-rule: oklch(27.4% .006 286);--color-accent: oklch(77% .15 163);--color-accent-ink: oklch(18% .03 163);--color-focus: oklch(77% .15 163)}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}html{scrollbar-color:var(--color-muted) var(--color-paper);scroll-padding-top:var(--space-3xl)}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);line-height:1.55;-webkit-font-smoothing:antialiased;caret-color:var(--color-accent)}::-moz-selection{background:color-mix(in oklab,var(--color-accent) 22%,transparent);color:var(--color-ink)}::selection{background:color-mix(in oklab,var(--color-accent) 22%,transparent);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.16em}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:var(--display-weight, 700);font-synthesis:none;letter-spacing:var(--tracking-display);line-height:1.05;overflow-wrap:break-word;min-width:0;text-wrap:balance}h1{max-width:20ch;font-size:var(--text-display)}h2{max-width:30ch;font-size:var(--text-section)}h3{max-width:40ch;font-size:var(--text-title);line-height:1.2}.lead{font-size:var(--text-lead);line-height:1.45;max-width:52ch}p{margin:0;text-wrap:pretty}p:not([class]){max-width:65ch}img,video{max-width:100%;height:auto;display:block}svg{display:block}[hidden]{display:none!important}button,input,select,textarea{font:inherit}.num,.figure,td.num{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}[data-slot]{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--color-paper-2, var(--color-paper)),var(--color-paper-3, var(--color-paper)))}[data-slot]>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;z-index:1}[data-slot]:has(>img)>:not(img):not([data-keep]){display:none!important}@media(max-width:60rem){:root{--gutter: 24px;--section-gap-s: 80px;--section-gap: 96px;--section-gap-l: 120px}}@media(max-width:40rem){:root{--gutter: 16px;--section-gap-s: 56px;--section-gap: 72px;--section-gap-l: 96px;--gap-columns: 16px}}@media(prefers-reduced-motion:reduce){*:not(.keep-motion),*:not(.keep-motion):before,*:not(.keep-motion):after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.blog-main{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);padding-block:calc(var(--nav-height) + var(--space-2xl)) var(--space-3xl)}.post,.index{--rail: 11rem;--margin: 13rem;--column-gap: 2.5rem;width:100%;max-width:76rem;margin-inline:auto;padding-inline:var(--gutter)}.post-meta{display:flex;flex-wrap:wrap;gap:var(--space-lg) var(--space-xl);margin:0}.post-meta dt{font-size:var(--text-xs);color:var(--color-muted)}.post-meta dd{margin:var(--space-3xs) 0 0;font-size:var(--text-sm)}.post-head{display:grid;gap:var(--space-lg);padding-bottom:var(--space-xl)}.post-head h1{max-width:18ch;font-size:var(--text-display-s);line-height:1.04}.post-dek{max-width:46ch;font-size:var(--text-lead);line-height:1.45;color:var(--color-ink-2)}.post-head a,.post-project a,.post-pager a,.index a{text-decoration-color:var(--color-rule);transition:text-decoration-color var(--dur-short) var(--ease-out)}.post-head a:hover,.post-project a:hover,.index a:hover{text-decoration-color:var(--color-accent)}.post-grid{display:grid;grid-template-columns:minmax(0,1fr);font-size:1.0625rem}@media(min-width:75rem){.post-head,.post-end{margin-left:calc(var(--rail) + var(--column-gap))}.post-grid{grid-template-columns:var(--rail) minmax(0,38rem) var(--margin);-moz-column-gap:var(--column-gap);column-gap:var(--column-gap)}}.post-rail{display:none}@media(min-width:75rem){.post-rail{display:block;position:sticky;top:calc(var(--nav-height) + var(--space-xl));align-self:start;font-size:var(--text-sm)}.post-contents{display:none}}.post-rail-title,.post-contents summary{font-size:var(--text-xs);color:var(--color-muted)}.post-rail ol,.post-contents ol{list-style:none;margin:var(--space-sm) 0 0;padding:0;display:grid;gap:var(--space-2xs)}.post-rail a,.post-contents a{display:block;padding:var(--space-2xs) 0 var(--space-2xs) var(--space-sm);border-left:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);text-decoration:none;line-height:1.35;transition:color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.post-rail a:hover,.post-contents a:hover{color:var(--color-ink)}.post-rail a[aria-current]{color:var(--color-ink);border-left-color:var(--color-accent)}.post-contents{margin-bottom:var(--space-xl);padding:var(--space-sm) 0;border-block:var(--rule-hair) solid var(--color-rule)}.post-contents summary{cursor:pointer;font-size:var(--text-sm)}.post-body{counter-reset:sidenote;min-width:0;line-height:1.72}.post-body>*+*{margin-top:var(--space-lg)}.post-body p,.post-body li{max-width:66ch}.post-body h2{max-width:30ch;margin-top:var(--space-2xl);font-size:var(--text-xl);line-height:1.2;scroll-margin-top:calc(var(--nav-height) + var(--space-lg))}.post-body h3{margin-top:var(--space-xl);font-size:var(--text-lg)}.post-body>h2+*,.post-body>h3+*{margin-top:var(--space-sm)}.post-body a{text-decoration-line:underline;text-decoration-color:var(--color-muted);text-underline-offset:.2em;transition:text-decoration-color var(--dur-short) var(--ease-out)}.post-body a:hover{text-decoration-color:var(--color-accent)}.post-body ul,.post-body ol{padding-left:var(--space-lg);list-style:disc}.post-body ol{list-style:decimal}.post-body li::marker{color:var(--color-muted)}.post-body li+li{margin-top:var(--space-xs)}.post-body blockquote{margin-inline:0;padding-left:var(--space-lg);border-left:var(--rule-hair) solid var(--color-ink);color:var(--color-ink-2)}.post-body p>code,.post-body li>code{font-family:var(--font-outlier);font-size:.88em;padding:.1em .3em;border-radius:var(--radius-card);background:var(--color-paper-3)}.post-body strong{font-weight:var(--display-weight)}.sn{counter-increment:sidenote}.sn-ref:after{content:counter(sidenote);font-size:.7em;vertical-align:super;line-height:0;color:var(--color-accent);margin-left:.1em}.sn-note{display:block;margin:var(--space-sm) 0;padding-left:var(--space-sm);border-left:var(--rule-hair) solid var(--color-rule);font-size:var(--text-sm);line-height:1.55;color:var(--color-muted)}.sn-note:before{content:counter(sidenote) "  ";color:var(--color-ink)}@media(min-width:75rem){.sn-note{float:right;clear:right;width:var(--margin);margin:.3em calc(-1 * (var(--margin) + var(--column-gap))) var(--space-md) 0;padding-left:0;border-left:0}}.code{margin-inline:0;border-radius:var(--radius-card);background:var(--color-paper-2);overflow:hidden}.code-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border-bottom:var(--rule-hair) solid var(--color-rule)}.code-title{font-family:var(--font-outlier);font-size:var(--text-xs);color:var(--color-muted);overflow-wrap:anywhere}.code-copy,.sv-button{flex-shrink:0;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);cursor:pointer;transition:background-color var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out)}.code-copy{position:relative;min-height:32px;padding:0 var(--space-sm);font-size:var(--text-xs)}.code-copy:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.code-copy:hover,.sv-button:hover{border-color:var(--color-muted)}.code-copy:active,.sv-button:active{background:var(--color-paper-3)}.code-copy:disabled,.sv-button:disabled{opacity:.55;cursor:not-allowed}.code pre{margin:0;padding:var(--space-md);overflow-x:auto;font-family:var(--font-outlier);font-size:.82rem;line-height:1.65;background:transparent!important}.code pre span{color:var(--shiki-light)}.dark .code pre span{color:var(--shiki-dark)}.fig{margin-inline:0}.fig-body{border-radius:var(--radius-card);background:var(--color-paper-2)}.fig figcaption{margin-top:var(--space-sm);max-width:60ch;font-size:var(--text-sm);color:var(--color-muted)}@media(min-width:75rem){.fig-wide{margin-right:calc(-1 * (var(--margin) + var(--column-gap)))}}.sv{display:grid;grid-template-columns:minmax(0,1fr)}@media(min-width:48rem){.sv{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.sv-server{border-left:var(--rule-hair) solid var(--color-rule)}}.sv-pane{display:grid;align-self:start;align-content:start;gap:var(--space-sm);padding:var(--space-lg)}.sv-server{border-top:var(--rule-hair) solid var(--color-rule)}@media(min-width:48rem){.sv-server{border-top:0}}.sv-label{font-size:var(--text-sm);font-weight:var(--display-weight)}.sv-input{width:100%;min-height:7.5rem;resize:vertical;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-muted);border-radius:var(--radius-card);background:var(--color-paper);color:var(--color-ink);font-size:var(--text-md);line-height:1.5}.sv-input:focus-visible{outline:2px solid var(--color-focus);outline-offset:-1px}.sv-hint{font-size:var(--text-xs);color:var(--color-muted)}.sv-parts{display:grid;gap:var(--space-sm);margin:0}.sv-parts>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:var(--space-sm);align-items:baseline}.sv-parts dt{font-size:var(--text-xs);color:var(--color-muted)}.sv-parts dd{margin:0;display:grid;gap:var(--space-2xs)}.sv-parts code{font-family:var(--font-outlier);font-size:.78rem;line-height:1.5;word-break:break-all}.sv-changed{margin-left:calc(-1 * var(--space-sm));padding-left:var(--space-xs);border-left:2px solid var(--color-accent)}.sv-decoded{font-size:var(--text-xs);color:var(--color-muted)}.sv-verdict{display:grid;gap:var(--space-sm);justify-items:start;margin-top:var(--space-xs);padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule)}.sv-verdict p{font-size:var(--text-sm)}.sv-refused{color:var(--color-error)}.dark .sv-refused{color:var(--color-ink)}.sv-button{min-height:44px;padding:0 var(--space-md);font-size:var(--text-sm)}.post-end{display:grid;gap:var(--space-2xl);margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:var(--rule-hair) solid var(--color-rule)}.post-project{display:grid;gap:var(--space-md);max-width:40rem}.post-project h2{font-size:var(--text-xl)}.post-project-links{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-xl);margin:0;padding:0}.post-project-links a{display:inline-flex;align-items:center;gap:var(--space-xs)}.icon{width:1em;height:1em;flex-shrink:0}.post-pager{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--space-lg);max-width:56rem}.post-pager a{display:grid;gap:var(--space-2xs);padding-top:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule);text-decoration:none;transition:border-color var(--dur-short) var(--ease-out)}.post-pager a:hover{border-top-color:var(--color-accent)}.post-pager-label{font-size:var(--text-xs);color:var(--color-muted)}.index{display:grid;gap:var(--space-2xl)}.index-head{display:grid;gap:var(--space-md)}.index-latest{display:grid;gap:var(--space-xl) var(--space-3xl);padding-top:var(--space-lg);border-top:var(--rule-hair) solid var(--color-ink)}@media(min-width:60rem){.index-latest{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}}.index-latest-main{display:grid;align-content:start;gap:var(--space-lg)}.index-sections p{font-size:var(--text-sm);color:var(--color-muted)}.index-sections ol{margin:var(--space-sm) 0 0;padding:0;list-style:none;counter-reset:section}.index-sections li{counter-increment:section;display:grid;grid-template-columns:2rem minmax(0,1fr);padding-block:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule);font-size:var(--text-lg);line-height:1.3}.index-sections li:before{content:counter(section);color:var(--color-muted);font-variant-numeric:tabular-nums}.index-latest h2{max-width:22ch;font-size:var(--text-section)}.index-latest h2 a{text-decoration:none}.index-latest h2 a:hover{text-decoration:underline;text-decoration-color:var(--color-accent)}.index-summary{font-size:var(--text-lead);line-height:1.45;color:var(--color-ink-2)}.index-read{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-lg);border-radius:var(--radius-card);background:var(--color-ink);color:var(--color-paper);font-weight:var(--display-weight);text-decoration:none;transition:background-color var(--dur-micro) var(--ease-out)}.index-read:hover{background:var(--color-ink-2)}.index-read:active{background:var(--color-ink)}.index-earlier h2{font-size:var(--text-xl)}.index-earlier ol{list-style:none;margin:var(--space-md) 0 0;padding:0;max-width:56rem}.index-earlier li{display:grid;grid-template-columns:10rem minmax(0,1fr) auto;gap:var(--space-md);padding-block:var(--space-sm);border-top:var(--rule-hair) solid var(--color-rule)}.index-earlier time,.index-earlier span{color:var(--color-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums}@media(max-width:40rem){.index-earlier li{grid-template-columns:minmax(0,1fr);gap:var(--space-2xs)}}.kl,.el{display:grid;gap:var(--space-lg);padding:var(--space-lg)}.kl-controls{display:grid;gap:var(--space-md);align-items:end}@media(min-width:48rem){.kl-controls{grid-template-columns:minmax(0,3fr) minmax(0,2fr) auto}}.kl-field{display:grid;gap:var(--space-xs)}.kl-field label,.el-guards legend{font-size:var(--text-sm);font-weight:var(--display-weight)}.kl-input{min-height:44px}.kl-range{width:100%;min-height:44px;accent-color:var(--color-accent)}.kl-range:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.kl-ladder{padding-top:var(--space-md);border-top:var(--rule-hair) solid var(--color-rule)}.kl-ladder>div{grid-template-columns:10rem minmax(0,1fr)}.kl-ladder dd{font-size:var(--text-sm)}.el{grid-template-columns:minmax(0,1fr)}@media(min-width:48rem){.el{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}}.el-guards{display:grid;align-content:start;gap:var(--space-sm);margin:0;padding:0;border:0}.el-guards label{display:flex;gap:var(--space-sm);align-items:flex-start;min-height:44px;font-size:var(--text-sm);cursor:pointer}.el-guards input{width:1.125rem;height:1.125rem;margin-top:var(--space-3xs);flex-shrink:0;accent-color:var(--color-accent)}.el-guards input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.el-guards .sv-button{justify-self:start}.el-log{display:grid;align-content:start;gap:var(--space-sm);min-height:12rem}.el-log ol{margin:0;padding-left:var(--space-lg);display:grid;gap:var(--space-2xs);font-size:var(--text-sm);list-style:decimal}.el-log li::marker{color:var(--color-muted)}.el-quiet{color:var(--color-accent)}.fig-body>img{width:100%;height:auto;border-radius:var(--radius-card)}
