:root{--bg-color: #F4F7F6;--surface: #FFFFFF;--text-main: #2C3E50;--text-light: #7F8C8D;--shadow-sm: 0 4px 12px rgba(0,0,0,.05);--shadow-md: 0 8px 24px rgba(0,0,0,.08);--radius-lg: 24px;--radius-md: 16px}*{box-sizing:border-box;margin:0;padding:0;font-family:Nunito,Segoe UI,sans-serif}body{background:var(--bg-color);color:var(--text-main)}.app-wrapper{max-width:800px;margin:0 auto;height:100vh;display:flex;flex-direction:column}.flex-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.full-screen{height:100vh}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-header{padding:16px 24px;display:flex;justify-content:space-between;align-items:center;position:relative}.cloud-badge{background:#fffc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600;color:#34495e;box-shadow:var(--shadow-sm);position:absolute;right:24px;top:16px}.back-btn{background:#fff;border:none;padding:8px 16px;border-radius:20px;display:flex;align-items:center;gap:4px;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);color:var(--text-main)}.app-main{flex:1;overflow-y:auto;padding:20px 24px 40px}.main-title{font-size:2.2rem;font-weight:800;text-align:center;margin-bottom:30px;background:linear-gradient(45deg,#2c3e50,#3498db);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:40px}.subject-card{background:var(--surface);border-radius:var(--radius-lg);padding:24px;text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);border-bottom:6px solid var(--theme-color);transition:all .2s}.subject-card.active{box-shadow:0 0 0 3px var(--theme-color),var(--shadow-md);transform:translateY(-5px)}.sub-icon{color:var(--theme-color);margin-bottom:16px;display:flex;justify-content:center}.subject-card h2{font-size:1.4rem;margin-bottom:16px}.progress-bar{height:8px;background:#eee;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:var(--theme-color);border-radius:4px;transition:width .3s}.sub-stats{font-size:.9rem;color:var(--text-light)}.lessons-container{background:#fff;border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.section-title{font-size:1.2rem;margin-bottom:20px;border-left:4px solid #3498DB;padding-left:12px}.lessons-list{display:flex;flex-direction:column;gap:16px}.lesson-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f8f9fa;border-radius:var(--radius-md);cursor:pointer;transition:background .2s}.lesson-item:hover{background:#f1f3f5}.lesson-info h4{font-size:1.1rem;margin-top:4px}.lesson-type{font-size:.8rem;background:#e9ecef;padding:2px 8px;border-radius:10px;color:var(--text-light)}.lesson-status{display:flex;align-items:center;gap:12px}.score-badge{font-size:.85rem;font-weight:700;color:#f39c12;background:#fef5e7;padding:4px 10px;border-radius:12px}.empty-circle{width:24px;height:24px;border:2px solid #ddd;border-radius:50%}.learning-view{max-width:600px;margin:0 auto}.top-progress{display:flex;align-items:center;gap:16px;margin-bottom:40px}.bar-bg{flex:1;height:12px;background:#e0e0e0;border-radius:6px;overflow:hidden}.bar-fill{height:100%;background:#27ae60;transition:width .3s ease}.top-progress span{font-weight:700;color:var(--text-light)}.quiz-container{text-align:center;position:relative}.question-text{font-size:2.5rem;font-weight:800;margin-bottom:40px;color:#2c3e50}.options-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.option-btn{background:#fff;border:2px solid #e0e0e0;padding:24px;font-size:1.5rem;font-weight:700;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.option-btn:hover:not(:disabled){border-color:#3498db;background:#ebf5fb;transform:translateY(-2px)}.option-btn:disabled{cursor:not-allowed;opacity:.8}.correct-flash{background:#27ae60!important;color:#fff;border-color:#27ae60!important}.correct-feedback{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ffffffe6;padding:40px;border-radius:50%;box-shadow:var(--shadow-lg)}.ai-feedback{margin-top:30px;background:#f4ecf7;border:2px solid #9B59B6;border-radius:var(--radius-md);padding:20px;text-align:left}.ai-header{display:flex;align-items:center;gap:8px;color:#8e44ad;font-weight:700;margin-bottom:12px}.ai-feedback p{font-size:1.1rem;line-height:1.6;color:#4a235a;margin-bottom:16px}.next-btn{background:#9b59b6;color:#fff;border:none;padding:10px 20px;border-radius:12px;font-weight:700;cursor:pointer;width:100%}.flashcard-container{display:flex;flex-direction:column;align-items:center;gap:30px;perspective:1000px}.flashcard{width:100%;max-width:400px;height:300px;position:relative;transform-style:preserve-3d;cursor:pointer;transition:transform .6s}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:20px;text-align:center}.card-face h3{font-size:2.5rem;color:#2c3e50}.card-face.front .hint{margin-top:20px;color:#95a5a6;font-size:.9rem}.card-face.back{transform:rotateY(180deg);background:#ebf5fb;border:4px solid #3498DB}.card-actions{display:flex;gap:20px;width:100%;max-width:400px}.card-actions button{flex:1;padding:16px;font-size:1.2rem;font-weight:700;border:none;border-radius:var(--radius-md);cursor:pointer;color:#fff}.btn-wrong{background:#e74c3c}.btn-correct{background:#27ae60}.complete-view{display:flex;justify-content:center;align-items:center;height:80vh}.result-card{background:#fff;padding:50px 40px;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);max-width:400px;width:100%}.stars-container{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.score-display{margin:20px 0}.score-num{font-size:4rem;font-weight:900;color:#3498db}.score-unit{font-size:1.5rem;color:var(--text-light);font-weight:700}.encourage-text{font-size:1.2rem;color:#34495e;margin-bottom:30px}.primary-btn{background:#3498db;color:#fff;border:none;padding:16px 32px;font-size:1.2rem;font-weight:700;border-radius:30px;cursor:pointer;width:100%;box-shadow:0 4px 15px #3498db4d;transition:transform .2s}.primary-btn:hover{transform:translateY(-2px)}
