body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:#f8f9fa;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.App,.ProjectSchool,.lesson-view{display:flex;flex-direction:column;min-height:100vh}.lesson-view{margin:0 auto;max-width:1200px;padding:0 20px}.lesson-view header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:0 0 20px 20px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:30px;padding:30px 0;text-align:center}.lesson-view header h1{font-size:2.5rem;font-weight:700;margin:0;text-shadow:2px 2px 4px #0000004d}.lesson-view main{background:#fff;border-radius:15px;box-shadow:0 2px 10px #0000001a;flex:1 1;margin-bottom:30px;padding:20px}.lesson-view p{color:#666;font-size:1.2rem;padding:40px;text-align:center}.lesson-view p[style*="color: red"]{background:#ffeaea;border:1px solid #e74c3c;border-radius:8px;color:#e74c3c!important;margin:20px 0;padding:20px}.assignment-view{margin:0 auto;max-width:800px;padding:30px}.assignment-view h2{border-bottom:3px solid #3498db;color:#2c3e50;font-size:2rem;margin-bottom:20px;padding-bottom:10px;text-align:center}.assignment-view h3{color:#34495e;font-size:1.4rem;margin:25px 0 15px}.assignment-view p{color:#555;font-size:1.1rem;line-height:1.8;margin-bottom:15px;text-align:left}.assignment-view a{background:#3498db;border-radius:25px;color:#fff;display:inline-block;font-weight:600;margin-top:20px;padding:12px 24px;text-decoration:none;transition:all .3s ease}.assignment-view a:hover{background:#2980b9;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.game-view{margin:0 auto;max-width:800px;padding:30px;text-align:center}.game-view h2{color:#e67e22;font-size:2rem;margin-bottom:20px;text-align:center}.game-view p{color:#555;font-size:1.2rem;margin-bottom:20px}.game-view a{background:#e67e22;border-radius:25px;color:#fff;display:inline-block;font-size:1.1rem;font-weight:600;padding:15px 30px;text-decoration:none;transition:all .3s ease}.game-view a:hover{background:#d35400;box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.quiz-view{margin:0 auto;max-width:800px;padding:30px}.quiz-view h2{color:#8e44ad;font-size:2rem;margin-bottom:20px;text-align:center}.quiz-view .question{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;margin-bottom:20px;padding:25px}.quiz-view .question h3{color:#2c3e50;font-size:1.3rem;margin-bottom:15px}.quiz-view .question p{color:#555;font-size:1.1rem;margin-bottom:10px;text-align:left}@media (max-width:768px){.lesson-view{padding:0 10px}.lesson-view header h1{font-size:2rem}.lesson-view main{padding:15px}.assignment-view h2,.game-view h2,.quiz-view h2{font-size:1.5rem}.assignment-view,.game-view,.quiz-view{padding:20px}}@media (max-width:480px){.lesson-view header{padding:20px 0}.lesson-view header h1{font-size:1.8rem}.assignment-view h2,.game-view h2,.quiz-view h2{font-size:1.3rem}}.staar-question{background:#fff;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-family:Times New Roman,serif;margin-bottom:20px;padding:20px}.question-header{align-items:flex-start;display:flex;margin-bottom:15px}.question-number{color:#333;font-size:1.2rem;font-weight:700;margin-right:10px;min-width:30px}.question-text{color:#333;flex:1 1;font-size:1.1rem;line-height:1.4;margin:0}.question-content{margin-left:40px}.question-image{margin:15px 0;text-align:center}.question-image img{border:1px solid #ddd;border-radius:4px;height:auto;max-width:100%}.answer-options{display:flex;flex-direction:column;gap:10px;margin-top:15px}.answer-option{align-items:center;background:#f9f9f9;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;padding:12px;touch-action:manipulation;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.answer-option.selected,.answer-option:hover{background:#e8f4f8;border-color:#4caf50}.answer-option.selected{box-shadow:0 2px 4px #4caf5033}.answer-option input[type=radio]{margin-right:12px;transform:scale(1.2)}.option-label{align-items:center;cursor:pointer;display:flex;font-size:1rem;line-height:1.3}.option-letter{color:#666;font-weight:700;margin-right:8px}.option-text{flex:1 1}.text-entry-question .answer-input{margin-top:15px}.text-entry-question input[type=text]{border:2px solid #ddd;border-radius:6px;font-size:18px;max-width:300px;outline:none;padding:12px;touch-action:manipulation;transition:border-color .2s ease;width:100%}.text-entry-question input[type=text]:focus{border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.drag-drop-question{position:relative}.equation-container{margin:20px 0;text-align:center}.equation-display{flex-wrap:wrap;font-size:2rem;gap:15px;margin:20px 0}.drop-zone,.equation-display{align-items:center;display:flex;font-weight:700;justify-content:center}.drop-zone{background:#f9f9f9;border:3px dashed #ccc;border-radius:8px;color:#333;cursor:pointer;font-size:1.5rem;min-height:60px;min-width:60px;touch-action:manipulation;transition:all .3s ease}.drop-zone.active{background:#e8f4f8;border-color:#4caf50}.drop-zone.drag-over{background:#fff3e0;border-color:#ff9800;transform:scale(1.05)}.equals,.operator{color:#333}.equals,.operator,.result{font-size:2rem;font-weight:700;margin:0 10px}.result{color:#4caf50}.draggable-numbers{margin:30px 0;text-align:center}.draggable-numbers h4{color:#555;font-size:1.1rem;margin-bottom:15px}.numbers-container{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.draggable-number{align-items:center;background:#4caf50;border-radius:50%;color:#fff;cursor:move;display:flex;font-size:1.3rem;font-weight:700;height:50px;justify-content:center;touch-action:none;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:50px}.draggable-number:hover{box-shadow:0 4px 8px #0003;transform:scale(1.1)}.draggable-number.selected{background:#ff9800;box-shadow:0 4px 8px #ff980066;transform:scale(1.1)}.draggable-number.dragging{opacity:.5;transform:scale(.9)}@media (max-width:768px){.equation-display{font-size:1.5rem;gap:10px}.drop-zone{font-size:1.2rem;min-height:50px;min-width:50px}.draggable-number{font-size:1.1rem;height:45px;width:45px}.answer-option{font-size:1.1rem;padding:15px}.text-entry-question input[type=text]{font-size:16px;padding:15px}}@media (max-width:480px){.question-content{margin-left:20px}.equation-display{font-size:1.3rem;gap:8px}.drop-zone{font-size:1rem;min-height:45px;min-width:45px}.draggable-number{font-size:1rem;height:40px;width:40px}.numbers-container{gap:10px}}.submit-button{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:8px;box-shadow:0 4px 8px #4caf504d;color:#fff;cursor:pointer;display:block;font-size:1.2rem;font-weight:700;margin:30px auto;min-width:200px;padding:15px 30px;touch-action:manipulation;transition:all .3s ease}.submit-button:hover{background:linear-gradient(135deg,#45a049,#3e8e41);box-shadow:0 6px 12px #4caf5066;transform:translateY(-2px)}.submit-button:active{box-shadow:0 2px 4px #4caf504d;transform:translateY(0)}.submit-button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.submit-button{font-size:1.1rem;min-width:180px;padding:18px 25px}}.lesson-view main{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--p1:#667eea;--p2:#764ba2;--ink:#1a202c;--card:#fff;--bg:#f7fafc;--border:#e2e8f0;--muted:#718096;--focus:#667eea26;--error:#e53e3e;--success:#38a169}*{box-sizing:border-box}.onboarding-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--p1) 0,var(--p2) 100%);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;justify-content:center;min-height:100vh;padding:20px}.onboarding-card{background:#fff;border-radius:18px;box-shadow:0 20px 60px #00000026;max-width:600px;padding:40px;position:relative;width:100%}.onboarding-logo{margin-bottom:30px;text-align:center}.onboarding-logo img{border-radius:16px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15));height:80px;width:80px}.onboarding-logo h2{color:#1a202c;color:var(--ink);font-size:24px;font-weight:700;margin-top:10px}.progress-bar{background:#e2e8f0;background:var(--border);border-radius:999px;height:6px;margin-bottom:30px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#667eea,#764ba2);background:linear-gradient(90deg,var(--p1) 0,var(--p2) 100%);border-radius:999px;height:100%;transition:width .3s ease}h1{color:#1a202c;color:var(--ink);font-size:32px;font-weight:900;letter-spacing:-.5px;margin-bottom:10px}.subtitle,h1{text-align:center}.subtitle{color:#718096;color:var(--muted);font-size:16px;line-height:1.5;margin-bottom:30px}.form-group{margin-bottom:20px}label{color:#1a202c;color:var(--ink);display:block;font-size:14px;font-weight:600;margin-bottom:8px}input[type=date],input[type=email],input[type=password],input[type=tel],input[type=text],select,textarea{border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;font-family:inherit;font-size:16px;padding:14px;transition:all .2s ease;width:100%}input:focus,select:focus,textarea:focus{background:#667eea26;background:var(--focus);border-color:#667eea;border-color:var(--p1);outline:none}input:disabled,select:disabled,textarea:disabled{background:#f7fafc;background:var(--bg);cursor:not-allowed;opacity:.6}.error-message{align-items:center;color:#e53e3e;color:var(--error);display:flex;font-size:14px;gap:5px;margin-top:5px}.error-message:before{content:"⚠"}.button-group{display:flex;gap:15px;justify-content:space-between;margin-top:30px}.btn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:14px 30px;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--p1) 0,var(--p2) 100%);color:#fff;flex:1 1}.btn-primary:hover:not(:disabled){box-shadow:0 10px 20px #667eea4d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#fff;border:2px solid #667eea;border:2px solid var(--p1);color:#667eea;color:var(--p1)}.btn-secondary:hover:not(:disabled){background:#667eea26;background:var(--focus)}.btn-google{align-items:center;background:#fff;border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;justify-content:center;margin-bottom:20px;padding:14px;transition:all .2s ease;width:100%}.btn-google:hover{background:#667eea26;background:var(--focus);border-color:#667eea;border-color:var(--p1)}.filled-radio{align-items:center;border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:12px;cursor:pointer;display:flex;margin-bottom:15px;padding:20px;position:relative;transition:all .2s ease}.filled-radio.checked,.filled-radio:hover{background:#667eea26;background:var(--focus);border-color:#667eea;border-color:var(--p1)}.filled-radio input[type=radio]{height:0;opacity:0;position:absolute;width:0}.radio-circle{border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:50%;flex-shrink:0;height:24px;margin-right:15px;position:relative;transition:all .2s ease;width:24px}.filled-radio input:checked+.radio-circle{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--p1) 0,var(--p2) 100%);border-color:#667eea;border-color:var(--p1);transform:scale(1.1)}.filled-radio input:checked+.radio-circle:after{background:#fff;border-radius:50%;content:"";height:8px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:8px}.radio-content{flex:1 1}.radio-content h3{color:#1a202c;color:var(--ink);font-size:16px;font-weight:600;margin:0 0 5px}.radio-content p{color:#718096;color:var(--muted);font-size:14px;margin:0}.radio-icon{font-size:32px;margin-right:15px}.tier-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin:20px 0}.tier-card{border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:12px;cursor:pointer;padding:20px;position:relative;text-align:center;transition:all .2s ease}.tier-card:hover{transform:translateY(-2px)}.tier-card.selected,.tier-card:hover{background:#667eea26;background:var(--focus);border-color:#667eea;border-color:var(--p1)}.tier-card.popular{border-color:#667eea;border-color:var(--p1);border-width:3px}.tier-card .badge{background:linear-gradient(135deg,#667eea,#764ba2);background:linear-gradient(135deg,var(--p1) 0,var(--p2) 100%);border-radius:999px;color:#fff;font-size:11px;font-weight:700;left:50%;letter-spacing:.5px;padding:4px 12px;position:absolute;top:-10px;transform:translateX(-50%)}.tier-card h3{color:#1a202c;color:var(--ink);font-size:20px;margin-bottom:10px}.tier-card .price{color:#667eea;color:var(--p1);font-size:32px;font-weight:900;margin-bottom:10px}.tier-card .price span{color:#718096;color:var(--muted);font-size:16px;font-weight:400}.tier-card ul{list-style:none;margin:15px 0 0;padding:0;text-align:left}.tier-card li{color:#1a202c;color:var(--ink);font-size:14px;padding:8px 0}.tier-card li:before{color:#38a169;color:var(--success);content:"✓";font-weight:700;margin-right:8px}.processing-container{padding:60px 0;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #667eea33;border-radius:50%;border-top:4px solid var(--p1);height:60px;margin:0 auto 30px;width:60px}@keyframes spin{to{transform:rotate(1turn)}}.processing-container h2{color:#1a202c;color:var(--ink);font-size:24px;margin-bottom:10px}.processing-container p{color:#718096;color:var(--muted);font-size:16px}.checkbox-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:20px 0}.checkbox-item{align-items:center;border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:10px;cursor:pointer;display:flex;padding:12px;transition:all .2s ease}.checkbox-item:hover{background:#667eea26;background:var(--focus);border-color:#667eea;border-color:var(--p1)}.checkbox-item input[type=checkbox]{accent-color:#667eea;accent-color:var(--p1);cursor:pointer;height:20px;margin-right:10px;width:20px}.checkbox-item label{cursor:pointer;font-size:14px;margin:0}@media (max-width:640px){.onboarding-card{padding:30px 20px}h1{font-size:26px}.checkbox-group,.tier-grid{grid-template-columns:1fr}.button-group{flex-direction:column-reverse}.btn{width:100%}}:focus-visible{outline:3px solid #667eea;outline:3px solid var(--p1);outline-offset:2px}