:root{--c-primary-50:#eef2ff;--c-primary-100:#e0e7ff;--c-primary-200:#c7d2fe;--c-primary-300:#a5b4fc;--c-primary-400:#818cf8;--c-primary-500:#6366f1;--c-primary-600:#4f46e5;--c-primary-700:#4338ca;--c-primary-800:#3730a3;--c-primary-900:#312e81;--c-accent:#7c3aed;--c-accent-700:#6d28d9;--grad-cta:linear-gradient(135deg, #7c3aed 0%, #4f46e5 100%);--grad-mark:linear-gradient(135deg, #818cf8 0%, #7c3aed 55%, #4f46e5 100%);--c-ink:#0b1220;--c-ink-2:#1e293b;--c-slate:#475569;--c-muted:#64748b;--c-faint:#94a3b8;--c-line:#e6e9f0;--c-line-2:#d6dbe6;--c-bg:#fff;--c-surface:#f7f8fc;--c-surface-2:#eef1f8;--c-ink-soft:#f4f6fc;--c-tested-bg:#e7f7ee;--c-tested-fg:#0f7a43;--c-tested-line:#bfe9cf;--c-tested-dot:#16a34a;--c-researched-bg:#fdf3e0;--c-researched-fg:#9a5b09;--c-researched-line:#f3ddb4;--c-researched-dot:#d97706;--c-verified-fg:#4338ca;--c-verified-bg:#eef2ff;--r-sm:8px;--r-md:14px;--r-lg:20px;--r-pill:999px;--sh-xs:0 1px 2px #0b12200d;--sh-sm:0 1px 2px #0b12200f, 0 2px 6px #0b12200d;--sh-md:0 2px 4px #0b12200d, 0 8px 20px #0b122012;--sh-lg:0 4px 8px #0b12200d, 0 18px 44px #0b12201a;--sh-indigo:0 10px 24px #4f46e52e, 0 24px 60px #4f46e538;--sh-cta:0 6px 16px #7c3aed47, 0 2px 4px #7c3aed33;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:48px;--s-10:64px;--s-11:80px;--s-12:96px;--s-13:128px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--body-size:17px;--body-lh:1.65;--w-prose:720px;--w-content:1080px;--w-wide:1240px;--tw-primary:var(--c-primary-600);--tw-accent:var(--c-accent)}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--body-size);line-height:var(--body-lh);color:var(--c-slate);background:var(--c-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}img,svg,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}ul,ol{padding:0;list-style:none}:focus-visible{outline:2.5px solid var(--c-primary-500);outline-offset:2px;border-radius:4px}h1,h2,h3,h4{color:var(--c-ink);letter-spacing:-.022em;text-wrap:balance;font-weight:800;line-height:1.12}h1{letter-spacing:-.03em;font-size:clamp(2.1rem,1.3rem + 3.6vw,4rem)}h2{letter-spacing:-.026em;font-size:clamp(1.6rem,1.1rem + 1.9vw,2.55rem)}h3{letter-spacing:-.02em;font-size:clamp(1.2rem,1rem + .7vw,1.6rem);font-weight:750}h4{letter-spacing:-.012em;font-size:1.06rem;font-weight:700}p{text-wrap:pretty}strong{color:var(--c-ink-2);font-weight:650}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--c-primary-600);align-items:center;gap:var(--s-2);font-size:.785rem;font-weight:700;display:inline-flex}.lead{color:var(--c-slate);font-size:clamp(1.08rem,1rem + .5vw,1.32rem);line-height:1.55}.muted{color:var(--c-muted)}.mono{font-family:var(--font-mono)}.wrap{width:100%;max-width:var(--w-wide);margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}.prose{max-width:var(--w-prose)}.content{max-width:var(--w-content)}.section{padding-block:clamp(48px,7vw,104px)}.section--tight{padding-block:clamp(36px,5vw,64px)}.bg-surface{background:var(--c-surface)}.bg-ink{background:var(--c-ink);color:#cdd5e6}.stack>*+*{margin-top:var(--s-4)}.divider{background:var(--c-line);border:0;height:1px}.grid{gap:var(--s-6);display:grid}@media (width>=720px){.grid-2{grid-template-columns:repeat(2,1fr)}}@media (width>=880px){.grid-3{grid-template-columns:repeat(3,1fr)}}@media (width<=879px){.grid-3{grid-template-columns:1fr}}.lockup{align-items:center;gap:11px;display:inline-flex}.lockup .mark{width:36px;height:36px;box-shadow:var(--sh-sm);border-radius:11px;flex:none}.lockup .word{flex-direction:column;line-height:1;display:flex}.lockup .word b{color:var(--c-ink);letter-spacing:-.03em;font-size:1.04rem;font-weight:800}.lockup .word span{letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);margin-top:3px;font-size:.68rem;font-weight:650}.btn{letter-spacing:-.01em;border-radius:var(--r-sm);white-space:nowrap;justify-content:center;align-items:center;gap:9px;padding:13px 22px;font-size:.98rem;font-weight:650;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s,background .18s;display:inline-flex}.btn .arr{transition:transform .2s cubic-bezier(.2,.7,.3,1)}.btn:hover .arr{transform:translate(4px)}.btn--primary{background:var(--grad-cta);color:#fff;box-shadow:var(--sh-cta)}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px #7c3aed57,0 3px 6px #7c3aed3d}.btn--secondary{color:var(--c-ink);box-shadow:inset 0 0 0 1.5px var(--c-line-2), var(--sh-xs);background:#fff}.btn--secondary:hover{box-shadow:inset 0 0 0 1.5px var(--c-primary-300), var(--sh-sm);color:var(--c-primary-700);transform:translateY(-2px)}.btn--ghost{color:var(--c-primary-700);padding-inline:6px}.btn--ghost:hover{color:var(--c-primary-900)}.btn--lg{padding:16px 28px;font-size:1.05rem}.btn--block{width:100%}.badge{letter-spacing:.005em;border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:6px;padding:5px 11px 5px 9px;font-size:.76rem;font-weight:700;line-height:1;display:inline-flex}.badge .dot{border-radius:50%;flex:none;width:7px;height:7px}.badge--tested{background:var(--c-tested-bg);color:var(--c-tested-fg);box-shadow:inset 0 0 0 1px var(--c-tested-line)}.badge--tested .dot{background:var(--c-tested-dot);box-shadow:0 0 0 3px #16a34a29}.badge--researched{background:var(--c-researched-bg);color:var(--c-researched-fg);box-shadow:inset 0 0 0 1px var(--c-researched-line)}.badge--researched .dot{background:var(--c-researched-dot);box-shadow:0 0 0 3px #d9770629}.chip-verified{font-family:var(--font-mono);color:var(--c-verified-fg);background:var(--c-verified-bg);border-radius:var(--r-sm);letter-spacing:-.01em;align-items:center;gap:6px;padding:4px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.chip-verified svg{width:12px;height:12px}.chip-tosource{font-family:var(--font-mono);color:var(--c-muted);background:var(--c-surface-2);border-radius:var(--r-sm);letter-spacing:-.01em;border:1px dashed var(--c-line-2);align-items:center;gap:6px;padding:4px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.card{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--c-line), var(--sh-sm);padding:var(--s-6);background:#fff;transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s}.card--hover:hover{box-shadow:inset 0 0 0 1px var(--c-line), var(--sh-md);transform:translateY(-3px)}.tool-card{gap:var(--s-4);flex-direction:column;display:flex}.tool-card__top{align-items:flex-start;gap:var(--s-3);display:flex}.tool-avatar{color:#fff;letter-spacing:-.02em;width:46px;height:46px;box-shadow:var(--sh-sm);border-radius:12px;flex:none;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.tool-card__name{color:var(--c-ink);letter-spacing:-.02em;font-size:1.12rem;font-weight:750}.tool-card__meta{color:var(--c-muted);font-size:.85rem}.tool-card__verdict{color:var(--c-slate);font-size:.96rem;line-height:1.5}.tool-card__crit{flex-direction:column;gap:7px;display:flex}.tool-card__crit li{color:var(--c-slate);align-items:baseline;gap:8px;font-size:.9rem;display:flex}.tool-card__crit li b{color:var(--c-ink-2)}.crit-tick{color:var(--c-tested-dot);flex:none;font-weight:800}.verdict{border-radius:var(--r-lg);box-shadow:var(--sh-indigo);background:#fff;padding:clamp(24px,3.4vw,38px) clamp(24px,3.4vw,40px) clamp(24px,3.4vw,38px) clamp(30px,4vw,48px);position:relative;overflow:hidden}.verdict:before{content:"";background:var(--grad-cta);width:7px;position:absolute;top:0;bottom:0;left:0}.verdict__label{letter-spacing:.14em;text-transform:uppercase;color:var(--c-primary-700);margin-bottom:var(--s-3);align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.verdict__title{font-size:clamp(1.3rem,1rem1.1vw,1.85rem);color:var(--c-ink);margin-bottom:var(--s-3)}.verdict__body{color:var(--c-slate);font-size:1.05rem;line-height:1.55}.verdict__picks{gap:var(--s-3);margin-top:var(--s-5);display:grid}@media (width>=760px){.verdict__picks{grid-template-columns:repeat(3,1fr)}}.pick{border-radius:var(--r-md);padding:var(--s-4);background:var(--c-surface);box-shadow:inset 0 0 0 1px var(--c-line)}.pick__tag{letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);font-size:.72rem;font-weight:800}.pick__tag.is-best{color:var(--c-accent)}.pick__name{color:var(--c-ink);letter-spacing:-.02em;margin:6px 0 4px;font-size:1.12rem;font-weight:800}.pick__note{color:var(--c-muted);font-size:.86rem}.cmp-wrap{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--c-line);-webkit-overflow-scrolling:touch;overflow-x:auto}.cmp{border-collapse:collapse;background:#fff;width:100%;min-width:640px}.cmp th,.cmp td{text-align:left;border-bottom:1px solid var(--c-line);vertical-align:top;padding:15px 18px}.cmp thead th{color:var(--c-ink);background:var(--c-surface);letter-spacing:-.01em;font-size:.82rem;font-weight:750;position:sticky;top:0}.cmp tbody th{color:var(--c-ink-2);background:var(--c-ink-soft);font-size:.9rem;font-weight:650}.cmp td{color:var(--c-slate);font-size:.9rem}.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}.cmp .is-pick{box-shadow:inset 3px 0 0 var(--c-accent)}.cmp .col-head{flex-direction:column;gap:6px;display:flex}.cmp .col-head .nm{color:var(--c-ink);align-items:center;gap:8px;font-size:.98rem;font-weight:800;display:flex}.breadcrumb{color:var(--c-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;display:flex}.breadcrumb .sep{color:var(--c-faint)}.faq{border-top:1px solid var(--c-line)}.faq details{border-bottom:1px solid var(--c-line)}.faq summary{cursor:pointer;padding:var(--s-5) 0;justify-content:space-between;gap:var(--s-4);color:var(--c-ink);letter-spacing:-.01em;align-items:center;font-size:1.06rem;font-weight:650;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .ic{width:22px;height:22px;color:var(--c-primary-600);flex:none;transition:transform .25s;position:relative}.faq details[open] summary .ic{transform:rotate(45deg)}.faq .ans{padding-bottom:var(--s-5);color:var(--c-slate);max-width:var(--w-prose)}.site-header{z-index:50;backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--c-line);background:#ffffffd1;position:sticky;top:0}.site-header .bar{justify-content:space-between;align-items:center;gap:var(--s-5);height:68px;display:flex}.nav-links{align-items:center;gap:var(--s-6);display:none}.nav-links a{color:var(--c-slate);font-size:.94rem;font-weight:550;transition:color .15s}.nav-links a:hover{color:var(--c-ink)}.nav-actions{align-items:center;gap:var(--s-3);display:flex}.nav-toggle{width:42px;height:42px;box-shadow:inset 0 0 0 1.5px var(--c-line-2);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}@media (width>=940px){.nav-links{display:flex}.nav-toggle{display:none}.nav-actions .btn--secondary{display:inline-flex}}@media (width<=939px){.nav-actions .hide-sm{display:none}}.mnav{border-top:1px solid var(--c-line);padding:var(--s-4) 0 var(--s-6);background:#fff;display:none}.mnav.open{display:block}.mnav a{color:var(--c-ink);border-bottom:1px solid var(--c-line);padding:13px 0;font-weight:600;display:block}.site-footer{background:var(--c-ink);color:#aeb8cd;padding-block:clamp(48px,6vw,80px)}.site-footer a{color:#c6cfe0;font-size:.92rem}.site-footer a:hover{color:#fff}.site-footer h5{color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--s-4);font-size:.82rem;font-weight:700}.foot-grid{gap:var(--s-8);grid-template-columns:1fr;display:grid}@media (width>=720px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}.foot-links{flex-direction:column;gap:11px;display:flex}.disclosure{gap:var(--s-3);background:var(--c-surface);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);color:var(--c-muted);box-shadow:inset 0 0 0 1px var(--c-line);align-items:flex-start;font-size:.86rem;display:flex}.disclosure svg{color:var(--c-primary-500);flex:none;width:18px;height:18px;margin-top:2px}.proof{gap:var(--s-5);grid-template-columns:1fr;display:grid}@media (width>=760px){.proof{grid-template-columns:repeat(3,1fr)}}.proof__item{gap:var(--s-3);align-items:flex-start;display:flex}.proof__ic{background:var(--c-primary-50);width:38px;height:38px;color:var(--c-primary-600);box-shadow:inset 0 0 0 1px var(--c-primary-100);border-radius:10px;flex:none;place-items:center;display:grid}.proof__item h4{margin-bottom:3px}.proof__item p{color:var(--c-muted);font-size:.88rem;line-height:1.5}.logos-band{flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,52px);display:flex}.logos-band .logo-name{color:var(--c-faint);letter-spacing:-.02em;font-size:1.02rem;font-weight:700;transition:color .2s}.logos-band .logo-name:hover{color:var(--c-slate)}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.wrap-gap{flex-wrap:wrap}.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-5{margin-top:var(--s-5)}.mt-6{margin-top:var(--s-6)}.mt-8{margin-top:var(--s-8)}.text-center{text-align:center}.tag-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.reading-progress{z-index:60;background:var(--grad-cta);width:0;height:3px;transition:width .1s linear;position:fixed;top:0;left:0;box-shadow:0 0 12px #7c3aed80}.back-top{z-index:55;background:var(--c-ink);color:#fff;width:48px;height:48px;box-shadow:var(--sh-lg);opacity:0;pointer-events:none;border-radius:50%;place-items:center;transition:opacity .3s,transform .3s cubic-bezier(.2,.7,.3,1);display:grid;position:fixed;bottom:22px;right:22px;transform:translateY(14px)scale(.85)}.back-top.show{opacity:1;pointer-events:auto;transform:none}.back-top:hover{background:var(--c-primary-700);transform:translateY(-2px)}.share{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.share__label{letter-spacing:.04em;text-transform:uppercase;color:var(--c-muted);margin-right:2px;font-size:.82rem;font-weight:700}.share__btn{border-radius:var(--r-sm);width:42px;height:42px;color:var(--c-slate);box-shadow:inset 0 0 0 1.5px var(--c-line-2);background:#fff;place-items:center;transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .16s,color .16s,background .16s;display:grid}.share__btn:hover{color:var(--c-primary-700);box-shadow:inset 0 0 0 1.5px var(--c-primary-300), var(--sh-sm);transform:translateY(-2px)}.share__btn svg{width:18px;height:18px}.share__btn.copied{color:var(--c-tested-fg);box-shadow:inset 0 0 0 1.5px var(--c-tested-line);background:var(--c-tested-bg)}.toast{z-index:80;background:var(--c-ink);color:#fff;border-radius:var(--r-pill);box-shadow:var(--sh-lg);opacity:0;pointer-events:none;align-items:center;gap:9px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:opacity .3s,transform .3s cubic-bezier(.2,.7,.3,1);display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.toast svg{color:#34d399;width:17px;height:17px}.statstrip{gap:var(--s-5);text-align:center;grid-template-columns:repeat(3,1fr);display:grid}@media (width<=620px){.statstrip{gap:var(--s-6);grid-template-columns:1fr}}.statstrip .num{letter-spacing:-.03em;background:linear-gradient(120deg,#4f46e5,#7c3aed);color:#0000;background-clip:text;font-size:clamp(2.4rem,1.6rem + 2.4vw,3.6rem);font-weight:800;line-height:1}.statstrip .lbl{color:var(--c-muted);margin-top:8px;font-size:.92rem;font-weight:500}.tip{cursor:help;border-bottom:1.5px dotted;position:relative}.tip:after{content:attr(data-tip);background:var(--c-ink);color:#e6eaf3;letter-spacing:0;text-transform:none;width:max-content;max-width:240px;box-shadow:var(--sh-md);opacity:0;pointer-events:none;z-index:70;border-radius:10px;padding:9px 12px;font-size:.78rem;font-weight:500;line-height:1.45;transition:opacity .18s,transform .18s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}.tip:before{content:"";border:6px solid #0000;border-top-color:var(--c-ink);opacity:0;z-index:70;transition:opacity .18s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.tip:hover:after,.tip:focus-visible:after{opacity:1;transform:translate(-50%)translateY(0)}.tip:hover:before,.tip:focus-visible:before{opacity:1}.toc a.active{color:var(--c-primary-700);border-color:var(--c-primary-600);font-weight:650}.fab-cta{z-index:54;box-shadow:var(--sh-lg);display:none;position:fixed;bottom:16px;left:16px;right:16px}@media (width<=740px){.fab-cta.armed{display:flex}}.cred{text-align:center}.cred__names{margin-top:var(--s-6);flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(18px,3.6vw,44px);display:flex}.cred-name{letter-spacing:-.025em;color:var(--c-faint);font-size:clamp(1.05rem,.9rem + .7vw,1.5rem);font-weight:750;transition:color .3s}.cred-disclaimer{color:var(--c-faint);margin-top:var(--s-5);max-width:560px;margin-inline:auto;font-size:.82rem}@media (prefers-reduced-motion:no-preference){.cred-name{animation:8s ease-in-out infinite spotlight;animation-delay:calc(var(--i,0) * .45s)}@keyframes spotlight{0%,80%,to{color:var(--c-faint)}88%{color:var(--c-slate);transform:translateY(-2px)}}}.trust-grid{gap:var(--s-6);grid-template-columns:1fr;display:grid}@media (width>=620px){.trust-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1040px){.trust-grid{grid-template-columns:repeat(4,1fr)}}.trust-item{gap:var(--s-3);flex-direction:column;display:flex}.trust-ic{background:var(--c-primary-50);width:44px;height:44px;color:var(--c-primary-600);box-shadow:inset 0 0 0 1px var(--c-primary-100);border-radius:12px;place-items:center;display:grid}.trust-item h4{margin-bottom:2px}.trust-item p{color:var(--c-muted);font-size:.9rem;line-height:1.55}.byline{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.byline__av{color:#fff;background:var(--grad-mark);width:42px;height:42px;box-shadow:var(--sh-sm);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:800;display:grid}.byline__who{font-size:.9rem}.byline__who b{color:var(--c-ink);font-weight:700}.byline__who span{color:var(--c-muted)}.byline__live{color:var(--c-tested-fg);align-items:center;gap:7px;font-size:.8rem;font-weight:600;display:inline-flex}.byline__live .pulse{background:var(--c-tested-dot);border-radius:50%;width:8px;height:8px;position:relative}@media (prefers-reduced-motion:no-preference){.byline__live .pulse:after{content:"";background:var(--c-tested-dot);border-radius:50%;animation:2s cubic-bezier(0,0,.2,1) infinite ping;position:absolute;inset:0}@keyframes ping{0%{opacity:.7;transform:scale(1)}75%,to{opacity:0;transform:scale(2.6)}}}.js-anim [data-reveal]{transition:transform .7s cubic-bezier(.2,.7,.3,1);transition-delay:var(--reveal-delay,0s);will-change:transform;transform:translateY(22px)}.js-anim [data-reveal=left]{transform:translate(-26px)}.js-anim [data-reveal=right]{transform:translate(26px)}.js-anim [data-reveal=scale]{transform:scale(.96)}.js-anim [data-reveal].in{transform:none}.js-anim .verdict:before{transform-origin:top;transition:transform .8s cubic-bezier(.2,.7,.3,1) .15s;transform:scaleY(0)}.js-anim .verdict.in:before{transform:scaleY(1)}.fit-bar{background:var(--c-surface-2);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.fit-bar>i{background:var(--grad-cta);border-radius:999px;width:0;height:100%;transition:width 1s cubic-bezier(.2,.7,.3,1);display:block}@keyframes sweep{0%{background-position:200% 0}to{background-position:-120% 0}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.5)}}@keyframes float-soft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js-anim [data-reveal]{transform:none!important}.js-anim .verdict:before{transform:scaleY(1)!important}}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--radius-sm:var(--r-sm);--radius:var(--r-md);--radius-lg:var(--r-lg);--shadow-xs:var(--sh-xs);--shadow-sm:var(--sh-sm);--shadow-md:var(--sh-md);--shadow-lg:var(--sh-lg);--c-ink-soft:var(--c-slate);--c-line-soft:var(--c-surface-2);--c-bg-soft:var(--c-surface);--c-bg-tint:var(--c-primary-50);--c-accent-500:#8b5cf6;--c-accent-600:var(--c-accent);--c-ok:var(--c-tested-fg);--c-ok-bg:var(--c-tested-bg);--c-ok-line:var(--c-tested-line);--c-warn:var(--c-researched-fg);--c-warn-bg:var(--c-researched-bg);--c-warn-line:var(--c-researched-line);--maxw:var(--w-wide);--maxw-prose:760px;--header-h:68px}.container{width:100%;max-width:var(--w-wide);margin-inline:auto;padding-inline:clamp(18px,4vw,40px)}.narrow{max-width:760px}.section--tint{background:var(--c-surface)}.section-head{max-width:60ch;margin-bottom:var(--s-8)}.section-head p{color:var(--c-slate);margin-top:var(--s-3);font-size:1.08rem}.section-head .eyebrow{margin-bottom:var(--s-3)}.prose{max-width:760px;padding-block:var(--s-9) var(--s-11);color:var(--c-slate)}.prose p{margin:0 0 var(--s-4);color:var(--c-slate)}.prose h2{margin-top:var(--s-10);margin-bottom:var(--s-4);scroll-margin-top:84px;font-size:clamp(1.5rem,1.1rem + 1.6vw,2.1rem)}.prose h3{margin-top:var(--s-8);margin-bottom:var(--s-3);scroll-margin-top:84px}.prose ul{margin:var(--s-4) 0 var(--s-6);padding-left:1.3rem;list-style:outside}.prose ol{margin:var(--s-4) 0 var(--s-6);padding-left:1.3rem;list-style:decimal}.prose li{margin-bottom:var(--s-2);color:var(--c-slate)}.prose li::marker{color:var(--c-primary-500)}.prose a{color:var(--c-primary-700);text-underline-offset:2px;text-decoration:underline 1px}.prose a:hover{color:var(--c-primary-900)}.prose strong{color:var(--c-ink-2);font-weight:650}.prose hr{background:var(--c-line);height:1px;margin:var(--s-10) 0;border:0}.toc{background:var(--c-surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--c-line);padding:var(--s-5) var(--s-6);margin:var(--s-8) 0}.toc>strong{text-transform:uppercase;letter-spacing:.08em;color:var(--c-muted);font-size:.82rem;font-weight:700}.toc ol{margin:var(--s-3) 0 0;columns:2;column-gap:var(--s-8);padding-left:1.1rem;list-style:decimal}.toc li{margin-bottom:var(--s-2);break-inside:avoid}.toc a{color:var(--c-slate)}.toc a:hover{color:var(--c-primary-700)}@media (width<=560px){.toc ol{columns:1}}.next{gap:var(--s-3);margin-top:var(--s-10);padding-top:var(--s-8);border-top:1px solid var(--c-line);flex-wrap:wrap;display:flex}.src-note{color:var(--c-muted);margin-top:var(--s-3);font-size:.85rem}.meta-line{color:var(--c-muted);margin-top:var(--s-8);font-size:.85rem}.btn-primary{background:var(--grad-cta);color:#fff;box-shadow:var(--sh-cta)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px #7c3aed57,0 3px 6px #7c3aed3d}.btn-ghost,.btn-secondary{color:var(--c-ink);box-shadow:inset 0 0 0 1.5px var(--c-line-2), var(--sh-xs);background:#fff}.btn-ghost:hover,.btn-secondary:hover{box-shadow:inset 0 0 0 1.5px var(--c-primary-300), var(--sh-sm);color:var(--c-primary-700);transform:translateY(-2px)}.btn-lg{padding:16px 28px;font-size:1.05rem}.btn-block{width:100%}.btn span[aria-hidden]{transition:transform .18s cubic-bezier(.2,.7,.3,1)}.btn:hover span[aria-hidden]{transform:translate(3px)}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.badge:has(.dot):before{display:none}.badge--tested:before{background:var(--c-tested-dot);box-shadow:0 0 0 3px #16a34a29}.badge--researched:before{background:var(--c-researched-dot);box-shadow:0 0 0 3px #d9770629}.verdict{margin-block:var(--s-6)}.verdict p{color:var(--c-slate);margin:0;font-size:1.05rem;line-height:1.55}.verdict p+p{margin-top:var(--s-3)}.verdict strong{color:var(--c-ink-2)}.cmp td:first-child,.cmp th:first-child{color:var(--c-ink-2);font-weight:650}.tool-card{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--c-line), var(--sh-sm);padding:var(--s-6);background:#fff;transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s}.tool-card:hover{box-shadow:inset 0 0 0 1px var(--c-line), var(--sh-md);transform:translateY(-3px)}.tool-card__head{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.tool-card__title{color:var(--c-ink);letter-spacing:-.02em;margin:0;font-size:1.12rem;font-weight:750}.tool-card .btn,.tool-card .aff-pending{margin-top:auto}.pick{background:var(--c-surface);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--c-line);padding:var(--s-6)}.verdict .pick{padding:var(--s-4)}.faq summary:after{content:"+";background:var(--c-primary-50);width:1.6rem;height:1.6rem;color:var(--c-primary-700);border-radius:50%;flex:none;place-items:center;margin-left:auto;font-weight:700;transition:transform .2s;display:grid}.faq summary:has(.ic):after{display:none}.faq details[open] summary:after{content:"−";transform:rotate(180deg)}.faq details>p{padding-bottom:var(--s-5);color:var(--c-slate);max-width:var(--w-prose);margin:0}.aff-pending{font-family:var(--font-mono);color:var(--c-muted);background:var(--c-surface-2);border-radius:var(--r-sm);border:1px dashed var(--c-line-2);align-items:center;gap:7px;padding:9px 13px;font-size:.82rem;font-weight:600;display:inline-flex}.skip-link{background:var(--c-ink);color:#fff;padding:var(--s-3) var(--s-4);border-radius:0 0 var(--r-sm) 0;z-index:200;position:absolute;top:0;left:-9999px}.skip-link:focus{top:0;left:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.breadcrumb ol{flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li{align-items:center;gap:8px;display:inline-flex}.breadcrumb li+li:before{content:"›";color:var(--c-faint)}.breadcrumb a{color:var(--c-muted)}.breadcrumb a:hover{color:var(--c-primary-700)}.breadcrumb [aria-current]{color:var(--c-ink-2);font-weight:600}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-ext-400-normal.BQZuk6qB.woff2)format("woff2"),url(/_astro/inter-cyrillic-ext-400-normal.DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-cyrillic-400-normal.obahsSVq.woff2)format("woff2"),url(/_astro/inter-cyrillic-400-normal.HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-ext-400-normal.DGGRlc-M.woff2)format("woff2"),url(/_astro/inter-greek-ext-400-normal.KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-greek-400-normal.B4URO6DV.woff2)format("woff2"),url(/_astro/inter-greek-400-normal.q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-vietnamese-400-normal.DMkecbls.woff2)format("woff2"),url(/_astro/inter-vietnamese-400-normal.Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-ext-400-normal.C1nco2VV.woff2)format("woff2"),url(/_astro/inter-latin-ext-400-normal.77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/inter-latin-400-normal.C38fXH4l.woff2)format("woff2"),url(/_astro/inter-latin-400-normal.CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-cyrillic-ext-500-normal.B0yAr1jD.woff2)format("woff2"),url(/_astro/inter-cyrillic-ext-500-normal.BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-cyrillic-500-normal.BasfLYem.woff2)format("woff2"),url(/_astro/inter-cyrillic-500-normal.CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-greek-ext-500-normal.C4iEst2y.woff2)format("woff2"),url(/_astro/inter-greek-ext-500-normal.2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-greek-500-normal.BIZE56-Y.woff2)format("woff2"),url(/_astro/inter-greek-500-normal.Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-vietnamese-500-normal.DOriooB6.woff2)format("woff2"),url(/_astro/inter-vietnamese-500-normal.mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-ext-500-normal.CV4jyFjo.woff2)format("woff2"),url(/_astro/inter-latin-ext-500-normal.BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/inter-latin-500-normal.Cerq10X2.woff2)format("woff2"),url(/_astro/inter-latin-500-normal.BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-ext-600-normal.Dfes3d0z.woff2)format("woff2"),url(/_astro/inter-cyrillic-ext-600-normal.Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-cyrillic-600-normal.CWCymEST.woff2)format("woff2"),url(/_astro/inter-cyrillic-600-normal.4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-ext-600-normal.DRtmH8MT.woff2)format("woff2"),url(/_astro/inter-greek-ext-600-normal.B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-greek-600-normal.plRanbMR.woff2)format("woff2"),url(/_astro/inter-greek-600-normal.BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-vietnamese-600-normal.Cc8MFFhd.woff2)format("woff2"),url(/_astro/inter-vietnamese-600-normal.BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-ext-600-normal.D2bJ5OIk.woff2)format("woff2"),url(/_astro/inter-latin-ext-600-normal.CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/inter-latin-600-normal.LgqL8muc.woff2)format("woff2"),url(/_astro/inter-latin-600-normal.CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-ext-700-normal.BjwYoWNd.woff2)format("woff2"),url(/_astro/inter-cyrillic-ext-700-normal.LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-cyrillic-700-normal.CjBOestx.woff2)format("woff2"),url(/_astro/inter-cyrillic-700-normal.DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-ext-700-normal.qfdV9bQt.woff2)format("woff2"),url(/_astro/inter-greek-ext-700-normal.BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-greek-700-normal.C3JjAnD8.woff2)format("woff2"),url(/_astro/inter-greek-700-normal.BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-vietnamese-700-normal.DlLaEgI2.woff2)format("woff2"),url(/_astro/inter-vietnamese-700-normal.BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-ext-700-normal.Ca8adRJv.woff2)format("woff2"),url(/_astro/inter-latin-ext-700-normal.TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/inter-latin-700-normal.Yt3aPRUw.woff2)format("woff2"),url(/_astro/inter-latin-700-normal.BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-cyrillic-ext-800-normal.BZOjs1Xv.woff2)format("woff2"),url(/_astro/inter-cyrillic-ext-800-normal.Ca-gJeZY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-cyrillic-800-normal.C7MGvYyJ.woff2)format("woff2"),url(/_astro/inter-cyrillic-800-normal.CCHyn08d.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-greek-ext-800-normal.B--PVpEC.woff2)format("woff2"),url(/_astro/inter-greek-ext-800-normal.DUe57HfS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-greek-800-normal.CLIouy3y.woff2)format("woff2"),url(/_astro/inter-greek-800-normal.BU00tryP.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-vietnamese-800-normal.Cm7tD1pz.woff2)format("woff2"),url(/_astro/inter-vietnamese-800-normal.DDlpr_Ee.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-latin-ext-800-normal.DZJjya6U.woff2)format("woff2"),url(/_astro/inter-latin-ext-800-normal.BOMpwxm3.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/inter-latin-800-normal.BYj_oED-.woff2)format("woff2"),url(/_astro/inter-latin-800-normal.D1mf63XC.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-cyrillic-500-normal.DmUKJPL_.woff2)format("woff2"),url(/_astro/jetbrains-mono-cyrillic-500-normal.DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-greek-500-normal.JpySY46c.woff2)format("woff2"),url(/_astro/jetbrains-mono-greek-500-normal.D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/_astro/jetbrains-mono-vietnamese-500-normal.DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-ext-500-normal.Cut-4mMH.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-ext-500-normal.ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/jetbrains-mono-latin-500-normal.BWZEU5yA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-500-normal.CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/jetbrains-mono-cyrillic-600-normal.EVf6-Yzo.woff2)format("woff2"),url(/_astro/jetbrains-mono-cyrillic-600-normal.8K4wrrwR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/jetbrains-mono-greek-600-normal.H7WoG9Et.woff2)format("woff2"),url(/_astro/jetbrains-mono-greek-600-normal.mc2nkWzM.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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)format("woff2"),url(/_astro/jetbrains-mono-vietnamese-600-normal.OWROknRo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/jetbrains-mono-latin-ext-600-normal.BfB_LPfz.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-ext-600-normal.DObL3zCW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/jetbrains-mono-latin-600-normal.C8RAYTDA.woff2)format("woff2"),url(/_astro/jetbrains-mono-latin-600-normal.BfsvjouI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.cc[data-astro-cid-kror3uvh]{z-index:80;border-top:1px solid var(--c-line);background:#fff;position:fixed;inset:auto 0 0;box-shadow:0 -8px 30px #0f172a1f}.cc-inner[data-astro-cid-kror3uvh]{align-items:center;gap:var(--sp-4);padding-block:var(--sp-4);flex-wrap:wrap;justify-content:space-between;display:flex}.cc-text[data-astro-cid-kror3uvh]{max-width:70ch;margin:0;font-size:.92rem}.cc-actions[data-astro-cid-kror3uvh]{gap:var(--sp-3);flex-shrink:0;display:flex}
