@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Noto+Naskh+Arabic:wght@400;700&display=swap";:root{--color-authentic-taste:#06231d;--color-premium-delight:#d4af37;--color-clean-honest:#0c342c;--color-bold-flavor:#fff;--gradient-gold:linear-gradient(135deg, #d4af37 0%, #f4d068 50%, #b8860b 100%);--gradient-dark:linear-gradient(180deg, #0c342c 0%, #06231d 100%);--gradient-glass:linear-gradient(135deg, #ffffff14 0%, #ffffff08 100%);--gradient-bali-1:linear-gradient(180deg, #fffdee 0%, #e3ef26 100%);--gradient-bali-2:linear-gradient(180deg, #e2fbce 0%, #076653 100%);--gradient-bali-3:linear-gradient(180deg, #e3ef26 0%, #0c342c 100%);--gradient-bali-4:linear-gradient(180deg, #076653 0%, #06231d 100%);--color-primary:#d4af37;--color-primary-light:#f4d068;--color-accent:#c5a028;--color-surface:#06231d;--color-surface-mid:#076653;--color-card:#0c342c;--color-border:#d4af3726;--color-text:#f0f0f0;--color-text-muted:#a0b8b0;--color-success:#4caf50;--color-danger:#f44336;--color-warning:#ff9800;--color-text-gold:#d4af37;--color-text-on-dark:#f0f0f0;--color-progress-bg:#d4af374d;--font-heading:"Playfair Display", serif;--font-body:"Inter", sans-serif;--font-arabic:"Noto Naskh Arabic", serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-normal:1.5;--leading-tight:1.2;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:36px;--space-10:40px;--space-12:48px;--max-width:420px;--radius-lg:16px;--radius-md:10px;--radius-full:9999px;--shadow-premium:0 20px 40px #0009;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 10px 30px #0006;--transition-default:.3s ease}body{font-family:var(--font-body);background-color:var(--color-surface);color:var(--color-text);overflow-x:hidden}h1,h2,h3,.heading-premium{font-family:var(--font-heading);font-weight:700}.glass-effect{background:var(--gradient-glass);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-premium);border:1px solid #ffffff14}.text-metallic{background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;display:inline-block}.bali-pattern-overlay{position:relative;overflow:hidden}.bali-pattern-overlay:after{content:"";opacity:.35;mix-blend-mode:screen;pointer-events:none;z-index:0;background-image:url(/assets/pattern-Dlu17kve.png);background-position:50%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.bali-pattern-overlay>*{z-index:1;position:relative}.card-premium{background:var(--color-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:transform var(--transition-default), border-color var(--transition-default)}.card-premium:hover{border-color:var(--color-primary);transform:translateY(-4px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-surface);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh}#root{min-height:100dvh;position:relative}.mobile-container{max-width:var(--max-width);margin:0 auto}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-bold{font-weight:700}.font-normal{font-weight:400}.text-muted{color:var(--color-text-muted)}.text-gold{color:var(--color-text-gold)}.text-on-dark{color:var(--color-text-on-dark)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-center{text-align:center}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[dir=rtl]{font-family:var(--font-arabic)}[dir=rtl] .challenge-header,[dir=rtl] .progress-dots{flex-direction:row-reverse}[dir=rtl] .back-arrow{transform:scaleX(-1)}[dir=rtl] .discount-tracker{text-align:right}[dir=rtl] .challenge-card{flex-direction:row-reverse}[dir=rtl] .challenge-card .chevron{transform:scaleX(-1)}[dir=rtl] .language-switcher{left:var(--space-4);right:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-progress-bg);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.progress-bar{width:100%}.progress-bar__track{background-color:var(--color-progress-bg);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar__fill{background-color:var(--color-progress-bar);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow);min-width:0}.progress-bar__label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1);text-align:right;display:block}.timer{font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);color:var(--color-text-gold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);background-color:#ffb13c26;display:inline-block}.timer--warning{color:var(--color-danger);background-color:#c0392b26;animation:1s ease-in-out infinite pulse-warning}@keyframes pulse-warning{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);padding:var(--space-1) var(--space-3);border-radius:var(--radius-xl);white-space:nowrap;font-weight:700;display:inline-flex}.badge--default{color:var(--color-text);background-color:#361f1514}.badge--gold{color:var(--color-primary-light);background-color:#d4af3726;border:1px solid #d4af374d}.badge--green{color:var(--color-success);background-color:#0766531f}.badge--success{background-color:var(--color-success);color:#fff}.badge--danger{color:var(--color-danger);background-color:#c0392b1f}.badge__icon{font-size:var(--text-sm);line-height:1}.card{background-color:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden}.modal{border-radius:var(--radius-md);max-width:calc(var(--max-width) - var(--space-8));background:0 0;border:none;width:90%;padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#1e1e1e99}.modal__content{background-color:var(--color-card);border-radius:var(--radius-md);overflow:hidden}.modal__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid #361f150f;justify-content:space-between;align-items:center;display:flex}.modal__title{font-size:var(--text-lg);color:var(--color-primary);font-weight:700}.modal__close{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-muted);font-size:var(--text-base);transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.modal__close:hover{background-color:#361f150f}.modal__body{padding:var(--space-5)}.skeleton{background:linear-gradient(90deg, var(--color-progress-bg) 25%, #f9f3efcc 50%, var(--color-progress-bg) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton--text{width:100%;height:16px}.skeleton--circle{border-radius:var(--radius-full)}.skeleton--card{border-radius:var(--radius-md);height:72px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.landing-page{background-color:var(--color-surface);flex-direction:column;align-items:center;width:100%;min-height:100dvh;display:flex;position:relative;overflow:hidden}.landing-page:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#06231dbf 0%,#06231d99 30%,#06231dcc 70%,#06231df2 100%),url(/assets/hero-bg-C_W5elgh.png);background-position:top;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.landing-page>*{z-index:1;position:relative}.membership-home__header{padding:var(--space-5) var(--space-8) var(--space-3);justify-content:space-between;align-items:center;width:100%;max-width:560px;display:flex}.membership-home__brand{flex-direction:column;display:flex}.membership-home__logo{font-family:var(--font-heading);letter-spacing:2px;background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.6rem;font-style:italic;font-weight:900}.membership-home__restaurant{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-top:2px}.membership-home__login-btn{border-radius:var(--radius-full);background:var(--gradient-gold);color:#06231d;font-size:var(--text-sm);letter-spacing:.5px;transition:all var(--transition-default);cursor:pointer;border:none;padding:8px 20px;font-weight:700}.membership-home__login-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px #d4af374d}.membership-home__user-btn{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-default);background:#d4af371a;border:1px solid #d4af3740;align-items:center;gap:8px;padding:6px 14px 6px 6px;display:flex}.membership-home__user-btn:hover{border-color:var(--color-primary);background:#d4af3726}.membership-home__user-avatar{background:var(--gradient-gold);color:#06231d;width:28px;height:28px;font-weight:700;font-size:var(--text-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.membership-home__user-name{font-size:var(--text-sm);color:var(--color-text);font-weight:500}.membership-home__welcome{padding:var(--space-3) var(--space-8) var(--space-5);width:100%;max-width:560px}.membership-home__greeting{font-family:var(--font-heading);font-size:var(--text-xl);color:var(--color-text);font-weight:700}.membership-home__table-info{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:4px}.membership-home__menu{gap:var(--space-4);padding:0 var(--space-8) var(--space-8);flex-direction:column;width:100%;max-width:560px;display:flex}.membership-home__error{text-align:center;min-height:60dvh;padding:var(--space-6);flex-direction:column;justify-content:center;align-items:center;display:flex}.banner-card{border-radius:var(--radius-lg);cursor:pointer;text-align:left;width:100%;min-height:120px;color:var(--color-text);background:0 0;border:1px solid #d4af371f;align-items:flex-end;padding:0;transition:all .35s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden;box-shadow:0 8px 24px #0000004d}.banner-card:hover{border-color:#d4af374d;transform:translateY(-4px);box-shadow:0 12px 32px #00000080}.banner-card:active{transform:scale(.98)}.banner-card__bg{background-position:50%;background-size:cover;transition:transform .5s;position:absolute;inset:0}.banner-card:hover .banner-card__bg{transform:scale(1.06)}.banner-card__overlay{background:linear-gradient(#06231d4d 0%,#06231dbf 60%,#06231deb 100%);position:absolute;inset:0}.banner-card__content{z-index:1;align-items:center;gap:var(--space-4);padding:var(--space-5);width:100%;display:flex;position:relative}.banner-card__icon{background:#d4af371f;border:1px solid #d4af3733;border-radius:12px;justify-content:center;align-items:center;min-width:44px;height:44px;font-size:2rem;display:flex}.banner-card__text{flex:1}.banner-card__title{font-family:var(--font-heading);font-size:var(--text-lg);color:var(--color-primary);margin-bottom:2px;font-weight:700}.banner-card__subtitle{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4}.banner-card__arrow{color:var(--color-primary);opacity:.6;transition:all var(--transition-default);font-size:1.5rem}.banner-card:hover .banner-card__arrow{opacity:1;transform:translate(4px)}.membership-home__loading-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:center;align-items:center;gap:var(--space-4);z-index:100;color:var(--color-primary);font-family:var(--font-heading);font-size:var(--text-lg);background:#06231dd9;flex-direction:column;display:flex;position:fixed;inset:0}.membership-home__loading-spinner{border:3px solid #d4af3733;border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.landing-page--animate .membership-home__header{animation:.5s ease-out landing-fade-down}.landing-page--animate .membership-home__welcome{animation:.5s ease-out .1s both landing-fade-up}.landing-page--animate .banner-card{animation:.5s ease-out both banner-card-enter}@keyframes landing-fade-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes landing-fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes banner-card-enter{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.landing-skeleton{margin:var(--space-3) auto;border-radius:var(--radius-lg)}.landing-error-toast{bottom:var(--space-6);max-width:calc(var(--max-width) - var(--space-8));background-color:var(--color-danger);color:#fff;width:90%;padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-sm);text-align:center;box-shadow:var(--shadow-lg);z-index:50;animation:.3s ease-out toast-slide-up;position:fixed;left:50%;transform:translate(-50%)}@keyframes toast-slide-up{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.rewards-content{width:100%;max-width:560px;padding:0 var(--space-5) var(--space-8);z-index:1;position:relative}.restaurants-content{width:100%;max-width:560px;padding:var(--space-5);z-index:1;position:relative}.lobby-page{min-height:100dvh;max-width:var(--max-width);padding:var(--space-6);padding-top:var(--space-4);background-color:var(--color-surface);margin:0 auto;padding-bottom:120px}.discount-tracker{background:var(--color-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-premium);margin-bottom:32px;padding:24px;position:relative;overflow:hidden}.discount-tracker:before{content:"";background:var(--gradient-gold);height:4px;position:absolute;top:0;left:0;right:0}.discount-tracker__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.75rem}.discount-tracker__value{font-size:2.5rem;font-family:var(--font-heading);color:var(--color-primary);margin-bottom:12px;font-weight:900;line-height:1}.discount-tracker__sub{color:var(--color-text-muted);font-size:.8rem}.challenge-card{background:var(--color-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-premium);cursor:pointer;align-items:center;gap:16px;margin-bottom:16px;padding:20px;transition:all .3s;display:flex}.challenge-card:hover:not(.challenge-card--completed){border-color:var(--color-primary);transform:translateY(-4px)}.challenge-card--completed{opacity:.6}.challenge-card__icon{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;justify-content:center;align-items:center;width:52px;min-width:52px;height:52px;font-size:1.5rem;display:flex}.challenge-card__body{flex:1}.challenge-card__name{font-size:1.1rem;font-family:var(--font-heading);color:#fff;margin-bottom:4px;font-weight:700}.challenge-card__meta{color:var(--color-text-muted);gap:12px;font-size:.75rem;display:flex}.lobby-cta{width:100%;max-width:var(--max-width);background:linear-gradient(0deg, var(--color-surface) 0%, transparent 100%);z-index:10;padding:20px;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.lobby-page--animate .discount-tracker{animation:.5s ease-out lobby-slide-down}.lobby-page--animate .lobby-section{animation:.5s ease-out .2s both lobby-fade-up}.challenge-card-wrapper{animation:.4s ease-out both lobby-card-enter}@keyframes lobby-slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes lobby-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes lobby-card-enter{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.challenge-card:not(.challenge-card--completed):hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.lobby-skeleton{margin-top:var(--space-3)}.lobby-empty{text-align:center;padding:var(--space-10) var(--space-6)}.lobby-empty__icon{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.lobby-empty__text{font-size:var(--text-base);color:var(--color-text-muted)}.challenge-page{min-height:100dvh;max-width:var(--max-width);background-color:var(--color-surface);flex-direction:column;margin:0 auto;display:flex}.challenge-header{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background-color:var(--color-primary);color:var(--color-text-on-dark);display:flex}.challenge-header__back{width:32px;height:32px;color:var(--color-text-on-dark);font-size:var(--text-lg);justify-content:center;align-items:center;display:flex}.challenge-header__title{font-size:var(--text-base);flex:1;font-weight:700}.challenge-header__timer{font-size:var(--text-lg);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);text-align:center;letter-spacing:.05em;background-color:#00000073;border:1px solid #ffffff26;min-width:80px;font-family:Inter,monospace;font-weight:700}.challenge-header__timer--warning{color:#fff;background-color:#f44336d9;border-color:#f4433699;animation:.8s ease-in-out infinite pulse-warning;box-shadow:0 0 12px #f4433666}.progress-dots{justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);display:flex}.progress-dots__dot{border-radius:var(--radius-full);background-color:var(--color-progress-bg);width:8px;height:8px;transition:all var(--transition-default)}.progress-dots__dot--active{background-color:var(--color-accent);border-radius:var(--radius-sm);width:24px}.progress-dots__dot--completed{background-color:var(--color-success)}.challenge-content{padding:var(--space-4) var(--space-6);flex-direction:column;flex:1;display:flex}.quiz-challenge__question-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.quiz-challenge__question{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-6);font-weight:700;line-height:var(--leading-relaxed)}.quiz-challenge__options{gap:var(--space-3);flex-direction:column;display:flex}.answer-option{align-items:center;gap:var(--space-3);padding:var(--space-4);background-color:var(--color-card);border:2px solid var(--color-progress-bg);border-radius:var(--radius-md);transition:all var(--transition-default);cursor:pointer;text-align:left;width:100%;display:flex}.answer-option:hover{border-color:var(--color-accent);box-shadow:var(--shadow-gold)}.answer-option--selected{border-color:var(--color-accent);background-color:#ffb13c0f}.answer-option--correct{border-color:var(--color-success);background-color:#0766530f}.answer-option--incorrect{border-color:var(--color-danger);background-color:#c0392b0f}.answer-option--disabled{pointer-events:none;opacity:.6}.answer-option__marker{border-radius:var(--radius-full);border:2px solid var(--color-progress-bg);width:28px;min-width:28px;height:28px;font-size:var(--text-xs);color:var(--color-text-muted);transition:all var(--transition-default);justify-content:center;align-items:center;font-weight:700;display:flex}.answer-option--selected .answer-option__marker{border-color:var(--color-accent);background-color:var(--color-accent);color:#fff}.answer-option__text{font-size:var(--text-base);line-height:var(--leading-normal)}.text-challenge__prompt{font-size:var(--text-base);color:var(--color-text);background-color:var(--color-card);padding:var(--space-4);border-radius:var(--radius-md);border-left:3px solid var(--color-accent);margin-bottom:var(--space-4);font-style:italic;line-height:var(--leading-relaxed)}.text-challenge__textarea{width:100%;min-height:160px;padding:var(--space-4);border:2px solid var(--color-progress-bg);border-radius:var(--radius-md);background-color:var(--color-card);resize:vertical;font-size:var(--text-base);line-height:var(--leading-relaxed);transition:border-color var(--transition-default)}.text-challenge__textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #ffb13c26}.text-challenge__counter{text-align:right;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.photo-challenge__capture{aspect-ratio:4/3;border:2px dashed var(--color-progress-bg);border-radius:var(--radius-md);background-color:var(--color-card);justify-content:center;align-items:center;gap:var(--space-3);cursor:pointer;width:100%;transition:all var(--transition-default);flex-direction:column;display:flex}.photo-challenge__capture:hover{border-color:var(--color-accent);background-color:#ffb13c08}.photo-challenge__capture-icon{font-size:var(--text-3xl);color:var(--color-text-muted)}.photo-challenge__capture-text{font-size:var(--text-sm);color:var(--color-text-muted)}.photo-challenge__preview{aspect-ratio:4/3;border-radius:var(--radius-md);object-fit:cover;width:100%}.challenge-footer{padding:var(--space-4) 0 var(--space-8);margin-top:auto}.answer-option--correct .answer-option__marker{border-color:var(--color-success);background-color:var(--color-success);color:#fff}.answer-option--incorrect .answer-option__marker{border-color:var(--color-danger);background-color:var(--color-danger);color:#fff}.answer-option--disabled{pointer-events:none}.answer-option--disabled:not(.answer-option--correct):not(.answer-option--incorrect){opacity:.5}.challenge-page--animate .challenge-header{animation:.4s ease-out challenge-slide-down}.challenge-page--animate .challenge-content{animation:.5s ease-out .15s both challenge-fade-up}@keyframes challenge-slide-down{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes challenge-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}[dir=rtl] .text-challenge__prompt{border-left:none;border-right:3px solid var(--color-accent)}[dir=rtl] .text-challenge__counter{text-align:left}.challenge-loading{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-8);text-align:center;flex-direction:column;flex:1;display:flex}.challenge-loading__spinner{border:4px solid var(--color-progress-bg);border-top-color:var(--color-accent);border-radius:var(--radius-full);width:48px;height:48px;animation:.8s linear infinite challenge-spin}@keyframes challenge-spin{to{transform:rotate(360deg)}}.challenge-loading__text{font-size:var(--text-base);color:var(--color-text-muted);animation:2s ease-in-out infinite challenge-pulse-text}@keyframes challenge-pulse-text{0%,to{opacity:.7}50%{opacity:1}}.challenge-error{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-6);text-align:center;flex-direction:column;flex:1;display:flex}.challenge-error__icon{font-size:var(--text-3xl)}.challenge-error__message{font-size:var(--text-base);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:280px}.challenge-error__actions{gap:var(--space-3);width:100%;max-width:280px;margin-top:var(--space-4);flex-direction:column;display:flex}.result-page{min-height:100dvh;max-width:var(--max-width);background-color:var(--color-surface);margin:0 auto}.result-hero{background-color:var(--color-primary);padding:var(--space-10) var(--space-6) var(--space-8);text-align:center;color:var(--color-text-on-dark);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.result-hero__icon{width:64px;height:64px;margin:0 auto var(--space-4);border-radius:var(--radius-full);font-size:var(--text-2xl);background-color:#ffb13c26;justify-content:center;align-items:center;display:flex}.result-hero__headline{font-size:var(--text-xl);margin-bottom:var(--space-2);font-weight:700}.result-hero__sub{font-size:var(--text-sm);opacity:.8}.result-scores{gap:var(--space-4);padding:var(--space-6);margin-top:calc(-1 * var(--space-6));grid-template-columns:1fr 1fr;display:grid}.score-card{background-color:var(--color-card);border-radius:var(--radius-md);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-md)}.score-card__value{font-size:var(--text-2xl);color:var(--color-accent);margin-bottom:var(--space-1);font-weight:700}.score-card__label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.discount-banner{margin:0 var(--space-6) var(--space-6);padding:var(--space-5);background:var(--gradient-4);border-radius:var(--radius-md);color:var(--color-text-on-dark)}.discount-banner__earned{font-size:var(--text-lg);color:var(--color-text-gold);margin-bottom:var(--space-1);font-weight:700}.discount-banner__total{font-size:var(--text-sm);opacity:.85}.ai-feedback{margin:0 var(--space-6) var(--space-6);padding:var(--space-5);background-color:var(--color-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ai-feedback__title{font-size:var(--text-sm);color:var(--color-primary);margin-bottom:var(--space-3);font-weight:700}.ai-feedback__text{font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-relaxed)}.result-actions{padding:var(--space-4) var(--space-6) var(--space-8);gap:var(--space-3);flex-direction:column;display:flex}.result-hero--animate .result-hero__icon{animation:.6s ease-out result-bounce}.result-hero--animate .result-hero__headline{animation:.5s ease-out .2s both result-fade-up}.result-scores--hidden,.discount-banner--hidden,.ai-feedback--hidden,.result-actions--hidden{opacity:0;transform:translateY(16px)}.result-scores--visible,.discount-banner--visible,.ai-feedback--visible,.result-actions--visible{opacity:1;transition:opacity .5s ease-out,transform .5s ease-out;transform:translateY(0)}@keyframes result-bounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes result-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.discount-page{min-height:100dvh;max-width:var(--max-width);background-color:var(--color-surface);padding:var(--space-6);padding-top:calc(var(--header-height) + var(--space-4));margin:0 auto}.discount-total{text-align:center;margin-bottom:var(--space-6)}.discount-total__label{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.discount-total__value{font-size:var(--text-3xl);color:var(--color-success);font-weight:700}.discount-total__max{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.voucher-code{background:var(--gradient-4);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;color:var(--color-text-on-dark);margin-bottom:var(--space-6);position:relative}.voucher-code__instruction{font-size:var(--text-sm);opacity:.85;margin-bottom:var(--space-4)}.voucher-code__code{font-family:var(--font-mono);font-size:var(--text-2xl);color:var(--color-text-gold);letter-spacing:.1em;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3);-webkit-user-select:all;user-select:all;background-color:#0003;font-weight:700;display:inline-block}.voucher-code__copy{font-size:var(--text-sm);color:var(--color-text-gold);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-default);background-color:#ffb13c26;border:1px solid #ffb13c4d}.voucher-code__copy:hover{background-color:#ffb13c40}.breakdown{background-color:var(--color-card);border-radius:var(--radius-md);padding:var(--space-5);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.breakdown__title{font-size:var(--text-sm);color:var(--color-primary);margin-bottom:var(--space-4);font-weight:700}.breakdown__item{padding:var(--space-3) 0;border-bottom:1px solid #361f150f;justify-content:space-between;align-items:center;display:flex}.breakdown__item:last-child{border-bottom:none}.breakdown__item-name{font-size:var(--text-sm);color:var(--color-text)}.breakdown__item-value{font-size:var(--text-sm);color:var(--color-success);font-weight:700}.encouragement{border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);text-align:center;margin-bottom:var(--space-6);background-color:#ffb13c14;border:1px solid #ffb13c33}.encouragement__text{font-size:var(--text-sm);color:var(--color-text);line-height:var(--leading-relaxed)}.discount-actions{gap:var(--space-3);margin-top:var(--space-6);flex-direction:column;display:flex}.breakdown__item--total{margin-top:var(--space-2);padding-top:var(--space-4);border-top:2px solid #361f151f;border-bottom:none}.discount-page--animate .discount-total{animation:.5s ease-out discount-fade-up}.discount-page--animate .voucher-code{animation:.5s ease-out .15s both discount-fade-up}.discount-page--animate .breakdown{animation:.5s ease-out .3s both discount-fade-up}.discount-page--animate .encouragement{animation:.5s ease-out .45s both discount-fade-up}@keyframes discount-fade-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.language-switcher{top:var(--space-3);right:var(--space-4);z-index:100;border-radius:var(--radius-xl);background-color:#361f150f;gap:2px;padding:2px;display:flex;position:fixed}[dir=rtl] .language-switcher{right:auto;left:var(--space-4)}.language-switcher__btn{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xl);font-size:var(--text-xs);color:var(--color-text-muted);transition:all var(--transition-fast);cursor:pointer;background:0 0;border:none;font-weight:700;line-height:1;display:flex}.language-switcher__btn:hover{color:var(--color-text)}.language-switcher__btn--active{background-color:var(--color-card);color:var(--color-primary);box-shadow:var(--shadow-sm)}.language-switcher__flag{font-size:14px;line-height:1}.language-switcher__label{letter-spacing:.05em;font-size:10px}.sticky-header{z-index:1000;-webkit-backdrop-filter:blur(16px);background:#06231deb;border-bottom:1px solid #d4af371f;justify-content:space-between;align-items:center;height:60px;padding:0 24px;transition:background .3s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 20px #0000004d}.sticky-header__logo-btn{cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:4px;transition:opacity .2s;display:flex}.sticky-header__logo-btn:hover{opacity:.85}.sticky-header__logo-img{object-fit:contain;width:auto;height:40px}.sticky-header__nav{align-items:center;gap:4px;display:flex}.sticky-header__nav-item{border-radius:var(--radius-full);color:var(--color-text-muted);font-family:var(--font-body);letter-spacing:.3px;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .25s}.sticky-header__nav-item:hover{color:var(--color-text);background:#d4af3714}.sticky-header__nav-item--active{color:var(--color-primary);background:#d4af371f;font-weight:600}.sticky-header__actions{flex-shrink:0;align-items:center;display:flex}.sticky-header-spacer{flex-shrink:0;height:60px}@media (width<=640px){.sticky-header{height:56px;padding:0 12px}.sticky-header__logo-img{height:32px}.sticky-header__nav{gap:0}.sticky-header__nav-item{padding:6px 10px;font-size:.75rem}.sticky-header-spacer{height:56px}}@media (width<=420px){.sticky-header__nav-item{padding:6px 8px;font-size:.7rem}.sticky-header__logo-img{height:28px}.sticky-header__actions{display:none}}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-primary);border-radius:var(--radius-lg);transition:all var(--transition-default);white-space:nowrap;cursor:pointer;font-weight:700;line-height:1;display:inline-flex}.btn--small{font-size:var(--text-sm);padding:var(--space-2) var(--space-4);min-height:36px}.btn--default{font-size:var(--text-base);padding:var(--space-3) var(--space-6);min-height:48px}.btn--large{font-size:var(--text-lg);padding:var(--space-4) var(--space-8);min-height:56px}.btn--primary{background:var(--gradient-gold);color:#0a0a0a;box-shadow:0 4px 12px #d4af374d}.btn--primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 20px #d4af3773}.btn--primary:active{box-shadow:var(--shadow-gold);transform:translateY(0)}.btn--secondary{color:var(--color-primary);border:2px solid var(--color-primary);background-color:#0000}.btn--secondary:hover{background-color:var(--color-primary);color:#0a0a0a}.btn--ghost{color:var(--color-text-muted);background-color:#0000}.btn--ghost:hover{color:var(--color-text);background-color:#361f150a}.btn--full{width:100%}.btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--loading{cursor:wait}.btn__spinner{gap:4px;display:flex}.btn__spinner-dot{border-radius:var(--radius-full);background-color:currentColor;width:6px;height:6px;animation:1.4s ease-in-out infinite both btn-bounce}.btn__spinner-dot:first-child{animation-delay:-.32s}.btn__spinner-dot:nth-child(2){animation-delay:-.16s}@keyframes btn-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}[dir=rtl] .btn{font-family:var(--font-arabic)}.membership-page{background:var(--color-surface);min-height:100dvh;color:var(--color-text)}.membership-nav{border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#06231df2;justify-content:space-between;align-items:center;padding:20px 48px;display:flex;position:sticky;top:0}.membership-nav__brand{align-items:center;gap:12px;display:flex}.membership-nav__logo{font-family:var(--font-heading);background:var(--gradient-gold);-webkit-text-fill-color:transparent;letter-spacing:2px;-webkit-background-clip:text;font-size:1.5rem;font-weight:900}.membership-nav__divider{background:var(--color-border);width:1px;height:24px}.membership-nav__subtitle{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:2px;font-size:.75rem}.membership-nav__actions{align-items:center;gap:16px;display:flex}.membership-nav__user{text-align:right}.membership-nav__user-name{color:#fff;font-size:.9rem;font-weight:600}.membership-nav__user-tier{color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;font-size:.7rem}.membership-hero{text-align:center;padding:80px 48px;position:relative;overflow:hidden}.membership-hero:before{content:"";pointer-events:none;background:radial-gradient(at top,#d4af3714 0%,#0000 60%);position:absolute;inset:0}.membership-hero__title{font-family:var(--font-heading);background:var(--gradient-gold);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:12px;font-size:2.5rem;font-weight:900}.membership-hero__subtitle{color:var(--color-text-muted);max-width:500px;margin:0 auto;font-size:1rem;line-height:1.6}.membership-content{max-width:1100px;margin:0 auto;padding:48px}.membership-split{grid-template-columns:1fr 1fr;min-height:calc(100dvh - 73px);display:grid}.membership-split__visual{background:linear-gradient(135deg, var(--color-surface) 0%, var(--color-card) 100%);flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex;position:relative;overflow:hidden}.membership-split__visual:after{content:"";opacity:.35;mix-blend-mode:screen;pointer-events:none;background-image:url(/assets/pattern-Dlu17kve.png);background-position:50%;background-size:cover;position:absolute;inset:0}.membership-split__form{background:var(--color-card);flex-direction:column;justify-content:center;align-items:center;padding:60px;display:flex}.membership-form{width:100%;max-width:400px}.membership-form__title{font-family:var(--font-heading);color:#fff;margin-bottom:8px;font-size:1.8rem;font-weight:700}.membership-form__subtitle{color:var(--color-text-muted);margin-bottom:32px;font-size:.9rem}.membership-form__field{margin-bottom:20px}.membership-form__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:.8rem;display:block}.membership-form__input{border:1px solid var(--color-border);background:var(--color-surface);color:#fff;border-radius:10px;width:100%;padding:14px 16px;font-size:.95rem;transition:border-color .3s,box-shadow .3s}.membership-form__input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #d4af3726}.membership-form__error{color:var(--color-danger);background:#f4433614;border:1px solid #f4433633;border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:.85rem}.membership-form__link{color:var(--color-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;text-decoration:underline}.membership-form__link:hover{color:var(--color-primary-light)}.membership-visual__icon{margin-bottom:24px;font-size:4rem}.membership-visual__heading{font-family:var(--font-heading);background:var(--gradient-gold);-webkit-text-fill-color:transparent;z-index:1;-webkit-background-clip:text;margin-bottom:12px;font-size:2rem;font-weight:900;position:relative}.membership-visual__text{color:var(--color-text-muted);text-align:center;z-index:1;max-width:320px;font-size:.95rem;line-height:1.7;position:relative}.membership-visual__features{z-index:1;flex-direction:column;gap:16px;margin-top:40px;display:flex;position:relative}.membership-visual__feature{color:var(--color-text-muted);align-items:center;gap:12px;font-size:.9rem;display:flex}.membership-visual__feature-icon{background:#d4af371a;border:1px solid #d4af3733;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;display:flex}.membership-card-desktop{background:linear-gradient(135deg, var(--color-card) 0%, var(--color-surface) 100%);border:1px solid var(--color-border);border-radius:20px;padding:32px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0006}.membership-card-desktop:before{content:"";background:radial-gradient(circle,#d4af371f 0%,#0000 70%);border-radius:50%;width:200px;height:200px;position:absolute;top:-80px;right:-80px}.history-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;display:grid}.history-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;padding:24px;transition:transform .3s,border-color .3s}.history-card:hover{border-color:var(--color-primary);transform:translateY(-4px)}.membership-stats{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;display:grid}.membership-stat{background:var(--color-card);border:1px solid var(--color-border);text-align:center;border-radius:16px;padding:24px}.membership-stat__value{color:var(--color-primary);font-size:2rem;font-weight:700;font-family:var(--font-heading)}.membership-stat__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:.8rem}.voucher-badge{background:#d4af370d;border:1px dashed #d4af374d;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;display:inline-flex}.voucher-badge--approved{border-color:var(--color-success);background:#4caf500d}.voucher-badge--pending{border-color:var(--color-warning);background:#ff98000d}.voucher-badge--rejected{border-color:var(--color-danger);background:#f443360d}.membership-tabs{border-bottom:1px solid var(--color-border);gap:4px;margin-bottom:40px;display:flex}.membership-tabs__tab{color:var(--color-text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 24px;font-size:.85rem;font-weight:600;transition:color .3s,border-color .3s}.membership-tabs__tab:hover{color:var(--color-text)}.membership-tabs__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.membership-profile-section{justify-content:center;padding-top:8px;display:flex}.membership-form__success{color:var(--color-success);background:#4caf5014;border:1px solid #4caf5033;border-radius:10px;margin-bottom:16px;padding:12px 16px;font-size:.85rem}@media (width<=768px){.membership-nav{padding:16px 20px}.membership-nav__divider,.membership-nav__subtitle{display:none}.membership-split{grid-template-columns:1fr}.membership-split__visual{display:none}.membership-split__form{padding:32px 20px}.membership-content{padding:24px 20px}.membership-hero{padding:40px 20px}.membership-hero__title{font-size:1.8rem}.membership-stats,.history-grid{grid-template-columns:1fr}.membership-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.membership-tabs__tab{white-space:nowrap;padding:10px 16px;font-size:.75rem}}
