.stickers{min-height:100svh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 47%,#fffaf4 0,#f3eee6 66%);color:#4d294c;overflow:hidden}
.sticker-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.sticker-toolbar>span{font-size:10px;letter-spacing:.2em;opacity:.6}
.sticker-heading{text-align:center;padding:18px 20px 0}.sticker-heading>p{font-size:10px;letter-spacing:.23em;opacity:.55;margin:0 0 12px}.sticker-heading h2{font-size:clamp(25px,3vw,42px);font-weight:600;letter-spacing:-.04em;margin:0 0 10px}.sticker-heading>span{font-size:13px;opacity:.65}
.sticker-carousel{position:relative;width:100%;height:clamp(300px,49svh,570px);flex:1;min-height:300px;touch-action:pan-y;cursor:grab;user-select:none;outline-offset:-5px}.sticker-carousel.is-dragging{cursor:grabbing}
.sticker-carousel:focus-visible{outline:1px solid #4d294c40;border-radius:24px}
.sticker-carousel[data-flat=true] .sticker-stage{perspective:none}
.sticker-carousel[data-flat=true] .sticker-camera,.sticker-carousel[data-flat=true] .sticker-ring{transform:none!important;transform-style:flat}
.sticker-carousel[data-flat=true] .sticker-card{transform-style:flat}
.sticker-carousel[data-flat=true] .sticker-tile{transform:none!important;backface-visibility:visible;-webkit-backface-visibility:visible}
.sticker-tile-inner:before{content:'加载中…';position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:#4d294c70}
.image-ready .sticker-tile-inner:before{display:none}.image-error:before{content:attr(data-message)}
.sticker-viewport{position:absolute;inset:0;overflow:hidden}.sticker-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;perspective:2500px}
.sticker-camera,.sticker-ring,.sticker-card{width:0;height:0;transform-style:preserve-3d}.sticker-camera{position:relative}.sticker-ring,.sticker-card{position:absolute;left:0;top:0}
.sticker-tile{position:absolute;backface-visibility:hidden;outline:1px solid transparent}.sticker-tile-inner{position:absolute;inset:0;overflow:hidden;background:#f3eee6}.sticker-tile img{position:absolute;display:block;max-width:none;width:220px;height:220px;pointer-events:none;-webkit-user-drag:none}.sticker-shade{position:absolute;inset:0;background:#f3eee6;opacity:var(--depth,0);pointer-events:none}
.sticker-caption{text-align:center;min-height:56px;pointer-events:none}.sticker-caption h3{font-size:16px;font-weight:500;margin:0 0 9px}.sticker-count{font-size:11px;letter-spacing:.16em;opacity:.5;font-variant-numeric:tabular-nums}
.sticker-controls{display:flex;justify-content:center;gap:10px;padding-top:12px}.sticker-controls button{border:1px solid #4d294c22;color:inherit;background:#fffaf4;border-radius:30px;height:42px;padding:0 20px;font-size:12px}.sticker-controls .sticker-prev,.sticker-controls .sticker-next{width:44px;padding:0;font-size:18px}.sticker-controls button:hover{background:#eadfd7}
.sticker-hint{text-align:center;font-size:11px;opacity:.5;margin:17px 0 26px;letter-spacing:.08em}
.sticker-wechat{align-self:center;display:inline-flex;align-items:center;gap:22px;margin:16px 20px 0;padding:13px 23px;border-radius:30px;background:#4d294c;color:#fffaf4;text-decoration:none;font-size:13px;transition:background .2s,transform .2s}.sticker-wechat:hover{background:#674267;transform:translateY(-2px)}.sticker-wechat:focus-visible{outline:2px solid #4d294c;outline-offset:4px}.sticker-wechat span{font-size:17px}
@media(max-width:600px){.sticker-toolbar{padding:12px 16px}.sticker-toolbar>span{font-size:8px}.sticker-heading{padding-top:28px}.sticker-carousel{min-height:280px;height:43svh}.sticker-hint{font-size:10px}}

.sticker-qr-card{align-self:center;display:grid;grid-template-columns:100px 1fr;gap:22px;align-items:center;width:min(410px,calc(100% - 40px));padding:20px;margin:0 20px 48px;background:#fffaf4d9;border:1px solid #4d294c1c;border-radius:20px;box-shadow:0 7px 25px #4d294c06}.sticker-qr-open{display:block;padding:0;border:0;background:#fff;border-radius:7px;overflow:hidden;line-height:0;cursor:zoom-in}.sticker-qr-open img{display:block;width:100%;height:auto}.sticker-qr-card>div>span{font-size:7px;letter-spacing:1.4px;opacity:.45}.sticker-qr-card h3{font-size:16px;font-weight:500;margin:8px 0 9px}.sticker-qr-card p{font-size:11px;opacity:.6;margin:0 0 10px}.sticker-qr-enlarge{padding:0 0 3px;font-size:10px;color:#806187;background:transparent;border:0;border-bottom:1px solid #b8a0be66}.sticker-qr-dialog{width:min(460px,calc(100vw - 36px));padding:25px 20px 22px;border:1px solid #d5c5d9;border-radius:24px;background:#fffaf4;color:#4d294c;box-shadow:0 20px 90px #2b173a40;max-height:92svh;overflow:auto}.sticker-qr-dialog::backdrop{background:#33223bd6;backdrop-filter:blur(9px)}.sticker-qr-dialog>img{display:block;width:min(100%,380px);height:auto;margin:auto;max-height:65svh;object-fit:contain;background:#fff;border-radius:9px}.sticker-qr-close{position:absolute;top:12px;right:16px;width:30px;height:30px;border:0;background:transparent;color:inherit;font-size:25px}.sticker-qr-title{text-align:center;font:bold italic 29px Georgia,serif;margin:0 0 17px}.sticker-qr-help{text-align:center;font-size:12px;margin:17px 0 0;opacity:.65}.sticker-qr-card button:focus-visible,.sticker-qr-dialog button:focus-visible{outline:2px solid #94709d;outline-offset:4px}
@media(max-width:600px){.sticker-qr-card{grid-template-columns:90px 1fr;gap:17px;padding:16px;margin-bottom:45px}.sticker-qr-card h3{font-size:14px}.sticker-qr-card>div>span{font-size:6px;letter-spacing:1px}.sticker-qr-card p{font-size:10px}}
