:root{--bg:oklch(98% .005 250);--surface:oklch(100% 0 0);--fg:oklch(22% .02 240);--muted:oklch(50% .018 240);--border:oklch(90% .008 240);--accent:oklch(58% .16 145);--accent-soft:oklch(94% .04 145);--warn:oklch(72% .15 75);--warn-soft:oklch(96% .04 85);--danger:oklch(58% .19 25);--danger-soft:oklch(96% .03 25);--sans:-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--max:980px;--radius:6px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-variant-numeric:tabular-nums;margin:0;font-size:15px;line-height:1.6}a{color:inherit;text-decoration-color:var(--border);text-underline-offset:3px}code,pre,.mono{font-family:var(--mono);font-size:.92em}pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:12px 16px;overflow-x:auto}.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}header.site{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;position:sticky;top:0}header.site .wrap{align-items:center;gap:20px;height:52px;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:8px;font-weight:600;text-decoration:none;display:flex}.brand .dot{background:var(--accent);border-radius:50%;width:8px;height:8px;display:inline-block}header nav{gap:20px;margin-left:auto;font-size:14px;display:flex}header nav a{color:var(--muted);text-decoration:none}header nav a:hover{color:var(--fg)}h2{letter-spacing:-.01em;margin:40px 0 12px;font-size:18px;font-weight:600}h3{margin:24px 0 8px;font-size:15px;font-weight:600}.lede{color:var(--muted);max-width:62ch;margin-bottom:24px;font-size:17px}main{min-height:calc(100vh - 190px);padding-bottom:72px}.pill{font-size:12px;font-family:var(--mono);border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:4px 8px;display:inline-flex}.pill.ok{background:var(--accent-soft);border-color:color-mix(in oklch, var(--accent) 30%, var(--border));color:oklch(40% .12 145)}.pill.beta{background:var(--warn-soft);border-color:color-mix(in oklch, var(--warn) 35%, var(--border));color:oklch(45% .11 75)}.pill.no{background:var(--danger-soft);border-color:color-mix(in oklch, var(--danger) 25%, var(--border));color:oklch(45% .14 25)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:16px 20px;text-decoration:none;transition:border-color .12s;display:flex}.card:hover{border-color:color-mix(in oklch, var(--accent) 45%, var(--border))}.card h3{margin:8px 0 4px}.card p{color:var(--muted);margin:0;font-size:14px}.card .head{justify-content:space-between;align-items:center;gap:8px;display:flex}table{border-collapse:collapse;width:100%;margin:12px 0 4px;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 12px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px;font-weight:600}tbody tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-family:var(--mono)}.field{gap:4px;margin-bottom:12px;display:grid}.field label{color:var(--muted);font-size:13px}input[type=number],input[type=text]{font:inherit;font-family:var(--mono);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);width:100%;padding:8px 12px}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;padding:8px 16px}button.primary{background:var(--fg);color:var(--surface);border-color:var(--fg)}button:hover{border-color:var(--accent)}.toolbar{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;background:var(--surface);margin:20px 0;padding:24px}.toolbar.drag{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.toolbar p{color:var(--muted);margin:4px 0 0;font-size:13px}.kpis{background:var(--border);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;margin:20px 0;display:grid;overflow:hidden}.kpi{background:var(--surface);padding:12px 16px}.kpi .k{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px}.kpi .v{font-family:var(--mono);margin-top:4px;font-size:20px}.bar{background:var(--border);border-radius:999px;height:10px;margin:12px 0 4px;overflow:hidden}.bar>span{background:var(--accent);height:100%;display:block}.bar.warn>span{background:var(--warn)}.bar.danger>span{background:var(--danger)}.note{color:var(--muted);border-left:2px solid var(--border);margin:16px 0;padding-left:12px;font-size:13px}.err{color:oklch(45% .14 25);font-family:var(--mono);font-size:13px}details{border-bottom:1px solid var(--border);padding:12px 0}details:last-of-type{border-bottom:none}summary{cursor:pointer;font-weight:500}details p{color:var(--muted);margin:8px 0 0}footer.site{border-top:1px solid var(--border);color:var(--muted);padding:24px 0 40px;font-size:13px}footer.site p{margin:0 0 8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card .outcome{color:var(--fg);border-top:1px dashed var(--border);margin:8px 0 0;padding-top:8px;font-size:13px}.card .demo{font-size:13px;font-family:var(--mono);color:oklch(42% .13 145);border-bottom:1px solid color-mix(in oklch, var(--accent) 40%, transparent);align-self:flex-start;margin-top:auto;padding-top:12px;text-decoration:none;display:inline-block}.card .demo:hover{color:var(--accent)}.card pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.related{margin-top:56px}.split{grid-template-columns:1fr 1fr;gap:16px;margin:16px 0 4px;display:grid}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:16px}.panel.ok{border-color:color-mix(in oklch, var(--accent) 32%, var(--border));background:var(--accent-soft)}.panel.no{border-color:color-mix(in oklch, var(--danger) 22%, var(--border));background:var(--danger-soft)}.panel h3{text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:13px}.panel ul{margin:0;padding-left:20px}.panel li{margin:4px 0}.panel .panel-note{color:var(--muted);margin:12px 0 0;font-size:12px}.panel.ok h3{color:oklch(40% .12 145)}.panel.no h3{color:oklch(45% .14 25)}@media (width<=640px){.split{grid-template-columns:1fr}h1{margin-top:28px;font-size:24px}.lede{font-size:15px}header.site .wrap{flex-wrap:wrap;row-gap:4px;height:auto;padding:12px 16px}header nav{flex-wrap:wrap;gap:16px;width:100%;margin-left:0;font-size:13px}.wrap{padding:0 16px}main{min-height:0}.kpis{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}table{display:block;overflow-x:auto}table thead,table tbody{width:100%;display:table}code,.mono{overflow-wrap:anywhere}pre{font-size:12px}}.tabs{border-bottom:1px solid var(--border);gap:8px;margin:20px 0 8px;display:flex}.tab{font-family:var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;border-radius:4px 4px 0 0;margin-bottom:-1px;padding:8px 16px;font-size:13px}.tab.on{background:var(--surface);border-color:var(--border);color:var(--fg)}textarea{width:100%;font-family:var(--mono);border:1px solid var(--border);background:var(--surface);color:var(--fg);resize:vertical;border-radius:4px;padding:12px 16px;font-size:13px;line-height:1.6}.row-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0 0;display:flex}.row-actions button.primary{border-color:var(--accent)}.chk{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.verdict{font-family:var(--mono);border-left:2px solid var(--accent);margin:20px 0 4px;padding-left:12px;font-size:13px}.group{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:24px 0 8px;font-size:13px}.finding{border:1px solid var(--border);background:var(--surface);border-radius:4px;margin-bottom:12px;padding:12px 16px}.finding-head{align-items:center;gap:12px;font-size:12px;display:flex}.lineno{font-family:var(--mono);color:var(--muted);margin-left:auto}.finding-msg{margin:8px 0 0;font-size:14px}.finding-evidence{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px}.finding-fix{color:var(--muted);margin:8px 0 0;font-size:13px}.pill.error{color:oklch(45% .18 25);border-color:color-mix(in oklch, oklch(45% .18 25) 40%, var(--border))}.pill.warn{color:oklch(48% .12 75);border-color:color-mix(in oklch, oklch(48% .12 75) 40%, var(--border))}.pill.info{color:var(--muted)}.kit-strip{border:1px solid var(--border);border-left:2px solid var(--accent);background:var(--surface);border-radius:4px;margin:20px 0 0;padding:16px}.kit-strip a:hover{color:var(--accent)}.explain{color:var(--fg);margin:16px 0 0;font-size:14px}footer.site .footer-line{color:var(--muted);margin:0;font-size:14px}[data-panel=cli] pre{white-space:pre-wrap;overflow-wrap:anywhere}[data-panel=cli] pre code{font-size:12px}.btn-link{border:1px solid var(--border);background:var(--surface);color:var(--fg);border-radius:4px;padding:8px 16px;font-size:14px;text-decoration:none;display:inline-block}.btn-link:hover{border-color:var(--accent);color:var(--accent)}:root{--bg:#fbfbfd;--surface:#fff;--fg:#1d1d1f;--muted:#6e6e73;--border:#00000014;--hairline:#0000000f;--accent:#0071e3;--accent-soft:#0071e314;--radius:16px;--radius-lg:24px;--ease:cubic-bezier(.22, .61, .36, 1);--shadow-rest:0 1px 2px #0000000a, 0 8px 24px #0000000a;--shadow-lift:0 2px 4px #0000000d, 0 20px 48px #0000001a}body{letter-spacing:-.01em;background:var(--bg);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.47}h1{letter-spacing:-.03em;margin:0 0 16px;font-size:clamp(2.25rem,4.5vw,3.5rem);font-weight:600;line-height:1.05}h2{letter-spacing:-.02em;margin:56px 0 16px;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:600;line-height:1.1}h3{letter-spacing:-.01em;margin:0 0 8px;font-size:1.1875rem;font-weight:600}p{margin:0 0 16px}p.lede,.lede{color:var(--muted);letter-spacing:-.01em;font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.45}a{text-decoration-color:#0071e34d}a:hover{text-decoration-color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}header.site{z-index:40;backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--hairline);transition:background .3s var(--ease), border-color .3s var(--ease);background:#fbfbfdb8;position:sticky;top:0}header.site.scrolled{background:#fbfbfddb;border-bottom-color:#0000001a}header.site .wrap{gap:24px;height:48px}header.site nav{gap:24px;margin-left:auto;display:flex}header.site nav a{letter-spacing:0;color:var(--fg);opacity:.86;transition:opacity .2s var(--ease);font-size:13px;text-decoration:none}header.site nav a:hover{opacity:1;text-decoration:none}.brand{letter-spacing:-.01em;font-size:15px}.card,.grid>a,.grid>article,.grid>div{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-rest);transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .5s var(--ease)}.card:hover,.grid>a:hover,.grid>article:hover{box-shadow:var(--shadow-lift);border-color:#0000001a;transform:translateY(-3px)}.grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}button,.btn-link,a.btn{border:1px solid var(--border);background:var(--surface);color:var(--fg);cursor:pointer;transition:transform .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:980px;padding:8px 20px;font-size:15px;box-shadow:0 1px 2px #0000000a}button:hover,.btn-link:hover,a.btn:hover{border-color:#00000029;box-shadow:0 4px 12px #00000014}button:active,.btn-link:active,a.btn:active{transform:scale(.97)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:#0077ed;box-shadow:0 8px 20px #0071e347}button.on{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}pre{border-radius:var(--radius);border-color:var(--hairline);box-shadow:var(--shadow-rest)}table{border-collapse:collapse}th,td{border-bottom:1px solid var(--hairline);padding:16px}th{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:500}input[type=text],textarea{border-radius:var(--radius);border-color:var(--border);font-size:15px;box-shadow:inset 0 1px 2px #0000000a}input[type=text]:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #0071e31f}.reveal{opacity:1;transform:none}html.js-reveal .reveal:not(.in){opacity:0;transform:translateY(16px)}html.js-reveal .reveal.in{opacity:1;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:none}@media (prefers-reduced-motion:reduce){.reveal,.reveal.in{opacity:1;transition:none;transform:none}.card:hover,.grid>a:hover{transform:none}*{scroll-behavior:auto!important}}.card a,.grid a:not(.card):not(.btn-link){color:var(--accent);font-size:15px;text-decoration:none}.card a:hover,.grid a:not(.card):not(.btn-link):hover{text-underline-offset:4px;text-decoration:underline}.kit-strip{border:1px solid var(--hairline);border-left:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--shadow-rest);background:#ffffffb8;margin:24px 0 0;padding:20px 24px}.kit-strip a{color:var(--accent);font-size:15px;text-decoration:none}.kit-strip a:hover{text-underline-offset:4px;text-decoration:underline}main{padding-bottom:64px}section+section{margin-top:48px}.card .demo{font-family:var(--sans);letter-spacing:-.01em;color:var(--accent);border-bottom:0;padding-top:16px;font-size:15px;font-weight:500;text-decoration:none}.card .demo:hover{text-underline-offset:4px;color:var(--accent);text-decoration:underline}.card h3 a,.card h3,.grid>* h3 a{color:var(--fg)}.card h3 a:hover{color:var(--accent)}.cta{background:var(--accent);letter-spacing:-.01em;transition:background .2s var(--ease), box-shadow .2s var(--ease), transform .2s var(--ease);border-radius:980px;margin-top:8px;padding:12px 24px;font-size:17px;font-weight:500;text-decoration:none;display:inline-block;box-shadow:0 4px 16px #0071e33d;color:#fff!important}.cta:hover{background:#0077ed;text-decoration:none;box-shadow:0 10px 28px #00000024}.cta:active{transform:scale(.98)}body{background-color:#fbfbfd;background-image:radial-gradient(1200px 600px at 50% -10%,#00000009,#0000 70%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.card,.grid>a,.grid>article,.grid>div{background:#ffffffa8;border:1px solid #ffffffb3;box-shadow:0 1px 2px #0000000a,0 12px 32px #0000000f}.card:hover,.grid>a:hover,.grid>article:hover{background:#fffc;border-color:#ffffffe6;box-shadow:0 2px 4px #0000000d,0 24px 56px #0000001f}pre,.finding{background:#ffffffb3;border-color:#ffffffb3}.card p,.card .demo{color:#3a3a3c}.card .demo{color:var(--accent)}html[data-theme=light]{color-scheme:light;--bg:#fbfbfd;--surface:#fff;--fg:#1d1d1f;--muted:#6e6e73;--border:#00000014;--hairline:#0000000f;--accent:#0071e3;--accent-soft:#0071e314}html[data-theme=dark]{color-scheme:dark;--bg:#000;--surface:#1c1c1e;--fg:#f5f5f7;--muted:#a1a1a6;--border:#ffffff1f;--hairline:#ffffff1a;--accent:#4da3ff;--accent-soft:#4da3ff29}html[data-theme=light] body{color:var(--fg);background-color:#f5f5f7;background-image:radial-gradient(1200px 620px at 50% -12%,#0000000d,#0000 72%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}html[data-theme=light] header.site{background:#fbfbfdb8;border-bottom-color:#0000000f}html[data-theme=light] header.site.scrolled{background:#fbfbfde6}html[data-theme=light] .card,html[data-theme=light] .grid>a,html[data-theme=light] .grid>article,html[data-theme=light] .grid>div{background:#ffffffa8;border-color:#0000000f;box-shadow:0 1px 2px #0000000d,0 12px 32px #00000012}html[data-theme=light] .kit-strip{background:#ffffffb8;border-color:#0000000f}html[data-theme=light] pre,html[data-theme=light] .finding{background:#ffffffb3;border-color:#0000000f}html[data-theme=light] .card p{color:#3a3a3c}html[data-theme=light] .card .demo{color:var(--accent)}html[data-theme=light] .pill.ok{color:#1a7f37;background:#34c7591f;border-color:#34c75959}html[data-theme=light] .pill.beta{color:#8a5300;background:#ff9f0a1f;border-color:#ff9f0a59}html[data-theme=light] th{color:#0000008c}html[data-theme=light] input[type=text],html[data-theme=light] textarea{color:var(--fg);background:#fff}html[data-theme=dark] body{color:var(--fg);background-color:#000;background-image:radial-gradient(1200px 620px at 50% -12%,#ffffff0f,#0000 72%),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box}html[data-theme=dark] header.site{background:#000000b8;border-bottom-color:#ffffff1a}html[data-theme=dark] header.site.scrolled{background:#000000e6}html[data-theme=dark] .card,html[data-theme=dark] .grid>a,html[data-theme=dark] .grid>article,html[data-theme=dark] .grid>div{background:#1c1c1ea8;border-color:#ffffff1a;box-shadow:0 1px 2px #0009,0 16px 40px #00000080}html[data-theme=dark] .kit-strip{background:#ffffff0f;border-color:#ffffff1f}html[data-theme=dark] pre,html[data-theme=dark] .finding{background:#1c1c1eb3;border-color:#ffffff1a}html[data-theme=dark] .card p{color:#c7c7cc}html[data-theme=dark] .card .demo{color:var(--accent)}html[data-theme=dark] .pill.ok{color:#7ee787;background:#34c75929;border-color:#34c75966}html[data-theme=dark] .pill.beta{color:#ffb74d;background:#ff9f0a29;border-color:#ff9f0a66}html[data-theme=dark] th{color:#f5f5f799}html[data-theme=dark] input[type=text],html[data-theme=dark] textarea{color:var(--fg);background:#1c1c1e}html[data-theme=dark] .cta{box-shadow:0 4px 20px #0006}.theme-toggle{font-family:var(--sans);border:1px solid var(--border);color:var(--muted);cursor:pointer;min-width:76px;box-shadow:none;transition:color .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:980px;padding:4px 12px;font-size:13px}.theme-toggle:hover{color:var(--fg);box-shadow:none;border-color:#80808066}html[data-theme=light] .card:hover,html[data-theme=light] .grid>a:hover,html[data-theme=light] .grid>article:hover{background:#ffffffd1;border-color:#0000001a;box-shadow:0 2px 4px #0000000d,0 24px 56px #0000001f}html[data-theme=light] .panel.ok h3{color:#1a7f37}html[data-theme=dark] .card:hover,html[data-theme=dark] .grid>a:hover,html[data-theme=dark] .grid>article:hover{background:#1c1c1ed1;border-color:#ffffff29;box-shadow:0 2px 4px #000000b3,0 24px 56px #0009}html[data-theme=dark] .panel.ok h3{color:#4da3ff}header.site nav{align-items:center}header.site nav a{align-items:center;height:28px;display:inline-flex}.theme-toggle{vertical-align:middle;justify-content:center;align-items:center;height:28px;padding:0 12px;font-size:13px;line-height:1;display:inline-flex}
