:root{color-scheme:dark;accent-color:#e31c25;--color-bg:#111;--color-surface:#161616;--color-raised:#1c1c1c;--color-border:#2a2a2a;--color-border-strong:#3a3a3a;--color-text:#edebe8;--color-text-secondary:#a9a7a3;--color-text-muted:#8f8d89;--color-accent:#e31c25;--color-accent-strong:#bb000e;--color-accent-text:#ff5a5f;--color-accent-text-hover:#ff7a7f;--color-accent-tint:#e31c251f;--color-selection:#e31c2559;--color-info:#6fa8ff;--color-success:#4cc38a;--color-warning:#f0a848;--color-danger:#ff5a5f;--syntax-plain:#edebe8;--syntax-keyword:#ff7a7f;--syntax-string:#e3c79a;--syntax-constant:#f2a65a;--syntax-function:#8cc4ff;--syntax-type:#c8a8ff;--syntax-property:#7cc9a0;--syntax-punctuation:#a9a7a3;--syntax-comment:#8f8d89;--syntax-line-number:#5a5855;--font-sans:var(--font-inter,Inter), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-jetbrains,"JetBrains Mono"), ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-h1:clamp(2rem, 1.5rem + 2vw, 2.75rem);--text-h2:clamp(1.625rem, 1.4rem + 1vw, 2rem);--text-h3:clamp(1.3125rem, 1.2rem + .5vw, 1.5rem);--text-h4:1.1875rem;--text-lead:clamp(1.1875rem, 1.1rem + .4vw, 1.3125rem);--text-body:clamp(1.0625rem, 1rem + .25vw, 1.125rem);--text-small:.9375rem;--text-caption:.875rem;--text-label:.8125rem;--text-code:.9375rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--width-prose:720px;--width-wide:960px;--width-site:1200px;--gutter:16px;--header-height:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-popover:0 8px 24px #00000080;--ease:cubic-bezier(.2, 0, 0, 1);--duration:.15s}@media (width>=640px){:root{--gutter:24px}}@media (width>=960px){:root{--gutter:48px}}@media (width<=639.98px){:root{--text-code:.875rem}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--color-bg);min-block-size:100dvh;color:var(--color-text);font:400 var(--text-body)/1.7 var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;flex-direction:column;display:flex}body>main{flex:1 0 auto}img,picture,video,canvas,svg{max-inline-size:100%;display:block}img,video{block-size:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}ul[role=list],ol[role=list]{padding:0;list-style:none}code,kbd,pre,samp{font-family:var(--font-mono);font-variant-ligatures:none}table,svg text{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:var(--color-selection);color:#fff}a,button,input,.btn,.tag,.card,.site-nav a{transition:color var(--duration) var(--ease), background-color var(--duration) var(--ease), border-color var(--duration) var(--ease), text-decoration-color var(--duration) var(--ease)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;position:absolute;inset-block-start:var(--space-3);inset-inline-start:var(--space-3);transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.container{inline-size:100%;max-inline-size:var(--width-site);padding-inline:var(--gutter);margin-inline:auto}.page{padding-block:var(--space-8) var(--space-9)}.prose{--wide-extra:max(0px, calc((min(var(--width-wide), 100%) - var(--width-prose)) / 2));grid-template-columns:[full-start] minmax(var(--gutter), 1fr) [wide-start] minmax(0, calc((var(--width-wide) - var(--width-prose)) / 2)) [prose-start] min(var(--width-prose), 100% - 2 * var(--gutter)) [prose-end] minmax(0, calc((var(--width-wide) - var(--width-prose)) / 2)) [wide-end] minmax(var(--gutter), 1fr) [full-end];display:grid}.prose>*{grid-column:prose;min-inline-size:0}.prose>:where(figure,.table-wrap,.wide,.diagram,.expressive-code,.viz){grid-column:wide}.article{padding-block:80px 96px}.article-header{inline-size:100%;max-inline-size:calc(var(--width-prose) + 2 * var(--gutter));padding-inline:var(--gutter);margin-block-end:var(--space-7);margin-inline:auto}.article-header__tags{gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-5);display:flex}.article-header h1{margin-block-end:var(--space-4)}.article-header .lead{margin-block-end:var(--space-5)}.article-meta{align-items:center;gap:var(--space-2) var(--space-4);border-block-start:1px solid var(--color-border);flex-wrap:wrap;padding-block-start:var(--space-5);display:flex}.article-hero{max-inline-size:min(var(--width-wide), 100% - 2 * var(--gutter));margin:0 auto var(--space-7)}.article-hero img{border:1px solid var(--color-border);border-radius:var(--radius-lg);inline-size:100%}h1,h2,h3,h4{color:var(--color-text);text-wrap:balance;scroll-margin-block-start:calc(var(--header-height) + 24px)}h1{font-size:var(--text-h1);letter-spacing:-.02em;font-weight:700;line-height:1.15}h2{font-size:var(--text-h2);letter-spacing:-.015em;font-weight:600;line-height:1.25}h3{font-size:var(--text-h3);letter-spacing:-.01em;font-weight:600;line-height:1.35}h4{font-size:var(--text-h4);font-weight:600;line-height:1.4}strong,b{font-weight:600}.lead{font-size:var(--text-lead);color:var(--color-text-secondary);text-wrap:pretty;line-height:1.6}.small{font-size:var(--text-small);color:var(--color-text-secondary);line-height:1.6}.eyebrow,.meta{font:500 var(--text-label)/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.site-header{z-index:50;min-block-size:var(--header-height);backdrop-filter:blur(8px);border-block-end:1px solid var(--color-border);background:#111111d9;position:sticky;inset-block-start:0}.site-header__inner{min-block-size:var(--header-height);justify-content:space-between;align-items:center;gap:0 var(--space-5);flex-wrap:wrap;display:flex}.site-header__brand{align-items:center;gap:var(--space-3);min-block-size:44px;color:var(--color-text);font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.site-header__logo{border-radius:var(--radius-sm);block-size:28px;inline-size:auto}.site-nav{gap:0 var(--space-5);flex-wrap:wrap;display:flex}.site-nav a{min-block-size:44px;font-size:var(--text-small);color:var(--color-text-secondary);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--color-text)}.site-nav a[aria-current=page]{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:8px;text-decoration-thickness:2px}@media (width<=639.98px){.site-header__inner{padding-block:var(--space-1)}.site-nav{inline-size:100%}}.site-footer{padding-block:var(--space-6);border-block-start:1px solid var(--color-border);font-size:var(--text-caption);color:var(--color-text-muted);margin-block-start:auto}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.site-footer nav{gap:0 var(--space-5);flex-wrap:wrap;display:flex}.site-footer a{min-block-size:44px;color:var(--color-text-secondary);align-items:center;text-decoration:none;display:inline-flex}.site-footer a:hover{color:var(--color-text)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);min-block-size:44px;font-size:var(--text-small);cursor:pointer;background:0 0;border:1px solid #0000;padding:0 20px;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--primary:hover,.btn--primary:active{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.btn--secondary{border-color:var(--color-border-strong);color:var(--color-text)}.btn--secondary:hover{background:var(--color-raised);border-color:var(--color-text-muted)}.btn--text{color:var(--color-accent-text);border:0;padding:0}.btn--text:after{content:"→";transition:transform var(--duration) var(--ease)}.btn--text:hover{color:var(--color-accent-text-hover)}.btn--text:hover:after{transform:translate(2px)}.tags{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag{background:var(--color-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);font:500 12px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);align-items:center;gap:8px;padding:5px 10px;text-decoration:none;display:inline-flex}a.tag{min-block-size:44px;padding-inline:12px}a.tag:hover{border-color:var(--color-border-strong);color:var(--color-text)}.tag--tech:before,.tag--business:before{content:"";border-radius:50%;flex:none;block-size:6px;inline-size:6px}.tag--tech:before{background:var(--color-info)}.tag--business:before{background:var(--color-warning)}.field{gap:6px;display:grid}.field label{font-size:var(--text-caption);font-weight:500}.input{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-block-size:44px;color:var(--color-text);padding:0 14px;font-size:16px}.input::placeholder{color:var(--color-text-muted);opacity:1}.input:focus{border-color:var(--color-accent)}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));padding:0;list-style:none;display:grid}.card{gap:var(--space-3);block-size:100%;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;flex-direction:column;text-decoration:none;display:flex}.card:hover{background:var(--color-raised);border-color:var(--color-border-strong)}.card__cover{margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) 0;aspect-ratio:16/9;border-radius:var(--radius-md) var(--radius-md) 0 0;overflow:hidden}.card__cover img{object-fit:cover;block-size:100%;inline-size:100%}.card__title{letter-spacing:-.01em;color:var(--color-text);text-wrap:balance;font-size:22px;font-weight:600;line-height:1.3}.card:hover .card__title{color:var(--color-accent-text)}.card__excerpt{font-size:var(--text-small);color:var(--color-text-secondary);line-height:1.6}.card__more{font-size:var(--text-caption);color:var(--color-accent-text);margin-block-start:auto;font-weight:600}.card__more:after{content:" →"}.page-intro{margin-block-end:var(--space-8)}.page-intro h1{margin-block-end:var(--space-4)}.section-title{margin-block-end:var(--space-5)}.author-box{gap:var(--space-5);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.author-box__avatar{background:var(--color-raised);border:1px solid var(--color-border-strong);block-size:56px;inline-size:56px;font:600 18px/1 var(--font-sans);color:var(--color-text);border-radius:50%;flex:none;place-items:center;display:grid}.author-box__body{gap:var(--space-2);flex:280px;display:grid}.author-box__name{color:var(--color-text);font-size:18px;font-weight:600}.author-box__bio{font-size:var(--text-small);color:var(--color-text-secondary)}.author-box__form{gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.author-box__form .input{flex:200px}.author-box__link{color:var(--color-accent-text)}.author-box__link:hover{color:var(--color-accent-text-hover)}.related{max-inline-size:var(--width-site);margin:var(--space-8) auto 0;padding-inline:var(--gutter)}.article-end{max-inline-size:calc(var(--width-prose) + 2 * var(--gutter));margin:var(--space-8) auto 0;padding-inline:var(--gutter)}.prose>*+*{margin-block-start:1.25em}.prose>:where(h2){margin-block-start:2.4em}.prose>:where(h3){margin-block-start:1.8em}.prose>:where(h4){margin-block-start:1.5em}.prose>:where(h2,h3,h4)+*{margin-block-start:.6em}.prose>:where(figure,.table-wrap,.expressive-code,.diagram,.viz,blockquote,.markdown-alert,pre){margin-block:2em}.prose>:where(figure,.table-wrap,.expressive-code,.diagram,.viz,blockquote,.markdown-alert,pre)+*{margin-block-start:2em}.prose :where(p){text-wrap:pretty;text-align:start}.prose :where(a){color:var(--color-accent-text);text-underline-offset:3px;text-decoration:underline 1px #ff5a5f73}.prose :where(a:hover){color:var(--color-accent-text-hover);text-decoration-color:currentColor}.prose :where(a:visited){color:var(--color-accent-text)}.prose :where(a:visited:hover){color:var(--color-accent-text-hover)}.prose :where(ul,ol){padding-inline-start:0;list-style:none}.prose :where(li){padding-inline-start:1.5em;position:relative}.prose :where(li+li){margin-block-start:.5em}.prose :where(ul>li):before{content:"";background:var(--color-accent);block-size:6px;inline-size:6px;position:absolute;inset-block-start:.72em;inset-inline-start:.2em}.prose :where(ol){counter-reset:item}.prose :where(ol>li){counter-increment:item;padding-inline-start:2.25em}.prose :where(ol>li):before{content:counter(item, decimal-leading-zero);font:400 .8em/1.7 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-muted);position:absolute;inset-block-start:.25em;inset-inline-start:0}.prose :where(li>ul,li>ol){margin-block-start:.5em;margin-inline-start:24px}.prose :where(blockquote){background:0 0;border:0;padding:0}.prose :where(blockquote):before{content:"“";font:700 48px/1 var(--font-sans);color:var(--color-accent);margin-block-end:var(--space-2);display:block}.prose :where(blockquote p){letter-spacing:-.01em;color:var(--color-text);font-size:clamp(1.375rem,1.25rem + .4vw,1.5rem);font-weight:500;line-height:1.48}.prose :where(blockquote p+p){margin-block-start:.75em}.prose :where(blockquote footer,blockquote cite){font:400 13px/1.5 var(--font-mono);color:var(--color-text-muted);margin-block-start:var(--space-3);font-style:normal;display:block}.prose :where(blockquote footer):before,.prose :where(blockquote>cite):before{content:"— "}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.prose table{border-collapse:collapse;inline-size:100%;font-size:var(--text-small);font-variant-numeric:tabular-nums}.prose th{text-align:start;white-space:nowrap;background:var(--color-raised);font:500 12px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);padding:12px 20px}.prose td{border-block-end:1px solid var(--color-border);vertical-align:top;padding:13px 20px}.prose tbody tr:last-child td{border-block-end:0}.prose tbody tr:hover{background:var(--color-raised)}.prose :is(th,td)[align=right],.prose :is(th,td)[style*="text-align: right"]{text-align:end}.prose :is(th,td)[align=center],.prose :is(th,td)[style*="text-align: center"]{text-align:center}@media (width<=639.98px){.prose th,.prose td{padding:12px 16px}}.prose :where(img){border:1px solid var(--color-border);border-radius:var(--radius-lg)}.prose :where(figure){display:block}.prose :where(figure>img,figure>picture img,figure>a>img){inline-size:100%}.prose :where(figcaption){font-size:var(--text-caption);text-align:start;color:var(--color-text-secondary);margin-block-start:var(--space-3);line-height:1.6}.fig-n{font:400 12px/1 var(--font-mono);letter-spacing:.06em;color:var(--color-text-muted);margin-inline-end:var(--space-2)}.prose :where(hr){border:0;border-block-start:1px solid var(--color-border);margin-block:var(--space-8)}.prose :where(:not(pre)>code),:where(.small,.lead,.card) :where(code){background:var(--color-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);overflow-wrap:anywhere;padding:1px 6px;font-size:.88em;font-weight:400}.prose :where(kbd){background:var(--color-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);border-block-end-width:2px;padding:1px 6px;font-size:13px}.prose :where(mark){color:var(--color-text);background:#e31c2538;border-radius:2px;padding:1px 3px}.prose :where(em){font-style:italic}.prose :where(sup){font-size:.7em;line-height:0}.prose :where(sup a){color:var(--color-accent-text);padding-inline:2px;text-decoration:none}.prose :where(section.footnotes,.footnotes){border-block-start:1px solid var(--color-border);font-size:var(--text-small);color:var(--color-text-secondary);margin-block-start:var(--space-8);padding-block-start:var(--space-5);line-height:1.6}.prose :where(.footnotes h2){font-size:var(--text-label);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-block-start:0;font-weight:500}.expressive-code{font-size:var(--text-code)}.expressive-code pre{tab-size:2}.expressive-code .frame{border-radius:var(--radius-md)}.expressive-code .copy button{min-block-size:32px;min-inline-size:32px}.prose>pre:not(.expressive-code pre){tab-size:2;white-space:pre;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-code);padding:16px 24px;line-height:1.65;overflow-x:auto}@media (width<=639.98px){.expressive-code{font-size:.875rem}}.markdown-alert{--alert:var(--color-info);background:color-mix(in srgb, var(--alert) 8%, transparent);border:1px solid color-mix(in srgb, var(--alert) 30%, transparent);border-radius:var(--radius-md);color:var(--color-text);padding:16px 20px;font-size:1rem;line-height:1.65}.markdown-alert-note,.markdown-alert-important{--alert:var(--color-info)}.markdown-alert-tip{--alert:var(--color-success)}.markdown-alert-warning{--alert:var(--color-warning)}.markdown-alert-caution{--alert:var(--color-danger)}.markdown-alert>*+*{margin-block-start:.75em}.markdown-alert .markdown-alert-title{align-items:center;gap:var(--space-2);font:500 12px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--alert);margin-block-end:6px;display:flex}.markdown-alert .markdown-alert-title+*{margin-block-start:0}.markdown-alert .markdown-alert-title svg{fill:none;stroke:currentColor;flex:none;block-size:16px;inline-size:16px}.markdown-alert .markdown-alert-title svg path{fill:currentColor}.diagram,.viz{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin:0;padding:32px;overflow-x:auto}.diagram>svg,.viz>svg,.viz__art{block-size:auto;max-inline-size:100%;margin-inline:auto}.diagram figcaption,.viz figcaption{margin-block-start:var(--space-4)}.viz figcaption{font-size:var(--text-caption);color:var(--color-text-secondary);text-align:start}@media (width<=639.98px){.diagram,.viz{padding:16px}}.diagram>svg{min-inline-size:520px}.not-found{justify-content:center;align-items:center;gap:var(--space-6) var(--space-8);padding-block:var(--space-7);flex-wrap:wrap;display:flex}.not-found__image{border:1px solid var(--color-border);border-radius:var(--radius-lg);block-size:auto;inline-size:min(320px,80%)}.not-found__text{flex:280px;max-inline-size:28rem}.not-found__code{font:700 clamp(4.5rem, 3rem + 8vw, 8rem)/1 var(--font-mono);letter-spacing:-.04em;color:var(--color-text);margin-block-end:var(--space-4)}.not-found h1{margin-block-end:var(--space-5)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{:root{color-scheme:light}body{color:#000;background:#fff;font-size:11pt;display:block}.site-header,.site-footer,.skip-link,.author-box__form,.related,.expressive-code .copy,.btn{display:none!important}.prose a{color:#000;text-decoration:underline}.prose a[href^=http]:after{content:" (" attr(href) ")";word-break:break-all;font-size:.8em}.prose :is(h1,h2,h3,h4,p,li,blockquote){color:#000}.expressive-code,.expressive-code *{color:#000!important;background:0 0!important}.expressive-code .frame{border:1px solid #000}pre,figure,table,.diagram,.viz,.markdown-alert{break-inside:avoid}.markdown-alert,.diagram,.viz,.card{color:#000;background:0 0;border-color:#000}.prose{display:block}}
