:root{
  --bg:#12072a;--bg2:#1b0c3b;--card:#241049;--card2:#2e145c;--line:#4a2386;
  --roxo:#7b2ff7;--magenta:#ff3ea5;--rosa:#ff8fd0;--lavanda:#c9a7ff;
  --txt:#f4ecff;--txt2:#bfaee0;--ok:#4ee6a6;
  --r:14px;--sombra:0 10px 30px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.6 "Nunito",system-ui,sans-serif;min-height:100vh}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 0,rgba(123,47,247,.28),transparent 60%),linear-gradient(180deg,rgba(18,7,42,.6),rgba(18,7,42,.92)),url(/assets/bg.webp) center/cover;pointer-events:none;z-index:-1}
a{color:var(--rosa);text-decoration:none}
a:hover{color:#fff}
img{max-width:100%;display:block}
h1,h2,h3,.marca{font-family:"Baloo 2",system-ui,sans-serif;line-height:1.15;margin:0 0 .5em}
.wrap{max-width:1200px;margin:0 auto;padding:0 16px}

/* topo */
.topo{position:sticky;top:0;z-index:50;background:rgba(18,7,42,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.topo .wrap{display:flex;align-items:center;gap:16px;height:64px}
.marca{display:flex;align-items:center;gap:10px;font-size:1.5rem;font-weight:800;font-style:italic;color:#fff;margin:0;white-space:nowrap}
.marca img{width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 2px var(--magenta)}
.marca span{background:linear-gradient(90deg,#fff,var(--rosa));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{color:var(--txt2);font-weight:700;padding:8px 12px;border-radius:10px;font-size:.95rem}
.nav a:hover,.nav a.ativo{color:#fff;background:var(--card)}
.busca{position:relative}
.busca input{background:var(--card);border:1px solid var(--line);color:#fff;border-radius:999px;padding:8px 14px;width:200px;font:inherit;font-size:.9rem}
.busca input:focus{outline:2px solid var(--magenta)}
@media(max-width:820px){.nav{display:none}.busca{margin-left:auto}.busca input{width:140px}.marca{font-size:1.2rem}}

/* anuncios */
.ad{display:flex;justify-content:center;align-items:center;margin:16px auto;overflow:hidden;max-width:100%}
.ad-ph{border:2px dashed rgba(255,62,165,.45);background:rgba(255,62,165,.06);color:var(--rosa);font:700 .75rem/1.2 "Nunito",sans-serif;letter-spacing:.08em;text-transform:uppercase;text-align:center;border-radius:8px}
.ad-728{width:728px;height:90px}
.ad-300x100{width:300px;height:100px}
.ad-300{width:300px;height:250px}
.ad-160{width:160px;height:600px}
.ad-300x50{width:300px;height:50px}
.ad-slider{width:300px;height:170px}
.so-desktop{display:flex}.so-mobile{display:none}
@media(max-width:760px){.so-desktop{display:none}.so-mobile{display:flex}}
.sticky-ad{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(18,7,42,.95);border-top:1px solid var(--line);padding:4px 0;justify-content:center}
.sticky-ad .ad{margin:0 auto}
.sticky-ad .fechar{position:absolute;right:6px;top:-26px;background:var(--card);color:#fff;border:1px solid var(--line);border-radius:8px 8px 0 0;font-size:.8rem;padding:2px 10px;cursor:pointer}
@media(max-width:760px){body{padding-bottom:60px}}

/* hero */
.hero{position:relative;border-radius:22px;overflow:hidden;margin:20px 0;min-height:440px;display:flex;align-items:flex-end;background:url(/assets/hero.webp) center 30%/cover;box-shadow:var(--sombra)}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(18,7,42,.97) 22%,rgba(18,7,42,.35) 55%,transparent 75%)}
.hero-txt{position:relative;z-index:1;padding:28px}
.hero h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800}
.hero p{color:var(--txt2);max-width:620px;margin:0 0 14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:rgba(123,47,247,.35);border:1px solid var(--line);color:var(--lavanda);border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:700}

/* layout com lateral */
.grade-lateral{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.lateral{position:sticky;top:80px;display:flex;flex-direction:column;gap:8px}
.lateral .ad{margin:0 auto}
@media(max-width:980px){.grade-lateral{grid-template-columns:1fr}.lateral{position:static}}
.bloco{background:rgba(36,16,73,.85);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:20px}
.bloco h2{font-size:1.5rem;display:flex;align-items:center;gap:10px}
.bloco h2::before{content:"";width:6px;height:24px;border-radius:3px;background:linear-gradient(var(--magenta),var(--roxo))}

/* cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;color:var(--txt)}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(255,62,165,.25);color:var(--txt)}
.card .capa{aspect-ratio:16/10;background:var(--card2);position:relative}
.card .capa img{width:100%;height:100%;object-fit:cover}
.selo{position:absolute;top:8px;left:8px;background:var(--magenta);color:#fff;font-weight:800;font-size:.7rem;padding:2px 8px;border-radius:6px;text-transform:uppercase}
.card .corpo{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.card h3{font-size:1.15rem;margin:0}
.card .dev{color:var(--txt2);font-size:.85rem}
.card .res{font-size:.85rem;color:var(--txt2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .baixar{margin-top:auto;padding-top:8px;font-weight:800;color:var(--rosa);font-size:.9rem}
.card-ad{justify-content:center;align-items:center;min-height:260px}
.card-ad .ad{margin:0}

/* pagina do jogo */
.migalha{font-size:.85rem;color:var(--txt2);margin:18px 0 6px}
.migalha a{color:var(--txt2)}
.titulo-jogo{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800}
.titulo-jogo small{font-size:.55em;color:var(--rosa);font-weight:700;margin-left:8px}
.topo-jogo{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px}
@media(max-width:760px){.topo-jogo{grid-template-columns:1fr}}
.capa-grande{border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.ficha{width:100%;border-collapse:collapse;font-size:.95rem}
.ficha th{text-align:left;color:var(--txt2);font-weight:700;padding:7px 10px 7px 0;width:40%;vertical-align:top}
.ficha td{padding:7px 0;font-weight:700}
.ficha tr+tr{border-top:1px solid var(--line)}
.artigo p{margin:0 0 1em;color:#e6dafa}
.lojas{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;padding:14px 22px;font:800 1rem "Nunito",sans-serif;cursor:pointer;color:#fff;text-align:center}
.btn-dl{background:linear-gradient(135deg,var(--magenta),var(--roxo));box-shadow:0 8px 22px rgba(255,62,165,.35);width:100%;font-size:1.1rem}
.btn-dl:hover{filter:brightness(1.1);color:#fff}
.btn-sec{background:var(--card2);border:1px solid var(--line)}
.btn-sec:hover{border-color:var(--magenta);color:#fff}
.dls{display:grid;gap:12px}
.dl-linha{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:12px}
.dl-linha .btn{width:auto;padding:12px 20px}
.dl-info b{display:block;font-size:1.05rem}
.dl-info span{color:var(--txt2);font-size:.85rem}
@media(max-width:520px){.dl-linha{grid-template-columns:1fr}.dl-linha .btn{width:100%}}
.nota{font-size:.85rem;color:var(--txt2);background:rgba(78,230,166,.07);border:1px solid rgba(78,230,166,.3);border-radius:10px;padding:10px 12px;margin-top:12px}
.video{aspect-ratio:16/9;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.video iframe{width:100%;height:100%;border:0}

/* pagina de espera */
.espera{text-align:center;max-width:760px;margin:24px auto}
.passos{display:flex;justify-content:center;gap:10px;margin:14px 0 18px;flex-wrap:wrap}
.passo{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-weight:800;font-size:.85rem;color:var(--txt2)}
.passo.on{background:var(--magenta);border-color:var(--magenta);color:#fff}
.relogio{width:130px;height:130px;margin:10px auto 16px;border-radius:50%;display:grid;place-items:center;font:800 3rem "Baloo 2",sans-serif;background:conic-gradient(var(--magenta) var(--p,0%),var(--card2) 0);position:relative}
.relogio::before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--bg2)}
.relogio b{position:relative}
#liberar[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}
.dupla-ad{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.dupla-ad .ad{margin:8px 0}

/* rodape */
.rodape{border-top:1px solid var(--line);margin-top:40px;padding:26px 0 30px;color:var(--txt2);font-size:.88rem;background:rgba(18,7,42,.9)}
.rodape .wrap{display:flex;flex-wrap:wrap;gap:16px 30px;justify-content:space-between;align-items:center}
.rodape nav{display:flex;flex-wrap:wrap;gap:14px}
.rodape a{color:var(--txt2)}
.legal h1{font-size:2rem}
.legal p,.legal li{color:#e6dafa}

/* portao 18+ */
.portao{position:fixed;inset:0;z-index:100;background:rgba(10,3,24,.96);display:none;align-items:center;justify-content:center;padding:16px}
.portao.on{display:flex}
.portao .caixa{max-width:440px;text-align:center;background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--sombra)}
.portao img{width:110px;height:110px;border-radius:50%;margin:0 auto 12px;box-shadow:0 0 0 3px var(--magenta)}
.portao .btns{display:grid;gap:10px;margin-top:16px}
.vazio{color:var(--txt2);padding:20px;text-align:center;display:none}
