@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a1e5f881e1ca6a9a-s.13fuw45rznnbw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2efc0c479abd2474-s.00_s7u0207b06.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/70963ccca14000df-s.0.c8snxkpy0.1.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a146d0fd3ff96e4-s.130eupr26to7g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0474ff9f7224a0da-s.0b9ze1zw0~l1a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(../media/f48d461c03e0a8ec-s.p.13m1ppbimti50.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Great Vibes Fallback;src:local(Arial);ascent-override:124.79%;descent-override:58.8%;line-gap-override:0.0%;size-adjust:68.19%}.great_vibes_4494ee54-module__A9CBbq__className{font-family:Great Vibes,Great Vibes Fallback;font-style:normal;font-weight:400}.great_vibes_4494ee54-module__A9CBbq__variable{--font-great-vibes:"Great Vibes", "Great Vibes Fallback"}
@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/224e262ef877bfa4-s.0mo8vqgr8yagc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7f11d98043fdedc9-s.p.0r4w1y.tjq0ay.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.0lcb62h0-.jh3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.0ri_id_kcagyz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.0tqkxa-w3pk~c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/224e262ef877bfa4-s.0mo8vqgr8yagc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7f11d98043fdedc9-s.p.0r4w1y.tjq0ay.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.0lcb62h0-.jh3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.0ri_id_kcagyz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.0tqkxa-w3pk~c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/224e262ef877bfa4-s.0mo8vqgr8yagc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7f11d98043fdedc9-s.p.0r4w1y.tjq0ay.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.0lcb62h0-.jh3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.0ri_id_kcagyz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.0tqkxa-w3pk~c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/224e262ef877bfa4-s.0mo8vqgr8yagc.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/7f11d98043fdedc9-s.p.0r4w1y.tjq0ay.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.0lcb62h0-.jh3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.0ri_id_kcagyz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.0tqkxa-w3pk~c.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_97fdaf23-module__r4j8KW__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_97fdaf23-module__r4j8KW__variable{--font-nunito:"Nunito", "Nunito Fallback"}
.loyalty-root{--burgundy:#7a1020;--dark:#1a0505;--pink-light:#e8a0b0;--pink-hot:#ff6b8a;--cream:#f5e6e8;--soft:#f5e6e8b3;min-height:100dvh;font-family:var(--font-nunito), "Nunito", system-ui, sans-serif;color:var(--cream);background:#3d0510;justify-content:center;align-items:center;padding:20px;display:flex}.loyalty-root *{-webkit-tap-highlight-color:transparent;box-sizing:border-box}.loyalty-root .screen{width:100%;max-width:400px;display:none}.loyalty-root .screen.active{flex-direction:column;align-items:center;display:flex}.loyalty-root .welcome-logo{width:92%;max-width:360px;height:auto;margin:0 auto 14px;display:block}.loyalty-root .brand{font-family:var(--font-great-vibes), "Great Vibes", cursive;color:#fff;text-align:center;text-shadow:0 4px 20px #ff6b8a66;margin-bottom:2px;font-size:3rem}.loyalty-root .brand-sub{letter-spacing:.32em;color:#fff9;text-align:center;text-transform:uppercase;margin-bottom:36px;font-size:.62rem}.loyalty-root .welcome-box{background:var(--burgundy);border-radius:28px;width:100%;padding:36px 28px 32px;position:relative;overflow:hidden;box-shadow:0 24px 64px #0009,inset 0 1px #ffffff12}.loyalty-root .welcome-box h2{color:var(--cream);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.95rem;font-weight:800}.loyalty-root .welcome-box p{color:var(--soft);margin:0 0 24px;font-size:.8rem;line-height:1.6}.loyalty-root .welcome-box strong{color:var(--pink-hot)}.loyalty-root .input{width:100%;color:var(--cream);background:#ffffff14;border:1.5px solid #e8a0b040;border-radius:16px;outline:none;margin-bottom:14px;padding:15px 20px;font-family:inherit;font-size:1rem;font-weight:600;transition:border-color .2s;display:block}.loyalty-root .input::placeholder{color:#f5e6e84d;font-weight:400}.loyalty-root .input:focus{border-color:#e8a0b08c}.loyalty-root .input.error{border-color:#ff6b8a99}.loyalty-root .btn-main{color:#fff;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#c4234a,#ff6b8a);border:none;border-radius:16px;width:100%;padding:16px;font-family:inherit;font-size:.9rem;font-weight:900;transition:transform .12s;box-shadow:0 8px 24px #c4234a66}.loyalty-root .btn-main:active{transform:scale(.97)}.loyalty-root .btn-main:disabled{opacity:.6;cursor:not-allowed}.loyalty-root .greeting{font-family:var(--font-great-vibes), "Great Vibes", cursive;color:var(--cream);text-align:center;text-shadow:0 2px 12px #ff6b8a33;margin-bottom:2px;font-size:2.1rem}.loyalty-root .hint{letter-spacing:.2em;color:var(--soft);text-align:center;text-transform:uppercase;margin-bottom:18px;font-size:.65rem}.loyalty-root .loyalty-card{background:var(--burgundy);border-radius:28px;width:100%;margin-bottom:14px;padding:26px 22px 22px;box-shadow:0 24px 64px #0009,inset 0 1px #ffffff12}.loyalty-root .card-title{font-family:var(--font-great-vibes), "Great Vibes", cursive;color:var(--cream);text-align:center;margin-bottom:2px;font-size:2.1rem;line-height:1}.loyalty-root .card-sub{letter-spacing:.2em;color:#f5e6e8cc;text-align:center;text-transform:uppercase;margin-bottom:20px;font-size:.6rem}.loyalty-root .cycle-badge{letter-spacing:.18em;color:#f5e6e880;text-align:center;text-transform:uppercase;margin-bottom:14px;font-size:.55rem}.loyalty-root .grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:16px;display:grid}.loyalty-root .hslot{position:relative}.loyalty-root .hslot svg{aspect-ratio:1;filter:drop-shadow(0 3px 6px #0000004d);width:100%;display:block}.loyalty-root .hfill{fill:var(--pink-light);transition:fill .35s}.loyalty-root .hslot.on .hfill{fill:var(--pink-hot)}.loyalty-root .hslot.reward-slot .hfill{fill:#d4a0b8}.loyalty-root .stamp-ico{pointer-events:none;justify-content:center;align-items:center;font-size:1.1rem;display:none;position:absolute;inset:0}.loyalty-root .hslot.on .stamp-ico{display:flex}.loyalty-root .logo-inside{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loyalty-root .logo-inside span{color:var(--burgundy);letter-spacing:.04em;text-align:center;font-size:.46rem;font-weight:900;line-height:1.15;display:block}.loyalty-root .reward-lbl{color:var(--burgundy);pointer-events:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:900;display:flex;position:absolute;inset:0}.loyalty-root .prog-bar{background:#0003;border-radius:20px;height:5px;margin-bottom:6px;overflow:hidden}.loyalty-root .prog-fill{background:linear-gradient(90deg,#ff8fab,#ff3d68);border-radius:20px;height:100%;transition:width .45s}.loyalty-root .prog-txt{color:var(--soft);text-align:center;letter-spacing:.06em;margin-bottom:14px;font-size:.7rem}.loyalty-root .card-foot{color:var(--soft);text-align:center;letter-spacing:.1em;font-size:.7rem}.loyalty-root .btn-stamp,.loyalty-root .btn-redeem{width:100%;color:var(--cream);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#e8a0b01a;border:1.5px solid #e8a0b038;border-radius:16px;margin-bottom:10px;padding:15px;font-family:inherit;font-size:.8rem;font-weight:700;transition:background .18s,transform .12s}.loyalty-root .btn-stamp:active,.loyalty-root .btn-redeem:active{background:#e8a0b038;transform:scale(.99)}.loyalty-root .btn-redeem{background:linear-gradient(135deg,#c4234a,#ff6b8a);border-color:#0000;font-weight:900}.loyalty-root .btn-back{color:#f5e6e866;cursor:pointer;letter-spacing:.1em;background:0 0;border:none;margin-top:6px;padding:8px;font-family:inherit;font-size:.7rem}.loyalty-root .qr-card{background:#00000040;border-radius:18px;align-items:center;gap:14px;width:100%;margin-top:8px;padding:16px 18px;display:flex}.loyalty-root .qr-card .qr-box{background:#fff;border-radius:10px;flex-shrink:0;padding:8px;line-height:0}.loyalty-root .qr-card .qr-text{color:var(--soft);letter-spacing:.04em;font-size:.7rem;line-height:1.45}.loyalty-root .qr-card .qr-text b{color:var(--cream);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:.78rem;display:block}.loyalty-root .overlay{z-index:200;background:#050000e0;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.loyalty-root .overlay.show{display:flex}.loyalty-root .pin-sheet{text-align:center;background:#280810;border-radius:28px 28px 0 0;width:100%;max-width:420px;padding:24px 22px 40px;animation:.28s loyalty-slideUp}@keyframes loyalty-slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.loyalty-root .pin-handle{background:#f5e6e82e;border-radius:2px;width:36px;height:4px;margin:0 auto 18px}.loyalty-root .pin-title{font-family:var(--font-great-vibes), "Great Vibes", cursive;color:var(--cream);margin-bottom:2px;font-size:1.8rem}.loyalty-root .pin-sub{letter-spacing:.14em;color:var(--soft);text-transform:uppercase;margin-bottom:20px;font-size:.68rem}.loyalty-root .pin-dots{justify-content:center;gap:11px;margin-bottom:22px;display:flex}.loyalty-root .pdot{background:#e8a0b02e;border-radius:50%;width:12px;height:12px;transition:background .15s,transform .15s}.loyalty-root .pdot.on{background:var(--pink-hot);transform:scale(1.18)}.loyalty-root .keypad{grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px;display:grid}.loyalty-root .key{color:var(--cream);cursor:pointer;background:#e8a0b01a;border:none;border-radius:15px;padding:14px 0;font-family:inherit;font-size:1.35rem;font-weight:700;transition:background .12s,transform .1s}.loyalty-root .key:active{background:#e8a0b042;transform:scale(.92)}.loyalty-root .key.sm{font-size:.95rem}.loyalty-root .pin-err{color:#ff8fab;letter-spacing:.08em;min-height:18px;margin-bottom:10px;font-size:.73rem}.loyalty-root .btn-cancel{color:var(--soft);cursor:pointer;letter-spacing:.1em;background:0 0;border:1px solid #e8a0b033;border-radius:50px;padding:9px 26px;font-family:inherit;font-size:.72rem}.loyalty-root .celeb{z-index:300;text-align:center;background:radial-gradient(#9a1530 0%,#1a0505 100%);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}.loyalty-root .celeb.show{display:flex}.loyalty-root .celeb-ico{margin-bottom:18px;font-size:3.5rem;animation:1.1s ease-in-out infinite alternate loyalty-bob}@keyframes loyalty-bob{0%{transform:translateY(0)rotate(-4deg)}to{transform:translateY(-14px)rotate(4deg)}}.loyalty-root .celeb-h{font-family:var(--font-great-vibes), "Great Vibes", cursive;color:var(--cream);margin-bottom:12px;font-size:3rem}.loyalty-root .celeb-p{color:var(--soft);letter-spacing:.14em;text-transform:uppercase;margin-bottom:30px;font-size:.82rem;line-height:1.8}.loyalty-root .btn-celeb{color:#fff;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#c4234a,#ff6b8a);border:none;border-radius:50px;padding:15px 40px;font-family:inherit;font-size:.82rem;font-weight:900;box-shadow:0 8px 28px #c4234a80}@keyframes loyalty-heartPop{0%{transform:scale(1)}45%{transform:scale(1.38)}to{transform:scale(1)}}.loyalty-root .hslot.popping svg{animation:.38s loyalty-heartPop}.loyalty-root .hslot.reward-slot.on .hfill{fill:var(--pink-hot)}.loyalty-root .hslot.reward-slot.on svg{animation:1.8s ease-in-out infinite loyalty-rewardShimmer}@keyframes loyalty-rewardShimmer{0%,to{filter:drop-shadow(0 2px 4px #0000004d)drop-shadow(0 0 4px #ffd70066)brightness()}50%{filter:drop-shadow(0 2px 4px #0000004d)drop-shadow(0 0 14px #ffd700d9)brightness(1.18)}}.loyalty-root .hslot.reward-slot.on .reward-lbl{color:#fff;text-shadow:0 1px 2px #00000059;font-size:.88rem}.loyalty-root .reward-sparkle{pointer-events:none;z-index:2;font-size:.95rem;animation:1.4s ease-in-out infinite loyalty-sparkle;position:absolute;top:-8%;right:-8%}@keyframes loyalty-sparkle{0%,to{opacity:.5;transform:scale(.9)rotate(-8deg)}50%{opacity:1;transform:scale(1.15)rotate(8deg)}}.loyalty-root .poster-page{flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;max-width:480px;padding:32px;display:flex}.loyalty-root .poster-title{font-family:var(--font-great-vibes), "Great Vibes", cursive;color:var(--cream);font-size:4rem}.loyalty-root .poster-logo{width:100%;max-width:440px;height:auto;margin:0 auto;display:block}.loyalty-root .poster-sub{letter-spacing:.18em;color:var(--soft);text-transform:uppercase;text-align:center;margin-bottom:18px;font-size:.9rem}.loyalty-root .poster-qr{background:#fff;border-radius:22px;padding:24px;line-height:0}.loyalty-root .poster-cta{letter-spacing:.16em;color:var(--cream);text-transform:uppercase;text-align:center;margin-top:14px;font-size:1rem}.loyalty-root .poster-url{color:var(--pink-hot);letter-spacing:.04em;margin-top:6px;font-size:.85rem}
