/* Tema Navidad: noche nevada, verde pino, rojo y dorado */
:root {
  --paper: #fbf7f0;
  --paper-2: #e8eef0;
  --heading: #0f3b2c;
  --deep: #0a1d33;
  --c1: #e63946; /* el rojo (el boleto, los moños) */
  --c2: #2f8f5b; /* el verde pino (los links, los aros) */
  --c3: #7ec8e3; /* el azul hielo */
  --accent: #ffd166;
  --soft: #bcd6e8;
  --ink: #14323f;
  --script: "Mountains of Christmas", "Georgia", serif;
  --gate-bg:
    radial-gradient(circle at 22% 14%, rgba(126,200,227,.26), transparent 44%),
    radial-gradient(circle at 78% 84%, rgba(230,57,70,.24), transparent 46%),
    var(--deep);
  --intro-bg: radial-gradient(ellipse at 50% 118%, #16436b, #0d2742 52%, #061325);
  --game-bg: radial-gradient(ellipse at 30% 0%, #15385c, #0a1d33 55%, #050f1c);
  --invite-bg:
    radial-gradient(circle at 0% 0%, rgba(47,143,91,.14), transparent 40%),
    radial-gradient(circle at 100% 28%, rgba(230,57,70,.13), transparent 40%),
    var(--paper);
}

/* La escena, más grande que el default (min(92vw, 560px)): con el tamaño normal la cabaña
   quedaba diminuta contra todo el campo de nieve y no se leía qué era.
   El tercer valor (56vh) es un techo en el ALTO, para que no se meta con el título.
   ⚠️ Si se cambia cualquiera de estos tres números hay que cambiar el mismo cálculo en
   theme.js (la constante S), que es lo que alinea el humo de la chimenea y la estrella. */
.scene-art { width: min(104vw, 620px, 56vh); }

/* Las luces del árbol y la estrella de la punta se encienden a los 5,2 s, que es el revealAt
   de la temática: el mismo instante en que aparece el título y revienta la purpurina del
   canvas. O sea, el árbol "prende" solo, sin una línea de JavaScript de más.
   (Las ventanas de la cabaña usan .windows, que ya enciende a los 1,6 s en base.css.) */
.luces { opacity: 0; }
#intro.run .luces { animation: nv-luces .5s 5.2s forwards; }
@keyframes nv-luces { to { opacity: 1; } }
/* Una vez encendidas, laten despacio, como una serie de verdad */
#intro.run .luces circle { animation: nv-latir 2.4s 5.7s ease-in-out infinite; }
#intro.run .luces g:nth-child(3) circle { animation-delay: 6.3s; }
@keyframes nv-latir { 50% { opacity: .45; } }

.gate-sub { color: var(--c3); font-family: var(--ui); font-style: normal; font-weight: 600; }
.intro-presents { font-family: var(--ui); font-style: normal; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--soft); }

/* Letras del logo con el brillo cálido de la cabaña */
.logo-text .w span { color: #fff; text-shadow: 0 0 6px rgba(255,209,102,.9), 0 0 22px rgba(230,57,70,.55); }
.logo-text .w span:nth-child(3n+2) { color: #ffe9b8; }
.logo-tag { color: var(--accent); letter-spacing: .04em; }

/* En el juego las caritas caen sobre la nieve: el marcador va claro para que se lea */
#game .hud-score { background: rgba(255,255,255,.92); }

.tc-stub { background: var(--c1); }
.ticket-card { border-color: var(--c2); }
