/* Cuenta opcional (Mi cuenta, consentimiento, perfiles, puerta para adultos).
 * El botón de Google sigue la guía de marca: fondo blanco, borde gris y logo a color. */
.mi-cuenta { margin: 16px 0; padding-top: 8px; border-top: 2px solid var(--linea); }
.btn-google {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 44px; padding: 0 14px; background: #fff; color: #1f1f1f;
  border: 1px solid #747775; border-radius: 4px;
  font-family: Roboto, "Segoe UI", system-ui, sans-serif; font-weight: 500; font-size: 15px;
  letter-spacing: 0.25px; text-decoration: none; box-shadow: none;
}
.btn-google:focus-visible { outline: 3px solid var(--verde-oscuro); outline-offset: 2px; }
.btn-google-logo { flex: 0 0 auto; }
.fila-check { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0; text-align: left; }
.fila-check input { width: 26px; height: 26px; margin-top: 2px; flex: 0 0 auto; }
.rejilla-perfiles, .rejilla-avatares { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.tarjeta-perfil, .avatar-opcion {
  position: relative; width: 160px; min-height: 190px; border: 3px solid var(--linea); border-radius: 24px;
  background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; padding: 10px; font-size: 1.15rem; font-weight: 700; cursor: pointer;
}
.tarjeta-perfil.activo { border-color: var(--verde-oscuro); background: #e7f5df; }
.avatar-opcion { width: 112px; min-height: 112px; }
.tarjeta-perfil img { width: 130px; height: 130px; object-fit: contain; }
.avatar-opcion img { width: 88px; height: 88px; object-fit: contain; }
.avatar-opcion input { position: absolute; opacity: 0; }
.avatar-opcion:has(input:checked) { border-color: var(--verde-oscuro); background: #e7f5df; }
.lista-ninos { list-style: none; padding: 0; }
.lista-ninos li { display: flex; gap: 10px; align-items: center; margin: 6px 0; }
.invitacion-cuenta { text-align: center; margin: 14px 0 0; }
.error-cuenta { color: #9b2c1c; font-weight: 700; }
.puerta-caja { max-width: 420px; }
.puerta-barra { display: block; height: 14px; background: #efe4d4; border-radius: 999px; overflow: hidden; margin: 8px 0 16px; }
.puerta-barra span { display: block; height: 100%; width: 0; background: var(--verde); }
.puerta-cuenta { font-size: 2.4rem; text-align: center; margin: 8px 0; }
.puerta-opcion { font-size: 2rem; min-height: 72px; width: 100%; margin: 6px 0; }
body.en-juego #mi-cuenta, body.en-juego .btn-google, body.en-juego #pantalla-consentimiento,
body.en-juego #selector-perfiles, body.en-juego #administrar-cuenta, body.en-juego .invitacion-cuenta { display: none !important; }

/* ---------- Rediseño kawaii de «Mi cuenta» (antes «Para adultos») (11/10) ---------- */
.kawaii { max-width: 720px; margin: 0 auto; }
.kawaii .kw-titulo { text-align: center; font-size: 1.6rem; margin: 6px 0 12px; }
.kw-cuenta.mi-cuenta { border-top: 0; padding-top: 0; margin: 8px 0 14px; }
.kw-hero { position: relative; text-align: center; padding: 18px 16px 16px; border-radius: 28px; border: 3px solid #fff;
  background: radial-gradient(circle at 20% 0%, #fff6d8 0, transparent 55%), linear-gradient(160deg, #dff1d0 0%, #fbe3e8 100%);
  box-shadow: 0 6px 0 #e4d3bc, 0 10px 24px rgba(91, 58, 36, .12); }
.kw-hero h2, .kw-hero h1 { margin: 6px 0 4px; font-size: 1.45rem; line-height: 1.2; color: #4a2f1d; }
.kw-hero.chico h1 { font-size: 1.4rem; }
.kw-sub { margin: 0 0 10px; font-size: 1.05rem; color: #5B3A24; }
.kw-nota { margin: 8px 0 0; font-size: .9rem; color: #7a5a43; }
.kw-correo { margin: 0 0 8px; font-size: .9rem; color: #7a5a43; text-align: center; word-break: break-all; }
.kw-elenco { display: flex; justify-content: center; align-items: flex-end; gap: 2px; height: 104px; margin: -4px 0 4px; }
.kw-elenco img { height: 92px; width: auto; max-width: 25%; object-fit: contain; filter: drop-shadow(0 3px 0 rgba(91, 58, 36, .15));
  animation: kw-brinco 2.6s ease-in-out infinite; animation-delay: calc(var(--i) * .3s); }
.kw-elenco img:nth-child(2) { height: 104px; }
@keyframes kw-brinco { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (prefers-reduced-motion: reduce) { .kw-elenco img { animation: none; } }
.kw-avatar { width: 108px; height: 108px; object-fit: contain; border-radius: 50%; background: #fff; border: 4px solid #fff; box-shadow: 0 4px 0 #e4d3bc; }
.kw-regalo { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 10px auto 12px; padding: 12px 12px 10px;
  max-width: 420px; border-radius: 22px; background: #fffaf0; border: 3px dashed #f2b84b; }
.kw-regalo.listo { border-style: solid; border-color: #6aaa55; background: #f1fae9; }
.kw-mono { position: absolute; top: -16px; left: -8px; font-size: 30px; transform: rotate(-12deg); }
.kw-regalo-img { width: 64px; height: 64px; object-fit: contain; }
.kw-regalo-img.grande { width: 92px; height: 92px; animation: kw-brinco 2.2s ease-in-out infinite; }
.kw-semillas { display: inline-flex; align-items: center; gap: 2px; font-weight: 800; font-size: 1.15rem; color: #3f7a38; }
.kw-semillas img { width: 36px; height: 36px; }
.kw-regalo-txt { flex-basis: 100%; margin: 0; font-size: 1rem; color: #5B3A24; }
.kw-google { display: flex; justify-content: center; }
.kw-google .btn-google { min-height: 52px; padding: 0 22px; font-size: 16px; border-radius: 999px; box-shadow: 0 3px 0 #c9c9c9; }
.kw-mosaico { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 14px 0; }
.kw-mosaico.tres { grid-template-columns: repeat(3, 1fr); }
@media (min-width: 700px) { .kw-mosaico { grid-template-columns: repeat(4, 1fr); } .kw-mosaico.tres { grid-template-columns: repeat(3, 1fr); } }
.kw-tecla { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 96px; padding: 10px 6px;
  border-radius: 22px; border: 3px solid #e4d3bc; background: #fff; color: #4a2f1d; text-decoration: none; cursor: pointer;
  font: 700 .95rem/1.15 inherit; font-family: inherit; text-align: center; box-shadow: 0 4px 0 #e4d3bc; }
.kw-tecla:active { transform: translateY(3px); box-shadow: 0 1px 0 #e4d3bc; }
.kw-tecla.verde { background: #e7f5df; border-color: #9bcf86; box-shadow: 0 4px 0 #9bcf86; }
.kw-ic { font-size: 34px; line-height: 1; }
.kw-tarjeta { background: #fff; border: 3px solid #e4d3bc; border-radius: 24px; padding: 12px 14px; margin: 12px 0; box-shadow: 0 4px 0 #e4d3bc; }
.kw-tarjeta h2 { margin: 2px 0 4px; font-size: 1.2rem; }
.kw-desplegable { margin: 12px 0; }
.kw-desplegable > summary { cursor: pointer; list-style: none; font-weight: 700; padding: 12px 14px; border-radius: 18px; background: #fffaf0; border: 2px solid #e4d3bc; }
.kw-desplegable > summary::-webkit-details-marker { display: none; }
.kw-desplegable > summary::after { content: "▾"; float: right; }
.kw-desplegable[open] > summary::after { content: "▴"; }
.kw-tarjeta.kw-desplegable { padding: 6px; }
.kw-tarjeta.kw-desplegable > summary { border: 0; background: transparent; }
.kw-desplegable ul { margin: 10px 4px 0; padding-left: 20px; font-size: .95rem; }
.kw-desplegable.peligro > summary { color: #9b2c1c; }
.kw-legal { text-align: center; font-size: .95rem; }
.kawaii .lista-ninos li { background: #fffaf0; border-radius: 16px; padding: 6px 10px; }
.kawaii .lista-ninos li img { width: 56px; height: 56px; object-fit: contain; }
.kawaii .lista-ninos li span { flex: 1; font-weight: 700; }
.kawaii .fila-check { background: #fffaf0; border-radius: 16px; padding: 10px; margin: 8px 0; }
.kw-grande { min-height: 56px; font-size: 1.1rem; }
body.en-juego .kawaii { display: none !important; }
/* 5 teclas en Mi cuenta: en celular «A la ciudad» ocupa la fila; en computadora caben las 5 */
@media (max-width: 699px) { .adultos .kw-mosaico:not(.tres) .kw-tecla.verde { grid-column: span 2; } }
@media (min-width: 700px) { .adultos .kw-mosaico:not(.tres) { grid-template-columns: repeat(5, 1fr); } }
#tabs button { white-space: nowrap; padding-left: 2px; padding-right: 2px; }

/* presencia: casillas por perfil en Administrar */
.lista-presencia { list-style: none; padding: 0; margin: 8px 0 0; display: grid; gap: 8px; }
.lista-presencia li { display: flex; align-items: center; gap: 10px; }
.lista-presencia li > span { flex: 1; font-weight: 700; }
.pr-casilla { display: inline-flex; align-items: center; gap: 6px; font-size: 22px; }
.pr-casilla input { width: 30px; height: 30px; accent-color: #7DA453; }
