.course-viewer{max-width:1000px;margin:0 auto}.viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.viewer-actions{display:flex;gap:8px}.back-btn,.export-btn,.edit-btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.back-btn{background:#f5f5f5;color:#333}.edit-btn{background:#ff9800;color:#fff}.edit-btn:hover{background:#f57c00}.export-btn{background:#4caf50;color:#fff}.export-btn:hover{background:#45a049}.course-header{background:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.course-header h1{font-size:32px;margin-bottom:12px;color:#333}.course-description{color:#666;font-size:16px;line-height:1.6}.lessons{display:flex;flex-direction:column;gap:24px}.lesson-card{background:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.lesson-card h2{font-size:24px;margin-bottom:16px;color:#333;border-bottom:2px solid #2196F3;padding-bottom:8px}.lesson-content{line-height:1.8;color:#444;margin-bottom:32px}.lesson-content h1,.lesson-content h2,.lesson-content h3{margin-top:24px;margin-bottom:12px;color:#333}.lesson-content code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.lesson-content pre{background:#f5f5f5;padding:16px;border-radius:6px;overflow-x:auto;margin:16px 0}.lesson-content pre code{background:none;padding:0}.questions-section,.coding-section{margin-top:32px;padding-top:32px;border-top:1px solid #eee}.questions-section h3,.coding-section h3{font-size:20px;margin-bottom:20px;color:#333}.question{margin-bottom:32px;padding:20px;background:#f9f9f9;border-radius:8px}.question h4{font-size:16px;margin-bottom:16px;color:#333}.options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.option{padding:14px 16px;background:#fff;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s;font-size:14px}.option:hover{border-color:#2196f3;background:#f5f5f5}.option.selected{border-color:#2196f3;background:#e3f2fd}.option.correct{border-color:#4caf50;background:#e8f5e9}.option.incorrect{border-color:#f44336;background:#ffebee}.check-btn{padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;margin-top:8px}.check-btn:hover{background:#1976d2}.explanation{margin-top:16px;padding:16px;background:#e3f2fd;border-radius:6px;border-left:4px solid #2196F3}.explanation strong{color:#1976d2}.coding-exercise{margin-bottom:32px;padding:20px;background:#f9f9f9;border-radius:8px}.coding-exercise h4{font-size:18px;margin-bottom:12px;color:#333}.coding-exercise p{color:#666;margin-bottom:16px;line-height:1.6}.test-cases{margin-bottom:16px;padding:12px;background:#fff;border-radius:6px}.test-cases strong{display:block;margin-bottom:8px;color:#333}.test-cases ul{list-style:none;margin-left:0}.test-cases li{padding:6px 0;color:#666;font-size:14px}.test-cases code{background:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace}.editor-container{margin:16px 0;border:1px solid #ddd;border-radius:6px;overflow:hidden}.solution-btn{padding:10px 20px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;margin-top:12px}.solution-btn:hover{background:#45a049}.solution{margin-top:16px;padding:16px;background:#fff;border-radius:6px;border-left:4px solid #4CAF50}.solution strong{display:block;margin-bottom:8px;color:#333}.solution pre{background:#f5f5f5;padding:12px;border-radius:4px;overflow-x:auto;margin-top:8px}.solution code{font-family:Courier New,monospace;font-size:14px}.course-creator{max-width:800px;margin:0 auto}.course-creator h2{font-size:28px;margin-bottom:8px;color:#333}.subtitle{color:#666;margin-bottom:32px;line-height:1.6}.creator-form{background:#fff;padding:32px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.input-section{margin-bottom:24px}.input-section label{display:block;margin-bottom:8px;font-weight:600;color:#333}.file-input{width:100%;padding:12px;border:2px dashed #ddd;border-radius:6px;cursor:pointer;background:#f9f9f9}.file-list{margin-top:12px;padding:12px;background:#f5f5f5;border-radius:4px}.file-list ul{list-style:none;margin-top:8px}.file-list li{padding:4px 0;color:#666}.path-input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:Courier New,monospace}.path-input:focus{outline:none;border-color:#2196f3}.input-section small{display:block;margin-top:6px;color:#999;font-size:12px}.divider{text-align:center;margin:24px 0;position:relative}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#ddd}.divider:before{left:0}.divider:after{right:0}.divider span{background:#fff;padding:0 16px;color:#999;font-weight:600}.error-message{padding:12px;background:#ffebee;color:#c62828;border-radius:6px;margin-bottom:16px}.create-btn{width:100%;padding:14px;background:#2196f3;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.create-btn:hover:not(:disabled){background:#1976d2}.create-btn:disabled{background:#ccc;cursor:not-allowed}.loading{margin-top:24px;text-align:center;padding:24px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.loading p{color:#666;margin-bottom:8px}.loading-note{font-size:14px;color:#999}.course-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.course-list-header h2{font-size:28px;color:#333}.refresh-btn{padding:10px 20px;background:#2196f3;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.refresh-btn:hover{background:#1976d2}.empty-state{text-align:center;padding:60px 20px;color:#666}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.course-card{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.course-card h3{font-size:20px;margin-bottom:12px;color:#333}.course-description{color:#666;margin-bottom:16px;flex:1;line-height:1.5}.course-meta{display:flex;justify-content:space-between;font-size:12px;color:#999;margin-bottom:16px;padding-top:16px;border-top:1px solid #eee}.course-actions{display:flex;gap:8px}.btn{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s;flex:1}.btn-primary{background:#2196f3;color:#fff}.btn-primary:hover{background:#1976d2}.btn-secondary{background:#f5f5f5;color:#333}.btn-secondary:hover{background:#e0e0e0}.btn-admin{background:#ff9800;color:#fff}.btn-admin:hover{background:#f57c00}.admin-viewer{max-width:1200px;margin:0 auto;padding:20px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e0e0e0}.admin-actions{display:flex;align-items:center;gap:16px}.save-btn{padding:10px 24px;background:#4caf50;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:500;transition:background .2s}.save-btn:hover:not(:disabled){background:#45a049}.save-btn:disabled{background:#ccc;cursor:not-allowed}.save-message{padding:8px 16px;border-radius:4px;font-size:14px}.save-message.success{background:#e8f5e9;color:#2e7d32}.save-message.error{background:#ffebee;color:#c62828}.back-btn{padding:8px 16px;background:#f5f5f5;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.back-btn:hover{background:#e0e0e0}.admin-content{display:flex;flex-direction:column;gap:32px}.admin-section{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.admin-section h2{margin-top:0;margin-bottom:20px;color:#333;font-size:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-input,.form-textarea,.form-select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.form-textarea{resize:vertical;min-height:80px}.markdown-editor{font-family:Courier New,monospace;font-size:13px}.markdown-preview{margin-top:12px;padding:12px;background:#f9f9f9;border-radius:4px;border:1px solid #e0e0e0}.markdown-preview strong{display:block;margin-bottom:8px;color:#666}.preview-content{line-height:1.6;color:#444}.lesson-editor{margin-bottom:16px;border:1px solid #e0e0e0;border-radius:6px;overflow:hidden}.lesson-header{padding:16px;background:#f5f5f5;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.lesson-header:hover{background:#eee}.lesson-header h3{margin:0;font-size:18px;color:#333}.lesson-content-editor{padding:20px;background:#fff}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;margin-top:24px}.section-header h4{margin:0;font-size:18px;color:#333}.add-btn{padding:6px 12px;background:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.add-btn:hover{background:#1976d2}.question-editor,.exercise-editor{margin-bottom:12px;border:1px solid #e0e0e0;border-radius:4px;overflow:hidden}.question-header,.exercise-header{padding:12px 16px;background:#fafafa;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s}.question-header:hover,.exercise-header:hover{background:#f0f0f0}.delete-btn{padding:4px 8px;background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background .2s}.delete-btn:hover{background:#d32f2f}.question-content-editor,.exercise-content-editor{padding:16px;background:#fff}.option-editor{display:flex;align-items:center;gap:8px;margin-bottom:8px}.correct-radio{cursor:pointer}.option-input{flex:1}.remove-btn{padding:4px 8px;background:#ff9800;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;line-height:1;transition:background .2s;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.remove-btn:hover:not(:disabled){background:#f57c00}.remove-btn:disabled{background:#ccc;cursor:not-allowed}.add-option-btn{padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;margin-top:8px;transition:background .2s}.add-option-btn:hover{background:#45a049}.help-text{display:block;margin-top:8px;color:#666;font-size:12px}.questions-editor,.exercises-editor{margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.password-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.password-modal{background:#fff;padding:32px;border-radius:8px;box-shadow:0 4px 20px #0000004d;width:90%;max-width:400px}.password-modal h2{margin:0 0 24px;color:#333;font-size:24px}.password-modal .form-group{margin-bottom:20px}.password-modal label{display:block;margin-bottom:8px;font-weight:500;color:#555}.password-modal input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.password-modal input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.password-modal input.error{border-color:#f44336}.error-message{margin-top:8px;color:#f44336;font-size:13px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.btn-cancel{background:#f5f5f5;color:#333}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:#2196f3;color:#fff}.btn-submit:hover{background:#1976d2}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#fff;padding:20px 40px;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.navbar h1{color:#2196f3;font-size:24px}.nav-buttons{display:flex;gap:12px;align-items:center}.nav-buttons button{padding:10px 20px;background:#f5f5f5;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.nav-buttons button:hover{background:#e0e0e0}.nav-buttons button.active{background:#2196f3;color:#fff}.admin-toggle{margin-left:16px;padding-left:16px;border-left:1px solid #e0e0e0;display:flex;align-items:center;gap:10px}.toggle-label-text{font-size:14px;color:#666;font-weight:500}.toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.mode-text{font-size:14px;font-weight:500;color:#999;transition:color .2s;min-width:50px}.mode-text.active{color:#2196f3;font-weight:600}.toggle-input{display:none}.toggle-slider{position:relative;width:50px;height:26px;background:#ccc;border-radius:26px;transition:background .3s;cursor:pointer}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .3s;box-shadow:0 2px 4px #0003}.toggle-input:checked+.toggle-slider{background:#2196f3}.toggle-input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label:hover .toggle-slider{box-shadow:0 0 0 3px #2196f31a}.main-content{flex:1;padding:40px;max-width:1200px;width:100%;margin:0 auto}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:#333}code{font-family:Courier New,monospace}
