/* ¿Quién es más…?: la pregunta arriba y una fila de caras; los votos caen sobre cada cara.
   Solo se animan transform y opacity (Bravia). */
.quien { background: #FFE6F0; }
.qu-centro { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .7rem; text-align: center; }
.qu-intro { font-size: 1.5rem; font-weight: var(--tg-w-medium); color: var(--tg-ink-2); }
.qu-pregunta { font-size: 2.5rem; font-weight: var(--tg-w-strong); letter-spacing: -.02em; line-height: 1.12; max-width: 52rem; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.qu-emo { font-size: 3.6rem; line-height: 1; flex: none; }
.qu-sub { font-size: 1.3rem; color: var(--tg-ink-2); min-height: 1.6rem; }
.qu-caras { display: flex; justify-content: center; align-items: flex-start; gap: .8rem; width: 100%; margin-top: .4rem; }
.qu-cara { position: relative; flex: 1; max-width: 12rem; min-width: 0; background: #fff; border-radius: 1.2rem; padding: .7rem .4rem; box-sizing: border-box;
  display: flex; flex-direction: column; align-items: center; gap: .35rem; border: .2rem solid transparent; }
.qu-cara--gana { border-color: #C2366B; background: #FFF5F9; }
.quien .qu-ficha { width: 5.2rem; height: 5.2rem; }
.qu-nombre { font-size: 1.3rem; font-weight: var(--tg-w-medium); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qu-listo { position: absolute; right: -.5rem; top: -.5rem; font-size: 1.8rem; line-height: 1; opacity: 0; transform: scale(.5); transition: opacity .25s, transform .25s; }
.qu-listo--si { opacity: 1; transform: scale(1); }
.qu-votos { display: flex; flex-wrap: wrap; justify-content: center; gap: .15rem; min-height: 1.6rem; }
.qu-cae { display: inline-flex; animation: qu-cae .35s var(--tg-ease) both; }
@keyframes qu-cae { from { transform: translateY(-2rem) scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.qu-chapa { min-height: 0; }
.qu-chapa__in { display: inline-block; background: #C2366B; color: #fff; border-radius: 1rem; padding: .3rem .7rem; font-size: 1.15rem; font-weight: var(--tg-w-medium); line-height: 1.2;
  animation: qu-chapa .45s var(--tg-ease) both; }
@keyframes qu-chapa { from { transform: scale(.3) rotate(-12deg); opacity: 0; } to { transform: none; opacity: 1; } }
/* Final: títulos de cada uno */
.qu-final { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1.2rem; width: 100%; max-width: 56rem; }
.qu-fila { display: flex; align-items: center; gap: .7rem; background: #fff; border-radius: 1.2rem; padding: .5rem .8rem; text-align: left; min-width: 0; }
.qu-fila__nombre { font-size: 1.5rem; font-weight: var(--tg-w-strong); flex: none; max-width: 8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qu-fila__chapas { display: flex; flex-wrap: wrap; gap: .3rem; min-width: 0; }
.qu-mini { background: #FFE6F0; color: #8A1F48; border-radius: .8rem; padding: .2rem .6rem; font-size: 1.2rem; font-weight: var(--tg-w-medium); white-space: nowrap; }
.qu-mini--nada { background: var(--tg-surface); color: var(--tg-muted); }
