/* VIRARIO Games — site do VIRA RIO (cores e fontes do jogo) */
:root{
  --bg:#140A24;--bg2:#1E0F36;--card:#26143F;--ink:#FFF6EC;--mut:#C9B8DA;--line:#3B2560;
  --yel:#FFD23F;--pink:#FF4D8D;--cyan:#6FE7FF;--org:#FF8A3D;--grn:#8AFF9E;
  --display:'Bungee',system-ui,sans-serif;--body:'Chakra Petch',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--yel)}
img,canvas{max-width:100%;display:block;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
canvas{display:block;user-select:none}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
/* topo */
.top{position:sticky;top:0;z-index:20;background:rgba(20,10,36,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:12px;height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font:15px var(--display);letter-spacing:.04em;white-space:nowrap}
.brand img{width:36px;height:36px;border-radius:9px}
.brand b{color:var(--yel);font-weight:400}
.top nav{margin-left:auto;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.top nav::-webkit-scrollbar{display:none}
.top nav a{color:var(--mut);text-decoration:none;font-weight:600;font-size:15px;padding:8px 12px;border-radius:999px;white-space:nowrap}
.top nav a:hover,.top nav a[aria-current]{color:var(--ink);background:var(--card)}
@media (max-width:640px){.top nav a.opt{display:none}.brand span{display:none}}
/* capa */
.hero{position:relative;height:calc(100svh - 62px);min-height:480px;max-height:1100px;display:flex;flex-direction:column;align-items:center;padding-top:calc(env(safe-area-inset-top,0px) + 7vh);gap:6px;overflow:hidden;background:#1B0F3A;--sun:#FFD23F;--cyan:#7CF3FF}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero>*:not(canvas){position:relative;z-index:1}
/* logo igual à abertura do jogo (css/vira.css) */
.logo{margin:0;font-family:'Bungee',system-ui,sans-serif;font-weight:400;line-height:.86;letter-spacing:.01em;display:flex;color:var(--sun)}
.logo.vr{font-size:clamp(50px,min(19vw,14.5vh),116px);gap:.05em;align-items:stretch;text-shadow:0 6px 0 #B8233F,0 0 18px rgba(255,190,80,.85),0 0 40px rgba(255,160,60,.55);animation:pop .9s cubic-bezier(.2,1.6,.4,1) both}
.logo.vr .c{display:flex;flex-direction:column;gap:.08em}
.logo.vr .c b,.logo.vr .c i{display:block;height:.86em;font-weight:400;font-style:normal}
.logo.vr .c i{transform:scaleY(-1);color:var(--sun);text-shadow:0 -6px 0 #B8233F,0 0 18px rgba(255,190,80,.85),0 0 40px rgba(255,160,60,.55)}
.logo.vr .cy{color:var(--cyan)!important;text-shadow:0 -6px 0 #23608A,0 0 18px rgba(124,243,255,.85),0 0 40px rgba(124,243,255,.5)!important}
.logo.vr .c b.rt{transform:rotate(180deg)}
.logo.vr .cr{display:block;width:.9em;height:1.8em;margin-top:-.05em;filter:drop-shadow(0 0 10px rgba(255,245,210,.95)) drop-shadow(0 0 26px rgba(255,220,150,.6))}
.logo.vr .cr svg{width:100%;height:100%;display:block;overflow:visible}
.splash-sub{margin:0;font-family:'Bungee',sans-serif;font-size:clamp(14px,4vw,20px);letter-spacing:.3em;color:#FFE9C7;text-shadow:0 2px 8px rgba(0,0,0,.6);animation:fade 1s .4s both}
.hero-low{position:absolute!important;left:0;right:0;top:calc(var(--barY,70%) + 40px);display:flex;flex-direction:column;align-items:center;gap:16px;padding:0 16px}
.splash-tip{margin:0;text-align:center;font-size:15px;font-weight:600;color:#FFE9C7;text-shadow:0 1px 4px rgba(0,0,0,.8);text-wrap:balance}
.hero .stores{justify-content:center;animation:fade 1s .8s both}
.scrollcue{position:absolute!important;bottom:10px;left:50%;transform:translateX(-50%);color:#FFE9C7;text-decoration:none;font-size:18px;opacity:.7;animation:bob 1.6s infinite}
@keyframes pop{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes bob{50%{transform:translate(-50%,5px)}}
@media (max-height:520px){.logo.vr{font-size:clamp(34px,10.5vh,66px)}.hero-low{top:calc(var(--barY,64%) + 26px);gap:10px}.hero .store{min-width:0;padding:7px 14px 7px 10px}.hero .store strong{font-size:16px}}
@media (max-width:420px){.hero .store{min-width:0;padding:8px 14px 8px 10px}.hero .store strong{font-size:16px}.hero .store svg{width:24px;height:24px}}
/* lojas */
.stores{display:flex;flex-wrap:wrap;gap:12px}
.store{display:inline-flex;align-items:center;gap:12px;min-width:200px;padding:10px 18px 10px 14px;border-radius:14px;background:#000;color:#fff;text-decoration:none;border:1.5px solid rgba(255,255,255,.35);position:relative}
.store svg{width:28px;height:28px;flex:none}
.store small{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.75;line-height:1.2}
.store strong{display:block;font-size:19px;line-height:1.2;font-weight:700}
.store[aria-disabled=true]{cursor:default;opacity:.92}
.store .soon{position:absolute;top:-9px;right:-8px;background:var(--yel);color:#2A0A12;font:11px var(--display);padding:3px 8px;border-radius:999px;transform:rotate(4deg)}
/* seções */
section{padding:72px 0}
section.alt{background:linear-gradient(180deg,var(--bg) 0,var(--bg2) 12%,var(--bg2) 88%,var(--bg) 100%)}
.kicker{font:13px var(--display);letter-spacing:.14em;color:var(--pink);margin:0 0 8px}
h2{font:clamp(24px,3.6vw,36px)/1.15 var(--display);margin:0 0 14px}
.sub{color:var(--mut);max-width:680px;margin:0 0 32px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px}
.card .ic{font-size:30px;line-height:1;margin-bottom:10px}
.card h3{font:18px var(--display);margin:0 0 6px;color:var(--yel)}
.card p{margin:0;color:var(--mut);font-size:16px}
.shot{border-radius:20px;overflow:hidden;border:2px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.45);margin-top:36px}
.shot img{width:100%;height:auto;max-height:480px;object-fit:cover;display:block;pointer-events:none;user-select:none}
.shot figcaption{padding:10px 16px;background:var(--card);color:var(--mut);font-size:15px}
/* galeria de celulares */
.phones{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 16px 22px;margin:0 -16px;scrollbar-width:thin}
.phone{flex:none;width:210px;scroll-snap-align:center;text-align:center}
.phone .fr{border-radius:30px;padding:8px;background:linear-gradient(160deg,#3B2560,#120820);box-shadow:0 16px 36px rgba(0,0,0,.5)}
.phone img{border-radius:23px;aspect-ratio:360/702;object-fit:cover;width:100%}
.phone b{display:block;margin-top:12px;font:14px var(--display);color:var(--ink)}
.phone span{font-size:14px;color:var(--mut)}
/* chamada final */
.cta{text-align:center}
.cta .stores{justify-content:center}
.cta img.ico{width:96px;height:96px;border-radius:24px;margin:0 auto 18px;box-shadow:0 12px 30px rgba(255,77,141,.35)}
/* rodapé */
footer{border-top:1px solid var(--line);padding:32px 0 44px;color:var(--mut);font-size:15px}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
footer nav{display:flex;flex-wrap:wrap;gap:6px 20px}
footer a{color:var(--ink);text-decoration:none}
footer a:hover{color:var(--yel)}
footer .r{margin-left:auto}
/* páginas de texto (privacidade, termos) */
.doc{max-width:780px;margin:0 auto;padding:40px 16px 72px}
.doc h1{font:clamp(26px,4.4vw,38px)/1.15 var(--display);margin:6px 0 6px}
.doc .upd{color:var(--mut);font-size:15px;margin:0 0 6px}
.doc h2{font:19px/1.3 var(--display);color:var(--yel);margin:34px 0 8px;padding-top:16px;border-top:1px solid var(--line)}
.doc p{margin:0 0 12px;color:#EADDF5}
.langs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px}
.langs button{border:1.5px solid var(--line);background:var(--card);color:var(--ink);padding:7px 16px;border-radius:999px;font:600 15px var(--body);cursor:pointer}
.langs button[aria-pressed=true]{background:var(--yel);border-color:var(--yel);color:#2A0A12}
.toc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 18px;margin:18px 0 0;font-size:15px}
.toc a{color:var(--mut);text-decoration:none;display:block;padding:3px 0}
.toc a:hover{color:var(--yel)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
