.curator .reward-section .reward-grid{max-width:1200px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px}
.reward-copy{max-width:540px}.reward-copy>small{display:block;margin-top:24px}
.reward-dashboard{position:relative;min-width:0;height:580px;background:radial-gradient(ellipse at 53% 49%,#f8f5ff 0%,#f8f5ff70 36%,transparent 70%)}
.activity-receipt{position:absolute;z-index:2;top:32px;left:50%;width:330px;padding:32px 30px 23px;--receipt-outline:rgba(111,72,230,.18);border:1px solid var(--receipt-outline);border-bottom:0;border-radius:8px 8px 2px 2px;background:#fff;box-shadow:0 12px 35px rgba(58,42,90,.07),inset 0 0 0 1px rgba(255,255,255,.65);color:#24202b;opacity:0;transform:translate(-50%,16px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1),border-color .3s ease;isolation:isolate}
.activity-receipt::before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;opacity:.035;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.8' filter='url(%23n)'/%3E%3C/svg%3E")}
.receipt-paper-edge{position:absolute;left:-1px;bottom:-11px;width:calc(100% + 2px);height:12px;overflow:visible;filter:drop-shadow(0 5px 5px rgba(55,38,90,.05));pointer-events:none}.receipt-paper-edge polygon{fill:#fff}.receipt-paper-edge polyline{fill:none;stroke:var(--receipt-outline);stroke-width:1;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:stroke .3s ease}
.reward-grid.reward-entered .activity-receipt{opacity:1;transform:translate(-50%,0)}
.receipt-header{text-align:center;padding-bottom:26px}.receipt-header strong{display:block;color:#7543d3;font-size:17px;font-weight:850;letter-spacing:.02em}.receipt-header span{display:block;margin-top:7px;color:#a49aab;font-size:9px;font-weight:650;letter-spacing:.13em}
.receipt-experience>span{color:#a095a8;font-size:11px}.receipt-experience h3{margin:7px 0 5px;font-size:19px;font-weight:850;letter-spacing:-.04em;line-height:1.4}.receipt-experience p{margin:0;color:#9a90a3;font-size:12px}
.receipt-usage{padding:20px 0;margin:22px 0 0;border-top:1px dashed #ded5e8;display:grid;gap:12px}.receipt-usage>div{display:flex;justify-content:space-between;align-items:center}.receipt-usage dt{color:#9a90a3;font-size:12px}.receipt-usage dd{margin:0;font-size:12px;font-weight:750}
.receipt-used-tag{color:#7543d3;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .35s}
.reward-grid.reward-used-visible .receipt-used-tag{opacity:1;transform:none}
.receipt-reward{padding:4px 0 22px;border-bottom:1px dashed #ded5e8}.receipt-reward>span{font-size:9px;color:#a094ab;font-weight:650;letter-spacing:.12em}.receipt-reward-stamp{display:block;margin-top:9px;color:#7543d3;font-size:34px;font-weight:900;letter-spacing:-.04em;line-height:1.2;opacity:0;transform:scale(.96);transform-origin:left center}
.reward-grid.reward-notified .receipt-reward-stamp{animation:receipt-stamp .45s ease-out both}
@keyframes receipt-stamp{0%{opacity:0;transform:scale(.96)}60%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}
.receipt-total{padding-top:22px}.receipt-total>span{display:block;font-size:12px;color:#95899f}.receipt-total>strong{display:block;margin-top:7px;font-size:39px;line-height:1.2;letter-spacing:-.045em;font-weight:900;font-variant-numeric:tabular-nums}
.receipt-footer{margin-top:26px;text-align:center;color:#ac9fb5;font-size:8px;font-weight:650;letter-spacing:.045em}
.reward-experience-card{position:absolute;z-index:1;width:108px;padding:7px 7px 9px;background:#fff;border:1px solid #f0edf4;border-radius:12px;box-shadow:0 8px 20px #35263c09}.reward-experience-card img{display:block;width:100%;height:78px;border-radius:7px;object-fit:cover}.reward-experience-card>span{display:block;font-size:10px;font-weight:750;margin:7px 3px 0;color:#6f6579}.reward-experience-card>small{position:absolute;left:6px;bottom:-12px;font-size:9px;font-weight:750;white-space:nowrap;padding:6px 8px;background:#f0e8fb;border-radius:8px}
.reward-exhibition{top:7px;right:0;transform:rotate(7deg)}.reward-cafe{top:210px;left:-4px;transform:rotate(-8deg)}.reward-dessert{bottom:24px;right:0;transform:rotate(6deg)}
@media(max-width:1000px){.curator .reward-section .reward-grid{gap:24px}.activity-receipt{width:300px;padding:28px 25px 22px}.reward-experience-card{width:90px}.reward-experience-card img{height:65px}.reward-cafe{left:-8px}.reward-exhibition,.reward-dessert{right:-8px}}
@media(max-width:760px){.curator .reward-section .reward-grid{grid-template-columns:1fr;max-width:540px;gap:28px}.reward-dashboard{height:575px;width:100%;overflow:clip}.reward-copy{max-width:100%}.activity-receipt{width:330px}.reward-experience-card{width:98px}.reward-experience-card img{height:73px}.reward-exhibition{right:0}.reward-dessert{right:0;bottom:18px}.reward-cafe{left:0}}
@media(max-width:400px){.reward-dashboard{height:640px}.activity-receipt{top:84px;width:244px;padding:26px 21px 21px}.receipt-header{padding-bottom:22px}.receipt-header strong{font-size:15px}.receipt-experience h3{font-size:16px}.receipt-experience p{font-size:11px}.receipt-usage{margin-top:19px;padding:18px 0;gap:11px}.receipt-usage dt,.receipt-usage dd{font-size:11px}.receipt-reward-stamp{font-size:30px}.receipt-total>strong{font-size:34px}.receipt-footer{font-size:7px;margin-top:23px}.reward-experience-card{width:66px;padding:5px; border-radius:9px}.reward-experience-card img{height:49px}.reward-experience-card>span{font-size:9px;margin-top:4px}.reward-exhibition{top:5px;right:6px}.reward-cafe{top:5px;left:6px}.reward-dessert{bottom:5px;right:6px}.reward-experience-card>small{font-size:7px;padding:5px;bottom:-10px;left:0}}
@media(prefers-reduced-motion:reduce){.activity-receipt,.receipt-used-tag{transition:none}.reward-grid.reward-notified .receipt-reward-stamp{animation:none;opacity:1;transform:none}}
.activity-receipt{transform-origin:50% 0}
.activity-receipt.paper-flutter{animation:paper-flutter .7s ease-in-out both}
.activity-receipt.paper-flutter .receipt-paper-edge{animation:paper-edge .7s ease-in-out both}
@keyframes paper-flutter{0%,100%{transform:translate(-50%,0) rotateZ(0) rotateX(0);box-shadow:0 12px 35px rgba(58,42,90,.07),inset 0 0 0 1px rgba(255,255,255,.65)}30%{transform:translate(-50%,-2px) rotateZ(-.4deg) rotateX(1deg);box-shadow:0 16px 35px rgba(58,42,90,.075),inset 0 0 0 1px rgba(255,255,255,.65)}65%{transform:translate(-50%,-1px) rotateZ(.5deg) rotateX(-.5deg)}}
@keyframes paper-edge{0%,100%{transform:none}30%{transform:translateY(-1px) skewX(.4deg)}65%{transform:translateY(.5px) skewX(-.4deg)}}
.receipt-use-count{position:relative;display:inline-block;width:3.1ch;height:1.4em;line-height:1.4;vertical-align:bottom;overflow:hidden;font-variant-numeric:tabular-nums;text-align:right;margin-right:2px}
.receipt-use-count>span{position:absolute;inset:0}
.receipt-use-count [data-use-next]{opacity:0;transform:translateY(80%)}
.receipt-use-count.is-changing [data-use-current]{animation:receipt-number-out .35s ease both}
.receipt-use-count.is-changing [data-use-next]{animation:receipt-number-in .35s ease both}
@keyframes receipt-number-out{to{opacity:0;transform:translateY(-80%)}}
@keyframes receipt-number-in{to{opacity:1;transform:translateY(0)}}
.reward-grid.receipt-event-reward .receipt-reward-stamp{opacity:1;animation:receipt-update-pulse .45s ease both}
@keyframes receipt-update-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.receipt-total>strong{border-radius:6px;transition:background-color .3s}
.reward-grid.receipt-total-updating .receipt-total>strong{background:#f4eefb}
.receipt-notification{position:absolute;z-index:4;top:4px;left:50%;width:244px;padding:12px 16px;border:1px solid #e8def5;border-radius:14px;background:#fff;box-shadow:0 5px 18px #30203c08;opacity:0;transform:translate(-50%,6px);transition:opacity .3s,transform .3s;pointer-events:none}
.receipt-notification strong{display:block;font-size:12px;color:#66566f;font-weight:750}
.receipt-notification span{display:block;min-height:22px;margin-top:4px;color:#7543d3;font-size:18px;font-weight:850;opacity:0;transition:opacity .25s}
.reward-grid.receipt-event .receipt-notification{opacity:1;transform:translate(-50%,0)}
.reward-grid.receipt-event-reward .receipt-notification span{opacity:1}
@media(max-width:400px){.receipt-notification{top:30px;width:220px;padding:10px 13px}.receipt-notification strong{font-size:11px}.receipt-notification span{font-size:16px}}
@media(prefers-reduced-motion:reduce){.activity-receipt.paper-flutter,.activity-receipt.paper-flutter .receipt-paper-edge,.receipt-use-count.is-changing>span,.reward-grid.receipt-event-reward .receipt-reward-stamp{animation:none}.receipt-notification,.receipt-notification span,.receipt-total>strong{transition:none}}
@media(hover:hover) and (pointer:fine){.activity-receipt:hover{--receipt-outline:rgba(111,72,230,.26)}}
@media(prefers-reduced-motion:reduce){.receipt-paper-edge polyline{transition:none}}