/* css/recepcao.css — a RECEPÇÃO de quem acabou de entrar (30/10/2026), js/recepcao.js. Prefixo re-.
   As mesmas regras dos cartões do 1º uso (css/ensinar.css): texto >= 16 px, botão >= 52 px, cabe em 360 px, no PC uma
   coluna de no máx. 480 px no meio; mesma camada dos cartões (62). O dourado é o do cartão da Festa (css/inicio.css). */

html.re-on, html.re-on body { overflow: hidden; }

.re {
  position: fixed; inset: 0; z-index: 62;
  display: flex; justify-content: center;
  background: #07040c; color: #f6f1ff; line-height: 1.4;
  animation: re-entra .35s ease-out both;
}
.re button { font-family: inherit; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.re button:focus-visible { outline: 3px solid #ffd665; outline-offset: 3px; }
@keyframes re-entra { from { opacity: 0; } }

.re-col {
  position: relative; width: 100%; max-width: 480px; height: 100%;
  display: flex; flex-direction: column; align-items: center; gap: 14px;
  padding: max(18px, env(safe-area-inset-top)) 22px max(22px, env(safe-area-inset-bottom));
  background:
    radial-gradient(ellipse 90% 38% at 50% 0%, rgba(240, 189, 72, .22), transparent 75%),
    linear-gradient(180deg, #1c120a 0%, #0d0806 55%, #0d0806 100%);
  overflow-y: auto;
}

.re-pular {
  align-self: flex-end; min-height: 44px; padding: 0 18px; border-radius: 999px;
  background: rgba(255, 255, 255, .08); color: #f3e6c4; border: 1px solid rgba(255, 214, 101, .25);
  font-size: 15px; font-weight: 700; cursor: pointer;
}

/* o Kobalski no palco, com a luz de cima */
.re-palco { position: relative; width: min(58vw, 210px); aspect-ratio: 1; margin-top: 4px; flex: none; }
.re-luz {
  position: absolute; inset: -18% -30% 10%; pointer-events: none;
  background: radial-gradient(ellipse 50% 60% at 50% 30%, rgba(255, 214, 101, .28), transparent 70%);
}
.re-rosto {
  position: absolute; inset: 0; border-radius: 50%;
  background: #2b2015; border: 4px solid #e9b949;
  box-shadow: 0 0 0 8px rgba(240, 189, 72, .10), 0 14px 40px rgba(0, 0, 0, .6);
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.re-rosto svg { width: 82%; height: 82%; }
.re-falando .re-rosto { animation: re-fala 1.1s ease-in-out infinite; }
@keyframes re-fala {
  0%, 100% { box-shadow: 0 0 0 8px rgba(240, 189, 72, .10), 0 14px 40px rgba(0, 0, 0, .6); }
  50% { box-shadow: 0 0 0 16px rgba(240, 189, 72, .18), 0 14px 40px rgba(0, 0, 0, .6); }
}

.re-pontos { display: flex; gap: 7px; }
.re-pontos i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255, 255, 255, .22); }
.re-pontos i.on { width: 22px; border-radius: 99px; background: #ffd665; }

/* o balão do que ele fala */
.re-fala {
  width: 100%; background: #fbf3e1; color: #2a1800; border-radius: 18px;
  padding: 16px 18px; position: relative;
}
.re-fala::before {
  content: ""; position: absolute; top: -9px; left: 50%; margin-left: -10px;
  border: 10px solid transparent; border-top: 0; border-bottom-color: #fbf3e1;
}
.re-fala.re-entra { animation: re-sobe .3s ease-out both; }
@keyframes re-sobe { from { opacity: 0; transform: translateY(8px); } }
.re-titulo { margin: 0 0 6px; font-size: 24px; line-height: 1.2; font-weight: 800; color: #2a1800; }
.re-texto { margin: 0; font-size: 17px; color: #4a3210; }
.re-foto { display: block; width: 110px; height: 110px; margin: 6px auto 0; border-radius: 50%; object-fit: cover; border: 4px solid #e9b949; }

.re-botoes { width: 100%; display: flex; flex-direction: column; gap: 10px; margin-top: auto; }
.re-btn {
  min-height: 54px; border-radius: 16px; display: flex; align-items: center; justify-content: center; gap: 10px;
  font-size: 18px; font-weight: 800; cursor: pointer;
  background: transparent; color: #f3e6c4; border: 1.5px solid rgba(255, 214, 101, .45);
}
.re-btn .ic { width: 20px; height: 20px; }
.re-principal {
  background: linear-gradient(165deg, #ffd665, #eba52c 70%, #d8911f); color: #2a1800; border: none;
  box-shadow: 0 0 0 4px rgba(240, 189, 72, .16), 0 12px 30px rgba(229, 162, 31, .4);
}

@media (prefers-reduced-motion: reduce) {
  .re, .re-fala.re-entra, .re-falando .re-rosto { animation: none; }
}
