/* Zigzag Drift (shared: sim3d.css) */
#game-root .sim-controls-help { margin-top: 14px; }
.zz-top { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 4px; pointer-events: none; }
.zz-score { background: rgba(8, 16, 28, .72); border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; padding: 3px 16px; font: 900 30px system-ui, sans-serif; font-variant-numeric: tabular-nums; min-width: 110px; text-align: center; }
.zz-sub { display: flex; gap: 12px; font: 800 14px system-ui, sans-serif; text-shadow: 0 1px 3px #000; font-variant-numeric: tabular-nums; }
.zz-sub span:empty { display: none; }
.zz-pop { position: absolute; left: 50%; top: 30%; transform: translate(-50%, -50%); font: 900 clamp(18px, 3vw, 28px) system-ui, sans-serif; color: #fde047; text-shadow: 0 2px 6px rgba(0, 0, 0, .7); opacity: 0; pointer-events: none; white-space: nowrap; }
.zz-pop.is-on { animation: zz-pop 1.1s ease-out forwards; }
@keyframes zz-pop { 0% { opacity: 0; transform: translate(-50%, -30%) scale(.8); } 15% { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } 70% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, -90%) scale(1); } }
.zz-hint { position: absolute; left: 50%; bottom: 58px; transform: translateX(-50%); display: flex; gap: 10px; pointer-events: none; font: 700 14px system-ui, sans-serif; white-space: nowrap; }
.zz-hint span { background: rgba(8, 16, 28, .7); border: 1px solid rgba(255, 255, 255, .2); border-radius: 999px; padding: 5px 12px; }
@container (max-width: 480px) {
  .zz-top { top: 92px; }
  .zz-score { font-size: 22px; min-width: 84px; }
  .zz-hint { flex-direction: column; align-items: center; gap: 6px; bottom: 24px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .zz-pop.is-on { animation: none; opacity: 1; } }
