/* Powder Peak (12-worlds-c §B, Peak.dc.html). Only what inline styles cannot express: skier tweaks on top of the shared .pw-bean classes,
   the ski/carve animations, scene wrapper (phone scaling), hit areas, replay walkers, quick pick. Nothing here edits an existing rule. */
@keyframes carve { 0%,100% { transform: rotate(-9deg) translateY(0) } 50% { transform: rotate(9deg) translateY(-2px) } }
.ski .bean { animation: carve .52s ease-in-out infinite; transform-origin: 50% 100%; }
.ski .al { animation: swing .52s ease-in-out infinite; }
.ski .ar { animation: swing .52s ease-in-out -.26s infinite; }

/* Skier = Bean with the body 3px higher, skis instead of feet, goggles instead of eyes/cheeks, a scarf (12-worlds-c §B.6) */
.pw-bean.pk-skier .pw-shadow { left: -22px; top: -6px; width: 44px; height: 12px; background: rgba(60,90,130,0.28); }
.pw-bean.pk-skier .bean { bottom: 8px; }
.pw-bean.pk-skier .pw-tag { top: -104px; }
.pw-bean.pk-skier .pw-bubble { left: 24px; top: -172px; width: 220px; }
.pk-ski { position: absolute; height: 6px; border-radius: 6px 10px 10px 3px; border: 2px solid #1E1B2E; box-sizing: border-box; transform: rotate(-4deg); }
.pk-goggles { position: absolute; left: 6px; top: 12px; width: 28px; height: 12px; box-sizing: border-box; border-radius: 7px; background: #7FD3FF; border: 2.5px solid #1E1B2E; }
.pk-glint { position: absolute; left: 11px; top: 14px; width: 6px; height: 3px; border-radius: 2px; background: rgba(255,255,255,0.85); }
.pk-scarf { position: absolute; box-sizing: border-box; border: 2px solid #1E1B2E; }

/* Scene wrapper: scaled to the phone width by PeakWorld (no minimum scale, no horizontal scroll) */
.pk-scene-wrap { width: 100%; max-width: 1200px; margin: 0 auto; overflow: hidden; border-radius: 28px; }
.pk-scene { position: relative; width: 1200px; height: 650px; box-sizing: border-box; overflow: hidden; border-radius: 28px; background: #CDE8F7; border: 3px solid #1E1B2E; transform-origin: 0 0; }
.pk-hit { background: transparent; }
.pk-hit:hover { background: rgba(255,255,255,.35); }

/* Replay: one wrapper per teammate, positioned by a per-skier @keyframes (emitted by PeakWorld) */
.pk-walker { position: absolute; left: 0; top: 0; width: 0; height: 0; }
@keyframes pkshow { from { opacity: 0 } to { opacity: 1 } }

.pk-quick { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pk-quick button { min-width: 44px; height: 44px; padding: 0 10px; border: 3px solid #1E1B2E; border-radius: 12px; box-shadow: 0 3px 0 #1E1B2E; font-family: 'Lilita One', sans-serif; font-size: 18px; color: #1E1B2E; cursor: pointer; }

/* Reduced motion: no slalom, no carve, tracks complete at once, skiers at their final gate slots */
@media (prefers-reduced-motion: reduce) {
  .ski .bean, .ski .al, .ski .ar { animation: none; }
  .pk-walker { animation: none !important; transform: var(--fin) !important; z-index: var(--zf) !important; }
  .pk-fig { animation: none !important; }
  .pk-trk { animation: none !important; opacity: 1 !important; }
}
.rm .ski .bean, .rm .ski .al, .rm .ski .ar { animation: none; }
.rm .pk-walker { animation: none !important; transform: var(--fin) !important; z-index: var(--zf) !important; }
.rm .pk-fig { animation: none !important; }
.rm .pk-trk { animation: none !important; opacity: 1 !important; }
