:root{--ink:#0f172a;--mut:#64748b;--bg:#f8fafc;--card:#fff;--line:#e2e8f0;--brand:#4f46e5;--brand2:#7c3aed;--ok:#059669;--warn:#b45309}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.nav{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;height:62px}.logo{font-weight:800;font-size:19px;text-decoration:none;color:var(--ink)}.logo span{color:var(--brand)}
.nav nav{display:flex;gap:18px;flex-wrap:wrap;margin-left:auto}.nav nav a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:500}.nav nav a:hover{color:var(--brand)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff!important;padding:10px 18px;border-radius:10px;text-decoration:none;font-weight:600;border:0}
.btn.ghost{background:#fff;color:var(--ink)!important;border:1px solid var(--line)}
.hero{padding:72px 0 40px;text-align:center}.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 16px;letter-spacing:-.02em}.hero p{color:var(--mut);font-size:19px;max-width:680px;margin:0 auto 26px}
.search{max-width:520px;margin:0 auto;display:flex}.search input{flex:1;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font-size:16px}
h2{font-size:26px;letter-spacing:-.01em;margin:44px 0 16px}.mut{color:var(--mut)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;transition:.15s}.card:hover{box-shadow:0 8px 24px rgba(15,23,42,.08);transform:translateY(-2px)}
.card h3{margin:0 0 6px;font-size:18px}.card h3 a{color:var(--ink);text-decoration:none}.card .price{font-weight:600}
.pill{display:inline-block;font-size:12px;padding:3px 10px;border-radius:99px;background:#eef2ff;color:var(--brand);font-weight:600;margin:2px 4px 2px 0}.pill.free{background:#ecfdf5;color:var(--ok)}.pill.warn{background:#fffbeb;color:var(--warn)}
.cat{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}.cat .ic{font-size:26px}
.banner{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-radius:18px;padding:32px;margin:48px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.banner h2{margin:0 0 6px;color:#fff}.banner p{margin:0;opacity:.9}.banner .btn{background:#fff;color:var(--brand)!important}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:14px}th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f1f5f9}
.prose{max-width:760px}.note{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:14px 16px;margin:16px 0}
form.f{display:grid;gap:12px;max-width:620px}form.f input,form.f select,form.f textarea{padding:12px;border:1px solid var(--line);border-radius:10px;font:inherit}
footer{border-top:1px solid var(--line);margin-top:64px;padding:28px 0;color:var(--mut);font-size:14px}footer .wrap{display:flex;gap:18px;flex-wrap:wrap;justify-content:space-between}footer a{color:var(--mut)}
.crumb{font-size:14px;color:var(--mut);margin:24px 0 0}.crumb a{color:var(--mut)}
@media(max-width:700px){.nav nav{display:none}}