/* Páginas de fora do jogo (entrar, senha, comprar, retorno e painel), com a cara do jogo. */
:root{
  --noite:#0d1834; --mar:#22c3a6; --sol:#ffc23d; --coral:#ff5d6c; --papel:#f6f3ff; --tinta:#0d1834;
  --suave:#a9b4d6; --cartao:#14224a; --linha:rgba(255,255,255,.12); --zap:#25d366;
  --f-tit:'Baloo 2','Trebuchet MS',system-ui,sans-serif; --f-txt:'Nunito Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100vh;background:radial-gradient(90% 60% at 20% 0%,#1d3b78,transparent 60%),var(--noite);color:var(--papel);font-family:var(--f-txt);
  display:flex;flex-direction:column;align-items:center;padding:28px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px))}
a{color:var(--sol)}
.logo{font-family:var(--f-tit);font-weight:800;font-size:30px;text-decoration:none;color:var(--papel);margin-bottom:22px}
.logo span{color:var(--sol)}
.card{width:100%;max-width:520px;background:var(--cartao);border:1px solid var(--linha);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.card.largo{max-width:1100px}
.olho{font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mar)}
h1,h2,h3{font-family:var(--f-tit);margin:0;line-height:1.05;text-wrap:balance}
h1{font-size:clamp(30px,7vw,40px);font-weight:800} h1 span{color:var(--sol)}
h2{font-size:24px} h3{font-size:19px}
p{margin:0;line-height:1.5;color:var(--suave)}
.forte{color:var(--papel)}
label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px}
input,select{border-radius:14px;border:2px solid var(--linha);background:rgba(255,255,255,.05);color:var(--papel);padding:13px 14px;font-size:16px;font-family:var(--f-txt)}
input:focus{outline:none;border-color:var(--mar)}
.btn{border:0;border-radius:16px;padding:15px 22px;font-weight:800;font-size:17px;background:var(--sol);color:var(--tinta);text-align:center;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;cursor:pointer;font-family:var(--f-txt)}
.btn.sec{background:transparent;color:var(--papel);border:2px solid var(--linha)}
.btn.zap{background:var(--zap);color:#062b14}
.btn.mini{padding:8px 12px;font-size:14px;border-radius:12px}
.btn:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--sol);outline-offset:2px}
.erro{background:rgba(255,93,108,.12);border:1px solid rgba(255,93,108,.5);color:#ffd0d5;border-radius:14px;padding:12px 14px}
.ok{background:rgba(34,195,166,.12);border:1px solid rgba(34,195,166,.5);color:#c9fff3;border-radius:14px;padding:12px 14px}
.preco{display:flex;flex-direction:column;gap:2px;padding:16px;border-radius:18px;background:rgba(255,194,61,.1);border:1px solid rgba(255,194,61,.45)}
.preco b{font-family:var(--f-tit);font-size:40px;line-height:1;color:var(--sol)}
.senha{font-family:ui-monospace,Consolas,monospace;font-size:22px;letter-spacing:.08em;background:rgba(255,255,255,.07);border-radius:12px;padding:10px 14px;color:var(--sol);user-select:all}
.aviso{font-size:13px;color:var(--suave)}
.linha{display:flex;gap:10px;flex-wrap:wrap}
.linha>*{flex:1 1 180px}

/* painel */
.abas{display:flex;gap:8px;flex-wrap:wrap}
.abas a{padding:9px 14px;border-radius:12px;border:1px solid var(--linha);text-decoration:none;color:var(--papel);font-weight:700;font-size:14px}
.abas a.on{background:var(--sol);color:var(--tinta);border-color:var(--sol)}
.tabela{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--linha);vertical-align:top}
th{color:var(--suave);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
td small{display:block;color:var(--suave)}
.selo{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;background:rgba(255,255,255,.08)}
.selo.verde{background:rgba(34,195,166,.18);color:var(--mar)} .selo.ouro{background:rgba(255,194,61,.16);color:var(--sol)} .selo.verm{background:rgba(255,93,108,.16);color:var(--coral)}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}

/* topo das páginas de fora: voltar ao jogo sempre à vista */
.topo-site{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px}
.topo-site .logo{margin-bottom:0}
.voltar{align-self:flex-start;color:var(--papel);opacity:.85;font-weight:700;text-decoration:none;padding:6px 0}
.voltar:hover{opacity:1;text-decoration:underline}
.check{display:flex;flex-direction:row;gap:10px;align-items:center;font-weight:700;align-self:center}
.check input{width:20px;height:20px;flex:none}
