:root{--bg:#f7f8fb;--surface:#fff;--surface-2:#f0f2f7;--ink:#0e1525;--ink-2:#3a4459;--muted:#5d6779;--line:#e1e5ee;--line-strong:#c9cfdc;--brand:#3446d4;--brand-ink:#2533a8;--brand-soft:#eceefe;--accent:#f2a516;--accent-ink:#8a5600;--accent-soft:#fff4dc;--ok:#157a4a;--ok-soft:#e3f5ec;--warn:#8f5a00;--warn-soft:#fff3d6;--danger:#b42318;--danger-soft:#fdecea;--hero-1:#0e1525;--hero-2:#1b2550;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px #0e15250f, 0 4px 14px #0e15250d;--shadow-lg:0 10px 40px #0e15251f;--max:1180px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0b101c;--surface:#121a2b;--surface-2:#18223a;--ink:#edf0f7;--ink-2:#c4cad8;--muted:#97a0b4;--line:#243051;--line-strong:#33416a;--brand:#7f8cff;--brand-ink:#a9b2ff;--brand-soft:#1c2450;--accent:#f6b23a;--accent-ink:#f6c46a;--accent-soft:#2e2412;--ok:#52c98e;--ok-soft:#12301f;--warn:#f2bf5b;--warn-soft:#2f2511;--danger:#ff8a7f;--danger-soft:#3a1714;--hero-1:#070b14;--hero-2:#141d40;--shadow:0 1px 2px #0000004d;--shadow-lg:0 10px 40px #00000073;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--font);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}[hidden]{display:none!important}img,svg{max-width:100%;height:auto}a{color:var(--brand);text-underline-offset:2px}a:hover{color:var(--brand-ink)}h1,h2,h3,h4{letter-spacing:-.015em;margin:0 0 .5em;line-height:1.2}h1{letter-spacing:-.025em;font-size:clamp(1.9rem,4vw,2.75rem)}h2{font-size:clamp(1.35rem,2.6vw,1.8rem)}h3{font-size:1.12rem}p{margin:0 0 1em}code,kbd,pre{font-family:var(--mono);font-size:.92em}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft)}.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}.skip-link{z-index:100;background:var(--ink);color:var(--bg);border-radius:8px;padding:10px 14px;position:absolute;top:-60px;left:12px}.skip-link:focus{color:var(--bg);top:12px}.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 16px}@media (width>=720px){.container{padding:0 24px}}.narrow{max-width:780px}.section{padding-block:48px}.section-sm{padding-block:28px}.stack>*+*{margin-top:16px}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}.site-header{z-index:50;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{align-items:center;gap:16px;height:64px;display:flex}.logo{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}.logo:hover{color:var(--ink)}.logo-mark{flex:none;width:32px;height:32px}.logo b{color:var(--brand);font-weight:800}.main-nav{margin-left:auto}.main-nav>ul{gap:2px;margin:0;padding:0;list-style:none;display:flex}.main-nav a.top{color:var(--ink-2);white-space:nowrap;border-radius:8px;padding:8px 10px;font-size:.93rem;font-weight:600;text-decoration:none;display:block}.main-nav a.top:hover,.main-nav a.top[aria-current=page],.main-nav li:focus-within>a.top{background:var(--surface-2);color:var(--ink)}.main-nav a.top[aria-current=page]{color:var(--brand)}.has-menu{position:relative}.menu{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:260px;box-shadow:var(--shadow-lg);padding:10px;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.menu:before{content:"";height:10px;position:absolute;inset:-10px 0 auto}.has-menu:hover .menu,.has-menu:focus-within .menu{grid-template-columns:1fr 1fr;gap:2px;display:grid}.menu a{color:var(--ink-2);border-radius:7px;padding:7px 10px;font-size:.9rem;text-decoration:none;display:block}.menu a:hover{background:var(--brand-soft);color:var(--brand-ink)}.menu .menu-all{border-top:1px solid var(--line);color:var(--brand);grid-column:1/-1;margin-top:6px;padding-top:10px;font-weight:700}.header-search{width:40px;height:40px;color:var(--ink-2);border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.header-search:hover{color:var(--brand);border-color:var(--line-strong)}.nav-toggle{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--ink);cursor:pointer;border-radius:10px;margin-left:8px;display:none}.mobile-nav{display:none}@media (width<=1060px){.main-nav{display:none}.nav-toggle{justify-content:center;align-items:center;display:inline-flex}.header-search{margin-left:auto}.mobile-nav[data-open=true]{z-index:49;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px 40px;display:block;position:fixed;inset:64px 0 0;overflow-y:auto}.mobile-nav ul{margin:0;padding:0;list-style:none}.mobile-nav>ul>li{border-bottom:1px solid var(--line)}.mobile-nav a{color:var(--ink);padding:13px 4px;font-weight:650;text-decoration:none;display:block}.mobile-nav details summary{cursor:pointer;justify-content:space-between;align-items:center;padding:13px 4px;font-weight:650;list-style:none;display:flex}.mobile-nav details summary::-webkit-details-marker{display:none}.mobile-nav details summary:after{content:"+";color:var(--muted);font-size:1.3rem}.mobile-nav details[open] summary:after{content:"–"}.mobile-nav details ul{grid-template-columns:1fr 1fr;padding-bottom:10px;display:grid}.mobile-nav details a{color:var(--ink-2);padding:8px 4px;font-size:.95rem;font-weight:500}body.nav-open{overflow:hidden}}@media (width>=1061px){.header-search{margin-left:6px}}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:.95rem;font-weight:650;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-ink);color:#fff}@media (prefers-color-scheme:dark){.btn-primary,.btn-primary:hover{color:#0b101c}}.btn-accent{background:var(--accent);color:#241600}.btn-accent:hover{filter:brightness(.95);color:#241600}.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.btn-sm{border-radius:8px;padding:7px 12px;font-size:.85rem}.btn-block{width:100%}.btn[disabled]{opacity:.55;cursor:not-allowed}.hero{color:#fff;background:radial-gradient(900px 400px at 85% -10%, #f2a51638, transparent 60%), radial-gradient(800px 500px at -10% 120%, #3446d48c, transparent 60%), linear-gradient(160deg, var(--hero-1), var(--hero-2));padding:64px 0 72px;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;opacity:.12;background-image:linear-gradient(#ffffff4d 1px,#0000 1px),linear-gradient(90deg,#ffffff4d 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;mask-image:radial-gradient(at 50% 30%,#000 20%,#0000 70%)}.hero>.container{z-index:1;position:relative}.hero h1{max-width:15ch;margin-bottom:16px;font-size:clamp(2.1rem,6vw,3.6rem)}.hero h1 em{color:var(--accent);font-style:normal}.hero-sub{color:#c9d0e4;max-width:56ch;margin-bottom:28px;font-size:clamp(1.02rem,2vw,1.22rem)}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:14px;font-size:.8rem;font-weight:700;display:inline-flex}.hero .eyebrow{color:#ffcf73}.page-hero{background:var(--surface);border-bottom:1px solid var(--line);padding:36px 0 32px}.page-hero p.lead{color:var(--ink-2);max-width:70ch;margin:0;font-size:1.1rem}.search-form{background:var(--surface);box-shadow:var(--shadow-lg);border:1px solid var(--line);border-radius:14px;gap:8px;max-width:680px;padding:6px;display:flex}.search-form input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:12px;font-size:1.05rem}.search-form input::placeholder{color:var(--muted)}.search-form:focus-within{outline:3px solid var(--accent);outline-offset:2px}.search-label{color:#fff;margin-bottom:10px;font-size:1.02rem;font-weight:700;display:block}.examples{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.examples span{color:#aab3cc;margin-right:2px;font-size:.88rem}.chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.86rem;font-weight:550;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--brand);color:var(--brand)}.hero .chip{color:#e7eaf4;background:#ffffff14;border-color:#ffffff2e}.hero .chip:hover{color:#fff;background:#ffffff29}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;position:relative}.card-link{color:inherit;height:100%;text-decoration:none;transition:border-color .15s,transform .15s,box-shadow .15s;display:block}.card-link:hover{border-color:var(--brand);color:inherit;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card h3{margin-bottom:6px}.card p{color:var(--ink-2);margin:0;font-size:.95rem}.card .stretched:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.card .stretched{color:var(--ink);text-decoration:none}.card:has(.stretched):hover{border-color:var(--brand)}.pillar{flex-direction:column;gap:10px;padding:24px;display:flex}.pillar .icon-wrap{background:var(--brand-soft);width:46px;height:46px;color:var(--brand);border-radius:12px;place-items:center;display:grid}.pillar h2{letter-spacing:.08em;text-transform:uppercase;margin:6px 0 0;font-size:.95rem}.pillar .subs{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px;display:flex}.pillar .subs span{background:var(--surface-2);color:var(--muted);border-radius:6px;padding:3px 8px;font-size:.76rem}.pillars{z-index:2;margin-top:-40px;position:relative}.tool-card{flex-direction:column;gap:10px;display:flex}.tool-card-head{align-items:center;gap:12px;display:flex}.tool-card h3{margin:0;font-size:1.05rem}.tool-card .cat{color:var(--muted);font-size:.8rem}.tool-card p{font-size:.92rem}.tool-card .meta{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.monogram{color:#fff;letter-spacing:-.02em;border-radius:11px;flex:none;place-items:center;width:44px;height:44px;font-size:1.05rem;font-weight:800;display:grid}.monogram.lg{border-radius:18px;width:72px;height:72px;font-size:1.7rem}.badge{background:var(--surface-2);color:var(--ink-2);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:.74rem;font-weight:650;line-height:1.4;display:inline-flex}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-brand{background:var(--brand-soft);color:var(--brand-ink)}.badge-accent{background:var(--accent-soft);color:var(--accent-ink)}.badge-sa{color:#0f6b3a;background:#e6f4ea}@media (prefers-color-scheme:dark){.badge-sa{color:#7ddba3;background:#143322}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.section-head h2{margin:0}.section-head p{color:var(--muted);margin:4px 0 0}.section-head a.more{white-space:nowrap;font-weight:650;text-decoration:none}.section-head a.more:hover{text-decoration:underline}.breadcrumbs{margin-bottom:14px;font-size:.85rem}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";color:var(--line-strong);margin:0 6px 0 2px}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--brand);text-decoration:underline}.check-list,.x-list,.dot-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.check-list li,.x-list li,.dot-list li{padding-left:28px;position:relative}.check-list li:before{content:"✓";background:var(--ok-soft);width:20px;height:20px;color:var(--ok);border-radius:50%;place-items:center;margin-top:2px;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:0;left:0}.x-list li:before{content:"–";background:var(--danger-soft);width:20px;height:20px;color:var(--danger);border-radius:50%;place-items:center;margin-top:2px;font-weight:800;display:grid;position:absolute;top:0;left:0}.dot-list li:before{content:"";background:var(--brand);border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:7px}.notice{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);padding:14px 16px;font-size:.92rem}.notice strong{color:var(--ink)}.notice-warn{background:var(--warn-soft);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.notice-brand{background:var(--brand-soft);border-color:color-mix(in srgb, var(--brand) 25%, transparent)}.notice p:last-child{margin:0}.tool-hero{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}@media (width>=900px){.tool-hero{grid-template-columns:1fr 340px}}.tool-title{align-items:center;gap:18px;margin-bottom:14px;display:flex}.tool-title h1{margin:0}.facts{gap:0;margin:0;display:grid}.facts div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;font-size:.92rem;display:flex}.facts div:last-child{border-bottom:0}.facts dt{color:var(--muted)}.facts dd{text-align:right;margin:0;font-weight:600}.unverified{color:var(--warn);font-weight:600}.layout-2{grid-template-columns:1fr;gap:32px;display:grid}@media (width>=960px){.layout-2{grid-template-columns:minmax(0,1fr) 320px}.sticky{position:sticky;top:84px}}.content-block{margin-bottom:36px}.content-block>h2{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:8px}.toc a{color:var(--ink-2);padding:6px 0;font-size:.92rem;text-decoration:none;display:block}.toc a:hover{color:var(--brand)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}thead th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.8rem}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}tbody th{font-weight:650}.prose{color:var(--ink-2);font-size:1.04rem}.prose h2{color:var(--ink);margin-top:1.8em}.prose h3{color:var(--ink);margin-top:1.4em}.prose ul,.prose ol{padding-left:1.3em}.prose li{margin:.35em 0}.prose blockquote{border-left:4px solid var(--accent);background:var(--accent-soft);color:var(--ink);border-radius:0 10px 10px 0;margin:1.4em 0;padding:12px 18px}.prose blockquote p:last-child{margin:0}.prose table{border:1px solid var(--line);border-radius:10px;margin:1.4em 0;display:block;overflow:auto hidden}.prose strong{color:var(--ink)}.prose code{background:var(--surface-2);border-radius:5px;padding:2px 6px}.article-meta{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-size:.88rem;display:flex}.tool-ui{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:22px}.tool-disclaimer{margin:14px 0 0}@media (width>=720px){.tool-ui{padding:28px}}.field{gap:6px;margin-bottom:16px;display:grid}.field label,.label{color:var(--ink);font-size:.9rem;font-weight:650}.field .hint{color:var(--muted);font-size:.82rem}.input,.field input[type=text],.field input[type=number],.field input[type=url],.field input[type=tel],.field input[type=email],.field select,.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;padding:11px 12px;font-size:1rem}.field textarea{resize:vertical;min-height:160px;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{outline:3px solid color-mix(in srgb, var(--brand) 35%, transparent);border-color:var(--brand)}.input-group{align-items:stretch;display:flex}.input-group .prefix,.input-group .suffix{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--muted);place-items:center;padding:0 12px;font-weight:600;display:grid}.input-group .prefix{border-right:0;border-radius:10px 0 0 10px}.input-group .suffix{border-left:0;border-radius:0 10px 10px 0}.input-group input{border-radius:0!important}.input-group input:first-child{border-radius:10px 0 0 10px!important}.input-group .prefix+input:last-child{border-radius:0 10px 10px 0!important}.row{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=560px){.row-2{grid-template-columns:1fr 1fr}.row-3{grid-template-columns:repeat(3,1fr)}}.segmented{background:var(--surface-2);border-radius:11px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented label{position:relative}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented span{color:var(--muted);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:.9rem;font-weight:600;display:block}.segmented input:checked+span{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.segmented input:focus-visible+span{outline:3px solid var(--accent)}.results{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:8px;display:grid}.result{background:var(--surface-2);border-radius:12px;padding:14px 16px}.result .k{color:var(--muted);font-size:.8rem;font-weight:600}.result .v{letter-spacing:-.02em;font-variant-numeric:tabular-nums;word-break:break-word;font-size:1.45rem;font-weight:800}.result.primary{background:var(--brand-soft)}.result.primary .v{color:var(--brand-ink)}.output{font-family:var(--mono);background:var(--bg);border:1px solid var(--line-strong);word-break:break-all;white-space:pre-wrap;border-radius:10px;padding:12px;font-size:.92rem}.check{cursor:pointer;align-items:center;gap:8px;font-size:.93rem;display:flex}.check input{width:18px;height:18px;accent-color:var(--brand)}input[type=range]{width:100%;accent-color:var(--brand)}.actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.dropzone{border:2px dashed var(--line-strong);text-align:center;background:var(--bg);cursor:pointer;border-radius:14px;padding:28px 16px;transition:border-color .15s,background .15s}.dropzone:hover,.dropzone.drag{border-color:var(--brand);background:var(--brand-soft)}.privacy-pill{color:var(--ok);background:var(--ok-soft);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:650;display:inline-flex}.faq details{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-bottom:10px}.faq summary{cursor:pointer;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:650;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--muted);font-size:1.2rem;line-height:1}.faq details[open] summary:after{content:"–"}.faq details>div{color:var(--ink-2);padding:0 16px 14px}.featured{background:linear-gradient(135deg, var(--brand-soft), var(--surface) 70%);border:1px solid var(--line);border-radius:20px;grid-template-columns:1fr;gap:24px;padding:28px;display:grid}@media (width>=860px){.featured{grid-template-columns:1.4fr 1fr;padding:36px}}.band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sa-band{color:#fff;background:linear-gradient(135deg,#0f4d33,#12355f 70%);border-radius:20px;padding:28px;position:relative;overflow:hidden}@media (width>=860px){.sa-band{padding:40px}}.sa-band:before{content:"";background:radial-gradient(circle,#ffb61259,#0000 70%);border-radius:50%;width:260px;height:260px;position:absolute;top:-80px;right:-80px}.sa-band h2{color:#fff}.sa-band p{color:#d5e4dc}.sa-band .chip{color:#fff;background:#ffffff1a;border-color:#ffffff40}.sa-band .chip:hover{color:#fff;background:#fff3}.newsletter{background:var(--ink);color:var(--bg);border-radius:20px;grid-template-columns:1fr;align-items:center;gap:20px;padding:28px;display:grid}@media (width>=860px){.newsletter{grid-template-columns:1.2fr 1fr;padding:40px}}.newsletter h2{color:var(--bg)}.newsletter p{color:color-mix(in srgb, var(--bg) 75%, var(--ink));margin:0}.newsletter form{flex-wrap:wrap;gap:8px;display:flex}.newsletter input[type=email]{min-width:0;font:inherit;background:var(--bg);color:var(--ink);border:1px solid #0000;border-radius:10px;flex:220px;padding:12px 14px}.newsletter .fine{color:color-mix(in srgb, var(--bg) 60%, var(--ink));margin-top:10px;font-size:.8rem}.newsletter a{color:var(--accent)}.article-card{flex-direction:column;gap:8px;height:100%;display:flex}.article-card .kicker{text-transform:uppercase;letter-spacing:.07em;color:var(--accent-ink);font-size:.75rem;font-weight:700}.article-card h3{margin:0;font-size:1.08rem}.article-card .foot{color:var(--muted);margin-top:auto;padding-top:8px;font-size:.82rem}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.filters .input,.filters select{width:auto;font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:10px;flex:200px;padding:10px 12px}.empty{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);padding:40px 16px}.search-results{gap:10px;margin-top:18px;display:grid}.search-hit{border:1px solid var(--line);background:var(--surface);color:inherit;border-radius:12px;align-items:flex-start;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.search-hit:hover{border-color:var(--brand);color:inherit}.search-hit .t{color:var(--ink);font-weight:700}.search-hit .d{color:var(--ink-2);font-size:.9rem}.search-hit .badge{margin-top:3px}mark{background:var(--accent-soft);color:inherit;border-radius:3px;padding:0 2px}.ad-slot{text-align:center;margin:28px 0}.ad-slot .ad-label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:.7rem;display:block}.site-footer{background:var(--surface);border-top:1px solid var(--line);margin-top:64px;padding:48px 0 28px;font-size:.92rem}.footer-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}@media (width>=860px){.footer-grid{grid-template-columns:1.6fr repeat(4,1fr)}}.footer-grid h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:12px;font-size:.8rem}.footer-grid ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.footer-grid a{color:var(--ink-2);text-decoration:none}.footer-grid a:hover{color:var(--brand);text-decoration:underline}.footer-brand{grid-column:1/-1}@media (width>=860px){.footer-brand{grid-column:auto}}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:36px;padding-top:20px;font-size:.84rem;display:flex}.compare-picker{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=720px){.compare-picker{grid-template-columns:repeat(3,1fr)}}.compare-table th{min-width:180px}.compare-table td{min-width:200px}@media print{.site-header,.site-footer,.newsletter,.ad-slot,.no-print{display:none!important}body{color:#000;background:#fff}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.tool-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.tool-head .label{margin:0}.tool-bar{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;display:flex}.field-error{color:var(--danger);font-size:.82rem;font-weight:600}[aria-invalid=true]{border-color:var(--danger)!important}.notice-error{background:var(--danger-soft);border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--ink)}.notice-ok{background:var(--ok-soft);border-color:color-mix(in srgb, var(--ok) 35%, transparent);color:var(--ink)}.option-list{gap:8px;margin-top:10px;display:grid}.option-row{background:var(--bg);border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.option-text{overflow-wrap:anywhere;flex:1;min-width:0}.option-text.multiline{white-space:pre-wrap;font-family:var(--font);margin:0;font-size:.93rem}.option-row .badge{flex:none}.rate-pill{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.line-items{border-collapse:collapse;width:100%}.line-items th,.line-items td{vertical-align:top;border:0;padding:6px 4px}.line-items input{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;padding:8px 9px;font-size:.95rem}.line-items .num{width:90px}@media (width<=640px){.line-items thead{display:none}.line-items tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1fr auto;gap:6px;padding:10px 0;display:grid}.line-items td:first-child{grid-column:1/-1}.line-items .num{width:auto}}.bar-chart{gap:6px;margin-top:12px;display:grid}.bar-row{grid-template-columns:54px 1fr auto;align-items:center;gap:10px;font-size:.85rem;display:grid}.bar-track{background:var(--surface-2);border-radius:7px;height:14px;display:flex;overflow:hidden}.bar-a{background:var(--brand)}.bar-b{background:var(--accent)}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:.82rem;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.regex-out{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;min-height:80px;padding:12px;font-size:.9rem}.regex-out mark{background:color-mix(in srgb, var(--accent) 45%, transparent)}.mono{font-family:var(--mono)}.hub-nav{z-index:5;background:color-mix(in srgb, var(--bg) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:10px 0;position:sticky;top:64px}@media print{body.printing-doc>:not(#print-root){display:none!important}#print-root{display:block!important}}#print-root{display:none}.suite-nav{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-top:18px;padding:18px}.suite-title{margin:0 0 10px;font-size:.95rem;font-weight:750}.suite-steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.suite-steps li{counter-increment:step}.suite-steps a,.suite-steps li>span{border:1px solid var(--line);height:100%;color:var(--ink);border-radius:12px;gap:2px;padding:10px 12px 10px 38px;font-size:.9rem;text-decoration:none;display:grid;position:relative}.suite-steps a:hover{border-color:var(--brand)}.suite-steps a:before,.suite-steps li>span:before{content:counter(step);background:var(--surface-2);width:20px;height:20px;color:var(--muted);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:10px;left:10px}.suite-steps .is-current>span{border-color:var(--brand);background:var(--surface-2)}.suite-steps .is-current>span:before{background:var(--brand);color:#fff}.suite-steps .is-done a:before{content:"✓"}.suite-pager{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:12px;display:flex}@media (width<=640px){.line-items.inv-lines tr{grid-template-columns:1fr 1fr 1fr}.line-items.inv-lines td.line-total{grid-column:1/3;align-self:center}}.line-items td.line-total{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;padding-top:14px}.rows-editor-row{grid-template-columns:var(--mcols);align-items:end;gap:8px;display:grid}.rows-editor-row>:first-child{grid-column:1/-1}.rows-editor-row .input,.rows-editor-row input{width:100%;min-width:0}@media (width>=560px){.rows-editor-row{grid-template-columns:var(--cols)}.rows-editor-row>:first-child{grid-column:auto}}@media (width<=559px){.rows-editor-row{border-bottom:1px solid var(--line);padding-bottom:8px}}.sugg-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.sugg-row{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto auto auto auto;align-items:center;gap:6px 8px;padding:10px;display:grid}.sugg-row[data-level=warn]{border-left:4px solid var(--warn)}.sugg-row[data-level=error]{border-left:4px solid var(--danger)}.sugg-row .input{min-width:0;font-weight:600}.sugg-row [data-keep][aria-pressed=true]{color:var(--brand);border-color:var(--brand)}.sugg-checks{flex-wrap:wrap;grid-column:1/-1;gap:4px 12px;margin:0;padding:0;font-size:.82rem;list-style:none;display:flex}.chk-ok{color:var(--ok)}.chk-warn{color:var(--warn)}.chk-error{color:var(--danger)}@media (width<=560px){.sugg-row{grid-template-columns:1fr auto auto}.sugg-row .input{grid-column:1/-1}.sugg-row [data-count]{justify-self:start}}.idea-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;margin-top:16px;display:grid}.idea-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-content:start;gap:10px;padding:16px;display:grid}.idea-card h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:1rem;display:flex}.idea-card dl{gap:8px;margin:0;display:grid}.idea-card dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:750}.idea-card dd{margin:0}.idea-card .idea-title{font-weight:700}.cal-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.cal-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:76px minmax(0,1fr);gap:12px;padding:12px;display:grid}.cal-date{text-align:center;background:var(--surface-2);border-radius:10px;align-self:start;padding:8px 4px;line-height:1.15}.cal-date b{font-size:1.35rem;display:block}.cal-date span{color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:650}.cal-body{gap:6px;min-width:0;display:grid}.cal-meta{flex-wrap:wrap;gap:6px;min-width:0;font-size:.8rem;display:flex}.cal-meta .badge{white-space:normal}@media (width<=420px){.cal-item{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:10px}.cal-date b{font-size:1.15rem}}.cal-body .input{min-width:0;font-weight:650}.cal-body p{margin:0;font-size:.9rem}.pillar-educate{color:#0b4a8f;background:#e3f0ff}.pillar-inspire{color:#7a4b00;background:#fff1d6}.pillar-community{color:#1d6b3a;background:#e5f7ec}.pillar-promote{color:#6a2a8c;background:#f6e6ff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pillar-educate,:root:not([data-theme=light]) .pillar-inspire,:root:not([data-theme=light]) .pillar-community,:root:not([data-theme=light]) .pillar-promote{background:var(--surface-2);color:var(--ink)}}:root[data-theme=dark] .pillar-educate,:root[data-theme=dark] .pillar-inspire,:root[data-theme=dark] .pillar-community,:root[data-theme=dark] .pillar-promote{background:var(--surface-2);color:var(--ink)}.weekday-picks{flex-wrap:wrap;gap:6px;display:flex}.weekday-picks label{border:1px solid var(--line-strong);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:6px 10px;font-size:.85rem;display:inline-flex}.weekday-picks input:checked+span{font-weight:750}.weekday-picks label:has(input:checked){border-color:var(--brand);background:var(--surface-2)}.weekday-picks label:has(input:focus-visible){outline:3px solid var(--accent)}.kw-group{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-width:0;margin:14px 0 0;padding:14px 16px}.kw-group legend{padding:0 6px;font-weight:750}.kw-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.kw-list li{align-items:center;gap:6px;min-width:0;display:flex}.kw-list label{overflow-wrap:anywhere;cursor:pointer;flex:1;align-items:center;gap:8px;min-width:0;padding:4px 0;display:flex}.kw-list a{white-space:nowrap;font-size:.78rem}.code,textarea.code,input.code{font-family:var(--mono);tab-size:2;font-size:.9rem;line-height:1.5}textarea.code{white-space:pre;overflow-wrap:normal;min-height:140px;overflow-x:auto}textarea.code.wrap{white-space:pre-wrap;overflow-wrap:anywhere}pre.code-out{font-family:var(--mono);background:var(--surface-2);white-space:pre;border-radius:10px;margin:0;padding:12px 14px;font-size:.85rem;overflow-x:auto}.kv{border-collapse:collapse;width:100%;font-size:.9rem}.kv th,.kv td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}.kv td.mono,.kv th.mono{font-family:var(--mono);overflow-wrap:anywhere}.finding{border-radius:10px;align-items:flex-start;gap:8px;margin:0 0 6px;padding:8px 12px;font-size:.9rem;display:flex}.finding-ok{background:var(--ok-soft,#e7f6ee);color:var(--ok)}.finding-info{background:var(--surface-2);color:var(--ink)}.finding-warn{background:var(--warn-soft);color:var(--warn)}.finding-danger{background:var(--danger-soft);color:var(--danger)}.local-note{font-size:.85rem}.jwt-parts{font-family:var(--mono);overflow-wrap:anywhere;background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:.85rem}.jwt-h{color:#c2185b}.jwt-p{color:#6a1b9a}.jwt-s{color:#00838f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .jwt-h{color:#ff8ab3}:root:not([data-theme=light]) .jwt-p{color:#d7a6ff}:root:not([data-theme=light]) .jwt-s{color:#6fe3ef}}:root[data-theme=dark] .jwt-h{color:#ff8ab3}:root[data-theme=dark] .jwt-p{color:#d7a6ff}:root[data-theme=dark] .jwt-s{color:#6fe3ef}.swatch{border:1px solid var(--line-strong);background-image:linear-gradient(45deg,#ccc 25%,#0000 25% 75%,#ccc 75%),linear-gradient(45deg,#ccc 25%,#0000 25% 75%,#ccc 75%);background-position:0 0,8px 8px;background-size:16px 16px;border-radius:14px;width:100%;height:120px;position:relative;overflow:hidden}.swatch>span{position:absolute;inset:0}.fmt-row{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 0;display:grid}.fmt-row code{font-family:var(--mono);overflow-wrap:anywhere;background:0 0;padding:0;font-size:.9rem}.contrast-demo{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-weight:600}.field{min-width:0}.field>textarea,.field>input,.field>select,.segmented{max-width:100%}.tool-head{flex-wrap:wrap}.prose code,.faq code{overflow-wrap:anywhere}.field textarea.code,.field input.code,.input.code,.output.code{font-family:var(--mono)}.layout-2>*,.tool-ui,.tool-ui form{min-width:0}.tool-card-facts{grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:.82rem;display:grid}.tool-card-facts div{display:contents}.tool-card-facts dt{color:var(--muted);font-weight:600}.tool-card-facts dd{margin:0}.compare-check{z-index:1;margin:0 0 0 auto;position:relative}.db-layout{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=960px){.db-layout{grid-template-columns:270px minmax(0,1fr)}}.db-filters{align-content:start;gap:4px;display:grid}.db-filters fieldset{border:0;min-width:0;margin:0;padding:0}.db-filters details{border-bottom:1px solid var(--line);padding:8px 0}.db-filters summary{cursor:pointer;font-size:.92rem;font-weight:700;list-style-position:outside}.db-filters .opt{cursor:pointer;align-items:center;gap:8px;padding:3px 0;font-size:.88rem;display:flex}.db-filters .opt .n{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:.78rem}.db-filters .opt.zero{opacity:.55}.db-filters .help{color:var(--muted);margin:4px 0 6px;font-size:.78rem}.db-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.db-toolbar .input{flex:240px;min-width:0}.active-filters{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.active-filters button{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:999px;padding:4px 10px;font-size:.82rem}.active-filters button:hover{border-color:var(--brand)}.compare-bar{z-index:20;background:var(--ink);color:var(--bg);box-shadow:var(--shadow-lg);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;display:flex;position:sticky;bottom:12px}.compare-bar .btn-ghost{color:var(--bg);border-color:color-mix(in srgb, var(--bg) 40%, transparent)}.plat-grid td,.plat-grid th{text-align:center}.yes{color:var(--ok);font-weight:700}.no{color:var(--muted)}.unk{color:var(--warn)}fieldset{min-width:0;min-inline-size:0}.aff-label{color:var(--muted);white-space:nowrap;font-size:.8em}.aff-notice{margin:0 0 20px}.prov{vertical-align:1px;white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:.7rem;font-weight:700;display:inline-block}.prov-verified{background:var(--ok-soft);color:var(--ok)}.prov-vendor{background:var(--surface-2);color:var(--ink-2,var(--muted))}.prov-classification{background:var(--warn-soft);color:var(--warn)}.prov-unknown{background:var(--surface-2);color:var(--muted)}.claims{gap:8px;margin:0;padding:0;list-style:none;display:grid}.compare-table tr.differs th{box-shadow:inset 3px 0 0 var(--brand)}.sa-facts tr.stale td{background:var(--warn-soft)}.sa-stale{color:var(--warn);font-weight:600}.ad-slot>div{background:var(--surface-2);border:1px dashed var(--line-strong);border-radius:10px;max-width:970px;margin:0 auto}.ad-sidebar>div{max-width:300px}.ad-desktop-only{display:none}@media (width>=1024px){.ad-desktop-only{display:block}}.sponsored-card{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent-soft,var(--surface-2)) 50%, var(--surface))}.sponsored-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink,var(--ink));background:var(--accent-soft,var(--surface-2));border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:800;display:inline-flex}.sponsor-message{border-left:3px solid var(--accent);margin:10px 0;padding-left:12px;font-style:italic}.totd-card{padding:22px}.totd-card[hidden]{display:none}.totd-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.totd-name{margin:0;font-size:1.35rem}.totd-name a{color:inherit;text-decoration:none}.totd-name a:hover{text-decoration:underline}.totd-facts{grid-template-columns:1fr;gap:10px 20px;margin:0 0 14px;display:grid}.totd-facts dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem;font-weight:700}.totd-facts dd{margin:2px 0 0}@media (width>=700px){.totd-facts{grid-template-columns:repeat(3,1fr)}}.totd-why{border-left:3px solid var(--brand);margin-bottom:14px;padding:4px 0 4px 12px}.totd-actions{flex-wrap:wrap;gap:8px;display:flex}.totd-list{gap:16px;display:grid}.related-item{flex-direction:column;gap:6px;display:flex}.related-item>.card{flex:1}.related-why{color:var(--muted);margin:0;padding-left:4px;font-size:.85rem}.link-list{grid-template-columns:1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.link-list{grid-template-columns:1fr 1fr}}.link-item{flex-direction:column;gap:3px;padding:14px 16px;display:flex;position:relative}.link-item a{font-weight:700}.link-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink,var(--brand));font-size:.7rem;font-weight:800}.compare-preview summary{cursor:pointer}.cp-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.cp-grid figure{min-width:0;margin:0}.cp-frame{aspect-ratio:4/3;background:repeating-conic-gradient(var(--surface-2,#eee) 0 25%, transparent 0 50%) 0 0 / 16px 16px;border:1px solid var(--line);border-radius:10px;place-items:center;display:grid;overflow:hidden}.cp-frame img{object-fit:contain;max-width:100%;max-height:100%}.cp-grid figcaption{overflow-wrap:anywhere;margin-top:4px;font-size:.8rem}
