@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap";:root{--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-gradient: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--secondary-400: #fcd34d;--secondary-500: #fbbf24;--secondary-600: #f59e0b;--secondary-gradient: linear-gradient(135deg, #fde047 0%, #fbbf24 100%);--accent-teal: #14b8a6;--accent-pink: #f472b6;--accent-yellow: #fbbf24;--accent-green: #22c55e;--gray-50: #fafafa;--gray-100: #f4f4f5;--gray-200: #e4e4e7;--gray-300: #d4d4d8;--gray-400: #a1a1aa;--gray-500: #71717a;--gray-600: #52525b;--gray-700: #3f3f46;--gray-800: #27272a;--gray-900: #18181b;--bg-primary: #fffbeb;--bg-secondary: #fef3c7;--bg-card: #ffffff;--bg-gradient: linear-gradient(180deg, #fffbeb 0%, #fef3c7 50%, #f0f9ff 100%);--font-family: "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-colored: 0 10px 30px -10px rgba(59, 130, 246, .3);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--gray-800);background:var(--bg-gradient);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:800;line-height:1.2;color:var(--gray-900)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-4)}a{color:var(--primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--primary-500);outline-offset:2px}input,textarea,select{font-family:inherit;font-size:var(--font-size-base);border:2px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--bg-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a;outline:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-fadeIn{animation:fadeIn .5s ease}.animate-slideUp{animation:slideUp .5s ease}.animate-bounce{animation:bounce 2s infinite}.animate-pulse{animation:pulse 2s infinite}.animate-wiggle{animation:wiggle 1s infinite}.animate-float{animation:float 3s ease-in-out infinite}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}}.emoji-decoration{position:absolute;font-size:2rem;animation:float 3s ease-in-out infinite;pointer-events:none}.spinner{width:40px;height:40px;border:4px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family);font-weight:700;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-bounce);border:none;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-md{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-colored)}.btn-primary:hover:not(:disabled){box-shadow:0 15px 35px -10px #3b82f666}.btn-secondary{background:var(--secondary-gradient);color:var(--gray-900);box-shadow:0 10px 30px -10px #fbbf244d}.btn-secondary:hover:not(:disabled){box-shadow:0 15px 35px -10px #fbbf2466}.btn-outline{background:transparent;color:var(--primary-600);border:2px solid var(--primary-500)}.btn-outline:hover:not(:disabled){background:var(--primary-500);color:#fff}.btn-ghost{background:transparent;color:var(--gray-700)}.btn-ghost:hover:not(:disabled){background:var(--gray-100)}.btn-full{width:100%}.btn-icon-left,.btn-icon-right{display:flex;align-items:center}.btn-spinner{width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.landing{min-height:100vh}.landing-nav{padding:var(--space-4) 0;position:sticky;top:0;background:#fefce8e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}.nav-content{display:flex;align-items:center;justify-content:space-between}.logo-icon{font-size:2rem}.nav-actions{display:flex;align-items:center;gap:var(--space-3)}.hero{padding:var(--space-16) 0;overflow:hidden}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.hero-title{font-size:var(--font-size-5xl);line-height:1.1;margin-bottom:var(--space-6)}.hero-subtitle{font-size:var(--font-size-xl);color:var(--gray-600);margin-bottom:var(--space-8)}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-illustration{position:relative;width:400px;height:400px}.hero-circle{width:100%;height:100%;border-radius:50%;background:var(--primary-gradient);opacity:.1}.hero-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;object-fit:contain;animation:pulse 2s ease-in-out infinite;z-index:1}.floating-emoji{position:absolute;font-size:4rem;animation:float 3s ease-in-out infinite}.emoji-1{top:10%;left:0;animation-delay:0s}.emoji-2{top:0;right:10%;animation-delay:.5s}.emoji-3{bottom:10%;left:10%;animation-delay:1s}.emoji-4{bottom:20%;right:0;animation-delay:1.5s}.features{padding:var(--space-20) 0;background:#fff}.features-title{text-align:center;margin-bottom:var(--space-12)}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.feature-card{padding:var(--space-8);border-radius:var(--radius-xl);text-align:center;transition:transform var(--transition-bounce)}.feature-card:hover{transform:translateY(-8px)}.feature-icon{font-size:4rem;margin-bottom:var(--space-4)}.feature-card h3{margin-bottom:var(--space-3);font-size:var(--font-size-2xl)}.feature-card p{color:var(--gray-600)}.feature-reading{background:linear-gradient(135deg,#3b82f61a,#2563eb0d)}.feature-counting{background:linear-gradient(135deg,#fbbf2426,#f59e0b1a)}.feature-cognitive{background:linear-gradient(135deg,#14b8a61a,#0d94880d)}.benefits{padding:var(--space-16) 0}.benefits-content{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.benefit-item{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-6);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.benefit-icon{font-size:2.5rem;flex-shrink:0}.benefit-item h4{margin-bottom:var(--space-2);font-size:var(--font-size-lg)}.benefit-item p{color:var(--gray-600);margin:0;font-size:var(--font-size-sm)}.cta{padding:var(--space-20) 0;background:var(--primary-gradient)}.cta-content{text-align:center;color:#fff}.cta-content h2{color:#fff;margin-bottom:var(--space-4)}.cta-content p{font-size:var(--font-size-lg);opacity:.9;margin-bottom:var(--space-8)}.landing-footer{padding:var(--space-8) 0;background:var(--gray-900);color:#fff}.footer-content{display:flex;align-items:center;justify-content:space-between}.footer-content p{margin:0;color:var(--gray-400)}.landing-footer .logo-text{color:#fff}@media(max-width:1024px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-actions{justify-content:center}.hero-visual{display:none}.features-grid,.benefits-content{grid-template-columns:1fr}}@media(max-width:640px){.hero-title{font-size:var(--font-size-3xl)}.nav-actions .btn-ghost{display:none}.footer-content{flex-direction:column;gap:var(--space-4);text-align:center}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6)}.auth-container{position:relative;width:100%;max-width:440px}.auth-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-8);animation:slideUp .5s ease}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);text-decoration:none}.auth-logo .logo-img{width:48px;height:48px;object-fit:contain}.auth-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.auth-header p{color:var(--gray-500);margin:0}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group label{font-weight:600;font-size:var(--font-size-sm);color:var(--gray-700)}.form-group input,.form-group select{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);border:2px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-group input::placeholder{color:var(--gray-400)}.auth-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:var(--font-size-sm)}.auth-footer{margin-top:var(--space-6);text-align:center;padding-top:var(--space-6);border-top:1px solid var(--gray-100)}.auth-footer p{margin:0;color:var(--gray-600)}.auth-footer a{color:var(--primary-600);font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-decoration{position:absolute;inset:0;pointer-events:none;z-index:-1}.deco-emoji{position:absolute;font-size:2.5rem;animation:float 4s ease-in-out infinite;opacity:.6}.deco-1{top:-30px;left:-20px;animation-delay:0s}.deco-2{top:50%;right:-30px;animation-delay:1s}.deco-3{bottom:-20px;left:30%;animation-delay:2s}@media(max-width:480px){.auth-card{padding:var(--space-6)}.auth-header h1{font-size:var(--font-size-xl)}}.card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.card-default{box-shadow:var(--shadow-md)}.card-elevated{box-shadow:var(--shadow-xl)}.card-colored{border:3px solid transparent}.card-hoverable{cursor:pointer}.card-hoverable:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.card-purple{background:linear-gradient(135deg,#3b82f61a,#2563eb1a);border-color:var(--primary-500)}.card-orange{background:linear-gradient(135deg,#fb923c1a,#f973161a);border-color:var(--secondary-500)}.card-teal{background:linear-gradient(135deg,#14b8a61a,#0d94881a);border-color:var(--accent-teal)}.card-pink{background:linear-gradient(135deg,#ec48991a,#db27771a);border-color:var(--accent-pink)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--gray-100)}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--gray-100);background:var(--gray-50)}.dashboard{min-height:100vh;background:var(--bg-gradient)}.dashboard-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4)}.dashboard-header{background:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0}.header-right{display:flex;align-items:center;gap:var(--space-4)}.user-greeting{color:var(--gray-600);font-weight:600}.dashboard-main{padding:var(--space-8) 0}.dashboard-main section{margin-bottom:var(--space-10)}.dashboard-main h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-6)}.child-selector{display:flex;gap:var(--space-4);overflow-x:auto;padding:var(--space-2);margin:0 calc(-1 * var(--space-2))}.child-avatar-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);border:3px solid transparent;border-radius:var(--radius-xl);background:#fff;cursor:pointer;transition:all var(--transition-bounce);min-width:120px}.child-avatar-btn:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.child-avatar-btn.active{border-color:var(--primary-500);background:linear-gradient(135deg,#7c3aed0d,#4f46e50d)}.child-avatar{font-size:3rem;width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:var(--gray-100);border-radius:50%}.child-name{font-weight:700;color:var(--gray-800)}.child-age{font-size:var(--font-size-sm);color:var(--gray-500)}.add-child-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);border:3px dashed var(--gray-300);border-radius:var(--radius-xl);background:transparent;cursor:pointer;min-width:120px;color:var(--gray-500);font-weight:600;transition:all var(--transition-fast)}.add-child-btn:hover{border-color:var(--primary-400);color:var(--primary-600);background:#7c3aed0d}.add-child-btn span:first-child{font-size:2rem}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.stat-card{display:flex;align-items:center;gap:var(--space-4)}.stat-icon{font-size:2.5rem}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-2xl);font-weight:800;color:var(--gray-900)}.stat-label{font-size:var(--font-size-sm);color:var(--gray-600)}.actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.action-card{text-align:center;padding:var(--space-6)}.action-card .card-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.action-icon{font-size:4rem}.action-card h3{margin:0;font-size:var(--font-size-xl)}.action-card p{margin:0;color:var(--gray-600);font-size:var(--font-size-sm)}.action-reading{background:linear-gradient(135deg,#3b82f61a,#2563eb0d)}.action-counting{background:linear-gradient(135deg,#fbbf2426,#f59e0b1a)}.action-cognitive{background:linear-gradient(135deg,#14b8a61a,#0d94880d)}.level-info{display:flex;align-items:center;gap:var(--space-4)}.level-badge{background:var(--primary-gradient);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:700;white-space:nowrap}.level-progress{flex:1;height:12px;background:var(--gray-200);border-radius:var(--radius-full);overflow:hidden}.level-progress-bar{height:100%;background:var(--secondary-gradient);border-radius:var(--radius-full);transition:width .5s ease}.level-text{color:var(--gray-600);font-size:var(--font-size-sm);white-space:nowrap}.no-children{display:flex;justify-content:center;padding:var(--space-20) 0}.no-children-content{text-align:center;max-width:400px}.no-children-icon{font-size:6rem;display:block;margin-bottom:var(--space-6)}.no-children h2{margin-bottom:var(--space-3)}.no-children p{color:var(--gray-600);margin-bottom:var(--space-8)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4);animation:fadeIn .2s ease}.modal{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:400px;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--gray-100)}.modal-header h2{margin:0;font-size:var(--font-size-xl)}.modal-close{background:none;border:none;font-size:var(--font-size-xl);color:var(--gray-500);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-full);transition:all var(--transition-fast)}.modal-close:hover{background:var(--gray-100);color:var(--gray-700)}.modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.modal-error{padding:var(--space-3);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:var(--font-size-sm)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--gray-100)}.logo{display:flex;align-items:center;gap:var(--space-2)}.logo-img{width:40px;height:40px;object-fit:contain}.logo-text{font-size:var(--font-size-xl);font-weight:800;color:var(--primary-600)}.child-avatar-btn.active{border-color:var(--primary-500);background:linear-gradient(135deg,#3b82f60d,#2563eb0d)}.add-child-btn:hover{border-color:var(--primary-400);color:var(--primary-600);background:#3b82f60d}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.actions-grid{grid-template-columns:1fr}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.level-info{flex-direction:column;text-align:center}.level-progress{width:100%}.user-greeting{display:none}}.module-list-page{min-height:100vh;background:var(--bg-gradient)}.module-list-header{background:#fff;box-shadow:var(--shadow-sm);padding:var(--space-4) 0}.module-list-header .header-content{display:flex;align-items:center;gap:var(--space-4)}.module-list-header h1{margin:0;font-size:var(--font-size-2xl)}.module-list-main{padding:var(--space-8) 0}.type-filter{display:flex;gap:var(--space-3);margin-bottom:var(--space-8);overflow-x:auto;padding:var(--space-2)}.filter-btn{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-full);padding:var(--space-2) var(--space-5);font-weight:600;font-size:var(--font-size-sm);color:var(--gray-600);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.filter-btn:hover{border-color:var(--primary-400);color:var(--primary-600)}.filter-btn.active{background:var(--primary-gradient);border-color:transparent;color:#fff}.modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.module-card{cursor:pointer;position:relative}.module-card .card-body{display:flex;flex-direction:column;gap:var(--space-3)}.module-icon{font-size:3rem}.module-card h3{margin:0;font-size:var(--font-size-lg)}.module-description{color:var(--gray-600);font-size:var(--font-size-sm);margin:0;flex:1}.module-meta{display:flex;gap:var(--space-3);font-size:var(--font-size-sm)}.difficulty{font-weight:600;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.difficulty.easy{background:#22c55e1a;color:#16a34a}.difficulty.medium{background:#fbbf241a;color:#d97706}.difficulty.hard{background:#ef44441a;color:#dc2626}.duration{color:var(--gray-500)}.premium-badge{position:absolute;top:var(--space-3);right:var(--space-3);background:var(--secondary-gradient);color:var(--gray-900);font-size:var(--font-size-xs);font-weight:700;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.module-reading{border-left:4px solid var(--primary-500)}.module-counting{border-left:4px solid var(--secondary-500)}.module-cognitive{border-left:4px solid var(--accent-teal)}.loading-state,.empty-state{text-align:center;padding:var(--space-16) 0}.loading-state .spinner{margin:0 auto var(--space-4)}.empty-icon{font-size:4rem;display:block;margin-bottom:var(--space-4)}.empty-state h2{margin-bottom:var(--space-2)}.empty-state p{color:var(--gray-600)}@media(max-width:640px){.modules-grid{grid-template-columns:1fr}.module-list-header h1{font-size:var(--font-size-xl)}}.match-question-container{display:flex;justify-content:space-between;gap:var(--space-8);width:100%;max-width:800px;margin:0 auto;padding:var(--space-4)}.match-column{display:flex;flex-direction:column;gap:var(--space-4);flex:1}.match-item{background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center;cursor:pointer;font-size:var(--font-size-lg);font-weight:500;transition:all .2s ease;-webkit-user-select:none;user-select:none;min-height:80px;display:flex;align-items:center;justify-content:center}.match-item:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.match-item.selected{border-color:var(--primary-color);background-color:var(--primary-50);box-shadow:0 0 0 2px var(--primary-100);transform:scale(1.02)}.match-item.matched{border-color:var(--success-500);background-color:var(--success-50);color:var(--success-700);cursor:default;opacity:.7}.match-item.wrong{border-color:var(--error-500);background-color:var(--error-50);animation:shake .4s cubic-bezier(.36,.07,.19,.97) both}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@media(max-width:640px){.match-question-container{gap:var(--space-4)}.match-item{font-size:var(--font-size-base);padding:var(--space-3);min-height:60px}}.learning-module{min-height:100vh;background:var(--bg-gradient);display:flex;flex-direction:column}.module-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:#fff;box-shadow:var(--shadow-sm)}.back-btn{background:none;border:none;font-size:var(--font-size-base);font-weight:600;color:var(--gray-600);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:all var(--transition-fast)}.back-btn:hover{background:var(--gray-100);color:var(--gray-800)}.module-info{text-align:center}.module-info h1{font-size:var(--font-size-xl);margin:0;color:var(--gray-900)}.module-info span{font-size:var(--font-size-sm);color:var(--gray-500)}.module-score{display:flex;align-items:center;gap:var(--space-2);background:var(--secondary-gradient);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:700;color:var(--gray-900)}.score-icon{font-size:var(--font-size-lg)}.progress-container{position:relative;height:8px;background:var(--gray-200)}.progress-bar{height:100%;background:var(--primary-gradient);transition:width .3s ease}.progress-text{position:absolute;right:var(--space-4);top:12px;font-size:var(--font-size-sm);color:var(--gray-500);font-weight:600}.module-container{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-6);gap:var(--space-6);max-width:600px;margin:0 auto;width:100%}.question-card{width:100%;text-align:center}.question-content{padding:var(--space-4)}.question-instruction{font-size:var(--font-size-lg);color:var(--gray-600);margin-bottom:var(--space-6)}.question-image{font-size:6rem;line-height:1;margin-bottom:var(--space-4);animation:pulse 2s infinite}.streak-badge{display:inline-block;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-weight:700;font-size:var(--font-size-sm);animation:bounce .5s ease}.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);width:100%}.answer-btn{background:#fff;border:3px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-6);font-size:var(--font-size-3xl);font-weight:800;cursor:pointer;transition:all var(--transition-bounce);color:var(--gray-800)}.answer-btn:hover:not(:disabled){transform:translateY(-4px);border-color:var(--primary-400);box-shadow:var(--shadow-lg)}.answer-btn:active:not(:disabled){transform:scale(.95)}.answer-btn:disabled{cursor:not-allowed}.answer-btn.correct{background:#22c55e;border-color:#16a34a;color:#fff;animation:bounce .5s ease}.answer-btn.incorrect{background:#ef4444;border-color:#dc2626;color:#fff;animation:wiggle .5s ease}.answer-btn.show-correct{border-color:#22c55e;background:#22c55e1a}.feedback{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-xl);width:100%;animation:slideUp .3s ease}.feedback.correct{background:linear-gradient(135deg,#22c55e1a,#16a34a1a)}.feedback.incorrect{background:linear-gradient(135deg,#ef44441a,#dc26261a)}.feedback-icon{font-size:3rem}.feedback-text{font-size:var(--font-size-lg);font-weight:600;color:var(--gray-700)}.result-screen{text-align:center;padding:var(--space-8);animation:slideUp .5s ease}.result-stars{font-size:4rem;margin-bottom:var(--space-4);animation:bounce 1s infinite}.result-screen h1{font-size:var(--font-size-4xl);margin-bottom:var(--space-6)}.result-score{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-bottom:var(--space-6)}.score-value{font-size:var(--font-size-6xl);font-weight:800;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.score-label{font-size:var(--font-size-lg);color:var(--gray-500)}.result-message{font-size:var(--font-size-xl);color:var(--gray-600);margin-bottom:var(--space-8)}.result-actions{display:flex;flex-direction:column;gap:var(--space-4);max-width:300px;margin:0 auto}.result-actions .btn{width:100%}@media(max-width:640px){.question-image{font-size:4rem}.answer-btn{padding:var(--space-4);font-size:var(--font-size-2xl)}.module-info h1{font-size:var(--font-size-lg)}.result-stars{font-size:3rem}.score-value{font-size:var(--font-size-5xl)}}.privacy-policy-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.privacy-policy-container{background:#fff;border-radius:24px;box-shadow:0 25px 80px #00000026;max-width:800px;width:100%;margin:0 auto;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.privacy-policy-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem;text-align:center;border-radius:24px 24px 0 0}.privacy-policy-header .logo{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.privacy-policy-header .logo-img{width:48px;height:48px}.privacy-policy-header .logo-text{font-size:1.5rem;font-weight:700}.privacy-policy-header h1{font-size:1.75rem;margin:0;font-weight:700}.privacy-policy-header p{margin:.5rem 0 0;opacity:.9;font-size:1rem}.privacy-policy-content{padding:2rem}.privacy-policy-content h2{color:#333;font-size:1.1rem;margin:1.5rem 0 .75rem;font-weight:600}.privacy-policy-content h2:first-child{margin-top:0}.privacy-policy-content h3{color:#444;font-size:1rem;margin:1.25rem 0 .5rem;font-weight:600}.privacy-policy-content p{color:#555;line-height:1.7;margin:0 0 1rem;font-size:.95rem}.privacy-policy-content ul{color:#555;line-height:1.7;padding-left:1.5rem;margin:0 0 1rem}.privacy-policy-content li{margin-bottom:.5rem}.privacy-policy-content .policy-date{margin-top:2rem;padding-top:1rem;border-top:1px solid #eee;color:#888}.privacy-policy-actions{padding:1.5rem 2rem 2rem;border-top:1px solid #eee;display:flex;flex-direction:column;gap:1rem}.privacy-policy-checkbox{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.privacy-policy-checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:#667eea;cursor:pointer}.privacy-policy-checkbox label{color:#333;font-size:.95rem;line-height:1.5;cursor:pointer}.privacy-policy-actions .btn-agree{width:100%;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.privacy-policy-actions .btn-agree:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.privacy-policy-actions .btn-agree:disabled{opacity:.5;cursor:not-allowed}.privacy-policy-actions .btn-agree.loading{pointer-events:none}.privacy-policy-error{background:#fee2e2;color:#dc2626;padding:1rem;border-radius:8px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;font-size:.9rem}@media(max-width:480px){.privacy-policy-page{padding:1rem}.privacy-policy-header{padding:1.5rem}.privacy-policy-header h1{font-size:1.5rem}.privacy-policy-content{padding:1.5rem}.privacy-policy-actions{padding:1rem 1.5rem 1.5rem}}.teacher-dashboard{min-height:100vh;background:var(--bg-gradient)}.teacher-header{background:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.teacher-header .header-content{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 0}.teacher-nav{display:flex;gap:var(--space-4)}.dashboard-content{max-width:1200px;margin:0 auto;padding:var(--space-6)}.stats-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.stat-card{background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.stat-label{color:var(--gray-500);font-size:var(--font-size-sm);font-weight:500}.stat-value{color:var(--gray-900);font-size:var(--font-size-3xl);font-weight:700;margin-top:var(--space-2)}.modules-section{background:#fff;border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.section-header h2{font-size:var(--font-size-lg);margin:0}.modules-table{width:100%;border-collapse:collapse}.modules-table th,.modules-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--gray-100)}.modules-table th{font-weight:600;color:var(--gray-500);font-size:var(--font-size-sm)}.module-row:hover{background-color:var(--gray-50)}.badge{padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.badge-reading{background:#dbeafe;color:#1e40af}.badge-counting{background:#fce7f3;color:#9d174d}.badge-cognitive{background:#dcfce7;color:#166534}.action-buttons{display:flex;gap:var(--space-2)}.btn-icon{background:none;border:none;cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);transition:background .2s}.btn-icon:hover{background:var(--gray-200)}.btn-edit{color:var(--primary-600)}.btn-delete{color:var(--error-600)}.module-editor{min-height:100vh;background:var(--bg-gradient);padding:var(--space-6)}.editor-header{background:#fff;padding:var(--space-4) var(--space-6);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10}.editor-container{max-width:800px;margin:0 auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.editor-form{background:#fff;padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-4)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-group label{font-weight:600;color:var(--gray-700)}.form-input,.form-select,.form-textarea{padding:var(--space-2) var(--space-3);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base)}.form-row{display:flex;gap:var(--space-4)}.question-list{display:flex;flex-direction:column;gap:var(--space-4)}.question-item{background:#fff;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--gray-200)}.question-header{display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--gray-100)}.matching-pairs-editor{display:flex;flex-direction:column;gap:var(--space-3);background:var(--gray-50);padding:var(--space-4);border-radius:var(--radius-md)}.pair-row{display:flex;align-items:center;gap:var(--space-2)}.pair-arrow{font-size:var(--font-size-xl);color:var(--gray-400)}.options-editor{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.option-item{display:flex;align-items:center;gap:var(--space-2)}.correct-radio{width:20px;height:20px;cursor:pointer}#root{width:100%}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
