html{--brand-1:234 82% 57%;--brand-2:266 74% 57%;--ink:236 46% 10%;--lumo-font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lumo-border-radius-s:10px;--lumo-border-radius-m:14px;--lumo-border-radius-l:22px;--lumo-primary-color:hsl(var(--brand-1));--lumo-primary-color-50pct:hsla(var(--brand-1), .5);--lumo-primary-color-10pct:hsla(var(--brand-1), .14);--lumo-primary-text-color:hsl(var(--brand-1));--lumo-primary-contrast-color:#fff;--lumo-header-text-color:hsl(var(--ink));--lumo-body-text-color:#2e334c;--lumo-secondary-text-color:#656a86;--lumo-tertiary-text-color:#8d91a5;--lumo-disabled-text-color:#b5b7c5;--lumo-contrast-5pct:#eff0f6;--lumo-contrast-10pct:#dfe1ec;--lumo-contrast-20pct:#cdd1df;--lumo-contrast-30pct:#b7bccd;--lumo-error-color:#ef4343;--lumo-error-text-color:#ca2121;--lumo-success-color:#21ab66;--lumo-success-text-color:#157947;--lumo-base-color:#fff;--shadow-sm:0 1px 2px hsla(var(--ink), .05), 0 6px 16px hsla(var(--ink), .08);--shadow-md:0 1px 2px hsla(var(--ink), .05), 0 8px 20px hsla(var(--ink), .09), 0 20px 44px hsla(var(--ink), .11);--shadow-lg:0 2px 4px hsla(var(--ink), .06), 0 14px 30px hsla(var(--ink), .13), 0 32px 64px hsla(var(--ink), .16);--shadow-brand:0 10px 24px hsla(var(--brand-1), .32), 0 30px 56px hsla(var(--brand-1), .32)}html,body{background-color:#ece2dd;background-image:url(./bg-cabane-B1hCQDle.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}vaadin-button{cursor:pointer;font-weight:700;transition:transform .12s,box-shadow .16s,filter .16s}vaadin-button[theme~=primary]{background:linear-gradient(135deg, hsl(var(--brand-1)), hsl(var(--brand-2)));color:#fff;box-shadow:inset 0 1px 0 #ffffff59, 0 8px 20px hsla(var(--brand-1), .42), 0 2px 4px hsla(var(--ink), .12)}vaadin-button[theme~=primary]:hover{filter:brightness(1.06)saturate(1.05);box-shadow:inset 0 1px 0 #fff6, 0 14px 30px hsla(var(--brand-1), .5), 0 3px 6px hsla(var(--ink), .14);transform:translateY(-1px)}vaadin-button:active{transform:translateY(1px)scale(.99)}vaadin-text-field::part(input-field),vaadin-email-field::part(input-field),vaadin-combo-box::part(input-field),vaadin-date-picker::part(input-field){border:1.5px solid var(--lumo-contrast-10pct);box-shadow:inset 0 1px 2px hsla(var(--ink), .04);background:#fff;border-radius:14px;padding:2px 12px;transition:border-color .15s,box-shadow .15s}vaadin-text-field[focused]::part(input-field),vaadin-email-field[focused]::part(input-field),vaadin-combo-box[focused]::part(input-field),vaadin-date-picker[focused]::part(input-field){border-color:hsl(var(--brand-1));box-shadow:0 0 0 4px hsla(var(--brand-1), .16), inset 0 1px 2px hsla(var(--ink), .04)}vaadin-text-field[invalid]::part(input-field),vaadin-email-field[invalid]::part(input-field),vaadin-date-picker[invalid]::part(input-field){border-color:var(--lumo-error-color)}vaadin-text-field::part(label),vaadin-email-field::part(label),vaadin-combo-box::part(label),vaadin-date-picker::part(label),vaadin-radio-group::part(label){color:var(--lumo-header-text-color);padding-bottom:2px;font-weight:700}.wallet-page{box-sizing:border-box;min-height:100dvh;padding:34px 18px 72px}.stack-narrow{width:100%;max-width:430px}.install-pill{z-index:100;border:1px solid hsla(var(--ink), .12);color:var(--lumo-header-text-color);cursor:pointer;box-shadow:0 4px 14px hsla(var(--ink), .14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb8;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-family:inherit;font-size:.8rem;font-weight:700;transition:transform .14s,box-shadow .14s;display:none;position:fixed;top:14px;right:14px}.install-pill:hover{box-shadow:0 8px 20px hsla(var(--ink), .2);transform:translateY(-1px)}.hero-icon{background:linear-gradient(135deg, hsl(var(--brand-1)), hsl(var(--brand-2)));width:74px;height:74px;box-shadow:inset 0 1px 0 #ffffff73, 0 14px 30px hsla(var(--brand-1), .45), 0 4px 8px hsla(var(--ink), .14);border-radius:22px;justify-content:center;align-items:center;font-size:36px;display:flex}.hero-icon img{width:46%;height:auto;display:block}.splash-icon img{filter:drop-shadow(0 2px 6px #00000038);width:52%;height:auto;display:block}.hero-title{color:var(--lumo-header-text-color);letter-spacing:-.025em;text-align:center;margin:18px 0 0;font-size:1.85rem;font-weight:800}.hero-subtitle{color:var(--lumo-secondary-text-color);text-align:center;max-width:330px;margin:8px 0 0;font-weight:500}.hero-store-logo{box-shadow:0 0 0 4px #ffffffd9, 0 14px 30px hsla(var(--ink), .2)}.protected-note{background:linear-gradient(135deg, hsla(var(--brand-1), .1), hsla(var(--brand-2), .08));border:1px solid hsla(var(--brand-1), .18);border-radius:16px;align-items:flex-start;gap:12px;padding:14px 15px;display:flex}.protected-note-icon{font-size:22px;line-height:1.1}.protected-title{color:var(--lumo-header-text-color);font-size:.98rem;font-weight:800}.protected-sub{color:var(--lumo-secondary-text-color);margin-top:2px;font-size:.84rem}.protected-list{flex-direction:column;display:flex}.protected-row{border-bottom:1px solid hsla(var(--ink), .07);justify-content:space-between;align-items:center;gap:12px;padding:13px 4px;display:flex}.protected-row:last-child{border-bottom:none}.protected-label{color:var(--lumo-body-text-color);font-weight:600}.protected-value{letter-spacing:.16em;color:var(--lumo-tertiary-text-color);font-weight:800}.wallet-card{box-shadow:var(--shadow-md);background:#fff;border:1px solid #fffc;border-radius:24px}.panel{border:1px solid hsla(var(--ink), .07);box-sizing:border-box;box-shadow:inset 0 1px 0 #ffffffa6, 0 1px 2px hsla(var(--ink), .04), 0 12px 30px hsla(var(--ink), .07);background:#faf8f2;border-radius:22px;padding:14px}.section-label{color:var(--lumo-header-text-color);letter-spacing:-.01em;font-size:1rem;font-weight:800}.merchant-card{border:1px solid hsla(var(--ink), .32);cursor:pointer;box-shadow:0 1px 2px hsla(var(--ink), .05), 0 4px 12px hsla(var(--ink), .06);background:#fff;border-radius:16px;padding:13px 15px;transition:box-shadow .18s,transform .18s,border-color .18s}.merchant-card:hover{border-color:hsla(var(--brand-1), .28);box-shadow:0 2px 4px hsla(var(--ink), .06), 0 14px 28px hsla(var(--ink), .12);transform:translateY(-3px)}.merchant-chevron{color:var(--lumo-tertiary-text-color);flex:none}.merchant-card>vaadin-vertical-layout{min-width:0}.merchant-card .wallet-card-name{overflow-wrap:anywhere;display:block}.merchant-card>vaadin-button,.merchant-card>vaadin-icon{flex:none}.points-badge{background:hsla(var(--brand-1), .13);width:fit-content;color:hsl(var(--brand-1));border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:.85rem;font-weight:800;display:inline-flex}.balance-hero{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;padding:2px;display:flex}.balance-header{gap:12px!important}.balance-titles{flex-direction:column;min-width:0;line-height:1.2;display:flex}.balance-merchant{letter-spacing:-.01em;color:var(--lumo-header-text-color);font-size:1.15rem;font-weight:800}.balance-greet{color:var(--lumo-secondary-text-color);font-size:.85rem;font-weight:600}.balance-logo{box-shadow:0 0 0 3px #ffffffb3, 0 6px 14px hsla(var(--ink), .16)}.balance-row{padding-left:4px;gap:26px!important}@property --fill{syntax:"<number>";inherits:false;initial-value:0}@keyframes ringFill{0%{--fill:0}to{--fill:var(--p,0)}}.balance-ring-wrap{flex:none;width:138px;height:138px;position:relative}.balance-ring{background:conic-gradient(from -90deg, hsl(var(--brand-1)), hsl(var(--brand-2)) calc(var(--fill,0) * 1%), hsl(var(--ink) / .1) calc(var(--fill,0) * 1%));filter:drop-shadow(0 10px 20px hsl(var(--brand-1) / .28));border-radius:50%;animation:1.1s cubic-bezier(.22,1,.36,1) .15s both ringFill;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 13px),#000 calc(100% - 13px));mask:radial-gradient(farthest-side,#0000 calc(100% - 13px),#000 calc(100% - 13px))}.balance-ring-center{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.balance-value{letter-spacing:-.03em;color:var(--lumo-header-text-color);font-size:2.55rem;font-weight:800;line-height:1}.balance-unit{text-transform:uppercase;letter-spacing:.13em;color:var(--lumo-secondary-text-color);font-size:.7rem;font-weight:700}.balance-grade{flex-direction:column;gap:11px;min-width:0;display:flex}.balance-goal{color:var(--lumo-body-text-color);font-size:.86rem;font-weight:600;line-height:1.35}.rank-chip{border:1.5px solid hsla(var(--ink), .12);width:fit-content;color:var(--lumo-header-text-color);box-shadow:0 4px 12px hsla(var(--ink), .1);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:6px 14px 6px 10px;font-size:.92rem;font-weight:800;display:inline-flex}.rank-medal{font-size:1.1rem;line-height:1}.rank-chip.rank-1{color:#8a4e26;background:linear-gradient(135deg,#fbeadd,#f2d3ba);border-color:#dfa876}.rank-chip.rank-2{color:#46536b;background:linear-gradient(135deg,#f5f7fa,#e1e7ef);border-color:#c1cad7}.rank-chip.rank-3{color:#866712;background:linear-gradient(135deg,#fff3cf,#ffe08a);border-color:#eec252}.rank-chip.rank-4{color:#573dad;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-color:#b6a4f6}.profile-cta{box-sizing:border-box;background:linear-gradient(135deg, hsla(var(--brand-1), .12), hsla(var(--brand-2), .09));border:1px solid hsla(var(--brand-1), .2);width:100%;box-shadow:var(--shadow-sm);border-radius:18px;align-items:center;gap:12px;padding:15px 16px;display:flex}.profile-cta-text{flex:1;min-width:0}.profile-cta-title{color:var(--lumo-header-text-color);font-size:.95rem;font-weight:700}.profile-cta-sub{color:hsl(var(--brand-1));font-size:.82rem;font-weight:600}.poll-cta{animation:1.7s ease-in-out infinite pollPulse;border-radius:16px!important}@keyframes pollPulse{0%,to{filter:brightness();transform:scale(1)}50%{filter:brightness(1.08)saturate(1.05);transform:scale(1.035)}}@media (prefers-reduced-motion:reduce){.poll-cta{animation:none}}.poll-question{flex-direction:column;gap:8px;display:flex}.poll-question-label{color:var(--lumo-header-text-color);font-weight:700}.reward-row{box-sizing:border-box;border:1.5px solid hsla(var(--ink), .34);width:100%;box-shadow:var(--shadow-sm);background:#fff;border-radius:18px;align-items:center;gap:14px;padding:13px 15px;transition:box-shadow .16s,transform .16s;display:flex}.reward-row:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.reward-emoji{width:48px;height:48px;box-shadow:inset 0 0 0 1px hsla(var(--ink), .05), inset 0 1px 2px hsla(var(--ink), .05);background:linear-gradient(145deg,#eef0f6,#fff);border-radius:14px;flex:none;justify-content:center;align-items:center;font-size:25px;display:flex;overflow:hidden}.reward-main{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.reward-name{color:var(--lumo-header-text-color);overflow-wrap:anywhere;font-size:.96rem;font-weight:700}.reward-cost{color:var(--lumo-secondary-text-color);font-size:.82rem;font-weight:500}.reward-progress{background:var(--lumo-contrast-10pct);height:7px;box-shadow:inset 0 1px 2px hsla(var(--ink), .08);border-radius:999px;margin-top:5px;overflow:hidden}@keyframes rewardFill{0%{width:0}to{width:var(--rw,0%)}}.reward-fill{animation:1.1s cubic-bezier(.22,1,.36,1) .2s both rewardFill}.reward-remaining{color:var(--lumo-tertiary-text-color);margin-top:3px;font-size:.74rem;font-weight:500}.reward-chip-ok{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#1fad66,#1fa377);border-radius:999px;flex:none;padding:5px 11px;font-size:.74rem;font-weight:700;box-shadow:0 4px 10px #1b985959}.merchant-avatar{background:hsla(var(--brand-1), .12);color:hsl(var(--brand-1));text-transform:uppercase;box-shadow:0 0 0 1px hsla(var(--ink), .06), 0 3px 8px hsla(var(--ink), .1);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.92rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.merchant-avatar .merchant-avatar-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}vaadin-tabs,vaadin-tabs::part(tabs){width:100%}vaadin-tab{flex:1;justify-content:center;font-size:.9rem;font-weight:600}vaadin-tab[selected]{color:hsl(var(--brand-1))}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:none}}.animate-in{animation:.5s cubic-bezier(.16,1,.3,1) both fadeUp}@keyframes stackIn{0%{opacity:0;transform:translateY(44px)scale(.96)}55%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}.stack-in{animation:.5s cubic-bezier(.22,1,.36,1) both stackIn}@media (prefers-reduced-motion:reduce){.stack-in{animation:none}}.tab-loader{display:none}.tab-loader.is-loading{justify-content:center;align-items:center;width:100%;padding:54px 0;display:flex}.tab-content.is-loading{display:none}.tab-spinner{border:3px solid hsl(var(--ink) / .14);border-top-color:hsl(var(--brand-1));border-radius:50%;width:38px;height:38px;animation:.8s linear infinite tabSpin}@keyframes tabSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.tab-spinner{animation-duration:2s}}.lazy-sentinel{flex:none;width:100%;height:1px}.btn-spinner{display:none}vaadin-button[disabled] .btn-spinner{vertical-align:-2px;border:2px solid;border-top-color:#0000;border-radius:50%;width:13px;height:13px;margin-left:8px;animation:.7s linear infinite btnSpin;display:inline-block}@keyframes btnSpin{to{transform:rotate(360deg)}}.v-loading-indicator{z-index:2500;background:linear-gradient(90deg, hsl(var(--brand-1)), hsl(var(--brand-2)));height:3px;box-shadow:0 1px 8px hsl(var(--brand-1) / .55);border-radius:0 3px 3px 0;transition:width .4s ease-out,opacity .3s;position:fixed;top:0;left:0}@media (prefers-reduced-motion:reduce){vaadin-button[disabled] .btn-spinner{animation:none}}.splash{z-index:2000;background:linear-gradient(140deg,#3a4cee 0%,#8740e2 100%);flex-direction:column;justify-content:center;align-items:center;animation:1.6s cubic-bezier(.65,0,.35,1) forwards splashOut;display:flex;position:fixed;inset:0}@keyframes splashOut{0%,55%{opacity:1}to{opacity:0;visibility:hidden;pointer-events:none}}.splash-icon{background:#ffffff29;border-radius:27px;justify-content:center;align-items:center;width:94px;height:94px;font-size:48px;animation:.7s cubic-bezier(.2,1.5,.4,1) both splashPop;display:flex;box-shadow:inset 0 1px #fff6,0 20px 44px #0003}@keyframes splashPop{0%{opacity:0;transform:scale(.4)rotate(-15deg)}60%{opacity:1;transform:scale(1.08)rotate(4deg)}to{transform:scale(1)rotate(0)}}.splash-title{color:#fff;letter-spacing:.28em;margin-top:22px;padding-left:.28em;font-size:1.35rem;font-weight:700;animation:.6s .3s both fadeUp}.splash-dots{gap:7px;margin-top:18px;display:flex}.splash-dots span{background:#ffffffbf;border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite splashDot}.splash-dots span:nth-child(2){animation-delay:.15s}.splash-dots span:nth-child(3){animation-delay:.3s}@keyframes splashDot{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-7px)}}.photo-carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.photo-carousel::-webkit-scrollbar{display:none}.photo-carousel-item{object-fit:cover;scroll-snap-align:center;border-radius:18px;flex:none;width:82%;max-width:340px;height:172px;box-shadow:0 12px 34px #00000047}.back-link{font-weight:600;color:var(--lumo-secondary-text-color)!important}.back-link:hover{color:hsl(var(--brand-1))!important}
