:root{--bg:#fbfaf7;--card:#fff;--ink:#16181d;--muted:#5b6170;--line:#e6e3dc;--brand:#ff5a1f;--brand-ink:#b33a0c;--brand-soft:#fff1ea;--ok:#127a4a;--ok-soft:#e7f6ee;--radius:14px;--max:1120px;--shadow:0 1px 2px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.04)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand-ink)}a:hover{color:var(--brand)}
img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
header.site{position:sticky;top:0;z-index:5;background:rgba(251,250,247,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:20px;height:60px}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem;color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.logo svg{width:26px;height:26px}
nav.main{display:flex;gap:18px;margin-left:auto;flex-wrap:wrap}
nav.main a{color:var(--muted);text-decoration:none;font-size:.95rem}nav.main a:hover,nav.main a[aria-current]{color:var(--ink)}
.btn{display:inline-block;border:0;border-radius:999px;padding:10px 18px;font-weight:600;text-decoration:none;cursor:pointer;font-size:.95rem;background:var(--ink);color:#fff;line-height:1.2}
.btn:hover{color:#fff;background:#000}
.btn.brand{background:var(--brand)}.btn.brand:hover{background:var(--brand-ink)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{background:#fff}
.btn.sm{padding:7px 14px;font-size:.88rem}
.hero{padding:64px 0 28px;text-align:center}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 14px}
.hero p.lead{font-size:1.15rem;color:var(--muted);max-width:640px;margin:0 auto 26px}
.search{max-width:640px;margin:0 auto;position:relative}
.search input{width:100%;font-size:1.05rem;padding:15px 18px 15px 46px;border-radius:999px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);outline:none}
.search input:focus{border-color:var(--brand)}
.search svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px auto 6px;max-width:900px}
.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 13px;font-size:.88rem;cursor:pointer;color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.toggles{display:flex;gap:16px;justify-content:center;font-size:.9rem;color:var(--muted);margin-top:10px;flex-wrap:wrap}
.toggles label{display:flex;gap:6px;align-items:center;cursor:pointer}
.count{text-align:center;color:var(--muted);font-size:.9rem;margin:14px 0 8px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin:12px 0 40px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow);transition:transform .12s,border-color .12s}
.card:hover{transform:translateY(-2px);border-color:#d7d2c7}
.card h3{margin:0;font-size:1.08rem}.card h3 a{color:var(--ink);text-decoration:none}.card h3 a::after{content:"";position:absolute;inset:0}
.card{position:relative}
.card p{margin:0;color:var(--muted);font-size:.93rem}
.card .meta{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap;padding-top:6px}
.tag{font-size:.75rem;padding:3px 9px;border-radius:999px;background:#f2f0eb;color:var(--muted);white-space:nowrap}
.tag.free{background:var(--ok-soft);color:var(--ok)}.tag.ss{background:var(--brand-soft);color:var(--brand-ink)}
.card.featured{border:2px dashed var(--brand);background:var(--brand-soft)}
.card.featured .tag{background:#fff}
.empty{text-align:center;color:var(--muted);padding:30px;display:none}
section.block{padding:44px 0;border-top:1px solid var(--line)}
section.block h2{font-size:1.7rem;letter-spacing:-.02em;margin:0 0 8px}
.sub{color:var(--muted);margin:0 0 22px}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.cats a{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--ink)}
.cats a:hover{border-color:var(--brand)}.cats a span{display:block;color:var(--muted);font-size:.88rem;margin-top:4px}
.signup{background:var(--ink);color:#fff;border-radius:20px;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.signup h2{color:#fff}.signup p{color:#c9ccd3}
.todo{border:2px dashed #f0b429;background:#fffbea;color:#7a5b00;border-radius:12px;padding:16px;font-size:.9rem}
.signup .todo{background:rgba(255,251,234,.08);color:#ffd977}
.page{padding:40px 0 60px}
.page h1{font-size:clamp(1.9rem,4vw,2.6rem);letter-spacing:-.03em;line-height:1.15;margin:0 0 12px}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:14px}.crumbs a{color:var(--muted)}
.prose{max-width:740px}.prose h2{margin-top:2em;letter-spacing:-.01em}.prose li{margin:.3em 0}
.tool-head{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:26px 0}
.fact{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.fact h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px}
.fact p{margin:0}
.verdict{background:#fff;border-left:4px solid var(--brand);padding:16px 20px;border-radius:0 var(--radius) var(--radius) 0;font-size:1.08rem;margin:10px 0 18px}
.small{font-size:.85rem;color:var(--muted)}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin:26px 0}
.tier{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow)}
.tier.pop{border:2px solid var(--brand)}
.tier .price{font-size:2rem;font-weight:800;letter-spacing:-.02em}.tier .price small{font-size:.95rem;color:var(--muted);font-weight:500}
.tier ul{padding-left:18px;margin:0;color:var(--muted)}.tier .btn{margin-top:auto;text-align:center}
.todo-label{display:block;font-size:.72rem;font-weight:700;color:#7a5b00;background:#fffbea;border:1px dashed #f0b429;border-radius:6px;padding:3px 6px;text-align:center}
table.cmp{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:.92rem}
table.cmp th,table.cmp td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
table.cmp th{background:#f6f4ef;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.table-wrap{overflow-x:auto}
footer.site{border-top:1px solid var(--line);padding:30px 0 50px;color:var(--muted);font-size:.88rem}
footer.site .cols{display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between}
footer.site a{color:var(--muted)}
@media (max-width:760px){.signup{grid-template-columns:1fr;padding:26px}nav.main{gap:12px}nav.main a.hide-sm{display:none}header.site .wrap{height:auto;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}}
.signup .embed iframe{display:block;width:100%;max-width:480px;height:150px;border:0;border-radius:12px;background:#fff}
.signup .fallback{margin:10px 0 0;font-size:.88rem}.signup .fallback a{color:#ffb38f}
