.stampwrap{--color-indigo-dark: #1B3A5C;--color-denim-mid: #3E6390;--color-denim-wash: #A8C0DC;--color-denim-pale: #E8EEF5;--color-stitch-gold: #E8B04B;--color-text-light: #F7F4EC;display:flex;flex-direction:column;align-items:center;padding:8px 4px 24px}.stampwrap .card-swiper{width:100%;max-width:500px;position:relative;overflow:hidden;touch-action:pan-y}.stampwrap .card-swiper-track{display:flex;transition:transform .3s ease}.stampwrap .card-swiper-slide{min-width:100%;flex-shrink:0;padding:12px;box-sizing:border-box}.stampwrap .stamp-card{background:var(--color-denim-pale);border-radius:16px;padding:2rem 1.5rem;box-shadow:0 8px 24px #0006;border:3px dashed var(--color-stitch-gold);position:relative;overflow:hidden}.stampwrap .stamp-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--seasonal-bg);background-size:cover;background-position:center;opacity:1;pointer-events:none;z-index:0}.stampwrap .stamp-card-content{position:relative;z-index:1}.stampwrap .card-header{text-align:center;margin-bottom:1.5rem}.stampwrap .card-header h2{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:#f7f4ec;text-shadow:0 1px 3px rgba(0,0,0,.5)}.stampwrap .card-status{font-size:.9rem;font-weight:600;color:#e8b04b;text-shadow:0 1px 3px rgba(0,0,0,.5)}.stampwrap .card-reward-hint{font-size:.75rem;color:var(--color-stitch-gold);margin-top:.25rem;text-shadow:0 1px 3px rgba(0,0,0,.5)}.stampwrap .stamp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1.5rem}.stampwrap .stamp-slot{aspect-ratio:1/1;width:100%;min-width:0;position:relative;overflow:hidden;display:block}.stampwrap .stamp-image{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;object-fit:contain}.stampwrap .stamp-image-fallback{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.stampwrap .stamp-image-fallback.filled{background:radial-gradient(circle,#e53e3e,#c53030);color:var(--color-text-light)}.stampwrap .stamp-image-fallback.empty{background:transparent;border:2px solid var(--color-denim-wash)}.stampwrap .stamp-date-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.7rem;font-weight:700;color:var(--color-indigo-dark);text-align:center;pointer-events:none;text-shadow:0 1px 2px rgba(255,255,255,.8)}@keyframes stampPop{0%{transform:scale(.5) rotate(-10deg);opacity:0}50%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}.stampwrap .stamp-slot.animating .stamp-image,.stampwrap .stamp-slot.animating .stamp-image-fallback{animation:stampPop .5s cubic-bezier(.175,.885,.32,1.275)}.stampwrap .card-actions{display:flex;flex-direction:column;gap:.75rem}.stampwrap .btn-redeem{background:linear-gradient(135deg,var(--color-stitch-gold),#D4941A);color:var(--color-indigo-dark);font-weight:700;border:2px solid var(--color-indigo-dark);border-radius:8px;padding:1rem;font-size:1.1rem;cursor:pointer;box-shadow:0 4px 12px #e8b04b66}.stampwrap .btn-redeem:disabled{cursor:default}.stampwrap .btn-redeem.pending{background:var(--color-denim-wash);color:var(--color-indigo-dark)}.stampwrap .btn-redeem.redeemed{background:var(--color-denim-mid);color:var(--color-text-light)}.stampwrap .card-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.stampwrap .card-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-denim-wash);opacity:.3;transition:opacity .2s ease}.stampwrap .card-indicator.active{opacity:1;background:var(--color-stitch-gold)}.stampwrap .stamp-note{max-width:500px;width:100%;margin:14px auto 0;padding:0 12px;box-sizing:border-box;color:#5b5b57;font-size:13px;line-height:1.7;text-align:center}.stampwrap .stamp-note b{color:#993556}
