.landing-page{min-height:100vh;background:linear-gradient(180deg,#0f0a1f,#1a1130,#0f0a1f);color:#fff;overflow-x:hidden}.beta-banner{background:linear-gradient(90deg,#8b5cf6,#ec4899,#f97316,#ec4899,#8b5cf6);background-size:200% 100%;animation:banner-shimmer 3s linear infinite;padding:12px 20px;text-align:center;font-size:.95rem;font-weight:500}@keyframes banner-shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.beta-banner strong{font-weight:700}.beta-icon{margin:0 8px}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;max-width:1200px;margin:0 auto}.nav-logo{display:flex;align-items:center;gap:10px}.logo-icon{font-size:2rem}.logo-text{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.beta-badge{padding:3px 8px;background:linear-gradient(135deg,#f97316,#ef4444);border-radius:6px;font-size:.65rem;font-weight:700;letter-spacing:.5px;animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #f9731680}50%{box-shadow:0 0 20px #f97316cc}}.nav-actions{display:flex;gap:12px}.landing-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:transparent;border:none;cursor:pointer;gap:5px;padding:10px}.landing-hamburger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .3s ease}.landing-hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.landing-hamburger.open span:nth-child(2){opacity:0}.landing-hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.landing-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.landing-mobile-menu{position:absolute;top:100%;right:20px;background:#1a1130fa;border:1px solid rgba(139,92,246,.3);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;z-index:100;min-width:180px;box-shadow:0 10px 30px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-mobile-menu .nav-signin,.landing-mobile-menu .nav-signup{width:100%;text-align:center;min-height:44px}.nav-signin{padding:10px 20px;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-signin:hover{background:#ffffff1a;border-color:#ffffff4d}.nav-signup{padding:10px 20px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;color:#fff;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.nav-signup:hover{transform:translateY(-2px);box-shadow:0 8px 20px #8b5cf666}.hero-section{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:60px 40px 100px;gap:60px}.hero-content{flex:1;max-width:600px}.hero-badge{display:inline-block;padding:8px 16px;background:#8b5cf633;border:1px solid rgba(139,92,246,.4);border-radius:50px;font-size:.9rem;font-weight:500;margin-bottom:20px;color:#a78bfa}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:24px}.hero-highlight{display:block;background:linear-gradient(135deg,#8b5cf6,#ec4899,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 3s ease infinite;background-size:200% 200%}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero-subtitle{font-size:1.25rem;color:#ffffffb3;line-height:1.6;margin-bottom:32px}.hero-cta{display:inline-flex;align-items:center;gap:12px;padding:18px 36px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;color:#fff;border-radius:16px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;animation:bounce-subtle 2s ease-in-out infinite}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.hero-cta:hover{transform:scale(1.05);box-shadow:0 15px 40px #8b5cf680;animation:none}.cta-arrow{font-size:1.4rem;transition:transform .2s ease}.hero-cta:hover .cta-arrow{transform:translate(5px)}.hero-cta-group{display:flex;flex-direction:column;gap:24px}.hero-stats{display:flex;gap:24px}.hero-stat{display:flex;flex-direction:column;align-items:center}.hero-stat .stat-number{font-size:1.8rem;font-weight:800;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-stat .stat-label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.hero-note{margin-top:16px;font-size:.9rem;color:#fff9}.hero-visual{flex:1;display:flex;justify-content:center}.game-preview{display:flex;flex-direction:column;gap:20px;position:relative}.preview-card{display:flex;align-items:center;gap:16px;padding:20px 30px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;animation:float 3s ease-in-out infinite}.preview-card:nth-child(1){animation-delay:0s}.preview-card:nth-child(2){animation-delay:.5s;transform:translate(40px)}.preview-card:nth-child(3){animation-delay:1s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.preview-card:nth-child(2){animation:float-offset 3s ease-in-out infinite;animation-delay:.5s}@keyframes float-offset{0%,to{transform:translate(40px) translateY(0)}50%{transform:translate(40px) translateY(-10px)}}.preview-card:hover{transform:scale(1.05);border-color:#8b5cf680;box-shadow:0 10px 30px #8b5cf633}.preview-emoji{font-size:2.5rem}.preview-label{font-size:1.2rem;font-weight:600}.preview-boss{border-left:3px solid #ef4444}.preview-memory{border-left:3px solid #8b5cf6}.preview-pattern{border-left:3px solid #3b82f6}.preview-sort{border-left:3px solid #22c55e}.preview-tag{padding:3px 10px;background:#ffffff1a;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3}.hero-visual{position:relative}.floating-elements{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.float-item{position:absolute;font-size:2rem;animation:float-around 4s ease-in-out infinite}.float-1{top:-20px;left:-30px;animation-delay:0s}.float-2{top:30%;right:-20px;animation-delay:1s}.float-3{bottom:20%;left:-40px;animation-delay:2s}.float-4{bottom:-10px;right:20%;animation-delay:.5s}@keyframes float-around{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(5deg)}75%{transform:translateY(10px) rotate(-5deg)}}.problem-section{padding:80px 40px;background:#8b5cf60d;text-align:center}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:40px}.solution-flow{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-bottom:40px}.flow-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 32px;background:#ffffff0d;border-radius:16px;min-width:140px}.flow-emoji{font-size:2.5rem}.flow-label{font-size:1.1rem;font-weight:600}.flow-desc{font-size:.85rem;color:#ffffff80}.flow-problem{border:1px solid rgba(239,68,68,.3)}.flow-boring{border:1px solid rgba(251,191,36,.3)}.flow-solution{border:2px solid rgba(34,197,94,.5);background:#22c55e1a}.flow-arrow{font-size:2rem;color:#ffffff4d}.solution-tagline{font-size:1.3rem;color:#fffc}.solution-tagline em{color:#22c55e;font-style:normal;font-weight:600}.ai-section{padding:80px 40px;max-width:1100px;margin:0 auto;text-align:center;background:linear-gradient(180deg,transparent 0%,rgba(139,92,246,.08) 50%,transparent 100%)}.ai-badge{display:inline-block;padding:8px 20px;background:linear-gradient(135deg,#8b5cf6,#3b82f6);border-radius:50px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;animation:pulse-glow 2s ease-in-out infinite}.ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-top:40px}.ai-card{padding:32px 24px;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);border-radius:20px;transition:all .3s ease}.ai-card:hover{transform:translateY(-8px);border-color:#8b5cf680;box-shadow:0 20px 40px #8b5cf633;background:#8b5cf61f}.ai-icon{font-size:3rem;margin-bottom:16px}.ai-card h3{font-size:1.15rem;font-weight:600;margin-bottom:10px;color:#a78bfa}.ai-card p{font-size:.9rem;color:#ffffffb3;line-height:1.5}.games-section{padding:80px 40px;max-width:1200px;margin:0 auto;text-align:center}.section-subtitle{font-size:1.1rem;color:#fff9;margin-top:-24px;margin-bottom:48px}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}.game-card{padding:32px 24px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:20px;text-align:center;transition:all .3s ease}.game-card:hover{transform:translateY(-8px);border-color:#8b5cf680;box-shadow:0 20px 40px #8b5cf626}.game-icon{font-size:3rem;margin-bottom:16px}.game-card h3{font-size:1.2rem;font-weight:600;margin-bottom:12px}.game-card p{font-size:.9rem;color:#fff9;line-height:1.5}.subjects-section{padding:80px 40px;background:linear-gradient(180deg,transparent 0%,rgba(59,130,246,.05) 50%,transparent 100%);text-align:center}.subjects-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;max-width:800px;margin:0 auto 32px}.subject-pill{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:50px;font-size:1rem;font-weight:500;transition:all .2s ease}.subject-pill:hover{background:#8b5cf633;border-color:#8b5cf680;transform:scale(1.05)}.subject-icon{font-size:1.3rem}.subjects-info{margin-top:24px}.subjects-info p{color:#fff9;margin-bottom:12px}.age-badge{display:inline-block;padding:8px 20px;background:linear-gradient(135deg,#8b5cf6,#3b82f6);border-radius:20px;font-weight:600;font-size:.9rem}.gamification-section{padding:80px 40px;max-width:1100px;margin:0 auto;text-align:center}.motivation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.motivation-card{padding:32px 24px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;transition:all .3s ease}.motivation-card:hover{transform:translateY(-5px);background:#ffffff0d}.motivation-icon{font-size:2.5rem;margin-bottom:16px;display:block}.motivation-card h3{font-size:1.15rem;font-weight:600;margin-bottom:10px}.motivation-card p{font-size:.9rem;color:#fff9;line-height:1.5}.multiplayer-section{padding:80px 40px;background:linear-gradient(135deg,#8b5cf61a,#ec48991a);display:flex;align-items:center;justify-content:center;gap:80px;flex-wrap:wrap}.multiplayer-content{flex:1;min-width:300px;max-width:500px}.multiplayer-features{display:flex;flex-direction:column;gap:24px;margin-top:32px}.mp-feature{display:flex;align-items:flex-start;gap:16px}.mp-icon{font-size:2.5rem}.mp-text h3{font-size:1.15rem;font-weight:600;margin-bottom:6px}.mp-text p{font-size:.95rem;color:#ffffffb3}.multiplayer-visual{flex:0 0 auto}.vs-display{display:flex;align-items:center;gap:24px;padding:32px 40px;background:#0000004d;border:2px solid rgba(139,92,246,.3);border-radius:24px}.player{display:flex;flex-direction:column;align-items:center;gap:8px}.player-avatar{font-size:3rem}.player-score{font-size:1.5rem;font-weight:700}.player-1 .player-score{color:#8b5cf6}.player-2 .player-score{color:#ec4899}.vs-text{font-size:1.5rem;font-weight:700;color:#ffffff80}.family-section{padding:80px 40px;max-width:1100px;margin:0 auto;text-align:center}.family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.family-card{padding:32px 24px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;transition:all .3s ease}.family-card:hover{transform:translateY(-5px);border-color:#8b5cf64d}.family-icon{font-size:2.5rem;margin-bottom:16px}.family-card h3{font-size:1.15rem;font-weight:600;margin-bottom:10px}.family-card p{font-size:.9rem;color:#fff9;line-height:1.5}.pricing-section{padding:80px 40px;max-width:1200px;margin:0 auto;text-align:center}.coming-soon-badge{display:inline-block;padding:8px 24px;background:linear-gradient(135deg,#f97316,#ec4899);border-radius:50px;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;animation:pulse-glow 2s ease-in-out infinite}.pricing-toggle{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:48px}.toggle-label{font-size:1rem;color:#ffffff80;transition:color .3s ease}.toggle-label.active{color:#fff;font-weight:600}.save-badge{display:inline-block;padding:3px 8px;background:linear-gradient(135deg,#22c55e,#10b981);border-radius:12px;font-size:.7rem;font-weight:700;color:#fff;margin-left:6px}.pricing-switch{position:relative;width:56px;height:28px}.pricing-switch input{opacity:0;width:0;height:0}.pricing-switch .slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#fff3;border-radius:28px;transition:.3s}.pricing-switch .slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.pricing-switch input:checked+.slider{background:linear-gradient(135deg,#8b5cf6,#ec4899)}.pricing-switch input:checked+.slider:before{transform:translate(28px)}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}.pricing-card{position:relative;padding:32px 24px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:24px;text-align:center;transition:all .3s ease}.pricing-card:hover{transform:translateY(-8px);border-color:#8b5cf666;box-shadow:0 20px 40px #8b5cf626}.pricing-popular{border:2px solid #8b5cf6;background:#8b5cf61a}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:6px 16px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border-radius:20px;font-size:.75rem;font-weight:700;white-space:nowrap}.pricing-header h3{font-size:1.3rem;font-weight:700;margin-bottom:12px}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:4px}.price-amount{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.price-period{font-size:1rem;color:#ffffff80}.annual-total{font-size:.85rem;color:#ffffff80;margin-top:4px}.pricing-features{margin:24px 0}.pricing-highlight{padding:8px 16px;background:#8b5cf633;border-radius:20px;font-weight:600;font-size:.95rem;margin-bottom:16px;display:inline-block}.pricing-features ul{list-style:none;padding:0;margin:0;text-align:left}.pricing-features li{font-size:.9rem;color:#ffffffb3;position:relative;padding:8px 0 8px 24px}.pricing-features li:before{content:"✓";position:absolute;left:0;color:#22c55e;font-weight:700}.pricing-btn{width:100%;padding:14px 24px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;color:#fff;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.pricing-btn:hover{transform:scale(1.05);box-shadow:0 10px 30px #8b5cf666}.pricing-btn-free{background:transparent;border:2px solid rgba(255,255,255,.3)}.pricing-btn-free:hover{background:#ffffff1a;border-color:#ffffff80;box-shadow:none}.pricing-btn-popular{background:linear-gradient(135deg,#8b5cf6,#ec4899);animation:pulse-glow 2s ease-in-out infinite}.pricing-note{font-size:.9rem;color:#ffffff80}.cta-section{padding:100px 40px;text-align:center;background:linear-gradient(180deg,transparent 0%,rgba(139,92,246,.15) 100%)}.cta-badge{display:inline-block;padding:8px 20px;background:linear-gradient(135deg,#f97316,#ef4444);border-radius:50px;font-size:.9rem;font-weight:700;margin-bottom:20px;animation:pulse-glow 2s ease-in-out infinite}.cta-title{font-size:2.5rem;font-weight:700;margin-bottom:24px}.cta-offer{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px;padding:16px 32px;background:#22c55e26;border:2px solid rgba(34,197,94,.4);border-radius:16px;display:inline-flex}.cta-offer .offer-number{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#22c55e,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cta-offer .offer-text{font-size:1.1rem;font-weight:600;color:#22c55e}.cta-button{padding:20px 48px;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:none;color:#fff;border-radius:16px;font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .3s ease;animation:bounce-subtle 2s ease-in-out infinite}.cta-button:hover{transform:scale(1.08);box-shadow:0 20px 50px #8b5cf680;animation:none}.cta-beta{margin-top:24px;font-size:1rem;color:#ffffffb3}.beta-highlight{color:#f97316;font-weight:600}.cta-urgency{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:8px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:20px;font-size:.9rem;color:#ef4444}.urgency-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.landing-footer{padding:40px;border-top:1px solid rgba(255,255,255,.1)}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:20px}.footer-brand{display:flex;align-items:center;gap:8px}.footer-links{display:flex;gap:24px}.footer-links a{color:#fff9;text-decoration:none;font-size:.9rem;transition:color .2s ease}.footer-links a:hover{color:#fff}.footer-copyright{font-size:.85rem;color:#fff6}@media(max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.hero-section{flex-direction:column;text-align:center;padding:40px 20px 60px}.hero-title{font-size:2.5rem}.hero-visual{margin-top:40px}.hero-stats{justify-content:center}.preview-card:nth-child(2){transform:none}.game-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preview-card{flex-direction:column;padding:16px;text-align:center}.floating-elements{display:none}@keyframes float-offset{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.multiplayer-section{flex-direction:column;text-align:center}}@media(max-width:768px){.landing-hamburger{display:flex}}@media(max-width:600px){.beta-banner{font-size:.85rem;padding:10px 16px}.landing-nav{padding:12px 16px;position:relative}.hero-section{padding:24px 16px 40px}.hero-badge{font-size:.8rem;padding:6px 12px}.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-cta{padding:16px 28px;font-size:1rem}.hero-stats{gap:16px}.hero-stat .stat-number{font-size:1.4rem}.section-title{font-size:1.8rem;padding:0 16px}.problem-section,.games-section,.subjects-section,.gamification-section,.family-section,.cta-section{padding:60px 20px}.solution-flow{flex-direction:column}.flow-arrow{transform:rotate(90deg)}.games-grid,.motivation-grid,.family-grid,.pricing-grid,.ai-grid{grid-template-columns:1fr}.ai-section,.pricing-section{padding:60px 20px}.pricing-toggle{margin-bottom:32px}.pricing-card{max-width:360px;margin:0 auto}.pricing-popular{order:-1}.multiplayer-section{padding:60px 20px}.cta-offer{padding:12px 20px}.cta-offer .offer-number{font-size:2rem}.cta-title{font-size:1.8rem}.cta-button{padding:16px 32px;font-size:1.1rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-content{max-width:450px;width:100%;text-align:center}.auth-hero{margin-bottom:32px}.auth-title{font-size:3rem;font-weight:800;margin-bottom:12px}.auth-subtitle{font-size:1.2rem;color:var(--text-secondary)}.auth-form{margin-bottom:32px}.auth-tabs{display:flex;margin-bottom:24px;background:#ffffff0d;border-radius:var(--radius-md);padding:4px}.auth-tab{flex:1;padding:12px;border:none;background:transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease}.auth-tab.active{background:var(--gradient-primary);color:#fff}.auth-tab:hover:not(.active){color:var(--text-primary)}.social-login{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.social-divider{display:flex;align-items:center;margin-bottom:20px}.social-divider:before,.social-divider:after{content:"";flex:1;height:1px;background:#ffffff26}.social-divider span{padding:0 16px;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.google-btn-container{display:flex;justify-content:center;transition:opacity .2s ease}.google-loading{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-top:12px}.auth-features{display:flex;justify-content:center;gap:24px;flex-wrap:wrap}@media(max-width:480px){.auth-title{font-size:2.5rem}.auth-features{flex-direction:column;gap:12px}}.age-selector{display:flex;flex-direction:column;gap:8px}.age-slider-row{display:flex;align-items:center;gap:12px;padding:0 4px}.age-bound{color:var(--text-secondary, rgba(255,255,255,.5));font-size:.9rem;font-weight:600;min-width:1.5em;text-align:center}.age-slider{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;border-radius:4px;background:linear-gradient(to right,var(--primary-purple, #8b5cf6) 0%,var(--primary-purple, #8b5cf6) var(--fill, 0%),rgba(255,255,255,.12) var(--fill, 0%),rgba(255,255,255,.12) 100%);outline:none;cursor:pointer;touch-action:none}.age-slider::-webkit-slider-thumb{-webkit-appearance:none;width:36px;height:36px;border-radius:50%;background:var(--gradient-primary, linear-gradient(135deg, #8b5cf6, #ec4899));border:3px solid rgba(255,255,255,.9);box-shadow:0 2px 10px #8b5cf680;cursor:pointer;transition:transform .15s,box-shadow .15s}.age-slider::-webkit-slider-thumb:hover,.age-slider::-webkit-slider-thumb:active{transform:scale(1.15);box-shadow:0 3px 16px #8b5cf6b3}.age-slider::-moz-range-thumb{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#ec4899);border:3px solid rgba(255,255,255,.9);box-shadow:0 2px 10px #8b5cf680;cursor:pointer}.age-slider::-moz-range-track{height:8px;border-radius:4px;background:#ffffff1f}.age-slider::-moz-range-progress{height:8px;border-radius:4px;background:#8b5cf6}.age-label{text-align:center;color:var(--text-secondary, rgba(255,255,255,.6));font-size:1.1rem}.age-value{color:var(--primary-purple, #8b5cf6);font-weight:700;font-size:1.4rem}.intro-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:introFadeIn .3s ease-out}.intro-modal-overlay.closing{animation:introFadeOut .3s ease-out forwards}.intro-modal{background:var(--bg-card);border-radius:var(--radius-xl);padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:introSlideUp .4s ease-out;border:2px solid rgba(139,92,246,.3);box-shadow:0 0 60px #8b5cf633}.intro-modal.closing{animation:introSlideDown .3s ease-out forwards}@keyframes introFadeIn{0%{opacity:0}to{opacity:1}}@keyframes introFadeOut{0%{opacity:1}to{opacity:0}}@keyframes introSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes introSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(30px) scale(.95)}}.intro-skip{position:absolute;top:16px;right:16px;background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary);padding:8px 16px;border-radius:var(--radius-full);cursor:pointer;font-size:.9rem;transition:all .2s}.intro-skip:hover{background:#ffffff1a;color:var(--text-primary)}.intro-slide{text-align:center;padding:20px 0}.intro-icon{font-size:4rem;margin-bottom:16px;display:block}.intro-title{font-size:1.75rem;background:var(--gradient-fun);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:12px}.intro-description{color:var(--text-secondary);font-size:1.1rem;margin-bottom:16px;line-height:1.5}.intro-highlight{color:var(--primary-purple);font-size:1rem;font-weight:500;margin-bottom:20px}.intro-items{display:grid;gap:12px;margin-top:20px}.intro-items.grid-2{grid-template-columns:repeat(2,1fr)}.intro-items.grid-3{grid-template-columns:repeat(3,1fr)}.intro-item{background:#ffffff0d;border-radius:var(--radius-md);padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px}.intro-item-icon{font-size:1.5rem}.intro-item-name{font-size:.85rem;font-weight:600;color:var(--text-primary)}.intro-item-desc{font-size:.75rem;color:var(--text-secondary);text-align:center}.intro-dots{display:flex;justify-content:center;gap:8px;margin:24px 0}.intro-dot{width:10px;height:10px;border-radius:50%;border:none;background:#fff3;cursor:pointer;transition:all .2s;padding:0}.intro-dot:hover{background:#fff6}.intro-dot.active{background:var(--primary-purple);transform:scale(1.2)}.intro-nav{display:flex;gap:12px;justify-content:center}.intro-nav-btn{padding:12px 32px;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:100px}.intro-prev{background:transparent;border:2px solid rgba(255,255,255,.2);color:var(--text-secondary)}.intro-prev:hover:not(:disabled){border-color:var(--text-primary);color:var(--text-primary)}.intro-prev:disabled{opacity:.3;cursor:not-allowed}.intro-next{border:none}@media(max-width:480px){.intro-modal{padding:24px 20px;margin:10px;max-height:85vh}.intro-icon{font-size:3rem}.intro-title{font-size:1.5rem}.intro-description{font-size:1rem}.intro-items.grid-3{grid-template-columns:repeat(2,1fr)}.intro-item{padding:10px 6px}.intro-nav{flex-direction:column}.intro-nav-btn{width:100%;min-height:48px}.intro-skip{min-width:60px;min-height:40px}}.child-select-page{min-height:100vh;padding:20px}.child-select-content{max-width:800px;margin:0 auto}.child-select-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;gap:16px;flex-wrap:wrap}.header-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.header-actions .btn{text-decoration:none;display:inline-flex;align-items:center;gap:6px}.header-actions .upgrade-btn{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;border:none;font-weight:700;box-shadow:0 4px 14px #8b5cf659;transition:transform .15s ease,box-shadow .15s ease}.header-actions .upgrade-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #8b5cf680}@media(max-width:600px){.header-actions .btn{padding:6px 10px;font-size:.85rem}}.child-select-header h1{font-size:2.5rem;background:var(--gradient-fun);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.welcome-text{color:var(--text-secondary)}.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}.child-card{background:var(--bg-card);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:24px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative}.child-card:hover{border-color:var(--primary-purple);transform:translateY(-4px);box-shadow:0 8px 30px #8b5cf64d}.child-avatar{font-size:4rem;margin-bottom:12px}.child-name{font-size:1.2rem;margin-bottom:4px}.child-age{color:var(--text-secondary);font-size:.9rem}.child-actions{position:absolute;top:10px;right:10px;display:flex;gap:6px}.stats-btn,.delete-btn{background:#ffffff1a;border:none;border-radius:var(--radius-full);width:32px;height:32px;font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.stats-btn:hover{background:var(--primary-blue);transform:scale(1.1)}.delete-btn:hover{background:#ef4444;transform:scale(1.1)}.add-card{border-style:dashed;opacity:.7}.add-card:hover{opacity:1}.add-icon{font-size:3rem;margin-bottom:12px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{max-width:400px;width:100%;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal h2{margin-bottom:24px;text-align:center}.form-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.form-row label{color:var(--text-secondary);min-width:50px}.form-row input[type=number]{width:80px;text-align:center}.form-row.age-row{flex-direction:column;align-items:flex-start}.form-row.age-row label{margin-bottom:8px}.form-row.age-row .age-selector{width:100%}.form-row.age-row .age-buttons{justify-content:center}.form-row.age-row .age-btn{width:44px;height:44px;font-size:1rem}.avatar-picker{margin-bottom:20px}.avatar-picker label{display:block;color:var(--text-secondary);margin-bottom:12px}.avatars{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.avatar-btn{width:48px;height:48px;font-size:1.8rem;border:2px solid transparent;border-radius:var(--radius-full);background:#ffffff1a;cursor:pointer;transition:all .2s ease}.avatar-btn:hover{background:#fff3}.avatar-btn.selected{border-color:var(--primary-purple);background:#8b5cf633}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-actions button{flex:1}@media(max-width:768px){.child-select-page{padding:calc(var(--safe-area-top, 0px) + 16px) 16px calc(var(--safe-area-bottom, 0px) + 16px)}.child-select-header h1{font-size:2rem}.child-card{min-height:140px;padding:20px}.stats-btn,.delete-btn{width:40px;height:40px;min-width:40px;min-height:40px}.child-select-header .btn{min-height:44px}}@media(max-width:480px){.child-select-header{flex-direction:column;gap:16px;text-align:center}.child-select-header h1{font-size:1.8rem}.children-grid{grid-template-columns:repeat(2,1fr);gap:12px}.child-avatar{font-size:3rem}.child-card{padding:16px}.modal-overlay{align-items:flex-start;padding:10px;overflow-y:auto}.modal{margin:20px 0;max-height:none}.form-row.age-row .age-btn{width:40px;height:40px;font-size:.95rem}.avatar-btn{width:44px;height:44px;min-width:44px;min-height:44px}.modal-actions{flex-direction:column}.modal-actions button{min-height:48px}}.subject-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.subject-card{display:flex;flex-direction:column;align-items:center;padding:24px 16px;background:var(--bg-card);border:2px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;text-align:center}.subject-card:hover{border-color:#ffffff40}.subject-card.active{background:linear-gradient(135deg,var(--subject-color) 0%,var(--bg-card) 100%);border-color:var(--subject-color)}.subject-icon{font-size:3rem;margin-bottom:12px;transition:transform .3s ease}.subject-card.active .subject-icon{animation:wiggle .5s ease}.subject-name{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.subject-desc{font-size:.85rem;color:var(--text-secondary)}.subject-card.active .subject-name,.subject-card.active .subject-desc{color:#fff}@media(max-width:480px){.subject-picker{grid-template-columns:1fr}.subject-card{padding:20px}.subject-icon{font-size:2.5rem}}.game-type-selector{width:100%}.game-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.game-type-card{position:relative;display:flex;flex-direction:column;align-items:center;padding:20px 16px;background:var(--bg-card);border:2px solid rgba(255,255,255,.05);border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease;text-align:center;min-height:180px}.game-type-card:hover{transform:translateY(-4px);border-color:var(--game-color);box-shadow:0 8px 30px var(--game-glow)}.game-type-card.active{background:linear-gradient(135deg,var(--game-color) 0%,var(--bg-card) 100%);border-color:var(--game-color);transform:scale(1.02);box-shadow:0 8px 30px var(--game-glow)}.game-type-card.recommended{border-color:#ffd7004d}.game-type-card.recommended:not(.active):hover{border-color:var(--game-color)}.recommended-badge{position:absolute;top:-10px;right:-10px;background:linear-gradient(135deg,gold,#fa0);color:#000;font-size:.65rem;font-weight:700;padding:4px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #ffd70066}.game-type-icon{font-size:2.5rem;margin-bottom:10px;transition:transform .3s ease}.game-type-card:hover .game-type-icon{transform:scale(1.2)}.game-type-card.active .game-type-icon{animation:wiggle .5s ease}@keyframes wiggle{0%,to{transform:rotate(0) scale(1.2)}25%{transform:rotate(-10deg) scale(1.2)}75%{transform:rotate(10deg) scale(1.2)}}.game-type-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.game-type-desc{font-size:.8rem;color:var(--text-secondary);line-height:1.4;margin-bottom:10px;flex-grow:1}.game-type-card.active .game-type-name,.game-type-card.active .game-type-desc{color:#fff}.game-type-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:auto}.game-type-tags .tag{font-size:.65rem;padding:3px 8px;background:#ffffff1a;border-radius:10px;color:var(--text-secondary)}.game-type-card.active .game-type-tags .tag{background:#fff3;color:#ffffffe6}.game-type-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary)}.game-type-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:12px}@media(max-width:768px){.game-type-grid{grid-template-columns:repeat(2,1fr)}.game-type-card{padding:16px 12px;min-height:160px}.game-type-icon{font-size:2rem}.game-type-name{font-size:1rem}.game-type-desc{font-size:.75rem}}@media(max-width:480px){.game-type-grid{grid-template-columns:1fr}.game-type-card{flex-direction:row;text-align:left;padding:16px;min-height:auto;gap:12px}.game-type-icon{font-size:2.5rem;margin-bottom:0}.game-type-card>:not(.game-type-icon):not(.recommended-badge){text-align:left}.game-type-tags{justify-content:flex-start}.recommended-badge{top:-8px;right:10px}}.loading-stages{max-width:600px;width:100%;text-align:center}.stages-header{margin-bottom:40px}.spinner-container{position:relative;width:120px;height:120px;margin:0 auto 24px}.spinner-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-right-color:#3b82f6;border-radius:50%;animation:spin 1.2s linear infinite}.spinner-ring:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-right-color:#06b6d4;border-radius:50%;animation:spin .8s linear infinite reverse}.spinner-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:3rem;animation:pulse-scale 1.5s ease-in-out infinite}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.magic-icon{font-size:4rem;margin-bottom:16px;display:inline-block}.stages-title{font-size:2rem;margin-bottom:8px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stages-subtitle{color:var(--text-secondary);font-size:1.1rem}.stages-list{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.stage-item{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border-radius:var(--radius-lg);border:2px solid rgba(255,255,255,.05);text-align:left;transition:all .3s ease}.stage-item.active{border-color:var(--primary-purple);background:#8b5cf61a;box-shadow:0 0 30px #8b5cf633}.stage-item.completed{border-color:var(--primary-green);background:#22c55e1a}.stage-item.pending{opacity:.5}.stage-icon-wrapper{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:var(--radius-full);flex-shrink:0}.stage-icon{font-size:1.8rem}.stage-check{font-size:1.5rem;color:var(--primary-green);font-weight:700}.stage-content{flex:1}.stage-title{font-size:1.1rem;font-weight:600;margin-bottom:4px;color:var(--text-primary)}.stage-description{font-size:.9rem;color:var(--text-secondary)}.progress-log{background:var(--bg-card);border-radius:var(--radius-lg);padding:20px;margin-bottom:24px}.log-title{font-size:.9rem;color:var(--text-secondary);margin-bottom:12px;text-transform:uppercase;letter-spacing:1px}.log-container{max-height:150px;overflow-y:auto;text-align:left}.log-item{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:.9rem;color:var(--text-secondary);border-bottom:1px solid rgba(255,255,255,.05)}.log-item:last-child{border-bottom:none}.log-dot{width:8px;height:8px;background:var(--primary-purple);border-radius:50%;flex-shrink:0}.log-waiting{color:var(--text-secondary);opacity:.7}.fun-facts{margin-top:24px}.fact-bubble{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:var(--radius-full)}.fact-icon{font-size:1.3rem}.fact-text{font-size:.9rem;color:#fbbf24}@media(max-width:480px){.stages-title{font-size:1.5rem}.stage-item{padding:16px}.stage-icon-wrapper{width:40px;height:40px}.stage-icon{font-size:1.4rem}}.image-upload{margin:1rem 0}.image-upload-zone{border:2px dashed rgba(255,255,255,.3);border-radius:16px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#ffffff0d;position:relative}.image-upload-zone:hover,.image-upload-zone.drag-over{border-color:#4ecdc4;background:#4ecdc41a}.image-upload-zone.disabled{opacity:.5;cursor:not-allowed}.image-upload-icon{font-size:3rem;margin-bottom:.5rem}.image-upload-text{color:#ffffffb3;font-size:.95rem;margin:.5rem 0}.image-upload-text strong{color:#4ecdc4}.image-upload-buttons{display:flex;gap:.75rem;justify-content:center;margin-top:1rem}.image-upload-btn{padding:.85rem 1.4rem;min-height:48px;border-radius:10px;border:none;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:transform .2s,background .2s;-webkit-tap-highlight-color:transparent}.image-upload-btn:hover{transform:scale(1.05)}.image-upload-btn.file-btn{background:#4ecdc4;color:#1a1a2e;font-weight:600}.image-upload-btn.camera-btn{background:#ff6b6b;color:#fff;font-weight:600}.image-upload-hidden{display:none}.image-preview{position:relative;border-radius:16px;overflow:hidden;background:#ffffff0d;border:2px solid rgba(78,205,196,.3)}.image-preview img{width:100%;max-height:300px;object-fit:contain;display:block}.image-preview-overlay{position:absolute;top:0;right:0;padding:.5rem}.image-clear-btn{width:48px;height:48px;border-radius:50%;border:none;background:#ff6b6be6;color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s;-webkit-tap-highlight-color:transparent}.image-clear-btn:hover{transform:scale(1.1)}.image-preview-info{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;color:#ffffffb3;font-size:.85rem}.image-error{color:#ff6b6b;font-size:.85rem;margin-top:.5rem;text-align:center}@media(max-width:480px){.image-upload-zone{padding:1.5rem 1rem}.image-upload-buttons{flex-direction:column}.image-upload-btn{width:100%;justify-content:center;padding:1rem;font-size:1.05rem}.image-preview img{max-height:200px}}.upgrade-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:upgradeFadeIn .2s ease}@keyframes upgradeFadeIn{0%{opacity:0}to{opacity:1}}.upgrade-modal{background:var(--bg-card);border:2px solid rgba(139,92,246,.3);border-radius:24px;padding:32px 28px;max-width:420px;width:100%;text-align:center;position:relative;animation:upgradeSlideUp .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 20px 60px #8b5cf64d}@keyframes upgradeSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.upgrade-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;font-size:1.4rem;cursor:pointer;line-height:1;transition:background .2s ease}.upgrade-close:hover{background:#fff3}.upgrade-icon{font-size:3.5rem;margin-bottom:12px}.upgrade-title{font-size:1.5rem;font-weight:800;color:#fff;margin-bottom:10px}.upgrade-desc{color:var(--text-secondary);font-size:.95rem;margin-bottom:24px;line-height:1.5}.upgrade-suggestion{background:linear-gradient(135deg,#8b5cf626,#ec48991a);border:1px solid rgba(139,92,246,.3);border-radius:16px;padding:20px 16px;margin-bottom:20px;position:relative}.upgrade-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:#8b5cf6;color:#fff;font-size:.65rem;font-weight:800;padding:4px 10px;border-radius:20px;letter-spacing:1px}.upgrade-suggestion h3{font-size:1.2rem;color:#a78bfa;margin-bottom:12px;margin-top:4px}.upgrade-stat{margin-bottom:10px}.upgrade-stat-value{font-size:2rem;font-weight:800;color:#fff;margin-right:8px}.upgrade-stat-label{font-size:.9rem;color:var(--text-secondary)}.upgrade-price{font-size:1.4rem;font-weight:700;color:#fff}.upgrade-price span{font-size:.9rem;color:var(--text-secondary);margin-left:2px}.upgrade-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.upgrade-cta{width:100%;padding:13px 18px;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;border:2px solid transparent}.upgrade-cta.primary{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;border-color:transparent}.upgrade-cta.primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #8b5cf666}.upgrade-cta.secondary{background:transparent;color:var(--text-secondary);border-color:#ffffff26}.upgrade-cta.secondary:hover{border-color:#ffffff4d;color:var(--text-primary)}.upgrade-footer{font-size:.8rem;color:var(--text-secondary);margin:0}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;padding:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;z-index:1001;gap:7px;transition:background .2s ease}.mobile-menu-toggle:hover{background:#ffffff1a}.mobile-menu-toggle:active{background:#8b5cf633}.hamburger-line{display:block;width:22px;height:2px;background:var(--text-primary);border-radius:1px;transition:all .3s ease;flex-shrink:0}.mobile-menu-toggle.open .hamburger-line:nth-child(1){transform:translateY(9px) rotate(45deg)}.mobile-menu-toggle.open .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-toggle.open .hamburger-line:nth-child(3){transform:translateY(-9px) rotate(-45deg)}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:999;animation:fadeInOverlay .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mobile-menu-drawer{position:fixed;top:0;right:0;bottom:0;width:280px;max-width:85vw;background:var(--bg-card);z-index:1000;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column;padding:calc(var(--safe-area-top) + 16px) 0 calc(var(--safe-area-bottom) + 16px);box-shadow:-4px 0 20px #0000004d;overflow-y:auto}.mobile-menu-drawer.open{transform:translate(0)}.menu-user-section{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.menu-user-avatar{font-size:2.5rem;line-height:1}.menu-user-info{flex:1;display:flex;flex-direction:column}.menu-user-name{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.menu-user-age{font-size:.85rem;color:var(--text-secondary)}.menu-switch-btn{padding:6px 12px;background:#8b5cf633;border:1px solid rgba(139,92,246,.4);border-radius:var(--radius-sm);color:var(--primary-purple);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.menu-switch-btn:hover{background:#8b5cf64d}.menu-usage-section{padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.menu-usage-section .usage-meter-button{width:100%;justify-content:flex-start}.menu-items{flex:1;padding:8px 0}.menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:transparent;border:none;color:var(--text-primary);font-size:1rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s ease;text-align:left}.menu-item:hover,.menu-item:focus{background:#8b5cf61a}.menu-item.active{background:#8b5cf626;color:var(--primary-purple);border-left:3px solid var(--primary-purple)}.menu-item-icon{font-size:1.3rem;width:28px;text-align:center}.menu-item-label{flex:1}.menu-item-badge{padding:2px 8px;background:var(--primary-purple);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.menu-divider{height:1px;background:#ffffff1a;margin:8px 20px}.menu-footer{padding:8px 20px;border-top:1px solid rgba(255,255,255,.1);margin-top:auto}.menu-logout-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 0;background:transparent;border:none;color:#ef4444;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.menu-logout-btn:hover{color:#f87171}@media(max-width:768px){.mobile-menu-toggle{display:flex}}@media(min-width:481px)and (max-width:768px){.mobile-menu-drawer{width:320px}}@media(max-height:500px)and (orientation:landscape){.mobile-menu-drawer{width:260px}.menu-user-section{padding:12px 16px}.menu-user-avatar{font-size:2rem}.menu-item{padding:10px 16px}}.header-nav-right{gap:16px;align-items:center;flex-wrap:nowrap}.primary-nav{display:flex;align-items:center;gap:4px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:4px}.pn-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;font-size:.9rem;font-weight:600;color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:background .15s ease,color .15s ease}.pn-link:hover{background:#ffffff0f;color:var(--text-primary)}.pn-link.active{background:#8b5cf62e;color:#c4b5fd}.pn-icon{font-size:1rem;line-height:1}.header-cluster{display:flex;align-items:center;gap:10px}.stats-pill-wrap{position:relative}.stats-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:var(--text-primary);font-weight:600;font-size:.85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.stats-pill:hover{background:#ffffff14;border-color:#fff3}.stats-pill.warn{border-color:#fbbf2473}.stats-pill.critical{border-color:#ef44448c;background:#ef444414}.sp-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;font-size:.8rem;line-height:1}.sp-chip+.sp-chip{border-left:1px solid rgba(255,255,255,.1);padding-left:10px;margin-left:2px}.sp-level{color:#fbbf24}.sp-streak{color:#fb923c}.sp-usage{color:#c4b5fd}.sp-ic{font-size:.95rem}.stats-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px;box-shadow:0 12px 40px #00000073;z-index:60;animation:sp-fade .15s ease}@keyframes sp-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sp-section+.sp-section{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.sp-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;color:var(--text-primary)}.sp-row.muted{font-size:.78rem;color:var(--text-secondary);margin-top:4px}.sp-lbl{font-weight:600}.sp-xpbar{height:6px;background:#ffffff14;border-radius:3px;margin:8px 0 4px;overflow:hidden}.sp-xpfill{height:100%;background:linear-gradient(90deg,#8b5cf6,#ec4899);transition:width .3s ease}.sp-xpfill.warn{background:linear-gradient(90deg,#f59e0b,#fb923c)}.sp-xpfill.critical{background:linear-gradient(90deg,#ef4444,#dc2626)}.sp-link{display:inline-block;margin-top:8px;font-size:.85rem;color:#a78bfa;text-decoration:none;font-weight:600}.sp-link:hover{color:#c4b5fd}.upgrade-cta{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff!important;text-decoration:none;font-weight:700;font-size:.85rem;border-radius:10px;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}.upgrade-cta:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf659}.avatar-menu-wrap{position:relative}.avatar-menu-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:#8b5cf624;border:1px solid rgba(139,92,246,.3);border-radius:999px;color:#c4b5fd;font-weight:600;font-size:.9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.avatar-menu-trigger:hover{background:#8b5cf638;border-color:#8b5cf680}.avatar-emoji{font-size:1.1rem;background:#ffffff1a;width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.avatar-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-chevron{font-size:.7rem;opacity:.7}.avatar-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;background:var(--bg-card);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:6px;box-shadow:0 12px 40px #00000073;z-index:60;animation:sp-fade .15s ease}.am-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;font-weight:500;text-decoration:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .12s ease}.am-item:hover{background:#ffffff0f}.am-ic{font-size:1rem;width:20px;display:inline-flex;justify-content:center}.am-divider{height:1px;background:#ffffff14;margin:6px 4px}.am-logout{color:#fca5a5}.am-logout:hover{background:#ef44441a}@media(max-width:1180px){.pn-link .pn-label{display:none}.pn-link{padding:8px 10px}.pn-icon{font-size:1.15rem}.avatar-name{max-width:80px}}@media(max-width:900px){.header-nav-right{display:none!important}}.generate-page{min-height:100vh;display:flex;flex-direction:column}.generate-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:16px}.header-left{display:flex;align-items:center}.header-title{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:8px;background:var(--gradient-fun);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:900px){.header-right .xp-bar-container,.header-right .streak-indicator{display:none}}.header-right .btn{padding:14px 20px;font-size:1rem;min-height:50px;white-space:nowrap}.header-right .btn-primary,.header-right .btn-secondary,.header-right .btn-multiplayer{display:inline-flex;align-items:center;justify-content:center;gap:8px}.header-right .btn-multiplayer{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;border:none;font-weight:600;text-decoration:none;padding:14px 20px;font-size:1rem;min-height:50px;border-radius:var(--radius-md);transition:all .2s ease}.header-right .btn-multiplayer:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.username-badge{padding:8px 16px;background:#8b5cf633;border-radius:var(--radius-full);font-weight:600;color:#a78bfa;display:flex;align-items:center;gap:8px}.username-badge-link{text-decoration:none;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;border:1px solid rgba(139,92,246,.3)}.username-badge-link:after{content:"›";margin-left:4px;opacity:.5;font-size:1.2em;line-height:1}.username-badge-link:hover{background:#8b5cf659;color:#c4b5fd;border-color:#8b5cf699;transform:translateY(-1px)}.username-badge-link:hover:after{opacity:1}.switch-btn{background:transparent;border:none;font-size:1rem;cursor:pointer;opacity:.7;transition:opacity .2s,transform .2s}.switch-btn:hover{opacity:1;transform:rotate(180deg)}.generate-main{flex:1;padding:40px 20px;display:flex;flex-direction:column;align-items:center}.generate-form{max-width:600px;width:100%}.section-title{font-size:2rem;text-align:center;margin-bottom:20px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.experiments-link-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:28px;background:linear-gradient(135deg,#22d3ee1a,#8b5cf61a);border:1px solid rgba(34,211,238,.3);border-radius:14px}.elb-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.elb-ic{font-size:1.8rem;flex-shrink:0}.elb-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.elb-sub{font-size:.85rem;color:var(--text-secondary)}.elb-btn{background:linear-gradient(135deg,#22d3ee,#8b5cf6);color:#fff!important;text-decoration:none;font-weight:700;font-size:.9rem;padding:10px 16px;border-radius:10px;white-space:nowrap;transition:transform .15s,box-shadow .15s;flex-shrink:0}.elb-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #22d3ee66}@media(max-width:500px){.experiments-link-banner{flex-direction:column;align-items:stretch}.elb-btn{text-align:center}}.mode-toggle{display:flex;gap:12px;margin-bottom:28px;padding:6px;background:var(--bg-card);border-radius:var(--radius-lg)}.mode-btn{flex:1;padding:14px 16px;border:2px solid transparent;border-radius:var(--radius-md);background:transparent;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:1rem;font-weight:600;color:var(--text-secondary)}.mode-btn:hover{background:#8b5cf61a;color:var(--text-primary)}.mode-btn.active{background:linear-gradient(135deg,var(--primary-purple) 0%,var(--primary-pink) 100%);color:#fff;border-color:transparent;box-shadow:0 4px 20px #8b5cf64d}.mode-desc{font-size:.75rem;font-weight:400;opacity:.8}.mode-btn.active .mode-desc{opacity:1}.form-section{margin-bottom:28px;scroll-margin-top:80px}.form-label{font-size:1.2rem;margin-bottom:16px;color:var(--text-primary)}.topic-section{display:grid;transition:grid-template-rows .3s ease,opacity .25s ease,visibility .3s ease}.topic-section-hidden{grid-template-rows:0fr;opacity:0;margin-bottom:0!important;pointer-events:none;visibility:hidden}.topic-section-inner{overflow:hidden;min-height:0}.topic-section-visible{grid-template-rows:1fr;opacity:1;visibility:visible}.topic-section-visible .topic-section-inner{overflow:visible}@keyframes topicFadeIn{0%{opacity:0}to{opacity:1}}.topic-suggestions{display:flex;flex-direction:column;gap:16px;min-height:60px;margin-top:12px}.topic-category{display:flex;flex-direction:column;gap:10px;animation:topicFadeIn .2s ease}.category-header{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;color:var(--text-secondary);padding-left:4px}.category-header .category-icon{font-size:1rem}.category-header.personalized{color:#22c55e}.category-header.curriculum{color:#3b82f6}.category-header.trending{color:#fb923c}.category-header.community{color:#a855f7}.topic-pills{display:flex;flex-wrap:wrap;gap:8px}.topic-pill{padding:10px 18px;background:var(--bg-card);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;font-size:.95rem;font-weight:600;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;gap:6px;min-height:42px;-webkit-tap-highlight-color:transparent}.topic-pill:hover{background:#8b5cf633;border-color:var(--primary-purple);color:var(--text-primary)}.topic-pill.selected{background:#8b5cf640;border-color:var(--primary-purple);color:var(--text-primary);box-shadow:0 0 0 3px #8b5cf633}.topic-pill.trending{border-color:#fb923c80;background:#fb923c1a}.topic-pill.trending:hover{background:#fb923c33;border-color:#fb923c}.topic-pill.personalized{border-color:#22c55e80;background:#22c55e1a}.topic-pill.personalized:hover{background:#22c55e33;border-color:#22c55e}.topic-pill.curriculum{border-color:#3b82f680;background:#3b82f61a}.topic-pill.curriculum:hover{background:#3b82f633;border-color:#3b82f6}.topic-pill.community{border-color:#a855f780;background:#a855f71a}.topic-pill.community:hover{background:#a855f733;border-color:#a855f7}.topic-pill .badge{font-size:.85rem;opacity:.9}.topic-pill .play-count{font-size:.75rem;background:#a855f74d;padding:2px 6px;border-radius:var(--radius-full);margin-left:4px}.suggestions-loading{padding:8px 0;animation:topicFadeIn .15s ease}.skeleton-header{width:140px;height:16px;background:linear-gradient(90deg,#8b5cf614,#8b5cf626,#8b5cf614);background-size:200% 100%;border-radius:4px;animation:shimmer 1.5s ease-in-out infinite;margin-bottom:8px}.topic-skeleton{display:flex;flex-wrap:wrap;gap:8px}.skeleton-pill{width:100px;height:36px;background:linear-gradient(90deg,#8b5cf61a,#8b5cf633,#8b5cf61a);background-size:200% 100%;border-radius:var(--radius-full);animation:shimmer 1.5s ease-in-out infinite}.skeleton-pill:nth-child(1){width:90px}.skeleton-pill:nth-child(2){width:120px}.skeleton-pill:nth-child(3){width:80px}.skeleton-pill:nth-child(4){width:110px}.skeleton-pill:nth-child(5){width:95px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-suggestions{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.error-message{color:#f87171;font-size:.95rem;margin-bottom:16px;padding:12px;background:#f871711a;border-radius:var(--radius-md);text-align:center}.generate-btn{width:100%;margin-top:16px}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.game-ready{text-align:center;max-width:600px}.success-icon{font-size:5rem;margin-bottom:16px;animation:bounce 1s ease infinite}.success-title{font-size:2.5rem;margin-bottom:8px;background:var(--gradient-success);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-subtitle{font-size:1.2rem;color:var(--text-secondary);margin-bottom:12px}.generation-time{font-size:.95rem;color:var(--text-secondary);margin-bottom:24px;padding:8px 16px;background:#22c55e1a;border-radius:var(--radius-full);display:inline-block}.game-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:32px}.game-info{text-align:left}.game-info p{margin-bottom:8px;color:var(--text-secondary)}.game-info strong{color:var(--text-primary)}@media(max-width:768px){.generate-header{flex-direction:row;flex-wrap:nowrap;padding:12px 16px;height:var(--header-height-mobile);gap:12px}.header-left{flex:1;min-width:0}.header-title{font-size:1.2rem}.title-text{display:none}.title-icon{font-size:1.5rem}.section-title{font-size:1.6rem}.generate-main{padding:24px 16px}.success-title{font-size:1.8rem}.game-actions{flex-direction:column}.game-actions .btn{width:100%}.mode-toggle{gap:8px}.mode-btn{padding:12px;font-size:.9rem}}@media(max-width:375px){.generate-header{padding:10px 12px}.section-title{font-size:1.4rem}.form-label{font-size:1.1rem}}.input-mode-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.input-mode-toggle .input-mode-btn{flex:1;padding:.85rem 1rem;min-height:48px;border-radius:10px;border:2px solid rgba(255,255,255,.15);background:#ffffff0d;color:#fff9;font-size:.95rem;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.input-mode-toggle .input-mode-btn.active{border-color:#4ecdc4;background:#4ecdc426;color:#4ecdc4;font-weight:600}.input-mode-toggle .input-mode-btn:hover:not(.active){border-color:#ffffff4d;color:#fffc}.game-frame-container{width:calc(100vw - 40px);height:calc(100vh - 100px);background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 40px #0000004d;border:2px solid rgba(139,92,246,.3)}.game-frame{width:100%;height:100%;border:none;background:#fff;overflow:auto}.game-frame-empty{width:100%;max-width:900px;aspect-ratio:16 / 10;background:var(--bg-card);border-radius:var(--radius-lg);border:2px dashed rgba(139,92,246,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.game-frame-empty .empty-icon{font-size:4rem;opacity:.5}.game-frame-empty p{color:var(--text-secondary);font-size:1.1rem}.fullscreen-main .game-frame-container{width:100vw;height:100vh;max-width:none;border-radius:0;border:none}@media(max-width:768px){.game-frame-container{width:95vw;height:calc(100vh - 160px);border-radius:var(--radius-md)}}.cast-button{position:relative;background:#ffffff1a;border:none;border-radius:var(--radius-md);padding:10px 14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.cast-button:hover{background:#ffffff26;color:var(--text-primary)}.cast-button.connected{color:var(--primary-purple);background:#8b5cf633}.cast-button.casting{color:#22c55e;background:#22c55e33}.cast-button.unavailable{opacity:.6;cursor:pointer}.cast-button.unavailable:hover{background:#ffffff26;color:var(--text-primary)}.cast-icon{width:24px;height:24px}.cast-button.casting .cast-wave{animation:wave-pulse 1.5s ease-in-out infinite}.cast-wave-1{animation-delay:0s}.cast-wave-2{animation-delay:.2s}.cast-wave-3{animation-delay:.4s}@keyframes wave-pulse{0%,to{opacity:1}50%{opacity:.3}}.cast-active{fill:#22c55e;animation:pulse-glow 1s ease-in-out infinite}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.casting-badge{position:absolute;top:-4px;right:-4px;background:#22c55e;color:#fff;font-size:.6rem;font-weight:700;padding:2px 5px;border-radius:4px;animation:badge-pulse 2s infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.game-controller{display:flex;flex-direction:column;height:100%;padding:20px;background:var(--bg-card);border-radius:var(--radius-lg)}.controller-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1)}.casting-status{display:flex;align-items:center;gap:8px;color:#22c55e;font-weight:600}.status-dot{width:10px;height:10px;background:#22c55e;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.stop-btn{background:#ef444433;color:#ef4444;border:none;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s ease}.stop-btn:hover{background:#ef44444d}.controller-stats{display:flex;justify-content:center;gap:32px;margin-bottom:24px;padding:16px;background:#8b5cf61a;border-radius:var(--radius-md)}.stat{text-align:center}.stat-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:4px}.stat-value{font-size:1.5rem;font-weight:700;color:var(--primary-purple)}.controller-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.controller-main h3{margin-bottom:20px;color:var(--text-primary);font-size:1.2rem;text-align:center}.controller-footer{text-align:center;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:.9rem}.boss-battle-controller{width:100%;max-width:400px}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.answer-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:linear-gradient(135deg,#8b5cf633,#ec489933);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;min-height:80px}.answer-btn:hover{transform:scale(1.02);border-color:var(--primary-purple);background:linear-gradient(135deg,#8b5cf64d,#ec48994d)}.answer-btn:active{transform:scale(.98)}.answer-btn.selected{background:linear-gradient(135deg,#22c55e66,#10b98166);border-color:#22c55e;box-shadow:0 0 20px #22c55e80}.answer-btn.selected .answer-letter{color:#22c55e}.answer-btn:disabled{cursor:not-allowed;opacity:.6}.answer-letter{font-size:2rem;font-weight:700;color:var(--primary-purple)}.answer-text{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.pattern-controller{width:100%;max-width:300px}.pattern-grid{display:grid;gap:8px;margin-bottom:16px}.pattern-cell{aspect-ratio:1;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-md);font-size:1.2rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.pattern-cell:hover{background:#8b5cf64d;border-color:var(--primary-purple)}.pattern-cell:active{background:var(--primary-purple)}.pattern-option-btn{padding:20px;background:#8b5cf633;border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-lg);color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:8px}.pattern-option-btn:hover{background:#8b5cf64d;border-color:var(--primary-purple)}.pattern-option-btn.selected{background:linear-gradient(135deg,#22c55e66,#10b98166);border-color:#22c55e;box-shadow:0 0 20px #22c55e80;color:#22c55e}.pattern-option-btn:disabled{cursor:not-allowed;opacity:.6}.pattern-options{display:flex;flex-direction:column;gap:8px}.category-sort-controller{width:100%;max-width:400px}.items-list,.categories-list{margin-bottom:16px}.items-label,.categories-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:8px}.items-grid,.categories-grid{display:flex;flex-wrap:wrap;gap:8px}.item-btn{padding:10px 16px;background:#3b82f633;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);color:#60a5fa;cursor:pointer;transition:all .2s ease}.item-btn:hover{background:#3b82f64d}.category-btn{flex:1;min-width:120px;padding:16px;background:#22c55e33;border:2px dashed rgba(34,197,94,.3);border-radius:var(--radius-md);color:#22c55e;font-weight:600;cursor:pointer;transition:all .2s ease}.category-btn:hover{background:#22c55e4d;border-style:solid}.memory-match-controller{width:100%;max-width:350px}.card-grid{display:grid;gap:8px}.card-btn{aspect-ratio:1;background:linear-gradient(135deg,#8b5cf633,#ec48991a);border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-md);font-size:1.1rem;font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.card-btn:hover{transform:scale(1.05);border-color:var(--primary-purple)}.card-btn:active{transform:scale(.95)}.fill-blank-controller{width:100%;max-width:400px}.fill-blank-controller form{display:flex;flex-direction:column;gap:12px}.answer-input{padding:16px;font-size:1.2rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:var(--text-primary);text-align:center}.answer-input:focus{outline:none;border-color:var(--primary-purple)}.quick-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.quick-actions button{padding:8px 16px;background:#ffffff1a;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.quick-actions button:hover{background:#fff3;color:var(--text-primary)}.generic-controller{width:100%;max-width:300px}.generic-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.generic-buttons button{padding:20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .2s ease}.generic-buttons button:hover{background:#fff3}.generic-buttons button.selected{background:linear-gradient(135deg,#22c55e66,#10b98166);border-color:#22c55e;box-shadow:0 0 20px #22c55e80;color:#22c55e}.generic-buttons button:disabled{cursor:not-allowed;opacity:.6}.submit-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));border:none;border-radius:var(--radius-md);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #8b5cf666}.submit-btn:active{transform:translateY(0)}@media(max-width:480px){.game-controller{padding:16px}.answer-btn{padding:16px;min-height:70px}.answer-letter{font-size:1.5rem}.controller-stats{gap:16px;padding:12px}.stat-value{font-size:1.2rem}}.completion-screen{flex:1;display:flex;align-items:center;justify-content:center;padding:20px}.completion-content{text-align:center;max-width:400px;width:100%}.completion-icon{font-size:5rem;margin-bottom:16px;animation:celebration 1s ease-out}@keyframes celebration{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg);opacity:1}}.completion-content h2{font-size:2rem;margin-bottom:24px;background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.final-stats{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;padding:20px;background:#8b5cf626;border-radius:var(--radius-lg);border:1px solid rgba(139,92,246,.3)}.final-stat{display:flex;justify-content:space-between;align-items:center}.final-stat-label{font-size:1rem;color:var(--text-secondary);font-weight:500}.final-stat-value{font-size:1.8rem;font-weight:700;color:var(--primary-purple)}.completion-actions{display:flex;flex-direction:column;gap:12px}.replay-btn,.new-game-btn,.completion-actions .back-btn{width:100%;padding:16px;border:none;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.replay-btn{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;box-shadow:0 4px 15px #8b5cf666}.replay-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf680}.new-game-btn{background:#22c55e33;color:#22c55e;border:2px solid rgba(34,197,94,.4)}.new-game-btn:hover{background:#22c55e4d;border-color:#22c55e}.completion-actions .back-btn{background:#ffffff1a;color:var(--text-secondary);border:1px solid rgba(255,255,255,.2)}.completion-actions .back-btn:hover{background:#ffffff26;color:var(--text-primary)}@media(max-width:480px){.completion-icon{font-size:4rem}.completion-content h2{font-size:1.5rem}.final-stat-value{font-size:1.4rem}}.feedback-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.feedback-modal{background:var(--bg-secondary, #1e1e2e);border-radius:1rem;padding:2rem;max-width:400px;width:100%;text-align:center;box-shadow:0 8px 32px #0000004d;animation:feedbackSlideIn .3s ease-out}@keyframes feedbackSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-title{font-size:1.5rem;margin:0 0 .5rem;color:var(--text-primary, #fff)}.feedback-subtitle{color:var(--text-secondary, #a0a0a0);margin:0 0 1.5rem;font-size:.95rem}.feedback-stars{display:flex;justify-content:center;gap:.5rem;margin-bottom:.5rem}.feedback-star{background:none;border:none;font-size:2.5rem;cursor:pointer;color:var(--text-secondary, #a0a0a0);transition:transform .15s,color .15s;padding:.25rem}.feedback-star:hover{transform:scale(1.2)}.feedback-star.active{color:#ffc107}.feedback-rating-text{color:var(--text-secondary, #a0a0a0);font-size:.9rem;height:1.5rem;margin-bottom:1rem}.feedback-comment{width:100%;padding:.75rem;border:1px solid var(--border-color, #3a3a4a);border-radius:.5rem;background:var(--bg-primary, #121218);color:var(--text-primary, #fff);font-size:.95rem;resize:none;margin-bottom:1.5rem}.feedback-comment:focus{outline:none;border-color:var(--accent-color, #6366f1)}.feedback-comment::placeholder{color:var(--text-secondary, #a0a0a0)}.feedback-actions{display:flex;gap:1rem;justify-content:center}.feedback-skip,.feedback-submit{padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.feedback-skip{background:transparent;border:1px solid var(--border-color, #3a3a4a);color:var(--text-secondary, #a0a0a0)}.feedback-skip:hover{background:var(--bg-primary, #121218);color:var(--text-primary, #fff)}.feedback-submit{background:var(--accent-color, #6366f1);border:none;color:#fff}.feedback-submit:hover:not(:disabled){background:var(--accent-hover, #5558e3);transform:translateY(-1px)}.feedback-submit:disabled{opacity:.5;cursor:not-allowed}.feedback-thanks{padding:2rem 0}.feedback-thanks-icon{font-size:2rem;margin-bottom:1rem;color:#22c55e}.feedback-thanks p{color:var(--text-secondary, #a0a0a0);margin:0}.achievement-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease}.achievement-popup-overlay.visible{opacity:1}.achievement-popup{background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:24px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 60px #00000080;position:relative;overflow:hidden;transform:scale(.8) translateY(20px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.achievement-popup.visible{transform:scale(1) translateY(0);opacity:1}.achievement-glow{position:absolute;top:-50%;left:-50%;right:-50%;bottom:-50%;background:radial-gradient(circle,rgba(251,191,36,.2) 0%,rgba(251,191,36,.1) 30%,transparent 70%);animation:pulse-glow 2s ease-in-out infinite;pointer-events:none}@keyframes pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.achievement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;position:relative;z-index:1}.achievement-unlock-text{font-size:24px;font-weight:800;color:#fbbf24;margin:0;text-shadow:0 2px 10px rgba(251,191,36,.5)}.achievement-close-btn{background:#ffffff1a;border:none;color:#94a3b8;font-size:28px;width:32px;height:32px;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1}.achievement-close-btn:hover{background:#fff3;color:#fff}.achievement-content{text-align:center;position:relative;z-index:1}.achievement-icon-container{position:relative;display:inline-block;margin-bottom:20px}.achievement-icon-large{font-size:80px;animation:bounce-in .6s cubic-bezier(.68,-.55,.265,1.55);display:inline-block}@keyframes bounce-in{0%{transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.achievement-sparkles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.sparkle{position:absolute;font-size:24px;animation:sparkle-float 2s ease-in-out infinite}.sparkle-1{top:-40px;left:-40px;animation-delay:0s}.sparkle-2{top:-40px;right:-40px;animation-delay:.3s}.sparkle-3{bottom:-40px;left:0;animation-delay:.6s}@keyframes sparkle-float{0%,to{opacity:0;transform:translateY(0) scale(.5)}50%{opacity:1;transform:translateY(-10px) scale(1)}}.achievement-name{font-size:28px;font-weight:700;color:#fff;margin:0 0 12px}.achievement-description{font-size:16px;color:#cbd5e1;margin:0 0 24px;line-height:1.5}.achievement-xp-badge{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e293b;padding:12px 24px;border-radius:12px;font-weight:700;font-size:20px;box-shadow:0 4px 12px #fbbf2466;animation:xp-pulse 1s ease-in-out infinite}@keyframes xp-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.xp-icon{font-size:24px;animation:rotate-star 3s linear infinite}@keyframes rotate-star{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.achievement-footer{margin-top:24px;position:relative;z-index:1}.achievement-ok-btn{width:100%;padding:14px 28px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.achievement-ok-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.achievement-ok-btn:active{transform:translateY(0)}@media(max-width:640px){.achievement-popup{padding:24px}.achievement-unlock-text{font-size:20px}.achievement-icon-large{font-size:64px}.achievement-name{font-size:24px}.achievement-description{font-size:14px}.achievement-xp-badge{font-size:18px;padding:10px 20px}}.xp-bar-container{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#6366f1,#4f46e5);border-radius:var(--radius-lg, 20px);padding:8px 16px;color:#fff;min-width:140px;height:50px}.xp-bar-placeholder{opacity:0}.xp-header{display:flex;align-items:center;gap:8px}.level-badge{display:flex;align-items:center;gap:3px;background:#fff3;padding:2px 7px;border-radius:6px;white-space:nowrap}.level-icon{font-size:13px}.level-text{font-size:12px;font-weight:700}.xp-total{display:flex;align-items:baseline;gap:3px;white-space:nowrap}.total-xp-amount{font-size:13px;font-weight:700}.total-xp-label{font-size:10px;opacity:.8}.xp-progress-section{flex:1;min-width:40px}.xp-progress-bar{background:#fff3;height:5px;border-radius:3px;overflow:hidden}.xp-progress-fill{height:100%;background:linear-gradient(90deg,#fbbf24,#f59e0b);border-radius:3px;transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.xp-progress-shine{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shine 2s ease-in-out infinite}@keyframes shine{0%{left:-100%}50%,to{left:100%}}.xp-progress-info,.xp-footer{display:none}@media(max-width:640px){.xp-bar-container{min-width:100px;padding:4px 8px;height:32px}.level-text{font-size:11px}.total-xp-amount{font-size:12px}}.player-page{min-height:100vh;display:flex;flex-direction:column}.player-page.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;background:var(--bg-dark)}.player-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.05);position:relative;z-index:10}.back-btn{padding:8px 16px;font-size:.9rem;cursor:pointer;pointer-events:auto;position:relative;z-index:100}.back-btn:active{transform:scale(.95)}.game-title{font-size:1.3rem;font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.player-main{flex:1;padding:10px;display:flex;justify-content:center;align-items:stretch;min-height:0;overflow:hidden}.player-main.fullscreen-main{padding:0;position:relative}.floating-controls{position:absolute;top:calc(var(--safe-area-top, 0px) + 12px);left:12px;right:12px;z-index:100;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.floating-controls>*{pointer-events:auto}.floating-controls .cast-button{background:#000000bf;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:12px;min-height:44px;min-width:44px}.floating-controls .cast-button:hover{background:#000000e6;border-color:var(--primary-purple)}.floating-exit-btn{display:flex;align-items:center;gap:6px;padding:12px 16px;min-height:44px;background:#000000bf;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.floating-exit-btn:hover{background:#000000e6;border-color:var(--primary-purple);transform:translate(-2px)}.floating-exit-btn:active{transform:scale(.95)}.floating-exit-btn .exit-icon{font-size:1.2rem;font-weight:700}.floating-exit-btn .exit-text{font-size:.95rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.loading-container p{color:var(--text-secondary);font-size:1.1rem}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;text-align:center}.error-icon{font-size:4rem}.error-container h2{color:var(--text-secondary);font-weight:500}@media(max-width:768px){.player-header{flex-direction:row;padding:10px 12px;gap:8px;min-height:var(--header-height-mobile, 56px)}.header-left{flex:1;min-width:0;gap:8px}.back-btn{padding:10px 12px;font-size:.85rem;min-height:44px}.game-title{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right{gap:8px}.header-right .player-badge,.header-right .btn-secondary:not(.cast-button){display:none}.player-main{padding:4px}}@media(max-height:500px)and (orientation:landscape){.player-header{padding:6px 12px;min-height:44px}.game-title{font-size:.9rem}.floating-controls{top:8px;left:8px;right:8px}.floating-exit-btn{padding:8px 12px;font-size:.9rem}.floating-controls .cast-button{padding:8px}}.xp-reward-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:xpFadeIn .3s ease}@keyframes xpFadeIn{0%{opacity:0}to{opacity:1}}.xp-reward-card{background:linear-gradient(135deg,#1e293b,#0f172a);border:2px solid rgba(255,215,0,.3);border-radius:24px;padding:40px;text-align:center;max-width:360px;width:90%;animation:xpSlideUp .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes xpSlideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.xp-reward-header{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:16px}.xp-reward-level{font-size:1.1rem;color:#a78bfa;font-weight:600;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:8px}.xp-reward-level-icon{font-size:1.4rem}.xp-reward-amount{font-size:3rem;font-weight:800;color:gold;text-shadow:0 0 30px rgba(255,215,0,.4);margin-bottom:24px;animation:xpPulse 1.5s ease infinite}@keyframes xpPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.xp-reward-progress{margin-bottom:24px}.xp-reward-bar{height:12px;background:#ffffff1a;border-radius:6px;overflow:hidden;margin-bottom:8px}.xp-reward-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:6px;transition:width 1s cubic-bezier(.4,0,.2,1)}.xp-reward-bar-text{font-size:.85rem;color:#94a3b8}.xp-reward-btn{padding:14px 40px;border:none;border-radius:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 25px #667eea66}.xp-reward-btn:hover{transform:scale(1.05)}@media(max-width:400px){.xp-reward-card{padding:24px 16px;border-radius:18px}.xp-reward-amount{font-size:2.2rem}.xp-reward-header{font-size:1.2rem}}@media(max-width:768px){.player-header .xp-bar-container{display:none}}.saved-page{min-height:100vh;display:flex;flex-direction:column}.saved-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:16px}.header-left{display:flex;align-items:center;gap:16px}.back-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .2s ease}.back-link:hover{color:var(--text-primary)}.header-title{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:8px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-icon{-webkit-text-fill-color:initial}.btn-stats{background:linear-gradient(135deg,var(--primary-purple),var(--primary-pink));color:#fff;padding:10px 20px;border-radius:var(--radius-full);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s ease;box-shadow:0 4px 15px #8b5cf64d}.btn-stats:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.header-right{display:flex;align-items:center;gap:12px}.username-badge{padding:8px 16px;background:#8b5cf633;border-radius:var(--radius-full);font-weight:600;color:#a78bfa}.saved-main{flex:1;padding:40px 20px}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;gap:16px}.loading-spinner{width:50px;height:50px;border:4px solid rgba(139,92,246,.2);border-top-color:var(--primary-purple);border-radius:50%;animation:spin 1s linear infinite}.error-icon,.empty-icon{font-size:4rem}.empty-state h2{font-size:1.5rem;color:var(--text-primary)}.empty-state p,.error-state p,.loading-state p{color:var(--text-secondary)}.global-stats{margin-bottom:24px;padding:20px}.global-stats-title{font-size:1.2rem;margin-bottom:16px;color:var(--text-primary)}.global-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px}.global-stat{text-align:center;padding:12px;background:#8b5cf61a;border-radius:var(--radius-md)}.global-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-purple);margin-bottom:4px}.global-stat-label{font-size:.8rem;color:var(--text-secondary)}.games-count{color:var(--text-secondary);margin-bottom:24px;font-size:1.1rem}.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.game-card{cursor:pointer;position:relative;transition:all .3s ease}.game-card:hover{transform:translateY(-8px);box-shadow:0 12px 40px #8b5cf633}.game-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:8px}.subject-icon{font-size:2.5rem}.status-badge{padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:4px;flex-shrink:0}.status-in-progress{background:#3b82f633;color:#60a5fa}.status-paused{background:#fbbf2433;color:#fbbf24}.status-completed{background:#22c55e33;color:#22c55e}.review-badge{padding:3px 8px;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;flex-shrink:0}.review-high{background:#22c55e33;color:#22c55e}.review-mid{background:#fbbf2433;color:#fbbf24}.demo-toggle-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:2px 4px;opacity:.6;transition:opacity .2s,transform .2s}.demo-toggle-btn:hover{opacity:1;transform:scale(1.2)}.progress-section{margin-bottom:12px}.progress-bar{height:8px;background:#ffffff1a;border-radius:var(--radius-full);overflow:hidden;margin-bottom:6px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-purple),var(--primary-pink));border-radius:var(--radius-full);transition:width .3s ease}.progress-text{font-size:.8rem;color:var(--text-secondary)}.stats-section{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:10px;background:#22c55e14;border-radius:var(--radius-md)}.stat-item{display:flex;align-items:center;gap:4px;font-size:.8rem;color:#22c55e;font-weight:500}.stat-icon{font-size:.9rem}.delete-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;opacity:.5;transition:all .2s ease;padding:4px}.delete-btn:hover{opacity:1;transform:scale(1.1)}.game-card-title{font-size:1.2rem;font-weight:600;margin-bottom:12px;color:var(--text-primary)}.game-card-meta{display:flex;gap:16px;margin-bottom:12px}.meta-item{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.9rem}.meta-icon{font-size:1rem}.game-card-topic{padding:8px 12px;background:#8b5cf61a;border-radius:var(--radius-md);color:#a78bfa;font-size:.9rem;margin-bottom:16px}.game-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}.game-date{font-size:.85rem;color:var(--text-secondary)}.play-hint{font-size:.85rem;color:var(--primary-purple);font-weight:600}@media(max-width:768px){.saved-header{flex-direction:row;flex-wrap:nowrap;padding:12px 16px;height:var(--header-height-mobile, 56px);gap:12px}.header-left{flex:1;min-width:0;gap:8px}.header-title{font-size:1.2rem}.title-text{display:none}.title-icon{font-size:1.5rem}.saved-main{padding:20px 16px}.games-grid{grid-template-columns:1fr;gap:16px}.game-card{padding:16px}.game-card:hover{transform:none}.game-card:active{transform:scale(.98)}.global-stats{padding:16px;margin-bottom:16px}.global-stats-grid{grid-template-columns:repeat(3,1fr);gap:8px}.global-stat{padding:8px}.global-stat-value{font-size:1.2rem}.global-stat-label{font-size:.7rem}.games-count{font-size:1rem;margin-bottom:16px}}@media(max-width:375px){.saved-header{padding:10px 12px}.global-stats-grid{grid-template-columns:repeat(2,1fr)}}.stats-page{min-height:100vh}.stats-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:16px}.stats-header .header-left{display:flex;align-items:center;gap:16px}.stats-header .header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.stats-header .back-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .2s ease;white-space:nowrap}.stats-header .back-link:hover{color:var(--text-primary)}.stats-header .btn{padding:10px 16px;font-size:.9rem;white-space:nowrap}.stats-content{max-width:800px;margin:0 auto;padding:20px}.back-btn{background:var(--bg-card);border:none;color:var(--text-secondary);padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:1rem;transition:all .2s ease}.back-btn:hover{color:var(--text-primary);background:#ffffff1a}.child-header{display:flex;align-items:center;gap:16px}.child-header .child-avatar{font-size:3rem}.child-header h1{font-size:1.8rem;background:var(--gradient-fun);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px}.child-header .child-age{color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;text-align:center;border:2px solid rgba(255,255,255,.05)}.stat-icon{font-size:2rem;display:block;margin-bottom:12px}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label{color:var(--text-secondary);font-size:.9rem}.subject-breakdown{margin-bottom:24px}.subject-breakdown h2{font-size:1.3rem;margin-bottom:16px}.subjects-list{display:flex;flex-direction:column;gap:12px}.subject-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff0d;border-radius:var(--radius-md)}.subject-info{display:flex;align-items:center;gap:12px}.subject-emoji{font-size:1.5rem}.subject-name{text-transform:capitalize;font-weight:500}.subject-stats{display:flex;gap:16px;color:var(--text-secondary);font-size:.9rem}.subject-score{color:var(--primary-green);font-weight:600}.recent-games h2{font-size:1.3rem;margin-bottom:16px}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#ffffff0d;border-radius:var(--radius-md)}.session-info{display:flex;flex-direction:column;gap:4px}.session-title{font-weight:500;text-transform:capitalize}.session-date{color:var(--text-secondary);font-size:.85rem}.session-stats{display:flex;gap:16px;font-size:.95rem}.session-score{color:var(--primary-purple);font-weight:600}.session-accuracy{color:var(--text-secondary)}.no-stats{text-align:center;padding:48px 24px}.no-stats-icon{font-size:4rem;display:block;margin-bottom:16px}.no-stats h2{margin-bottom:8px}.no-stats p{color:var(--text-secondary);margin-bottom:24px}.error-container{text-align:center;padding:48px}.error-container h2{margin-bottom:16px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.spinner-large{width:48px;height:48px;border:4px solid rgba(139,92,246,.2);border-top-color:var(--primary-purple);border-radius:50%;animation:spin .8s linear infinite}.all-games{margin-bottom:24px}.all-games h2{font-size:1.3rem;margin-bottom:16px}.games-stats-list{display:flex;flex-direction:column;gap:16px}.game-stats-item{background:#ffffff0d;border-radius:var(--radius-lg);padding:16px;border:1px solid rgba(255,255,255,.1)}.game-stats-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.game-stats-icon{font-size:2rem}.game-stats-info{flex:1;display:flex;flex-direction:column;gap:2px}.game-stats-title{font-weight:600;font-size:1.1rem;color:var(--text-primary)}.game-stats-topic{font-size:.85rem;color:var(--text-secondary)}.game-status-badge{font-size:1.2rem}.game-stats-details{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:12px;background:#8b5cf61a;border-radius:var(--radius-md)}.game-stat-item{text-align:center}.game-stat-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.game-stat-value{display:block;font-size:1.1rem;font-weight:700;color:var(--primary-purple)}.no-plays{text-align:center;color:var(--text-secondary);font-style:italic;padding:8px}.game-stats-footer{margin-top:12px;font-size:.8rem;color:var(--text-secondary);text-align:right}@media(max-width:768px){.stats-page{padding:calc(var(--safe-area-top, 0px) + 16px) 16px calc(var(--safe-area-bottom, 0px) + 16px)}.stats-header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px}.stats-header .header-left{flex:1;min-width:0}.child-header{gap:12px}.child-header .child-avatar{font-size:2.5rem}.child-header h1{font-size:1.3rem}.child-header .child-age{font-size:.85rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:16px}.stat-icon{font-size:1.5rem;margin-bottom:8px}.stat-value{font-size:1.5rem}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.stats-header{flex-direction:column;align-items:flex-start}.session-item{flex-direction:column;gap:8px;align-items:flex-start}.game-stats-details{grid-template-columns:repeat(2,1fr)}}.usage-details{margin-bottom:24px}.usage-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.usage-details-header h2{font-size:1.5rem;margin:0}.plan-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.5px}.usage-progress-section{display:flex;flex-direction:column;gap:16px}.usage-count-display{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.usage-number{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.usage-separator{font-size:2rem;color:var(--text-secondary);opacity:.5}.usage-limit{font-size:2rem;font-weight:600;color:var(--text-secondary)}.usage-label-text{font-size:.95rem;color:var(--text-secondary);margin-left:4px}.usage-progress-bar{width:100%;height:16px;background:#0000001a;border-radius:10px;overflow:hidden}.usage-progress-fill{height:100%;border-radius:10px;transition:width .3s ease,background .3s ease}.usage-progress-fill.normal{background:linear-gradient(90deg,#4ade80,#22c55e)}.usage-progress-fill.warning{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.usage-progress-fill.full{background:linear-gradient(90deg,#ef4444,#dc2626)}.usage-info-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.remaining-games{font-weight:500;color:var(--text-primary)}.reset-date{color:var(--text-secondary)}@media(max-width:768px){.usage-number{font-size:2.5rem}.usage-limit,.usage-separator{font-size:1.5rem}.usage-details-header{flex-direction:column;align-items:flex-start;gap:12px}.usage-info-row{flex-direction:column;align-items:flex-start;gap:4px}}.multiplayer-lobby{min-height:100vh}.lobby-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:16px}.lobby-header .header-left{display:flex;align-items:center;gap:16px}.lobby-header .header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lobby-header .back-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .2s ease;white-space:nowrap}.lobby-header .back-link:hover{color:var(--text-primary)}.lobby-header .btn{padding:10px 16px;font-size:.9rem;white-space:nowrap}.lobby-header .username-badge{background:var(--bg-secondary);padding:8px 16px;border-radius:var(--radius-full);font-weight:500;display:flex;align-items:center;gap:8px;white-space:nowrap}.lobby-content{max-width:800px;margin:0 auto;padding:20px}.lobby-title-section{text-align:left}.lobby-title-section h1{font-size:2rem;color:var(--text-primary);margin-bottom:8px}.lobby-title-section p{color:var(--text-secondary)}.lobby-message{text-align:center;padding:40px}.lobby-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px}.action-card{display:flex;align-items:center;gap:16px;padding:20px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease}.action-card:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.action-card.create-game:hover{border-color:#10b981}.action-card.join-game:hover{border-color:#3b82f6}.action-card.leaderboard:hover{border-color:#f59e0b}.action-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--bg-tertiary)}.create-game .action-icon{background:#10b9811a;color:#10b981}.join-game .action-icon{background:#3b82f61a;color:#3b82f6}.leaderboard .action-icon{background:#f59e0b1a;color:#f59e0b}.action-text h3{font-size:1.1rem;margin:0 0 4px;color:var(--text-primary)}.action-text p{margin:0;font-size:.85rem;color:var(--text-secondary)}.lobby-stats{background:var(--bg-secondary);border-radius:12px;padding:20px;margin-bottom:24px}.lobby-stats h2{margin:0 0 16px;font-size:1.2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px}.stat-item{text-align:center;padding:12px;border-radius:8px;background:var(--bg-tertiary)}.stat-item.highlight{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:1px solid rgba(139,92,246,.3)}.stat-value{display:block;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.lobby-history{background:var(--bg-secondary);border-radius:12px;padding:20px}.lobby-history h2{margin:0 0 16px;font-size:1.2rem}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;background:var(--bg-tertiary)}.match-opponent{display:flex;align-items:center;gap:8px}.opponent-avatar{font-size:1.5rem}.opponent-name{font-weight:500}.match-details{display:flex;flex-direction:column;align-items:center;gap:2px}.match-topic{font-size:.8rem;color:var(--text-secondary)}.match-score{font-weight:600}.match-result{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600}.match-result.win{background:#10b9811a;color:#10b981}.match-result.loss{background:#ef44441a;color:#ef4444}.match-result.draw{background:#6b72801a;color:#6b7280}.multiplayer-create{max-width:600px;margin:0 auto;padding:20px}.create-header{text-align:center;margin-bottom:24px}.create-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:500;color:var(--text-primary)}.form-group select,.form-group input{padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-secondary);color:var(--text-primary)}.form-group select:focus,.form-group input:focus{outline:none;border-color:var(--primary-color)}.game-type-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.game-type-option{padding:16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);cursor:pointer;text-align:center;transition:all .2s ease}.game-type-option:hover{border-color:var(--primary-color)}.game-type-option.selected{border-color:var(--primary-color);background:#8b5cf61a}.game-type-icon{font-size:2rem;margin-bottom:8px}.game-type-name{font-weight:500;margin-bottom:4px}.game-type-desc{font-size:.75rem;color:var(--text-secondary)}.create-btn{padding:16px;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;cursor:pointer;transition:all .2s ease}.create-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}.create-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.waiting-room{max-width:600px;margin:0 auto;padding:20px;text-align:center}.waiting-header h1{margin-bottom:8px}.room-code-display{margin:24px 0;padding:20px;background:var(--bg-secondary);border-radius:12px}.room-code-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px}.room-code{font-size:2.5rem;font-weight:700;letter-spacing:4px;color:var(--primary-color)}.invite-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}.invite-btn{padding:10px 20px;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.invite-btn.copy{background:var(--primary-color);color:#fff}.invite-btn.qr{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.qr-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.qr-content{background:var(--bg-primary);padding:24px;border-radius:16px;text-align:center}.qr-content img{width:200px;height:200px;border-radius:8px}.qr-close{margin-top:16px;padding:8px 24px;border:none;border-radius:8px;background:var(--bg-tertiary);cursor:pointer}.players-display{display:flex;align-items:center;justify-content:center;gap:40px;margin:32px 0}.player-card{padding:20px;border-radius:16px;background:var(--bg-secondary);min-width:150px}.player-avatar{font-size:3rem;margin-bottom:8px}.player-name{font-weight:600;margin-bottom:8px}.player-status{padding:4px 12px;border-radius:12px;font-size:.8rem}.player-status.ready{background:#10b9811a;color:#10b981}.player-status.waiting{background:#f59e0b1a;color:#f59e0b}.vs-divider{font-size:1.5rem;font-weight:700;color:var(--text-secondary)}.player-card.empty{border:2px dashed var(--border-color);background:transparent}.empty-slot{color:var(--text-secondary)}.ready-btn{margin-top:24px;padding:16px 48px;border:none;border-radius:12px;font-size:1.2rem;font-weight:600;background:linear-gradient(135deg,#10b981,#059669);color:#fff;cursor:pointer;transition:all .2s ease}.ready-btn:hover{transform:translateY(-2px)}.ready-btn:disabled{opacity:.5;cursor:not-allowed}.cast-section{margin:24px 0;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.cast-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:500;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;cursor:pointer;transition:all .2s ease}.cast-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.cast-icon{font-size:1.2rem}.casting-indicator{display:inline-flex;align-items:center;gap:12px;padding:12px 20px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;color:#10b981;font-weight:500}.stop-cast-btn{padding:6px 12px;border:none;border-radius:6px;background:#ef44441a;color:#ef4444;font-size:.85rem;cursor:pointer;transition:all .2s ease}.stop-cast-btn:hover{background:#ef444433}.cast-hint{margin-top:8px;font-size:.8rem;color:var(--text-secondary)}.countdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.countdown-number{font-size:8rem;font-weight:700;color:#fff;animation:pulse 1s ease-in-out}@keyframes pulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.generation-loading{display:flex;flex-direction:column;align-items:center;gap:24px}.generation-loading .spinner{width:60px;height:60px;border:4px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}.generation-message{font-size:1.5rem;color:#ffffffe6;text-align:center}.match-result-screen{max-width:600px;margin:0 auto;padding:40px 20px;text-align:center}.result-trophy{font-size:5rem;margin-bottom:16px}.result-title{font-size:2rem;font-weight:700;margin-bottom:8px}.result-title.win{color:#10b981}.result-title.loss{color:#ef4444}.result-title.draw{color:#6b7280}.result-scores{display:flex;justify-content:center;gap:60px;margin:32px 0}.result-player{text-align:center}.result-avatar{font-size:3rem;margin-bottom:8px}.result-name{font-weight:500;margin-bottom:4px}.result-score{font-size:2rem;font-weight:700}.result-xp{margin-top:8px;padding:4px 12px;background:#8b5cf61a;border-radius:12px;color:#8b5cf6;font-size:.85rem}.result-actions{display:flex;gap:16px;justify-content:center;margin-top:32px}.result-btn{padding:12px 32px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.result-btn.primary{background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff}.result-btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.result-btn.feedback{background:transparent;color:var(--text-secondary);border:1px dashed var(--border-color);font-size:.9rem}.result-btn.feedback:hover{color:var(--text-primary);border-color:var(--text-secondary)}.leaderboard-page{max-width:700px;margin:0 auto;padding:20px}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.leaderboard-title-section h1{margin:0 0 4px}.leaderboard-title-section p{margin:0;color:var(--text-secondary)}.leaderboard-list{background:var(--bg-secondary);border-radius:16px;overflow:hidden}.leaderboard-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.leaderboard-rank{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--bg-tertiary)}.leaderboard-item:nth-child(1) .leaderboard-rank{background:linear-gradient(135deg,gold,#ffb700);color:#000}.leaderboard-item:nth-child(2) .leaderboard-rank{background:linear-gradient(135deg,silver,#a0a0a0);color:#000}.leaderboard-item:nth-child(3) .leaderboard-rank{background:linear-gradient(135deg,#cd7f32,#b87333);color:#fff}.leaderboard-avatar{font-size:2rem}.leaderboard-info{flex:1}.leaderboard-name{font-weight:600}.leaderboard-record{font-size:.85rem;color:var(--text-secondary)}.leaderboard-elo{display:flex;flex-direction:column;align-items:center;min-width:60px}.leaderboard-elo .elo-value{font-size:1.2rem;font-weight:700;color:var(--primary-color)}.leaderboard-elo .elo-label{font-size:.65rem;color:var(--text-secondary);text-transform:uppercase}.leaderboard-item.is-you{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:1px solid rgba(139,92,246,.3);border-radius:12px;margin:4px}.leaderboard-rank.gold{background:linear-gradient(135deg,gold,#ffb700);color:#000;font-size:1.2rem}.leaderboard-rank.silver{background:linear-gradient(135deg,silver,#a0a0a0);color:#000;font-size:1.2rem}.leaderboard-rank.bronze{background:linear-gradient(135deg,#cd7f32,#b87333);color:#fff;font-size:1.2rem}.you-badge{display:inline-block;margin-left:8px;padding:2px 8px;background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;font-size:.65rem;font-weight:700;border-radius:10px;text-transform:uppercase}.win-rate{margin-left:8px;color:var(--text-tertiary)}.your-stats-card{background:var(--bg-secondary);border:2px solid var(--primary-color);border-radius:16px;padding:20px;margin-bottom:24px}.your-stats-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.your-avatar{font-size:2.5rem}.your-name{font-size:1.3rem;font-weight:600;flex:1}.your-rank-badge{padding:6px 14px;background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;border-radius:20px;font-weight:600;font-size:.9rem}.your-stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stat-box{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--bg-tertiary);border-radius:10px}.stat-box .stat-value{font-size:1.4rem;font-weight:700;color:var(--text-primary)}.stat-box .stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;margin-top:4px}.leaderboard-footer{text-align:center;margin-top:24px}.privacy-note{font-size:.8rem;color:var(--text-secondary);margin-bottom:16px;font-style:italic}@media(max-width:768px){.multiplayer-lobby,.multiplayer-create,.waiting-room,.match-result-screen,.leaderboard-page{padding:calc(var(--safe-area-top, 0px) + 16px) 16px calc(var(--safe-area-bottom, 0px) + 16px)}.lobby-actions{grid-template-columns:1fr}.action-card{min-height:70px}.invite-btn,.ready-btn,.result-btn,.create-btn{min-height:44px}.players-display{flex-direction:column;gap:20px}.vs-divider{transform:rotate(90deg)}.result-scores{flex-direction:column;gap:24px}.your-stats-grid{grid-template-columns:repeat(3,1fr)}.stat-box .stat-value{font-size:1.1rem}.leaderboard-item{padding:12px;gap:10px}.leaderboard-avatar{font-size:1.5rem}.leaderboard-name{font-size:.9rem}.leaderboard-record{font-size:.75rem}.you-badge{font-size:.55rem;padding:2px 6px}}.mp-player-page{height:100vh;width:100vw;display:flex;flex-direction:column;background:var(--bg-dark);overflow:hidden;position:fixed;top:0;left:0}.mp-player-page.fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--bg-primary)}.mp-player-page.fullscreen .mp-player-main{height:100vh;padding:0}.mp-player-page.fullscreen .mp-player-main.fullscreen-main{padding-top:0}.mp-floating-controls{position:fixed;top:calc(var(--safe-area-top, 0px) + 12px);left:12px;right:12px;z-index:1001;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.mp-floating-controls>*{pointer-events:auto}.mp-floating-controls .floating-exit-btn{display:flex;align-items:center;gap:6px;padding:12px 16px;min-height:44px;background:#000000bf;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mp-floating-controls .floating-exit-btn:hover{background:#000000e6;border-color:var(--primary-purple)}.mp-floating-controls .cast-button{background:#000000bf;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:12px;min-height:44px;min-width:44px}.mp-floating-controls .cast-button:hover{background:#000000e6;border-color:var(--primary-purple)}.mp-score-overlay.fullscreen{top:calc(var(--safe-area-top, 0px) + 70px)}.mp-player-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.05);position:relative;z-index:10}.mp-header-left{display:flex;align-items:center;gap:16px}.mp-back-btn{padding:8px 16px;font-size:.9rem;cursor:pointer;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);font-weight:500;transition:all .2s ease}.mp-back-btn:hover{background:#ef444433}.mp-game-title{font-size:1.3rem;font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.mp-header-right{display:flex;align-items:center;gap:12px}.mp-question-badge{padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#3b82f6);border-radius:var(--radius-md);font-weight:700;font-size:.95rem;color:#fff}.mp-stats-tile{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:16px;padding:12px 24px;background:#000000e6;border-radius:50px;border:2px solid rgba(139,92,246,.4);box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mp-stats-player{display:flex;align-items:center;gap:8px}.mp-stats-avatar{font-size:1.5rem}.mp-stats-name{font-size:.85rem;color:var(--text-secondary);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-stats-score{font-size:1.5rem;font-weight:700;min-width:40px;text-align:center}.mp-stats-player.host .mp-stats-score{color:#3b82f6}.mp-stats-player.guest .mp-stats-score{color:#ef4444}.mp-stats-vs{font-size:.9rem;font-weight:700;color:var(--text-secondary);padding:0 8px}.mp-opponent-answered{position:fixed;top:140px;right:20px;padding:10px 20px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:25px;font-weight:600;font-size:.9rem;animation:pulse-glow 1s ease-in-out infinite;box-shadow:0 4px 20px #f59e0b66;z-index:90}@keyframes pulse-glow{0%,to{box-shadow:0 4px 20px #f59e0b66}50%{box-shadow:0 4px 30px #f59e0bb3}}.mp-player-main{flex:1;display:flex;min-height:0;overflow:hidden;width:100%}.mp-game-frame{width:calc(100vw - 40px);max-width:1200px;height:calc(100vh - 180px);background:var(--bg-card, #1e1e2e);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 8px 40px #0000004d;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column}.mp-timer-container{height:8px;background:#e5e7eb;width:100%;flex-shrink:0}.mp-timer-bar{height:100%;background:linear-gradient(90deg,#10b981,#f59e0b,#ef4444);transition:width .1s linear}.mp-game-content{flex:1;display:flex;flex-direction:column;padding:24px 32px;overflow:auto;background:var(--bg-card, #1e1e2e)}.mp-question-label{font-size:.85rem;color:var(--text-secondary, #888);margin-bottom:8px}.mp-question-text{font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:600;color:var(--text-primary, #fff);margin:0 0 24px;line-height:1.4}.mp-options-container{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:auto}.mp-option-btn{padding:16px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:#fff;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);min-height:52px}.mp-option-btn:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 4px 15px #667eea66;filter:brightness(1.1)}.mp-option-btn:active:not(.disabled){transform:translateY(0)}.mp-option-btn.selected{box-shadow:0 0 0 3px #fff,0 4px 15px #667eea80;filter:brightness(1.15)}.mp-option-btn.disabled{opacity:.7;cursor:default}.mp-option-btn.disabled:not(.selected):not(.correct){filter:grayscale(20%)}.mp-option-btn.correct{background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 0 0 3px #10b98180,0 4px 20px #10b98166!important;animation:correctPulse .5s ease}.mp-option-btn.wrong{background:linear-gradient(135deg,#ef4444,#dc2626)!important;box-shadow:0 0 0 3px #ef444480,0 4px 20px #ef444466!important;animation:wrongShake .5s ease}@keyframes correctPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.mp-text-input-container{display:flex;justify-content:center;align-items:center;flex:1}.mp-text-input{width:100%;max-width:500px;padding:20px 24px;font-size:1.3rem;border:3px solid #e5e7eb;border-radius:12px;background:#fff;color:#1f2937;text-align:center;transition:all .2s ease}.mp-text-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf633}.mp-round-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mp-round-result{background:#fff;border-radius:24px;padding:32px 48px;text-align:center;min-width:350px;max-width:90vw;box-shadow:0 20px 60px #0000004d}.mp-round-winner{font-size:1.8rem;font-weight:700;margin-bottom:16px}.mp-round-winner.host{color:#3b82f6}.mp-round-winner.guest{color:#ef4444}.mp-round-winner.tie{color:#6b7280}.mp-correct-answer{padding:16px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;font-size:1.1rem;font-weight:600;margin-bottom:24px}.mp-round-scores{display:flex;justify-content:center;gap:48px}.mp-round-player{text-align:center}.mp-round-name{font-size:.9rem;color:#6b7280;margin-bottom:4px}.mp-round-answer{font-size:.85rem;color:#9ca3af;margin-bottom:8px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-round-points{font-size:2rem;font-weight:700}.mp-round-points.correct{color:#10b981}.mp-round-points.wrong{color:#ef4444}.mp-cast-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.mp-cast-connecting{text-align:center;color:#fff}.mp-cast-connecting .spinner{width:60px;height:60px;border:4px solid rgba(255,255,255,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}.mp-cast-message{font-size:1.5rem;font-weight:600;margin-bottom:8px}.mp-cast-connecting p{color:var(--text-secondary);font-size:.9rem}.mp-score-overlay{position:fixed;top:70px;right:16px;z-index:100;display:flex;align-items:center;gap:12px;padding:10px 18px;background:#000000e6;border-radius:12px;border:1px solid rgba(139,92,246,.4);box-shadow:0 4px 16px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mp-score-player{display:flex;align-items:center;gap:10px}.mp-score-avatar{font-size:1.3rem}.mp-score-name{font-size:.9rem;color:var(--text-secondary, #888);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-score-value{font-size:1.4rem;font-weight:700;min-width:30px;text-align:center}.mp-score-player.host .mp-score-value{color:#3b82f6;text-shadow:0 0 15px rgba(59,130,246,.5)}.mp-score-player.guest .mp-score-value{color:#ef4444;text-shadow:0 0 15px rgba(239,68,68,.5)}.mp-score-vs{font-size:1rem;font-weight:800;color:var(--text-secondary, #666);padding:0 4px;letter-spacing:2px}.mp-opponent-indicator{position:fixed;top:150px;right:24px;padding:12px 24px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:30px;font-weight:700;font-size:.95rem;animation:pulse-indicator 1s ease-in-out infinite;box-shadow:0 4px 20px #f59e0b80;z-index:90}@keyframes pulse-indicator{0%,to{box-shadow:0 4px 20px #f59e0b80;transform:scale(1)}50%{box-shadow:0 4px 30px #f59e0bcc;transform:scale(1.02)}}.mp-player-main .game-frame-container{width:100%!important;height:100%!important;max-width:none!important;border-radius:0;border:none;box-shadow:none}.mp-player-main .game-frame{width:100%!important;height:100%!important}@media(max-width:768px){.mp-player-page{height:100vh;height:100dvh}.mp-player-header{flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:8px 12px;gap:8px}.mp-header-left{flex-direction:row;gap:8px}.mp-back-btn{padding:6px 12px;font-size:.85rem}.mp-game-title{font-size:1rem}.mp-question-badge{padding:6px 12px;font-size:.85rem}.mp-score-overlay{top:55px;right:10px;padding:6px 12px;gap:8px}.mp-score-avatar{font-size:1rem}.mp-score-value{font-size:1.1rem;min-width:25px}.mp-score-name{display:none}.mp-score-vs{font-size:.7rem}.mp-opponent-indicator{top:110px;right:12px;padding:8px 14px;font-size:.8rem}.mp-player-main{flex:1;width:100%;min-height:0}.mp-player-main .game-frame-container,.mp-player-main .game-frame{width:100%!important;height:100%!important}.mp-round-overlay{padding:16px}.mp-round-result{padding:20px;min-width:auto;max-width:95vw;border-radius:16px}.mp-round-winner{font-size:1.2rem;margin-bottom:12px}.mp-correct-answer{padding:12px 16px;font-size:1rem;margin-bottom:16px}.mp-round-scores{gap:20px}.mp-round-name{font-size:.85rem}.mp-round-answer{font-size:.8rem;max-width:100px}.mp-round-points{font-size:1.3rem}}@media(max-width:400px){.mp-score-overlay{padding:6px 12px;gap:8px}.mp-score-avatar{font-size:1rem}.mp-score-value{font-size:1.1rem;min-width:30px}.mp-game-title{display:none}}.global-leaderboard-page{width:100%;min-height:100vh;box-sizing:border-box}.leaderboard-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--bg-card);border-bottom:1px solid rgba(255,255,255,.05);flex-wrap:wrap;gap:16px}.leaderboard-header .header-left{display:flex;align-items:center;gap:16px}.leaderboard-header .header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.leaderboard-header .back-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .2s ease;white-space:nowrap}.leaderboard-header .back-link:hover{color:var(--text-primary)}.leaderboard-header .btn{padding:10px 16px;font-size:.9rem;white-space:nowrap}.leaderboard-header .username-badge{background:var(--bg-secondary);padding:8px 16px;border-radius:var(--radius-full);font-weight:500;display:flex;align-items:center;gap:8px;white-space:nowrap}.leaderboard-content{max-width:95vw;margin:0 auto;padding:2vh 3vw}.leaderboard-title-section{text-align:left}.leaderboard-title-section h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:800;background:linear-gradient(135deg,#8b5cf6,#ec4899,#f97316);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1vh;letter-spacing:-.5px;display:flex;align-items:center;gap:8px}.leaderboard-title-section h1 .title-icon{-webkit-text-fill-color:initial;font-size:1.5rem}.leaderboard-subtitle{color:var(--text-secondary);font-size:clamp(.9rem,2vw,1.3rem)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:15vh;gap:2vh}.loading-container .spinner{width:clamp(40px,8vw,70px);height:clamp(40px,8vw,70px);border:5px solid rgba(139,92,246,.2);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:2vh 3vw;border-radius:12px;text-align:center;margin-bottom:3vh;font-size:clamp(.9rem,2vw,1.1rem)}.your-stats-card{background:linear-gradient(135deg,#8b5cf626,#3b82f626);border:2px solid rgba(139,92,246,.4);border-radius:clamp(16px,3vw,28px);padding:clamp(16px,3vw,40px);margin-bottom:4vh;box-shadow:0 8px 32px #8b5cf626}.your-stats-header{display:flex;align-items:center;gap:clamp(12px,2vw,28px);margin-bottom:3vh;flex-wrap:wrap}.your-avatar{font-size:clamp(2.5rem,6vw,5rem);width:clamp(60px,10vw,120px);height:clamp(60px,10vw,120px);display:flex;align-items:center;justify-content:center;background:#8b5cf640;border-radius:50%;border:3px solid rgba(139,92,246,.4);flex-shrink:0}.your-info{flex:1;display:flex;flex-direction:column;gap:.5vh;min-width:150px}.your-name{font-size:clamp(1.3rem,3.5vw,2.5rem);font-weight:700;color:var(--text-primary)}.your-level{font-size:clamp(.9rem,2vw,1.2rem);color:var(--text-secondary)}.your-rank-badge{font-size:clamp(1.5rem,4vw,3rem);padding:clamp(8px,1.5vw,16px) clamp(14px,2.5vw,28px);background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;border-radius:clamp(12px,2vw,24px);font-weight:700;box-shadow:0 6px 20px #8b5cf666;flex-shrink:0}.your-xp-bar{position:relative;height:clamp(24px,4vh,40px);background:#ffffff1a;border-radius:20px;margin-bottom:3vh;overflow:hidden}.xp-progress{position:absolute;top:0;left:0;height:100%;background:linear-gradient(90deg,#8b5cf6,#ec4899);border-radius:20px;transition:width .5s ease}.xp-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:clamp(.8rem,2vw,1.1rem);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.4)}.your-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(80px,15vw,140px),1fr));gap:clamp(8px,1.5vw,20px)}.stat-box{display:flex;flex-direction:column;align-items:center;padding:clamp(12px,2vw,24px) clamp(8px,1.5vw,20px);background:#ffffff14;border-radius:clamp(10px,2vw,18px);transition:all .2s ease;border:1px solid rgba(255,255,255,.05)}.stat-box:hover{transform:translateY(-4px);background:#ffffff1f;box-shadow:0 8px 24px #0003}.stat-box .stat-value{font-size:clamp(1.2rem,3vw,2.2rem);font-weight:700;color:var(--text-primary)}.stat-box .stat-label{font-size:clamp(.6rem,1.5vw,.9rem);color:var(--text-secondary);text-transform:uppercase;margin-top:.5vh;font-weight:500;letter-spacing:.5px;text-align:center}.stat-box.mp-stat{background:linear-gradient(135deg,#3b82f626,#8b5cf626);border:1px solid rgba(59,130,246,.3)}.leaderboard-list{background:var(--bg-secondary);border-radius:clamp(12px,2vw,24px);overflow:hidden;border:1px solid var(--border-color);box-shadow:0 4px 20px #0000001a}.leaderboard-item{display:flex;align-items:center;gap:clamp(10px,2vw,24px);padding:clamp(12px,2vh,24px) clamp(14px,3vw,32px);border-bottom:1px solid var(--border-color);transition:all .2s ease}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item:hover{background:#ffffff08}.leaderboard-item.is-you{background:linear-gradient(135deg,#8b5cf626,#3b82f626);border:2px solid rgba(139,92,246,.4);border-radius:clamp(10px,2vw,18px);margin:clamp(4px,1vw,10px) clamp(6px,1.5vw,14px);box-shadow:0 4px 16px #8b5cf633}.leaderboard-rank{width:clamp(40px,6vw,64px);height:clamp(40px,6vw,64px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.85rem,2vw,1.2rem);background:var(--bg-tertiary);flex-shrink:0}.leaderboard-rank.gold{background:linear-gradient(135deg,gold,#ffb700);color:#000;font-size:clamp(1.2rem,3vw,1.8rem);box-shadow:0 6px 20px #ffd70066}.leaderboard-rank.silver{background:linear-gradient(135deg,#e8e8e8,silver);color:#333;font-size:clamp(1.2rem,3vw,1.8rem);box-shadow:0 6px 20px #c0c0c066}.leaderboard-rank.bronze{background:linear-gradient(135deg,#cd7f32,#b87333);color:#fff;font-size:clamp(1.2rem,3vw,1.8rem);box-shadow:0 6px 20px #cd7f3266}.leaderboard-avatar{font-size:clamp(1.8rem,4vw,3rem);flex-shrink:0}.leaderboard-info{flex:1;min-width:0}.leaderboard-name{font-weight:600;font-size:clamp(1rem,2.5vw,1.4rem);color:var(--text-primary);display:flex;align-items:center;gap:clamp(6px,1vw,12px);flex-wrap:wrap}.you-badge{padding:clamp(2px,.5vw,5px) clamp(6px,1vw,12px);background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;font-size:clamp(.55rem,1.2vw,.75rem);font-weight:700;border-radius:12px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.leaderboard-meta{display:flex;gap:clamp(8px,1.5vw,18px);margin-top:.8vh;font-size:clamp(.75rem,1.8vw,1rem);color:var(--text-secondary);flex-wrap:wrap}.level-badge{background:#8b5cf633;color:#a78bfa;padding:clamp(2px,.5vw,4px) clamp(5px,1vw,10px);border-radius:6px;font-weight:600}.leaderboard-xp{display:flex;flex-direction:column;align-items:center;min-width:clamp(60px,10vw,120px);padding:clamp(8px,1.5vw,16px) clamp(10px,2vw,20px);background:#8b5cf61a;border-radius:clamp(8px,1.5vw,14px);flex-shrink:0}.xp-value{font-size:clamp(1rem,2.5vw,1.6rem);font-weight:700;color:#8b5cf6}.xp-label{font-size:clamp(.6rem,1.2vw,.8rem);color:var(--text-secondary);text-transform:uppercase;font-weight:500}.leaderboard-mp{min-width:clamp(50px,8vw,90px);text-align:center;flex-shrink:0}.mp-record{font-size:clamp(.8rem,1.8vw,1.1rem);font-weight:600;color:#22c55e;background:#22c55e26;padding:clamp(5px,1vw,10px) clamp(8px,1.5vw,14px);border-radius:8px}.empty-leaderboard{text-align:center;padding:10vh 5vw;color:var(--text-secondary)}.empty-leaderboard p{margin-bottom:1.5vh;font-size:clamp(1rem,2.5vw,1.3rem)}.play-btn{margin-top:3vh;padding:clamp(12px,2vh,18px) clamp(28px,5vw,48px);background:linear-gradient(135deg,#8b5cf6,#3b82f6);color:#fff;border:none;border-radius:clamp(10px,2vw,16px);font-size:clamp(1rem,2vw,1.2rem);font-weight:600;cursor:pointer;transition:all .2s ease}.play-btn:hover{transform:translateY(-3px);box-shadow:0 10px 28px #8b5cf666}.leaderboard-footer{text-align:center;margin-top:5vh;padding-top:3vh;border-top:1px solid var(--border-color)}.privacy-note{font-size:clamp(.75rem,1.5vw,.95rem);color:var(--text-tertiary);margin-bottom:2vh;font-style:italic}.back-btn{padding:clamp(10px,1.5vh,16px) clamp(24px,4vw,40px);background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:clamp(8px,1.5vw,14px);font-weight:500;font-size:clamp(.9rem,1.8vw,1.1rem);cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--bg-tertiary);transform:translateY(-2px)}@media(max-width:500px){.your-stats-header{justify-content:center;text-align:center}.your-info{align-items:center;min-width:100%}.leaderboard-mp{display:none}.leaderboard-meta{justify-content:flex-start}}@media(min-width:1800px){.global-leaderboard-page{max-width:1600px}}.legal-page{min-height:100vh;background:linear-gradient(180deg,#0f0a1f,#1a1130);color:#fff}.legal-nav{padding:20px 40px;max-width:900px;margin:0 auto}.back-btn{padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s ease}.back-btn:hover{background:#ffffff26;border-color:#ffffff4d}.legal-content{max-width:800px;margin:0 auto;padding:20px 40px 80px}.legal-content h1{font-size:2.5rem;font-weight:700;margin-bottom:8px;background:linear-gradient(135deg,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.last-updated{color:#ffffff80;font-size:.9rem;margin-bottom:40px}.legal-content section{margin-bottom:36px}.legal-content h2{font-size:1.4rem;font-weight:600;margin-bottom:16px;color:#a78bfa}.legal-content h3{font-size:1.1rem;font-weight:600;margin:20px 0 12px;color:#ffffffe6}.legal-content p{font-size:1rem;line-height:1.7;color:#fffc;margin-bottom:12px}.legal-content ul{margin:12px 0;padding-left:24px}.legal-content li{font-size:1rem;line-height:1.7;color:#fffc;margin-bottom:8px}.contact-email{margin-top:16px}.contact-email a{color:#8b5cf6;text-decoration:none;font-weight:500;font-size:1.1rem}.contact-email a:hover{text-decoration:underline}@media(max-width:600px){.legal-nav{padding:16px 20px}.legal-content{padding:16px 20px 60px}.legal-content h1{font-size:1.8rem}.legal-content h2{font-size:1.2rem}}.admin-page{min-height:100vh;background:var(--bg-primary, #121218);color:var(--text-primary, #fff);padding:1rem}.admin-loading,.admin-error{display:flex;align-items:center;justify-content:center;min-height:50vh;font-size:1.2rem;color:var(--text-secondary, #a0a0a0)}.admin-error{color:#ef4444}.admin-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color, #3a3a4a)}.admin-back{background:none;border:none;color:var(--text-secondary, #a0a0a0);font-size:1rem;cursor:pointer;padding:.5rem}.admin-back:hover{color:var(--text-primary, #fff)}.admin-header h1{margin:0;font-size:1.5rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.admin-tabs button{padding:.75rem 1.5rem;background:var(--bg-secondary, #1e1e2e);border:1px solid var(--border-color, #3a3a4a);border-radius:.5rem;color:var(--text-secondary, #a0a0a0);font-size:1rem;cursor:pointer;transition:all .2s}.admin-tabs button:hover{background:var(--bg-tertiary, #2a2a3a);color:var(--text-primary, #fff)}.admin-tabs button.active{background:var(--accent-color, #6366f1);border-color:var(--accent-color, #6366f1);color:#fff}.admin-content{background:var(--bg-secondary, #1e1e2e);border-radius:1rem;padding:1.5rem}.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.stat-card{background:var(--bg-primary, #121218);border-radius:.75rem;padding:1.25rem;text-align:center;border:1px solid var(--border-color, #3a3a4a)}.stat-card.highlight{border-color:var(--accent-color, #6366f1);background:#6366f11a}.stat-icon{font-size:1.5rem;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary, #fff)}.stat-label{font-size:.85rem;color:var(--text-secondary, #a0a0a0);margin-top:.25rem}.stat-sub{font-size:.75rem;color:var(--text-tertiary, #707080);margin-top:.25rem}.admin-table-container{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color, #3a3a4a)}.admin-table th{background:var(--bg-primary, #121218);color:var(--text-secondary, #a0a0a0);font-weight:500;white-space:nowrap}.admin-table tbody tr:hover{background:#ffffff08}.avatar-cell{font-size:1.5rem}.badge{display:inline-block;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500}.badge.verified{background:#22c55e33;color:#22c55e}.badge.unverified{background:#ef444433;color:#ef4444}.badge.active{background:#22c55e33;color:#22c55e}.badge.inactive{background:#ef444433;color:#ef4444}.inactive-row{opacity:.6;background:#ef44440d}.btn-deactivate{background:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:.4rem .75rem;border-radius:.25rem;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-deactivate:hover{background:#ef4444;color:#fff}.btn-reactivate{background:#22c55e1a;border:1px solid #22c55e;color:#22c55e;padding:.4rem .75rem;border-radius:.25rem;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-reactivate:hover{background:#22c55e;color:#fff}.admin-empty{text-align:center;padding:3rem;color:var(--text-secondary, #a0a0a0)}@media(max-width:768px){.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-tabs{flex-wrap:wrap}.admin-tabs button{flex:1;min-width:100px}.admin-table{font-size:.8rem}.admin-table th,.admin-table td{padding:.5rem}}.pricing-page{min-height:100vh;padding:40px 20px 60px;color:var(--text-primary);max-width:1200px;margin:0 auto}.pricing-loading{text-align:center;padding:80px 20px}.pricing-header{text-align:center;margin-bottom:40px;position:relative;display:flex;flex-direction:column;align-items:center}.back-link{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-bottom:24px;color:#c4b5fd;text-decoration:none;font-size:.95rem;font-weight:600;padding:10px 16px;border-radius:10px;background:#8b5cf61f;border:1px solid rgba(139,92,246,.35);transition:background .2s ease,border-color .2s ease,transform .15s ease;z-index:10}.pricing-title{font-size:2.5rem;font-weight:800;margin-bottom:12px;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-icon{-webkit-text-fill-color:initial;margin-right:8px}.pricing-subtitle{font-size:1.1rem;color:var(--text-secondary)}.pricing-error{max-width:600px;margin:0 auto 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 16px;border-radius:10px;text-align:center}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:40px}.plan-card{background:var(--bg-card);border:2px solid rgba(255,255,255,.08);border-radius:20px;padding:28px 24px;position:relative;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;display:flex;flex-direction:column}.plan-card:hover{border-color:var(--plan-color);transform:translateY(-4px);box-shadow:0 12px 40px #0000004d}.plan-card.featured{border-color:var(--plan-color);transform:scale(1.05);background:linear-gradient(135deg,rgba(139,92,246,.08) 0%,var(--bg-card) 100%);box-shadow:0 12px 40px #8b5cf633}.plan-card.featured:hover{transform:scale(1.08) translateY(-4px)}.plan-card.current{border-color:var(--plan-color)}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--plan-color);color:#fff;font-size:.7rem;font-weight:800;padding:5px 14px;border-radius:20px;letter-spacing:1px;white-space:nowrap}.plan-current-badge{position:absolute;top:-12px;right:20px;background:#4ade80e6;color:#fff;font-size:.65rem;font-weight:800;padding:5px 10px;border-radius:20px;letter-spacing:.5px}.plan-header{margin-bottom:16px}.plan-name{font-size:1.4rem;font-weight:800;color:var(--plan-color);margin-bottom:4px}.plan-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.plan-price{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}.price-amount{font-size:2.5rem;font-weight:800;color:var(--text-primary)}.price-period{font-size:.95rem;color:var(--text-secondary);margin-left:6px}.plan-features{list-style:none;margin:0 0 24px;padding:0;flex:1}.plan-features li{font-size:.9rem;color:var(--text-primary);padding:6px 0;display:flex;align-items:flex-start;gap:10px;line-height:1.4}.feature-check{color:var(--plan-color);font-weight:800;flex-shrink:0}.plan-cta{width:100%;padding:12px 16px;font-size:1rem;font-weight:700;border:2px solid var(--plan-color);border-radius:12px;background:transparent;color:var(--plan-color);cursor:pointer;transition:all .2s ease}.plan-cta:hover:not(:disabled){background:var(--plan-color);color:#fff;transform:translateY(-2px)}.plan-cta.featured{background:var(--plan-color);color:#fff}.plan-cta.featured:hover:not(:disabled){opacity:.9}.plan-cta:disabled{opacity:.5;cursor:not-allowed}.pricing-manage{text-align:center;margin-bottom:40px}.manage-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text-secondary);padding:10px 20px;border-radius:10px;font-size:.95rem;cursor:pointer;transition:all .2s ease}.manage-btn:hover:not(:disabled){border-color:var(--primary-purple);color:var(--text-primary)}.pricing-trust{text-align:center;color:var(--text-secondary);font-size:.85rem;margin-bottom:60px;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.pricing-faq{max-width:700px;margin:0 auto}.pricing-faq h2{text-align:center;font-size:1.5rem;margin-bottom:20px;color:var(--text-primary)}.faq-item{background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px 20px;margin-bottom:10px;transition:border-color .2s ease}.faq-item[open]{border-color:#8b5cf64d}.faq-item summary{font-weight:600;cursor:pointer;color:var(--text-primary);padding:6px 24px 6px 0;list-style:none;position:relative}.faq-item summary:after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--primary-purple);font-size:1.4rem;font-weight:800;transition:transform .2s ease}.faq-item[open] summary:after{content:"−"}.faq-item p{color:var(--text-secondary);padding:10px 0 4px;font-size:.95rem;line-height:1.5}@media(max-width:768px){.pricing-page{padding:20px 16px 40px}.pricing-title{font-size:1.8rem}.back-link{margin-bottom:16px}.pricing-grid{grid-template-columns:1fr;gap:16px}.plan-card.featured{transform:none}.plan-card.featured:hover{transform:translateY(-4px)}.pricing-trust{font-size:.8rem}}.profile-page{min-height:100vh;padding:40px 20px 60px;color:var(--text-primary);max-width:900px;margin:0 auto}.profile-loading{text-align:center;padding:80px 20px}.profile-header{margin-bottom:30px;position:relative;display:flex;flex-direction:column;align-items:center}.back-link{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;margin-bottom:20px;color:#c4b5fd;text-decoration:none;font-size:.95rem;font-weight:600;padding:10px 16px;border-radius:10px;background:#8b5cf61f;border:1px solid rgba(139,92,246,.35);transition:background .2s ease,border-color .2s ease,transform .15s ease}.back-link:hover{background:#8b5cf638;border-color:#8b5cf699;color:#e9d5ff;transform:translate(-2px)}.profile-title{text-align:center;font-size:2rem;font-weight:800;margin-bottom:0}.title-icon{margin-right:8px}.profile-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:24px 28px;margin-bottom:24px}.parent-card .parent-main{display:flex;align-items:center;gap:18px;margin-bottom:24px;flex-wrap:wrap}.parent-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#ec4899);display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:800;color:#fff;flex-shrink:0}.parent-info{flex:1;min-width:0}.parent-name{font-size:1.4rem;font-weight:700;margin-bottom:2px}.parent-email{color:var(--text-secondary);font-size:.9rem;margin:0;word-break:break-all}.plan-chip{padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:700;letter-spacing:.3px}.plan-chip-free{background:#6b728033;color:#9ca3af;border:1px solid rgba(107,114,128,.3)}.plan-chip-starter{background:#10b98126;color:#34d399;border:1px solid rgba(16,185,129,.3)}.plan-chip-family{background:linear-gradient(135deg,#8b5cf633,#ec489933);color:#c4b5fd;border:1px solid rgba(139,92,246,.4)}.plan-chip-unlimited{background:linear-gradient(135deg,#f59e0b33,#fbbf2433);color:#fcd34d;border:1px solid rgba(245,158,11,.4)}.usage-section{margin-bottom:20px}.usage-row{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:8px}.usage-row strong{color:var(--text-primary);font-weight:700}.usage-bar-track{height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;margin-bottom:8px}.usage-bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#ec4899);border-radius:4px;transition:width .3s ease}.usage-bar-fill.warning{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.usage-bar-fill.critical{background:linear-gradient(90deg,#ef4444,#dc2626)}.usage-reset{font-size:.8rem;color:var(--text-secondary)}.profile-actions{display:flex;gap:10px;flex-wrap:wrap}.profile-btn{padding:10px 18px;border-radius:10px;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.profile-btn.primary{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff}.profile-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px #8b5cf666}.profile-btn.secondary{background:transparent;border-color:#ffffff26;color:var(--text-secondary)}.profile-btn.secondary:hover{border-color:var(--primary-purple);color:var(--text-primary)}.kids-section{margin-bottom:24px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 4px}.section-header h2{font-size:1.3rem;font-weight:700;margin:0}.kids-count{color:var(--text-secondary);font-size:.9rem;padding:4px 12px;background:#ffffff0d;border-radius:20px}.empty-state{background:var(--bg-card);border:2px dashed rgba(255,255,255,.1);border-radius:16px;padding:40px 20px;text-align:center}.empty-state p{color:var(--text-secondary);margin-bottom:16px}.kids-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.kid-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;transition:transform .2s ease,border-color .2s ease;text-decoration:none;color:inherit;display:flex;flex-direction:column}.kid-card:hover{transform:translateY(-3px);border-color:#8b5cf666}.kid-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.kid-avatar{font-size:2.2rem;width:52px;height:52px;background:#8b5cf626;border-radius:14px;display:flex;align-items:center;justify-content:center}.kid-info{flex:1;min-width:0}.kid-name{font-size:1.1rem;font-weight:700;margin-bottom:2px}.kid-age{font-size:.85rem;color:var(--text-secondary);margin:0}.kid-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;flex:1}.kid-stat{background:#ffffff08;border-radius:10px;padding:10px;text-align:center}.kid-stat-value{display:block;font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:2px}.kid-stat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.kid-stats-empty{text-align:center;padding:16px 0;color:var(--text-secondary);font-size:.9rem;flex:1;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center}.kid-play-first-btn{background:linear-gradient(135deg,#8b5cf6,#ec4899);color:#fff;padding:8px 14px;border-radius:10px;font-size:.85rem;font-weight:600;text-decoration:none;transition:transform .2s ease}.kid-play-first-btn:hover{transform:translateY(-1px)}.kid-view-btn{display:block;text-align:center;padding:10px;background:#8b5cf61a;color:#c4b5fd;border-radius:10px;text-decoration:none;font-size:.9rem;font-weight:600;transition:background .2s ease}.kid-view-btn:hover{background:#8b5cf633}.kid-card-add{border:2px dashed rgba(255,255,255,.15);justify-content:center;align-items:center;min-height:180px;background:transparent;cursor:pointer}.kid-card-add:hover{border-color:#8b5cf6;background:#8b5cf60d}.kid-add-icon{font-size:2.5rem;color:var(--text-secondary);line-height:1;margin-bottom:8px}.kid-add-text{font-weight:600;color:var(--text-secondary)}.upgrade-hint{background:linear-gradient(135deg,#8b5cf61a,#ec489914);border:1px solid rgba(139,92,246,.3);border-radius:12px;padding:14px 18px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.upgrade-hint span{color:var(--text-primary);font-size:.95rem}.upgrade-hint a{color:#c4b5fd;font-weight:600;text-decoration:none}.upgrade-hint a:hover{text-decoration:underline}.section-title{font-size:1.3rem;font-weight:700;margin-bottom:16px}.account-actions{display:flex;gap:10px;flex-wrap:wrap}.account-btn{padding:10px 18px;background:transparent;border:2px solid rgba(255,255,255,.15);color:var(--text-secondary);border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.account-btn:hover{border-color:#ef444480;color:#fca5a5}@media(max-width:600px){.profile-page{padding:20px 16px 40px}.profile-title{font-size:1.5rem}.back-link{position:static;display:inline-block;margin-bottom:16px}.kids-grid{grid-template-columns:1fr}.parent-main{gap:14px}.profile-card{padding:20px}}.experiments-page{min-height:100vh;display:flex;flex-direction:column}.experiments-main{flex:1;padding:30px 20px 60px}.exp-form{max-width:800px;margin:0 auto}.exp-hero{text-align:center;margin-bottom:36px}.exp-title{font-size:2rem;font-weight:800;margin-bottom:10px;background:linear-gradient(90deg,#22d3ee,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.exp-sub{color:var(--text-secondary);font-size:1.05rem;line-height:1.5;max-width:600px;margin:0 auto}.exp-section{margin-bottom:28px}.exp-label{font-size:1.15rem;font-weight:700;margin-bottom:14px;color:var(--text-primary)}.exp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.exp-card{background:var(--bg-card);border:2px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;cursor:pointer;text-align:left;transition:transform .15s,border-color .15s,box-shadow .15s;color:var(--text-primary);font-family:inherit;display:flex;flex-direction:column;gap:8px;position:relative}.exp-card:hover{transform:translateY(-3px);border-color:#22d3ee;box-shadow:0 12px 32px #22d3ee33}.exp-card.active{border-color:#22d3ee;background:linear-gradient(135deg,#22d3ee1f,#8b5cf614);box-shadow:0 12px 32px #22d3ee40}.exp-card-icon{font-size:2.2rem;line-height:1}.exp-card-name{font-size:1.15rem;font-weight:700}.exp-card-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.4}.exp-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.exp-tag{background:#8b5cf626;color:#c4b5fd;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px}.exp-age{position:absolute;top:12px;right:14px;background:#ffffff0f;color:var(--text-secondary);font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px}.exp-topic-row{margin-bottom:10px}.exp-topic-input{width:100%;padding:14px 16px;background:var(--bg-card);border:2px solid rgba(255,255,255,.08);border-radius:12px;color:var(--text-primary);font-size:1rem;font-family:inherit;transition:border-color .15s}.exp-topic-input:focus{outline:none;border-color:#22d3ee}.exp-presets{display:flex;flex-wrap:wrap;gap:8px}.exp-preset{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:.88rem;font-weight:500;padding:8px 14px;border-radius:999px;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.exp-preset:hover{background:#8b5cf61f;border-color:#8b5cf64d;color:var(--text-primary)}.exp-preset.active{background:#22d3ee26;border-color:#22d3ee;color:#a5f3fc}.exp-cta{width:100%;padding:16px 24px;font-size:1.1rem;font-weight:700;border-radius:14px;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s;text-align:center;text-decoration:none;display:inline-block}.exp-cta.primary{background:linear-gradient(135deg,#22d3ee,#8b5cf6);color:#fff;border:none}.exp-cta.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px #22d3ee66}.exp-cta.primary:disabled{opacity:.5;cursor:not-allowed}.exp-cta.secondary{background:transparent;border:1px solid rgba(255,255,255,.15);color:var(--text-secondary)}.exp-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:12px 16px;border-radius:10px;margin-bottom:16px;text-align:center;font-size:.95rem}.exp-empty{text-align:center;padding:40px 20px;background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:14px}.exp-empty p{color:var(--text-secondary);margin-bottom:16px}@media(max-width:600px){.exp-title{font-size:1.5rem}.exp-sub{font-size:.95rem}.exp-grid{grid-template-columns:1fr}}.demo-page{min-height:100vh;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff;padding:1rem}.demo-header{text-align:center;padding:2rem 1rem 1rem}.demo-header h1{font-size:2rem;margin-bottom:.5rem}.demo-badge{display:inline-block;background:linear-gradient(135deg,#4ecdc4,#44b09e);color:#0f0c29;padding:.3rem 1rem;border-radius:20px;font-size:.85rem;font-weight:700;margin-top:.5rem}.demo-section{max-width:900px;margin:2rem auto}.demo-section h2{font-size:1.4rem;margin-bottom:1rem;color:#4ecdc4}.demo-games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.demo-game-card{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:1.2rem;cursor:pointer;transition:all .2s;text-align:center}.demo-game-card:hover{transform:translateY(-3px);border-color:#4ecdc4;background:#4ecdc41a}.demo-game-card .game-icon{font-size:2.5rem;margin-bottom:.5rem}.demo-game-card .game-title{font-weight:600;font-size:1rem;margin-bottom:.3rem}.demo-game-card .game-meta{font-size:.8rem;color:#ffffff80}.demo-form{background:#ffffff0f;border-radius:16px;padding:1.5rem;border:1px solid rgba(255,255,255,.1)}.demo-form-row{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.demo-form input[type=text]{flex:1;min-width:200px;padding:.85rem 1rem;min-height:48px;border-radius:10px;border:2px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;font-size:1rem}.demo-form input::placeholder{color:#fff6}.demo-form select{padding:.85rem 1rem;min-height:48px;border-radius:10px;border:2px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;font-size:1rem;cursor:pointer;-webkit-tap-highlight-color:transparent}.demo-generate-btn{width:100%;padding:.9rem;border:none;border-radius:12px;background:linear-gradient(135deg,#4ecdc4,#44b09e);color:#0f0c29;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s,opacity .2s}.demo-generate-btn:hover:not(:disabled){transform:scale(1.02)}.demo-generate-btn:disabled{opacity:.6;cursor:not-allowed}.demo-game-frame{width:100%;height:70vh;border:none;border-radius:14px;background:#fff;margin-top:1rem}.demo-back-btn{display:inline-block;padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;cursor:pointer;margin-bottom:1rem;font-size:.9rem}.demo-back-btn:hover{background:#ffffff1a}.demo-loading{text-align:center;padding:3rem;color:#ffffffb3}.demo-loading .spinner{width:40px;height:40px;border:3px solid rgba(78,205,196,.3);border-top-color:#4ecdc4;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.demo-error{color:#ff6b6b;text-align:center;padding:1rem}.demo-rate-limit{color:#ffa726;font-size:.85rem;text-align:center;margin-top:.5rem}.demo-cta{text-align:center;padding:2rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.demo-cta p{color:#fff9;margin-bottom:1rem}.demo-cta a{color:#4ecdc4;font-weight:600;text-decoration:none}.demo-cta a:hover{text-decoration:underline}@media(max-width:600px){.demo-header h1{font-size:1.5rem}.demo-games-grid{grid-template-columns:repeat(2,1fr)}}:root{--primary-purple: #8b5cf6;--primary-blue: #3b82f6;--primary-pink: #ec4899;--primary-orange: #f97316;--primary-green: #22c55e;--primary-yellow: #eab308;--bg-dark: #0f0f23;--bg-card: #1a1a2e;--bg-card-hover: #252542;--text-primary: #ffffff;--text-secondary: #a1a1aa;--gradient-primary: linear-gradient(135deg, #8b5cf6 0%, #3b82f6 50%, #06b6d4 100%);--gradient-success: linear-gradient(135deg, #22c55e 0%, #10b981 100%);--gradient-warning: linear-gradient(135deg, #f97316 0%, #eab308 100%);--gradient-fun: linear-gradient(135deg, #ec4899 0%, #8b5cf6 50%, #3b82f6 100%);--shadow-glow: 0 0 20px rgba(139, 92, 246, .3);--shadow-card: 0 4px 20px rgba(0, 0, 0, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--header-height-mobile: 56px;--header-height-desktop: 64px}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}@media(min-width:769px){html{scrollbar-gutter:stable}}body{height:100%}body{font-family:Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-dark);color:var(--text-primary);line-height:1.6;overflow-x:hidden}#root{min-height:100%;display:flex;flex-direction:column}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(139,92,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(236,72,153,.05) 0%,transparent 40%);pointer-events:none;z-index:-1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #8b5cf666}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:2px solid rgba(139,92,246,.3)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--primary-purple);transform:translateY(-2px)}.btn-success{background:var(--gradient-success);color:#fff}.btn-success:hover{transform:translateY(-3px);box-shadow:0 8px 30px #22c55e66}.btn-fun{background:var(--gradient-fun);color:#fff;font-size:1.2rem;padding:18px 36px;border-radius:var(--radius-xl)}.btn-fun:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 10px 40px #ec489966}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-card);border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.card:hover{background:var(--bg-card-hover);transform:translateY(-4px);box-shadow:0 8px 30px #0006}input,select{width:100%;padding:14px 18px;border:2px solid rgba(139,92,246,.3);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:1rem;transition:all .3s ease}input:focus,select:focus{outline:none;border-color:var(--primary-purple);box-shadow:0 0 0 4px #8b5cf633}input::placeholder{color:var(--text-secondary)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-bounce{animation:bounce 1s ease infinite}.animate-wiggle{animation:wiggle .5s ease infinite}.animate-pulse{animation:pulse 2s ease infinite}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-slide-in{animation:slideIn .3s ease forwards}.subject-icon{font-size:2.5rem;display:inline-block}.container{max-width:1200px;margin:0 auto;padding:0 20px}.page{animation:fadeIn .4s ease}@media(max-width:768px){.btn{padding:12px 24px;font-size:1rem}.btn-fun{padding:16px 32px;font-size:1.1rem}.card{padding:16px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--primary-purple);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--primary-blue)}.mobile-only{display:none!important}.desktop-only{display:block}.desktop-flex{display:flex}@media(max-width:768px){.mobile-only{display:block!important}.mobile-flex{display:flex!important}.desktop-only,.desktop-flex{display:none!important}button:not(.no-touch-resize),.btn:not(.no-touch-resize),[role=button]:not(.no-touch-resize){min-height:44px}.container{padding:0 16px}}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.menu-open,body.modal-open{overflow:hidden;position:fixed;width:100%}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@media(max-height:500px)and (orientation:landscape){.btn{padding:10px 20px;font-size:.95rem}.card{padding:12px}}
