.module-workspace{display:flex;flex-direction:column;height:100vh;background-color:#f5f7fa}.module-header{background:#fff;padding:20px 40px;border-bottom:2px solid #e1e8ed;box-shadow:0 2px 4px #0000000d}.back-link{color:#667eea;text-decoration:none;font-size:14px;font-weight:600;margin-bottom:8px;display:inline-block}.module-header h1{margin:8px 0;color:#2c3e50;font-size:28px}.module-progress-indicator{display:flex;align-items:center;gap:8px;margin-top:12px}.level-dot{width:32px;height:32px;border-radius:50%;background:#ecf0f1;color:#95a5a6;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:all .3s}.level-dot.active{background:#667eea;color:#fff}.completion-badge{margin-left:12px;padding:6px 12px;background:#27ae60;color:#fff;border-radius:12px;font-size:13px;font-weight:600}.module-error{background:#e74c3c;color:#fff;padding:12px 40px;font-size:14px}.three-pane-container{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;height:calc(100vh - 120px);overflow:hidden}.pane{display:flex;flex-direction:column;background:#fff;border-right:2px solid #e1e8ed;overflow:hidden}.pane:last-child{border-right:none}.pane-guide{background:#fefefe}.pane-console{background:#f9fafb}.pane-canvas{background:#fff}.pane-title{padding:16px 20px;margin:0;font-size:16px;font-weight:600;color:#2c3e50;border-bottom:2px solid #e1e8ed;background:#f8f9fa;display:flex;align-items:center;justify-content:space-between}.lock-indicator{font-size:12px;color:#e74c3c;font-weight:500}.guide-content{padding:24px;overflow-y:auto;flex:1}.instruction-box{background:#e8f4f8;border:2px solid #3498db;border-radius:8px;padding:20px;margin-bottom:20px}.instruction-box h2{margin-top:0;color:#2980b9}.feedback-box{background:#fef5e7;border:2px solid #f39c12;border-radius:8px;padding:20px;margin-bottom:20px}.feedback-box h3{margin-top:0;color:#e67e22}.reflection-input-area{background:#fff4e6;border:2px solid #f39c12;border-radius:8px;padding:20px}.reflection-input-area h3{margin-top:0;color:#e67e22}.reflection-input-area textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-family:inherit;font-size:14px;resize:vertical;margin-bottom:12px}.reflection-input-area textarea:focus{outline:none;border-color:#f39c12}.btn-primary{width:100%;padding:12px;background:#f39c12;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary:hover:not(:disabled){background:#e67e22;transform:translateY(-2px);box-shadow:0 4px 12px #e67e224d}.btn-primary:disabled{background:#95a5a6;cursor:not-allowed}.pane-console.locked{opacity:.6;pointer-events:none}.locked-message,.completed-message{padding:40px 20px;text-align:center;color:#7f8c8d}.prompt-input-area{padding:24px;display:flex;flex-direction:column;height:100%}.prompt-input-area textarea{flex:1;padding:16px;border:2px solid #e1e8ed;border-radius:8px;font-family:Courier New,monospace;font-size:14px;resize:none;margin-bottom:16px}.prompt-input-area textarea:focus{outline:none;border-color:#667eea}.btn-submit{padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-submit:hover:not(:disabled){background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.btn-submit:disabled{background:#95a5a6;cursor:not-allowed}.output-tabs{display:flex;background:#f8f9fa;border-bottom:2px solid #e1e8ed}.output-tab{flex:1;padding:12px 16px;background:transparent;border:none;border-right:1px solid #e1e8ed;cursor:pointer;font-size:14px;font-weight:600;color:#7f8c8d;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.output-tab:last-child{border-right:none}.output-tab:hover:not(:disabled){background:#ecf0f1}.output-tab.active{background:#fff;color:#667eea;border-bottom:3px solid #667eea;margin-bottom:-2px}.output-tab.empty{opacity:.5;cursor:not-allowed}.output-tab:disabled{cursor:not-allowed}.tab-indicator{color:#27ae60;font-size:10px}.output-display{flex:1;overflow-y:auto;padding:24px}.output-content{background:#fff}.output-meta{display:flex;justify-content:space-between;padding:12px;background:#f8f9fa;border-radius:6px;margin-bottom:16px;font-size:13px;color:#7f8c8d}.output-content h1,.output-content h2,.output-content h3{color:#2c3e50;margin-top:24px;margin-bottom:12px}.output-content p{line-height:1.8;margin-bottom:16px;color:#34495e}.output-content ul,.output-content ol{margin-bottom:16px;padding-left:24px}.output-content li{margin-bottom:8px;line-height:1.6}.output-empty{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#95a5a6;font-size:16px}@media (max-width: 1200px){.three-pane-container{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.pane-canvas{grid-column:1 / -1}}@media (max-width: 768px){.three-pane-container{grid-template-columns:1fr;grid-template-rows:auto auto auto}.pane{border-right:none;border-bottom:2px solid #e1e8ed}.pane:last-child{border-bottom:none}}.conversational-tutor{min-height:100vh;background:#f5f7fa;padding:20px}.tutor-header{max-width:1400px;margin:0 auto 20px}.tutor-header h1{font-size:28px;color:#2c3e50;margin-bottom:8px}.tutor-header p{color:#7f8c8d;font-size:14px}.back-link{display:inline-block;color:#3498db;text-decoration:none;margin-bottom:12px;font-size:14px}.back-link:hover{text-decoration:underline}.tutor-error{max-width:1400px;margin:0 auto 20px;background:#e74c3c;color:#fff;padding:12px 16px;border-radius:8px}.tutor-layout{max-width:900px;margin:0 auto;height:calc(100vh - 180px)}.chat-pane{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:16px 20px;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;align-items:center}.chat-header h2{font-size:20px;color:#2c3e50;margin:0}.component-indicator{font-size:14px;color:#7f8c8d}.component-indicator strong{color:#3498db}.turn-count{margin-left:12px;background:#ecf0f1;padding:4px 8px;border-radius:4px;font-size:12px}.component-progress{padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #ecf0f1;display:flex;gap:12px;overflow-x:auto}.component-step{flex:1;min-width:120px;text-align:center;padding:12px 8px;background:#fff;border:2px solid #ecf0f1;border-radius:8px;position:relative;transition:all .3s}.component-step.current{border-color:#3498db;background:#ebf5fb}.component-step.completed{border-color:#27ae60;background:#eafaf1}.step-number{width:32px;height:32px;border-radius:50%;background:#ecf0f1;color:#7f8c8d;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-weight:700;font-size:14px}.component-step.current .step-number{background:#3498db;color:#fff}.component-step.completed .step-number{background:#27ae60;color:#fff}.step-label{font-size:11px;color:#7f8c8d;line-height:1.3}.step-check{position:absolute;top:8px;right:8px;color:#27ae60;font-size:18px}.chat-messages{flex:1;overflow-y:auto;padding:20px}.message-group{margin-bottom:24px}.message{display:flex;gap:12px;margin-bottom:12px}.message-avatar{width:36px;height:36px;border-radius:50%;background:#3498db;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}.tutor-message .message-avatar{background:#9b59b6;font-size:18px}.message-content{flex:1;background:#f8f9fa;padding:12px 16px;border-radius:12px;border:1px solid #ecf0f1}.user-message .message-content{background:#ebf5fb;border-color:#d6eaf8}.message-text{color:#2c3e50;line-height:1.6;white-space:pre-wrap}.message-text p:first-child{margin-top:0}.message-text p:last-child{margin-bottom:0}.prompt-badge{display:inline-block;background:#3498db;color:#fff;font-size:11px;padding:4px 8px;border-radius:4px;margin-top:8px}.advancement-badge{display:inline-block;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;margin-top:8px}.advancement-badge.advance{background:#d5f4e6;color:#27ae60;border:1px solid #27ae60}.advancement-badge.continue{background:#fff3cd;color:#856404;border:1px solid #ffc107}.advancement-badge.corrective{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.advancement-badge.complete{background:#d1ecf1;color:#0c5460;border:1px solid #bee5eb}.generated-output-inline{margin-top:12px;text-align:center}.view-output-btn{background:#ecf0f1;border:1px solid #bdc3c7;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.view-output-btn:hover{background:#bdc3c7}.chat-input-area{border-top:1px solid #ecf0f1;padding:16px 20px;background:#fff}.awaiting-chat-notice{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;padding:10px 12px;font-size:13px;color:#856404;margin-bottom:12px;text-align:center}.input-actions{margin-bottom:12px;display:flex;gap:8px}.btn-open-prompt{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s}.btn-open-prompt:hover{background:#2980b9}.btn-open-prompt:disabled{background:#bdc3c7;cursor:not-allowed}.chat-input-box,.prompt-input-box{display:flex;flex-direction:column;gap:8px}.chat-input-box textarea,.prompt-input-box textarea{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical}.chat-input-box textarea:focus,.prompt-input-box textarea:focus{outline:none;border-color:#3498db}.prompt-input-box label{font-size:14px;font-weight:500;color:#2c3e50}.last-prompt-hint{background:#fff8e1;border:1px solid #ffd54f;border-radius:6px;padding:10px 12px;font-size:13px;color:#f57c00;margin-bottom:8px;line-height:1.5}.last-prompt-hint strong{color:#e65100}.btn-send,.btn-submit-prompt{align-self:flex-end;padding:10px 24px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.btn-send{background:#95a5a6;color:#fff}.btn-send:hover{background:#7f8c8d}.btn-submit-prompt{background:#27ae60;color:#fff}.btn-submit-prompt:hover{background:#229954}.btn-send:disabled,.btn-submit-prompt:disabled{background:#bdc3c7;cursor:not-allowed}.session-complete{padding:40px 20px;text-align:center}.session-complete h3{font-size:24px;color:#27ae60;margin-bottom:12px}.session-complete p{color:#7f8c8d;margin-bottom:20px}.btn-back-home{display:inline-block;background:#3498db;color:#fff;padding:12px 24px;border-radius:6px;text-decoration:none;font-weight:500}.btn-back-home:hover{background:#2980b9}.output-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.output-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.output-modal-header{padding:20px 24px;border-bottom:1px solid #ecf0f1;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.output-modal-header h2{font-size:20px;color:#2c3e50;margin:0}.modal-close-btn{background:none;border:none;font-size:24px;color:#95a5a6;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close-btn:hover{background:#ecf0f1;color:#2c3e50}.output-modal-content{flex:1;overflow-y:auto;padding:24px;line-height:1.8}.output-modal-content h1,.output-modal-content h2,.output-modal-content h3{color:#2c3e50;margin-top:24px;margin-bottom:12px}.output-modal-content h1:first-child,.output-modal-content h2:first-child,.output-modal-content h3:first-child{margin-top:0}.output-modal-content ul,.output-modal-content ol{margin-left:20px}.output-modal-content li{margin-bottom:8px}@media (max-width: 1024px){.tutor-layout{height:auto}.chat-pane{height:600px}.output-modal{max-width:95%}}.experiment-runner{max-width:1200px;margin:0 auto;padding:20px}.experiment-detail{max-width:900px}.header{margin-bottom:30px}.header h1{margin:10px 0 0;color:#2c3e50}.back-button{background:none;border:none;color:#007bff;font-size:14px;cursor:pointer;padding:8px 0;margin-bottom:10px;display:inline-block}.back-button:hover{text-decoration:underline}.filters{margin-bottom:25px}.filters select{padding:10px 15px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;min-width:200px}.experiments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-bottom:40px}.experiment-card{background:#fff;border:2px solid #dee2e6;border-radius:8px;padding:20px;cursor:pointer;transition:all .2s}.experiment-card:hover{border-color:#007bff;box-shadow:0 4px 12px #007bff26;transform:translateY(-2px)}.card-header{margin-bottom:15px}.card-header h3{margin:0 0 10px;color:#2c3e50;font-size:18px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.card-description{color:#6c757d;line-height:1.6;margin-bottom:15px;min-height:60px}.btn-start{width:100%;background:#007bff;color:#fff;border:none;padding:12px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.btn-start:hover{background:#0056b3}.experiment-content{display:flex;flex-direction:column;gap:25px}.section{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:25px}.section h2{margin:0 0 15px;color:#2c3e50;font-size:20px;border-bottom:2px solid #007bff;padding-bottom:10px}.about-section p{color:#495057;line-height:1.6;margin-bottom:15px}.prompt-display{background:#f8f9fa;border-left:4px solid #007bff;padding:15px;margin-bottom:20px}.prompt-display strong{display:block;color:#495057;margin-bottom:8px;font-size:14px}.prompt-display p{margin:0;color:#2c3e50;font-size:15px;line-height:1.6}.btn-run{background:#28a745;color:#fff;border:none;padding:14px 28px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s;display:inline-flex;align-items:center;gap:8px}.btn-run:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 8px #28a7454d}.btn-run:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.prompt-ran{background:#d4edda;color:#155724;padding:12px 20px;border-radius:4px;border:1px solid #c3e6cb;font-weight:600}.generated-output{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:20px;line-height:1.8;color:#2c3e50;white-space:pre-wrap;margin-bottom:15px;font-size:15px}.btn-regenerate{background:#6c757d;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.btn-regenerate:hover{background:#5a6268}.btn-regenerate:disabled{background:#adb5bd;cursor:not-allowed}.guidance-box{background:#fff3cd;border-left:4px solid #ffc107;padding:15px;border-radius:4px}.guidance-box p{margin:0;color:#856404;line-height:1.6}.reflection-questions{background:#e7f3ff;border-left:4px solid #007bff;padding:20px;margin-bottom:20px;border-radius:4px}.reflection-questions .question{margin-bottom:12px;color:#004085;line-height:1.6}.reflection-questions .question:last-child{margin-bottom:0}.reflection-questions strong{color:#002752}.reflection-textarea{width:100%;padding:15px;border:2px solid #ced4da;border-radius:4px;font-size:15px;font-family:inherit;line-height:1.6;resize:vertical;margin-bottom:15px}.reflection-textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.btn-submit-reflection{background:#007bff;color:#fff;border:none;padding:14px 28px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s}.btn-submit-reflection:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.btn-submit-reflection:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.feedback-section{border-left:4px solid #28a745}.feedback-box{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:20px;line-height:1.8;color:#2c3e50;white-space:pre-wrap;margin-bottom:20px;font-size:15px}.btn-next{background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.btn-next:hover{background:#0056b3}.loading,.no-experiments{text-align:center;padding:60px 20px;color:#6c757d;font-size:16px;grid-column:1 / -1}@media (max-width: 768px){.experiments-grid{grid-template-columns:1fr}.experiment-runner{padding:15px}.section{padding:20px}.btn-run,.btn-submit-reflection{width:100%}}.experiment-management{max-width:1200px;margin:0 auto;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.header h1{margin:0;color:#2c3e50}.create-form-container{background:#f8f9fa;border:2px solid #dee2e6;border-radius:8px;padding:25px;margin-bottom:30px}.create-form-container h2{margin-top:0;color:#495057}.experiment-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:5px;color:#495057;font-size:14px}.form-group input[type=text],.form-group textarea,.form-group select{padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:inherit}.form-group small{color:#6c757d;font-size:12px;margin-top:4px}.checkbox-group label{display:flex;align-items:center;gap:8px;font-weight:400;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.question-input-row{display:flex;gap:10px;margin-bottom:10px}.question-input-row input{flex:1}.btn-remove{background:#dc3545;color:#fff;border:none;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:16px}.btn-remove:hover{background:#c82333}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:10px}.filters{display:flex;gap:15px;margin-bottom:25px}.search-input{flex:1;padding:10px 15px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.filters select{padding:10px 15px;border:1px solid #ced4da;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.experiments-list{display:grid;gap:20px}.experiment-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:20px;transition:box-shadow .2s}.experiment-card:hover{box-shadow:0 4px 12px #0000001a}.experiment-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.experiment-header h3{margin:0 0 10px;color:#2c3e50;font-size:18px}.experiment-meta{display:flex;gap:8px;flex-wrap:wrap}.badge{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.badge-bias{background:#ffc107;color:#000}.badge-sycophancy{background:#17a2b8;color:#fff}.badge-hallucination{background:#dc3545;color:#fff}.badge-ethics{background:#6f42c1;color:#fff}.badge-other{background:#6c757d;color:#fff}.badge-beginner{background:#28a745;color:#fff}.badge-intermediate{background:#fd7e14;color:#fff}.badge-advanced{background:#dc3545;color:#fff}.badge-published{background:#28a745;color:#fff}.badge-draft{background:#6c757d;color:#fff}.experiment-actions{display:flex;gap:8px}.btn-icon{background:none;border:1px solid #ced4da;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:16px;transition:all .2s}.btn-icon:hover{background:#f8f9fa;border-color:#adb5bd}.btn-delete:hover{background:#dc3545;border-color:#dc3545;color:#fff}.btn-toggle-publish{background:none;border:1px solid #ced4da;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:16px;transition:all .2s}.btn-toggle-publish:hover{background:#f8f9fa}.experiment-description{color:#6c757d;margin:15px 0;line-height:1.6}.experiment-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding-top:15px;border-top:1px solid #dee2e6}.stat{text-align:center}.stat strong{display:block;font-size:24px;color:#2c3e50;margin-bottom:4px}.stat span{display:block;font-size:12px;color:#6c757d;text-transform:uppercase}.btn-primary{background:#007bff;color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.btn-primary:hover{background:#0056b3}.btn-secondary{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn-secondary:hover{background:#5a6268}.btn-cancel{background:#fff;color:#6c757d;border:1px solid #ced4da;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-cancel:hover{background:#f8f9fa;border-color:#adb5bd}.no-experiments,.loading{text-align:center;padding:60px 20px;color:#6c757d;font-size:16px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.experiment-stats{grid-template-columns:repeat(2,1fr)}.filters{flex-direction:column}.experiment-header{flex-direction:column;gap:15px}.experiment-actions{width:100%;justify-content:flex-start}}*{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-color:#f5f5f5}.app{display:flex;height:100vh;overflow:hidden}.sidebar{width:320px;background-color:#fff;border-right:1px solid #e0e0e0;padding:20px;overflow-y:auto;flex-shrink:0}.sidebar h2{font-size:18px;margin-bottom:20px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:14px;color:#555}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;font-family:inherit}.form-group textarea{resize:vertical;min-height:80px}.mode-selector{margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.mode-info{margin-top:10px;padding:12px;background-color:#f8f9fa;border-left:3px solid #007bff;font-size:13px;color:#666;line-height:1.4}.main-content{flex:1;display:flex;flex-direction:column;background-color:#fafafa;overflow:hidden}.header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:20px 30px}.header h1{font-size:24px;color:#333;margin-bottom:5px}.header p{font-size:14px;color:#666}.chat-container{flex:1;overflow-y:auto;padding:20px 30px;display:flex;flex-direction:column;gap:20px}.message{display:flex;flex-direction:column;max-width:85%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-header{font-size:12px;color:#666;margin-bottom:6px;font-weight:500}.message-content{padding:15px 18px;border-radius:12px;line-height:1.6;word-wrap:break-word}.message.user .message-content{background-color:#007bff;color:#fff}.message.assistant .message-content{background-color:#fff;color:#333;border:1px solid #e0e0e0}.message-content p{margin-bottom:10px}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{margin-left:20px;margin-bottom:10px}.message-content code{background-color:#f5f5f5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:13px}.message.user .message-content code{background-color:#fff3}.reflection-prompt{margin-top:12px;padding:15px;background-color:#fff8e1;border-left:3px solid #ffc107;border-radius:4px}.reflection-prompt h4{font-size:14px;margin-bottom:12px;color:#333}.rating-group{margin-bottom:12px}.rating-group label{display:block;font-size:13px;margin-bottom:6px;color:#555}.rating-buttons{display:flex;gap:8px}.rating-button{padding:6px 12px;border:1px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.rating-button:hover{background-color:#f5f5f5}.rating-button.selected{background-color:#007bff;color:#fff;border-color:#007bff}.reflection-textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical;min-height:60px;margin-bottom:10px}.submit-reflection-btn{padding:8px 16px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .2s}.submit-reflection-btn:hover{background-color:#218838}.submit-reflection-btn:disabled{background-color:#ccc;cursor:not-allowed}.input-area{background-color:#fff;border-top:1px solid #e0e0e0;padding:20px 30px}.input-container{display:flex;gap:10px;align-items:flex-end}.input-container textarea{flex:1;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;resize:none;min-height:50px;max-height:150px}.input-container textarea:focus{outline:none;border-color:#007bff}.send-button{padding:12px 24px;background-color:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s;white-space:nowrap}.send-button:hover{background-color:#0056b3}.send-button:disabled{background-color:#ccc;cursor:not-allowed}.export-button{margin-top:20px;padding:10px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;width:100%;transition:background-color .2s}.export-button:hover{background-color:#5a6268}.loading{text-align:center;padding:20px;color:#666}.error-message{padding:15px;background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb;border-radius:4px;margin:10px 0;font-size:14px}.empty-state{text-align:center;padding:60px 20px;color:#999}.empty-state h3{font-size:20px;margin-bottom:10px}.empty-state p{font-size:14px}.admin-container{display:flex;height:100vh;background-color:#f5f7fa}.admin-login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.admin-login-box{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.admin-login-box h1{margin-bottom:10px;color:#333;font-size:28px}.login-subtitle{color:#666;margin-bottom:30px;font-size:14px}.btn-primary{width:100%;padding:12px;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .3s}.btn-primary:hover{background-color:#5568d3}.btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.admin-sidebar{width:250px;background-color:#2c3e50;color:#fff;padding:20px 0;flex-shrink:0}.admin-sidebar-header{padding:0 20px 20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:20px}.admin-sidebar-header h2{font-size:20px;margin-bottom:5px}.admin-sidebar-header p{font-size:13px;color:#ffffffb3}.admin-nav{list-style:none}.admin-nav a{display:block;padding:12px 20px;color:#fffc;text-decoration:none;transition:background-color .2s}.admin-nav a:hover{background-color:#ffffff1a}.admin-nav a.active{background-color:#34495e;color:#fff;border-left:3px solid #3498db}.admin-logout-btn{margin:20px;padding:10px;background-color:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer;width:calc(100% - 40px);font-size:14px}.admin-logout-btn:hover{background-color:#c0392b}.admin-main{flex:1;overflow-y:auto;padding:30px}.admin-header{margin-bottom:30px}.admin-header h1{font-size:28px;color:#2c3e50;margin-bottom:8px}.admin-header p{color:#7f8c8d;font-size:14px}.admin-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:24px;margin-bottom:24px}.admin-card h2{font-size:20px;margin-bottom:16px;color:#2c3e50}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.stat-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.stat-value{font-size:32px;font-weight:700;color:#3498db;margin-bottom:5px}.stat-label{font-size:14px;color:#7f8c8d}.admin-table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:12px;background-color:#f8f9fa;color:#2c3e50;font-weight:600;font-size:14px;border-bottom:2px solid #dee2e6}.admin-table td{padding:12px;border-bottom:1px solid #dee2e6;font-size:14px}.admin-table tr:hover{background-color:#f8f9fa}.btn-secondary{padding:8px 16px;background-color:#95a5a6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;margin-right:8px}.btn-secondary:hover{background-color:#7f8c8d}.btn-success{padding:8px 16px;background-color:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.btn-success:hover{background-color:#229954}.btn-danger{padding:8px 16px;background-color:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.btn-danger:hover{background-color:#c0392b}.btn-small{padding:6px 12px;font-size:12px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;padding:30px;border-radius:8px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{font-size:22px;color:#2c3e50}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#7f8c8d}.modal-close:hover{color:#2c3e50}.modal-content .form-group{margin-bottom:20px}.modal-content label{display:block;margin-bottom:8px;font-weight:500;color:#2c3e50}.modal-content input,.modal-content textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.annotation-panel{background:#f8f9fa;padding:16px;border-radius:6px;margin-top:12px}.annotation-section{margin-bottom:16px}.annotation-section h4{font-size:14px;color:#2c3e50;margin-bottom:8px}.checkbox-group{display:flex;flex-wrap:wrap;gap:12px}.checkbox-label{display:flex;align-items:center;cursor:pointer}.checkbox-label input{margin-right:6px}.rating-input{display:flex;gap:8px;align-items:center}.rating-input select{padding:6px;border:1px solid #ddd;border-radius:4px}.participant-badge{display:inline-block;padding:4px 12px;background-color:#3498db;color:#fff;border-radius:12px;font-size:12px;font-weight:600}.loading-spinner{text-align:center;padding:40px;color:#7f8c8d}.empty-state{text-align:center;padding:60px 20px;color:#7f8c8d}.empty-state-icon{font-size:48px;margin-bottom:16px}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge-primary{background-color:#3498db;color:#fff}.badge-success{background-color:#27ae60;color:#fff}.badge-warning{background-color:#f39c12;color:#fff}.badge-danger{background-color:#e74c3c;color:#fff}.session-messages{max-height:600px;overflow-y:auto;padding:20px;background:#f8f9fa;border-radius:6px}.admin-message{margin-bottom:20px;padding:16px;background:#fff;border-radius:6px;border-left:4px solid #3498db}.admin-message.user-message{border-left-color:#2ecc71}.admin-message-header{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px;color:#7f8c8d}.admin-message-content{color:#2c3e50;line-height:1.6}@media (max-width: 768px){.admin-container{flex-direction:column}.admin-sidebar{width:100%}.stats-grid{grid-template-columns:1fr}}
