/* ---------- Guerra de Bolas de Nieve ---------- */
#stage.snow-war #roomSvg { cursor: crosshair; }
#snowHud { position: absolute; left: 50%; top: 22px; transform: translateX(-50%); z-index: 2000; display: flex; align-items: center; gap: 16px;
  padding: 8px 14px 8px 8px; border-radius: 28px; border: 4px solid #1d5fa8; background: linear-gradient(#f4fbff, #cfe8ff);
  box-shadow: 0 6px 0 rgba(0,0,0,.2); font: 700 20px var(--font); color: #1d4f88; animation: swIn .35s cubic-bezier(.3,1.5,.5,1); }
#snowHud img { height: 62px; }
#snowHud .sw-t { display: flex; flex-direction: column; line-height: 1.2; }
#snowHud .sw-t b { font-size: 24px; color: #12407a; }
@keyframes swIn { from { transform: translateX(-50%) translateY(-30px) scale(.8); opacity: 0; } }
.sw-target { position: absolute; transform: translate(-50%, -100%); pointer-events: none; transform-origin: 50% 100%; animation: swRise .45s cubic-bezier(.3,1.6,.5,1); }
.sw-target.gold { filter: drop-shadow(0 0 10px #ffd84a); }
.sw-target.down { animation: swDown .6s ease-in forwards; }
@keyframes swRise { from { transform: translate(-50%, -100%) scale(.2, 0); } }
@keyframes swDown { 30% { transform: translate(-50%, -100%) rotate(-10deg) scale(1.05); } 100% { transform: translate(-50%, -100%) rotate(70deg) scale(.6); opacity: 0; } }
.sw-ball { position: absolute; width: 46px; pointer-events: none; z-index: 5; filter: drop-shadow(0 6px 4px rgba(0,30,60,.25)); }
.sw-splat { position: absolute; width: 130px; transform: translate(-50%, -50%); pointer-events: none; z-index: 5; animation: swSplat .7s ease-out forwards; }
@keyframes swSplat { 0% { transform: translate(-50%, -50%) scale(.3); } 25% { transform: translate(-50%, -50%) scale(1.1); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(1); opacity: 0; } }
.sw-pop { position: absolute; transform: translate(-50%, -100%); white-space: nowrap; pointer-events: none; z-index: 6; font: 800 30px var(--font);
  color: #fff; -webkit-text-stroke: 2px #1d4f88; text-shadow: 0 3px 0 #1d4f88; animation: swPop 1s ease-out forwards; }
.sw-pop.gold { color: #ffe27a; -webkit-text-stroke-color: #8a5a00; text-shadow: 0 3px 0 #8a5a00; }
.sw-pop.bear { color: #b6ffb0; -webkit-text-stroke-color: #1d6a2a; text-shadow: 0 3px 0 #1d6a2a; }
.sw-pop.me { color: #ffd0d0; -webkit-text-stroke-color: #8a1d1d; text-shadow: 0 3px 0 #8a1d1d; }
@keyframes swPop { 0% { transform: translate(-50%, -60%) scale(.6); opacity: 0; } 20% { transform: translate(-50%, -100%) scale(1.1); opacity: 1; } 100% { transform: translate(-50%, -190%); opacity: 0; } }
.actor.sw-on::after { content: '❄️'; position: absolute; left: 50%; top: -12px; transform: translateX(-50%); font-size: 30px; pointer-events: none; }
