@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-ext-wght-normal.C4zznr8T.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-vietnamese-wght-normal.CtlIRbEm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-ext-wght-normal.MQgHevqp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-wght-normal.DdeTHZLK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #101218;--paper: #f2f3ef;--white: #ffffff;--blue: #2344e8;--blue-dark: #1530b8;--citron: #d8ff56;--muted: #5e6371;--rule: #b6bac4;--display: "Archivo Variable", sans-serif;--body: "Public Sans Variable", sans-serif;--max: 1480px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:16px;line-height:1.55}::selection{color:var(--ink);background:var(--citron)}*{scrollbar-color:var(--blue) var(--paper);scrollbar-width:thin}a{color:inherit;text-underline-offset:.22em}button,input,select{font:inherit}:focus-visible{outline:3px solid var(--citron);outline-offset:3px}.skip-link{position:fixed;left:16px;top:12px;z-index:100;padding:10px 14px;color:var(--white);background:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{width:min(100% - 36px,var(--max));min-height:82px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;border-bottom:1px solid var(--ink)}.wordmark{display:inline-flex;align-items:center;gap:10px;width:max-content;font-family:var(--display);font-weight:760;font-size:1.18rem;text-decoration:none;letter-spacing:-.02em}.wordmark-mark{width:22px;height:17px;display:inline-block;background:var(--blue);border:2px solid var(--ink);box-shadow:inset 0 -5px var(--citron)}.site-header nav{display:flex;gap:30px;font-size:.9rem;font-weight:600}.site-header nav a{text-decoration:none}.site-header nav a:hover{text-decoration:underline}.header-action{justify-self:end;padding:10px 15px;border:1px solid var(--ink);text-decoration:none;font-size:.86rem;font-weight:720}.header-action:hover{color:var(--white);background:var(--ink)}.hero{min-height:690px;display:grid;grid-template-columns:minmax(300px,.78fr) minmax(640px,1.5fr);background:var(--blue);color:var(--white);border-bottom:1px solid var(--ink)}.hero-intro{padding:clamp(64px,7vw,112px) clamp(28px,5vw,80px) 40px max(28px,calc((100vw - var(--max)) / 2));display:flex;flex-direction:column}.hero h1{max-width:730px;margin:0;font-family:var(--display);font-size:clamp(3.4rem,6vw,6rem);line-height:.93;letter-spacing:-.04em;font-weight:820}.hero-intro>p{max-width:53ch;margin:30px 0 28px;color:#e6eaff;font-size:1.1rem}.primary-action{width:max-content;display:inline-flex;justify-content:space-between;gap:38px;padding:15px 18px;color:var(--ink);background:var(--citron);border:1px solid var(--ink);font-weight:760;text-decoration:none}.primary-action:hover{background:var(--white)}.primary-action.dark{color:var(--white);background:var(--ink)}.hero-note{max-width:430px;margin-top:auto;padding-top:26px;border-top:1px solid #8ea0ff;display:grid;grid-template-columns:112px 1fr;gap:18px;font-size:.76rem}.hero-note span{color:var(--citron);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.hero-note p{margin:0;color:#d6dcff}.hero-ledger{position:relative;margin:42px 0;padding:22px 0 0;color:var(--ink);background:var(--white);border:1px solid var(--ink);border-right:0;overflow:hidden}.sheet-title{padding:0 28px 20px;display:flex;justify-content:space-between;gap:20px;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.sheet-title span:last-child{color:var(--muted)}.category-tabs{display:flex;overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.category-tabs a,.category-tabs button{flex:0 0 auto;padding:12px 18px;color:var(--ink);background:transparent;border:0;border-right:1px solid var(--ink);text-decoration:none;font-size:.78rem;font-weight:720;cursor:pointer}.category-tabs a:hover,.category-tabs a.active,.category-tabs button:hover,.category-tabs button.active{background:var(--citron)}.ledger{position:relative}.ledger-head,.ledger-row{display:grid;grid-template-columns:minmax(220px,1.45fr) minmax(130px,.85fr) minmax(116px,.7fr) minmax(130px,.75fr) 48px;align-items:center}.ledger-head{min-height:42px;padding:0 18px;color:var(--muted);border-bottom:1px solid var(--rule);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.ledger-row{position:relative;min-height:86px;padding:0 18px;border-bottom:1px solid var(--rule);transition:background-color .18s ease-out,color .18s ease-out,opacity .22s ease-out}.ledger-row:hover,.ledger-row[data-focused]{background:color-mix(in srgb,var(--row-accent) 38%,white)}.hero-ledger .ledger-row[data-dimmed]{color:var(--muted);background:#f4f5f2}.hero-ledger .ledger-row[data-focused]:after{content:"";position:absolute;left:0;top:-1px;width:100%;height:3px;background:var(--blue);transform-origin:left;animation:ink-sweep .42s cubic-bezier(.16,1,.3,1) both}@keyframes ink-sweep{0%{transform:scaleX(.05)}to{transform:scaleX(1)}}.ledger-product{display:flex;align-items:center;gap:12px;min-width:0}.ledger-product input{width:18px;height:18px;margin:0;accent-color:var(--blue)}.ledger-index{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.ledger-product div{display:flex;flex-direction:column;min-width:0}.ledger-product a{width:max-content;max-width:100%;font-family:var(--display);font-size:1.05rem;font-weight:760;text-decoration:none}.ledger-product div span{color:var(--muted);font-size:.7rem}.ledger-row>span{font-size:.78rem}.evidence-dot{width:7px;height:7px;display:inline-block;margin-right:7px;background:#c87112;border-radius:50%}.row-arrow{justify-self:end;font-size:1.35rem;text-decoration:none}.compare-tray{min-height:64px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:var(--white);font-size:.8rem}.compare-tray b{color:var(--citron);font-variant-numeric:tabular-nums}.compare-tray a{padding:8px 12px;color:var(--ink);background:var(--citron);font-weight:800;text-decoration:none}.compare-tray a[aria-disabled=true]{color:#5a5d63;background:#d8dad5;pointer-events:none}.ledger-annotation{position:absolute;right:48px;bottom:84px;width:184px;padding:12px 15px;background:var(--citron);border:1px solid var(--ink);font-family:var(--display);font-size:.82rem;font-weight:760;line-height:1.15;transform:rotate(-2deg);box-shadow:0 12px 24px #10121826}.category-index,.source-queue{width:min(100% - 36px,var(--max));margin:0 auto;padding:112px 0}.section-heading{display:grid;grid-template-columns:1fr minmax(300px,560px);gap:80px;align-items:end;margin-bottom:56px}.section-heading h2,.method-strip h2{margin:0;font-family:var(--display);font-size:clamp(2.8rem,5vw,5.1rem);line-height:.96;letter-spacing:-.035em}.section-heading p{max-width:55ch;margin:0;color:var(--muted)}.category-list{border-top:1px solid var(--ink)}.category-row{min-height:116px;display:grid;grid-template-columns:72px minmax(230px,.8fr) 1fr 52px;gap:30px;align-items:center;border-bottom:1px solid var(--ink);text-decoration:none}.category-row:hover{background:var(--category-accent)}.category-number{font-size:.72rem;font-variant-numeric:tabular-nums}.category-row h3{margin:0;font-family:var(--display);font-size:clamp(1.4rem,2.5vw,2.3rem);letter-spacing:-.025em}.category-row p{max-width:55ch;color:var(--muted)}.category-row:hover p{color:var(--ink)}.category-arrow{justify-self:end;font-size:1.5rem}.method-strip{padding:96px max(28px,calc((100vw - var(--max)) / 2));display:grid;grid-template-columns:1.1fr .9fr;gap:80px;color:var(--white);background:var(--ink)}.method-strip>div>p{max-width:58ch;color:#c9ccd5}.method-strip dl{margin:0;border-top:1px solid #585d68}.method-strip dl div{padding:21px 0;display:grid;grid-template-columns:130px 1fr;gap:28px;border-bottom:1px solid #585d68}.method-strip dt{color:var(--citron);font-weight:800}.method-strip dd{margin:0;color:#d8dbe4}.method-strip>a{grid-column:2;width:max-content;color:var(--citron);font-weight:800}.section-heading.compact h2{font-size:clamp(2.3rem,4vw,4rem)}.queue-table{border-top:1px solid var(--ink)}.queue-table>div{min-height:82px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px;border-bottom:1px solid var(--ink)}.queue-table span{color:var(--muted)}.queue-table em{padding:7px 10px;background:#e2e4de;font-size:.74rem;font-style:normal;font-weight:720}.site-footer{padding:58px max(28px,calc((100vw - var(--max)) / 2)) 26px;display:grid;grid-template-columns:1fr 1fr;gap:42px 80px;color:var(--white);background:var(--blue-dark);border-top:1px solid var(--ink)}.wordmark-footer .wordmark-mark{background:var(--citron);box-shadow:inset 0 -5px var(--white)}.site-footer p{color:#d7ddff}.footer-links{display:grid;gap:9px;align-content:start}.footer-links a{width:max-content}.disclaimer{max-width:72ch;margin:0;font-size:.76rem}.copyright{justify-self:end;align-self:end;margin:0;font-size:.76rem}.page-shell{width:min(100% - 36px,var(--max));margin:0 auto;padding:26px 0 112px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:.75rem}.category-hero,.tool-hero{margin:38px 0 56px;padding:clamp(28px,5vw,72px);display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;background:var(--category-accent);border:1px solid var(--ink)}.category-hero h1,.tool-hero h1,.directory-hero h1,.compare-hero h1,.methodology-page>header h1{max-width:1000px;margin:0;font-family:var(--display);font-size:clamp(3.5rem,7vw,6rem);line-height:.92;letter-spacing:-.04em}.category-hero p,.tool-hero p{max-width:56ch;margin:24px 0 0}.category-question{padding-top:22px;border-top:1px solid var(--ink)}.category-question span{display:block;margin-bottom:8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.category-question strong{font-family:var(--display);font-size:1.35rem;line-height:1.2}.directory-section{margin-top:60px}.directory-heading{margin-bottom:24px;display:flex;justify-content:space-between;gap:40px;align-items:end}.directory-heading h2{margin:0;font-family:var(--display);font-size:2rem}.directory-heading p{max-width:55ch;margin:0;color:var(--muted);font-size:.85rem}.directory-hero{min-height:430px;padding:70px 0;display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:80px}.directory-hero p{max-width:48ch;color:var(--muted);font-size:1.05rem}.page-shell>.category-tabs{margin-bottom:44px;border:1px solid var(--ink)}.status-stamp{display:inline-block;margin-bottom:24px;padding:7px 10px;background:var(--ink);color:var(--white);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tool-hero dl{margin:0;border-top:1px solid var(--ink)}.tool-hero dl div{padding:14px 0;display:grid;grid-template-columns:120px 1fr;gap:18px;border-bottom:1px solid var(--ink)}.tool-hero dt{font-size:.73rem;font-weight:800}.tool-hero dd{margin:0}.tool-evidence{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;margin:90px 0}.tool-evidence h2,.tool-actions h2{margin:0 0 16px;font-family:var(--display);font-size:clamp(2.2rem,4vw,4rem);line-height:1;letter-spacing:-.03em}.tool-evidence p{max-width:50ch;color:var(--muted)}.tool-evidence ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}.tool-evidence li{min-height:68px;display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--ink)}.tool-evidence li span{color:var(--blue);font-weight:900}.tool-evidence li em{color:var(--muted);font-size:.72rem;font-style:normal}.tool-actions{padding:60px;display:flex;justify-content:space-between;gap:40px;align-items:center;background:var(--citron);border:1px solid var(--ink)}.tool-actions h2{margin:0}.compare-hero{min-height:440px;padding:62px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}.compare-hero p{max-width:50ch;color:var(--muted)}.compare-picker{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:14px}.compare-picker label{display:grid;gap:8px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.compare-picker select{width:100%;min-height:52px;padding:0 38px 0 14px;color:var(--ink);background:var(--white);border:1px solid var(--ink);border-radius:0}.compare-picker>span{padding-bottom:15px;color:var(--muted);font-size:.75rem}.comparison-sheet{border:1px solid var(--ink);background:var(--white)}.comparison-head,.comparison-row{display:grid;grid-template-columns:.6fr 1fr 1fr}.comparison-head{color:var(--white);background:var(--blue)}.comparison-head>*,.comparison-row>*{margin:0;padding:20px;border-right:1px solid currentColor}.comparison-head>*:last-child,.comparison-row>*:last-child{border-right:0}.comparison-row{border-top:1px solid var(--ink)}.comparison-row>span{color:var(--muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.comparison-row b{font-weight:570}.capabilities-row b{min-height:110px}.prototype-warning{margin:18px 0 0;color:var(--muted);font-size:.75rem}.methodology-page{width:min(100% - 36px,1180px);margin:0 auto;padding:110px 0 140px}.methodology-page>header{max-width:1050px;margin-bottom:110px}.methodology-page>header p{max-width:65ch;margin:32px 0 0;color:var(--muted);font-size:1.08rem}.methodology-grid{display:grid;grid-template-columns:220px 1fr;gap:90px}.methodology-grid nav{position:sticky;top:24px;height:max-content;display:grid;border-top:1px solid var(--ink)}.methodology-grid nav a{padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none}.methodology-copy section{padding:0 0 70px;margin-bottom:70px;border-bottom:1px solid var(--ink)}.methodology-copy h2{margin:0 0 24px;font-family:var(--display);font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.03em}.methodology-copy p{max-width:70ch;font-size:1.05rem}@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-intro{min-height:620px;padding-left:28px}.hero-ledger{margin:0 18px 50px;border-right:1px solid var(--ink)}.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.section-heading,.category-hero,.tool-hero,.method-strip,.tool-evidence,.compare-hero{grid-template-columns:1fr;gap:42px}.method-strip>a{grid-column:1}.category-row{grid-template-columns:52px 1fr 52px}.category-row p{grid-column:2;margin-top:-20px}.tool-actions{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.site-header{min-height:68px}.header-action{display:none}.hero{min-height:0}.hero-intro{min-height:590px;padding:66px 22px 30px}.hero h1{font-size:clamp(3rem,15vw,4.6rem)}.hero-note{grid-template-columns:1fr;gap:6px}.hero-ledger{margin:0;border-left:0;border-right:0}.ledger-head{display:none}.ledger-row{grid-template-columns:1fr 40px;gap:8px;padding:18px}.ledger-row>span{grid-column:1;padding-left:42px}.ledger-row>span:before{content:attr(data-label) ": ";color:var(--muted);font-weight:760}.row-arrow{grid-column:2;grid-row:1}.ledger-annotation{display:none}.compare-tray{position:sticky;bottom:0}.category-index,.source-queue{padding:78px 0}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:38px}.category-row{min-height:130px;grid-template-columns:38px 1fr 34px;gap:10px}.category-row p{grid-column:2;margin:-12px 0 16px;font-size:.82rem}.method-strip{padding-top:70px;padding-bottom:70px}.method-strip dl div{grid-template-columns:1fr;gap:5px}.queue-table>div{padding:18px 0;grid-template-columns:1fr;gap:4px}.queue-table em{width:max-content}.site-footer{grid-template-columns:1fr}.copyright{justify-self:start}.category-hero,.tool-hero{padding:28px;margin-bottom:36px}.category-hero h1,.tool-hero h1,.directory-hero h1,.compare-hero h1,.methodology-page>header h1{font-size:clamp(3rem,15vw,4.8rem)}.directory-hero{min-height:540px;grid-template-columns:1fr;gap:36px;padding:60px 0}.directory-heading{align-items:flex-start;flex-direction:column}.tool-actions{padding:34px 26px}.compare-picker{grid-template-columns:1fr}.compare-picker>span{padding:0}.comparison-sheet{overflow-x:auto}.comparison-head,.comparison-row{min-width:720px}.methodology-page{padding:70px 0 100px}.methodology-page>header{margin-bottom:70px}.methodology-grid{grid-template-columns:1fr;gap:50px}.methodology-grid nav{position:static}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
