@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);:root{--brand:#7c3aed;--brand-2:#a78bfa;--brand-ink:#4c1d95;--brand-50:#f5f3ff;--brand-100:#ede9fe;--brand-200:#ddd6fe;--on-brand:#fff;--brand-gradient:linear-gradient(135deg,var(--brand) 30%,var(--brand-2) 130%);--brand-glow:#7c3aed47;--gold-glow:#f5b30152;--gold-shade:#92400e2e;--surface:#f7f5fc;--card:#fff;--text:#1f2937;--muted:#6b7280;--subtle:#9ca3af;--line:#ece8f5;--backdrop:#110c2e8f;--gold:#f5b301;--gold-2:#fde68a;--gold-50:#fff7db;--gold-ink:#92400e;--success:#16a34a;--success-50:#ecfdf3;--danger:#dc2626;--danger-50:#fef2f2;--radius-sm:12px;--radius:20px;--radius-lg:28px;--radius-pill:999px;--shadow:0 1px 2px #110c2e0a,0 8px 24px #4c1d9514;--shadow-lg:0 -4px 16px #110c2e0f,0 24px 64px #4c1d9538;--shadow-brand:0 8px 20px var(--brand-glow);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--font:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif;--font-tc:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang TC","Microsoft JhengHei","Noto Sans TC",sans-serif;--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-22:22px;--fs-28:28px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-heavy:800;--lh-tight:1.2;--lh:1.5;--ease:cubic-bezier(0.2,0,0,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-1:150ms;--dur-2:250ms;--dur-3:400ms;--page-max:480px;--page-pad:var(--space-4);--tap:44px;--cta-height:52px;--focus-ring:0 0 0 2px var(--card),0 0 0 4px var(--brand)}@media (min-width:400px){:root{--page-pad:var(--space-5)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-tap-highlight-color:transparent;background:var(--surface);color:var(--text);font-family:var(--font);font-size:var(--fs-16);line-height:var(--lh)}:lang(zh-TW) body,body:lang(zh-TW){font-family:var(--font-tc)}#root{min-height:100vh;min-height:100dvh}img{display:block;max-width:100%}button{background:none;border:0;color:inherit;cursor:pointer;font:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ui-page{display:flex;flex-direction:column;gap:var(--space-4);margin:0 auto;max-width:var(--page-max);min-height:100vh;min-height:100dvh;padding:calc(var(--space-4) + env(safe-area-inset-top, 0px)) calc(var(--page-pad) + env(safe-area-inset-right, 0px)) calc(var(--space-6) + env(safe-area-inset-bottom, 0px)) calc(var(--page-pad) + env(safe-area-inset-left, 0px));width:100%}.ui-page--with-cta{padding-bottom:0}.ui-page--center{justify-content:center;padding-bottom:12vh}.ui-hero{align-items:center;display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-1) 0}.ui-hero__text{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:var(--space-1);min-width:0}.ui-hero__eyebrow{color:var(--muted);font-size:var(--fs-14);font-weight:var(--fw-medium)}.ui-hero__eyebrow strong{color:var(--text);font-weight:var(--fw-bold)}.ui-hero__title{color:var(--text);font-size:var(--fs-28);font-weight:var(--fw-heavy);letter-spacing:-.02em;line-height:var(--lh-tight)}.ui-hero__subtitle{color:var(--muted);font-size:var(--fs-14)}.ui-hero__art{flex:0 0 auto;height:104px;position:relative;width:104px}.ui-hero__art:before{background:radial-gradient(circle,var(--brand-100) 0,var(--brand-50) 45%,#0000 70%);border-radius:50%;content:"";inset:-12%;position:absolute}.ui-hero__art img{height:100%;object-fit:contain;position:relative;width:100%}@media (max-width:359px){.ui-hero__art{height:84px;width:84px}}.ui-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-5)}@media (max-width:359px){.ui-card{padding:var(--space-4)}}.ui-card__header{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-4)}.ui-card__title{align-items:center;color:var(--text);display:flex;font-size:var(--fs-16);font-weight:var(--fw-bold);gap:var(--space-2);line-height:var(--lh-tight);min-width:0}.ui-card--calm{border:1px solid var(--line);box-shadow:none}.ui-btn{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--fs-16);font-weight:var(--fw-bold);gap:var(--space-2);justify-content:center;line-height:var(--lh-tight);min-height:var(--tap);padding:var(--space-2) var(--space-5);text-align:center;transition:transform var(--dur-1) var(--ease),box-shadow var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease),opacity var(--dur-2) var(--ease);-webkit-user-select:none;user-select:none}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn svg{flex:0 0 auto}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--brand-gradient);box-shadow:var(--shadow-brand);color:var(--on-brand);min-height:var(--cta-height)}.ui-btn--tonal{background:var(--brand-50);color:var(--brand)}.ui-btn--tonal:active:not(:disabled){background:var(--brand-100)}.ui-btn--ghost{color:var(--brand)}.ui-btn:disabled{background:var(--line);box-shadow:none;color:var(--muted);cursor:default}.ui-btn--primary[aria-busy=true]:disabled{background:var(--brand-gradient);color:var(--on-brand);opacity:.8}.ui-icon-btn{align-items:center;border-radius:var(--radius-pill);color:var(--muted);display:inline-flex;height:var(--tap);justify-content:center;transition:background-color var(--dur-1) var(--ease);width:var(--tap)}.ui-icon-btn:active{background:var(--brand-50)}.ui-spinner{animation:ui-spin .8s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;height:18px;width:18px}@keyframes ui-spin{to{transform:rotate(1turn)}}.ui-cta-bar{background:linear-gradient(to top,var(--surface) 75%,#0000);bottom:0;display:flex;flex-direction:column;gap:var(--space-3);margin-top:auto;padding:var(--space-4) 0 calc(var(--space-4) + env(safe-area-inset-bottom, 0px));position:-webkit-sticky;position:sticky;z-index:10}.ui-chip{align-items:center;background:var(--brand-50);border-radius:var(--radius-pill);color:var(--brand);display:inline-flex;font-size:13px;font-weight:var(--fw-semibold);gap:var(--space-1);line-height:var(--lh-tight);min-height:26px;padding:3px 10px;white-space:nowrap}.ui-chip--success{background:var(--success-50);color:var(--success)}.ui-chip--gold{background:var(--gold-50);color:var(--gold-ink)}.ui-icon-circle{align-items:center;background:var(--brand-50);border-radius:50%;color:var(--brand);display:inline-flex;flex:0 0 auto;height:56px;justify-content:center;width:56px}.ui-icon-circle--sm{height:32px;width:32px}.ui-icon-circle--success{background:var(--success-50);color:var(--success)}.ui-icon-circle--gold{background:var(--gold-50);color:var(--gold-ink)}.ui-icon-circle--danger{background:var(--danger-50);color:var(--danger)}.ui-state{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-8) var(--space-6);text-align:center}.ui-state .ui-icon-circle{margin-bottom:var(--space-2)}.ui-state__title{color:var(--text);font-size:var(--fs-18);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.ui-state__body{color:var(--muted);font-size:var(--fs-14);max-width:320px}.ui-state .ui-btn{margin-top:var(--space-3)}.ui-alert{align-items:flex-start;background:var(--danger-50);border-radius:var(--radius-sm);color:var(--danger);display:flex;font-size:var(--fs-14);font-weight:var(--fw-medium);gap:var(--space-2);padding:var(--space-3) var(--space-4)}.ui-alert svg{flex:0 0 auto;margin-top:1px}.ui-skeleton{animation:ui-shimmer 1.4s var(--ease) infinite;background:linear-gradient(90deg,var(--brand-50) 0,var(--brand-100) 50%,var(--brand-50) 100%);background-size:200% 100%;border-radius:var(--radius-sm);display:block}.ui-skeleton--text{border-radius:var(--radius-pill);height:14px}.ui-skeleton--title{border-radius:var(--radius-sm);height:28px}.ui-skeleton--circle{border-radius:50%}.ui-skeleton--pill{border-radius:var(--radius-pill);height:var(--cta-height)}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-richtext{color:var(--text);font-size:var(--fs-14);line-height:1.6;overflow-wrap:anywhere}.ui-richtext>*+*{margin-top:var(--space-2)}.ui-richtext ol,.ui-richtext ul{padding-left:1.25em}.ui-richtext li+li{margin-top:var(--space-1)}.ui-richtext li::marker{color:var(--brand)}.ui-richtext a{color:var(--brand);font-weight:var(--fw-semibold)}.ui-richtext b,.ui-richtext strong{font-weight:var(--fw-bold)}.ui-richtext h1,.ui-richtext h2,.ui-richtext h3,.ui-richtext h4{font-size:var(--fs-16);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.ui-richtext img{border-radius:var(--radius-sm);height:auto}.ui-backdrop{align-items:flex-end;animation:ui-fade-in var(--dur-2) var(--ease) both;background:var(--backdrop);display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.ui-backdrop--center{align-items:center;padding:var(--space-4)}.ui-sheet{animation:ui-sheet-in var(--dur-3) var(--ease) both;background:var(--card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);max-height:92dvh;max-width:var(--page-max);overflow-y:auto;overscroll-behavior:contain;padding:var(--space-7) var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom, 0px));position:relative;text-align:center;width:100%}.ui-backdrop--center .ui-sheet{animation-name:ui-pop-in;border-radius:var(--radius-lg);max-width:360px;padding-bottom:var(--space-6)}.ui-sheet__close{position:absolute;right:var(--space-2);top:var(--space-2);z-index:2}.ui-sheet__body{align-items:center;display:flex;flex-direction:column;gap:var(--space-3);position:relative}.ui-sheet__title{color:var(--brand-ink);font-size:var(--fs-22);font-weight:var(--fw-heavy);letter-spacing:-.01em;line-height:var(--lh-tight)}.ui-sheet__text{color:var(--muted);font-size:var(--fs-14)}.ui-sheet__actions{margin-top:var(--space-3);width:100%}@keyframes ui-fade-in{0%{opacity:0}}@keyframes ui-sheet-in{0%{opacity:0;transform:translateY(32px)}}@keyframes ui-pop-in{0%{opacity:0;transform:scale(.94)}}.ui-prize{align-items:center;animation:ui-prize-in var(--dur-3) var(--ease-spring) .12s both;display:flex;flex-direction:column;gap:var(--space-3);position:relative;width:100%}@keyframes ui-prize-in{0%{opacity:0;transform:scale(.8)}}.ui-prize-frame{background:linear-gradient(160deg,var(--brand-100),var(--brand-50) 60%,var(--gold-50));border-radius:var(--radius);max-width:300px;padding:var(--space-3);width:100%}.ui-voucher{background:var(--card);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow:hidden;text-align:left}.ui-voucher__media{align-items:center;aspect-ratio:16/9;background:var(--brand-50);display:flex;justify-content:center}.ui-voucher__media--placeholder{aspect-ratio:auto;height:112px}.ui-voucher__media img{height:100%;object-fit:cover;width:100%}.ui-voucher__media .ui-icon-circle{background:var(--card)}.ui-voucher__perf{border-top:2px dashed var(--line);height:0;margin:0 var(--space-4);position:relative}.ui-voucher__perf:after,.ui-voucher__perf:before{background:var(--brand-50);border-radius:50%;content:"";height:16px;position:absolute;top:-9px;width:16px}.ui-voucher__perf:before{left:calc(var(--space-4)*-1 - 8px)}.ui-voucher__perf:after{right:calc(var(--space-4)*-1 - 8px)}.ui-voucher__body{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4) var(--space-4)}.ui-voucher__name{color:var(--text);font-size:var(--fs-16);font-weight:var(--fw-bold);line-height:var(--lh-tight);overflow-wrap:anywhere}.ui-voucher__meta{align-items:center;color:var(--muted);display:flex;font-size:13px;font-weight:var(--fw-medium);gap:var(--space-1)}.ui-coin{background:linear-gradient(145deg,var(--gold-2),var(--gold));box-shadow:0 10px 28px var(--gold-glow),inset 0 -4px 0 var(--gold-shade);height:112px;padding:8px;width:112px}.ui-coin,.ui-coin__face{align-items:center;border-radius:50%;display:flex;justify-content:center}.ui-coin__face{background:var(--gold-50);color:var(--gold-ink);height:100%;overflow:hidden;width:100%}.ui-coin__face img{height:100%;object-fit:cover;width:100%}.ui-prize__amount{font-feature-settings:"tnum";color:var(--text);font-size:var(--fs-28);font-variant-numeric:tabular-nums;font-weight:var(--fw-heavy);line-height:var(--lh-tight)}.ui-prize__label{color:var(--muted);font-size:var(--fs-14);font-weight:var(--fw-semibold);margin-top:calc(var(--space-2)*-1);overflow-wrap:anywhere}.ui-confetti{height:0;left:50%;pointer-events:none;position:absolute;top:40%;width:0}.ui-confetti i{animation:ui-confetti-burst 1.1s var(--ease) 0ms both;animation:ui-confetti-burst 1.1s var(--ease) var(--d,0ms) both;background:var(--brand);background:var(--c,var(--brand));border-radius:2px;height:10px;left:-3px;opacity:0;position:absolute;top:-4px;width:6px}.ui-confetti i:first-child{--x:-132px;--y:-70px;--r:200deg;--c:var(--brand)}.ui-confetti i:nth-child(2){--x:-104px;--y:-118px;--r:-120deg;--c:var(--gold);--d:60ms}.ui-confetti i:nth-child(3){--x:-60px;--y:-142px;--r:160deg;--c:var(--brand-2);--d:20ms}.ui-confetti i:nth-child(4){--x:-10px;--y:-156px;--r:-200deg;--c:var(--success);--d:90ms}.ui-confetti i:nth-child(5){--x:48px;--y:-146px;--r:140deg;--c:var(--gold)}.ui-confetti i:nth-child(6){--x:98px;--y:-122px;--r:-160deg;--c:var(--brand);--d:40ms}.ui-confetti i:nth-child(7){--x:134px;--y:-76px;--r:220deg;--c:var(--brand-2);--d:80ms}.ui-confetti i:nth-child(8){--x:146px;--y:-18px;--r:-90deg;--c:var(--gold);--d:30ms}.ui-confetti i:nth-child(9){--x:-148px;--y:-14px;--r:120deg;--c:var(--success);--d:70ms}.ui-confetti i:nth-child(10){--x:-80px;--y:-96px;--r:-60deg;--c:var(--gold);--d:110ms;border-radius:50%;height:8px;width:8px}.ui-confetti i:nth-child(11){--x:76px;--y:-92px;--r:60deg;--c:var(--brand);--d:120ms;border-radius:50%;height:8px;width:8px}.ui-confetti i:nth-child(12){--x:12px;--y:-116px;--r:90deg;--c:var(--brand-2);--d:140ms;border-radius:50%;height:8px;width:8px}@keyframes ui-confetti-burst{0%{opacity:0;transform:translate(0) scale(.4) rotate(0deg)}15%{opacity:1}to{opacity:0;transform:translate(var(--x),calc(var(--y) + 40px)) scale(1) rotate(var(--r))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.ui-skeleton{animation:none}.ui-confetti i{animation:none;opacity:.85;transform:translate(var(--x),calc(var(--y)*.35)) rotate(var(--r))}.ui-btn:active:not(:disabled){transform:none}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;min-height:100vh;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--embedded-bottom-reserve:120px;--embedded-scroll-bottom-reserve:220px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box;margin:0;padding:0}body,html{overflow-x:hidden}.App,body,html{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[contenteditable=true],input,textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}body.my-entries-active,body.my-rewards-active{height:100%;height:100dvh;overflow:hidden;position:fixed;width:100%}.App{background:radial-gradient(circle,#ad8aff 40%,#8d6dff 70%,#6e54ff 100%);color:#fff;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-x:hidden;position:relative}.App,.container{min-height:100vh}.container{display:flex;flex-direction:column;margin:0 auto;max-width:375px;min-height:100dvh;padding:0;width:calc(100% - 40px)}.header{position:relative}.header-nav{margin:auto;min-height:44px;padding:16px;position:relative;width:93%}.back-btn,.header-nav{align-items:center;display:flex;justify-content:center}.back-btn{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:24px;font-weight:600;left:-6%;padding:8px;position:absolute;top:50%;transform:translateY(-50%)}.title{display:flex;font-size:20px;font-weight:600;margin:0;text-align:center}.notification-banner,.title{align-items:center;font-family:Poppins,sans-serif;justify-content:center}.notification-banner{background:#ffffffb3;border-radius:30px;box-shadow:0 4px 12px #0000001a;display:inline-flex;font-size:12px;font-weight:400;gap:4px;margin:0 auto;padding:4px 12px;position:relative}.notification-icon{flex-shrink:0;font-size:16px}.notification-text{white-space:nowrap}.notification-main-text{color:#1d1d1d}.notification-tokens{color:#503cbd}.gift-section{align-items:center;display:flex;flex:1 1;justify-content:center;margin:24px 0;position:relative;transition:transform .2s ease}.gift-section.auto-move{animation:autoMoveGift 1.5s ease-in-out infinite}@keyframes autoMoveGift{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-12px) rotate(-3deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(-12px) rotate(3deg)}}.voucher-validity{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:1px solid #fff3;border-radius:20px;display:flex;gap:8px;justify-content:center;margin-top:16px;padding:8px 16px}.validity-icon{align-items:center;color:#fffc;display:flex}.validity-text{color:#ffffffe6;font-family:Poppins,sans-serif;font-size:14px;font-weight:500}.gift-box{cursor:pointer;position:relative;transition:transform .3s ease;z-index:1}.gift-box:hover{transform:scale(1.05)}.gift-box.shaking{animation:giftShake .6s ease-in-out}.gift-box-3d{height:200px;position:relative;transform:rotateX(-10deg) rotateY(15deg);transform-style:preserve-3d;width:200px}.box-front,.box-right,.box-top{background:linear-gradient(135deg,#e91e63,#c2185b);position:absolute}.box-top{background:linear-gradient(135deg,#f06292,#e91e63);transform:rotateX(90deg) translateZ(100px)}.box-front,.box-top{height:200px;width:200px}.box-front{transform:translateZ(100px)}.box-right{background:linear-gradient(135deg,#c2185b,#ad1457);height:200px;transform:rotateY(90deg) translateZ(100px);width:200px}.ribbon-horizontal,.ribbon-vertical{background:linear-gradient(135deg,gold,#ffc107);position:absolute;z-index:10}.ribbon-vertical{box-shadow:inset -4px 0 8px #0003;height:220px;left:88px;top:-10px;transform:translateZ(101px);width:24px}.ribbon-horizontal{box-shadow:inset 0 -4px 8px #0003;height:24px;left:-10px;top:88px;transform:translateZ(101px);width:220px}.bow{left:75px;position:absolute;top:50px;transform:translateZ(102px);z-index:15}.bow-left,.bow-right{background:linear-gradient(135deg,#ffe082,gold);border-radius:50% 20% 50% 20%;box-shadow:0 2px 8px #0003;height:40px;position:absolute;width:30px}.bow-left{left:-15px;transform:rotate(-20deg)}.bow-right{right:-15px;transform:rotate(20deg) scaleX(-1)}.bow-center{background:linear-gradient(135deg,#ffc107,#ff8f00);border-radius:30%;box-shadow:0 2px 6px #0000004d;height:25px;left:5px;position:absolute;top:7px;width:20px}.shake-instructions{text-align:center}.shake-title{font-family:Poppins,sans-serif;font-size:24px;font-weight:700;line-height:1.15;margin-bottom:12px}.shake-description{color:#fff;font-family:Poppins,sans-serif;font-size:14px;font-weight:400;line-height:1.4;margin:0}.bottom-section{margin-top:auto;padding-bottom:40px;text-align:center}.previous-rewards-btn{background:none;border:none;color:#f6f6f6;cursor:pointer;font-family:Poppins,sans-serif;font-size:16px;font-weight:400;padding:10px;text-decoration:underline;transition:opacity .2s}.previous-rewards-btn:hover{opacity:1}.reward-popup-new{align-items:center;animation:popupFadeIn .3s ease-out;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.popup-content{animation:popupSlideUp .3s ease-out;background:linear-gradient(135deg,#ff6b6b,#ff8e53);border-radius:20px;box-shadow:0 10px 30px #0000004d;font-family:Poppins,sans-serif;max-width:280px;padding:40px 30px;text-align:center}.popup-icon{font-size:48px;margin-bottom:15px}.popup-message{font-size:18px;font-weight:600}.combo-display{animation:comboScale .6s ease-out;background:linear-gradient(135deg,gold,#ffa000);border-radius:25px;box-shadow:0 8px 25px #ffd70066;color:#333;font-family:Poppins,sans-serif;font-size:20px;font-weight:700;left:50%;padding:15px 25px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:999}@keyframes giftShake{0%,to{transform:rotateX(-10deg) rotateY(15deg) translateX(0)}10%,30%,50%,70%,90%{transform:rotateX(-10deg) rotateY(15deg) translateX(-3px)}20%,40%,60%,80%{transform:rotateX(-10deg) rotateY(15deg) translateX(3px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes popupFadeIn{0%{opacity:0}to{opacity:1}}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.gift-section.shaking img{animation:shake .3s ease-in-out;animation-iteration-count:1}.gift-section img,.gift-section.shaking img{position:relative;z-index:10}@keyframes shake{0%{transform:translateX(0)}25%{transform:translateX(-8px) rotate(-2deg)}50%{transform:translateX(8px) rotate(2deg)}75%{transform:translateX(-8px) rotate(-2deg)}to{transform:translateX(0)}}.gif-animation-overlay{animation:fadeIn .3s ease-out;background:#000000e6;bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.gif-animation-overlay,.gif-container{align-items:center;display:flex;justify-content:center}.gif-container{height:100%;max-height:400px;max-width:400px;position:relative;width:100%}.gift-gif{animation:giftGifEntrance .5s ease-out;border-radius:20px;box-shadow:0 10px 30px #00000080;height:auto;max-width:350px;width:100%}@keyframes giftGifEntrance{0%{opacity:0;transform:scale(.5) rotate(-10deg)}50%{opacity:1;transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.permission-btn{background:linear-gradient(135deg,#ff6b6b,#ff8e53);border:none;border-radius:25px;box-shadow:0 4px 15px #ff6b6b66;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:15px;padding:12px 24px;transition:all .3s ease}.permission-btn:hover{box-shadow:0 6px 20px #ff6b6b99;transform:translateY(-2px)}.manual-shake-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:25px;box-shadow:0 4px 15px #4caf5066;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:15px;padding:12px 24px;transition:all .3s ease}.manual-shake-btn:hover{box-shadow:0 6px 20px #4caf5099;transform:translateY(-2px)}.manual-shake-btn:active{box-shadow:0 2px 10px #4caf5066;transform:translateY(0)}.stats-display{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;justify-content:space-around;margin:20px 0;padding:15px}.stat-item,.stats-display{align-items:center;display:flex}.stat-item{flex-direction:column;text-align:center}.stat-item.combo{animation:pulse 1s infinite;color:gold}.stat-label{font-size:12px;margin-bottom:4px;opacity:.8}.stat-value{font-size:18px;font-weight:700}.congratulations-popup{align-items:center;animation:fadeIn .3s ease-out;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.congratulations-content{animation:slideInUp .5s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;max-width:320px;overflow:hidden;padding:40px 30px;position:relative;text-align:center;width:90%}.close-btn{background:none;border:none;color:#fff;cursor:pointer;font-size:24px;opacity:.7;position:absolute;right:20px;top:15px;transition:opacity .3s ease}.close-btn:hover{opacity:1}.congratulations-header h2{font-size:28px;font-weight:700;margin-bottom:20px;text-shadow:0 2px 4px #0000004d}.reward-animation{align-items:center;display:flex;flex-direction:column;justify-content:center;margin:30px 0;position:relative}.reward-icon{font-size:60px;margin-bottom:10px}.reward-amount{color:gold;font-size:36px;font-weight:800;text-shadow:0 2px 4px #00000080}.reward-text p{font-size:18px;margin:20px 0;opacity:1}.reward-text .combo-text{color:gold;font-size:16px;font-weight:600;margin:10px 0;text-shadow:0 2px 4px #0000004d}.done-btn{background:linear-gradient(135deg,gold,orange);border:none;border-radius:25px;box-shadow:0 4px 15px #ffd70066;color:#333;cursor:pointer;font-size:16px;font-weight:600;margin-top:20px;padding:12px 40px}.toast-notification{animation:slideInDown .3s ease-out,fadeOut .3s ease-in 2.2s forwards;left:50%;position:fixed;top:20px;transform:translateX(-50%);z-index:9999}.toast-content{background:#000000e6;border:2px solid #ff6b6b;border-radius:25px;box-shadow:0 4px 20px #0000004d;color:#fff;font-size:16px;font-weight:600;max-width:90vw;min-width:200px;padding:12px 24px;text-align:center}@keyframes slideInDown{0%{opacity:0;transform:translateX(-50%) translateY(-100%)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.rays-animation{height:200px;pointer-events:none;transform:translate(-50%,-50%);width:200px}.ray,.rays-animation{left:50%;position:absolute;top:50%}.ray{animation:rayBurst 2s ease-out infinite;background:linear-gradient(0deg,#0000,gold,#0000);height:60px;opacity:0;transform-origin:bottom center;width:4px}.ray-1{animation-delay:0s;transform:translate(-50%,-100%) rotate(0deg)}.ray-2{animation-delay:.1s;transform:translate(-50%,-100%) rotate(45deg)}.ray-3{animation-delay:.2s;transform:translate(-50%,-100%) rotate(90deg)}.ray-4{animation-delay:.3s;transform:translate(-50%,-100%) rotate(135deg)}.ray-5{animation-delay:.4s;transform:translate(-50%,-100%) rotate(180deg)}.ray-6{animation-delay:.5s;transform:translate(-50%,-100%) rotate(225deg)}.ray-7{animation-delay:.6s;transform:translate(-50%,-100%) rotate(270deg)}.ray-8{animation-delay:.7s;transform:translate(-50%,-100%) rotate(315deg)}.sparkles{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.sparkle{animation:sparkleFloat 3s ease-in-out infinite;font-size:20px;opacity:0;position:absolute}.sparkle-1{animation-delay:0s;left:20%;top:20%}.sparkle-2{animation-delay:.5s;right:20%;top:30%}.sparkle-3{animation-delay:1s;left:15%;top:60%}.sparkle-4{animation-delay:1.5s;right:15%;top:70%}.sparkle-5{animation-delay:2s;left:50%;top:45%}.sparkle-6{animation-delay:2.5s;bottom:20%;right:50%}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) rotate(0deg)}50%{opacity:1;transform:scale(1.05) rotate(180deg)}70%{transform:scale(.9) rotate(270deg)}to{opacity:1;transform:scale(1) rotate(1turn)}}@keyframes glow{0%{text-shadow:0 0 10px gold,0 0 20px gold,0 0 30px gold}to{text-shadow:0 0 20px gold,0 0 30px gold,0 0 40px gold}}@keyframes countUp{0%{opacity:0;transform:translateY(20px) scale(.5)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes rayBurst{0%{opacity:0;transform:translate(-50%,-100%) rotate(0deg) scaleY(.5);transform:translate(-50%,-100%) rotate(var(--rotation,0deg)) scaleY(.5)}50%{opacity:1;transform:translate(-50%,-100%) rotate(0deg) scaleY(1);transform:translate(-50%,-100%) rotate(var(--rotation,0deg)) scaleY(1)}to{opacity:0;transform:translate(-50%,-100%) rotate(0deg) scaleY(1.5);transform:translate(-50%,-100%) rotate(var(--rotation,0deg)) scaleY(1.5)}}@keyframes sparkleFloat{0%,to{opacity:0;transform:translateY(0) scale(0)}50%{opacity:1;transform:translateY(-20px) scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes comboScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width:375px){.container{padding:0 15px}.box-front,.box-right,.box-top,.gift-box-3d{height:180px;width:180px}.box-top{transform:rotateX(90deg) translateZ(90px)}.box-front{transform:translateZ(90px)}.box-right{transform:rotateY(90deg) translateZ(90px)}.ribbon-vertical{left:78px;transform:translateZ(91px)}.ribbon-horizontal{top:78px;transform:translateZ(91px)}.shake-title{font-size:22px}}@supports (-webkit-touch-callout:none){.gift-box-3d{transform-style:preserve-3d}}.modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0}.modal-content{animation:modalSlideIn .3s ease-out;background:radial-gradient(circle at center,#6d28d9f2 0,#4338caf2 40%,#1e293bfa 100%);border-radius:20px;box-shadow:0 10px 40px #0003;max-width:400px;overflow:hidden;padding:40px 30px;position:relative;text-align:center;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:background .2s;width:40px}.modal-close:hover{background:#ffffff4d}.modal-title{color:#fff;font-family:Poppins,sans-serif;font-size:20px;font-weight:600;margin-bottom:0}.modal-reward-image{align-items:center;display:flex;justify-content:center;margin:20px 0;min-height:200px;position:relative;width:100%}.modal-reward-image img{height:auto;max-width:100%}.token-reward-display{align-items:center;display:flex;flex-direction:column;gap:8px}.token-reward-icon{align-items:center;border-radius:50%;box-shadow:0 8px 25px #00000026;display:flex;height:80px;justify-content:center;overflow:hidden;position:relative;width:80px}.token-reward-icon-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.token-reward-icon-fallback{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50%;color:#fff;display:flex;font-size:32px;font-weight:600;height:100%;justify-content:center;width:100%}.token-amount{color:#fff;font-size:24px;font-weight:700;text-shadow:0 2px 4px #0000004d}.modal-message p{color:#fff;font-size:14px;font-weight:500;line-height:1.4}.modal-done-btn{background:linear-gradient(135deg,#f3d426,#e99917 70%,#f2bb15);border:none;border-radius:25px;box-shadow:0 4px 8px #7e6ad8cc,inset 0 -4px 10px #fff6,inset -2px 0 10px #fff6,inset 2px 0 10px #ffffff40;color:#fff;cursor:pointer;font-size:20px;font-weight:600;margin-top:20px;max-width:200px;padding:15px 50px;transition:all .3s ease;width:100%}.modal-done-btn:hover{box-shadow:0 6px 12px #7e6ad8e6,inset 0 -4px 10px #fff6,inset -2px 0 10px #fff6,inset 2px 0 10px #ffffff40;transform:translateY(-2px)}.modal-done-btn:active{box-shadow:0 2px 4px #7e6ad8b3,inset 0 -4px 10px #fff6,inset -2px 0 10px #fff6,inset 2px 0 10px #ffffff40;transform:translateY(0)}.action-buttons{align-items:center;display:flex;flex-direction:column;gap:12px;margin:60px 0 40px;width:100%}.App.is-embedded-frame .container{min-height:calc(100vh + 120px);min-height:calc(100vh + var(--embedded-bottom-reserve));min-height:calc(100dvh + 120px);min-height:calc(100dvh + var(--embedded-bottom-reserve))}.App.is-embedded-frame .action-buttons{margin-bottom:0;margin-top:clamp(24px,7dvh,48px);padding-bottom:calc(120px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(var(--embedded-bottom-reserve) + var(--safe-bottom))}.my-rewards-btn{background:#0000;border:2px solid #fffc;border-radius:50px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:16px;font-weight:500;max-width:300px;padding:14px 40px;text-align:center;width:100%}.my-rewards-btn:active{background:#ffffff0d;transform:translateY(0)}.my-entries-btn{background:#0000;border:0;border-radius:50px;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:16px;font-weight:400;max-width:300px;padding:14px 40px;text-align:center;text-decoration:underline;-webkit-text-decoration-color:#fff9;text-decoration-color:#fff9;text-underline-offset:3px;transition:all .3s ease;width:100%}.my-entries-btn:hover{background:#ffffff0d;border-color:#fffc;-webkit-text-decoration-color:#fffc;text-decoration-color:#fffc;transform:translateY(-1px)}.my-entries-btn:active{background:#ffffff05;transform:translateY(0)}.permission-modal-overlay{animation:fadeIn .3s ease-out;background:#0006;bottom:0;left:0;padding:20px;right:0;top:0;z-index:2000}.permission-modal-overlay,.session-ended-overlay{align-items:center;display:flex;justify-content:center;position:fixed}.session-ended-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000080;inset:0;padding:16px;z-index:3000}.session-ended-card{background:#fff;border-radius:24px;box-shadow:0 18px 60px #7961fe47;display:flex;flex-direction:column;gap:20px;padding:36px 28px 40px;text-align:center;width:min(90%,360px)}.session-ended-title{color:#000;font-family:Poppins,sans-serif;font-size:24px;font-weight:700;margin:0}.session-ended-message{color:#111827;font-family:Poppins,sans-serif;font-size:16px;font-weight:500;line-height:1.5;margin:0}.session-ended-divider{background:linear-gradient(90deg,#f59e0b,#fb923c);border-radius:999px;height:4px;margin:0 auto;width:96px}.session-ended-button{background:#7961fe;border:none;border-radius:24px;box-shadow:0 8px 20px #7961fe4d;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-size:18px;font-weight:600;padding:14px;transition:transform .2s ease,box-shadow .2s ease}.session-ended-button:hover{box-shadow:0 12px 24px #7961fe59;transform:translateY(-1px)}.session-ended-button:active{box-shadow:0 4px 12px #7961fe40;transform:translateY(0)}.permission-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:14px;box-shadow:0 4px 20px #00000026;max-width:320px;overflow:hidden;padding:0;width:100%}.permission-modal-header{border-bottom:1px solid #0000001a;padding:20px 20px 16px;text-align:center}.permission-modal-title{font-size:17px;font-weight:600;margin:0 0 8px}.permission-modal-subtitle,.permission-modal-title{color:#000;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif}.permission-modal-subtitle{font-size:13px;line-height:1.4;margin:0;opacity:.8}.permission-modal-features{display:flex;flex-direction:column;gap:16px;margin:20px 0}.permission-feature{align-items:flex-start;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;display:flex;gap:12px;padding:12px}.feature-icon{flex-shrink:0;font-size:20px;margin-top:2px}.feature-content{flex:1 1}.feature-title{color:#1d1d1d;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;margin-bottom:4px}.feature-support{color:#666;font-family:Poppins,sans-serif;font-size:12px;line-height:1.3}.permission-modal-buttons{border-top:1px solid #0000001a;display:flex}.permission-allow-btn,.permission-deny-btn{background:#0000;border:none;cursor:pointer;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Helvetica Neue,Arial,sans-serif;font-size:17px;font-weight:400;padding:14px 16px;transition:background-color .2s ease}.permission-deny-btn{border-right:1px solid #0000001a;color:#007aff}.permission-allow-btn{color:#007aff;font-weight:600}.permission-allow-btn:hover,.permission-deny-btn:hover{background-color:#007aff1a}.permission-allow-btn:active,.permission-deny-btn:active{background-color:#007aff33}.my-entries-page{background:linear-gradient(180deg,#936cff,#816aff 15%,#9f8eff 40%,#fff 60%,#fff);bottom:0;display:flex;flex-direction:column;font-family:Poppins,sans-serif;height:100vh;height:100dvh;left:0;margin:0 auto;max-width:375px;min-height:100vh;min-height:100dvh;overflow:hidden;position:fixed;right:0;top:0}.entries-header{color:#fff;padding:16px}.entries-header-nav{align-items:center;display:flex;margin:0 20px;max-width:100%;position:relative}.entries-title{flex:1 1;font-family:Poppins,sans-serif;font-size:20px;font-weight:600;margin:0;text-align:center}.entries-body,.entries-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;position:relative}.entries-content{background-color:initial;border-radius:20px 20px 0 0;gap:20px;padding:20px 20px 0;z-index:1}.entries-total-card{background:#0000;flex-shrink:0;position:relative;text-align:center;z-index:1}.total-number{color:#6e54ff;font-size:20px;font-weight:600;line-height:1;margin-bottom:8px}.total-label{color:#666;font-size:16px;font-weight:400}.entries-list{-webkit-overflow-scrolling:touch;background:#0000;flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 0 calc(20px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(20px + var(--safe-bottom));position:relative;z-index:1}.entry-item{align-items:flex-start;display:flex;justify-content:space-between;padding:12px 0}.entry-item:last-child{border-bottom:none}.entry-info{flex:1 1}.entry-title{color:#333;font-size:14px;font-weight:500;line-height:1.2;margin-bottom:4px}.entry-date{color:#666;font-size:12px;font-weight:400}.entry-points{font-size:14px;font-weight:500;margin-left:16px;white-space:nowrap}.entry-points.negative,.entry-points.positive{color:#6e54ff}.my-rewards-page{background:linear-gradient(180deg,#936cff,#816aff 15%,#9f8eff 40%,#fff 60%,#fff);bottom:0;display:flex;flex-direction:column;font-family:Poppins,sans-serif;height:100vh;height:100dvh;left:0;margin:0 auto;max-width:375px;min-height:100vh;min-height:100dvh;overflow:hidden;position:fixed;right:0;top:0}.rewards-header{color:#fff;padding:16px}.rewards-header-nav{align-items:center;display:flex;margin:0 20px;max-width:100%;position:relative}.rewards-title{flex:1 1;font-family:Poppins,sans-serif;font-size:20px;font-weight:600;margin:0;text-align:center}.rewards-content{background-color:initial;border-radius:20px 20px 0 0;display:flex;flex:1 1;flex-direction:column;min-height:calc(100vh - 120px);min-height:calc(100dvh - 120px);overflow:hidden;padding:16px 12px 0;position:relative}.shake-now-btn{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #ffffff4d;border-radius:30px;box-shadow:0 4px 15px #7c3aed4d;color:#7c3aed;cursor:pointer;font-family:Poppins,sans-serif;font-size:18px;font-weight:600;letter-spacing:.5px;margin-top:20px;padding:14px 32px;text-transform:none;transition:all .3s ease}.shake-now-btn:hover:not(:disabled){background:linear-gradient(135deg,#fff,#f0f0f0);box-shadow:0 6px 20px #7c3aed66;transform:translateY(-2px)}.shake-now-btn:active:not(:disabled){box-shadow:0 2px 10px #7c3aed4d;transform:translateY(0)}.shake-now-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.rewards-tabs{align-items:flex-start;display:flex;margin-bottom:12px;position:relative;z-index:1}.tab-btn{background:none;border:none;color:#1d1d1d;cursor:pointer;font-family:Poppins,sans-serif;font-size:14px;font-weight:400;padding:4px 0;position:relative}.tab-btn:first-child{margin-right:16px}.tab-btn.active{border-bottom:2px solid #6e54ff;color:#1d1d1d;font-weight:600}.tab-sort{align-items:center;color:#454546;cursor:pointer;display:flex;margin-left:auto;padding:8px}.rewards-list{-webkit-overflow-scrolling:touch;background:#0000;flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:0 0 calc(20px + env(safe-area-inset-bottom, 0px));padding:0 0 calc(20px + var(--safe-bottom)) 0;position:relative;z-index:1}.App.is-embedded-frame .entries-list,.App.is-embedded-frame .rewards-list{padding-bottom:calc(252px + env(safe-area-inset-bottom, 0px));padding-bottom:calc(32px + var(--embedded-scroll-bottom-reserve) + var(--safe-bottom))}.reward-item{align-items:flex-start;display:flex;padding:8px 0}.reward-item:last-child{border-bottom:none}.reward-icon{align-items:center;color:#454546;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-right:12px;width:40px}.reward-info{flex:1 1}.reward-title{color:#1d1d1d;font-size:14px;font-weight:500;line-height:1.2;margin-bottom:4px}.reward-date{margin-bottom:2px}.reward-date,.reward-source{color:#6a6a6a;font-size:12px;font-weight:400}.reward-amount-section{align-items:flex-end;display:flex;flex-direction:column;margin-left:16px}.reward-amount{box-shadow:none;color:#6e54ff;font-size:14px;font-weight:500;margin-bottom:2px;text-shadow:none;white-space:nowrap}.reward-amount.positive{color:#6e54ff}.reward-amount-section .reward-source{color:#6a6a6a;font-size:12px;font-weight:400;text-align:right}.sort-modal-overlay{align-items:flex-end;animation:fadeIn .3s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.sort-modal-overlay.closing{animation:fadeOut .3s ease-out}.sort-modal-slideup{animation:slideUp .3s ease-out;background:#fff;border-radius:20px 20px 0 0;max-height:80vh;overflow:hidden;padding:0;position:relative;width:100%}.sort-modal-slideup.closing{animation:slideDown .3s ease-out}.sort-modal-handle{background:#fff;border-radius:20px 20px 0 0;display:flex;justify-content:center;padding:12px 0 8px}.modal-handle-bar{background-color:#ddd;border-radius:2px;height:4px;width:40px}.sort-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#1d1d1d;cursor:pointer;display:flex;justify-content:center;padding:8px;position:absolute;right:16px;top:16px;z-index:1001}.sort-modal-content{background:#fff;padding:12px 0 16px}.sort-modal-header{padding:16px 24px}.sort-modal-title{color:#1d1d1d;font-family:Poppins,sans-serif;font-size:14px;font-weight:600;margin:0}.sort-modal-options{display:flex;flex-direction:column;gap:0}.sort-option{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;justify-content:space-between;padding:16px 24px;transition:background-color .2s ease}.sort-option:hover{background-color:#f8f9fa}.sort-option.active{color:#7c3aed;font-weight:600}.sort-option:last-child{border-bottom:none}.sort-option span{color:#1d1d1d;font-family:Poppins,sans-serif;font-size:14px;font-weight:400}.voucher-item{align-items:center;background:#fff;border-radius:12px;box-shadow:0 0 5px 0 #bfbfbf99;display:flex;gap:16px;margin-bottom:12px;position:relative}.voucher-item.expired{background:#e5e7eb;border:1px solid #d1d5db;cursor:default!important;opacity:1;pointer-events:none}.voucher-item.expired .voucher-image,.voucher-item.expired .voucher-image img{filter:grayscale(100%);opacity:.6}.voucher-item.expired .voucher-content{filter:grayscale(100%)}.voucher-item.expired .voucher-company,.voucher-item.expired .voucher-company span,.voucher-item.expired .voucher-expires,.voucher-item.expired .voucher-expires span,.voucher-item.expired .voucher-title{color:#9ca3af!important}.voucher-item.expired .voucher-expires svg{stroke:#9ca3af!important}.voucher-item.expired .voucher-company img,.voucher-item.expired .voucher-company-logo{filter:grayscale(100%);opacity:.5}.voucher-image{align-items:center;background:#f8fafc;border-radius:12px 0 0 12px;display:flex;flex-shrink:0;height:100px;justify-content:center;overflow:hidden;width:125px}.voucher-image img{height:100%;object-fit:cover;width:100%}.use-now-tag{background:#7961fe;border-radius:0 12px 0 12px;box-shadow:none;color:#fff;font-family:Poppins,sans-serif;font-size:12px;font-weight:600;letter-spacing:.3px;padding:8px 16px;position:absolute;right:0;top:0;white-space:nowrap;z-index:10}.use-now-tag.expired{background:#9ca3af;box-shadow:none;color:#fff;cursor:default;pointer-events:none}.voucher-discount-icon{align-items:center;background:linear-gradient(135deg,#a855f7,#8b5cf6);border-radius:12px;box-shadow:0 4px 12px #a855f740;color:#fff;display:flex;height:60px;justify-content:center;width:60px}.percentage-symbol{color:#fff;font-size:28px;font-weight:700}.token-icon-fallback{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:12px;box-shadow:0 4px 12px #3b82f640;color:#fff;display:flex;height:60px;justify-content:center;width:60px}.token-icon-text{color:#fff;font-size:24px;font-weight:700}.reward-icon .token-icon-fallback{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:8px;box-shadow:0 2px 8px #3b82f640;color:#fff;display:flex;height:40px;justify-content:center;width:40px}.reward-icon .token-icon-text{color:#fff;font-size:16px;font-weight:700}.voucher-content{flex:1 1;margin-right:clamp(64px,18vw,96px);min-width:0;padding:12px 0}.empty-state{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-state img,.empty-state svg{margin-bottom:32px}.empty-state-giftbox{display:block}.empty-state p{color:#9ca3af;font-weight:400;line-height:1.4;margin:0 0 40px}.empty-state .join-shake-btn,.empty-state p{font-family:Poppins,sans-serif;font-size:16px}.empty-state .join-shake-btn{background:#8b5cf6;border:none;border-radius:25px;box-shadow:none;color:#fff;cursor:pointer;display:inline-block;font-weight:500;letter-spacing:0;margin-top:0;min-width:280px;outline:none;padding:16px 50px;text-decoration:none;text-transform:none;transition:all .2s ease;width:auto}.empty-state .join-shake-btn:hover{background:#7c3aed;box-shadow:none;transform:none}.empty-state .join-shake-btn:active{background:#7c3aed;transform:none}.voucher-header{margin-bottom:6px}.voucher-company{align-items:center;color:#6a6a6a;display:flex;font-size:12px;font-weight:500;gap:4px;margin-bottom:4px;white-space:nowrap}.voucher-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-clamp:2;color:#1d1d1d;display:-webkit-box;font-size:14px;font-weight:600;line-height:1.4;margin:0 8px 8px 0;overflow:hidden;text-overflow:ellipsis}.voucher-received{align-items:center;color:#6a6a6a;display:flex;font-size:12px;font-weight:400;gap:6px;margin-bottom:4px}.voucher-received svg{stroke:#6a6a6a}.voucher-expires span,.voucher-received span{overflow-wrap:anywhere;word-break:keep-all}.voucher-item.expired .voucher-received{color:#9ca3af!important}.voucher-item.expired .voucher-received svg{stroke:#9ca3af!important}.voucher-expires{align-items:center;color:#6a6a6a;display:flex;font-size:12px;font-weight:400;gap:6px}.voucher-expires.expires-soon{color:#ea580c;font-weight:500}.voucher-expires.expires-soon svg{stroke:#ea580c}.voucher-expires.expires-critical{color:#dc2626;font-weight:600}.voucher-expires.expires-critical svg{stroke:#dc2626}.voucher-use-btn{background:#8b5cf6;border:none;border-radius:12px;box-shadow:0 2px 8px #8b5cf64d;color:#fff;cursor:pointer;flex-shrink:0;font-size:15px;font-weight:600;padding:12px 20px;transition:all .2s ease}.voucher-use-btn:hover{background:#7c3aed;box-shadow:0 4px 12px #8b5cf666;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes giftBoxReveal{0%{opacity:0;transform:scale(.5) rotate(-10deg)}50%{opacity:1;transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes rewardSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes rewardPopOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100px) rotate(0deg)}to{opacity:0;transform:translateY(100vh) rotate(2turn)}}.help-description.rich-text-content{color:#333;font-size:14px;line-height:1.6;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.help-description.rich-text-content *{box-sizing:border-box;max-width:100%}.help-description.rich-text-content p{margin:0 0 12px}.help-description.rich-text-content p:last-child{margin-bottom:0}.help-description.rich-text-content ol,.help-description.rich-text-content ul{margin:0 0 12px;padding-left:20px}.help-description.rich-text-content ol:last-child,.help-description.rich-text-content ul:last-child{margin-bottom:0}.help-description.rich-text-content li{margin-bottom:8px;overflow-wrap:anywhere;word-break:break-word}.help-description.rich-text-content li:last-child{margin-bottom:0}.help-description.rich-text-content a{color:#6366f1;overflow-wrap:anywhere;text-decoration:underline;word-break:break-word}.help-description.rich-text-content a:hover{color:#4f46e5}.help-description.rich-text-content b,.help-description.rich-text-content strong{font-weight:600}.help-description.rich-text-content em,.help-description.rich-text-content i{font-style:italic}.help-description.rich-text-content u{text-decoration:underline}.help-description.rich-text-content iframe,.help-description.rich-text-content img,.help-description.rich-text-content video{height:auto;max-width:100%}.help-description.rich-text-content table{border-collapse:collapse;table-layout:fixed;width:100%}.help-description.rich-text-content td,.help-description.rich-text-content th{overflow-wrap:anywhere;word-break:break-word}.help-modal-content{background:#fff;border-radius:20px;box-sizing:border-box;color:#333;font-family:Poppins,sans-serif;margin-top:-100px;max-height:70vh;max-width:400px;overflow-x:hidden;overflow-y:auto;padding:20px;position:relative;width:90%}.help-modal-header{margin-bottom:20px}.help-modal-title{color:#6e54ff;font-size:18px;font-weight:600;margin:0;text-align:left}.help-modal-body{font-size:14px;line-height:1.5;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.help-step{align-items:flex-start;display:flex;margin-bottom:16px}.step-number{color:#333;flex-shrink:0;font-size:14px;font-weight:500;margin-right:8px;margin-top:0}.step-content{flex:1 1}.step-content p{color:#333;margin:0 0 4px}.step-subtitle{color:#666;font-size:13px;margin-left:16px}.help-list{list-style-type:disc;margin:6px 0;padding-left:20px}.help-list li{color:#333;margin-bottom:2px;padding-left:4px}.help-terms{color:#666;font-size:11px;line-height:1.4;margin-top:20px}.help-terms p{margin:0 0 6px}.help-terms p:last-child{margin-bottom:0}:root{--game-gold-ink:#4a2c00;--game-gold-edge:#c58a04;--game-overlay:#180f308f}#root,body,html{min-height:100%}#root,.App,body,html{background:var(--surface);color:var(--text);font-family:var(--font)}.App,.App .container{min-height:100dvh}.App .container{display:block;margin:0 auto;max-width:480px;padding:0;width:100%}button{font-family:var(--font)}button:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.shake-home{background:radial-gradient(ellipse 90% 360px at 50% 5%,var(--brand-100),#0000 80%);min-height:100dvh;padding:16px max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));text-align:center}.shake-home-top{align-items:center;display:flex;gap:8px;justify-content:space-between;min-height:40px}.shake-time-chip{border-radius:var(--radius-pill);color:var(--brand-ink);font-size:12px;font-weight:700;gap:6px;line-height:1.3;min-width:0;padding:8px 12px;text-align:left}.shake-help,.shake-icon-button,.shake-time-chip{align-items:center;background:var(--card);box-shadow:var(--shadow);display:inline-flex}.shake-help,.shake-icon-button{border:0;border-radius:50%;color:var(--brand);cursor:pointer;flex:0 0 44px;height:44px;justify-content:center;width:44px}.App .shake-stage{align-items:center;display:flex;flex:none;height:250px;justify-content:center;margin:2px auto 0;position:relative}.shake-stage-glow{background:radial-gradient(ellipse,var(--brand-200),#0000 70%);border-radius:50%;bottom:11px;height:50px;position:absolute;width:230px}.shake-tree{filter:drop-shadow(0 12px 10px var(--brand-glow));height:235px;max-width:78%;object-fit:contain;position:relative;transform:rotate(0deg);transform:rotate(var(--motion-angle,0deg));transform-origin:50% 90%;transition:transform .12s ease-out;width:235px}.shake-stage.is-shaking .shake-tree,.shake-stage.shaking .shake-tree{animation:tree-shake .2s ease-in-out infinite alternate}.shake-phone{animation:phone-rock 2.6s ease-in-out infinite;bottom:25px;filter:drop-shadow(0 5px 5px var(--brand-glow));position:absolute;right:8%;width:65px}.shake-leaf{animation:leaf-drop .9s ease-out both;bottom:8px;left:22%;position:absolute;width:52px}.shake-copy h1{color:var(--text);font-size:22px;font-weight:800;line-height:1.2;margin:0 auto;max-width:340px}.shake-copy p{color:var(--muted);font-size:14px;line-height:1.45;margin:8px auto 0;max-width:340px;overflow-wrap:anywhere}.shake-copy .shake-won{align-items:center;color:var(--brand-ink);display:flex;flex-wrap:wrap;font-weight:700;justify-content:center}.shake-balance{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);display:flex;gap:8px;justify-content:space-between;margin:16px auto 12px;padding:12px 16px;text-align:left}.shake-balance>span{color:var(--muted);font-size:13px;font-weight:600;line-height:1.25;min-width:0;overflow-wrap:anywhere}.shake-balance strong{font-feature-settings:"tnum";color:var(--text);flex-shrink:0;font-size:27px;font-variant-numeric:tabular-nums;line-height:1}.shake-balance-skeleton{display:block;height:25px;width:36px}.shake-game-button{align-items:center;background:linear-gradient(180deg,var(--gold-2),var(--gold));border:0;border-radius:var(--radius-pill);box-shadow:0 4px 0 #c58a04;box-shadow:0 4px 0 var(--game-gold-edge);color:#4a2c00;color:var(--game-gold-ink);cursor:pointer;display:flex;font-size:16px;font-weight:800;gap:8px;justify-content:center;min-height:52px;padding:12px 18px;transition:transform .1s,box-shadow .1s;width:100%}.shake-game-button:active{box-shadow:0 1px 0 #c58a04;box-shadow:0 1px 0 var(--game-gold-edge);transform:translateY(3px)}.shake-permission-hint{color:var(--muted);font-size:13px;line-height:1.4;margin:10px 4px 0}.shake-actions{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-top:18px}.shake-actions button,.shake-secondary-button{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--brand-ink);cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;min-height:48px;overflow-wrap:anywhere;padding:10px}.shake-skeleton{padding-top:40px}.shake-skeleton-art{border-radius:50%;height:230px;margin:auto;width:230px}.shake-skeleton-line{height:22px;margin:28px auto;width:70%}.shake-skeleton-button{border-radius:999px;height:52px;margin-top:70px;width:100%}.shake-sheet-overlay{align-items:flex-end;background:#180f308f;background:var(--game-overlay);display:flex;inset:0;justify-content:center;overflow:auto;padding:0;position:fixed;z-index:100000}.shake-reward-sheet{animation:sheet-reveal .35s var(--ease-spring) both;background:var(--card);border-radius:28px 28px 0 0;box-shadow:var(--shadow-lg);color:var(--text);max-height:90dvh;max-width:480px;overflow:auto;padding:28px 24px calc(24px + env(safe-area-inset-bottom));position:relative;text-align:center;width:100%}.shake-reward-sheet h2{font-size:22px;font-weight:800;line-height:1.2;margin:12px 0 8px}.shake-reward-sheet p{color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 20px;overflow-wrap:anywhere}.shake-sheet-close{background:var(--brand-50);border:0;border-radius:50%;color:var(--text);cursor:pointer;display:grid;height:44px;place-items:center;position:absolute;right:16px;top:14px;width:44px}.shake-modal-icon{background:var(--brand-50);border-radius:22px;color:var(--brand);display:grid;height:64px;margin:0 auto 12px;place-items:center;width:64px}.shake-reward-sheet .shake-secondary-button{margin-top:12px;width:100%}.shake-prize-art{background:var(--brand-50);border-radius:50%;display:grid;height:140px;margin:4px auto 0;place-items:center;width:140px}.shake-prize-art img{animation:prize-drop .6s var(--ease-spring) both;height:120px;object-fit:contain;width:120px}.shake-prize-amount{color:var(--brand);display:block;font-size:30px;margin-bottom:8px}.shake-confetti{inset:0;overflow:hidden;pointer-events:none;position:absolute}.shake-confetti i{animation:confetti-fall 1.1s ease-out both;background:var(--gold);border-radius:3px;height:12px;left:10%;left:calc(10% + var(--i, 0)*10%);position:absolute;top:20%;width:8px}.shake-confetti i:nth-child(2n){background:var(--brand-2)}.shake-confetti i:first-child{left:10%}.shake-confetti i:nth-child(2){left:20%}.shake-confetti i:nth-child(3){left:30%}.shake-confetti i:nth-child(4){left:40%}.shake-confetti i:nth-child(5){left:60%}.shake-confetti i:nth-child(6){left:70%}.shake-confetti i:nth-child(7){left:80%}.shake-confetti i:nth-child(8){left:90%}.shake-list-page{background:var(--surface);color:var(--text);margin:auto;max-height:100dvh;max-width:480px;min-height:100dvh;overflow:auto;padding:16px 16px calc(24px + env(safe-area-inset-bottom));width:100%}.shake-list-heading{align-items:center;display:flex;gap:12px;margin-bottom:20px}.shake-list-heading h1{font-size:22px;font-weight:800}.shake-total{grid-gap:3px;align-items:center;background:var(--brand-gradient);border-radius:24px;color:var(--on-brand);display:grid;gap:3px;grid-template-columns:1fr auto;padding:18px}.shake-total span{font-size:14px}.shake-total strong{font-size:34px;grid-row:2}.shake-total img{grid-column:2;grid-row:1/3;width:70px}.shake-tabs{align-items:center;display:flex;gap:8px;margin:0 0 16px}.shake-tabs .tab-btn{background:var(--card);border:1px solid var(--line);border-radius:16px;color:var(--muted);flex:1 1;font-size:14px;font-weight:700;height:44px;min-width:0}.shake-tabs .tab-btn.active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.shake-list{grid-gap:10px;display:grid;gap:10px;margin-top:16px}.shake-list-row{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);display:flex;gap:10px;min-width:0;padding:14px}.shake-reward-icon,.shake-row-icon{background:var(--brand-50);border-radius:14px;color:var(--brand);display:grid;flex:0 0 48px;height:48px;place-items:center;width:48px}.shake-reward-icon img{height:44px;object-fit:contain;width:44px}.shake-row-content{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:0;overflow-wrap:anywhere;text-align:left}.shake-row-content strong{font-size:14px;line-height:1.35}.shake-row-content span,.shake-row-end span{color:var(--muted);font-size:12px;line-height:1.35}.shake-list-row>b{font-size:13px;max-width:36%;overflow-wrap:anywhere}.shake-list-row .positive{color:var(--success)}.shake-row-end{align-items:flex-end;display:flex;flex-direction:column;gap:6px;max-width:32%;overflow-wrap:anywhere;text-align:right}.shake-row-end b{color:var(--brand);font-size:17px}.shake-row-end .shake-status{background:var(--gold-50);border-radius:999px;color:var(--gold-ink);font-weight:700;padding:5px 8px}.shake-reward-action{background:var(--brand-50);border:0;border-radius:999px;color:var(--brand-ink);cursor:pointer;font-weight:700;padding:8px}.shake-empty{background:var(--card);border-radius:24px;color:var(--muted);padding:38px 16px;text-align:center}.shake-empty p{font-size:14px;line-height:1.5;margin:8px 0 16px}.shake-empty strong{color:var(--text)}.shake-empty .shake-secondary-button{margin:16px auto 0}.shake-list-skeleton>div{border-radius:18px;height:70px;margin-bottom:10px}.shake-sort-bar{display:flex;justify-content:flex-end}.shake-sort-toggle{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--brand-ink);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:8px;height:44px;justify-content:center;line-height:1.4;max-width:100%;min-height:44px;padding:8px 12px;touch-action:manipulation;width:44px}.shake-sort-toggle svg{flex-shrink:0}.shake-sort-toggle:active{background:var(--brand-50)}.toast-notification{font-family:var(--font)!important;max-width:calc(100% - 32px)!important;white-space:normal!important;z-index:100010!important}.help-modal-content{background:var(--card)!important;border-radius:24px!important;max-width:calc(100vw - 32px)!important}.help-modal-body,.help-modal-content,.help-modal-title{color:var(--text)!important;font-family:var(--font)!important}.help-description{overflow-wrap:anywhere}.modal-done-btn{background:var(--brand)!important;color:var(--on-brand)!important}:lang(zh-CN),:lang(zh-TW){overflow-wrap:anywhere;word-break:keep-all}@keyframes tree-shake{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes phone-rock{0%,to{transform:rotate(-8deg)}50%{transform:rotate(8deg)}}@keyframes leaf-drop{0%{opacity:0;transform:translateY(-90px) rotate(-25deg)}to{opacity:1;transform:translateY(0) rotate(15deg)}}@keyframes prize-drop{0%{opacity:0;transform:translateY(-75px) scale(.7)}75%{opacity:1;transform:translateY(5px) scale(1.08)}to{opacity:1;transform:none}}@keyframes sheet-reveal{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-15px) rotate(0)}to{opacity:0;transform:translateY(140px) rotate(180deg)}}@media (max-width:340px){.shake-stage{height:210px}.shake-tree{height:205px;width:205px}.shake-copy h1{font-size:20px}.shake-home{padding-top:10px}.shake-actions{gap:6px}.shake-balance{padding:10px 12px}}@media (prefers-reduced-motion:reduce){.shake-confetti i,.shake-leaf,.shake-phone,.shake-prize-art img,.shake-reward-sheet,.shake-tree{animation:none!important;transition:none!important}.shake-confetti{display:none}.shake-tree{transform:none!important}.shake-game-button{transition:none}}.gift-section.shake-stage .shake-phone{animation:phone-rock 2.6s ease-in-out infinite;position:absolute;z-index:11}.gift-section.shake-stage .shake-leaf{animation:leaf-drop .9s ease-out both;position:absolute;z-index:11}@media (prefers-reduced-motion:reduce){.gift-section.shake-stage .shake-leaf,.gift-section.shake-stage .shake-phone{animation:none!important}}.shake-coin-burst{left:50%;pointer-events:none;position:absolute;top:95px}.shake-coin-burst img{animation:coin-burst .65s ease-out both;height:24px;object-fit:contain;position:absolute;width:24px}@keyframes coin-burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.3)}to{opacity:0;transform:translate(calc(-50% + var(--burst-x)),calc(-50% + var(--burst-y))) scale(.8)}}@media (prefers-reduced-motion:reduce){.shake-coin-burst{display:none}}.shake-sort-option{align-items:center;display:flex;gap:10px;justify-content:space-between}.shake-reward-action{font-size:12px}.voucher-item[role=button]{cursor:pointer}.voucher-item[role=button]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
/*# sourceMappingURL=main.e274f6e6.css.map*/