:root{
  --bg:#0b1220;
  --panel:#0f172a;
  --muted:#94a3b8;
  --text:#e2e8f0;
  --brand:#60a5fa;
  --accent:#34d399;
  --card:#111827;
  --border:#1f2937;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--brand);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:32px}
.header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;margin-bottom:24px}
.title{font-size:28px;font-weight:800;letter-spacing:.3px}
.controls{display:flex;gap:12px;flex-wrap:wrap}
input[type="search"],select{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:10px;min-width:240px;outline:none}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{background:linear-gradient(180deg,var(--panel),var(--card));border:1px solid var(--border);border-radius:16px;padding:18px;transition:transform .2s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.card h3{margin:0 0 6px 0;font-size:18px}
.card p{margin:0 0 10px 0;color:var(--muted);line-height:1.5}
.tag{display:inline-block;font-size:12px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;margin-right:6px;margin-top:6px;color:#cbd5e1}
.footer{opacity:.7;margin-top:28px;font-size:13px}
.banner{width:100%;border-radius:14px;border:1px solid var(--border);margin-bottom:16px}
