.cpp-compiler[data-v-457d36f4]{background:#fff;border-radius:8px;padding:20px;margin:20px 0;box-shadow:0 2px 8px #0000001a}.compiler-header[data-v-457d36f4]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #e0e0e0}.compiler-header h3[data-v-457d36f4]{margin:0;color:#2c3e50}.difficulty-badge[data-v-457d36f4]{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700}.difficulty-badge.easy[data-v-457d36f4]{background:#d4edda;color:#155724}.difficulty-badge.medium[data-v-457d36f4]{background:#fff3cd;color:#856404}.difficulty-badge.hard[data-v-457d36f4]{background:#f8d7da;color:#721c24}.exercise-description[data-v-457d36f4]{margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:6px}.hints[data-v-457d36f4]{margin-top:15px;padding:12px;background:#e7f3ff;border-left:4px solid #2196f3;border-radius:4px}.hints h4[data-v-457d36f4]{margin:0 0 10px;color:#1976d2}.hints ul[data-v-457d36f4]{margin:0;padding-left:20px}.editor-toolbar[data-v-457d36f4]{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.editor-toolbar button[data-v-457d36f4]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .3s}.btn-run[data-v-457d36f4]{background:#4caf50;color:#fff}.btn-run[data-v-457d36f4]:hover:not(:disabled){background:#45a049}.btn-run[data-v-457d36f4]:disabled{background:#ccc;cursor:not-allowed}.btn-check[data-v-457d36f4]{background:#2196f3;color:#fff}.btn-check[data-v-457d36f4]:hover{background:#0b7dda}.btn-solution[data-v-457d36f4]{background:#ff9800;color:#fff}.btn-solution[data-v-457d36f4]:hover{background:#fb8c00}.btn-reset[data-v-457d36f4]{background:#607d8b;color:#fff}.btn-reset[data-v-457d36f4]:hover{background:#546e7a}.btn-hints[data-v-457d36f4]{background:#9c27b0;color:#fff}.btn-hints[data-v-457d36f4]:hover{background:#8e24aa}.btn-format[data-v-457d36f4]{background:#00bcd4;color:#fff}.btn-format[data-v-457d36f4]:hover{background:#00acc1}.code-editor[data-v-457d36f4]{background:#1e1e1e;border-radius:4px;overflow:hidden}.code-editor textarea[data-v-457d36f4]{width:100%;height:400px;padding:15px;background:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;border:none;resize:vertical;outline:none;tab-size:4}.output-container[data-v-457d36f4]{margin-top:20px;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.output-header[data-v-457d36f4]{display:flex;justify-content:space-between;padding:10px 15px;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.output-status[data-v-457d36f4]{font-weight:700;padding:2px 8px;border-radius:3px}.output-status.success[data-v-457d36f4]{background:#d4edda;color:#155724}.output-status.error[data-v-457d36f4]{background:#f8d7da;color:#721c24}.output-content[data-v-457d36f4]{padding:15px;margin:0;background:#1e1e1e;color:#d4d4d4;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-x:auto}.test-results[data-v-457d36f4]{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:6px}.test-results h4[data-v-457d36f4]{margin-top:0}.test-case[data-v-457d36f4]{margin-bottom:15px;padding:12px;background:#fff;border-radius:4px;border-left:4px solid #ccc}.test-case.passed[data-v-457d36f4]{border-left-color:#4caf50}.test-case.failed[data-v-457d36f4]{border-left-color:#f44336}.test-case-header[data-v-457d36f4]{display:flex;justify-content:space-between;font-weight:700;margin-bottom:10px}.test-status.passed[data-v-457d36f4]{color:#4caf50}.test-status.failed[data-v-457d36f4]{color:#f44336}.test-case-detail[data-v-457d36f4]{font-size:13px;color:#666}.test-case-detail>div[data-v-457d36f4]{margin:8px 0}.test-case-detail pre[data-v-457d36f4]{margin:4px 0;padding:8px;background:#f5f5f5;border-radius:3px;font-size:12px}.teacher-feedback[data-v-457d36f4]{margin-top:20px;padding:15px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff}.feedback-header[data-v-457d36f4]{font-weight:700;font-size:16px;margin-bottom:10px}.feedback-content[data-v-457d36f4]{line-height:1.6;white-space:pre-line}*{margin:0;padding:0;box-sizing:border-box}#app{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#2c3e50;min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#667eea,#764ba2)}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px 20px;text-align:center;box-shadow:0 4px 6px #0000001a}.header-content h1{font-size:2.5em;margin-bottom:10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.subtitle{font-size:1.1em;opacity:.95}.main-content{flex:1;max-width:1400px;width:100%;margin:0 auto;padding:30px 20px}.intro-section{text-align:center;margin-bottom:40px;background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a}.intro-section h2{font-size:2em;color:#667eea;margin-bottom:10px}.intro-section p{color:#666;font-size:1.1em}.home-view{width:100%}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:30px}.module-card{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 12px #0000001a;transition:transform .3s;text-align:center}.module-card:hover{transform:translateY(-5px)}.module-icon{font-size:4em;text-align:center;margin-bottom:15px}.module-card h3{font-size:1.8em;margin-bottom:10px;color:#2c3e50;text-align:center}.module-card p{text-align:center;color:#666;margin-bottom:20px}.chapter-list,.exercise-list,.quiz-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.chapter-btn,.exercise-btn,.quiz-btn{padding:12px 20px;border:2px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;text-align:left;transition:all .3s;font-size:.95em}.chapter-btn:hover,.exercise-btn:hover,.quiz-btn:hover{border-color:#667eea;background:#f8f9ff;transform:translate(5px)}.exercise-btn{display:flex;align-items:center;gap:10px}.tag{background:#e3f2fd;color:#1976d2;padding:4px 10px;border-radius:12px;font-size:.85em;font-weight:500;flex-shrink:0}.quiz-view{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a}.quiz-content h2{color:#667eea;font-size:2em;margin-bottom:30px;padding-bottom:15px;border-bottom:3px solid #667eea}.back-btn{background:#607d8b;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;margin-bottom:20px;font-weight:500;transition:all .3s}.back-btn:hover{background:#546e7a;transform:translate(-5px)}.chapter-view{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a}.exercise-view{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000001a}.chapter-content{margin-top:20px}.chapter-content h2{color:#667eea;margin-bottom:30px;font-size:2em;padding-bottom:15px;border-bottom:3px solid #667eea}.section{margin-bottom:40px}.section h3{color:#2c3e50;margin:25px 0 15px;font-size:1.5em}.section-content{color:#333;line-height:1.8}.section-content p{margin:12px 0}.section-content ul,.section-content ol{margin:15px 0;padding-left:30px}.section-content li{margin:8px 0}.section-content strong{color:#667eea}.highlight-box{background:#e3f2fd;border-left:4px solid #2196f3;padding:15px 20px;margin:20px 0;border-radius:4px}.highlight-box.success{background:#f0f8e8;border-left-color:#4caf50}.highlight-box.warning{background:#fff8e1;border-left-color:#ff9800}.code-example{margin:20px 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.code-example pre{background:#1e1e1e;color:#d4d4d4;padding:20px;margin:0;overflow-x:auto}.code-example code{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.6}.question-card{background:#f8f9fa;border-radius:12px;padding:25px;margin-bottom:25px;box-shadow:0 2px 8px #0000001a;border:2px solid #e0e0e0;transition:all .3s}.question-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.question-header{display:flex;justify-content:space-between;margin-bottom:15px}.question-type{background:#667eea;color:#fff;padding:5px 15px;border-radius:15px;font-size:.9em;font-weight:500}.question-text{color:#2c3e50;margin-bottom:20px;font-size:1.1em;font-weight:500;line-height:1.6}.options{display:flex;flex-direction:column;gap:10px}.option-btn{background:#fff;color:#2c3e50;border:2px solid #e0e0e0;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:400;transition:all .3s;text-align:left;font-size:1em}.option-btn:hover{border-color:#667eea;background:#f8f9ff;transform:translate(5px)}.option-btn.selected{background:#e3f2fd;border-color:#667eea;color:#1976d2}.option-btn.correct{background:#d1fae5;border-color:#10b981;color:#065f46}.option-btn.wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b}.essay-answer,.fill-answer{margin-bottom:20px}.fill-input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;font-family:Consolas,Monaco,monospace;transition:all .3s}.fill-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.essay-input{width:100%;padding:15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;font-family:inherit;resize:vertical;min-height:150px;line-height:1.6}.essay-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.question-actions{display:flex;gap:10px;margin-top:15px}.check-btn,.show-answer-btn{background:#667eea;color:#fff;border:none;padding:10px 25px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .3s}.check-btn:hover,.show-answer-btn:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 8px #667eea66}.result-box{margin-top:20px}.result-message{padding:15px 20px;border-radius:8px;background:#fff}.result-message.correct{background:#d1fae5;border-left:4px solid #10b981;color:#065f46}.result-message.wrong{background:#fee2e2;border-left:4px solid #ef4444;color:#991b1b}.result-message strong{display:block;font-size:1.1em;margin-bottom:8px}.result-message p{margin:8px 0;line-height:1.6}.explanation{margin-top:10px;font-size:.95em;opacity:.9}.answer-box{background:#fff8e1;border-left:4px solid #ff9800;padding:15px 20px;border-radius:8px}.answer-box strong{display:block;font-size:1.05em;color:#e65100;margin-bottom:10px}.answer-box p{margin-top:10px;line-height:1.8;white-space:pre-wrap;color:#666}.app-footer{background:#2c3e50;color:#fff;text-align:center;padding:20px;margin-top:40px}.app-footer p{margin:5px 0}@media(max-width:768px){.header-content h1{font-size:1.8em}.module-grid{grid-template-columns:1fr}}
