:root{color-scheme:light;--bg:#f6f7f9;--surface:#fff;--sidebar:#eef0f3;--border:#dde1e7;--text:#1c2128;--muted:#5f6b7a;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#e8effd;--accent-text:#fff;--ok:#1a7f37;--warn:#b26b00;--radius:6px;--radius-lg:12px;--font:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;--display:"Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, sans-serif;--mono:"Cascadia Code", "Cascadia Mono", Consolas, ui-monospace, monospace;--width:1080px;--shadow:0 1px 2px #1018280f, 0 8px 24px #1018280f}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#16191d;--surface:#1e2227;--sidebar:#1a1d21;--border:#2e343b;--text:#e6e9ed;--muted:#9aa4b1;--accent:#4d8dff;--accent-hover:#6b9fff;--accent-soft:#1d2a40;--accent-text:#0b1a33;--ok:#3fb950;--warn:#d29922;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent);text-underline-offset:2px}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}h1,h2,h3{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;line-height:1.2}h1{margin:0 0 16px;font-size:clamp(2rem,5vw,3.25rem);font-weight:650}h2{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2rem);font-weight:620}h3{margin:0 0 6px;font-size:1.125rem;font-weight:620}p{margin:0 0 12px}code,kbd{font-family:var(--mono);font-size:.9em}code{background:var(--sidebar);border:1px solid var(--border);border-radius:4px;padding:0 4px}kbd{border:1px solid var(--border);background:var(--surface);text-align:center;border-bottom-width:2px;border-radius:4px;min-width:1.6em;padding:0 6px;line-height:1.5;display:inline-block}img{max-width:100%;height:auto}.wrap{max-width:var(--width);margin:0 auto;padding:0 24px}@media (width<=600px){.wrap{padding:0 16px}.section{padding:48px 0}}.muted{color:var(--muted)}.lead{color:var(--muted);text-wrap:pretty;max-width:44rem;font-size:1.2rem}.site-header{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header .wrap{align-items:center;gap:24px;height:60px;display:flex}.brand{color:var(--text);font-family:var(--display);align-items:center;gap:10px;font-size:1.125rem;font-weight:650;text-decoration:none;display:flex}.brand:hover{color:var(--text)}.brand img{width:28px;height:28px}.nav{align-items:center;gap:4px;margin-left:auto;display:flex}.nav a{color:var(--muted);border-radius:var(--radius);padding:6px 10px;font-size:.95rem;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--text);background:var(--sidebar)}.nav .button{color:var(--accent-text);margin-left:8px}.nav .button:hover{color:var(--accent-text);background:var(--accent-hover)}.nav details{display:none;position:relative}@media (width<=720px){.nav a:not(.button){display:none}.nav details{display:block}}.nav summary{cursor:pointer;border-radius:var(--radius);color:var(--muted);padding:6px 10px;list-style:none}.nav summary::-webkit-details-marker{display:none}.nav details[open] summary{background:var(--sidebar);color:var(--text)}.nav details .menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--shadow);padding:6px;position:absolute;top:calc(100% + 6px);right:0}.nav details .menu a{display:block}.button{border-radius:var(--radius);background:var(--accent);color:var(--accent-text);border:1px solid #0000;align-items:center;gap:8px;padding:10px 18px;font-weight:600;text-decoration:none;transition:background .12s;display:inline-flex}.button:hover{background:var(--accent-hover);color:var(--accent-text)}.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.button.secondary:hover{background:var(--sidebar);color:var(--text)}.nav .button{padding:6px 14px}main{min-height:60vh}.section{padding:72px 0}.section+.section{border-top:1px solid var(--border)}.page-head{padding:56px 0 24px}.eyebrow{color:var(--accent);background:var(--accent-soft);border-radius:999px;margin-bottom:16px;padding:2px 12px;font-size:.85rem;font-weight:600;display:inline-block}.grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card p:last-child{margin-bottom:0}.icon-dot{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:10px;place-items:center;margin-bottom:14px;display:grid}.icon-dot svg{width:20px;height:20px}.ticks{margin:0;padding:0;list-style:none}.ticks li{margin-bottom:8px;padding-left:26px;position:relative}.ticks li:before{content:"";border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);width:12px;height:7px;position:absolute;top:.45em;left:2px;transform:rotate(-45deg)}.prose{max-width:46rem}.prose h2{margin-top:48px;padding-top:8px}.prose h3{margin-top:28px}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin-bottom:6px}.prose table{border-collapse:collapse;width:100%;margin:16px 0 24px;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:8px 12px}.prose th{font-weight:600}.prose pre{background:var(--sidebar);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0}.note{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:0 0 24px;padding:12px 16px}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:72px;padding:32px 0 48px;font-size:.9rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:12px 32px;display:flex}.site-footer nav{flex-wrap:wrap;gap:8px 20px;display:flex}.site-footer a{color:var(--muted);text-decoration:none}.site-footer a:hover{color:var(--text);text-decoration:underline}
