.sticker-card { max-width: 1040px; }

.sticker-tray {
    display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem;
    margin-bottom: 1rem; max-height: 132px; overflow-y: auto; padding: .25rem;
}
.sticker-pick {
    font-size: 2rem; line-height: 1; background: #fff7fe; border: 2px solid #ffe0f5;
    border-radius: 14px; width: 56px; height: 56px; cursor: pointer; padding: 0;
}
.sticker-pick.active { background: #ffd6f0; border-color: #ff8fce; transform: scale(1.08); }

.sticker-bgs { display: flex; justify-content: center; gap: .4rem; flex-wrap: wrap; margin-bottom: .75rem; }
.sticker-bg { width: 48px; height: 34px; border-radius: 10px; border: 2px solid #e0d0ff; cursor: pointer; padding: 0; }
.sticker-bg.active { border-color: #9775fa; transform: scale(1.08); }

.sticker-board {
    position: relative; overflow: hidden; width: 100%;
    height: min(70vh, 680px); border-radius: 18px; border: 4px solid #cdeefe;
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 224, 245, .6), transparent 40%),
        linear-gradient(180deg, #eafaff 0%, #fff7fd 100%);
    touch-action: none;
}
.sticker-on-board {
    position: absolute; transform: translate(-50%, -50%);
    font-size: 3rem; line-height: 1; cursor: grab; user-select: none;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .2)); touch-action: none;
}
.sticker-on-board.grab { cursor: grabbing; }
.sticker-board.removing { outline: 3px dashed #ff8fab; outline-offset: -3px; }
