@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root,:root[data-theme=light]{--bg: #fafafa;--bg-alt: #ffffff;--ink: #0a0a0a;--ink-2: #404040;--ink-3: #737373;--rule: #e5e5e5;--rule-soft: #f0f0f0;--accent: #ea580c;--accent-strong: #c2410c;--accent-soft: rgba(234, 88, 12, .1);--accent-mid: rgba(234, 88, 12, .22);--accent-ring: rgba(234, 88, 12, .35);--grid-line: rgba(10, 10, 10, .09);--selection-bg: rgba(234, 88, 12, .2);--shadow: 0 8px 30px rgba(0, 0, 0, .08);--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-fast: .12s ease;--t-med: .18s ease;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0a0a0a;--bg-alt: #161616;--ink: #fafafa;--ink-2: #c4c4c4;--ink-3: #8a8a8a;--rule: #262626;--rule-soft: #1a1a1a;--accent: #fb923c;--accent-strong: #fdba74;--accent-soft: rgba(251, 146, 60, .14);--accent-mid: rgba(251, 146, 60, .28);--accent-ring: rgba(251, 146, 60, .45);--grid-line: rgba(250, 250, 250, .1);--selection-bg: rgba(251, 146, 60, .28);--shadow: 0 8px 30px rgba(0, 0, 0, .5);color-scheme:dark}}:root[data-theme=dark]{--bg: #0a0a0a;--bg-alt: #161616;--ink: #fafafa;--ink-2: #c4c4c4;--ink-3: #8a8a8a;--rule: #262626;--rule-soft: #1a1a1a;--accent: #fb923c;--accent-strong: #fdba74;--accent-soft: rgba(251, 146, 60, .14);--accent-mid: rgba(251, 146, 60, .28);--accent-ring: rgba(251, 146, 60, .45);--grid-line: rgba(250, 250, 250, .08);--selection-bg: rgba(251, 146, 60, .28);--shadow: 0 8px 30px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}::selection{background:var(--selection-bg);color:var(--ink)}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--t-med),color var(--t-med)}body{position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;-webkit-mask-image:radial-gradient(circle at 12% 18%,black 0%,transparent 35%),radial-gradient(circle at 78% 9%,black 0%,transparent 28%),radial-gradient(circle at 36% 62%,black 0%,transparent 32%),radial-gradient(circle at 91% 54%,black 0%,transparent 30%),radial-gradient(circle at 22% 88%,black 0%,transparent 26%),radial-gradient(circle at 64% 95%,black 0%,transparent 30%);-webkit-mask-composite:source-over;mask-image:radial-gradient(circle at 12% 18%,black 0%,transparent 35%),radial-gradient(circle at 78% 9%,black 0%,transparent 28%),radial-gradient(circle at 36% 62%,black 0%,transparent 32%),radial-gradient(circle at 91% 54%,black 0%,transparent 30%),radial-gradient(circle at 22% 88%,black 0%,transparent 26%),radial-gradient(circle at 64% 95%,black 0%,transparent 30%);mask-composite:add}.shell{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:32px 28px 80px}.shell.shell-wide{max-width:960px}a{color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;transition:color var(--t-fast),border-color var(--t-fast),background-color var(--t-fast)}a:hover{color:var(--accent-strong);border-bottom-color:var(--accent-strong)}button,.btn{font-family:var(--mono);font-size:12px;letter-spacing:.02em;background:transparent;border:1px solid var(--rule);color:var(--ink);padding:8px 14px;cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast),background-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}button:hover:not(:disabled),.btn:hover{border-color:var(--accent)}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button:disabled{opacity:.3;cursor:not-allowed}.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px;border-radius:1px}button:focus-visible,.btn:focus-visible{outline-offset:2px;border-color:var(--accent)}a:focus-visible{outline-offset:3px;border-bottom-color:var(--accent)}input[type=range]:focus-visible{outline-offset:4px}textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.focus-glow:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.bar{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:16px;margin-bottom:56px;border-bottom:1px solid var(--rule)}.bar a{border-bottom:none}.bar a:hover{color:var(--accent)}.brand{font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:500;display:inline-flex;align-items:flex-end;gap:6px;border-bottom:none;line-height:1}.brand:hover{color:var(--ink)}.brand:hover .brand-mark{color:var(--accent-strong)}.brand-mark{width:13px;height:13px;display:inline-block;flex-shrink:0;color:var(--accent);transition:color var(--t-fast)}.bar nav{display:flex;gap:22px;font-family:var(--mono);font-size:12px;align-items:center}.bar nav a{color:var(--ink-3);position:relative}.bar nav a:hover{color:var(--ink)}.bar nav a.active{color:var(--accent)}.bar nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--accent)}.theme-toggle{background:transparent;border:1px solid var(--rule);color:var(--ink-3);font-family:var(--mono);font-size:13px;line-height:1;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;transition:color var(--t-fast),border-color var(--t-fast)}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.theme-icon-sun{display:none}.theme-icon-moon{display:inline}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-icon-sun{display:inline}:root:not([data-theme=light]) .theme-icon-moon{display:none}}:root[data-theme=dark] .theme-icon-sun{display:inline}:root[data-theme=dark] .theme-icon-moon{display:none}:root[data-theme=light] .theme-icon-sun{display:none}:root[data-theme=light] .theme-icon-moon{display:inline}h1.hero{font-family:var(--sans);font-weight:700;font-size:clamp(38px,6vw,56px);line-height:1.02;letter-spacing:-.03em;margin:0 0 16px}h1.hero.hero-sm{font-size:clamp(32px,4.5vw,42px)}.lede{font-size:17px;line-height:1.55;color:var(--ink-2);max-width:560px;margin:0 0 28px}.lede em{font-style:normal;color:var(--accent);font-weight:500}section{margin-bottom:56px}section h2{font-family:var(--sans);font-weight:600;font-size:22px;line-height:1.2;letter-spacing:-.01em;margin:0 0 16px}.section-mark{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}.prose{max-width:620px}.prose p{margin:0 0 14px}.prose ul{margin:0 0 14px;padding-left:20px}.prose li{margin:4px 0}.prose code,code.inline{font-family:var(--mono);font-size:13px;background:var(--bg-alt);padding:1px 6px;border:1px solid var(--rule-soft);color:var(--ink)}pre.code,pre.codeblock{font-family:var(--mono);font-size:13px;line-height:19.5px;letter-spacing:0;background-color:var(--bg-alt);background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:1ch 19.5px;background-position:16px 14px;border:1px solid var(--rule);border-radius:2px;padding:14px 16px;margin:0 0 18px;white-space:pre;overflow-x:auto;color:var(--ink)}.meta{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:6px}.meta strong{color:var(--accent);font-weight:500}hr.rule{border:none;border-top:1px solid var(--rule);margin:36px 0}.footer{border-top:1px solid var(--rule);padding-top:18px;margin-top:72px;display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--ink-3)}.label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-3);text-transform:uppercase}@keyframes fade-in-up{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
