/* RC-UX-018 — Estabilização visual, acessibilidade e estados seguros */
:root{
  --ads-ink:#1a1060;
  --ads-muted:#6b5fa8;
  --ads-card:#ffffff;
  --ads-border:rgba(91,57,201,.14);
  --ads-shadow:0 22px 55px rgba(26,16,96,.14);
  --ads-gold:#fbbf24;
  --ads-violet:#6d4aff;
  --ads-violet-2:#8b5cf6;
  --ads-sky:#38bdf8;
  --ads-green:#22c55e;
}

/* Não deixa o app infantil ficar colado na barra inferior do Theo */
body:has(.ads-theo-bottom-bar),
body:has(.ads-quick-theo-bar){
  padding-bottom:84px;
}

/* Legibilidade global em cards novos/antigos */
.panel,
.ads-base-tile,
.ads-world-trail,
.ads-world-play,
.ads-trail-step,
.ads-question-card,
.rc-treasure-card,
.rc-store-card,
.rc-memory-page,
.ads-play-card,
.ads-evolution-story,
.ads-explorers-panel{
  color:var(--ads-ink);
}
.panel .muted,
.muted,
.ads-muted,
.ads-world-story-card p,
.ads-trail-step-meta,
.rc-store-card p,
.rc-treasure-card p,
.ads-play-card p{
  color:var(--ads-muted)!important;
}

/* Foco acessível para tablet/notebook */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:4px solid rgba(251,191,36,.55)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 7px rgba(109,74,255,.18)!important;
}

/* Botões sem destino deixam claro que Theo está preparando */
a[href="#"],
a[href=""],
button[data-disabled="true"],
.is-coming,
.is-locked{
  cursor:not-allowed;
}

/* Estados vazios com cara de universo, não erro */
.ads-empty-book,
.rc-empty-magic,
.ads-map-empty,
.ads-trail-empty,
.ads-empty-adventure{
  border:1px solid rgba(139,92,246,.18)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(245,243,255,.98))!important;
  box-shadow:var(--ads-shadow)!important;
  border-radius:28px!important;
}

/* 404 acolhedor */
.ads-404-page{
  min-height:calc(100vh - 80px);
  display:grid;
  place-items:center;
  padding:42px 18px;
  background:
    radial-gradient(circle at 20% 12%,rgba(251,191,36,.24),transparent 28%),
    radial-gradient(circle at 82% 22%,rgba(56,189,248,.22),transparent 30%),
    linear-gradient(135deg,#171052,#4f2bd8 55%,#8b5cf6);
}
.ads-404-card{
  width:min(780px,100%);
  text-align:center;
  padding:42px;
  border-radius:34px;
  background:rgba(255,255,255,.95);
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  position:relative;
  overflow:hidden;
}
.ads-404-card:before{
  content:"";
  position:absolute;
  inset:-80px;
  background:radial-gradient(circle,rgba(251,191,36,.16),transparent 45%);
  animation:adsSoftSpin 22s linear infinite;
}
.ads-404-card > *{position:relative;z-index:1}
.ads-404-theo{font-size:76px;animation:adsTheoFloat 4.5s ease-in-out infinite}
.ads-404-card h1{font-family:'Nunito',sans-serif;font-size:clamp(32px,5vw,58px);line-height:.98;margin:8px 0 14px;color:var(--ads-ink)}
.ads-404-card p{max-width:560px;margin:0 auto 22px;color:var(--ads-muted);font-weight:700;font-size:18px;line-height:1.55}
.ads-404-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0 10px}
.ads-404-card small{color:#8a7cc0;font-weight:700}

/* Barras inferiores não cobrem conteúdo importante em celular */
@media (max-width:760px){
  .main{padding-bottom:96px!important}
  .ads-base-hero,
  .ads-worldscape-hero,
  .ads-trail-hero,
  .ads-activity-hero,
  .rc-treasures-hero,
  .rc-book-hero,
  .rc-store-hero,
  .ads-evolution-hero{
    border-radius:26px!important;
  }
  .ads-base-actions,
  .ads-worldscape-actions,
  .ads-world-actions,
  .ads-trail-actions,
  .rc-treasures-actions,
  .ads-result-actions,
  .ads-page-actions{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .ads-btn,
  .ads-map-btn,
  .ads-world-btn,
  .ads-trail-btn,
  .ads-primary-action,
  .ads-secondary-action,
  .button{
    width:100%;
    justify-content:center;
  }
}

/* Reduz movimento para crianças sensíveis e acessibilidade */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}

@keyframes adsSoftSpin{to{transform:rotate(360deg)}}
@keyframes adsTheoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
