@import url(https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Inter:wght@400;500;600;700&display=swap);.auth-wrapper{justify-content:center;min-height:100vh;padding:24px}.auth-card,.auth-wrapper{align-items:center;display:flex;width:100%}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;max-width:440px;padding:48px 40px}.auth-icon{font-size:40px;line-height:1}.auth-title{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:24px;font-weight:400;letter-spacing:.02em}.auth-subtitle{color:var(--text-primary);font-size:18px;font-weight:700;margin-top:-4px}.auth-note{color:var(--text-secondary);font-size:13px;margin-top:-8px;text-align:center}.auth-error{background:var(--wrong-bg);border:1px solid var(--wrong);border-radius:8px;color:var(--wrong);font-size:14px;padding:10px 14px;text-align:center;width:100%}.auth-form{gap:14px;width:100%}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field label{color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.auth-field input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:15px;outline:none;padding:12px 14px;transition:border-color .15s;width:100%}.auth-field input:focus{border-color:var(--accent)}.auth-field input::placeholder{color:var(--text-secondary);opacity:.6}.auth-btn{background:var(--accent);border:none;border-radius:8px;color:#0d1117;cursor:pointer;font-family:Inter,sans-serif;font-size:15px;font-weight:700;margin-top:4px;padding:14px;transition:background .15s,transform .1s;width:100%}.auth-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.auth-btn:disabled{cursor:not-allowed;opacity:.5}.auth-switch{color:var(--text-secondary);font-size:14px}.auth-switch-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;padding:0;text-decoration:underline}.auth-switch-btn:hover{color:var(--accent-hover)}.auth-success{background:var(--correct-bg);border:1px solid var(--correct);border-radius:8px;color:var(--correct);font-size:14px;padding:10px 14px;text-align:center;width:100%}.otp-actions{display:flex;gap:16px;justify-content:center}.forgot-link{color:var(--text-secondary);font-size:13px;margin-top:-8px}.admin-wrapper{display:flex;justify-content:center;min-height:100vh;padding:32px 24px;width:100%}.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:24px;height:-webkit-fit-content;height:fit-content;max-width:900px;padding:32px;width:100%}.admin-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-bottom:20px}.admin-title{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:22px;font-weight:400}.admin-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.admin-header-actions{display:flex;gap:10px}.admin-error,.admin-loading{color:var(--text-secondary);padding:40px;text-align:center}.admin-error{color:var(--wrong)}.users-table-wrapper{overflow-x:auto}.users-table{border-collapse:collapse;font-size:14px;width:100%}.users-table th{color:var(--text-secondary);font-size:11px;letter-spacing:.06em;padding:10px 12px;text-align:left;text-transform:uppercase}.users-table td,.users-table th{border-bottom:1px solid var(--border)}.users-table td{color:var(--text-primary);padding:12px;vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.td-date,.td-email{color:var(--text-secondary);font-size:13px}.role-badge{border:1px solid;border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase}.td-actions{align-items:center;display:flex;gap:8px}.role-select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;padding:6px 10px}.delete-btn{padding:6px 12px;transition:background .15s}.delete-btn:hover{background:#f8514940}.admin-tabs{border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:-8px}.admin-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;margin-bottom:-1px;padding:10px 20px;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--text-primary)}.admin-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.topics-content{display:flex;flex-direction:column;gap:16px}.topic-create{display:flex;gap:10px}.topic-input{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);flex:1 1;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 14px}.topic-input:focus{border-color:var(--accent)}.topic-create-btn{background:var(--accent);border:none;border-radius:8px;color:#0d1117;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:700;padding:10px 20px;transition:background .15s}.topic-create-btn:hover{background:var(--accent-hover)}.topics-list{display:flex;flex-direction:column;gap:8px}.topic-item{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.topic-name{color:var(--text-primary);font-size:14px;font-weight:500}.topic-delete-btn{background:var(--wrong-bg);border:1px solid var(--wrong);border-radius:6px;color:var(--wrong);cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:5px 12px}.empty-msg{padding:16px 0}.test-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.test-toggle.on{background:#f0a50026;border-color:#f0a500;color:#f0a500}.audit-content{gap:12px}.audit-content,.audit-list{display:flex;flex-direction:column}.audit-list{gap:10px;max-height:600px;overflow-y:auto}.audit-item{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:12px 16px}.audit-item-header{align-items:center;display:flex;justify-content:space-between}.audit-action{color:var(--accent);font-size:13px;font-weight:700;text-transform:capitalize}.audit-time{font-family:Share Tech Mono,monospace;font-size:11px}.audit-detail,.audit-time{color:var(--text-secondary)}.audit-detail{font-size:13px;margin-top:4px}.audit-detail strong{color:var(--text-primary)}.audit-json{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-family:Share Tech Mono,monospace;font-size:11px;margin-top:8px;overflow-x:auto;padding:8px 10px}.instructor-wrapper{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:32px 24px;width:100%}.instructor-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:24px;max-width:600px;padding:32px;width:100%}.back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;padding:0;text-align:left;transition:color .15s;width:-webkit-fit-content;width:fit-content}.back-btn:hover{color:var(--text-primary)}.instructor-title{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:24px;font-weight:400}.instructor-subtitle{color:var(--text-secondary);font-size:14px;line-height:1.6;margin-top:-12px}.format-guide{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:16px}.format-title{color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase}.format-code,.format-title{font-family:Share Tech Mono,monospace;font-size:12px}.format-code{color:var(--accent);line-height:1.8;white-space:pre}.upload-section{display:flex;flex-direction:column;gap:8px}.upload-label{color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.upload-input{background:var(--surface-2);border:1px dashed var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;padding:12px;transition:border-color .15s}.upload-input:hover{border-color:var(--accent)}.file-selected{color:var(--correct);font-size:13px}.upload-error{background:var(--wrong-bg);border:1px solid var(--wrong);border-radius:8px;color:var(--wrong);font-size:14px;padding:12px 16px}.upload-result{background:var(--correct-bg);border:1px solid var(--correct);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px}.result-success{color:var(--correct);font-size:15px;font-weight:600}.result-errors{display:flex;flex-direction:column;gap:4px;margin-top:4px}.result-errors-title{color:var(--text-secondary);font-size:13px;font-weight:600}.result-error-item{color:#f0a500;font-size:13px}.upload-btn{background:var(--accent);border:none;border-radius:8px;color:#0d1117;cursor:pointer;font-family:Inter,sans-serif;font-size:16px;font-weight:700;padding:14px;transition:background .15s,transform .1s;width:100%}.upload-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.upload-btn:disabled{cursor:not-allowed;opacity:.5}.format-note{color:var(--text-secondary);font-size:12px;line-height:1.5;margin-top:8px}.img-modal-overlay{align-items:center;background:#000000e6;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:1100}.img-modal-image{border-radius:8px;box-shadow:0 8px 40px #00000080;cursor:default;max-height:95%;max-width:95%;object-fit:contain}.img-modal-close{align-items:center;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:fixed;right:24px;top:20px;transition:background .15s;width:40px;z-index:1101}.img-modal-close:hover{background:#ffffff40}.idash-wrapper{display:flex;justify-content:center;min-height:100vh;padding:32px 24px;width:100%}.idash-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:24px;height:-webkit-fit-content;height:fit-content;max-width:900px;padding:32px;width:100%}.idash-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-bottom:20px}.idash-title{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:22px;font-weight:400}.idash-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.idash-header-actions{display:flex;gap:10px}.nav-action-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;padding:8px 16px;transition:border-color .15s}.nav-action-btn:hover{border-color:var(--accent);color:var(--accent)}.nav-action-btn.logout{border-color:var(--wrong);color:var(--wrong)}.nav-action-btn.logout:hover{background:var(--wrong-bg)}.idash-tabs{border-bottom:1px solid var(--border);display:flex;gap:4px;margin-bottom:-8px;padding-bottom:0}.idash-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:500;margin-bottom:-1px;padding:10px 20px;transition:color .15s,border-color .15s}.idash-tab:hover{color:var(--text-primary)}.idash-tab.active{border-bottom-color:var(--accent);color:var(--accent)}.idash-error,.idash-loading{color:var(--text-secondary);padding:40px;text-align:center}.idash-error{color:var(--wrong)}.stats-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.stat-box{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:20px}.stat-value{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:32px}.stat-label{color:var(--text-secondary);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.section{display:flex;flex-direction:column;gap:12px}.section-title{color:var(--text-primary);font-size:15px;font-weight:700}.difficulty-list{display:flex;flex-direction:column;gap:10px}.difficulty-item{align-items:center;display:flex;gap:12px}.diff-img{border-radius:4px;flex-shrink:0;height:40px;object-fit:cover;width:60px}.diff-bar-wrapper{background:var(--surface-2);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.diff-bar{background:var(--wrong);border-radius:4px;height:100%;transition:width .4s ease}.diff-pct{color:var(--text-secondary);flex-shrink:0;font-size:12px;text-align:right;width:70px}.history-table,.students-table{border-collapse:collapse;font-size:14px;width:100%}.history-table th,.students-table th{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:11px;letter-spacing:.06em;padding:8px 12px;text-align:left;text-transform:uppercase}.history-table td,.students-table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:12px}.score-cell,.td-username{font-weight:600}.view-history-btn{background:var(--accent-dim);border:1px solid var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:5px 12px;transition:background .15s}.view-history-btn:hover{background:#00d4aa33}.student-history{display:flex;flex-direction:column;gap:16px}.back-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;padding:0;text-align:left;width:-webkit-fit-content;width:fit-content}.back-link:hover,.history-title{color:var(--text-primary)}.history-title{font-size:16px;font-weight:700}.empty-msg{color:var(--text-secondary);font-size:14px;padding:20px 0}.questions-list{display:flex;flex-direction:column;gap:16px}.question-item{align-items:flex-start;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;display:flex;gap:16px;padding:16px}.q-img{border-radius:6px;flex-shrink:0;height:64px;object-fit:cover;width:100px}.q-details{flex:1 1}.q-options{display:flex;flex-wrap:wrap;gap:8px}.q-option{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:13px;padding:4px 10px}.q-option.correct{background:var(--correct-bg);border-color:var(--correct);color:var(--correct)}.q-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.edit-btn{background:var(--accent-dim);border:1px solid var(--accent);border-radius:6px;color:var(--accent)}.delete-btn,.edit-btn{cursor:pointer;font-family:Inter,sans-serif;font-size:13px;padding:6px 14px}.delete-btn{background:var(--wrong-bg);border:1px solid var(--wrong);border-radius:6px;color:var(--wrong)}.edit-form{gap:10px}.edit-field,.edit-form{display:flex;flex-direction:column}.edit-field{gap:4px}.edit-field label{color:var(--text-secondary);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.edit-field input,.edit-field select{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:14px;outline:none;padding:8px 10px}.edit-field input:focus,.edit-field select:focus{border-color:var(--accent)}.edit-actions{display:flex;gap:8px;margin-top:4px}.save-btn{background:var(--accent);border:none;border-radius:6px;color:#0d1117;font-weight:700;padding:8px 20px}.cancel-btn,.save-btn{cursor:pointer;font-family:Inter,sans-serif;font-size:13px}.cancel-btn{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);padding:8px 16px}.analytics-content{display:flex;flex-direction:column;gap:24px}.questions-content,.session-detail{display:flex;flex-direction:column;gap:16px}.session-detail-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.session-summary{display:flex;gap:16px}.session-score{color:var(--accent)}.session-score,.session-time{font-family:Share Tech Mono,monospace;font-size:15px}.session-time{color:var(--text-secondary)}.session-questions{display:flex;flex-direction:column;gap:10px}.session-q-item{align-items:flex-start;border:1px solid var(--border);border-radius:8px;display:flex;gap:12px;padding:12px}.session-q-item.correct{background:var(--correct-bg);border-color:var(--correct)}.session-q-item.wrong{background:var(--wrong-bg);border-color:var(--wrong)}.session-q-img{border-radius:4px;flex-shrink:0;height:52px;object-fit:cover;width:80px}.session-q-info{display:flex;flex:1 1;flex-direction:column;gap:6px}.session-q-row{align-items:center;display:flex;justify-content:space-between}.session-q-num{color:var(--text-secondary);font-size:12px;letter-spacing:.05em;text-transform:uppercase}.session-q-time{background:var(--accent-dim);border:1px solid var(--accent);border-radius:12px;color:var(--accent);font-family:Share Tech Mono,monospace;font-size:12px;padding:2px 8px}.answer-tag{padding:3px 10px}.breakdown-icon{font-size:18px}.q-has-video{color:#f44;display:inline-block;font-size:12px;margin-top:6px}.q-topics{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.q-topic-tag{background:var(--accent-dim);border:1px solid var(--accent);border-radius:12px;color:var(--accent);display:none;font-size:12px;padding:2px 10px}.topic-assign-select{background:var(--surface);border:1px dashed var(--border);border-radius:6px;color:var(--text-secondary);padding:4px 8px}.topic-assign-select,.topic-remove-btn{cursor:pointer;font-family:Inter,sans-serif;font-size:12px}.topic-remove-btn{background:var(--accent-dim);border:1px solid var(--accent);border-radius:12px;color:var(--accent);padding:2px 10px;transition:background .15s}.topic-remove-btn:hover{background:#00d4aa40}.section-header{align-items:center;display:flex;justify-content:space-between}.export-students-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:6px 14px;transition:border-color .15s,color .15s}.export-students-btn:hover{border-color:var(--accent);color:var(--accent)}.q-time-limit{color:#4a90e2;display:inline-block;font-size:12px;margin-left:12px;margin-top:6px}.questions-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:4px}.question-search{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);flex:1 1;font-family:Inter,sans-serif;font-size:14px;outline:none;padding:10px 14px}.question-search:focus{border-color:var(--accent)}.questions-count{color:var(--text-secondary);font-size:13px;white-space:nowrap}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:16px}.page-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;padding:8px 16px;transition:border-color .15s}.page-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.page-btn:disabled{cursor:not-allowed;opacity:.4}.page-info{color:var(--text-secondary);font-family:Share Tech Mono,monospace;font-size:13px}.student-view-btn:hover{background:#f0a5001a!important}.q-difficulty{color:#f0a500;display:inline-block;font-size:12px;margin-left:12px;margin-top:6px}.student-wrapper{display:flex;justify-content:center;min-height:100vh;padding:32px 24px;width:100%}.student-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:24px;height:-webkit-fit-content;height:fit-content;max-width:700px;padding:32px;width:100%}.student-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding-bottom:20px}.student-title{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:22px;font-weight:400}.student-subtitle{color:var(--text-secondary);font-size:14px;margin-top:4px}.logout-btn{background:none;border:1px solid var(--wrong);border-radius:8px;color:var(--wrong);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;padding:8px 16px;transition:background .15s}.logout-btn:hover{background:var(--wrong-bg)}.student-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.student-stat{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:6px;padding:20px}.student-stat-value{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:36px}.student-stat-label{color:var(--text-secondary);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.start-quiz-btn{background:var(--accent);border:none;border-radius:10px;color:#0d1117;cursor:pointer;font-family:Inter,sans-serif;font-size:16px;font-weight:700;padding:16px;transition:background .15s,transform .1s}.start-quiz-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.history-section{display:flex;flex-direction:column;gap:12px}.history-section-title{color:var(--text-primary);font-size:15px;font-weight:700}.history-empty,.history-loading{color:var(--text-secondary);font-size:14px;padding:16px 0}.history-table{border-collapse:collapse;font-size:14px;width:100%}.history-table th{color:var(--text-secondary);font-size:11px;letter-spacing:.06em;padding:8px 12px;text-align:left;text-transform:uppercase}.history-table td,.history-table th{border-bottom:1px solid var(--border)}.history-table td{color:var(--text-primary);padding:12px}.history-table tr:last-child td{border-bottom:none}.score-cell{font-weight:700}.score-cell,.time-cell{color:var(--accent);font-family:Share Tech Mono,monospace}.time-cell{font-size:13px}.view-results-btn{background:var(--accent-dim);border:1px solid var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;font-family:Inter,sans-serif;font-size:12px;padding:5px 12px;transition:background .15s}.view-results-btn:hover{background:#00d4aa33}.quiz-wrapper{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:32px 24px;width:100%}.quiz-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:24px;max-width:760px;padding:32px;width:100%}.quiz-card,.quiz-header{display:flex;flex-direction:column}.quiz-header{gap:10px}.quiz-header-top{align-items:center;display:flex;justify-content:space-between}.quiz-timer{background:var(--accent-dim);border:1px solid var(--accent);border-radius:20px;color:var(--accent);font-size:14px;padding:4px 12px}.quiz-counter,.quiz-timer{font-family:Share Tech Mono,monospace}.quiz-counter{color:var(--text-secondary);font-size:13px;letter-spacing:.05em;text-transform:uppercase}.quiz-counter strong{color:var(--accent);font-size:15px}.progress-bar{background:var(--surface-2);border-radius:4px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .4s ease}.diagram-container{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;display:flex;justify-content:center;min-height:260px;overflow:hidden}.diagram-img{display:block;max-height:380px;max-width:100%;object-fit:contain}.options-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.option-btn{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;font-family:Inter,sans-serif;gap:12px;padding:14px 16px;text-align:left;transition:border-color .15s,background .15s,transform .1s}.option-btn:hover{background:var(--accent-dim);border-color:var(--accent);transform:translateY(-1px)}.option-selected{background:var(--option-selected)!important;border-color:var(--accent)!important}.option-label{align-items:center;background:var(--accent-dim);border-radius:6px;color:var(--accent);display:flex;flex-shrink:0;font-family:Share Tech Mono,monospace;font-size:13px;font-weight:700;height:28px;justify-content:center;width:28px}.option-selected .option-label{background:var(--accent);color:#0d1117}.option-text{color:var(--text-primary);font-size:15px;font-weight:500}.quiz-nav{display:flex;gap:12px;justify-content:space-between;margin-top:4px}.nav-btn{border:none;border-radius:8px;cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:12px 24px;transition:background .15s,opacity .15s,transform .1s}.nav-prev{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary)}.nav-prev:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-primary)}.nav-prev:disabled{cursor:not-allowed;opacity:.3}.nav-next{background:var(--accent);color:#0d1117;flex:1 1}.nav-next:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.nav-next.nav-disabled,.nav-next:disabled{cursor:not-allowed;opacity:.3;transform:none}.select-hint{font-style:italic;margin-top:-8px;text-align:center}.quiz-limit-label,.select-hint{color:var(--text-secondary);font-size:13px}.quiz-limit-label{font-family:Share Tech Mono,monospace;letter-spacing:.03em}.quiz-header-timer{display:flex;justify-content:flex-end;margin-top:4px}.quiz-timer.countdown{background:#4a90e21f;border-color:#4a90e2;color:#4a90e2}.quiz-timer.countdown.urgent{animation:pulse 1s infinite;background:var(--wrong-bg);border-color:var(--wrong);color:var(--wrong)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.preview-banner{margin-bottom:16px}.modal-overlay{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1000}.modal-content{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;max-width:800px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:16px 20px}.modal-title{color:var(--accent);font-family:Share Tech Mono,monospace;font-size:15px;font-weight:400}.modal-close{background:none;border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:18px;padding:4px 8px;transition:color .15s,background .15s}.modal-close:hover{background:var(--surface-2);color:var(--text-primary)}.modal-video{height:0;padding-bottom:56.25%;position:relative}.modal-video iframe{height:100%;left:0;position:absolute;top:0;width:100%}.modal-error{color:var(--wrong);padding:40px;text-align:center}.results-wrapper{align-items:flex-start;display:flex;justify-content:center;min-height:100vh;padding:32px 24px;width:100%}.results-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;gap:28px;max-width:760px;padding:32px;width:100%}.score-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:24px;padding-bottom:24px}.score-circle{align-items:baseline;display:flex;font-family:Share Tech Mono,monospace;gap:4px}.score-number{color:var(--accent);font-size:56px;line-height:1}.score-divider,.score-total{color:var(--text-secondary);font-size:28px}.score-title{color:var(--text-primary);font-size:22px;font-weight:700;margin-bottom:4px}.score-time{color:var(--text-secondary);font-size:14px;margin-top:4px}.score-pct,.score-time strong{color:var(--accent);font-family:Share Tech Mono,monospace}.score-pct{font-size:15px}.breakdown-list{display:flex;flex-direction:column;gap:12px}.breakdown-item{align-items:center;border:1px solid var(--border);border-radius:10px;display:flex;gap:16px;padding:16px;position:relative}.breakdown-item.correct{background:var(--correct-bg);border-color:var(--correct)}.breakdown-item.wrong{background:var(--wrong-bg);border-color:var(--wrong)}.breakdown-left{flex-shrink:0}.breakdown-img{background:var(--surface-2);border-radius:6px;height:64px;object-fit:cover;width:100px}.breakdown-right{display:flex;flex:1 1;flex-direction:column;gap:8px}.breakdown-qnum-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.breakdown-time{background:var(--accent-dim);border:1px solid var(--accent);border-radius:12px;color:var(--accent);padding:2px 8px}.breakdown-qnum,.breakdown-time{font-family:Share Tech Mono,monospace;font-size:12px}.breakdown-qnum{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.breakdown-answers{display:flex;flex-direction:column;gap:4px}.answer-tag{border-radius:6px;display:inline-block;font-size:13px;font-weight:500;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.tag-correct{background:var(--correct-bg);color:var(--correct)}.tag-wrong{background:var(--wrong-bg);color:var(--wrong)}.breakdown-icon{flex-shrink:0;font-size:20px;font-weight:700;text-align:center;width:32px}.icon-correct{color:var(--correct)}.icon-wrong{color:var(--wrong)}.restart-btn{background:var(--accent);border:none;border-radius:8px;color:#0d1117;cursor:pointer;font-family:Inter,sans-serif;font-size:16px;font-weight:700;padding:14px;transition:background .15s,transform .1s;width:100%}.restart-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.results-error,.results-loading{color:var(--text-secondary);font-size:15px;padding:40px;text-align:center}.results-error{color:var(--wrong)}.export-btn{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;margin-left:auto;padding:8px 16px;transition:border-color .15s,color .15s}.export-btn:hover{border-color:var(--accent);color:var(--accent)}.video-btn{background:#1a1f2e;border:1px solid #4a90e2;border-radius:6px;color:#4a90e2;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;margin-top:4px;padding:6px 14px;transition:background .15s,border-color .15s;width:-webkit-fit-content;width:fit-content}.video-btn:hover{background:#4a90e226;border-color:#6aaff5}.breakdown-item.deleted{background:var(--surface-2);border-color:var(--border);opacity:.6}.deleted-msg{color:var(--text-secondary);font-size:13px;font-style:italic}@media print{body{background:#fff!important;color:#000!important}.results-student-name{border-bottom:1px solid #ccc!important;color:#000!important}.results-student-name strong{color:#000!important}.results-wrapper{padding:0}.results-card{background:#fff!important;border:none!important;box-shadow:none!important;max-width:100%}.score-header{border-bottom:1px solid #ccc!important}.score-number,.score-pct,.score-time strong{color:#00a87a!important}.score-divider,.score-title,.score-total{color:#000!important}.score-time{color:#555!important}.breakdown-item{background:#fff!important;border:1px solid #ccc!important;break-inside:avoid;page-break-inside:avoid}.breakdown-item.correct{background:#f0fff4!important;border-color:#3fb950!important}.breakdown-item.wrong{background:#fff5f5!important;border-color:#f85149!important}.breakdown-qnum,.breakdown-time{color:#555!important}.breakdown-time{background:#e8f5f0!important;border-color:#00a87a!important;color:#00a87a!important}.answer-tag.tag-correct{background:#e8f5e9!important;color:#2e7d32!important}.answer-tag.tag-wrong{background:#ffebee!important;color:#c62828!important}.breakdown-icon.icon-correct{color:#2e7d32!important}.breakdown-icon.icon-wrong{color:#c62828!important}.export-btn,.restart-btn,.video-btn{display:none!important}}.results-student-name{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:15px;padding-bottom:12px}.results-student-name strong{color:var(--text-primary);font-family:Share Tech Mono,monospace}.preview-banner{background:#f0a5001f;margin-bottom:8px}@media print{.preview-banner{display:none!important}}:root{--bg:#0d1117;--surface:#161b22;--surface-2:#21262d;--border:#30363d;--accent:#00d4aa;--accent-dim:#00d4aa1f;--accent-hover:#0fc;--text-primary:#e6edf3;--text-secondary:#8b949e;--correct:#3fb950;--correct-bg:#3fb9501a;--wrong:#f85149;--wrong-bg:#f851491a;--option-selected:#00d4aa26}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#0d1117;background-color:var(--bg);color:#e6edf3;color:var(--text-primary);font-family:Inter,sans-serif}#root,body{align-items:center;display:flex;justify-content:center;min-height:100vh}#root{width:100%}.clickable-img{cursor:zoom-in;transition:opacity .15s}.clickable-img:hover{opacity:.85}.preview-banner{background:#f0a50026;border:1px solid #f0a500;border-radius:8px;color:#f0a500;font-size:13px;font-weight:600;margin-bottom:4px;padding:10px 16px;text-align:center}.student-view-btn{border-color:#f0a500!important;color:#f0a500!important}.student-view-btn:hover{background:#f0a5001f!important}
/*# sourceMappingURL=main.7ab4c40d.css.map*/