:root{--bg:#fff;--bg-subtle:#f9fafb;--surface:#fff;--text:#101828;--text-2:#344054;--muted:#5b6577;--faint:#667085;--border:#eaecf0;--border-strong:#d0d5dd;--pill:#f2f4f7;--btn:#101828;--btn-text:#fff;--btn-hover:#1d2939;--code-bg:#101828;--select:#d1e0ff;--ok:#12b76a;--fail:#d92d20;--shadow-xs:0 1px 2px #1018280d;--shadow-md:0 4px 8px -2px #10182814, 0 2px 4px -2px #1018280a;--bar:#d0d5dd;--bar-pick:#101828;--sans:var(--font-sans), system-ui, sans-serif;--mono:var(--font-mono), ui-monospace, monospace;--gutter:clamp(16px, 4vw, 24px);--max:1180px;--radius:8px;--radius-lg:12px;--ease:cubic-bezier(.16, 1, .3, 1);color-scheme:light;-webkit-text-size-adjust:100%}:root[data-theme=dark]{--bg:#0c111d;--bg-subtle:#111622;--surface:#161b26;--text:#f5f5f6;--text-2:#cecfd2;--muted:#94969c;--faint:#85888e;--border:#1f242f;--border-strong:#333741;--pill:#1f242f;--btn:#f5f5f6;--btn-text:#0c111d;--btn-hover:#cecfd2;--code-bg:#070a12;--select:#1d3a8a;--bar:#333741;--bar-pick:#f5f5f6;--shadow-xs:none;--shadow-md:none;color-scheme:dark}@view-transition{navigation:auto}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:88px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-feature-settings:"cv11", "ss01";text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.5}::selection{background:var(--select)}a{color:var(--text);text-underline-offset:3px;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--text);outline-offset:2px;border-radius:4px}img,svg{max-width:100%}h1,h2,h3{letter-spacing:-.02em;text-wrap:balance;font-weight:700;line-height:1.15}p,li,dd{text-wrap:pretty}.wrap{max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px 16px;font-weight:600;position:absolute;top:-100px;left:16px}.skip:focus{top:12px}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;min-height:44px;transition:background-color .15s var(--ease), border-color .15s var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-family:inherit;font-size:16px;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn svg{transition:transform .15s var(--ease)}.btn:hover svg{transform:translate(2px)}.btn-primary{background:var(--btn);color:var(--btn-text)}.btn-primary:hover{background:var(--btn-hover);color:var(--btn-text)}.btn-secondary{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong), var(--shadow-xs)}.btn-secondary:hover{background:var(--bg-subtle);color:var(--text)}.pill{background:var(--pill);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:13px;font-weight:500;line-height:22px;text-decoration:none;display:inline-flex}a.pill:hover{color:var(--text)}.eyebrow-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.sample{color:#93370d;vertical-align:middle;background:#fef0c7;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.prose{color:var(--text-2);max-width:680px;font-size:18px;line-height:1.75}.prose p,.prose ul,.prose ol{margin:0 0 22px}.prose li{margin-bottom:8px}.prose li::marker{color:var(--faint)}.prose strong{color:var(--text);font-weight:600}.prose a{text-decoration-color:var(--faint)}.prose a:hover{text-decoration-color:var(--text)}.prose h2,.prose h3{color:var(--text);scroll-margin-top:88px;position:relative}.prose h2{margin:48px 0 16px;font-size:clamp(24px,3vw,30px);font-weight:600;line-height:1.3}.prose h3{margin:36px 0 12px;font-size:21px;font-weight:600;line-height:1.35}.prose blockquote{border-left:2px solid var(--border-strong);color:var(--muted);margin:0 0 22px;padding:2px 0 2px 20px}.prose img{border-radius:var(--radius-lg);border:1px solid var(--border);height:auto}.prose :not(pre)>code{font-family:var(--mono);background:var(--pill);color:var(--text);border-radius:6px;padding:2px 6px;font-size:.86em}.prose pre{border-radius:var(--radius-lg);color:#e4e7ec;font-family:var(--mono);margin:0 0 26px;padding:18px 22px;font-size:14px;line-height:1.65;overflow-x:auto;background:var(--code-bg)!important}.prose pre code{font-family:inherit}.prose .table-wrap{border:1px solid var(--border);border-radius:var(--radius-lg);margin:0 0 28px;overflow-x:auto}.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:0;font-size:15px}.prose th{background:var(--bg-subtle);border-bottom:1px solid var(--border);color:var(--muted);text-align:right;white-space:nowrap;padding:12px 16px;font-size:13px;font-weight:500}.prose td{border-bottom:1px solid var(--border);color:var(--text-2);text-align:right;white-space:nowrap;padding:12px 16px}.prose tr:last-child td{border-bottom:0}.prose th:first-child,.prose td:first-child{text-align:left}.prose tr.pick td{color:var(--text);background:var(--bg-subtle);font-weight:600}.prose hr{border:0;border-top:1px solid var(--border);margin:44px 0}.prose .anchor{vertical-align:middle;width:28px;height:28px;color:var(--faint);opacity:0;transition:opacity .15s var(--ease);border-radius:6px;justify-content:center;align-items:center;margin-left:8px;display:inline-flex}.prose h2:hover .anchor,.prose h3:hover .anchor,.prose .anchor:focus-visible{opacity:1}@media (hover:none){.prose .anchor{opacity:.7}}.prose .code{position:relative}.prose .code pre{padding-right:84px}.prose .copy{color:#e4e7ec;min-height:30px;font:500 13px var(--sans);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff29;border-radius:6px;padding:0 10px;position:absolute;top:10px;right:10px}.prose .copy:hover{background:#ffffff1f}.icon-sun{display:none}:root[data-theme=dark] .icon-sun{display:inline}:root[data-theme=dark] .icon-moon{display:none}@media (width<=640px){.prose .code pre{padding-top:50px;padding-right:22px}}.tool{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);text-align:left;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);display:grid;overflow:hidden}.tool-controls{border-right:1px solid var(--border);background:var(--bg-subtle);flex-direction:column;gap:18px;padding:24px;display:flex}.tool-result{flex-direction:column;gap:16px;min-width:0;padding:24px;display:flex}.field{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.field>span,.field legend{color:var(--text-2);justify-content:space-between;gap:8px;padding:0;font-size:14px;font-weight:500;display:flex}.field output,.field .val{font-family:var(--mono);color:var(--text);font-size:13px}.field select,.field input[type=number]{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--text);font:500 15px var(--sans);padding:0 12px}.field input[type=range]{width:100%;min-height:32px;accent-color:var(--text)}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg label{position:relative}.seg input{opacity:0;position:absolute;inset:0}.seg span{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-height:36px;font-family:var(--mono);color:var(--text-2);cursor:pointer;align-items:center;padding:0 12px;font-size:13px;display:inline-flex}.seg input:checked+span{background:var(--btn);border-color:var(--btn);color:var(--btn-text)}.seg input:focus-visible+span{outline:2px solid var(--text);outline-offset:2px}.readout{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.readout strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(40px,6vw,56px);font-weight:700;line-height:1}.readout span{color:var(--muted);font-size:16px}.verdict{color:var(--text-2);margin:0;font-size:16px;line-height:1.5}.stack{background:var(--pill);border-radius:6px;height:28px;display:flex;overflow:hidden}.stack i{height:100%;transition:width .3s var(--ease);display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.legend li{align-items:center;gap:8px;display:inline-flex}.legend b{font-family:var(--mono);color:var(--text);font-weight:500}.swatch{border-radius:3px;width:10px;height:10px}.c1{background:var(--text)}.c2{background:#2e90fa}.c3{background:#98a2b3}.tool-note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}@media (width<=767px){.tool{grid-template-columns:minmax(0,1fr)}.tool-controls{border-right:0;border-bottom:1px solid var(--border)}}@media (prefers-reduced-motion:reduce){.stack i{transition:none}}@media (pointer:coarse){.seg span{min-height:44px}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.bar[data-astro-cid-nen7h5rs]{align-items:center;gap:28px;height:64px;display:flex}.brand[data-astro-cid-nen7h5rs]{min-height:44px;color:var(--text);letter-spacing:-.02em;flex-shrink:0;align-items:center;gap:9px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.nav[data-astro-cid-nen7h5rs]{flex:1;gap:4px;min-width:0;display:flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:6px;align-items:center;padding:0 10px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{color:var(--text);background:var(--bg-subtle)}.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs][aria-current=page],.rss[data-astro-cid-nen7h5rs][aria-current=page]{color:var(--text)}.actions[data-astro-cid-nen7h5rs]{align-items:center;gap:6px;display:flex}.icon[data-astro-cid-nen7h5rs]{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon[data-astro-cid-nen7h5rs]:hover{color:var(--text);background:var(--bg-subtle)}.rss[data-astro-cid-nen7h5rs]{min-height:44px;color:var(--muted);align-items:center;padding:0 10px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.rss[data-astro-cid-nen7h5rs]:hover{color:var(--text)}.work[data-astro-cid-nen7h5rs]{min-height:44px;padding:0 16px;font-size:15px}.menu-btn[data-astro-cid-nen7h5rs]{display:none}.progress[data-astro-cid-nen7h5rs]{height:2px;position:absolute;bottom:-1px;left:0;right:0}.progress[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--text);transform-origin:0;height:100%;display:block;transform:scaleX(0)}@media (width<=999px){.nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:last-child,.rss[data-astro-cid-nen7h5rs][href="/rss.xml"]{display:none}}@media (width<=899px){.bar[data-astro-cid-nen7h5rs]{justify-content:space-between;height:60px}.nav[data-astro-cid-nen7h5rs],.rss[data-astro-cid-nen7h5rs],.theme-btn[data-astro-cid-nen7h5rs]{display:none}.menu-btn[data-astro-cid-nen7h5rs]{display:inline-flex}}.menu[data-astro-cid-nen7h5rs]{background:var(--bg);width:100%;max-width:none;height:100%;max-height:none;color:var(--text);border:0;margin:0;padding:0}.menu[data-astro-cid-nen7h5rs][open]{flex-direction:column;display:flex}.menu[data-astro-cid-nen7h5rs]::backdrop{background:var(--bg)}.menu-top[data-astro-cid-nen7h5rs]{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;height:60px;display:flex}.menu-nav[data-astro-cid-nen7h5rs]{flex-direction:column;width:100%;padding-top:12px;display:flex}.menu-nav[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs],.menu-theme[data-astro-cid-nen7h5rs]{border:0;border-bottom:1px solid var(--border);min-height:52px;color:var(--text);font:500 18px var(--sans);text-align:left;cursor:pointer;background:0 0;align-items:center;padding:0;text-decoration:none;display:flex}.menu-cta[data-astro-cid-nen7h5rs]{width:100%;padding-block:16px calc(16px + env(safe-area-inset-bottom));margin-top:auto}.menu-cta[data-astro-cid-nen7h5rs] .btn[data-astro-cid-nen7h5rs]{width:100%}.site-footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);background:var(--bg);margin-top:0}.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:40px;padding-block:48px 32px;display:grid}.brand[data-astro-cid-jo6i4kqk]{min-height:44px;color:var(--text);letter-spacing:-.02em;align-items:center;gap:9px;font-size:17px;font-weight:700;text-decoration:none;display:inline-flex}p[data-astro-cid-jo6i4kqk]{max-width:340px;color:var(--muted);margin:12px 0 0;font-size:15px}h2[data-astro-cid-jo6i4kqk]{letter-spacing:0;margin:0 0 10px;font-size:14px;font-weight:600}ul[data-astro-cid-jo6i4kqk]{margin:0;padding:0;list-style:none}li[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{min-height:44px;color:var(--muted);align-items:center;font-size:15px;text-decoration:none;display:inline-flex}li[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--text)}.legal[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--border);color:var(--muted);padding-block:20px 32px;font-size:14px}@media (width<=719px){.grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}.grid[data-astro-cid-jo6i4kqk]>div[data-astro-cid-jo6i4kqk]{grid-column:1/-1}}
