:root{color-scheme:light;--bg: #f7f7fb;--surface: #ffffff;--sunk: #f0f0f7;--ink: #0b0d1a;--ink-soft: #3b3f55;--muted: #66698a;--line: #e4e4ef;--line-strong: #c3c5d8;--accent: #5b4bff;--accent-ink: #3d2fd6;--accent-wash: #ecebff;--premium: #0b0d1a;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(11, 13, 26, .04), 0 2px 8px rgba(11, 13, 26, .05);--shadow-md: 0 1px 2px rgba(11, 13, 26, .05), 0 12px 32px rgba(11, 13, 26, .08);--good: #14532d;--good-wash: #dcf2e4;--warn: #713f12;--warn-wash: #fdf0c8;--bad: #9f1239;--bad-wash: #fde4ea;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, "Liberation Mono", monospace;--step--1: .8125rem;--step-0: 1rem;--step-1: 1.0625rem;--step-2: clamp(1.2rem, 1.08rem + .5vw, 1.4rem);--step-3: clamp(1.5rem, 1.25rem + 1vw, 1.9rem);--step-4: clamp(1.9rem, 1.4rem + 2.2vw, 2.8rem);--wrap: 1080px;--gutter: clamp(1rem, 3.4vw, 2rem)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);font-size:var(--step-0);line-height:1.6;color:var(--ink-soft);background:var(--bg)}img,svg{display:block;max-width:100%}a{color:var(--accent)}a:hover{color:var(--accent-ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{color:var(--ink);line-height:1.2;letter-spacing:-.01em}h1{font-size:var(--step-4);margin:0 0 .6rem}h2{font-size:var(--step-3);margin:0 0 .5rem}h3{font-size:var(--step-2);margin:1.6rem 0 .4rem}code,pre,.mono{font-family:var(--font-mono);font-size:.92em}code{background:var(--sunk);padding:.05em .35em;border-radius:3px}.wrap{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:var(--surface);padding:.5rem .8rem;z-index:10}.kicker{display:inline-block;font-size:var(--step--1);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.section{padding:clamp(2rem,4vw,3.2rem) 0}.section--tight{padding:1.5rem 0}.section__head{margin-bottom:1.25rem}.site-header{background:#ffffffd9;backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.site-header__inner{display:flex;align-items:center;gap:1.25rem;min-height:60px;flex-wrap:wrap;padding-block:.6rem}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;color:var(--ink);text-decoration:none;font-size:1.05rem}.brand__mark{width:1.1rem;height:1.1rem;background:var(--accent);display:inline-block}.brand__domain{color:var(--muted);font-weight:500}.site-nav{display:flex;gap:1rem;flex:1;flex-wrap:wrap}.site-nav a{color:var(--ink-soft);text-decoration:none;font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent}.site-nav a[aria-current=page],.site-nav a:hover{color:var(--ink);border-bottom-color:var(--accent)}.site-footer{margin-top:3rem;background:radial-gradient(900px 300px at 10% -20%,rgba(91,75,255,.35),transparent 60%),var(--premium);color:#c9cbe0}.footer__grid{display:grid;gap:2rem;grid-template-columns:2fr repeat(2,1fr);padding-block:2.5rem}.footer__brand p{color:#cbd5e1;max-width:34ch}.footer__brand .brand{color:#fff}.footer__brand .brand__domain{color:#94a3b8}.footer{display:flex;flex-direction:column;gap:.4rem}.footer a{color:#e2e8f0;text-decoration:none}.footer a:hover{text-decoration:underline}.footer__title{font-weight:700;color:#fff;margin:0 0 .3rem}.footer__legal{border-top:1px solid #334155;padding-block:1rem;font-size:var(--step--1);color:#94a3b8}.footer__legal p{margin:0}@media(max-width:720px){.footer__grid{grid-template-columns:1fr 1fr}}.page-head{background:radial-gradient(1100px 400px at 85% -30%,rgba(91,75,255,.14),transparent 60%),var(--surface);border-bottom:1px solid var(--line);padding-block:clamp(2.5rem,5vw,4rem)}.page-head__lead{font-size:var(--step-2);color:var(--ink-soft);max-width:62ch;margin:0}.guide-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line, #e5e7eb)}.guide-list li{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line, #e5e7eb)}.guide-list__tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.guide-list a{font-weight:600}@media(max-width:640px){.guide-list li{grid-template-columns:1fr;gap:.25rem}.site-header__inner{gap:.5rem 1rem}.site-nav{flex:1 0 100%;gap:.5rem 1rem}.prose table{display:block;overflow-x:auto;white-space:normal}.prose td,.prose th{min-width:7.5rem}}.site-subnav{border-top:1px solid var(--line, #e5e7eb);background:var(--surface, #ffffff)}.site-subnav__inner{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding-top:.5rem;padding-bottom:.5rem;font-size:.9rem}.site-subnav__inner a{white-space:nowrap;color:inherit;text-decoration:none;opacity:.8}.site-subnav__inner a:hover{opacity:1;text-decoration:underline}.hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.page-head__meta{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem;font-size:var(--step--1);color:var(--muted)}.breadcrumbs{font-size:var(--step--1);padding-block:.9rem 0}.breadcrumbs ol{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap;margin:0;padding:0;color:var(--muted)}.breadcrumbs li+li:before{content:"/";margin-right:.5rem;color:var(--line-strong)}.btn{display:inline-flex;align-items:center;gap:.4rem;font:inherit;font-weight:600;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:999px;box-shadow:var(--shadow-sm);transition:background .15s ease,transform .15s ease;padding:.6rem 1.1rem;cursor:pointer;text-decoration:none}.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}.btn--ghost{background:var(--surface);color:var(--accent-ink);border-color:var(--line-strong)}.btn--ghost:hover{background:var(--sunk);color:var(--ink);border-color:var(--line-strong)}.btn--sm{padding:.4rem .75rem;font-size:var(--step--1)}.site-header__cta{margin-left:auto}.tools-grid,.guide-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.tool-card,.guide-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.3rem 1.4rem;transition:box-shadow .2s ease,transform .2s ease}.tool-card:hover,.guide-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tool-card h2,.guide-card h2,.guide-card h3{font-size:var(--step-1);margin:0 0 .35rem}.tool-card p,.guide-card p{margin:0 0 .6rem;font-size:var(--step--1)}.tool-card a,.guide-card a{font-weight:600}.layout-article{max-width:1080px}.wrap.prose{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto;max-width:none}.wrap.prose>*{max-width:70ch}.article-head{padding-block:clamp(1.75rem,4vw,3rem) clamp(1rem,2vw,1.5rem)}.article-head h1{margin-bottom:.85rem}.article-meta{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin:1.1rem 0 0;font-size:var(--step--1);color:var(--muted)}.article-meta a{color:var(--ink-soft);text-decoration-color:var(--line-strong)}.article-meta a:hover{color:var(--accent)}.article-body{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;padding-bottom:1rem}.article-body>.prose{min-width:0}.article-toc{display:none}.article-toc__title{margin:0 0 .6rem;font-size:var(--step--1);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.article-toc ol{margin:0;padding:0 0 0 .9rem;list-style:none;border-left:1px solid var(--line)}.article-toc li+li{margin-top:.45rem}.article-toc a{display:block;font-size:var(--step--1);line-height:1.35;color:var(--ink-soft);text-decoration:none}.article-toc a:hover{color:var(--accent)}@media(min-width:62rem){.article-body{grid-template-columns:15rem minmax(0,1fr);gap:3.5rem;align-items:start}.article-toc{display:block;position:sticky;top:6rem;padding-top:.35rem}.article-body>.prose{width:100%}}.article-related{margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--line)}.article-related h2{margin:0 0 1rem;font-size:var(--step-1)}.article-related ul{display:grid;gap:.9rem;margin:0;padding:0;list-style:none}@media(min-width:46rem){.article-related ul{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}}.article-related li{display:grid;gap:.25rem}.article-related a{font-weight:600;color:var(--ink);text-decoration-color:var(--line-strong)}.article-related a:hover{color:var(--accent)}.article-related span{font-size:var(--step--1);color:var(--muted);line-height:1.45}.prose h2{scroll-margin-top:6rem}.prose{max-width:70ch}.prose h2{margin-top:2rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin-bottom:.35rem}.prose pre{background:var(--premium);color:#e2e8f0;padding:1rem 1.1rem;overflow-x:auto;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.prose pre code{background:none;padding:0;color:inherit}.table-wrap{overflow-x:auto;margin:1rem 0}table{width:100%;border-collapse:collapse;font-size:var(--step--1)}th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--ink);background:var(--sunk)}.tool{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.5rem}.tool__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.tool__title{font-size:var(--step-2);margin:0}.tool__hint{font-size:var(--step--1);color:var(--muted);margin:.4rem 0}.tool__row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.tool__row label{font-weight:600;color:var(--ink)}.tool__input{width:100%;min-height:180px;font-family:var(--font-mono);font-size:var(--step--1);padding:.8rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);resize:vertical}.tool__actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}.tool__status{min-height:1.4em;font-weight:600;color:var(--ink)}.tool__issues,.tool__stats{list-style:none;padding:0;margin:.8rem 0 0}.tool__issues li{padding:.5rem .7rem;border-left:3px solid var(--line-strong);margin-bottom:.4rem;background:var(--sunk);font-size:var(--step--1)}.tool__issues li[data-severity=error]{border-left-color:var(--bad);background:var(--bad-wash)}.tool__issues li[data-severity=warning]{border-left-color:var(--warn);background:var(--warn-wash)}.tool__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem}.tool__stats li{background:var(--sunk);padding:.6rem .75rem;font-size:var(--step--1)}.tool__stats strong{display:block;font-size:var(--step-2);color:var(--ink)}@media(max-width:720px){.site-header__cta{display:none}}
