:root{color-scheme:light;--bg: #fcfcfb;--surface: #f3f2ef;--surface-2: #e9e8e4;--border: #dcdad5;--text: #0b0b0b;--text-2: #52514e;--text-3: #75736e;--accent: #c2410c;--accent-ink: #9a3412;--link: #1d5fb5;--code-bg: #f1f0ec;--series-1: #2a78d6;--good: #1a7f37;--warn: #9a6700;--radius: 8px;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media(prefers-color-scheme:dark){:root:where(:not([data-theme=light])){color-scheme:dark;--bg: #141413;--surface: #1d1d1b;--surface-2: #262624;--border: #34332f;--text: #f0efec;--text-2: #c3c2b7;--text-3: #9b9a92;--accent: #f97316;--accent-ink: #fdba74;--link: #7fb2f0;--code-bg: #1f1f1d;--series-1: #3987e5;--good: #4ac26b;--warn: #d4a72c}}:root[data-theme=dark]{color-scheme:dark;--bg: #141413;--surface: #1d1d1b;--surface-2: #262624;--border: #34332f;--text: #f0efec;--text-2: #c3c2b7;--text-3: #9b9a92;--accent: #f97316;--accent-ink: #fdba74;--link: #7fb2f0;--code-bg: #1f1f1d;--series-1: #3987e5;--good: #4ac26b;--warn: #d4a72c}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 var(--sans)}a{color:var(--link);text-underline-offset:2px}h1,h2,h3{line-height:1.25;letter-spacing:-.01em}h1{font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 .5rem}h2{font-size:1.5rem;margin:2.5rem 0 .75rem;padding-top:.5rem}h3{font-size:1.15rem;margin:1.75rem 0 .5rem}p,li{color:var(--text)}.muted{color:var(--text-2)}code{font-family:var(--mono);font-size:.88em;background:var(--code-bg);padding:.1em .35em;border-radius:4px}pre{position:relative;background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;overflow-x:auto;font-size:.86rem;line-height:1.55}pre code{background:none;padding:0;font-size:inherit}pre .copy{position:absolute;top:8px;right:8px;font:12px var(--sans);padding:3px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-2);cursor:pointer;opacity:0;transition:opacity .15s}pre:hover .copy,pre .copy:focus-visible{opacity:1}table{border-collapse:collapse;width:100%;font-size:.92rem;margin:1rem 0}.table-wrap{overflow-x:auto}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-2);font-weight:600;white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.site-header .bar{max-width:1120px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--text);text-decoration:none;font-size:1.05rem}.brand svg{display:block;color:var(--text)}.site-nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto}.site-nav a{color:var(--text-2);text-decoration:none;padding:6px 10px;border-radius:6px;font-size:.93rem;white-space:nowrap}.site-nav a:hover{color:var(--text);background:var(--surface)}.site-nav a[aria-current=page]{color:var(--text);background:var(--surface-2)}.theme-toggle{border:1px solid var(--border);background:none;color:var(--text-2);border-radius:6px;width:34px;height:34px;cursor:pointer;flex:none}.page{max-width:1120px;margin:0 auto;padding:32px 16px 80px}.prose{max-width:760px}.with-toc{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}.toc{position:sticky;top:80px;align-self:start;max-height:calc(100vh - 100px);overflow-y:auto;font-size:.9rem}.toc a{display:block;color:var(--text-2);text-decoration:none;padding:4px 0 4px 10px;border-left:2px solid var(--border)}.toc a:hover,.toc a.active{color:var(--text);border-left-color:var(--accent)}@media(max-width:860px){.with-toc{grid-template-columns:minmax(0,1fr)}.toc{display:none}}.callout{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);border-radius:var(--radius);padding:12px 16px;margin:1rem 0}.callout p{margin:.25rem 0}.hero{padding:48px 0 24px}.hero .lead{font-size:1.2rem;color:var(--text-2);max-width:680px}.cta{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.btn{display:inline-block;padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:600;border:1px solid var(--border);color:var(--text);background:var(--surface)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:1.25rem 0}.card{border:1px solid var(--border);border-radius:10px;padding:18px;background:var(--surface);color:var(--text);text-decoration:none;display:flex;flex-direction:column;gap:6px}a.card:hover{border-color:var(--text-3)}.card h3{margin:0;font-size:1.02rem}.card p{margin:0;color:var(--text-2);font-size:.93rem}.card .tag{font-size:.78rem;color:var(--text-3);font-family:var(--mono)}.stats{display:flex;flex-wrap:wrap;gap:28px;margin:24px 0}.stat .value{font-size:2rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.stat .label{color:var(--text-2);font-size:.9rem}.chart{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--surface);margin:1rem 0;position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}.chart .bar{fill:var(--series-1)}.chart .bar-hit:hover+.bar,.chart .bar-hit:focus+.bar{opacity:.8}.chart .axis{stroke:var(--border)}.chart text{fill:var(--text-2);font:12px var(--sans)}.chart text.value{fill:var(--text);font-variant-numeric:tabular-nums}.tooltip{position:absolute;pointer-events:none;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:.85rem;box-shadow:0 4px 16px #0000001f;max-width:320px}.tooltip strong{display:block;font-size:1rem}.demo{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--surface);margin:1rem 0}.demo textarea,.demo input[type=text],.demo select{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.demo textarea{min-height:90px;resize:vertical}.demo button{font:inherit;font-weight:600;padding:8px 16px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer}.demo button.secondary{background:var(--bg);color:var(--text);border-color:var(--border)}.demo button:disabled{opacity:.55;cursor:default}.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.status{font-size:.88rem;color:var(--text-2);min-height:1.4em}.output{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px 12px;min-height:2.5em;font-size:.95rem}.output.mono{font-family:var(--mono);font-size:.85rem}progress{width:100%;height:6px}.site-footer{border-top:1px solid var(--border);color:var(--text-3);font-size:.88rem}.site-footer .bar{max-width:1120px;margin:0 auto;padding:20px 16px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.site-footer a{color:var(--text-2)}.demo label{display:block;margin:12px 0 4px;font-weight:600;font-size:.9rem}.demo details{margin:8px 0}
