:root{
  --brand:#7C4DFF; --brand-deep:#5e35d6; --brand-ink:#2b2440;
  --coral:#FF6B6B; --tangerine:#FF9F1C; --sunflower:#FFD23F; --leaf:#4CAF50; --sky:#3FA7FF; --grape:#7C4DFF;
  --bg:#FFFDF6; --bg-soft:#F6F1E6; --card:#ffffff; --border:#ece4d4;
  --ink:#2b2440; --ink-dim:#6b6478; --ink-faint:#9a93a5;
  --radius:14px; --radius-lg:22px; --radius-sm:9px; --maxw:1100px;
  --font:'Nunito','Quicksand',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif;
  --shadow:0 4px 16px rgba(124,77,255,.08); --shadow-lg:0 18px 44px rgba(124,77,255,.14);
}
@media (prefers-color-scheme:dark){:root{
  --bg:#161320; --bg-soft:#1e1a2c; --card:#1e1a2c; --border:#2e2842;
  --ink:#ece9f5; --ink-dim:#b3aac8; --ink-faint:#7d7596;
}}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);background:var(--bg);color:var(--ink);line-height:1.6;
  background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:22px 22px}
a{color:var(--brand-deep);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 18px}
h1,h2,h3{color:var(--ink);font-weight:800;letter-spacing:-.01em;line-height:1.18}
h1{font-size:2rem}h2{font-size:1.4rem}

/* nav */
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:14px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;font-size:1.5rem;font-weight:800;color:var(--brand);text-decoration:none}
.logo .dot{width:9px;height:9px;border-radius:50%}
.nav-links{display:flex;gap:16px;align-items:center;font-size:.95rem}
.nav-links a{color:var(--ink-dim)}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:9px 18px;border-radius:24px;font-weight:700;border:none;cursor:pointer;font-size:.95rem}
.btn:hover{background:var(--brand-deep);text-decoration:none}
.btn-ghost{background:transparent;color:var(--brand-deep);border:2px solid var(--brand)}

/* hero */
.hero{text-align:center;padding:34px 0 20px;position:relative}
.hero h1{font-size:2.4rem;margin:.2rem 0}
.hero h1 .hl{color:var(--brand)}
.hero p{color:var(--ink-dim);font-size:1.1rem;max-width:600px;margin:10px auto 20px}
.finder{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:30px;padding:8px 12px;box-shadow:var(--shadow)}
.finder select{border:none;background:var(--bg-soft);border-radius:20px;padding:8px 12px;font:inherit;color:var(--ink);font-size:.9rem}
.finder .go{background:var(--brand);color:#fff;border:none;width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1.1rem}

/* category tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}
.tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;text-align:center;display:block;color:var(--ink);transition:transform .12s}
.tile:hover{transform:translateY(-3px);text-decoration:none;box-shadow:var(--shadow)}
.tile .ic{font-size:1.9rem;line-height:1}
.tile .nm{font-weight:800;margin-top:8px}
.tile .ct{font-size:.8rem;color:var(--ink-faint)}

/* asset grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin:18px 0}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative;transition:transform .12s}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}
.card img{width:100%;aspect-ratio:1;object-fit:contain;background:#fff;display:block}
.card .meta{padding:8px 10px 10px}
.card .t{font-size:.82rem;font-weight:700;color:var(--ink);display:block}
.badge{position:absolute;top:8px;right:8px;font-size:.65rem;font-weight:800;padding:3px 8px;border-radius:10px}
.badge.free{background:#e6f4e6;color:#27500A}
.badge.prem{background:#FFF6D6;color:#633806}
.pill{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:8px;background:var(--bg-soft);color:var(--ink-dim);margin-right:4px}

/* page detail */
.detail{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:20px 0;align-items:start}
@media(max-width:680px){.detail{grid-template-columns:1fr}.hero h1{font-size:1.8rem}}
.detail .preview{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px}
.detail .preview img{width:100%;display:block}
.dl-row{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.section-head{margin:24px 0 6px}
.crumb{font-size:.85rem;color:var(--ink-faint);margin:14px 0}
.crumb a{color:var(--ink-dim)}

/* pricing */
.price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:18px 0}
.price-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px}
.price-card.hl{border:2px solid var(--brand)}
.price-card .amt{font-size:1.6rem;font-weight:800;color:var(--brand)}
.price-card ul{padding-left:18px;color:var(--ink-dim);font-size:.92rem}

/* footer */
footer{margin-top:40px;border-top:1px solid var(--border);background:var(--bg-soft)}
footer .wrap{padding:24px 18px;color:var(--ink-faint);font-size:.85rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:var(--ink-dim)}
.alert{padding:12px 16px;border-radius:var(--radius);margin:14px 0}
.alert-info{background:#E2F1FF;color:#0C447C}.alert-error{background:#FCEBEB;color:#A32D2D}.alert-ok{background:#e6f4e6;color:#27500A}
.banner{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin:14px 0}
input[type=email],input[type=password],input[type=text]{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit}
label{font-size:.9rem;color:var(--ink-dim)}
.form-narrow{max-width:420px;margin:20px auto}
.sectionbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}
.sectionbar a{font-size:.85rem;padding:6px 12px;border-radius:20px;background:var(--bg-soft);color:var(--ink-dim)}
.sectionbar a.on{background:var(--brand);color:#fff}
