.language-selector{background:var(--color-bg-input);border:1px solid var(--color-text-muted);color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;cursor:pointer;outline:none;transition:border-color var(--transition-fast)}.language-selector:focus{border-color:var(--color-cyan)}.language-selector option{background:var(--color-bg-secondary);color:var(--color-text-primary)}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.header-brand{display:flex;align-items:center;gap:var(--space-sm)}.header-icon{flex-shrink:0}.header-wordmark{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-text-primary);letter-spacing:.5px}.header-actions{display:flex;align-items:center;gap:var(--space-sm)}.header-theme-toggle{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-text-muted);color:var(--color-text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.header-theme-toggle:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.header-logout{background:none;border:1px solid var(--color-text-muted);color:var(--color-text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.header-logout:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.spinner{display:inline-block;border:3px solid var(--color-border-subtle);border-top-color:var(--litmus-cyan);border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:16px;height:16px;border-width:2px}.spinner-medium{width:32px;height:32px}@keyframes spin{to{transform:rotate(360deg)}}.password-gate{display:flex;align-items:center;justify-content:center;flex:1}.password-gate-card{display:flex;flex-direction:column;align-items:center;width:100%;max-width:420px}.password-gate-icon{margin-bottom:var(--space-lg)}.password-gate-title{font-size:2.5rem;color:var(--color-text-primary);letter-spacing:1px;margin-bottom:var(--space-xs)}.password-gate-gradient-bar{width:160px;height:5px;border-radius:2.5px;background:var(--litmus-gradient);margin-bottom:var(--space-md)}.password-gate-tagline{color:var(--color-text-secondary);font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-2xl)}.password-gate-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.password-gate-input-row{display:flex;width:100%;max-width:320px;gap:var(--space-sm)}.password-gate-input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:.95rem;outline:none;transition:border-color var(--transition-fast)}.password-gate-input:focus{border-color:var(--litmus-cyan)}.password-gate-input:disabled{opacity:.6}.password-gate-button{width:48px;height:42px;background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast);flex-shrink:0}.password-gate-button:hover:not(:disabled){opacity:.9}.password-gate-button:disabled{opacity:.4;cursor:not-allowed}.password-gate-error{color:var(--litmus-incorrect);font-size:.85rem}.password-gate-helper{color:var(--color-text-muted);font-size:.75rem;margin-top:var(--space-xs)}.apikey-save-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.8rem;color:var(--color-text-secondary);cursor:pointer}.apikey-save-label input[type=checkbox]{accent-color:var(--litmus-cyan)}.welcome{display:flex;align-items:center;justify-content:center;flex:1}.welcome-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:480px;padding:var(--space-xl)}.welcome-icon{margin-bottom:var(--space-lg)}.welcome-heading{font-size:2rem;margin-bottom:var(--space-sm)}.welcome-gradient-bar{width:120px;height:4px;border-radius:2px;background:var(--litmus-gradient);margin-bottom:var(--space-lg)}.welcome-body{color:var(--color-text-secondary);font-size:1rem;line-height:1.7;margin-bottom:var(--space-2xl)}.welcome-buttons{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.welcome-cta{padding:var(--space-sm) var(--space-2xl);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.welcome-cta:hover{opacity:.9;transform:translateY(-1px)}.welcome-cta-secondary{padding:var(--space-sm) var(--space-2xl);background:none;color:var(--color-text-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.welcome-cta-secondary:hover{border-color:var(--litmus-cyan);color:var(--color-text-primary);transform:translateY(-1px)}.welcome-divider{display:flex;align-items:center;width:100%;margin:var(--space-xl) 0 var(--space-lg);gap:var(--space-md)}.welcome-divider:before,.welcome-divider:after{content:"";flex:1;height:1px;background:var(--color-text-muted);opacity:.4}.welcome-divider span{color:var(--color-text-muted);font-size:.85rem;white-space:nowrap}.welcome-teach{padding:var(--space-sm) var(--space-2xl);background:none;color:var(--color-text-secondary);border:2px dashed var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.welcome-teach:hover{border-color:var(--litmus-cyan);color:var(--color-text-primary);transform:translateY(-1px)}.welcome-lecturer{margin-top:var(--space-xl);background:none;border:none;color:var(--color-text-muted);font-family:var(--font-body);font-size:.8rem;cursor:pointer;padding:var(--space-xs) var(--space-sm);transition:color var(--transition-fast)}.welcome-lecturer:hover{color:var(--color-text-secondary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-md)}.modal-card{background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);width:100%;max-width:520px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg)}.modal-heading{font-size:1.4rem;text-align:center}.modal-label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.85rem;font-weight:500;color:var(--color-text-secondary)}.modal-input{padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color var(--transition-fast)}.modal-input:focus{border-color:var(--litmus-cyan)}.modal-textarea{padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;line-height:1.6;resize:vertical;outline:none;transition:border-color var(--transition-fast)}.modal-textarea:focus{border-color:var(--litmus-cyan)}.modal-char-count{align-self:flex-end;font-size:.75rem;color:var(--color-text-muted)}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end}.modal-cancel{padding:var(--space-sm) var(--space-lg);background:none;border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.modal-cancel:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.modal-save{padding:var(--space-sm) var(--space-lg);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.modal-save:hover:not(:disabled){opacity:.9}.modal-save:disabled{opacity:.4;cursor:not-allowed}.modal-upload-section{display:flex;flex-direction:column;gap:var(--space-xs)}.modal-upload-label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary)}.modal-upload-hint{font-size:.75rem;color:var(--color-text-muted)}.modal-dropzone{border:2px dashed var(--litmus-cyan);border-radius:var(--radius-sm);padding:var(--space-lg) var(--space-md);text-align:center;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.modal-dropzone:hover{background:#00b4d80d}.modal-dropzone--active{border-color:var(--litmus-orange);background:#f7931e14}.modal-dropzone--disabled{opacity:.4;cursor:not-allowed}.modal-dropzone-text{font-size:.85rem;color:var(--color-text-muted)}.modal-file-input{display:none}.modal-file-list{display:flex;flex-direction:column;gap:var(--space-xs)}.modal-file-item{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg-input);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:.8rem}.modal-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.modal-file-remove{background:none;border:none;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;padding:0 var(--space-xs);line-height:1;flex-shrink:0}.modal-file-remove:hover{color:var(--litmus-incorrect)}.modal-file-error{font-size:.8rem;color:var(--litmus-incorrect);margin:0}.modal-validation-hint{font-size:.8rem;color:var(--color-text-muted);margin:0;text-align:center}.modal-existing-files,.modal-knowledge-preview{display:flex;flex-direction:column;gap:var(--space-xs)}.modal-knowledge-toggle{background:none;border:none;color:var(--litmus-cyan);font-family:var(--font-body);font-size:.85rem;font-weight:500;cursor:pointer;text-align:left;padding:0}.modal-knowledge-toggle:hover{text-decoration:underline}.modal-knowledge-text{background:var(--color-bg-input);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-body);font-size:.75rem;line-height:1.5;color:var(--color-text-secondary);max-height:200px;overflow-y:auto;white-space:pre-wrap;margin:0}.modal-extracting{font-size:.85rem;color:var(--litmus-cyan);text-align:center;margin:0}.modal-extract-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.modal-save-without{background:none;border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.8rem;padding:var(--space-xs) var(--space-md);cursor:pointer}.modal-save-without:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}.catalog-modal{background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);width:100%;max-width:680px;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg)}.catalog-subheading{text-align:center;color:var(--color-text-secondary);font-size:.9rem;margin:0}.catalog-search{padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color var(--transition-fast)}.catalog-search:focus{border-color:var(--litmus-cyan)}.catalog-body{display:flex;flex-direction:column;gap:var(--space-md);min-height:120px;max-height:50vh;overflow-y:auto}.catalog-spinner-wrap{display:flex;justify-content:center;padding:var(--space-xl)}.catalog-spinner{width:28px;height:28px;border:3px solid var(--color-border-subtle);border-top-color:var(--litmus-cyan);border-radius:50%;animation:catalog-spin .7s linear infinite}@keyframes catalog-spin{to{transform:rotate(360deg)}}.catalog-error{text-align:center;padding:var(--space-lg);color:var(--color-text-secondary)}.catalog-error p{margin:0 0 var(--space-md)}.catalog-retry-btn{padding:var(--space-xs) var(--space-lg);background:none;border:1px solid var(--litmus-cyan);border-radius:var(--radius-sm);color:var(--litmus-cyan);font-family:var(--font-body);font-size:.85rem;cursor:pointer;transition:background var(--transition-fast)}.catalog-retry-btn:hover{background:#00b4d814}.catalog-empty{text-align:center;color:var(--color-text-muted);padding:var(--space-xl);margin:0}.catalog-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);transition:border-color var(--transition-fast)}.catalog-card:hover{border-color:var(--litmus-cyan)}.catalog-card-header{display:flex;align-items:center;gap:var(--space-sm)}.catalog-card-name{font-weight:600;font-size:.95rem;color:var(--color-text-primary)}.catalog-card-locale{font-size:.7rem;font-weight:500;color:var(--litmus-cyan);border:1px solid var(--litmus-cyan);border-radius:var(--radius-sm);padding:1px 6px;text-transform:uppercase}.catalog-card-desc{font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;margin:0}.catalog-card-meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.catalog-card-author{font-size:.75rem;color:var(--color-text-muted)}.catalog-card-tags{display:flex;gap:4px;flex-wrap:wrap}.catalog-tag{font-size:.7rem;background:#00b4d81f;color:var(--litmus-cyan);padding:1px 8px;border-radius:10px;white-space:nowrap}.catalog-card-action{display:flex;justify-content:flex-end;margin-top:var(--space-xs)}.catalog-import-btn{padding:var(--space-xs) var(--space-md);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.catalog-import-btn:hover:not(:disabled){opacity:.9}.catalog-import-btn:disabled{opacity:.5;cursor:not-allowed}.catalog-update-btn{background:#d4a017}.catalog-badge{font-size:.75rem;font-weight:500;padding:2px 10px;border-radius:10px}.catalog-badge-imported{background:#2a9d4e26;color:var(--litmus-correct)}.catalog-footer{border-top:1px solid var(--color-border-subtle);padding-top:var(--space-md);text-align:center}.catalog-publish-heading{font-size:.85rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-xs)}.catalog-publish-info{font-size:.8rem;color:var(--color-text-secondary);margin:0 0 var(--space-xs)}.catalog-publish-link{font-size:.8rem;color:var(--litmus-cyan);text-decoration:none}.catalog-publish-link:hover{text-decoration:underline}.materials-panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.materials-panel{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 16px 48px #0000004d}.materials-panel-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;line-height:1}.materials-panel-close:hover{color:var(--color-text-primary)}.materials-panel-title{font-family:var(--font-heading);font-size:1.4rem;margin:0 0 var(--space-xs) 0}.materials-panel-subtitle{color:var(--color-text-secondary);font-size:.9rem;margin:0 0 var(--space-lg) 0}.materials-section{margin-bottom:var(--space-lg)}.materials-section h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 var(--space-sm) 0}.materials-blueprint-sections{display:flex;flex-direction:column;gap:var(--space-xs)}.materials-blueprint-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:.9rem}.materials-blueprint-title{font-weight:500}.materials-blueprint-meta{display:flex;gap:var(--space-xs)}.materials-tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.75rem;background:var(--litmus-cyan);color:#fff;opacity:.85}.materials-list{display:flex;flex-direction:column;gap:var(--space-xs)}.materials-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.materials-item-icon{font-size:1.2rem;flex-shrink:0;width:28px;text-align:center}.materials-item-info{flex:1;display:flex;flex-direction:column}.materials-item-name{font-size:.9rem;font-weight:500}.materials-item-meta{font-size:.75rem;color:var(--color-text-muted)}.materials-item-download{background:none;border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;font-size:1rem;color:var(--color-text-secondary);transition:color var(--transition-fast),border-color var(--transition-fast)}.materials-item-download:hover{color:var(--litmus-cyan);border-color:var(--litmus-cyan)}.materials-item-download:disabled{opacity:.4;cursor:default}.materials-exercise-list{display:flex;flex-direction:column;gap:var(--space-xs)}.materials-exercise-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:.85rem}.materials-exercise-text{flex:1;line-height:1.4}.materials-exercise-more{font-size:.8rem;color:var(--color-text-muted);font-style:italic;margin:var(--space-xs) 0 0 0}.topic-tile-materials-badge{position:absolute;bottom:6px;left:50%;transform:translate(-50%);display:flex;gap:2px;align-items:center;padding:1px 8px;border-radius:10px;font-size:.7rem;background:var(--litmus-cyan);color:#fff;opacity:0;transition:opacity var(--transition-fast);cursor:pointer;white-space:nowrap}.topic-tile-custom:hover .topic-tile-materials-badge{opacity:.85}.topic-tile-materials-badge:hover{opacity:1!important}.topic-selection{text-align:center}.topic-selection-heading{font-size:1.75rem;margin-bottom:var(--space-xs)}.topic-selection-subheading{color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}.topic-tile{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);color:var(--color-text-primary);font-family:var(--font-body)}.topic-tile:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000004d;border-color:var(--litmus-cyan)}.topic-icon{flex-shrink:0}.topic-tile-name{font-size:.95rem;font-weight:500}.topic-tile-custom{border-style:dashed;position:relative}.topic-tile-custom-icon{font-size:1.5rem;opacity:.7}.topic-tile-delete{position:absolute;top:6px;right:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1rem;color:var(--color-text-muted);background:var(--color-bg-primary);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.topic-tile-custom:hover .topic-tile-delete{opacity:1}.topic-tile-delete:hover{color:var(--litmus-incorrect)}.topic-tile-create{border-style:dashed;border-color:var(--color-text-muted);opacity:.7;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.topic-tile-create:hover{opacity:1}.topic-tile-create-icon{font-size:2rem;line-height:1;color:var(--litmus-cyan)}.topic-tile-edit{position:absolute;top:6px;left:8px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;color:var(--color-text-muted);background:var(--color-bg-primary);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.topic-tile-custom:hover .topic-tile-edit{opacity:1}.topic-tile-edit:hover{color:var(--litmus-cyan)}.topic-tile-export{position:absolute;top:6px;right:34px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;color:var(--color-text-muted);background:var(--color-bg-primary);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),color var(--transition-fast)}.topic-tile-custom:hover .topic-tile-export{opacity:1}.topic-tile-export:hover{color:var(--litmus-cyan)}.topic-tile-catalog{border-style:dashed;border-color:var(--litmus-cyan);opacity:.7;transition:opacity var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.topic-tile-catalog:hover{opacity:1}.topic-tile-catalog-icon{font-size:2rem;line-height:1}.streaming-text{font-size:1rem;line-height:1.7;white-space:pre-wrap;word-break:break-word}.streaming-cursor{display:inline-block;width:2px;height:1.1em;background-color:var(--litmus-cyan);margin-left:2px;vertical-align:text-bottom;animation:blink .7s step-end infinite}@keyframes blink{50%{opacity:0}}.quiz{display:flex;flex-direction:column;gap:var(--space-lg)}.quiz-header{display:flex;align-items:center;gap:var(--space-md)}.quiz-back-button{background:none;border:1px solid var(--color-text-muted);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.85rem;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast),border-color var(--transition-fast)}.quiz-back-button:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.quiz-topic-name{font-size:1.3rem;flex:1}.quiz-difficulty-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--litmus-amber);background:#f7931e1a;padding:2px 8px;border-radius:99px;font-weight:500}.quiz-score{display:flex;align-items:baseline;gap:2px;font-family:var(--font-body);font-weight:600;font-size:1rem;margin-left:auto}.quiz-score-correct{color:var(--litmus-correct)}.quiz-score-separator{color:var(--color-text-muted);font-size:.85rem}.quiz-score-total{color:var(--color-text-secondary)}.difficulty-selector{text-align:center;padding:var(--space-xl) 0}.difficulty-heading{font-size:1.5rem;margin-bottom:var(--space-xs)}.difficulty-subheading{color:var(--color-text-secondary);margin-bottom:var(--space-xl);font-size:.95rem}.difficulty-options{display:flex;flex-direction:column;gap:var(--space-md);max-width:480px;margin:0 auto}.difficulty-option{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);color:var(--color-text-primary);font-family:var(--font-body)}.difficulty-option:hover{transform:translateY(-2px);border-color:var(--litmus-cyan);box-shadow:0 4px 16px #00000040}.difficulty-option-name{font-weight:600;font-size:1.05rem}.difficulty-option-desc{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.type-heading{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--space-xl);margin-bottom:var(--space-sm)}.type-toggles{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.type-toggle{padding:var(--space-xs) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:99px;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.85rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.type-toggle:hover{border-color:var(--litmus-cyan);color:var(--color-text-primary)}.type-toggle.active{border-color:var(--litmus-cyan);background:#00b4d81a;color:var(--litmus-cyan);font-weight:500}.quiz-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-2xl);color:var(--color-text-secondary)}.quiz-question{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg)}.quiz-question h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--litmus-cyan);margin-bottom:var(--space-sm);font-family:var(--font-body);font-weight:500}.quiz-question-text{font-size:1.05rem;line-height:1.7}.quiz-hint{margin-top:var(--space-md);color:var(--color-text-secondary);font-size:.9rem}.quiz-hint summary{cursor:pointer;color:var(--litmus-amber);font-weight:500;transition:color var(--transition-fast)}.quiz-hint summary:hover{color:var(--litmus-orange)}.quiz-hint p{margin-top:var(--space-sm);padding-left:var(--space-md);border-left:2px solid var(--litmus-amber)}.quiz-answer-area{display:flex;flex-direction:column;gap:var(--space-md)}.quiz-answer-input{width:100%;padding:var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;line-height:1.6;resize:vertical;outline:none;transition:border-color var(--transition-fast)}.quiz-answer-input:focus{border-color:var(--litmus-cyan)}.quiz-submit-button{align-self:flex-end;padding:var(--space-sm) var(--space-xl);background:var(--litmus-dark);color:#e8e8e8;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.quiz-submit-button:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.quiz-submit-button:disabled{opacity:.4;cursor:not-allowed}.quiz-evaluating{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg)}.quiz-feedback{border-radius:var(--radius-md);padding:var(--space-lg)}.quiz-feedback.correct{background:var(--color-correct-bg);border-left:4px solid var(--litmus-correct)}.quiz-feedback.incorrect{background:var(--color-incorrect-bg);border-left:4px solid var(--litmus-incorrect)}.quiz-feedback-indicator{font-family:var(--font-heading);font-size:1.2rem;margin-bottom:var(--space-sm)}.correct .quiz-feedback-indicator{color:var(--litmus-correct)}.incorrect .quiz-feedback-indicator{color:var(--litmus-incorrect)}.quiz-feedback-text{line-height:1.7;margin-bottom:var(--space-lg)}.quiz-next-button{padding:var(--space-sm) var(--space-xl);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.quiz-next-button:hover{opacity:.9;transform:translateY(-1px)}.quiz-error{text-align:center;padding:var(--space-xl);color:var(--color-text-secondary)}.quiz-error p{margin-bottom:var(--space-md)}.quiz-error button{padding:var(--space-sm) var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:border-color var(--transition-fast)}.quiz-error button:hover{border-color:var(--litmus-cyan)}.quiz-tf-buttons{display:flex;gap:var(--space-md)}.quiz-tf-button{flex:1;padding:var(--space-md);background:var(--color-bg-secondary);border:2px solid var(--color-text-muted);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-body);font-size:1.05rem;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.quiz-tf-button:hover{border-color:var(--litmus-cyan)}.quiz-tf-button.selected{border-color:var(--litmus-cyan);background:#00b4d81a}.quiz-mc-choices{display:flex;flex-direction:column;gap:var(--space-sm)}.quiz-mc-choice{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);font-size:.95rem;color:var(--color-text-primary)}.quiz-mc-choice:hover{border-color:var(--litmus-cyan)}.quiz-mc-choice.selected{border-color:var(--litmus-cyan);background:#00b4d814}.quiz-mc-choice input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:2px solid var(--color-text-muted);border-radius:50%;flex-shrink:0;position:relative;transition:border-color var(--transition-fast)}.quiz-mc-choice input[type=radio]:checked{border-color:var(--litmus-cyan)}.quiz-mc-choice input[type=radio]:checked:after{content:"";position:absolute;top:3px;left:3px;width:8px;height:8px;background:var(--litmus-cyan);border-radius:50%}.quiz-gap-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-text-muted);border-bottom:2px solid var(--litmus-amber);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--color-text-primary);font-family:var(--font-body);font-size:1.05rem;outline:none;transition:border-color var(--transition-fast)}.quiz-gap-input:focus{border-color:var(--litmus-cyan);border-bottom-color:var(--litmus-cyan)}.exam-config{display:flex;flex-direction:column;gap:var(--space-lg)}.exam-config-back{align-self:flex-start;background:none;border:1px solid var(--color-text-muted);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.85rem;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:color var(--transition-fast),border-color var(--transition-fast)}.exam-config-back:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.exam-config-heading{font-size:1.75rem;text-align:center}.exam-config-subheading{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.exam-config-section{display:flex;flex-direction:column;gap:var(--space-sm)}.exam-config-section h3{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.exam-config-section-header{display:flex;align-items:center;justify-content:space-between}.exam-config-toggle-all{display:flex;gap:var(--space-sm)}.exam-config-toggle-all button{background:none;border:none;color:var(--litmus-cyan);font-family:var(--font-body);font-size:.8rem;cursor:pointer;text-decoration:underline}.exam-config-topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-sm)}.exam-config-topic{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;color:var(--color-text-primary);transition:border-color var(--transition-fast),background var(--transition-fast)}.exam-config-topic:hover{border-color:var(--litmus-cyan)}.exam-config-topic.selected{border-color:var(--litmus-cyan);background:#00b4d814}.exam-config-topic input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--color-text-muted);border-radius:3px;flex-shrink:0;position:relative;transition:border-color var(--transition-fast),background var(--transition-fast)}.exam-config-topic input[type=checkbox]:checked{border-color:var(--litmus-cyan);background:var(--litmus-cyan)}.exam-config-topic input[type=checkbox]:checked:after{content:"✓";position:absolute;top:-1px;left:1px;font-size:12px;color:#fff;font-weight:700}.exam-config-topic-custom-icon{font-size:1rem;opacity:.7}.exam-config-number{width:100px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-input);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;outline:none;transition:border-color var(--transition-fast)}.exam-config-number:focus{border-color:var(--litmus-cyan)}.exam-config-types{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.exam-config-difficulty{display:flex;flex-direction:column;gap:var(--space-sm)}.exam-config-diff-option{display:flex;flex-direction:column;gap:2px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast)}.exam-config-diff-option:hover{border-color:var(--litmus-cyan)}.exam-config-diff-option.selected{border-color:var(--litmus-cyan);background:#00b4d814}.exam-config-diff-option input[type=radio]{display:none}.exam-config-diff-name{font-weight:600;font-size:.95rem}.exam-config-diff-desc{font-size:.8rem;color:var(--color-text-secondary)}.exam-config-timer-row{display:flex;align-items:center;gap:var(--space-md)}.exam-config-timer-help{font-size:.85rem;color:var(--color-text-muted)}.exam-config-warning{font-size:.85rem;color:var(--litmus-amber)}.exam-config-generate{align-self:center;padding:var(--space-sm) var(--space-2xl);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.exam-config-generate:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.exam-config-generate:disabled{opacity:.4;cursor:not-allowed}.exam-generating{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center}.exam-generating-heading{font-size:1.5rem}.exam-generating-progress{width:100%;max-width:400px;height:8px;background:var(--color-bg-secondary);border-radius:4px;overflow:hidden}.exam-generating-bar{height:100%;background:var(--litmus-gradient);border-radius:4px;transition:width .3s ease}.exam-generating-text{color:var(--color-text-secondary);font-size:.95rem}.exam-generating-error{color:var(--litmus-incorrect);font-size:1rem;text-align:center}.exam-generating-actions{display:flex;gap:var(--space-md)}.exam-ready{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center}.exam-ready-summary{color:var(--color-text-secondary);font-size:1rem;line-height:1.6}.exam-ready-timer{color:var(--color-text-muted);font-size:.9rem}.exam-ready-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.exam-ready-export{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center;margin-top:var(--space-md)}.exam-ready-back{margin-top:var(--space-md)}.exam-active{display:flex;flex-direction:column;gap:var(--space-lg)}.exam-active-header{display:flex;align-items:center;justify-content:space-between}.exam-active-progress{font-size:.9rem;color:var(--color-text-secondary);font-weight:500}.exam-active-timer{font-family:var(--font-body);font-size:1.1rem;font-weight:600;color:var(--color-text-primary);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.exam-active-timer.warning{color:var(--litmus-incorrect);background:var(--color-incorrect-bg)}.exam-active-dots{display:flex;flex-wrap:wrap;gap:6px}.exam-active-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--color-text-muted);background:none;padding:0;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.exam-active-dot.answered{background:var(--litmus-cyan);border-color:var(--litmus-cyan)}.exam-active-dot.current{border-color:var(--litmus-orange);box-shadow:0 0 0 2px #ff6b354d}.exam-active-nav{display:flex;justify-content:space-between;gap:var(--space-md)}.exam-active-nav button:disabled{opacity:.3;cursor:not-allowed}.exam-active-submit-early{align-self:center;background:none;border:none;color:var(--color-text-muted);font-family:var(--font-body);font-size:.85rem;cursor:pointer;text-decoration:underline;transition:color var(--transition-fast)}.exam-active-submit-early:hover{color:var(--color-text-secondary)}.exam-results{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.exam-results-heading{font-size:1.75rem}.exam-results-score{font-family:var(--font-heading);font-size:1.4rem;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md)}.exam-results-score.pass{background:var(--color-correct-bg);color:var(--litmus-correct);border-left:4px solid var(--litmus-correct)}.exam-results-score.fail{background:var(--color-incorrect-bg);color:var(--litmus-incorrect);border-left:4px solid var(--litmus-incorrect)}.exam-results-list{width:100%;display:flex;flex-direction:column;gap:var(--space-sm)}.exam-result-item{border-radius:var(--radius-sm);overflow:hidden}.exam-result-item.correct{border-left:3px solid var(--litmus-correct)}.exam-result-item.incorrect{border-left:3px solid var(--litmus-incorrect)}.exam-result-header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:none;cursor:pointer;text-align:left;color:var(--color-text-primary);font-family:var(--font-body);font-size:.9rem;transition:background var(--transition-fast)}.exam-result-header:hover{background:var(--color-bg-input)}.exam-result-index{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg-primary);font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.exam-result-question{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-result-badge{flex-shrink:0;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:99px}.exam-result-badge.correct{background:var(--color-correct-bg);color:var(--litmus-correct)}.exam-result-badge.incorrect{background:var(--color-incorrect-bg);color:var(--litmus-incorrect)}.exam-result-details{padding:var(--space-sm) var(--space-md) var(--space-md);background:var(--color-bg-secondary);font-size:.9rem;display:flex;flex-direction:column;gap:var(--space-sm)}.exam-result-row{color:var(--color-text-secondary)}.exam-result-feedback{line-height:1.6;color:var(--color-text-primary);padding:var(--space-sm);background:var(--color-bg-primary);border-radius:var(--radius-sm)}.exam-results-export{display:flex;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.case-config{display:flex;flex-direction:column;gap:var(--space-lg)}.case-config-heading{font-size:1.75rem;text-align:center}.case-config-subheading{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-md)}.case-config-section{display:flex;flex-direction:column;gap:var(--space-sm)}.case-config-section h3{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em}.case-config-topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-sm)}.case-config-topic{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;color:var(--color-text-primary);transition:border-color var(--transition-fast),background var(--transition-fast)}.case-config-topic:hover{border-color:var(--litmus-cyan)}.case-config-topic.selected{border-color:var(--litmus-cyan);background:#00b4d814}.case-config-topic input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:2px solid var(--color-text-muted);border-radius:50%;flex-shrink:0;position:relative;transition:border-color var(--transition-fast),background var(--transition-fast)}.case-config-topic input[type=radio]:checked{border-color:var(--litmus-cyan);background:var(--litmus-cyan)}.case-config-topic input[type=radio]:checked:after{content:"";position:absolute;top:3px;left:3px;width:6px;height:6px;border-radius:50%;background:#fff}.case-config-topic-custom-icon{font-size:1rem;opacity:.7}.case-config-country-select{padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:.95rem;font-family:var(--font-body);max-width:300px}.case-config-warning{font-size:.85rem;color:var(--litmus-amber)}.case-config-dataset-toggle{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:.95rem;color:var(--color-text-primary)}.case-config-dataset-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--litmus-cyan);cursor:pointer}.case-config-dataset-help{font-size:.8rem;color:var(--color-text-muted);margin:0}.case-generating{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center}.case-generating-phases{display:flex;align-items:center;gap:0}.case-generating-phase-group{display:flex;align-items:center}.case-generating-phase{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.case-generating-phase-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-text-muted);background:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.case-generating-phase.active .case-generating-phase-dot{border-color:var(--litmus-cyan);background:#00b4d826}.case-generating-phase.done .case-generating-phase-dot{border-color:var(--litmus-correct);background:var(--litmus-correct)}.case-generating-phase-label{font-size:.75rem;color:var(--color-text-muted);font-weight:600}.case-generating-phase.active .case-generating-phase-label{color:var(--litmus-cyan)}.case-generating-phase.done .case-generating-phase-label{color:var(--litmus-correct)}.case-generating-phase-line{width:60px;height:2px;background:var(--color-text-muted);margin:0 var(--space-sm);margin-bottom:18px}.exhibit{border:1px solid var(--exhibit-border);border-radius:var(--radius-md);overflow:hidden}.exhibit-compact{font-size:.85rem}.exhibit-header{padding:var(--space-sm) var(--space-md);background:var(--exhibit-header-bg)}.exhibit-title{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin:0}.exhibit-body{padding:0}.exhibit-table-wrapper{overflow-x:auto}.exhibit-table{width:100%;border-collapse:collapse;font-size:.85rem}.exhibit-table th{padding:var(--space-sm) var(--space-md);background:var(--exhibit-header-bg);font-weight:600;text-align:left;color:var(--color-text-secondary);border-bottom:1px solid var(--exhibit-border)}.exhibit-table th.numeric{text-align:right}.exhibit-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-primary)}.exhibit-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.exhibit-table tbody tr:nth-child(2n){background:var(--exhibit-stripe)}.exhibit-stats{padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.exhibit-stat-row{display:flex;align-items:center;gap:var(--space-md)}.exhibit-stat-row dt{flex-shrink:0;min-width:120px;font-size:.85rem;color:var(--color-text-secondary)}.exhibit-stat-row dd{flex:1;display:flex;align-items:center;gap:var(--space-sm)}.exhibit-stat-value{flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text-primary);min-width:60px}.exhibit-stat-bar-bg{flex:1;height:6px;background:var(--color-border-subtle);border-radius:3px;overflow:hidden}.exhibit-stat-bar{height:100%;background:var(--litmus-gradient);border-radius:3px;transition:width var(--transition-normal)}.dataset-renderer{border:1px solid var(--exhibit-border);border-radius:var(--radius-md);overflow:hidden}.dataset-compact{font-size:.85rem}.dataset-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--exhibit-header-bg);gap:var(--space-sm)}.dataset-header-left{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.dataset-title{font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--color-text-secondary);margin:0}.dataset-row-count{font-size:.7rem;font-weight:600;padding:1px 8px;border-radius:99px;background:#00b4d81f;color:var(--litmus-cyan)}.dataset-download{flex-shrink:0;font-family:var(--font-body);font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:var(--radius-sm);border:1px solid var(--litmus-cyan);background:none;color:var(--litmus-cyan);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.dataset-download:hover{background:var(--litmus-cyan);color:var(--litmus-dark)}.dataset-description{padding:var(--space-sm) var(--space-md);font-size:.85rem;color:var(--color-text-secondary);margin:0;border-bottom:1px solid var(--color-border-subtle)}.dataset-table .dataset-missing{background:#f7931e0f}.dataset-null{color:var(--color-text-muted);font-style:italic}.dataset-truncated{padding:var(--space-sm) var(--space-md);font-size:.8rem;color:var(--color-text-muted);text-align:center;background:var(--exhibit-header-bg);margin:0}.case-reading{display:flex;flex-direction:column;gap:var(--space-lg)}.case-reading-heading{font-size:1.75rem;text-align:center}.case-reading-time{text-align:center;color:var(--color-text-secondary);font-size:.9rem}.case-reading-content{padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.case-reading-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.case-active{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);min-height:60vh}.case-active-left{overflow-y:auto;max-height:80vh;padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-subtle)}.case-active-right{display:flex;flex-direction:column;gap:var(--space-lg)}.case-active-mobile-toggle{display:none;background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-family:var(--font-body);font-size:.85rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;text-align:center;transition:border-color var(--transition-fast);grid-column:1 / -1}.case-active-mobile-toggle:hover{border-color:var(--litmus-cyan)}.case-active-category{display:inline-block;align-self:flex-start;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.category-comprehension{background:#00b4d81f;color:var(--litmus-cyan)}.category-analysis{background:#f7931e1f;color:var(--litmus-amber)}.category-recommendation{background:#ff6b351f;color:var(--litmus-orange)}.category-data-quality{background:#7b68ee1f;color:#7b68ee}.category-interpretation{background:#2a9d4e1f;color:var(--litmus-correct)}.case-active-exhibit-refs{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.case-active-exhibit-badge{font-size:.75rem;padding:2px 8px;background:var(--exhibit-header-bg);border:1px solid var(--exhibit-border);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.case-ref-panel{display:flex;flex-direction:column;gap:var(--space-md)}.case-ref-section{display:flex;flex-direction:column;gap:var(--space-sm)}.case-ref-section-toggle{display:flex;align-items:center;gap:var(--space-sm);background:none;border:none;padding:var(--space-xs) 0;cursor:pointer;font-family:var(--font-body);color:var(--color-text-primary);width:100%;text-align:left}.case-ref-section-arrow{font-size:.65rem;color:var(--color-text-muted);flex-shrink:0;width:12px}.case-ref-section-title{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em}.case-ref-section-body{padding-left:var(--space-sm)}.case-ref-company{font-size:1.1rem;color:var(--color-text-primary)}.case-ref-paragraph{font-size:.9rem;line-height:1.6;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.case-ref-paragraph:last-child{margin-bottom:0}.case-ref-exhibits{display:flex;flex-direction:column;gap:var(--space-md)}.case-ref-challenge{padding:var(--space-sm) var(--space-md);background:#ff6b350f;border-left:3px solid var(--litmus-orange);border-radius:var(--radius-sm);font-size:.9rem;line-height:1.6;color:var(--color-text-primary)}@media(max-width:768px){.case-active{grid-template-columns:1fr}.case-active-left{display:none;position:fixed;bottom:0;left:0;right:0;max-height:70vh;z-index:100;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -4px 20px #0000004d}.case-active-left.visible,.case-active-mobile-toggle{display:block}}.case-results{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.case-results-heading{font-size:1.75rem}.case-results-list{width:100%;display:flex;flex-direction:column;gap:var(--space-sm)}.case-result-item{border-radius:var(--radius-sm);overflow:hidden}.case-result-item.correct{border-left:3px solid var(--litmus-correct)}.case-result-item.partial{border-left:3px solid var(--litmus-partial)}.case-result-item.incorrect{border-left:3px solid var(--litmus-incorrect)}.case-result-badge{flex-shrink:0;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:99px}.case-result-badge.correct{background:var(--color-correct-bg);color:var(--litmus-correct)}.case-result-badge.partial{background:var(--color-partial-bg);color:var(--litmus-partial)}.case-result-badge.incorrect{background:var(--color-incorrect-bg);color:var(--litmus-incorrect)}.case-results-ref{width:100%}.case-results-ref-toggle{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;font-family:var(--font-body);font-size:.9rem;color:var(--color-text-secondary);width:100%;text-align:left;transition:border-color var(--transition-fast)}.case-results-ref-toggle:hover{border-color:var(--litmus-cyan)}.case-results-ref-content{padding:var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm)}.bloom-config{display:flex;flex-direction:column;gap:var(--space-lg)}.bloom-config-heading{font-size:1.6rem}.bloom-config-subheading{color:var(--color-text-secondary);font-size:.95rem;margin-top:calc(-1 * var(--space-sm))}.bloom-config-layout{display:flex;gap:var(--space-2xl);align-items:flex-start}.bloom-config-form{flex:1;display:flex;flex-direction:column;gap:var(--space-lg)}.bloom-config-section h3{font-size:.95rem;font-weight:600;margin-bottom:var(--space-sm)}.bloom-config-topic-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.bloom-config-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);flex-shrink:0}.bloom-config-level-list{display:flex;flex-direction:column;gap:var(--space-xs)}.bloom-config-level-item{display:flex;align-items:center;gap:var(--space-sm);font-size:.8rem;color:var(--color-text-secondary)}.bloom-config-level-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bloom-config-slider-row{display:flex;align-items:center;gap:var(--space-md)}.bloom-config-slider{flex:1;max-width:200px;accent-color:var(--bloom-remember)}.bloom-config-slider-value{font-size:1.2rem;font-weight:700;min-width:24px;text-align:center}.bloom-config-hint{font-size:.8rem;color:var(--color-text-muted);margin-top:var(--space-xs)}@media(max-width:640px){.bloom-config-layout{flex-direction:column-reverse;align-items:center}}.bloom-generating{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center}.bloom-generating-level-badge{display:inline-block;padding:var(--space-xs) var(--space-md);border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.03em}.bloom-generating-heading{font-size:1.5rem}.bloom-generating-progress{width:100%;max-width:400px;height:8px;background:var(--color-bg-secondary);border-radius:4px;overflow:hidden}.bloom-generating-bar{height:100%;border-radius:4px;transition:width .3s ease}.bloom-generating-text{color:var(--color-text-secondary);font-size:.95rem}.bloom-generating-error{color:var(--litmus-incorrect);font-size:1rem;text-align:center}.bloom-generating-actions{display:flex;gap:var(--space-md)}.bloom-active{display:flex;flex-direction:column;gap:var(--space-lg)}.bloom-active-header{display:flex;align-items:center;justify-content:space-between}.bloom-active-header-left{display:flex;align-items:center;gap:var(--space-md)}.bloom-active-level-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.03em}.bloom-active-progress{font-size:.9rem;color:var(--color-text-secondary);font-weight:500}.bloom-active-dots{display:flex;flex-wrap:wrap;gap:6px}.bloom-active-nav{display:flex;justify-content:space-between;gap:var(--space-md)}.bloom-active-nav button:disabled{opacity:.3;cursor:not-allowed}.bloom-level-result{display:flex;flex-direction:column;gap:var(--space-lg)}.bloom-level-result-header{display:flex;gap:var(--space-xl);align-items:center}.bloom-level-result-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:20px;color:#fff;font-size:.8rem;font-weight:600;letter-spacing:.03em;margin-bottom:var(--space-sm)}.bloom-level-result-heading{font-size:1.4rem;margin-bottom:var(--space-xs)}.bloom-level-result-score{color:var(--color-text-secondary);font-size:.95rem}.bloom-level-result-list{display:flex;flex-direction:column;gap:var(--space-sm)}.bloom-level-result-item{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.bloom-level-result-item.correct{border-left:3px solid var(--litmus-correct)}.bloom-level-result-item.incorrect{border-left:3px solid var(--litmus-incorrect)}.bloom-level-result-item.partial{border-left:3px solid var(--litmus-partial)}.bloom-level-result-item-header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text-primary);font-family:var(--font-body);font-size:.95rem}.bloom-level-result-item-index{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.bloom-level-result-item-question{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bloom-level-result-item-details{padding:0 var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);font-size:.9rem}.bloom-level-result-item-row{color:var(--color-text-secondary)}.bloom-level-result-item-feedback{color:var(--color-text-primary);line-height:1.6}.bloom-level-result-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.bloom-results{display:flex;flex-direction:column;gap:var(--space-lg);align-items:center}.bloom-results-heading{font-size:1.6rem}.bloom-results-summary{display:flex;gap:var(--space-2xl);align-items:center}.bloom-results-stats{display:flex;flex-direction:column;gap:var(--space-sm)}.bloom-results-topic{font-size:1.1rem;font-weight:600}.bloom-results-passed{font-size:1rem;color:var(--color-text-secondary)}.bloom-results-highest{font-size:.9rem;color:var(--color-text-muted)}.bloom-results-levels{width:100%;max-width:700px;display:flex;flex-direction:column;gap:var(--space-sm)}.bloom-results-level{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);overflow:hidden}.bloom-results-level.not-attempted{opacity:.5}.bloom-results-level-header{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md);background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text-primary);font-family:var(--font-body);font-size:.95rem}.not-attempted .bloom-results-level-header{cursor:default}.bloom-results-level-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.bloom-results-level-name{font-weight:600;flex:1}.bloom-results-level-score{color:var(--color-text-secondary);font-size:.85rem}.bloom-results-level-status{color:var(--color-text-muted);font-size:.85rem;font-style:italic}.bloom-results-level-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.bloom-results-level-badge.pass{background:var(--color-correct-bg);color:var(--litmus-correct)}.bloom-results-level-badge.fail{background:var(--color-incorrect-bg);color:var(--litmus-incorrect)}.bloom-results-level-detail{padding:0 var(--space-md) var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.bloom-results-question{display:flex;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius-sm)}.bloom-results-question.correct{background:var(--color-correct-bg)}.bloom-results-question.incorrect{background:var(--color-incorrect-bg)}.bloom-results-question.partial{background:var(--color-partial-bg)}.bloom-results-question-indicator{font-weight:700;font-size:1rem;flex-shrink:0;width:20px;text-align:center}.bloom-results-question.correct .bloom-results-question-indicator{color:var(--litmus-correct)}.bloom-results-question.incorrect .bloom-results-question-indicator{color:var(--litmus-incorrect)}.bloom-results-question.partial .bloom-results-question-indicator{color:var(--litmus-partial)}.bloom-results-question-content{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.bloom-results-question-text{font-size:.9rem}.bloom-results-question-answer{font-size:.85rem;color:var(--color-text-secondary)}.bloom-results-question-feedback{font-size:.85rem;color:var(--color-text-primary);line-height:1.5}@media(max-width:640px){.bloom-results-summary{flex-direction:column;text-align:center}}.teach{display:flex;align-items:center;justify-content:center;flex:1}.teach-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:540px;width:100%;padding:var(--space-xl)}.teach-heading{font-size:2rem;margin-bottom:var(--space-sm)}.teach-gradient-bar{width:120px;height:4px;border-radius:2px;background:var(--litmus-gradient);margin-bottom:var(--space-md)}.teach-subheading{color:var(--color-text-secondary);font-size:1rem;line-height:1.6;margin-bottom:var(--space-xl)}.teach-dropzone{width:100%;border:2px dashed var(--color-text-muted);border-radius:var(--radius-md);padding:var(--space-2xl) var(--space-lg);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.teach-dropzone:hover,.teach-dropzone--active{border-color:var(--litmus-cyan);background:#00b4d80a}.teach-dropzone--disabled{opacity:.5;cursor:default}.teach-dropzone-icon{font-size:2rem;opacity:.5}.teach-dropzone-text{color:var(--color-text-secondary);font-size:.95rem}.teach-upload-hint{color:var(--color-text-muted);font-size:.8rem;margin-top:var(--space-xs)}.teach-file-input{display:none}.teach-file-list{width:100%;margin-top:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs)}.teach-file-item{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);font-size:.9rem}.teach-file-name{color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teach-file-remove{background:none;border:none;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;padding:0 var(--space-xs);line-height:1}.teach-file-remove:hover{color:var(--litmus-incorrect)}.teach-file-error{color:var(--litmus-incorrect);font-size:.85rem;margin-top:var(--space-sm)}.teach-name-field{width:100%;margin-top:var(--space-lg);text-align:left}.teach-name-label{display:block;font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.teach-name-input{width:100%;padding:var(--space-sm);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-body);font-size:.95rem}.teach-name-input::placeholder{color:var(--color-text-muted)}.teach-actions{display:flex;gap:var(--space-md);margin-top:var(--space-xl);width:100%;justify-content:center}.teach-back{padding:var(--space-sm) var(--space-lg);background:none;color:var(--color-text-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.teach-back:hover{border-color:var(--litmus-cyan);color:var(--color-text-primary)}.teach-extract-btn{padding:var(--space-sm) var(--space-2xl);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.teach-extract-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.teach-extract-btn:disabled{opacity:.5;cursor:default}.teach-extracting{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl) 0}.teach-spinner{width:48px;height:48px;border:4px solid var(--color-text-muted);border-top-color:var(--litmus-cyan);border-radius:50%;animation:teach-spin .8s linear infinite}@keyframes teach-spin{to{transform:rotate(360deg)}}.teach-extracting-text{color:var(--color-text-secondary);font-size:1rem}.teach-extract-error{color:var(--litmus-incorrect);font-size:.9rem;margin-bottom:var(--space-md)}.teach-ready-heading{font-size:1.6rem;margin-bottom:var(--space-xs)}.teach-ready-subheading{color:var(--color-text-secondary);font-size:.95rem;margin-bottom:var(--space-lg)}.teach-topic-name{width:100%;text-align:left;margin-bottom:var(--space-md)}.teach-topic-name-input{width:100%;padding:var(--space-sm);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-heading);font-size:1.1rem}.teach-source-files{color:var(--color-text-muted);font-size:.8rem;margin-bottom:var(--space-lg)}.teach-knowledge-preview{width:100%;text-align:left;margin-bottom:var(--space-xl)}.teach-knowledge-toggle{background:none;border:none;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;padding:var(--space-xs) 0}.teach-knowledge-toggle:hover{color:var(--color-text-primary)}.teach-knowledge-text{margin-top:var(--space-sm);padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;font-family:var(--font-body);line-height:1.5}.teach-mode-buttons{display:flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center;width:100%}.teach-mode-btn{padding:var(--space-sm) var(--space-xl);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.teach-mode-btn:hover{opacity:.9;transform:translateY(-1px)}.teach-mode-btn-secondary{padding:var(--space-sm) var(--space-xl);background:none;color:var(--color-text-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.teach-mode-btn-secondary:hover{border-color:var(--litmus-cyan);color:var(--color-text-primary);transform:translateY(-1px)}.lecturer-auth{display:flex;align-items:center;justify-content:center;flex:1}.lecturer-auth-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:440px;padding:var(--space-xl)}.lecturer-auth-heading{font-size:1.75rem;margin-bottom:var(--space-sm)}.lecturer-auth-subheading{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:var(--space-xl)}.lecturer-auth-form{width:100%}.lecturer-auth-input-row{display:flex;gap:var(--space-sm);width:100%}.lecturer-auth-input{flex:1;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem}.lecturer-auth-input:focus{outline:none;border-color:var(--litmus-cyan)}.lecturer-auth-button{padding:var(--space-sm) var(--space-md);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1.2rem;cursor:pointer;min-width:48px;transition:opacity var(--transition-fast)}.lecturer-auth-button:hover:not(:disabled){opacity:.9}.lecturer-auth-button:disabled{opacity:.5;cursor:not-allowed}.lecturer-auth-error{color:var(--litmus-incorrect);font-size:.9rem;margin-top:var(--space-sm)}.lecturer-auth-back{margin-top:var(--space-lg);background:none;border:none;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;padding:var(--space-xs) var(--space-sm)}.lecturer-auth-back:hover{color:var(--color-text-primary)}.lecturer-hub{display:flex;align-items:center;justify-content:center;flex:1}.lecturer-hub-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:720px;padding:var(--space-xl)}.lecturer-hub-heading{font-size:2rem;margin-bottom:var(--space-sm)}.lecturer-hub-gradient-bar{width:120px;height:4px;border-radius:2px;background:var(--litmus-gradient);margin-bottom:var(--space-lg)}.lecturer-hub-subheading{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:var(--space-2xl)}.lecturer-hub-options{display:flex;gap:var(--space-lg);width:100%}.lecturer-hub-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-fast),transform var(--transition-fast);font-family:var(--font-body);text-align:center}.lecturer-hub-option:hover{border-color:var(--litmus-cyan);transform:translateY(-2px)}.lecturer-hub-option-icon{color:var(--color-text-muted);margin-bottom:var(--space-xs)}.lecturer-hub-option-title{font-family:var(--font-heading);font-size:1.15rem;color:var(--color-text-primary)}.lecturer-hub-option-desc{font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.lecturer-hub-back{margin-top:var(--space-xl);background:none;border:none;color:var(--color-text-secondary);font-family:var(--font-body);font-size:.9rem;cursor:pointer;padding:var(--space-xs) var(--space-sm)}.lecturer-hub-back:hover{color:var(--color-text-primary)}@media(max-width:600px){.lecturer-hub-options{flex-direction:column}}.lecturer-dashboard{display:flex;flex-direction:column;flex:1;padding:var(--space-lg);max-width:1100px;margin:0 auto;width:100%}.lecturer-topbar{display:flex;align-items:center;gap:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-xl);flex-wrap:wrap}.lecturer-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs)}.lecturer-stat-value{font-family:var(--font-heading);font-size:2rem;color:var(--color-text-primary)}.lecturer-stat-label{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.lecturer-end-btn{margin-left:auto;padding:var(--space-sm) var(--space-lg);background:var(--litmus-incorrect);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.lecturer-end-btn:hover:not(:disabled){opacity:.85}.lecturer-end-btn:disabled{opacity:.5;cursor:not-allowed}.lecturer-empty{display:flex;align-items:center;justify-content:center;flex:1;color:var(--color-text-muted);font-size:1.1rem;text-align:center;padding:var(--space-2xl)}.lecturer-charts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-xl)}.lecturer-chart-panel{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg)}.lecturer-chart-panel h3{font-size:1rem;margin-bottom:var(--space-md);color:var(--color-text-secondary)}.lecturer-chart-small{grid-column:1 / -1;max-width:400px;justify-self:center}.lecturer-chart-container{position:relative;height:240px}.lecturer-feed{background:var(--color-bg-secondary);border-radius:var(--radius-md);padding:var(--space-lg)}.lecturer-feed h3{font-size:1rem;margin-bottom:var(--space-md);color:var(--color-text-secondary)}.lecturer-feed-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xs)}.lecturer-feed-item{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-text-secondary);border-left:3px solid transparent}.lecturer-feed-item.feed-correct{border-left-color:var(--litmus-correct)}.lecturer-feed-item.feed-partial{border-left-color:var(--litmus-amber, #F7931E)}.lecturer-feed-item.feed-incorrect{border-left-color:var(--litmus-incorrect)}.lecturer-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.lecturer-modal{background:var(--color-bg-primary);border-radius:var(--radius-md);padding:var(--space-xl);max-width:400px;text-align:center}.lecturer-modal p{margin-bottom:var(--space-lg);color:var(--color-text-secondary)}.lecturer-modal-actions{display:flex;gap:var(--space-md);justify-content:center}.lecturer-ended{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);padding:var(--space-2xl);text-align:center}.lecturer-ended h2{font-size:1.5rem}.lecturer-ended-actions{display:flex;gap:var(--space-md)}.lecturer-btn-primary{padding:var(--space-sm) var(--space-xl);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.lecturer-btn-primary:hover{opacity:.9}.lecturer-btn-secondary{padding:var(--space-sm) var(--space-xl);background:none;color:var(--color-text-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.lecturer-btn-secondary:hover{border-color:var(--litmus-cyan);color:var(--color-text-primary)}@media(max-width:768px){.lecturer-topbar{gap:var(--space-md);justify-content:center}.lecturer-end-btn{margin-left:0;width:100%}.lecturer-charts{grid-template-columns:1fr}.lecturer-chart-small{max-width:none}}.materials-wizard{display:flex;justify-content:center;flex:1;padding:var(--space-lg) var(--space-md);overflow-y:auto}.wizard-container{display:flex;flex-direction:column;align-items:center;max-width:680px;width:100%}.wizard-heading{font-size:1.75rem;margin-bottom:var(--space-sm);text-align:center}.wizard-gradient-bar{width:100px;height:3px;border-radius:2px;background:var(--litmus-gradient);margin-bottom:var(--space-xl)}.wizard-steps{display:flex;gap:var(--space-xs);margin-bottom:var(--space-xl);width:100%;justify-content:center}.wizard-step-dot{display:flex;flex-direction:column;align-items:center;gap:var(--space-2xs);flex:1;max-width:120px}.wizard-step-number{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;border:2px solid var(--color-text-muted);color:var(--color-text-muted);transition:all var(--transition-fast)}.wizard-step-dot--active .wizard-step-number{border-color:var(--litmus-cyan);color:var(--litmus-cyan);background:#00b4d81a}.wizard-step-dot--done .wizard-step-number{border-color:var(--litmus-correct);color:#fff;background:var(--litmus-correct)}.wizard-step-label{font-size:.7rem;color:var(--color-text-muted);text-align:center;white-space:nowrap}.wizard-step-dot--active .wizard-step-label{color:var(--color-text-primary)}.wizard-content{width:100%;margin-bottom:var(--space-xl)}.wizard-panel{display:flex;flex-direction:column;gap:var(--space-lg)}.wizard-label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:.9rem;color:var(--color-text-secondary);font-weight:500}.wizard-label--half{flex:1}.wizard-input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem}.wizard-input:focus{outline:none;border-color:var(--litmus-cyan)}.wizard-input--narrow{max-width:120px}.wizard-textarea{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-body);font-size:.95rem;resize:vertical;line-height:1.5}.wizard-textarea:focus{outline:none;border-color:var(--litmus-cyan)}.wizard-select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem}.wizard-select:focus{outline:none;border-color:var(--litmus-cyan)}.wizard-row{display:flex;gap:var(--space-lg)}.wizard-hint{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6}.wizard-upload-section{display:flex;flex-direction:column;gap:var(--space-sm)}.wizard-upload-label{font-size:.9rem;color:var(--color-text-secondary);font-weight:500}.wizard-dropzone{border:2px dashed var(--color-text-muted);border-radius:var(--radius-sm);padding:var(--space-lg);text-align:center;cursor:pointer;transition:border-color var(--transition-fast)}.wizard-dropzone:hover,.wizard-dropzone--active{border-color:var(--litmus-cyan)}.wizard-dropzone--disabled{opacity:.5;cursor:not-allowed}.wizard-dropzone-text{color:var(--color-text-muted);font-size:.9rem}.wizard-file-input{display:none}.wizard-file-list{display:flex;flex-direction:column;gap:var(--space-xs)}.wizard-file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:.85rem;color:var(--color-text-secondary)}.wizard-file-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;padding:0 var(--space-xs)}.wizard-file-remove:hover{color:var(--litmus-incorrect)}.wizard-error{color:var(--litmus-incorrect);font-size:.85rem}.wizard-objectives{display:flex;flex-direction:column;gap:var(--space-md)}.wizard-objective-row{display:flex;align-items:center;gap:var(--space-md)}.wizard-objective-badge{font-size:.75rem;font-weight:600;color:#fff;padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);white-space:nowrap;min-width:100px;text-align:center}.wizard-objective-input{flex:1}.wizard-suggest-btn{align-self:flex-start;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);background:none;border:1px solid var(--litmus-cyan);border-radius:var(--radius-sm);color:var(--litmus-cyan);font-family:var(--font-body);font-size:.9rem;cursor:pointer;transition:background var(--transition-fast)}.wizard-suggest-btn:hover:not(:disabled){background:#00b4d81a}.wizard-suggest-btn:disabled{opacity:.5;cursor:not-allowed}.wizard-section{display:flex;flex-direction:column;gap:var(--space-sm)}.wizard-section-title{font-size:.9rem;color:var(--color-text-secondary);font-weight:500}.wizard-toggle-group{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.wizard-toggle{padding:var(--space-xs) var(--space-md);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);background:none;color:var(--color-text-muted);font-family:var(--font-body);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast)}.wizard-toggle--active{border-color:var(--litmus-cyan);color:var(--litmus-cyan);background:#00b4d814}.wizard-toggle:hover:not(.wizard-toggle--active){border-color:var(--color-text-secondary);color:var(--color-text-secondary)}.wizard-review-heading{font-size:1.2rem;margin-bottom:var(--space-sm)}.wizard-review-section{padding:var(--space-md) 0;border-bottom:1px solid var(--color-text-muted)}.wizard-review-section:last-child{border-bottom:none}.wizard-review-section h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.wizard-review-secondary{color:var(--color-text-secondary);font-size:.9rem;line-height:1.5}.wizard-review-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.wizard-review-list li{font-size:.9rem;color:var(--color-text-secondary);line-height:1.5}.wizard-review-bloom{display:inline-block;font-size:.75rem;font-weight:600;color:var(--litmus-cyan);text-transform:uppercase;margin-right:var(--space-xs)}.wizard-nav{display:flex;justify-content:space-between;width:100%;gap:var(--space-md)}.wizard-nav-btn{padding:var(--space-sm) var(--space-2xl);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}.wizard-nav-btn--primary{background:var(--litmus-gradient);color:#fff;border:none}.wizard-nav-btn--primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.wizard-nav-btn--primary:disabled{opacity:.5;cursor:not-allowed}.wizard-nav-btn--secondary{background:none;color:var(--color-text-secondary);border:1px solid var(--color-text-muted)}.wizard-nav-btn--secondary:hover{border-color:var(--color-text-secondary);color:var(--color-text-primary)}@media(max-width:600px){.wizard-steps{gap:var(--space-2xs)}.wizard-step-label{display:none}.wizard-objective-row{flex-direction:column;align-items:stretch}.wizard-objective-badge{align-self:flex-start}.wizard-row{flex-direction:column}}.slide-gen{display:flex;flex-direction:column;align-items:center;max-width:720px;margin:0 auto;padding:var(--space-xl) var(--space-md)}.slide-gen-heading{font-size:2rem;margin-bottom:var(--space-sm)}.slide-gen-gradient-bar{width:120px;height:4px;border-radius:2px;background:var(--litmus-gradient);margin-bottom:var(--space-xl)}.slide-gen-select{width:100%}.slide-gen-label{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.slide-gen-dropdown{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-body);font-size:1rem;margin-bottom:var(--space-lg)}.slide-gen-empty{color:var(--color-text-secondary);text-align:center;padding:var(--space-2xl) 0;line-height:1.6}.slide-gen-options{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.slide-gen-check{display:flex;align-items:center;gap:var(--space-sm);font-size:.9rem;color:var(--color-text-primary);cursor:pointer}.slide-gen-check input[type=checkbox]{accent-color:var(--litmus-cyan)}.slide-gen-range-label{font-size:.9rem;color:var(--color-text-primary);margin-top:var(--space-xs)}.slide-gen-range{width:100%;accent-color:var(--litmus-cyan)}.slide-gen-actions{display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-xl);flex-wrap:wrap}.slide-gen-btn-primary{padding:var(--space-sm) var(--space-xl);background:var(--litmus-gradient);color:#fff;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast)}.slide-gen-btn-primary:hover{opacity:.9}.slide-gen-btn-secondary{padding:var(--space-sm) var(--space-xl);background:none;color:var(--color-text-primary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;cursor:pointer;transition:border-color var(--transition-fast)}.slide-gen-btn-secondary:hover{border-color:var(--litmus-cyan)}.slide-gen-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-2xl) 0}.slide-gen-spinner{width:40px;height:40px;border:3px solid var(--color-text-muted);border-top-color:var(--litmus-cyan);border-radius:50%;animation:slide-gen-spin .8s linear infinite}@keyframes slide-gen-spin{to{transform:rotate(360deg)}}.slide-gen-progress-label{font-size:1rem;color:var(--color-text-primary)}.slide-gen-progress-section{font-size:.85rem;color:var(--color-text-secondary)}.slide-gen-progress-bar{width:100%;max-width:400px;height:6px;background:var(--color-bg-secondary);border-radius:3px;overflow:hidden}.slide-gen-progress-fill{height:100%;background:var(--litmus-gradient);border-radius:3px;transition:width .3s ease}.slide-gen-review{width:100%}.slide-gen-outline-title{font-size:1.3rem;margin-bottom:var(--space-xs)}.slide-gen-outline-subtitle{font-size:.95rem;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.slide-gen-slide-count{font-size:.85rem;color:var(--color-text-muted);margin-bottom:var(--space-lg)}.slide-gen-sections{display:flex;flex-direction:column;gap:var(--space-md)}.slide-gen-section{background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:var(--space-md)}.slide-gen-section-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.slide-gen-section-num{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--litmus-cyan);color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.slide-gen-section-title{font-weight:600;font-size:.95rem;flex:1}.slide-gen-bloom{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:2px 8px;border-radius:10px;color:#fff}.slide-gen-bloom-remember{background:#7b68ee}.slide-gen-bloom-understand{background:#00b4d8}.slide-gen-bloom-apply{background:#2a9d4e}.slide-gen-bloom-analyze{background:#f7931e}.slide-gen-bloom-evaluate{background:#ff6b35}.slide-gen-bloom-create{background:#c44536}.slide-gen-remove-btn,.slide-gen-remove-slide{background:none;border:none;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;padding:0 4px;line-height:1}.slide-gen-remove-btn:hover,.slide-gen-remove-slide:hover{color:var(--litmus-incorrect)}.slide-gen-slide-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.slide-gen-slide-item{display:flex;align-items:center;gap:var(--space-sm);padding:4px 8px;border-radius:var(--radius-sm);font-size:.85rem}.slide-gen-slide-item:hover{background:#ffffff08}.slide-gen-slide-type{font-size:.65rem;font-weight:600;text-transform:uppercase;padding:1px 6px;border-radius:6px;flex-shrink:0;color:#fff}.slide-gen-type-content{background:#6c757d}.slide-gen-type-definition{background:#7b68ee}.slide-gen-type-example{background:#00b4d8}.slide-gen-type-diagram{background:#f7931e}.slide-gen-type-code{background:#2a9d4e}.slide-gen-type-exercise{background:#ff6b35}.slide-gen-type-summary{background:#c44536}.slide-gen-slide-title{flex:1;color:var(--color-text-secondary)}.slide-gen-ready{width:100%;display:flex;flex-direction:column;align-items:center}.slide-gen-ready h3{font-size:1.3rem;margin-bottom:var(--space-xs)}.slide-gen-ready-info{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.slide-gen-preview{width:100%;max-height:400px;overflow:auto;background:var(--color-bg-secondary);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.slide-gen-latex{padding:var(--space-md);font-family:IBM Plex Mono,Fira Code,monospace;font-size:.75rem;line-height:1.5;color:var(--color-text-primary);white-space:pre;margin:0;-moz-tab-size:2;tab-size:2}.slide-gen-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-2xl) 0}.slide-gen-error-msg{color:var(--litmus-incorrect);text-align:center;max-width:400px}@media(max-width:600px){.slide-gen{padding:var(--space-md)}.slide-gen-actions{flex-direction:column;width:100%}.slide-gen-btn-primary,.slide-gen-btn-secondary{width:100%;text-align:center}}.error-message{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);background:var(--color-error-bg);border:1px solid var(--litmus-incorrect);border-radius:var(--radius-sm);color:var(--litmus-incorrect);font-size:.9rem}.error-message-dismiss{background:none;border:none;color:var(--litmus-incorrect);font-size:1.2rem;cursor:pointer;padding:0 var(--space-xs);line-height:1;opacity:.7;transition:opacity var(--transition-fast)}.error-message-dismiss:hover{opacity:1}:root{--litmus-orange: #FF6B35;--litmus-amber: #F7931E;--litmus-cyan: #00B4D8;--litmus-deep-cyan: #0077B6;--litmus-dark: #1a1a2e;--litmus-mid-dark: #16213e;--litmus-warm-gray: #f5f5f2;--litmus-border: #e8e8e4;--litmus-correct: #2a9d4e;--litmus-incorrect: #c44536;--litmus-gradient: linear-gradient(to right, #FF6B35, #F7931E, #00B4D8);--font-heading: "DM Serif Display", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, sans-serif;--color-bg-primary: var(--litmus-dark);--color-bg-secondary: var(--litmus-mid-dark);--color-bg-input: #1a1a3e;--color-text-primary: #e8e8e8;--color-text-secondary: #a0a0b8;--color-text-muted: #6c6c80;--color-correct-bg: rgba(42, 157, 78, .12);--color-incorrect-bg: rgba(196, 69, 54, .12);--color-border-subtle: rgba(255, 255, 255, .06);--color-error: var(--litmus-incorrect);--color-error-bg: rgba(196, 69, 54, .08);--bloom-remember: #7B68EE;--bloom-understand: #00B4D8;--bloom-apply: #2a9d4e;--bloom-analyze: #F7931E;--bloom-evaluate: #FF6B35;--bloom-create: #c44536;--litmus-partial: #e6a817;--color-partial-bg: rgba(230, 168, 23, .12);--exhibit-border: rgba(0, 180, 216, .15);--exhibit-header-bg: rgba(0, 180, 216, .08);--exhibit-stripe: rgba(255, 255, 255, .02);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--transition-fast: .15s ease;--transition-normal: .25s ease}[data-theme=light]{--color-bg-primary: #f5f5f2;--color-bg-secondary: #ffffff;--color-bg-input: #ffffff;--color-text-primary: #1a1a2e;--color-text-secondary: #4a4a5a;--color-text-muted: #8a8a9a;--color-border-subtle: rgba(0, 0, 0, .08);--color-correct-bg: rgba(42, 157, 78, .08);--color-incorrect-bg: rgba(196, 69, 54, .08);--color-error-bg: rgba(196, 69, 54, .05);--color-partial-bg: rgba(230, 168, 23, .08);--exhibit-border: rgba(0, 180, 216, .2);--exhibit-header-bg: rgba(0, 180, 216, .06);--exhibit-stripe: rgba(0, 0, 0, .02)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh}h1,h2,h3{font-family:var(--font-heading);font-weight:400;line-height:1.2}.app{max-width:800px;margin:0 auto;padding:var(--space-md);min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;display:flex;flex-direction:column;justify-content:center}
