@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/287637279c44650d-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b387097da7407747-s.woff2) format("woff2");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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/cb9f64d62d112b41-s.p.woff2) format("woff2");unicode-range:u+00??,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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_ae2eaa{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_ae2eaa{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_1bc20f{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_1bc20f{--font-body:"IBM Plex Sans","IBM Plex Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,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:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--ink:#151a22;--ink-2:#3d4654;--ink-3:#6b7484;--paper:#f5f6f8;--surface:#ffffff;--line:#dfe3ea;--line-soft:#eceff3;--accent:#2a4b8d;--accent-wash:#e8edf7;--btn-fg:#ffffff;--brass:#c9761a;--brass-wash:#fbf0e1;--good:#17724f;--warn:#9a6510;--crit:#a32b2b;--radius:10px;--maxw:1180px;--serif:var(--font-display),Charter,"Iowan Old Style",Georgia,serif;--sans:var(--font-body),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,"SF Mono",Menlo,monospace}@media (prefers-color-scheme:dark){:root{--ink:#e8ebf0;--ink-2:#aeb6c4;--ink-3:#7c8698;--paper:#0f1319;--surface:#161c25;--line:#2a3340;--line-soft:#212934;--accent:#7fa3e8;--accent-wash:#1b2740;--btn-fg:#0f1319;--brass:#e0a253;--brass-wash:#2e2314;--good:#4fbf8f;--warn:#d9a441;--crit:#e0736f}}:root[data-theme=dark]{--ink:#e8ebf0;--ink-2:#aeb6c4;--ink-3:#7c8698;--paper:#0f1319;--surface:#161c25;--line:#2a3340;--line-soft:#212934;--accent:#7fa3e8;--accent-wash:#1b2740;--btn-fg:#0f1319;--brass:#e0a253;--brass-wash:#2e2314;--good:#4fbf8f;--warn:#d9a441;--crit:#e0736f}:root[data-theme=light]{--ink:#151a22;--ink-2:#3d4654;--ink-3:#6b7484;--paper:#f5f6f8;--surface:#ffffff;--line:#dfe3ea;--line-soft:#eceff3;--accent:#2a4b8d;--accent-wash:#e8edf7;--btn-fg:#ffffff;--brass:#c9761a;--brass-wash:#fbf0e1;--good:#17724f;--warn:#9a6510;--crit:#a32b2b}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}h1{font-size:clamp(32px,5vw,50px);line-height:1.08;letter-spacing:-.022em;margin:0 0 18px;max-width:18ch}h1,h2{font-family:var(--serif);text-wrap:balance}h2{font-weight:600;font-size:27px;letter-spacing:-.018em;margin:0 0 8px}h3{font-size:17px;font-weight:650;margin:0;letter-spacing:-.01em}.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 16px}.lede{font-size:17.5px;color:var(--ink-2);max-width:60ch;margin:0 0 28px}.prose{max-width:68ch}.prose p{margin:0 0 16px}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}.nav .wrap{display:flex;align-items:center;gap:26px;height:62px}.brand{font-family:var(--serif);font-size:19px;letter-spacing:-.015em;text-decoration:none;white-space:nowrap}.brand span{color:var(--accent)}.nav .wrap{position:relative}.navlinks{display:flex;gap:26px;align-items:center;position:absolute;left:50%;transform:translateX(-50%)}@media (max-width:900px){.navlinks{position:static;transform:none;margin-left:auto;gap:16px}}.navlinks a{font-size:14.5px;color:var(--ink-2);text-decoration:none;white-space:nowrap}.navlinks a:hover{color:var(--ink)}.btn{background:var(--accent);color:var(--btn-fg);border:0;border-radius:8px;padding:9px 15px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}.btn:hover{filter:brightness(1.08)}section{padding:52px 0}.sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}.sechead p{margin:0;color:var(--ink-3);font-size:14.5px;max-width:62ch}.seclink{font-size:14px;color:var(--accent);text-decoration:none;font-weight:600;white-space:nowrap}.surface{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));grid-gap:14px;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:11px;text-decoration:none}.card:hover{border-color:var(--accent)}.card.feat{border-color:var(--brass);box-shadow:inset 3px 0 0 var(--brass)}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card p{margin:0;font-size:13.8px;color:var(--ink-2);line-height:1.5}.feat-tag,.untested{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;border-radius:4px;padding:2px 6px;white-space:nowrap}.feat-tag{color:var(--brass);border:1px solid var(--brass)}.untested{color:var(--ink-3);border:1px solid var(--line)}.specs{display:flex;gap:18px;padding-top:11px;border-top:1px solid var(--line-soft);margin-top:auto}.spec .v{font-family:var(--mono);font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;display:block;letter-spacing:-.02em}.spec .k{font-size:10.5px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;margin-top:2px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{font-size:11.5px;color:var(--ink-3);background:var(--paper);border:1px solid var(--line-soft);border-radius:5px;padding:2px 7px}.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}table{border-collapse:collapse;width:100%;min-width:720px;font-size:14px}td,th{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line-soft);white-space:nowrap}thead th{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:500;background:var(--paper)}tbody tr:last-child td{border-bottom:0}td.name{font-weight:620}td.num{font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.pill{font-size:11.5px;font-weight:620;padding:3px 9px;border-radius:999px}.pill.y{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.pill.n{color:var(--ink-3);background:var(--line-soft)}.pill.w{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.disclosure{margin-top:24px;padding:15px 18px;border-left:3px solid var(--accent);background:var(--accent-wash);font-size:14px;color:var(--ink-2);border-radius:0 8px 8px 0}.disclosure b{color:var(--ink)}.notice{background:var(--brass-wash);border-bottom:1px solid var(--line);color:var(--ink-2);font-size:12.5px}.notice .wrap{display:flex;gap:10px;align-items:baseline;padding:8px 24px}.notice strong{color:var(--brass);font-weight:650;letter-spacing:.02em}.updated{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);letter-spacing:.02em}.h2h{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));grid-gap:9px;gap:9px}.h2h a{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:13.8px;text-decoration:none;color:var(--ink-2)}.h2h a:hover{border-color:var(--accent);color:var(--ink)}.h2h a:after{content:"→";color:var(--ink-3);font-size:13px}.catlabel{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:24px 0 10px;grid-column:1/-1}.catlabel:first-child{margin-top:0}footer{padding:40px 0 60px;color:var(--ink-3);font-size:13px}footer .rule{border-top:1px solid var(--line);padding-top:20px}@media (max-width:860px){.navlinks{gap:14px}.navlinks a{display:none}.navlinks .always,.navlinks .btn{display:inline-block}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.wrap{text-align:center}h1{max-width:20ch;letter-spacing:-.03em}.lede,h1{margin-left:auto;margin-right:auto}.eyebrow,.lede,.sechead{text-align:center}.sechead{flex-direction:column;align-items:center;gap:6px}.sechead p{margin-left:auto;margin-right:auto}.metrics,.statrow{justify-content:center}.card,.h2h a,.prose,.tablewrap{text-align:left}.prose{margin-left:auto;margin-right:auto}.disclosure{text-align:left}h1{font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 96;font-weight:600}h2{font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 40;letter-spacing:-.02em}.brand{font-variation-settings:"SOFT" 0,"WONK" 1,"opsz" 20}.lede{line-height:1.5;letter-spacing:-.005em}.prose p{line-height:1.68}.prose h2{margin-top:38px}.prose h3{margin-top:26px;font-size:16px}.prose ul{padding-left:20px;margin:0 0 18px}.prose li{margin-bottom:8px;line-height:1.6}.acq{margin-top:22px;padding:14px 18px;text-align:left;border-left:3px solid var(--brass);background:var(--brass-wash);border-radius:0 8px 8px 0;font-size:14px;color:var(--ink-2)}.acq b{color:var(--ink)}.acq-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass);border-radius:4px;padding:2px 6px;white-space:nowrap}.specbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:30px;text-align:left}.specbar div{background:var(--surface);padding:15px 18px}.specbar .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:5px}.specbar .v{font-size:16px;font-weight:600;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.proscons{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px;text-align:left}.pc{border:1px solid var(--line);border-radius:var(--radius);padding:20px;background:var(--surface)}.pc h3{margin-bottom:12px}.pc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.pc li{font-size:14px;color:var(--ink-2);padding-left:22px;position:relative;line-height:1.5}.pc.pro li:before{content:"+";color:var(--good)}.pc.con li:before,.pc.pro li:before{position:absolute;left:0;font-weight:700}.pc.con li:before{content:"\2212";color:var(--crit)}.usecase-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:12px;gap:12px;text-align:left}.uc{border:1px solid var(--line);border-radius:var(--radius);padding:17px;background:var(--surface);text-decoration:none;display:block}.uc:hover{border-color:var(--accent)}.uc h3{font-size:15px;margin-bottom:6px}.uc p{font-size:13.5px;color:var(--ink-2);margin:0 0 10px;line-height:1.5}.uc .rec{font-size:12.5px;color:var(--ink-3);font-family:var(--mono)}.uc .rec b{color:var(--accent);font-weight:500}.jumpnav{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:14px 0;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin-top:28px}.jumpnav a{font-size:12.5px;color:var(--ink-3);text-decoration:none;padding:5px 11px;border-radius:999px;border:1px solid transparent}.jumpnav a:hover{color:var(--accent);border-color:var(--line)}.deep{max-width:74ch;margin:0 auto;text-align:left}.deep h3{font-family:var(--sans);font-size:15.5px;font-weight:650;margin:26px 0 8px;letter-spacing:-.005em}.deep p{margin:0 0 15px;line-height:1.68;color:var(--ink-2)}.deep>p:first-child{margin-top:0}.deep ul{padding-left:20px;margin:0 0 16px}.deep li{margin-bottom:7px;line-height:1.6;color:var(--ink-2)}.featlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:8px;gap:8px;text-align:left;list-style:none;padding:0;margin:0}.featlist li{font-size:14px;color:var(--ink-2);padding:10px 14px 10px 32px;position:relative;background:var(--surface);border:1px solid var(--line-soft);border-radius:8px;line-height:1.45}.featlist li:before{content:"\2713";position:absolute;left:13px;color:var(--accent);font-weight:700}.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:14px;gap:14px;text-align:left}.plan{border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--surface)}.plan.hi{border-color:var(--accent)}.plan .pname{font-size:13px;color:var(--ink-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em}.plan .pprice{font-size:26px;font-weight:650;margin:8px 0 14px;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.plan li{font-size:13.5px;color:var(--ink-2);padding-left:18px;position:relative;line-height:1.45}.plan li:before{content:"\2022";position:absolute;left:0;color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.chips span{font-size:12.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:5px 11px}.faq{text-align:left;max-width:74ch;margin:0 auto}.faq details{border-bottom:1px solid var(--line-soft);padding:15px 0}.faq summary{cursor:pointer;font-weight:600;font-size:15px;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:baseline}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--accent);font-size:18px;line-height:1}.faq details[open] summary:after{content:"\2212"}.faq p{margin:11px 0 0;color:var(--ink-2);font-size:14px;line-height:1.6}.sources{text-align:left;max-width:74ch;margin:0 auto}.sources ol{padding-left:20px;margin:0}.sources li{font-size:13.5px;color:var(--ink-2);margin-bottom:7px}.sources a{color:var(--accent)}.verdict{max-width:74ch;margin:0 auto;text-align:left;padding:22px 24px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-wash);font-size:15.5px;line-height:1.62;color:var(--ink)}.btn.visit{display:inline-block;margin:22px 0 8px;padding:11px 20px;font-size:15px}.visit-note{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}.uc-rows{display:flex;flex-direction:column;gap:8px;text-align:left}.uc-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:15px 20px;text-decoration:none}.uc-row:hover{border-color:var(--accent)}.uc-row .uc-name{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;flex:0 0 auto;min-width:190px}.uc-row .uc-q{font-size:15.5px;color:var(--ink);flex:1 1;line-height:1.35}.uc-row:after{content:"→";color:var(--ink-3);flex:0 0 auto}.uc-row:hover:after{color:var(--accent)}@media (max-width:720px){.uc-row{flex-wrap:wrap;gap:6px}.uc-row .uc-name{min-width:0;flex-basis:100%}}.postlist{display:flex;flex-direction:column;gap:0;text-align:left}.postrow{display:block;text-decoration:none;padding:24px 0;border-bottom:1px solid var(--line-soft)}.postrow:first-child{border-top:1px solid var(--line-soft)}.postrow:hover .postrow-title{color:var(--accent)}.postrow-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.postrow-tag{color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:2px 7px;font-size:9.5px}.postrow-title{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:-.018em;margin:0 0 7px;line-height:1.22;color:var(--ink)}.postrow-dek{font-size:14.5px;color:var(--ink-2);margin:0;max-width:78ch;line-height:1.5}.catgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:14px;gap:14px;text-align:left}.catcard{display:flex;flex-direction:column;min-height:340px;padding:24px 22px 20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-decoration:none;position:relative;overflow:hidden}.catcard:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--accent);opacity:0}.catcard:hover{border-color:var(--accent)}.catcard:hover:before{opacity:1}.catcard-count{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}.catcard-name{font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-.018em;line-height:1.18;margin:0 0 10px;color:var(--ink);text-wrap:balance}.catcard-blurb{font-size:13.8px;color:var(--ink-2);line-height:1.52;margin:0}.catcard-tools{margin-top:auto;padding-top:16px;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:5px}.catcard-tools span{font-size:11.5px;color:var(--ink-3);background:var(--paper);border:1px solid var(--line-soft);border-radius:5px;padding:3px 8px;white-space:nowrap}.catcard-go{margin-top:14px;font-size:13px;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:6px}.toollogo{display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:500;letter-spacing:-.02em;position:relative;flex:0 0 auto;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toollogo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--surface)}.card-top .toollogo{margin-right:2px}.cardhead{display:flex;align-items:center;gap:10px}footer{padding:0 0 50px}.foot-pop{padding:30px 0 26px;border-top:1px solid var(--line)}.foot-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:0 0 14px}.foot-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}.foot-chip{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:7px 15px 7px 9px;background:var(--surface);text-decoration:none;color:var(--ink-2);font-size:13.5px;flex:0 0 auto}.foot-chip:hover{border-color:var(--accent);color:var(--ink)}.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:30px 24px;gap:30px 24px;padding:34px 0;border-top:1px solid var(--line);text-align:left}.foot-cols h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink);margin:0 0 14px;font-weight:500}.foot-cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.foot-cols a{color:var(--ink-2);text-decoration:none;font-size:13.8px;line-height:1.35}.foot-cols a:hover{color:var(--accent)}.foot-news{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;padding:28px 0;border-top:1px solid var(--line);text-align:left}.foot-news h4{font-family:var(--serif);font-size:19px;margin:0 0 5px;font-weight:600}.foot-news p{margin:0;font-size:13.5px;color:var(--ink-3)}.foot-form{display:flex;gap:8px;flex-wrap:wrap}.foot-form input{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 14px;color:var(--ink);font:inherit;font-size:14px;min-width:230px}.foot-form input::placeholder{color:var(--ink-3)}.foot-legal{padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3);text-align:left;line-height:1.6}.foot-brand{display:flex;align-items:center;gap:9px;margin-bottom:12px;color:var(--accent)}.foot-brand span{font-family:var(--serif);font-size:17px;color:var(--ink);letter-spacing:-.015em}