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}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Modal{background-color:#fff;border-radius:10px;bottom:auto;box-shadow:0 5px 15px #0000004d;left:50%;margin-right:-50%;max-width:600px;padding:20px;position:absolute;right:auto;top:50%;transform:translate(-50%,-50%)}.Overlay{background-color:#000000bf;bottom:0;left:0;position:fixed;right:0;top:0}.modal.hidden{display:none}.modal.visable{display:block}.modal-overlay.hidden{display:none}.modal-overlay.visable{display:flex}.modal-content{text-align:center}.cover-image{height:auto;margin-bottom:20px;width:100%}.close-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px}.close-button:hover{background-color:#0056b3}.Grammar{margin:0 auto;max-width:800px;padding:20px}.Grammar button,.Grammar img,.Grammar p{margin-bottom:15px}.Grammar button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px;transition:background-color .3s}.Grammar button:hover{background-color:#0056b3}.Grammar img{height:auto;max-width:100%}.instructions{line-height:1.6;margin:0;text-align:justify}.instructions .italic,.instructions .text{font-family:sans-serif}.instructions .italic{font-style:italic}.instructions .bold{font-family:sans-serif;font-weight:700}.instructions .underline{text-decoration:underline}.instructions .strike{text-decoration:line-through}.instructions .paragraph{margin:10px 0;text-indent:0}.instructions .default{font-family:sans-serif}.main-nav{background-color:#f0f0f0;border-right:2px solid #ccc;height:100%;left:0;padding-top:20px;position:relative;top:0;width:200px}.menu-list li{margin:20px 0}.menu-list li a{color:#333;font-size:24px}.menu-list li a:hover{color:#007bff}.wordbank-paragraph{color:#333;font-family:"Arial, sans-serif";font-size:18px;line-height:1.6}.wordbank-operation-message{color:#007bff;font-family:"Arial, sans-serif";font-size:16px;font-weight:700;margin-top:10px}.multiple-choice-container{background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:20px;padding:20px}.multiple-choice-question{color:#333;font-size:15pt;font-weight:700;margin-bottom:10px}.multiple-choice-options{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:flex-start}.multiple-choice-option{background-color:#fff;border:2px solid #ccc;border-radius:5px;font-size:14pt;max-width:none;min-width:auto;padding:5px 10px;text-align:center;transition:all .3s ease;width:auto}.multiple-choice-option:hover:not(:disabled){background-color:#f0f0f0;border-color:#007bff}.multiple-choice-option.selected{border-color:#007bff}.multiple-choice-option.correct{background-color:#90ee90}.multiple-choice-option.incorrect{background-color:salmon}.multiple-choice-option:disabled{cursor:not-allowed;opacity:.6}.page-content{color:#444;font-family:"Verdana, sans-serif";font-size:16px;line-height:1.5;margin-bottom:20px}.page-turner-container{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;padding:10px}.page-info{flex:1 1;font-size:18px;font-weight:700}.page-buttons{display:flex;gap:10px}.next-button,.prev-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin:0 5px;padding:8px 16px;transition:background-color .3s ease}.next-button:disabled,.prev-button:disabled{background-color:#ccc;cursor:not-allowed}.next-button:hover:not(:disabled),.prev-button:hover:not(:disabled){background-color:#0056b3}@media (max-width:768px){.page-turner-container{align-items:stretch;flex-direction:column}.page-info{margin-bottom:10px;text-align:center}.page-buttons{justify-content:center}}.page-info,nav ul li a{color:#333;font-size:24px;font-weight:700;text-decoration:none}.page-info:hover,nav ul li a:hover{color:#007bff}.blockquote{background-color:#f9f9f9;border-left:5px solid #000;box-sizing:border-box;color:blue;font-family:Georgia,Times New Roman,Times,serif;font-style:italic;margin:20px 0;padding:10px 10px 30px;width:100%}.blockquote.horizontal{margin:10px 0}.blockquote.horizontal,.words-container.horizontal{display:flex;flex-wrap:wrap;justify-content:flex-end}.words-container.horizontal{align-items:flex-start;box-sizing:border-box;gap:10px;max-width:100%;padding:10px 10px 30px}.words-container.horizontal span{margin:2px 5px}.blockquote.vertical{background-color:#f9f9f9;border-left:4px solid #000;box-sizing:border-box;color:blue;display:block;font-family:Georgia,Times New Roman,Times,serif;font-style:italic;margin:20px 0;padding:10px 10px 30px;text-align:left;width:100%}.words-container.vertical{align-items:flex-start;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;max-width:100%;padding:10px 10px 30px}.words-container.vertical span{background-color:#e6e6e6;border-radius:4px;flex:1 1 auto;margin:0;min-width:80px;padding:5px 8px}.feedback{border-radius:5px;color:#000;font-size:15pt;font-style:italic;font-weight:500;margin-bottom:15px;margin-top:5px}.levels-topics-wrapper{background-color:#f9f9f9;border:2px solid #ccc;border-radius:8px;display:flex;justify-content:center;margin:20px auto;max-width:1200px;padding:20px}.levels-and-topics-container{display:flex;flex:1 1;gap:20px}.levels-container,.topics-container{flex:1 1}.levels-container h2,.topics-container h2{color:#333;font-size:24px;margin-bottom:15px;text-align:center}.menu-list{list-style:none;padding:0}.menu-list li{margin:10px 0}.menu-list li a{color:#007bff;font-size:18px;text-decoration:none}.topics-list{display:flex;flex-direction:column;gap:10px}@media (max-width:768px){.levels-and-topics-container{align-items:center;flex-direction:column}}.cover-modal-container{align-items:center;background-color:#000000bf;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:fixed;text-align:center;top:0;width:100%;z-index:1000}.cover-modal-container img{height:auto;margin-bottom:20px;width:100%}.cover-modal-input{border:1px solid #ddd;border-radius:5px;font-size:1rem;margin:10px 0;max-width:300px;padding:10px;width:80%}.cover-modal-button{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-top:10px;padding:10px 20px}.cover-modal-button.close{background-color:#dc3545}.cover-modal-error{color:#ff4d4f;margin-top:10px}.navbar{align-items:center;background-color:#007bff;box-shadow:0 4px 8px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:10px 20px}.navbar-logo a{font-size:1.5em;font-weight:700}.navbar-links a,.navbar-logo a{color:#fff;text-decoration:none}.navbar-links a{font-weight:500;margin:0 10px}.navbar-links a:hover{text-decoration:underline}.navbar-user{align-items:center;display:flex}.status-indicator{border-radius:50%;cursor:pointer;height:20px;margin-right:10px;width:20px}.status-indicator.logged-in{background-color:#28a745}.status-indicator.not-logged-in{background-color:#ccc}.nav-button{background-color:#0056b3;border:none;color:#fff;font-weight:700;padding:5px 10px;text-decoration:none}.nav-button.logout-button{background-color:#dc3545}.nav-button.login-link{background-color:initial}.exam-container{margin:0 auto;max-width:100%;padding:20px}.exam-header{align-items:center;background-color:#f5f5f5;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px}.exam-title{font-size:1.2rem;font-weight:700}.exam-timer{color:#e74c3c;font-size:1.1rem;font-weight:700}.finish-exam-btn{background-color:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:10px 20px}.section-navigation{background-color:#f8f9fa;border-radius:8px;display:flex;gap:10px;margin-bottom:20px;padding:10px}.section-tab{background-color:#fff;border:2px solid #ddd;border-radius:5px;cursor:pointer;padding:10px 20px;transition:all .3s ease}.section-tab.active{background-color:#007bff;border-color:#007bff;color:#fff}.section-tab:hover{background-color:#e9ecef}.section-tab.active:hover{background-color:#0056b3}.text-panel{background-color:#f8f9fa;border-radius:8px;flex:1 1;max-height:100%;overflow-y:auto;padding:20px}.text-panel h3{border-bottom:2px solid #007bff;color:#333;margin-top:0;padding-bottom:10px}.reading-passage{font-size:1rem;line-height:1.6}.reading-passage p{margin-bottom:1rem}.questions-panel{background-color:#fff;border:1px solid #ddd;border-radius:8px;flex:1 1;max-height:100%;overflow-y:auto;padding:20px}.question-navigation{border-bottom:1px solid #eee;flex-wrap:wrap;padding-bottom:15px}.question-number{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:50%;cursor:pointer;display:flex;font-weight:700;height:35px;justify-content:center;transition:all .3s ease;width:35px}.question-number.active{background-color:#007bff;border-color:#007bff;color:#fff}.question-number.answered{background-color:#28a745;border-color:#28a745;color:#fff}.question-number:hover{background-color:#e9ecef}.current-question{margin-bottom:20px}.question-header{border-bottom:1px solid #eee;margin-bottom:15px;padding-bottom:10px}.question-label{color:#666;font-weight:700}.question-controls{border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:20px;padding-top:15px}.nav-btn{background-color:#fff;border:1px solid #007bff;border-radius:5px;color:#007bff;cursor:pointer;padding:10px 20px;transition:all .3s ease}.nav-btn:hover:not(:disabled){background-color:#007bff;color:#fff}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.exam-card,.test-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:20px}.exam-card:hover,.test-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px);transition:all .3s ease}.exam-link,.start-test-btn{background-color:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;display:inline-block;padding:12px 24px;text-decoration:none;transition:background-color .3s ease}.exam-link:hover,.start-test-btn:hover{background-color:#0056b3;color:#fff;text-decoration:none}.test-details{color:#666;display:flex;font-size:.9rem;gap:15px;margin:10px 0}@media (max-width:768px){.questions-panel,.text-panel{flex:none;max-height:400px}.section-navigation{flex-wrap:wrap}.section-tab{flex:1 1;min-width:120px;text-align:center}.question-navigation{justify-content:center}.question-controls{flex-direction:column;gap:10px}.nav-btn{width:100%}}.main-header{background-color:#007bff;box-shadow:0 2px 4px #0000001a;color:#fff;justify-content:space-between;padding:15px 20px;position:relative;z-index:1000}.header-left,.main-header{align-items:center;display:flex}.header-left{gap:15px}.hamburger-btn{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:5px}.hamburger-line{background-color:#fff;height:3px;transition:all .3s ease;width:25px}.header-logo{color:#fff;font-size:1.5rem;font-weight:700;text-decoration:none}.header-right{align-items:center;display:flex;gap:15px}.user-welcome{font-size:.9rem}.login-btn,.logout-btn{background-color:#0056b3;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:8px 16px;text-decoration:none}.hamburger-sidebar{background-color:#fff;box-shadow:2px 0 10px #0000001a;height:100vh;left:-300px;overflow-y:auto;position:fixed;top:0;transition:left .3s ease;width:300px;z-index:1001}.hamburger-sidebar.open{left:0}.sidebar-content{padding:20px}.sidebar-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;position:absolute;right:15px;top:10px}.sidebar-nav{margin-top:40px}.nav-item{border-radius:5px;color:#333;display:block;margin-bottom:5px;padding:12px 15px;text-decoration:none;transition:background-color .3s ease}.nav-item.active,.nav-item:hover{background-color:#f0f8ff;color:#007bff}.nav-section{margin-bottom:15px}.nav-section-header{align-items:center;background:none;border:none;border-radius:5px;color:#333;cursor:pointer;display:flex;font-weight:700;justify-content:space-between;padding:12px 15px;text-align:left;width:100%}.nav-section-header:hover{background-color:#f5f5f5}.chevron{transition:transform .3s ease}.chevron.expanded{transform:rotate(180deg)}.nav-level-header{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;justify-content:space-between;margin-left:15px;padding:8px 15px;text-align:left;width:100%}.nav-level-overview{color:#007bff;padding:6px 30px}.nav-level-overview,.nav-topic{display:block;font-size:.9rem;text-decoration:none}.nav-topic{color:#666;padding:6px 45px}.nav-topic.active,.nav-topic:hover{background-color:#f0f8ff;color:#007bff}.sidebar-overlay{background-color:#00000080;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1000}.main-content{flex:1 1;padding:20px}.layout-full-width .content-container{margin:0 auto;max-width:1200px}.exercise-panel{display:flex;flex-direction:column;gap:20px;height:100%;padding:20px}.exercise-panel-empty{color:#666;padding:40px;text-align:center}.exercise-progress{margin-bottom:20px}.progress-info{align-items:center;color:#666;display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.progress-bar{background-color:#e0e0e0;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4caf50,#45a049);height:100%;transition:width .3s ease}.question-navigation{display:flex;gap:8px;justify-content:center;margin-bottom:20px}.nav-dot{background:#fff;border:2px solid #ddd;border-radius:50%;cursor:pointer;height:12px;transition:all .2s ease;width:12px}.nav-dot.active,.nav-dot:hover{border-color:#4caf50}.nav-dot.active{background:#4caf50}.nav-dot.completed{background:#45a049;border-color:#45a049}.question-container{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-height:300px}.exercise-navigation{display:flex;justify-content:space-between;margin-top:20px}.nav-button{background:#fff;border:2px solid #4caf50;border-radius:5px;color:#4caf50;cursor:pointer;font-size:14px;padding:10px 20px;transition:all .2s ease}.nav-button:hover:not(:disabled){background:#4caf50;color:#fff}.nav-button:disabled{cursor:not-allowed;opacity:.5}.multiple-choice-container{margin:0 auto;max-width:600px}.multiple-choice-question{font-size:18px;font-weight:500;margin-bottom:20px;text-align:center}.multiple-choice-options{display:flex;flex-direction:column;gap:10px}.multiple-choice-option{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;padding:15px;text-align:left;transition:all .2s ease}.multiple-choice-option:hover:not(:disabled){background:#f8f9fa;border-color:#4caf50}.multiple-choice-option.selected{background:#e8f5e8;border-color:#4caf50}.multiple-choice-option.correct{background:#d4edda;border-color:#28a745;color:#155724}.multiple-choice-option.incorrect{background:#f8d7da;border-color:#dc3545;color:#721c24}.multiple-choice-option:disabled{cursor:default}.click-activity{border-top:1px solid #222;clear:both;margin-top:20px;overflow:visible;padding-top:20px;width:100%}.clickable-word{border-radius:4px;padding:4px 8px;transition:all .2s ease}.clickable-word:hover{background:#f0f0f0}.clickable-word.correct{background:#d4edda;color:#155724}.clickable-word.incorrect{background:#f8d7da;color:#721c24}.gap-fill-container{margin:0 auto;max-width:600px;text-align:center}.gap-fill-question{font-size:18px;margin-bottom:20px}.gap-fill-question input{border:2px solid #ddd;border-radius:4px;font-size:16px;margin:0 8px;min-width:150px;padding:8px 12px}.gap-fill-question input:focus{border-color:#4caf50;outline:none}.gap-fill-question input.correct{background:#d4edda;border-color:#28a745}.gap-fill-question input.incorrect{background:#f8d7da;border-color:#dc3545}.gap-fill-submit{background:#4caf50;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:16px;margin-top:15px;padding:10px 20px}.gap-fill-submit:hover:not(:disabled){background:#45a049}.gap-fill-submit:disabled{cursor:not-allowed;opacity:.6}.lesson-image{float:left;margin:0 20px 20px 0;max-width:450px;text-align:center}.lesson-image img{max-height:500px}.lesson-instructions{overflow:visible}.feedback.correct{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.feedback.incorrect{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.lesson-complete{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:20px;text-align:center}.lesson-complete h3{color:#155724;margin-bottom:10px}.lesson-complete p{color:#155724;margin:0}@media (max-width:768px){.exercise-panel{padding:10px}.question-navigation{flex-wrap:wrap}.nav-button{font-size:12px;padding:8px 16px}.gap-fill-question,.multiple-choice-question{font-size:16px}}.layout-split{display:flex;height:100vh;width:100%}.split-left{border-right:1px solid #ddd;box-sizing:border-box;flex:1 1;height:calc(100vh - 40px);overflow-y:auto;padding:20px}.lesson-content{width:100%}.content-image{margin-bottom:20px}.content-image img{height:auto;max-width:100%}.content-generic{color:#333;margin:10px 0;padding:10px}.lesson-image img{display:block;height:auto;max-height:300px;max-width:100%;object-fit:contain}.lesson-instructions{margin:15px 0}.lesson-text{line-height:1.6;margin:10px 0}.lesson-heading{margin:25px 0 15px}.lesson-heading h2{color:#2c3e50;font-size:1.5em;margin:0}.lesson-subtitle{margin:20px 0 10px}.lesson-subtitle h3{color:#34495e;font-size:1.2em;margin:0}.lesson-reading{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin:20px 0;padding:20px}.lesson-reading .reading-title h3{color:#2c3e50;margin-top:0}.lesson-reading .reading-text{line-height:1.7}.lesson-content-item{margin:10px 0;padding:8px 0}.lesson-unknown{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;margin:10px 0;padding:10px}.lesson-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;margin:10px 0;padding:10px}.image-caption{color:#6c757d;font-size:.9em;font-style:italic;margin-top:8px}.grammar-layout .split-left{background-color:#f8f9fa}.grammar-layout .split-right{background-color:#fff}.grammar-content{box-sizing:border-box;display:block;height:calc(100vh - 40px);line-height:1.6;overflow-y:auto;padding:20px}.grammar-exercises{display:flex;flex-direction:column;width:100%}.exam-layout .split-left{background-color:#f8f9fa}.exam-layout .split-right{background-color:#fff}.no-exercises,.no-questions{align-items:center;color:#6c757d;display:flex;font-size:.9em;font-style:italic;height:200px;justify-content:center}.main-layout{height:100vh;overflow:visible;width:100%}.split-right{border-right:#000;flex:1 1;overflow-y:auto;padding:10px 10px 10px 20px}.flowing-content,.instructions .paragraph{overflow:visible;text-align:justify}.flowing-content{height:auto;line-height:1.6;max-height:none;min-height:none;min-height:100%}.flowing-content .lesson-image{float:left;margin:0 15px 15px 0;max-width:450px;text-align:center}.flowing-content .lesson-image img{display:block;height:auto;max-height:450px;max-width:100%;object-fit:contain}.flowing-content .click-activity{border-top:1px solid #eee;clear:both;margin-top:20px;padding-top:15px}.score-display{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;margin:10px 0;padding:15px}.score-display .nav-section-header{border-bottom:2px solid #ffffff4d;color:#fff;font-weight:700;margin-bottom:12px;padding-bottom:8px}.score-card{background:#fffffff2;border-radius:6px;margin-bottom:12px;padding:12px}.score-card:last-child{margin-bottom:0}.current-score .score-label{color:#666;font-size:12px;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.current-score .score-value{align-items:baseline;display:flex;gap:8px;margin-bottom:8px}.current-score .score-number{color:#2d3748;font-size:32px;font-weight:700}.current-score .score-details{color:#718096;font-size:14px}.current-score .score-status{border-radius:4px;display:inline-block;font-size:13px;font-weight:600;padding:4px 8px}.current-score .score-status.passed{background:#c6f6d5;color:#22543d}.current-score .score-status.not-passed{background:#fed7d7;color:#742a2a}.overall-stats{background:#fffffff2}.stat-row{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:8px 0}.stat-row:last-child{border-bottom:none;padding-bottom:0}.stat-label{color:#4a5568;font-size:13px;font-weight:500}.stat-value{color:#2d3748;font-size:15px;font-weight:700}.progress-controls{background:#f7fafc;border-radius:8px;margin:10px 0;padding:12px}.progress-controls .nav-section-header{color:#2d3748;font-size:13px;font-weight:600;margin-bottom:10px}.progress-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin:6px 0;padding:12px;transition:all .2s;width:100%}.save-btn{background:#4299e1;color:#fff}.save-btn:hover:not(:disabled){background:#3182ce;box-shadow:0 4px 8px #4299e14d;transform:translateY(-1px)}.complete-btn{background:#48bb78;color:#fff}.complete-btn:hover:not(:disabled){background:#38a169;box-shadow:0 4px 8px #48bb784d;transform:translateY(-1px)}.progress-btn:disabled{background:#cbd5e0;color:#a0aec0;cursor:not-allowed;opacity:.6}@media (max-width:768px){.score-card{padding:10px}.current-score .score-number{font-size:28px}.stat-row{padding:6px 0}}.header-score-display{align-items:center;background:#ffffff1a;border-radius:20px;display:flex;font-size:13px;gap:12px;margin-right:15px;padding:6px 12px}.header-current-score{align-items:center;border-right:1px solid #fff3;display:flex;gap:6px;padding-right:12px}.header-current-score .score-icon{font-size:14px}.header-current-score .score-text{color:#fff;font-weight:600}.header-current-score .score-percent{font-size:11px;margin-left:3px;opacity:.8}.header-overall-stats{align-items:center;display:flex;gap:8px}.stat-item{align-items:center;display:flex;gap:4px}.stat-icon{font-size:14px}.stat-value{color:#fff;font-size:13px;font-weight:600}.stat-divider{color:#ffffff4d;font-weight:300}@media (max-width:768px){.header-score-display{font-size:11px;gap:8px;padding:4px 8px}.header-current-score .score-percent{display:none}.stat-value{font-size:11px}}@media (max-width:480px){.header-current-score{display:none}}.progress-controls-compact{background:#f7fafc;border-radius:8px;margin:10px 0;padding:12px}.progress-controls-compact .nav-section-header{color:#2d3748;font-size:13px;font-weight:600;margin-bottom:10px}.progress-controls-compact .progress-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;margin:5px 0;padding:10px;transition:all .2s;width:100%}.progress-controls-compact .save-btn{background:#4299e1;color:#fff}.progress-controls-compact .save-btn:hover{background:#3182ce;transform:translateY(-1px)}.progress-controls-compact .complete-btn{background:#48bb78;color:#fff}.progress-controls-compact .complete-btn:hover:not(:disabled){background:#38a169;transform:translateY(-1px)}.progress-controls-compact .progress-btn:disabled{background:#cbd5e0;color:#a0aec0;cursor:not-allowed;opacity:.6}.boxpop-container{margin:16px 0}.boxpop-passage{font-size:1rem;line-height:2.8}.boxpop-drop-zone{border-bottom:2px dashed #999;border-radius:4px;cursor:pointer;display:inline-block;margin:0 4px;min-width:80px;padding:2px 8px;transition:background .15s}.boxpop-drop-zone.filled{background:#f0f0f0;border-color:#333}.boxpop-drop-zone.correct{background:#d4edda;border-color:#28a745}.boxpop-drop-zone.incorrect{background:#f8d7da;border-color:#dc3545}.boxpop-token-bank{background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding:12px}.boxpop-token{background:#fff;border:1px solid #ccc;border-radius:20px;cursor:grab;font-size:.9rem;padding:6px 14px;transition:box-shadow .15s;-webkit-user-select:none;user-select:none}.boxpop-token:hover{box-shadow:0 2px 6px #00000026}.boxpop-submit{margin-top:8px}.builder-zone{gap:6px}.sentence-token{border:1px solid #ccc;transition:box-shadow .15s}.sentence-token:hover{box-shadow:0 2px 6px #00000026}.sentence-submit{margin-top:8px}.pairs-columns{gap:24px}.pairs-left,.pairs-right{gap:8px}.pair-item{border:2px solid #ddd;padding:10px 18px}.pair-item:hover{border-color:#4a90d9}.pair-item.used{opacity:.4}.matched-right{margin-left:8px}.griddrop-container{background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014;margin:20px 0;padding:16px}.griddrop-table{border-collapse:collapse;font-size:.95rem;margin-bottom:20px;width:100%}.griddrop-th{background:#4a90d9;color:#fff;font-size:.9rem;font-weight:700;letter-spacing:.04em;padding:12px 16px;text-align:center;text-transform:uppercase}.griddrop-th:first-child{border-radius:8px 0 0 0}.griddrop-th:last-child{border-radius:0 8px 0 0}.griddrop-row-header{background:#f0f4f8;border:1px solid #dde3ea;color:#555;font-size:.88rem;font-weight:600;padding:12px 16px;white-space:nowrap}.griddrop-td{background:#fafbfc;border:1px solid #dde3ea;padding:8px;text-align:center;vertical-align:middle}.pop-drop-cell.grid-cell{align-items:center;background:#fff;border:2px dashed #bbb;border-radius:8px;color:#aaa;cursor:pointer;display:flex;font-size:.9rem;justify-content:center;margin:auto;min-height:40px;min-width:80px;padding:6px 12px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.pop-drop-cell.grid-cell.filled{background:#e8f4ff;border-color:#4a90d9;border-style:solid;color:#333;font-weight:600}.pop-drop-cell.grid-cell.over{background:#d0e8ff;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d940;transform:scale(1.04)}.pop-drop-cell.grid-cell.correct{background:#d4edda;border-color:#28a745;color:#155724;font-weight:700}.pop-drop-cell.grid-cell.incorrect{background:#f8d7da;border-color:#dc3545;color:#721c24;font-weight:700}.pop-token-bank{background:#f0f4f8;border:1px solid #dde3ea;border-radius:10px;display:flex;flex-wrap:wrap;gap:10px;margin:16px 0;min-height:56px;padding:14px}.pop-token{background:#fff;border:1.5px solid #4a90d9;border-radius:24px;box-shadow:0 1px 4px #4a90d926;color:#2c5282;cursor:grab;font-size:.9rem;font-weight:500;padding:8px 18px;transition:box-shadow .15s,transform .1s,opacity .15s;-webkit-user-select:none;user-select:none}.pop-token:hover{border-color:#2b6cb0;box-shadow:0 4px 12px #4a90d94d;transform:translateY(-2px)}.pop-token.dragging{cursor:grabbing;opacity:.35;transform:scale(.95)}.pop-token.used{border-color:#ccc;color:#999;cursor:default;opacity:.3;pointer-events:none}.pop-submit{background:#4a90d9;border:none;border-radius:8px;box-shadow:0 2px 6px #4a90d940;color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:600;margin-top:12px;padding:10px 24px;transition:background .15s,transform .1s,box-shadow .15s}.pop-submit:hover:not(:disabled){background:#2b6cb0;box-shadow:0 4px 10px #4a90d959;transform:translateY(-1px)}.pop-submit:disabled{background:#cbd5e0;box-shadow:none;color:#a0aec0;cursor:not-allowed;transform:none}.griddrop-container .feedback{border-radius:8px;font-size:.95rem;font-weight:600;margin-top:14px;padding:12px 16px}.griddrop-container .feedback.correct{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.griddrop-container .feedback.incorrect{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.lesson-timeline{background:#fff;border-bottom:1px solid #e2e8f0;margin-bottom:16px;padding:12px 24px 8px;-webkit-user-select:none;user-select:none}.timeline-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.timeline-topic{color:#2d3748;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.timeline-progress{color:#718096;font-size:.75rem}.timeline-track{background:#e2e8f0;border-radius:2px;height:4px;margin:24px 0 16px;position:relative}.timeline-fill{background:#4a90d9;border-radius:2px;height:100%;position:absolute;transition:width .4s ease}.timeline-node-wrapper{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.timeline-node{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:50%;box-shadow:0 1px 4px #0000001a;color:#718096;cursor:pointer;display:flex;font-size:.78rem;font-weight:700;height:34px;justify-content:center;transition:all .2s ease;width:34px}.timeline-node:hover:not(:disabled){border-color:#4a90d9;box-shadow:0 2px 8px #4a90d94d;color:#4a90d9;transform:scale(1.18)}.timeline-node.current{background:#4a90d9;border-color:#4a90d9;box-shadow:0 0 0 4px #4a90d933;color:#fff}.timeline-node.completed{background:#48bb78;border-color:#48bb78;color:#fff}.timeline-node.locked{cursor:not-allowed;opacity:.4}.timeline-tooltip{background:#2d3748;border-radius:7px;bottom:calc(100% + 10px);box-shadow:0 2px 8px #0003;color:#fff;font-size:.72rem;padding:7px 11px;pointer-events:none;white-space:nowrap;z-index:10}.timeline-tooltip,.timeline-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.timeline-tooltip:after{border:5px solid #0000;border-top-color:#2d3748;content:"";top:100%}.tooltip-types{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px}.timeline-label{align-items:center;color:#718096;display:flex;font-size:.78rem;gap:8px;margin-top:4px}.timeline-types{display:flex;flex-wrap:wrap;gap:4px}.pop-token.dragging-overlay{background:#e8f4ff;border-color:#2b6cb0;box-shadow:0 8px 24px #4a90d973;cursor:grabbing;font-weight:700;opacity:1;transform:scale(1.08) rotate(2deg)}.pop-token.placed-token{background:#dbeafe;border-color:#3b82f6;cursor:grab;font-weight:600}.pop-token-bank.bank-over{background:#dbeafe;border:2px dashed #3b82f6}.sentence-builder{margin:16px 0}.builder-zone{background:#f0f7ff;border:2px dashed #4a90d9;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;min-height:52px;padding:10px 12px;transition:background .15s}.builder-placeholder{align-self:center;color:#aaa;font-size:.85rem;font-style:italic}.builder-token{background:#4a90d9;border-radius:20px;color:#fff;cursor:grab;font-size:.9rem;font-weight:500;padding:6px 14px;transition:box-shadow .15s,transform .1s;-webkit-user-select:none;user-select:none}.builder-token:hover{box-shadow:0 3px 8px #4a90d966;transform:translateY(-1px)}.sentence-token-bank{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;min-height:48px;padding:12px}.sentence-token{background:#fff;border:1.5px solid #4a90d9;border-radius:20px;color:#2c5282;cursor:grab;font-size:.9rem;padding:6px 14px;transition:box-shadow .15s,transform .1s;-webkit-user-select:none;user-select:none}.sentence-token:hover{box-shadow:0 3px 8px #4a90d94d;transform:translateY(-1px)}.sentence-submit{background:#4a90d9;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:10px 24px;transition:background .15s}.sentence-submit:hover:not(:disabled){background:#2b6cb0}.sentence-submit:disabled{background:#cbd5e0;color:#a0aec0;cursor:not-allowed}.matching-pairs{margin:16px 0}.pairs-columns{display:flex;gap:32px;justify-content:center;margin-bottom:16px}.pairs-left,.pairs-right{display:flex;flex-direction:column;gap:10px;min-width:120px}.pair-item{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;padding:10px 20px;text-align:center;transition:all .15s;-webkit-user-select:none;user-select:none}.pair-item:hover:not(.used){border-color:#4a90d9;box-shadow:0 2px 8px #4a90d933;transform:translateY(-1px)}.pair-item.selected{background:#e8f4ff;border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d933}.pair-item.correct{background:#d4edda;border-color:#28a745;color:#155724;font-weight:700}.pair-item.incorrect{background:#f8d7da;border-color:#dc3545;color:#721c24}.pair-item.used{cursor:default;opacity:.35;pointer-events:none}.matched-right{color:#28a745;font-size:.8rem;font-weight:600;margin-left:6px}.builder-zone.over{background:#d0e8ff;border-color:#2b6cb0}.sentence-token-bank.bank-over{background:#dbeafe;border:2px dashed #3b82f6}
/*# sourceMappingURL=main.06bb9ba1.css.map*/