:root{
  --bg0:#08040f; --ink:#ece8ff; --muted:#9a90c8; --panel:rgba(255,255,255,.04);
  --line:rgba(150,130,255,.22); --violet:#8b7bff; --pink:#ff6fd8; --cyan:#51e0ff;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{font-family:'Segoe UI',system-ui,Roboto,Arial,sans-serif;color:var(--ink);
  background:
    radial-gradient(1200px 700px at 15% -10%, #241647 0%, transparent 55%),
    radial-gradient(900px 600px at 110% 10%, #142044 0%, transparent 55%),
    linear-gradient(180deg,#0a0620,#08040f 60%,#0b0614);
  overflow-x:hidden;-webkit-user-select:none;user-select:none}
a{color:inherit}
.muted{color:var(--muted)}
.accent{color:var(--pink);text-shadow:0 0 22px rgba(255,111,216,.7)}

/* ambient floating background */
.stars{position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
   radial-gradient(1px 1px at 20% 30%, #fff, transparent),
   radial-gradient(1px 1px at 60% 12%, #fff, transparent),
   radial-gradient(1.4px 1.4px at 80% 40%, #fff, transparent),
   radial-gradient(1px 1px at 12% 70%, #ffd9f5, transparent),
   radial-gradient(1.4px 1.4px at 45% 22%, #d9f3ff, transparent),
   radial-gradient(1px 1px at 92% 65%, #f4e6ff, transparent),
   radial-gradient(1.4px 1.4px at 30% 55%, #fff, transparent),
   radial-gradient(1px 1px at 72% 85%, #fff, transparent),
   radial-gradient(1px 1px at 50% 90%, #ffe9ff, transparent);
  background-size:100% 100%}
.isles{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.6;
  background:
    radial-gradient(200px 40px at 8% 88%, rgba(120,80,255,.20), transparent),
    radial-gradient(300px 64px at 88% 82%, rgba(70,190,255,.14), transparent),
    radial-gradient(180px 38px at 70% 30%, rgba(255,120,216,.10), transparent)}
.stars,.isles{animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{from{transform:translateY(-6px)}to{transform:translateY(10px)}}

.hub{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:46px 22px 70px}
.hero{text-align:center;margin-bottom:40px}
.brand{display:inline-flex;align-items:center;gap:8px;font-size:15px;letter-spacing:.5px;
  padding:8px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);
  backdrop-filter:blur(4px)}
.logo{font-weight:800}.logo span{color:var(--violet)}
.tag{margin-left:6px;font-size:11px;letter-spacing:2px;background:linear-gradient(90deg,var(--pink),var(--violet));
  -webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900}
.hero h1{font-size:clamp(42px,7vw,78px);font-weight:900;letter-spacing:-1px;margin:18px 0 10px;
  filter:drop-shadow(0 6px 22px rgba(120,80,255,.35))}
.lead{max-width:600px;margin:0 auto;color:var(--muted);font-size:clamp(15px,2vw,18px)}
.foot{margin-top:60px;text-align:center;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:14px}

/* game cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.card{position:relative;display:flex;flex-direction:column;padding:22px 20px;border-radius:20px;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));
  border:1px solid var(--cardc,var(--line));overflow:hidden;text-decoration:none;
  backdrop-filter:blur(6px);transition:transform .16s, box-shadow .25s, border-color .2s;min-height:230px}
.card:hover{transform:translateY(-5px);box-shadow:0 18px 44px -12px var(--cardc)}
.card .emoji{font-size:46px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.card h2{font-size:21px;margin:10px 0 6px;letter-spacing:.2px}
.card .desc{font-size:13.5px;color:var(--muted);line-height:1.5;flex:1}
.card .meta{margin-top:14px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px}
.card .tag2{font-size:11px;letter-spacing:1px;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--cardc) 26%,transparent);color:#fff}
.card .cta{font-weight:800;font-size:13.5px;color:var(--cardc)}
.card .soon{opacity:.8}
.card[data-accent="fire"]{--cardc:#ff7a59}
.card[data-accent="nature"]{--cardc:#4dd98b}
.card[data-accent="arcane"]{--cardc:#c08bff}
.card[data-accent="ice"]{--cardc:#5cc8ff}
.card[data-accent="gold"]{--cardc:#ffcf4d}
@media (max-width:520px){.hub{padding:28px 14px 60px}}
