:root{
  --bg-primary:#4F46E5;--bg-secondary:#2563EB;--bg-dark:#111827;--bg-page:#F8FAFC;--bg-card:#fff;
  --bg-border:#E5E7EB;--bg-success:#16A34A;--bg-muted:#64748B;--bg-ink:#111827;--bg-soft:#EEF2FF;
  --bg-radius:16px;--bg-radius-sm:10px;--bg-shadow:0 1px 2px rgba(17,24,39,.04),0 8px 24px rgba(17,24,39,.06);
  --bg-shadow-lg:0 20px 50px rgba(79,70,229,.18);--bg-grad:linear-gradient(135deg,#4F46E5,#2563EB);
  --bg-font:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --bs-body-font-family:var(--bg-font);--bs-primary:#4F46E5;--bs-primary-rgb:79,70,229;--bs-link-color:#4F46E5;--bs-link-hover-color:#2563EB;
}
[data-bs-theme=dark]{--bg-page:#0B1020;--bg-card:#121933;--bg-border:#243053;--bg-muted:#9AA6C4;--bg-ink:#E8ECF8;--bg-soft:#1B2347;--bs-body-bg:#0B1020;--bs-body-color:#E8ECF8;--bg-shadow:0 8px 24px rgba(0,0,0,.35)}
body{background:var(--bg-page);color:var(--bg-ink);font-family:var(--bg-font);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{letter-spacing:-.02em;font-weight:800;color:var(--bg-ink)}
.text-muted,.text-body-secondary{color:var(--bg-muted)!important}
.btn{border-radius:12px;font-weight:600}
.btn-brand{background:var(--bg-grad);color:#fff;border:0;padding:.7rem 1.3rem}
.btn-brand:hover{color:#fff;filter:brightness(1.08);box-shadow:var(--bg-shadow-lg)}
.btn-soft{background:var(--bg-soft);color:var(--bg-primary);border:0}
.btn-soft:hover{background:var(--bg-primary);color:#fff}
.form-control,.form-select{border-radius:var(--bg-radius-sm);border-color:var(--bg-border);background-color:var(--bg-card);color:var(--bg-ink);padding:.6rem .85rem}
.form-control:focus,.form-select:focus{border-color:var(--bg-primary);box-shadow:0 0 0 .2rem rgba(79,70,229,.18)}
.form-label{font-weight:600;font-size:.85rem;margin-bottom:.3rem}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;z-index:9999;background:#fff;padding:8px 12px;border-radius:8px}

/* header */
.site-header{position:sticky;top:0;z-index:1030;background:color-mix(in srgb,var(--bg-card) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--bg-border)}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:800;font-size:1.35rem;color:var(--bg-ink)!important;text-decoration:none}
.brand-mark{width:34px;height:34px;border-radius:10px;background:var(--bg-grad);color:#fff;display:grid;place-items:center;font-size:1rem}
.site-header .nav-link{font-weight:600;color:var(--bg-ink);border-radius:999px;padding:.45rem .9rem!important}
.site-header .nav-link:hover,.site-header .nav-link.active{background:var(--bg-soft);color:var(--bg-primary)}
.dropdown-menu{border-radius:14px;border-color:var(--bg-border);box-shadow:var(--bg-shadow);background:var(--bg-card)}
.dropdown-item{color:var(--bg-ink);border-radius:8px}.dropdown-item:hover{background:var(--bg-soft)}
.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--bg-border);background:var(--bg-card);color:var(--bg-ink);display:inline-grid;place-items:center}
.icon-btn:hover{background:var(--bg-soft);color:var(--bg-primary)}

/* hero */
.hero{background:radial-gradient(900px 400px at 50% -10%,rgba(79,70,229,.16),transparent),linear-gradient(180deg,var(--bg-soft),var(--bg-page));padding:5rem 0 3.5rem;text-align:center}
.hero h1{font-size:clamp(2.2rem,5.5vw,3.9rem);line-height:1.05}
.grad-text{background:var(--bg-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pill{display:inline-block;padding:.35rem .9rem;border-radius:999px;background:var(--bg-card);border:1px solid var(--bg-border);font-size:.8rem;font-weight:700;color:var(--bg-primary)}
.search-wrap{position:relative;max-width:700px;margin:0 auto;text-align:left}
.search-wrap .form-control{padding:1.1rem 1.3rem 1.1rem 3.2rem;font-size:1.05rem;border-radius:18px;box-shadow:var(--bg-shadow-lg)}
.search-wrap>.bi{position:absolute;left:1.2rem;top:1.15rem;color:var(--bg-muted);font-size:1.1rem}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--bg-card);border:1px solid var(--bg-border);border-radius:16px;box-shadow:var(--bg-shadow-lg);overflow:hidden;z-index:50;display:none}
.suggest.show{display:block}
.suggest button{display:flex;gap:.8rem;align-items:center;width:100%;text-align:left;background:none;border:0;padding:.7rem 1rem;color:var(--bg-ink)}
.suggest button:hover,.suggest button.active{background:var(--bg-soft)}
.suggest small{color:var(--bg-muted)}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .9rem;border-radius:999px;border:1px solid var(--bg-border);background:var(--bg-card);color:var(--bg-ink);font-weight:600;font-size:.85rem;cursor:pointer}
.chip:hover,.chip.on{background:var(--bg-primary);border-color:var(--bg-primary);color:#fff}

/* sections / cards */
.section{padding:3.5rem 0}.section-alt{background:var(--bg-card);border-block:1px solid var(--bg-border)}
.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--bg-primary)}
.cat-tile{display:block;background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--bg-radius);padding:1.4rem;color:var(--bg-ink);text-decoration:none;height:100%;transition:transform .15s,box-shadow .15s}
.cat-tile:hover{transform:translateY(-3px);box-shadow:var(--bg-shadow-lg);color:var(--bg-ink)}
.ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:1.3rem;background:var(--bg-soft);color:var(--bg-primary);flex:none}
.tool-card{background:var(--bg-card);border:1px solid var(--bg-border);border-radius:var(--bg-radius);padding:1.2rem;height:100%;display:flex;flex-direction:column;gap:.7rem;box-shadow:var(--bg-shadow);transition:transform .15s,border-color .15s}
.tool-card:hover{transform:translateY(-3px);border-color:var(--bg-primary)}
.tool-card h3{font-size:1.02rem;margin:0}.tool-card p{font-size:.88rem;color:var(--bg-muted);margin:0;flex:1}
.badge-live,.badge-soon{font-size:.68rem;font-weight:700;padding:.2rem .55rem;border-radius:999px}
.badge-live{background:rgba(22,163,74,.12);color:var(--bg-success)}.badge-soon{background:rgba(100,116,139,.15);color:var(--bg-muted)}
.fav{background:none;border:0;color:var(--bg-muted);font-size:1.1rem;padding:0}.fav.on{color:#E11D48}
.step-n{width:38px;height:38px;border-radius:50%;background:var(--bg-grad);color:#fff;display:grid;place-items:center;font-weight:800}
.accordion-item{background:var(--bg-card);border-color:var(--bg-border);color:var(--bg-ink)}
.accordion-button{background:var(--bg-card);color:var(--bg-ink);font-weight:700}
.accordion-button:not(.collapsed){background:var(--bg-soft);color:var(--bg-primary)}
.site-footer{background:var(--bg-dark);color:#CBD5E1;padding:3.5rem 0 1.5rem;margin-top:0}
.site-footer a{color:#CBD5E1;text-decoration:none}.site-footer a:hover{color:#fff}.site-footer h6{color:#fff}
.site-footer .brand{color:#fff!important}
.crumbs{font-size:.85rem;color:var(--bg-muted)}
