.puzzle-bg {
    background: linear-gradient(135deg, #7c2d12 0%, #9a3412 50%, #c2410c 100%);
    background-image:
        radial-gradient(circle at 25% 25%, rgba(251, 146, 60, 0.2) 0%, transparent 50%),
        radial-gradient(circle at 75% 75%, rgba(249, 115, 22, 0.2) 0%, transparent 50%);
}

.draggable {
    cursor: grab;
    transition: transform 0.2s, box-shadow 0.2s;
}

.draggable:active {
    cursor: grabbing;
    transform: scale(1.05);
}

.draggable.dragging {
    opacity: 0.5;
}

.drop-zone {
    transition: all 0.3s;
    min-height: 100px;
}

.drop-zone.drag-over {
    background-color: rgba(251, 191, 36, 0.3);
    border-color: #fbbf24;
    transform: scale(1.02);
}

.shape-item {
    touch-action: none;
}

/* High-quality claymation background */
body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('clay_background.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    z-index: -1;
}