.navbar{background:#0a1929e6;box-shadow:0 4px 30px #0000004d;padding:.9rem 0;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.1);transform:translateZ(0);-webkit-transform:translateZ(0);will-change:auto}.navbar-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.navbar-brand{font-size:2.05rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.02em;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#a78bfa,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 6px rgba(96,165,250,.25));position:relative}.navbar-logo{width:56px;height:56px;border-radius:10px;object-fit:cover;object-position:center;flex:0 0 auto;filter:drop-shadow(0 2px 10px rgba(0,0,0,.35))}.navbar-brand-text{line-height:1;font-size:1em;font-weight:700;letter-spacing:-.02em}.navbar-brand:before{content:"Vyro";position:absolute;top:0;left:0;background:linear-gradient(135deg,#a78bfa,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:blur(10px);opacity:.25;z-index:-1}.navbar-brand:hover{transform:scale(1.05);background:linear-gradient(135deg,#c084fc,#3b82f6,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 12px rgba(167,139,250,.8)) drop-shadow(0 0 20px rgba(96,165,250,.6)) drop-shadow(0 2px 10px rgba(255,255,255,.3))}.navbar-links{display:flex;gap:1.5rem;align-items:center}.navbar-links a{color:#ffffffe6;text-decoration:none;font-weight:500;transition:all .3s ease;padding:.5rem .75rem;border-radius:8px;position:relative}.navbar-links a:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(135deg,#fff,#e0f2fe);transition:all .3s ease;transform:translate(-50%);box-shadow:0 2px 8px #ffffff4d}.navbar-links a:hover{color:#fff;background:#ffffff1a;text-shadow:0 0 10px rgba(255,255,255,.3)}.navbar-links a:hover:after{width:80%}.user-info{color:#ffffffd9;font-size:.9rem;padding:.5rem .75rem;background:#ffffff14;border-radius:8px;border:1px solid rgba(255,255,255,.1);text-decoration:none;display:inline-block}.user-info:hover{color:#fffffff2;background:#ffffff1f}.logout-btn,.register-btn{background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.3);padding:.55rem 1.1rem;border-radius:10px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 14px #0000002e,inset 0 1px #ffffff1f;letter-spacing:.01em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logout-btn:hover,.register-btn:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 8px 25px #0000004d,inset 0 1px #ffffff4d;text-shadow:0 0 10px rgba(255,255,255,.5)}.logout-btn:active,.register-btn:active{transform:translateY(0);box-shadow:0 2px 10px #0003}@media (max-width: 768px){.navbar-container{flex-direction:row;gap:.75rem;padding:0 1rem}.navbar-links{gap:.75rem;flex-wrap:nowrap;justify-content:flex-end}.navbar-brand{font-size:1.45rem}.navbar-brand:before{display:none}.navbar-logo{width:42px;height:42px;border-radius:9px}.navbar-links a{padding:.4rem .6rem;font-size:.95rem}.register-btn{padding:.45rem .85rem;border-radius:9px}}.landing{min-height:100vh;width:100%;color:#fff;background:#0a1929;position:relative;overflow-x:hidden;animation:fadeInLanding 1s ease-out;margin:0;padding:0;left:0;right:0;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;contain:layout style paint}.landing:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:url(/images/vyro.png);background-size:cover;background-position:center center;background-repeat:no-repeat;opacity:.45;z-index:0;transform:translateZ(0);-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;will-change:auto;pointer-events:none}@keyframes fadeInLanding{0%{opacity:0}to{opacity:1}}.animated-background{display:none}.shape{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;display:none}.shape-1{width:400px;height:400px;background:radial-gradient(circle,rgba(50,130,184,.6) 0%,transparent 70%);top:10%;left:10%;animation-delay:0s;animation-duration:25s}.shape-2{width:500px;height:500px;background:radial-gradient(circle,rgba(187,225,250,.5) 0%,transparent 70%);top:60%;right:10%;animation-delay:-5s;animation-duration:30s}.shape-3{width:350px;height:350px;background:radial-gradient(circle,rgba(44,82,130,.5) 0%,transparent 70%);bottom:20%;left:50%;animation-delay:-10s;animation-duration:35s}.shape-4{width:300px;height:300px;background:radial-gradient(circle,rgba(26,54,93,.6) 0%,transparent 70%);top:30%;right:30%;animation-delay:-15s;animation-duration:28s}.shape-5{width:450px;height:450px;background:radial-gradient(circle,rgba(224,242,254,.4) 0%,transparent 70%);bottom:10%;right:20%;animation-delay:-8s;animation-duration:32s}.shape-6{width:380px;height:380px;background:radial-gradient(circle,rgba(10,25,41,.7) 0%,transparent 70%);top:50%;left:20%;animation-delay:-12s;animation-duration:27s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(50px,-50px) scale(1.1)}50%{transform:translate(-30px,30px) scale(.9)}75%{transform:translate(30px,50px) scale(1.05)}}.landing:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0a19298c,#0a192973 45%,#0a1929b8);pointer-events:none;z-index:1;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.landing>*{position:relative;z-index:2}.landing-hero{text-align:center;padding:6.5rem 1.25rem 3rem;max-width:900px;margin:0 auto;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1);text-shadow:0 2px 18px rgba(0,0,0,.45);width:100%;box-sizing:border-box;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-hero h1{font-size:3.5rem;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.55);font-weight:700;letter-spacing:-.02em;color:#fff;line-height:1.1}.hero-subtitle{font-size:1.5rem;margin-bottom:1.25rem;opacity:.98;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.4);letter-spacing:-.01em;color:#fff}.hero-description{font-size:1.1rem;line-height:1.75;opacity:.95;max-width:700px;margin:0 auto 2rem;text-shadow:0 1px 5px rgba(0,0,0,.4);color:#fff}.waitlist-section{padding:3rem 2rem;display:flex;justify-content:center;width:100%;box-sizing:border-box}.waitlist-card{background:#fffffffa;color:#333;padding:3rem;border-radius:24px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;max-width:650px;width:100%;text-align:center;animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) .2s both;border:1px solid rgba(255,255,255,.2);transform:translateZ(0);-webkit-transform:translateZ(0)}.waitlist-card h2{color:#0a1929;margin-bottom:.75rem;font-size:2.25rem;font-weight:700;letter-spacing:-.02em}.waitlist-card>p{color:#666;margin-bottom:2rem;font-size:1.1rem}.waitlist-form{width:100%}.form-row{display:flex;flex-direction:column;gap:1rem}.waitlist-input{width:100%;padding:1.125rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;color:#1f2937;font-family:inherit}.waitlist-input::placeholder{color:#9ca3af}.waitlist-input:focus{outline:none;border-color:#3282b8;box-shadow:0 0 0 4px #3282b81a;transform:translateY(-1px)}.waitlist-button{width:100%;padding:1.125rem;background:linear-gradient(135deg,#0a1929,#1a365d,#2c5282);color:#fff;border:none;border-radius:12px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #0a192966;letter-spacing:.01em;position:relative;overflow:hidden}.waitlist-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.waitlist-button:hover:not(:disabled):before{left:100%}.waitlist-button:hover:not(:disabled){background:linear-gradient(135deg,#1a365d,#2c5282,#0a1929);transform:translateY(-3px);box-shadow:0 12px 32px #0a192980}.waitlist-button:active:not(:disabled){transform:translateY(-1px)}.waitlist-button:disabled{opacity:.6;cursor:not-allowed}.waitlist-message{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.waitlist-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.waitlist-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.features-section{padding:4rem 1.25rem 5rem;max-width:1200px;margin:0 auto;text-align:center;animation:fadeInUp .8s ease-out .4s both;width:100%;box-sizing:border-box}.features-section h2{font-size:2.5rem;margin-bottom:2.5rem;text-shadow:0 2px 10px rgba(0,0,0,.55);font-weight:700;letter-spacing:-.02em;color:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.feature-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.feature-item{background:#ffffff1a;padding:2.25rem 1.5rem;border-radius:18px;transition:transform .2s ease,box-shadow .2s ease;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 28px #0000002e,inset 0 1px #ffffff14;transform:translateZ(0);-webkit-transform:translateZ(0)}.feature-item:hover{transform:translateY(-5px) translateZ(0);background:#ffffff2e;box-shadow:0 12px 40px #0000004d;border-color:#ffffff4d}.feature-icon{font-size:3rem;margin-bottom:1rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transition:transform .3s ease}.feature-item:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.feature-item h3{font-size:1.75rem;margin-bottom:1rem;font-weight:600;letter-spacing:-.01em}.feature-item p{line-height:1.8;opacity:.95;font-size:1.05rem}@media (max-width: 768px){.landing-hero{padding-top:4.75rem}.landing-hero h1{font-size:2.4rem}.hero-subtitle{font-size:1.15rem}.hero-description{font-size:1rem}.waitlist-card{padding:2rem 1.5rem}.features-section h2{font-size:1.9rem}.form-row{gap:.75rem}}.home{text-align:center;animation:fadeIn .5s ease-out}.hero{padding:4rem 2rem;color:#fff}.hero h1{font-size:3rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.95}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:.75rem 2rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block}.btn-primary{background:#fff;color:#667eea}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{background:transparent;color:#fff;border:2px solid white}.btn-secondary:hover{background:#fff;color:#667eea;transform:translateY(-2px)}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:4rem;padding:2rem}.feature-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);will-change:transform}.feature-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 24px #00000026}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:#667eea;margin-bottom:.5rem}.feature-card p{color:#666;line-height:1.6}@media (max-width: 768px){.hero h1{font-size:2rem}.subtitle{font-size:1rem}}.auth-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:2rem}.auth-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 8px 24px #00000026;width:100%;max-width:400px}.auth-card h2{color:#667eea;margin-bottom:.5rem;text-align:center}.auth-subtitle{text-align:center;color:#666;margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:500}.form-group input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#667eea}.auth-forgot{margin-top:.5rem;font-size:.875rem}.auth-forgot a{color:#667eea;text-decoration:none}.auth-forgot a:hover{text-decoration:underline}.submit-btn{width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s}.submit-btn:hover:not(:disabled){background:#5568d3}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:6px;margin-bottom:1rem;text-align:center}.success-message{background:#efe;color:#363;padding:.75rem;border-radius:6px;margin-bottom:1rem;text-align:center}.auth-footer{text-align:center;margin-top:1.5rem;color:#666}.auth-footer a{color:#667eea;text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.dashboard{color:#fff;padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-out}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.dashboard-header h1{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#fff,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.points-display{background:linear-gradient(135deg,#a78bfa33,#60a5fa33);padding:1.25rem 2.5rem;border-radius:16px;display:flex;align-items:center;gap:.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.points-value{font-size:1.75rem;font-weight:700;color:#34d399;text-shadow:0 0 20px rgba(52,211,153,.5)}.dashboard-content{display:grid;gap:2.5rem}.active-item h2,.no-active h2{margin-bottom:1rem;font-size:1.5rem}.card{background:linear-gradient(135deg,#fffffff2,#fffffffa);color:#1a1a2e;padding:2.5rem;border-radius:20px;box-shadow:0 10px 40px #0003,0 0 0 1px #ffffff1a;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#a78bfa,#60a5fa,#34d399)}.card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 60px #0000004d,0 0 0 1px #fff3}.card h3{color:#667eea;margin-bottom:1rem;font-size:1.75rem;font-weight:700}.card p{margin-bottom:1rem;line-height:1.8;color:#4a5568;font-size:1.05rem}.challenge-details{margin:1.5rem 0;padding:1.5rem;background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;border-left:4px solid #667eea}.reward{color:#667eea;font-weight:600}.log-progress-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.08)}.log-progress-title{font-size:1rem;color:#4a5568;margin:0 0 1rem;font-weight:600}.log-progress-message{padding:.5rem .75rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.log-progress-message.success{background:#d1fae5;color:#065f46}.log-progress-message.error{background:#fee2e2;color:#991b1b}.log-progress-form{display:flex;flex-direction:column;gap:.75rem}.log-progress-form .form-row{display:flex;flex-direction:column;gap:.25rem}.log-progress-form .form-row label{font-size:.875rem;font-weight:500;color:#4a5568}.log-progress-form .form-row input{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.9375rem}.log-progress-form .btn-primary{margin-top:.5rem;align-self:flex-start}.no-active{text-align:center;padding:4rem 2rem;background:#ffffff0d;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.no-active h2{font-size:2rem;margin-bottom:1rem;background:linear-gradient(135deg,#fff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.no-active p{font-size:1.1rem;opacity:.9;margin-bottom:2rem}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-block}.btn-primary{background:linear-gradient(135deg,#a78bfa,#60a5fa);color:#fff;box-shadow:0 4px 15px #a78bfa66}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px #a78bfa99}.btn-secondary{background:#fff;color:#667eea;border:2px solid #667eea}.btn-secondary:hover{background:#667eea;color:#fff}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-card{background:linear-gradient(135deg,#a78bfa26,#60a5fa26);padding:2rem;border-radius:16px;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a}.stat-card:hover{transform:translateY(-8px) scale(1.05);background:linear-gradient(135deg,#a78bfa40,#60a5fa40);box-shadow:0 12px 40px #0003}.stat-card h3{font-size:1.1rem;margin-bottom:1rem;opacity:.9;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.dashboard-header{flex-direction:column;align-items:flex-start}.dashboard-header h1{font-size:2rem}}.profile-page{color:#e2e8f0;padding:2rem 1.5rem;max-width:640px;margin:0 auto;min-height:60vh;transition:none}.profile-page *{transition:none}.profile-loading{color:#94a3b8;padding:3rem;text-align:center;font-size:.9375rem}.profile-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.profile-header h1{font-size:1.375rem;font-weight:600;color:#f8fafc;margin:0 0 .25rem;letter-spacing:-.01em;text-rendering:optimizeLegibility}.profile-name{display:block;font-size:.875rem;color:#94a3b8;font-weight:400;margin:0}.profile-card{background:#1e293b;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #00000026}.profile-card-inner{display:flex;align-items:stretch;gap:0}@media (max-width: 560px){.profile-card-inner{flex-direction:column}}.profile-card h2{margin:0 0 1rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b;text-rendering:optimizeLegibility}.profile-emblem{flex:0 0 auto;padding:1.5rem;min-width:0;display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(255,255,255,.06)}@media (max-width: 560px){.profile-emblem{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}}.profile-stats-section{flex:1;padding:1.5rem;min-width:0}.emblem-wrapper{width:200px;height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;padding:16px;background:#0f172a80;border:1px solid rgba(255,255,255,.1);border-radius:20px;box-shadow:0 8px 32px #00000040}.emblem-img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;image-rendering:auto;filter:saturate(.92) brightness(1.06) contrast(1.02)}.emblem-placeholder{width:100%;height:100%;background:#ffffff08;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;font-weight:500;font-size:.8125rem;color:#94a3b8}.emblem-placeholder-icon{font-size:1.5rem;opacity:.7}.emblem-name{margin:0;font-size:1rem;font-weight:500;color:#f8fafc;text-rendering:optimizeLegibility}.profile-stats{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:0}.stat-row{display:flex;justify-content:space-between;align-items:baseline;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.875rem}.stat-row:last-child{border-bottom:none}.stat-label,.stat-value{margin:0;text-rendering:optimizeLegibility;text-shadow:none}.stat-label{color:#94a3b8;font-weight:400}.stat-value{font-weight:600;color:#f8fafc;font-variant-numeric:tabular-nums;letter-spacing:.02em}.profile-levels-section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.06)}.profile-levels-section h2{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#64748b;margin:0 0 .25rem}.profile-levels-intro{font-size:.8125rem;color:#94a3b8;margin:0 0 1rem}.emblem-tiers-grid{display:flex;flex-wrap:nowrap;gap:0;overflow-x:auto;padding-bottom:.5rem;margin:0 -.5rem;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.emblem-tiers-grid::-webkit-scrollbar{height:6px}.emblem-tiers-grid::-webkit-scrollbar-track{background:#ffffff0a;border-radius:3px}.emblem-tiers-grid::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.emblem-tier-card{flex:0 0 auto;width:120px;background:#1e293b;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:.875rem .75rem;display:flex;flex-direction:column;align-items:center;text-align:center;margin-right:.5rem}.emblem-tier-card:last-child{margin-right:0}.emblem-tier-card.emblem-tier-current{border-color:#6366f180;box-shadow:0 0 0 1px #6366f140}.emblem-tier-card.emblem-tier-locked .emblem-tier-img{filter:saturate(.35) brightness(.55);opacity:.75}.emblem-tier-img-wrap{width:56px;height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.emblem-tier-img{max-width:100%;max-height:100%;object-fit:contain}.emblem-tier-info{display:flex;flex-direction:column;gap:.1rem}.emblem-tier-name{font-size:.6875rem;font-weight:600;color:#f8fafc;letter-spacing:.01em;line-height:1.2}.emblem-tier-level{font-size:.6875rem;color:#94a3b8;font-variant-numeric:tabular-nums}.emblem-tier-xp{font-size:.6875rem;font-variant-numeric:tabular-nums;color:#64748b}.challenges-page{color:#fff;padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-out}.challenges-page h1{font-size:3rem;margin-bottom:.75rem;font-weight:700;background:linear-gradient(135deg,#fff,#a78bfa,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{font-size:1.25rem;margin-bottom:3rem;opacity:.9;font-weight:400}.challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.challenge-card{background:linear-gradient(135deg,#fffffff2,#fffffffa);color:#1a1a2e;padding:2rem;border-radius:20px;box-shadow:0 10px 40px #0003,0 0 0 1px #ffffff1a;display:flex;flex-direction:column;transition:all .4s cubic-bezier(.4,0,.2,1);will-change:transform;position:relative;overflow:hidden}.challenge-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#a78bfa,#60a5fa,#34d399)}.challenge-card:hover{transform:translateY(-12px) scale(1.03);box-shadow:0 20px 60px #0000004d,0 0 0 1px #fff3}.challenge-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.challenge-header h3{color:#667eea;flex:1;font-size:1.5rem;font-weight:700;margin:0}.difficulty-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.difficulty-badge.easy{background:#c8e6c9;color:#2e7d32}.difficulty-badge.medium{background:#fff9c4;color:#f57f17}.difficulty-badge.hard{background:#ffcdd2;color:#c62828}.challenge-description{margin-bottom:1.5rem;line-height:1.8;color:#4a5568;font-size:1.05rem}.challenge-targets{background:linear-gradient(135deg,#f7fafc,#edf2f7);padding:1.5rem;border-radius:12px;margin-bottom:1.5rem;border-left:4px solid #667eea}.target-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.target-item:last-child{margin-bottom:0}.target-label{color:#666;font-weight:500}.target-value{color:#333;font-weight:600}.reward-section{background:linear-gradient(135deg,#e3f2fd,#bbdefb);padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;display:flex;gap:.75rem;align-items:center;border-left:4px solid #1976d2}.reward-label{font-weight:600;color:#1976d2}.reward-value{color:#1976d2}.join-btn{width:100%;padding:1rem;background:linear-gradient(135deg,#a78bfa,#60a5fa);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);margin-top:auto;box-shadow:0 4px 15px #a78bfa66;letter-spacing:.5px}.join-btn:hover{background:linear-gradient(135deg,#c084fc,#3b82f6);transform:translateY(-3px);box-shadow:0 8px 25px #a78bfa99}.join-btn:active{transform:translateY(-1px)}.join-btn:active{transform:translateY(0)}.no-challenges{text-align:center;color:#fffc;font-size:1.3rem;padding:4rem 2rem;background:#ffffff0d;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);grid-column:1 / -1}@media (max-width: 768px){.challenges-grid{grid-template-columns:1fr}}.progression-page{color:#fff}.progression-page h1{font-size:2.5rem;margin-bottom:.5rem}.page-subtitle{font-size:1.1rem;margin-bottom:2rem;opacity:.9}.message{padding:1rem;border-radius:6px;margin-bottom:1.5rem;text-align:center}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.plan-card{background:#fff;color:#333;padding:1.5rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.plan-card:hover{transform:translateY(-5px);box-shadow:0 8px 16px #0003}.plan-card h3{color:#667eea;margin-bottom:.5rem}.plan-description{margin-bottom:1rem;line-height:1.6;color:#666}.plan-info{background:#f5f5f5;padding:1rem;border-radius:6px;margin-bottom:1rem}.info-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.info-item:last-child{margin-bottom:0}.info-label{color:#666;font-weight:500}.info-value{color:#333;font-weight:600}.milestones-preview{margin-bottom:1rem}.milestones-preview h4{color:#667eea;margin-bottom:.5rem;font-size:1rem}.milestones-list{background:#e3f2fd;padding:.75rem;border-radius:6px}.milestone-item{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem;color:#1976d2}.milestone-item:last-child{margin-bottom:0}.more-milestones{margin-top:.5rem;font-size:.85rem;color:#666;font-style:italic}.join-btn{width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .3s;margin-top:auto}.join-btn:hover{background:#5568d3}.no-plans{text-align:center;color:#fff;font-size:1.2rem;padding:2rem}.loading{text-align:center;color:#fff;font-size:1.5rem;padding:2rem}@media (max-width: 768px){.plans-grid{grid-template-columns:1fr}}.shop-page{color:#fff;padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-out}.shop-header{text-align:center;margin-bottom:3rem}.shop-header h1{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,#a78bfa,#60a5fa,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shop-subtitle{font-size:1.2rem;opacity:.9;margin-bottom:1.5rem}.points-display{display:inline-flex;align-items:center;gap:.5rem;background:#ffffff26;padding:1rem 2rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.points-label{font-size:1rem;opacity:.9}.points-value{font-size:1.5rem;font-weight:700;color:#34d399}.message{padding:1rem;border-radius:8px;margin-bottom:2rem;text-align:center;animation:fadeIn .3s ease-out}.message.success{background:#4caf504d;border:1px solid #4caf50;color:#fff}.message.error{background:#f443364d;border:1px solid #f44336;color:#fff}.category-filter{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;flex-wrap:wrap}.category-btn{padding:.75rem 1.5rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;cursor:pointer;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.category-btn:hover{background:#fff3;transform:translateY(-2px)}.category-btn.active{background:linear-gradient(135deg,#a78bfa,#60a5fa);border-color:transparent;box-shadow:0 4px 15px #a78bfa66}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.product-card{background:#ffffff1a;border-radius:16px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.product-card:hover{transform:translateY(-8px);box-shadow:0 12px 30px #0000004d;border-color:#ffffff4d}.product-image{width:100%;height:200px;background:#ffffff0d;display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.product-info{padding:1.5rem;display:flex;flex-direction:column;flex:1}.product-info h3{font-size:1.5rem;margin-bottom:.75rem;color:#fff}.product-description{color:#fffc;line-height:1.6;margin-bottom:1rem;flex:1}.product-footer{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.product-cost{display:flex;align-items:center;gap:.5rem}.cost-label{color:#ffffffb3;font-size:.9rem}.cost-value{font-size:1.25rem;font-weight:700;color:#34d399}.product-stock{font-size:.85rem;color:#fff9}.redeem-btn{width:100%;padding:.875rem;background:linear-gradient(135deg,#a78bfa,#60a5fa);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);margin-top:auto}.redeem-btn:hover:not(:disabled){background:linear-gradient(135deg,#c084fc,#3b82f6);transform:translateY(-2px);box-shadow:0 6px 20px #a78bfa66}.redeem-btn:disabled{opacity:.5;cursor:not-allowed;background:#ffffff1a}.no-products{text-align:center;color:#ffffffb3;font-size:1.2rem;padding:3rem;grid-column:1 / -1}@media (max-width: 768px){.shop-page{padding:1rem}.shop-header h1{font-size:2rem}.products-grid{grid-template-columns:1fr}}.admin-page{color:#fff;padding:2rem;max-width:1400px;margin:0 auto;animation:fadeIn .5s ease-out}.admin-header{margin-bottom:2rem}.admin-header h1{font-size:2.5rem;margin-bottom:1rem}.admin-message{padding:1rem;border-radius:8px;margin-bottom:1rem}.admin-message.success{background:#4caf504d;border:1px solid #4caf50;color:#fff}.admin-message.error{background:#f443364d;border:1px solid #f44336;color:#fff}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.admin-tabs button{padding:.75rem 1.5rem;background:transparent;color:#ffffffb3;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease;margin-bottom:-2px}.admin-tabs button:hover{color:#fff}.admin-tabs button.active{color:#fff;border-bottom-color:#60a5fa}.admin-content{min-height:400px}.admin-empty-state{padding:3rem 2rem;text-align:center;color:#ffffffd9;background:#ffffff0a;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.admin-empty-state p{margin:0 0 .5rem;font-size:1rem}.admin-empty-hint{font-size:.875rem!important;color:#ffffff8c!important;margin-top:.25rem!important}.admin-empty-hint code{background:#ffffff1a;padding:.15rem .4rem;border-radius:4px;font-size:.8125rem}.btn-retry{margin-top:1rem;padding:.5rem 1.25rem;background:#60a5fa40;border:1px solid rgba(96,165,250,.5);color:#93c5fd;border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:500}.btn-retry:hover{background:#60a5fa59;border-color:#60a5fa}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:#ffffff1a;padding:2rem;border-radius:12px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.stat-card h3{font-size:1rem;margin-bottom:1rem;opacity:.9}.stat-value{font-size:2.5rem;font-weight:700;color:#60a5fa}.admin-list{width:100%}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.list-header h2{font-size:1.5rem}.btn-add{padding:.75rem 1.5rem;background:linear-gradient(135deg,#a78bfa,#60a5fa);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-add:hover{transform:translateY(-2px);box-shadow:0 4px 15px #a78bfa66}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.admin-item-card{background:#ffffff1a;padding:1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.admin-item-card h3{font-size:1.25rem;margin-bottom:.5rem;color:#fff}.admin-item-card>p{color:#fffc;margin-bottom:1rem;line-height:1.6}.item-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;font-size:.9rem;color:#ffffffb3}.item-actions{display:flex;gap:.5rem}.btn-edit,.btn-delete,.btn-make-admin{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease;font-size:.9rem}.btn-edit{background:#60a5fa4d;color:#60a5fa;border:1px solid #60a5fa}.btn-edit:hover{background:#60a5fa80}.btn-delete{background:#f443364d;color:#f44336;border:1px solid #f44336}.btn-delete:hover{background:#f4433680}.btn-make-admin{background:#a78bfa4d;color:#a78bfa;border:1px solid #a78bfa}.btn-make-admin:hover{background:#a78bfa80}.users-table{width:100%;background:#ffffff1a;border-radius:12px;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.users-table thead{background:#ffffff26}.users-table th{padding:1rem;text-align:left;font-weight:600;color:#fff}.users-table td{padding:1rem;border-top:1px solid rgba(255,255,255,.1);color:#ffffffe6}.users-table tbody tr:hover{background:#ffffff0d}.user-actions{display:flex;gap:.5rem;flex-wrap:wrap}.status-banned{color:#f44336;font-weight:600}.status-suspended{color:#ff9800;font-weight:600}.status-active{color:#4caf50;font-weight:600}.btn-ban,.btn-unban,.btn-suspend,.btn-unsuspend,.btn-reward{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s ease;font-size:.9rem}.btn-ban{background:#f443364d;color:#f44336;border:1px solid #f44336}.btn-ban:hover{background:#f4433680}.btn-unban{background:#4caf504d;color:#4caf50;border:1px solid #4caf50}.btn-unban:hover{background:#4caf5080}.btn-suspend{background:#ff98004d;color:#ff9800;border:1px solid #ff9800}.btn-suspend:hover{background:#ff980080}.btn-unsuspend{background:#4caf504d;color:#4caf50;border:1px solid #4caf50}.btn-unsuspend:hover{background:#4caf5080}.btn-reward{background:#a78bfa4d;color:#a78bfa;border:1px solid #a78bfa}.btn-reward:hover{background:#a78bfa80}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeIn .2s ease-out}.modal-content{background:linear-gradient(135deg,#1e1e32fa,#28283cfa);padding:2.5rem;border-radius:20px;min-width:450px;max-width:700px;max-height:90vh;overflow-y:auto;border:1px solid rgba(255,255,255,.3);box-shadow:0 20px 60px #000000b3,0 0 0 1px #ffffff1a;animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content h2{margin-bottom:1.5rem;color:#fff}.modal-form{display:flex;flex-direction:column;gap:1rem}.modal-form label{display:flex;flex-direction:column;gap:.5rem;color:#fff}.modal-form input{padding:.75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem}.modal-form input:focus,.modal-form textarea:focus,.modal-form select:focus{outline:none;border-color:#60a5fa}.modal-form textarea{padding:.75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem;font-family:inherit;resize:vertical}.modal-form select{padding:.75rem;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:1rem;cursor:pointer}.modal-form select option{background:#1e1e32;color:#fff}.modal-actions{display:flex;gap:1rem;margin-top:1rem}.btn-save{padding:.75rem 1.5rem;background:linear-gradient(135deg,#a78bfa,#60a5fa);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save:hover{transform:translateY(-2px);box-shadow:0 4px 15px #a78bfa66}.btn-cancel{padding:.75rem 1.5rem;background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#fff3}.access-denied{text-align:center;padding:4rem 2rem}.access-denied h1{font-size:2.5rem;margin-bottom:1rem;color:#f44336}.loading{text-align:center;color:#fff;font-size:1.5rem;padding:3rem}@media (max-width: 768px){.admin-page{padding:1rem}.admin-tabs{flex-wrap:wrap}.items-grid{grid-template-columns:1fr}.users-table{font-size:.9rem}}.contact-page{min-height:calc(100vh - 80px);padding:3rem 1.25rem 4rem;display:flex;justify-content:center}.contact-card{width:100%;max-width:720px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:2.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 40px #00000040;color:#ffffffeb}.contact-card h1{color:#fff;margin-bottom:.5rem}.contact-subtitle{opacity:.85;margin-bottom:1.5rem}.contact-alert{padding:.85rem 1rem;border-radius:12px;margin-bottom:1rem;border:1px solid rgba(255,255,255,.16)}.contact-alert.success{background:#10b9811f}.contact-alert.error{background:#ef44441f}.contact-form{display:grid;gap:1rem}.contact-form label{display:grid;gap:.4rem;font-weight:600;color:#ffffffeb}.contact-form input,.contact-form textarea{width:100%;padding:.85rem .95rem;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0000002e;color:#fff;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#60a5fa8c;box-shadow:0 0 0 4px #60a5fa26}.contact-submit{justify-self:start;padding:.75rem 1.1rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff1f;color:#fff;font-weight:700;cursor:pointer}.contact-submit:hover{background:#ffffff2e}@media (max-width: 768px){.contact-page{padding:1.75rem 1rem 3rem}.contact-card{padding:1.5rem}}.legal-page{min-height:calc(100vh - 80px);padding:3rem 1.25rem 4rem;display:flex;justify-content:center}.legal-card{width:100%;max-width:900px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:2.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 40px #00000040;color:#ffffffeb}.legal-card h1{color:#fff;margin-bottom:.5rem}.legal-updated{opacity:.8;margin-bottom:2rem}.legal-card h2{color:#fff;margin-top:1.75rem;margin-bottom:.5rem;font-size:1.2rem}.legal-card p,.legal-card li{line-height:1.75}.legal-card ul{padding-left:1.2rem}@media (max-width: 768px){.legal-page{padding:1.75rem 1rem 3rem}.legal-card{padding:1.5rem}}.footer{border-top:1px solid rgba(255,255,255,.1);background:#0a1929d9}.footer-inner{max-width:1200px;margin:0 auto;padding:1.25rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;color:#ffffffd9}.footer-brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:800;color:#fff}.footer-logo{width:28px;height:28px;border-radius:10px;object-fit:cover}.footer-links{display:inline-flex;gap:1rem}.footer-links a{color:#ffffffd9;text-decoration:none;padding:.25rem .4rem;border-radius:8px}.footer-links a:hover{background:#ffffff14;color:#fff}.footer-meta{opacity:.8;font-size:.9rem}@media (max-width: 768px){.footer-inner{flex-direction:column;align-items:flex-start}}.app{min-height:100vh;display:flex;flex-direction:column;opacity:1;animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content{flex:1;padding:0;max-width:100%;width:100%;margin:0;transition:opacity .3s ease,transform .3s ease}@media (max-width: 768px){.main-content{padding:0}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a1929;min-height:100vh;overflow-x:hidden;transition:background-color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}body{transform:translateZ(0);-webkit-transform:translateZ(0)}
