/* ==========================================================
   Wishing Lanterns — a New Year wish
   Midnight lake blue and lantern amber; Cormorant and Alex Brush.
   ========================================================== */
.wl {
  --g-bg: #0a1430; --g-bg2: #101c3d; --g-ink: #f8eedd; --g-muted: rgba(248, 238, 221, 0.74);
  --g-accent: #f0a94a; --g-accent2: #ffd59a; --g-card: #fdf6ea; --g-card-ink: #2a2118;
  --g-display: 'Cormorant Garamond', serif; --g-script: 'Alex Brush', cursive;
  --g-body: 'Cormorant Garamond', serif; --g-label: 'Marcellus', serif;
}
.wl .vx-loader { background: linear-gradient(180deg, #0a1430, #1c2a52 70%, #6a4a3a); }
.wl .gr-dear, .wl .gr-to, .wl .gr-letter-to, .wl .gr-letter-sign, .wl .gr-wish p, .wl .gr-flip-back { font-style: normal; }
.wl .gr-to, .wl .gr-letter-to { font-size: 1.8rem; }
.wl .gr-letter-p, .wl .gr-p { font-size: 1.12rem; }
.wl .gr-wish p { font: italic 400 1.02rem/1.5 var(--g-body); }
.wl .gr-flip-back { font-size: 1.3rem; line-height: 1.25; }
.wl .gr-big { font-weight: 500; }

.wl-match { position: absolute; right: -24%; bottom: -22%; width: 34%; transform: rotate(28deg); filter: drop-shadow(0 0 14px rgba(255, 190, 90, 0.8)); animation: wl-strike 1.8s ease-in-out infinite; }
@keyframes wl-strike { 0%, 100% { transform: translate(0, 0) rotate(28deg); } 50% { transform: translate(-14px, -6px) rotate(20deg); } }

.wl-moments { background: linear-gradient(180deg, var(--g-bg), #121f44); }

/* lanterns that rise when a wish is sent */
.wl-fly { position: fixed; z-index: 40; width: 64px; pointer-events: none; filter: drop-shadow(0 0 18px rgba(255, 170, 70, 0.9)); }
.wl-finale-lantern { width: 90px; margin: 0 auto 8px; filter: drop-shadow(0 0 30px rgba(255, 170, 70, 0.7)); }
@media (prefers-reduced-motion: reduce) { .wl-match { animation: none; } }
