/* OdisseIA Kids — páginas de conta (entrar, jogar, autorizar). Identidade do Kids: céu e mar,
   Baloo 2 nos títulos, Nunito no texto, sombra sempre preta, tetos de espaçamento da casa. */
* { margin:0; padding:0; box-sizing:border-box; }
:root { --tinta:#0b4d68; --tinta2:#0d5876; --coral:#ff8a5c; --coral2:#f2733f; --areia:#fff6e8; --verde:#2e9e6b; --erro:#c0392b;
  --ceu1:#8fe6fa; --ceu2:#63cdea; --mar:#2aa3cb; }
html, body { min-height:100%; }
body { font-family:'Nunito',system-ui,sans-serif; color:var(--tinta); line-height:1.55; padding-inline:16px;
  background:linear-gradient(180deg, var(--ceu1) 0%, var(--ceu2) 45%, #3cb4d8 75%, var(--mar) 100%) fixed; min-height:100vh; }
a { color:var(--tinta); }
:focus-visible { outline:3px solid var(--coral); outline-offset:2px; }
.topo { max-width:960px; margin:0 auto; display:flex; align-items:center; gap:10px; padding-block:14px; }
.marca { display:flex; align-items:center; gap:9px; font-family:'Baloo 2',cursive; font-weight:800; font-size:19px;
  color:#ffffff; text-decoration:none; text-shadow:0 2px 0 rgba(0,0,0,.14); }
.marca img { width:36px; height:36px; border-radius:50%; border:2px solid #ffffffcc; }
.topo .dir { margin-left:auto; display:flex; gap:8px; }
main.conta { max-width:460px; margin:0 auto; padding-block:10px 30px; display:flex; flex-direction:column; gap:14px; }
.cartao { background:var(--areia); border:4px solid #ffffff; border-radius:26px; padding:20px; box-shadow:0 16px 36px rgba(0,0,0,.22); }
h1 { font-family:'Baloo 2',cursive; font-weight:800; font-size:clamp(26px, 6vw, 34px); line-height:1.1; color:var(--tinta); text-wrap:balance; }
h1.claro { color:#ffffff; text-shadow:0 3px 0 rgba(0,0,0,.14); }
h2 { font-family:'Baloo 2',cursive; font-weight:800; font-size:21px; color:var(--tinta); margin-bottom:6px; }
p, li, label { font-weight:700; font-size:15px; color:var(--tinta2); }
.sub { margin-top:6px; }
.pilha { display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.btn { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; border:none; cursor:pointer;
  background:var(--coral); color:#ffffff; border-radius:99px; padding:13px 20px; font-family:'Nunito',sans-serif;
  font-weight:800; font-size:16px; text-decoration:none; box-shadow:0 8px 18px rgba(0,0,0,.18); }
.btn:hover { background:var(--coral2); }
.btn[disabled] { opacity:.6; cursor:wait; }
.btn.branco { background:#ffffff; color:var(--tinta); border:2px solid #0b4d6822; box-shadow:0 6px 14px rgba(0,0,0,.12); }
.btn.branco:hover { background:#f4fbff; }
.btn.tinta { background:var(--tinta); }
.btn.mini { width:auto; padding:9px 16px; font-size:14px; }
.btn img { width:20px; height:20px; }
.ligeiro { background:none; border:none; color:var(--tinta); font-weight:800; font-size:14px; text-decoration:underline; cursor:pointer;
  font-family:'Nunito',sans-serif; padding:4px; }
.campo { display:flex; flex-direction:column; gap:4px; }
.campo input { width:100%; border:2px solid #0b4d6830; background:#ffffff; border-radius:14px; padding:12px 14px;
  font-family:'Nunito',sans-serif; font-weight:800; font-size:16px; color:var(--tinta); }
.campo input:focus { border-color:var(--coral); outline:none; }
.campo small { font-weight:700; font-size:13px; color:#3d7891; }
.linha { display:flex; gap:8px; align-items:flex-end; }
.linha .campo { flex:1; }
.aviso { min-height:20px; font-weight:800; font-size:14px; }
.aviso.mau { color:var(--erro); }
.aviso.bom { color:var(--verde); }
.nota { background:#ffffff; border-radius:16px; padding:12px 14px; border:2px solid #0b4d6814; font-size:14px; }
.nota p { font-size:14px; }
.voltar { align-self:flex-start; }
.ou { display:flex; align-items:center; gap:10px; color:#3d7891; font-weight:800; font-size:13px; }
.ou::before, .ou::after { content:''; flex:1; height:2px; background:#0b4d6818; }
.rodape-conta { text-align:center; font-weight:700; font-size:13px; color:#ffffffee; }
.rodape-conta a { color:#ffffff; }
[hidden] { display:none !important; }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; animation:none !important; } }
