@font-face{font-family:inter;src:url(../media/inter_latin_wght_normal-s.p.0rpdhg_4ubdtf.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.vcat8a_className{font-family:inter,inter Fallback}.vcat8a_variable{--font-sans:"inter", "inter Fallback"}
@font-face{font-family:jakarta;src:url(../media/plus_jakarta_sans_latin_wght_normal-s.p.405dixo3t0-v0.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:jakarta Fallback;src:local(Arial);ascent-override:98.16%;descent-override:20.99%;line-gap-override:0.0%;size-adjust:105.75%}.BJ59NG_className{font-family:jakarta,jakarta Fallback}.BJ59NG_variable{--font-display:"jakarta", "jakarta Fallback"}
:root{--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--navy:#0b1b3f;--navy2:#13285a;--ink:#0f172a;--ink2:#334155;--muted:#5b6783;--line:#e6e9f2;--line2:#d5dae7;--bg:#f7f8fc;--surface:#fff;--accent:#5b4cf0;--accent2:#7c6cf7;--accent-soft:#eeebff;--accent-ink:#3f31c9;--teal:#0ea5a4;--amber:#f59e0b;--green:#10b981;--red:#ef4444;--pc:var(--accent);--ps:var(--accent-soft);--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 1px 2px #0f172a0a, 0 8px 24px -10px #0f172a24;--shadow-lg:0 24px 60px -20px #0b1b3f59;--container:1200px;--header-h:68px;--ease:cubic-bezier(.2, .7, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}body{font-family:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display), var(--font-sans), sans-serif;letter-spacing:-.02em;color:var(--ink);margin:0 0 .5em;font-weight:700;line-height:1.15}h1{letter-spacing:-.03em;font-size:clamp(2rem,1.4rem + 2.4vw,3.1rem);font-weight:800}h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}h3{font-size:1.15rem}p{margin:0 0 1em}a{color:var(--accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}img{max-width:100%;height:auto;display:block}ul,ol{margin:0;padding:0}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--accent-ink)}main{min-height:60vh}time{white-space:nowrap}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}.narrow{max-width:820px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:10px 14px;position:absolute;top:-60px;left:12px}.skip-link:focus{top:10px}.muted{color:var(--muted)}.small{font-size:.9rem}.tiny{font-size:.78rem;line-height:1.5}.center{text-align:center}.lead{color:var(--ink2);font-size:1.15rem;line-height:1.7}.grad{background:linear-gradient(90deg,#a79bff,#5eead4);color:#0000;-webkit-background-clip:text;background-clip:text}.stretched:after{content:"";z-index:1;position:absolute;inset:0}.show-sm{display:none!important}.block{margin-block:48px}.h-section{margin-bottom:20px;font-size:1.55rem}.h-sub{margin:28px 0 14px;font-size:1.1rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--pc);align-items:center;gap:6px;margin:0 0 10px;font-size:.75rem;font-weight:700;display:inline-flex}.eyebrow--light{color:#b9b0ff}.meta-line{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:14px 0;font-size:.88rem;display:flex}.meta-line a{color:var(--ink);font-weight:600}.pill{letter-spacing:.04em;border-radius:99px;margin-bottom:12px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-block}.link-arrow{color:var(--pc);align-items:center;gap:6px;font-size:.95rem;font-weight:600;display:inline-flex}.link-arrow svg{transition:transform .2s var(--ease)}.link-arrow:hover{text-decoration:none}.link-arrow:hover svg{transform:translate(3px)}.link-arrow--light{color:#c9c2ff}.link-btn{color:inherit;text-underline-offset:3px;font-size:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.empty{text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:var(--radius);padding:40px}.btn{white-space:nowrap;transition:background .2s, border-color .2s, transform .2s var(--ease), box-shadow .2s;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:600;line-height:1.2;display:inline-flex;text-decoration:none!important}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px -6px #5b4cf08c}.btn--primary:hover{background:var(--accent-ink)}.btn--accent{background:linear-gradient(135deg, var(--accent2), var(--accent));color:#fff;box-shadow:0 8px 22px -8px #7c6cf7cc}.btn--accent:hover{filter:brightness(1.08)}.btn--outline{border-color:var(--line2);color:var(--ink);background:#fff}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.btn--ghost{color:var(--ink2);border-color:var(--line);background:0 0}.btn--ghost:hover{background:var(--bg)}.btn--sm{border-radius:8px;padding:8px 14px;font-size:.86rem}.btn--block{width:100%}.icon-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--ink2);background:#fff;border-radius:10px;place-items:center;transition:background .2s,color .2s;display:inline-grid}.icon-btn:hover{background:var(--bg);color:var(--accent)}.chip{border:1px solid var(--line);color:var(--ink2);background:#fff;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}a.chip:hover,button.chip:hover{border-color:var(--accent);text-decoration:none}.chip-nav{flex-wrap:wrap;gap:8px;margin-top:18px;list-style:none;display:flex}.chip-btn{z-index:2;border:1px solid var(--line2);color:var(--ink2);background:#fff;border-radius:8px;align-items:center;gap:5px;padding:6px 11px;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex;position:relative}.chip-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.chip-btn.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.chip-btn:disabled{opacity:.45;cursor:not-allowed}.field{color:var(--ink2);gap:6px;font-size:.85rem;font-weight:600;display:grid}.field input,.field select,.calc-row input,.calc-row select{border:1px solid var(--line2);background:#fff;border-radius:9px;width:100%;min-width:0;padding:10px 12px;font-weight:500}.field input:focus,.field select:focus,.calc-row input:focus,.calc-row select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.badge{letter-spacing:.03em;white-space:nowrap;vertical-align:middle;border-radius:99px;align-items:center;gap:4px;padding:3px 9px;font-size:.75rem;font-weight:700;display:inline-flex}.badge--soft{color:#4a5578;border:1px solid var(--line);background:#eef1f8}.badge--green{color:#047857;background:#e7f8f1}.score{flex:none;align-items:center;gap:12px;display:inline-flex}.score__ring{--s:54px;width:var(--s);height:var(--s);border-radius:50%;place-items:center;display:grid;position:relative}.score__ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:4px}.score__value{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:1rem;font-weight:800;position:relative}.score--sm .score__ring{--s:42px}.score--sm .score__ring:before{inset:3.5px}.score--sm .score__value{font-size:.85rem}.score--lg .score__ring{--s:84px}.score--lg .score__ring:before{inset:6px}.score--lg .score__value{font-size:1.6rem}.score__label{line-height:1.25;display:grid}.score__label strong{font-family:var(--font-display);font-size:1.1rem}.score__label small{color:var(--muted);font-size:.78rem}.scorebars{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:14px;margin-bottom:10px;padding:22px;display:grid}.scorebar{grid-template-columns:130px 1fr 40px;align-items:center;gap:14px;font-size:.92rem;display:grid}.scorebar__label{color:var(--ink2);font-weight:600}.scorebar__track{background:#edf0f7;border-radius:99px;height:8px;overflow:hidden}.scorebar__fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent2), var(--accent));height:100%;display:block}.scorebar__value{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.tool-logo{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;flex:none;place-items:center;display:inline-grid;overflow:hidden}.tool-logo img{object-fit:contain;width:72%;height:72%}.tool-logo--initials{color:#fff;font-family:var(--font-display);letter-spacing:-.02em;border:0;font-weight:800}.logo-stack{display:inline-flex}.logo-stack .tool-logo{border:2px solid #fff;margin-left:-8px}.logo-stack .tool-logo:first-child{margin-left:0}.logo{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.2rem;font-weight:600;display:inline-flex;text-decoration:none!important}.logo b{color:var(--accent);font-weight:800}.logo--inv{color:#fff}.logo--inv b{color:#a79bff}.site-header{z-index:50;-webkit-backdrop-filter:saturate(1.6)blur(14px);border-bottom:1px solid var(--line);background:#ffffffe0;position:sticky;top:0}.site-header__bar{height:var(--header-h);align-items:center;gap:28px;display:flex}.nav-primary{flex:1}.nav-primary>ul{align-items:center;gap:2px;list-style:none;display:flex}.nav-primary>ul>li{position:static}.nav-link{white-space:nowrap;color:var(--ink2);background:0 0;border:0;border-radius:8px;align-items:center;gap:4px;padding:8px 11px;font-size:.92rem;font-weight:600;display:inline-flex;text-decoration:none!important}.nav-link:hover,.nav-link[aria-expanded=true]{background:var(--bg);color:var(--ink)}.nav-link.is-active{color:var(--accent)}.nav-link svg{opacity:.6;transition:transform .2s}.nav-link[aria-expanded=true] svg{transform:rotate(180deg)}.site-header__actions{align-items:center;gap:10px;margin-left:auto;display:flex}.mega{left:50%;top:calc(var(--header-h) - 6px);border:1px solid var(--line);border-radius:var(--radius-lg);width:min(1100px,100vw - 48px);box-shadow:var(--shadow-lg);animation:drop .18s var(--ease);background:#fff;grid-template-columns:250px 1fr 240px;gap:28px;padding:28px;display:grid;position:absolute;transform:translate(-50%)}@keyframes drop{0%{opacity:0;transform:translate(-50%,-6px)}}.mega__intro{border-right:1px solid var(--line);padding-right:24px}.mega__icon{background:var(--ps);width:44px;height:44px;color:var(--pc);border-radius:12px;place-items:center;margin-bottom:12px;display:inline-grid}.mega__title{font-family:var(--font-display);margin:0 0 6px;font-size:1.15rem;font-weight:700}.mega__tagline{color:var(--muted);font-size:.88rem}.mega__cats{grid-template-columns:1fr 1fr;align-content:start;gap:4px;list-style:none;display:grid}.mega__cats a{color:var(--ink);border-radius:10px;gap:2px;padding:10px 12px;text-decoration:none;display:grid}.mega__cats a:hover{background:var(--bg)}.mega__cats strong{font-size:.92rem}.mega__cats span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.mega__feature{border-radius:var(--radius);background:linear-gradient(160deg, var(--ps), #fff);border:1px solid var(--line);color:var(--ink);align-content:end;gap:8px;padding:20px;display:grid;text-decoration:none!important}.mega__feature strong{font-family:var(--font-display);font-size:1rem;line-height:1.3}.search-drop{border-top:1px solid var(--line);background:#fff;padding:14px 0;animation:.15s fade}@keyframes fade{0%{opacity:0}}.search-drop__form{color:var(--muted);align-items:center;gap:12px;display:flex}.search-drop__form input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-size:1.1rem}.mobile-menu{z-index:60;background:#fff;padding:0 20px 40px;animation:.15s fade;position:fixed;inset:0;overflow-y:auto}.mobile-menu__head{height:var(--header-h);justify-content:space-between;align-items:center;display:flex}.mobile-menu__search{border:1px solid var(--line2);color:var(--muted);border-radius:12px;align-items:center;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.mobile-menu__search input{background:0 0;border:0;outline:none;flex:1}.mobile-menu__group{border-bottom:1px solid var(--line)}.mobile-menu__group summary{font-weight:700;font-family:var(--font-display);cursor:pointer;align-items:center;gap:12px;padding:16px 4px;list-style:none;display:flex}.mobile-menu__group summary::-webkit-details-marker{display:none}.mobile-menu__group summary svg{margin-left:auto;transition:transform .2s}.mobile-menu__group[open] summary svg{transform:rotate(180deg)}.mobile-menu__dot{border-radius:3px;width:10px;height:10px}.mobile-menu__group ul{gap:2px;padding:0 0 14px 26px;list-style:none;display:grid}.mobile-menu__group a,.mobile-menu__links a{color:var(--ink2);padding:8px 0;font-weight:500;display:block}.mobile-menu__links{padding-top:12px;list-style:none}.mobile-menu__links a{color:var(--ink);padding:12px 4px;font-weight:700}.site-footer{background:var(--navy);color:#aeb8d3;margin-top:80px;padding-top:64px;font-size:.92rem}.site-footer__grid{grid-template-columns:1.6fr repeat(4,1fr);gap:40px;padding-bottom:48px;display:grid}.site-footer__brand p{max-width:340px;margin:16px 0 0;line-height:1.65}.site-footer__promise{color:#fff;border-left:3px solid var(--accent2);padding-left:12px;font-weight:600}.site-footer__social{gap:8px;margin-top:20px;display:flex}.site-footer__social a{color:#fff;background:#ffffff12;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.site-footer__social a:hover{background:var(--accent)}.site-footer__title{color:#fff;font-family:var(--font-display);margin:0 0 14px;font-size:.95rem;font-weight:700}.site-footer__col ul{gap:9px;list-style:none;display:grid}.site-footer a{color:#aeb8d3}.site-footer a:hover{color:#fff}.site-footer__base{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding-block:22px;font-size:.8rem;display:flex}.site-footer__base p{margin:0}.site-footer__base-links{gap:18px;display:flex}.site-footer .link-btn{color:#aeb8d3}.section{padding-block:72px}.section+.section.container,.container.section+.section.container{padding-top:24px}.section--tint{background:var(--bg);border-block:1px solid var(--line)}.section--navy{background:radial-gradient(1000px 500px at 85% 0%, #2a2a86 0%, transparent 60%), var(--navy);color:#c8d0e6}.section--navy h2{color:#fff}.section-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.section-head h2{margin:0}.section-head__intro{color:var(--muted);max-width:620px;margin:10px 0 0}.hero{background:var(--navy);color:#c8d0e6;isolation:isolate;position:relative;overflow:hidden}.hero__bg{z-index:-1;opacity:.55;position:absolute;inset:0}.hero__bg img{object-fit:cover}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#0b1b3ff7 0%,#0b1b3fd1 50%,#0b1b3f73 100%);position:absolute;inset:0}.hero__inner>*,.hub-hero__inner>*,.article-hero__grid>*,.tool-hero__grid>*,.pick__grid>*,.site-footer__grid>*,.newsletter__inner>*{min-width:0}.hero__inner{grid-template-columns:1.25fr .85fr;align-items:center;gap:56px;padding-block:96px 104px;display:grid}.hero h1{color:#fff;margin-bottom:20px;font-size:clamp(2.3rem,1.5rem + 3vw,3.7rem)}.hero__lead{max-width:560px;font-size:1.15rem;line-height:1.7}.hero__search{max-width:560px;color:var(--muted);background:#fff;border-radius:14px;align-items:center;gap:10px;margin-top:30px;padding:7px 7px 7px 18px;display:flex;box-shadow:0 20px 50px -20px #00000080}.hero__search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:8px 0;font-size:1rem}.hero__facts{flex-wrap:wrap;gap:10px 32px;margin-top:32px;font-size:.9rem;list-style:none;display:flex}.hero__facts strong{font-family:var(--font-display);color:#fff;font-size:1.6rem;line-height:1.1;display:block}.hero__panel{border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-lg);background:#ffffff12;border:1px solid #ffffff24;padding:24px}.hero__panel-title{text-transform:uppercase;letter-spacing:.12em;color:#b9b0ff;margin-bottom:14px;font-size:.75rem;font-weight:700}.hero__panel ol{gap:8px;margin-bottom:18px;list-style:none;display:grid}.hero__panel li{background:#ffffff0d;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.hero__panel li a{color:#fff;flex:1;font-weight:600}.hero__rank{width:20px;font-family:var(--font-mono);color:#8f9bbf;font-size:.8rem}.hero__score{font-family:var(--font-display);color:#5eead4;font-weight:800}.logo-strip{border-bottom:1px solid var(--line);background:#fff}.logo-strip__inner{align-items:center;gap:32px;padding-block:22px;display:flex}.logo-strip__inner>span{color:var(--muted);flex:none;max-width:170px;font-size:.8rem;font-weight:600;line-height:1.35}.logo-strip__logos{flex-wrap:wrap;flex:1;justify-content:space-between;gap:14px;display:flex}.logo-strip__logos a{filter:grayscale();transition:all .2s}.logo-strip__logos a:hover{filter:none;opacity:1;transform:translateY(-2px)}.pillar-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.pillar-card{border-radius:var(--radius-lg);border:1px solid var(--line);transition:transform .25s var(--ease), box-shadow .25s;background:#fff;grid-template-columns:200px 1fr;display:grid;position:relative;overflow:hidden}.pillar-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.pillar-card__img{background:var(--ps);position:relative}.pillar-card__img img{object-fit:cover}.pillar-card__body{padding:24px}.pillar-card__icon{background:var(--ps);width:38px;height:38px;color:var(--pc);border-radius:10px;place-items:center;margin-bottom:12px;display:inline-grid}.pillar-card h3{margin-bottom:6px;font-size:1.25rem}.pillar-card h3 a{color:var(--ink)}.pillar-card p{color:var(--muted);font-size:.92rem}.pillar-card__cats{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.pillar-card__cats li{background:var(--bg);border:1px solid var(--line);color:var(--ink2);border-radius:99px;padding:4px 9px;font-size:.76rem;font-weight:600}.pillar-card__cats em{color:var(--pc);margin-left:2px;font-style:normal}.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:20px;display:grid}.card-grid--3{grid-template-columns:repeat(3,1fr)}.layout-toc__main .card-grid--3{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.tool-card{border-radius:var(--radius);border:1px solid var(--line);transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;background:#fff;flex-direction:column;gap:14px;padding:22px;display:flex;position:relative}.tool-card:hover{box-shadow:var(--shadow);border-color:var(--line2);transform:translateY(-3px)}.tool-card__rank{font-family:var(--font-mono);background:var(--ink);color:#fff;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:700;position:absolute;top:-10px;left:18px}.tool-card__top{align-items:center;gap:14px;display:flex}.tool-card__id{flex:1;min-width:0}.tool-card__id h3{margin:0;font-size:1.08rem}.tool-card__id h3 a{color:var(--ink)}.tool-card__id p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8rem;overflow:hidden}.tool-card__tagline{color:var(--ink2);flex:1;margin:0;font-size:.9rem}.tool-card__meta{border-block:1px dashed var(--line);grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:12px 0;display:grid}.tool-card__meta dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem;font-weight:600}.tool-card__meta dd{margin:0;font-size:.86rem;font-weight:600}.tool-card__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.tool-card__actions{align-items:center;gap:6px;display:flex}.vote{z-index:2;border:1px solid var(--line2);background:#fff;border-radius:9px;align-items:center;display:inline-flex;position:relative;overflow:hidden}.vote button{width:34px;height:34px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.vote button:hover{color:var(--accent);background:var(--bg)}.vote button.is-on{color:var(--accent);background:var(--accent-soft)}.vote__count{text-align:center;font-variant-numeric:tabular-nums;min-width:38px;font-size:.82rem;font-weight:700}.vote--compact button{width:28px;height:30px}.vote--compact .vote__count{min-width:30px;font-size:.76rem}.tool-rows{gap:14px;display:grid}.tool-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:28px auto 1fr auto;align-items:center;gap:18px;padding:20px 22px;transition:box-shadow .2s,border-color .2s;display:grid}.tool-row:hover{box-shadow:var(--shadow);border-color:var(--line2)}.tool-row__rank{font-family:var(--font-display);color:var(--pc);font-size:1.3rem;font-weight:800}.tool-row__main h3{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 4px;font-size:1.12rem;display:flex}.tool-row__main h3 a{color:var(--ink)}.tool-row__main p{color:var(--ink2);margin:0 0 8px;font-size:.92rem}.tool-row__tags{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.tool-row__tags li{background:var(--ps);color:var(--pc);border-radius:6px;padding:3px 9px;font-size:.75rem;font-weight:600}.tool-row__side{grid-template-columns:auto auto;place-items:center end;gap:10px 16px;display:grid}.tool-row__price{text-align:right;font-size:.9rem;font-weight:700;display:grid}.tool-row__price small{color:var(--muted);font-size:.75rem;font-weight:500}.tool-row__actions{gap:6px;display:flex}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:18px;display:grid}.cat-card{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(180deg, #fff, #fff 60%, var(--ps) 220%);color:var(--ink);transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;flex-direction:column;gap:8px;padding:22px;display:flex;text-decoration:none!important}.cat-card:hover{box-shadow:var(--shadow);border-color:var(--pc);transform:translateY(-3px)}.cat-card__icon{background:var(--ps);width:44px;height:44px;color:var(--pc);border-radius:12px;place-items:center;margin-bottom:6px;display:inline-grid}.cat-card__name{font-family:var(--font-display);font-size:1.08rem;font-weight:700}.cat-card__summary{color:var(--muted);flex:1;font-size:.88rem}.cat-card__count{color:var(--pc);align-items:center;gap:6px;margin-top:6px;font-size:.82rem;font-weight:700;display:inline-flex}.cmp-grid{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:16px;display:grid}.cmp-grid--2{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.cmp-card{border-radius:var(--radius);border:1px solid var(--line);color:var(--ink);transition:transform .25s var(--ease), box-shadow .25s;background:#fff;flex-direction:column;gap:12px;padding:20px;display:flex;text-decoration:none!important}.cmp-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.cmp-card__logos{align-items:center;gap:10px;display:flex}.cmp-card__vs{font-family:var(--font-mono);color:var(--muted);background:var(--bg);border-radius:6px;padding:3px 7px;font-size:.75rem;font-weight:700}.cmp-card__title{font-family:var(--font-display);flex:1;font-weight:700;line-height:1.3}.cmp-card__scores{font-family:var(--font-mono);color:var(--accent);font-size:.82rem;font-weight:700}.cmp-card__scores em{color:var(--muted);font-style:normal}.media-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.media-grid--sm{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.media-card{border-radius:var(--radius-lg);border:1px solid var(--line);transition:transform .25s var(--ease), box-shadow .25s;background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.media-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.media-card__img{aspect-ratio:16/9;background:var(--bg);position:relative;overflow:hidden}.media-card__img img{object-fit:cover;transition:transform .6s var(--ease)}.media-card:hover .media-card__img img{transform:scale(1.04)}.media-card__body{flex-direction:column;flex:1;padding:20px 22px 22px;display:flex}.media-card__body .pill{align-self:flex-start}.media-card h3{font-size:1.12rem;line-height:1.3}.media-card h3 a{color:var(--ink)}.media-card__body>p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;font-size:.9rem;display:-webkit-box;overflow:hidden}.media-card__foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.media-card__foot .small{align-items:center;gap:5px;display:inline-flex}.ft-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.ft-card{border-radius:var(--radius-lg);border:1px solid var(--line);color:var(--ink2);transition:transform .25s var(--ease), box-shadow .25s;background:#fff;flex-direction:column;gap:10px;padding:26px;display:flex;position:relative;overflow:hidden;text-decoration:none!important}.ft-card:before{content:"";background:var(--pc);height:4px;position:absolute;inset:0 0 auto}.ft-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.ft-card__icon{width:46px;height:46px;color:var(--pc);background:color-mix(in srgb, var(--pc) 12%, #fff);border-radius:12px;place-items:center;display:inline-grid}.ft-card strong{font-family:var(--font-display);color:var(--ink);font-size:1.12rem}.ft-card>span:nth-of-type(2){flex:1;font-size:.9rem}.method{grid-template-columns:1fr 1fr;align-items:center;gap:56px;display:grid}.method__img{aspect-ratio:4/3;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.method__img img{object-fit:cover}.method__list{gap:10px;margin:20px 0 28px;list-style:none;display:grid}.method__list li{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:14px;padding:12px 16px;display:flex}.method__list b{font-family:var(--font-display);color:#5eead4;min-width:44px}.newsletter{padding-block:24px 0}.newsletter__inner{border-radius:var(--radius-lg);background:radial-gradient(600px 300px at 100% 0%, #4b3fd6, transparent 70%), var(--navy);color:#c8d0e6;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;padding:48px;display:grid}.newsletter h2{color:#fff}.newsletter p{margin:0}.newsletter__form{background:#fff;border-radius:14px;gap:10px;padding:6px;display:flex}.newsletter__form input[type=email]{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 14px}.crumbs{margin-bottom:18px}.crumbs ol{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:.82rem;list-style:none;display:flex}.crumbs li{align-items:center;gap:6px;display:inline-flex}.crumbs li+li:before{content:"/";color:var(--line2)}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}.crumbs [aria-current]{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;font-weight:600;overflow:hidden}.page-hero{border-bottom:1px solid var(--line);padding-block:48px 52px}.page-hero--soft,.page-hero--light{background:radial-gradient(900px 300px at 90% -20%, var(--ps), transparent 70%), linear-gradient(180deg, var(--bg), #fff)}.page-hero--dark{background:var(--navy);color:#c8d0e6}.page-hero--dark h1{color:#fff}.page-hero h1{max-width:900px}.page-hero__intro{color:var(--ink2);max-width:760px;font-size:1.12rem;line-height:1.7}.hub-hero{background:radial-gradient(900px 420px at 0% 0%, var(--ps), transparent 70%), linear-gradient(180deg, var(--bg), #fff);border-bottom:1px solid var(--line);padding-block:48px 64px}.hub-hero__inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;display:grid}.hub-hero__icon{width:52px;height:52px;color:var(--pc);box-shadow:var(--shadow);background:#fff;border-radius:14px;place-items:center;margin-bottom:16px;display:inline-grid}.hub-hero__lead{color:var(--ink2);font-size:1.15rem;line-height:1.7}.hub-hero__stats{color:var(--muted);gap:32px;margin-top:24px;font-size:.88rem;list-style:none;display:flex}.hub-hero__stats strong{font-family:var(--font-display);color:var(--ink);font-size:1.8rem;line-height:1.1;display:block}.hub-hero__img{aspect-ratio:4/3;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hub-hero__img img{object-fit:cover}.hub-intro{grid-template-columns:1fr 300px;gap:48px;display:grid}.article-hero{background:radial-gradient(900px 380px at 100% 0%, var(--ps), transparent 70%), linear-gradient(180deg, var(--bg), #fff);border-bottom:1px solid var(--line);padding-block:44px 56px}.article-hero__grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:48px;display:grid}.article-hero h1{font-size:clamp(1.9rem,1.3rem + 2vw,2.8rem)}.article-hero__img{aspect-ratio:4/3;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.article-hero__img img{object-fit:cover}.tool-hero{background:radial-gradient(900px 380px at 0% 0%, var(--ps), transparent 70%), linear-gradient(180deg, var(--bg), #fff);border-bottom:1px solid var(--line);padding-block:40px 52px}.tool-hero__grid{grid-template-columns:1fr 360px;align-items:start;gap:48px;display:grid}.tool-hero__id{align-items:flex-start;gap:24px;display:flex}.tool-hero__id h1{margin-bottom:8px}.tool-hero__tagline{color:var(--ink2);font-size:1.15rem}.tool-hero__card{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;gap:16px;padding:24px;display:grid}.tool-hero__card .tiny{margin:-6px 0 0}.tool-hero__actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:14px;display:flex}.facts{gap:0;margin:0;display:grid}.facts>div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:.9rem;display:flex}.facts dt{color:var(--muted)}.facts dd{text-align:right;margin:0;font-weight:700}.cmp-hero{background:radial-gradient(900px 380px at 50% -10%, var(--ps), transparent 70%), linear-gradient(180deg, var(--bg), #fff);border-bottom:1px solid var(--line);padding-block:40px 56px}.vs-board{grid-template-columns:1fr 1fr;gap:24px;max-width:860px;margin-top:32px;display:grid;position:relative}.vs-board__side{border-radius:var(--radius-lg);border:1px solid var(--line);text-align:center;box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;align-items:center;gap:10px;padding:28px 20px 22px;display:flex;position:relative}.vs-board__side.is-winner{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft), var(--shadow)}.vs-board__side h2{margin:4px 0 0;font-size:1.35rem}.vs-board__side h2 a{color:var(--ink)}.vs-board__side .small{color:var(--muted);margin:0}.vs-board__flag{text-transform:uppercase;letter-spacing:.08em;background:var(--accent);color:#fff;border-radius:99px;padding:4px 10px;font-size:.75rem;font-weight:700;position:absolute;top:-11px}.vs-board__vs{z-index:2;background:var(--ink);color:#fff;width:46px;height:46px;font-family:var(--font-display);border:4px solid #fff;border-radius:50%;place-items:center;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:50%;right:-12px;transform:translate(50%,-50%)}.layout-toc{grid-template-columns:240px minmax(0,1fr);gap:56px;padding-block:48px 24px;display:grid}.layout-toc__side{position:relative}.layout-toc__main{min-width:0;max-width:860px}.layout-toc__main>:first-child{margin-top:0}.toc{top:calc(var(--header-h) + 24px);max-height:calc(100vh - var(--header-h) - 48px);padding-right:8px;position:sticky;overflow-y:auto}.toc__title{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px;font-size:.75rem;font-weight:700}.toc ol{border-left:2px solid var(--line);list-style:none}.toc a{color:var(--muted);border-left:2px solid #0000;margin-left:-2px;padding:6px 0 6px 14px;font-size:.86rem;line-height:1.4;text-decoration:none;transition:color .15s,border-color .15s;display:block}.toc a:hover{color:var(--ink)}.toc a.is-active{color:var(--pc);border-left-color:var(--pc);font-weight:600}.prose{color:var(--ink2);font-size:1.04rem;line-height:1.78}.prose h2{color:var(--ink);margin:2em 0 .6em;font-size:1.55rem}.prose h3{color:var(--ink);margin:1.6em 0 .5em;font-size:1.2rem}.prose>:first-child,.prose>div:first-child>h2:first-child{margin-top:0}.prose ul,.prose ol{margin:0 0 1.2em;padding-left:1.3em}.prose li{margin-bottom:.45em}.prose li::marker{color:var(--pc)}.prose a{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 35%, transparent);text-underline-offset:3px;font-weight:600}.prose a:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose strong{color:var(--ink)}.callout{border-radius:var(--radius);background:var(--accent-soft);border:1px solid #dcd7ff;gap:14px;margin:1.6em 0;padding:18px 20px;font-size:.97rem;line-height:1.65;display:flex}.callout>svg{color:var(--accent);flex:none;margin-top:3px}.callout strong{color:var(--ink);margin-bottom:2px;display:block}.callout p{margin:0}.callout--tip{background:#e9faf5;border-color:#bfebdd}.callout--tip>svg{color:var(--teal)}.callout--warn{background:#fff7e6;border-color:#fbe2b0}.callout--warn>svg{color:var(--amber)}.figure{margin:40px 0}.figure img{border-radius:var(--radius-lg);border:1px solid var(--line)}.figure figcaption{color:var(--muted);text-align:center;margin-top:10px;font-size:.85rem}.verdict{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--ps), #fff 80%);border:1px solid var(--line);margin-block:0 40px;padding:26px 28px;position:relative}.verdict:before{content:"";background:var(--pc);border-radius:0 4px 4px 0;width:4px;position:absolute;top:24px;bottom:24px;left:0}.verdict__text{color:var(--ink);margin:0;font-size:1.15rem;font-weight:500;line-height:1.7}.proscons,.fit,.choose{grid-template-columns:1fr 1fr;gap:18px;display:grid}.proscons__col,.fit__col,.choose__col{border-radius:var(--radius);border:1px solid var(--line);background:#fff;padding:22px}.proscons__col h3,.fit__col h3,.choose__col h3{align-items:center;gap:10px;margin-bottom:14px;font-size:1rem;display:flex}.proscons ul,.fit ul,.choose ul,.mini-pc{gap:10px;list-style:none;display:grid}.proscons li,.fit li,.choose li{gap:10px;font-size:.94rem;line-height:1.5;display:flex}.proscons li svg,.fit li svg,.choose li svg,.mini-pc svg,.checklist svg{box-sizing:content-box;border-radius:50%;flex:none;margin-top:3px;padding:2px}.proscons__col--pro{border-top:3px solid var(--green)}.proscons__col--pro svg,.fit__col--yes svg,.choose svg,.pro svg,.checklist svg{color:#047857;background:#e7f8f1}.proscons__col--con{border-top:3px solid var(--red)}.proscons__col--con svg,.fit__col--no svg,.con svg{color:#b91c1c;background:#fdecec}.mini-pc{margin-bottom:16px}.mini-pc li{gap:10px;font-size:.92rem;display:flex}.choose .link-arrow{font-size:.88rem}.feature-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.feature-grid--3{grid-template-columns:repeat(3,1fr);margin-bottom:40px}.feature{border-radius:var(--radius);border:1px solid var(--line);background:#fff;gap:14px;padding:18px;display:flex}.feature>svg{color:var(--pc);flex:none;margin-top:2px}.feature strong{margin-bottom:4px;display:block}.feature p{color:var(--muted);margin:0;font-size:.9rem}.integrations{flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:20px;display:flex}.integrations ul{flex-wrap:wrap;gap:6px;list-style:none;display:flex}.integrations li{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:4px 10px;font-size:.8rem;font-weight:600}.pricing-box{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(4,1fr);margin-bottom:14px;display:grid;overflow:hidden}.pricing-box>div{border-right:1px solid var(--line);gap:4px;padding:18px;display:grid}.pricing-box>div:last-child{border-right:0}.pricing-box strong{font-family:var(--font-display);font-size:1.05rem}.checklist ul{grid-template-columns:1fr 1fr;gap:12px 24px;list-style:none;display:grid}.checklist li{gap:10px;font-size:.95rem;display:flex}.related-links{border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);padding:24px}.related-links ul{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.related-links a{border:1px solid var(--line);color:var(--ink2);background:#fff;border-radius:99px;padding:7px 14px;font-size:.88rem;font-weight:600;display:inline-block}.related-links a:hover{border-color:var(--pc);color:var(--pc);text-decoration:none}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:14px 16px}.table thead th{background:var(--bg);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);white-space:nowrap;font-size:.75rem;font-weight:700}.table tbody tr:last-child>*{border-bottom:0}.table tbody tr:hover{background:#fbfbfe}.table tbody th{font-weight:600}.table-tool{color:var(--ink);white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:inline-flex}.table--cmp tbody th{width:28%;color:var(--muted);font-weight:600}.table--cmp thead th{text-transform:none;letter-spacing:0;color:var(--ink);font-size:.9rem}.faq{margin-block:48px}.faq h2{margin-bottom:20px;font-size:1.55rem}.faq__list{gap:10px;display:grid}.faq__item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:box-shadow .2s}.faq__item[open]{box-shadow:var(--shadow)}.faq__item summary{cursor:pointer;font-weight:700;font-family:var(--font-display);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";background:var(--bg);width:26px;height:26px;color:var(--accent);border-radius:8px;flex:none;place-items:center;font-size:1.1rem;font-weight:600;transition:transform .2s;display:grid}.faq__item[open] summary:after{content:"−";background:var(--accent-soft)}.faq__item p{color:var(--ink2);margin:0;padding:0 20px 20px;line-height:1.7}.helpful{border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-block:40px;padding:18px 22px;font-weight:600;display:flex}.helpful__btns{gap:8px;display:flex}.helpful__btns button{border:1px solid var(--line2);background:#fff;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.helpful__btns button:hover,.helpful__btns button.is-on{border-color:var(--accent);color:var(--accent)}.quick-picks{counter-reset:none;gap:10px;margin-bottom:12px;list-style:none;display:grid}.quick-picks li{border-radius:var(--radius);border:1px solid var(--line);background:#fff;grid-template-columns:28px auto 1fr auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.quick-picks__n{font-family:var(--font-display);color:var(--pc);font-size:1.1rem;font-weight:800}.quick-picks__label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.75rem;font-weight:700;display:block}.quick-picks li a{font-family:var(--font-display);color:var(--ink);font-size:1.05rem;font-weight:700}.pick{border-radius:var(--radius-lg);border:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 16px);background:#fff;margin-block:24px;padding:28px}.pick__head{align-items:center;gap:18px;margin-bottom:16px;display:flex}.pick__head>div{flex:1}.pick__head h2{margin:2px 0 6px;font-size:1.5rem}.pick__label{text-transform:uppercase;letter-spacing:.07em;color:var(--pc);font-size:.78rem;font-weight:700}.pick__reason{color:var(--ink);background:var(--ps);border-radius:10px;padding:12px 16px;font-weight:600}.pick>p{color:var(--ink2)}.pick__grid{grid-template-columns:1fr 1fr;gap:20px;margin:20px 0;display:grid}.pick__grid h3{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:10px;font-size:.85rem}.pick__grid ul{gap:8px;list-style:none;display:grid}.pick__grid li{gap:8px;font-size:.92rem;display:flex}.pick__grid li svg{flex:none;margin-top:4px}.pick__grid div:first-child svg{color:#047857}.pick__grid div:last-child svg{color:#b91c1c}.pick__foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding-top:18px;display:flex}.pick__actions{align-items:center;gap:10px;display:flex}.ft{grid-template-columns:1fr 320px;align-items:start;gap:28px;display:grid}.ft__main{border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;gap:18px;min-width:0;padding:26px;display:grid}.ft__result{top:calc(var(--header-h) + 20px);border-radius:var(--radius-lg);background:var(--navy);color:#c8d0e6;gap:14px;padding:24px;display:grid;position:sticky}.ft__result .muted{color:#8f9bbf}.ft__result a{color:#c9c2ff}.ft__result .field{color:#c8d0e6}.ft__stat{border-bottom:1px solid #ffffff1a;padding:12px 0;display:grid}.ft__stat span{font-size:.8rem}.ft__stat strong{font-family:var(--font-display);color:#fff;font-size:1.8rem}.ft__result .callout{color:var(--ink);margin:0}.ft__result .btn--ghost{color:#c8d0e6;border-color:#fff3}.calc-rows{gap:8px;display:grid}.calc-row{grid-template-columns:1.6fr 1.3fr .9fr 1fr .7fr 40px;align-items:center;gap:8px;display:grid}.calc-row--head{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:.75rem;font-weight:700}.finder__q{gap:10px;display:grid}.finder__label{font-family:var(--font-display);margin:0;font-weight:700}.ft__result .finder__label{color:#fff}.finder__needs{flex-wrap:wrap;gap:8px;display:flex}.finder__needs .chip-btn{padding:9px 14px;font-size:.88rem}.finder__recs{gap:10px;list-style:none;display:grid}.finder__recs li{background:#ffffff0f;border-radius:12px;gap:2px;padding:12px 14px;display:grid}.finder__recs b{color:#fff;font-size:1.02rem}.seg{background:var(--bg);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-self:start;gap:4px;padding:4px;display:inline-flex}.seg button{color:var(--ink2);background:0 0;border:0;border-radius:9px;padding:8px 14px;font-size:.88rem;font-weight:600}.seg button.is-on{color:var(--accent);box-shadow:var(--shadow-sm);background:#fff}.checkgroup{border:0;gap:8px;margin:0;padding:0;display:grid}.checkgroup legend{font-family:var(--font-display);margin-bottom:8px;font-weight:700}.checkitem{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:background .15s;display:flex}.checkitem:hover{background:var(--bg)}.checkitem input{width:18px;height:18px;accent-color:var(--accent);flex:none}.checkitem:has(input:checked) span{color:var(--muted);text-decoration:line-through}.progress{--p:0%;aspect-ratio:1;background:conic-gradient(#5eead4 var(--p), #ffffff1a 0);border-radius:50%;place-items:center;width:140px;margin:0 auto;display:grid;position:relative}.progress:before{content:"";background:var(--navy);border-radius:50%;position:absolute;inset:12px}.progress span{font-family:var(--font-display);color:#fff;font-size:1.8rem;font-weight:800;position:relative}.sbs-pickers{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px;display:grid}.search-page{gap:18px;display:grid}.search-page__box{border:1px solid var(--line2);box-shadow:var(--shadow);color:var(--muted);background:#fff;border-radius:14px;align-items:center;gap:12px;padding:14px 18px;display:flex}.search-page__box input{background:0 0;border:0;outline:none;flex:1;font-size:1.1rem}.search-page .chip-nav{margin-top:0}.search-results{gap:8px;list-style:none;display:grid}.search-results a{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;text-decoration:none;display:flex}.search-results a:hover{border-color:var(--accent)}.search-results a>span:last-child{gap:1px;min-width:0;display:grid}.search-results__type{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.75rem;font-weight:700}.search-results__type-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.author-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.author-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;padding:28px;transition:box-shadow .2s;position:relative}.author-card:hover{box-shadow:var(--shadow)}.author-card h2{margin:16px 0 2px;font-size:1.3rem}.author-card h2 a{color:var(--ink)}.avatar{background:linear-gradient(135deg, var(--accent2), var(--accent));color:#fff;width:56px;height:56px;font-family:var(--font-display);border-radius:16px;flex:none;place-items:center;font-size:1.1rem;font-weight:800;display:inline-grid}.avatar--lg{border-radius:26px;width:96px;height:96px;font-size:1.8rem}.author-hero{align-items:flex-start;gap:32px;display:flex}.contact-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.contact-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#fff;padding:26px}.contact-card__icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:14px;display:inline-grid}.contact-card h2{font-size:1.15rem}.contact-card p{color:var(--muted);font-size:.94rem}.cta-box{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--accent-soft), #fff);border:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;padding:36px;display:flex}.cta-box p{max-width:620px;color:var(--ink2);margin:0}.nf{text-align:center;max-width:680px;padding-block:96px}.nf__code{font-family:var(--font-display);background:linear-gradient(135deg, var(--accent2), var(--teal));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 10px;font-size:clamp(5rem,12vw,8rem);font-weight:800;line-height:1}.nf__search{border:1px solid var(--line2);max-width:480px;color:var(--muted);border-radius:12px;align-items:center;gap:10px;margin:28px auto;padding:6px 6px 6px 16px;display:flex}.nf__search input{background:0 0;border:0;outline:none;flex:1;min-width:0}.nf__links{flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;display:flex}.nf__links a{border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:.9rem;font-weight:600;display:inline-block}.tray{z-index:40;width:min(760px,100vw - 24px);animation:rise .25s var(--ease);position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes rise{0%{opacity:0;transform:translate(-50%,12px)}}.tray__inner{background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);border-radius:16px;align-items:center;gap:14px;padding:12px 14px 12px 20px;display:flex}.tray__label{white-space:nowrap;font-size:.88rem;font-weight:700}.tray__items{flex-wrap:wrap;flex:1;gap:6px;list-style:none;display:flex}.tray__items li{background:#ffffff1a;border-radius:8px;align-items:center;gap:6px;padding:5px 6px 5px 11px;font-size:.84rem;font-weight:600;display:inline-flex}.tray__items button{color:#fff;background:#ffffff1f;border:0;border-radius:5px;place-items:center;width:20px;height:20px;display:grid}.tray__actions{align-items:center;gap:8px;display:flex}.tray .btn--ghost{color:#fff;border-color:#fff3}.tray .btn--ghost:hover{background:#ffffff14}.tray__hint{color:#aeb8d3;font-size:.8rem}.consent{z-index:45;border-radius:var(--radius-lg);border:1px solid var(--line);width:min(440px,100vw - 40px);box-shadow:var(--shadow-lg);animation:rise2 .3s var(--ease);background:#fff;gap:14px;padding:22px;display:grid;position:fixed;bottom:20px;left:20px}@keyframes rise2{0%{opacity:0;transform:translateY(12px)}}.consent__text strong{font-family:var(--font-display)}.consent__text p{color:var(--muted);margin:6px 0 0;font-size:.86rem;line-height:1.55}.consent__actions{justify-content:flex-end;gap:8px;display:flex}.ad{border-radius:var(--radius);background:var(--bg);justify-items:center;gap:6px;min-height:120px;margin-block:40px;padding:12px;display:grid}.ad__label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:.75rem;font-weight:700}.ad ins{width:100%}.ad--placeholder{border:1px dashed var(--line2);color:var(--muted);place-content:center;font-size:.85rem}.ad--sidebar{top:calc(var(--header-h) + 24px);min-height:250px;position:sticky}@media (max-width:1100px){.nav-primary .nav-link{padding:8px;font-size:.88rem}.site-footer__grid{grid-template-columns:repeat(3,1fr)}.site-footer__brand{grid-column:1/-1}.mega{grid-template-columns:220px 1fr}.mega__feature{display:none}.hero__inner{grid-template-columns:1fr;gap:40px;padding-block:72px}.hero__panel{max-width:560px}.pillar-card{grid-template-columns:1fr}.pillar-card__img{aspect-ratio:16/7}.tool-hero__grid{grid-template-columns:1fr}.tool-hero__card{max-width:520px}.ft{grid-template-columns:1fr}.ft__result{position:static}}@media (max-width:960px){:root{--header-h:62px}.nav-primary,.hide-sm{display:none!important}.show-sm{display:inline-grid!important}.layout-toc{grid-template-columns:1fr;gap:0;padding-top:32px}.layout-toc__side{display:none}.hub-hero__inner,.article-hero__grid,.method,.newsletter__inner,.hub-intro{grid-template-columns:1fr;gap:32px}.media-grid,.ft-grid,.card-grid--3,.feature-grid--3{grid-template-columns:repeat(2,1fr)}.tool-row{grid-template-columns:24px auto 1fr}.tool-row__side{border-top:1px dashed var(--line);grid-column:1/-1;grid-template-columns:auto auto 1fr auto;justify-items:start;padding-top:14px}.tool-row__side>.btn{justify-self:end}.pricing-box{grid-template-columns:1fr 1fr}.pricing-box>div:nth-child(2){border-right:0}.pricing-box>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:700px){.container{padding-inline:18px}.section{padding-block:52px}.block{margin-block:36px}.section-head{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px}.hero__inner{padding-block:52px 60px}.hero__lead{font-size:1.02rem}.hero h1{font-size:2.15rem}.hero__search{padding-left:14px}.hero__search .btn{padding-inline:14px}.hero__facts{gap:14px 24px}.hero__facts strong{font-size:1.35rem}.logo-strip__inner{flex-direction:column;align-items:flex-start;gap:14px}.logo-strip__inner>span{max-width:none}.logo-strip__logos{justify-content:flex-start;gap:10px}.pillar-grid,.media-grid,.ft-grid,.card-grid--3,.feature-grid,.feature-grid--3,.proscons,.fit,.choose,.pick__grid,.author-grid,.contact-grid,.checklist ul,.sbs-pickers,.card-grid{grid-template-columns:1fr}.site-footer__grid{grid-template-columns:1fr 1fr;gap:32px 20px}.site-footer__base{flex-direction:column;align-items:flex-start}.newsletter__inner{padding:32px 22px}.newsletter__form{flex-direction:column}.tool-hero__id{flex-direction:column;gap:16px}.tool-row{gap:14px;padding:18px}.tool-row__side{grid-template-columns:1fr 1fr}.tool-row__side>.btn{grid-column:1/-1;justify-self:stretch}.vs-board{gap:14px}.vs-board__side{padding:22px 12px 18px}.vs-board__side h2{font-size:1.1rem}.vs-board__vs{width:38px;height:38px;font-size:.75rem;right:-7px}.quick-picks li{grid-template-columns:22px auto 1fr}.quick-picks li .score{grid-column:3;justify-self:start}.pick{padding:20px}.pick__head{flex-wrap:wrap}.calc-row{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr 1fr;padding:12px}.calc-row--head{display:none}.calc-row input:first-child{grid-column:1/-1}.author-hero{flex-direction:column;gap:18px}.scorebar{grid-template-columns:100px 1fr 34px;gap:10px}.tray__inner{flex-wrap:wrap}.tray__actions{justify-content:flex-end;width:100%}.consent{width:auto;bottom:10px;left:10px;right:10px}.crumbs [aria-current]{max-width:24ch}.hub-hero__stats{gap:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.site-header,.site-footer,.tray,.consent,.ad,.layout-toc__side{display:none!important}}.callout--info{background:#eef4ff;border-color:#cfe0ff}.callout--info>svg{color:#2563eb}.callout>svg{flex:none;margin-top:3px}.callout p:last-child{margin-bottom:0}.tldr{border-radius:var(--radius);border:1px solid #dcd7ff;border-left:4px solid var(--pc);box-shadow:var(--shadow-sm);background:linear-gradient(#fbfaff,#fff);margin:28px 0;padding:22px 24px 20px;position:relative}.tldr h2,.tldr__title{text-transform:uppercase;letter-spacing:.12em;color:var(--pc);font-size:.76rem;font-weight:800;font-family:var(--font-sans);margin:0 0 12px}.tldr ul{gap:9px;list-style:none;display:grid}.tldr li{color:var(--ink2);padding-left:22px;line-height:1.55;position:relative}.tldr li:before{content:"";background:var(--pc);opacity:.75;border-radius:50%;width:8px;height:8px;position:absolute;top:.58em;left:2px}.tldr p:last-child{margin-bottom:0}.score-table{margin:8px 0 18px}.score-table tfoot th,.score-table tfoot td{background:var(--bg);border-top:2px solid var(--line2);font-weight:700}.score-table td{font-variant-numeric:tabular-nums}.mini-bar{vertical-align:middle;background:#edf0f7;border-radius:99px;width:64px;height:6px;margin-right:6px;display:inline-block;overflow:hidden}.mini-bar>span{border-radius:inherit;background:linear-gradient(90deg, var(--accent2), var(--accent));height:100%;display:block}.how-scored{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);margin:18px 0;padding:18px 20px}.how-scored__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.how-scored__head strong{font-family:var(--font-display);font-size:1.02rem}.how-scored__facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 12px;display:grid}.how-scored__facts dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem;font-weight:700}.how-scored__facts dd{color:var(--ink2);margin:2px 0 0;font-size:.9rem;font-weight:600}.how-scored p:last-child{margin-bottom:0}.badge--conf-high{color:#047857;background:#e7f8f1}.badge--conf-medium{color:#92400e;background:#fff4db}.badge--conf-low{color:#b91c1c;background:#fdecec}.badge--diff-easy{color:#047857;background:#e7f8f1}.badge--diff-moderate{color:#92400e;background:#fff4db}.badge--diff-hard{color:#b91c1c;background:#fdecec}.changelog{border-left:2px solid var(--line);gap:12px;margin:8px 0 18px 6px;list-style:none;display:grid}.changelog li{grid-template-columns:130px 1fr;gap:12px;padding-left:18px;font-size:.92rem;display:grid;position:relative}.changelog li:before{content:"";border:2px solid var(--pc);background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:.45em;left:-7px}.changelog time{color:var(--ink2);font-variant-numeric:tabular-nums;font-weight:700}.true-cost{margin:22px 0}.true-cost__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:10px;display:grid}.true-cost__cell{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;gap:3px;padding:16px 18px;display:grid}.true-cost__cell strong{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.35rem}.pick-label{text-transform:uppercase;letter-spacing:.1em;color:var(--pc);background:var(--ps);border-radius:99px;margin-bottom:8px;padding:3px 9px;font-size:.75rem;font-weight:800;display:inline-block}.steps{counter-reset:step;gap:12px;margin:14px 0 18px;list-style:none;display:grid;padding:0!important}.steps li{counter-increment:step;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;padding:12px 16px 12px 56px;line-height:1.55;position:relative;margin:0!important}.steps li:before{content:counter(step);background:var(--pc);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:11px;left:14px}.mistakes{gap:10px;margin:14px 0 18px;list-style:none;display:grid;padding:0!important}.mistakes li{border-radius:var(--radius-sm);background:#fff8f6;border:1px solid #fbd9d0;padding:12px 16px 12px 46px;line-height:1.55;position:relative;margin:0!important}.mistakes li:before{content:"!";color:#c2410c;background:#fde3dc;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.8rem;font-weight:800;display:grid;position:absolute;top:12px;left:14px}.mistakes li>b:first-child,.mistakes li>strong:first-child{color:var(--ink)}.table--compact th,.table--compact td{padding:10px 12px;font-size:.88rem}.table tbody tr.is-top{background:#f6f4ff}.method-note{font-size:.92rem}.formula{border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);padding:20px 22px;font-size:.92rem}.formula code,.formula pre{font-family:var(--font-mono), ui-monospace, monospace;font-size:.86rem}.matrix{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;gap:16px;margin:14px 0;padding:22px;display:grid}.matrix__weights{grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:10px 18px;display:grid}.matrix__weight{color:var(--ink2);grid-template-columns:1fr auto;align-items:center;gap:4px 10px;font-size:.84rem;font-weight:600;display:grid}.matrix__weight input{width:100%;accent-color:var(--accent);grid-column:1/-1}.matrix__weight output{font-variant-numeric:tabular-nums;color:var(--accent-ink);font-weight:700}.matrix__tools,.matrix__actions{flex-wrap:wrap;gap:8px;display:flex}.chip-check{border:1px solid var(--line2);cursor:pointer;background:#fff;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-size:.84rem;font-weight:600;display:inline-flex}.chip-check input{accent-color:var(--accent)}.chip-check:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.calc-form{align-content:start}.calc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.affix{border:1px solid var(--line2);background:#fff;border-radius:9px;align-items:stretch;display:flex;overflow:hidden}.affix:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field .affix input{border:0;border-radius:0;flex:1;box-shadow:none!important}.affix__p,.affix__s{background:var(--bg);color:var(--muted);white-space:nowrap;place-items:center;padding:0 11px;font-size:.85rem;font-weight:600;display:grid}.affix__p{border-right:1px solid var(--line)}.affix__s{border-left:1px solid var(--line)}.field__help{color:var(--muted);font-size:.78rem;font-weight:400;line-height:1.45}.calc-out{gap:0;margin:0;display:grid}.calc-out>div{border-bottom:1px solid #ffffff14;justify-content:space-between;gap:12px;padding:9px 0;font-size:.9rem;display:flex}.calc-out dt{color:#a9b3d1}.calc-out dd{color:#fff;text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.calc-out>.is-strong{border-bottom:0;padding-top:12px}.calc-out>.is-strong dt{color:#fff;font-weight:700}.calc-out>.is-strong dd{color:#a7f3d0;font-size:1.15rem}.finder{align-content:start}.stack-grid{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:20px;display:grid}.stack-card{border-radius:var(--radius-lg);border:1px solid var(--line);color:inherit;box-shadow:var(--shadow-sm);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s;background:#fff;flex-direction:column;gap:8px;padding:24px;display:flex;position:relative}.stack-card:hover{box-shadow:var(--shadow);border-color:#cfc8ff;text-decoration:none;transform:translateY(-3px)}.stack-card h2{margin:0;font-size:1.25rem}.stack-card p{color:var(--ink2);flex:1;margin:0;font-size:.94rem}.stack-card__icon{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.stack-card__logos{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.stack-card__foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding-top:14px;font-size:.86rem;display:flex}.stack-card__foot b{color:var(--ink);font-variant-numeric:tabular-nums}.stack-layers{counter-reset:layer;gap:14px;list-style:none;display:grid}.stack-layer{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;padding:18px 20px}.stack-layer__head{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-bottom:10px;display:grid}.stack-layer__head h3{margin:0;font-size:1.1rem}.stack-layer__head h3 a{color:var(--ink)}.stack-layer p{color:var(--ink2);margin-bottom:6px}.stack-layer p:last-child{margin-bottom:0}.rubric{border-radius:var(--radius);border:1px solid var(--line);background:#fff;margin:18px 0;padding:22px 24px}.rubric h3{margin-bottom:4px}.rubric__q{color:var(--ink2);font-size:1.02rem;font-style:italic}@media (max-width:700px){.how-scored__facts,.true-cost__grid,.calc-grid{grid-template-columns:1fr}.changelog li{grid-template-columns:1fr;gap:2px}.stack-grid{grid-template-columns:1fr}.matrix,.rubric{padding:16px}.steps li{padding-left:50px}.mini-bar{width:40px}}@media print{.site-header,.site-footer,.layout-toc__side,.print-hide,.ad,.breadcrumbs,.cookie-banner{display:none!important}.layout-toc{display:block!important}.matrix{box-shadow:none;border:0;padding:0}body{font-size:11pt}a{color:inherit}}.hub-points{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:12px;margin:18px 0 28px;list-style:none;display:grid;padding:0!important}.hub-points li{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);gap:4px;padding:16px 18px;display:grid;margin:0!important}.hub-points strong{font-family:var(--font-display);color:var(--ink)}.hub-points span{color:var(--ink2);font-size:.92rem;line-height:1.55}.page-hero .hub-hero__icon{display:grid}.layout-toc .tool-row{grid-template-columns:28px auto minmax(0,1fr)}.layout-toc .tool-row__side{border-top:1px dashed var(--line);grid-column:1/-1;grid-template-columns:auto auto 1fr auto;justify-items:start;padding-top:14px}.layout-toc .tool-row__side>.btn{justify-self:end}@media (max-width:700px){.layout-toc .tool-row__side{grid-template-columns:1fr 1fr}.layout-toc .tool-row__side>.btn{grid-column:1/-1;justify-self:stretch}}.layout-toc .tool-row__price{text-align:left}.formula code{white-space:normal;overflow-wrap:anywhere}.formula{overflow-wrap:anywhere}.why-alt{margin-bottom:26px}.why-alt__grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:12px;margin:12px 0 10px;list-style:none;display:grid}.why-alt__card{border:1px solid var(--line);border-radius:var(--radius);height:100%;color:var(--ink);transition:border-color .15s, box-shadow .15s, transform .15s var(--ease);background:#fff;gap:8px;padding:14px 16px;display:grid}.why-alt__card:hover{border-color:var(--pc);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}.why-alt__reason{text-transform:uppercase;letter-spacing:.08em;color:var(--pc);align-items:center;gap:6px;font-size:.75rem;font-weight:800;display:inline-flex}.why-alt__tool{align-items:center;gap:10px;display:flex}.why-alt__tool strong{font-family:var(--font-display)}.watchouts{margin-top:22px}.watchouts .h-sub{align-items:center;gap:8px;display:flex}.watchouts__list{gap:8px;margin:10px 0 14px;list-style:none;display:grid}.watchouts__list li{color:var(--ink2);background:#fff8eb;border:1px solid #fbe3b5;border-radius:10px;padding:12px 14px;font-size:.93rem}.watchouts__list strong{color:#8a4b00}.watchouts__ask{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:12px 16px}.watchouts__ask summary{cursor:pointer;color:var(--ink);font-weight:700}.watchouts__ask ol{gap:6px;margin:10px 0;padding-left:20px;font-size:.93rem;display:grid}.compliance__table{border-collapse:collapse;width:100%;font-size:.93rem}.compliance__table th,.compliance__table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:12px 10px}.compliance__table thead th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem}.compliance__table tbody th{gap:2px;min-width:180px;font-weight:700;display:grid}.compliance__table tbody th a{color:var(--ink)}.status-chip{white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:.76rem;font-weight:700;display:inline-block}.status-chip--unverified{color:#475069;background:#f1f3f8;border:1px dashed #b7bfd3}.status-chip--yes{color:#05603a;background:#e7f8ef}.status-chip--paid-plans{color:#8a4b00;background:#fff4e0}.status-chip--no{color:#a61b1b;background:#fdecec}.vendor-reply{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg);margin-top:20px;padding:16px 18px}.vendor-reply blockquote{border-left:3px solid var(--pc);margin:8px 0;padding-left:14px}.updates .chip-row{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.chip.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.chip span{opacity:.75;font-weight:500}.updates__day{margin-bottom:28px}.updates__date{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;font-size:1.1rem;display:flex}.updates__list{list-style:none}.updates__item{border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);gap:14px;padding:12px 0;display:grid}.updates__item p{margin:2px 0 0}.kind-tag{text-transform:uppercase;letter-spacing:.07em;background:var(--accent-soft);color:var(--accent-ink);border-radius:6px;place-self:start;padding:3px 8px;font-size:.75rem;font-weight:800}.kind-tag--comparison{color:#0b6463;background:#e6f6f6}.kind-tag--guide{color:#8a4b00;background:#fff2de}.kind-tag--insight{color:#9d174d;background:#fce7f3}.kind-tag--methodology{color:#fff;background:#0f172a}.az{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.az a{border:1px solid var(--line2);min-width:34px;height:34px;color:var(--ink);background:#fff;border-radius:8px;place-items:center;font-weight:700;display:grid}.az a:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.gloss-letter{color:var(--accent);border-bottom:1px solid var(--line);margin-top:26px;padding-bottom:6px;font-size:1.6rem}.gloss__item{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 20px);padding:12px 0}.gloss__item:target{background:var(--accent-soft);border-radius:8px;padding-left:10px;padding-right:10px}.gloss dt{font-weight:800;font-family:var(--font-display);color:var(--ink)}.gloss dd{color:var(--ink2);margin:4px 0 0}.nowrap{white-space:nowrap}.rfp{gap:20px;display:grid}.rfp__form{gap:18px;display:grid}.rfp__row{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:12px;display:grid}.rfp__reqs{gap:6px;margin-bottom:14px;list-style:none;display:grid}.rfp__reqs li{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px;padding:10px 12px;display:grid}.rfp__reqs li>div{gap:2px;display:grid}.rfp__reqs select,.field textarea{border:1px solid var(--line2);font:inherit;background:#fff;border-radius:8px;width:100%;padding:8px 10px;font-size:.88rem}.rfp__actions,.share-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rfp-doc{border:1px solid var(--line2);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:26px 28px}.rfp-doc h2{margin-bottom:4px;font-size:1.5rem}.rfp-doc h3{margin-top:20px;font-size:1rem}.rfp-doc ul{gap:4px;padding-left:20px;font-size:.93rem;display:grid}.rfp-doc__table{border-collapse:collapse;width:100%;margin-top:12px;font-size:.9rem}.rfp-doc__table th,.rfp-doc__table td{border:1px solid var(--line2);text-align:left;vertical-align:top;padding:8px 10px}.rfp-doc__table thead th{background:var(--bg);font-size:.78rem}.rfp-doc__blank{min-width:90px}.prio{white-space:nowrap;font-size:.75rem;font-weight:700}.prio--must{color:#a61b1b}.prio--nice{color:#475069}.sbs-bar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin:4px 0 18px;display:flex}.field--inline{grid-auto-flow:column;align-items:center;gap:10px}.field--inline select{width:auto}.win{color:#05603a;background:#e7f8ef;border-radius:6px;padding:1px 7px;font-weight:800;display:inline-block}.sbs-note{margin-top:10px}@media (max-width:640px){.updates__item{grid-template-columns:1fr;gap:6px}.rfp__reqs li{grid-template-columns:1fr}.rfp-doc{padding:18px 16px}.compliance__table thead{display:none}.compliance__table tr{border-bottom:1px solid var(--line);padding:10px 0;display:grid}.compliance__table th,.compliance__table td{border:0;padding:4px 0}.rfp-doc .rfp-doc__table{display:block;overflow-x:auto}}@media print{html.print-only-doc body *{visibility:hidden!important}html.print-only-doc .print-doc,html.print-only-doc .print-doc *{visibility:visible!important}html.print-only-doc .print-doc{width:100%;box-shadow:none;border:0;padding:0;position:absolute;top:0;left:0}.rfp-doc__blank{height:34px}}.checkgroup--grid{grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:8px;display:grid}.checkgroup--grid>legend{grid-column:1/-1}.checkitem--select:has(input:checked) span{color:var(--ink);font-weight:600;text-decoration:none}.checkitem--select:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.checkitem--select:has(input:disabled){opacity:.55}.rfp-doc>p:last-child{margin-top:14px}@media (max-width:640px){.print-doc .table--cmp th:first-child{z-index:1;min-width:96px;max-width:110px;box-shadow:1px 0 0 var(--line);background:#fff;font-size:.78rem;position:sticky;left:0}.print-doc .table--cmp td{min-width:150px}}body{overflow-wrap:break-word}.choose>*,.proscons>*,.fit>*,.rfp>*,.rfp__form>*,.search-page>*,.layout-toc>*,.layout-toc__main>*,.tool-row>*,.tool-row__side>*,.card-grid>*,.cat-grid>*,.cmp-grid>*,.media-grid>*,.stack-grid>*,.ft>*,.sbs-bar>*,.tool-hero__grid>*,.hub-hero__inner>*,.article-hero__grid>*{min-width:0}.search-page__box input{width:100%;min-width:0}.tool-row__price{overflow-wrap:anywhere}.rfp-doc{overflow-x:auto}@media (max-width:1180px){.nav-primary,.hide-sm{display:none!important}.show-sm{display:inline-grid!important}}@media (pointer:coarse){.btn,.btn--sm,.chip,.chip-btn,.link-btn,select,textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]){min-height:44px}.icon-btn{width:44px;height:44px}.helpful__btns button,.seg button{min-width:44px;min-height:44px}.table-tool,.link-arrow,summary{min-height:44px}summary{align-items:center;display:flex}input[type=range]{height:44px}.vote button,.vote--compact button{width:44px;height:44px}.logo{align-items:center;min-height:44px;display:inline-flex}.crumbs a,.site-footer li a,.site-footer__social a,.mobile-menu a,.mobile-menu summary,.az a,.compliance__table th a,.toc a,.link-list a,.chip-nav a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}.site-footer__social a{justify-content:center}.site-footer ul{gap:0!important}input[type=checkbox],input[type=radio]{width:22px;height:22px}}@media (max-width:520px){.consent{border-radius:16px;gap:10px;padding:14px 16px}.consent__text p{margin-top:4px;font-size:.8rem;line-height:1.45}.consent__actions{grid-template-columns:1fr 1fr;display:grid}}@media (max-width:960px){.site-header .container{gap:12px}.site-header__actions{gap:6px}}@media (max-width:1180px) and (min-width:961px){.tool-row{grid-template-columns:28px auto minmax(0,1fr)}.tool-row__side{border-top:1px dashed var(--line);grid-column:1/-1;grid-template-columns:auto auto 1fr auto;justify-items:start;padding-top:14px}.tool-row__side>.btn{justify-self:end}}@media (max-width:360px){.site-header__bar .logo{gap:7px;font-size:1.05rem}.site-header__bar .logo svg{width:26px;height:26px}}.table-wrap,.rfp-doc{position:relative}.tool-row__side>.tool-row__actions{flex-wrap:wrap;min-width:auto}@media (pointer:coarse){.meta-line a,.chip-check,.related-links a{min-height:44px}.related-links a,.meta-line a{align-items:center;display:inline-flex}.tool-row__main h3 a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}}.sbs-fallback{min-height:110vh}.gloss dd a{text-underline-offset:2px;text-decoration:underline}@media (pointer:coarse){.vs-board__side h2 a,.card h3>a:only-child,h2>a:only-child{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}h2 a,h3 a,h4 a,.quick-picks li>div>a,.finder__recs li>a,.finder__recs .tiny a,.nf__links a,.stack-card a{align-items:center;min-width:44px;min-height:44px;display:inline-flex}}
