@font-face{font-family:Schibsted Grotesk;src:url(/fonts/schibsted-grotesk.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--ground:#09090a;--raise-1:#0f1011;--raise-2:#151618;--raise-3:#1c1d20;--line:#212226;--line-strong:#2f3136;--ink:#ededee;--ink-2:#a8aaaf;--ink-3:#85888f;--mint:#6ee7c5;--mint-ink:#04241b;--mint-wash:#6ee7c517;--amber:#f2c46d;--amber-wash:#f2c46d14;--rose:#f08a8a;--violet:#b8a6ff;--r-sm:6px;--r:10px;--r-lg:14px;--sans:"Schibsted Grotesk", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--page:min(1160px, calc(100vw - 32px))}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-color:var(--line-strong) var(--ground);scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ground);color:var(--ink);font:400 16px/1.6 var(--sans);font-feature-settings:"kern";-webkit-font-smoothing:antialiased;caret-color:var(--mint);margin:0}::selection{color:var(--ink);background:#6ee7c547}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--ground)}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--ground);border-radius:10px}:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:4px}a{color:var(--ink);text-decoration-color:var(--line-strong);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-color:var(--ink-2)}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:560}p{margin:0}code,pre,.mono{font-family:var(--mono);font-feature-settings:"zero"}.num{font-variant-numeric:tabular-nums}.page{width:var(--page);margin-inline:auto}.topbar{z-index:20;backdrop-filter:saturate(140%)blur(12px);background:#09090acc;border-bottom:1px solid #0000;transition:border-color .3s;position:sticky;top:0}.topbar[data-scrolled]{border-bottom-color:var(--line)}.topbar .page{grid-template-columns:1fr auto 1fr;align-items:center;height:64px;display:grid}.topbar .actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.pill{letter-spacing:-.01em;border-radius:99px;align-items:center;height:34px;padding:0 15px;font-size:14px;font-weight:560;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.pill.ghost{color:var(--ink);border:1px solid var(--line-strong)}.pill.ghost:hover{background:var(--raise-2)}.pill.solid{background:var(--ink);color:var(--ground)}.pill.solid:hover{background:#fff}.wordmark{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:9px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.topnav{align-items:center;gap:4px;display:flex}.topnav a{color:var(--ink-2);border-radius:var(--r-sm);padding:6px 10px;font-size:14px;text-decoration:none;transition:color .2s,background .2s}.topnav a:hover{color:var(--ink);background:var(--raise-2)}@media (width<=760px){.topnav{display:none}.topbar .page{grid-template-columns:1fr auto}.pill.ghost{display:none}}.foot{border-top:1px solid var(--line);margin-top:40px}.foot .page{color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding:32px 0 48px;font-size:14px;display:flex}.foot nav{flex-wrap:wrap;gap:10px 24px;display:flex}.foot a{color:var(--ink-3);text-decoration:none}.foot a:hover{color:var(--ink)}.socials{gap:18px;margin:0;padding:0;list-style:none;display:flex}.socials a{width:18px;height:18px;display:block}.socials svg{fill:currentColor;width:100%;height:100%;display:block}.socials title{display:none}.foot .badge{opacity:.7;display:flex}.foot .badge:hover{opacity:1}.prose{max-width:68ch;padding:72px 0 40px}.prose h1{margin-bottom:8px;font-size:clamp(36px,5vw,52px)}.prose h2{letter-spacing:-.02em;margin:40px 0 12px;font-size:20px}.prose p,.prose li{color:var(--ink-2)}.prose p+p{margin-top:12px}.prose ul{margin:0;padding-left:20px}.prose li+li{margin-top:6px}.prose b{color:var(--ink);font-weight:560}.prose code{color:var(--ink);font-size:.9em}
