:root { --bg:#0b0b0f; --bg-soft:#111827; --text:#f8fafc; --muted:#cbd5e1; --accent:#dc2626; --card-border:rgba(255,255,255,.14); }
* { box-sizing:border-box; }
html,body { margin:0; padding:0; width:100%; min-height:100%; overflow-x:hidden; }
html { scroll-behavior:smooth; }
body { min-height:100vh; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--text); background:radial-gradient(circle at top,rgba(220,38,38,.28),transparent 28rem),radial-gradient(circle at bottom right,rgba(153,27,27,.22),transparent 32rem),linear-gradient(135deg,var(--bg),var(--bg-soft)); }
body::before { content:""; position:fixed; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 78%); }
.page { position:relative; width:100%; max-width:1440px; min-height:100vh; margin:0 auto; padding:24px clamp(16px,3vw,42px); display:flex; flex-direction:column; }
.brand { display:inline-flex; flex-direction:column; align-items:center; gap:18px; max-width:100%; color:var(--text); text-decoration:none; font-weight:800; font-size:clamp(24px,5vw,38px); letter-spacing:-.04em; line-height:1.1; }
.brand span { max-width:100%; overflow-wrap:anywhere; text-shadow:0 0 26px rgba(220,38,38,.38); }
.brand small { display:inline-flex; align-items:center; gap:10px; color:var(--muted); font-size:13px; font-weight:500; letter-spacing:0; }
.site-logo { width:clamp(190px,23vw,330px); max-width:88vw; height:auto; object-fit:contain; filter:drop-shadow(0 0 28px rgba(220,38,38,.58)); transition:transform .25s ease,filter .25s ease; }
.brand:hover .site-logo { transform:scale(1.03); filter:drop-shadow(0 0 38px rgba(239,68,68,.72)); }
main { flex:1; width:100%; display:grid; place-items:center; text-align:center; padding:clamp(30px,5vw,68px) 0; }
.realm-stage { width:100%; display:grid; grid-template-columns:minmax(260px,1fr) minmax(230px,.9fr) minmax(260px,1fr); grid-template-areas:"kids brand ghost"; align-items:center; gap:clamp(18px,2.4vw,38px); }
.kids-card { grid-area:kids; }
.brand { grid-area:brand; }
.ghost-card { grid-area:ghost; }
.pulse { width:9px; height:9px; border-radius:50%; background:#ef4444; box-shadow:0 0 0 8px rgba(239,68,68,.14); flex:0 0 auto; }
.game-card { overflow:hidden; min-width:0; color:var(--text); text-align:left; text-decoration:none; border:1px solid var(--card-border); border-radius:22px; background:rgba(17,24,39,.72); backdrop-filter:blur(14px); box-shadow:0 18px 46px rgba(0,0,0,.28); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.game-card:hover { transform:translateY(-5px); border-color:rgba(239,68,68,.48); box-shadow:0 24px 58px rgba(0,0,0,.38),0 0 30px rgba(220,38,38,.12); }
.card-image { height:clamp(210px,22vw,300px); overflow:hidden; background:#090b0f; }
.card-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.game-card:hover .card-image img { transform:scale(1.035); }
.card-copy { padding:24px; }
.card-type { color:#f87171; font-size:12px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.card-copy h2 { margin:9px 0 8px; font-size:clamp(26px,4vw,36px); letter-spacing:-.035em; }
.card-copy p { min-height:48px; margin:0 0 22px; color:var(--muted); line-height:1.55; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:0 24px; border-radius:999px; border:1px solid rgba(220,38,38,.46); color:var(--text); background:rgba(220,38,38,.16); font-weight:750; backdrop-filter:blur(14px); box-shadow:0 14px 36px rgba(220,38,38,.20); transition:background .2s ease; }
.game-card:hover .button { background:rgba(220,38,38,.28); }
footer { display:flex; align-items:center; justify-content:center; text-align:center; gap:16px; padding:24px 0 8px; color:rgba(203,213,225,.78); font-size:14px; width:100%; margin-top:auto; }
@media (max-width:960px) { .realm-stage{max-width:820px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"brand brand" "kids ghost"}.brand{margin-bottom:20px}.site-logo{width:clamp(210px,42vw,340px)}.card-image{height:clamp(220px,34vw,300px)} }
@media (max-width:640px) { .page{padding:18px 14px}.realm-stage{max-width:440px;grid-template-columns:1fr;grid-template-areas:"brand" "kids" "ghost"}.site-logo{width:clamp(220px,78vw,340px);max-width:86vw}.brand{font-size:clamp(22px,7vw,30px);margin-bottom:18px}.card-image{height:min(76vw,320px)}.card-copy p{min-height:0}.button{width:100%}footer{flex-direction:column;align-items:center;text-align:center;gap:8px} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important} }
