body { font-family: sans-serif; text-align: center; background: #f3e5f5; margin: 0; padding: 1rem; touch-action: manipulation; }
#game-container { max-width: 380px; margin: auto; background: white; padding: 1.5rem; border-radius: 15px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
#puzzle-dropzone { width: 140px; height: 160px; border: 3px dashed #ba68c8; margin: 1rem auto; border-radius: 10px; background: #faf0fc; display: flex; justify-content: center; align-items: center; }
#target-svg { width: 90px; height: 110px; }
.slot.hidden { display: none; }
#puzzle-pieces { display: flex; justify-content: center; gap: 0.5rem; margin-top: 1rem; }
.piece { background: #ce93d8; padding: 10px; border-radius: 8px; cursor: pointer; font-weight: bold; font-size: 0.85rem; user-select: none; }
.piece.placed { opacity: 0.4; pointer-events: none; background: #999; }
#message { margin-top: 1rem; font-weight: bold; font-size: 1.1rem; color: #6a1b9a; min-height: 1.5rem; }
