.instructor-grading-container{min-height:100vh;background:#050259;padding:2rem}.grading-header-bar{background:#F2F2F2;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0003;display:flex;align-items:center;gap:2rem}.btn-back-lms{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(143,132,217,.2);border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s ease;color:#010440}.btn-back-lms:hover{background:rgba(143,132,217,.3)}.assignment-info{flex:1}.assignment-info h1{font-size:1.5rem;margin-bottom:.5rem;color:#010440}.assignment-meta{display:flex;gap:1.5rem;font-size:.9rem;color:#010440}.assignment-meta span{display:flex;align-items:center;gap:.5rem}.btn-download{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3E21A6;color:#f2f2f2;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s ease}.btn-download:hover{background:#8F84D9}.stats-dashboard{margin-bottom:1.5rem}.stats-chart-panel{display:grid;grid-template-columns:1.5fr 1fr;gap:1.25rem;align-items:stretch}.chart-container{background:linear-gradient(135deg,#FFFFFF 0%,#F8F7FF 100%);border-radius:16px;padding:1.5rem;box-shadow:0 6px 24px #3e21a61f;border:2px solid rgba(143,132,217,.2);display:flex;flex-direction:column}.chart-title{font-size:1.25rem;font-weight:800;color:#3e21a6;margin:0 0 1rem;text-align:center}.bar-chart-wrapper{display:flex;flex-direction:column;gap:1.25rem}.bar-item{display:grid;grid-template-columns:140px 1fr 60px;align-items:center;gap:1rem;transition:all .3s ease;cursor:pointer}.bar-item:hover{transform:translate(4px)}.bar-label-section{display:flex;align-items:center;gap:.75rem}.bar-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #00000026}.bar-dot.blue{background:linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%)}.bar-dot.green{background:linear-gradient(135deg,#10b981 0%,#34d399 100%)}.bar-dot.purple{background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%)}.bar-dot.orange{background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%)}.bar-label{font-size:.85rem;font-weight:600;color:#374151;white-space:nowrap}.bar-container{height:36px;background:rgba(143,132,217,.1);border-radius:20px;overflow:hidden;position:relative}.bar-fill{height:100%;border-radius:20px;display:flex;align-items:center;justify-content:flex-end;padding-right:.75rem;transition:width 1.2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-width:40px}.bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2.5s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.bar-fill.blue{background:linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%);box-shadow:0 2px 8px #3b82f64d}.bar-fill.green{background:linear-gradient(135deg,#10b981 0%,#34d399 100%);box-shadow:0 2px 8px #10b9814d}.bar-fill.purple{background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%);box-shadow:0 2px 8px #8b5cf64d}.bar-fill.orange{background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%);box-shadow:0 2px 8px #f59e0b4d}.bar-value{font-size:.9rem;font-weight:700;color:#fff;z-index:2;position:relative}.bar-percentage{font-size:1rem;font-weight:700;color:#010440;text-align:right}.total-count-display{display:flex;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,rgba(139,92,246,.1) 0%,rgba(167,139,250,.05) 100%);border-radius:12px;margin-top:.5rem;border:2px solid rgba(139,92,246,.2)}.total-count-display svg{color:#8b5cf6}.total-label{font-size:.85rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.total-value{font-size:1.5rem;font-weight:900;color:#3e21a6;margin-left:auto}.stats-summary-cards{display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:space-between}.summary-card{background:white;border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 6px 24px #00000014;display:flex;gap:1rem;align-items:center;border:2px solid transparent;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:90px}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;transition:opacity .4s ease}.summary-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 48px #00000026}.summary-card:hover:before{opacity:1}.summary-card.purple{border-color:#8b5cf633}.summary-card.purple:before{background:linear-gradient(135deg,rgba(139,92,246,.03) 0%,rgba(167,139,250,.05) 100%)}.summary-card.blue{border-color:#3b82f633}.summary-card.blue:before{background:linear-gradient(135deg,rgba(59,130,246,.03) 0%,rgba(96,165,250,.05) 100%)}.summary-card.action-card{border-color:#8b5cf64d;cursor:pointer;background:linear-gradient(135deg,#FFFFFF 0%,#F8F7FF 100%)}.summary-card.action-card:before{background:linear-gradient(135deg,rgba(139,92,246,.08) 0%,rgba(167,139,250,.12) 100%)}.summary-card.action-card:hover{border-color:#8b5cf680;transform:translateY(-4px) scale(1.02);box-shadow:0 12px 36px #8b5cf633}.summary-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.summary-card.purple .summary-icon{background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%);color:#fff;box-shadow:0 6px 18px #8b5cf659}.summary-card.blue .summary-icon{background:linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%);color:#fff;box-shadow:0 6px 18px #3b82f659}.summary-icon.gradient{background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%);color:#fff;box-shadow:0 6px 18px #8b5cf659}.summary-content{display:flex;flex-direction:column;gap:.35rem;flex:1;position:relative;z-index:1;text-align:left}.summary-value{font-size:2.25rem;font-weight:900;color:#010440;line-height:1}.summary-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.8px}.summary-percentage,.summary-subtitle{font-size:1rem;font-weight:700;color:#3e21a6}.action-title{font-size:1.1rem;font-weight:700;color:#3e21a6;margin-bottom:.25rem;text-align:left}.action-subtitle{font-size:.8rem;font-weight:500;color:#6b7280;text-align:left}.action-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(139,92,246,.1);color:#8b5cf6;transition:all .3s ease;margin-left:auto;flex-shrink:0}.summary-card.action-card:hover .action-arrow{background:#8b5cf6;color:#fff;transform:translate(4px)}.performance-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(1,4,64,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:2rem}.performance-popup{background:white;border-radius:24px;max-width:900px;width:100%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 64px #0000004d;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.popup-header{display:flex;justify-content:space-between;align-items:flex-start;padding:2rem;border-bottom:2px solid rgba(139,92,246,.2);background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}.popup-title-section{display:flex;gap:1rem;align-items:flex-start}.popup-title-section svg{color:#fff;flex-shrink:0;margin-top:.25rem}.popup-header h2{margin:0;font-size:1.75rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.popup-subtitle{margin:.5rem 0 0;font-size:.9rem;color:#ffffffe6;font-weight:500;text-shadow:0 1px 1px rgba(0,0,0,.1)}.popup-close-btn{background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.3);border-radius:12px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .3s ease;flex-shrink:0}.popup-close-btn:hover{background:rgba(255,255,255,.3);color:#fff;transform:rotate(90deg)}.popup-content{padding:2rem;overflow-y:auto;flex:1}.performance-stats-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2rem}.stat-mini{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:linear-gradient(135deg,rgba(139,92,246,.05) 0%,rgba(167,139,250,.02) 100%);border-radius:16px;border:2px solid rgba(139,92,246,.15)}.stat-mini svg{color:#8b5cf6;flex-shrink:0}.stat-mini-value{font-size:1.75rem;font-weight:900;color:#3e21a6;line-height:1}.stat-mini-label{font-size:.75rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.performance-chart-section{margin-bottom:2rem}.chart-section-title{font-size:1.25rem;font-weight:700;color:#3e21a6;margin:0 0 1.5rem}.question-performance-chart{display:flex;flex-direction:column;gap:1rem}.question-bar-item{display:grid;grid-template-columns:50px 1fr 80px;align-items:center;gap:1rem}.question-number{font-size:.9rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);border-radius:10px;text-shadow:0 1px 1px rgba(0,0,0,.2);width:48px;height:48px;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0}.question-bar-wrapper{position:relative;flex:1}.question-bar-bg{height:40px;background:rgba(143,132,217,.1);border-radius:20px;overflow:visible;position:relative}.question-bar-fill{height:100%;border-radius:20px;display:flex;align-items:center;justify-content:flex-end;padding-right:1rem;transition:width 1s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-width:60px}.question-bar-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2.5s infinite}.question-bar-fill{background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%);box-shadow:0 2px 8px #8b5cf64d}.question-bar-item:hover .question-bar-fill{filter:brightness(1.1)}.question-tooltip{position:absolute;top:-10px;left:0;right:0;transform:translateY(-100%);background:white;border-radius:12px;padding:1rem;box-shadow:0 12px 32px #0003;border:2px solid rgba(139,92,246,.3);z-index:1000;animation:tooltipSlideDown .2s ease;max-width:500px;min-width:350px}@keyframes tooltipSlideDown{0%{opacity:0;transform:translateY(calc(-100% - 10px))}to{opacity:1;transform:translateY(-100%)}}.question-tooltip:after{content:"";position:absolute;bottom:-8px;left:20px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid white;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.question-tooltip-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:2px solid rgba(139,92,246,.15);font-weight:700;color:#3e21a6;font-size:.9rem}.question-tooltip-header svg{color:#8b5cf6}.question-tooltip-text{font-size:.9rem;line-height:1.5;color:#374151;margin-bottom:.75rem;font-weight:500}.question-tooltip-footer{display:flex;gap:1rem;padding-top:.75rem;border-top:1px solid rgba(139,92,246,.1)}.tooltip-stat{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:#6b7280}.tooltip-stat svg{color:#8b5cf6}.question-bar-fill[style*="width: 9"],.question-bar-fill[style*="width: 10"]{background:linear-gradient(135deg,#10b981 0%,#34d399 100%);box-shadow:0 2px 8px #10b9814d}.question-bar-fill[style*="width: 7"],.question-bar-fill[style*="width: 8"]{background:linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%);box-shadow:0 2px 8px #3b82f64d}.question-bar-fill[style*="width: 6"]{background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%);box-shadow:0 2px 8px #f59e0b4d}.question-bar-label{font-size:.9rem;font-weight:700;color:#fff;z-index:2;position:relative}.question-score-detail{font-size:.9rem;font-weight:700;color:#6b7280;text-align:right}.performance-legend{display:flex;gap:2rem;justify-content:center;padding:1.5rem;background:rgba(139,92,246,.05);border-radius:16px}.legend-item-mini{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#6b7280}.legend-color-box{width:24px;height:24px;border-radius:6px;box-shadow:0 2px 6px #00000026}.legend-color-box.high{background:linear-gradient(135deg,#10b981 0%,#34d399 100%)}.legend-color-box.medium{background:linear-gradient(135deg,#3b82f6 0%,#60a5fa 100%)}.legend-color-box.low{background:linear-gradient(135deg,#f59e0b 0%,#fbbf24 100%)}@media (max-width: 768px){.performance-stats-summary{grid-template-columns:1fr}.question-bar-item{grid-template-columns:40px 1fr 70px;gap:.75rem}.performance-legend{flex-direction:column;gap:1rem}.performance-popup-overlay{padding:1rem}}@media (max-width: 1024px){.stats-chart-panel{grid-template-columns:1fr}.stats-summary-cards{flex-direction:row}.bar-item{grid-template-columns:120px 1fr 50px}}@media (max-width: 640px){.stats-summary-cards{flex-direction:column}.bar-item{grid-template-columns:100px 1fr 45px;gap:.5rem}.bar-label{font-size:.75rem}}.students-section{background:white;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-controls-left{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;flex:1}.section-controls-right{display:flex;align-items:center}.section-controls h2{font-size:1.25rem;color:#010440;margin:0}.filter-buttons{display:flex;gap:.5rem}.filter-btn{padding:.5rem 1rem;border:2px solid rgba(62,33,166,.3);background:#F2F2F2;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s ease;color:#010440}.filter-btn:hover{border-color:#3e21a6;color:#3e21a6}.filter-btn.active{background:#3E21A6;color:#f2f2f2;border-color:#3e21a6}.students-table-container{overflow-x:auto}.students-table{width:100%;border-collapse:collapse}.students-table thead{background:rgba(62,33,166,.1);border-bottom:2px solid #3E21A6}.students-table th{text-align:left;padding:1rem;font-weight:600;color:#010440;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.students-table td{padding:1rem;border-bottom:1px solid rgba(62,33,166,.1)}.students-table tbody tr{transition:all .2s ease}.students-table tbody tr:hover{background:rgba(143,132,217,.05)}.student-name{font-weight:600;color:#010440}.student-id-cell{color:#010440;font-family:Courier New,monospace;opacity:.8}.status-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .9rem;border-radius:6px;font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border:none}.status-badge svg{flex-shrink:0}.status-badge.graded{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;box-shadow:0 1px 3px #10b98166}.status-badge.submitted{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;box-shadow:0 1px 3px #3b82f666}.status-badge.pending{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff;box-shadow:0 1px 3px #f59e0b66}.status-badge.in_progress{background:linear-gradient(135deg,#6366f1 0%,#4f46e5 100%);color:#fff;box-shadow:0 1px 3px #6366f166}.status-badge.score_released{background:linear-gradient(135deg,#8F84D9 0%,#3E21A6 100%);color:#fff;box-shadow:0 1px 3px #8f84d980}.timestamp{color:#010440;font-size:.85rem;opacity:.7}.score-cell{font-size:1rem;padding:1rem 1rem 1rem .5rem!important}.score-display{display:inline;padding:0!important;margin:0!important;background:transparent!important;border:none!important}.score-display strong{font-size:1.2rem;color:#010440;font-weight:600;padding:0!important;margin:0!important}.btn-grade{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#3E21A6;color:#f2f2f2;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.btn-grade:hover{background:#8F84D9;transform:translateY(-1px)}.btn-view{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(143,132,217,.2);color:#010440;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-view:hover{background:rgba(143,132,217,.3)}.btn-bulk-grade{display:flex;align-items:center;gap:.75rem;padding:.875rem 2rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#f2f2f2;border:none;border-radius:12px;cursor:pointer;font-size:1.05rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 16px #3e21a666;position:relative;overflow:hidden}.btn-bulk-grade:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-bulk-grade:hover:before{left:100%}.btn-bulk-grade:hover{background:linear-gradient(135deg,#8F84D9 0%,#3E21A6 100%);transform:translateY(-3px);box-shadow:0 6px 20px #3e21a680}.btn-bulk-grade:active{transform:translateY(-1px);box-shadow:0 3px 12px #3e21a666}.btn-bulk-grade svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.btn-bulk-grade:disabled{cursor:not-allowed;opacity:.9}.btn-bulk-grade.grading{background:linear-gradient(135deg,#8F84D9 0%,#3E21A6 100%);position:relative;overflow:hidden}.btn-bulk-grade.grading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}.btn-bulk-grade .spinning{animation:spin 1s linear infinite}.not-submitted{color:#9ca3af;font-size:.85rem;font-style:italic}.grading-workspace-full{min-height:100vh;background:#f5f7fa;padding:2rem}.grading-header{background:white;border-radius:12px;padding:1.5rem 2rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000d;display:flex;align-items:center;gap:2rem}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;font-size:1rem}.student-info{flex:1}.student-info h2{font-size:1.25rem;margin-bottom:.5rem;color:#1f2937}.student-id{display:inline-block;margin-right:1rem;padding:.25rem .75rem;background:#f3f4f6;border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;color:#6b7280}.submitted-time{display:inline-flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.85rem}.grading-progress{font-weight:600;color:#3e21a6}.ai-assist-banner{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#f2f2f2;padding:1rem 2rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 4px 12px #3e21a64d}.split-grading-view{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.original-question-panel,.student-answer-panel{background:white;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid rgba(62,33,166,.2)}.panel-header h3{font-size:1.1rem;color:#010440}.points-info{padding:.25rem .75rem;background:#ede9fe;color:#6d28d9;border-radius:20px;font-size:.85rem;font-weight:600}.btn-zoom{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f3f4f6;border:none;border-radius:6px;cursor:pointer;font-size:.9rem}.question-viewer,.answer-viewer{background:rgba(242,242,242,.5);border-radius:8px;min-height:300px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;border:2px solid rgba(62,33,166,.3)}.pdf-section,.answer-image{text-align:center;color:#9ca3af;font-size:1.5rem;padding:2rem}.ai-suggestion-card{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-left:4px solid #10b981;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.ai-header{display:flex;align-items:center;gap:.5rem;color:#065f46;margin-bottom:1rem;font-size:1rem}.ai-content{margin-bottom:1rem}.suggested-score{font-size:1.5rem;font-weight:700;color:#059669;margin-bottom:.5rem}.ai-content p{color:#047857;font-size:.95rem;line-height:1.6}.btn-accept-ai{padding:.6rem 1.5rem;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease}.btn-accept-ai:hover{background:#059669}.manual-grading{background:rgba(242,242,242,.5);border-radius:8px;padding:1.5rem;border:2px solid rgba(62,33,166,.3)}.score-input-group{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.score-input-group label{font-weight:600;color:#374151}.points-input-large{width:80px;padding:.75rem;border:2px solid rgba(62,33,166,.3);border-radius:8px;font-size:1.25rem;font-weight:700;text-align:center;color:#010440}.max-points{font-size:1.25rem;color:#6b7280}.feedback-group{display:flex;flex-direction:column;gap:.5rem}.feedback-group label{font-weight:600;color:#374151}.feedback-textarea{width:100%;padding:.75rem;border:2px solid rgba(62,33,166,.3);border-radius:8px;resize:vertical;min-height:100px;font-family:inherit;font-size:.95rem;color:#010440}.feedback-textarea:focus{outline:none;border-color:#3e21a6}.grading-navigation{background:white;border-radius:12px;padding:1.5rem 2rem;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;align-items:center}.question-dots{display:flex;gap:.5rem;flex-wrap:wrap}.question-dot{width:36px;height:36px;border-radius:50%;border:2px solid rgba(62,33,166,.3);background:#F2F2F2;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;color:#010440}.question-dot:hover{border-color:#3e21a6;color:#3e21a6}.question-dot.active{background:#3E21A6;color:#f2f2f2;border-color:#3e21a6}.btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease}.btn-secondary:hover:not(:disabled){background:rgba(143,132,217,.3)}.btn-success{background:#10b981;color:#fff}.btn-success:hover{background:#059669}@media (max-width: 1200px){.split-grading-view{grid-template-columns:1fr}}@media (max-width: 768px){.grading-header-bar{flex-direction:column;align-items:flex-start}.assignment-meta{flex-direction:column;gap:.5rem}.grading-stats{grid-template-columns:repeat(2,1fr)}.section-controls{flex-direction:column;align-items:flex-start}.filter-buttons{flex-wrap:wrap}}.students-table tbody tr.clickable{cursor:pointer;position:relative}.students-table tbody tr.clickable:hover{background:rgba(143,132,217,.1);box-shadow:0 2px 4px #3e21a633;transform:translate(2px)}.students-table tbody tr.clickable:hover .student-name{color:#3e21a6}.students-table tbody tr.clickable:active{transform:translate(0);box-shadow:0 1px 2px #3e21a633}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.grading-stats{animation:fadeInUp .4s ease-out}.students-section{animation:fadeInUp .5s ease-out .1s both}.students-table-container{border-radius:8px;border:1px solid rgba(62,33,166,.2)}.students-table-container::-webkit-scrollbar{height:8px}.students-table-container::-webkit-scrollbar-track{background:rgba(242,242,242,.3);border-radius:4px}.students-table-container::-webkit-scrollbar-thumb{background:#8F84D9;border-radius:4px}.students-table-container::-webkit-scrollbar-thumb:hover{background:#3E21A6}.demo-quick-links{background:#F2F2F2;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a;border:2px solid rgba(62,33,166,.2)}.demo-quick-links h3{font-size:1.1rem;margin-bottom:.5rem;color:#010440}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.quick-link-btn{display:flex;flex-direction:column;padding:.75rem 1rem;background:rgba(242,242,242,.5);border:2px solid rgba(62,33,166,.3);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.quick-link-btn:hover{background:rgba(143,132,217,.1);border-color:#3e21a6;transform:translateY(-2px);box-shadow:0 2px 8px #3e21a633}.quick-link-name{font-weight:600;color:#010440;font-size:.9rem;margin-bottom:.25rem}.quick-link-status{font-size:.8rem;color:#010440;opacity:.7}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1.5rem;background:#F2F2F2;border-radius:12px;border:2px solid #8F84D9;box-shadow:0 2px 8px #0000001a}.pagination-info{font-size:.9rem;color:#010440;font-weight:500}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:white;border:2px solid #8F84D9;border-radius:8px;cursor:pointer;font-size:.9rem;color:#3e21a6;transition:all .2s ease;font-weight:500}.pagination-btn:hover:not(:disabled){background:#8F84D9;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #3e21a64d}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-numbers{display:flex;align-items:center;gap:.25rem}.pagination-number{min-width:36px;height:36px;padding:.5rem;background:white;border:2px solid #8F84D9;border-radius:8px;cursor:pointer;font-size:.9rem;color:#3e21a6;transition:all .2s ease;font-weight:500;display:flex;align-items:center;justify-content:center}.pagination-number:hover{background:#8F84D9;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #3e21a64d}.pagination-number.active{background:#3E21A6;color:#fff;border-color:#3e21a6}.pagination-ellipsis{padding:0 .5rem;color:#010440;font-weight:600}@media (max-width: 768px){.pagination-container{flex-direction:column;gap:1rem}.pagination-controls{width:100%;justify-content:center}.pagination-numbers{flex-wrap:wrap;justify-content:center}}.bulk-grade-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(1,4,64,.75);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.bulk-grade-popup{background:#F2F2F2;border-radius:20px;padding:0;max-width:560px;width:90%;max-height:90vh;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease-out;overflow:hidden;display:flex;flex-direction:column}.bulk-grade-close{position:absolute;top:1.25rem;right:1.25rem;background:rgba(1,4,64,.1);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#010440;z-index:10}.bulk-grade-close:hover{background:rgba(1,4,64,.2);transform:rotate(90deg)}.bulk-grade-header{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);padding:2.5rem 2rem 2rem;text-align:center;color:#f2f2f2}.bulk-grade-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:rgba(255,255,255,.2);border-radius:50%;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 0 #fff6}50%{transform:scale(1.05);box-shadow:0 0 0 10px #fff0}}.bulk-grade-header h2{font-size:1.75rem;font-weight:700;margin:0;color:#f2f2f2;text-shadow:0 2px 4px rgba(0,0,0,.2)}.bulk-grade-content{padding:2rem;flex:1;overflow-y:auto;min-height:0}.bulk-grade-description{font-size:1.05rem;line-height:1.7;color:#010440;margin:0 0 1.5rem;text-align:center}.bulk-grade-stats{background:rgba(62,33,166,.1);border-radius:12px;padding:1.5rem;border:2px solid rgba(62,33,166,.2)}.bulk-grade-stat-item{display:flex;justify-content:space-between;align-items:center}.bulk-grade-stat-label{font-size:1rem;color:#010440;font-weight:500}.bulk-grade-stat-value{font-size:1.5rem;font-weight:700;color:#3e21a6;background:white;padding:.5rem 1rem;border-radius:8px;min-width:60px;text-align:center;box-shadow:0 2px 8px #3e21a633}.bulk-grade-students-list{margin-top:1.5rem;background:white;border-radius:12px;padding:1.25rem;border:2px solid rgba(62,33,166,.15)}.bulk-grade-list-title{font-size:1rem;font-weight:600;color:#010440;margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.bulk-grade-list-title:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);border-radius:2px}.bulk-grade-students-scroll{max-height:200px;overflow-y:auto;padding-right:.5rem}.bulk-grade-students-scroll::-webkit-scrollbar{width:8px}.bulk-grade-students-scroll::-webkit-scrollbar-track{background:rgba(242,242,242,.5);border-radius:4px}.bulk-grade-students-scroll::-webkit-scrollbar-thumb{background:#8F84D9;border-radius:4px}.bulk-grade-students-scroll::-webkit-scrollbar-thumb:hover{background:#3E21A6}.bulk-grade-student-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:.5rem;background:rgba(62,33,166,.05);border-radius:8px;border-left:3px solid #8F84D9;transition:all .2s ease}.bulk-grade-student-item:last-child{margin-bottom:0}.bulk-grade-student-item:hover{background:rgba(62,33,166,.1);border-left-color:#3e21a6;transform:translate(2px)}.bulk-grade-student-number{font-weight:600;color:#3e21a6;min-width:24px;font-size:.9rem}.bulk-grade-student-name{flex:1;font-weight:500;color:#010440;font-size:.95rem}.bulk-grade-actions{display:flex;gap:1rem;padding:1.5rem 2rem 2rem;border-top:1px solid rgba(62,33,166,.1);background:#F2F2F2;flex-shrink:0}.btn-bulk-cancel,.btn-bulk-confirm{flex:1;padding:.875rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-bulk-cancel{background:rgba(1,4,64,.1);color:#010440}.btn-bulk-cancel:hover{background:rgba(1,4,64,.2);transform:translateY(-2px)}.btn-bulk-confirm{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#f2f2f2;box-shadow:0 4px 12px #3e21a64d}.btn-bulk-confirm:hover:not(:disabled){background:linear-gradient(135deg,#8F84D9 0%,#3E21A6 100%);transform:translateY(-2px);box-shadow:0 6px 16px #3e21a666}.btn-bulk-confirm:active:not(:disabled){transform:translateY(0)}.btn-bulk-confirm:disabled{cursor:not-allowed;opacity:.9}.btn-bulk-confirm.grading{background:linear-gradient(135deg,#8F84D9 0%,#3E21A6 100%);position:relative;overflow:hidden}.btn-bulk-confirm.grading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.btn-bulk-confirm .spinning{animation:spin 1s linear infinite}.btn-bulk-cancel:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.section-controls{flex-direction:column;align-items:flex-start}.section-controls-left,.section-controls-right{width:100%}.btn-bulk-grade{width:100%;justify-content:center}.bulk-grade-popup{width:95%;margin:1rem}.bulk-grade-actions{flex-direction:column}.btn-bulk-cancel,.btn-bulk-confirm{width:100%}}.student-submission-container{min-height:100vh;background:#050259;padding:2rem}.submission-header{background:#F2F2F2;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0003;display:flex;align-items:center;gap:2rem}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(143,132,217,.2);border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s ease;color:#010440}.assignment-title-section{flex:1}.assignment-title-section h1{font-size:1.5rem;margin-bottom:.5rem;color:#010440}.course-info{color:#010440;font-size:.9rem;opacity:.7}.btn-download-worksheet{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3E21A6;color:#f2f2f2;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s ease}.btn-download-worksheet:hover{background:#8F84D9;transform:translateY(-2px)}.content-grid{display:grid;grid-template-columns:1fr 400px;gap:2rem}.info-panel{display:flex;flex-direction:column;gap:1.5rem}.info-card{background:#F2F2F2;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.info-card h3{font-size:1.1rem;margin-bottom:1rem;color:#010440}.detail-list{display:flex;flex-direction:column;gap:1rem}.detail-row{display:flex;align-items:flex-start;gap:.875rem;padding:1rem;background:rgba(62,33,166,.05);border-radius:8px}.detail-row>div{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:0}.detail-row svg{color:#3e21a6;flex-shrink:0;margin-top:.125rem}.detail-row.overdue svg{color:#ef4444}.detail-label{font-size:.75rem;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px;line-height:1}.detail-value{font-weight:600;color:#010440;font-size:1rem;line-height:1.4;word-break:break-word}.overdue-badge{display:inline-block;margin-left:.5rem;padding:.2rem .5rem;background:#fee2e2;color:#dc2626;border-radius:4px;font-size:.75rem;font-weight:700}.assignment-description{color:#010440;line-height:1.6;opacity:.8}.important-info-list{display:flex;flex-direction:column;gap:1rem}.info-item-row{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:rgba(62,33,166,.05);border-radius:8px;border-left:3px solid #8F84D9}.info-item-row .info-icon{color:#3e21a6;flex-shrink:0;margin-top:.2rem}.info-item-row .info-icon.warning{color:#f59e0b}.info-item-title{font-weight:600;color:#010440;margin-bottom:.25rem;font-size:.95rem}.info-item-text{color:#010440;opacity:.7;font-size:.85rem;line-height:1.5}.instructions-card{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #fbbf24}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.btn-close-instructions{background:rgba(0,0,0,.1);border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.5rem;line-height:1;color:#78350f;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-close-instructions:hover{background:rgba(0,0,0,.2)}.instructions-list{margin-left:1.5rem;color:#78350f}.instructions-list li{margin-bottom:.75rem;line-height:1.6}.instructions-list strong{color:#92400e}.instructions-list ul{margin-top:.5rem;margin-left:1rem;list-style-type:circle}.instructions-list ul li{margin-bottom:.25rem;font-size:.9rem}.ai-feature-note{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:1rem;background:rgba(255,255,255,.5);border-radius:8px;color:#92400e;font-weight:600;font-size:.95rem}.ai-feature-note svg{color:#f59e0b;flex-shrink:0}.upload-panel{display:flex;flex-direction:column;gap:1.5rem}.qr-upload-container{display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem;align-items:stretch}.qr-code-section{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:#FFFFFF;border-radius:12px;border:2px solid rgba(143,132,217,.2);height:100%}.qr-code-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.qr-code-header h3{font-size:1.2rem;color:#010440;margin:0}.qr-code-header svg{color:#3e21a6}.qr-code-description{font-size:.9rem;color:#010440;opacity:.7;text-align:center;margin-bottom:1rem}.qr-code-container{padding:1rem;background:white;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:1rem}.assignment-id-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(62,33,166,.1);border-radius:8px;font-size:.9rem}.id-label{color:#010440;opacity:.7;font-weight:500}.id-value{color:#3e21a6;font-weight:700;font-family:Courier New,monospace}.upload-card{background:#F2F2F2;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;height:100%;display:flex;flex-direction:column}.preview-container{background:#F2F2F2;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;grid-column:1 / -1}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem;padding-bottom:1.5rem;border-bottom:2px solid rgba(143,132,217,.2)}.preview-title-section h2{font-size:1.5rem;color:#010440;margin:0 0 .25rem}.preview-file-name{font-size:.9rem;color:#010440;opacity:.7}.preview-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.preview-actions .btn-submit{background:#10b981;color:#fff;padding:.75rem 1.5rem;font-size:1rem;font-weight:600}.preview-actions .btn-submit:hover:not(:disabled){background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.page-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:rgba(143,132,217,.1);border-radius:8px}.btn-page-nav{padding:.5rem 1rem;background:#3E21A6;color:#f2f2f2;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-page-nav:hover:not(:disabled){background:#8F84D9}.btn-page-nav:disabled{opacity:.5;cursor:not-allowed}.page-info{font-size:.9rem;color:#010440;font-weight:500;min-width:100px;text-align:center}.zoom-controls{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(143,132,217,.1);border-radius:8px}.btn-zoom{padding:.5rem;background:#3E21A6;color:#f2f2f2;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-zoom:hover{background:#8F84D9}.zoom-level{font-size:.9rem;color:#010440;font-weight:500;min-width:50px;text-align:center}.btn-reupload{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(143,132,217,.2);color:#010440;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease}.btn-reupload:hover{background:rgba(143,132,217,.3)}.preview-content{background:white;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;min-height:600px;max-height:80vh;overflow-y:auto;overflow-x:auto}.pdf-viewer{width:100%;text-align:center}.pdf-viewer .react-pdf__Document{display:inline-block}.pdf-loading,.pdf-error{padding:3rem;text-align:center;color:#010440;font-size:1.1rem}.page-info-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:rgba(143,132,217,.1);border-radius:8px;color:#010440;font-weight:500}.page-info-display svg{color:#3e21a6}.image-viewer{width:100%;display:flex;justify-content:center;align-items:center;padding:1.5rem}.preview-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid rgba(143,132,217,.2);display:flex;flex-direction:column;gap:1rem}.upload-card h2{font-size:1.5rem;margin-bottom:1.5rem;color:#010440}.upload-zone{text-align:center;padding:3rem 2rem;border:3px dashed #8F84D9;border-radius:12px;transition:all .3s ease;background:rgba(143,132,217,.05)}.upload-zone:hover{border-color:#3e21a6;background:rgba(143,132,217,.1)}.upload-zone h3{font-size:1.25rem;margin-bottom:.5rem;color:#010440}.upload-zone p{color:#010440;opacity:.7;margin-bottom:.5rem}.file-types{font-size:.85rem;color:#010440;opacity:.6}.btn-upload{display:inline-block;padding:.75rem 2rem;background:#3E21A6;color:#f2f2f2;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;margin-top:1.5rem;transition:all .2s ease;border:none}.btn-upload:hover:not(.disabled){background:#8F84D9;transform:translateY(-2px)}.btn-upload.disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.overdue-message{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;color:#d97706;font-weight:600;background:#fef3c7;padding:.75rem 1rem;border-radius:8px;border:1px solid #fbbf24}.upload-progress{text-align:center;padding:3rem 2rem}.progress-spinner{width:48px;height:48px;border:4px solid rgba(143,132,217,.2);border-top-color:#3e21a6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.sparkle-icon{color:#3e21a6;animation:sparkle 1.5s ease-in-out infinite;margin-bottom:1rem}@keyframes sparkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.upload-progress h3{font-size:1.25rem;margin-bottom:.5rem;color:#010440}.upload-progress p{color:#010440;opacity:.7;margin-bottom:1.5rem}.progress-bar{max-width:400px;height:8px;background:rgba(143,132,217,.2);border-radius:4px;margin:0 auto;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3E21A6,#8F84D9);animation:progress 1.5s ease-in-out;width:100%}@keyframes progress{0%{width:0}to{width:100%}}.progress-fill.slow{animation:progress 2.5s ease-in-out}.upload-success{padding:2rem}.success-icon{color:#10b981;margin:0 auto 1rem;display:block}.upload-success h3{text-align:center;font-size:1.25rem;margin-bottom:1.5rem;color:#010440}.file-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:rgba(62,33,166,.05);border-radius:8px;margin-bottom:1.5rem}.file-info svg{color:#3e21a6;flex-shrink:0}.file-name{font-weight:600;color:#010440;word-break:break-all;flex:1}.file-size{font-size:.85rem;color:#010440;opacity:.6}.btn-remove{margin-left:auto;padding:.5rem 1rem;background:#fee2e2;color:#dc2626;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-remove:hover{background:#fecaca}.ai-processed-info{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-left:4px solid #10b981;border-radius:8px;margin-bottom:1.5rem}.ai-processed-info svg{color:#059669;flex-shrink:0;margin-top:.2rem}.ai-processed-info strong{display:block;color:#065f46;margin-bottom:.25rem}.ai-processed-info p{color:#047857;font-size:.9rem}.preview-section h4{font-size:1rem;margin-bottom:.75rem;color:#010440}.preview-placeholder{background:rgba(143,132,217,.05);border:2px solid rgba(143,132,217,.2);border-radius:8px;padding:3rem 2rem;text-align:center;color:#010440;opacity:.7;font-size:1.2rem;margin-bottom:1.5rem}.preview-placeholder p{font-size:.9rem;margin-top:.5rem}.submit-actions{display:flex;gap:1rem;margin-bottom:1rem}.btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease}.btn-secondary{background:rgba(143,132,217,.2);color:#010440}.btn-secondary:hover{background:rgba(143,132,217,.3)}.btn-primary{background:#3E21A6;color:#f2f2f2}.btn-primary:hover:not(:disabled){background:#8F84D9}.btn-submit{background:#10b981;color:#fff}.btn-submit:hover:not(:disabled){background:#059669}.btn:disabled{opacity:.5;cursor:not-allowed}.submit-note{display:flex;align-items:center;justify-content:center;gap:.5rem;color:#010440;opacity:.7;font-size:.85rem}.submit-note svg{flex-shrink:0}.upload-error{text-align:center;padding:3rem 2rem}.error-icon{color:#ef4444;margin:0 auto 1rem;display:block}.upload-error h3{font-size:1.25rem;margin-bottom:.5rem;color:#010440}.upload-error p{color:#010440;opacity:.7;margin-bottom:1.5rem}.tips-card{background:#F2F2F2;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.tips-card h4{font-size:1rem;margin-bottom:1rem;color:#010440}.tips-list{list-style-position:outside;margin-left:1.5rem;color:#010440;opacity:.8;font-size:.9rem}.tips-list li{margin-bottom:.75rem;line-height:1.6}.tips-list strong{color:#010440;font-weight:600}.tips-list ul{margin-top:.5rem;margin-left:1.5rem;list-style-type:disc}.tips-list ul li{margin-bottom:.5rem;font-size:.9rem}.submitted-card,.graded-result-card{background:#F2F2F2;border-radius:12px;padding:3rem 2rem;box-shadow:0 2px 8px #0000001a;text-align:center;max-width:600px;margin:0 auto}.submitted-icon{color:#10b981;margin:0 auto 1rem;display:block}.submitted-card h2,.graded-result-card h2{font-size:1.75rem;margin-bottom:.5rem;color:#010440}.submitted-card>p{color:#010440;opacity:.7;margin-bottom:2rem}.submitted-info{background:rgba(143,132,217,.05);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.info-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(143,132,217,.2);gap:1rem;align-items:center}.info-item:last-child{border-bottom:none}.info-value{text-align:right;word-break:break-word;flex:1;max-width:60%}.info-label{color:#010440;opacity:.7;font-weight:500}.info-value{color:#010440;font-weight:600}.status-badge{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:600}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.graded{background:#D1FAE5;color:#065f46}.student-grading-result{width:100%;margin-top:2rem;padding:2rem;background:linear-gradient(135deg,rgba(62,33,166,.05) 0%,rgba(232,229,255,.3) 100%);border-radius:12px;border:2px solid #E8E5FF;text-align:left}.student-score-display{display:flex;align-items:center;gap:2rem;margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);border-radius:12px;color:#fff}.student-score-circle{text-align:center}.student-score-percentage{font-size:3rem;font-weight:800;line-height:1;margin-bottom:.25rem}.student-score-grade{font-size:1.5rem;font-weight:700;opacity:.9}.student-score-details{flex:1}.student-score-details p{font-size:1.25rem;margin:0;font-weight:500}.student-feedback-section{margin-top:1.5rem;padding:1.5rem;background:white;border-radius:10px;box-shadow:0 2px 8px #0000000d}.student-feedback-section h3{display:flex;align-items:center;gap:.5rem;color:#3e21a6;margin:0 0 1rem;font-size:1.2rem}.student-feedback-section h4{display:flex;align-items:center;gap:.5rem;color:#010440;margin:0 0 .75rem;font-size:1rem}.student-feedback-section p{color:#4b5563;line-height:1.6;margin:0}.student-feedback-section ul{list-style:none;padding:0;margin:0}.student-feedback-section ul li{color:#4b5563;line-height:1.5;position:relative;padding:.5rem 0 .5rem 1.5rem}.student-feedback-section ul li:before{content:"?";position:absolute;left:0;font-weight:700}.student-feedback-section.strengths ul li:before{color:#10b981}.student-feedback-section.improvements ul li:before{color:#f59e0b}.student-questions-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.student-question-card{padding:1rem;border-radius:8px;border-left:4px solid}.student-question-card.correct{background:rgba(16,185,129,.05);border-color:#10b981}.student-question-card.incorrect{background:rgba(239,68,68,.05);border-color:#ef4444}.student-question-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.student-question-number{font-weight:600;color:#010440;flex:1}.student-question-points{font-size:.9rem;color:#6b7280;font-weight:600}.student-question-feedback{color:#4b5563;line-height:1.5;font-size:.95rem;margin-left:1.75rem}.student-grading-result .icon-correct{color:#10b981}.student-grading-result .icon-incorrect{color:#ef4444}.viewing-graded{background:#050259}.graded-view-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;margin-top:2rem;height:calc(100vh - 180px)}.graded-preview-panel{background:white;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.graded-preview-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#F2F2F2 0%,#E8E8E8 100%);border-bottom:2px solid #E8E5FF}.graded-preview-header h3{display:flex;align-items:center;gap:.75rem;margin:0;color:#010440;font-size:1.25rem}.graded-preview-content{flex:1;overflow-y:auto;padding:2rem;background:#F9FAFB}.graded-feedback-panel{background:white;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003}.graded-score-header{background:linear-gradient(135deg,#3E21A6 0%,#6D4FD9 50%,#8F84D9 100%);padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1.5rem;color:#fff;position:relative;overflow:hidden}.graded-score-header:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.graded-score-header:after{content:"";position:absolute;bottom:-30%;left:-5%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);border-radius:50%}.graded-score-circle-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:0;z-index:1}.graded-score-circle{text-align:center;padding:1rem;border-radius:50%;width:120px;height:120px;display:flex;justify-content:center;align-items:center;position:relative;z-index:1;background:rgba(255,255,255,.25);box-shadow:0 8px 32px #00000026,inset 0 2px 8px #fff3}.graded-score-circle:before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:50%;border:6px solid rgba(255,255,255,.2);z-index:-1}.graded-score-circle:after{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:50%;border:6px solid transparent;border-top-color:#ffffffe6;border-right-color:#ffffffe6;border-bottom-color:#ffffffe6;border-left-color:#ffffffe6;animation:fillCircle 2s ease-out forwards;z-index:-1;clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 0%,50% 0%)}@keyframes fillCircle{0%{transform:rotate(-90deg);opacity:0}to{transform:rotate(calc(var(--score-percentage) * 3.6deg - 90deg));opacity:1}}.graded-score-percentage{font-size:2.25rem;font-weight:900;line-height:1;text-shadow:0 3px 12px rgba(0,0,0,.25);letter-spacing:-.02em;animation:countUp 2s ease-out forwards}@keyframes countUp{0%{opacity:0;transform:scale(.5)}50%{opacity:1}to{opacity:1;transform:scale(1)}}.graded-score-grade{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.graded-score-info{flex:1;position:relative;z-index:1}.graded-score-info h2{margin:0 0 .75rem;font-size:2rem;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.2);letter-spacing:-.01em;animation:fadeInSlide 1s ease-out .3s both}.graded-points{font-size:1.4rem;margin:0 0 .5rem;font-weight:600;text-shadow:0 2px 6px rgba(0,0,0,.15);display:flex;align-items:center;gap:.5rem;animation:fadeInSlide 1s ease-out .5s both}.graded-points-earned{font-size:2rem;font-weight:900;color:#fffffff2}.graded-points-total{font-size:1.4rem;opacity:.9}.graded-message{font-size:1rem;margin:.5rem 0 0;opacity:.95;font-weight:500;font-style:italic;animation:fadeInSlide 1s ease-out .7s both}.graded-feedback-scroll{flex:1;overflow-y:auto;padding:2rem}.graded-feedback-section{margin-bottom:2rem;padding:1.5rem;background:linear-gradient(135deg,rgba(62,33,166,.03) 0%,rgba(242,242,242,.5) 100%);border-radius:12px;border-left:4px solid #8F84D9}.graded-feedback-section:last-child{margin-bottom:0}.graded-feedback-section h3{display:flex;align-items:center;gap:.75rem;margin:0 0 1rem;color:#3e21a6;font-size:1.15rem;font-weight:700}.graded-feedback-section p{margin:0;color:#374151;line-height:1.7;font-size:1rem}.graded-feedback-section ul{list-style:none;padding:0;margin:0}.graded-feedback-section ul li{color:#374151;line-height:1.6;position:relative;padding:.75rem 0 .75rem 2rem;font-size:.95rem;border-bottom:1px solid rgba(143,132,217,.1)}.graded-feedback-section ul li:last-child{border-bottom:none}.graded-feedback-section ul li:before{content:"?";position:absolute;left:0;font-weight:700;font-size:1.25rem}.graded-feedback-section.strengths{border-left-color:#10b981}.graded-feedback-section.strengths h3{color:#059669}.graded-feedback-section.strengths ul li:before{color:#10b981}.graded-feedback-section.improvements{border-left-color:#f59e0b}.graded-feedback-section.improvements h3{color:#d97706}.graded-feedback-section.improvements ul li:before{content:"?";color:#f59e0b}.graded-questions-list{display:flex;flex-direction:column;gap:1rem}.graded-question-item{background:white;border-radius:8px;padding:1.25rem;border-left:4px solid;box-shadow:0 1px 3px #0000000d;transition:all .2s ease}.graded-question-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.graded-question-item.correct{border-color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.03) 0%,white 100%)}.graded-question-item.incorrect{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.03) 0%,white 100%)}.graded-question-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid rgba(0,0,0,.05)}.graded-question-num{font-weight:700;color:#010440;font-size:1rem;flex:1}.graded-question-pts{font-size:.9rem;color:#6b7280;font-weight:600;background:rgba(143,132,217,.1);padding:.25rem .75rem;border-radius:12px}.graded-question-feedback{color:#4b5563;line-height:1.6;font-size:.95rem}.q-icon-correct{color:#10b981;flex-shrink:0}.q-icon-incorrect{color:#ef4444;flex-shrink:0}@media (max-width: 1200px){.graded-view-layout{grid-template-columns:1fr;height:auto}.graded-preview-panel{max-height:60vh}.graded-feedback-panel{max-height:none}.graded-score-header{flex-direction:column;text-align:center;gap:1rem;padding:1.25rem}.graded-score-info h2,.graded-points{justify-content:center}}.btn-view-submission{margin-top:2rem;padding:.875rem 2rem;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:220px}.viewing-submitted{background:white;padding:0;box-shadow:0 4px 16px #0000001f}.viewing-submitted .preview-header{background:white;padding:1.5rem 2rem;margin-bottom:0;border-bottom:2px solid #E8E5FF;border-radius:12px 12px 0 0}.viewing-submitted .page-info-display{background:#F2F2F2;border:2px solid #DADADA;color:#010440;font-weight:600;padding:.625rem 1.25rem;border-radius:8px}.viewing-submitted .page-info-display svg{color:#010440}.viewing-submitted .zoom-controls{background:#F2F2F2;padding:.375rem .75rem;border-radius:8px;border:2px solid #DADADA;gap:.75rem}.viewing-submitted .zoom-level{color:#010440;font-weight:600;min-width:60px;text-align:center}.viewing-submitted .btn-zoom{background:#DADADA;border:2px solid #C0C0C0;color:#010440;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px}.viewing-submitted .btn-zoom:hover:not(:disabled){background:#C0C0C0;border-color:#a0a0a0;transform:scale(1.05)}.viewing-submitted .btn-zoom:active{transform:scale(.98)}.viewing-submitted .preview-content{background:#F8F9FA;box-shadow:none;border-radius:0;margin:0;padding:2rem}.viewing-submitted .preview-footer{background:white;border-top:1px solid #E8E5FF;padding:1rem 2rem;margin:0;border-radius:0 0 12px 12px}.result-header{margin-bottom:2rem}.score-display{background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border-radius:12px;padding:2rem;margin-bottom:2rem}.score-large{font-size:4rem;font-weight:700;color:#059669;line-height:1}.score-total{font-size:1.25rem;color:#065f46;margin-bottom:.5rem}.score-percentage{font-size:1.5rem;font-weight:600;color:#047857}.submission-details{background:rgba(143,132,217,.05);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.detail-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(143,132,217,.2)}.detail-item:last-child{border-bottom:none}.detail-label{color:#010440;opacity:.7;font-weight:500}.detail-value{color:#010440;font-weight:600}.submit-confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(1,4,64,.7);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.submit-confirm-popup{background:white;border-radius:16px;width:90%;max-width:560px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;overflow:hidden}.submit-confirm-header{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;padding:2rem;text-align:center}.submit-confirm-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:rgba(255,255,255,.2);border-radius:50%;margin:0 auto 1rem}.submit-confirm-icon svg{color:#fff}.submit-confirm-header h2{margin:0;font-size:1.75rem;font-weight:600}.submit-confirm-content{padding:2rem}.submit-confirm-message{font-size:1rem;color:#010440;margin:0 0 1.5rem;line-height:1.6;text-align:center}.submit-confirm-details{background:#F8F7FF;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem;border:2px solid #E8E5FF}.detail-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:#010440;font-size:.95rem}.detail-row:not(:last-child){border-bottom:1px solid #E8E5FF}.detail-row svg{color:#3e21a6;flex-shrink:0}.detail-row strong{color:#3e21a6;margin-right:.5rem}.submit-confirm-note{display:flex;align-items:center;gap:.5rem;padding:1rem;background:rgba(143,132,217,.1);border-radius:8px;color:#010440;font-size:.9rem;border:1px solid rgba(143,132,217,.2)}.submit-confirm-note svg{color:#3e21a6;flex-shrink:0}.submit-confirm-actions{display:flex;gap:1rem;padding:1.5rem 2rem;background:#F8F7FF;border-top:2px solid #E8E5FF}.btn-cancel-submit,.btn-confirm-submit{flex:1;padding:.875rem 1.5rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-cancel-submit{background:white;color:#010440;border:2px solid #E8E5FF}.btn-cancel-submit:hover{background:#F8F7FF;border-color:#8f84d9;transform:translateY(-2px);box-shadow:0 4px 12px #8f84d933}.btn-confirm-submit{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;border:2px solid transparent}.btn-confirm-submit:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3e21a64d}.btn-confirm-submit:active{transform:translateY(0)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 1024px){.content-grid{grid-template-columns:1fr}.info-panel{order:2}.upload-panel{order:1}}@media (max-width: 768px){.student-submission-container{padding:1rem}.submission-header{flex-direction:column;align-items:flex-start;gap:1rem}.btn-download-worksheet{width:100%;justify-content:center}.submit-actions{flex-direction:column}.qr-upload-container{grid-template-columns:1fr}.qr-code-section{padding:1rem}.qr-code-container{padding:.75rem}.qr-code-container svg{width:150px!important;height:150px!important}.assignment-id-display{flex-direction:column;gap:.25rem;text-align:center}.btn-view-submission{width:100%}.submit-confirm-popup{width:95%;margin:1rem}.submit-confirm-header{padding:1.5rem}.submit-confirm-icon{width:60px;height:60px}.submit-confirm-icon svg{width:36px;height:36px}.submit-confirm-header h2{font-size:1.5rem}.submit-confirm-content{padding:1.5rem}.submit-confirm-actions{flex-direction:column;padding:1rem 1.5rem}.btn-cancel-submit,.btn-confirm-submit{width:100%}.viewing-submitted .preview-header{padding:1rem}.viewing-submitted .preview-actions{flex-wrap:wrap;gap:.75rem}.viewing-submitted .page-info-display{padding:.5rem .875rem;font-size:.9rem}.viewing-submitted .zoom-controls{padding:.375rem}.viewing-submitted .preview-content{padding:1rem}.viewing-submitted .preview-footer{padding:.875rem 1rem}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors: active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:rgba(255,255,0,1);box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors: active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;user-select:none}.textLayer .endOfContent.active{top:0}.assignment-creation-container{min-height:100vh;background:#050259;padding:2rem}.creation-header{background:#F2F2F2;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.header-left{flex:1;min-width:300px}.creation-header h1{font-size:1.75rem;color:#010440;margin:1rem 0 0}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:rgba(143,132,217,.2);border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s ease;color:#010440;font-weight:500}.btn-back:hover{background:rgba(143,132,217,.3)}.creation-content{max-width:1800px;margin:0 auto}.upload-sections-row-with-qr{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:1.5rem;align-items:start}.mobile-qr-section-inline{background:linear-gradient(135deg,#F8F7FF 0%,#FFFFFF 100%);border-radius:12px;padding:1.5rem;border:2px solid #E8E5FF;text-align:center;box-shadow:0 4px 12px #3e21a614;height:100%;display:flex;flex-direction:column}.qr-header-inline{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.qr-header-inline svg{color:#3e21a6}.qr-header-inline h3{font-size:1.1rem;color:#010440;margin:0;font-weight:700}.qr-description-inline{font-size:.85rem;color:#4a5568;margin:0 0 1rem}.qr-display-inline{display:flex;flex-direction:column;align-items:center;gap:1rem;flex:1;justify-content:center}.qr-code-box-inline{background:white;padding:1rem;border-radius:10px;border:2px solid #E8E5FF;box-shadow:0 2px 8px #0000000d}.assignment-id-info-inline{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:white;border:2px solid #E8E5FF;border-radius:8px;font-size:.85rem}.id-label-inline{color:#718096;font-weight:500}.id-value-inline{font-weight:700;color:#3e21a6;font-family:Courier New,monospace;font-size:.95rem}.upload-sections-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.upload-section-card{background:white;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #00000014;position:relative;overflow:hidden}.upload-section-card:first-child{border:3px solid #8F84D9;box-shadow:0 6px 20px #3e21a633;background:linear-gradient(to bottom,#F8F7FF 0%,white 100%)}.upload-section-card:first-child:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%)}.upload-section-card:last-child{border:3px solid #86EFAC;box-shadow:0 6px 20px #10b98126;background:linear-gradient(to bottom,#F0FDF4 0%,white 100%)}.upload-section-card:last-child:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#10b981 0%,#34d399 100%)}.upload-section-card:last-child .section-title svg{color:#10b981}.upload-section-card:last-child .qr-section{background:#F0FDF4;border-color:#d1fae5}.upload-section-card:last-child .qr-header svg{color:#10b981}.upload-section-card:last-child .qr-code-box{border-color:#d1fae5}.upload-section-card:last-child .assignment-id-info{border-color:#d1fae5}.upload-section-card:last-child .id-value{color:#10b981}.upload-section-card:last-child .upload-icon{color:#10b981}.upload-section-card:last-child .preview-header{background:#F0FDF4;border-bottom-color:#d1fae5}.upload-section-card:last-child .preview-section{border-color:#d1fae5}.upload-section-card:last-child .preview-info svg{color:#10b981}.section-title{display:flex;align-items:center;gap:.75rem;font-size:1.5rem;color:#010440;margin:0 0 1.5rem;font-weight:600;position:relative;z-index:1}.upload-section-card:first-child .section-title{color:#3e21a6}.upload-section-card:first-child .section-title svg{color:#3e21a6;filter:drop-shadow(0 2px 4px rgba(62,33,166,.2))}.upload-section-card:last-child .section-title{color:#059669}.upload-section-card:last-child .section-title svg{color:#10b981;filter:drop-shadow(0 2px 4px rgba(16,185,129,.2))}.qr-upload-row{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem;align-items:stretch}.qr-section{background:#F8F7FF;border-radius:12px;padding:1.5rem;border:2px solid #E8E5FF;height:100%;display:flex;flex-direction:column}.qr-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.qr-header svg{color:#3e21a6}.qr-header h3{font-size:1.125rem;color:#010440;margin:0;font-weight:600}.qr-description{color:#010440;opacity:.7;font-size:.9rem;line-height:1.5;margin-bottom:1.5rem}.qr-display{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem}.qr-code-box{background:white;padding:1.25rem;border-radius:12px;box-shadow:0 4px 12px #3e21a626;border:2px solid #E8E5FF}.assignment-id-info{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:white;border-radius:10px;border:2px solid #E8E5FF}.id-label{font-size:.85rem;color:#010440;opacity:.7;font-weight:500}.id-value{font-size:1.25rem;color:#3e21a6;font-weight:700;font-family:Courier New,monospace;letter-spacing:.05em}.upload-card-section{background:#F8F9FA;border-radius:12px;padding:1.5rem;border:2px dashed #DADADA;height:100%;display:flex;flex-direction:column;justify-content:center}.upload-card-section-full{background:#F8F9FA;border-radius:12px;padding:1.5rem;border:2px dashed #DADADA;display:flex;flex-direction:column;justify-content:center}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;cursor:pointer;transition:all .3s ease;border-radius:8px}.upload-zone:hover{background:rgba(143,132,217,.05)}.upload-icon{color:#3e21a6;margin-bottom:1rem}.upload-zone h3{font-size:1.125rem;color:#010440;margin:0 0 .5rem;font-weight:600}.upload-zone p{color:#010440;opacity:.6;margin:.25rem 0;font-size:.9rem}.file-types{font-size:.8rem!important;opacity:.5!important}.preview-section{background:#F8F9FA;border-radius:12px;overflow:hidden;border:2px solid #E8E5FF}.preview-header{background:white;padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #E8E5FF;flex-wrap:wrap;gap:1rem}.preview-info{display:flex;align-items:center;gap:.75rem;color:#010440;font-weight:500;flex:1}.preview-info svg{color:#3e21a6;flex-shrink:0}.page-count{color:#010440;opacity:.6;font-size:.9rem}.preview-actions{display:flex;align-items:center;gap:.75rem}.zoom-controls{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#F2F2F2;border-radius:8px;border:2px solid #DADADA}.btn-zoom{background:#DADADA;border:2px solid #C0C0C0;color:#010440;width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-zoom:hover{background:#C0C0C0;border-color:#a0a0a0}.zoom-level{min-width:50px;text-align:center;font-size:.9rem;font-weight:600;color:#010440}.btn-reupload{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:white;border:2px solid #DADADA;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;color:#010440;transition:all .2s ease}.btn-reupload:hover{background:#FEE2E2;border-color:#fca5a5;color:#dc2626}.preview-content{padding:2rem;overflow-y:auto;max-height:600px;background:#F8F9FA}.preview-content::-webkit-scrollbar{width:8px}.preview-content::-webkit-scrollbar-track{background:rgba(242,242,242,.5);border-radius:4px}.preview-content::-webkit-scrollbar-thumb{background:#8F84D9;border-radius:4px}.preview-content::-webkit-scrollbar-thumb:hover{background:#3E21A6}.pdf-viewer{text-align:center}.pdf-page-wrapper{margin-bottom:2rem;text-align:center}.pdf-page-wrapper:last-child{margin-bottom:0}.pdf-page{box-shadow:0 4px 12px #00000026;display:inline-block!important;margin:0 auto .5rem;border-radius:4px;overflow:hidden}.pdf-page-number{font-size:.9rem;color:#010440;opacity:.6;font-weight:500;margin-top:.5rem}.react-pdf__Page{display:inline-block!important}.react-pdf__Page__canvas{display:block!important}.pdf-loading,.pdf-error{padding:2rem;text-align:center;color:#010440;font-size:1rem}.pdf-error{color:#dc2626}.image-viewer{text-align:center}.preview-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026}.btn-create-assignment{display:flex;align-items:center;gap:.75rem;padding:.875rem 2rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #3e21a666;white-space:nowrap}.btn-create-assignment:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3e21a680;background:linear-gradient(135deg,#8F84D9 0%,#3E21A6 100%)}.btn-create-assignment:active:not(:disabled){transform:translateY(0)}.btn-create-assignment:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 1400px){.upload-sections-row{grid-template-columns:1fr}}@media (max-width: 1024px){.upload-sections-row-with-qr,.qr-upload-row{grid-template-columns:1fr}.creation-header{flex-direction:column;align-items:flex-start}.header-left{width:100%}.btn-create-assignment{width:100%;justify-content:center}}@media (max-width: 768px){.assignment-creation-container,.creation-header{padding:1rem}.creation-header h1{font-size:1.5rem}.upload-section-card{padding:1.5rem}.section-title{font-size:1.25rem}.preview-header{flex-direction:column;align-items:flex-start}.preview-actions{width:100%;justify-content:space-between}.preview-content{padding:1rem}}.single-student-submission-container{min-height:100vh;background:#050259;padding:2rem}.submission-header{background:#F2F2F2;border-radius:12px;padding:1.5rem 2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0003;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.btn-back{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#f3f4f6;border:none;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s ease;color:#374151}.btn-back:hover{background:#e5e7eb}.student-selector-container{display:flex;align-items:center;gap:1rem;flex:1;justify-content:center}.btn-nav-student{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3e21a64d;pointer-events:auto;z-index:10}.btn-nav-student:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3e21a666}.btn-nav-student:disabled{opacity:.4;cursor:not-allowed;transform:none}.student-dropdown-wrapper{position:relative;min-width:300px;z-index:100}.student-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:white;border:2px solid #E8E5FF;border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #0000000d;pointer-events:auto}.student-dropdown-trigger:hover{border-color:#8f84d9;box-shadow:0 4px 12px #8f84d926}.student-dropdown-name{font-size:1.25rem;font-weight:700;color:#010440;flex:1;text-align:left}.dropdown-icon{color:#3e21a6;transition:transform .2s ease}.dropdown-icon.open{transform:rotate(180deg)}.student-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:white;border:2px solid #E8E5FF;border-radius:10px;box-shadow:0 8px 24px #00000026;z-index:1000;max-height:400px;overflow-y:auto;animation:dropdownSlide .2s ease-out}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.student-dropdown-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;background:white;border:none;border-bottom:1px solid #F3F4F6;cursor:pointer;transition:all .15s ease;text-align:left}.student-dropdown-item:last-child{border-bottom:none}.student-dropdown-item:hover{background:linear-gradient(135deg,rgba(62,33,166,.05) 0%,rgba(232,229,255,.3) 100%)}.student-dropdown-item.active{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%)}.student-dropdown-item.active .dropdown-student-name{color:#fff;font-weight:700}.student-dropdown-item.active .dropdown-student-score{color:#fff;background:rgba(255,255,255,.25);border-color:#ffffff4d}.student-dropdown-item.active .dropdown-student-status{color:#fff;border-color:#ffffff4d}.student-dropdown-item.active .dropdown-student-status.pending{background:rgba(255,255,255,.25);color:#fff}.dropdown-student-name{font-size:1rem;font-weight:600;color:#010440;flex:1}.dropdown-student-score{padding:.25rem .75rem;background:#D1FAE5;color:#065f46;border-radius:6px;font-size:.85rem;font-weight:600}.dropdown-student-status{padding:.25rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600}.dropdown-student-status.pending{background:#FEF3C7;color:#92400e}.submitted-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:.85rem}.score-badge{display:inline-block;padding:.25rem .75rem;background:#d1fae5;color:#065f46;border-radius:4px;font-size:.85rem;font-weight:600}.assignment-info-header{text-align:right}.assignment-info-header h2{font-size:1.1rem;margin-bottom:.25rem;color:#1f2937}.assignment-meta-text{font-size:.85rem;color:#6b7280}.submission-content{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;align-items:start}.submission-preview-section{background:#FFFFFF;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px #00000014;border:2px solid rgba(143,132,217,.2)}.preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;padding-bottom:.6rem;border-bottom:2px solid rgba(124,58,237,.2);flex-wrap:wrap;gap:1rem}.preview-header h3{font-size:.9rem;color:#3e21a6;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.8px}.demo-upload-note{display:flex;flex-direction:column;gap:.35rem;padding:.65rem .85rem;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-radius:8px;border-left:3px solid #f59e0b;box-shadow:0 2px 8px #f59e0b26}.demo-badge{display:inline-block;padding:.25rem .55rem;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.demo-upload-note p{margin:0;font-size:.75rem;color:#78350f;font-weight:500}.btn-demo-upload{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:#3E21A6;color:#f2f2f2;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.btn-demo-upload:hover{background:#8F84D9;transform:translateY(-1px)}.preview-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.page-controls{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:#f9fafb;border-radius:8px;font-size:.9rem;color:#6b7280}.page-btn{padding:.5rem 1rem;background:white;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.page-btn:hover:not(:disabled){border-color:#667eea;color:#667eea}.page-btn:disabled{opacity:.5;cursor:not-allowed}.zoom-controls{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f9fafb;border-radius:8px;font-size:.9rem;color:#6b7280}.zoom-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:white;border:2px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .2s ease}.zoom-btn:hover{border-color:#667eea;color:#667eea}.btn-change-file{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f3f4f6;color:#374151;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s ease}.btn-change-file:hover{background:#e5e7eb}.preview-container{min-height:600px;background:#f9fafb;border-radius:8px;border:2px solid #e5e7eb;display:flex;align-items:center;justify-content:center;overflow:auto;padding:2rem}.no-submission-placeholder{text-align:center;color:#6b7280;padding:3rem}.placeholder-icon{color:#9ca3af;margin-bottom:1rem}.no-submission-placeholder h3{font-size:1.25rem;margin-bottom:.5rem;color:#374151}.no-submission-placeholder p{font-size:.95rem;margin-bottom:1.5rem;color:#6b7280}.btn-upload-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:#3E21A6;color:#f2f2f2;border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease}.btn-upload-primary:hover{background:#8F84D9;transform:translateY(-2px);box-shadow:0 4px 12px #3e21a64d}.pdf-preview-container{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem}.pdf-preview-container .react-pdf__Document{display:flex;flex-direction:column;align-items:center}.pdf-preview-container .react-pdf__Page{box-shadow:0 4px 12px #00000026;background:white;margin-bottom:1rem}.pdf-page-preview{max-width:100%}.pdf-loading,.pdf-error{padding:2rem;text-align:center;color:#6b7280}.pdf-error{color:#ef4444}.image-preview-container{width:100%;display:flex;align-items:center;justify-content:center;overflow:auto}.submission-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #00000026;transition:transform .2s ease}.submission-info-panel{display:flex;flex-direction:column;gap:1rem;min-width:350px}.info-card{background:#FFFFFF;border-radius:10px;padding:1rem;box-shadow:0 2px 8px #00000014;border:2px solid rgba(143,132,217,.2);display:flex;flex-direction:column}.info-card h4{font-size:.9rem;margin:0 0 .75rem;color:#3e21a6;font-weight:700;padding-bottom:.6rem;border-bottom:2px solid rgba(124,58,237,.2);text-transform:uppercase;letter-spacing:.8px}.info-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.55rem 0;border-bottom:1px solid rgba(143,132,217,.1);gap:1rem;width:100%;min-height:32px}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row:first-child{padding-top:0}.info-label{font-weight:600;color:#6b7280;font-size:.75rem;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.info-value{color:#010440;font-weight:700;font-size:.85rem;text-align:right;flex-grow:1}.score-value{color:#10b981;font-weight:700;font-size:.85rem}.file-name{font-family:Courier New,monospace;font-size:.75rem;color:#010440;word-break:break-word;text-align:right;font-weight:600}.status-badge{display:inline-block;padding:.35rem .8rem;border-radius:18px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.status-badge.status-graded{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;box-shadow:0 2px 8px #10b9814d}.status-badge.status-pending{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.status-badge.status-in_progress{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;box-shadow:0 2px 8px #3b82f64d}.status-badge.status-submitted{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff;box-shadow:0 2px 8px #8b5cf64d}.btn-ai-grading{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#0891b2 0%,#06b6d4 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;margin-bottom:.75rem;transition:all .3s ease;box-shadow:0 3px 10px #0891b259}.btn-ai-grading:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0891b273;background:linear-gradient(135deg,#0e7490 0%,#0891b2 100%)}.btn-ai-grading:active{transform:translateY(0)}.btn-ai-grading:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-release-score{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;margin-bottom:.75rem;transition:all .3s ease;box-shadow:0 3px 10px #10b9814d}.btn-release-score:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-release-score.released{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);box-shadow:0 4px 12px #8b5cf64d}.btn-release-score.released:hover{box-shadow:0 6px 20px #8b5cf666}.btn-release-score:disabled{opacity:.5;cursor:not-allowed;transform:none}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.floating-demo-tools{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:1000}.floating-btn{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease;box-shadow:0 4px 16px #0003;min-width:200px;position:relative;overflow:hidden}.floating-btn-primary{background:#3E21A6;color:#f2f2f2}.floating-btn-primary:hover{background:#8F84D9;transform:translate(-5px);box-shadow:0 6px 20px #3e21a666}.floating-btn-secondary{background:#8F84D9;color:#f2f2f2}.floating-btn-secondary:hover{background:#3E21A6;transform:translate(-5px);box-shadow:0 6px 20px #3e21a666}.floating-btn-label{white-space:nowrap}.floating-btn.uploaded{background:#10b981}.floating-btn.uploaded:hover{background:#059669}@media (max-width: 1200px){.submission-content{grid-template-columns:1fr}}@media (max-width: 768px){.single-student-submission-container{padding:1rem}.submission-header{flex-direction:column;align-items:flex-start}.assignment-info-header{text-align:left;width:100%}.preview-header{flex-direction:column}.preview-controls{width:100%;flex-direction:column;align-items:stretch}.page-controls,.zoom-controls{width:100%;justify-content:center}.floating-demo-tools{bottom:1rem;right:1rem}.floating-btn{min-width:160px;padding:.75rem 1rem;font-size:.85rem}.floating-btn-label{display:none}}.grading-error-card{background:#fee2e2;border:2px solid #ef4444;border-radius:12px;padding:1rem;margin-bottom:1.5rem;display:flex;align-items:start;gap:.75rem;color:#991b1b}.grading-error-card svg{flex-shrink:0;margin-top:2px}.grading-error-card strong{display:block;margin-bottom:.25rem;font-size:1rem}.grading-error-card p{margin:0;font-size:.9rem}.grading-overview-card{background:#FFFFFF;border-radius:10px;padding:1rem;box-shadow:0 2px 8px #5b21b61f;border:2px solid rgba(124,58,237,.2);animation:fadeInScale .5s ease-out}.section-header-with-edit{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-header-with-edit h5,.section-header-with-edit .feedback-label{margin:0;flex:1}.btn-edit-section{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:rgba(143,132,217,.15);color:#3e21a6;border:1px solid rgba(143,132,217,.3);border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0;opacity:.7}.btn-edit-section:hover{background:rgba(143,132,217,.25);opacity:1;transform:scale(1.1)}.section-edit-actions{display:flex;gap:.5rem}.btn-save-section{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-save-section:hover{background:#059669;transform:scale(1.1)}.btn-cancel-section{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#FEE2E2;color:#dc2626;border:1px solid #FCA5A5;border-radius:6px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s ease;flex-shrink:0;line-height:1}.btn-cancel-section:hover{background:#FCA5A5;color:#fff;transform:scale(1.1)}.edit-textarea,.edit-input{width:100%;padding:.75rem;border:2px solid #E8E5FF;border-radius:8px;font-family:inherit;font-size:.95rem;color:#010440;background:white;resize:vertical;transition:all .2s ease}.edit-textarea:focus,.edit-input:focus{outline:none;border-color:#8f84d9;box-shadow:0 0 0 3px #8f84d91a}.edit-textarea{min-height:100px;line-height:1.6}.feedback-textarea{min-height:80px}.editable-list{display:flex;flex-direction:column;gap:.75rem}.editable-list-item{display:flex;gap:.5rem;align-items:center}.editable-list-item .edit-input{flex:1}.btn-remove-item{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#FEE2E2;color:#dc2626;border:2px solid #FCA5A5;border-radius:6px;font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-remove-item:hover{background:#FCA5A5;color:#fff}.release-popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(5,2,89,.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.release-popup{background:white;border-radius:16px;width:90%;max-width:550px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.release-popup-header{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);padding:1.5rem 2rem;color:#fff}.release-popup-header h3{margin:0;font-size:1.5rem;font-weight:700}.release-popup-content{padding:2rem}.release-student-name{font-size:1.1rem;color:#010440;margin:0 0 1.5rem}.release-student-name strong{color:#3e21a6;font-weight:700}.release-info-box{background:linear-gradient(135deg,rgba(62,33,166,.05) 0%,rgba(232,229,255,.3) 100%);border-left:4px solid #3E21A6;padding:1.5rem;border-radius:8px;margin-bottom:1.5rem}.release-info-box.warning{background:linear-gradient(135deg,rgba(239,68,68,.05) 0%,rgba(254,226,226,.3) 100%);border-left-color:#ef4444}.release-info-box h4{margin:0 0 1rem;color:#010440;font-size:1rem;font-weight:600}.release-info-box ul{list-style:none;padding:0;margin:0}.release-info-box ul li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:#4b5563;font-size:.95rem}.release-info-box ul li svg{color:#10b981;flex-shrink:0}.release-info-box.warning ul li svg{color:#ef4444}.release-note{font-size:.9rem;color:#6b7280;margin:0;font-style:italic}.release-popup-actions{padding:1.5rem 2rem;background:#F9FAFB;display:flex;gap:1rem;justify-content:flex-end;border-top:1px solid #E5E7EB}.btn-cancel-release{padding:.75rem 1.5rem;background:white;color:#6b7280;border:2px solid #D1D5DB;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel-release:hover{background:#F9FAFB;border-color:#9ca3af;color:#374151}.btn-confirm-release{padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.btn-confirm-release:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-confirm-release.warning{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);box-shadow:0 2px 8px #ef44444d}.btn-confirm-release.warning:hover{box-shadow:0 4px 12px #ef444466}.btn-add-item{padding:.625rem 1rem;background:rgba(143,132,217,.1);color:#3e21a6;border:2px dashed #8F84D9;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.btn-add-item:hover{background:rgba(143,132,217,.2);border-style:solid}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.overview-score-display{text-align:center;padding:1rem;background:linear-gradient(135deg,#5B21B6 0%,#7C3AED 100%);border-radius:8px;color:#fff;margin-bottom:0;box-shadow:0 3px 10px #5b21b64d}.score-circle{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.score-percentage{font-size:3.5rem;font-weight:800;line-height:1;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.score-grade{display:inline-block;background:rgba(255,255,255,.25);backdrop-filter:blur(10px);padding:.5rem 1.5rem;border-radius:20px;font-size:1.5rem;font-weight:700;margin-top:.75rem;border:2px solid rgba(255,255,255,.3)}.score-stats{display:flex;align-items:center;justify-content:center;gap:1rem;padding-top:1rem;border-top:2px solid rgba(255,255,255,.3)}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:700;color:#fff}.stat-label{font-size:.75rem;opacity:1;color:#fffffff2;text-transform:uppercase;letter-spacing:.5px}.stat-divider{font-size:1.5rem;opacity:.9;color:#fffffff2;font-weight:400}.overview-summary{background:rgba(124,58,237,.06);padding:1rem;border-radius:8px;margin-top:.75rem;margin-bottom:.85rem;border-left:3px solid #7C3AED}.overview-summary h5{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;color:#010440;font-size:1rem;font-weight:600}.overview-summary p{margin:0;color:#010440;line-height:1.6;opacity:.9}.overview-section{background:#fff;padding:1rem;border-radius:8px;margin-bottom:.85rem;border:1px solid rgba(143,132,217,.2)}.overview-section h5{display:flex;align-items:center;gap:.5rem;margin:0;color:#010440;font-size:1rem;font-weight:600}.overview-section.strengths-section{border-left:3px solid #10b981}.overview-section.improvements-section{border-left:3px solid #f59e0b}.overview-section .icon-success{color:#10b981}.overview-section .icon-warning{color:#f59e0b}.overview-section ul{margin:0;padding:0;list-style:none}.overview-section li{display:flex;align-items:start;gap:.75rem;color:#010440;line-height:1.6;margin-bottom:.75rem;padding:.5rem;border-radius:6px;transition:background .2s}.overview-section li:hover{background:#f9fafb}.overview-section li:last-child{margin-bottom:0}.overview-section .list-icon{flex-shrink:0;margin-top:2px;opacity:.6}.overview-footer{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e5e7eb}.question-summary{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;color:#010440;font-size:.95rem}.question-summary strong{font-size:1.1rem;font-weight:700}.question-summary .separator{color:#d1d5db;margin:0 .25rem}.question-summary .correct-count{color:#10b981}.question-summary .incorrect-count{color:#ef4444}.question-breakdown-section{margin-top:1.5rem;background:#FFFFFF;border:2px solid rgba(143,132,217,.2);border-radius:10px;padding:1rem;box-shadow:0 2px 8px #00000014;animation:fadeIn .5s ease-out}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.breakdown-header h3{color:#010440;font-size:1.3rem;margin:0;display:flex;align-items:center;gap:.5rem}.question-selector{padding:.75rem 1rem;border:2px solid #3E21A6;border-radius:8px;background:white;color:#010440;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease;min-width:250px}.question-selector:hover{background:#f9fafb;border-color:#8f84d9}.question-selector:focus{outline:none;border-color:#3e21a6;box-shadow:0 0 0 3px #3e21a61a}.questions-list{display:flex;flex-direction:column;gap:1.5rem}.question-card{background:white;border-radius:10px;padding:1.5rem;border:2px solid rgba(143,132,217,.2);box-shadow:0 2px 8px #0000000d;height:auto!important;overflow:visible!important;max-height:none!important}.question-card:hover{box-shadow:0 4px 16px #0000001a}.question-card .answers-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;visibility:visible!important;opacity:1!important;height:auto!important}.question-card .feedback-section{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important}.question-card.correct{border-color:#10b981;background:linear-gradient(135deg,#f0fdf4 0%,#ffffff 100%)}.question-card.partial{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb 0%,#ffffff 100%)}.question-card.incorrect{border-color:#ef4444;background:linear-gradient(135deg,#fef2f2 0%,#ffffff 100%)}.question-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f3f4f6;flex-wrap:wrap;gap:1rem}.question-info{display:flex;align-items:center;gap:.75rem;flex:1;min-width:200px}.question-info h4{margin:0;color:#010440;font-size:1.2rem;font-weight:600}.question-header-right{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.override-controls{display:flex;gap:.375rem;padding:.25rem;background:rgba(242,242,242,.5);border-radius:8px;flex-wrap:wrap}.btn-override{display:flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:2px solid transparent;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;background:white;color:#6b7280}.btn-override:hover{transform:translateY(-1px)}.btn-override.active{border-color:currentColor;box-shadow:0 2px 8px #0000001a}.btn-override.correct{color:#10b981}.btn-override.correct.active{background:#d1fae5;border-color:#10b981}.btn-override.correct:hover:not(.active){background:#f0fdf4}.btn-override.partial{color:#f59e0b}.btn-override.partial.active{background:#fef3c7;border-color:#f59e0b}.btn-override.partial:hover:not(.active){background:#fffbeb}.btn-override.incorrect{color:#ef4444}.btn-override.incorrect.active{background:#fee2e2;border-color:#ef4444}.btn-override.incorrect:hover:not(.active){background:#fef2f2}.icon-correct{color:#10b981;flex-shrink:0}.icon-partial{color:#f59e0b;flex-shrink:0}.icon-incorrect{color:#ef4444;flex-shrink:0}.question-points{display:flex;align-items:baseline;gap:.25rem;background:rgba(62,33,166,.1);padding:.5rem 1rem;border-radius:8px}.points-earned{font-size:1.5rem;font-weight:700;color:#3e21a6}.points-earned.editable{cursor:pointer;padding:.125rem .5rem;border-radius:4px;transition:all .2s ease}.points-earned.editable:hover{background:rgba(62,33,166,.15);transform:scale(1.05)}.edit-points-icon{color:#8b5cf6;cursor:pointer;margin-left:.5rem;transition:all .2s ease}.edit-points-icon:hover{color:#3e21a6;transform:scale(1.15)}.points-edit-container{display:flex;align-items:center;gap:.5rem}.points-input{width:70px;font-size:1.5rem;font-weight:700;color:#3e21a6;background:white;border:2px solid #8b5cf6;border-radius:6px;padding:.25rem .5rem;text-align:center}.points-input:focus{outline:none;border-color:#3e21a6;box-shadow:0 0 0 3px #8b5cf633}.btn-save-points,.btn-cancel-points{width:32px;height:32px;border:none;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.btn-save-points{background:#10b981;color:#fff}.btn-save-points:hover{background:#059669;transform:scale(1.05)}.btn-cancel-points{background:#ef4444;color:#fff}.btn-cancel-points:hover{background:#dc2626;transform:scale(1.05)}.points-separator{font-size:1.2rem;color:#6b7280}.points-total{font-size:1.2rem;font-weight:600;color:#6b7280}.points-label{font-size:.85rem;color:#6b7280;margin-left:.25rem;text-transform:uppercase;letter-spacing:.5px}.answers-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.answer-card{background:#f9fafb;border-radius:10px;padding:1.25rem;border:1px solid #e5e7eb;transition:all .2s ease}.answer-card:hover{background:#f3f4f6}.answer-card.student-answer{border-left:4px solid #3E21A6}.answer-card.correct-answer{border-left:4px solid #10b981}.answer-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#6b7280;margin-bottom:.75rem}.answer-content{color:#010440;line-height:1.6;font-size:1rem}.feedback-section{background:linear-gradient(135deg,rgba(143,132,217,.1) 0%,rgba(242,242,242,.5) 100%);border-radius:10px;padding:1.25rem;border-left:4px solid #8F84D9}.feedback-section .section-header-with-edit{margin-bottom:.5rem}.feedback-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#3e21a6;margin-bottom:0}.feedback-content{color:#010440;line-height:1.7;font-size:1rem}.partial-credit-note{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(143,132,217,.3);color:#8f84d9;font-size:.95rem;font-style:italic}.partial-credit-note strong{color:#3e21a6}@media (max-width: 768px){.answers-grid{grid-template-columns:1fr}.score-percentage{font-size:2.5rem}.grading-overview-card,.question-card{padding:1rem}.breakdown-header{flex-direction:column;align-items:stretch}.question-selector{width:100%;min-width:auto}.question-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.question-header-right{width:100%;justify-content:space-between}.override-controls{flex:1}.question-points{flex-shrink:0}}.mobile-upload-container{min-height:100vh;background:#050259;display:flex;flex-direction:column}.mobile-header{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);padding:1.5rem 1rem;box-shadow:0 4px 12px #00000026}.mobile-header-content{max-width:600px;margin:0 auto;display:flex;align-items:center;gap:1rem}.header-icon{width:56px;height:56px;background:rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.header-text{flex:1}.mobile-assignment-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .25rem;line-height:1.2}.mobile-course-name{font-size:.95rem;color:#ffffffe6;margin:0;font-weight:500}.mobile-upload-content{flex:1;max-width:600px;width:100%;margin:0 auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.mobile-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.info-card{background:white;padding:1rem;border-radius:10px;display:flex;align-items:center;gap:.875rem;box-shadow:0 2px 6px #00000014;border-left:3px solid #3E21A6;transition:all .2s ease}.info-card:hover{box-shadow:0 4px 10px #3e21a61f}.info-card svg{color:#3e21a6;flex-shrink:0;width:20px;height:20px}.info-card-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.info-label{font-size:.7rem;color:#718096;font-weight:500;text-transform:uppercase;letter-spacing:.5px;line-height:1}.info-value{font-size:.95rem;color:#1a202c;font-weight:600;line-height:1.2}.mobile-upload-area{background:white;border-radius:16px;padding:2rem 1.5rem;box-shadow:0 4px 16px #0000001a;min-height:300px;display:flex;align-items:center;justify-content:center}.mobile-upload-area.answer-sheet-section{background:white;border:2px solid rgba(16,185,129,.3);box-shadow:0 4px 16px #10b98114}.upload-prompt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;width:100%}.upload-icon-wrapper{width:96px;height:96px;background:linear-gradient(135deg,rgba(62,33,166,.1) 0%,rgba(143,132,217,.15) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#3e21a6;margin-bottom:.5rem}.upload-icon-wrapper.answer-sheet-icon{background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,rgba(5,150,105,.15) 100%);color:#059669}.upload-title{font-size:1.5rem;font-weight:700;color:#1a202c;margin:0}.upload-description{font-size:1rem;color:#718096;margin:0;max-width:300px}.mobile-upload-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3e21a64d;min-width:200px}.mobile-upload-button.answer-sheet-button{background:linear-gradient(135deg,#10B981 0%,#059669 100%);box-shadow:0 4px 12px #10b9814d}.mobile-upload-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3e21a666}.mobile-upload-button.answer-sheet-button:hover{box-shadow:0 6px 16px #10b98166}.mobile-upload-button:active{transform:translateY(0)}.mobile-file-preview{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.file-preview-header{width:80px;height:80px;background:linear-gradient(135deg,rgba(62,33,166,.1) 0%,rgba(143,132,217,.15) 100%);border-radius:16px;display:flex;align-items:center;justify-content:center}.file-preview-header.answer-sheet-icon{background:linear-gradient(135deg,rgba(16,185,129,.1) 0%,rgba(5,150,105,.15) 100%)}.file-icon{color:#3e21a6}.answer-sheet-icon .file-icon{color:#059669}.file-details{text-align:center}.file-name{font-size:1.1rem;font-weight:600;color:#1a202c;margin:0 0 .5rem;word-break:break-word;max-width:100%}.file-size{font-size:.9rem;color:#718096;margin:0}.mobile-submit-section{width:100%}.btn-final-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;border:none;border-radius:12px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3e21a64d}.btn-final-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3e21a666}.btn-final-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.btn-change-file{padding:.875rem 2rem;background:white;color:#3e21a6;border:2px solid #E8E5FF;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.btn-change-file.answer-sheet-button{color:#059669;border-color:#10b9814d}.btn-change-file:hover{background:#F7F5FF;border-color:#8f84d9;transform:translateY(-2px)}.btn-change-file.answer-sheet-button:hover{background:rgba(16,185,129,.05);border-color:#059669}.mobile-tips{background:white;padding:1.25rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.tips-header{display:flex;align-items:center;gap:.5rem;color:#3e21a6;font-weight:600;font-size:.95rem;margin-bottom:.75rem}.tips-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.tips-list li{font-size:.9rem;color:#4a5568;line-height:1.5}.mobile-success-message{display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:white;padding:3rem 2rem;border-radius:16px;box-shadow:0 4px 16px #0000001a;text-align:center;animation:successFade .5s ease-out}@keyframes successFade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.success-icon-wrapper{width:96px;height:96px;background:linear-gradient(135deg,#48bb78 0%,#38a169 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:successPulse .6s ease-out}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.success-icon{color:#fff}.mobile-success-message h2{font-size:1.75rem;color:#1a202c;margin:0;font-weight:700}.mobile-success-message>p{font-size:1rem;color:#718096;margin:0;max-width:300px}.success-details{width:100%;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem}.success-detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{font-size:.9rem;color:#718096;font-weight:500}.detail-value{font-size:.9rem;color:#1a202c;font-weight:600;text-align:right;max-width:60%;word-break:break-word}@media (max-width: 480px){.mobile-header{padding:1.25rem 1rem}.header-icon{width:48px;height:48px}.header-icon svg{width:24px;height:24px}.mobile-assignment-title{font-size:1.25rem}.mobile-course-name{font-size:.875rem}.mobile-upload-content{padding:1rem}.mobile-info-cards{gap:.75rem}.info-card{padding:.875rem;gap:.75rem}.info-card svg{width:18px;height:18px}.info-label{font-size:.65rem}.info-value{font-size:.875rem}.mobile-upload-area{padding:1.5rem 1rem;min-height:300px}.upload-icon-wrapper{width:80px;height:80px}.upload-icon-wrapper svg{width:48px;height:48px}.upload-title{font-size:1.25rem}.upload-description{font-size:.9rem}.mobile-upload-button,.btn-upload-submit{font-size:1rem;padding:.875rem 1.5rem}}@media (max-height: 600px) and (orientation: landscape){.mobile-upload-container{min-height:auto}.mobile-header{padding:1rem}.mobile-upload-content{padding:1rem;gap:1rem}.mobile-upload-area{min-height:auto;padding:1rem}.mobile-success-message{padding:2rem 1.5rem}}.file-info-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:white;border-radius:10px 10px 0 0;border-bottom:2px solid #f3f4f6}.file-info-bar.answer-sheet-bar{background:linear-gradient(135deg,rgba(16,185,129,.05) 0%,rgba(52,211,153,.02) 100%);border-bottom:2px solid rgba(16,185,129,.2)}.file-details-compact{display:flex;align-items:center;gap:.75rem;flex:1}.file-details-compact svg{color:#3e21a6;flex-shrink:0}.file-info-bar.answer-sheet-bar .file-details-compact svg{color:#10b981}.file-name-compact{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 .125rem;word-break:break-all}.file-size-compact{font-size:.75rem;color:#6b7280;margin:0}.btn-change-file-compact{padding:.5rem 1rem;background:#3E21A6;color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-change-file-compact.answer-sheet-btn{background:#10b981}.btn-change-file-compact:hover{background:#2E186F;transform:translateY(-1px)}.btn-change-file-compact.answer-sheet-btn:hover{background:#059669}.pdf-preview-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem;background:white;border-bottom:2px solid #f3f4f6}.zoom-btn{width:36px;height:36px;border:2px solid #e5e7eb;background:white;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#3e21a6}.zoom-btn:hover{background:#f9fafb;border-color:#3e21a6}.zoom-btn:active{transform:scale(.95)}.zoom-level{font-size:.9rem;font-weight:600;color:#374151;min-width:60px;text-align:center}.mobile-pdf-viewer{max-height:500px;overflow-y:auto;background:#f9fafb;border-radius:0 0 10px 10px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.mobile-pdf-viewer .react-pdf__Document{display:flex;flex-direction:column;align-items:center;gap:1rem}.mobile-pdf-viewer .react-pdf__Page{box-shadow:0 2px 8px #0000001a;border-radius:4px}.mobile-pdf-viewer .react-pdf__Page canvas{max-width:100%;height:auto!important;border-radius:4px}.pdf-loading{padding:2rem;text-align:center;color:#6b7280;font-weight:500}.mobile-file-preview.answer-sheet-preview .mobile-pdf-viewer{background:linear-gradient(135deg,rgba(16,185,129,.03) 0%,rgba(52,211,153,.01) 100%)}.student-mobile-upload-container{min-height:100vh;background:#050259;display:flex;flex-direction:column}.student-mobile-header{background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);padding:1.5rem 1rem;box-shadow:0 4px 12px #00000026}.student-mobile-header-content{max-width:600px;margin:0 auto;display:flex;align-items:center;gap:1rem}.student-header-icon{width:56px;height:56px;background:rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.student-header-text{flex:1}.student-mobile-assignment-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0 0 .25rem;line-height:1.2}.student-mobile-course-name{font-size:.95rem;color:#ffffffe6;margin:0;font-weight:500}.student-mobile-upload-content{flex:1;max-width:600px;width:100%;margin:0 auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.student-mobile-info-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.student-info-card{background:white;padding:1rem;border-radius:10px;display:flex;align-items:center;gap:.875rem;box-shadow:0 2px 6px #00000014;border-left:3px solid #3E21A6;transition:all .2s ease}.student-info-card:hover{box-shadow:0 4px 10px #3e21a61f}.student-info-card svg{color:#3e21a6;flex-shrink:0;width:20px;height:20px}.student-info-card-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.student-info-label{font-size:.7rem;color:#718096;font-weight:500;text-transform:uppercase;letter-spacing:.5px;line-height:1}.student-info-value{font-size:.95rem;color:#1a202c;font-weight:600;line-height:1.2}.student-mobile-upload-area{background:white;border-radius:16px;padding:2rem 1.5rem;box-shadow:0 4px 16px #0000001a;min-height:300px;display:flex;align-items:center;justify-content:center}.student-upload-prompt{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;width:100%}.student-upload-icon-wrapper{width:96px;height:96px;background:linear-gradient(135deg,rgba(62,33,166,.1) 0%,rgba(143,132,217,.15) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#3e21a6;margin-bottom:.5rem}.student-upload-title{font-size:1.5rem;font-weight:700;color:#1a202c;margin:0}.student-upload-description{font-size:1rem;color:#718096;margin:0;max-width:300px}.student-mobile-upload-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 2rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3e21a64d;min-width:200px}.student-mobile-upload-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #3e21a666}.student-mobile-upload-button:active{transform:translateY(0)}.student-mobile-file-preview{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%}.student-file-preview-header{width:80px;height:80px;background:linear-gradient(135deg,rgba(62,33,166,.1) 0%,rgba(143,132,217,.15) 100%);border-radius:16px;display:flex;align-items:center;justify-content:center}.student-file-icon{color:#3e21a6}.student-file-details{text-align:center}.student-file-name{font-size:1.1rem;font-weight:600;color:#1a202c;margin:0 0 .5rem;word-break:break-word;max-width:100%}.student-file-size{font-size:.9rem;color:#718096;margin:0}.student-mobile-submit-section{width:100%}.student-btn-final-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.25rem 2rem;background:linear-gradient(135deg,#3E21A6 0%,#8F84D9 100%);color:#fff;border:none;border-radius:12px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3e21a64d}.student-btn-final-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #3e21a666}.student-btn-final-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.student-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:studentSpin .8s linear infinite}@keyframes studentSpin{to{transform:rotate(360deg)}}.student-btn-change-file{padding:.875rem 2rem;background:white;color:#3e21a6;border:2px solid #E8E5FF;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.student-btn-change-file:hover{background:#F7F5FF;border-color:#8f84d9;transform:translateY(-2px)}.student-mobile-tips{background:white;padding:1.25rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.student-tips-header{display:flex;align-items:center;gap:.5rem;color:#3e21a6;font-weight:600;font-size:.95rem;margin-bottom:.75rem}.student-tips-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.student-tips-list li{font-size:.9rem;color:#4a5568;line-height:1.5}.student-mobile-success-message{display:flex;flex-direction:column;align-items:center;gap:1.5rem;background:white;padding:3rem 2rem;border-radius:16px;box-shadow:0 4px 16px #0000001a;text-align:center;animation:studentSuccessFade .5s ease-out}@keyframes studentSuccessFade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.student-success-icon-wrapper{width:96px;height:96px;background:linear-gradient(135deg,#48bb78 0%,#38a169 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:studentSuccessPulse .6s ease-out}@keyframes studentSuccessPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.student-success-icon{color:#fff}.student-mobile-success-message h2{font-size:1.75rem;color:#1a202c;margin:0;font-weight:700}.student-mobile-success-message>p{font-size:1rem;color:#718096;margin:0;max-width:300px}.student-success-details{width:100%;margin-top:1rem;padding-top:1.5rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem}.student-success-detail-item{display:flex;justify-content:space-between;align-items:center}.student-detail-label{font-size:.9rem;color:#718096;font-weight:500}.student-detail-value{font-size:.9rem;color:#1a202c;font-weight:600;text-align:right;max-width:60%;word-break:break-word}@media (max-width: 480px){.student-mobile-header{padding:1.25rem 1rem}.student-header-icon{width:48px;height:48px}.student-header-icon svg{width:24px;height:24px}.student-mobile-assignment-title{font-size:1.25rem}.student-mobile-course-name{font-size:.875rem}.student-mobile-upload-content{padding:1rem}.student-mobile-info-cards{gap:.75rem}.student-info-card{padding:.875rem;gap:.75rem}.student-info-card svg{width:18px;height:18px}.student-info-label{font-size:.65rem}.student-info-value{font-size:.875rem}.student-mobile-upload-area{padding:1.5rem 1rem;min-height:250px}.student-upload-icon-wrapper{width:80px;height:80px}.student-upload-icon-wrapper svg{width:48px;height:48px}.student-upload-title{font-size:1.25rem}.student-upload-description{font-size:.9rem}.student-mobile-upload-button{font-size:1rem;padding:.875rem 1.5rem}.student-btn-final-submit{font-size:1.1rem;padding:1.125rem 1.5rem}}@media (max-height: 600px) and (orientation: landscape){.student-mobile-upload-container{min-height:auto}.student-mobile-header{padding:1rem}.student-mobile-upload-content{padding:1rem;gap:1rem}.student-mobile-upload-area{min-height:auto;padding:1rem}.student-mobile-success-message{padding:2rem 1.5rem}}.student-file-info-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:white;border-radius:10px 10px 0 0;border-bottom:2px solid #f3f4f6}.student-file-details-compact{display:flex;align-items:center;gap:.75rem;flex:1}.student-file-details-compact svg{color:#3e21a6;flex-shrink:0}.student-file-name-compact{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 .125rem;word-break:break-all}.student-file-size-compact{font-size:.75rem;color:#6b7280;margin:0}.student-btn-change-file-compact{padding:.5rem 1rem;background:#3E21A6;color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.student-btn-change-file-compact:hover{background:#2E186F;transform:translateY(-1px)}.student-pdf-preview-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem;background:white;border-bottom:2px solid #f3f4f6}.student-zoom-btn{width:36px;height:36px;border:2px solid #e5e7eb;background:white;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#3e21a6}.student-zoom-btn:hover{background:#f9fafb;border-color:#3e21a6}.student-zoom-btn:active{transform:scale(.95)}.student-zoom-level{font-size:.9rem;font-weight:600;color:#374151;min-width:60px;text-align:center}.student-mobile-pdf-viewer{max-height:500px;overflow-y:auto;background:#f9fafb;border-radius:0 0 10px 10px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.student-mobile-pdf-viewer .react-pdf__Document{display:flex;flex-direction:column;align-items:center;gap:1rem}.student-mobile-pdf-viewer .react-pdf__Page{box-shadow:0 2px 8px #0000001a;border-radius:4px}.student-mobile-pdf-viewer .react-pdf__Page canvas{max-width:100%;height:auto!important;border-radius:4px}.student-pdf-loading{padding:2rem;text-align:center;color:#6b7280;font-weight:500}:root{--deep-twilight: #0B0053ff;--indigo-ink: #321185ff;--dusty-grape: #50458Eff;--indigo-velvet: #4A21A2ff;--soft-periwinkle: #8F7FD4ff}.study-helper-container{min-height:100vh;background:linear-gradient(135deg,var(--deep-twilight) 0%,var(--indigo-ink) 100%);padding:40px;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;color:#333}.study-helper-content{max-width:1400px;margin:0 auto;background:#ffffff;border-radius:30px;box-shadow:0 25px 80px #0006;overflow:hidden;animation:slideIn .6s cubic-bezier(.2,.8,.2,1)}.study-header{background:linear-gradient(120deg,var(--indigo-ink),var(--indigo-velvet),var(--dusty-grape));padding:4rem 4rem 3rem;color:#fff;position:relative;overflow:hidden}.study-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(143,127,212,.4),transparent 60%);pointer-events:none}.study-helper-title{font-size:3.5rem;margin:0;font-weight:800;letter-spacing:-1px;margin-bottom:.8rem;text-shadow:0 4px 12px rgba(0,0,0,.2);position:relative;z-index:1}.study-subtitle{font-size:1.4rem;color:#dcd6f7;font-weight:500;display:flex;gap:1rem;align-items:center;position:relative;z-index:1}.study-subtitle span{background:rgba(255,255,255,.1);padding:4px 12px;border-radius:20px;backdrop-filter:blur(4px)}.main-body{padding:2rem 4rem .1rem;display:grid;grid-template-columns:1fr;gap:4rem}.main-body.has-documents{grid-template-columns:300px 1fr;gap:1.5rem}.supporting-docs-section{position:sticky;top:2rem;height:fit-content}.section-badge{display:inline-block;background:var(--soft-periwinkle);color:var(--deep-twilight);padding:4px 12px;border-radius:6px;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.section-title{font-size:1.8rem;color:var(--indigo-ink);margin-bottom:1.5rem;font-weight:800;display:flex;align-items:center;gap:12px}.docs-list{display:flex;flex-direction:column;gap:1rem}.doc-item{background:#f8f9fc;border:2px solid transparent;padding:1rem;border-radius:16px;display:flex;align-items:center;gap:15px;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.doc-item:hover{background:white;border-color:var(--soft-periwinkle);box-shadow:0 8px 24px #4a21a21f}.doc-item.active{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;box-shadow:0 4px 16px #3b82f64d}.doc-active-indicator{margin-left:auto}.active-dot{display:inline-block;width:8px;height:8px;background:#3b82f6;border-radius:50%;animation:pulseDot 2s ease-in-out infinite}.doc-icon-wrapper{background:var(--indigo-velvet);width:45px;height:45px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#fff;flex-shrink:0;box-shadow:0 4px 8px #4a21a24d}.doc-info{display:flex;flex-direction:column}.doc-name{color:var(--deep-twilight);font-weight:700;font-size:.95rem;line-height:1.2}.doc-type{color:var(--indigo-velvet);font-size:.75rem;font-weight:600;margin-top:3px;text-transform:uppercase}.description-section{color:#555;line-height:1.8;font-size:1.1rem}.content-block{margin-bottom:3rem;background:white;padding:0}.content-block h3{color:var(--indigo-ink);font-size:1.6rem;margin-bottom:1rem;display:flex;align-items:center;gap:10px}.content-block h3:before{content:"";display:block;width:8px;height:28px;background:var(--dusty-grape);border-radius:4px}.content-block p{margin-bottom:1.2rem;text-align:justify;color:#4a4a4a}.unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}.unit-card{background:white;padding:1.2rem;border-radius:16px;border:1px solid #eee;box-shadow:0 4px 12px #00000008;transition:all .3s ease;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:100px}.unit-card:nth-child(4n+1){border-top:4px solid var(--indigo-ink)}.unit-card:nth-child(4n+2){border-top:4px solid var(--indigo-velvet)}.unit-card:nth-child(4n+3){border-top:4px solid var(--dusty-grape)}.unit-card:nth-child(4n+4){border-top:4px solid var(--soft-periwinkle)}.unit-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #3211851a}.unit-number{font-size:.8rem;font-weight:700;color:#999;text-transform:uppercase;margin-bottom:.5rem}.unit-title{font-weight:700;color:var(--deep-twilight);font-size:1.1rem;line-height:1.3}.feature-list{list-style:none;padding:0;margin-top:1rem}.feature-list li{position:relative;padding-left:2rem;margin-bottom:1rem;font-weight:500;color:var(--indigo-ink)}.feature-list li:before{content:"\2713";position:absolute;left:0;top:2px;width:24px;height:24px;background:var(--soft-periwinkle);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.floating-admin-btn,.floating-intellisense-btn{position:fixed;bottom:30px;width:60px;height:60px;border-radius:50%;border:none;color:#fff;font-size:1.8rem;cursor:pointer;box-shadow:0 6px 20px #0000004d;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;justify-content:center;z-index:1000}.floating-admin-btn{left:30px;background:linear-gradient(135deg,#64748b,#475569)}.floating-intellisense-btn{right:30px;background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));animation:pulse-glow 2s ease-in-out infinite;border:2px solid rgba(167,139,250,.4)}@keyframes pulse-glow{0%,to{box-shadow:0 6px 20px #4a21a280,0 0 20px #4a21a24d}50%{box-shadow:0 6px 30px #4a21a2b3,0 0 35px #4a21a280}}.floating-admin-btn:hover{transform:scale(1.1) rotate(180deg);box-shadow:0 8px 24px #0006}.floating-intellisense-btn:hover{transform:scale(1.1) rotate(-10deg);box-shadow:0 8px 30px #4a21a280}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1001;animation:fadeIn .2s ease-out}.admin-modal-content{background:white;padding:0;border-radius:20px;width:90%;max-width:500px;box-shadow:0 20px 60px #0003;animation:modalSlideIn .3s cubic-bezier(.175,.885,.32,1.275);overflow:hidden}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:var(--indigo-ink);color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.4rem}.close-btn{background:rgba(255,255,255,.2);border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-btn:hover{background:rgba(255,255,255,.4)}.modal-body{padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--deep-twilight);font-weight:600;font-size:.95rem}.form-group input[type=number],.form-group input[type=text]{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:border-color .2s;box-sizing:border-box}.form-group input:focus{border-color:var(--indigo-velvet);outline:none}.file-upload-wrapper{position:relative;width:100%}.file-upload-wrapper input[type=file]{display:none}.file-upload-label{display:flex;align-items:center;justify-content:center;padding:1.5rem;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;font-weight:500;cursor:pointer;transition:all .2s;text-align:center}.file-upload-label:hover{border-color:var(--indigo-velvet);background:#f0f4ff;color:var(--indigo-velvet)}.pending-files-list{list-style:none;padding:0;margin:10px 0 0;background:#f8fafc;border-radius:8px;overflow:hidden}.pending-files-list li{padding:8px 12px;border-bottom:1px solid #eee;font-size:.9rem;color:var(--deep-twilight)}.pending-files-list li:last-child{border-bottom:none}.modal-footer{padding:1.5rem;background:#f8f9fc;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:1rem}.cancel-btn{padding:10px 20px;border:2px solid #e2e8f0;background:white;color:#64748b;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.save-btn{padding:10px 24px;background:var(--indigo-velvet);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #4a21a233;transition:all .2s}.save-btn:hover{background:var(--indigo-ink);transform:translateY(-1px);box-shadow:0 6px 16px #4a21a24d}@media (max-width: 1024px){.main-body{grid-template-columns:1fr;gap:2rem;padding:2rem}.supporting-docs-section{position:static}.docs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width: 768px){.study-helper-container{padding:10px}.study-header{padding:2.5rem 2rem}.study-helper-title{font-size:2.2rem}}.ai-assistant-banner{background:linear-gradient(135deg,#ffffff 0%,#f8faff 100%);border:1px solid #e0e7ff;border-left:5px solid var(--indigo-velvet);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1.5rem;align-items:flex-start;box-shadow:0 4px 15px #3211850d;position:relative;overflow:hidden}.ai-assistant-banner:after{content:"";position:absolute;top:0;right:0;width:150px;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8));pointer-events:none}.ai-icon-pulse{font-size:2rem;background:var(--soft-periwinkle);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 0 #8f7fd466;animation:pulse 2s infinite;flex-shrink:0}@keyframes pulse{0%{box-shadow:0 0 #8f7fd466}70%{box-shadow:0 0 0 10px #8f7fd400}to{box-shadow:0 0 #8f7fd400}}.ai-content{flex:1}.ai-title{margin:0 0 .5rem;font-size:1.3rem;color:var(--indigo-ink);font-weight:800;display:flex;align-items:center;gap:10px}.ai-badge{background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));color:#fff;font-size:.7rem;padding:3px 8px;border-radius:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700;vertical-align:middle}.ai-description{margin:0;color:#555;font-size:1rem;line-height:1.5}.ai-description strong{color:var(--indigo-velvet);font-weight:700}.intellisense-tooltip{position:fixed;z-index:3500;transform:translate(-50%,-100%);pointer-events:auto;animation:popIn .2s cubic-bezier(.175,.885,.32,1.275);margin-top:-12px}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-90%) scale(.9)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.tooltip-content{background:#1e1b4b;color:#fff;padding:6px;border-radius:12px;display:flex;align-items:center;gap:8px;box-shadow:0 10px 25px #0003;border:1px solid rgba(255,255,255,.1)}.tooltip-label{font-size:.75rem;color:#a5b4fc;padding-left:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.tooltip-divider{width:1px;height:20px;background:rgba(255,255,255,.15)}.ask-intellisense-btn{background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));border:none;color:#fff;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;white-space:nowrap}.ask-intellisense-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.ask-intellisense-btn:active{transform:translateY(1px)}.spark-icon{font-size:1.1rem}.tooltip-arrow{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #1e1b4b}.intellisense-chat-window{position:fixed;right:0;top:0;bottom:0;width:520px;max-width:90vw;background:white;box-shadow:-5px 0 30px #0003;z-index:2500;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.chat-header{background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));color:#fff;padding:1.2rem 1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 10px #0000001a}.chat-header-left{display:flex;align-items:center;gap:12px}.sparkle-icon-animated{font-size:2rem;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1) rotate(5deg)}75%{transform:scale(1.1) rotate(-5deg)}}.chat-header h2{margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.chat-subtitle{margin:0;font-size:.75rem;opacity:.9;font-weight:400}.minimize-btn{background:rgba(255,255,255,.2);border:none;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.minimize-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}.chat-body{flex:1;overflow-y:auto;padding:1rem .75rem;background:#f8f9fc}.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem 1rem;height:100%}.welcome-icon{font-size:4rem;margin-bottom:1.5rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.chat-welcome h3{color:var(--indigo-ink);font-size:1.5rem;margin:0 0 1rem}.chat-welcome>p{color:#64748b;font-size:1rem;line-height:1.6;margin:0 0 2rem;max-width:350px}.welcome-features{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:300px}.feature-item{display:flex;align-items:center;gap:12px;background:white;padding:12px 16px;border-radius:12px;box-shadow:0 2px 8px #0000000d;text-align:left;color:#4a4a4a;font-size:.9rem}.feature-icon{font-size:1.5rem}.chat-message{margin-bottom:1.5rem;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-content{display:flex;gap:12px;align-items:flex-start}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.user-message .message-avatar{background:linear-gradient(135deg,#60a5fa,#3b82f6);order:2}.assistant-message .message-avatar{background:linear-gradient(135deg,var(--soft-periwinkle),var(--indigo-velvet))}.message-bubble{max-width:85%;padding:12px 14px;border-radius:16px;position:relative}.user-message .message-bubble{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;border-bottom-right-radius:4px;margin-left:auto}.assistant-bubble{background:white;color:#4a4a4a;border-bottom-left-radius:4px;box-shadow:0 2px 12px #00000014;border:1px solid #f0f0f0}.loading-bubble{background:white;box-shadow:0 2px 8px #00000014;padding:16px 20px}.error-bubble{background:#fee2e2;color:#991b1b;box-shadow:0 2px 8px #00000014}.message-text{margin:0;line-height:1.5;font-size:.95rem;word-wrap:break-word}.message-time{display:block;font-size:.7rem;opacity:.6;margin-top:6px}.user-message .message-time{text-align:right}.response-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #f0f0f0}.response-section:first-child{margin-top:0;padding-top:0;border-top:none}.response-section h4{margin:0 0 .75rem;font-size:.85rem;color:var(--indigo-ink);font-weight:700;display:flex;align-items:center;gap:6px;text-transform:uppercase;letter-spacing:.5px}.response-text{margin:0;line-height:1.8;font-size:.9rem;color:#374151}.example-box{background:linear-gradient(135deg,#fef3c7 0%,#fef9e7 100%);padding:14px;border-radius:12px;border-left:4px solid #f59e0b;box-shadow:0 2px 6px #f59e0b1a}.example-box h4{color:#92400e}.example-box p{margin:0;font-size:.85rem;line-height:1.7;color:#78350f}.assistant-bubble .key-points-list,.assistant-bubble .checks-list{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:.6rem}.assistant-bubble .key-points-list li,.assistant-bubble .checks-list li{position:relative;padding:.5rem .5rem .5rem 2rem;font-size:.85rem;line-height:1.6;color:#374151;background:#f9fafb;border-radius:8px;transition:all .2s}.assistant-bubble .key-points-list li:hover,.assistant-bubble .checks-list li:hover{background:#f3f4f6;transform:translate(2px)}.assistant-bubble .key-points-list li:before{content:"\25b8";position:absolute;left:.5rem;top:.5rem;color:var(--indigo-velvet);font-size:1rem;font-weight:700}.assistant-bubble .checks-list li:before{content:"?";position:absolute;left:.5rem;top:.5rem;width:18px;height:18px;background:var(--soft-periwinkle);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700}.chat-footer{padding:.75rem 1rem;background:white;border-top:1px solid #e5e7eb;box-shadow:0 -2px 10px #0000000d}.chat-hint{display:flex;align-items:center;justify-content:center;gap:8px;color:#64748b;font-size:.85rem}.hint-icon{font-size:1.1rem}.thinking-animation{display:flex;gap:6px;justify-content:center;margin-bottom:8px}.dot-pulse{width:8px;height:8px;border-radius:50%;background:var(--indigo-velvet);animation:dotPulse 1.4s infinite ease-in-out both}.dot-pulse:nth-child(1){animation-delay:-.32s}.dot-pulse:nth-child(2){animation-delay:-.16s}@keyframes dotPulse{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.thinking-text{color:#64748b;font-size:.85rem;font-weight:500;margin:0;text-align:center}.error-text{margin:0;font-size:.85rem;line-height:1.5}.level-badge-inline{margin-bottom:1rem;display:flex;justify-content:flex-start}.level-indicator{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.65rem;font-weight:800;letter-spacing:.8px;box-shadow:0 2px 6px #00000014}.level-indicator:before{content:"\25cf";font-size:.8rem}.level-low{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.level-medium{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af}.level-high{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534}.quiz-section{margin-top:1.5rem!important;padding-top:1.5rem!important;border-top:2px dashed #e0e7ff!important}.quiz-me-btn{width:100%;padding:14px 20px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #8b5cf64d}.quiz-me-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.quiz-me-btn:active{transform:translateY(0)}.quiz-icon{font-size:1.3rem;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.quiz-badge{background:rgba(255,255,255,.25);padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600}.quiz-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .2s ease-out;padding:20px}.quiz-modal-content{background:white;border-radius:24px;width:90%;max-width:700px;max-height:90vh;overflow:hidden;box-shadow:0 25px 60px #0000004d;animation:modalSlideIn .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column}.quiz-modal-header{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.quiz-header-left{display:flex;align-items:center;gap:12px}.quiz-trophy-icon{font-size:2rem;animation:rotate 3s ease-in-out infinite}@keyframes rotate{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}.quiz-modal-header h2{margin:0;font-size:1.5rem;font-weight:800}.quiz-modal-body{padding:2rem;overflow-y:auto;flex:1}.quiz-question{margin-bottom:2.5rem;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.question-header{margin-bottom:1rem}.question-number{display:inline-block;background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:700;letter-spacing:.5px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}.question-text{font-size:1.1rem;font-weight:600;color:#1f2937;line-height:1.6;margin:0}.quiz-options{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.quiz-option{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.quiz-option:hover{background:#f3f4f6;border-color:#a78bfa;transform:translate(4px)}.quiz-option.selected{background:#c4b5fd;border-color:#7c3aed;box-shadow:0 6px 20px #7c3aed66;transform:translate(4px)}.option-letter{width:32px;height:32px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.quiz-option.selected .option-letter{animation:pop .3s ease-out}@keyframes pop{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.option-text{flex:1;color:#374151;font-size:.95rem;line-height:1.5}.submit-quiz-btn{width:100%;padding:16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s;margin-top:1rem}.submit-quiz-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b9814d}.submit-quiz-btn:disabled{background:#d1d5db;cursor:not-allowed}.quiz-results{animation:fadeIn .4s ease-out}.results-header{text-align:center;padding:2rem 0;border-bottom:2px solid #f3f4f6;margin-bottom:2rem}.results-score-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#7c3aed);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;box-shadow:0 8px 24px #8b5cf64d;animation:scaleIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.score-number{font-size:2.5rem;font-weight:800;color:#fff}.results-title{font-size:1.8rem;font-weight:800;color:#1f2937;margin:0 0 .5rem}.results-percentage{font-size:1.1rem;color:#6b7280;margin:0}.result-question{background:#f9fafb;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;border-left:4px solid #e5e7eb}.result-question.correct{border-left-color:#10b981;background:#f0fdf4}.result-question.incorrect{border-left-color:#ef4444;background:#fef2f2}.result-question-header{display:flex;align-items:center;gap:8px;margin-bottom:.75rem}.result-icon{font-size:1.3rem}.result-label{font-size:.85rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.result-question-text{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.result-answers{display:flex;flex-direction:column;gap:.75rem}.result-answer{display:flex;flex-direction:column;gap:.25rem}.answer-label{font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.answer-value{padding:8px 12px;border-radius:8px;font-size:.9rem;font-weight:500}.answer-value.correct{background:#d1fae5;color:#065f46}.answer-value.incorrect{background:#fee2e2;color:#991b1b}.result-explanation{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.explanation-label{display:block;font-size:.85rem;font-weight:700;color:#8b5cf6;margin-bottom:.5rem}.result-explanation p{margin:0;font-size:.9rem;line-height:1.6;color:#374151}.quiz-actions{display:flex;gap:1rem;margin-top:2rem}.retry-quiz-btn,.close-quiz-btn{flex:1;padding:14px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.retry-quiz-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none}.retry-quiz-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf64d}.close-quiz-btn{background:white;color:#6b7280;border:2px solid #e5e7eb}.close-quiz-btn:hover{background:#f9fafb;border-color:#d1d5db}.document-viewer-container{background:white;border-radius:16px;width:90%;max-width:1200px;height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 60px #0006;overflow:hidden;animation:modalSlideIn .3s cubic-bezier(.175,.885,.32,1.275)}.document-viewer-header{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;padding:1.25rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #3730a3;position:relative}.document-viewer-title{display:flex;align-items:center;gap:12px;flex:1}.doc-viewer-icon{font-size:2rem}.document-viewer-title h3{margin:0;font-size:1.3rem;font-weight:700;color:#fff}.doc-viewer-subtitle{margin:.25rem 0 0;font-size:.85rem;color:#ffffffd9;font-weight:400}.close-document-btn{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:1.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.close-document-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.document-viewer-body{flex:1;overflow:auto;background:#f9fafb;position:relative}.pdf-viewer-container{width:100%;height:100%;display:flex;flex-direction:column;align-items:stretch}.pdf-controls{display:flex;align-items:center;gap:12px;padding:12px 20px;background:white;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.pdf-zoom-btn{width:32px;height:32px;border-radius:8px;border:1px solid #e5e7eb;background:white;font-size:1.2rem;font-weight:600;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.pdf-zoom-btn:hover{background:#f3f4f6;border-color:#d1d5db}.pdf-zoom-label{font-size:.9rem;font-weight:600;color:#6b7280;min-width:50px;text-align:center}.pdf-page-count{margin-left:auto;font-size:.85rem;color:#9ca3af;font-weight:500}.pdf-pages-wrapper{flex:1;overflow:auto;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:20px;background:#64748b}.pdf-pages-wrapper .react-pdf__Document{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;width:100%}.pdf-pages-wrapper>div{display:flex;flex-direction:column;align-items:center;width:100%}.pdf-page{box-shadow:0 4px 20px #0000004d;background:white;margin:0 auto}.pdf-page canvas{display:block;margin:0 auto}.react-pdf__Page{display:flex;justify-content:center}.react-pdf__Page__textContent,.react-pdf__Page__annotations{margin:0 auto}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.docx-viewer-container{padding:40px;background:white;min-height:100%}.docx-content{max-width:800px;margin:0 auto;font-size:1rem;line-height:1.8;color:#1f2937}.docx-content p{margin-bottom:1rem}.docx-content h1,.docx-content h2,.docx-content h3,.docx-content h4,.docx-content h5,.docx-content h6{margin-top:1.5rem;margin-bottom:.75rem;font-weight:700;color:#111827}.docx-content h1{font-size:2rem}.docx-content h2{font-size:1.5rem}.docx-content h3{font-size:1.25rem}.docx-content ul,.docx-content ol{margin-left:1.5rem;margin-bottom:1rem}.docx-content li{margin-bottom:.5rem}.docx-content table{width:100%;border-collapse:collapse;margin:1rem 0}.docx-content th,.docx-content td{border:1px solid #e5e7eb;padding:10px 15px;text-align:left}.docx-content th{background:#f3f4f6;font-weight:600}.docx-content img{max-width:100%;height:auto;border-radius:8px;margin:1rem 0}.document-viewer-header:after{content:"\1f4a1  Select text or use Ask button";position:absolute;right:60px;top:50%;transform:translateY(-50%);font-size:.8rem;color:#ffffffb3;font-weight:500;animation:fadeInOut 3s ease-in-out infinite}@keyframes fadeInOut{0%,to{opacity:.5}50%{opacity:1}}.document-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6b7280}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:#4f46e5;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.document-iframe{width:100%;height:100%;border:none;background:white}.image-viewer-wrapper{width:100%;height:100%;display:flex;flex-direction:column;background:#f9fafb}.image-controls{display:flex;align-items:center;gap:12px;padding:12px 20px;background:white;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.image-zoom-btn,.image-reset-btn{height:32px;border-radius:8px;border:1px solid #e5e7eb;background:white;font-size:1.2rem;font-weight:600;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0 12px}.image-zoom-btn{width:32px}.image-zoom-btn:hover,.image-reset-btn:hover{background:#f3f4f6;border-color:#d1d5db}.image-zoom-label{font-size:.9rem;font-weight:600;color:#6b7280;min-width:50px;text-align:center}.image-reset-btn{margin-left:auto;font-size:.85rem;font-weight:600}.document-image-container{flex:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:2rem;overflow:auto;position:relative}.document-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .2s ease;transform-origin:center}.floating-image-ask-btn{position:fixed;bottom:30px;right:30px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:50px;padding:14px 24px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #10b98166;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:100;animation:floatIn .4s ease-out}.floating-image-ask-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px #10b98180}.image-query-panel{position:fixed;bottom:30px;right:30px;width:450px;max-width:calc(100vw - 60px);background:white;border-radius:20px;box-shadow:0 12px 40px #0000004d;overflow:hidden;z-index:100;animation:slideUpPanel .3s cubic-bezier(.175,.885,.32,1.275)}.image-query-panel .query-panel-header{background:linear-gradient(135deg,#10b981,#059669)}.document-preview-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:3rem;text-align:center}.notice-icon{font-size:4rem;margin-bottom:1.5rem;animation:float 3s ease-in-out infinite}.document-preview-notice h4{font-size:1.5rem;color:#1f2937;margin:0 0 1rem}.document-preview-notice p{font-size:1rem;color:#6b7280;max-width:500px;line-height:1.6;margin-bottom:2rem}.document-info-box{background:white;padding:1.5rem;border-radius:12px;border:2px solid #e5e7eb;text-align:left;max-width:400px;width:100%;font-size:.9rem;color:#374151;line-height:1.8}.floating-doc-ask-btn{position:fixed;bottom:30px;right:30px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:50px;padding:14px 24px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px #8b5cf666;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:100;animation:floatIn .4s ease-out}@keyframes floatIn{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.floating-doc-ask-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px #8b5cf680}.ask-btn-icon{font-size:1.3rem;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}}.ask-btn-text{font-weight:700}.document-query-panel{position:fixed;bottom:30px;right:30px;width:450px;max-width:calc(100vw - 60px);background:white;border-radius:20px;box-shadow:0 12px 40px #0000004d;overflow:hidden;z-index:100;animation:slideUpPanel .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes slideUpPanel{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.query-panel-header{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;padding:1rem 1.25rem;display:flex;align-items:center;gap:10px}.query-icon{font-size:1.5rem}.query-title{flex:1;font-weight:700;font-size:1rem}.query-close-btn{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.2);border:none;color:#fff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;padding:0}.query-close-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.document-query-input{width:100%;min-height:120px;max-height:250px;padding:1rem 1.25rem;border:none;font-size:.95rem;font-family:inherit;line-height:1.6;resize:vertical;outline:none;color:#1f2937}.document-query-input::placeholder{color:#9ca3af}.query-panel-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;background:#f9fafb;border-top:1px solid #e5e7eb}.query-hint{font-size:.75rem;color:#9ca3af;font-weight:500}.query-send-btn{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-weight:700;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.query-send-btn:hover:not(:disabled){transform:translate(2px);box-shadow:0 4px 12px #8b5cf666}.query-send-btn:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.mindmap-section{margin:.1rem 4rem 2rem;padding:2rem 2.5rem;background:linear-gradient(135deg,#ddd6fe 0%,#c7d2fe 100%);border-radius:16px;border:2px solid #8b5cf6;box-shadow:0 4px 16px #8b5cf61f,0 0 40px #8b5cf626;animation:slideInUp .6s ease-out,mindmapGlow 3s ease-in-out infinite}@keyframes mindmapGlow{0%,to{box-shadow:0 4px 16px #8b5cf61f,0 0 40px #8b5cf626}50%{box-shadow:0 4px 20px #8b5cf633,0 0 60px #8b5cf640}}.mindmap-content{display:flex;align-items:center;gap:1.5rem}.mindmap-icon-wrapper{flex-shrink:0}.mindmap-icon{font-size:3rem;display:block;animation:pulse 2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(139,92,246,.3))}.mindmap-text{flex:1}.mindmap-title{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;color:#5b21b6;letter-spacing:-.3px}.mindmap-description{margin:0 0 1rem;font-size:.95rem;line-height:1.6;color:#6d28d9;font-weight:500}.mindmap-actions{display:flex;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.mindmap-cta-btn{margin-top:.75rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:1rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 12px #8b5cf64d}.mindmap-cta-btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.mindmap-cta-btn.secondary{background:linear-gradient(135deg,#6366f1,#4f46e5)}.mindmap-cta-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #8b5cf666}.mindmap-cta-btn:active:not(:disabled){transform:translateY(0)}.mindmap-cta-btn:disabled{background:linear-gradient(135deg,#d1d5db,#9ca3af);cursor:not-allowed;opacity:.6;box-shadow:none}.mindmap-cta-btn .cta-icon{font-size:1.2rem}.mindmap-cta-btn .cta-spinner{font-size:1.2rem;animation:spin 1s linear infinite}.mindmap-hint{margin:.5rem 0 .75rem;font-size:.85rem;color:#7c3aed;font-weight:500;font-style:italic}.flashcard-section{margin:.1rem 4rem 2rem;padding:2rem 2.5rem;background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border-radius:16px;border:2px solid #10b981;box-shadow:0 4px 16px #10b9811f,0 0 40px #10b98126;animation:slideInUp .6s ease-out,flashcardGlow 3s ease-in-out infinite}@keyframes flashcardGlow{0%,to{box-shadow:0 4px 16px #10b9811f,0 0 40px #10b98126}50%{box-shadow:0 4px 20px #10b98133,0 0 60px #10b98140}}.flashcard-content{display:flex;align-items:center;gap:1.5rem}.flashcard-icon-wrapper{flex-shrink:0}.flashcard-icon{font-size:3rem;display:block;animation:flip 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(16,185,129,.3))}@keyframes flip{0%,to{transform:rotateY(0)}50%{transform:rotateY(180deg)}}.flashcard-text{flex:1}.flashcard-section-title{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;color:#052e23;letter-spacing:-.3px}.flashcard-section-description{margin:0 0 1rem;font-size:.95rem;line-height:1.6;color:#052e23;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.08)}.flashcard-cta-btn{margin-top:.75rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:12px;padding:12px 24px;font-size:1rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 12px #10b98159}.flashcard-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.flashcard-cta-btn:active{transform:translateY(0)}.flashcard-cta-btn .cta-icon{font-size:1.2rem}.quiz-me-section{margin:.1rem 4rem 2rem;padding:2rem 2.5rem;background:linear-gradient(135deg,#fef3c7 0%,#fed7aa 100%);border-radius:16px;border:2px solid #f59e0b;box-shadow:0 4px 16px #f59e0b1f,0 0 40px #f59e0b26;animation:slideInUp .6s ease-out,gentleGlow 3s ease-in-out infinite}@keyframes gentleGlow{0%,to{box-shadow:0 4px 16px #f59e0b1f,0 0 40px #f59e0b26}50%{box-shadow:0 4px 20px #f59e0b33,0 0 60px #f59e0b40}}.quiz-me-content{display:flex;align-items:center;gap:1.5rem}.quiz-me-icon-wrapper{flex-shrink:0}.quiz-me-icon{font-size:3rem;display:block;animation:bounce 2s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(245,158,11,.3))}.quiz-me-text{flex:1}.quiz-me-title{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;color:#92400e;letter-spacing:-.3px}.quiz-me-description{margin:0 0 1rem;font-size:.95rem;line-height:1.6;color:#78350f;font-weight:500}.quiz-me-cta-btn{margin-top:.75rem;margin-bottom:.75rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:50px;padding:12px 24px;font-weight:700;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px #f59e0b4d;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.quiz-me-cta-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #f59e0b66}.cta-icon{font-size:1.2rem;animation:rotate 3s ease-in-out infinite}.cta-text{font-weight:700;letter-spacing:.3px}.powered-by{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#92400e;font-weight:600;opacity:.75}.powered-icon{font-size:.9rem;animation:sparkle 2s ease-in-out infinite}.powered-text{text-transform:uppercase;letter-spacing:.5px}.quiz-generator-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .2s ease-out;padding:20px}.quiz-generator-modal{background:white;border-radius:24px;width:90%;max-width:600px;max-height:85vh;overflow:hidden;box-shadow:0 25px 60px #0000004d;animation:modalSlideIn .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column}.quiz-gen-header{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:1.5rem;display:flex;justify-content:space-between;align-items:center}.flashcard-gen-header{background:linear-gradient(135deg,#10b981,#059669)!important}.mindmap-gen-header{background:#5b21b6!important;color:#fff}.mindmap-generator-modal .quiz-gen-title h2{color:#fff}.mindmap-generator-modal .close-btn{color:#fff;border-color:#ffffff80;background:rgba(255,255,255,.15)}.mindmap-generator-modal .close-btn:hover:not(:disabled){background:rgba(255,255,255,.25);border-color:#ffffffb3}.mindmap-generator-modal .quiz-gen-section h3{color:#5b21b6}.mindmap-generator-modal .section-hint{color:#6d28d9}.mindmap-generator-modal .source-item:hover{border-color:#7c3aed;background:#f5f3ff}.mindmap-generator-modal .source-item input[type=checkbox]{accent-color:#7c3aed}.mindmap-generator-modal .source-badge{background:#ede9fe;color:#5b21b6}.mindmap-generator-modal .scope-option:hover{border-color:#7c3aed;background:#f5f3ff}.mindmap-generator-modal .scope-option input[type=radio]{accent-color:#7c3aed}.mindmap-generator-modal .quiz-gen-generate-btn{background:linear-gradient(135deg,#7c3aed,#5b21b6)!important;color:#fff;border:none}.mindmap-generator-modal .quiz-gen-generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important;box-shadow:0 4px 14px #5b21b666}.mindmap-generator-modal .quiz-gen-cancel-btn{border-color:#7c3aed;color:#5b21b6;background:#fff}.mindmap-generator-modal .quiz-gen-cancel-btn:hover:not(:disabled){background:#f5f3ff;border-color:#6d28d9;color:#6d28d9}.quiz-gen-title{display:flex;align-items:center;gap:12px}.quiz-gen-icon{font-size:2rem;animation:rotate 3s ease-in-out infinite}.quiz-gen-title h2{margin:0;font-size:1.5rem;font-weight:800}.quiz-gen-body{flex:1;overflow-y:auto;padding:2rem}.quiz-gen-section{margin-bottom:2rem}.quiz-gen-section h3{margin:0 0 .5rem;font-size:1.2rem;color:#1f2937;font-weight:700}.section-hint{margin:0 0 1rem;color:#6b7280;font-size:.9rem}.source-list{display:flex;flex-direction:column;gap:.75rem}.source-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s}.source-item:hover{background:#f3f4f6;border-color:#f59e0b}.source-item input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#f59e0b}.source-icon{font-size:1.3rem}.source-name{flex:1;font-weight:600;color:#374151}.source-badge{background:#fef3c7;color:#92400e;padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.scope-selector{display:flex;flex-direction:column;gap:1rem}.scope-option{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s}.scope-option:hover{background:#f3f4f6;border-color:#8b5cf6}.scope-option input[type=radio]{margin-top:4px;width:20px;height:20px;cursor:pointer;accent-color:#8b5cf6}.scope-option input[type=radio]:checked~.scope-content{opacity:1}.scope-option input[type=radio]:disabled~.scope-content{opacity:.5}.scope-content{flex:1;opacity:.7;transition:opacity .2s}.scope-label{display:flex;align-items:center;gap:8px;margin-bottom:4px}.scope-icon{font-size:1.2rem}.scope-title{font-weight:600;color:#374151;font-size:1rem}.scope-disabled-badge{background:#fee2e2;color:#991b1b;padding:2px 8px;border-radius:8px;font-size:.7rem;font-weight:600;margin-left:4px}.scope-desc{font-size:.85rem;color:#6b7280;line-height:1.4;display:block}.question-count-selector{display:flex;align-items:center;gap:1.5rem}.question-slider{flex:1;height:8px;border-radius:4px;background:#e5e7eb;outline:none;-webkit-appearance:none;appearance:none}.question-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);cursor:pointer;box-shadow:0 2px 8px #f59e0b66}.question-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#d97706);cursor:pointer;border:none;box-shadow:0 2px 8px #f59e0b66}.question-count-display{display:flex;flex-direction:column;align-items:center;min-width:80px}.count-number{font-size:2rem;font-weight:800;color:#f59e0b;line-height:1}.count-label{font-size:.75rem;color:#6b7280;font-weight:600;text-transform:uppercase}.quiz-gen-footer{display:flex;gap:1rem;padding:1.5rem;background:#f9fafb;border-top:1px solid #e5e7eb}.quiz-gen-cancel-btn,.quiz-gen-generate-btn{flex:1;padding:14px;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.quiz-gen-cancel-btn{background:white;color:#6b7280;border:2px solid #e5e7eb}.quiz-gen-cancel-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.quiz-gen-generate-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none}.quiz-gen-generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b66}.flashcard-gen-btn{background:linear-gradient(135deg,#10b981,#059669)!important}.flashcard-gen-btn:hover:not(:disabled){box-shadow:0 6px 20px #10b98166!important}.flashcard-generator-modal .question-slider::-webkit-slider-thumb{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98166}.flashcard-generator-modal .question-slider::-moz-range-thumb{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px #10b98166}.flashcard-generator-modal .source-item:hover{border-color:#10b981}.flashcard-generator-modal .source-item input[type=checkbox]{accent-color:#10b981}.flashcard-generator-modal .scope-option:hover{border-color:#10b981}.flashcard-generator-modal .scope-option input[type=radio]{accent-color:#10b981}.quiz-gen-cancel-btn:disabled,.quiz-gen-generate-btn:disabled{opacity:.6;cursor:not-allowed}.spinner-icon{animation:spin 1s linear infinite}.difficulty-badge{padding:4px 10px;border-radius:12px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.difficulty-badge.easy{background:#d1fae5;color:#065f46}.difficulty-badge.medium{background:#fef3c7;color:#92400e}.difficulty-badge.hard{background:#fee2e2;color:#991b1b}@media (max-width: 768px){.intellisense-chat-window{width:100%;max-width:100%}.floating-admin-btn,.floating-intellisense-btn{width:50px;height:50px;font-size:1.5rem;bottom:20px}.floating-admin-btn{left:20px}.floating-intellisense-btn{right:20px}.quiz-generator-modal{max-width:95%}.quiz-gen-body{padding:1.5rem}.mindmap-section{margin:1.5rem 1rem;padding:1.5rem}.mindmap-content{flex-direction:column;text-align:center;gap:1rem}.mindmap-icon{font-size:2.5rem}.mindmap-title{font-size:1.2rem}.mindmap-description{font-size:.9rem}.mindmap-actions{flex-direction:column;width:100%}.mindmap-cta-btn{width:100%;padding:10px 20px;font-size:.95rem;justify-content:center}.flashcard-section{margin:1.5rem 1rem;padding:1.5rem}.flashcard-content{flex-direction:column;text-align:center;gap:1rem}.flashcard-icon{font-size:2.5rem}.flashcard-section-title{font-size:1.2rem;color:#052e23}.flashcard-section-description{font-size:.9rem;color:#052e23}.flashcard-cta-btn{width:100%;padding:10px 20px;font-size:.95rem;justify-content:center}.quiz-me-section{margin:1.5rem 1rem;padding:1.5rem}.quiz-me-content{flex-direction:column;text-align:center;gap:1rem}.quiz-me-icon{font-size:2.5rem}.quiz-me-title{font-size:1.2rem}.quiz-me-description{font-size:.9rem}.quiz-me-cta-btn{padding:10px 20px;font-size:.95rem}.quiz-modal-content{max-width:95%}.quiz-modal-body{padding:1.5rem}.quiz-actions{flex-direction:column}.document-viewer-container{width:95%;height:90vh}.document-viewer-header{padding:1rem}.document-viewer-title h3{font-size:1.1rem}.doc-viewer-subtitle{font-size:.75rem}.document-query-panel,.image-query-panel{width:calc(100vw - 40px);right:20px;bottom:20px}.floating-doc-ask-btn,.floating-image-ask-btn{right:20px;bottom:20px;padding:12px 20px;font-size:.9rem}}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.mindmap-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;backdrop-filter:blur(4px)}.mindmap-modal-content{background:white;border-radius:16px;width:95%;max-width:1400px;height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.mindmap-modal-content .mindmap-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:2px solid rgba(0,0,0,.08);background:#5b21b6;color:#fff}.mindmap-modal-content .mindmap-title-section{flex:1}.mindmap-modal-content .mindmap-header .mindmap-title{margin:0 0 8px;font-size:28px;font-weight:700;display:flex;align-items:center;gap:12px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.mindmap-modal-content .mindmap-header .mindmap-icon{font-size:32px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.mindmap-modal-content .mindmap-header .mindmap-description{margin:0;font-size:16px;font-weight:400;line-height:1.5;color:#e9d5ff;text-shadow:0 1px 1px rgba(0,0,0,.15)}.mindmap-modal-content .mm-header-actions{display:flex;align-items:center;gap:10px}.mindmap-modal-content .mm-action-btn{background:rgba(255,255,255,.2);border:1.5px solid rgba(255,255,255,.5);color:#fff;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mindmap-modal-content .mm-action-btn:hover{background:rgba(255,255,255,.35);border-color:#ffffffb3;color:#fff}.mindmap-modal-content .mindmap-close-btn{background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.5);color:#fff;font-size:32px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:300;line-height:1}.mindmap-modal-content .mindmap-close-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.mindmap-body{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc}.mindmap-instructions{padding:14px 32px;background:linear-gradient(to right,#fef3c7,#fde68a);border-bottom:1px solid #fbbf24;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:#92400e}.instruction-icon{font-size:18px}.mindmap-viewer{flex:1;position:relative;background:#ffffff}.mm-node{display:flex;align-items:stretch;padding:0;border-radius:12px;border:3px solid;cursor:default;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);animation:mmNodeAppear .4s cubic-bezier(.34,1.56,.64,1) both;min-width:140px;max-width:280px}@keyframes mmNodeAppear{0%{opacity:0;transform:scale(.8) translate(-20px)}to{opacity:1;transform:scale(1) translate(0)}}.mm-node:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 8px 24px #00000026!important}.mm-node-body{display:flex;flex-direction:column;gap:4px;padding:14px 18px;flex:1;min-width:0}.mm-node-label{font-size:14px;font-weight:600;line-height:1.35;white-space:normal;word-wrap:break-word;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.mm-level-0 .mm-node-label{font-size:17px;font-weight:700}.mm-node-desc{font-size:11px;opacity:.9;line-height:1.3;font-weight:400;white-space:normal;word-wrap:break-word;color:#ffffffe6;margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.3)}.mm-toggle-btn{display:flex;align-items:center;justify-content:center;width:30px;min-width:30px;background:rgba(255,255,255,.1);border:none;border-left:1.5px solid rgba(255,255,255,.25);border-radius:0 12px 12px 0;cursor:pointer;font-size:18px;font-weight:700;color:#fff;transition:all .2s ease;padding:0;line-height:1}.mm-toggle-btn:hover{background:rgba(255,255,255,.25)}.mm-collapsed .mm-toggle-btn{animation:mmPulseToggle 2s ease-in-out infinite}@keyframes mmPulseToggle{0%,to{background:rgba(255,255,255,.1)}50%{background:rgba(255,255,255,.25)}}.mm-handle{width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;background:transparent!important;border:none!important;opacity:0!important}.mindmap-footer{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-top:2px solid #e5e7eb;background:white}.powered-by{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280}.powered-icon{font-size:16px;animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.powered-text{font-weight:500}.mindmap-footer-actions{display:flex;align-items:center;gap:16px}.download-buttons{display:flex;gap:8px}.download-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:2px solid #e5e7eb;border-radius:8px;background:white;color:#374151;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.download-btn:hover{background:#f9fafb;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.download-btn:active{transform:translateY(0)}.download-btn span:first-child{font-size:16px}.png-btn:hover{border-color:#3b82f6;color:#3b82f6}.svg-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.json-btn:hover{border-color:#10b981;color:#10b981}.mindmap-close-footer-btn{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #667eea4d}.mindmap-close-footer-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #667eea66}.mindmap-close-footer-btn:active{transform:translateY(0)}.mindmap-viewer .react-flow__attribution{background:rgba(255,255,255,.8);padding:4px 8px;border-radius:4px;font-size:10px}.mindmap-viewer .react-flow__controls{box-shadow:0 4px 6px #0000001a;border-radius:8px;overflow:hidden}.mindmap-viewer .react-flow__controls-button{background:white;border-bottom:1px solid #e5e7eb;transition:all .2s ease}.mindmap-viewer .react-flow__controls-button:hover{background:#f3f4f6}.mindmap-viewer .react-flow__minimap{border:2px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a}@media (max-width: 768px){.mindmap-modal-content{width:100%;height:100vh;border-radius:0}.mindmap-header{padding:16px 20px;flex-wrap:wrap;gap:10px}.mindmap-title{font-size:22px}.mindmap-icon{font-size:24px}.mindmap-description{font-size:14px}.mindmap-close-btn{width:40px;height:40px;font-size:28px}.mm-header-actions{gap:6px}.mm-action-btn{padding:6px 10px;font-size:11px}.mindmap-instructions{padding:12px 20px;font-size:12px}.mindmap-footer{padding:16px 20px;flex-direction:column;gap:12px}.mindmap-close-footer-btn{width:100%}.mindmap-footer-actions{flex-direction:column;width:100%;gap:12px}.download-buttons{width:100%;justify-content:space-between}.download-btn{flex:1;justify-content:center;padding:10px 12px;font-size:13px}.download-btn span:first-child{font-size:14px}}.mindmap-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;gap:16px}.mindmap-loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.mindmap-loading-text{font-size:16px;color:#6b7280;font-weight:500}.flashcard-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;backdrop-filter:blur(4px)}.flashcard-modal-content{background:white;border-radius:16px;width:95%;max-width:900px;height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;overflow:hidden}.flashcard-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 20px 14px;border-bottom:2px solid rgba(0,0,0,.1);background:linear-gradient(135deg,#059669 0%,#047857 100%);color:#fff!important;flex-shrink:0}.flashcard-title-section{flex:1;min-width:0}.flashcard-title{margin:0 0 4px;font-size:20px;font-weight:700;display:flex;align-items:center;gap:8px;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,.8)}.flashcard-icon{font-size:24px;animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.flashcard-description{margin:0;font-size:14px;line-height:1.5;font-weight:600;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 1px rgba(0,0,0,.8);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flashcard-close-btn{background:rgba(255,255,255,.25);border:2px solid rgba(255,255,255,.4);color:#fff!important;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-weight:300;line-height:1;flex-shrink:0}.flashcard-close-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}.flashcard-body{flex:1;display:flex;flex-direction:column;overflow-y:auto;background:#f8fafc;padding:24px 32px}.flashcard-controls-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.flashcard-progress{flex:1;display:flex;flex-direction:column;gap:8px}.progress-text{font-size:14px;font-weight:600;color:#6b7280}.progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#10b981,#059669);border-radius:4px;transition:width .3s ease}.view-toggle-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:white;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.view-toggle-btn:hover{border-color:#10b981;background:#d1fae5;transform:translateY(-1px)}.view-toggle-btn span:first-child{font-size:18px}.flashcard-display{flex:1;display:flex;align-items:center;justify-content:center;perspective:1500px;margin:10px 0;min-height:300px}.flashcard{width:100%;max-width:700px;height:350px;position:relative;cursor:pointer;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1)}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:16px;padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;box-shadow:0 10px 40px #00000026}.flashcard-front{background:linear-gradient(135deg,#ffffff 0%,#f9fafb 100%);border:3px solid #10b981}.flashcard-back{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:3px solid #059669;transform:rotateY(180deg)}.card-label{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#065f46;margin-bottom:20px;padding:6px 16px;background:rgba(16,185,129,.15);border-radius:20px}.card-content{font-size:22px;font-weight:600;color:#1f2937;line-height:1.5;max-width:600px}.card-hint{margin-top:24px;font-size:13px;color:#9ca3af;font-style:italic;opacity:.7}.card-category{margin-top:20px;display:flex;align-items:center;gap:6px;padding:8px 16px;background:rgba(16,185,129,.25);border-radius:20px;font-size:13px;font-weight:600;color:#065f46}.category-icon{font-size:16px}.flashcard-navigation{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:28px;flex-shrink:0}.nav-btn,.flip-btn{display:flex;align-items:center;gap:10px;padding:14px 28px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.nav-btn{background:white;border:2px solid #e5e7eb;color:#374151}.nav-btn:hover:not(:disabled){border-color:#10b981;background:#d1fae5;transform:translateY(-2px);box-shadow:0 4px 12px #10b9814d}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.flip-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.flip-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.flip-btn:active{transform:translateY(0)}.keyboard-hints{text-align:center;margin-top:12px;margin-bottom:8px;font-size:13px;color:#9ca3af;font-weight:500;flex-shrink:0}.flashcard-grid-view{overflow-y:auto;flex:1}.grid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.grid-header h3{margin:0;font-size:22px;color:#1f2937;font-weight:700}.flashcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.flashcard-grid-item{background:white;border:2px solid #e5e7eb;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;position:relative}.flashcard-grid-item:hover{border-color:#10b981;transform:translateY(-4px);box-shadow:0 8px 24px #10b98140}.grid-card-number{position:absolute;top:12px;right:12px;background:#d1fae5;color:#065f46;font-size:12px;font-weight:700;padding:4px 10px;border-radius:12px}.grid-card-front{font-size:16px;font-weight:600;color:#1f2937;line-height:1.5;margin-bottom:12px}.grid-card-category{display:inline-block;font-size:11px;font-weight:600;padding:4px 12px;background:rgba(16,185,129,.2);color:#065f46;border-radius:12px;margin-top:8px}@media (max-width: 768px){.flashcard-modal-content{width:100%;height:100vh;border-radius:0}.flashcard-header{padding:10px 16px 12px}.flashcard-title{font-size:18px}.flashcard-body{padding:20px}.flashcard{height:350px}.flashcard-front,.flashcard-back{padding:24px}.card-content{font-size:20px}.flashcard-navigation{flex-direction:column;gap:12px}.nav-btn,.flip-btn{width:100%;justify-content:center}.flashcard-grid{grid-template-columns:1fr}}:root{--deep-twilight: #0B0053ff;--indigo-ink: #321185ff;--dusty-grape: #50458Eff;--indigo-velvet: #4a21a2;--soft-periwinkle: #8f7fd4;--pale-lavender: #d8d0f5;--sunset-coral: #ff6b6b}.ai-assignment-container{min-height:100vh;background:linear-gradient(135deg,var(--deep-twilight) 0%,var(--indigo-ink) 100%);padding:40px;font-family:Segoe UI,Roboto,Helvetica Neue,sans-serif;color:#333;direction:ltr}.ai-assignment-content{max-width:1200px;margin:0 auto;background:#ffffff;border-radius:30px;box-shadow:0 25px 80px #0006;overflow:hidden;animation:slideIn .6s cubic-bezier(.2,.8,.2,1);direction:ltr}@keyframes slideIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.ai-assignment-header{background:linear-gradient(120deg,var(--indigo-ink),var(--indigo-velvet),var(--dusty-grape));padding:4rem 4rem 3rem;color:#fff;position:relative;overflow:hidden}.ai-assignment-header:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at top right,rgba(143,127,212,.4),transparent 60%);pointer-events:none}.ai-assignment-title{font-size:3.5rem;margin:0;font-weight:800;letter-spacing:-1px;margin-bottom:.8rem;text-shadow:0 4px 12px rgba(0,0,0,.2);position:relative;z-index:1;color:#fff}.ai-assignment-subtitle{font-size:1.4rem;color:#dcd6f7;font-weight:500;display:flex;gap:1rem;align-items:center;position:relative;z-index:1;justify-content:center}.ai-badge{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);padding:8px 20px;border-radius:25px;font-weight:700;border:1px solid rgba(255,255,255,.3);letter-spacing:.5px;font-size:.95rem}.ai-assignment-body{padding:2rem;direction:ltr}.ai-intellisense-banner{background:linear-gradient(135deg,#ffffff 0%,#f8faff 100%);border:1px solid #e0e7ff;border-left:5px solid var(--indigo-velvet);border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;gap:1.5rem;align-items:flex-start;box-shadow:0 4px 15px #3211850d;position:relative;overflow:hidden}.ai-intellisense-banner:after{content:"";position:absolute;top:0;right:0;width:150px;height:150px;background:radial-gradient(circle,rgba(143,127,212,.08),transparent 70%);pointer-events:none}.ai-intellisense-icon{flex-shrink:0}.ai-sparkle{font-size:2.5rem}.ai-intellisense-text h3{margin:0 0 .5rem;color:var(--indigo-ink);font-size:1.2rem;font-weight:700}.ai-intellisense-text p{margin:0;color:#6b7280;font-size:.95rem;line-height:1.5}.form-group{margin-bottom:2rem;direction:ltr}.form-label{display:block;font-weight:700;color:var(--indigo-ink);margin-bottom:.75rem;font-size:1.1rem}.form-input{width:100%;padding:14px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;transition:all .2s;font-family:inherit}.form-input:focus{outline:none;border-color:var(--indigo-velvet);box-shadow:0 0 0 4px #4a21a21a}.rich-text-editor{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s;direction:ltr}.rich-text-editor:focus-within{border-color:var(--indigo-velvet);box-shadow:0 0 0 4px #4a21a21a}.rich-text-toolbar{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px;display:flex;gap:8px;flex-wrap:wrap}.toolbar-btn{background:white;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;cursor:pointer;transition:all .2s;font-size:.95rem;font-weight:600;color:#4b5563}.toolbar-btn:hover{background:var(--pale-lavender);border-color:var(--soft-periwinkle);color:var(--indigo-ink)}.toolbar-divider{width:1px;background:#d1d5db;margin:0 4px}.rich-text-content{padding:16px;min-height:150px;max-height:400px;overflow-y:auto;font-size:1rem;line-height:1.6;color:#1f2937;direction:ltr!important;text-align:left!important;unicode-bidi:normal!important;writing-mode:horizontal-tb!important}.rich-text-content:focus{outline:none}.rich-text-content:empty:before{content:attr(data-placeholder);color:#9ca3af;pointer-events:none}.rich-text-content ul,.rich-text-content ol{padding-left:2rem;margin:.5rem 0}.rich-text-content li{margin:.25rem 0}.rich-text-content strong{font-weight:700}.rich-text-content em{font-style:italic}.rich-text-content u{text-decoration:underline}.learning-objectives-container{display:flex;flex-direction:column;gap:1rem}.objective-input-row{display:flex;gap:.75rem}.add-objective-btn{padding:14px 24px;background:var(--indigo-velvet);color:#fff;border:none;border-radius:12px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.add-objective-btn:hover{background:var(--indigo-ink);transform:translateY(-1px);box-shadow:0 4px 12px #4a21a24d}.learning-objectives-list{display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding:.5rem;background:#f9fafb;border-radius:12px}.learning-objectives-list::-webkit-scrollbar{width:8px}.learning-objectives-list::-webkit-scrollbar-track{background:#e5e7eb;border-radius:4px}.learning-objectives-list::-webkit-scrollbar-thumb{background:var(--soft-periwinkle);border-radius:4px}.objective-item-compact{display:flex;align-items:center;gap:.75rem;background:white;padding:12px 14px;border-radius:10px;border:2px solid #e5e7eb;transition:all .2s}.objective-item-compact:hover{border-color:var(--soft-periwinkle);box-shadow:0 2px 8px #4a21a214}.objective-number-compact{flex-shrink:0;width:28px;height:28px;background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.objective-input-inline{flex:1;border:none;background:transparent;font-size:1rem;color:#1f2937;padding:4px 8px;border-radius:6px;transition:all .2s}.objective-input-inline:focus{outline:none;background:#f0f4ff}.action-btn{flex-shrink:0;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s;background:transparent}.delete-btn{color:#ef4444}.delete-btn:hover{background:#fee2e2;transform:scale(1.1)}.supporting-docs-section{border:2px dashed var(--soft-periwinkle);border-radius:16px;padding:1.5rem;background:linear-gradient(135deg,#fafbff,#f0f4ff)}.file-upload-area{margin-top:1rem}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:white;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;transition:all .2s;color:#6b7280}.file-upload-label:hover{border-color:var(--indigo-velvet);background:#fafbff;color:var(--indigo-ink)}.upload-icon{font-size:3rem;margin-bottom:.5rem}.upload-hint{font-size:.85rem;color:#9ca3af;margin-top:.5rem}.docs-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.doc-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:white;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;position:relative}.doc-item:hover{border-color:var(--soft-periwinkle);box-shadow:0 4px 12px #4a21a21a;transform:translateY(-2px)}.doc-item.active{border-color:var(--indigo-velvet);background:#f0f4ff;box-shadow:0 4px 12px #4a21a226}.doc-icon-wrapper{font-size:2rem;flex-shrink:0}.doc-info{flex:1}.doc-name{font-weight:600;color:var(--indigo-ink);margin-bottom:.25rem}.doc-type{font-size:.85rem;color:#6b7280}.doc-active-indicator{position:absolute;top:10px;right:10px}.active-dot{width:10px;height:10px;background:#10b981;border-radius:50%;animation:pulseDot 1.5s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.doc-remove-btn{flex-shrink:0;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:#ef4444;cursor:pointer;font-size:1.5rem;line-height:1;transition:all .2s}.doc-remove-btn:hover{background:#fee2e2;transform:scale(1.1)}.date-label{display:block;font-size:.9rem;color:#6b7280;margin-bottom:.5rem;font-weight:600}.date-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.form-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-top:2.5rem;padding-top:2rem;border-top:2px solid #f3f4f6}.form-actions-left,.form-actions-right{flex-shrink:0}.generate-ai-btn{padding:16px 48px;background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));color:#fff;border:none;border-radius:16px;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .3s;box-shadow:0 8px 20px #4a21a24d}.generate-ai-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #4a21a266}.view-quiz-btn{padding:16px 48px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:16px;font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .3s;box-shadow:0 8px 20px #3b82f64d}.view-quiz-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #3b82f666}.save-assignment-btn{padding:14px 40px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:16px;font-size:1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s;box-shadow:0 6px 16px #10b9814d}.save-assignment-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 24px #10b98166}.save-assignment-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.6;box-shadow:none}.btn-icon{font-size:1.4rem}.document-viewer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease-out}.document-viewer-container{background:white;border-radius:20px;width:100%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 60px #0006;animation:modalSlideIn .3s cubic-bezier(.175,.885,.32,1.275)}.document-viewer-header{background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));color:#fff;padding:1.25rem 1.5rem;border-radius:20px 20px 0 0;display:flex;justify-content:space-between;align-items:center}.document-viewer-header h3{margin:0;font-size:1.3rem;font-weight:700}.viewer-subtitle{margin:.25rem 0 0;font-size:.9rem;color:#fffc}.close-document-btn{background:rgba(255,255,255,.2);border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1}.close-document-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}.document-viewer-body{flex:1;overflow-y:auto;padding:1.5rem;background:#f9fafb}.document-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#6b7280}.spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:var(--indigo-velvet);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.pdf-viewer-container{display:flex;flex-direction:column;gap:1rem}.pdf-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:white;border-radius:12px;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #00000014}.pdf-zoom-btn{background:var(--indigo-velvet);color:#fff;border:none;width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:1.2rem;transition:all .2s}.pdf-zoom-btn:hover{background:var(--indigo-ink);transform:scale(1.05)}.pdf-zoom-label,.pdf-page-count{font-weight:600;color:var(--indigo-ink)}.pdf-pages-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pdf-page{box-shadow:0 4px 12px #0000001a;border-radius:8px;overflow:hidden;background:white}.docx-viewer-container{background:white;padding:2rem;border-radius:12px;box-shadow:0 2px 8px #00000014}.docx-content{max-width:800px;margin:0 auto;line-height:1.8;color:#1f2937}.image-viewer-wrapper{display:flex;flex-direction:column;gap:1rem}.image-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:white;border-radius:12px;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #00000014}.image-zoom-btn,.image-reset-btn{background:var(--indigo-velvet);color:#fff;border:none;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s}.image-zoom-btn:hover,.image-reset-btn:hover{background:var(--indigo-ink);transform:scale(1.05)}.image-zoom-label{font-weight:600;color:var(--indigo-ink)}.document-image-container{display:flex;justify-content:center;align-items:center;padding:2rem;background:white;border-radius:12px;overflow:auto}.document-image{max-width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a;transition:transform .2s}.generate-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(11,0,83,.4);backdrop-filter:blur(8px);z-index:2100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.generate-modal{background:#ffffff;border-radius:24px;width:100%;max-width:680px;max-height:90vh;overflow:hidden;box-shadow:0 30px 80px #0b00534d,0 0 1px #0b00531a;animation:modalSlideIn .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column}.generate-modal-header{background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink),var(--deep-twilight));color:#fff;padding:1.75rem 2rem;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.generate-modal-header:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(143,127,212,.3),transparent 70%);pointer-events:none}.generate-modal-header h2{margin:0;font-size:1.5rem;font-weight:800;position:relative;z-index:1}.generate-modal-header .close-document-btn{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);position:relative;z-index:1}.generate-modal-header .close-document-btn:hover{background:rgba(255,255,255,.25);transform:rotate(90deg) scale(1.05)}.generate-modal-body{padding:2rem 2rem 1.5rem;overflow-y:auto;flex:1;background:linear-gradient(180deg,#fafbff 0%,#ffffff 100%)}.gen-form-section{margin-bottom:2rem}.gen-form-section:last-child{margin-bottom:0}.gen-form-section .form-label{margin-bottom:1rem;font-size:1.05rem;display:flex;align-items:center;gap:8px;color:var(--deep-twilight)}.gen-form-section .label-icon{font-size:1.2rem}.gen-option-row{display:flex;gap:1rem;flex-wrap:wrap}.gen-radio-card{flex:1;min-width:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;border:2px solid #e5e7eb;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);background:white;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000a}.gen-radio-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--soft-periwinkle),var(--indigo-velvet));opacity:0;transition:opacity .3s;z-index:0}.gen-radio-card input{display:none}.gen-radio-card:has(input:checked):before{opacity:.08}.gen-radio-card:has(input:checked){border-color:var(--indigo-velvet);background:white;box-shadow:0 8px 24px #4a21a233,0 0 0 4px #4a21a21a;transform:translateY(-2px)}.gen-radio-card:hover:not(:has(input:disabled)){border-color:var(--soft-periwinkle);box-shadow:0 4px 16px #4a21a21f;transform:translateY(-2px)}.gen-card-icon{font-size:2.5rem;margin-bottom:.5rem;position:relative;z-index:1}.gen-radio-label{font-weight:700;color:var(--indigo-ink);font-size:1.05rem;position:relative;z-index:1;margin-bottom:4px}.gen-radio-hint{font-size:.8rem;color:#6b7280;text-align:center;position:relative;z-index:1}.gen-radio-small{padding:1rem 1.25rem}.gen-radio-small .gen-radio-label{font-size:.95rem}.answer-choices-section{margin-top:1.5rem;padding:1.25rem;background:#f9fafb;border-radius:12px;border:2px solid #e5e7eb}.answer-choices-label{display:block;font-weight:600;color:var(--indigo-ink);margin-bottom:1rem;font-size:.95rem}.answer-choices-options{display:flex;gap:.75rem;margin-bottom:.75rem}.answer-choice-btn{flex:1;padding:12px 20px;background:white;border:2px solid #e5e7eb;border-radius:10px;font-size:1.2rem;font-weight:700;color:#6b7280;cursor:pointer;transition:all .2s}.answer-choice-btn:hover:not(:disabled){border-color:var(--soft-periwinkle);color:var(--indigo-ink);background:#fafbff;transform:translateY(-2px)}.answer-choice-btn.active{background:var(--indigo-velvet);border-color:var(--indigo-velvet);color:#fff;box-shadow:0 4px 12px #4a21a240}.answer-choice-btn:disabled{opacity:.5;cursor:not-allowed}.answer-choices-hint{font-size:.85rem;color:#6b7280;text-align:center;font-style:italic}.quick-distribution-buttons{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.quick-dist-btn{padding:10px 18px;background:white;border:2px solid #e5e7eb;border-radius:10px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s;white-space:nowrap}.quick-dist-btn:hover:not(:disabled){border-color:var(--soft-periwinkle);color:var(--indigo-ink);background:#f9fafb}.quick-dist-btn.active{background:var(--indigo-velvet);border-color:var(--indigo-velvet);color:#fff;box-shadow:0 4px 12px #4a21a240}.quick-dist-btn:disabled{opacity:.5;cursor:not-allowed}.difficulty-cards-container{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:0}.difficulty-card{background:white;border:2px solid #e5e7eb;border-radius:16px;padding:1.25rem;transition:all .3s;box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.difficulty-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:all .3s}.difficulty-card.easy-card:before{background:linear-gradient(90deg,#10b981,#34d399)}.difficulty-card.medium-card:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.difficulty-card.hard-card:before{background:linear-gradient(90deg,#ef4444,#f87171)}.difficulty-card:hover{border-color:#d1d5db;box-shadow:0 8px 20px #00000014;transform:translateY(-2px)}.difficulty-card-header{display:flex;align-items:center;gap:10px;margin-bottom:1rem}.difficulty-indicator{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #00000014}.difficulty-indicator.easy{background:#10b981}.difficulty-indicator.medium{background:#f59e0b}.difficulty-indicator.hard{background:#ef4444}.difficulty-card-title{font-weight:700;font-size:1rem;color:#1f2937;text-transform:uppercase;letter-spacing:.5px}.difficulty-card-body{display:flex;align-items:baseline;gap:8px;margin-bottom:1rem}.difficulty-input{width:100%;max-width:80px;padding:10px 12px;border:2px solid #e5e7eb;border-radius:10px;font-size:1.5rem;font-weight:700;text-align:center;color:var(--indigo-ink);background:#f9fafb;transition:all .2s}.difficulty-input:focus{outline:none;border-color:var(--indigo-velvet);background:white;box-shadow:0 0 0 4px #4a21a21a}.difficulty-input:hover:not(:disabled){border-color:#d1d5db;background:white}.difficulty-unit{font-size:.8rem;color:#6b7280;font-weight:500}.difficulty-progress-bar{width:100%;height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:.75rem}.difficulty-progress-fill{height:100%;transition:width .3s ease;border-radius:3px}.difficulty-progress-fill.easy-fill{background:linear-gradient(90deg,#10b981,#34d399)}.difficulty-progress-fill.medium-fill{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.difficulty-progress-fill.hard-fill{background:linear-gradient(90deg,#ef4444,#f87171)}.difficulty-percentage{font-size:.85rem;font-weight:700;color:#6b7280;text-align:center}.difficulty-total-summary{margin-top:1.5rem;padding:2rem 2.5rem;background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));border-radius:20px;box-shadow:0 8px 24px #4a21a24d;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:2rem}.difficulty-total-summary:before{content:"";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.12),transparent 70%);pointer-events:none}.total-left{flex:1;display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.total-label{font-size:1.1rem;color:#fff;font-weight:700;letter-spacing:.5px;line-height:1.3}.total-limit{font-size:.85rem;color:#fffc;font-weight:500}.total-right{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.15);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem 2.5rem;min-width:140px;position:relative;z-index:1;border:2px solid rgba(255,255,255,.2)}.total-number{font-size:4rem;font-weight:800;color:#fff;line-height:1;text-shadow:0 4px 16px rgba(0,0,0,.25)}.generate-modal-footer{padding:1.5rem 2rem;background:linear-gradient(180deg,#fafbff,#f9fafb);border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:1rem}.gen-modal-cancel{padding:12px 24px;border:2px solid #e5e7eb;background:white;color:#6b7280;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.gen-modal-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#4b5563;transform:translateY(-1px)}.gen-modal-cancel:active:not(:disabled){transform:translateY(0)}.gen-modal-cancel:disabled,.gen-modal-generate:disabled{opacity:.6;cursor:not-allowed}.gen-modal-generate{padding:14px 32px;background:linear-gradient(135deg,var(--indigo-velvet),var(--indigo-ink));color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 8px 20px #4a21a259;position:relative;overflow:hidden}.gen-modal-generate:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .6s,height .6s}.gen-modal-generate:hover:not(:disabled):before{width:300px;height:300px}.gen-modal-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #4a21a273}.gen-modal-generate:active:not(:disabled){transform:translateY(0)}.gen-modal-generate .generate-icon,.gen-modal-generate .spinner-icon{font-size:1.2rem;position:relative;z-index:1}.gen-modal-generate span{position:relative;z-index:1}@media (max-width: 768px){.ai-assignment-container{padding:10px}.ai-assignment-header{padding:2.5rem 2rem}.ai-assignment-title{font-size:2.2rem}.ai-assignment-subtitle{font-size:.95rem}.ai-assignment-body{padding:1.5rem}.ai-intellisense-banner{flex-direction:column;text-align:center}.date-row{grid-template-columns:1fr}.generate-ai-btn{padding:14px 30px;font-size:1rem}.rich-text-toolbar{flex-wrap:wrap;gap:6px}.objective-item-compact{padding:10px 12px}.action-btn{width:28px;height:28px;font-size:.9rem}.difficulty-cards-container{grid-template-columns:1fr;gap:.75rem}.quick-distribution-buttons{gap:.5rem}.quick-dist-btn{padding:9px 14px;font-size:.85rem}.difficulty-total-summary{flex-direction:column;text-align:center;padding:1.5rem;gap:1rem}.total-left{align-items:center}.total-number{font-size:3rem}.gen-option-row{flex-direction:column}.gen-radio-card{min-width:100%}.answer-choices-options{gap:.5rem}.answer-choice-btn{padding:10px 16px;font-size:1.1rem}.questions-view-container{max-width:95%}.questions-view-header{padding:1.5rem}.questions-view-header h2{font-size:1.4rem}.questions-view-body{padding:1rem}.questions-toolbar{flex-direction:column;gap:1rem;align-items:stretch}.questions-summary{flex-wrap:wrap;justify-content:center}.questions-total{text-align:center}.add-question-btn-bottom{width:100%;padding:14px 24px}.option-row{flex-wrap:wrap}.option-input{width:100%}.preview-quiz-container{max-width:95%}.preview-quiz-header{padding:1.5rem}.preview-quiz-header h2{font-size:1.4rem}.preview-quiz-body,.preview-question-card{padding:1rem}.preview-question-text{font-size:1rem}}@media (max-width: 480px){.ai-assignment-title{font-size:1.6rem}.ai-assignment-subtitle span{font-size:.85rem;padding:3px 10px}.form-label{font-size:1rem}.rich-text-toolbar{padding:8px}.toolbar-btn{width:32px;height:32px}.form-actions{flex-direction:column;gap:1rem}.form-actions-left,.form-actions-right{width:100%}.generate-ai-btn,.view-quiz-btn,.save-assignment-btn{width:100%;justify-content:center;font-size:.9rem}.objective-input-inline{font-size:.9rem}.objective-number-compact{width:24px;height:24px;font-size:.75rem}}.questions-view-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at center,rgba(74,33,162,.15),rgba(11,0,83,.6));backdrop-filter:blur(12px);z-index:2200;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.questions-view-container{background:linear-gradient(135deg,#ffffff 0%,#fafbff 100%);border-radius:32px;width:100%;max-width:1200px;max-height:95vh;overflow:hidden;box-shadow:0 40px 100px #4a21a240,0 0 0 1px #ffffff1a,inset 0 1px #fffc;animation:modalSlideIn .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column}.questions-view-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#4a21a2 100%);color:#fff;padding:2.5rem 3rem;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.questions-view-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 50%,rgba(255,255,255,.15) 0%,transparent 60%);pointer-events:none}.questions-view-header>div{position:relative;z-index:1}.questions-view-header .close-document-btn{background:rgba(255,255,255,.2);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);width:40px;height:40px;position:relative;z-index:1}.questions-view-header .close-document-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg) scale(1.1);box-shadow:0 4px 12px #00000026}.questions-view-header h2{margin:0 0 .5rem;font-size:2rem;font-weight:800;letter-spacing:-.5px;text-shadow:0 2px 10px rgba(0,0,0,.2)}.questions-subtitle{margin:0;font-size:1rem;color:#ffffffe6;font-weight:500}.questions-view-body{flex:1;overflow-y:auto;padding:2.5rem;background:linear-gradient(180deg,#f8f9ff 0%,#ffffff 50%,#fafbff 100%);position:relative}.questions-view-body:before{content:"";position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(180deg,rgba(102,126,234,.03) 0%,transparent 100%);pointer-events:none}.questions-view-body::-webkit-scrollbar{width:10px}.questions-view-body::-webkit-scrollbar-track{background:rgba(102,126,234,.05);border-radius:10px}.questions-view-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea 0%,#764ba2 100%);border-radius:10px;border:2px solid rgba(255,255,255,.2)}.questions-view-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#764ba2 0%,#667eea 100%)}.questions-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.25rem 1.75rem;background:linear-gradient(135deg,#ffffff 0%,#f8f9ff 100%);border-radius:16px;box-shadow:0 4px 20px #667eea14,0 0 0 1px #667eea1a;border:1px solid rgba(102,126,234,.1)}.questions-summary{display:flex;gap:.75rem;align-items:center;font-size:.95rem;font-weight:600;color:#4a21a2}.summary-item{display:flex;align-items:center;gap:.5rem}.summary-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor}.summary-dot.easy{background:#10b981;color:#10b981}.summary-dot.medium{background:#f59e0b;color:#f59e0b}.summary-dot.hard{background:#ef4444;color:#ef4444}.summary-divider{color:#667eea4d;font-weight:400}.questions-total{font-size:1rem;font-weight:700;color:#667eea;padding:8px 20px;background:linear-gradient(135deg,rgba(102,126,234,.15) 0%,rgba(118,75,162,.15) 100%);border-radius:12px;border:1px solid rgba(102,126,234,.2)}.add-question-container{display:flex;justify-content:center;margin-top:2rem;padding-top:1.5rem}.add-question-btn-bottom{padding:16px 48px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:16px;font-weight:700;font-size:1.05rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #667eea4d;position:relative;overflow:hidden;display:flex;align-items:center;gap:12px}.add-question-btn-bottom .add-icon{font-size:1.5rem;font-weight:300;line-height:1}.add-question-btn-bottom:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.add-question-btn-bottom:hover:before{left:100%}.add-question-btn-bottom:hover{transform:translateY(-2px);box-shadow:0 12px 32px #667eea66}.questions-list{display:flex;flex-direction:column;gap:1.25rem}.questions-list .question-card{animation:questionSlideIn .4s cubic-bezier(.4,0,.2,1) backwards}.questions-list .question-card:nth-child(1){animation-delay:.05s}.questions-list .question-card:nth-child(2){animation-delay:.1s}.questions-list .question-card:nth-child(3){animation-delay:.15s}.questions-list .question-card:nth-child(4){animation-delay:.2s}.questions-list .question-card:nth-child(5){animation-delay:.25s}.questions-list .question-card:nth-child(n+6){animation-delay:.3s}@keyframes questionSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.question-card{background:linear-gradient(135deg,#ffffff 0%,#fefeff 100%);border-radius:20px;padding:1.5rem;box-shadow:0 8px 24px #0000000f,0 0 0 1px #667eea14;border-left:5px solid #d1d5db;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.question-card:before{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:radial-gradient(circle,rgba(102,126,234,.05) 0%,transparent 70%);border-radius:50%;transform:translate(30%,-30%);pointer-events:none}.question-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px #667eea1f,0 0 0 1px #667eea26}.question-card.easy-difficulty{border-left-color:#10b981;background:linear-gradient(135deg,#ffffff 0%,#f0fdf9 100%)}.question-card.easy-difficulty:before{background:radial-gradient(circle,rgba(16,185,129,.08) 0%,transparent 70%)}.question-card.medium-difficulty{border-left-color:#f59e0b;background:linear-gradient(135deg,#ffffff 0%,#fffbf0 100%)}.question-card.medium-difficulty:before{background:radial-gradient(circle,rgba(245,158,11,.08) 0%,transparent 70%)}.question-card.hard-difficulty{border-left-color:#ef4444;background:linear-gradient(135deg,#ffffff 0%,#fef5f5 100%)}.question-card.hard-difficulty:before{background:radial-gradient(circle,rgba(239,68,68,.08) 0%,transparent 70%)}.question-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid rgba(102,126,234,.1);position:relative;z-index:1}.question-left-controls{display:flex;align-items:center;gap:1rem}.question-right-controls{display:flex;align-items:center;gap:.75rem;margin-left:auto}.question-number{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;flex-shrink:0;box-shadow:0 4px 12px #667eea4d,inset 0 -2px #00000026;position:relative}.question-number:before{content:"";position:absolute;top:2px;left:2px;right:2px;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3),transparent);border-radius:12px 12px 0 0}.question-reorder-btns{display:flex;gap:6px;background:rgba(102,126,234,.08);padding:4px;border-radius:10px;border:1px solid rgba(102,126,234,.15)}.reorder-btn{width:36px;height:36px;padding:0;background:linear-gradient(135deg,#ffffff 0%,#f8f9ff 100%);border:2px solid rgba(102,126,234,.2);border-radius:8px;color:#667eea;font-size:.9rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #667eea1a}.reorder-btn span{display:block;line-height:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1)}.reorder-btn.reorder-up:hover:not(:disabled) span{transform:translateY(-3px)}.reorder-btn.reorder-down:hover:not(:disabled) span{transform:translateY(3px)}.reorder-btn:hover:not(:disabled){background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border-color:transparent;transform:scale(1.05);box-shadow:0 4px 12px #667eea59}.reorder-btn:active:not(:disabled){transform:scale(.95)}.reorder-btn:disabled{opacity:.25;cursor:not-allowed;background:#fafbff;border-color:#667eea1a;color:#c7cce0;box-shadow:none}.difficulty-select{padding:8px 14px;border:2px solid rgba(102,126,234,.2);border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#ffffff 0%,#f8f9ff 100%);color:#4a21a2}.difficulty-select:hover{border-color:#667eea;background:#ffffff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea26}.difficulty-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26}.question-type-badge{padding:6px 14px;background:linear-gradient(135deg,rgba(102,126,234,.15) 0%,rgba(118,75,162,.15) 100%);color:#4a21a2;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;border:1px solid rgba(102,126,234,.2)}.delete-question-btn{margin-left:auto;background:linear-gradient(135deg,#ffffff 0%,#fef5f5 100%);border:1px solid rgba(239,68,68,.2);font-size:1.3rem;cursor:pointer;padding:8px 12px;border-radius:10px;transition:all .3s cubic-bezier(.4,0,.2,1);color:#ef4444}.delete-question-btn:hover{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);transform:translateY(-1px);box-shadow:0 4px 12px #ef444433;border-color:#ef44444d}.question-body{display:flex;flex-direction:column;gap:.75rem}.question-label{font-weight:700;color:var(--indigo-ink);font-size:.85rem;margin-bottom:.35rem;display:block}.question-textarea,.explanation-textarea{width:100%;padding:12px 16px;border:2px solid rgba(102,126,234,.15);border-radius:12px;font-size:.95rem;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);resize:vertical;background:linear-gradient(135deg,#ffffff 0%,#fafbff 100%);color:#1f2937}.question-textarea:hover,.explanation-textarea:hover{border-color:#667eea4d;background:#ffffff}.question-textarea:focus,.explanation-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea26;background:#ffffff}.options-section{background:linear-gradient(135deg,rgba(102,126,234,.05) 0%,rgba(118,75,162,.05) 100%);padding:1rem;border-radius:14px;border:2px solid rgba(102,126,234,.15);backdrop-filter:blur(10px)}.options-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.add-option-btn{padding:6px 14px;background:linear-gradient(135deg,#ffffff 0%,#f8f9ff 100%);border:2px solid #667eea;color:#667eea;border-radius:8px;font-weight:700;font-size:.8rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #667eea1a}.add-option-btn:hover{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.option-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:10px 12px;background:white;border-radius:10px;border:1px solid rgba(102,126,234,.1);transition:all .2s}.option-row:hover{border-color:#667eea33;box-shadow:0 2px 8px #667eea14}.correct-radio{width:22px;height:22px;cursor:pointer;accent-color:#667eea;transition:all .2s}.correct-radio:hover{transform:scale(1.1)}.option-label{font-weight:700;color:#4a21a2;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(102,126,234,.1) 0%,rgba(118,75,162,.1) 100%);border-radius:6px;border:1px solid rgba(102,126,234,.2);font-size:.85rem}.option-input{flex:1;padding:10px 14px;border:2px solid rgba(102,126,234,.15);border-radius:8px;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#ffffff 0%,#fafbff 100%)}.option-input:hover{border-color:#667eea4d}.option-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#ffffff}.remove-option-btn{background:transparent;border:none;color:#ef4444;font-size:1.5rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s;line-height:1}.remove-option-btn:hover{background:#fee2e2}.correct-answer-hint{font-size:.8rem;color:#6b7280;font-style:italic;margin-top:.35rem}.questions-view-footer{padding:1.75rem 2.5rem;background:linear-gradient(135deg,#fafbff 0%,#f0f3ff 100%);border-top:2px solid rgba(102,126,234,.15);display:flex;justify-content:flex-end;gap:1rem;backdrop-filter:blur(10px)}.questions-cancel-btn{padding:12px 32px;border:2px solid rgba(102,126,234,.2);background:white;color:#6b7280;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.questions-cancel-btn:hover{background:#f3f4f6;border-color:#667eea4d;color:#4b5563;transform:translateY(-1px)}.questions-preview-btn{padding:12px 32px;border:2px solid transparent;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);color:#fff;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #3b82f64d}.questions-preview-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3b82f666}.questions-save-btn{padding:14px 40px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 20px #667eea59;position:relative;overflow:hidden}.questions-save-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.questions-save-btn:hover:before{left:100%}.questions-save-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #667eea73}.preview-quiz-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(11,0,83,.4);backdrop-filter:blur(8px);z-index:2300;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.preview-quiz-container{background:#ffffff;border-radius:24px;width:100%;max-width:900px;max-height:95vh;overflow:hidden;box-shadow:0 30px 80px #0b00534d;animation:modalSlideIn .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column}.preview-quiz-header{background:linear-gradient(135deg,#3b82f6,#2563eb,#1d4ed8);color:#fff;padding:2rem 2.5rem;display:flex;justify-content:space-between;align-items:center}.preview-quiz-header h2{margin:0 0 .5rem;font-size:1.8rem;font-weight:800}.preview-subtitle{margin:0;font-size:1rem;color:#ffffffd9}.preview-quiz-body{flex:1;overflow-y:auto;padding:2rem;background:linear-gradient(180deg,#fafbff 0%,#ffffff 100%)}.preview-question-card{background:white;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #00000014;border-left:4px solid #d1d5db}.preview-question-card.easy-difficulty{border-left-color:#10b981}.preview-question-card.medium-difficulty{border-left-color:#f59e0b}.preview-question-card.hard-difficulty{border-left-color:#ef4444}.preview-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid #f3f4f6}.preview-question-number{font-weight:700;font-size:1.1rem;color:var(--indigo-ink)}.preview-difficulty-badge{padding:5px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase}.preview-difficulty-badge.easy{background:#d1fae5;color:#065f46}.preview-difficulty-badge.medium{background:#fed7aa;color:#92400e}.preview-difficulty-badge.hard{background:#fecaca;color:#991b1b}.preview-question-text{font-size:1.1rem;line-height:1.6;color:#1f2937;margin-bottom:1.5rem;font-weight:500}.preview-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.preview-option{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;transition:all .2s}.preview-option.correct-option{background:#d1fae5;border-color:#10b981}.preview-option-label{width:32px;height:32px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--indigo-ink);border:2px solid #d1d5db;flex-shrink:0}.correct-option .preview-option-label{background:#10b981;color:#fff;border-color:#10b981}.preview-option-text{flex:1;font-size:1rem;color:#374151}.correct-indicator{color:#10b981;font-weight:700;font-size:.9rem}.preview-essay-area{margin-bottom:1.5rem}.preview-essay-area textarea{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;font-family:inherit;background:#f9fafb;color:#9ca3af;resize:none}.preview-explanation{background:#eff6ff;padding:1rem;border-radius:10px;border-left:4px solid #3b82f6}.preview-explanation strong{color:#1e40af;font-size:.9rem;display:block;margin-bottom:.5rem}.preview-explanation p{margin:0;color:#1f2937;line-height:1.5}.preview-quiz-footer{padding:1.5rem 2.5rem;background:linear-gradient(180deg,#fafbff,#f9fafb);border-top:2px solid #e5e7eb;display:flex;justify-content:center}.preview-close-btn{padding:12px 40px;background:white;border:2px solid #3b82f6;color:#3b82f6;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.preview-close-btn:hover{background:#3b82f6;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.pptx-generator-container{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:2rem;display:flex;align-items:center;justify-content:center}.pptx-generator-card{background:white;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:100%;padding:3rem;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.header{text-align:center;margin-bottom:3rem}.header h1{font-size:2.5rem;color:#2d3748;margin-bottom:.5rem;font-weight:700}.header p{color:#718096;font-size:1.1rem}.form-section{display:flex;flex-direction:column;gap:2rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-group label{font-size:1rem;font-weight:600;color:#2d3748}.input-field{padding:1rem;font-size:1rem;border:2px solid #e2e8f0;border-radius:10px;transition:all .3s ease;outline:none}.input-field:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.upload-container{position:relative}.file-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.upload-display{border:3px dashed #cbd5e0;border-radius:10px;padding:2rem;text-align:center;background:#f7fafc;transition:all .3s ease;min-height:150px;display:flex;align-items:center;justify-content:center}.upload-display:hover{border-color:#667eea;background:#edf2f7}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-icon{font-size:3rem}.upload-placeholder p{margin:0;color:#4a5568;font-size:1rem}.upload-hint{font-size:.875rem!important;color:#a0aec0!important}.file-info{display:flex;align-items:center;gap:1rem;background:white;padding:1rem;border-radius:8px;width:100%}.file-icon{font-size:2rem}.file-details{flex:1;text-align:left}.file-name{font-weight:600;color:#2d3748;font-size:1rem}.file-size{color:#718096;font-size:.875rem;margin-top:.25rem}.remove-file-btn{background:#feb2b2;color:#c53030;border:none;border-radius:50%;width:30px;height:30px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-file-btn:hover{background:#fc8181;transform:scale(1.1)}.error-message{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.5rem;font-weight:500}.error-icon{font-size:1.25rem}.action-section{margin-top:1rem}.btn{padding:1rem 2rem;font-size:1.1rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-generate{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;width:100%;padding:1.25rem 2rem;font-size:1.2rem}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea66}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#667eea;color:#fff}.btn-primary:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-secondary{background:#e2e8f0;color:#2d3748}.btn-secondary:hover{background:#cbd5e0;transform:translateY(-2px)}.spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.results-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid #e2e8f0}.results-header h1{font-size:2rem;color:#2d3748;margin-bottom:.5rem}.assignment-title-display{font-size:1.25rem;color:#667eea;font-weight:600}.questions-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;max-height:600px;overflow-y:auto;padding-right:.5rem}.questions-list::-webkit-scrollbar{width:8px}.questions-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.questions-list::-webkit-scrollbar-thumb{background:#667eea;border-radius:10px}.question-card{background:#f7fafc;padding:1.5rem;border-radius:12px;border-left:4px solid #667eea;transition:all .3s ease}.question-card:hover{box-shadow:0 4px 12px #0000001a;transform:translate(4px)}.question-number{font-size:.875rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#7c3aed,#6d28d9);display:inline-block;padding:4px 12px;border-radius:12px;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.question-text{font-size:1.1rem;color:#2d3748;font-weight:600;margin-bottom:1rem;line-height:1.6}.answer-choices{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.choice-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:white;border-radius:8px;border:1px solid #e2e8f0;transition:all .2s ease}.choice-item:hover{border-color:#667eea;background:#edf2f7}.choice-letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#667eea;color:#fff;border-radius:50%;font-weight:600;font-size:.875rem;flex-shrink:0}.choice-text{color:#4a5568;line-height:1.5;flex:1}.correct-answer{padding:.75rem;background:#c6f6d5;border-radius:8px;color:#22543d;font-size:.95rem;margin-bottom:.5rem}.explanation{padding:.75rem;background:#bee3f8;border-radius:8px;color:#2c5282;font-size:.95rem;line-height:1.6}.no-questions{text-align:center;padding:3rem;color:#718096}.results-actions{display:flex;gap:1rem;justify-content:center;padding-top:2rem;border-top:2px solid #e2e8f0}.extracting-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#e6fffa;border-radius:8px;color:#234e52;font-weight:500}.extracted-videos-section{background:#f7fafc;padding:1.5rem;border-radius:12px;border:2px solid #e2e8f0}.extracted-videos-section h3{margin:0 0 1.5rem;color:#2d3748;font-size:1.25rem;display:flex;align-items:center;gap:.5rem}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.video-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.video-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-4px)}.video-preview{width:100%;aspect-ratio:16/9;background:#000;position:relative}.video-player{width:100%;height:100%;object-fit:contain}.video-info{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.video-name{font-weight:600;color:#2d3748;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-size{color:#718096;font-size:.875rem}.btn-download-video{background:#48bb78;color:#fff;padding:.625rem 1rem;font-size:.9rem;margin-top:.5rem}.btn-download-video:hover{background:#38a169;transform:translateY(-2px)}@media (max-width: 768px){.pptx-generator-container{padding:1rem}.pptx-generator-card{padding:2rem 1.5rem}.header h1{font-size:2rem}.header p{font-size:1rem}.results-actions{flex-direction:column}.results-actions .btn{width:100%}.videos-grid{grid-template-columns:1fr}}.hsm-container{min-height:100vh;background:linear-gradient(135deg,#010440 0%,#3E21A6 100%);padding:2rem;display:flex;align-items:flex-start;justify-content:center}.hsm-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:100%;padding:2.5rem;animation:hsmFadeUp .35s ease-out;margin-top:1.5rem}.hsm-card-wide{max-width:1200px}@keyframes hsmFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hsm-header{text-align:center;margin-bottom:1.5rem;position:relative}.hsm-header h1{font-size:2rem;color:#1a1a2e;margin:.4rem 0 .2rem;font-weight:700}.hsm-header p{color:#6b7280;font-size:.95rem;margin:0}.hsm-back-link{position:absolute;left:0;top:0;color:#3e21a6;text-decoration:none;font-weight:600;font-size:.85rem;transition:color .2s}.hsm-back-link:hover{color:#010440}.hsm-editable-title{cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.hsm-edit-hint{font-size:.85rem;opacity:0;transition:opacity .2s}.hsm-editable-title:hover .hsm-edit-hint{opacity:.6}.hsm-name-editor{display:flex;align-items:center;gap:.5rem;justify-content:center;margin:.5rem 0}.hsm-name-editor .hsm-input{max-width:280px;font-size:1.05rem}.hsm-btn{padding:.7rem 1.4rem;font-size:.95rem;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-family:inherit;text-decoration:none}.hsm-btn-primary{background:linear-gradient(135deg,#3E21A6,#8F84D9);color:#fff}.hsm-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 18px #3e21a64d}.hsm-btn-ghost{background:transparent;color:#6b7280;border:2px solid #e5e7eb}.hsm-btn-ghost:hover{background:#f3f4f6}.hsm-btn-danger{background:#fee2e2;color:#dc2626}.hsm-btn-danger:hover{background:#fca5a5;color:#991b1b}.hsm-btn-lg{padding:.9rem 2rem;font-size:1.1rem}.hsm-btn-sm{padding:.4rem .9rem;font-size:.82rem}.hsm-btn-block{width:100%}.hsm-input{padding:.65rem .9rem;font-size:.95rem;border:2px solid #e5e7eb;border-radius:10px;outline:none;transition:all .2s ease;width:100%;box-sizing:border-box;font-family:inherit}.hsm-input:focus{border-color:#8f84d9;box-shadow:0 0 0 3px #8f84d926}.hsm-input-sm{padding:.45rem .7rem;font-size:.85rem}.hsm-form-group{display:flex;flex-direction:column;gap:.4rem}.hsm-form-group label{font-weight:600;color:#374151;font-size:.9rem}.hsm-form-row{display:flex;gap:1rem}.hsm-form-row .hsm-form-group{flex:1}.hsm-form-actions{display:flex;gap:.6rem;margin-top:.5rem}.hsm-create-form{background:#f9fafb;border:2px solid #e5e7eb;border-radius:16px;padding:1.75rem;display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem}.hsm-create-form h2{margin:0;font-size:1.25rem;color:#1a1a2e}.hsm-tpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.65rem}.hsm-tpl-grid-sm{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.hsm-tpl-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .5rem;border:2px solid #e5e7eb;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;font-family:inherit}.hsm-tpl-card:hover{border-color:#8f84d9;background:#faf9ff}.hsm-tpl-active{border-color:#3e21a6!important;background:#ede9fe!important;box-shadow:0 0 0 3px #3e21a626}.hsm-tpl-card-sm{padding:.6rem .4rem}.hsm-tpl-icon{font-size:1.6rem;line-height:1}.hsm-tpl-card-sm .hsm-tpl-icon{font-size:1.3rem}.hsm-tpl-name{font-weight:600;font-size:.8rem;color:#374151}.hsm-tpl-desc{font-size:.7rem;color:#9ca3af}.hsm-tpl-panel{background:#fefce8;border:2px solid #fde68a;border-radius:12px;padding:1.25rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.hsm-tpl-warn{margin:0;font-size:.85rem;color:#92400e;font-weight:500}.hsm-tpl-params{margin-top:.25rem}.hsm-halls-list{margin-top:2rem}.hsm-halls-list h2{font-size:1.2rem;color:#1a1a2e;margin:0 0 .75rem}.hsm-hall-item{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:.6rem;transition:all .2s}.hsm-hall-item:hover{border-color:#8f84d9;box-shadow:0 3px 10px #8f84d91a}.hsm-hall-info h3{margin:0 0 .2rem;font-size:1.05rem;color:#1a1a2e}.hsm-hall-info p{margin:0;color:#6b7280;font-size:.85rem}.hsm-hall-date{font-size:.75rem!important;color:#9ca3af!important}.hsm-hall-actions{display:flex;gap:.4rem;flex-shrink:0}.hsm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:1rem}.hsm-tool-group{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.hsm-tool-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .85rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;font-size:.82rem;font-weight:600;color:#374151;transition:all .15s ease;font-family:inherit}.hsm-tool-btn:hover{border-color:#8f84d9;background:#faf9ff}.hsm-tool-active{border-color:#3e21a6!important;background:#ede9fe!important;color:#3e21a6!important;box-shadow:0 0 0 2px #3e21a61f}.hsm-tool-divider{width:1px;height:28px;background:#d1d5db;margin:0 .3rem}.hsm-toolbar-stats{display:flex;gap:.9rem}.hsm-tstat{font-size:.82rem;font-weight:700;color:#6b7280}.hsm-tstat-green{color:#059669}.hsm-tstat-blue{color:#3e21a6}.hsm-share-section{padding:1rem 1.25rem;background:linear-gradient(135deg,#ede9fe,#e0e7ff);border-radius:12px;margin-bottom:1rem}.hsm-share-section h3{margin:0 0 .6rem;font-size:.95rem;color:#3e21a6;font-weight:700}.hsm-share-row{display:flex;gap:.5rem}.hsm-share-input{flex:1;background:#fff;font-size:.8rem;color:#374151}.hsm-canvas-wrap{margin:1rem 0;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;position:relative}.hsm-board-label{text-align:center;padding:.6rem;background:linear-gradient(135deg,#1a1a2e,#3E21A6);color:#fff;font-weight:700;font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase}.hsm-canvas-scroll{overflow:auto;max-height:65vh;background:#f9fafb;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px}.hsm-canvas{position:relative;min-width:100%;min-height:400px;background-image:radial-gradient(circle,#d1d5db 1px,transparent 1px);background-size:20px 20px;background-color:#f9fafb;transition:background-color .15s}.hsm-canvas-select{cursor:default}.hsm-canvas-add{cursor:crosshair;background-color:#f0fdf4}.hsm-canvas-erase{cursor:default;background-color:#fef2f2}.hsm-canvas-student{cursor:default}.hsm-canvas-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#9ca3af;font-size:1rem;font-weight:500;text-align:center;pointer-events:none;max-width:320px;line-height:1.6}.hsm-seat{position:absolute;border:2px solid #c9cdd4;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s,box-shadow .15s;overflow:visible;user-select:none;z-index:1}.hsm-seat:hover{z-index:50}.hsm-canvas-select .hsm-seat{cursor:grab}.hsm-canvas-select .hsm-seat:active,.hsm-seat-dragging{cursor:grabbing!important;z-index:100!important;box-shadow:0 8px 24px #0000002e!important;opacity:.9}.hsm-canvas-add .hsm-seat{cursor:default;pointer-events:none;opacity:.6}.hsm-seat-erasable{cursor:pointer!important;pointer-events:auto!important;opacity:1!important}.hsm-seat-erasable:hover{border-color:#ef4444!important;background:#fee2e2!important;box-shadow:0 0 0 3px #ef444433}.hsm-canvas-select .hsm-seat:hover:not(.hsm-seat-dragging){border-color:#8f84d9;background:#faf9ff;box-shadow:0 2px 8px #8f84d926;z-index:2}.hsm-seat-selected{border-color:#7c3aed!important;background:linear-gradient(135deg,#ede9fe,#ddd6fe)!important;box-shadow:0 0 0 3px #7c3aed33!important;z-index:10!important}.hsm-seat-occupied{background:linear-gradient(135deg,#d1fae5,#a7f3d0)!important;border-color:#34d399!important}.hsm-canvas-select .hsm-seat-occupied{cursor:default}.hsm-canvas-select .hsm-seat-occupied:hover{background:linear-gradient(135deg,#bbf7d0,#86efac)!important}.hsm-seat-student-mode{transition:all .2s ease}.hsm-seat-student-mode:not(.hsm-seat-taken){cursor:pointer}.hsm-seat-student-mode:not(.hsm-seat-taken):hover{border-color:#8f84d9;background:#ede9fe;transform:scale(1.08);z-index:5;box-shadow:0 4px 12px #8f84d933}.hsm-seat-student-mode.hsm-seat-selected{background:linear-gradient(135deg,#c4b5fd,#a78bfa)!important;border-color:#7c3aed!important;box-shadow:0 0 0 3px #7c3aed40!important;transform:scale(1.1);z-index:10}.hsm-seat-student-mode.hsm-seat-selected .hsm-seat-id{color:#fff;font-weight:700}.hsm-seat-taken{cursor:not-allowed!important;opacity:.75}.hsm-seat-content{display:flex;flex-direction:column;align-items:center;gap:1px;width:100%;padding:1px 3px;overflow:hidden}.hsm-seat-id{font-size:.7rem;font-weight:600;color:#6b7280;text-align:center}.hsm-seat-student-name{font-size:.58rem;font-weight:700;color:#065f46;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.15}.hsm-seat-taken-icon{font-size:.9rem;line-height:1}.hsm-seat-remove{position:absolute;top:0px;right:0px;width:16px;height:16px;border:none;background:#fca5a5;color:#991b1b;border-radius:50%;font-size:.7rem;cursor:pointer;display:none;align-items:center;justify-content:center;line-height:1;font-family:inherit;padding:0;z-index:20}.hsm-seat-occupied:hover .hsm-seat-remove{display:flex}.hsm-seat-remove:hover{background:#f87171}.hsm-seat-label-input{width:90%;border:none;border-bottom:2px solid #3E21A6;background:transparent;text-align:center;font-size:.72rem;font-weight:700;color:#1a1a2e;outline:none;padding:2px;font-family:inherit}.hsm-legend{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap;margin:.75rem 0}.hsm-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#6b7280}.hsm-legend-swatch{width:16px;height:16px;border-radius:4px;border:2px solid}.hsm-sw-available{background:#fff;border-color:#c9cdd4}.hsm-sw-occupied{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#34d399}.hsm-sw-selected{background:linear-gradient(135deg,#c4b5fd,#a78bfa);border-color:#7c3aed}.hsm-hint{text-align:center;font-size:.8rem;color:#9ca3af;margin:.25rem 0 .75rem}.hsm-bottom-actions{text-align:center;margin:.75rem 0}.hsm-student-list{margin-top:1.25rem;padding-top:1.25rem;border-top:2px solid #e5e7eb}.hsm-student-list h3{margin:0 0 .75rem;font-size:1.05rem;color:#1a1a2e}.hsm-student-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.4rem}.hsm-student-list-item{display:flex;align-items:center;gap:.65rem;padding:.55rem .85rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.hsm-student-list-seat{background:linear-gradient(135deg,#3E21A6,#8F84D9);color:#fff;font-weight:700;font-size:.75rem;padding:.15rem .55rem;border-radius:6px;min-width:28px;text-align:center}.hsm-student-list-name{color:#374151;font-weight:500;font-size:.85rem}.hsm-student-input-section{max-width:380px;margin:0 auto 1.25rem}.hsm-error{background:#fee2e2;color:#dc2626;padding:.65rem 1rem;border-radius:10px;font-weight:600;text-align:center;margin-bottom:1rem;font-size:.88rem}.hsm-confirm-bar{text-align:center;padding:1.25rem;background:linear-gradient(135deg,#ede9fe,#e0e7ff);border-radius:14px;margin-top:.75rem}.hsm-confirm-bar p{margin:0 0 .85rem;color:#3e21a6;font-size:1.05rem}.hsm-success-card{text-align:center;padding:2.5rem 2rem}.hsm-success-check{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#34d399,#059669);color:#fff;font-size:2.2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;box-shadow:0 8px 24px #05966940}.hsm-success-card h1{font-size:1.8rem;color:#1a1a2e;margin:0 0 .6rem}.hsm-success-seat{font-size:1.2rem;color:#374151;margin:0 0 .4rem}.hsm-success-name{font-size:1.3rem;font-weight:700;color:#3e21a6;margin:0 0 .2rem}.hsm-success-hall{color:#9ca3af;font-size:.9rem;margin:0}@media (max-width: 768px){.hsm-container{padding:.75rem}.hsm-card{padding:1.25rem;margin-top:.5rem;border-radius:14px}.hsm-header h1{font-size:1.5rem}.hsm-toolbar{flex-direction:column;align-items:stretch}.hsm-tool-group,.hsm-toolbar-stats{justify-content:center}.hsm-share-row{flex-direction:column}.hsm-hall-item{flex-direction:column;gap:.75rem;align-items:flex-start}.hsm-hall-actions{width:100%}.hsm-hall-actions .hsm-btn{flex:1}.hsm-tpl-grid{grid-template-columns:repeat(3,1fr)}.hsm-student-list-grid{grid-template-columns:1fr}.hsm-form-row{flex-direction:column}.hsm-canvas-scroll{max-height:55vh}}@media (max-width: 480px){.hsm-tpl-grid{grid-template-columns:repeat(2,1fr)}.hsm-tool-btn span:last-child{display:none}}.hsm-rubber-band{position:absolute;border:2px dashed #3E21A6;background:rgba(62,33,166,.07);border-radius:4px;pointer-events:none;z-index:999}.hsm-tool-dup{background:#ede9fe!important;border-color:#8f84d9!important;color:#3e21a6!important}.hsm-tool-dup:hover{background:#ddd6fe!important;transform:translateY(-1px);box-shadow:0 3px 10px #3e21a633}.hsm-tstat-purple{color:#7c3aed;background:#ede9fe;padding:.15rem .5rem;border-radius:6px}.hsm-tool-view{background:#ecfdf5!important;border-color:#6ee7b7!important;color:#065f46!important}.hsm-tool-view:hover{background:#d1fae5!important;transform:translateY(-1px);box-shadow:0 3px 10px #05966926}.hsm-view-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;margin-bottom:1rem}.hsm-view-stats{display:flex;gap:1.5rem}.hsm-view-stat{display:flex;flex-direction:column;align-items:center;gap:.1rem}.hsm-view-stat-num{font-size:1.6rem;font-weight:800;color:#1a1a2e}.hsm-view-stat-lbl{font-size:.7rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.hsm-canvas-readonly{cursor:default;background-color:#f9fafb;background-image:radial-gradient(circle,#e5e7eb .8px,transparent .8px);background-size:24px 24px}.hsm-seat-view{position:absolute;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px;transition:transform .15s,box-shadow .15s;overflow:visible;user-select:none;z-index:1}.hsm-seat-view:hover{z-index:50}.hsm-seat-view:hover{transform:scale(1.06);z-index:5}.hsm-seat-view-occupied{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);border:2px solid #34d399;box-shadow:0 2px 8px #34d39926}.hsm-seat-view-occupied:hover{box-shadow:0 4px 14px #34d39940}.hsm-seat-view-empty{background:#f0f4ff;border:2px solid #a5b4fc;opacity:1}.hsm-seat-view-empty:hover{background:#e0e7ff;border-color:#818cf8;box-shadow:0 2px 8px #818cf833}.hsm-view-name{font-size:.72rem;font-weight:700;color:#065f46;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;line-height:1.2}.hsm-view-label{font-size:.6rem;font-weight:600;color:#6b7280;opacity:.8}.hsm-view-empty-icon{font-size:.75rem;color:#818cf8;line-height:1;font-weight:600}.hsm-roster{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e5e7eb}.hsm-roster h3{margin:0 0 1rem;font-size:1.1rem;color:#1a1a2e}.hsm-roster-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.9rem}.hsm-roster-table thead th{text-align:left;padding:.65rem 1rem;background:linear-gradient(135deg,#3E21A6,#8F84D9);color:#fff;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.hsm-roster-table thead th:first-child{border-radius:8px 0 0}.hsm-roster-table thead th:last-child{border-radius:0 8px 0 0}.hsm-roster-table tbody tr{transition:background .15s}.hsm-roster-table tbody tr:hover{background:#f3f4f6}.hsm-roster-table tbody td{padding:.6rem 1rem;border-bottom:1px solid #e5e7eb;color:#374151}.hsm-roster-seat{display:inline-block;background:linear-gradient(135deg,#3E21A6,#8F84D9);color:#fff;font-weight:700;font-size:.75rem;padding:.2rem .55rem;border-radius:6px;min-width:28px;text-align:center}.hsm-roster-name{font-weight:600}.hsm-roster-time{color:#9ca3af;font-size:.8rem}.hsm-btn-fullscreen{background:#1a1a2e;color:#fff;border:none}.hsm-btn-fullscreen:hover{background:#3E21A6;transform:translateY(-1px);box-shadow:0 4px 12px #3e21a64d}.hsm-view-topbar-actions{display:flex;gap:.5rem;flex-shrink:0}.hsm-fullscreen{background:#0f0f1a!important;padding:1rem!important;margin:0!important;overflow-y:auto}.hsm-fullscreen .hsm-card{max-width:100%;margin:0;border-radius:12px;box-shadow:none;background:#f9fafb}.hsm-fullscreen .hsm-canvas-scroll{max-height:calc(100vh - 260px)}.hsm-fullscreen .hsm-board-label{font-size:.9rem;padding:.8rem}@media (max-width: 768px){.hsm-view-topbar{flex-direction:column;align-items:stretch;text-align:center}.hsm-view-stats{justify-content:center}.hsm-view-topbar-actions{flex-direction:column}.hsm-view-topbar-actions .hsm-btn{width:100%}.hsm-roster-table{font-size:.8rem}.hsm-roster-table thead th,.hsm-roster-table tbody td{padding:.5rem .6rem}}.hsm-zoom-controls{display:flex;align-items:center;gap:.35rem;position:absolute;bottom:.75rem;right:.75rem;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border:1px solid #d1d5db;border-radius:8px;padding:.3rem .5rem;box-shadow:0 2px 10px #0000001f;pointer-events:auto}.hsm-zoom-btn{width:28px;height:28px;border:none;background:#f3f4f6;border-radius:6px;font-size:1.1rem;font-weight:700;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.hsm-zoom-btn:hover{background:#e0e7ff;color:#3730a3}.hsm-zoom-level{min-width:42px;text-align:center;font-size:.78rem;font-weight:600;color:#4b5563;cursor:pointer;user-select:none;padding:.15rem .2rem;border-radius:4px;transition:background .15s}.hsm-zoom-level:hover{background:#f3f4f6;color:#111827}.hsm-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform-origin:bottom center;background:#1e1b4b;color:#fff;border-radius:10px;padding:.55rem .85rem;min-width:150px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s;z-index:100;box-shadow:0 6px 20px #00000040;font-size:.78rem;line-height:1.3}.hsm-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1e1b4b}.hsm-seat:hover>.hsm-tooltip,.hsm-seat-view:hover>.hsm-tooltip,.hsm-seat-view-occupied:hover>.hsm-tooltip,.hsm-seat-view-empty:hover>.hsm-tooltip{opacity:1;visibility:visible}.hsm-tooltip-row{display:flex;align-items:center;gap:.4rem;padding:.15rem 0}.hsm-tooltip-row+.hsm-tooltip-row{border-top:1px solid rgba(255,255,255,.15);margin-top:.2rem;padding-top:.35rem}.hsm-tooltip-icon{font-size:.85rem;flex-shrink:0}.hsm-tooltip-seat{font-weight:600}.hsm-tooltip-seat strong{color:#a5b4fc;font-size:.9rem}.hsm-tooltip-occupied{color:#fca5a5}.hsm-tooltip-available{color:#86efac}.ls-page{min-height:100vh;background:#f0f2f5;padding:1.5rem}.ls-hall-list{max-width:900px;margin:0 auto}.ls-hall-list-header{margin-bottom:2rem}.ls-hall-list-header h1{font-size:2rem;color:#1f2937;margin:0 0 .5rem}.ls-hall-list-header p{color:#6b7280;font-size:1rem}.ls-hall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}.ls-hall-card{background:white;border-radius:14px;padding:1.5rem;cursor:pointer;border:2px solid #e5e7eb;transition:all .2s ease;box-shadow:0 2px 8px #0000000a}.ls-hall-card:hover{border-color:#7c3aed;transform:translateY(-3px);box-shadow:0 8px 24px #7c3aed1f}.ls-hall-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.ls-hall-card-icon{font-size:2rem}.ls-live-badge{background:#ef4444;color:#fff;font-size:.65rem;font-weight:800;padding:3px 8px;border-radius:6px;letter-spacing:1px;animation:livePulse 1.5s ease-in-out infinite}@keyframes livePulse{0%,to{opacity:1}50%{opacity:.6}}.ls-hall-card h3{margin:0 0 .5rem;font-size:1.15rem;color:#1f2937}.ls-hall-card-stats{display:flex;gap:1rem;font-size:.85rem;color:#6b7280}.ls-empty{text-align:center;padding:4rem 2rem;color:#9ca3af}.ls-empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.ls-empty h3{color:#6b7280;margin:0 0 .5rem}.ls-empty p{font-size:.95rem}.ls-empty a{color:#7c3aed;font-weight:600}.ls-instructor{max-width:1200px;margin:0 auto}.ls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.ls-header-left{display:flex;align-items:center;gap:1rem}.ls-back-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s}.ls-back-btn:hover{background:#e5e7eb}.ls-header h1{font-size:1.5rem;color:#1f2937;margin:0;display:flex;align-items:center;gap:.75rem}.ls-header-sub{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.ls-status-badge{font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:6px;letter-spacing:.5px}.ls-status-badge.active{background:#dcfce7;color:#16a34a}.ls-status-badge.ended{background:#f3f4f6;color:#9ca3af}.ls-share-bar{display:flex;align-items:center;gap:.75rem;background:white;padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;border:1px solid #e5e7eb}.ls-share-label{font-weight:600;font-size:.85rem;color:#6b7280;white-space:nowrap}.ls-share-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;background:#f9fafb;color:#374151}.ls-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;border:none;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ls-btn-sm{padding:6px 14px;font-size:.8rem}.ls-btn-lg{padding:14px 28px;font-size:1.1rem}.ls-btn-primary{background:#7c3aed;color:#fff}.ls-btn-primary:hover{background:#6d28d9}.ls-btn-primary:disabled{background:#c4b5fd;cursor:not-allowed}.ls-btn-danger{background:#ef4444;color:#fff}.ls-btn-danger:hover{background:#dc2626}.ls-btn-ghost{background:transparent;color:#6b7280;border:1px solid #d1d5db}.ls-btn-ghost:hover{background:#f3f4f6;color:#374151}.ls-tabs{display:flex;gap:4px;background:white;border-radius:10px;padding:4px;margin-bottom:1rem;border:1px solid #e5e7eb}.ls-tab{flex:1;padding:10px 16px;border:none;background:transparent;border-radius:8px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s}.ls-tab:hover{background:#f3f4f6}.ls-tab.active{background:#7c3aed;color:#fff}.ls-active-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:12px;padding:1rem 1.25rem;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.ls-active-banner-left{display:flex;align-items:center;gap:.75rem;flex:1}.ls-active-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;animation:livePulse 1s ease-in-out infinite;flex-shrink:0}.ls-active-text{color:#92400e;font-weight:500}.ls-active-banner-right{display:flex;align-items:center;gap:.75rem}.ls-response-count{font-weight:700;color:#92400e;font-size:.9rem}.ls-correct-count{color:#16a34a;background:#dcfce7;padding:2px 8px;border-radius:6px}.ls-wrong-count{color:#ef4444;background:#fee2e2;padding:2px 8px;border-radius:6px}.ls-filter-bar{display:flex;align-items:center;gap:.5rem;background:white;padding:.6rem 1rem;border-radius:10px;margin-bottom:1rem;border:1px solid #e5e7eb;flex-wrap:wrap}.ls-filter-label{font-weight:700;font-size:.8rem;color:#6b7280;margin-right:.25rem}.ls-filter-btn{padding:5px 14px;border-radius:20px;border:2px solid #e5e7eb;background:white;font-size:.8rem;font-weight:600;cursor:pointer;color:#6b7280;transition:all .2s ease}.ls-filter-btn:hover{border-color:#a78bfa;color:#7c3aed}.ls-filter-btn.active{background:#7c3aed;border-color:#7c3aed;color:#fff}.ls-filter-btn.correct.active{background:#16a34a;border-color:#16a34a}.ls-filter-btn.correct:hover{border-color:#16a34a;color:#16a34a}.ls-filter-btn.wrong.active{background:#ef4444;border-color:#ef4444}.ls-filter-btn.wrong:hover{border-color:#ef4444;color:#ef4444}.ls-filter-btn.unanswered.active{background:#f59e0b;border-color:#f59e0b}.ls-canvas-wrap{background:white;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden;position:relative}.ls-board-label{text-align:center;padding:10px;background:#374151;color:#d1d5db;font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase}.ls-canvas-scroll{overflow:auto;max-height:450px;padding:1rem;background:#fafbfc}.ls-canvas{position:relative}.ls-seat{position:absolute;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;transition:all .2s ease;font-size:.7rem;border:2px solid;overflow:hidden}.ls-seat-occupied{background:#dbeafe;border-color:#60a5fa;color:#1e40af}.ls-seat-answered{background:#dcfce7;border-color:#22c55e;color:#15803d;animation:answerPop .4s ease-out}.ls-seat-correct{background:#dcfce7;border-color:#16a34a;color:#15803d;animation:answerPop .4s ease-out;box-shadow:0 0 8px #16a34a4d}.ls-seat-wrong{background:#fee2e2;border-color:#ef4444;color:#991b1b;animation:answerPop .4s ease-out;box-shadow:0 0 8px #ef44444d}@keyframes answerPop{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.ls-seat-waiting{background:#fef3c7;border-color:#f59e0b;color:#92400e}.ls-seat-empty{background:#f3f4f6;border-color:#d1d5db;color:#9ca3af;cursor:default}.ls-seat:hover:not(.ls-seat-empty){transform:scale(1.08);z-index:10;box-shadow:0 4px 12px #00000026}.ls-seat-name{font-weight:700;font-size:.6rem;text-align:center;line-height:1.1;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ls-seat-label{font-size:.55rem;opacity:.7;font-weight:500}.ls-seat-check{position:absolute;top:2px;right:3px;font-size:.65rem;font-weight:800;color:#16a34a}.ls-seat-check.correct{color:#16a34a}.ls-seat-check.wrong{color:#ef4444}.ls-seat-dimmed{opacity:.15!important;transform:scale(.95);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.ls-seat-waiting-icon{position:absolute;top:1px;right:2px;font-size:.6rem}.ls-seat-empty-icon{font-size:1rem;color:#d1d5db}.ls-seat-available{background:#f0fdf4;border-color:#86efac;color:#15803d;cursor:pointer}.ls-seat-available:hover{background:#dcfce7;border-color:#22c55e}.ls-seat-taken{background:#fee2e2;border-color:#fca5a5;color:#991b1b;cursor:not-allowed;opacity:.6}.ls-seat-selected{background:#7c3aed!important;border-color:#6d28d9!important;color:#fff!important;box-shadow:0 0 0 3px #7c3aed4d}.ls-seat-taken-icon{font-size:1rem}.ls-seat-selected-icon{font-size:1.1rem;font-weight:800}.ls-legend{display:flex;gap:1.5rem;padding:.75rem 1rem;justify-content:center;flex-wrap:wrap}.ls-legend-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#6b7280}.ls-legend-sw{width:14px;height:14px;border-radius:4px;border:2px solid}.ls-sw-occupied{background:#dbeafe;border-color:#60a5fa}.ls-sw-correct{background:#dcfce7;border-color:#16a34a}.ls-sw-wrong{background:#fee2e2;border-color:#ef4444}.ls-sw-answered{background:#dcfce7;border-color:#22c55e}.ls-sw-waiting{background:#fef3c7;border-color:#f59e0b}.ls-sw-empty{background:#f3f4f6;border-color:#d1d5db}.ls-zoom-controls{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:4px;background:white;border-radius:8px;padding:4px;box-shadow:0 2px 8px #0000001f;border:1px solid #e5e7eb;z-index:20}.ls-zoom-btn{width:28px;height:28px;border:none;background:transparent;font-size:1.1rem;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.ls-zoom-btn:hover{background:#f3f4f6}.ls-zoom-level{font-size:.75rem;font-weight:600;color:#6b7280;min-width:40px;text-align:center;cursor:pointer}.ls-seat-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;backdrop-filter:blur(4px)}.ls-seat-detail{background:white;border-radius:16px;width:90%;max-width:520px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.ls-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.ls-detail-header h3{margin:0;font-size:1.1rem;color:#1f2937}.ls-detail-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#9ca3af;padding:4px}.ls-detail-close:hover{color:#374151}.ls-detail-body{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.ls-detail-empty{color:#9ca3af;text-align:center;padding:2rem 0}.ls-detail-question{border:1px solid #e5e7eb;border-radius:10px;padding:1rem}.ls-detail-question.answered{border-color:#86efac;background:#f0fdf4}.ls-detail-question.unanswered{background:#fafafa}.ls-detail-q-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.ls-detail-type{font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.ls-detail-type.mcq{background:#ede9fe;color:#7c3aed}.ls-detail-type.essay{background:#dbeafe;color:#2563eb}.ls-detail-status.done{color:#16a34a;font-weight:600;font-size:.8rem}.ls-detail-status.pending{color:#9ca3af;font-size:.8rem}.ls-detail-q-text{margin:0 0 .75rem;color:#374151;font-size:.95rem;line-height:1.5}.ls-detail-answer{background:white;border-radius:8px;padding:.75rem;border:1px solid #d1fae5}.ls-detail-answer strong{display:block;font-size:.75rem;color:#6b7280;margin-bottom:.25rem;text-transform:uppercase}.ls-detail-mcq-answer{font-weight:600;color:#1f2937}.ls-detail-essay-answer{color:#374151;line-height:1.5;margin:0}.ls-detail-time{display:block;font-size:.7rem;color:#9ca3af;margin-top:.5rem}.ls-questions-section{background:white;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.ls-questions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.ls-questions-header h2{margin:0;font-size:1.25rem;color:#1f2937}.ls-questions-list{display:flex;flex-direction:column;gap:1rem}.ls-question-card{border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:all .2s}.ls-question-card.active{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#ffffff);box-shadow:0 0 0 3px #f59e0b26}.ls-question-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.ls-question-card-left{display:flex;align-items:center;gap:.5rem}.ls-question-num{font-weight:800;color:#7c3aed;font-size:.85rem}.ls-question-type{font-size:.6rem;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase}.ls-question-type.mcq{background:#ede9fe;color:#7c3aed}.ls-question-type.essay{background:#dbeafe;color:#2563eb}.ls-live-pill{background:#ef4444;color:#fff;font-size:.6rem;font-weight:800;padding:2px 8px;border-radius:4px;animation:livePulse 1.5s ease-in-out infinite}.ls-question-resp{font-size:.8rem;color:#6b7280;font-weight:600}.ls-question-text{margin:0 0 .75rem;color:#1f2937;font-size:1rem;line-height:1.5}.ls-question-options-preview{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.ls-option-preview{padding:4px 10px;background:#f3f4f6;border-radius:6px;font-size:.8rem;color:#374151}.ls-option-preview.correct{background:#dcfce7;color:#16a34a;font-weight:600}.ls-question-actions{display:flex;gap:.5rem;margin-top:.5rem}.ls-question-responses-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.ls-question-responses-summary h4{margin:0 0 .75rem;font-size:.85rem;color:#6b7280}.ls-response-list{display:flex;flex-direction:column;gap:.5rem}.ls-response-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f9fafb;border-radius:8px;font-size:.85rem}.ls-response-item-left{display:flex;align-items:center;gap:.5rem}.ls-response-seat{background:#e5e7eb;padding:2px 8px;border-radius:4px;font-weight:700;font-size:.75rem}.ls-response-name{font-weight:600;color:#374151}.ls-response-answer{font-weight:500}.ls-response-answer.correct{color:#16a34a}.ls-response-answer.wrong{color:#ef4444}.ls-response-answer.essay{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}.ls-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;backdrop-filter:blur(4px)}.ls-modal{background:white;border-radius:16px;width:90%;max-width:550px;max-height:85vh;overflow-y:auto;box-shadow:0 25px 60px #0000004d}.ls-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb}.ls-modal-header h2{margin:0;font-size:1.25rem;color:#1f2937}.ls-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#9ca3af}.ls-modal-close:hover{color:#374151}.ls-modal-body{padding:1.5rem}.ls-modal-footer{padding:1rem 1.5rem;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:.75rem}.ls-form-group{margin-bottom:1.5rem}.ls-form-group label{display:block;font-weight:600;color:#374151;margin-bottom:.5rem;font-size:.9rem}.ls-type-selector{display:flex;gap:.5rem}.ls-type-btn{flex:1;padding:12px;border:2px solid #e5e7eb;border-radius:10px;background:white;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;color:#6b7280}.ls-type-btn:hover{border-color:#a78bfa}.ls-type-btn.active{border-color:#7c3aed;background:#f5f3ff;color:#7c3aed}.ls-input{width:100%;padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:border-color .2s;box-sizing:border-box}.ls-input:focus{outline:none;border-color:#7c3aed}.ls-textarea{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;resize:vertical;font-family:inherit;box-sizing:border-box}.ls-textarea:focus{outline:none;border-color:#7c3aed}.ls-options-form{display:flex;flex-direction:column;gap:.5rem}.ls-option-row{display:flex;align-items:center;gap:.5rem}.ls-correct-btn{width:36px;height:36px;border-radius:50%;border:2px solid #d1d5db;background:white;cursor:pointer;font-weight:700;font-size:.85rem;color:#9ca3af;transition:all .2s;flex-shrink:0}.ls-correct-btn.active{background:#16a34a;border-color:#16a34a;color:#fff}.ls-correct-btn:hover:not(.active){border-color:#7c3aed;color:#7c3aed}.ls-option-row .ls-input{flex:1}.ls-remove-option{width:32px;height:32px;border-radius:6px;border:1px solid #fca5a5;background:#fef2f2;color:#ef4444;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ls-remove-option:hover{background:#fee2e2}.ls-responses-section{background:white;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.ls-responses-section h2{margin:0 0 1.5rem;font-size:1.25rem;color:#1f2937}.ls-responses-table-wrap{overflow-x:auto}.ls-responses-table{width:100%;border-collapse:collapse;font-size:.9rem}.ls-responses-table th,.ls-responses-table td{padding:10px 14px;text-align:left;border-bottom:1px solid #e5e7eb}.ls-responses-table th{background:#f9fafb;font-weight:700;color:#6b7280;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.ls-table-seat{background:#e5e7eb;padding:2px 8px;border-radius:4px;font-weight:700;font-size:.8rem}.ls-table-answered{background:#dcfce7;color:#16a34a;padding:2px 8px;border-radius:4px;font-weight:700;font-size:.8rem}.ls-table-pending{color:#d1d5db;font-size:1rem}.ls-student-select{max-width:800px;margin:0 auto}.ls-student-header{text-align:center;margin-bottom:1.5rem}.ls-student-header h1{margin:0 0 .5rem;font-size:1.8rem;color:#1f2937}.ls-student-hall-name{color:#7c3aed;font-weight:600;font-size:1.1rem}.ls-confirm-form{background:white;border-radius:12px;padding:1.5rem;text-align:center;border:1px solid #e5e7eb;margin-top:1rem}.ls-selected-info{margin:0 0 1rem;font-size:1.1rem;color:#374151}.ls-name-input{max-width:300px;margin:0 auto 1rem;text-align:center}.ls-hint{color:#9ca3af;font-size:.95rem}.ls-error{color:#ef4444;font-weight:600;margin-top:.75rem}.ls-student-session{max-width:600px;margin:0 auto}.ls-student-session-header{display:flex;justify-content:space-between;align-items:center;background:white;padding:1.25rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;border:1px solid #e5e7eb}.ls-student-session-header h2{margin:0;font-size:1.2rem;color:#1f2937}.ls-student-session-header p{margin:.25rem 0 0;color:#6b7280;font-size:.9rem}.ls-waiting-screen{text-align:center;padding:4rem 2rem;background:white;border-radius:16px;border:1px solid #e5e7eb}.ls-waiting-animation{display:flex;justify-content:center;gap:8px;margin-bottom:2rem}.ls-waiting-dot{width:14px;height:14px;border-radius:50%;background:#7c3aed;animation:waitBounce 1.4s ease-in-out infinite}.ls-waiting-dot.d2{animation-delay:.2s}.ls-waiting-dot.d3{animation-delay:.4s}@keyframes waitBounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.ls-waiting-screen h2{color:#374151;margin:0 0 .5rem}.ls-waiting-screen p{color:#9ca3af}.ls-session-ended-screen{text-align:center;padding:4rem 2rem;background:white;border-radius:16px;border:1px solid #e5e7eb}.ls-ended-icon{font-size:3rem;display:block;margin-bottom:1rem}.ls-session-ended-screen h2{color:#374151;margin:0 0 .5rem}.ls-session-ended-screen p{color:#9ca3af}.ls-question-screen{background:white;border-radius:16px;padding:2rem;border:2px solid #7c3aed;box-shadow:0 4px 20px #7c3aed1a}.ls-question-display{margin-bottom:2rem}.ls-question-type-badge{display:inline-block;font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.ls-question-type-badge.mcq{background:#ede9fe;color:#7c3aed}.ls-question-type-badge.essay{background:#dbeafe;color:#2563eb}.ls-question-text-display{margin:0;font-size:1.3rem;color:#1f2937;line-height:1.5}.ls-mcq-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.ls-mcq-option{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border:2px solid #e5e7eb;border-radius:12px;background:white;cursor:pointer;transition:all .2s;text-align:left;font-size:1rem}.ls-mcq-option:hover{border-color:#a78bfa;background:#faf5ff}.ls-mcq-option.selected{border-color:#7c3aed;background:#f5f3ff;box-shadow:0 0 0 3px #7c3aed26}.ls-mcq-letter{width:36px;height:36px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;color:#6b7280;flex-shrink:0}.ls-mcq-option.selected .ls-mcq-letter{background:#7c3aed;color:#fff}.ls-mcq-text{color:#374151;font-weight:500}.ls-essay-input{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-family:inherit;resize:vertical;margin-bottom:2rem;min-height:120px;box-sizing:border-box}.ls-essay-input:focus{outline:none;border-color:#7c3aed}.ls-submit-btn{width:100%;justify-content:center;font-size:1.15rem;padding:16px;border-radius:12px}.ls-submitted-screen{text-align:center;padding:3rem 2rem}.ls-submitted-icon{font-size:3.5rem;display:block;margin-bottom:1rem;animation:submitPop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes submitPop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.ls-submitted-screen h2{color:#16a34a;margin:0 0 .5rem}.ls-submitted-screen p{color:#6b7280}.ls-loading{text-align:center;padding:4rem;color:#9ca3af;font-size:1.1rem}@media (max-width: 768px){.ls-page{padding:1rem}.ls-header{flex-direction:column;align-items:flex-start}.ls-share-bar{flex-direction:column;align-items:stretch}.ls-tabs,.ls-active-banner{flex-direction:column}.ls-question-card-top{flex-direction:column;align-items:flex-start;gap:.5rem}.ls-student-session-header{flex-direction:column;align-items:flex-start;gap:.75rem}.ls-type-selector{flex-direction:column}}.home-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#010440;padding:40px 20px}.hero{text-align:center;color:#fff;max-width:1200px}.hero h1{font-size:3.5rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.subtitle{font-size:1.5rem;margin-bottom:1.5rem;opacity:.95}.integration-note{background:rgba(255,255,255,.2);backdrop-filter:blur(10px);border-radius:12px;padding:1rem 2rem;margin:0 auto 3rem;max-width:600px}.integration-note p{margin:.5rem 0;font-size:1rem}.feature-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:3rem}.feature{background:#F2F2F2;backdrop-filter:blur(10px);border-radius:20px;padding:2rem;transition:transform .3s ease;border:2px solid #8F84D9;box-shadow:0 8px 24px #00000080;color:#3e21a6}.feature:hover{transform:translateY(-5px);background:#F2F2F2;border-color:#8f84d9;box-shadow:0 12px 32px #0009}.feature .icon{font-size:3rem;display:block;margin-bottom:1rem}.feature h3{font-size:1.25rem;margin-bottom:.5rem;color:#3e21a6}.feature p{color:#050259;font-size:.95rem;opacity:.9}.demo-section{background:#F2F2F2;backdrop-filter:blur(10px);border-radius:20px;padding:2rem;margin-bottom:2rem;border:2px solid #8F84D9;box-shadow:0 8px 24px #00000080;color:#3e21a6}.demo-section h2{font-size:2rem;margin-bottom:.5rem;color:#3e21a6}.demo-section>p{margin-bottom:2rem;color:#050259;opacity:.9}.ai-plugin-section{border-color:#667eea;background:linear-gradient(135deg,#F2F2F2 0%,#eef0ff 100%)}.lr-seating-section{border-color:#10b981;background:linear-gradient(135deg,#F2F2F2 0%,#ecfdf5 100%)}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:1rem 2.5rem;font-size:1.1rem;border-radius:12px;text-decoration:none;font-weight:600;transition:all .3s ease;display:inline-block;box-shadow:0 4px 12px #00000026}.btn-primary{background:#F2F2F2;color:#3e21a6}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000040}.btn-secondary{background:rgba(143,132,217,.3);color:#fff;border:2px solid rgba(143,132,217,.6);box-shadow:0 4px 12px #0104404d}.btn-secondary:hover{background:#F2F2F2;color:#3e21a6;transform:translateY(-2px)}.flow-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2rem}.flow-box{background:#F2F2F2;backdrop-filter:blur(10px);border-radius:12px;padding:1.5rem;border:2px solid #8F84D9;box-shadow:0 6px 20px #00000080;color:#3e21a6}.flow-box h3{font-size:1.25rem;margin-bottom:1rem;color:#3e21a6}.flow-steps{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;font-size:.9rem}.flow-steps span{padding:.5rem 1rem;background:rgba(143,132,217,.4);border-radius:8px;color:#fff;border:1px solid rgba(143,132,217,.6)}.flow-steps span.highlight{background:rgba(143,132,217,.6);font-weight:700;border-color:#8f84d9;color:#fff}.demo-links-grid{display:grid;gap:1.5rem}.demo-link-group{background:#F2F2F2;border-radius:12px;padding:1.5rem;border:2px solid #8F84D9;box-shadow:0 4px 16px #0006}.demo-link-group h3{font-size:1.2rem;margin-bottom:1rem;color:#3e21a6}.demo-student-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.75rem}.demo-link{display:block;padding:.75rem 1rem;background:rgba(143,132,217,.3);border-radius:8px;text-decoration:none;color:#fff;transition:all .2s ease;border:1px solid rgba(143,132,217,.6);font-size:.95rem;font-weight:500}.demo-link:hover{background:rgba(143,132,217,.5);transform:translate(5px);border-color:#8f84d9;color:#fff}@media (max-width: 768px){.hero h1{font-size:2.5rem}.subtitle{font-size:1.2rem}.feature-cards{grid-template-columns:1fr}.cta-buttons{flex-direction:column}.btn{width:100%}.demo-student-links{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa}#root{min-height:100vh}
