:root{color-scheme:light;--red:#b82534;--bg:#fafafa;--text:#171717;--muted:#525252;--line:#d4d4d4;--control:#fff;--control-border:#a3a3a3}
@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--red:#ed7b81;--bg:#151515;--text:#eeeae4;--muted:#b0aca6;--line:#393735;--control:#202020;--control-border:#57534e}}
:root[data-theme="dark"]{color-scheme:dark;--red:#ed7b81;--bg:#151515;--text:#eeeae4;--muted:#b0aca6;--line:#393735;--control:#202020;--control-border:#57534e}
:root[data-theme="light"]{color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 system-ui,sans-serif}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--red)}
a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}
button,select{font:inherit}
.wrap{max-width:1080px;margin:auto;padding-inline:32px}
header{border-bottom:1px solid var(--line)}
.nav{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{font-size:28px;font-weight:750;letter-spacing:-1.5px;text-decoration:none}
.logo span,.red{color:var(--red)}
nav{display:flex;gap:28px;font-size:14px;color:var(--muted)}
nav a{text-decoration:none}
.theme-toggle{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0;background:transparent;color:var(--muted);border:0;cursor:pointer;white-space:nowrap;font-size:13px}
.theme-track{width:34px;height:20px;border-radius:999px;background:var(--line);border:1px solid var(--control-border);position:relative;flex:none}
.theme-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:transform .15s}
.theme-toggle[aria-checked="true"] .theme-thumb{transform:translateX(14px)}
.theme-toggle[aria-checked="false"] .theme-label:first-child,.theme-toggle[aria-checked="true"] .theme-label:last-child{color:var(--text);font-weight:600}
h1,h2,h3{line-height:1.2;letter-spacing:-.035em}
h1{font-size:clamp(34px,4.5vw,52px);font-weight:600;margin:0 0 20px}
h2{font-size:26px;font-weight:600;margin:0 0 16px}
h3{font-size:24px;font-weight:600;margin:0}
p{color:var(--muted);margin:12px 0}
.hero{padding:64px 0 48px;max-width:710px}
.hero h1{font-family:Georgia,serif;font-weight:400}
.hero p{max-width:620px;font-size:18px}
.section{padding:0 0 64px}
.sectionhead{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px;gap:20px}
.sectionhead h2{margin:0}
.muted{color:var(--muted)}
.small{font-size:13px}
.feature{display:flex;justify-content:space-between;gap:30px;padding:28px 0;border-block:1px solid var(--line);text-decoration:none}
.feature+.feature{border-top:0}
.feature:hover h2{color:var(--red)}
.feature h2{font-size:24px;margin:6px 0 12px}
.feature p{max-width:700px;margin:10px 0 0}
.feature .small{margin-top:20px}
.arrow{color:var(--red);font-size:26px;flex-shrink:0}
.category{color:var(--muted);font-size:13px}
.about{max-width:730px;font-size:14px;margin:24px 0 0}
.subnav{padding-top:32px;color:var(--muted);font-size:13px}
.articlehero{padding:32px 0 36px;max-width:870px}
.articlehero h1{margin-top:12px}
.lead{font-size:18px;max-width:780px}
.meta{display:flex;gap:8px 24px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:24px}
.takeaway{padding:8px 0 8px 24px;border-left:2px solid var(--red);margin-bottom:44px;max-width:850px}
.takeaway h2{font-size:27px;margin:0 0 12px}
.takeaway p:last-child{margin-bottom:0}
.criteria{margin-bottom:48px}
.criteria>p{max-width:800px}
.criteria ol{padding-left:20px;color:var(--muted);display:grid;grid-template-columns:1fr 1fr;gap:12px 40px}
.criteria li{padding-left:4px}
.criteria li::marker{color:var(--red)}
.filters{padding:20px 0;border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr) auto;gap:16px;margin-bottom:16px}
.filters label{font-size:13px;color:var(--muted)}
.filters select{display:block;width:100%;margin-top:8px;background:var(--control);color:var(--text);border:1px solid var(--control-border);border-radius:3px;padding:10px 8px}
.filters button{align-self:end;padding:10px 12px;border:1px solid var(--control-border);border-radius:3px;background:transparent;color:var(--text);cursor:pointer}
.filters button:hover{border-color:var(--red)}
.count{font-size:13px;margin:0 0 20px}
.tools{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.tool{padding:24px 0 28px;border-top:1px solid var(--line);min-width:0}
.tooltop{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.tooltitle{display:flex;align-items:baseline;gap:12px}
.rank{font-size:13px;color:var(--red);font-variant-numeric:tabular-nums}
.visit{font-size:13px;white-space:nowrap}
.tool .fit{color:var(--text);margin:8px 0 12px;font-size:15px}
.facts{display:flex;gap:4px 0;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.fact+.fact::before{content:'·';padding:0 8px;color:#817b74}
.tool p{font-size:14px;margin:14px 0}
.tool p strong{color:var(--text);font-weight:550}
.tool details{margin-top:20px}
.tool summary{cursor:pointer;font-size:14px;color:var(--text);text-decoration:underline;text-underline-offset:4px}
.sources{display:flex;flex-wrap:wrap;gap:8px 16px}
.sources a{color:var(--red);font-size:13px;overflow-wrap:anywhere}
.footnote{border-top:1px solid var(--line);padding-top:24px;margin:24px 0 64px;max-width:850px;font-size:13px}
footer{border-top:1px solid var(--line);min-height:100px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;gap:12px}
.skip-link{position:absolute;top:-100px;left:20px;padding:8px 16px;background:var(--text);color:var(--bg);z-index:2}
.skip-link:focus{top:12px}
@media(max-width:760px){
.wrap{padding-inline:20px}.nav{min-height:68px}nav{gap:20px;font-size:13px}.hero{padding:40px 0 32px}.hero p,.lead{font-size:16px}.section{padding-bottom:40px}.articlehero{padding-top:24px}.tools,.criteria ol{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.filters button{width:100%;grid-column:1/-1}.sectionhead{gap:8px;flex-direction:column}.takeaway{padding-left:18px}.takeaway h2{font-size:24px}footer{padding-block:24px;flex-direction:column;align-items:start;justify-content:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.theme-thumb{transition:none}}

@media(max-width:480px){.nav{gap:10px;flex-wrap:wrap;padding-block:10px}nav{gap:12px;flex-wrap:wrap;align-items:center}.theme-toggle{gap:5px}}
