:root{--bg:#f7f8fa;--paper:#fff;--ink-900:#0b1220;--ink-700:#1e293b;--ink-600:#334155;--ink-500:#475569;--ink-400:#64748b;--ink-200:#e2e8f0;--ink-100:#eef1f5;--green:#16a34a;--green-soft:#e8f7ee;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--paper:#101a2e;--ink-900:#f1f5f9;--ink-700:#e2e8f0;--ink-600:#cbd5e1;--ink-500:#94a3b8;--ink-400:#7c8ba1;--ink-200:#24324a;--ink-100:#1a2740;--green:#34d27b;--green-soft:#11321f}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink-700);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:var(--font-mono);font-size:.88em}pre{background:var(--ink-100);border:1px solid var(--ink-200);border-radius:10px;padding:14px 16px;line-height:1.55;overflow-x:auto}code:not(pre code){background:var(--ink-100);border-radius:5px;padding:1px 5px}.wrap{max-width:1060px;margin:0 auto;padding:0 20px}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-200);position:sticky;top:0}.site-header .wrap{align-items:center;gap:22px;height:58px;display:flex}.brand{color:var(--ink-900);letter-spacing:-.01em;align-items:center;gap:9px;font-size:15.5px;font-weight:800;display:flex}.brand:hover{text-decoration:none}.brand svg{display:block}.brand .tld{color:var(--green)}nav.main{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}nav.main a{color:var(--ink-500);border-radius:8px;padding:6px 11px;font-size:14px;font-weight:500}nav.main a:hover{color:var(--ink-900);background:var(--ink-100);text-decoration:none}nav.main a.active{color:var(--ink-900);background:var(--ink-100)}main{min-height:62vh;padding:40px 0 64px}.site-footer{border-top:1px solid var(--ink-200);color:var(--ink-400);padding:26px 0 40px;font-size:13.5px}.site-footer .wrap{flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}.site-footer a{color:var(--ink-500)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-size:12px;font-weight:700}h1.page-title{letter-spacing:-.02em;color:var(--ink-900);margin:6px 0 10px;font-size:34px;line-height:1.2}.page-sub{color:var(--ink-500);max-width:46em;font-size:17px}.card{background:var(--paper);border:1px solid var(--ink-200);border-radius:14px;padding:22px 24px}.btn{border:1px solid var(--ink-200);color:var(--ink-900);background:var(--paper);border-radius:10px;padding:10px 18px;font-size:14.5px;font-weight:600;display:inline-block}.btn:hover{border-color:var(--ink-400);text-decoration:none}.btn-primary{background:var(--ink-900);border-color:var(--ink-900);color:var(--bg)}.btn-primary:hover{opacity:.92}.btn-green{background:var(--green);border-color:var(--green);color:#fff}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}@media (width<=800px){.grid-2,.grid-3{grid-template-columns:1fr}}.newsletter{background:var(--green-soft);border:1px solid color-mix(in srgb, var(--green) 30%, transparent);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:22px 24px;display:flex}.newsletter h3{color:var(--ink-900);font-size:17px}.newsletter p{color:var(--ink-500);max-width:34em;font-size:14px}.prose{max-width:45em}.prose h2{color:var(--ink-900);letter-spacing:-.01em;margin:36px 0 12px;font-size:24px}.prose h3{color:var(--ink-900);margin:26px 0 10px;font-size:18.5px}.prose p,.prose ul,.prose ol{margin-bottom:14px}.prose ul,.prose ol{padding-left:24px}.prose li{margin-bottom:5px}.prose pre{margin:16px 0}.prose blockquote{border-left:3px solid var(--green);color:var(--ink-500);margin:16px 0;padding:4px 0 4px 16px}.prose table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14.5px}.prose th,.prose td{border:1px solid var(--ink-200);text-align:left;padding:7px 11px}.prose th{background:var(--ink-100);color:var(--ink-900)}.prose img{border:1px solid var(--ink-200);border-radius:10px;max-width:100%}
