:root{--primary-color: #7366ff;--secondary-color: #5549d6;--accent-color: #8f82ff;--text-primary: #333333;--text-secondary: #666666;--text-light: #999999;--text-hint: #999999;--background-main: #ffffff;--background-secondary: #f5f7fb;--background-light: #f5f7fb;--border-color: #e0e0e0;--success-color: #28a745;--error-color: #dc3545;--warning-color: #ff9800;--info-color: #2196f3;--reward-background: #f0f0ff;--button-text-color: #ffffff;--link-color: #7366ff;--destructive-color: #dc3545;--navbar-height: 68px;--animation-duration: .3s;--viewport-height: 100vh;--window-height: 100vh;--document-height: 100vh;--app-max-width: 100%;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-top: env(safe-area-inset-top, 0px);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--z-dropdown: 1000;--z-sticky: 1020;--z-modal: 1050;--z-tooltip: 1070}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;color:var(--text-primary);background-color:var(--background-main);margin:0;padding:0;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;transition:background-color .3s ease,color .3s ease;position:fixed;inset:0;overflow:hidden;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}a{color:var(--link-color);text-decoration:none;transition:opacity .2s ease}a:hover{opacity:.8}a:active{opacity:.6}button{font-family:inherit;font-size:var(--font-size-md);line-height:1.5;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;outline:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:var(--button-text-color);padding:var(--spacing-md) var(--spacing-lg);font-weight:600;min-height:48px;border-radius:var(--radius-md)}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);opacity:.8}.btn-secondary{background-color:var(--background-secondary);color:var(--text-primary);padding:var(--spacing-md) var(--spacing-lg);font-weight:500;min-height:48px;border-radius:var(--radius-md)}.btn-secondary:hover:not(:disabled){opacity:.8}input,textarea,select{font-family:inherit;font-size:var(--font-size-md);background-color:var(--background-secondary);color:var(--text-primary);border:1px solid transparent;border-radius:var(--radius-md);padding:var(--spacing-md);outline:none;transition:all .2s ease;-webkit-appearance:none;appearance:none}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #7366ff33}input::placeholder,textarea::placeholder{color:var(--text-hint)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--background-secondary)}::-webkit-scrollbar-thumb{background:var(--text-hint);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.container{max-width:100%;padding:0 var(--spacing-md);margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.p-0{padding:0}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.d-none{display:none}.d-block{display:block}.d-flex{display:flex}.d-grid{display:grid}.flex-column{flex-direction:column}.flex-row{flex-direction:row}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.align-center{align-items:center}.align-start{align-items:flex-start}.align-end{align-items:flex-end}.w-full{width:100%}.h-full{height:100%}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.animate-bounce{animation:bounce .6s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}[data-theme=dark]{--primary-color: #8f82ff;--secondary-color: #7366ff;--accent-color: #a094ff;--text-primary: #ffffff;--text-secondary: #cccccc;--text-light: #999999;--text-hint: #cccccc;--background-main: #222222;--background-secondary: #333333;--background-light: #333333;--border-color: #444444;--success-color: #28a745;--error-color: #dc3545;--warning-color: #ff9800;--info-color: #2196f3;--reward-background: #333366;--button-text-color: #ffffff;--link-color: #8f82ff;--destructive-color: #dc3545}@media (prefers-color-scheme: dark){:root{--primary-color: #8f82ff;--secondary-color: #7366ff;--accent-color: #a094ff;--text-primary: #ffffff;--text-secondary: #cccccc;--text-light: #999999;--text-hint: #cccccc;--background-main: #222222;--background-secondary: #333333;--background-light: #333333;--border-color: #444444;--success-color: #28a745;--error-color: #dc3545;--warning-color: #ff9800;--info-color: #2196f3;--reward-background: #333366;--button-text-color: #ffffff;--link-color: #8f82ff;--destructive-color: #dc3545}}@media (max-width: 480px){html{font-size:14px}.container{padding:0 var(--spacing-sm)}button{min-height:44px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrate{0%{transform:scale(1)}25%{transform:scale(1.15) rotate(-5deg)}50%{transform:scale(1.15) rotate(5deg)}75%{transform:scale(1.08) rotate(-2deg)}to{transform:scale(1) rotate(0)}}@keyframes coinSpin{0%{transform:rotateY(0) scale(1)}50%{transform:rotateY(180deg) scale(1.2)}to{transform:rotateY(360deg) scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(2);opacity:0}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .2s ease-out}.animate-celebrate{animation:celebrate .6s ease-in-out}.animate-coin-spin{animation:coinSpin 1s ease-in-out}.animate-shimmer{background:linear-gradient(90deg,var(--primary-color) 25%,var(--secondary-color) 50%,var(--primary-color) 75%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 2s infinite linear;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:500;transition:background-color .2s,transform .1s,box-shadow .2s;box-shadow:0 4px 12px #0000001a;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;cursor:pointer}.btn:active{transform:scale(.9) translateY(4px);box-shadow:0 1px 2px #0000001a;transition:transform .05s,box-shadow .05s}.btn:after{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,#fff 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .3s,opacity .5s}.btn:active:after{transform:scale(0);opacity:.3;transition:0s}.btn-primary{background-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px #7366ff4d;position:relative}.btn-primary:hover{background-color:var(--secondary-color);box-shadow:0 6px 16px #7366ff66;transform:translateY(-2px)}.btn-primary:active{background-color:var(--secondary-color);transform:scale(.92) translateY(4px);box-shadow:0 1px 3px #7366ff33;transition:all .05s}.btn-primary.success{animation:celebrate .6s ease-in-out}.card{background-color:var(--background-main);border-radius:var(--radius-lg);box-shadow:0 8px 16px #00000014;padding:var(--spacing-md);margin-bottom:var(--spacing-md);transition:box-shadow .2s,transform .2s,background-color .3s ease}.card:hover{box-shadow:0 12px 24px #7366ff1f;transform:translateY(-2px)}.message{animation:fadeIn .3s ease-out;transition:all .3s ease;width:100%;z-index:10;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.message.success{border-left:4px solid var(--success-color);animation:fadeIn .3s ease-out,celebrate 1s ease-in-out .3s;box-shadow:0 6px 15px #28a74533;background-color:#28a7451a}.message.error{border-left:4px solid var(--error-color);background-color:#dc35451a}.scrollable-content{overflow-y:auto;height:var(--viewport-height);min-height:calc(var(--viewport-height) - var(--navbar-height));-webkit-overflow-scrolling:touch;padding-bottom:calc(var(--navbar-height) + var(--safe-area-bottom) + 16px);padding-top:var(--safe-area-top);animation:fadeInUp .2s ease-out;overscroll-behavior-y:contain;position:relative;max-width:var(--app-max-width);margin:0 auto;width:100%;scrollbar-width:none;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;touch-action:pan-y}.scrollable-content::-webkit-scrollbar{display:none}body.telegram-app{margin:0;padding:0;min-height:100vh;height:100vh}.telegram-app ::-webkit-scrollbar{display:none}.telegram-app{-ms-overflow-style:none;scrollbar-width:none}.navigation{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:none;background-color:var(--background-main);display:flex;height:calc(var(--navbar-height) - 8px);border-top:1px solid var(--border-color);box-shadow:0 -2px 8px #7366ff1a;z-index:1000;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding-bottom:var(--safe-area-bottom);transition:background-color .3s ease,transform .3s ease;margin:0}.navigation-container{max-width:100%;display:flex;align-items:center;justify-content:space-around;padding:0;margin:0 auto;width:100%;height:100%}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;position:relative;transition:all .2s,transform .1s;padding:16px 0;-webkit-tap-highlight-color:transparent;background:none;border:none;cursor:pointer;gap:4px}.nav-tab:hover{color:var(--text-primary)}.nav-tab:active{transform:scale(.8);transition:transform .05s}.nav-tab:after{content:"";background:#7366ff1a;display:block;position:absolute;border-radius:50%;width:50px;height:50px;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);transition:transform .2s}.nav-tab:active:after{transform:translate(-50%,-50%) scale(1.5);opacity:.5;transition:0s}.nav-tab.active{color:var(--primary-color)}.nav-tab.active .nav-icon{transform:scale(1.1);filter:drop-shadow(0 2px 4px rgba(115,102,255,.3))}.nav-icon{display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.nav-label{font-size:12px;font-weight:500;line-height:1;text-align:center;white-space:nowrap;transition:all .2s ease}.nav-tab.active .nav-label{font-weight:600}.nav-indicator{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:28px;height:3px;background-color:var(--primary-color);border-radius:3px 3px 0 0}.nav-tab.active:before{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;background-color:var(--primary-color);border-radius:1.5px;transition:width .2s ease}@media (max-width: 480px){.navigation{height:60px}.nav-tab{padding:12px 0;gap:2px}.nav-label{font-size:10px}.nav-indicator{width:24px;height:2px}}@media (max-width: 320px){.navigation{height:56px}.nav-tab{padding:10px 0}.nav-label{font-size:9px}.nav-indicator{width:20px}}@media (prefers-color-scheme: dark){.navigation{background-color:var(--background-main);border-top-color:var(--border-color)}}@media (prefers-contrast: high){.navigation{border-top:2px solid var(--text-primary)}.nav-tab{border:1px solid transparent}.nav-tab.active{border-color:var(--primary-color);background-color:var(--primary-color);color:var(--button-text-color)}.nav-indicator{height:4px}}@media (prefers-reduced-motion: reduce){.nav-tab,.nav-icon,.nav-label{transition:none}.nav-tab:hover,.nav-tab.active{transform:none}.nav-indicator{animation:none}.nav-tab.active:before{animation:none}}.nav-tab:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@supports (padding-bottom: env(safe-area-inset-bottom)){.navigation{padding-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom))}}@supports not (backdrop-filter: blur(20px)){.navigation{background-color:var(--background-secondary);opacity:.95}}@media (min-width: 768px){.navigation-container{max-width:600px;padding:var(--spacing-md) var(--spacing-lg)}.nav-tab{padding:var(--spacing-md) var(--spacing-lg);min-width:80px;min-height:70px}.nav-icon{font-size:28px}.nav-label{font-size:var(--font-size-sm)}.nav-indicator{width:24px;height:4px}}@media (orientation: landscape) and (max-height: 500px){.navigation-container{padding:var(--spacing-xs) var(--spacing-md)}.nav-tab{min-height:45px;gap:2px}.nav-icon{font-size:18px}.nav-label{font-size:10px}}body:has(.navigation){scroll-behavior:smooth;overscroll-behavior-y:contain}.navigation~*{margin-bottom:70px}@media (max-width: 480px){.navigation~*{margin-bottom:60px}}.home-page{min-height:100vh;background-color:var(--background-main);padding-bottom:80px}.home-header-compact{text-align:center;padding:var(--spacing-md) 0 var(--spacing-sm) 0;margin-bottom:var(--spacing-md)}.home-title-compact{font-size:var(--font-size-xl);font-weight:600;margin:0;color:var(--text-primary)}.points-subtext{font-size:var(--font-size-sm);color:var(--text-hint)}.success-message{background:linear-gradient(135deg,var(--success-color),#66bb6a);color:#fff;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);box-shadow:var(--shadow-md)}.success-icon{font-size:var(--font-size-lg)}.success-text{font-weight:500;flex:1}.promo-section{margin-bottom:var(--spacing-xl)}.input-label{font-size:18px;font-weight:500;margin-bottom:12px;color:var(--text-primary)}.promo-form,.input-group{margin-bottom:var(--spacing-md)}.promo-input-enhanced{width:100%;padding:20px;border:2px solid #7366ff;border-radius:50px;font-size:16px;margin-bottom:16px;box-shadow:0 4px 16px #7366ff1a;transition:all .3s ease;letter-spacing:.5px;text-align:center;font-weight:400;background-color:var(--background-main);color:var(--text-secondary);text-transform:uppercase}.promo-input-enhanced:focus{border-color:var(--primary-color);outline:none;box-shadow:0 4px 16px #7366ff33;transform:translateY(-2px)}.promo-input-enhanced::placeholder{color:var(--text-light);letter-spacing:normal;text-transform:none}.promo-input-enhanced:disabled{opacity:.6;cursor:not-allowed}.scan-button{width:56px;height:56px;background-color:var(--primary-color);color:var(--button-text-color);border:none;border-radius:var(--radius-md);font-size:var(--font-size-lg);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.scan-button:hover:not(:disabled){background-color:var(--accent-color);transform:scale(1.05)}.scan-button:active:not(:disabled){transform:scale(.95)}.scan-button:disabled{opacity:.6;cursor:not-allowed}.error-message{background-color:#f443361a;color:var(--error-color);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);border:1px solid rgba(244,67,54,.2)}.activate-button{width:100%;height:56px;font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-md);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.activate-button:disabled{background-color:var(--text-hint)}.loading-spinner{margin-right:var(--spacing-sm)}.scan-button-container{margin-top:16px;display:flex;justify-content:center;margin-bottom:16px;padding:0}.qr-scan-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:50px;font-size:16px;font-weight:600;background-color:#7366ff;color:#fff;border:none;box-shadow:0 4px 12px #7366ff4d;transition:all .2s ease;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:48px}.qr-scan-button:hover:not(:disabled){background-color:#5549d6;box-shadow:0 6px 14px #7366ff66;transform:translateY(-1px)}.qr-scan-button:active:not(:disabled){background-color:#5549d6;transform:scale(.98);box-shadow:0 2px 6px #7366ff40;transition:all .05s}.qr-scan-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.qr-scan-button.scanning{background:linear-gradient(45deg,#7366ff,#5549d6,#7366ff);background-size:300% 300%;animation:scanningGradient 2s ease-in-out infinite}@keyframes scanningGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.qr-scan-button.scanning svg{animation:scanningPulse 1s ease-in-out infinite}@keyframes scanningPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.qr-scan-button:after{content:"";display:block;position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,#fff 10%,transparent 10.01%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .3s,opacity .5s}.qr-scan-button:active:not(:disabled):after{transform:scale(0);opacity:.3;transition:0s}.recent-section{margin-bottom:var(--spacing-xl)}.recent-title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-md);color:var(--text-primary)}.recent-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.recent-item{background-color:var(--background-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);transition:transform .2s ease}.recent-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.recent-code{font-weight:700;font-size:var(--font-size-md);color:var(--text-primary);background-color:var(--background-main);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);letter-spacing:.5px}.recent-details{text-align:right}.recent-points{font-weight:700;color:var(--success-color);font-size:var(--font-size-md)}.recent-date{font-size:var(--font-size-sm);color:var(--text-hint);margin-top:var(--spacing-xs)}.welcome-section{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background-color:var(--background-secondary);border-radius:var(--radius-lg);margin-bottom:var(--spacing-xl)}.welcome-icon{font-size:48px;margin-bottom:var(--spacing-md)}.welcome-title{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.welcome-text{color:var(--text-hint);font-size:var(--font-size-md);line-height:1.6}.instructions-section{margin-top:24px;margin-bottom:24px;border-radius:var(--radius-lg);background-color:transparent;padding:0}.instructions-header{font-size:18px;font-weight:600;color:var(--primary-color);margin-bottom:12px;display:flex;align-items:center;gap:8px}.instructions-content{color:var(--text-secondary)}.instruction-text{margin-bottom:16px;line-height:1.5;font-size:14px;color:var(--text-secondary)}.instruction-icon{margin:16px 0;display:flex;align-items:center;justify-content:center;color:var(--primary-color);font-size:48px}.instructions-img{max-width:100%;height:auto;width:280px;display:block;margin:16px auto}.rewards-section{margin-top:24px;border-radius:var(--radius-lg);border:none;padding:20px;background-color:var(--background-light);box-shadow:none}.rewards-header{font-size:18px;font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:8px;color:var(--primary-color)}.rewards-list{display:flex;gap:16px;flex-wrap:wrap}.reward-item{display:flex;align-items:center;background-color:var(--background-main);border-radius:12px;padding:12px 16px;box-shadow:0 1px 3px #7366ff0d;border:none;margin-bottom:8px;flex:1;min-width:140px}.reward-icon{width:40px;height:40px;background-color:var(--reward-background);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:14px;font-size:20px;box-shadow:0 2px 4px #7366ff1a}.reward-text{font-weight:600;color:var(--text-primary);font-size:15px}@keyframes confettiPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes successGlow{0%{box-shadow:0 0 5px #7366ff4d}50%{box-shadow:0 0 20px #7366ff99}to{box-shadow:0 0 5px #7366ff4d}}.success-message.confetti-active{animation:confettiPulse .6s ease-out,successGlow 2s ease-in-out}.points-value.points-updated{animation:confettiPulse .8s ease-out}.confetti-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:9999}.recent-item{animation:slideInUp .3s ease-out}@media (max-width: 480px){.home-header{padding:var(--spacing-md) 0;margin-bottom:var(--spacing-md)}.home-title{font-size:var(--font-size-xl)}.points-card{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.points-value{font-size:52px}.input-group{flex-direction:column}.scan-button-container{margin-top:12px;margin-bottom:12px}.qr-scan-button{padding:10px 20px;font-size:15px;min-height:44px;border-radius:44px}.promo-input-enhanced{padding:16px;font-size:var(--font-size-md)}.activate-button{height:48px;font-size:var(--font-size-md)}.recent-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.recent-details{text-align:left;width:100%;display:flex;justify-content:space-between;align-items:center}.rewards-list{flex-direction:column;gap:12px}.reward-item{min-width:auto;flex:none}.instructions-img{width:240px}}@media (prefers-color-scheme: dark){.recent-code{background-color:#ffffff1a}.tip-item{border-bottom-color:#ffffff1a}}@media (prefers-contrast: high){.points-card,.recent-item,.welcome-section,.tips-section,.promo-input{border:2px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){.points-value,.recent-item{animation:none}.activate-button,.scan-button,.qr-button{transition:none}}.rewards-page{min-height:100vh;background-color:var(--background-main);padding-bottom:80px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md);text-align:center;padding:var(--spacing-lg)}.error-icon{font-size:48px}.error-message{background-color:#f443361a;color:var(--error-color);padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm);border:1px solid rgba(244,67,54,.2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md);text-align:center;padding:var(--spacing-lg)}.empty-icon{font-size:64px;opacity:.5}.rewards-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.reward-card{background-color:var(--background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:all .3s ease;border:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden}.reward-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.reward-card.redeeming{opacity:.8;pointer-events:none}.reward-card.insufficientPoints{opacity:.7}.reward-card.outOfStock{opacity:.6;position:relative}.reward-card.outOfStock:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.1) 10px,rgba(255,255,255,.1) 20px);pointer-events:none}.reward-image{width:60px;height:60px;border-radius:var(--radius-md);background-color:var(--background-main);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);border:2px solid rgba(255,255,255,.1)}.reward-content{margin-bottom:var(--spacing-lg)}.reward-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary);line-height:1.3}.reward-description{font-size:var(--font-size-sm);color:var(--text-hint);line-height:1.4;margin-bottom:var(--spacing-md)}.reward-cost{display:flex;align-items:baseline;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.cost-value{font-size:var(--font-size-xl);font-weight:700;color:var(--primary-color)}.cost-label{font-size:var(--font-size-sm);color:var(--text-hint)}.reward-actions{margin-top:auto}.redeem-button{width:100%;height:48px;border-radius:var(--radius-md);font-weight:700;font-size:var(--font-size-md);transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);text-align:center}.redeem-button.btn-primary{background-color:var(--primary-color);color:var(--button-text-color);border:none}.redeem-button.btn-primary:hover:not(:disabled){background-color:var(--accent-color);transform:translateY(-1px)}.redeem-button.btn-disabled{background-color:var(--text-hint);color:var(--background-secondary);border:none;cursor:not-allowed;opacity:.6}.category-stats{text-align:center;padding:var(--spacing-lg) 0;border-top:1px solid rgba(255,255,255,.1)}.stats-text{font-size:var(--font-size-sm);color:var(--text-hint)}@media (max-width: 640px){.rewards-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-md)}}@media (max-width: 480px){.rewards-grid{grid-template-columns:1fr 1fr;gap:var(--spacing-sm)}.points-card{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.points-value{font-size:52px}.reward-card{padding:var(--spacing-sm)}.reward-image{width:40px;height:40px;font-size:var(--font-size-md);margin-bottom:var(--spacing-sm)}.reward-title{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.reward-description{font-size:var(--font-size-xs);margin-bottom:var(--spacing-sm)}.cost-value{font-size:var(--font-size-md)}.cost-label{font-size:var(--font-size-xs)}.redeem-button{height:40px;font-size:var(--font-size-sm)}}@media (max-width: 360px){.rewards-grid{gap:var(--spacing-xs)}.reward-card{padding:var(--spacing-xs)}.reward-title{font-size:var(--font-size-xs)}.reward-description{display:none}.cost-value{font-size:var(--font-size-sm)}}@media (prefers-color-scheme: dark){.reward-card,.reward-image{border-color:#ffffff1a}}@media (prefers-contrast: high){.reward-card,.points-summary,.filter-toggle{border:2px solid var(--text-primary)}}@media (prefers-reduced-motion: reduce){.reward-card,.redeem-button,.filter-toggle{transition:none}.reward-card:hover{transform:none}.chevron{transition:none}}.reward-card.redeeming:after{content:"";position:absolute;inset:0;background-color:#fffc;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl)}.reward-card{animation:slideInUp .3s ease-out}.profile-page{min-height:100vh;background-color:var(--background-main);padding-bottom:80px}.points-card{padding:var(--spacing-xl) var(--spacing-lg);margin-bottom:var(--spacing-lg);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.points-label{font-size:var(--font-size-sm);color:var(--text-hint);margin-bottom:var(--spacing-sm);letter-spacing:.5px;font-weight:700}.points-value{font-size:64px;font-weight:800;color:var(--primary-color);margin:var(--spacing-sm) 0;animation:countUp .6s ease-out;line-height:1.1;letter-spacing:-.02em}.tab-navigation{display:flex;background-color:var(--background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xs);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.tab-button{flex:1;background:none;border:none;padding:var(--spacing-md) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);color:var(--text-hint)}.tab-button.active{background-color:var(--primary-color);color:var(--button-text-color);box-shadow:var(--shadow-sm)}.tab-button:hover:not(.active){background-color:var(--background-main);color:var(--text-primary)}.tab-icon{font-size:var(--font-size-lg);display:flex;align-items:center;justify-content:center;width:24px;height:24px}.tab-label{font-size:var(--font-size-xs);font-weight:500;text-align:center;line-height:1.2}.tab-content{min-height:400px}.section-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-md);color:var(--text-primary);display:flex;align-items:center;gap:var(--spacing-sm)}.subsection-title{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary)}.overview-tab{display:flex;flex-direction:column;gap:var(--spacing-xl)}.referral-section{background-color:var(--background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.referral-link-card{display:flex;align-items:center;background-color:var(--background-main);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md);border:2px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s ease;gap:var(--spacing-sm)}.referral-link-card:hover{border-color:var(--primary-color);transform:translateY(-1px)}.referral-link-input{flex:1;background-color:transparent;border:none;font-size:var(--font-size-sm);font-weight:500;font-family:Courier New,monospace;color:var(--text-primary);cursor:pointer;outline:none;padding:0}.copy-button{background:none;border:none;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.copy-button svg{width:18px;height:18px}.share-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);height:48px;font-weight:700;text-align:center}.share-icon{display:flex;align-items:center;justify-content:center}.share-icon svg{width:18px;height:18px}.settings-section{background-color:var(--background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.settings-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-radius:var(--radius-md);transition:all .2s ease}.setting-item.clickable{cursor:pointer}.setting-item.clickable:hover{background-color:var(--background-main);transform:translate(4px)}.setting-info{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}.setting-item:last-child{border-bottom:none;padding-bottom:0}.setting-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.setting-label{font-size:var(--font-size-md);font-weight:500;color:var(--text-primary)}.setting-value{font-size:var(--font-size-sm);color:var(--text-hint)}.setting-button{background:none;border:none;cursor:pointer;padding:var(--spacing-sm);border-radius:var(--radius-sm);transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.setting-button svg{width:20px;height:20px}.setting-button:hover{background-color:var(--background-main);transform:scale(1.1)}.language-selector{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:var(--spacing-sm)}.language-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--background-main);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.language-option:hover{border-color:var(--primary-color);transform:translateY(-1px)}.language-option.active{border-color:var(--primary-color);background-color:#7366ff1a}.language-flag{font-size:var(--font-size-lg);width:24px;text-align:center}.language-name{flex:1;font-weight:500;color:var(--text-primary)}.language-code{font-size:var(--font-size-sm);color:var(--text-hint)}.history-tab{background-color:var(--background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.transactions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.transaction-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--background-main);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.transaction-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.transaction-icon{width:40px;height:40px;border-radius:var(--radius-md);background-color:var(--background-secondary);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.1)}.transaction-icon svg{width:20px;height:20px}.transaction-content{flex:1}.transaction-description{font-size:var(--font-size-md);font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-xs);line-height:1.3}.transaction-date{font-size:var(--font-size-sm);color:var(--text-hint)}.transaction-amount{text-align:right;font-weight:600;display:flex;flex-direction:column;align-items:flex-end;gap:var(--spacing-xs)}.transaction-amount.positive{color:var(--success-color)}.transaction-amount.negative{color:var(--error-color)}.transaction-amount.neutral{color:var(--text-hint)}.amount-label{font-size:var(--font-size-xs);font-weight:400;color:var(--text-hint)}.referrals-tab{background-color:var(--background-secondary);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.stat-card{background-color:var(--background-main);border-radius:var(--radius-md);padding:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);border:1px solid rgba(255,255,255,.1);transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.stat-icon{width:48px;height:48px;border-radius:var(--radius-md);background-color:var(--background-secondary);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.1)}.stat-icon svg{width:24px;height:24px}.stat-content{text-align:center}.stat-value{font-size:var(--font-size-xl);font-weight:700;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--font-size-sm);color:var(--text-hint);line-height:1.2}.copy-link-button{background-color:var(--primary-color);color:var(--button-text-color);border:none;border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s ease;min-width:48px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.copy-link-button svg{width:18px;height:18px}.copy-button:hover{background-color:var(--background-secondary);transform:scale(1.1)}.share-link-button{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);height:48px;font-weight:700;text-align:center}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:var(--spacing-md);text-align:center;padding:var(--spacing-lg)}.loading-spinner{font-size:var(--font-size-xl)}.empty-icon{font-size:48px;opacity:.5}.error-message{background-color:#f443361a;color:var(--error-color);padding:var(--spacing-md);border-radius:var(--radius-md);margin-top:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);border:1px solid rgba(244,67,54,.2)}.error-icon{font-size:var(--font-size-md)}@media (max-width: 640px){.stats-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.tab-navigation{padding:var(--spacing-xs)}.tab-button{padding:var(--spacing-sm)}.tab-label{font-size:10px}}@media (max-width: 480px){.points-card{padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.points-value{font-size:52px}.referral-section,.settings-section,.history-tab,.referrals-tab{padding:var(--spacing-md)}.referral-link-input{font-size:var(--font-size-xs)}.transaction-item{padding:var(--spacing-sm)}.transaction-icon{width:32px;height:32px}.transaction-icon svg{width:16px;height:16px}.stat-card{padding:var(--spacing-md)}.stat-icon{width:40px;height:40px}.stat-icon svg{width:20px;height:20px}.stat-value{font-size:var(--font-size-lg)}}@media (prefers-color-scheme: dark){.referral-link-card,.language-option,.transaction-item,.stat-card,.summary-icon,.transaction-icon,.stat-icon{border-color:#ffffff1a}}@media (prefers-contrast: high){.summary-card,.referral-section,.settings-section,.history-tab,.referrals-tab,.referral-link-card,.language-option,.transaction-item,.stat-card{border:2px solid var(--text-primary)}.tab-button.active{border:2px solid var(--button-text-color)}}@media (prefers-reduced-motion: reduce){.summary-card,.tab-button,.referral-link-card,.language-option,.transaction-item,.stat-card,.copy-button,.setting-button{transition:none}.summary-card:hover,.stat-card:hover,.transaction-item:hover{transform:none}}.overview-tab,.history-tab,.referrals-tab{animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}.app{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-main);color:var(--text-primary);position:fixed;inset:0;overflow:hidden;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform}.app-main{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;height:100%;position:relative;max-width:480px;margin:0 auto;width:100%;padding-bottom:calc(var(--navbar-height) + var(--safe-area-bottom));scrollbar-width:none;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;touch-action:pan-y}.app-main::-webkit-scrollbar{display:none}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background-main);color:var(--text-primary);animation:fadeIn .3s ease-out}.loading-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center;padding:var(--spacing-xl);border-radius:var(--radius-lg);background-color:#7366ff0d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 32px #0000001a}.loading-container .loading-spinner{font-size:48px;animation:spin 1s linear infinite;filter:drop-shadow(0 2px 4px rgba(115,102,255,.3))}.loading-container p{font-size:var(--font-size-md);color:var(--text-secondary);margin:0;font-weight:500}.app-error{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background-main);color:var(--text-primary);padding:var(--spacing-lg);animation:fadeIn .3s ease-out}.error-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center;max-width:400px;padding:var(--spacing-xl);border-radius:var(--radius-lg);background-color:var(--background-main);box-shadow:0 8px 32px #dc35451a;border:1px solid rgba(220,53,69,.2)}.error-container .error-icon{font-size:64px;margin-bottom:var(--spacing-md);animation:pulse 2s infinite}.error-container h2{font-size:var(--font-size-xl);font-weight:600;margin:0;color:var(--text-primary)}.error-container p{font-size:var(--font-size-md);color:var(--text-secondary);margin:0;line-height:1.5}.error-container .btn-primary{margin-top:var(--spacing-md);min-width:120px;background-color:var(--primary-color);color:#fff;box-shadow:0 4px 12px #7366ff4d}.error-container .btn-primary:hover{background-color:var(--secondary-color);box-shadow:0 6px 16px #7366ff66;transform:translateY(-2px)}.page-content{padding:var(--spacing-md);padding-bottom:calc(var(--navbar-height) + var(--safe-area-bottom) + var(--spacing-md));height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:fadeInUp .2s ease-out;overscroll-behavior-y:contain;position:relative;max-width:480px;margin:0 auto;width:100%}.app-main{scroll-behavior:smooth;overscroll-behavior-y:contain}@media (max-width: 480px){.app-main{padding-bottom:calc(60px + var(--safe-area-bottom))}.page-content{padding:var(--spacing-sm);padding-bottom:calc(60px + var(--safe-area-bottom) + var(--spacing-sm))}.loading-container{padding:var(--spacing-lg)}.loading-container .loading-spinner{font-size:40px}.error-container{padding:var(--spacing-lg)}.error-container .error-icon{font-size:48px}.error-container h2{font-size:var(--font-size-lg)}}@media (prefers-color-scheme: dark){.app{background-color:var(--background-main);color:var(--text-primary)}.loading-container{background-color:#7366ff1a;box-shadow:0 8px 32px #0000004d}.error-container{background-color:var(--background-main);box-shadow:0 8px 32px #0000004d;border-color:#dc35454d}}@media (prefers-contrast: high){.error-container{border:2px solid var(--text-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl)}}@media (prefers-reduced-motion: reduce){.loading-container .loading-spinner,.error-container .error-icon{animation:none}.app-main{scroll-behavior:auto}.page-content{animation:none}}.celebration-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden;transform:translateZ(0);will-change:transform}.confetti{position:absolute;width:10px;height:10px;opacity:0}.container{max-width:480px;padding:var(--spacing-md);height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;position:relative;margin:0 auto;width:100%}
