:root{
  --bg:#0b0d12; --bg2:#12151d; --card:#161a24; --card-hover:#1c2130;
  --border:#242a38; --text:#e8ecf3; --muted:#9aa4b8; --brand:#7c5cff;
  --brand2:#4dd6ff; --gold:#ffc04d; --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.narrow{max-width:640px}
.muted{color:var(--muted)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,13,18,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;gap:20px;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.3px;white-space:nowrap}
.logo .dot{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;font-size:15px}
.nav-links{display:flex;gap:16px;flex:1;overflow-x:auto;font-size:13.5px}
.nav-links a{color:var(--muted);white-space:nowrap}
.nav-links a:hover{color:var(--text)}
.nav-cta{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:9px 16px;border-radius:10px;font-weight:600;font-size:14px;white-space:nowrap}

/* Hero */
.hero{text-align:center;padding:72px 0 40px;position:relative;overflow:hidden}
.hero.small{padding:44px 0 24px;text-align:left}
.hero::before{content:"";position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:640px;height:340px;background:radial-gradient(ellipse,rgba(124,92,255,.28),transparent 70%);filter:blur(20px);z-index:-1}
.hero h1{font-size:clamp(30px,5vw,52px);font-weight:850;letter-spacing:-1.2px;line-height:1.08}
.hero .grad{background:linear-gradient(135deg,var(--brand),var(--brand2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero p{color:var(--muted);font-size:clamp(15px,2vw,18px);max-width:620px;margin:16px auto 0}
.hero.small p{margin-left:0}
.stats{display:flex;gap:28px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.stat b{font-size:22px;font-weight:800}.stat span{color:var(--muted);font-size:13px;display:block}

.search-bar{max-width:560px;margin:30px auto 0}
.search-bar input{width:100%;padding:15px 18px;font-size:16px;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:14px;outline:none}
.search-bar input:focus{border-color:var(--brand)}

/* Sections */
.section-head{display:flex;align-items:center;justify-content:space-between;margin:44px 0 18px;gap:12px}
.section-head h2{font-size:22px;font-weight:750;letter-spacing:-.4px}
.count{color:var(--muted);font-size:14px}

/* Category cards */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.cat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px;transition:transform .15s,border-color .15s}
.cat-card:hover{transform:translateY(-3px);border-color:#39415a}
.cat-icon{font-size:26px}
.cat-name{font-weight:700;font-size:16px}
.cat-desc{color:var(--muted);font-size:13px}

/* Tool grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:12px;transition:transform .15s,border-color .15s;position:relative}
.card:hover{transform:translateY(-3px);border-color:#39415a;background:var(--card-hover)}
.card.featured{border-color:rgba(255,192,77,.4);box-shadow:0 0 0 1px rgba(255,192,77,.15)}
.card-top{display:flex;align-items:center;gap:12px}
.icon{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font-size:17px;font-weight:800;color:#fff;flex-shrink:0}
.icon.big{width:64px;height:64px;font-size:24px;border-radius:16px}
.card h3{font-size:17px;font-weight:700;letter-spacing:-.2px}
.badge{position:absolute;top:14px;right:14px;font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);background:rgba(255,192,77,.12);padding:3px 8px;border-radius:6px}
.badge.inline{position:static}
.card p{color:var(--muted);font-size:14px;flex:1}
.card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:4px;gap:8px}
.tag{font-size:12px;color:var(--brand2);font-weight:600;background:rgba(77,214,255,.08);padding:4px 10px;border-radius:7px}
.price{font-size:12.5px;color:var(--muted);font-weight:600}
.price.big{font-size:18px;color:var(--text);margin:8px 0}
.compare-link{font-size:12.5px;color:var(--brand2);font-weight:600}
.empty{text-align:center;color:var(--muted);padding:50px 0}

/* Detail page */
.detail{padding-top:26px}
.crumbs{color:var(--muted);font-size:13px;margin-bottom:18px}
.crumbs a{color:var(--brand2)}
.detail-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid var(--border)}
.detail-head h1{font-size:30px;font-weight:800;letter-spacing:-.6px}
.detail-head .tagline{color:var(--muted);margin-top:4px}
.detail-head .btn{margin-left:auto}
.meta-row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.detail-body section{margin:28px 0}
.detail-body h2{font-size:21px;font-weight:750;margin-bottom:10px;letter-spacing:-.3px}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.pros,.cons{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}
.pros h3,.cons h3{font-size:15px;margin-bottom:10px}
.proscons ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.proscons li{color:var(--muted);font-size:14px;padding-left:4px}

/* Compare */
.compare-intro{margin:20px 0 4px}
.compare-intro p{color:var(--muted);font-size:15px;line-height:1.7;max-width:820px}
.compare-intro strong{color:var(--text)}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.compare-col{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px}
.compare-col h4{margin:16px 0 8px;font-size:14px}
.compare-col ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.compare-col li{color:var(--muted);font-size:13.5px}
.compare-col .btn{margin-top:16px;width:100%;text-align:center}

/* CTA + forms */
.cta-band{margin:56px 0;padding:40px;border-radius:24px;background:linear-gradient(135deg,rgba(124,92,255,.15),rgba(77,214,255,.1));border:1px solid var(--border);text-align:center}
.cta-band h2{font-size:26px;font-weight:800;letter-spacing:-.5px}
.cta-band p{color:var(--muted);margin:10px auto 22px;max-width:480px}
.btn{display:inline-block;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:13px 26px;border-radius:12px;font-weight:700;transition:transform .15s;border:none;cursor:pointer;font-size:15px}
.btn:hover{transform:translateY(-2px)}
.form{display:flex;flex-direction:column;gap:16px;margin-top:24px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.form input,.form textarea{padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:15px;font-family:inherit}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--brand)}
.form .check{flex-direction:row;align-items:center;gap:10px;font-weight:500;color:var(--muted)}
.submit-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}
.opt{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}
.opt h3{font-size:16px;margin-bottom:6px}
.opt p{color:var(--muted);font-size:14px}
.featured-opt{border-color:rgba(255,192,77,.4)}
.success-box{text-align:center;padding:50px 0}
.success-box h1{font-size:28px;margin-bottom:12px}
.success-box .btn{margin-top:22px}

.site-footer{border-top:1px solid var(--border);padding:34px 0;text-align:center;color:var(--muted);font-size:13.5px;margin-top:40px}
.site-footer a{color:var(--brand2)}

@media(max-width:720px){
  .proscons,.compare-grid{grid-template-columns:1fr}
  .nav-links{display:none}
  .detail-head .btn{margin-left:0;width:100%;text-align:center}
}
