:root{
  --bg: #ffffff;
  --bg-soft:#f7f9fc;
  --text:#0f172a;
  --muted:#6b7280;
  --brand:#2563eb;
  --brand-2:#7c3aed;
  --card:#ffffff;
  --border:#e5e7eb;
  --chip:#eef2ff;
  --shadow: 0 10px 25px rgba(2, 6, 23, 0.08);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}

.container{max-width:1100px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}

.nav{position:sticky;top:0;background:rgba(255,255,255,.8);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--border);z-index:10}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.brand-logo{width:28px;height:28px}
.brand-name{font-weight:800;letter-spacing:.2px}
.nav-links a{margin-left:18px;text-decoration:none;color:var(--text);opacity:.8}
.nav-links a:hover{opacity:1}

.hero{background:linear-gradient(135deg,#eef4ff, #ffffff);padding:60px 0 40px;border-bottom:1px solid var(--border)}
.hero-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.hero-text h1{font-size:40px;margin:0 0 10px}
.hero-text p{color:var(--muted);max-width:560px}
.cta{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap}
.btn{padding:12px 18px;border-radius:10px;border:1px solid var(--border);text-decoration:none;display:inline-block}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-ghost{background:#fff}
.hero-art{position:relative;text-align:center}
.hero-art img{max-width:100%;height:auto;position:relative;z-index:1}
.glow{position:absolute;inset:10% 5% 10% 5%;background:radial-gradient( circle at 50% 50%, rgba(124,58,237,.25), transparent 60% );filter:blur(30px)}

.section{padding:56px 0}
.section.soft{background:var(--bg-soft)}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.section-head h2{margin:0}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer}
.chip.is-active{background:var(--chip);border-color:#c7d2fe}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:16px;display:flex;gap:12px;align-items:center;cursor:pointer;transition:transform .15s ease}
.card:hover{transform:translateY(-3px)}
.icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;background:#eef2ff}
.icon img{width:36px;height:36px}
.meta h3{margin:0 0 4px 0;font-size:16px}
.meta p{margin:0;color:var(--muted);font-size:14px}
.tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.tag{font-size:11px;background:#f1f5f9;border:1px solid var(--border);color:#0f172a;border-radius:999px;padding:4px 8px}

.footer{border-top:1px solid var(--border);padding:18px 0;background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.footer a{text-decoration:none;color:var(--muted)}
.footer a:hover{color:var(--text)}

dialog{border:none;border-radius:16px;padding:0;max-width:640px;width:100%;box-shadow:var(--shadow)}
.modal-card{padding:18px}
.modal-close{float:right;border:none;background:transparent;font-size:20px;cursor:pointer}
.modal-header{display:flex;gap:12px;align-items:center;margin-top:6px}
.modal-icon{width:56px;height:56px;border-radius:12px;background:#eef2ff;padding:10px}
.modal-desc{color:var(--muted);margin-top:8px}
.modal-tags,.modal-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.modal-links a{padding:10px 12px;border-radius:10px;border:1px solid var(--border);text-decoration:none}
.modal-links a.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.modal-links a.secondary{background:#fff}

@media (max-width: 920px){
  .hero-inner{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 640px){
  .grid{grid-template-columns:1fr}
}
