@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-opsz-normal.DIwfbPUE.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-opsz-normal.C0olyEE-.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-opsz-normal.DrHU7SY7.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-opsz-normal.DX68cEVD.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:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-opsz-normal.HoL-AExg.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-opsz-normal.BpEBLj1O.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: #15202b;--ink-2: #44506a;--ink-3: #76809a;--paper: #fdfcf9;--paper-2: #f4f1e8;--paper-3: #ebe7da;--rule: #e4dfd2;--rule-2: #d6d0bf;--accent: #0e7c6b;--accent-dark: #0a5f52;--accent-soft: #e4f3ef;--accent-ink: #084d43;--amber: #b8860b;--amber-soft: #fff7df;--red: #a4442c;--red-soft: #fbece7;--max: 1080px;--serif: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;--sans: "Inter Variable", Inter, "Segoe UI", system-ui, -apple-system, sans-serif;--shadow-1: 0 1px 2px rgba(21, 32, 43, .05), 0 1px 1px rgba(21, 32, 43, .03);--shadow-2: 0 6px 20px -8px rgba(21, 32, 43, .16), 0 2px 6px rgba(21, 32, 43, .05);--shadow-3: 0 18px 40px -16px rgba(21, 32, 43, .22), 0 6px 14px -6px rgba(21, 32, 43, .08);--r-sm: 8px;--r: 12px;--r-lg: 16px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}h1,h2,h3,h4{font-family:var(--serif);line-height:1.18;color:var(--ink);letter-spacing:-.012em;font-weight:600}h1{font-size:2.75rem;margin:.25em 0 .35em;letter-spacing:-.02em;text-wrap:balance}h2{font-size:1.75rem;margin:2.2em 0 .6em}h3{font-size:1.28rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.container{max-width:var(--max);margin:0 auto;padding:0 20px}header.site{position:sticky;top:0;z-index:40;background:#fdfcf9db;backdrop-filter:blur(12px) saturate(1.3);-webkit-backdrop-filter:blur(12px) saturate(1.3);border-bottom:1px solid var(--rule)}header.site .inner{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}.logo{font-family:var(--serif);font-size:1.4rem;font-weight:700;color:var(--ink);white-space:nowrap;flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;letter-spacing:-.01em}.logo:hover{text-decoration:none}.logo em{color:var(--accent);font-style:normal}.logo .mark{width:30px;height:30px;border-radius:8px;background:var(--accent);display:inline-grid;place-items:center;box-shadow:0 2px 6px -2px #0e7c6b99;flex:0 0 auto}.logo .mark svg{width:18px;height:18px;display:block}nav.main{display:flex;gap:4px;font-size:.9rem;font-weight:600;flex-wrap:nowrap;white-space:nowrap;min-width:0}nav.main a{color:var(--ink-2);padding:7px 11px;border-radius:8px;transition:background .15s,color .15s}nav.main a:hover{color:var(--accent-dark);background:var(--accent-soft);text-decoration:none}nav.main a[aria-current=page]{color:var(--accent-dark);background:var(--accent-soft)}main{min-height:60vh}.hero{padding:64px 0 44px;position:relative}.hero .kicker,.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--accent);margin:0 0 10px}.hero-band{background:radial-gradient(900px 420px at 85% -10%,rgba(14,124,107,.13),transparent 60%),radial-gradient(600px 300px at 5% 110%,rgba(184,134,11,.1),transparent 60%),linear-gradient(180deg,#f8f6ef 0%,var(--paper) 100%);border-bottom:1px solid var(--rule);position:relative;overflow:hidden}.hero-band:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:linear-gradient(rgba(21,32,43,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(21,32,43,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 60% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 80% at 60% 0%,#000 20%,transparent 75%)}.hero-band .hero{padding:72px 0 52px}.hero-band h1{font-size:3.4rem;max-width:16em}.lede{font-size:1.18rem;color:var(--ink-2);max-width:44em;line-height:1.6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}.stats{display:flex;gap:0;margin-top:38px;border-top:1px solid var(--rule);padding-top:22px;flex-wrap:wrap}.stats div{padding-right:36px;margin-right:36px;border-right:1px solid var(--rule)}.stats div:last-child{border-right:0;margin-right:0;padding-right:0}.stats b{display:block;font-family:var(--serif);font-size:1.9rem;line-height:1.1;color:var(--ink);font-weight:600}.stats span{font-size:.82rem;color:var(--ink-3)}.updated{font-size:.85rem;color:var(--ink-3)}.byline{font-size:.88rem;color:var(--ink-3);margin:14px 0 0}.byline a{color:var(--ink-2);font-weight:500}.byline time{white-space:nowrap}.breadcrumbs{font-size:.8rem;color:var(--ink-3);padding-top:18px}.breadcrumbs a{color:var(--ink-3)}.breadcrumbs a:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff!important;font-weight:600;padding:12px 22px;border-radius:10px;font-size:.95rem;border:1.5px solid var(--accent);box-shadow:0 6px 16px -8px #0e7c6bb3,inset 0 1px #ffffff26;transition:transform .15s ease,box-shadow .15s ease,background .15s}.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark);text-decoration:none;transform:translateY(-1px);box-shadow:0 10px 22px -10px #0e7c6bbf}.btn.ghost{background:#fff;color:var(--accent-dark)!important;border-color:var(--rule-2);box-shadow:var(--shadow-1)}.btn.ghost:hover{background:var(--accent-soft);border-color:var(--accent)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0;border:1px solid var(--rule);border-radius:var(--r);background:#fff;box-shadow:var(--shadow-1)}.table-wrap table.cmp{margin:0;min-width:560px;border:0}table.cmp{width:100%;border-collapse:separate;border-spacing:0;margin:1.5em 0;font-size:.93rem;background:#fff}table.cmp th,table.cmp td{border-bottom:1px solid var(--rule);padding:13px 16px;text-align:left;vertical-align:top}table.cmp td+td,table.cmp th+th{border-left:1px solid var(--paper-2)}table.cmp th{background:var(--paper-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-weight:700}table.cmp tbody tr:last-child td{border-bottom:0}table.cmp tbody tr:hover td{background:#fbfaf6}table.cmp tbody td:first-child,table.cmp .tool-cell{white-space:nowrap}table.cmp .tool-name{display:flex;align-items:center;gap:10px}table.cmp .tool-cell a{color:var(--ink);font-weight:600}table.cmp .tool-cell a:hover{color:var(--accent)}.rank-pill{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:99px;background:var(--paper-2);color:var(--ink-2);font-size:.78rem;font-weight:700;font-family:var(--sans)}tr:first-child .rank-pill.top,.rank-pill.top{background:var(--accent);color:#fff}.tool-logo{border-radius:9px;background:#fff;border:1px solid var(--rule);object-fit:contain;padding:3px;flex:0 0 auto;box-shadow:var(--shadow-1)}.tool-logo.lg{border-radius:14px;padding:6px}.logo-stack{display:flex;align-items:center}.logo-stack .tool-logo+.tool-logo{margin-left:-10px}.vs-logos{display:flex;align-items:center;gap:14px;margin:6px 0 18px}.vs-logos .vs{font-family:var(--serif);font-style:italic;color:var(--ink-3);font-size:1.1rem}.rank-card{border:1px solid var(--rule);border-radius:var(--r-lg);padding:28px 30px 24px;margin:22px 0;background:#fff;box-shadow:var(--shadow-1);position:relative;transition:box-shadow .2s ease,transform .2s ease,border-color .2s}.rank-card:hover{box-shadow:var(--shadow-2);border-color:var(--rule-2)}.rank-card.top{border-color:#0e7c6b73;box-shadow:0 0 0 4px #0e7c6b12,var(--shadow-2)}.rank-card .rank-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.rank-card .rank-title{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.rank-card .badges{display:flex;gap:6px;flex-wrap:wrap}.rank-num{font-family:var(--serif);font-size:1.05rem;color:var(--ink-3);font-weight:600;letter-spacing:.02em}.rank-card .logo-wrap{position:relative;flex:0 0 auto}.rank-card .logo-wrap .num{position:absolute;top:-8px;left:-8px;width:26px;height:26px;border-radius:99px;background:var(--ink);color:#fff;font-size:.75rem;font-weight:700;display:grid;place-items:center;box-shadow:0 2px 6px #0003;font-family:var(--sans)}.rank-card.top .logo-wrap .num{background:var(--accent)}.rank-card h3{margin:0;font-size:1.5rem;line-height:1.15}.rank-card h3 a{color:var(--ink)}.rank-card h3 a:hover{color:var(--accent);text-decoration:none}.rank-card .pick{margin-left:auto;align-self:flex-start;background:var(--amber-soft);color:#8a6508;border:1px solid #f0dfa6;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;border-radius:99px;white-space:nowrap}.rank-card .blurb{color:var(--ink-2);margin:16px 0 6px;font-size:1rem}.rank-card .links{font-size:.88rem;display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 0;padding-top:14px;border-top:1px dashed var(--rule)}.rank-card .links a{font-weight:600}.badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:99px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}.badge.accent{background:var(--accent-soft);color:var(--accent-ink);border-color:#c5e5de}.proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:1em 0}.proscons>div{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r);padding:14px 16px}.proscons .pros{background:#f6fbf9;border-color:#d8ebe6}.proscons .cons{background:#fdf8f6;border-color:#efdcd5}.proscons h4{margin:0 0 8px;font-family:var(--sans);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.proscons .pros h4{color:var(--accent-dark)}.proscons .cons h4{color:var(--red)}.proscons ul{margin:0;padding-left:0;list-style:none;font-size:.93rem;color:var(--ink-2)}.proscons li{margin:6px 0;padding-left:22px;position:relative}.proscons li:before{content:"";position:absolute;left:0;top:.42em;width:14px;height:14px;border-radius:99px;background-position:center;background-repeat:no-repeat;background-size:9px}.proscons .pros li:before{background-color:#cfe9e2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.5 2.5L10 3.5' fill='none' stroke='%230a5f52' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.proscons .cons li:before{background-color:#f3d9d0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6h6' fill='none' stroke='%23a4442c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:1.2em 0}.meta-grid .cell{background:var(--paper-2);border-radius:var(--r-sm);padding:12px 15px;font-size:.88rem;border:1px solid transparent}.meta-grid .cell b{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:4px;font-weight:700}.note{background:var(--paper-2);border-left:3px solid var(--accent);padding:14px 18px;border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:.92rem;color:var(--ink-2);margin:1.4em 0}.verdict{border:1px solid #efdfa9;border-left:4px solid var(--amber);background:linear-gradient(180deg,#fffdf5,#fffaea);padding:18px 22px;border-radius:0 var(--r) var(--r) 0;margin:1.4em 0;box-shadow:var(--shadow-1)}.verdict b:first-child{color:var(--amber);text-transform:uppercase;font-size:.7rem;letter-spacing:.12em;display:block;margin-bottom:6px}.verdict p{margin:0}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:1.5em 0}.card{border:1px solid var(--rule);border-radius:var(--r);padding:20px 22px;background:#fff;box-shadow:var(--shadow-1);position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--rule-2)}.card h3{margin:0 0 4px;font-size:1.12rem}.card h3 a{color:var(--ink)}.card h3 a:after{content:"";position:absolute;inset:0}.card h3 a:hover{text-decoration:none;color:var(--accent-dark)}.card p{font-size:.9rem;color:var(--ink-2);margin:6px 0 0}.card .badge{position:relative;z-index:1;margin:6px 4px 2px 0}.card.has-logo{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}.card.has-logo .tool-logo{margin-top:2px}.card.has-logo h3{font-size:1.08rem}.card.link:after{content:"→";position:absolute;right:18px;top:18px;color:var(--ink-3);font-size:.95rem;transition:transform .18s,color .18s}.card.link:hover:after{transform:translate(3px);color:var(--accent)}footer.site{border-top:1px solid var(--rule);margin-top:80px;padding:48px 0 44px;font-size:.87rem;color:var(--ink-3);background:var(--paper-2)}footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}footer.site .cols p{margin:0;line-height:1.9}footer.site .cols b{display:block;color:var(--ink);font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px}footer.site .cols>div:first-child p{line-height:1.6;margin-top:10px}footer.site .logo{display:block;gap:0}footer.site a{color:var(--ink-2)}footer.site a:hover{color:var(--accent)}footer.site .featured-on{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:36px;padding-top:26px;border-top:1px solid var(--rule-2)}footer.site .featured-on span{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700;width:100%}footer.site .featured-on img{display:block;filter:saturate(.6);opacity:.85;transition:filter .15s,opacity .15s}footer.site .featured-on a:hover img{filter:none;opacity:1}footer.site .listed-on{font-size:.78rem;color:var(--ink-3);margin-top:10px}footer.site .listed-on a{color:var(--ink-3)}footer.site .legal{margin-top:28px;font-size:.8rem;line-height:1.7}article.prose{max-width:760px}article.prose p{color:var(--ink-2)}article.prose h2{font-size:1.6rem}.nav-toggle,label.nav-btn{display:none}@media(max-width:1150px){nav.main{gap:0;font-size:.84rem}nav.main a{padding:6px 8px}.logo{font-size:1.25rem}}@media(max-width:1040px){header.site .inner{height:60px}label.nav-btn{display:flex;align-items:center;justify-content:center;width:42px;height:38px;border:1px solid var(--rule);border-radius:8px;background:#fff;cursor:pointer;color:var(--ink-2);flex:0 0 auto}label.nav-btn span{display:block;width:18px;height:2px;background:currentColor;position:relative}label.nav-btn span:before,label.nav-btn span:after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor}label.nav-btn span:before{top:-6px}label.nav-btn span:after{top:6px}nav.main{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--rule);box-shadow:0 10px 24px #1a233214;padding:6px 0 10px;font-size:1rem}nav.main a{padding:12px 20px;border-bottom:1px solid var(--rule);border-radius:0}nav.main a:last-child{border-bottom:none}.nav-toggle:checked~nav.main{display:flex}header.site .inner{position:relative}.hero-band h1{font-size:2.6rem}}@media(max-width:800px){footer.site .cols{grid-template-columns:1fr 1fr}footer.site .cols>div:first-child{grid-column:1 / -1}}@media(max-width:700px){body{font-size:16px}.container{padding:0 16px}.proscons{grid-template-columns:1fr}.hero{padding:32px 0 22px}.hero-band .hero{padding:40px 0 30px}h1,.hero-band h1{font-size:1.9rem}h2{font-size:1.4rem;margin-top:1.8em}h3{font-size:1.12rem}.lede{font-size:1.05rem}.stats{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;margin-top:26px}.stats div{padding-right:0;margin-right:0;border-right:0}.stats b{font-size:1.5rem}.rank-card{padding:20px 18px;border-radius:var(--r)}.rank-card h3{font-size:1.25rem}.rank-card .pick{margin-left:0}.card{padding:16px 18px}.grid-cards{grid-template-columns:1fr;gap:12px}.meta-grid{grid-template-columns:1fr 1fr;gap:10px}.note,.verdict{padding:12px 14px;font-size:.9rem}footer.site{margin-top:48px;padding:32px 0 36px}footer.site .cols{gap:22px}.hero-actions .btn{flex:1 1 100%;justify-content:center}table.cmp{font-size:.86rem}table.cmp th,table.cmp td{padding:10px 12px}article.prose ul,article.prose ol{padding-left:20px}.table-wrap.stack{border:0;background:transparent;box-shadow:none;overflow:visible}.table-wrap.stack table.cmp{min-width:0;background:transparent}.table-wrap.stack thead{display:none}.table-wrap.stack tbody,.table-wrap.stack tr,.table-wrap.stack td{display:block}.table-wrap.stack tr{background:#fff;border:1px solid var(--rule);border-radius:var(--r);margin-bottom:12px;padding:14px 16px;box-shadow:var(--shadow-1)}.table-wrap.stack td{border:0!important;padding:4px 0;white-space:normal}.table-wrap.stack td[data-label]:before{content:attr(data-label);display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:700;margin-top:6px}.table-wrap.stack td.tool-cell{margin-bottom:4px}.table-wrap.stack .tool-name{gap:12px}.table-wrap.stack td.rank-cell{position:absolute}.table-wrap.stack tr{position:relative}.table-wrap.stack td.rank-cell{top:14px;right:14px;padding:0}}@media(max-width:420px){.meta-grid{grid-template-columns:1fr}h1,.hero-band h1{font-size:1.7rem}footer.site .cols{grid-template-columns:1fr}}img,svg,iframe{max-width:100%}.video-embed{position:relative;aspect-ratio:16 / 9;margin:18px 0}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:10px}p,li,td,th,h1,h2,h3,h4{overflow-wrap:break-word}#finder label{display:flex;gap:10px;align-items:flex-start;padding:6px 0;cursor:pointer}#finder input[type=radio]{flex:0 0 auto;width:18px;height:18px;margin:4px 0 0;accent-color:var(--accent)}#finder p{margin:2px 0}#finder h3{margin-bottom:8px}#matchBtn{min-height:44px}@media(max-width:700px){#finder{padding:18px!important}#matchBtn{width:100%}}@media(max-width:700px){.kicker,.hero .kicker{font-size:.78rem}.badge,.badge.accent,.meta-grid .cell b,.proscons h4,table.cmp th{font-size:.76rem}}.toc{border:1px solid var(--rule);border-radius:var(--r);padding:16px 20px;margin:24px 0;background:#fff;box-shadow:var(--shadow-1)}.toc b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}.toc li{margin:4px 0;font-size:.95rem;break-inside:avoid}@media(max-width:700px){.toc ol{columns:1}}.prose table{width:100%;border-collapse:collapse;margin:18px 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}.prose th{background:var(--paper-2);font-size:.85rem;letter-spacing:.02em}table.specs{width:100%;border-collapse:collapse;margin:1em 0 1.5em;font-size:.95rem}table.specs th,table.specs td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top}table.specs th{width:32%;color:var(--ink-2);font-weight:600}table.specs tr:nth-child(odd) th,table.specs tr:nth-child(odd) td{background:#fbfaf6}.hero-split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}.hero-split .hero-main{min-width:0}.news-rail{margin-top:30px;background:#ffffffb8;border:1px solid var(--rule);border-radius:var(--r-lg);padding:8px 18px 14px;box-shadow:var(--shadow-1);backdrop-filter:blur(6px)}.news-rail .rail-h{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--ink-3);margin:10px 0 4px}.news-item{display:block;padding:13px 0;border-bottom:1px solid var(--rule);color:var(--ink)}.news-item:hover{text-decoration:none}.news-item:hover b{color:var(--accent-dark)}.news-item .tagline{display:flex;align-items:center;gap:8px;font-size:.76rem;color:var(--ink-3);margin-bottom:4px}.news-item .new{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);background:var(--accent-soft);border-radius:4px;padding:2px 6px}.news-item .new.guide{color:#7a5a06;background:var(--amber-soft)}.news-item b{display:block;font-family:var(--serif);font-weight:600;font-size:1rem;line-height:1.3}.rail-more{display:inline-block;margin-top:12px;font-size:.86rem;font-weight:600}.lab{margin:56px 0 8px}.lab-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.lab-head h2{margin:0 0 6px}.muted-sm{font-size:.92rem;color:var(--ink-3);margin:0;max-width:42em}.btn.sm{padding:9px 16px;font-size:.88rem;white-space:nowrap}.lab-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px}.panel{background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:18px 20px 20px;box-shadow:var(--shadow-1);min-width:0}.panel-h{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.15rem;font-weight:600;margin-bottom:14px}.panel-h small{margin-left:auto;font-family:var(--sans);font-size:.74rem;color:var(--ink-3);font-weight:500}.panel-h .sq{width:12px;height:12px;border-radius:3px;background:var(--accent);flex:0 0 auto}.panel-h .sq.amber{background:var(--amber)}ol.bars{list-style:none;margin:0;padding:0;display:grid;gap:7px}ol.bars li{display:grid;grid-template-columns:26px minmax(0,1fr) 46px;align-items:center;gap:10px}ol.bars .pos{font-size:.78rem;font-weight:700;color:var(--ink-3);text-align:center;font-variant-numeric:tabular-nums}ol.bars .bar{position:relative;display:block;height:34px;border-radius:7px;background:var(--paper-2);overflow:hidden;color:var(--ink)}ol.bars .bar:hover{text-decoration:none}ol.bars .fill{position:absolute;inset:0 auto 0 0;width:var(--w);background:linear-gradient(90deg,#cfe9e2,#a9d9cd);border-radius:7px;transition:filter .15s}ol.bars li.lead .fill{background:linear-gradient(90deg,#5fb8a6,var(--accent))}ol.bars li.lead .lbl{color:#fff}ol.bars li.lead .pos{color:var(--accent)}ol.bars .bar:hover .fill{filter:brightness(.96) saturate(1.1)}ol.bars .lbl{position:relative;display:flex;align-items:center;gap:8px;height:100%;padding:0 8px;font-size:.88rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}ol.bars .lbl .tool-logo{border-radius:5px;padding:1px;box-shadow:none}ol.bars .val,.dims .val{font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:var(--ink)}ul.dims{list-style:none;margin:0;padding:0;display:grid;gap:14px}.dims .dim-top{display:flex;justify-content:space-between;gap:8px;font-size:.78rem;color:var(--ink-3);margin-bottom:6px}.dims .dim-top span{font-weight:600;color:var(--ink-2)}.dims .dim-row{display:grid;grid-template-columns:22px auto minmax(40px,1fr) 40px;align-items:center;gap:9px}.dims .dim-row b{font-size:.9rem;white-space:nowrap}.dims .dim-row .tie{grid-column:2 / -1;grid-row:2;color:var(--ink-3, #6b6b6b);font-size:.75rem;margin-top:-6px}.dims .dim-row .tool-logo{border-radius:5px;padding:1px;box-shadow:none}.dims .meter{height:8px;border-radius:99px;background:var(--paper-2);overflow:hidden}.dims .meter i{display:block;height:100%;border-radius:99px;background:var(--amber);opacity:.8}.seg-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:1.2em 0}.seg-chip{display:block;background:#fff;border:1px solid var(--rule);border-radius:12px;padding:12px 14px;color:var(--ink);transition:border-color .15s,background .15s,transform .15s}.seg-chip:hover{text-decoration:none;border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.seg-chip b{display:block;font-size:.92rem;margin-bottom:3px}.seg-chip span{display:block;font-size:.8rem;color:var(--ink-3);line-height:1.4}@media(max-width:1040px){.hero-split{grid-template-columns:1fr;gap:0}.news-rail{margin-top:8px}.seg-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.lab-grid{grid-template-columns:1fr}}@media(max-width:700px){.lab-head{flex-direction:column;align-items:flex-start}.seg-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero-split .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px}.hero-split .stats div{margin-right:0;padding:0 16px}.hero-split .stats div:first-child{padding-left:0}@media(max-width:700px){.hero-split .stats{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:18px}.hero-split .stats div{padding:0 12px 0 0;border-right:0}}.snap{margin:8px 0 40px}.snap-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.snap-head h2{margin:0}.snap-head a{font-size:.88rem}.snap-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:16px}.snap-card{background:#fff;border:1px solid var(--rule);border-radius:var(--r-lg);padding:14px 14px 12px;box-shadow:var(--shadow-1);display:grid;grid-template-columns:1fr auto;align-content:start;gap:6px 8px;min-width:0}.snap-card .snap-lbl{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);line-height:1.3;min-height:2.6em}.snap-card .snap-rank{font-size:.72rem;font-weight:700;color:var(--ink-3);white-space:nowrap}.snap-card b{grid-column:1 / -1;font-size:1.9rem;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.snap-card .meter{grid-column:1 / -1}.snap-card small{grid-column:1 / -1;font-size:.72rem;color:var(--ink-3)}.snap-card.main{background:var(--ink);border-color:var(--ink)}.snap-card.main .snap-lbl,.snap-card.main b{color:#fff}.snap-card.main .snap-rank,.snap-card.main small{color:#ffffffa6}@media(max-width:1100px){.snap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.snap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.snap-card .meter{height:6px;border-radius:99px;background:var(--paper-2);overflow:hidden;margin-top:4px}.snap-card .meter i{display:block;height:100%;border-radius:99px;background:var(--amber)}.snap-card.main .meter{background:#ffffff26}
