.game-area {
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
}

#rail-svg {
  width: 100%;
  max-width: 300px;
}

#stage-svg {
  width: 100%;
  max-width: 300px;
  background: #eee;
  border-radius: 8px;
}

.rail-arc { fill: none; stroke: #999; stroke-width: 2; }
.rail-tick { fill: #666; font-size: 12px; text-anchor: middle; }
.lamp {
  fill: #fff;
  stroke: #222;
  stroke-width: 3;
  cursor: grab;
  touch-action: none;
}
.lamp:active { cursor: grabbing; }

.object-icon { fill: none; stroke: #999; stroke-width: 2; }

.shadow {
  fill: #222;
  transition: x 0.12s ease, y 0.12s ease, width 0.12s ease, height 0.12s ease, transform 0.12s ease;
}
