:root{
  --bg:#050b18;          /* midnight navy */
  --bg2:#0a1428;
  --card:#0e1b36;
  --line:#1c3158;
  --fg:#e8f1ff;
  --muted:#8aa0c8;
  --cyan:#4dd8ff;        /* spectral glow */
  --violet:#2f7bff;      /* electric blue */
  --magenta:#1f4fd8;     /* deep cobalt */
  --grad:linear-gradient(90deg,var(--cyan),var(--violet) 55%,var(--magenta));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:dark}
body{margin:0;color:var(--fg);font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif;
  background:
    radial-gradient(900px 500px at 85% -10%,rgba(47,123,255,.25),transparent 60%),
    radial-gradient(700px 420px at 0% 10%,rgba(77,216,255,.12),transparent 60%),
    var(--bg);
  background-attachment:fixed}
a{color:var(--cyan)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(5,11,24,.8);backdrop-filter:blur(10px);z-index:5}
.nav nav a{margin-left:18px;text-decoration:none;color:var(--muted);transition:color .2s}
.nav nav a:hover{color:var(--cyan)}
.brand{display:flex;align-items:center;gap:10px;letter-spacing:.14em;font-size:.95rem;font-weight:700;text-decoration:none;color:var(--fg)}
.brand b,.glow{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand img{filter:drop-shadow(0 0 8px rgba(47,123,255,.7))}
main,footer{max-width:960px;margin:0 auto;padding:0 24px}
section{padding:56px 0}
.hero{padding:96px 0 48px}
.hero h1{font-size:clamp(2.1rem,6vw,3.5rem);line-height:1.1;margin:0 0 14px}
.hero p{color:var(--muted);max-width:560px;margin:0 0 26px}
.btn{display:inline-block;background:var(--grad);color:#031024;padding:12px 24px;border-radius:10px;border:0;text-decoration:none;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 0 24px rgba(47,123,255,.35);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 32px rgba(77,216,255,.45)}
.btn.small{padding:8px 14px;font-size:.9rem;margin-top:8px}
.btn[aria-disabled=true]{opacity:.45;pointer-events:none;box-shadow:none}
h2{font-size:1.8rem;margin:0 0 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:16px;padding:24px;transition:border-color .2s,box-shadow .2s}
.card:hover{border-color:var(--violet);box-shadow:0 0 28px rgba(47,123,255,.2)}
.card h3{margin:14px 0 6px}
.card p{color:var(--muted);margin:0 0 10px}
.card ul{padding-left:18px;margin:0 0 12px;color:var(--muted)}
.card.placeholder{border-style:dashed;opacity:.7}
.icon{width:56px;height:56px;border-radius:14px;background:var(--grad);color:#031024;display:grid;place-items:center;font-size:1.8rem;font-weight:800;box-shadow:0 0 20px rgba(47,123,255,.45)}
.tags span{display:inline-block;border:1px solid var(--line);color:var(--cyan);border-radius:99px;padding:2px 12px;font-size:.8rem;margin-right:6px}
footer{border-top:1px solid var(--line);padding:24px;color:var(--muted);text-align:center}
@media(max-width:600px){.nav nav a{margin-left:10px}}
.app-icon{display:block;width:64px;height:64px;border-radius:16px;box-shadow:0 0 20px rgba(47,123,255,.45)}
a.card{display:block;color:inherit;text-decoration:none}
a.card:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
