:root,[data-theme=dark]{--bg-dark: #0f0f23;--bg-card: #1a1a2e;--bg-card-hover: #252542;--bg-secondary: #16162a;--primary: #6366f1;--primary-light: #818cf8;--secondary: #22c55e;--secondary-light: #4ade80;--accent-pink: #ec4899;--accent-purple: #8b5cf6;--accent-blue: #3b82f6;--accent-yellow: #fbbf24;--accent-orange: #f97316;--accent-red: #ef4444;--text-primary: #ffffff;--text-secondary: #d4d4d8;--text-muted: #a1a1aa;--border-color: #27273a}[data-theme=light]{--bg-dark: #7dd3fc;--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: rgba(255, 255, 255, .98);--bg-secondary: rgba(254, 249, 231, .9);--primary: #f59e0b;--primary-light: #fbbf24;--secondary: #10b981;--secondary-light: #34d399;--accent-pink: #f472b6;--accent-purple: #a78bfa;--accent-blue: #38bdf8;--accent-yellow: #fbbf24;--accent-orange: #fb923c;--accent-red: #f87171;--text-primary: #1e293b;--text-secondary: #475569;--text-muted: #64748b;--border-color: rgba(251, 191, 36, .3)}[data-theme=light] body{background:linear-gradient(180deg,#7dd3fc,#93e1ff,#a5e9ff 20%,#bef2ff,#e0f7ff 50%,#f0fcff 70%,#fffef5);min-height:100vh}[data-theme=light] body:before{content:"";position:fixed;top:6%;right:12%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#fff9e6,#ffd54f 40%,#ffb300,#ff8f00);box-shadow:0 0 60px #ffc10799,0 0 100px #ffc10766,0 0 150px #ff98004d;animation:gentle-sun-glow 5s ease-in-out infinite;z-index:1}[data-theme=light] body:after{content:"";position:fixed;top:calc(8% + 40px);right:calc(15% + 40px);width:0;height:0;background:transparent;box-shadow:0 -55px 0 4px #ffdc9640,0 55px 0 4px #ffdc9640,-55px 0 0 4px #ffdc9640,55px 0 0 4px #ffdc9640,-40px -40px 0 3px #ffdc9633,40px 40px 0 3px #ffdc9633,-40px 40px 0 3px #ffdc9633,40px -40px 0 3px #ffdc9633;animation:soft-sun-rays 30s linear infinite;z-index:1}@keyframes gentle-sun-glow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.95}}@keyframes soft-sun-rays{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=light] .home-screen .landing-subtitle,[data-theme=light] .home-screen .grade-card-label,[data-theme=light] .home-screen .section-title,[data-theme=light] .home-screen .home-title,[data-theme=light] .home-screen .lesson-title,[data-theme=light] .home-screen .lesson-card,[data-theme=light] .home-screen .teacher-speech p,[data-theme=light] .home-screen .subject-name,[data-theme=light] .subjects-page .subject-title,[data-theme=light] .subjects-page .subject-card h3,[data-theme=light] .lessons-page .lesson-title,[data-theme=light] .lessons-page .lesson-card h3,[data-theme=light] .settings-page .setting-label,[data-theme=light] .settings-page h1,[data-theme=light] .settings-page h2,[data-theme=light] .settings-page p,[data-theme=light] .profile-page .profile-name,[data-theme=light] .profile-page h1,[data-theme=light] .profile-page p,[data-theme=light] .pricing-page .plan-header h2,[data-theme=light] .pricing-page .plan-description,[data-theme=light] .pricing-page .price-amount,[data-theme=light] .pricing-page .plan-features li,[data-theme=light] .pricing-page .faq-item h3,[data-theme=light] .pricing-page .faq-item p,[data-theme=light] .question-text,[data-theme=light] .baseline-badge,[data-theme=light] .baseline-progress,[data-theme=light] .hint-bubble,[data-theme=light] .feedback-correct,[data-theme=light] .feedback-wrong,[data-theme=light] .progress-screen .stat-value,[data-theme=light] .progress-screen .stat-label{color:#1a1a1a!important;-webkit-text-fill-color:#1a1a1a!important}[data-theme=light] .landing-title,[data-theme=light] .pricing-header h1{-webkit-text-fill-color:transparent!important}[data-theme=light] .question-card,[data-theme=light] .subject-card,[data-theme=light] .lesson-card,[data-theme=light] .content-card,[data-theme=light] .profile-card,[data-theme=light] .settings-section{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:0 8px 32px #6496c826,0 2px 8px #6496c81a,inset 0 1px #fffc}[data-theme=light] .question-card:hover,[data-theme=light] .subject-card:hover,[data-theme=light] .lesson-card:hover{background:#ffffffe6;box-shadow:0 12px 40px #6496c833,0 4px 12px #6496c826,inset 0 1px #ffffffe6}[data-theme=light] .btn-kid{background:linear-gradient(135deg,#fbbf24,#f59e0b,#ea580c);color:#1e293b;font-weight:700;box-shadow:0 4px 15px #fbbf2466}[data-theme=light] .btn-kid:hover{background:linear-gradient(135deg,#fcd34d,#fbbf24,#f59e0b);box-shadow:0 6px 20px #fbbf2480}[data-theme=light] .option-btn{background:#ffffffd9;border:2px solid rgba(251,191,36,.3);color:#1e293b}[data-theme=light] .option-btn:hover{background:#fffbebf2;border-color:#fbbf24;box-shadow:0 4px 12px #fbbf2440}[data-theme=light] .navbar{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(100,150,200,.2)}[data-theme=light] .lesson-screen{background:linear-gradient(180deg,#7dd3fc,#93c5fd,#a5d8ff,#bae6fd,#e0f2fe,#f0f9ff)}[data-theme=light] .lesson-content{background:linear-gradient(135deg,#7dd3fc,#93c5fd 30%,#fef3c7 70%,#fde68a);border-radius:1.5rem;margin:1rem}[data-theme=high-contrast]{--bg-dark: #000000;--bg-card: #000000;--bg-card-hover: #1a1a1a;--bg-secondary: #000000;--primary: #ffff00;--primary-light: #ffff66;--secondary: #00ff00;--secondary-light: #66ff66;--accent-pink: #ff00ff;--accent-purple: #cc99ff;--accent-blue: #00ffff;--accent-yellow: #ffff00;--accent-orange: #ff9900;--accent-red: #ff0000;--text-primary: #ffffff;--text-secondary: #ffffff;--text-muted: #cccccc;--border-color: #ffffff}[data-theme=high-contrast] body{background:#000}[data-theme=high-contrast] .question-card,[data-theme=high-contrast] .option-btn,[data-theme=high-contrast] .btn-kid,[data-theme=high-contrast] .subject-card,[data-theme=high-contrast] .lesson-card{border:3px solid #ffffff}[data-theme=high-contrast] .option-btn{background:#000;color:#fff;font-weight:700}[data-theme=high-contrast] .option-btn:hover{background:#333;border-color:#ff0}[data-theme=high-contrast] .option-btn.correct{background:#060;border-color:#0f0;color:#fff}[data-theme=high-contrast] .option-btn.wrong{background:#600;border-color:red;color:#fff}[data-theme=high-contrast] .btn-kid{background:#ff0;color:#000;font-weight:700;border:3px solid #ffffff}[data-theme=high-contrast] .btn-kid:hover{background:#ff6}[data-theme=high-contrast] .question-text{font-weight:700;font-size:calc(var(--text-xl) * 1.1)}[data-theme=high-contrast] .progress-bar{border:2px solid #ffffff}[data-theme=high-contrast] .star{filter:drop-shadow(0 0 2px #ffffff)}:root,[data-theme=dark],[data-theme=light],[data-theme=high-contrast]{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--text-sm: clamp(.75rem, 2vw, .875rem);--text-base: clamp(.875rem, 2.5vw, 1rem);--text-lg: clamp(1rem, 3vw, 1.25rem);--text-xl: clamp(1.25rem, 4vw, 1.5rem);--text-2xl: clamp(1.5rem, 5vw, 2rem);--text-3xl: clamp(2rem, 6vw, 3rem)}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-dark);color:var(--text-primary);font-size:16px;line-height:1.5;padding-top:env(safe-area-inset-top,0px);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:10%;right:20%;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#e8e8e8,#c9c9c9,#b0b0b0);box-shadow:inset -15px -10px 20px #0003,0 0 30px #c8c8ff4d,0 0 60px #c8c8ff33;pointer-events:none;z-index:1;transition:all .5s ease}body:after{content:"";position:fixed;top:calc(10% + 12px);right:calc(20% + 18px);width:12px;height:12px;border-radius:50%;background:#9696964d;box-shadow:18px 20px 0 4px #96969633,-5px 28px 0 3px #96969640,24px 5px 0 2px #96969633;pointer-events:none;z-index:1;transition:all .5s ease}[data-theme=light] body:before{top:8%;right:15%;width:80px;height:80px;background:radial-gradient(circle,#fff5e6 20%,#ffecd2 50%,#fcb69f);box-shadow:0 0 40px #fcb69f66,0 0 80px #fcb69f40,0 0 120px #fcb69f26;animation:gentle-sun 6s ease-in-out infinite}[data-theme=light] body:after{top:calc(8% + 40px);right:calc(15% + 40px);width:0;height:0;background:transparent;box-shadow:0 -55px 0 4px #fcc8aa33,0 55px 0 4px #fcc8aa33,-55px 0 0 4px #fcc8aa33,55px 0 0 4px #fcc8aa33,-40px -40px 0 3px #fcc8aa26,40px 40px 0 3px #fcc8aa26,-40px 40px 0 3px #fcc8aa26,40px -40px 0 3px #fcc8aa26;animation:soft-rays 35s linear infinite}@keyframes gentle-sun{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.95}}@keyframes soft-rays{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-theme-toggle{position:fixed;top:1rem;right:1rem;z-index:1000}.welcome-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background:linear-gradient(135deg,var(--bg-dark) 0%,#1e1e3f 50%,#2d1f4f 100%);position:relative;overflow:hidden}.welcome-content{text-align:center;z-index:1}.welcome-emoji{font-size:clamp(4rem,15vw,8rem);margin-bottom:var(--space-lg)}.welcome-title{font-size:var(--text-3xl);font-weight:800;background:linear-gradient(135deg,var(--primary-light),var(--accent-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-sm)}.welcome-subtitle{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-xl)}.welcome-characters{position:absolute;bottom:10%;left:0;right:0;display:flex;justify-content:center;gap:var(--space-xl)}.character{font-size:clamp(2rem,8vw,4rem);animation:float 3s ease-in-out infinite}.landing-screen{min-height:100vh;display:flex;flex-direction:column;padding:var(--space-lg);background:linear-gradient(135deg,#0f0f23,#1a1a3e,#2d1f4f)}.landing-header{text-align:center;padding:var(--space-xl) 0}.landing-mascots{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.mascot-bounce{font-size:clamp(2.5rem,8vw,4rem);display:inline-block;animation:mascotBounce 1s ease-in-out infinite}@keyframes mascotBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.landing-title{font-size:clamp(2.5rem,8vw,4rem);font-weight:800;background:linear-gradient(135deg,#818cf8,#ec4899,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-xs)}.landing-subtitle{font-size:clamp(1.1rem,4vw,1.5rem);color:#fff;font-weight:600}.grade-selection{flex:1;display:flex;align-items:center;justify-content:center;padding:var(--space-md) 0}.grade-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);max-width:900px;width:100%}@media(max-width:768px){.grade-cards{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}}@media(max-width:400px){.grade-cards{grid-template-columns:repeat(2,1fr);gap:var(--space-xs)}}.grade-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg) var(--space-md);background:var(--bg-card);border:3px solid var(--border-color);border-radius:var(--radius-2xl);cursor:pointer;transition:all .2s ease;min-height:140px}.grade-card:hover{transform:translateY(-4px);border-color:var(--grade-color);box-shadow:0 8px 25px #0000004d}.grade-card.selected{border-color:var(--grade-color);background:linear-gradient(135deg,var(--bg-card),rgba(99,102,241,.2));transform:translateY(-4px) scale(1.02);box-shadow:0 8px 30px #6366f14d}.grade-card-emoji{font-size:clamp(2rem,6vw,3rem);margin-bottom:var(--space-sm)}.grade-card-label{font-size:clamp(.9rem,3vw,1.1rem);font-weight:700;color:#fff;text-align:center}.grade-card-ages{font-size:clamp(.7rem,2vw,.85rem);color:var(--text-muted);margin-top:var(--space-xs)}.landing-footer{padding:var(--space-xl) 0;display:flex;justify-content:center}.btn-continue{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg) var(--space-2xl);font-size:clamp(1.1rem,4vw,1.4rem);font-weight:700;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .3s ease;background:var(--bg-card);color:var(--text-muted);min-width:280px}.btn-continue:disabled{cursor:not-allowed;opacity:.7}.btn-continue.active{background:linear-gradient(135deg,var(--primary),var(--accent-pink));color:#fff;box-shadow:0 4px 20px #6366f166}.btn-continue.active:hover{transform:scale(1.05);box-shadow:0 6px 30px #6366f180}.btn-arrow{font-size:1.5rem;animation:arrowPulse 1s ease-in-out infinite}@keyframes arrowPulse{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.setup-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background:linear-gradient(135deg,var(--bg-dark) 0%,#1a1a3e 100%);gap:var(--space-xl)}.setup-progress{display:flex;align-items:center;gap:var(--space-sm);position:absolute;top:var(--space-xl)}.progress-dot{width:36px;height:36px;border-radius:50%;background:var(--bg-card);border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:var(--text-muted);transition:all .3s ease}.progress-dot.active{background:linear-gradient(135deg,var(--primary),var(--accent-pink));border-color:var(--primary);color:#fff}.progress-line{width:40px;height:3px;background:var(--border-color);border-radius:2px}.setup-character-large{font-size:clamp(5rem,15vw,8rem);animation:bounce 2s ease-in-out infinite}.setup-speech{text-align:center;margin-bottom:var(--space-lg)}.setup-speech h2{font-size:clamp(1.5rem,5vw,2rem);color:#fff;margin-bottom:var(--space-xs)}.setup-speech p{font-size:clamp(1rem,3vw,1.25rem);color:var(--text-secondary)}.input-name{width:100%;max-width:400px;padding:var(--space-lg) var(--space-xl);font-size:clamp(1.2rem,4vw,1.5rem);font-weight:600;border:3px solid var(--border-color);border-radius:var(--radius-full);background:var(--bg-card);color:var(--text-primary);text-align:center;margin-bottom:var(--space-lg);transition:all .2s}.input-name:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6366f133}.input-name::placeholder{color:var(--text-muted);font-weight:400}.avatar-grid-large{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-md);margin-bottom:var(--space-xl);max-width:500px;width:100%}@media(max-width:480px){.avatar-grid-large{grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}}.avatar-btn{aspect-ratio:1;font-size:clamp(2rem,8vw,3rem);border:3px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.avatar-btn:hover{transform:scale(1.1);border-color:var(--primary);background:var(--bg-card-hover)}.avatar-btn.selected{border-color:var(--secondary);background:var(--secondary);transform:scale(1.15);box-shadow:0 4px 15px #22c55e66}.btn-setup{padding:var(--space-md) var(--space-xl);font-size:clamp(1rem,3vw,1.2rem);font-weight:700;border:none;border-radius:var(--radius-full);cursor:pointer;transition:all .2s}.btn-setup:disabled{opacity:.5;cursor:not-allowed}.btn-setup.btn-back{background:var(--bg-card);color:var(--text-secondary);border:2px solid var(--border-color)}.btn-setup.btn-back:hover:not(:disabled){background:var(--bg-card-hover);border-color:var(--text-muted)}.btn-setup.btn-next{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff}.btn-setup.btn-next:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #6366f166}.btn-setup.btn-start{background:linear-gradient(135deg,var(--secondary),var(--secondary-light));color:#fff;padding:var(--space-md) var(--space-2xl)}.btn-setup.btn-start:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #22c55e66}.setup-content{max-width:500px;width:100%;text-align:center}.setup-character{font-size:clamp(4rem,12vw,6rem);margin-bottom:var(--space-md);animation:bounce 2s ease-in-out infinite}.speech-bubble{background:var(--bg-card);border-radius:var(--radius-2xl);padding:var(--space-lg);margin-bottom:var(--space-xl);position:relative;font-size:var(--text-lg)}.speech-bubble:after{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);border:10px solid transparent;border-bottom-color:var(--bg-card)}.speech-bubble p{margin:var(--space-xs) 0}.input-kid{width:100%;padding:var(--space-lg);font-size:var(--text-xl);border:3px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);color:var(--text-primary);text-align:center;margin-bottom:var(--space-lg);transition:all .2s}.input-kid:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #6366f133}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-sm);margin-bottom:var(--space-xl)}@media(max-width:480px){.avatar-grid{grid-template-columns:repeat(4,1fr)}}.avatar-option{aspect-ratio:1;font-size:clamp(1.5rem,6vw,2.5rem);border:3px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-card);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.avatar-option:hover{transform:scale(1.1);border-color:var(--primary)}.avatar-option.selected{border-color:var(--secondary);background:var(--secondary);transform:scale(1.15)}.setup-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.grade-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);margin-bottom:var(--space-xl);max-width:400px;width:100%}@media(max-width:480px){.grade-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-xs)}}.grade-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-md);background:var(--bg-card);border:3px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all .2s;min-height:90px}.grade-option:hover{transform:scale(1.02);border-color:var(--primary)}.grade-option.selected{border-color:var(--secondary);background:var(--secondary)}.grade-emoji{font-size:var(--text-xl)}.grade-label{font-size:var(--text-base);font-weight:700;color:#fff}.grade-age{font-size:var(--text-sm);color:#d4d4d8}.grade-option.selected .grade-age{color:#fffc}.home-screen{min-height:100vh;background:var(--bg-dark);padding-top:calc(60px + env(safe-area-inset-top,0px));padding-bottom:var(--space-xl)}.star-count-banner{position:fixed;top:calc(70px + env(safe-area-inset-top,0px));right:var(--space-lg);display:flex;align-items:center;gap:var(--space-xs);background:var(--bg-card);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);border:1px solid var(--border-color);z-index:99;box-shadow:0 4px 12px #0000004d}.star-count-banner .star-icon{font-size:1.25rem}.star-count-banner .star-value{font-size:var(--text-lg);font-weight:700;color:var(--accent-yellow)}.star-count-banner .star-label{font-size:var(--text-sm);color:var(--text-muted)}.home-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--bg-card);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:var(--space-sm)}.user-avatar{font-size:var(--text-2xl)}.user-name{font-weight:700;font-size:var(--text-lg);color:#fff}.header-right{display:flex;align-items:center;gap:var(--space-md)}.star-count{display:flex;align-items:center;gap:var(--space-xs);background:var(--bg-card-hover);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-weight:700;color:var(--accent-yellow)}.btn-icon{font-size:var(--text-xl);background:none;border:none;cursor:pointer;padding:var(--space-sm)}.greeting-banner{display:flex;align-items:center;gap:var(--space-md);background:linear-gradient(135deg,var(--primary),var(--accent-purple));padding:var(--space-md) var(--space-lg);margin:var(--space-md);border-radius:var(--radius-xl)}.greeting-teacher{font-size:var(--text-2xl)}.greeting-banner p{font-size:var(--text-base);color:#fff}.subject-selection{padding:var(--space-xl) var(--space-lg);position:relative;z-index:1}.subject-selection h2{text-align:center;font-size:var(--text-2xl);margin-bottom:var(--space-xl)}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md);max-width:600px;margin:0 auto}.subject-card{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background:var(--bg-card);border:3px solid var(--border-color);border-radius:var(--radius-2xl);cursor:pointer;transition:all .3s;position:relative;overflow:hidden}.subject-card:before{content:"";position:absolute;inset:0;background:var(--subject-color);opacity:0;transition:opacity .3s}.subject-card:hover{transform:translateY(-8px);border-color:var(--subject-color)}.subject-card:hover:before{opacity:.1}.subject-emoji{font-size:clamp(2.5rem,10vw,4rem);z-index:1}.subject-name{font-size:var(--text-lg);font-weight:700;z-index:1;color:#fff}.subject-teacher{font-size:var(--text-lg);position:absolute;bottom:var(--space-sm);right:var(--space-sm)}.lesson-selection{padding:var(--space-lg);position:relative;z-index:1}.back-button{background:var(--bg-card);border:2px solid var(--border-color);color:var(--text-primary);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-base);cursor:pointer;margin-bottom:var(--space-lg)}.lesson-header{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-lg);margin-bottom:var(--space-xl);border-left:4px solid var(--subject-color)}.lesson-teacher{font-size:clamp(2.5rem,8vw,4rem)}.teacher-speech{flex:1}.teacher-speech p{font-size:var(--text-lg);margin:0}.lesson-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-md)}.lesson-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--bg-card);border:3px solid var(--border-color);border-radius:var(--radius-xl);cursor:pointer;transition:all .2s;position:relative;min-height:120px}.lesson-card:not(.locked):hover{transform:translateY(-4px);border-color:var(--subject-color)}.lesson-card.completed{border-color:var(--secondary)}.lesson-card.locked{opacity:.5;cursor:not-allowed}.lesson-emoji{font-size:var(--text-2xl)}.lesson-title{font-size:var(--text-sm);font-weight:600;text-align:center;color:#fff}.lesson-stars{display:flex;gap:2px}.star-filled{color:var(--accent-yellow)}.star-empty{color:var(--text-muted)}.play-icon{color:var(--subject-color);font-size:var(--text-xl)}.lesson-screen{min-height:100vh;min-height:100dvh;background:linear-gradient(135deg,var(--bg-dark) 0%,#1a1a3e 100%);display:flex;flex-direction:column;padding-top:60px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;width:100%;max-width:100vw}.lesson-header{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--bg-card);border-bottom:1px solid var(--border-color);width:100%;box-sizing:border-box}.btn-exit{font-size:var(--text-xl);background:var(--bg-card-hover);border:none;color:var(--text-primary);width:40px;height:40px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-save-exit{font-size:.85rem;background:linear-gradient(135deg,var(--accent-blue) 0%,var(--primary) 100%);border:none;color:#fff;padding:.5rem .75rem;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;gap:.25rem;font-weight:600;white-space:nowrap;transition:all .2s;box-shadow:0 2px 8px #6366f14d}.btn-save-exit:hover{transform:scale(1.05);box-shadow:0 4px 12px #6366f166}.btn-save-exit:active{transform:scale(.98)}.progress-bar{flex:1;height:12px;background:var(--bg-card-hover);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#3b82f6,#8b5cf6);border-radius:var(--radius-full);transition:width .3s}.score-display{font-weight:700;font-size:var(--text-lg);color:var(--secondary)}.header-right{display:flex;align-items:center;gap:var(--space-sm)}.difficulty-badge{font-size:1.2rem;padding:.3rem .6rem;border-radius:var(--radius-lg);background:#ffffffe6;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.difficulty-easy{background:linear-gradient(135deg,#a8e6cf,#88d8b0)}.difficulty-medium{background:linear-gradient(135deg,#ffeaa7,#fdcb6e)}.difficulty-hard{background:linear-gradient(135deg,#ff7675,#d63031)}.lesson-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md) var(--space-lg);padding-bottom:calc(var(--space-2xl) + env(safe-area-inset-bottom,20px));text-align:center;max-width:600px;margin:0 auto;width:100%;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}@media(min-width:768px)and (max-height:1400px){.lesson-content .character-container{transform:scale(.75);margin:-1rem 0}.lesson-content .speech-bubble-large{padding:var(--space-md);margin-bottom:var(--space-md)}}.teacher-large{font-size:clamp(4rem,15vw,7rem);margin-bottom:var(--space-md)}.teacher-small{font-size:clamp(2rem,8vw,3rem);margin-bottom:var(--space-md)}.speech-bubble-large{background:var(--bg-card);border-radius:var(--radius-2xl);padding:var(--space-xl);margin-bottom:var(--space-xl);font-size:var(--text-xl)}.speech-bubble-large p{margin:var(--space-sm) 0}.question-count{color:var(--text-secondary);font-size:var(--text-base)}.question-counter{background:var(--bg-card);color:var(--text-primary);font-size:var(--text-lg);font-weight:600;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);margin-bottom:var(--space-md);text-align:center}.question-card{background:var(--bg-card);border-radius:var(--radius-2xl);padding:var(--space-xl);width:100%}.question-header{display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl)}.question-header .question-text{flex:1;margin-bottom:0}.question-text{font-size:var(--text-xl);margin-bottom:var(--space-xl);line-height:1.6;white-space:pre-line;color:#fff}.btn-read-aloud{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent-blue) 0%,var(--accent-purple) 100%);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #6366f14d}.btn-read-aloud:hover{transform:scale(1.1);box-shadow:0 4px 12px #6366f180}.btn-read-aloud:active{transform:scale(.95)}.btn-read-aloud .speaker-icon{font-size:1.5rem}[data-theme=light] .btn-read-aloud{background:linear-gradient(135deg,var(--accent-blue) 0%,var(--primary) 100%)}.options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-lg)}@media(max-width:400px){.options-grid{grid-template-columns:1fr}}.option-btn{padding:var(--space-lg);font-size:var(--text-lg);font-weight:600;background:var(--bg-card-hover);border:3px solid var(--border-color);border-radius:var(--radius-xl);color:var(--text-primary);cursor:pointer;transition:all .2s;min-height:60px;display:flex;align-items:center;justify-content:center}.option-btn:not(:disabled):hover{border-color:var(--primary);transform:scale(1.02)}.option-btn.correct{background:var(--secondary);border-color:var(--secondary);color:#fff}.option-btn.wrong{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.btn-hint{background:none;border:2px solid var(--primary);color:var(--primary-light);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-base);cursor:pointer}.hint-bubble{background:#6366f133;border:1px solid var(--primary);padding:var(--space-md);border-radius:var(--radius-lg);margin-top:var(--space-md);color:var(--primary-light)}.result-feedback{margin-top:var(--space-lg);display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.result-feedback .btn-kid{margin-top:var(--space-md);padding:var(--space-md) var(--space-2xl);font-size:var(--text-xl);background:linear-gradient(135deg,var(--secondary),#27ae60);color:#fff;box-shadow:0 4px 15px #2ecc7166}.result-feedback .btn-kid:hover{transform:scale(1.05);box-shadow:0 6px 20px #2ecc7180}.feedback-correct{font-size:var(--text-xl);color:var(--secondary);font-weight:700;margin-bottom:0}.feedback-wrong{font-size:var(--text-xl);color:var(--accent-red);font-weight:700;margin-bottom:var(--space-md)}.teaching-moment{text-align:center}.teacher-teaching{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.teaching-avatar{font-size:var(--text-2xl)}.teaching-name{font-size:var(--text-lg);font-weight:700;color:var(--primary-light)}.correct-answer-box{background:#22c55e26;border:2px solid var(--secondary);border-radius:var(--radius-xl);padding:var(--space-md);margin-bottom:var(--space-md)}.correct-label{font-size:var(--text-sm);color:var(--secondary-light);margin-bottom:var(--space-xs)}.correct-answer{font-size:var(--text-xl);font-weight:700;color:#fff}.explanation-box{background:#6366f126;border:2px solid var(--primary);border-radius:var(--radius-xl);padding:var(--space-md);margin-bottom:var(--space-md)}.explanation-text{font-size:var(--text-base);color:var(--primary-light)}.complete-title{font-size:var(--text-3xl);margin-bottom:var(--space-lg)}.stars-display{display:flex;justify-content:center;gap:var(--space-md);font-size:clamp(2.5rem,10vw,4rem);margin-bottom:var(--space-xl)}.stars-display .star{opacity:.3;filter:grayscale(1)}.stars-display .star.filled{opacity:1;filter:none;animation:pop .3s ease-out}.score-summary{background:var(--bg-card);padding:var(--space-lg);border-radius:var(--radius-xl);margin-bottom:var(--space-xl)}.score-summary p{font-size:var(--text-lg);margin:var(--space-xs) 0}.complete-buttons{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.lesson-content:has(.complete-title){justify-content:center;padding-bottom:15vh;min-height:80vh}.btn-kid{padding:var(--space-md) var(--space-xl);font-size:var(--text-lg);font-weight:700;border:none;border-radius:var(--radius-xl);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:56px;min-width:120px}.btn-kid:disabled{opacity:.5;cursor:not-allowed}.btn-start{background:linear-gradient(135deg,var(--primary),var(--accent-purple));color:#fff;box-shadow:0 4px 15px #6366f166}.btn-start:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f180}.btn-next{background:var(--secondary);color:#fff;transition:all .3s ease}.btn-next:not(:disabled):hover{background:var(--secondary-light)}.btn-next.btn-waiting{background:var(--bg-card-hover);color:var(--text-muted);cursor:wait;opacity:.7}.btn-next.btn-waiting:after{content:"";display:inline-block;width:1em;height:1em;margin-left:.5em;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-back{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-color)}.btn-emoji{font-size:var(--text-xl)}@keyframes float{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-15px) rotate(5deg)}}@keyframes pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-bounce{animation:bounce 2s ease-in-out infinite}.animate-fade-in{animation:fadeIn .3s ease-out}@media(max-width:768px){.welcome-characters{gap:var(--space-lg)}.avatar-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-xs)}.subject-grid,.lesson-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.home-screen,.progress-screen,.parent-dashboard,.lesson-screen{padding-top:50px}.star-count-banner{top:58px;right:var(--space-md);padding:var(--space-xs) var(--space-sm)}.star-count-banner .star-icon{font-size:1rem}.star-count-banner .star-value{font-size:var(--text-base)}.star-count-banner .star-label{display:none}.home-header{padding:var(--space-sm) var(--space-md)}.user-name{display:none}.lesson-header{flex-direction:column;text-align:center;width:100%;box-sizing:border-box;margin:0;padding:var(--space-md)}.avatar-grid{grid-template-columns:repeat(3,1fr)}.setup-buttons{flex-direction:column}.setup-buttons .btn-kid{width:100%}.complete-buttons{flex-direction:column;width:100%}.complete-buttons .btn-kid{width:100%}.lesson-content{padding:var(--space-sm) var(--space-md);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,34px));gap:var(--space-xs)}.teacher-small{font-size:2rem;margin-bottom:var(--space-xs)}.question-counter{padding:var(--space-xs) var(--space-md);margin-bottom:var(--space-xs);font-size:var(--text-base)}.question-card{padding:var(--space-md)}.question-text{font-size:var(--text-lg);margin-bottom:var(--space-md)}.question-header{gap:var(--space-sm);margin-bottom:var(--space-md)}.btn-read-aloud{width:40px;height:40px}.btn-read-aloud .speaker-icon{font-size:1.25rem}.options-grid{gap:var(--space-sm);margin-bottom:var(--space-md)}.option-btn{padding:var(--space-sm) var(--space-md);font-size:var(--text-base);min-height:50px}.feedback-message{font-size:var(--text-lg);margin:var(--space-sm) 0}.btn-next{padding:var(--space-sm) var(--space-xl);font-size:var(--text-lg)}}@media(hover:none)and (pointer:coarse){.btn-kid,.option-btn,.avatar-option,.subject-card,.lesson-card{min-height:48px}.option-btn{min-height:60px}}.progress-screen{min-height:100vh;background:var(--bg-dark);padding-top:60px;padding-bottom:var(--space-2xl)}.progress-page-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-lg);background:var(--bg-card);border-bottom:1px solid var(--border-color)}.progress-page-header h1{font-size:var(--text-xl);font-weight:700;color:var(--text-primary)}.progress-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--bg-card);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100}.progress-header h1{font-size:var(--text-xl);font-weight:700}.header-actions{display:flex;gap:var(--space-md)}.export-container{position:relative}.btn-export{background:var(--accent-yellow);color:#1a1a1a;border:none;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:var(--space-xs)}.btn-export:hover{background:var(--primary-light);color:#fff}.export-menu{position:absolute;top:100%;right:0;margin-top:var(--space-xs);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;z-index:200;min-width:180px}.export-menu button{display:block;width:100%;padding:var(--space-md);background:none;border:none;color:var(--text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer}.export-menu button:hover{background:var(--bg-card-hover)}.student-banner{display:flex;align-items:center;gap:var(--space-lg);background:linear-gradient(135deg,var(--primary),var(--accent-purple));padding:var(--space-xl);margin:var(--space-lg);border-radius:var(--radius-2xl)}.student-avatar-large{font-size:clamp(3rem,10vw,5rem)}.student-info h2{font-size:var(--text-xl);margin-bottom:var(--space-xs);color:#fff}.student-info p{opacity:.9;font-size:var(--text-base);color:#fff}.filter-bar{display:flex;gap:var(--space-sm);padding:0 var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.filter-btn{padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s}.filter-btn:hover{border-color:var(--filter-color, var(--primary))}.filter-btn.active{background:var(--filter-color, var(--primary));border-color:var(--filter-color, var(--primary));color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);padding:0 var(--space-lg);margin-bottom:var(--space-xl)}@media(max-width:600px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.stat-emoji{font-size:var(--text-2xl)}.stat-value{font-size:var(--text-xl);font-weight:700}.stat-label{font-size:var(--text-sm);color:var(--text-secondary)}.progress-section{padding:0 var(--space-lg);margin-bottom:var(--space-xl)}.progress-section h3{font-size:var(--text-lg);margin-bottom:var(--space-md)}.subject-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.subject-progress-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-lg);border-left:4px solid var(--subject-color)}.subject-progress-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.subject-progress-emoji{font-size:var(--text-xl)}.subject-progress-name{font-size:var(--text-lg);font-weight:700}.subject-progress-stats{display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.progress-stat{text-align:center}.progress-stat-value{display:block;font-size:var(--text-lg);font-weight:700}.progress-stat-label{font-size:var(--text-sm);color:var(--text-secondary)}.accuracy-bar{height:8px;background:var(--bg-card-hover);border-radius:var(--radius-full);overflow:hidden}.accuracy-fill{height:100%;background:var(--subject-color);border-radius:var(--radius-full);transition:width .3s}.improvement-list{display:flex;flex-direction:column;gap:var(--space-sm)}.improvement-item{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md)}.improvement-emoji{font-size:var(--text-xl)}.improvement-info{flex:1}.improvement-topic{display:block;font-weight:600}.improvement-count{font-size:var(--text-sm);color:var(--text-secondary)}.empty-sessions{text-align:center;padding:var(--space-2xl);background:var(--bg-card);border-radius:var(--radius-xl)}.empty-emoji{font-size:clamp(3rem,10vw,5rem);display:block;margin-bottom:var(--space-md)}.empty-sessions p{color:var(--text-secondary);margin:var(--space-xs) 0}.empty-sessions.error-state,.no-progress.error-state{border:1px solid var(--accent-red);background:#ef44441a}.error-state p{color:var(--accent-red)}.btn-retry{margin-top:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:all .2s}.btn-retry:hover{background:var(--primary-light);transform:translateY(-1px)}.sessions-list{display:flex;flex-direction:column;gap:var(--space-sm)}.session-card{display:flex;align-items:center;gap:var(--space-md);background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md)}.session-subject{flex-shrink:0}.session-emoji{font-size:var(--text-xl);padding:var(--space-sm);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.session-info{flex:1;min-width:0}.session-title{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-date{font-size:var(--text-sm);color:var(--text-secondary)}.session-stats{text-align:right;flex-shrink:0}.session-score{display:block;font-weight:700}.session-stars{font-size:var(--text-sm)}@media(max-width:480px){.progress-header{padding:var(--space-sm) var(--space-md)}.progress-header h1{font-size:var(--text-lg)}.student-banner{flex-direction:column;text-align:center;padding:var(--space-lg);margin:var(--space-md)}.filter-bar,.stats-grid,.progress-section{padding:0 var(--space-md)}.session-card{flex-wrap:wrap}.session-info{width:calc(100% - 60px)}.session-stats{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-xs);padding-top:var(--space-xs);border-top:1px solid var(--border-color)}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:linear-gradient(135deg,#0f0f23,#1a1a3e,#2d1f4f)}.auth-container{width:100%;max-width:450px}.auth-header{text-align:center;margin-bottom:var(--space-xl)}.auth-mascots{display:flex;justify-content:center;gap:var(--space-md);font-size:2.5rem;margin-bottom:var(--space-md)}.auth-title{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#818cf8,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{color:var(--text-secondary);font-size:1.1rem}.auth-card{background:var(--bg-card);border-radius:var(--radius-2xl);padding:var(--space-xl);border:1px solid var(--border-color)}.auth-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl)}.auth-tab{flex:1;padding:var(--space-md);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-muted);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.auth-tab:hover{border-color:var(--primary);color:var(--text-primary)}.auth-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.auth-form{display:flex;flex-direction:column;gap:var(--space-lg)}.google-btn-container{display:flex;justify-content:center;margin:var(--space-md) 0}.btn-google-native{display:flex;align-items:center;justify-content:center;width:100%;max-width:300px;margin:var(--space-md) auto;padding:12px 24px;background:#fff;color:#444;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-google-native:hover:not(:disabled){background:#f5f5f5;box-shadow:0 2px 8px #0000001a}.btn-google-native:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;gap:var(--space-md);color:var(--text-muted);font-size:.9rem;margin:var(--space-sm) 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-weight:600;color:var(--text-secondary)}.form-group input{padding:var(--space-md) var(--space-lg);background:var(--bg-dark);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.form-group input::placeholder{color:var(--text-muted)}.auth-error{background:#ef44441a;border:1px solid var(--accent-red);color:var(--accent-red);padding:var(--space-md);border-radius:var(--radius-md);font-size:.9rem}.btn-auth-submit{padding:var(--space-lg);background:linear-gradient(135deg,var(--primary),var(--accent-pink));border:none;border-radius:var(--radius-lg);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-auth-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #6366f166}.btn-auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-info{text-align:center;margin-top:var(--space-lg);color:var(--text-muted);font-size:.9rem}.auth-features{display:flex;justify-content:center;gap:var(--space-xl);margin-top:var(--space-xl)}.feature{text-align:center}.feature span{font-size:2rem;display:block;margin-bottom:var(--space-xs)}.feature p{color:var(--text-secondary);font-size:.85rem}.demographics-form{display:flex;flex-direction:column;gap:var(--space-md)}.demographics-intro{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--space-sm);padding:var(--space-md);background:#6366f11a;border-radius:var(--radius-md)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.form-group select{padding:var(--space-md) var(--space-lg);background:var(--bg-dark);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1rem;transition:all .2s;cursor:pointer}.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f133}.form-group select option{background:var(--bg-card);color:var(--text-primary)}.checkbox-group{flex-direction:row!important;align-items:center!important}.checkbox-group label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-weight:400!important;color:var(--text-primary)!important}.checkbox-group input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer}.consent-checkbox{background:#6366f10d;padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.consent-checkbox label{font-size:.85rem}.btn-back{padding:var(--space-md);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.9rem;cursor:pointer;transition:all .2s;margin-top:var(--space-sm)}.btn-back:hover{border-color:var(--primary);color:var(--primary)}.btn-skip{padding:var(--space-md) var(--space-lg);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:all .2s}.btn-skip:hover:not(:disabled){border-color:var(--text-primary);color:var(--text-primary)}.btn-skip:disabled{opacity:.5;cursor:not-allowed}.parent-dashboard{min-height:100vh;background:var(--bg-dark);padding-top:60px}.dashboard-title{padding:var(--space-lg) var(--space-xl);background:var(--bg-card);border-bottom:1px solid var(--border-color)}.dashboard-title h1{font-size:1.5rem;color:var(--text-primary);margin-bottom:var(--space-xs)}.dashboard-title p{color:var(--text-secondary);font-size:.9rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg) var(--space-xl);background:var(--bg-card);border-bottom:1px solid var(--border-color)}.dashboard-header h1{font-size:1.5rem;color:var(--text-primary);margin-bottom:var(--space-xs)}.dashboard-header p{color:var(--text-secondary);font-size:.9rem}.btn-logout{padding:var(--space-sm) var(--space-lg);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s}.btn-logout:hover{border-color:var(--accent-red);color:var(--accent-red)}.dashboard-content{padding:var(--space-xl);max-width:1200px;margin:0 auto}.dashboard-section{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);border:1px solid var(--border-color)}.subscription-upgrade-banner{max-width:1200px;margin:0 auto;padding:0 var(--space-xl);margin-bottom:var(--space-lg)}.subscription-status-bar{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-lg) var(--space-xl);border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.subscription-info-inline{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.status-pill{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.status-pill.status-trialing{background:#fbbf2433;color:var(--accent-yellow)}.status-pill.status-active{background:#22c55e33;color:var(--secondary)}.status-pill.status-school{background:#3b82f633;color:var(--accent-blue)}.subscription-info-inline .plan-name{font-weight:600;color:var(--text-primary)}.subscription-info-inline .trial-info{color:var(--text-muted);font-size:.9rem}.btn-manage{padding:var(--space-sm) var(--space-lg);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s}.btn-manage:hover{border-color:var(--primary);color:var(--primary)}.school-plan-badge{padding:var(--space-sm) var(--space-lg);background:#22c55e26;border:2px solid var(--secondary);border-radius:var(--radius-lg);color:var(--secondary);font-weight:600;font-size:var(--text-sm)}.upgrade-prompt{background:linear-gradient(135deg,#6366f126,#ec489926);border-radius:var(--radius-xl);padding:var(--space-lg) var(--space-xl);border:1px solid var(--primary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.upgrade-content{display:flex;align-items:center;gap:var(--space-lg)}.upgrade-icon{font-size:2rem}.upgrade-text h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:var(--space-xs)}.upgrade-text p{color:var(--text-secondary);font-size:.9rem}.btn-upgrade{padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary),var(--accent-pink));border:none;border-radius:var(--radius-lg);color:#fff;font-weight:700;cursor:pointer;transition:all .2s}.btn-upgrade:hover{transform:translateY(-2px);box-shadow:0 4px 15px #6366f166}@media(max-width:600px){.subscription-status-bar,.upgrade-prompt{flex-direction:column;text-align:center}.upgrade-content{flex-direction:column}}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xl)}.section-header h2{font-size:1.3rem;color:var(--text-primary)}.btn-add-child{padding:var(--space-sm) var(--space-lg);background:linear-gradient(135deg,var(--secondary),var(--secondary-light));border:none;border-radius:var(--radius-lg);color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-add-child:hover{transform:translateY(-2px);box-shadow:0 4px 15px #22c55e66}.empty-children{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.empty-icon{font-size:4rem;display:block;margin-bottom:var(--space-md)}.children-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-lg)}.child-card{background:var(--bg-dark);border-radius:var(--radius-xl);padding:var(--space-xl);border:1px solid var(--border-color);text-align:center;transition:all .2s;position:relative}.child-card:hover{border-color:var(--primary);transform:translateY(-2px)}.btn-edit-child{position:absolute;top:var(--space-sm);right:var(--space-sm);background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);opacity:.5;transition:all .2s}.btn-edit-child:hover{opacity:1;background:var(--bg-secondary)}.child-avatar{font-size:4rem;margin-bottom:var(--space-md)}.child-info h3{font-size:1.3rem;color:var(--text-primary);margin-bottom:var(--space-xs)}.child-info p{color:var(--text-secondary);font-size:.9rem}.child-stats{display:flex;justify-content:center;gap:var(--space-lg);margin:var(--space-lg) 0;color:var(--text-muted);font-size:.9rem}.child-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.btn-start-learning{padding:var(--space-md);background:linear-gradient(135deg,var(--primary),var(--accent-pink));border:none;border-radius:var(--radius-lg);color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-start-learning:hover{transform:scale(1.02);box-shadow:0 4px 15px #6366f166}.btn-view-progress{padding:var(--space-md);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s}.btn-view-progress:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.btn-close{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;transition:color .2s}.btn-close:hover{color:var(--text-primary)}.progress-section{margin-top:var(--space-xl)}.progress-summary{display:flex;justify-content:center;gap:var(--space-2xl);margin-bottom:var(--space-xl)}.summary-stat{text-align:center}.summary-stat .stat-value{display:block;font-size:2rem;font-weight:700;color:var(--primary)}.summary-stat .stat-label{color:var(--text-muted);font-size:.9rem}.recent-sessions h3{margin-bottom:var(--space-md);color:var(--text-secondary)}.session-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-dark);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.session-subject{background:var(--primary);color:#fff;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-transform:capitalize}.session-lesson{flex:1;color:var(--text-primary)}.session-score{color:var(--text-secondary)}.session-date{color:var(--text-muted);font-size:.8rem}.no-progress{text-align:center;padding:var(--space-xl);color:var(--text-muted)}.weekly-summary-card{background:linear-gradient(135deg,var(--primary),var(--accent-purple));border-radius:var(--radius-xl);padding:var(--space-lg);margin-bottom:var(--space-lg);color:#fff}.weekly-summary-card h3{margin:0 0 var(--space-md) 0;font-size:1.1rem;opacity:.9}.weekly-stats{display:flex;justify-content:space-around;gap:var(--space-md)}.weekly-stat{text-align:center}.weekly-stat .stat-value{display:block;font-size:1.8rem;font-weight:700}.weekly-stat .stat-label{font-size:.85rem;opacity:.8}.weekly-stat .comparison{display:block;font-size:.75rem;margin-top:.25rem;font-weight:600}.weekly-stat .comparison.up{color:#a8e6cf}.weekly-stat .comparison.down{color:#ffb8b8}.progress-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);border-bottom:2px solid var(--border-color);padding-bottom:var(--space-sm)}.tab-btn{background:none;border:none;padding:var(--space-sm) var(--space-md);font-size:.9rem;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease}.tab-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.tab-btn.active{background:var(--primary);color:#fff}.tab-content{animation:fadeIn .3s ease}.concepts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.concept-card{background:var(--bg-card);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--border-color)}.concept-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.concept-subject{font-size:.8rem;background:var(--bg-card-hover);padding:.2rem .5rem;border-radius:var(--radius-sm);text-transform:capitalize}.concept-status{font-size:.85rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--radius-sm)}.concept-status.status-struggling{background:#ffe0e0;color:#d63031}.concept-status.status-needs-practice{background:#fff3cd;color:#d68910}.concept-type{font-weight:600;margin-bottom:var(--space-sm);text-transform:capitalize}.concept-progress{height:6px;background:var(--bg-card-hover);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-xs)}.concept-bar{height:100%;background:linear-gradient(90deg,#e74c3c,#f39c12);border-radius:var(--radius-full);transition:width .3s ease}.concept-attempts{font-size:.75rem;color:var(--text-muted)}.trends-container{padding:var(--space-md)}.trends-chart{display:flex;align-items:flex-end;justify-content:center;gap:var(--space-lg);height:200px;padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-lg);margin-bottom:var(--space-md)}.trend-bar-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex:1;max-width:60px}.trend-bar{width:100%;background:linear-gradient(180deg,var(--primary),var(--accent-purple));border-radius:var(--radius-md) var(--radius-md) 0 0;min-height:20px;display:flex;align-items:flex-start;justify-content:center;padding-top:var(--space-xs);transition:height .5s ease}.trend-value{font-size:.7rem;font-weight:600;color:#fff}.trend-label{font-size:.7rem;color:var(--text-muted);text-align:center}.trends-summary{text-align:center}.trend-direction{font-weight:600;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md)}.trend-direction.improving{background:#d4edda;color:#155724}.trend-direction.declining{background:#f8d7da;color:#721c24}.trend-direction.stable{background:#e2e3e5;color:#383d41}.no-data{text-align:center;padding:var(--space-2xl);color:var(--text-muted)}.no-data span{font-size:3rem;display:block;margin-bottom:var(--space-md)}.no-data p{margin:var(--space-xs) 0}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:1000}.modal-content{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:1.3rem;color:var(--text-primary)}.modal-body{padding:var(--space-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg);border-top:1px solid var(--border-color)}.grade-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.grade-select-btn{padding:var(--space-md);background:var(--bg-dark);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s;text-align:left}.grade-select-btn:hover{border-color:var(--primary)}.grade-select-btn.selected{border-color:var(--primary);background:#6366f11a;color:var(--text-primary)}.grade-select-btn span{display:block;font-weight:600}.grade-select-btn small{color:var(--text-muted);font-size:.8rem}.avatar-select-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-sm)}.avatar-select-btn{aspect-ratio:1;font-size:1.8rem;background:var(--bg-dark);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.avatar-select-btn:hover{border-color:var(--primary);transform:scale(1.1)}.avatar-select-btn.selected{border-color:var(--secondary);background:var(--secondary);transform:scale(1.1)}.btn-cancel{padding:var(--space-md) var(--space-lg);background:transparent;border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel:hover{border-color:var(--text-muted)}.btn-add{padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--secondary),var(--secondary-light));border:none;border-radius:var(--radius-lg);color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.btn-add:hover:not(:disabled){transform:scale(1.02);box-shadow:0 4px 15px #22c55e66}.btn-add:disabled{opacity:.5;cursor:not-allowed}.landing-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-dark) 0%,#1e1e3f 50%,#2d1f4f 100%)}.landing-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl) var(--space-lg) 320px;position:relative}.hero-mascots{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl)}.hero-mascots .mascot{font-size:clamp(3rem,10vw,5rem);display:inline-block}.mascot.bounce-1{animation:bounce 2s ease-in-out infinite}.mascot.bounce-2{animation:bounce 2s ease-in-out infinite .3s}.mascot.bounce-3{animation:bounce 2s ease-in-out infinite .6s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.hero-title{font-size:clamp(3rem,12vw,5rem);font-weight:800;background:linear-gradient(135deg,var(--primary-light),var(--accent-pink),var(--accent-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-sm)}.hero-subtitle{font-size:var(--text-2xl);color:#ffffffe6;text-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:var(--space-lg)}.hero-description{font-size:var(--text-lg);color:#ffffffd9;text-shadow:0 2px 4px rgba(0,0,0,.3);max-width:500px;margin-bottom:var(--space-xl)}.hero-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-lg)}.btn-get-started{padding:var(--space-lg) var(--space-2xl);font-size:var(--text-xl);font-weight:700;background:linear-gradient(135deg,var(--secondary),var(--secondary-light));border:none;border-radius:var(--radius-xl);color:#fff;cursor:pointer;transition:all .3s;box-shadow:0 4px 20px #22c55e66}.btn-get-started:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #22c55e80}.hero-buttons .btn-login{padding:var(--space-lg) var(--space-2xl);font-size:var(--text-xl);font-weight:700;background:transparent;border:2px solid rgba(255,255,255,.8);border-radius:var(--radius-xl);color:#fff;cursor:pointer;transition:all .3s}.hero-buttons .btn-login:hover{background:#ffffff1a;border-color:#fff;transform:translateY(-3px)}.hero-signin{color:#fffc;font-size:var(--text-base);margin-top:var(--space-md);background:transparent;border:none;outline:none}.link-signin{background:none;border:none;color:var(--primary-light);font-weight:600;cursor:pointer;text-decoration:underline}.link-signin:hover{color:var(--accent-pink)}.landing-features{padding:var(--space-2xl) var(--space-lg);text-align:center;background:#0003}.landing-features h2{font-size:var(--text-2xl);margin-bottom:var(--space-xl);color:var(--text-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);max-width:900px;margin:0 auto}.feature-card{background:var(--bg-card);padding:var(--space-xl);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.feature-icon{font-size:3rem;display:block;margin-bottom:var(--space-md)}.feature-card h3{font-size:var(--text-lg);margin-bottom:var(--space-sm);color:var(--primary-light)}.feature-card p{font-size:var(--text-sm);color:var(--text-muted)}.landing-subjects{padding:var(--space-2xl) var(--space-lg);text-align:center}.landing-subjects h2{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.section-subtitle{color:var(--text-muted);margin-bottom:var(--space-xl)}.subjects-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);max-width:800px;margin:0 auto}.subject-badge{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-card);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);border:1px solid var(--border-color);font-size:var(--text-base)}.subject-badge span:first-child{font-size:1.5rem}.landing-teachers{padding:var(--space-2xl) var(--space-lg);text-align:center;background:#0003}.landing-teachers h2{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.teachers-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-lg);margin-top:var(--space-xl)}.teacher-bubble{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.teacher-emoji{font-size:4rem;background:var(--bg-card);padding:var(--space-lg);border-radius:50%;border:3px solid var(--primary);transition:transform .3s}.teacher-bubble:hover .teacher-emoji{transform:scale(1.1)}.teacher-name{font-size:var(--text-sm);color:var(--text-secondary)}.landing-grades{padding:var(--space-2xl) var(--space-lg);text-align:center}.landing-grades h2{font-size:var(--text-2xl);margin-bottom:var(--space-xl)}.grades-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.grade-badge{background:linear-gradient(135deg,var(--primary),var(--accent-purple));padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-weight:600;font-size:var(--text-base)}.grades-note{color:var(--text-muted);font-size:var(--text-sm)}.landing-cta{padding:var(--space-2xl) var(--space-lg);text-align:center;background:linear-gradient(135deg,var(--primary) 0%,var(--accent-purple) 100%)}.cta-content h2{font-size:var(--text-2xl);margin-bottom:var(--space-md)}.cta-content p{margin-bottom:var(--space-xl);opacity:.9}.landing-cta .btn-get-started{background:#fff;color:var(--primary)}.landing-cta .btn-get-started:hover{background:var(--text-primary)}.landing-footer{padding:var(--space-xl) var(--space-lg);text-align:center;background:#0000004d}.footer-mascots{font-size:2rem;margin-bottom:var(--space-md);display:flex;justify-content:center;gap:var(--space-md)}.landing-footer p{color:var(--text-muted);font-size:var(--text-sm)}.teaching-phase{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-lg);padding:var(--space-xl);min-height:70vh;position:relative;overflow:hidden;border-radius:24px;margin:var(--space-md)}.scene-elements{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-element{position:absolute;font-size:3rem;opacity:.6;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.scene-element-1{top:10%;left:5%;animation:floatElement1 4s ease-in-out infinite}.scene-element-2{top:20%;right:8%;animation:floatElement2 5s ease-in-out infinite}.scene-element-3{bottom:15%;left:10%;animation:floatElement3 4.5s ease-in-out infinite}.scene-element-4{bottom:25%;right:5%;animation:floatElement4 3.5s ease-in-out infinite}@keyframes floatElement1{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(15px,-20px) rotate(10deg)}}@keyframes floatElement2{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-20px,15px) rotate(-15deg)}}@keyframes floatElement3{0%,to{transform:translate(0) scale(1)}50%{transform:translate(10px,-15px) scale(1.1)}}@keyframes floatElement4{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-15px,-10px) rotate(20deg)}}.scene-character{font-size:8rem!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.milestone-badge{background:#fffffff2;padding:var(--space-sm) var(--space-md);border-radius:50px;font-weight:700;color:#1a1a2e;box-shadow:0 4px 15px #00000026}.teacher-character{position:relative;display:flex;flex-direction:column;align-items:center}.teacher-emoji{font-size:6rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.teacher-body{position:relative;height:40px}.teacher-celebrate .teacher-emoji{animation:teacherCelebrate .6s ease-in-out infinite}.teacher-encourage .teacher-emoji{animation:teacherEncourage 1s ease-in-out infinite}.teacher-bounce .teacher-emoji{animation:teacherBounce 1s ease-in-out infinite}@keyframes teacherCelebrate{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-10deg)}50%{transform:scale(1) rotate(0)}75%{transform:scale(1.2) rotate(10deg)}}@keyframes teacherEncourage{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.05)}}@keyframes teacherBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.celebration-effects{position:absolute;top:-60px;left:50%;transform:translate(-50%);display:flex;gap:10px}.confetti{font-size:1.5rem;animation:confettiFall 1s ease-out infinite}.confetti:nth-child(1){animation-delay:0s}.confetti:nth-child(2){animation-delay:.15s}.confetti:nth-child(3){animation-delay:.3s}.confetti:nth-child(4){animation-delay:.45s}@keyframes confettiFall{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}to{transform:translateY(60px) rotate(360deg) scale(0);opacity:0}}.teaching-bubble{background:#fff;border-radius:24px;padding:var(--space-xl);max-width:500px;text-align:center;box-shadow:0 8px 32px #00000026;position:relative}.teaching-bubble:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);border:15px solid transparent;border-bottom-color:#fff}.teacher-name{font-size:var(--text-sm);color:#1a1a2e;margin-bottom:var(--space-sm);font-weight:700;text-shadow:0 1px 2px rgba(255,255,255,.5)}.teaching-main{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin-bottom:var(--space-md);line-height:1.4;text-shadow:0 1px 3px rgba(255,255,255,.6)}.teaching-tip{display:flex;align-items:flex-start;gap:var(--space-sm);background:linear-gradient(135deg,#fff9e6,#fff3cc);padding:var(--space-md);border-radius:16px;text-align:left}.teaching-tip p{font-size:var(--text-base);color:#2d2d44;margin:0;line-height:1.5;font-weight:500}.teaching-tip-box{display:flex;align-items:flex-start;gap:var(--space-sm);background:linear-gradient(135deg,#fff9e6,#fff3cc);padding:var(--space-md) var(--space-lg);border-radius:20px;text-align:left;max-width:400px;margin:var(--space-md) auto;box-shadow:0 4px 16px #0000001a}.teaching-tip-box .tip-icon{font-size:1.5rem;flex-shrink:0}.teaching-tip-box p{font-size:var(--text-base);color:#2d2d44;margin:0;line-height:1.5;font-weight:500}.teaching-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:#1a1a2e;font-size:var(--text-sm);font-weight:600;text-shadow:0 1px 2px rgba(255,255,255,.5)}.stars-earned{display:flex;align-items:center;gap:var(--space-xs);font-size:1.2rem}.star-count{font-size:var(--text-sm);color:#fff;font-weight:600}.btn-continue{background:linear-gradient(135deg,var(--success),#27ae60);color:#fff;font-size:1.3rem;padding:var(--space-md) var(--space-xl);border-radius:50px;border:none;cursor:pointer;font-weight:700;box-shadow:0 4px 15px #2ecc7166;transition:all .3s ease}.btn-continue:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #2ecc7180}.animate-pop{animation:popIn .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes popIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 4px 15px #2ecc7166}50%{transform:scale(1.05);box-shadow:0 6px 25px #2ecc7199}}@media(max-width:600px){.teacher-emoji{font-size:4rem}.teaching-bubble{padding:var(--space-lg);margin:0 var(--space-md)}.teaching-main{font-size:1.2rem}.btn-continue{font-size:1.1rem;padding:var(--space-sm) var(--space-lg)}}.end-teaching-phase{display:flex;justify-content:center;align-items:center;padding:var(--space-lg)}.end-teaching-card{background:linear-gradient(135deg,var(--bg-card) 0%,#2a2a4a 100%);border-radius:var(--radius-2xl);padding:var(--space-2xl);max-width:600px;width:100%;box-shadow:0 10px 40px #0000004d;border:2px solid var(--primary)}.end-teaching-header{text-align:center;margin-bottom:var(--space-xl)}.end-teaching-emoji{font-size:4rem;display:block;margin-bottom:var(--space-md);animation:bounce 1s ease infinite}.end-teaching-title{font-size:var(--text-2xl);color:#fff;font-weight:700;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.end-teaching-body{background:#ffffff0d;border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl)}.teacher-says{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color)}.teacher-avatar-small{font-size:2rem}.teacher-intro{color:var(--primary-light);font-size:var(--text-base);font-weight:600}.end-teaching-content{color:#fff;font-size:var(--text-lg);line-height:1.7;margin:0 0 var(--space-lg) 0}.end-teaching-tip{background:linear-gradient(135deg,#f1c40f33,#f39c121a);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;align-items:flex-start;gap:var(--space-sm);border-left:4px solid var(--accent)}.tip-icon{font-size:1.5rem;flex-shrink:0}.tip-text{color:#fff;font-size:var(--text-base);margin:0;font-weight:500}.end-teaching-stats{display:flex;justify-content:space-around;margin-bottom:var(--space-xl);padding:var(--space-lg);background:#0003;border-radius:var(--radius-lg)}.end-teaching-stats .stat-item{text-align:center}.end-teaching-stats .stat-value{display:block;font-size:var(--text-xl);font-weight:700;color:#fff;margin-bottom:var(--space-xs)}.end-teaching-stats .stat-label{display:block;font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.end-teaching-actions{display:flex;flex-direction:column;gap:var(--space-md)}.btn-continue-learning{background:linear-gradient(135deg,var(--primary),#7c3aed)!important;font-size:var(--text-xl)!important;padding:var(--space-lg) var(--space-2xl)!important;animation:pulse 2s ease-in-out infinite}.btn-continue-learning:hover{transform:scale(1.03);box-shadow:0 8px 30px #8b5cf680}.btn-done{background:var(--bg-card-hover)!important;font-size:var(--text-base)!important;padding:var(--space-md) var(--space-xl)!important}.btn-done:hover{background:var(--bg-card)!important}@media(max-width:600px){.end-teaching-card{padding:var(--space-lg);margin:var(--space-md)}.end-teaching-emoji{font-size:3rem}.end-teaching-title{font-size:var(--text-xl)}.end-teaching-content{font-size:var(--text-base)}.end-teaching-stats{flex-direction:column;gap:var(--space-md)}.end-teaching-stats .stat-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color)}.end-teaching-stats .stat-item:last-child{border-bottom:none}}.stl-skyline{position:absolute;bottom:0;left:0;right:0;height:280px;overflow:hidden;pointer-events:none;z-index:0;background:linear-gradient(180deg,#87ceeb,#98d8f0,#b0e2f5,#c5ecf9,#e0f4fc,#f0f9ff);border-radius:0 0 20px 20px}.stl-mini{height:120px;opacity:.3}.stl-arch-container{position:absolute;bottom:60px;left:50%;transform:translate(-50%);z-index:10}.stl-arch{position:relative;width:180px;height:220px;animation:archGlow 4s ease-in-out infinite}.stl-mini .stl-arch{width:80px;height:100px}.stl-mini .stl-arch-container{bottom:25px}.arch-curve{position:absolute;width:180px;height:220px;background:transparent;border:12px solid;border-color:#A8A8A8 #D0D0D0 #888888 #B8B8B8;border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0;box-shadow:0 0 30px #ffffff80,inset 3px 0 10px #ffffffb3,inset -3px 0 10px #0003;filter:drop-shadow(2px 4px 15px rgba(0,0,0,.3))}.stl-mini .arch-curve{width:80px;height:100px;border-width:6px}.arch-leg{position:absolute;bottom:0;width:12px;height:50px;background:linear-gradient(180deg,#b4b4b4,#a0a0a0)}.stl-mini .arch-leg{width:6px;height:22px}.arch-left{left:8px;transform:skew(-5deg)}.arch-right{right:8px;transform:skew(5deg)}.stl-mini .arch-left{left:4px}.stl-mini .arch-right{right:4px}.arch-reflection{position:absolute;bottom:-50px;left:50%;transform:translate(-50%) scaleY(-.2);width:180px;height:220px;background:transparent;border:12px solid rgba(200,200,200,.3);border-bottom:none;border-radius:50% 50% 0 0/100% 100% 0 0;opacity:.4;filter:blur(3px)}.stl-building{position:absolute;bottom:60px;background:linear-gradient(180deg,#8b7355,#6b5344,#5a4636);border-radius:4px 4px 0 0;box-shadow:2px 0 10px #0003}.stl-mini .stl-building{bottom:25px}.building-1{left:10%;width:45px;height:100px;background:linear-gradient(180deg,#c4a882,#a08060)}.building-1:before{content:"";position:absolute;inset:10px 5px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 12px,rgba(135,206,235,.7) 12px,rgba(135,206,235,.7) 18px),repeating-linear-gradient(90deg,transparent 0px,transparent 8px,rgba(135,206,235,.7) 8px,rgba(135,206,235,.7) 12px)}.building-2{left:18%;width:55px;height:140px;background:linear-gradient(180deg,#d4c4a8,#b0a080)}.building-2:before{content:"";position:absolute;inset:15px 8px 10px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 15px,rgba(100,180,220,.6) 15px,rgba(100,180,220,.6) 20px)}.building-3{left:28%;width:40px;height:80px;background:linear-gradient(180deg,#a89078,#887058)}.building-4{right:28%;width:50px;height:120px;background:linear-gradient(180deg,#bca888,#9c8868)}.building-4:before{content:"";position:absolute;inset:10px 6px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 14px,rgba(135,206,235,.6) 14px,rgba(135,206,235,.6) 18px)}.building-5{right:18%;width:60px;height:160px;background:linear-gradient(180deg,#e0d0b8,#c0b090)}.building-5:before{content:"";position:absolute;inset:20px 10px 15px;background:repeating-linear-gradient(0deg,transparent 0px,transparent 18px,rgba(100,180,220,.5) 18px,rgba(100,180,220,.5) 22px)}.building-6{right:8%;width:35px;height:70px;background:linear-gradient(180deg,#c8b898,#a89878)}.stl-mini .building-1{width:20px;height:45px}.stl-mini .building-2{width:25px;height:60px}.stl-mini .building-4{width:22px;height:50px}.stl-mini .building-5{width:28px;height:70px}.stl-ground{position:absolute;bottom:30px;left:0;right:0;height:30px;background:linear-gradient(180deg,#7cb342,#558b2f)}.stl-mini .stl-ground{bottom:12px;height:13px}.stl-river{position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(180deg,#4fc3f7,#29b6f6,#03a9f4);overflow:hidden}.stl-mini .stl-river{height:12px}.river-wave{position:absolute;width:200%;height:15px;background:repeating-linear-gradient(90deg,transparent 0px,rgba(255,255,255,.4) 20px,transparent 40px);animation:waveMove 8s linear infinite}.wave-1{top:5px;animation-duration:6s}.wave-2{top:12px;animation-duration:8s;animation-delay:-2s}.wave-3{top:20px;animation-duration:10s;animation-delay:-4s}.stl-cloud{position:absolute;background:radial-gradient(ellipse,rgba(255,255,255,.9) 0%,rgba(255,255,255,.6) 40%,transparent 70%);border-radius:50%;animation:cloudFloat 20s linear infinite}.cloud-1{top:20px;left:-100px;width:120px;height:40px;animation-duration:25s}.cloud-2{top:50px;left:-150px;width:150px;height:50px;animation-duration:30s;animation-delay:-10s}.cloud-3{top:30px;left:-80px;width:100px;height:35px;animation-duration:22s;animation-delay:-5s}.stl-sun{position:absolute;bottom:50px;right:20%;width:40px;height:40px;border-radius:50%;pointer-events:none;animation:sunPulse 4s ease-in-out infinite;transition:background .3s,box-shadow .3s}[data-theme=light] .stl-sun{background:radial-gradient(circle,#FFD54F 0%,#FFCA28 40%,#FFC107 60%,rgba(255,193,7,.3) 80%,transparent 100%);box-shadow:0 0 20px #ffc10766}[data-theme=dark] .stl-sun,[data-theme=high-contrast] .stl-sun{background:radial-gradient(circle at 35% 35%,#F5F5F0 0%,#E8E8E0 40%,#D4D4C8 70%,rgba(212,212,200,.3) 90%,transparent 100%);box-shadow:0 0 15px #fffff04d}.stl-moon{display:none}@keyframes archGlow{0%,to{filter:drop-shadow(2px 4px 15px rgba(0,0,0,.3))}50%{filter:drop-shadow(2px 4px 20px rgba(0,0,0,.2)) drop-shadow(0 0 15px rgba(255,255,255,.3))}}@keyframes windowFlicker{0%,to{opacity:.8}25%{opacity:.6}50%{opacity:.9}75%{opacity:.7}}@keyframes waveMove{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes cloudFloat{0%{transform:translate(0)}to{transform:translate(calc(100vw + 200px))}}@keyframes sunPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.1);opacity:1}}.landing-hero .stl-skyline{height:350px}.landing-hero .stl-arch{width:220px;height:250px}.landing-hero .arch-curve{width:220px;height:280px;border-width:14px}.landing-hero .arch-leg{width:14px;height:60px}.landing-hero .arch-left{left:10px}.landing-hero .arch-right{right:10px}.landing-hero .stl-arch-container,.landing-hero .stl-building{bottom:70px}.landing-hero .building-1{height:130px;width:55px}.landing-hero .building-2{height:180px;width:70px}.landing-hero .building-3{height:100px;width:50px}.landing-hero .building-4{height:150px;width:60px}.landing-hero .building-5{height:200px;width:75px}.landing-hero .building-6{height:90px;width:45px}.landing-hero .stl-ground{bottom:40px;height:35px}.landing-hero .stl-river{height:40px}.landing-hero{position:relative;z-index:1;overflow:hidden}.landing-hero .hero-mascots,.landing-hero .hero-title,.landing-hero .hero-subtitle,.landing-hero .hero-city-badge,.landing-hero .hero-description,.landing-hero .hero-buttons,.landing-hero .hero-signin{position:relative;z-index:10}.home-screen{position:relative;overflow-x:hidden}.home-screen .stl-mini{position:fixed;bottom:0;left:0;right:0;height:200px;opacity:.15;pointer-events:none;z-index:0;overflow:hidden}.home-screen .stl-sun,.home-screen .stl-moon,.home-screen .stl-mini .stl-sun,.home-screen .stl-mini .stl-moon{display:none!important}@media(max-width:768px){.stl-skyline{height:180px}.stl-arch{width:120px;height:130px}.arch-curve{width:120px;height:130px;border-width:5px}.arch-leg{width:8px;height:30px}.arch-left{left:5px}.arch-right{right:5px}.stl-arch-container,.stl-building{bottom:40px}.building-1{width:30px;height:65px}.building-2{width:40px;height:90px}.building-3{width:25px;height:50px}.building-4{width:35px;height:75px}.building-5{width:45px;height:100px}.building-6{width:25px;height:45px}.stl-ground{bottom:20px;height:20px}.stl-river{height:20px}.stl-sun{width:35px;height:35px;bottom:30px;top:auto}.landing-hero .stl-skyline{height:220px}.landing-hero .stl-arch{width:140px;height:160px}.landing-hero .arch-curve{width:140px;height:160px;border-width:6px}}.arcade-game{display:flex;flex-direction:column;height:100%;min-height:500px;position:relative;overflow:hidden;background:linear-gradient(180deg,#1a1a3e,#2d1b4e,#1a1a3e)}.arcade-countdown-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0f0f23f2;z-index:10}.arcade-instructions{text-align:center;padding:2rem}.arcade-instructions h2{font-size:2rem;color:#ffd93d;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.arcade-prompt-large{font-size:1.8rem;color:#fff;margin-bottom:2rem;font-weight:700}.arcade-countdown-number{font-size:6rem;font-weight:700;color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.5);animation:countdown-pulse 1s ease-in-out infinite}@keyframes countdown-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.arcade-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#0000004d;border-radius:1rem;margin-bottom:1rem}.arcade-timer,.arcade-score{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:700;color:#fff}.timer-icon,.score-icon{font-size:1.8rem}.timer-value{min-width:50px;text-align:center}.timer-warning{color:#ff6b6b;animation:pulse .5s ease-in-out infinite}.arcade-prompt{font-size:1.5rem;font-weight:700;color:#ffd93d;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5);flex:1;padding:0 1rem}.arcade-field{flex:1;position:relative;min-height:400px;height:400px;border-radius:1rem;background:linear-gradient(180deg,#1e1e50cc,#282864e6,#323278);overflow:visible;border:2px solid rgba(255,255,255,.3)}.arcade-item{position:absolute;width:70px;height:70px;font-size:2.2rem;font-weight:700;color:#1a1a2e;text-shadow:0 1px 2px rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#ffd93d,#ff6b6b);border:4px solid #ffffff;border-radius:50%;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 4px 15px #ff6b6b99,0 0 25px #ffd93d66,inset 0 2px 4px #fff6;transform:translate(-50%);z-index:9999}.arcade-item:hover{transform:translate(-50%) scale(1.1);box-shadow:0 8px 30px #ff6b6bcc,0 0 40px #ffd93d99}.arcade-item:active{transform:translate(-50%) scale(.9)}.arcade-item.popped{animation:none!important;background:linear-gradient(145deg,#4ade80,#22c55e)!important;border-color:#fff!important;box-shadow:0 0 30px #4ade80,0 0 60px #22c55e!important;opacity:0;transform:translate(-50%) scale(1.2);transition:all .2s ease-out}.arcade-item.wrong-tap{animation:none!important;background:linear-gradient(145deg,#f87171,#ef4444)!important;border-color:#fff!important;box-shadow:0 0 30px #f87171,0 0 60px #ef4444!important;transform:translate(-50%) scale(.9);transition:all .2s ease-out}@keyframes pop{0%{transform:translate(-50%) scale(1);opacity:1}50%{transform:translate(-50%) scale(1.8);opacity:.7}to{transform:translate(-50%) scale(0);opacity:0}}@keyframes shake{0%,to{transform:translate(-50%) rotate(0)}20%{transform:translate(-50%) rotate(-15deg)}40%{transform:translate(-50%) rotate(15deg)}60%{transform:translate(-50%) rotate(-10deg)}80%{transform:translate(-50%) rotate(10deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.arcade-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:2rem;padding-bottom:15vh;text-align:center;min-height:60vh}.arcade-result-emoji{font-size:5rem;margin-bottom:1rem;animation:bounce .5s ease-in-out infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-15px)}}.arcade-result-title{font-size:2.5rem;color:#ffd93d;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.arcade-final-score{font-size:1.5rem;color:#fff;margin-bottom:2rem}@media(max-width:600px){.arcade-header{flex-wrap:wrap;gap:.5rem}.arcade-prompt{order:-1;width:100%;font-size:1.2rem;margin-bottom:.5rem}.arcade-timer,.arcade-score{font-size:1.2rem}.arcade-item{width:50px;height:50px;font-size:1.5rem}.arcade-result-emoji{font-size:4rem}.arcade-result-title{font-size:2rem}}.classroom-phase{display:flex;flex-direction:column;min-height:500px;padding:1.5rem;position:relative;overflow:hidden}.classroom-decorations{position:absolute;inset:0;pointer-events:none;overflow:hidden}.decoration{position:absolute;font-size:2.5rem;opacity:.3;animation:float 6s ease-in-out infinite}.decoration-1{top:10%;left:5%;animation-delay:0s}.decoration-2{top:15%;right:8%;animation-delay:1.5s}.decoration-3{bottom:20%;left:10%;animation-delay:3s}.decoration-4{bottom:15%;right:5%;animation-delay:4.5s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(10deg)}}.classroom-sky-animations{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.flying-element{position:absolute;font-size:2rem;opacity:.9;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2))}.bird-1{top:8%;left:-50px;animation:flyAcross 12s linear infinite;animation-delay:0s}.bird-2{top:15%;left:-50px;animation:flyAcross 15s linear infinite;animation-delay:4s}.butterfly-1{top:25%;left:-50px;animation:butterflyFly 18s ease-in-out infinite;animation-delay:2s}.butterfly-2{top:35%;right:-50px;animation:butterflyFlyReverse 20s ease-in-out infinite;animation-delay:6s}.sparkle-1{top:12%;left:20%;animation:sparkleFloat 8s ease-in-out infinite;animation-delay:0s}.sparkle-2{top:20%;right:25%;animation:sparkleFloat 10s ease-in-out infinite;animation-delay:3s}.sparkle-3{top:45%;left:15%;animation:sparkleFloat 7s ease-in-out infinite;animation-delay:1.5s}.sparkle-4{bottom:30%;right:15%;animation:sparkleFloat 9s ease-in-out infinite;animation-delay:5s}.flying-element.cloud-1{top:8%;left:-80px;font-size:2.5rem;opacity:.6;animation:cloudFly 25s linear infinite;animation-delay:0s}.flying-element.cloud-2{top:18%;left:-80px;font-size:2rem;opacity:.5;animation:cloudFly 30s linear infinite;animation-delay:8s}@keyframes cloudFly{0%{left:-80px;opacity:.3}10%{opacity:.6}90%{opacity:.6}to{left:calc(100% + 80px);opacity:.3}}@keyframes flyAcross{0%{left:-50px;top:8%;transform:scaleX(1) translateY(0)}25%{top:12%;transform:scaleX(1) translateY(-10px)}50%{top:6%;transform:scaleX(1) translateY(5px)}75%{top:10%;transform:scaleX(1) translateY(-8px)}to{left:calc(100% + 50px);top:8%;transform:scaleX(1) translateY(0)}}@keyframes butterflyFly{0%{left:-50px;transform:translateY(0) rotate(0)}10%{transform:translateY(-20px) rotate(5deg)}20%{transform:translateY(10px) rotate(-5deg)}30%{transform:translateY(-15px) rotate(8deg)}40%{transform:translateY(5px) rotate(-3deg)}50%{transform:translateY(-25px) rotate(10deg)}60%{transform:translateY(15px) rotate(-8deg)}70%{transform:translateY(-10px) rotate(5deg)}80%{transform:translateY(8px) rotate(-5deg)}90%{transform:translateY(-12px) rotate(3deg)}to{left:calc(100% + 50px);transform:translateY(0) rotate(0)}}@keyframes butterflyFlyReverse{0%{right:-50px;transform:translateY(0) rotate(0) scaleX(-1)}10%{transform:translateY(-15px) rotate(-5deg) scaleX(-1)}20%{transform:translateY(12px) rotate(8deg) scaleX(-1)}30%{transform:translateY(-20px) rotate(-3deg) scaleX(-1)}40%{transform:translateY(8px) rotate(5deg) scaleX(-1)}50%{transform:translateY(-18px) rotate(-8deg) scaleX(-1)}60%{transform:translateY(10px) rotate(6deg) scaleX(-1)}70%{transform:translateY(-8px) rotate(-4deg) scaleX(-1)}80%{transform:translateY(15px) rotate(5deg) scaleX(-1)}90%{transform:translateY(-5px) rotate(-2deg) scaleX(-1)}to{right:calc(100% + 50px);transform:translateY(0) rotate(0) scaleX(-1)}}@keyframes sparkleFloat{0%,to{opacity:.4;transform:translateY(0) scale(1) rotate(0)}25%{opacity:1;transform:translateY(-15px) scale(1.3) rotate(45deg)}50%{opacity:.6;transform:translateY(-5px) scale(.9) rotate(90deg)}75%{opacity:1;transform:translateY(-20px) scale(1.2) rotate(135deg)}}.classroom-cloud{position:absolute;font-size:3rem;opacity:.5;filter:blur(1px);animation:cloudDrift 30s linear infinite}.cloud-1{top:5%;left:-100px;animation-delay:0s}.cloud-2{top:18%;left:-100px;animation-delay:10s;font-size:2.5rem}@keyframes cloudDrift{0%{left:-100px;opacity:.3}50%{opacity:.6}to{left:calc(100% + 100px);opacity:.3}}.classroom-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#0003;border-radius:1rem;margin-bottom:1rem;z-index:1}.classroom-timer{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;color:#fff}.classroom-title{font-size:1.3rem;font-weight:700;color:#ffd93d;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.classroom-progress{font-size:1rem;color:#fffc}.classroom-teacher{display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem;z-index:1}.classroom-teacher .teacher-avatar{font-size:4rem;margin-bottom:.5rem}.classroom-teacher .teacher-name{font-size:1.5rem;font-weight:700;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.classroom-teacher .teacher-catchphrase{font-size:1rem;color:#ffffffe6;font-style:italic;margin-top:.25rem}.classroom-slide{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff2;border-radius:1.5rem;padding:2rem;margin:0 auto;max-width:600px;width:100%;box-shadow:0 8px 32px #0003;z-index:1}.slide-visual{font-size:3rem;margin-bottom:1.5rem;text-align:center;line-height:1.4}.slide-text{font-size:1.4rem;color:#333;text-align:center;line-height:1.6;margin:0}.classroom-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding:0 1rem;z-index:1}.btn-classroom{padding:.75rem 1.5rem;font-size:1.1rem;font-weight:700;border:none;border-radius:2rem;cursor:pointer;transition:all .2s;background:#ffffffe6;color:#333}.btn-classroom:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 15px #0003}.btn-classroom:disabled{opacity:.4;cursor:not-allowed}.slide-dots{display:flex;gap:.5rem}.slide-dots .dot{width:12px;height:12px;border-radius:50%;background:#fff6;cursor:pointer;transition:all .2s}.slide-dots .dot:hover{background:#ffffffb3}.slide-dots .dot.active{background:#ffd93d;transform:scale(1.2)}.slide-dots .dot.done{background:#fffc}@media(max-width:600px){.classroom-phase{padding:1rem}.classroom-header{flex-wrap:wrap;gap:.5rem}.classroom-title{order:-1;width:100%;font-size:1.1rem}.classroom-teacher .teacher-avatar{font-size:3rem}.classroom-teacher .teacher-name{font-size:1.2rem}.classroom-slide{padding:1.5rem}.slide-visual{font-size:2rem}.slide-text{font-size:1.1rem}.btn-classroom{padding:.5rem 1rem;font-size:.9rem}}.celebration-phase{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;padding-bottom:calc(15vh + env(safe-area-inset-bottom,34px));background:linear-gradient(135deg,#1a1a3e,#2d1b4e,#1e3a5f);position:relative;overflow:hidden;text-align:center;box-sizing:border-box}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.confetti{position:absolute;width:12px;height:12px;top:-20px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.celebration-stars{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:0}.celebration-star{position:absolute;font-size:1.5rem;animation:star-twinkle 2s ease-in-out infinite}@keyframes star-twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.celebration-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.5rem;max-width:500px}.celebration-trophy,.celebration-emoji{font-size:6rem;animation:trophy-bounce 1s ease-in-out infinite}@keyframes trophy-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.05)}}.celebration-title{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,gold,#fa0,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;margin:0}.celebration-subtitle{font-size:1.3rem;color:#e0e0ff;margin:0}.celebration-stats{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin:1rem 0}.stat-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:linear-gradient(145deg,#ffffff1a,#ffffff0d);border:3px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:stat-pop .5s ease-out forwards;opacity:0;transform:scale(.5)}.stat-circle:nth-child(1){animation-delay:.2s}.stat-circle:nth-child(2){animation-delay:.4s}.stat-circle:nth-child(3){animation-delay:.6s}@keyframes stat-pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.stat-value,.stat-number{font-size:1.8rem;font-weight:800;color:gold}.stat-label{font-size:.75rem;color:#b0b0d0;text-transform:uppercase;letter-spacing:.5px}.stars-earned,.celebration-stars{display:flex;gap:.5rem;margin:1rem 0;justify-content:center}.earned-star,.celebration-star{font-size:2.5rem;animation:star-earn .6s ease-out forwards;opacity:.3;transform:scale(.8);filter:grayscale(100%);transition:all .3s ease}.earned-star,.celebration-star.earned{opacity:1;transform:scale(1);filter:grayscale(0%);animation:star-earn .6s ease-out forwards}.celebration-star:nth-child(1){animation-delay:.5s}.celebration-star:nth-child(2){animation-delay:.7s}.celebration-star:nth-child(3){animation-delay:.9s}.earned-star:nth-child(1){animation-delay:.8s}.earned-star:nth-child(2){animation-delay:1s}.earned-star:nth-child(3){animation-delay:1.2s}@keyframes star-earn{0%{opacity:0;transform:scale(0) rotate(-180deg)}60%{transform:scale(1.3) rotate(20deg)}to{opacity:1;transform:scale(1) rotate(0)}}.celebration-buttons{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap;justify-content:center}.btn-celebration{padding:1rem 2rem;font-size:1.1rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-celebration.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 15px #6366f166}.btn-celebration.primary:hover{transform:translateY(-3px);box-shadow:0 6px 20px #6366f180}.btn-celebration.secondary{background:#ffffff1a;color:#fff;border:2px solid rgba(255,255,255,.3)}.btn-celebration.secondary:hover{background:#fff3;transform:translateY(-3px)}.auto-advance-notice{font-size:1.3rem;color:gold;font-weight:700;margin:1rem 0;animation:pulse 1s infinite}.celebration-message{font-size:1.2rem;color:#e0e0ff;margin:.5rem 0 1rem;font-weight:500}.btn-continue-celebration,.btn-done-celebration{padding:1rem 2rem;font-size:1.1rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.btn-continue-celebration{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 15px #6366f166}.btn-continue-celebration:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #6366f180}.btn-done-celebration{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 15px #22c55e66}.btn-done-celebration:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #22c55e80}.btn-next-lesson{padding:1rem 2rem;font-size:1.2rem;font-weight:700;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 15px #f59e0b66;animation:pulse-glow 2s infinite}.btn-next-lesson:hover{transform:translateY(-3px) scale(1.08);box-shadow:0 6px 25px #f59e0b99}@keyframes pulse-glow{0%,to{box-shadow:0 4px 15px #f59e0b66}50%{box-shadow:0 4px 25px #f59e0bb3}}.celebration-reward{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#22c55e33,#22c55e1a);border:2px solid rgba(34,197,94,.4);border-radius:50px;color:#4ade80;font-weight:600;animation:reward-glow 2s ease-in-out infinite}@keyframes reward-glow{0%,to{box-shadow:0 0 10px #22c55e33}50%{box-shadow:0 0 20px #22c55e66}}@media(max-width:600px){.celebration-phase{padding:1rem;padding-bottom:calc(12vh + env(safe-area-inset-bottom,34px))}.celebration-trophy{font-size:4rem}.celebration-title{font-size:1.8rem}.celebration-subtitle{font-size:1rem}.stat-circle{width:80px;height:80px}.stat-value{font-size:1.4rem}.earned-star{font-size:2rem}.btn-celebration{padding:.75rem 1.5rem;font-size:1rem}}.reward-break{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem 1.5rem;padding-bottom:20vh;text-align:center;position:relative;overflow:hidden;min-height:85vh;box-sizing:border-box}.reward-break>*:not(.animated-break-background){position:relative;z-index:10}.joke-break,.fact-break,.dance-break{background:transparent}.reward-header{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-bottom:1rem}.reward-header h2{font-size:1.75rem;font-weight:800;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2);margin:0}.reward-icon{font-size:3rem;animation:reward-bounce 1s ease-in-out infinite}@keyframes reward-bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}}.joke-container{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:500px}.joke-setup{background:#fffffff2;padding:1.25rem 1.5rem;border-radius:20px;box-shadow:0 8px 30px #00000026}.joke-setup p{font-size:1.25rem;font-weight:600;color:#333;margin:0}.btn-punchline{padding:1rem 2.5rem;font-size:1.3rem;background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;border:none;border-radius:50px;cursor:pointer;font-weight:700;box-shadow:0 4px 15px #ff6b6b66;transition:all .3s ease;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn-punchline:hover{transform:scale(1.1);box-shadow:0 6px 20px #ff6b6b80}.joke-punchline{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.joke-punchline p{background:linear-gradient(135deg,#ffd93d,#fa0);padding:2rem 2.5rem;border-radius:20px;font-size:1.8rem;font-weight:700;color:#333;box-shadow:0 8px 30px #ffaa004d;animation:punchline-appear .5s ease-out;margin:0}@keyframes punchline-appear{0%{opacity:0;transform:scale(.5) rotate(-10deg)}70%{transform:scale(1.1) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.fact-container{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:500px;margin-top:4rem}.fact-emoji{font-size:4rem;animation:fact-float 3s ease-in-out infinite}@keyframes fact-float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(5deg)}75%{transform:translateY(-5px) rotate(-5deg)}}.fact-text{background:#fffffff2;padding:1.25rem 1.5rem;border-radius:20px;font-size:1.25rem;font-weight:600;color:#333;box-shadow:0 8px 30px #00000026;line-height:1.5;margin:0}.dance-container{display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:500px}.dance-emoji{font-size:4.5rem;animation:dance-wiggle .5s ease-in-out infinite}@keyframes dance-wiggle{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.dance-instruction{background:#fffffff2;padding:1.25rem 1.5rem;border-radius:20px;font-size:1.3rem;font-weight:700;color:#333;box-shadow:0 8px 30px #00000026;margin:0}.dance-countdown{display:flex;flex-direction:column;align-items:center;gap:.5rem}.countdown-number{font-size:5rem;font-weight:900;color:#fff;text-shadow:3px 3px 6px rgba(0,0,0,.3);animation:countdown-pulse 1s ease-in-out infinite}@keyframes countdown-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.dance-countdown p{font-size:1.2rem;color:#fff;font-weight:600;margin:0}.btn-continue-reward{padding:.75rem 2rem;font-size:1.2rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:50px;cursor:pointer;font-weight:700;box-shadow:0 4px 15px #6366f166;transition:all .3s ease;margin-top:auto;flex-shrink:0}.btn-continue-reward:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #6366f180}@media(max-width:600px){.reward-break{padding:1rem;padding-bottom:15vh;min-height:80vh;gap:.5rem}.reward-header{margin-bottom:.5rem}.reward-icon{font-size:2.5rem}.reward-header h2{font-size:1.25rem}.joke-setup p{font-size:1.1rem}.joke-punchline p{font-size:1.2rem}.fact-emoji{font-size:3rem}.fact-text{font-size:1rem;padding:1rem}.fact-container{gap:.75rem;margin-top:3rem}.dance-emoji{font-size:3rem}.btn-continue-reward{padding:.6rem 1.5rem;font-size:1rem}.dance-instruction{font-size:1.3rem;padding:1.5rem}.countdown-number{font-size:4rem}.btn-continue-reward,.btn-punchline{padding:.75rem 1.5rem;font-size:1.1rem}}@media(max-width:380px){.reward-break{padding-bottom:10vh;min-height:75vh}.celebration-phase{padding-bottom:calc(10vh + env(safe-area-inset-bottom,34px))}.surprise-reward{padding-bottom:10vh}}@media(min-width:768px){.reward-break{padding-bottom:18vh}.celebration-phase{padding-bottom:calc(18vh + env(safe-area-inset-bottom,34px))}.surprise-reward{padding-bottom:18vh}}.correct-result-phase{min-height:100dvh;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding-top:5vh;padding-bottom:calc(10vh + env(safe-area-inset-bottom,0px));background:transparent;position:relative;overflow-y:auto;box-sizing:border-box}.correct-result-phase>*:not(.animated-break-background){position:relative;z-index:10}.correct-celebration-fullscreen{display:flex;flex-direction:column;align-items:center;gap:2rem;animation:celebrationPop .5s ease-out}.correct-celebration-fullscreen .btn-next{margin-top:1rem;margin-bottom:5rem}.surprise-reward{min-height:100vh;display:flex;align-items:center;justify-content:center;padding-bottom:15vh;background:transparent;position:relative;overflow:hidden;box-sizing:border-box}.surprise-reward>*:not(.animated-break-background){position:relative;z-index:10}.surprise-container{display:flex;flex-direction:column;align-items:center;gap:1rem;position:relative;z-index:10}.surprise-emoji{font-size:8rem;animation:surprise-pop .5s ease-out forwards,surprise-glow 1.5s ease-in-out infinite .5s;filter:drop-shadow(0 0 30px rgba(255,215,0,.5))}@keyframes surprise-pop{0%{opacity:0;transform:scale(0) rotate(-180deg)}70%{transform:scale(1.3) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes surprise-glow{0%,to{filter:drop-shadow(0 0 30px rgba(255,215,0,.5))}50%{filter:drop-shadow(0 0 50px rgba(255,215,0,.8))}}.surprise-message{font-size:3.5rem;font-weight:900;background:linear-gradient(135deg,gold,#ff6b6b,#ff9ff3,#4facfe);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 2s ease infinite,text-pop .6s ease-out;margin:0;text-align:center}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes text-pop{0%{opacity:0;transform:scale(.5) translateY(20px)}70%{transform:scale(1.1) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.surprise-subtext{font-size:1.5rem;color:#b0b0d0;margin:0;animation:fade-up .7s ease-out .3s both}@keyframes fade-up{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.sparkle-container{position:absolute;top:50%;left:50%;width:300px;height:300px;transform:translate(-50%,-50%);pointer-events:none}.sparkle{position:absolute;top:50%;left:50%;width:8px;height:8px;background:gold;border-radius:50%;animation:sparkle-burst 1.5s ease-out var(--delay) infinite;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0)}@keyframes sparkle-burst{0%{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(0);opacity:1;background:gold}50%{opacity:1;background:#ff6b6b}to{transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-150px);opacity:0;background:#4facfe}}@media(max-width:600px){.surprise-reward{padding-bottom:12vh}.surprise-emoji{font-size:5rem}.surprise-message{font-size:2.2rem}.surprise-subtext{font-size:1.1rem}.sparkle-container{width:200px;height:200px}}.app-copyright{margin-top:auto;padding:1rem;text-align:center;color:#ffffff80;font-size:.75rem;position:relative;z-index:1}.app-copyright p{margin:0}.landing-page .copyright,.landing-footer .copyright{margin-top:.5rem;font-size:.7rem;color:#fff6}@media(max-width:600px){.app-copyright{font-size:.65rem;padding:.75rem}}.hero-city-badge{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:.5rem 0 1rem;padding:.5rem 1rem;background:#ffffff1a;border-radius:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.hero-city-badge .city-emoji{font-size:1.5rem}.hero-city-badge .city-name{font-weight:600;color:#fff;font-size:1rem}.hero-city-badge .city-desc{color:#ffffffb3;font-size:.85rem;padding-left:.5rem;border-left:1px solid rgba(255,255,255,.3)}.city-skyline{position:absolute;bottom:0;left:0;right:0;height:280px;overflow:hidden;pointer-events:none;z-index:1}.city-skyline:after{z-index:1}.city-water,.city-cloud{position:absolute}.city-cloud{position:absolute;background:#fffc;border-radius:50px;animation:cloud-drift 30s linear infinite;z-index:0}.city-skyline [class*=-building],.city-skyline [class*=-tower],.city-skyline [class*=-castle],.city-skyline [class*=-palm],.city-skyline [class*=-mountain],.city-skyline [class*=-lake],.city-skyline [class*=-river],.city-skyline [class*=-ocean],.city-skyline [class*=-beach],.city-skyline [class*=-ground],.city-skyline [class*=-statue],.city-skyline [class*=-arch],.city-skyline [class*=-bridge],.city-skyline [class*=-capitol],.city-skyline [class*=-needle],.city-skyline [class*=-sign],.city-skyline:after{z-index:2}.city-cloud:before,.city-cloud:after{content:"";position:absolute;background:#fffc;border-radius:50%}.city-cloud:before{width:50%;height:120%;top:-40%;left:15%}.city-cloud:after{width:40%;height:100%;top:-30%;right:20%}.city-cloud.cloud-1{width:80px;height:30px;top:20%;left:80%;animation-duration:35s}.city-cloud.cloud-2{width:60px;height:25px;top:35%;left:90%;animation-duration:40s;animation-delay:-10s}.city-cloud.cloud-3{width:70px;height:28px;top:15%;left:100%;animation-duration:45s;animation-delay:-20s}@keyframes cloud-drift{0%{transform:translate(0)}to{transform:translate(-120vw)}}.nyc-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff 40%,#e8f4f8)}.nyc-skyline .nyc-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.nyc-skyline .building-1{left:5%;width:45px;height:90px;background:linear-gradient(180deg,#636e72,#2d3436);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(255,255,255,.1) 12px,rgba(255,255,255,.1) 14px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.1) 10px,rgba(255,255,255,.1) 12px),linear-gradient(180deg,#636e72,#2d3436)}.nyc-skyline .building-2{left:16%;width:50px;height:110px;background:linear-gradient(180deg,#74b9ff,#0984e3);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.2) 15px,rgba(255,255,255,.2) 17px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.2) 12px,rgba(255,255,255,.2) 14px),linear-gradient(180deg,#74b9ff,#0984e3)}.nyc-skyline .empire-state{left:30%;width:40px;height:150px;background:linear-gradient(180deg,#bdc3c7,#95a5a6);background-image:repeating-linear-gradient(0deg,transparent,transparent 18px,rgba(0,0,0,.1) 18px,rgba(0,0,0,.1) 20px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#bdc3c7,#95a5a6)}.nyc-skyline .empire-state:before{content:"";position:absolute;top:-25px;left:50%;transform:translate(-50%);width:8px;height:25px;background:#7f8c8d}.nyc-skyline .nyc-statue{position:absolute;bottom:35px;left:45%;font-size:3rem;z-index:3}.nyc-skyline .building-3{left:55%;width:55px;height:120px;background:linear-gradient(180deg,#2c3e50,#1a252f);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.1) 15px,rgba(255,255,255,.1) 17px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.1) 12px,rgba(255,255,255,.1) 14px),linear-gradient(180deg,#2c3e50,#1a252f)}.nyc-skyline .building-4{right:18%;width:45px;height:100px;background:linear-gradient(180deg,#636e72,#2d3436);background-image:repeating-linear-gradient(0deg,transparent,transparent 14px,rgba(255,255,255,.1) 14px,rgba(255,255,255,.1) 16px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.1) 10px,rgba(255,255,255,.1) 12px),linear-gradient(180deg,#636e72,#2d3436)}.nyc-skyline .building-5{right:5%;width:50px;height:85px;background:linear-gradient(180deg,#95a5a6,#7f8c8d);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 14px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#95a5a6,#7f8c8d)}.nyc-skyline .nyc-taxi{position:absolute;bottom:35px;right:30%;font-size:2rem;z-index:3}.nyc-skyline .nyc-apple{position:absolute;bottom:35px;left:8%;font-size:1.8rem;z-index:3}.nyc-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.la-skyline .la-hills{position:absolute;bottom:40px;left:0;right:0;height:100px;background:linear-gradient(135deg,#2d5016,#4a7c23);border-radius:100% 100% 0 0}.la-skyline .hollywood-sign{position:absolute;top:30%;left:50%;transform:translate(-50%);font-size:1.5rem;font-weight:900;color:#fff;letter-spacing:4px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.la-skyline .la-palm{position:absolute;bottom:40px;font-size:3rem}.la-skyline .palm-1{left:10%}.la-skyline .palm-2{left:25%}.la-skyline .palm-3{right:15%}.la-skyline .la-building{position:absolute;bottom:40px;background:linear-gradient(180deg,#34495e,#2c3e50);border-radius:4px 4px 0 0}.la-skyline .building-1{right:30%;width:50px;height:100px}.la-skyline .building-2{right:40%;width:40px;height:80px}.la-skyline .la-sun{position:absolute;top:15%;right:20%;font-size:3rem;animation:sun-pulse 4s ease-in-out infinite}@keyframes sun-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.chi-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff 40%,#a8e6cf)}.chi-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#4ade80,#22c55e);z-index:1}.chi-skyline .chi-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.chi-skyline .building-1{left:8%;width:50px;height:100px;background:#718096}.chi-skyline .building-2{left:18%;width:45px;height:130px;background:#5a6c7d}.chi-skyline .willis-tower{left:28%;width:55px;height:200px;background:#1e293b;border-radius:2px 2px 0 0}.chi-skyline .willis-tower:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:8px;height:20px;background:#374151}.chi-skyline .willis-tower:after{content:"";position:absolute;top:-28px;left:50%;transform:translate(-50%);width:4px;height:8px;background:#ef4444}.chi-skyline .building-3{left:42%;width:40px;height:110px;background:#64748b}.chi-skyline .building-4{left:52%;width:50px;height:150px;background:#4b5563}.chi-skyline .building-5{left:65%;width:55px;height:120px;background:#6b7280}.chi-skyline .building-6{right:10%;width:45px;height:90px;background:#78716c}.chi-skyline .chi-bean{position:absolute;bottom:35px;left:80%;width:40px;height:25px;background:linear-gradient(180deg,silver,#a0a0a0,gray);border-radius:50%/60% 60% 40% 40%;z-index:3;box-shadow:0 2px 4px #0003}.chi-skyline .chi-bean:after{content:"";position:absolute;top:3px;left:5px;width:15px;height:8px;background:#fff6;border-radius:50%}.chi-skyline .chi-pizza{position:absolute;bottom:35px;right:25%;font-size:1.8rem;z-index:3}.chi-skyline .chi-wind{position:absolute;bottom:35px;left:3%;font-size:1.6rem;z-index:3;animation:windBlow 2s ease-in-out infinite}@keyframes windBlow{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.chi-skyline .chi-sun{position:absolute;top:15px;right:15%;font-size:2.5rem;z-index:1}.den-skyline .den-mountain{position:absolute;bottom:40px;font-size:5rem}.den-skyline .mountain-1{left:5%;font-size:6rem}.den-skyline .mountain-2{left:30%;font-size:4rem}.den-skyline .mountain-3{right:10%;font-size:5rem}.den-skyline .den-building{position:absolute;bottom:40px;background:linear-gradient(180deg,#34495e,#2c3e50);border-radius:4px 4px 0 0}.den-skyline .building-1{left:50%;width:40px;height:90px}.den-skyline .building-2{left:60%;width:35px;height:70px}.den-skyline .den-sun{position:absolute;top:20%;right:25%;font-size:3rem}.mia-skyline .mia-building{position:absolute;bottom:80px;border-radius:4px 4px 0 0}.mia-skyline .art-deco-1{left:20%;width:50px;height:100px;background:linear-gradient(180deg,#ff6b9d,#c44569)}.mia-skyline .art-deco-2{left:35%;width:45px;height:90px;background:linear-gradient(180deg,#48dbfb,#0abde3)}.mia-skyline .mia-palm{position:absolute;bottom:80px;font-size:3.5rem}.mia-skyline .palm-1{left:5%}.mia-skyline .palm-2{right:10%}.mia-skyline .mia-beach{position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(180deg,#f8e9a1,#deb887)}.mia-skyline .mia-ocean{position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(180deg,#48dbfb,#0077be)}.mia-skyline .mia-sun{position:absolute;top:10%;right:30%;font-size:4rem}.sea-skyline .sea-building{position:absolute;bottom:60px;background:linear-gradient(180deg,#2c3e50,#34495e);border-radius:4px 4px 0 0}.sea-skyline .building-1{left:15%;width:45px;height:110px}.sea-skyline .sea-needle{position:absolute;bottom:60px;left:40%}.sea-skyline .needle-top{font-size:5rem}.sea-skyline .building-2{left:55%;width:50px;height:100px}.sea-skyline .sea-mountain{position:absolute;bottom:50px;right:10%;font-size:4rem}.sea-skyline .sea-trees{position:absolute;bottom:60px;right:25%;font-size:2rem;letter-spacing:-5px}.generic-skyline .generic-building{position:absolute;bottom:60px;background:linear-gradient(180deg,#34495e,#2c3e50);border-radius:4px 4px 0 0}.generic-skyline .building-1{left:15%;width:45px;height:100px}.generic-skyline .building-2{left:30%;width:55px;height:130px}.generic-skyline .building-3{right:30%;width:50px;height:110px}.generic-skyline .building-4{right:15%;width:40px;height:90px}.generic-skyline .city-landmark{position:absolute;bottom:80px;left:50%;transform:translate(-50%);font-size:5rem;animation:landmark-float 3s ease-in-out infinite}@keyframes landmark-float{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.dsm-skyline .dsm-corn{position:absolute;bottom:40px;font-size:2.5rem;letter-spacing:-8px}.dsm-skyline .corn-left{left:5%}.dsm-skyline .corn-right{right:5%}.dsm-skyline .dsm-building{position:absolute;bottom:60px;background:linear-gradient(180deg,#374151,#1f2937);border-radius:4px 4px 0 0}.dsm-skyline .building-1{left:20%;width:40px;height:90px}.dsm-skyline .building-2{left:32%;width:45px;height:110px}.dsm-skyline .building-3{right:32%;width:45px;height:100px}.dsm-skyline .building-4{right:20%;width:40px;height:85px}.dsm-skyline .dsm-capitol{position:absolute;bottom:60px;left:50%;transform:translate(-50%);text-align:center}.dsm-skyline .capitol-dome{font-size:5rem;filter:drop-shadow(0 0 15px rgba(234,179,8,.6));animation:dome-glow 3s ease-in-out infinite}@keyframes dome-glow{0%,to{filter:drop-shadow(0 0 15px rgba(234,179,8,.6))}50%{filter:drop-shadow(0 0 25px rgba(234,179,8,.9))}}.dsm-skyline .dsm-farmland{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,#4ade80,#22c55e);border-radius:100% 100% 0 0/30px 30px 0 0}.dsm-skyline .dsm-river{position:absolute;bottom:0;left:30%;right:30%;height:30px;background:linear-gradient(180deg,#38bdf8,#0284c7);border-radius:50% 50% 0 0/15px 15px 0 0}.dsm-skyline .dsm-sun{position:absolute;top:15%;right:20%;font-size:3.5rem;animation:sun-pulse 4s ease-in-out infinite}.phx-skyline{background:linear-gradient(180deg,#87ceeb,#fef3c7 60%,#fde68a)}.phx-skyline .phx-mountain{position:absolute;z-index:1}.phx-skyline .phx-mesa{position:absolute;left:5%;bottom:50px;width:70px;height:60px;background:linear-gradient(180deg,#c0392b,#a93226,#922b21 60%,#7b241c);clip-path:polygon(20% 100%,0% 60%,10% 40%,25% 45%,35% 20%,50% 0%,65% 20%,75% 45%,90% 40%,100% 60%,80% 100%);z-index:1}.phx-skyline .phx-mesa:before{content:"";position:absolute;top:10%;left:30%;width:40%;height:30%;background:linear-gradient(180deg,#e74c3c,#c0392b);clip-path:polygon(10% 100%,0% 30%,50% 0%,100% 30%,90% 100%)}.phx-skyline .camelback{left:5%;bottom:22px;font-size:3.5rem}.phx-skyline .mountain-2{right:5%;bottom:22px;font-size:3rem}.phx-skyline .phx-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.phx-skyline .building-1{left:25%;width:50px;height:100px;background:linear-gradient(180deg,#fcd34d,#f59e0b);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(0,0,0,.1) 15px,rgba(0,0,0,.1) 18px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 14px),linear-gradient(180deg,#fcd34d,#f59e0b)}.phx-skyline .building-2{left:42%;width:55px;height:120px;background:linear-gradient(180deg,#fbbf24,#d97706);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.3) 15px,rgba(255,255,255,.3) 18px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.3) 12px,rgba(255,255,255,.3) 14px),linear-gradient(180deg,#fbbf24,#d97706)}.phx-skyline .building-3{right:25%;width:45px;height:90px;background:linear-gradient(180deg,#f59e0b,#b45309);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 15px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#f59e0b,#b45309)}.phx-skyline .phx-cactus{position:absolute;font-size:2.5rem;z-index:3}.phx-skyline .cactus-1{left:12%;bottom:22px}.phx-skyline .cactus-2{right:12%;bottom:22px}.phx-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#fbbf24,#d97706,#b45309);z-index:2}.phx-skyline .phx-sun{position:absolute;top:10%;right:25%;font-size:4rem;animation:sun-pulse 4s ease-in-out infinite;z-index:1}.phx-skyline .city-cloud{z-index:0}.bos-skyline .bos-building{position:absolute;bottom:60px;background:linear-gradient(180deg,#7c2d12,#9a3412);border-radius:4px 4px 0 0}.bos-skyline .building-1{left:15%;width:45px;height:100px}.bos-skyline .faneuil{left:30%;width:60px;height:80px;background:linear-gradient(180deg,#dc2626,#b91c1c)}.bos-skyline .prudential{left:50%;width:50px;height:150px;background:linear-gradient(180deg,#1e3a8a,#1e40af)}.bos-skyline .building-2{right:20%;width:45px;height:110px}.bos-skyline .bos-harbor{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,#0369a1,#075985)}.bos-skyline .bos-ship{position:absolute;bottom:65px;right:30%;font-size:2rem}.atl-skyline .atl-building{position:absolute;bottom:60px;background:linear-gradient(180deg,#1f2937,#111827);border-radius:4px 4px 0 0}.atl-skyline .building-1{left:15%;width:45px;height:110px}.atl-skyline .building-2{left:28%;width:50px;height:140px}.atl-skyline .bank-america{left:45%;width:55px;height:180px;background:linear-gradient(180deg,#1e3a8a,#1e40af)}.atl-skyline .building-3{right:25%;width:45px;height:120px}.atl-skyline .atl-aquarium{position:absolute;bottom:70px;right:15%;font-size:3.5rem}.atl-skyline .atl-peach{position:absolute;bottom:100px;left:8%;font-size:2.5rem}.atl-skyline .atl-ground{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,#166534,#15803d)}@media(max-width:768px){.hero-city-badge{flex-direction:column;gap:.25rem;padding:.5rem .75rem}.hero-city-badge .city-desc{border-left:none;padding-left:0;border-top:1px solid rgba(255,255,255,.2);padding-top:.25rem}.city-skyline{height:200px}.hollywood-sign{font-size:1rem!important}}.orl-skyline{background:linear-gradient(180deg,#87ceeb,#a8d8ea,#f8e6d9 80%,#ffd6ba)}.orl-skyline .orl-castle{position:absolute;bottom:40px;left:50%;transform:translate(-50%);font-size:5rem;filter:drop-shadow(0 0 20px rgba(255,255,255,.5));animation:castleGlow 3s ease-in-out infinite}@keyframes castleGlow{0%,to{filter:drop-shadow(0 0 20px rgba(255,255,255,.5))}50%{filter:drop-shadow(0 0 40px rgba(255,255,255,.8))}}.orl-skyline .orl-palm{position:absolute;bottom:35px;font-size:3rem}.orl-skyline .orl-palm.palm-1{left:8%}.orl-skyline .orl-palm.palm-2{right:8%}.orl-skyline .orl-building{position:absolute;bottom:45px;background:linear-gradient(180deg,#2d3436,#636e72);border-radius:4px 4px 0 0}.orl-skyline .orl-building.building-1{left:18%;width:40px;height:100px}.orl-skyline .orl-building.building-2{left:28%;width:50px;height:120px}.orl-skyline .orl-fireworks{position:absolute;top:30px;left:50%;transform:translate(-50%);font-size:3rem;animation:fireworksBurst 2s ease-in-out infinite;line-height:1;border:none;outline:none;background:transparent}@keyframes fireworksBurst{0%,to{opacity:1;transform:translate(-50%) scale(1);filter:none}50%{opacity:.8;transform:translate(-50%) scale(1.2);filter:brightness(1.3)}}.orl-skyline .orl-sun{position:absolute;top:20px;right:15%;font-size:2.5rem}.orl-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,#27ae60,#2ecc71)}.hou-skyline{background:linear-gradient(180deg,#1e3c72,#2a5298 30%,#74b9ff 70%,#87ceeb)}.hou-skyline .hou-rocket{position:absolute;bottom:100px;left:50%;transform:translate(-50%);font-size:4rem;animation:rocketFloat 3s ease-in-out infinite}@keyframes rocketFloat{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-20px)}}.hou-skyline .hou-nasa{position:absolute;bottom:70px;left:50%;transform:translate(-50%);font-size:1.2rem;font-weight:700;color:#fff;background:#e74c3c;padding:.25rem .75rem;border-radius:4px}.hou-skyline .hou-building{position:absolute;bottom:50px;background:linear-gradient(180deg,#34495e,#2c3e50);border-radius:4px 4px 0 0}.hou-skyline .hou-building.building-1{left:20%;width:45px;height:90px}.hou-skyline .hou-building.building-2{left:35%;width:35px;height:70px}.hou-skyline .hou-building.building-3{right:25%;width:50px;height:110px}.hou-skyline .hou-stars{position:absolute;top:20px;right:20%;font-size:2rem;animation:twinkle 1.5s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.3}}.hou-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#1e3799,#0c2461)}.dal-skyline{background:linear-gradient(180deg,#87ceeb,#b0e0f0,#e8f4fc)}.dal-skyline .dal-reunion{position:absolute;bottom:50px;left:50%;transform:translate(-50%);z-index:2}.dal-skyline .reunion-ball{width:50px;height:50px;background:radial-gradient(circle at 30% 30%,#fff,#e0e0e0,#bdc3c7);border-radius:50%;box-shadow:0 0 20px #ffd70099,inset 0 0 15px #fffc;animation:reunionGlow 2s ease-in-out infinite}@keyframes reunionGlow{0%,to{box-shadow:0 0 20px #ffd70099,inset 0 0 15px #fffc}50%{box-shadow:0 0 40px #ffd700e6,inset 0 0 20px #fff}}.dal-skyline .reunion-stem{width:8px;height:100px;background:linear-gradient(180deg,#95a5a6,#7f8c8d);margin:0 auto}.dal-skyline .dal-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.dal-skyline .dal-building.building-1{left:10%;width:45px;height:90px;background:linear-gradient(180deg,#3498db,#2980b9)}.dal-skyline .dal-building.building-2{left:25%;width:55px;height:130px;background:linear-gradient(180deg,#2c3e50,#34495e)}.dal-skyline .dal-building.building-3{right:25%;width:50px;height:110px;background:linear-gradient(180deg,#1abc9c,#16a085)}.dal-skyline .dal-building.building-4{right:10%;width:60px;height:140px;background:linear-gradient(180deg,#9b59b6,#8e44ad)}.dal-skyline .dal-cowboy{position:absolute;bottom:40px;left:18%;font-size:2.5rem;z-index:3}.dal-skyline .dal-star{position:absolute;bottom:160px;right:18%;font-size:3rem;z-index:2;animation:starTwinkle 2s ease-in-out infinite}@keyframes starTwinkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.dal-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:1}.sf-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff 40%,#e8f4f8)}.sf-skyline .sf-bridge{position:absolute;bottom:50px;left:5%;width:120px;height:80px;z-index:1}.sf-skyline .sf-bridge:before{content:"";position:absolute;bottom:0;left:15px;width:12px;height:70px;background:#c0392b;box-shadow:80px 0 #c0392b}.sf-skyline .sf-bridge:after{content:"";position:absolute;bottom:20px;left:0;width:120px;height:8px;background:#e74c3c}.sf-skyline .sf-hill{position:absolute;bottom:50px;background:linear-gradient(180deg,#27ae60,#1e8449);border-radius:50% 50% 0 0;z-index:1}.sf-skyline .sf-hill.hill-1{left:30%;width:200px;height:60px}.sf-skyline .sf-building{position:absolute;bottom:50px;z-index:2}.sf-skyline .sf-building.victorian-1{left:35%;width:35px;height:55px;background:#fab1a0;clip-path:polygon(0% 100%,0% 20%,50% 0%,100% 20%,100% 100%)}.sf-skyline .sf-building.victorian-2{left:43%;width:35px;height:50px;background:#81ecec;clip-path:polygon(0% 100%,0% 20%,50% 0%,100% 20%,100% 100%)}.sf-skyline .sf-building.victorian-3{left:51%;width:35px;height:55px;background:#ffeaa7;clip-path:polygon(0% 100%,0% 20%,50% 0%,100% 20%,100% 100%)}.sf-skyline .sf-building.transamerica{right:18%;width:40px;height:120px;background:linear-gradient(180deg,#ecf0f1,#bdc3c7);clip-path:polygon(50% 0%,100% 100%,0% 100%)}.sf-skyline .sf-building.building-1{right:30%;width:45px;height:80px;background:linear-gradient(180deg,#636e72,#2d3436);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(255,255,255,.1) 12px,rgba(255,255,255,.1) 14px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.1) 10px,rgba(255,255,255,.1) 12px),linear-gradient(180deg,#636e72,#2d3436)}.sf-skyline .sf-building.building-2{right:5%;width:50px;height:90px;background:linear-gradient(180deg,#74b9ff,#0984e3);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.2) 15px,rgba(255,255,255,.2) 17px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.2) 12px,rgba(255,255,255,.2) 14px),linear-gradient(180deg,#74b9ff,#0984e3)}.sf-skyline .sf-trolley{position:absolute;bottom:35px;left:28%;font-size:2rem;z-index:3}.sf-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.dc-skyline{background:linear-gradient(180deg,#87ceeb,#b0e0f0,#e0f4ff)}.dc-skyline .dc-whitehouse{position:absolute;bottom:50px;left:15%;width:80px;height:50px;background:#f5f5f5;border-radius:4px 4px 0 0;z-index:2}.dc-skyline .dc-whitehouse:before{content:"";position:absolute;top:-15px;left:50%;transform:translate(-50%);width:30px;height:15px;background:#f5f5f5;border-radius:50% 50% 0 0}.dc-skyline .dc-whitehouse:after{content:"| | | |";position:absolute;bottom:5px;left:50%;transform:translate(-50%);font-size:1.2rem;color:#ccc;letter-spacing:2px}.dc-skyline .dc-monument{position:absolute;bottom:50px;left:42%;width:12px;height:140px;background:linear-gradient(90deg,#f5f5f5,#e0e0e0,#d0d0d0);z-index:2}.dc-skyline .dc-monument:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:20px solid #e8e8e8}.dc-skyline .dc-capitol{position:absolute;bottom:20px;left:55%;font-size:4rem;z-index:2}.dc-skyline .dc-building{position:absolute;bottom:50px;background:linear-gradient(180deg,#ecf0f1,#bdc3c7);border-radius:4px 4px 0 0;z-index:2}.dc-skyline .dc-building.building-1{left:10%;width:50px;height:80px}.dc-skyline .dc-building.building-2{right:10%;width:55px;height:90px}.dc-skyline .dc-cherry{position:absolute;bottom:55px;left:45%;font-size:2rem;z-index:2}.dc-skyline .dc-cherry.cherry-2{left:75%;bottom:60px}.dc-skyline .dc-flag{position:absolute;bottom:50px;right:20%;font-size:2rem;z-index:3}.dc-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.phl-skyline{background:linear-gradient(180deg,#4facfe,#87ceeb,#e0f4ff)}.phl-skyline .phl-building{position:absolute;bottom:50px;border-radius:2px 2px 0 0;z-index:2}.phl-skyline .phl-building.modern-1{left:5%;width:50px;height:130px;background:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(255,255,255,.3) 12px,rgba(255,255,255,.3) 14px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),linear-gradient(180deg,#5dade2,#2980b9)}.phl-skyline .phl-building.modern-2{left:60%;width:55px;height:150px;background:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(255,255,255,.3) 12px,rgba(255,255,255,.3) 14px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.3) 12px,rgba(255,255,255,.3) 14px),linear-gradient(180deg,#9b59b6,#7d3c98)}.phl-skyline .phl-building.modern-3{right:5%;width:50px;height:110px;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),linear-gradient(180deg,#1abc9c,#16a085)}.phl-skyline .phl-independence-hall{position:absolute;bottom:50px;left:30%;width:90px;height:75px;background:#a93226;border-radius:2px 2px 0 0;z-index:2}.phl-skyline .phl-independence-hall:before{content:"";position:absolute;top:-45px;left:50%;transform:translate(-50%);width:16px;height:45px;background:#f5f5f5}.phl-skyline .phl-independence-hall:after{content:"";position:absolute;top:-60px;left:50%;transform:translate(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:15px solid #f5f5f5}.phl-skyline .phl-liberty-bell{position:absolute;bottom:45px;left:48%;font-size:2.5rem;z-index:3}.phl-skyline .phl-rocky{position:absolute;bottom:45px;left:15%;font-size:2rem;z-index:3}.phl-skyline .phl-love{position:absolute;bottom:58px;left:22%;font-size:1rem;font-weight:900;color:#e74c3c;z-index:3;background:#fff;padding:3px 5px;border-radius:2px}.phl-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:1}.sd-skyline{background:linear-gradient(180deg,#74b9ff,#81ecec,#ffeaa7)}.sd-skyline .sd-zoo{position:absolute;bottom:100px;left:50%;transform:translate(-50%);font-size:4rem}.sd-skyline .sd-palm{position:absolute;bottom:70px;font-size:3rem}.sd-skyline .sd-palm.palm-1{left:15%}.sd-skyline .sd-palm.palm-2{right:15%}.sd-skyline .sd-building{position:absolute;bottom:60px;background:linear-gradient(180deg,#dfe6e9,#b2bec3);border-radius:4px 4px 0 0}.sd-skyline .sd-building.building-1{left:30%;width:40px;height:80px}.sd-skyline .sd-building.building-2{right:30%;width:45px;height:90px}.sd-skyline .sd-beach{position:absolute;bottom:30px;left:0;right:0;height:30px;background:linear-gradient(180deg,#ffeaa7,#fdcb6e)}.sd-skyline .sd-ocean{position:absolute;bottom:0;left:0;right:0;height:30px;background:linear-gradient(180deg,#0984e3,#74b9ff)}.sd-skyline .sd-sun{position:absolute;top:20px;right:20%;font-size:3rem}.sa-skyline{background:linear-gradient(180deg,#87ceeb,#b8d4e8,#e8f4f8)}.sa-skyline .sa-alamo{position:absolute;bottom:35px;left:40%;font-size:3.5rem;z-index:3}.sa-skyline .sa-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.sa-skyline .sa-building.building-1{left:8%;width:50px;height:80px;background:linear-gradient(180deg,#d4a574,#b8956e);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 15px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#d4a574,#b8956e)}.sa-skyline .sa-building.building-2{left:22%;width:45px;height:100px;background:linear-gradient(180deg,#c9a86c,#a68b5b);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.2) 15px,rgba(255,255,255,.2) 18px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.2) 12px,rgba(255,255,255,.2) 14px),linear-gradient(180deg,#c9a86c,#a68b5b)}.sa-skyline .sa-building.tower-americas{right:25%;width:15px;height:140px;background:linear-gradient(180deg,#95a5a6,#7f8c8d);border-radius:2px 2px 0 0}.sa-skyline .sa-building.tower-americas:before{content:"";position:absolute;top:-15px;left:50%;transform:translate(-50%);width:30px;height:20px;background:#7f8c8d;border-radius:50% 50% 0 0}.sa-skyline .sa-building.building-3{right:8%;width:55px;height:90px;background:linear-gradient(180deg,#dcc9a6,#c4b08a);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 15px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 14px),linear-gradient(180deg,#dcc9a6,#c4b08a)}.sa-skyline .sa-riverwalk{position:absolute;bottom:50px;left:5%;right:5%;height:15px;background:linear-gradient(90deg,#3498db,#5dade2,#3498db);border-radius:0;z-index:1}.sa-skyline .sa-star{position:absolute;top:15%;right:15%;font-size:2.5rem;z-index:1}.sa-skyline .sa-tree{position:absolute;bottom:35px;font-size:2rem;z-index:3}.sa-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.aus-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff,#a8d8ea)}.aus-skyline .aus-capitol{position:absolute;bottom:90px;left:40%;font-size:3.5rem}.aus-skyline .aus-guitar{position:absolute;bottom:80px;left:55%;font-size:3rem;animation:guitarRock 1s ease-in-out infinite}@keyframes guitarRock{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.aus-skyline .aus-building{position:absolute;bottom:50px;background:linear-gradient(180deg,#2d3436,#636e72);border-radius:4px 4px 0 0}.aus-skyline .aus-building.building-1{left:20%;width:45px;height:90px}.aus-skyline .aus-building.building-2{right:20%;width:50px;height:100px}.aus-skyline .aus-bats{position:absolute;top:40px;left:30%;font-size:1.5rem;animation:batFly 2s ease-in-out infinite}@keyframes batFly{0%,to{transform:translate(0)}50%{transform:translate(30px)}}.aus-skyline .aus-music{position:absolute;top:30px;right:25%;font-size:2rem;animation:musicFloat 1.5s ease-in-out infinite}@keyframes musicFloat{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(-15px);opacity:.7}}.aus-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#00b894,#00cec9)}.lv-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff 40%,#ffeaa7)}.lv-skyline .lv-sign{position:absolute;bottom:90px;left:50%;transform:translate(-50%);font-size:4rem;animation:slotMachine .5s ease-in-out infinite}@keyframes slotMachine{0%,to{filter:drop-shadow(0 0 10px #ffd700)}50%{filter:drop-shadow(0 0 25px #ff6b6b)}}.lv-skyline .lv-building{position:absolute;bottom:50px}.lv-skyline .lv-building.pyramid{left:20%;width:0;height:0;border-left:50px solid transparent;border-right:50px solid transparent;border-bottom:80px solid #2d3436}.lv-skyline .lv-building.eiffel{right:30%;width:40px;height:100px;background:linear-gradient(180deg,#636e72,#2d3436);clip-path:polygon(50% 0%,100% 100%,0% 100%)}.lv-skyline .lv-building.building-1{right:15%;width:50px;height:90px;background:linear-gradient(180deg,#e17055,#d63031);border-radius:4px 4px 0 0}.lv-skyline .lv-dice{position:absolute;bottom:60px;left:35%;font-size:2rem}.lv-skyline .lv-lights{position:absolute;top:20px;left:50%;transform:translate(-50%);font-size:2rem;animation:vegasLights .3s ease-in-out infinite}@keyframes vegasLights{0%,to{opacity:1}50%{opacity:.5}}.lv-skyline .lv-desert{position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#b2bec3,#636e72)}.nola-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff 40%,#e8f4f8)}.nola-skyline .nola-trumpet{position:absolute;bottom:35px;left:5%;font-size:2.5rem;z-index:3}.nola-skyline .nola-building{position:absolute;bottom:50px;z-index:2}.nola-skyline .nola-building.french-quarter-1{left:12%;width:60px;height:85px;background:#e74c3c;border-radius:0}.nola-skyline .nola-building.french-quarter-1:before{content:"";position:absolute;inset:10px 8px 30px;background:repeating-linear-gradient(90deg,#2c3e50 0px,#2c3e50 8px,transparent 8px,transparent 16px);background-size:16px 100%}.nola-skyline .nola-building.french-quarter-1:after{content:"";position:absolute;bottom:0;left:0;right:0;height:25px;background:#c0392b;border-top:3px solid #1a1a1a}.nola-skyline .nola-building.french-quarter-2{left:28%;width:55px;height:75px;background:#f39c12;border-radius:0}.nola-skyline .nola-building.french-quarter-2:before{content:"";position:absolute;inset:10px 8px 25px;background:repeating-linear-gradient(90deg,#2c3e50 0px,#2c3e50 8px,transparent 8px,transparent 14px);background-size:14px 100%}.nola-skyline .nola-building.french-quarter-2:after{content:"";position:absolute;bottom:0;left:0;right:0;height:22px;background:#d68910;border-top:3px solid #1a1a1a}.nola-skyline .nola-building.french-quarter-3{left:43%;width:50px;height:80px;background:#9b59b6;border-radius:0}.nola-skyline .nola-building.french-quarter-3:before{content:"";position:absolute;inset:10px 6px 28px;background:repeating-linear-gradient(90deg,#2c3e50 0px,#2c3e50 7px,transparent 7px,transparent 13px);background-size:13px 100%}.nola-skyline .nola-building.french-quarter-3:after{content:"";position:absolute;bottom:0;left:0;right:0;height:24px;background:#8e44ad;border-top:3px solid #1a1a1a}.nola-skyline .nola-building.cathedral{right:8%;width:80px;height:100px;background:#ecf0f1;border-radius:0}.nola-skyline .nola-building.cathedral:before{content:"";position:absolute;top:-40px;left:50%;transform:translate(-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:45px solid #bdc3c7}.nola-skyline .nola-building.cathedral:after{content:"";position:absolute;top:-25px;left:10px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:30px solid #95a5a6;box-shadow:40px 0 #95a5a6}.nola-skyline .nola-beads{position:absolute;bottom:35px;left:58%;font-size:1.8rem;z-index:3}.nola-skyline .nola-fleur{position:absolute;top:12%;left:50%;transform:translate(-50%);font-size:2.5rem;z-index:1}.nola-skyline .nola-mask{position:absolute;bottom:35px;right:30%;font-size:2rem;z-index:3}.nola-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.nsh-skyline{background:linear-gradient(180deg,#87ceeb,#a8d8ea 40%,#ffecd2)}.nsh-skyline .nsh-guitar{position:absolute;bottom:35px;left:45%;font-size:3rem;z-index:2}.nsh-skyline .nsh-building{position:absolute;bottom:50px;background:linear-gradient(180deg,#2d3436,#636e72);border-radius:4px 4px 0 0}.nsh-skyline .nsh-building.building-1{left:20%;width:45px;height:80px}.nsh-skyline .nsh-building.att-building{right:30%;width:50px;height:120px;background:linear-gradient(180deg,#0984e3,#74b9ff)}.nsh-skyline .nsh-parthenon{position:absolute;bottom:20px;right:15%;font-size:3rem;z-index:2}.nsh-skyline .nsh-music{position:absolute;bottom:55px;left:55%;font-size:2rem;z-index:2}.nsh-skyline .nsh-boots{position:absolute;bottom:40px;left:35%;font-size:2rem;z-index:2}.nsh-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71)}.det-skyline{background:linear-gradient(180deg,#87ceeb,#a8d8ea,#e0f4ff)}.det-skyline .det-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.det-skyline .det-building.building-1{left:8%;width:50px;height:100px;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 12px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 12px),linear-gradient(180deg,#2d3436,#636e72)}.det-skyline .det-building.ren-center{left:30%;width:80px;height:150px;background:repeating-linear-gradient(0deg,transparent,transparent 8px,rgba(255,255,255,.3) 8px,rgba(255,255,255,.3) 10px),linear-gradient(180deg,#5dade2,#2980b9);border-radius:40% 40% 0 0}.det-skyline .det-building.building-2{right:15%;width:55px;height:120px;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 12px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.2) 12px,rgba(255,255,255,.2) 14px),linear-gradient(180deg,#636e72,#2d3436)}.det-skyline .det-car{position:absolute;bottom:35px;left:55%;font-size:2.5rem;z-index:3}.det-skyline .det-motown{position:absolute;bottom:55px;right:25%;font-size:2rem;z-index:3}.det-skyline .det-record{position:absolute;bottom:45px;right:12%;font-size:2.2rem;z-index:3}.det-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:1}.msp-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff 40%,#e8f4f8)}.msp-skyline .msp-bridge{position:absolute;bottom:50px;left:10%;width:100px;height:40px;background:#8b7355;border-radius:50% 50% 0 0/100% 100% 0 0;z-index:1}.msp-skyline .msp-bridge:before{content:"";position:absolute;bottom:0;left:10%;width:15px;height:30px;background:#6d5a45;border-radius:50% 50% 0 0;box-shadow:25px 0 #6d5a45,50px 0 #6d5a45,75px 0 #6d5a45}.msp-skyline .msp-building{position:absolute;bottom:50px;z-index:2}.msp-skyline .msp-building.building-1{left:25%;width:45px;height:85px;background:linear-gradient(180deg,#bdc3c7,#95a5a6);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 15px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#bdc3c7,#95a5a6)}.msp-skyline .msp-building.ids-tower{left:38%;width:45px;height:140px;background:linear-gradient(180deg,#74b9ff,#0984e3);background-image:repeating-linear-gradient(0deg,transparent,transparent 18px,rgba(255,255,255,.2) 18px,rgba(255,255,255,.2) 20px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 12px),linear-gradient(180deg,#74b9ff,#0984e3)}.msp-skyline .msp-building.building-2{left:52%;width:50px;height:100px;background:linear-gradient(180deg,#636e72,#2d3436);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.1) 15px,rgba(255,255,255,.1) 17px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.1) 12px,rgba(255,255,255,.1) 14px),linear-gradient(180deg,#636e72,#2d3436)}.msp-skyline .msp-building.building-3{right:20%;width:45px;height:75px;background:linear-gradient(180deg,#dfe6e9,#b2bec3);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.08) 12px,rgba(0,0,0,.08) 14px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.08) 10px,rgba(0,0,0,.08) 12px),linear-gradient(180deg,#dfe6e9,#b2bec3)}.msp-skyline .msp-building.building-4{right:8%;width:40px;height:65px;background:linear-gradient(180deg,#a29bfe,#6c5ce7);background-image:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.15) 10px,rgba(255,255,255,.15) 12px),repeating-linear-gradient(90deg,transparent,transparent 9px,rgba(255,255,255,.15) 9px,rgba(255,255,255,.15) 11px),linear-gradient(180deg,#a29bfe,#6c5ce7)}.msp-skyline .msp-tree{position:absolute;bottom:35px;font-size:2rem;z-index:3}.msp-skyline .msp-tree.tree-1{left:5%}.msp-skyline .msp-tree.tree-2{right:5%}.msp-skyline .msp-bike{position:absolute;bottom:35px;right:32%;font-size:2rem;z-index:3}.msp-skyline .msp-water{position:absolute;bottom:35px;left:12%;font-size:1.5rem;z-index:3}.msp-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.pdx-skyline{background:linear-gradient(180deg,#87ceeb,#a8d8ea,#e0f4ff)}.pdx-skyline .pdx-mountain-bg{position:absolute;bottom:50px;z-index:1}.pdx-skyline .pdx-mountain-bg.mountain-1{left:0;right:0;bottom:50px;height:100px;background:linear-gradient(125deg,transparent 40%,#b8c6db 40%,#b8c6db 42%,transparent 42%),linear-gradient(115deg,transparent 30%,#a8b5c7 30%,#a8b5c7 33%,transparent 33%),linear-gradient(135deg,transparent 55%,#c5d1de 55%,#c5d1de 58%,transparent 58%);clip-path:polygon(0% 100%,5% 70%,12% 85%,18% 55%,25% 75%,32% 45%,40% 65%,48% 35%,55% 60%,62% 40%,70% 55%,78% 30%,85% 50%,92% 60%,100% 100%);background-color:#9bafc4}.pdx-skyline .pdx-mountain-bg.mountain-2{left:30%;width:200px;height:140px;background:linear-gradient(180deg,#e8eef5 0% 25%,#6b7c8a 25%,#5a6b78 60%,#4a5a66);clip-path:polygon(50% 0%,15% 100%,85% 100%)}.pdx-skyline .pdx-mountain-bg.mountain-2:before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:100px;height:50px;background:linear-gradient(180deg,#ffffff 0%,#f0f5fa 60%,transparent 100%);clip-path:polygon(50% 0%,20% 100%,80% 100%)}.pdx-skyline .pdx-mountain-bg.mountain-2:after{content:"";position:absolute;left:50%;top:0;width:100px;height:140px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.15) 100%);clip-path:polygon(0% 0%,100% 100%,0% 100%)}.pdx-skyline .pdx-mountain-bg.mountain-3{left:0;right:0;bottom:50px;height:80px;clip-path:polygon(0% 100%,0% 80%,8% 50%,15% 70%,22% 45%,30% 60%,70% 60%,78% 40%,85% 55%,92% 65%,100% 50%,100% 100%);background:linear-gradient(180deg,#5d6d7a,#4a5a66,#3d4a54)}.pdx-skyline .pdx-trees{position:absolute;bottom:35px;font-size:2.5rem;z-index:3}.pdx-skyline .pdx-trees.tree-1{left:5%}.pdx-skyline .pdx-trees.tree-2{right:5%}.pdx-skyline .pdx-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.pdx-skyline .pdx-building.building-1{left:15%;width:45px;height:90px;background:linear-gradient(180deg,#bdc3c7,#95a5a6)}.pdx-skyline .pdx-building.building-2{left:30%;width:50px;height:110px;background:linear-gradient(180deg,#dfe6e9,#bdc3c7)}.pdx-skyline .pdx-building.building-3{right:20%;width:45px;height:80px;background:linear-gradient(180deg,#95a5a6,#7f8c8d)}.pdx-skyline .pdx-rose{position:absolute;bottom:35px;left:50%;font-size:2rem;z-index:3}.pdx-skyline .pdx-coffee{position:absolute;bottom:35px;right:30%;font-size:1.8rem;z-index:3}.pdx-skyline .pdx-bike{position:absolute;bottom:32px;right:12%;font-size:2rem;z-index:3}.pdx-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.clt-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff,#e8f4f8)}.clt-skyline .clt-crown{position:absolute;bottom:35px;left:8%;font-size:2.5rem;z-index:3}.clt-skyline .clt-building{position:absolute;bottom:50px;z-index:2}.clt-skyline .clt-building.building-1{left:5%;width:50px;height:80px;background:linear-gradient(180deg,#bdc3c7,#95a5a6);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 15px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#bdc3c7,#95a5a6)}.clt-skyline .clt-building.building-2{left:18%;width:45px;height:100px;background:linear-gradient(180deg,#74b9ff,#0984e3);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.2) 15px,rgba(255,255,255,.2) 18px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 12px),linear-gradient(180deg,#74b9ff,#0984e3)}.clt-skyline .clt-building.bank-tower{left:32%;width:50px;height:150px;background:linear-gradient(180deg,#2c3e50,#1a252f);background-image:repeating-linear-gradient(0deg,transparent,transparent 18px,rgba(255,255,255,.15) 18px,rgba(255,255,255,.15) 20px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.15) 12px,rgba(255,255,255,.15) 14px),linear-gradient(180deg,#2c3e50,#1a252f)}.clt-skyline .clt-building.bank-tower:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:25px solid #2c3e50}.clt-skyline .clt-building.building-3{left:48%;width:55px;height:110px;background:linear-gradient(180deg,#636e72,#2d3436);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(255,255,255,.1) 15px,rgba(255,255,255,.1) 18px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(255,255,255,.1) 12px,rgba(255,255,255,.1) 14px),linear-gradient(180deg,#636e72,#2d3436)}.clt-skyline .clt-building.building-4{right:18%;width:50px;height:90px;background:linear-gradient(180deg,#0984e3,#0652dd);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(255,255,255,.2) 12px,rgba(255,255,255,.2) 15px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.2) 10px,rgba(255,255,255,.2) 12px),linear-gradient(180deg,#0984e3,#0652dd)}.clt-skyline .clt-building.building-5{right:5%;width:45px;height:75px;background:linear-gradient(180deg,#95a5a6,#7f8c8d);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 14px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#95a5a6,#7f8c8d)}.clt-skyline .clt-football{position:absolute;bottom:35px;right:12%;font-size:2rem;z-index:3}.clt-skyline .clt-tree{position:absolute;bottom:35px;font-size:2rem;z-index:3}.clt-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:2}.ind-skyline{background:linear-gradient(180deg,#87ceeb,#a8d8ea,#e0f4ff)}.ind-skyline .ind-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.ind-skyline .ind-building.building-1{left:3%;width:50px;height:100px;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),linear-gradient(180deg,#bdc3c7,#95a5a6)}.ind-skyline .ind-building.salesforce-tower{left:28%;width:55px;height:140px;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),linear-gradient(180deg,#3498db,#2980b9)}.ind-skyline .ind-building.building-2{right:0%;width:50px;height:110px;background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(255,255,255,.3) 10px,rgba(255,255,255,.3) 12px),linear-gradient(180deg,#95a5a6,#7f8c8d)}.ind-skyline .ind-monument{position:absolute;bottom:50px;right:35%;width:12px;height:120px;background:linear-gradient(180deg,#ecf0f1,#bdc3c7);z-index:2}.ind-skyline .ind-monument:before{content:"";position:absolute;top:-15px;left:50%;transform:translate(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:15px solid #ecf0f1}.ind-skyline .ind-car{position:absolute;bottom:38px;left:50%;font-size:2.5rem;z-index:3}.ind-skyline .ind-flag{position:absolute;bottom:55px;right:12%;font-size:2rem;z-index:3}.ind-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:1}.kc-skyline{background:linear-gradient(180deg,#87ceeb,#a8d8ea,#e0f4ff)}.kc-skyline .kc-building{position:absolute;bottom:50px;border-radius:4px 4px 0 0;z-index:2}.kc-skyline .building-1{left:3%;width:50px;height:100px;background:linear-gradient(180deg,#636e72,#2d3436)}.kc-skyline .union-station{right:28%;width:80px;height:70px;background:linear-gradient(180deg,#f1c40f,#f39c12);border-radius:35px 35px 0 0}.kc-skyline .building-2{right:0%;width:55px;height:120px;background:linear-gradient(180deg,#95a5a6,#7f8c8d)}.kc-skyline .building-3{left:18%;width:45px;height:130px;background:linear-gradient(180deg,#3498db,#2980b9)}.kc-skyline .building-4{left:45%;width:50px;height:110px;background:linear-gradient(180deg,#9b59b6,#8e44ad)}.kc-skyline .kc-fountain{position:absolute;bottom:38px;left:12%;font-size:2.2rem;z-index:3}.kc-skyline .kc-bbq{position:absolute;bottom:40px;left:45%;font-size:2rem;z-index:3}.kc-skyline .kc-chiefs{position:absolute;bottom:45px;right:20%;font-size:2rem;z-index:3}.kc-skyline:after{content:"";position:absolute;bottom:0;left:0;right:0;height:50px;background:linear-gradient(180deg,#27ae60,#2ecc71);z-index:1}.hnl-skyline{background:linear-gradient(180deg,#87ceeb,#74b9ff 30%,#81ecec)}.hnl-skyline .hnl-diamond-head{position:absolute;bottom:50px;left:5%;width:120px;height:80px;background:linear-gradient(180deg,#6b8e23,#556b2f,#3d5c1f);clip-path:polygon(0% 100%,20% 60%,35% 70%,50% 40%,65% 55%,80% 30%,100% 50%,100% 100%);z-index:1}.hnl-skyline .hnl-palm{position:absolute;font-size:2.8rem;z-index:3}.hnl-skyline .hnl-palm.palm-1{left:25%;bottom:35px}.hnl-skyline .hnl-palm.palm-2{right:30%;bottom:35px}.hnl-skyline .hnl-palm.palm-3{right:8%;bottom:35px}.hnl-skyline .hnl-building{position:absolute;bottom:50px;z-index:2}.hnl-skyline .hnl-building.building-1{left:35%;width:45px;height:90px;background:linear-gradient(180deg,#ffeaa7,#fdcb6e);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 15px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#ffeaa7,#fdcb6e)}.hnl-skyline .hnl-building.building-2{left:48%;width:50px;height:110px;background:linear-gradient(180deg,#fff,#dfe6e9);background-image:repeating-linear-gradient(0deg,transparent,transparent 15px,rgba(0,0,0,.08) 15px,rgba(0,0,0,.08) 18px),repeating-linear-gradient(90deg,transparent,transparent 12px,rgba(0,0,0,.08) 12px,rgba(0,0,0,.08) 14px),linear-gradient(180deg,#fff,#dfe6e9)}.hnl-skyline .hnl-building.building-3{right:18%;width:40px;height:80px;background:linear-gradient(180deg,#fab1a0,#e17055);background-image:repeating-linear-gradient(0deg,transparent,transparent 12px,rgba(0,0,0,.1) 12px,rgba(0,0,0,.1) 14px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(0,0,0,.1) 10px,rgba(0,0,0,.1) 12px),linear-gradient(180deg,#fab1a0,#e17055)}.hnl-skyline .hnl-hibiscus{position:absolute;bottom:38px;left:18%;font-size:2rem;z-index:3}.hnl-skyline .hnl-beach{position:absolute;bottom:20px;left:0;right:0;height:30px;background:linear-gradient(180deg,wheat,#deb887);z-index:2}.hnl-skyline .hnl-ocean{position:absolute;bottom:0;left:0;right:0;height:20px;background:linear-gradient(180deg,#0984e3,#00cec9);z-index:2}.hnl-skyline .hnl-surfer{position:absolute;bottom:5px;left:60%;font-size:1.8rem;z-index:3}.hnl-skyline .hnl-sun{position:absolute;top:10%;right:15%;font-size:3rem;z-index:1}.hnl-skyline .hnl-rainbow{position:absolute;top:20%;left:30%;font-size:2.5rem;z-index:1}.location-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:var(--space-lg)}.location-content{text-align:center;color:#fff;padding:var(--space-xl);max-width:400px;width:100%}.location-icon{font-size:clamp(3rem,10vw,4rem);margin-bottom:var(--space-lg)}.location-title{font-size:clamp(1.25rem,5vw,1.5rem);margin-bottom:var(--space-sm);font-weight:700}.location-text{opacity:.8;margin-bottom:var(--space-lg);font-size:clamp(.875rem,3vw,1rem)}.location-select{width:100%;padding:.75rem 1rem;font-size:clamp(.875rem,3vw,1rem);border-radius:var(--radius-md);border:none;background:#fff;color:#333;cursor:pointer;margin-bottom:var(--space-md);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem}@media(min-width:1200px){.landing-hero{min-height:500px}.city-skyline{height:350px}}@media(max-width:1024px){.landing-hero{min-height:350px}.city-skyline{height:280px}.landing-hero-content h1{font-size:clamp(2rem,6vw,3rem)}}@media(max-width:768px){.landing-page{overflow-x:hidden}.landing-hero{min-height:280px;padding:var(--space-md)}.city-skyline{height:200px}.landing-hero-content{padding:var(--space-md)}.landing-hero-content h1{font-size:clamp(1.5rem,5vw,2.5rem)}.landing-hero-content p{font-size:clamp(.875rem,3vw,1.1rem)}.landing-features{padding:var(--space-lg) var(--space-md)}.features-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.landing-subjects{padding:var(--space-lg) var(--space-md)}.subjects-scroll{gap:var(--space-sm)}.subject-pill{padding:var(--space-sm) var(--space-md);font-size:.875rem}.landing-cta{padding:var(--space-xl) var(--space-md)}.cta-buttons{flex-direction:column;gap:var(--space-md)}.cta-buttons .btn{width:100%;max-width:300px}}@media(max-width:600px){:root{--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem}.landing-hero{min-height:220px}.city-skyline{height:160px}.city-skyline .city-cloud{transform:scale(.7)}.features-grid{grid-template-columns:1fr;gap:var(--space-md)}.feature-card{padding:var(--space-md)}.feature-card .emoji{font-size:2rem}.landing-teachers{padding:var(--space-lg) var(--space-md)}.teachers-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.teacher-card{padding:var(--space-sm)}.teacher-card .emoji{font-size:2rem}.landing-footer{padding:var(--space-lg) var(--space-md)}.footer-content{flex-direction:column;text-align:center;gap:var(--space-md)}}@media(max-width:480px){.landing-hero{min-height:180px;padding:var(--space-sm)}.city-skyline{height:140px}.city-skyline .city-cloud{transform:scale(.5)}.chi-skyline .chi-building,.nyc-skyline .nyc-building,.stl-skyline .stl-building{transform:scaleX(.8)}.landing-hero-content h1{font-size:clamp(1.25rem,6vw,1.75rem)}.landing-hero-content p{font-size:clamp(.75rem,3vw,.9rem)}.btn-hero{padding:var(--space-sm) var(--space-lg);font-size:.875rem}.subjects-scroll{padding:0 var(--space-sm)}.subject-pill{padding:var(--space-xs) var(--space-sm);font-size:.75rem}.subject-pill .emoji{font-size:1rem}.teachers-grid{grid-template-columns:repeat(2,1fr)}.location-content{padding:var(--space-md)}.location-icon{font-size:2.5rem}.location-title{font-size:1.1rem}}@media(max-width:320px){.landing-hero{min-height:150px}.city-skyline{height:120px}.landing-hero-content h1{font-size:1.1rem}.landing-hero-content p{font-size:.7rem}.features-grid{gap:var(--space-sm)}.feature-card{padding:var(--space-sm)}.teachers-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-xs)}}@media(max-height:500px)and (orientation:landscape){.landing-hero{min-height:200px}.city-skyline{height:150px}.location-screen{padding:var(--space-sm)}.location-content{padding:var(--space-md)}.location-icon{font-size:2rem;margin-bottom:var(--space-sm)}}@media(hover:none)and (pointer:coarse){.btn,.btn-hero,.subject-pill,.feature-card,.teacher-card,.cta-buttons .btn{min-height:44px;cursor:pointer;-webkit-tap-highlight-color:transparent}.location-select{min-height:48px;font-size:16px}.grade-card{min-height:120px}.avatar-btn{min-width:60px;min-height:60px}}@media(prefers-contrast:high){.landing-hero-content h1,.landing-hero-content p{text-shadow:2px 2px 4px rgba(0,0,0,.8)}}@media(prefers-reduced-motion:reduce){.city-cloud,.mascot-bounce,.character,[class*=animation]{animation:none!important}*{transition-duration:.01ms!important}}.subscription-modal-overlay{position:fixed;inset:0;z-index:9999;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.subscription-modal{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:420px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #00000080;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.subscription-modal-icon{font-size:4rem;margin-bottom:var(--space-lg)}.subscription-modal h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md)}.subscription-modal p{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-bottom:var(--space-xl)}.btn-subscribe-now{width:100%;padding:var(--space-md) var(--space-xl);background:linear-gradient(135deg,var(--primary),var(--accent-pink));border:none;border-radius:var(--radius-lg);color:#fff;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;margin-bottom:var(--space-md)}.btn-subscribe-now:hover{transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.btn-sign-out{background:transparent;border:none;color:var(--text-muted);font-size:.9rem;cursor:pointer;padding:var(--space-sm);transition:color .2s}.btn-sign-out:hover{color:var(--text-secondary)}@supports (padding-bottom: env(safe-area-inset-bottom)){.lesson-content,.celebration-phase,.teaching-phase,.classroom-phase,.reward-break,.end-teaching-phase{padding-bottom:calc(var(--space-xl, 2rem) + env(safe-area-inset-bottom,34px))}.btn-kid,.btn-done-celebration,.btn-next-lesson,.btn-celebration,.btn-continue,.btn-start-lesson{margin-bottom:env(safe-area-inset-bottom,0px)}.lesson-page,.dashboard-page,.profile-page{padding-bottom:env(safe-area-inset-bottom,0px)}}.resume-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.resume-modal{background:linear-gradient(135deg,var(--bg-card) 0%,#2a2a4a 100%);border-radius:var(--radius-2xl);padding:1.5rem;max-width:320px;width:90%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;text-align:center;box-shadow:0 20px 60px #00000080;animation:modal-pop .3s ease-out}@keyframes modal-pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.resume-modal-icon{font-size:2rem;margin-bottom:.5rem;animation:bounce 1s ease-in-out infinite}.resume-modal-title{font-size:1.2rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;background:linear-gradient(135deg,var(--primary) 0%,var(--accent-pink) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.resume-modal-text{font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem;line-height:1.4}.resume-modal-score{display:inline-block;margin-top:.25rem;padding:.2rem .6rem;background:#6366f133;border-radius:var(--radius-full);color:var(--primary);font-weight:600;font-size:.85rem}.resume-modal-buttons{display:flex;flex-direction:column;gap:.5rem}.btn-resume{background:linear-gradient(135deg,var(--accent-green) 0%,#16a34a 100%);color:#fff;font-size:1rem;padding:.75rem 1.25rem;border-radius:var(--radius-full);border:none;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #22c55e66}.btn-resume:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e80}.btn-start-fresh{background:transparent;color:var(--text-secondary);font-size:.9rem;padding:.5rem 1rem;border-radius:var(--radius-full);border:2px solid var(--border-color);font-weight:600;cursor:pointer;transition:all .2s}.btn-start-fresh:hover{background:#ffffff1a;border-color:var(--text-secondary);color:var(--text-primary)}@media(max-width:380px){.resume-modal{padding:1.25rem;max-width:95%}}.game-engine{position:fixed;inset:0;width:100%;height:100%;max-height:100vh;max-height:100dvh;display:flex;flex-direction:column;z-index:1000;background:var(--bg-dark, #0f0f23);overflow:hidden}.game-countdown-overlay{position:fixed;inset:0;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;z-index:1010}.game-intro{text-align:center;color:#fff;padding:2rem}.game-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 1s ease infinite}.game-intro h2{font-size:2rem;margin-bottom:.5rem}.game-description{font-size:1.1rem;opacity:.9;margin-bottom:1rem}.game-prompt-large{font-size:1.5rem;font-weight:600;background:#fff3;padding:1rem 2rem;border-radius:1rem;margin-bottom:2rem}.listening-text{font-size:1.2rem;opacity:.9;margin-top:.5rem;animation:pulse 1s ease-in-out infinite}.countdown-number{font-size:5rem;font-weight:700;text-shadow:0 4px 20px rgba(0,0,0,.3);animation:pulse .5s ease-in-out infinite alternate}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;gap:1rem;flex-wrap:wrap;flex-shrink:0}.game-timer,.game-score{display:flex;align-items:center;gap:.5rem;background:#ffffff1a;padding:.5rem 1rem;border-radius:2rem;min-width:80px;justify-content:center}.timer-icon,.score-icon{font-size:1.2rem}.timer-value,.score-value{font-size:1.2rem;font-weight:700}.timer-warning{color:#ff6b6b;animation:pulse .5s ease-in-out infinite alternate}.game-prompt{flex:1;text-align:center;font-size:1.2rem;font-weight:600;padding:.5rem 1rem;min-width:200px}.game-complete-overlay,.game-complete-screen{position:fixed;inset:0;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);display:flex;align-items:center;justify-content:center;z-index:1020;animation:fadeIn .5s ease}.complete-content{text-align:center;color:#fff;padding:2rem 2rem 5rem;max-height:85vh;overflow-y:auto}.complete-emoji{font-size:5rem;margin-bottom:1rem;animation:bounce 1s ease infinite}.complete-content h2{font-size:2.5rem;margin-bottom:.5rem}.final-score{font-size:1.5rem;margin-bottom:1.5rem}.continue-btn{padding:1rem 3rem;font-size:1.2rem;font-weight:700;background:#fff;color:#11998e;border:none;border-radius:3rem;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:1.5rem;margin-bottom:2rem}.continue-btn:hover{transform:scale(1.05);box-shadow:0 10px 30px #0003}.bubble-game{flex:1;display:flex;flex-direction:column;overflow:hidden;max-height:100vh;max-height:100dvh}.bubble-field{flex:1;position:relative;background:linear-gradient(180deg,#87ceeb,#e0f7fa);overflow:hidden;min-height:0}.bubble{position:absolute;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fffc,#64c8ff99);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s;box-shadow:0 4px 15px #0000001a;animation:float 3s ease-in-out infinite}.bubble:hover{transform:scale(1.1)}.bubble.popped{animation:pop .3s ease forwards;pointer-events:none}.bubble-content{font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2)}.bubble-shine{position:absolute;top:15%;left:20%;width:30%;height:30%;background:#fff9;border-radius:50%}.memory-game{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.memory-grid{display:grid;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#2c3e50,#34495e);flex:1;min-height:0;align-content:center}.memory-card{width:70px;height:70px;perspective:1000px;cursor:pointer;justify-self:center}.card-inner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.memory-card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:.75rem;display:flex;align-items:center;justify-content:center;font-size:2rem}.card-front{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.card-back{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);transform:rotateY(180deg)}.memory-card.matched .card-back{background:linear-gradient(135deg,#11998e,#38ef7d);animation:matchPulse .5s ease}.game-stats{display:flex;justify-content:center;gap:2rem;padding:.75rem;background:#0003;color:#fff;font-weight:600}.whack-game{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh}.whack-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:.5rem;padding:1rem;flex:1;background:linear-gradient(180deg,#8b4513,#654321);min-height:0;max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow:visible}.whack-hole{position:relative;aspect-ratio:1.2;display:flex;align-items:flex-end;justify-content:center;cursor:pointer;max-height:25vh}.hole-base{position:absolute;bottom:0;width:100%;height:40%;background:radial-gradient(ellipse at center,#3d2817,#2a1a0f);border-radius:50%}.mole-item{position:absolute;bottom:20%;width:80%;height:80%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffecd2,#fcb69f);border-radius:50% 50% 40% 40%;animation:popUp .3s ease;z-index:1}.mole-content{font-size:2rem;font-weight:700}.whack-hole.correct .mole-item{animation:hitCorrect .3s ease}.whack-hole.wrong .mole-item{animation:hitWrong .3s ease}.sorting-game{flex:1;display:flex;flex-direction:column;overflow:hidden;max-height:100vh;max-height:100dvh;background:linear-gradient(135deg,#e0e5ec,#f5f7fa)}.sorting-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:1rem 2rem;border-radius:1rem;font-size:1.5rem;font-weight:700;z-index:10;animation:feedbackPop .8s ease}.sorting-feedback.correct{background:#38ef7d;color:#fff}.sorting-feedback.wrong{background:#ff6b6b;color:#fff}.sorting-bins{display:flex;gap:1rem;padding:1rem;justify-content:center}.sort-bin{flex:1;max-width:200px;min-height:150px;border-radius:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:3px dashed;transition:transform .2s,box-shadow .2s}.sort-bin:hover{transform:scale(1.02)}.correct-bin{background:#38ef7d33;border-color:#38ef7d}.wrong-bin{background:#ff6b6b33;border-color:#ff6b6b}.bin-label{font-size:1.5rem;font-weight:700}.bin-description{font-size:.9rem;opacity:.7}.sorting-items{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;justify-content:center;flex:1}.sort-item{padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:1rem;font-size:1.3rem;font-weight:700;cursor:grab;transition:transform .2s,box-shadow .2s;-webkit-user-select:none;user-select:none}.sort-item:hover{transform:scale(1.05);box-shadow:0 8px 25px #0003}.sort-item.dragging{opacity:.5;cursor:grabbing}.game-progress{text-align:center;padding:.75rem;background:#0000001a;font-weight:600}.balloon-game{flex:1;display:flex;flex-direction:column;overflow:hidden;max-height:100vh;max-height:100dvh}.balloon-sky{flex:1;position:relative;background:linear-gradient(180deg,#87ceeb,#b0e0e6,#f0f8ff);overflow:hidden;min-height:0}.balloon{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:transform .1s}.balloon:hover{transform:scale(1.1)}.balloon.popped{animation:balloonPop .4s ease forwards;pointer-events:none}.balloon-body{animation:sway 2s ease-in-out infinite}.balloon-content{background:#fffffff2;padding:.4rem .6rem;border-radius:.5rem;font-weight:700;font-size:1.2rem;color:#333;margin-top:-.5rem;box-shadow:0 2px 8px #0003;min-width:2rem;text-align:center}.balloon-string{width:2px;height:30px;background:#666}.cloud{position:absolute;font-size:3rem;opacity:.5;animation:cloudFloat 20s linear infinite}.cloud-1{top:10%;animation-delay:0s}.cloud-2{top:30%;animation-delay:-7s}.cloud-3{top:50%;animation-delay:-14s}.missed-counter{position:absolute;top:1rem;right:1rem;background:#ff6464e6;color:#fff;padding:.5rem 1rem;border-radius:1rem;font-weight:600}.puzzle-game{flex:1;display:flex;flex-direction:column;overflow:hidden;max-height:100vh;max-height:100dvh}.puzzle-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#2c3e50,#34495e)}.puzzle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;background:#1a1a2e;padding:.25rem;border-radius:.5rem;max-width:250px}.puzzle-piece{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#34495e;border-radius:.25rem;font-size:2.5rem;transition:all .5s ease}.puzzle-piece.revealed{background:linear-gradient(135deg,#667eea,#764ba2);animation:revealPiece .5s ease}.piece-hidden{color:#ffffff4d;font-size:1.5rem}.puzzle-progress{color:#fff;margin-top:1rem;font-weight:600}.puzzle-feedback{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);padding:.75rem 1.5rem;border-radius:1rem;font-size:1.2rem;font-weight:700;z-index:10;animation:feedbackPop .8s ease}.puzzle-feedback.correct{background:#38ef7d;color:#fff}.puzzle-feedback.wrong{background:#ff6b6b;color:#fff}.puzzle-question{padding:1rem;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:0 0 1rem 1rem}.question-text{color:#fff;text-align:center;margin-bottom:1rem;font-weight:600}.puzzle-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.puzzle-option{padding:1rem;font-size:1.2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:.75rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.puzzle-option:hover{transform:scale(1.02);box-shadow:0 5px 20px #0000004d}.puzzle-reveal-final{font-size:6rem!important;animation:revealFinal 1s ease}@keyframes pulse{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3)}to{transform:scale(0);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes matchPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes popUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes hitCorrect{0%{background:linear-gradient(135deg,#ffecd2,#fcb69f)}50%{background:linear-gradient(135deg,#38ef7d,#11998e);transform:scale(1.2)}to{transform:scale(0);opacity:0}}@keyframes hitWrong{0%{background:linear-gradient(135deg,#ffecd2,#fcb69f)}50%{background:linear-gradient(135deg,#ff6b6b,#ee5a5a)}to{background:linear-gradient(135deg,#ffecd2,#fcb69f)}}@keyframes feedbackPop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}70%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes balloonPop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5)}to{transform:scale(0);opacity:0}}@keyframes cloudFloat{0%{left:-20%}to{left:120%}}@keyframes revealPiece{0%{transform:rotateY(180deg);opacity:0}to{transform:rotateY(0);opacity:1}}@keyframes revealFinal{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}@media(max-width:600px){.game-header{flex-direction:column;gap:.5rem}.game-prompt{order:-1;width:100%}.game-timer,.game-score{min-width:70px}.memory-grid{gap:.5rem;padding:1rem}.card-front,.card-back{font-size:1.5rem}.whack-grid{gap:.5rem;padding:1rem}.mole-content{font-size:1.5rem}.sorting-bins{flex-direction:row}.sort-bin{min-height:100px}.sort-item{padding:.75rem 1rem;font-size:1.1rem}.puzzle-grid{max-width:200px}.puzzle-piece{font-size:2rem}.puzzle-options{grid-template-columns:1fr 1fr}.puzzle-option{padding:.75rem;font-size:1rem}.countdown-number,.complete-emoji{font-size:4rem}.complete-content h2{font-size:2rem}}.basketball-game{position:relative;width:100%;height:100%;overflow:hidden}.basketball-court{position:absolute;inset:0;background:linear-gradient(180deg,#c97b4a,#a85d32);overflow:hidden}.court-center-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120px;height:120px;border:4px solid rgba(255,255,255,.5);border-radius:50%}.court-three-point{position:absolute;top:5%;left:50%;transform:translate(-50%);width:200px;height:100px;border:4px solid rgba(255,255,255,.5);border-radius:0 0 100px 100px;border-top:none}.basketball-hoop{position:absolute;top:8%;left:50%;transform:translate(-50%);text-align:center;z-index:10}.hoop-backboard{width:80px;height:50px;background:#ffffffe6;border:3px solid #333;margin:0 auto}.hoop-rim{width:50px;height:10px;background:#ff6b35;margin:0 auto;border-radius:0 0 25px 25px;font-size:1.5rem;line-height:1}.hoop-net{width:40px;height:30px;margin:0 auto;background:repeating-linear-gradient(180deg,transparent,transparent 4px,rgba(255,255,255,.7) 4px,rgba(255,255,255,.7) 6px)}.basketball-prompt{position:absolute;top:2%;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;z-index:20}.basketball-hud{position:absolute;top:2%;left:2%;right:2%;display:flex;justify-content:space-between;align-items:center;z-index:20}.basketball{position:absolute;width:70px;height:70px;cursor:pointer;transition:transform .1s;z-index:15}.basketball:active{transform:scale(1.2)}.basketball.shooting{transition:all .5s ease-out;animation:shoot .5s ease-out}.basketball.scored{animation:swish .5s ease-out forwards}.basketball.missed{animation:miss .5s ease-out forwards;opacity:.5}.basketball-emoji{font-size:2.5rem;animation:spin 2s linear infinite}.basketball-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:700;white-space:nowrap}.swish-effect{position:absolute;top:20%;left:50%;transform:translate(-50%);font-size:2rem;color:#22c55e;font-weight:700;animation:popUp .8s ease-out forwards;z-index:30}.miss-effect{position:absolute;top:20%;left:50%;transform:translate(-50%);font-size:1.5rem;color:#ef4444;font-weight:700;animation:shake .5s ease-out;z-index:30}.streak-badge{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:.25rem .75rem;border-radius:20px;font-weight:700;animation:pulse .5s ease infinite}@keyframes shoot{0%{transform:scale(1)}50%{transform:scale(1.3) translateY(-20px)}to{transform:scale(.8)}}@keyframes swish{0%{opacity:1}to{opacity:0;transform:scale(.5)}}@keyframes miss{0%{transform:rotate(0)}to{transform:rotate(180deg) translateY(50px);opacity:0}}.football-game{position:relative;width:100%;height:100%;overflow:hidden}.football-field{position:absolute;inset:0;background:linear-gradient(180deg,#22c55e,#16a34a,#15803d);overflow:hidden}.field-lines{position:absolute;inset:0}.yard-line{position:absolute;top:0;bottom:0;width:3px;background:#ffffff80}.yard-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);color:#fff9;font-size:1.2rem;font-weight:700}.endzone{position:absolute;top:0;bottom:0;width:10%;display:flex;align-items:center;justify-content:center;font-size:3rem}.endzone-left{left:0;background:#ef444480}.endzone-right{right:0;background:#22c55e80}.football-prompt{position:absolute;top:2%;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;z-index:20}.football-hud{position:absolute;top:2%;left:2%;right:2%;display:flex;justify-content:space-between;align-items:center;z-index:20}.touchdown-count{background:#000000b3;color:#fbbf24;padding:.25rem .75rem;border-radius:20px;font-weight:700}.football{position:absolute;width:70px;height:50px;cursor:pointer;transition:transform .1s;z-index:15}.football:active{transform:scale(1.2)}.football.caught{animation:touchdown .6s ease-out forwards}.football.fumbled{animation:fumble .5s ease-out forwards}.football-emoji{font-size:2.5rem}.football-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:700;white-space:nowrap}.touchdown-effect{position:absolute;top:40%;left:50%;transform:translate(-50%);font-size:2rem;color:#fbbf24;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);animation:touchdownPop 1s ease-out forwards;z-index:30}.fumble-effect{position:absolute;top:40%;left:50%;transform:translate(-50%);font-size:1.5rem;color:#ef4444;font-weight:700;animation:shake .5s ease-out;z-index:30}@keyframes touchdown{0%{transform:scale(1)}50%{transform:scale(1.5) rotate(360deg)}to{transform:scale(0) rotate(720deg);opacity:0}}@keyframes fumble{0%,to{transform:translate(0)}25%{transform:translate(-20px) rotate(-20deg)}75%{transform:translate(20px) rotate(20deg)}}@keyframes touchdownPop{0%{transform:translate(-50%) scale(0);opacity:0}50%{transform:translate(-50%) scale(1.2);opacity:1}to{transform:translate(-50%) scale(1) translateY(-30px);opacity:0}}.tennis-game{position:relative;width:100%;height:100%;overflow:hidden}.tennis-court{position:absolute;inset:0;background:linear-gradient(180deg,#3b82f6,#2563eb);overflow:hidden}.court-baseline{position:absolute;left:10%;right:10%;height:4px;background:#fff}.court-baseline.top{top:10%}.court-baseline.bottom{bottom:10%}.court-service-line{position:absolute;top:35%;left:10%;right:10%;height:3px;background:#ffffffb3}.court-center-line{position:absolute;top:35%;bottom:10%;left:50%;width:3px;background:#ffffffb3}.court-net{position:absolute;top:48%;left:5%;right:5%;height:8px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.8) 5%,rgba(255,255,255,.8) 95%,transparent 100%);border-top:2px solid white}.tennis-prompt{position:absolute;top:2%;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;z-index:20}.tennis-hud{position:absolute;top:2%;left:2%;right:2%;display:flex;justify-content:space-between;align-items:center;z-index:20}.tennis-scoreboard{position:absolute;top:12%;right:2%;background:#000000b3;color:#a3e635;padding:.25rem .75rem;border-radius:10px;font-weight:700;font-size:.9rem;z-index:20}.rally-badge{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:.25rem .75rem;border-radius:20px;font-weight:700;animation:pulse .5s ease infinite}.tennis-ball{position:absolute;width:60px;height:60px;cursor:pointer;transition:transform .1s;z-index:15}.tennis-ball:active{transform:scale(1.3)}.tennis-ball.hit{animation:aceHit .5s ease-out forwards}.tennis-ball.missed{animation:fault .5s ease-out forwards}.tennis-ball-emoji{font-size:2.5rem}.tennis-ball-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:700;white-space:nowrap}.ace-effect{position:absolute;top:30%;left:50%;transform:translate(-50%);font-size:2rem;color:#a3e635;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);animation:acePopUp .8s ease-out forwards;z-index:30}.fault-effect{position:absolute;top:30%;left:50%;transform:translate(-50%);font-size:1.5rem;color:#ef4444;font-weight:700;animation:shake .5s ease-out;z-index:30}@keyframes aceHit{0%{transform:scale(1)}30%{transform:scale(1.5) translateY(-30px)}to{transform:scale(0) translateY(-100px);opacity:0}}@keyframes fault{0%{opacity:1}to{opacity:0;transform:translateY(50px)}}@keyframes acePopUp{0%{transform:translate(-50%) scale(0);opacity:0}50%{transform:translate(-50%) scale(1.3);opacity:1}to{transform:translate(-50%) scale(1) translateY(-20px);opacity:0}}@keyframes popUp{0%{transform:translate(-50%) scale(0);opacity:0}50%{transform:translate(-50%) scale(1.2);opacity:1}to{transform:translate(-50%) translateY(-30px);opacity:0}}@keyframes shake{0%,to{transform:translate(-50%)}25%{transform:translate(calc(-50% - 10px))}75%{transform:translate(calc(-50% + 10px))}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pinata-game{position:relative;width:100%;height:100%;overflow:hidden}.pinata-background{position:absolute;inset:0;background:linear-gradient(180deg,#fbbf24,#f59e0b,#d97706);overflow:hidden}.papel-picado{position:absolute;top:0;left:0;right:0;height:60px;display:flex;justify-content:space-around}.papel{font-size:2rem;animation:sway 2s ease-in-out infinite}.papel-1{animation-delay:0s}.papel-2{animation-delay:.2s}.papel-3{animation-delay:.4s}.papel-4{animation-delay:.6s}.papel-5{animation-delay:.8s}.papel-6{animation-delay:1s}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.fiesta-lights{position:absolute;top:50px;left:0;right:0;display:flex;justify-content:space-around}.light{font-size:1.5rem;animation:twinkle 1s ease-in-out infinite}.light-1{animation-delay:0s}.light-2{animation-delay:.1s}.light-3{animation-delay:.2s}.light-4{animation-delay:.3s}.light-5{animation-delay:.4s}.light-6{animation-delay:.5s}.light-7{animation-delay:.6s}.light-8{animation-delay:.7s}.light-9{animation-delay:.8s}.light-10{animation-delay:.9s}@keyframes twinkle{0%,to{opacity:1}50%{opacity:.5}}.pinata-prompt{position:absolute;top:2%;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;z-index:20}.pinata-hud{position:absolute;top:2%;left:2%;right:2%;display:flex;justify-content:space-between;align-items:center;z-index:20}.hits-count{background:#000000b3;color:#fbbf24;padding:.25rem .75rem;border-radius:20px;font-weight:700}.pinata{position:absolute;top:20%;left:50%;transform:translate(-50%);cursor:pointer;text-align:center;z-index:15;transition:transform .1s}.pinata:active{transform:translate(-50%) scale(.95)}.pinata.shake{animation:pinataShake .3s ease-in-out}@keyframes pinataShake{0%,to{transform:translate(-50%) rotate(0)}25%{transform:translate(-50%) rotate(-15deg)}75%{transform:translate(-50%) rotate(15deg)}}.pinata-string{width:3px;height:40px;background:#78350f;margin:0 auto}.pinata-body{font-size:6rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));transition:transform .2s}.pinata:hover .pinata-body{transform:scale(1.05)}.pinata-hint{margin-top:.5rem;font-size:.9rem;color:#78350f;font-weight:700;animation:bounce 1s ease infinite}.confetti-burst{position:absolute;top:35%;left:50%;transform:translate(-50%);z-index:25;pointer-events:none}.confetti-piece{position:absolute;font-size:2rem;animation:confettiFall 1s ease-out forwards}.confetti-1{animation-delay:0s;left:-40px}.confetti-2{animation-delay:.1s;left:-20px}.confetti-3{animation-delay:.05s;left:0}.confetti-4{animation-delay:.15s;left:20px}.confetti-5{animation-delay:.08s;left:40px}@keyframes confettiFall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100px) rotate(360deg);opacity:0}}.pinata-candy{position:absolute;width:60px;height:60px;cursor:pointer;transition:transform .1s;z-index:15}.pinata-candy:active{transform:scale(1.2)}.pinata-candy.collected{animation:candyCollect .5s ease-out forwards}.pinata-candy.wrong{animation:candyWrong .5s ease-out forwards}@keyframes candyCollect{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(0);opacity:0}}@keyframes candyWrong{0%{opacity:1}50%{transform:rotate(180deg)}to{opacity:0;transform:translateY(50px)}}.candy-emoji{font-size:2.5rem}.candy-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:2px 8px;border-radius:10px;font-size:.8rem;font-weight:700;white-space:nowrap}.collect-effect{position:absolute;top:50%;left:50%;transform:translate(-50%);font-size:1.5rem;color:#22c55e;font-weight:700;text-shadow:2px 2px 4px rgba(0,0,0,.5);animation:popUp .8s ease-out forwards;z-index:30}.wrong-effect{position:absolute;top:50%;left:50%;transform:translate(-50%);font-size:1.5rem;color:#ef4444;font-weight:700;animation:shake .5s ease-out;z-index:30}.theme-toggle{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:.375rem .75rem;cursor:pointer;transition:all .3s ease;position:relative}.theme-toggle:hover{border-color:var(--primary);transform:scale(1.05)}.theme-icon{font-size:1.1rem;opacity:1;transition:all .3s ease}.theme-icon.active{opacity:1;transform:scale(1.1)}.toggle-track{width:2.5rem;height:1.25rem;background:var(--bg-dark);border-radius:var(--radius-full);position:relative;transition:background .3s ease}[data-theme=light] .toggle-track{background:#7dd3fc}.toggle-thumb{position:absolute;top:2px;width:1rem;height:1rem;background:var(--text-primary);border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0003}.toggle-thumb.dark{left:2px;background:#818cf8}.toggle-thumb.light{left:50%;transform:translate(-50%);background:#fbbf24}.toggle-thumb.high-contrast{left:calc(100% - 1rem - 2px);background:#ff0}[data-theme=high-contrast] .toggle-track{background:#333;border:2px solid #ffffff}[data-theme=high-contrast] .theme-toggle{border:2px solid #ffffff;background:#000}[data-theme=high-contrast] .theme-toggle:hover{border-color:#ff0}@media(max-width:480px){.theme-toggle{padding:.25rem .5rem;gap:.25rem}.theme-icon{font-size:.9rem}.toggle-track{width:2rem;height:1rem}.toggle-thumb{width:.75rem;height:.75rem}.toggle-thumb.light{left:50%;transform:translate(-50%)}.toggle-thumb.high-contrast{left:calc(100% - .75rem - 2px)}}.loading-fullscreen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-dark);z-index:9999}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl)}.loading-spinner{position:relative;display:flex;align-items:center;justify-content:center}.loading-small{width:32px;height:32px}.loading-medium{width:48px;height:48px}.loading-large{width:64px;height:64px}.spinner-ring{position:absolute;border-radius:50%;border:3px solid transparent;animation:spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.loading-small .spinner-ring{border-width:2px}.spinner-ring:nth-child(1){width:100%;height:100%;border-top-color:var(--primary);animation-delay:-.45s}.spinner-ring:nth-child(2){width:80%;height:80%;border-top-color:var(--secondary);animation-delay:-.3s}.spinner-ring:nth-child(3){width:60%;height:60%;border-top-color:var(--accent-pink);animation-delay:-.15s}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-message{margin-top:var(--space-md);font-size:var(--text-lg);font-weight:600;color:var(--text-secondary);animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}[data-theme=light] .loading-fullscreen{background:linear-gradient(180deg,#38bdf8,#7dd3fc 40%,#bae6fd)}[data-theme=light] .loading-message{color:#1a1a1a}.explanation-slides{min-height:80vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border-radius:24px;margin:1rem;position:relative;overflow:hidden}.slides-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:600px;margin-bottom:1.5rem}.slides-title{font-size:1.8rem;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);margin:0}.btn-skip{background:#fff3;border:2px solid rgba(255,255,255,.5);color:#fff;padding:.5rem 1rem;border-radius:20px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-skip:hover{background:#ffffff4d;border-color:#fff}.slides-progress{display:flex;gap:.5rem;margin-bottom:2rem}.progress-dot.active{background:#fff;transform:scale(1.3);box-shadow:0 0 10px #ffffff80}.progress-dot.completed{background:#fffc}.slide-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;max-width:600px}.slide-card{background:#fffffff2;border-radius:24px;padding:2.5rem;text-align:center;box-shadow:0 20px 60px #0003;animation:slideIn .4s ease-out;width:100%}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.slide-emoji{font-size:5rem;margin-bottom:1rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.slide-step-title{font-size:1.5rem;font-weight:700;color:#2d3436;margin-bottom:1rem}.slide-text{font-size:1.2rem;color:#636e72;line-height:1.6;margin:0}.slides-navigation{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:600px;margin-top:2rem}.btn-nav{padding:.8rem 1.5rem;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:100px}.btn-prev{background:#fff3;border:2px solid rgba(255,255,255,.5);color:#fff}.btn-prev:hover:not(:disabled){background:#ffffff4d}.btn-prev:disabled{opacity:.3;cursor:not-allowed}.btn-next{background:#fff;border:none;color:#2d3436;box-shadow:0 4px 15px #0003}.btn-next:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.step-counter{color:#ffffffe6;font-weight:600;font-size:1rem}.btn-start-lesson{background:#fff;border:none;color:#2d3436;padding:1rem 2rem;border-radius:30px;font-size:1.2rem;font-weight:700;cursor:pointer;margin-top:2rem;box-shadow:0 4px 15px #0003;transition:all .3s ease}.btn-start-lesson:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #00000040}.slides-content{text-align:center;color:#fff}.slides-content h2{font-size:2rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.2)}.slides-content p{font-size:1.2rem;opacity:.9}.difficulty-indicator{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffffe6;border-radius:20px;font-size:.9rem;font-weight:600;box-shadow:0 2px 10px #0000001a}.difficulty-indicator.easy{color:#27ae60}.difficulty-indicator.medium{color:#f39c12}.difficulty-indicator.hard{color:#e74c3c}.difficulty-stars{display:flex;gap:2px}@media(max-width:600px){.explanation-slides{padding:1rem;min-height:70vh}.slides-header{flex-direction:column;gap:1rem;text-align:center}.slides-title{font-size:1.4rem}.slide-card{padding:1.5rem}.slide-emoji{font-size:3.5rem}.slide-step-title{font-size:1.2rem}.slide-text{font-size:1rem}.btn-nav{padding:.6rem 1rem;font-size:.9rem;min-width:80px}}.character-container{display:flex;flex-direction:column;align-items:center;gap:12px;position:relative;will-change:transform}.character-image-wrapper{overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#fff8e1,#fff3e0);box-shadow:0 8px 32px #00000026,0 4px 12px #0000001a,inset 0 2px 4px #fffc,inset 0 -2px 4px #0000000d;position:relative;will-change:transform;transition:box-shadow .3s ease}.character-svg-wrapper{display:flex;align-items:center;justify-content:center;position:relative}.character-image-wrapper:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.3) 50%,transparent 60%);animation:shimmer 3s infinite;pointer-events:none;z-index:1}@keyframes shimmer{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.character-image-wrapper:hover{box-shadow:0 12px 40px #0003,0 6px 16px #0000001f,inset 0 2px 4px #fffc}.character-sprite{object-fit:cover;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.size-small .character-sprite{width:120px!important;height:120px!important}.size-medium .character-sprite{width:200px!important;height:200px!important}.size-large .character-sprite{width:300px!important;height:300px!important}.size-xlarge .character-sprite{width:400px!important;height:400px!important}.character-name{font-size:1.1rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:6px 16px;border-radius:20px;background:#fff;box-shadow:0 2px 8px #0000001a;text-shadow:none}.character-speech-bubble{position:relative;top:auto;left:auto;transform:none;background:transparent;padding:16px 8px;border-radius:0;border:none;box-shadow:none;max-width:400px;min-width:200px;text-align:center;will-change:transform,opacity;z-index:100;margin-top:16px}.character-speech-bubble:before{display:none}.character-speech-bubble p{margin:0;font-size:1.4rem;font-weight:700;color:#fff;line-height:1.4;position:relative;z-index:1;text-shadow:2px 2px 4px rgba(0,0,0,.3),0 0 20px rgba(0,0,0,.2)}.speech-tail{display:none}.character-group{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;padding:24px}.character-select{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;will-change:transform}.character-select.selected .character-thumb-wrapper{box-shadow:0 0 0 4px var(--char-color),0 0 20px var(--char-color),0 8px 25px #0003}.character-thumb-wrapper{width:90px;height:90px;overflow:hidden;border-radius:50%;background:#fff;box-shadow:0 4px 15px #00000026,inset 0 2px 4px #ffffff80;transition:box-shadow .3s ease}.character-thumb{width:180px;height:180px;object-fit:cover}.character-select-name{font-size:.95rem;font-weight:700;color:#333;text-transform:uppercase;letter-spacing:.5px}.talking-character{display:flex;flex-direction:column;align-items:center;padding:24px}.talking-character .character-speech-bubble{position:relative;top:auto;left:auto;transform:none;margin-bottom:24px;min-height:70px;display:flex;align-items:center;justify-content:center}.talking-character .speech-tail{top:auto;bottom:-14px}.character-container[data-character=gus] .character-image-wrapper{box-shadow:0 8px 32px #4caf504d,0 4px 12px #0000001a}.character-container[data-character=zara] .character-image-wrapper{box-shadow:0 8px 32px #9c27b04d,0 4px 12px #0000001a}.character-container[data-character=oliver] .character-image-wrapper{box-shadow:0 8px 32px #7955484d,0 4px 12px #0000001a}.character-container[data-character=lucy] .character-image-wrapper{box-shadow:0 8px 32px #f443364d,0 4px 12px #0000001a}.character-particles{position:absolute;width:100%;height:100%;pointer-events:none;overflow:visible}.particle{position:absolute;width:10px;height:10px;border-radius:50%;opacity:0}@media(max-width:600px){.character-group{gap:16px}.character-thumb-wrapper{width:70px;height:70px}.character-thumb{width:140px;height:140px}.character-select-name{font-size:.85rem}.character-speech-bubble{max-width:220px;padding:12px 16px}.character-speech-bubble p{font-size:.95rem}.character-name{font-size:.95rem;padding:4px 12px}}.correct-celebration{display:flex;flex-direction:column;align-items:center;padding:20px;animation:celebrationPop .5s ease-out}@keyframes celebrationPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.end-teaching-character{display:flex;flex-direction:column;align-items:center;padding:20px}.teaching-tip-bubble{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,#fff9c4,#ffecb3);padding:12px 20px;border-radius:16px;margin-top:20px;box-shadow:0 4px 12px #0000001a}.teaching-tip-bubble .tip-icon{font-size:1.5rem}.teaching-tip-bubble .tip-text{margin:0;font-size:1rem;color:#5d4037;font-weight:500}@media(prefers-reduced-motion:reduce){.character-image-wrapper:before{animation:none}.character-container,.character-image-wrapper,.character-speech-bubble{transition:none!important}}.animated-break-background{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.animated-element{position:absolute;z-index:5}.bg-sky .sky-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#87ceeb,#b0e0e6 40%,#e0f4ff,#fff8e7)}.sun-element{position:absolute;top:8%;right:12%;width:70px;height:70px;background:radial-gradient(circle,#ffe066,#ffd93d,orange);border-radius:50%;box-shadow:0 0 50px #ffc80099;animation:sunPulse 4s ease-in-out infinite}@keyframes sunPulse{0%,to{transform:scale(1);box-shadow:0 0 50px #ffc80099}50%{transform:scale(1.08);box-shadow:0 0 70px #ffc800cc}}.bg-ocean .ocean-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0077b6,#00b4d8,#48cae4 60%,#90e0ef)}.ocean-floor{position:absolute;bottom:0;left:0;right:0;height:15%;background:linear-gradient(180deg,#d4a574,#c9a066,#b8956a);border-radius:100% 100% 0 0/30px}.seaweed{position:absolute;bottom:10%;font-size:3rem;animation:seaweedSway 3s ease-in-out infinite;transform-origin:bottom center}.seaweed-1{left:10%;animation-delay:0s}.seaweed-2{left:50%;animation-delay:.5s;font-size:4rem}.seaweed-3{left:85%;animation-delay:1s}@keyframes seaweedSway{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}.coral{position:absolute;bottom:8%;font-size:2.5rem}.coral-1{left:25%}.coral-2{right:20%}.bubble.rising{bottom:0;animation:bubbleRise linear infinite}.bubble-sphere{width:20px;height:20px;background:radial-gradient(circle at 30% 30%,#fffc,#fff3);border-radius:50%;border:1px solid rgba(255,255,255,.5)}@keyframes bubbleRise{0%{bottom:-5%;opacity:.8;transform:translate(0)}50%{transform:translate(20px)}to{bottom:105%;opacity:0;transform:translate(-10px)}}.jellyfish.floating{bottom:20%;animation:jellyfishFloat ease-in-out infinite}.jelly-head{width:50px;height:35px;background:var(--jelly-color, #ff9ff3);border-radius:50% 50% 40% 40%;opacity:.8}.jelly-tentacles{display:flex;justify-content:space-around;padding:0 8px}.jelly-tentacles span{width:3px;height:30px;background:var(--jelly-color, #ff9ff3);opacity:.6;border-radius:0 0 3px 3px;animation:tentacleWave 1s ease-in-out infinite}.jelly-tentacles span:nth-child(2){animation-delay:.2s;height:35px}.jelly-tentacles span:nth-child(3){animation-delay:.4s;height:28px}.jelly-tentacles span:nth-child(4){animation-delay:.6s}@keyframes tentacleWave{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}@keyframes jellyfishFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-30px)}}.fish.swimming-left{animation:swimLeft ease-in-out infinite}.fish.swimming-right{animation:swimRight ease-in-out infinite}.fish.swimming-right .fish-body{transform:scaleX(-1)}.fish-body{position:relative;width:45px;height:22px;border-radius:50% 40% 40% 50%;animation:fishWiggle .4s ease-in-out infinite}.fish-tail{position:absolute;right:-14px;top:4px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:16px solid;animation:tailWag .25s ease-in-out infinite}.fish-eye{position:absolute;left:10px;top:7px;width:7px;height:7px;background:#fff;border-radius:50%}.fish-eye:after{content:"";position:absolute;left:3px;top:2px;width:3px;height:3px;background:#000;border-radius:50%}.fish-fin{position:absolute;top:-7px;left:18px;width:12px;height:10px;border-radius:50% 50% 0 0;opacity:.7}@keyframes fishWiggle{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes tailWag{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes swimLeft{0%{left:110%}50%{transform:translateY(-15px)}to{left:-15%}}@keyframes swimRight{0%{left:-15%}50%{transform:translateY(15px)}to{left:110%}}.bg-space .space-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#0d0d2b,#1a1a4e 40%,#2d1b69,#1a0a2e)}.nebula{position:absolute;border-radius:50%;filter:blur(40px);opacity:.3}.nebula-1{top:10%;right:20%;width:200px;height:150px;background:radial-gradient(ellipse,#ff6b9d 0%,transparent 70%);animation:nebulaPulse 8s ease-in-out infinite}.nebula-2{bottom:30%;left:10%;width:180px;height:180px;background:radial-gradient(ellipse,#4facfe 0%,transparent 70%);animation:nebulaPulse 10s ease-in-out infinite reverse}@keyframes nebulaPulse{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.4;transform:scale(1.1)}}.star.twinkling{width:4px;height:4px;background:#fff;border-radius:50%;box-shadow:0 0 6px #fff;animation:twinkle 2s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.planet{border-radius:50%;box-shadow:inset -10px -10px 20px #00000080}.planet-saturn{width:60px;height:60px;background:linear-gradient(135deg,#f4d03f,#e9a820,#c4930a)}.planet-saturn:after{content:"";position:absolute;top:50%;left:-15px;width:90px;height:15px;background:linear-gradient(90deg,transparent 0%,rgba(200,180,150,.6) 30%,rgba(200,180,150,.6) 70%,transparent 100%);border-radius:50%;transform:translateY(-50%) rotateX(70deg)}.planet-mars{width:45px;height:45px;background:linear-gradient(135deg,#e74c3c,#c0392b,#922b21)}.planet-earth{width:50px;height:50px;background:linear-gradient(135deg,#3498db,#2980b9,#27ae60 60%,#1e8449)}.ufo.hovering-left{animation:ufoFlyLeft ease-in-out infinite}.ufo.hovering-right{animation:ufoFlyRight ease-in-out infinite}.ufo-body{position:relative}.ufo-dome{width:30px;height:18px;background:linear-gradient(180deg,#a8e6cf,#88d8b0);border-radius:50% 50% 0 0;margin:0 auto}.ufo-body:before{content:"";position:absolute;top:15px;left:50%;transform:translate(-50%);width:60px;height:15px;background:linear-gradient(180deg,#95a5a6,#7f8c8d);border-radius:50%}.ufo-lights{position:absolute;top:22px;left:50%;transform:translate(-50%);display:flex;gap:8px}.ufo-lights span{width:6px;height:6px;background:#f1c40f;border-radius:50%;animation:ufoLights .5s ease-in-out infinite alternate}.ufo-lights span:nth-child(2){animation-delay:.15s;background:#e74c3c}.ufo-lights span:nth-child(3){animation-delay:.3s;background:#3498db}.ufo-beam{position:absolute;top:30px;left:50%;transform:translate(-50%);width:40px;height:60px;background:linear-gradient(180deg,rgba(241,196,15,.4) 0%,transparent 100%);clip-path:polygon(30% 0%,70% 0%,100% 100%,0% 100%);animation:beamPulse 1s ease-in-out infinite}@keyframes ufoLights{0%{opacity:.3}to{opacity:1}}@keyframes beamPulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes ufoFlyLeft{0%{left:110%;transform:translateY(0)}25%{transform:translateY(-20px)}50%{transform:translateY(10px)}75%{transform:translateY(-10px)}to{left:-20%;transform:translateY(0)}}@keyframes ufoFlyRight{0%{left:-20%;transform:translateY(0)}25%{transform:translateY(20px)}50%{transform:translateY(-10px)}75%{transform:translateY(10px)}to{left:110%;transform:translateY(0)}}.rocket.launching{bottom:5%;animation:rocketLaunch ease-out infinite}.rocket-body{position:relative;width:24px;height:55px;background:linear-gradient(90deg,#ecf0f1,#bdc3c7,#ecf0f1);border-radius:50% 50% 10% 10%;margin:0 auto}.rocket-nose{position:absolute;top:-18px;left:50%;transform:translate(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:22px solid #e74c3c}.rocket-window{position:absolute;top:14px;left:50%;transform:translate(-50%);width:12px;height:12px;background:linear-gradient(135deg,#4fc3f7,#0288d1);border-radius:50%;border:2px solid #455a64}.rocket-fin{position:absolute;bottom:0;width:0;height:0;border-top:18px solid transparent;border-bottom:12px solid #e74c3c}.rocket-fin-left{left:-10px;border-right:12px solid #e74c3c}.rocket-fin-right{right:-10px;border-left:12px solid #e74c3c}.rocket-flame{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);width:24px;height:35px}.flame{position:absolute;bottom:0;border-radius:50%;animation:flameFlicker .1s ease-in-out infinite alternate}.flame-1{left:50%;transform:translate(-50%);width:14px;height:30px;background:linear-gradient(180deg,#fff176,#ff9800 40%,#e53935)}.flame-2{left:2px;width:8px;height:20px;background:linear-gradient(180deg,#ffeb3b,#ff5722);animation-delay:.05s}.flame-3{right:2px;width:8px;height:20px;background:linear-gradient(180deg,#ffeb3b,#ff5722);animation-delay:.1s}@keyframes flameFlicker{0%{transform:scaleY(1) scaleX(1)}to{transform:scaleY(1.15) scaleX(.85)}}@keyframes rocketLaunch{0%{bottom:5%;opacity:1}15%{transform:translate(-3px)}30%{transform:translate(3px)}45%{transform:translate(0)}to{bottom:120%;opacity:0}}.bg-jungle .jungle-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#a8e6cf,#88d8b0 30%,#1e8449 70%,#145a32)}.jungle-trees{position:absolute;bottom:0;left:0;right:0;height:40%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 50'%3E%3Cpath fill='%23145a32' d='M0,50 L10,20 L20,50 L30,15 L40,50 L50,25 L60,50 L70,18 L80,50 L90,22 L100,50 Z'/%3E%3C/svg%3E");background-size:200px 100%;background-repeat:repeat-x}.jungle-vines{position:absolute;top:0;left:0;right:0;height:30%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30'%3E%3Cpath fill='none' stroke='%23228b22' stroke-width='3' d='M10,0 Q15,15 10,30 M30,0 Q25,20 30,30 M50,0 Q55,18 50,30 M70,0 Q65,22 70,30 M90,0 Q95,16 90,30'/%3E%3C/svg%3E");background-size:150px 100%;background-repeat:repeat-x}.bird.flying-left{animation:flyLeft linear infinite}.bird.flying-right{animation:flyRight linear infinite}.bird.flying-right .bird-body{transform:scaleX(-1)}.bird-body{position:relative;width:22px;height:10px;background:var(--bird-color, #2C3E50);border-radius:50%;margin:0 auto}.wing{position:absolute;width:16px;height:10px;background:var(--bird-color, #2C3E50);border-radius:50% 50% 0 0;top:-6px;animation:flapWings .25s ease-in-out infinite}.wing-left{left:-8px;transform-origin:right bottom}.wing-right{right:-8px;transform-origin:left bottom;animation-delay:.12s}@keyframes flapWings{0%,to{transform:rotate(-35deg)}50%{transform:rotate(35deg)}}@keyframes flyLeft{0%{left:110%}to{left:-10%}}@keyframes flyRight{0%{left:-10%}to{left:110%}}.butterfly.flutter-left{animation:flutterLeft ease-in-out infinite}.butterfly.flutter-right{animation:flutterRight ease-in-out infinite}.butterfly-body{position:relative;width:4px;height:16px;background:#2c3e50;border-radius:2px;margin:0 auto}.butterfly-wing{position:absolute;width:14px;height:20px;background:var(--wing-color, #E91E63);border-radius:50% 50% 30% 30%;animation:butterflyFlap .18s ease-in-out infinite}.butterfly-wing-left{left:-12px;top:-2px;transform-origin:right center}.butterfly-wing-right{right:-12px;top:-2px;transform-origin:left center;animation-delay:.09s}@keyframes butterflyFlap{0%,to{transform:rotateY(0)}50%{transform:rotateY(75deg)}}@keyframes flutterLeft{0%{left:110%}25%{transform:translateY(-20px)}50%{transform:translateY(10px)}75%{transform:translateY(-10px)}to{left:-10%}}@keyframes flutterRight{0%{left:-10%}25%{transform:translateY(20px)}50%{transform:translateY(-10px)}75%{transform:translateY(15px)}to{left:110%}}.monkey.swinging{animation:monkeySwing 2s ease-in-out infinite}.monkey-emoji{font-size:2.5rem;display:block}.vine{position:absolute;top:-50px;left:50%;width:3px;height:50px;background:#228b22;transform-origin:top center}@keyframes monkeySwing{0%,to{transform:rotate(-20deg)}50%{transform:rotate(20deg)}}.leaf.falling{top:-10%;font-size:1.8rem;animation:leafFall linear infinite}@keyframes leafFall{0%{top:-10%;transform:rotate(0) translate(0);opacity:1}25%{transform:rotate(90deg) translate(30px)}50%{transform:rotate(180deg) translate(-20px)}75%{transform:rotate(270deg) translate(25px)}to{top:110%;transform:rotate(360deg) translate(0);opacity:.5}}.bg-city .city-gradient{position:absolute;inset:0;background:linear-gradient(180deg,#74b9ff,#a29bfe 40%,#fd79a8,#fdcb6e)}.city-skyline{position:absolute;bottom:15%;left:0;right:0;height:45%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 80'%3E%3Crect fill='%232d3436' x='0' y='40' width='20' height='40'/%3E%3Crect fill='%232d3436' x='25' y='20' width='25' height='60'/%3E%3Crect fill='%232d3436' x='55' y='50' width='15' height='30'/%3E%3Crect fill='%232d3436' x='75' y='10' width='30' height='70'/%3E%3Crect fill='%232d3436' x='110' y='35' width='20' height='45'/%3E%3Crect fill='%232d3436' x='135' y='25' width='25' height='55'/%3E%3Crect fill='%232d3436' x='165' y='45' width='20' height='35'/%3E%3Crect fill='%232d3436' x='190' y='30' width='15' height='50'/%3E%3C/svg%3E");background-size:300px 100%;background-repeat:repeat-x;background-position:bottom}.city-road{position:absolute;bottom:0;left:0;right:0;height:15%;background:#2d3436;border-top:4px solid #ffeaa7}.city-road .road-line{position:absolute;top:50%;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,#ffeaa7 0px,#ffeaa7 40px,transparent 40px,transparent 80px);transform:translateY(-50%)}.car{bottom:3%}.car.driving-left{animation:driveLeft linear infinite}.car.driving-right{animation:driveRight linear infinite}.car.driving-right .car-body{transform:scaleX(-1)}.car-body{position:relative;width:55px;height:22px;border-radius:5px 5px 3px 3px}.car-body.sedan{background:linear-gradient(180deg,#e74c3c,#c0392b)}.car-body.truck{background:linear-gradient(180deg,#3498db,#2980b9);width:60px}.car-body.bus{background:linear-gradient(180deg,#f1c40f,#f39c12);width:75px;height:28px}.car-body.taxi{background:linear-gradient(180deg,#f1c40f,#d68910)}.car-top{position:absolute;top:-12px;left:12px;width:28px;height:12px;background:inherit;border-radius:5px 5px 0 0}.car-body.bus .car-top{left:5px;width:60px;height:10px}.car-window{position:absolute;top:-10px;left:14px;width:24px;height:9px;background:linear-gradient(180deg,#b3e5fc,#4fc3f7);border-radius:3px 3px 0 0}.car-body.bus .car-window{left:8px;width:55px;background:repeating-linear-gradient(90deg,#b3e5fc 0px 10px,#2980b9 10px 12px)}.wheel{position:absolute;bottom:-7px;width:14px;height:14px;background:#2d3436;border-radius:50%;border:2px solid #636e72;animation:wheelSpin .4s linear infinite}.wheel-front{left:6px}.wheel-back{right:6px}@keyframes wheelSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes driveLeft{0%{left:110%}to{left:-20%}}@keyframes driveRight{0%{left:-20%}to{left:110%}}.plane.flying-left{animation:flyLeft linear infinite}.plane.flying-right{animation:flyRight linear infinite}.plane.flying-right .plane-body{transform:scaleX(-1)}.plane-body{position:relative;width:65px;height:18px;background:linear-gradient(180deg,#ecf0f1,#bdc3c7);border-radius:30px 12px 12px 30px;margin:0 auto}.plane-nose{position:absolute;left:-10px;top:4px;width:15px;height:10px;background:#95a5a6;border-radius:50% 0 0 50%}.plane-wing-top{position:absolute;top:-10px;left:18px;width:38px;height:10px;background:linear-gradient(180deg,#dfe6e9,#b2bec3);border-radius:5px;transform:skew(-10deg)}.plane-wing-bottom{position:absolute;bottom:-8px;left:18px;width:32px;height:8px;background:linear-gradient(180deg,#b2bec3,#636e72);border-radius:5px;transform:skew(10deg)}.plane-tail{position:absolute;right:-6px;top:-12px;width:10px;height:22px;background:linear-gradient(90deg,#dfe6e9,#b2bec3);border-radius:3px 3px 0 0;transform:skew(15deg)}.plane-window{position:absolute;top:5px;left:12px;width:32px;height:7px;background:linear-gradient(90deg,#74b9ff,#0984e3,#74b9ff);border-radius:3px}.contrail{position:absolute;right:-80px;top:7px;width:80px;height:4px;background:linear-gradient(90deg,rgba(255,255,255,.7) 0%,transparent 100%);animation:contrailFade .6s ease-out infinite}@keyframes contrailFade{0%{opacity:.7;width:60px}to{opacity:0;width:100px}}.cloud{animation:cloudDrift linear infinite}.cloud-puff{position:absolute;background:#fff;border-radius:50%;box-shadow:0 5px 15px #0000001a}.cloud-puff-1{width:55px;height:55px;left:0;top:12px}.cloud-puff-2{width:75px;height:75px;left:35px;top:0}.cloud-puff-3{width:55px;height:55px;left:80px;top:18px}@keyframes cloudDrift{0%{left:-20%}to{left:120%}}.hot-air-balloon.floating-up{bottom:-20%;animation:balloonFloatUp ease-in-out infinite}.balloon-envelope{width:55px;height:60px;border-radius:50% 50% 40% 40%;position:relative;overflow:hidden}.balloon-stripe{position:absolute;width:100%;height:14px;background:#ffffff4d}.balloon-stripe:nth-child(1){top:18px}.balloon-stripe:nth-child(2){top:40px}.balloon-ropes{width:35px;height:18px;margin:0 auto;border-left:2px solid #8d6e63;border-right:2px solid #8d6e63}.balloon-basket{width:28px;height:18px;margin:0 auto;background:linear-gradient(180deg,#a1887f,#795548);border-radius:0 0 6px 6px}@keyframes balloonFloatUp{0%{bottom:-20%;transform:translate(0)}25%{transform:translate(15px)}50%{transform:translate(-15px)}75%{transform:translate(10px)}to{bottom:120%;transform:translate(0)}}.animated-teaching-session{position:relative;width:100%;min-height:350px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:24px;overflow:hidden;box-shadow:0 10px 40px #667eea66}.teaching-header{margin-bottom:20px}.teacher-bubble{display:flex;align-items:center;gap:15px}.teacher-avatar-animated{font-size:3rem;animation:teacherBounce 1s ease-in-out infinite;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}@keyframes teacherBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.speech-bubble{background:#fff;padding:12px 20px;border-radius:20px 20px 20px 5px;box-shadow:0 4px 15px #00000026;animation:speechAppear .5s ease-out}@keyframes speechAppear{0%{opacity:0;transform:scale(.8) translate(-20px)}to{opacity:1;transform:scale(1) translate(0)}}.teacher-says{font-size:1.2rem;font-weight:600;color:#333}.teaching-stage{position:relative;min-height:200px;margin-bottom:20px}.demo-area{position:relative;z-index:2}.teaching-step{display:flex;align-items:center;gap:12px;padding:12px 16px;margin-bottom:10px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;opacity:0;transform:translate(-30px);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.teaching-step.visible{opacity:1;transform:translate(0)}.teaching-step.current{background:#ffffff4d;box-shadow:0 0 20px #ffffff4d}.step-icon{font-size:1.5rem;animation:stepIconPop .5s ease-out}@keyframes stepIconPop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}.step-text{font-size:1.1rem;font-weight:500;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.step-visual{margin-bottom:10px}.final-answer-character{margin-top:20px;display:flex;justify-content:center;align-items:center}.animate-pop-in{animation:popIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.teaching-progress{display:flex;justify-content:center;gap:10px;margin-top:15px}.progress-dot{width:12px;height:12px;border-radius:50%;background:#ffffff4d;transition:all .3s ease}.progress-dot.completed{background:#4ade80;transform:scale(1.1)}.progress-dot.active{background:#fff;animation:dotPulse 1s ease-in-out infinite}@keyframes dotPulse{0%,to{transform:scale(1);box-shadow:0 0 #ffffff80}50%{transform:scale(1.2);box-shadow:0 0 15px 5px #ffffff4d}}.counting-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.counting-items{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;max-width:400px}.counting-item{display:flex;flex-direction:column;align-items:center;opacity:0;transform:scale(0);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.counting-item.visible{opacity:1;transform:scale(1)}.item-emoji{font-size:2.5rem;animation:itemPop .5s ease-out}@keyframes itemPop{0%{transform:scale(0) rotate(-180deg)}to{transform:scale(1) rotate(0)}}.item-number{font-size:1.2rem;font-weight:700;color:#fff;background:#0000004d;padding:4px 10px;border-radius:10px;margin-top:5px}.count-total{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 25px;border-radius:20px;box-shadow:0 5px 20px #0003}.total-label{font-size:1.2rem;color:#666}.total-value{font-size:2rem;font-weight:800;color:#667eea}.addition-animation{display:flex;align-items:center;justify-content:center;gap:15px;padding:20px;flex-wrap:wrap}.addition-group{display:flex;flex-wrap:wrap;gap:5px;padding:15px;background:#fff3;border-radius:15px;max-width:120px;justify-content:center;position:relative;transition:all 1s ease}.addition-item{font-size:1.8rem;animation:addItemAppear .3s ease-out}@keyframes addItemAppear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.group-count{position:absolute;bottom:-10px;left:50%;transform:translate(-50%);background:#fff;color:#333;padding:4px 12px;border-radius:10px;font-weight:700;font-size:1.1rem}.addition-operator,.addition-equals{font-size:2rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.addition-result{background:linear-gradient(135deg,gold,orange);padding:15px 25px;border-radius:15px;box-shadow:0 5px 20px #ffa50066}.result-number{font-size:2.5rem;font-weight:800;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.addition-animation.phase-moving .addition-group{transform:translate(10px)}.addition-animation.phase-combined .addition-group{opacity:.7}.addition-animation.phase-combined .addition-result{animation:resultPop .5s ease-out}@keyframes resultPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.subtraction-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.subtraction-items{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:350px}.subtraction-item{font-size:2rem;transition:all .5s ease}.subtraction-item.removed{opacity:.2;transform:scale(.5) translateY(20px);filter:grayscale(100%)}.subtraction-equation{display:flex;align-items:center;gap:15px;background:#fff;padding:12px 25px;border-radius:20px;font-size:1.5rem;font-weight:700;color:#333;box-shadow:0 5px 20px #00000026}.subtraction-equation .operator{color:#666}.subtraction-equation .result{color:#667eea;font-size:1.8rem}.comparison-animation{display:flex;align-items:flex-end;justify-content:center;gap:30px;padding:20px}.comparison-side{display:flex;flex-direction:column;align-items:center;gap:10px}.comparison-blocks{display:flex;flex-direction:column-reverse;gap:5px}.comparison-block{width:40px;height:25px;border-radius:6px;animation:blockStack .5s ease-out backwards}.comparison-block.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 3px 10px #3b82f666}.comparison-block.orange{background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 3px 10px #f9731666}@keyframes blockStack{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.comparison-number{font-size:2rem;font-weight:800;color:#fff;background:#0000004d;padding:8px 20px;border-radius:12px}.comparison-result{display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(0);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.comparison-result.visible{opacity:1;transform:scale(1)}.comparison-symbol{font-size:4rem;font-weight:800;color:gold;text-shadow:0 4px 15px rgba(255,215,0,.5);animation:symbolPulse 1s ease-in-out infinite}@keyframes symbolPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.letter-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.letter-display{display:flex;gap:20px;align-items:center}.big-letter{font-size:5rem;font-weight:800;color:#fff;text-shadow:0 5px 20px rgba(0,0,0,.3);transition:all .5s ease}.letter-lowercase{font-size:4rem;font-weight:600;color:#ffffffb3}.letter-animation.phase-glow .big-letter{text-shadow:0 0 30px rgba(255,215,0,.8),0 0 60px rgba(255,215,0,.5);color:gold}.letter-animation.phase-bounce .big-letter{animation:letterBounce .5s ease-in-out infinite}@keyframes letterBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.letter-example{font-size:1.5rem;color:#fff;background:#fff3;padding:10px 25px;border-radius:15px;animation:exampleSlide .5s ease-out}@keyframes exampleSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.word-animation{display:flex;justify-content:center;padding:30px}.word-letters{display:flex;gap:5px}.word-letter{font-size:3rem;font-weight:700;color:#fff;background:#fff3;padding:10px 15px;border-radius:12px;opacity:0;transform:translateY(30px) rotateX(90deg);transition:all .4s cubic-bezier(.34,1.56,.64,1)}.word-letter.visible{opacity:1;transform:translateY(0) rotateX(0)}.default-animation{position:absolute;inset:0;pointer-events:none;overflow:hidden}.floating-star,.floating-sparkle{position:absolute;font-size:2rem;animation:float 3s ease-in-out infinite}.star-1{top:10%;left:10%;animation-delay:0s}.star-2{top:30%;right:15%;animation-delay:.5s}.star-3{bottom:20%;left:20%;animation-delay:1s}.sparkle-1{top:50%;right:10%;animation-delay:.3s}.sparkle-2{bottom:30%;right:25%;animation-delay:.8s}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-20px) rotate(10deg);opacity:1}}.history-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.timeline{position:relative;display:flex;justify-content:space-around;width:100%;padding:20px 0}.timeline-line{position:absolute;top:50%;left:10%;right:10%;height:4px;background:#ffffff4d;transform:scaleX(0);transform-origin:left;transition:transform 1s ease-out}.timeline-line.visible{transform:scaleX(1)}.timeline-event{display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;transform:translateY(20px);transition:all .5s ease-out}.timeline-event.visible{opacity:1;transform:translateY(0)}.event-icon{font-size:2.5rem;background:#fff;padding:10px;border-radius:50%;box-shadow:0 4px 15px #0003}.event-label{font-size:.9rem;color:#fff;background:#0000004d;padding:4px 10px;border-radius:10px}.history-fact{display:flex;align-items:center;gap:10px;background:#fff3;padding:12px 20px;border-radius:15px;opacity:0;transform:translateY(20px);transition:all .5s ease-out}.history-fact.visible{opacity:1;transform:translateY(0)}.fact-icon{font-size:1.5rem}.fact-text{color:#fff;font-weight:500}.science-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px;position:relative}.science-beaker{width:100px;height:120px;background:#fff3;border-radius:0 0 20px 20px;border:4px solid rgba(255,255,255,.5);position:relative;overflow:hidden}.beaker-liquid{position:absolute;bottom:0;left:0;right:0;height:70%;background:linear-gradient(135deg,#4ade80,#22d3ee);border-radius:0 0 16px 16px}.science-bubble{position:absolute;background:#fff9;border-radius:50%;animation:bubbleRise 2s ease-in-out infinite}@keyframes bubbleRise{0%{bottom:0;opacity:1}to{bottom:100%;opacity:0}}.atom-orbit{position:absolute;top:10px;right:20px;width:80px;height:80px}.atom-nucleus{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem}.electron{position:absolute;width:10px;height:10px;background:gold;border-radius:50%;animation:orbit 2s linear infinite}.electron-1{animation-delay:0s}.electron-2{animation-delay:.66s}.electron-3{animation-delay:1.33s}@keyframes orbit{0%{top:0;left:50%}25%{top:50%;left:100%}50%{top:100%;left:50%}75%{top:50%;left:0}to{top:0;left:50%}}.science-result{display:flex;align-items:center;gap:10px;background:#fff;padding:12px 20px;border-radius:15px;opacity:0;transform:scale(.8);transition:all .5s ease-out}.science-result.visible{opacity:1;transform:scale(1)}.result-icon{font-size:1.5rem}.result-text{font-size:1.2rem;font-weight:700;color:#333}.social-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.globe-container{position:relative}.globe{font-size:5rem;animation:globeSpin 4s linear infinite}@keyframes globeSpin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.globe-ring{position:absolute;top:50%;left:50%;width:120px;height:120px;border:3px solid rgba(255,255,255,.5);border-radius:50%;transform:translate(-50%,-50%) rotateX(60deg);opacity:0;transition:opacity .5s ease}.globe-ring.visible{opacity:1}.community-icons{display:flex;gap:15px;opacity:0;transform:translateY(20px);transition:all .5s ease-out}.community-icons.visible{opacity:1;transform:translateY(0)}.community-icon{font-size:2rem;animation:iconBounce 1s ease-in-out infinite}.icon-1{animation-delay:0s}.icon-2{animation-delay:.1s}.icon-3{animation-delay:.2s}.icon-4{animation-delay:.3s}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.social-answer{background:#fff;padding:12px 25px;border-radius:15px;font-size:1.3rem;font-weight:700;color:#333;opacity:0;transition:opacity .5s ease}.social-answer.visible{opacity:1}.art-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.canvas{position:relative;width:200px;height:150px;background:#fff;border-radius:10px;box-shadow:0 5px 20px #0003;overflow:hidden}.paint-splash{position:absolute;width:50px;height:50px;border-radius:50%;transform:scale(0);animation:splashIn .5s ease-out forwards}@keyframes splashIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:.8}}.art-tools{display:flex;gap:15px}.art-tool{font-size:2rem;animation:toolWiggle 1s ease-in-out infinite}.art-tool.brush{animation-delay:0s}.art-tool.palette{animation-delay:.2s}.art-tool.pencil{animation-delay:.4s}@keyframes toolWiggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.art-answer{background:linear-gradient(135deg,#ff6b6b,#4ecdc4);padding:12px 25px;border-radius:15px;color:#fff;font-size:1.3rem;font-weight:700}.music-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.music-staff{display:flex;gap:20px;padding:20px}.music-note{font-size:2.5rem;opacity:0;transform:translateY(30px);transition:all .4s ease-out}.music-note.visible{opacity:1;transform:translateY(0);animation:noteBounce 1s ease-in-out infinite}.note-1{animation-delay:0s}.note-2{animation-delay:.1s}.note-3{animation-delay:.2s}.note-4{animation-delay:.3s}.note-5{animation-delay:.4s}@keyframes noteBounce{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-15px) rotate(5deg)}}.instruments{display:flex;gap:20px}.instrument{font-size:2rem;animation:instrumentPulse 1.5s ease-in-out infinite}.piano{animation-delay:0s}.guitar{animation-delay:.3s}.drum{animation-delay:.6s}@keyframes instrumentPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.music-answer{background:linear-gradient(135deg,#667eea,#764ba2);padding:12px 25px;border-radius:15px;color:#fff;font-size:1.3rem;font-weight:700}.pe-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.exercise-figure{background:#fff3;padding:20px 30px;border-radius:50%}.figure-pose{font-size:4rem}.health-icons{display:flex;gap:15px}.health-icon{font-size:2rem;animation:healthPulse 1.5s ease-in-out infinite}.heart{animation-delay:0s}.apple{animation-delay:.2s}.water{animation-delay:.4s}.sleep{animation-delay:.6s}@keyframes healthPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.pe-answer{background:linear-gradient(135deg,#4ade80,#22d3ee);padding:12px 25px;border-radius:15px;color:#fff;font-size:1.3rem;font-weight:700}.writing-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.writing-paper{position:relative;width:250px;padding:20px;background:#fff;border-radius:10px;box-shadow:0 5px 20px #00000026}.paper-lines{position:absolute;top:20px;left:20px;right:20px}.paper-line{height:1px;background:#ddd;margin-bottom:25px}.written-text{position:relative;z-index:1;display:flex;flex-wrap:wrap;font-size:1.5rem;font-family:Comic Sans MS,cursive;color:#333}.written-char{opacity:0;transition:opacity .2s ease}.written-char.visible{opacity:1}.writing-pencil{position:absolute;bottom:10px;right:10px;font-size:2rem;transition:transform .1s ease}.writing-pencil.writing{animation:pencilWrite .3s ease-in-out infinite}@keyframes pencilWrite{0%,to{transform:rotate(-10deg) translate(0)}50%{transform:rotate(-5deg) translate(5px)}}.writing-tools{display:flex;gap:15px}.writing-tools .tool{font-size:1.8rem}.tech-animation{display:flex;flex-direction:column;align-items:center;gap:20px;padding:20px}.computer{display:flex;flex-direction:column;align-items:center}.computer-screen{width:200px;height:130px;background:#1a1a2e;border-radius:10px 10px 0 0;border:4px solid #333;padding:15px;overflow:hidden}.screen-content{opacity:0;transition:opacity .5s ease}.screen-content.visible{opacity:1}.code-line{font-family:Courier New,monospace;font-size:.9rem;color:#4ade80;margin-bottom:8px}.code-line.highlight{color:gold;font-size:1.1rem;font-weight:700}.cursor{color:#4ade80;animation:cursorBlink 1s step-end infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.computer-base{width:80px;height:20px;background:#333;border-radius:0 0 5px 5px}.tech-icons{display:flex;gap:15px}.tech-icon{font-size:2rem;animation:techFloat 2s ease-in-out infinite}.tech-icon:nth-child(1){animation-delay:0s}.tech-icon:nth-child(2){animation-delay:.3s}.tech-icon:nth-child(3){animation-delay:.6s}@keyframes techFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.spanish-animation{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px}.spanish-flag{width:100px;height:60px;border-radius:8px;overflow:hidden;box-shadow:0 4px 15px #0003;display:flex;flex-direction:column}.flag-stripe{flex:1}.flag-stripe.red{background:#c60b1e}.flag-stripe.yellow{background:#ffc400;flex:2}.spanish-greeting{font-size:1.8rem;font-weight:700;color:#fff;animation:greetingPulse 2s ease-in-out infinite}@keyframes greetingPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.spanish-word{display:flex;align-items:center;gap:15px;background:#fff;padding:15px 25px;border-radius:15px;opacity:0;transform:translateY(20px);transition:all .5s ease-out}.spanish-word.visible{opacity:1;transform:translateY(0)}.word-spanish{font-size:1.8rem;font-weight:700;color:#c60b1e}.speak-button{background:linear-gradient(135deg,#ffc400,#ff9500);border:none;padding:10px 15px;border-radius:50%;font-size:1.5rem;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 10px #ffc40066}.speak-button:hover{transform:scale(1.1)}.speak-button.playing{animation:speakerPulse .5s ease-in-out infinite}@keyframes speakerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.listen-hint{margin-top:5px}.hint-text{font-size:.9rem;color:#fffc;font-style:italic}.spanish-icons{display:flex;gap:15px}.spanish-icon{font-size:2rem;animation:spanishBounce 1.5s ease-in-out infinite}.spanish-icon:nth-child(1){animation-delay:0s}.spanish-icon:nth-child(2){animation-delay:.2s}.spanish-icon:nth-child(3){animation-delay:.4s}@keyframes spanishBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media(max-width:600px){.animated-teaching-session{padding:15px;min-height:300px;border-radius:20px}.teacher-avatar-animated{font-size:2.5rem}.speech-bubble{padding:10px 15px}.teacher-says{font-size:1rem}.step-icon{font-size:1.3rem}.step-text{font-size:1rem}.answer-value,.counting-item .item-emoji{font-size:2rem}.addition-item{font-size:1.5rem}.result-number{font-size:2rem}.big-letter{font-size:4rem}.letter-lowercase{font-size:3rem}.word-letter{font-size:2rem;padding:8px 12px}.comparison-block{width:30px;height:20px}.comparison-number{font-size:1.5rem;padding:6px 15px}.comparison-symbol{font-size:3rem}}@media(min-width:601px)and (max-width:900px){.animated-teaching-session{padding:18px}.teacher-avatar-animated{font-size:2.8rem}.answer-value{font-size:2.2rem}}.pricing-page{min-height:100vh;background:var(--bg-dark);padding-top:60px}.pricing-container{max-width:1200px;margin:0 auto;padding:var(--space-xl)}.pricing-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:var(--space-lg)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pricing-header{text-align:center;margin-bottom:var(--space-2xl)}.pricing-header h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#818cf8,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-md)}.pricing-header p{color:var(--text-secondary);font-size:1.1rem}.pricing-auth-buttons{margin-top:var(--space-lg)}.pricing-auth-buttons .btn-login{background:transparent;border:2px solid var(--primary);color:var(--text-primary);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-full);font-weight:600;cursor:pointer;transition:all .2s ease}.pricing-auth-buttons .btn-login:hover{background:var(--primary);color:#fff}.pricing-message{padding:var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);text-align:center;font-weight:500}.pricing-message.success{background:#22c55e1a;border:1px solid var(--secondary);color:var(--secondary)}.pricing-message.error{background:#ef44441a;border:1px solid var(--accent-red);color:var(--accent-red)}.pricing-message.info{background:#6366f11a;border:1px solid var(--primary);color:var(--primary-light)}.subscription-banner{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-2xl);border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-lg)}.subscription-info{display:flex;align-items:center;gap:var(--space-lg)}.status-badge{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;text-transform:uppercase}.status-badge.status-trialing{background:#fbbf2433;color:var(--accent-yellow)}.status-badge.status-active{background:#22c55e33;color:var(--secondary)}.status-badge.status-canceled{background:#ef444433;color:var(--accent-red)}.status-badge.status-past_due{background:#f9731633;color:var(--text-primary)}.status-badge.status-school{background:#3b82f633;color:var(--accent-blue)}.school-plan-badge{padding:var(--space-sm) var(--space-lg);background:#22c55e26;border:2px solid var(--secondary);border-radius:var(--radius-lg);color:var(--secondary);font-weight:600;font-size:.9rem}.subscription-details h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:var(--space-xs)}.subscription-details p{color:var(--text-secondary);font-size:.9rem}.subscription-details .cancel-notice{color:var(--text-primary);font-style:italic}.btn-manage-billing{padding:var(--space-md) var(--space-xl);background:transparent;border:2px solid var(--primary);border-radius:var(--radius-lg);color:var(--primary);font-weight:600;cursor:pointer;transition:all .2s}.btn-manage-billing:hover{background:var(--primary);color:#fff}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-xl);margin-bottom:var(--space-2xl)}.plans-grid.single-plan{display:flex;justify-content:center;max-width:500px;margin:0 auto var(--space-2xl) auto}.plans-grid.single-plan .plan-card{width:100%;border-color:#9333ea;background:linear-gradient(to bottom,rgba(147,51,234,.1),var(--bg-card))}.plans-grid.single-plan .plan-card .plan-header h2{color:#a855f7}.plans-grid.single-plan .plan-features li{padding:var(--space-sm) 0;display:flex;align-items:flex-start;gap:var(--space-sm)}.plans-grid.single-plan .feature-check{font-size:1.1rem;min-width:24px}.plans-grid.two-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);max-width:900px;margin:0 auto var(--space-2xl) auto}@media(max-width:768px){.plans-grid.two-plans{grid-template-columns:1fr;max-width:450px}}.plan-card.free-plan{border-color:var(--secondary);background:linear-gradient(to bottom,rgba(34,197,94,.1),var(--bg-card))}.plan-card.free-plan .plan-header h2{color:var(--secondary)}.free-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--secondary);color:#fff;padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);font-size:.85rem;font-weight:700;white-space:nowrap}.plans-grid.two-plans .plan-features li{padding:var(--space-sm) 0;display:flex;align-items:flex-start;gap:var(--space-sm)}.plans-grid.two-plans .feature-check{font-size:1rem;min-width:20px;color:var(--secondary)}.plan-card{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-xl);border:2px solid var(--border-color);position:relative;transition:all .3s ease;display:flex;flex-direction:column}.plan-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 10px 40px #6366f133}.plan-card.popular{border-color:var(--primary);background:linear-gradient(to bottom,rgba(99,102,241,.1),var(--bg-card))}.plan-card.current{border-color:var(--secondary)}.popular-badge,.current-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-full);font-size:.75rem;font-weight:700;text-transform:uppercase}.popular-badge{background:linear-gradient(135deg,var(--primary),var(--accent-pink));color:#fff}.current-badge{background:var(--secondary);color:#fff}.plan-header{text-align:center;margin-bottom:var(--space-xl)}.plan-header h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:var(--space-sm)}.plan-description{color:var(--text-secondary);font-size:.9rem}.plan-price{text-align:center;margin-bottom:var(--space-xl);padding:var(--space-lg) 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.price-amount{font-size:3rem;font-weight:800;color:var(--text-primary)}.price-period{font-size:1rem;color:var(--text-muted)}.plan-features{list-style:none;margin-bottom:var(--space-xl);flex:1}.plan-features li{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-sm) 0;color:var(--text-secondary)}.feature-check{color:var(--secondary);font-weight:700;flex-shrink:0}.btn-subscribe{width:100%;padding:var(--space-lg);background:var(--bg-card-hover);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s}.btn-subscribe:hover:not(:disabled){border-color:var(--primary);background:#6366f11a}.btn-subscribe.primary{background:linear-gradient(135deg,var(--primary),var(--accent-pink));border:none;color:#fff}.btn-subscribe.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #6366f166}.btn-subscribe:disabled{opacity:.6;cursor:not-allowed}.trial-note{text-align:center;color:var(--text-muted);font-size:.8rem;margin-top:var(--space-md)}.trial-note-box{background:#22c55e1a;border:2px solid var(--secondary);border-radius:var(--radius-lg);padding:var(--space-md);margin-top:var(--space-lg);text-align:center}.trial-note-highlight{font-size:1.1rem;font-weight:700;color:var(--secondary);margin-bottom:var(--space-xs)}.trial-note-detail{font-size:.85rem;color:var(--text-secondary)}.plan-disclaimer{text-align:center;color:var(--text-muted);font-size:.75rem;margin-top:var(--space-lg);font-style:italic;padding-top:var(--space-md);border-top:1px solid var(--border-color)}.free-trial-banner{background:linear-gradient(135deg,#22c55e26,#4ade801a);border:2px solid var(--secondary);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-2xl);display:flex;align-items:center;gap:var(--space-xl)}.trial-banner-icon{font-size:3.5rem;flex-shrink:0}.trial-banner-content h2{font-size:1.5rem;color:var(--secondary);margin-bottom:var(--space-sm)}.trial-banner-content>p{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--space-md)}.trial-banner-content strong{color:var(--text-primary)}.trial-banner-points{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-xl)}.trial-banner-points li{color:var(--secondary);font-weight:600;font-size:.95rem}@media(max-width:768px){.free-trial-banner{flex-direction:column;text-align:center;padding:var(--space-lg)}.trial-banner-points{flex-direction:column;align-items:center;gap:var(--space-sm)}}.pricing-faq{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-2xl);border:1px solid var(--border-color)}.pricing-faq h2{text-align:center;font-size:1.75rem;color:var(--text-primary);margin-bottom:var(--space-xl)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl)}.faq-item h3{font-size:1rem;color:var(--text-primary);margin-bottom:var(--space-sm)}.faq-item p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.free-learning-banner{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border:2px solid var(--primary);border-radius:var(--radius-xl);padding:var(--space-xl);margin-bottom:var(--space-xl);display:flex;align-items:center;gap:var(--space-xl)}.free-learning-icon{font-size:3.5rem;flex-shrink:0}.free-learning-content h2{font-size:1.5rem;background:linear-gradient(135deg,var(--primary),var(--accent-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-sm);-webkit-text-stroke:1px black}.free-learning-content>p{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--space-md)}.free-learning-points{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-sm)}.free-learning-points li{color:#ea580c;font-weight:500;font-size:.9rem}@media(max-width:768px){.free-learning-banner{flex-direction:column;text-align:center;padding:var(--space-lg)}.free-learning-points{grid-template-columns:1fr;justify-items:center}}.pricing-comparison{background:var(--bg-card);border-radius:var(--radius-xl);padding:var(--space-2xl);margin-bottom:var(--space-2xl);border:1px solid var(--border-color)}.pricing-comparison h2{text-align:center;font-size:1.75rem;color:var(--text-primary);margin-bottom:var(--space-xl)}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-xl)}.comparison-column{background:var(--bg-dark);border-radius:var(--radius-lg);padding:var(--space-xl);border:2px solid var(--border-color)}.comparison-column.free{border-color:var(--primary);background:linear-gradient(to bottom,rgba(99,102,241,.1),var(--bg-dark))}.comparison-column.free h3{color:var(--primary-light)}.comparison-column.paid{border-color:var(--secondary);background:linear-gradient(to bottom,rgba(34,197,94,.1),var(--bg-dark))}.comparison-column.paid h3{color:var(--secondary)}.comparison-column h3{font-size:1.25rem;margin-bottom:var(--space-xs);text-align:center}.comparison-subtitle{text-align:center;color:var(--text-muted);font-size:.85rem;margin-bottom:var(--space-sm)}.comparison-used-by{text-align:center;color:var(--text-secondary);font-size:.8rem;font-style:italic;margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-color)}.comparison-column ul{list-style:none}.comparison-column ul li{padding:var(--space-sm) 0;color:var(--text-secondary);font-size:.9rem}.comparison-column.free ul li{color:var(--text-primary)}.comparison-description{text-align:center;color:var(--text-secondary);font-size:.9rem;margin-bottom:var(--space-lg);font-style:italic}.feature-group{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid rgba(255,255,255,.1)}.feature-group:last-child{border-bottom:none;margin-bottom:0}.feature-group h4{font-size:1rem;color:var(--secondary);margin-bottom:var(--space-sm);font-weight:600}.feature-group ul{margin-left:var(--space-md)}.feature-group ul li{padding:var(--space-xs) 0;font-size:.85rem;color:var(--text-secondary)}.comparison-column.paid{border-color:#9333ea;background:linear-gradient(to bottom,rgba(147,51,234,.15),var(--bg-dark))}.comparison-column.paid h3{color:#a855f7}@media(max-width:768px){.pricing-container{padding:var(--space-lg)}.pricing-header h1{font-size:2rem}.subscription-banner{flex-direction:column;text-align:center}.subscription-info{flex-direction:column}.plans-grid,.faq-grid,.comparison-grid{grid-template-columns:1fr}}.navbar{position:fixed;top:0;left:0;right:0;height:calc(70px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--bg-card);border-bottom:1px solid var(--border-color);z-index:1000}.navbar-content{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:1400px;margin:0 auto;padding:0 var(--space-lg)}.navbar-left{display:flex;align-items:center}.navbar-logo{display:flex;align-items:center;gap:var(--space-sm);background:none;border:none;cursor:pointer;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);transition:background-color .2s}.navbar-logo:hover{background:var(--bg-card-hover)}.logo-icon{font-size:1.5rem}.logo-text{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light),var(--accent-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-center{display:flex;align-items:center;gap:var(--space-sm)}.nav-link{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:none;border:none;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-base);font-weight:600;cursor:pointer;transition:all .2s}.nav-link:hover{background:var(--bg-card-hover);color:var(--text-primary)}.nav-link.active{background:#6366f126;color:var(--primary-light)}.child-selector-container{position:relative;margin-left:var(--space-md)}.child-selector-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--bg-card-hover);border:2px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s}.child-selector-btn:hover{border-color:var(--primary)}.child-selector-btn .child-avatar{font-size:1.25rem}.child-selector-btn .dropdown-arrow{font-size:.6rem;color:var(--text-muted);transition:transform .2s}.child-selector-menu{position:absolute;top:calc(100% + var(--space-sm));left:50%;transform:translate(-50%);min-width:200px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0006;overflow:hidden;animation:dropdownFade .15s ease-out}.menu-label{padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.child-option{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:none;border:none;color:var(--text-primary);font-size:var(--text-base);cursor:pointer;transition:background-color .15s}.child-option:hover{background:var(--bg-card-hover)}.child-option.active{background:#6366f126}.child-option .child-avatar{font-size:1.5rem}.child-option .check-mark{margin-left:auto;color:var(--secondary);font-weight:700}.navbar-right{position:relative;display:flex;align-items:center;gap:var(--space-md)}.navbar-stars{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-full)}.navbar-stars .stars-icon{font-size:1rem}.navbar-stars .stars-count{font-size:var(--text-sm);font-weight:700;color:var(--accent-yellow);min-width:1.25rem;text-align:center}.account-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-card-hover);border:2px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all .2s}.account-btn:hover{border-color:var(--primary)}.account-avatar{font-size:1.25rem}.account-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:.6rem;color:var(--text-muted);transition:transform .2s}.account-menu{position:absolute;top:calc(100% + var(--space-sm));right:0;min-width:220px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0006;overflow:hidden;animation:dropdownFade .15s ease-out}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.menu-profile{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-card-hover)}.profile-avatar{font-size:2rem}.profile-info{display:flex;flex-direction:column}.profile-name{font-size:var(--text-base);font-weight:700;color:var(--text-primary)}.profile-role{font-size:var(--text-sm);color:var(--text-muted)}.menu-divider{height:1px;background:var(--border-color)}.menu-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);background:none;border:none;color:var(--text-primary);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:background-color .15s;text-align:left}.menu-item:hover{background:var(--bg-card-hover)}.menu-item-danger:hover{background:#ef444426;color:var(--accent-red)}.menu-icon{font-size:1.1rem;width:24px;text-align:center}@media(max-width:768px){.navbar{height:calc(56px + env(safe-area-inset-top,0px))}.navbar-content{padding:0 var(--space-sm)}.logo-text{display:none}.logo-icon{font-size:1.25rem}.navbar-logo{padding:var(--space-xs)}.account-name{display:none}.nav-link{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}.child-selector-btn .child-name{display:none}.navbar-right{gap:var(--space-xs)}.navbar-stars{padding:4px 8px}.navbar-stars .stars-icon{font-size:.875rem}.navbar-stars .stars-count{font-size:var(--text-xs)}.account-btn{padding:var(--space-xs) var(--space-sm)}.account-avatar{font-size:1.1rem}}@media(max-width:480px){.navbar{height:calc(50px + env(safe-area-inset-top,0px))}.navbar-center{gap:2px}.nav-link{padding:4px 6px;font-size:.75rem}.child-selector-container,.navbar-stars{display:none}}
