@import url(https://fonts.googleapis.com/css2?family=STIX+Two+Math&display=swap);@import url(https://fonts.googleapis.com/css2?family=Computer+Modern+Serif:ital,wght@0,400;0,700;1,400&display=swap);.digital-whiteboard{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;width:100%}.whiteboard-toolbar{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem}.toolbar-label{color:#555;display:block;font-size:.8rem;font-weight:600;margin-bottom:.25rem}.action-section,.brush-section,.color-section,.grid-section,.tool-section{display:flex;flex-direction:column;gap:.5rem}.tool-buttons{display:flex;gap:.25rem}.tool-button{align-items:center;background:#fff;border:2px solid #ddd;border-radius:6px;cursor:pointer;display:flex;font-size:1rem;height:2.5rem;justify-content:center;transition:all .2s ease;width:2.5rem}.tool-button:hover{background:#f0f9ff}.tool-button.active,.tool-button:hover{border-color:#2563eb;transform:translateY(-1px)}.tool-button.active{background:#2563eb;box-shadow:0 2px 4px rgba(37,99,235,.3);color:#fff}.tool-button:focus{outline:2px solid #2563eb;outline-offset:2px}.brush-size-select{background:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.375rem .5rem}.brush-size-select:focus{border-color:#2563eb;outline:2px solid #2563eb;outline-offset:2px}.color-palette{align-items:center;display:flex;gap:.25rem}.color-button{border:2px solid #ddd;border-radius:50%;cursor:pointer;height:2rem;position:relative;transition:all .2s ease;width:2rem}.color-button:hover{border-color:#666;transform:scale(1.1)}.color-button.active{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.3);transform:scale(1.1)}.color-button:focus{outline:2px solid #2563eb;outline-offset:2px}.color-picker{background:transparent;border:2px solid #ddd;border-radius:50%;cursor:pointer;height:2rem;overflow:hidden;padding:0;width:2rem}.color-picker::-webkit-color-swatch{border:none;border-radius:50%}.color-picker::-moz-color-swatch{border:none;border-radius:50%}.action-button{background:#fff;border:1px solid #ddd;color:#333;font-size:.85rem;gap:.25rem;padding:.5rem .75rem;transition:all .2s ease}.action-button:hover:not(:disabled){background:#f0f9ff;border-color:#2563eb;color:#2563eb}.action-button:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.5}.action-button.clear-button:hover:not(:disabled){background:#fef2f2;border-color:#dc2626;color:#dc2626}.action-button:focus{outline:2px solid #2563eb}.canvas-container{background:#fff;cursor:crosshair;flex:1 1;overflow:hidden;position:relative}.main-canvas{cursor:inherit;display:block;touch-action:none;-webkit-user-select:none;user-select:none}.overlay-canvas{left:0;pointer-events:none;position:absolute;top:0;z-index:1}.text-input{background:hsla(0,0%,100%,.9);border:2px solid #2563eb;border-radius:4px;font-family:Arial,sans-serif;min-width:100px;padding:.25rem;position:absolute;z-index:2}.text-input:focus{background:#fff;outline:none}.whiteboard-status{align-items:center;background:#f8f9fa;border-top:1px solid #e0e0e0;color:#666;display:flex;font-size:.8rem;justify-content:space-between;padding:.5rem 1rem}.tool-info,.zoom-info{font-weight:500}@media (max-width:768px){.whiteboard-toolbar{flex-direction:column;gap:.75rem;padding:.5rem}.action-section,.brush-section,.color-section,.grid-section,.tool-section{align-items:center;flex-direction:row;width:100%}.toolbar-label{margin-bottom:0;margin-right:.5rem;min-width:4rem}.tool-buttons{flex:1 1;justify-content:space-between}.tool-button{font-size:.9rem;height:2.25rem;width:2.25rem}.color-palette{flex:1 1;justify-content:space-between}.color-button,.color-picker{height:1.75rem;width:1.75rem}.action-button{font-size:.8rem;padding:.375rem .5rem}.whiteboard-status{flex-direction:column;gap:.25rem;text-align:center}}@media (max-width:480px){.whiteboard-toolbar{gap:.5rem;padding:.375rem}.tool-button{font-size:.8rem;height:2rem;width:2rem}.color-button,.color-picker{height:1.5rem;width:1.5rem}.action-button{font-size:.75rem;padding:.25rem .375rem}.brush-size-select{font-size:.75rem;padding:.25rem}.text-input{font-size:.9em;min-width:80px}}@media (hover:none) and (pointer:coarse){.action-button,.color-button,.tool-button{min-height:2.75rem;min-width:2.75rem}.tool-button.active,.tool-button:hover{transform:none}.canvas-container{touch-action:none}}@media print{.whiteboard-status,.whiteboard-toolbar{display:none}.digital-whiteboard{border:none;border-radius:0}.canvas-container{background:#fff}}.documents-container{background:transparent;padding:1.5rem;width:100%}.documents-header{margin-bottom:2rem}.header-content{align-items:flex-start;gap:1.5rem}.header-title h1{color:#1a202c;font-size:1.875rem;font-weight:600;margin:0 0 .5rem}.header-subtitle{color:#64748b;font-size:1rem;margin:0}.upload-button.modern-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 4px rgba(59,130,246,.3);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s ease}.upload-button.modern-btn:hover{box-shadow:0 4px 8px rgba(59,130,246,.4);transform:translateY(-2px)}.btn-icon{font-size:1.125rem}.documents-filters{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:1.5rem;padding:1.5rem}.filters-row{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr auto;margin-bottom:1.5rem}.search-container{width:100%}.search-wrapper{align-items:center;display:flex;position:relative}.search-icon{color:#94a3b8;font-size:1.125rem;left:1rem;pointer-events:none;position:absolute}.search-input.modern-input{border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem 1rem .75rem 2.75rem;transition:all .2s ease;width:100%}.search-input.modern-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-label{color:#475569;font-size:.875rem;font-weight:500}.filter-select.modern-select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:1rem;min-width:150px;padding:.75rem 1rem;transition:all .2s ease}.filter-select.modern-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.documents-stats{grid-gap:1rem;border-top:1px solid #e2e8f0;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);padding-top:1.5rem}.stats-item{background:#f8fafc;border-radius:8px;padding:1rem;text-align:center}.stats-number{color:#1a202c;display:block;font-size:1.875rem;font-weight:700;margin-bottom:.25rem}.stats-label{color:#64748b;display:block;font-size:.875rem;font-weight:500}.documents-list.modern-table-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);overflow:hidden}.documents-table-container{overflow-x:auto;width:100%}.table-wrapper{overflow-x:auto}.documents-table.modern-table{table-layout:fixed}.documents-table,.documents-table.modern-table{border-collapse:collapse;min-width:1200px;width:100%}.documents-table.modern-table thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}.documents-table.modern-table th{color:#475569;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.th-content{align-items:center;display:flex;gap:.5rem}.documents-table.modern-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s ease}.documents-table.modern-table tbody tr:hover{background:#f8fafc;cursor:pointer}.documents-table.modern-table td{color:#1a202c;padding:1rem}.document-info{align-items:center;display:flex;gap:.75rem}.document-icon{flex-shrink:0;font-size:1.5rem}.document-details{display:flex;flex-direction:column;gap:.25rem}.document-title{color:#1a202c;font-size:1rem;font-weight:600}.document-author{color:#64748b;font-size:.875rem}.grade-badge,.type-badge{background:#e0e7ff;color:#3730a3}.grade-badge,.status-badge.modern-status,.type-badge{border-radius:6px;display:inline-block;font-size:.875rem;font-weight:500;padding:.375rem .75rem}.status-badge.modern-status{color:#fff}.date-info{display:flex;flex-direction:column;gap:.125rem}.date-main{color:#1a202c;font-weight:500}.date-time{color:#64748b;font-size:.875rem}.pages-info,.size-info{color:#475569;font-size:.9375rem}.no-documents.modern-empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:4rem 2rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.4}.empty-title{color:#1a202c;font-size:1.5rem;font-weight:600;margin:0 0 .75rem}.empty-subtitle{color:#64748b;font-size:1rem;margin:0 auto 2rem;max-width:500px}.empty-action-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 4px rgba(59,130,246,.3);color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s ease}.empty-action-btn:hover{box-shadow:0 4px 8px rgba(59,130,246,.4);transform:translateY(-2px)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.5);padding:1rem;z-index:1000}.modal-content{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.modal-header h2{color:#1a202c;font-size:1.5rem;font-weight:600;margin:0}.modal-close-button{background:none;border:none;color:#64748b;cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem .5rem;transition:color .2s ease}.modal-close-button:hover{color:#1a202c}.modal-close-button:disabled{cursor:not-allowed;opacity:.5}.upload-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{gap:.5rem}.form-group label{color:#475569;font-size:.875rem}.form-group input[type=file],.form-group input[type=text],.form-group select{border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s ease}.form-group input[type=text]:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.form-group input:disabled,.form-group select:disabled{background:#f1f5f9;opacity:.6}.form-row{grid-template-columns:repeat(3,1fr)}.file-help{color:#64748b;font-size:.8125rem}.file-info{background:#eff6ff;border-radius:6px;color:#3b82f6;font-size:.875rem;margin-top:.5rem;padding:.5rem .75rem}.upload-progress{align-items:center;display:flex;gap:1rem}.progress-bar{background:#e2e8f0;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(135deg,#3b82f6,#8b5cf6);height:100%;transition:width .3s ease}.progress-text{color:#3b82f6;font-weight:600;min-width:3rem}.modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.cancel-button{background:#f1f5f9;border:none;border-radius:8px;color:#475569;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.25rem;transition:all .2s ease}.cancel-button:hover{background:#e2e8f0}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.upload-submit-button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;box-shadow:0 2px 4px rgba(59,130,246,.3);color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.25rem;transition:all .2s ease}.upload-submit-button:hover:not(:disabled){box-shadow:0 4px 8px rgba(59,130,246,.4);transform:translateY(-1px)}.upload-submit-button:disabled{cursor:not-allowed;opacity:.5}.documents-error,.documents-loading{align-items:center;color:#64748b;display:flex;font-size:1.125rem;justify-content:center;padding:4rem 2rem}.documents-error{color:#ef4444}@media (max-width:1024px){.filters-row{grid-template-columns:1fr}.filter-container{flex-direction:column}.documents-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.documents-container{padding:1rem}.header-content{align-items:flex-start;flex-direction:column}.upload-button.modern-btn{justify-content:center;width:100%}.documents-stats,.form-row{grid-template-columns:1fr}.documents-table.modern-table{font-size:.875rem}.documents-table.modern-table td,.documents-table.modern-table th{padding:.75rem .5rem}.modal-content{padding:1.5rem}}@media (max-width:480px){.header-title h1{font-size:1.5rem}.empty-icon{font-size:3rem}.modal-actions{flex-direction:column}.cancel-button,.upload-submit-button{width:100%}}.dashboard-container{background:transparent;padding:1.5rem;width:100%}.dashboard-header{margin-bottom:2rem}.dashboard-header .header-content{align-items:flex-start;display:flex;gap:1.5rem;justify-content:space-between;margin-bottom:1.5rem}.dashboard-header .header-title h1{color:#1a202c;font-size:1.875rem;font-weight:600;margin:0 0 .5rem}.dashboard-header .header-subtitle{color:#64748b;font-size:1rem;margin:0}.dashboard-nav .nav-button.modern-btn{background:#fff;border:1px solid #e2e8f0;box-shadow:none;color:#475569;min-width:160px;position:relative}.dashboard-nav .nav-button.modern-btn:hover{background:#f8fafc;border-color:#cbd5e0;box-shadow:none;transform:none}.dashboard-nav .nav-button.modern-btn.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:transparent;box-shadow:0 2px 4px rgba(59,130,246,.3);color:#fff}.dashboard-nav .nav-button.modern-btn.active:hover{box-shadow:0 4px 8px rgba(59,130,246,.4);transform:translateY(-2px)}.notification-badge{background:#ef4444;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;margin-left:.5rem;padding:.125rem .5rem}.nav-button.modern-btn.active .notification-badge{background:#fff;color:#3b82f6}.dashboard-content{display:flex;flex-direction:column;gap:1.5rem}.dashboard-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}.dashboard-stats .stats-item{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:2rem 1.5rem;text-align:center;transition:all .2s ease}.dashboard-stats .stats-item:hover{box-shadow:0 4px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.dashboard-stats .stats-number{display:block;font-size:3rem;margin-bottom:.5rem}.dashboard-stats .stats-label{color:#475569;font-size:.9375rem;font-weight:600}.dashboard-section.modern-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);padding:1.5rem}.section-header{margin-bottom:1.5rem}.section-header h2{color:#1a202c;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.section-subtitle{color:#64748b;font-size:.9375rem;margin:0}.section-content{margin-top:1rem}.review-alert{background:linear-gradient(135deg,#fef3c7,#fed7aa);border-left:4px solid #f59e0b;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.review-alert h3{color:#92400e;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.review-alert p{color:#78350f;font-size:.9375rem;margin:0 0 1rem}.review-alert .urgent-text{color:#dc2626;font-weight:600}.action-button.review-queue{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;box-shadow:0 2px 4px rgba(245,158,11,.3);color:#fff;cursor:pointer;font-size:.9375rem;font-weight:500;padding:.75rem 1.25rem;transition:all .2s ease}.action-button.review-queue:hover{box-shadow:0 4px 8px rgba(245,158,11,.4);transform:translateY(-2px)}.dashboard-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.dashboard-error,.dashboard-loading{align-items:center;color:#64748b;display:flex;font-size:1.125rem;justify-content:center;padding:4rem 2rem}.dashboard-error{color:#ef4444}@media (max-width:768px){.dashboard-container{padding:1rem}.dashboard-header .header-content{align-items:flex-start;flex-direction:column}.dashboard-nav.modern-nav{flex-direction:column;width:100%}.dashboard-nav .nav-button.modern-btn{width:100%}.dashboard-stats{grid-template-columns:1fr}.section-header h2{font-size:1.25rem}}@media (max-width:480px){.dashboard-header .header-title h1{font-size:1.5rem}.dashboard-stats .stats-number{font-size:2.5rem}}.file-drop-zone{align-items:center;background-color:#fafafa;border:2px dashed #ccc;border-radius:8px;cursor:pointer;display:flex;justify-content:center;min-height:200px;outline:none;padding:40px 20px;position:relative;text-align:center;transition:all .3s ease}.file-drop-zone:hover:not(.disabled){background-color:#f8f9fa;border-color:#007bff;box-shadow:0 4px 12px rgba(0,123,255,.15);transform:translateY(-2px)}.file-drop-zone:focus:not(.disabled){background-color:#f8f9fa;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.25)}.file-drop-zone.drag-over{background-color:#e8f5e8;border-color:#28a745;box-shadow:0 8px 25px rgba(40,167,69,.2);transform:scale(1.02)}.file-drop-zone.disabled{background-color:#f8f9fa;border-color:#e9ecef;color:#6c757d;cursor:not-allowed;opacity:.6}.file-drop-zone.processing{background-color:#fff3cd;border-color:#ffc107;cursor:wait}.drop-zone-content{align-items:center;display:flex;flex-direction:column;gap:16px;width:100%}.drop-zone-icon{font-size:48px;opacity:.7;transition:transform .3s ease}.file-drop-zone:hover:not(.disabled) .drop-zone-icon{transform:scale(1.1)}.drop-zone-text h3{color:#495057;font-size:1.25rem;font-weight:600;margin:0}.drop-zone-text p{color:#6c757d;font-size:1rem;margin:8px 0 0}.file-info{color:#868e96!important;font-size:.875rem!important;margin-top:4px!important}.processing-indicator{align-items:center;display:flex;flex-direction:column;gap:12px}.spinner{border:3px solid #f3f3f3;border-top-color:#007bff}@media (max-width:768px){.file-drop-zone{min-height:160px;padding:30px 15px}.drop-zone-icon{font-size:36px}.drop-zone-text h3{font-size:1.125rem}.drop-zone-text p{font-size:.9rem}}@media (prefers-contrast:high){.file-drop-zone{border-color:#000;border-width:3px}.file-drop-zone:hover:not(.disabled){border-color:#0056b3}.file-drop-zone.drag-over{border-color:#155724}}@media (prefers-reduced-motion:reduce){.drop-zone-icon,.file-drop-zone,.spinner{animation:none;transition:none}.file-drop-zone.drag-over,.file-drop-zone:hover:not(.disabled){transform:none}}.upload-progress-item{background-color:#fff;border:1px solid #e9ecef;border-radius:8px;margin-bottom:12px;padding:16px;transition:all .3s ease}.upload-progress-item.uploading{border-color:#007bff;box-shadow:0 2px 4px rgba(0,123,255,.1)}.upload-progress-item.completed{background-color:#f8fff9;border-color:#28a745}.upload-progress-item.error{background-color:#fff5f5;border-color:#dc3545}.upload-item-header{align-items:center;display:flex;gap:12px}.file-preview{align-items:center;background-color:#f8f9fa;border-radius:4px;display:flex;flex-shrink:0;height:40px;justify-content:center;overflow:hidden;width:40px}.preview-image{height:100%;object-fit:cover;width:100%}.preview-placeholder{color:#6c757d;font-size:20px}.file-info{flex:1 1;min-width:0}.file-name{color:#495057;font-size:.95rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-details{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:8px;margin-top:4px}.status-separator{color:#dee2e6}.file-status{align-items:center;display:flex;gap:4px}.status-icon{font-size:14px}.upload-actions{display:flex;flex-shrink:0;gap:8px}.action-button{align-items:center;background-color:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;min-height:44px;min-width:44px;transition:background-color .2s ease;width:32px}.action-button:hover{background-color:#f8f9fa}.action-button:focus{outline:2px solid #007bff;outline-offset:2px}.cancel-button:hover{background-color:#fff5f5;color:#dc3545}.retry-button:hover{background-color:#fff3cd;color:#856404}.remove-button:hover{background-color:#f8f9fa;color:#6c757d}.progress-container{align-items:center;display:flex;gap:12px;margin-top:12px}.progress-bar{background-color:#007bff;border-radius:4px;height:100%;position:relative;transition:width .3s ease}.progress-bar.uploading{animation:progress-shimmer 2s infinite;background:linear-gradient(90deg,#007bff,#0056b3)}.progress-bar.completed{background-color:#28a745}.progress-bar.error{background-color:#dc3545}@keyframes progress-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.progress-text{color:#495057;font-size:.875rem;font-weight:500;min-width:40px;text-align:right}.error-message{align-items:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.875rem;gap:8px;margin-top:8px;padding:8px 12px}.error-icon{font-size:16px}@media (max-width:576px){.upload-progress-item{padding:12px}.upload-item-header{gap:8px}.file-preview{height:32px;width:32px}.file-name{font-size:.9rem}.file-details{flex-wrap:wrap;font-size:.8rem}.progress-container{gap:8px;margin-top:8px}.action-button{font-size:12px;height:28px;width:28px}}@media (prefers-contrast:high){.upload-progress-item{border-width:2px}.progress-bar,.progress-track{border:1px solid #000}}@media (prefers-reduced-motion:reduce){.action-button,.progress-bar,.upload-progress-item{transition:none}.progress-bar.uploading{animation:none}}.batch-upload-manager{margin:0 auto;max-width:800px;padding:20px}.upload-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.upload-header h3{color:#495057;font-size:1.5rem;font-weight:600;margin:0}.batch-actions{display:flex;gap:12px}.clear-all-button{background-color:transparent;border:1px solid #dc3545;border-radius:4px;color:#dc3545;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.clear-all-button:hover{background-color:#dc3545;color:#fff}.clear-all-button:focus{outline:2px solid #dc3545;outline-offset:2px}.upload-configuration{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:24px 0;padding:20px}.upload-configuration h4{color:#495057;font-size:1.125rem;font-weight:600;margin:0 0 16px}.metadata-form{margin-bottom:20px}.form-row{grid-gap:16px;gap:16px;grid-template-columns:1fr 1fr 1fr;margin-bottom:16px}.form-group label{color:#495057;font-weight:500;margin-bottom:6px}.form-group input,.form-group select{border:1px solid #ced4da;border-radius:4px;font-size:.95rem;padding:10px 12px;transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.25)}.form-group input:disabled,.form-group select:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed}.start-upload-button{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:background-color .2s ease,transform .1s ease;width:100%}.start-upload-button:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.start-upload-button:focus{box-shadow:0 0 0 3px rgba(0,123,255,.5);outline:none}.start-upload-button:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.upload-progress-section{margin-top:24px}.progress-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px}.progress-header h4{color:#495057;font-size:1.125rem;font-weight:600;margin:0}.batch-status{align-items:flex-end;display:flex;flex-direction:column;gap:8px;min-width:200px}.status-text{color:#6c757d;font-size:.9rem;text-align:right}.overall-progress{align-items:center;display:flex;gap:12px;width:100%}.progress-track{background-color:#e9ecef;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-bar.overall{background:linear-gradient(90deg,#007bff,#0056b3);border-radius:4px;height:100%;transition:width .3s ease}.progress-percentage{color:#495057;font-size:.875rem;font-weight:500;min-width:40px;text-align:right}.upload-items{display:flex;flex-direction:column;gap:0}@media (max-width:768px){.batch-upload-manager{padding:16px}.upload-header{align-items:flex-start;flex-direction:column;gap:12px}.form-row{gap:12px;grid-template-columns:1fr}.progress-header{align-items:flex-start;flex-direction:column;gap:12px}.batch-status{align-items:flex-start;min-width:0;min-width:auto;width:100%}.status-text{text-align:left}.upload-configuration{padding:16px}}@media (max-width:480px){.batch-upload-manager{padding:12px}.upload-header h3{font-size:1.25rem}.progress-header h4,.upload-configuration h4{font-size:1rem}.form-group input,.form-group select{font-size:.9rem;padding:8px 10px}.start-upload-button{font-size:.95rem;padding:10px 20px}}@media (prefers-contrast:high){.form-group input,.form-group select,.upload-configuration{border-color:#000;border-width:2px}.progress-track{border:1px solid #000}}@media (prefers-reduced-motion:reduce){.clear-all-button,.form-group input,.form-group select,.progress-bar.overall,.start-upload-button{transition:none}.start-upload-button:hover:not(:disabled){transform:none}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathbf,.katex .mathit{font-family:KaTeX_Main}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}

/*!
 * Quill Editor v2.0.2
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;left:-100000px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{word-wrap:break-word;box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;height:100%;line-height:1.42;outline:none;overflow-y:auto;padding:12px 15px;-o-tab-size:4;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre{margin:0;padding:0}@supports (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor p{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor li,.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"\2022"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"\2611"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"\2610"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:"";display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:none}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor .ql-code-block-container,.ql-snow .ql-editor code{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;padding:2px 4px;width:24px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{margin-top:-9px;position:absolute;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;display:none;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.dashboard-nav.modern-nav{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.nav-button.modern-btn{background:#fff;border:1px solid #e2e8f0;box-shadow:none;color:#475569;min-width:140px}.nav-button.modern-btn:hover{background:#f8fafc;border-color:#cbd5e0;box-shadow:none;transform:none}.nav-button.modern-btn.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-color:transparent;box-shadow:0 2px 4px rgba(59,130,246,.3);color:#fff}.nav-button.modern-btn.active:hover{box-shadow:0 4px 8px rgba(59,130,246,.4);transform:translateY(-2px)}.content-actions{align-items:center;display:flex}.content-list-container{margin-top:1.5rem}.actions-col{min-width:200px;width:200px}.actions-cell{align-items:center;display:flex;gap:.5rem;padding:1rem .75rem!important}.modern-btn-action{align-items:center;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:6px;box-shadow:0 1px 3px rgba(59,130,246,.3);color:#fff;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:all .2s ease;white-space:nowrap}.modern-btn-action:hover:not(:disabled){box-shadow:0 3px 6px rgba(59,130,246,.4);transform:translateY(-1px)}.modern-btn-action.delete-button{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 1px 3px rgba(239,68,68,.3)}.modern-btn-action.delete-button:hover:not(:disabled){box-shadow:0 3px 6px rgba(239,68,68,.4)}.modern-btn-action.edit-button{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 1px 3px rgba(16,185,129,.3)}.modern-btn-action.edit-button:hover:not(:disabled){box-shadow:0 3px 6px rgba(16,185,129,.4)}@media (max-width:768px){.dashboard-nav.modern-nav{gap:.75rem}.nav-button.modern-btn{flex:1 1;min-width:auto}.actions-cell{align-items:stretch;flex-direction:column}.modern-btn-action{justify-content:center;width:100%}.content-actions{width:100%}.upload-button.modern-btn{justify-content:center;width:100%}}@media (max-width:480px){.header-content{flex-direction:column;gap:1rem}.content-actions{width:100%}.dashboard-nav.modern-nav{flex-direction:column}.nav-button.modern-btn{width:100%}}.content-error,.content-loading{align-items:center;color:#64748b;display:flex;font-size:1.125rem;justify-content:center;padding:4rem 2rem}.content-error{color:#ef4444}.ocr-health-container{margin:0 auto;max-width:1400px;padding:2rem}.ocr-health-header{margin-bottom:2rem}.ocr-health-header h1{color:#2c3e50;font-size:2rem;margin-bottom:.5rem}.ocr-health-subtitle{color:#7f8c8d;font-size:1rem}.ocr-models-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:3rem}.ocr-model-card{background:#fff;border:2px solid #e1e8ed;border-radius:8px;cursor:pointer;padding:1.5rem;transition:all .3s ease}.ocr-model-card:hover{border-color:#3498db;box-shadow:0 4px 12px rgba(52,152,219,.15);transform:translateY(-2px)}.ocr-model-card.selected{background-color:#ebf5fb;border-color:#2980b9;box-shadow:0 4px 12px rgba(41,128,185,.2)}.model-card-header{align-items:center;border-bottom:1px solid #ecf0f1;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.model-card-header h3{color:#2c3e50;flex:1 1;font-size:1.25rem;margin:0}.test-now-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;padding:.5rem 1rem;transition:all .2s;white-space:nowrap}.test-now-button:hover:not(:disabled){background-color:#2980b9;box-shadow:0 2px 8px rgba(52,152,219,.3);transform:translateY(-1px)}.test-now-button:disabled{background-color:#95a5a6;cursor:not-allowed;opacity:.7}.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.status-available{background-color:#d4edda;color:#155724}.status-degraded{background-color:#fff3cd;color:#856404}.status-down{background-color:#f8d7da;color:#721c24}.status-unknown{background-color:#e2e3e5;color:#383d41}.model-card-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.stat-item{display:flex;flex-direction:column}.stat-label{color:#7f8c8d;font-size:.75rem;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.stat-value{color:#2c3e50;font-size:1.25rem;font-weight:600}.model-card-status{border-top:1px solid #ecf0f1;margin-top:1rem;padding-top:1rem}.status-row{display:flex;font-size:.85rem;justify-content:space-between;margin-bottom:.5rem}.status-label{color:#7f8c8d;font-weight:500}.status-value{color:#2c3e50}.failure-warning{color:#e74c3c;font-weight:600}.status-message{background-color:#f8f9fa;border-left:3px solid #3498db;color:#2c3e50;font-size:.85rem;margin-top:.75rem;padding:.5rem}.health-status-section{border:2px solid;border-radius:6px;margin:1rem 0;padding:1rem;transition:all .3s ease}.health-status-section.health-ok{background-color:#d4edda;border-color:#28a745}.health-status-section.health-error{background-color:#f8d7da;border-color:#dc3545}.health-badge{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:700;margin-bottom:.5rem;padding:.4rem .8rem}.health-badge.health-available{background-color:#28a745;color:#fff}.health-badge.health-unavailable{background-color:#dc3545;color:#fff}.health-error-message{background-color:hsla(0,0%,100%,.7);border-radius:4px;color:#721c24;font-size:.85rem;line-height:1.5;margin-top:.75rem;padding:.75rem}.health-error-message strong{color:#a71d2a;display:block;margin-bottom:.25rem}.health-error-message a{align-items:center;color:#2980b9;display:inline-flex;font-weight:600;gap:4px;text-decoration:none;transition:all .2s}.health-error-message a:hover{color:#1c5a85;text-decoration:underline;transform:translateX(2px)}.health-success-message{color:#155724;font-size:.85rem;font-style:italic;margin-top:.5rem}.ocr-errors-section{margin-top:3rem}.errors-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.errors-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.filter-clear-btn{background-color:#ecf0f1;border:1px solid #bdc3c7;border-radius:4px;color:#2c3e50;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:all .2s}.filter-clear-btn:hover{background-color:#bdc3c7}.no-errors{background:#d4edda;border-radius:8px;color:#155724;padding:3rem;text-align:center}.no-errors p{font-size:1.1rem;margin:0}.errors-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.errors-table{border-collapse:collapse;width:100%}.errors-table thead{background-color:#34495e;color:#fff}.errors-table th{font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.errors-table tbody tr{border-bottom:1px solid #ecf0f1;transition:background-color .2s}.errors-table tbody tr:hover{background-color:#f8f9fa}.errors-table td{color:#2c3e50;font-size:.9rem;padding:1rem}.error-time{color:#7f8c8d;font-size:.8rem;white-space:nowrap}.error-model{font-weight:600}.error-type-badge{border-radius:4px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.error-auth{background-color:#f8d7da;color:#721c24}.error-rate-limit{background-color:#fff3cd;color:#856404}.error-server{background-color:#f8d7da;color:#721c24}.error-network{background-color:#d1ecf1;color:#0c5460}.error-unknown{background-color:#e2e3e5;color:#383d41}.error-status{color:#e74c3c;font-family:monospace;font-weight:600}.error-message{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocr-health-footer{align-items:center;border-top:1px solid #ecf0f1;display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem}.ocr-health-footer p{color:#7f8c8d;font-size:.85rem;margin:0}.refresh-btn{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.refresh-btn:hover{background-color:#2980b9}.ocr-health-error,.ocr-health-loading{font-size:1.1rem;padding:3rem;text-align:center}.ocr-health-error{background-color:#f8d7da;border-radius:8px;color:#e74c3c;margin:2rem}.test-buttons-group{display:flex;flex-wrap:wrap;gap:.5rem}.test-button{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;padding:.5rem .75rem;transition:all .2s;white-space:nowrap}.test-button:hover:not(:disabled){box-shadow:0 2px 8px rgba(0,0,0,.2);transform:translateY(-1px)}.test-button:disabled{cursor:not-allowed;opacity:.6}.test-quick-button{background-color:#28a745;color:#fff}.test-quick-button:hover:not(:disabled){background-color:#218838}.test-deep-button{background-color:#3498db;color:#fff}.test-deep-button:hover:not(:disabled){background-color:#2980b9}.cache-indicator{color:#7f8c8d;display:block;font-size:.8rem;font-style:italic;margin-top:.5rem}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.3);max-width:500px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #ecf0f1;padding:1.5rem}.modal-header h3{color:#2c3e50;font-size:1.5rem;margin:0}.modal-body{padding:1.5rem}.modal-body p{color:#2c3e50;line-height:1.6;margin:0 0 1rem}.modal-warning{background-color:#fff3cd;border-left:4px solid #ffc107;color:#856404;font-weight:600}.modal-info,.modal-warning{border-radius:4px;padding:1rem}.modal-info{background-color:#d1ecf1;border-left:4px solid #17a2b8;color:#0c5460}.modal-question{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-top:1.5rem}.modal-footer{border-top:1px solid #ecf0f1;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-btn{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.modal-btn-secondary{background-color:#ecf0f1;color:#2c3e50}.modal-btn-secondary:hover{background-color:#bdc3c7}.modal-btn-primary{background-color:#e74c3c;color:#fff}.modal-btn-primary:hover{background-color:#c0392b;box-shadow:0 4px 12px rgba(231,76,60,.3);transform:translateY(-1px)}@media (max-width:768px){.model-card-stats,.ocr-models-grid{grid-template-columns:1fr}.errors-table-container{overflow-x:auto}.errors-table{min-width:800px}.ocr-health-footer{flex-direction:column;gap:1rem;text-align:center}.test-buttons-group{width:100%}.test-button{flex:1 1}.modal-content{margin:1rem;width:95%}.modal-footer{flex-direction:column}.modal-btn{width:100%}}:root{--primary-color:#3b82f6;--primary-dark:#1d4ed8;--primary-light:#60a5fa;--secondary-color:#ec4899;--secondary-dark:#be185d;--secondary-light:#f472b6;--accent-color:#8b5cf6;--text-dark:#1f2937;--text-light:#fff;--text-muted:#6b7280;--background-light:#f8fafc;--background-white:#fff;--background-gradient:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#ec4899);--background-gradient-light:linear-gradient(135deg,rgba(59,130,246,.1),rgba(139,92,246,.1) 50%,rgba(236,72,153,.1));--background-pattern:radial-gradient(circle at 20% 80%,rgba(59,130,246,.8) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(236,72,153,.8) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(139,92,246,.6) 0%,transparent 50%),linear-gradient(135deg,#1e40af,#7c3aed 50%,#be185d);--error-color:#ef4444;--warning-color:#f59e0b;--success-color:#10b981;--shadow-light:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-medium:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-large:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--breakpoint-mobile:320px;--breakpoint-tablet:768px;--breakpoint-desktop:1200px;--touch-target-large:56px;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--math-font-size-mobile:1rem;--math-font-size-tablet:1.125rem;--math-font-size-desktop:1.25rem}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed;color:#1f2937;color:var(--text-dark);font-family:Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden;position:relative}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:normal;width:auto}:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color);outline-offset:2px}[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 1px rgba(59,130,246,.3);outline:3px solid #3b82f6;outline:3px solid var(--primary-color);outline-offset:2px}.touch-manipulation{-webkit-touch-callout:none;touch-action:manipulation;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){:root{--primary-color:#00f;--text-dark:#000;--text-light:#fff;--background-white:#fff;--background-light:#fff}.btn,button{border:2px solid}}.math-renderer{font-family:KaTeX_Main,Times New Roman,serif}.math-inline{display:inline;vertical-align:baseline}.math-display{display:block;margin:1em 0;overflow-x:auto;overflow-y:hidden;text-align:center}@media (max-width:768px){.math-display{font-size:.9em;margin:.8em 0}.math-inline{font-size:.95em}}@media (max-width:480px){.math-display{font-size:.8em;margin:.6em 0}.math-inline{font-size:.9em}}.math-renderer .katex{max-width:100%}.math-renderer .katex-display{overflow-x:auto;overflow-y:hidden;padding:.2em 0}@media (prefers-contrast:high){.math-renderer{filter:contrast(1.2)}}body:before{animation:wave-flow 15s ease-in-out infinite;background:linear-gradient(45deg,transparent 30%,rgba(59,130,246,.4) 50%,transparent 70%),linear-gradient(-45deg,transparent 30%,rgba(236,72,153,.3) 50%,transparent 70%);background-size:200% 200%;z-index:-2}body:after,body:before{content:"";height:100%;left:0;position:fixed;top:0;width:100%}body:after{animation:fluid-motion 20s ease-in-out infinite;background:radial-gradient(ellipse at 20% 20%,rgba(139,92,246,.3) 0,transparent 60%),radial-gradient(ellipse at 80% 80%,rgba(59,130,246,.2) 0,transparent 60%),radial-gradient(ellipse at 50% 50%,rgba(236,72,153,.2) 0,transparent 60%);z-index:-1}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-bottom:1rem}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1 1}.flex-grow{flex-grow:1}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem}.mt-4,.my-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.bg-primary{background-color:#3b82f6;background-color:var(--primary-color)}.bg-secondary{background-color:#ec4899;background-color:var(--secondary-color)}.bg-white{background-color:#fff;background-color:var(--background-white)}.bg-light{background-color:#f8fafc;background-color:var(--background-light)}.text-primary{color:#3b82f6;color:var(--primary-color)}.text-white{color:#fff;color:var(--text-light)}.text-muted{color:#6b7280;color:var(--text-muted)}.form-group{margin-bottom:1rem}.form-label{display:block;font-weight:500;margin-bottom:.5rem}.form-control{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.9);background-clip:padding-box;border:2px solid hsla(0,0%,100%,.3);border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);color:#1f2937;color:var(--text-dark);display:block;font-size:1rem;line-height:1.5;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-control:focus{background:#fff;border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(59,130,246,.25);outline:0;transform:translateY(-1px)}.form-control::placeholder{color:#6b7280;color:var(--text-muted);opacity:.7}.btn{border:1px solid transparent;border-radius:.5rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;line-height:1.5;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-align:center;text-decoration:none;transition:all .3s ease;-webkit-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;color:#fff;color:var(--text-light)}.btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#8b5cf6);background:linear-gradient(135deg,var(--primary-dark),var(--accent-color));box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-secondary{background:linear-gradient(135deg,#ec4899,#f472b6);background:linear-gradient(135deg,var(--secondary-color),var(--secondary-light));border:none;color:#fff;color:var(--text-light)}.btn-secondary:hover{background:linear-gradient(135deg,#be185d,#ec4899);background:linear-gradient(135deg,var(--secondary-dark),var(--secondary-color));box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.btn-outline-primary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:hsla(0,0%,100%,.9);border:2px solid #3b82f6;border:2px solid var(--primary-color);color:#3b82f6;color:var(--primary-color)}.btn-outline-primary:hover{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border-color:transparent;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);color:#fff;color:var(--text-light);transform:translateY(-2px)}.btn-block{display:block;width:100%}.card{word-wrap:break-word;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);background-clip:border-box;border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);display:flex;flex-direction:column;min-width:0;position:relative;transition:all .3s ease}.card:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transform:translateY(-5px)}.card-header{background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0;padding:.75rem 1.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-text:last-child{margin-bottom:0}.card-footer{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.alert,.card-footer{padding:.75rem 1.25rem}.alert{border:1px solid transparent;border-radius:.25rem;margin-bottom:1rem;position:relative}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-warning{background-color:#fff3cd;border-color:#ffeeba;color:#856404}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.animate-spin{animation:spin 1s linear infinite}.hidden{display:none}@media (min-width:768px){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}}.glass-effect{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large)}.gradient-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-weight:700}.hero-section{background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#ec4899);background:var(--background-gradient);background-attachment:fixed;color:#fff;color:var(--text-light);overflow:hidden;padding:4rem 0;position:relative;text-align:center}.hero-section:before{background:rgba(0,0,0,.1);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.hero-section>*{position:relative;z-index:2}.feature-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);margin:1rem;padding:2rem;transition:all .3s ease}.feature-card:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transform:translateY(-10px) scale(1.02)}.feature-icon{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-size:3rem;margin-bottom:1rem}.navbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border-bottom:1px solid hsla(0,0%,100%,.2);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light)}.navbar-brand{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;text-decoration:none}.nav-link{border-radius:.5rem;color:#1f2937;color:var(--text-dark);font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:rgba(59,130,246,.1);color:#3b82f6;color:var(--primary-color);transform:translateY(-1px)}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:2rem}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);max-width:400px;padding:2rem;width:100%}.demo-accounts{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:.5rem;margin-top:1rem;padding:1rem}.demo-account{background:hsla(0,0%,100%,.8);border-radius:.25rem;font-family:monospace;font-size:.9rem;margin:.5rem 0;padding:.5rem}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes wave-flow{0%,to{background-position:0 0,100% 100%;transform:scale(1) rotate(0deg)}25%{background-position:100% 0,0 100%;transform:scale(1.1) rotate(5deg)}50%{background-position:100% 100%,0 0;transform:scale(.9) rotate(-5deg)}75%{background-position:0 100%,100% 0;transform:scale(1.05) rotate(3deg)}}@keyframes fluid-motion{0%,to{filter:blur(20px);transform:translate(0) scale(1)}33%{filter:blur(25px);transform:translate(30px,-20px) scale(1.2)}66%{filter:blur(15px);transform:translate(-20px,30px) scale(.8)}}.floating{animation:float 3s ease-in-out infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{box-shadow:0 0 0 10px rgba(59,130,246,0)}to{box-shadow:0 0 0 0 rgba(59,130,246,0)}}.btn-pulse{animation:pulse 2s infinite}.homepage-container{background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#ec4899);background:var(--background-gradient);min-height:100vh;position:relative}.homepage-content{padding:2rem 0;position:relative;z-index:2}.welcome-section{color:#fff;color:var(--text-light);padding:4rem 0;text-align:center}.welcome-title{font-size:3.5rem;font-weight:800;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.welcome-subtitle{font-size:1.25rem;margin-bottom:2rem;opacity:.9}.action-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:4rem}.features-section{align-items:center;display:flex;flex-direction:column;padding:3rem 2rem;width:100%}.features-section h2{margin-bottom:2rem;text-align:center}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px;padding:2rem;width:100%}@media (min-width:968px){.features-grid .feature-card:nth-child(4){grid-column:2}}.subjects-tree{list-style:none;margin:1rem 0 0;padding-left:1.25rem}.subjects-tree .tree-subject{margin-bottom:.5rem}.subjects-tree .tree-subject-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font:inherit;gap:.35rem;padding:.35rem 0;text-align:left;width:100%}.subjects-tree .tree-subject-toggle:hover{opacity:.9}.subjects-tree .tree-chevron{color:#1a1a1a;font-size:1rem;font-weight:700;min-width:1.5rem;padding:.5rem 0}.curriculum-section .subjects-tree .tree-chevron{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.subjects-tree .tree-subject-name{font-size:1.05rem;font-weight:700}.subjects-tree .tree-categories{border-left:2px solid rgba(59,130,246,.3);list-style:none;margin:0;padding-left:1.25rem}.subjects-tree .tree-subject.collapsed .tree-categories{display:none}.subjects-tree .tree-subject.expanded .tree-categories{display:block}.subjects-tree .tree-category{font-size:.95rem;opacity:.9;padding:.2rem 0}.subjects-tree .tree-category:before{color:#1a1a1a;content:"▸ ";font-weight:700}.curriculum-section .subjects-tree .tree-category:before{color:#fff}.subjects-loading{font-style:italic;margin:1rem 0;opacity:.8}.background-shapes{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:-3}.shape{filter:blur(80px);opacity:.3;position:absolute}.shape-1{animation:fluid-wave 30s ease-in-out infinite;background:linear-gradient(45deg,rgba(59,130,246,.4),rgba(139,92,246,.3));border-radius:60% 40% 70% 30%/50% 60% 40% 70%;height:600px;left:-20%;top:-20%;width:800px}.shape-2{animation:fluid-wave 35s ease-in-out infinite reverse;background:linear-gradient(135deg,rgba(236,72,153,.4),rgba(244,114,182,.2));border-radius:40% 60% 30% 70%/60% 40% 70% 30%;height:800px;right:-25%;top:30%;width:700px}.shape-3{animation:fluid-wave 40s ease-in-out infinite;background:linear-gradient(90deg,rgba(139,92,246,.3),rgba(59,130,246,.2));border-radius:70% 30% 60% 40%/40% 70% 30% 60%;bottom:-10%;height:400px;left:10%;width:900px}.shape-4{animation:fluid-wave 25s ease-in-out infinite reverse;background:linear-gradient(180deg,rgba(244,114,182,.3),rgba(236,72,153,.2));border-radius:50% 50% 80% 20%/60% 40% 60% 40%;height:700px;right:20%;top:10%;width:600px}@keyframes fluid-wave{0%,to{border-radius:60% 40% 70% 30%/50% 60% 40% 70%;transform:translate(0) rotate(0deg) scale(1)}25%{border-radius:40% 60% 30% 70%/70% 30% 60% 40%;transform:translate(100px,-50px) rotate(90deg) scale(1.2)}50%{border-radius:70% 30% 60% 40%/40% 70% 30% 60%;transform:translate(-50px,80px) rotate(180deg) scale(.8)}75%{border-radius:30% 70% 40% 60%/60% 40% 70% 30%;transform:translate(60px,40px) rotate(270deg) scale(1.1)}}.particles{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:-2}.particle{animation:float-particle 10s linear infinite;background:hsla(0,0%,100%,.5);border-radius:50%;height:4px;position:absolute;width:4px}.particle:first-child{animation-delay:0s;left:10%}.particle:nth-child(2){animation-delay:2s;left:20%}.particle:nth-child(3){animation-delay:4s;left:30%}.particle:nth-child(4){animation-delay:6s;left:40%}.particle:nth-child(5){animation-delay:8s;left:50%}.particle:nth-child(6){animation-delay:1s;left:60%}.particle:nth-child(7){animation-delay:3s;left:70%}.particle:nth-child(8){animation-delay:5s;left:80%}.particle:nth-child(9){animation-delay:7s;left:90%}@keyframes float-particle{0%{opacity:0;transform:translateY(100vh) scale(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100px) scale(1)}}.auth-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:1rem;position:relative;z-index:1}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);max-width:500px;padding:2.5rem;transition:all .3s ease;width:100%}.register-card{max-width:600px;padding:2rem}.auth-card:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transform:translateY(-5px)}.auth-header{margin-bottom:2rem;text-align:center}.auth-header h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin-bottom:.5rem}.auth-header p{color:#6b7280;color:var(--text-muted);font-size:1rem;margin-bottom:0}.auth-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:.5rem;color:#dc2626;font-size:.9rem;margin-bottom:1.5rem;padding:1rem;text-align:center}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{grid-gap:1rem;box-sizing:border-box;display:grid;gap:1rem;grid-template-columns:1fr 1fr;width:100%}.form-group{display:flex;flex-direction:column}.form-group label{color:#1f2937;color:var(--text-dark);font-size:.9rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.9);border:2px solid hsla(0,0%,100%,.3);border-radius:.75rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);font-size:1rem;padding:.875rem 1rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(59,130,246,.25);outline:none;transform:translateY(-1px)}.form-group small{color:#6b7280;color:var(--text-muted);font-size:.8rem;margin-top:.25rem}.form-checkbox{align-items:flex-start;display:flex;gap:.75rem;margin:1rem 0}.form-checkbox input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--primary-color);height:1.25rem;margin:0;width:1.25rem}.form-checkbox label{color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:.9rem;line-height:1.4}.auth-link{color:#3b82f6;color:var(--primary-color);font-weight:600;text-decoration:none;transition:color .3s ease}.auth-link:hover{color:#1d4ed8;color:var(--primary-dark);text-decoration:underline}.auth-button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);color:#fff;color:var(--text-light);cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:1rem;padding:1rem 2rem;transition:all .3s ease}.auth-button:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#8b5cf6);background:linear-gradient(135deg,var(--primary-dark),var(--accent-color));box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);transform:translateY(-2px)}.auth-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-footer{border-top:1px solid rgba(0,0,0,.1);margin-top:2rem;padding-top:1.5rem;text-align:center}.auth-footer p{color:#6b7280;color:var(--text-muted);margin:0}@media (max-width:768px){.auth-container{align-items:flex-start;padding:2rem .5rem .5rem}.auth-card{border-radius:1rem;margin:0}.auth-card,.register-card{padding:1.5rem}.auth-header h1{font-size:1.75rem}.form-row{gap:1rem;grid-template-columns:1fr}.form-group input,.form-group select{font-size:1rem;padding:1rem}.auth-button{font-size:1rem;padding:1.25rem 2rem}}@media (max-width:480px){.auth-container{padding:1rem .25rem .25rem}.auth-card{border-radius:.75rem}.auth-card,.register-card{padding:1rem}.auth-header h1{font-size:1.5rem}.auth-header p{font-size:.9rem}.form-group label{font-size:.85rem}.form-group input,.form-group select{font-size:.95rem;padding:.875rem}.form-checkbox{gap:.5rem}.form-checkbox label{font-size:.85rem}.auth-button{font-size:.95rem;padding:1rem 1.5rem}}.form-options{flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:1rem 0}.form-options,.remember-me{align-items:center;display:flex}.remember-me{gap:.5rem}.remember-me input[type=checkbox]{accent-color:#3b82f6;accent-color:var(--primary-color);cursor:pointer;height:1.25rem;margin:0;width:1.25rem}.remember-me label{color:#1f2937;color:var(--text-dark);cursor:pointer;font-size:.9rem;margin:0}.forgot-password{color:#3b82f6;color:var(--primary-color);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .3s ease}.forgot-password:hover{color:#1d4ed8;color:var(--primary-dark);text-decoration:underline}.auth-demo{border-top:1px solid rgba(0,0,0,.1);margin-top:2rem;padding-top:2rem;text-align:center}.auth-demo h3{color:#3b82f6;color:var(--primary-color);font-size:1.1rem;margin-bottom:1rem}.auth-demo p{color:#6b7280;color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.demo-accounts{display:flex;flex-direction:column;gap:.75rem}.demo-account{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:.5rem;padding:.75rem}.demo-account p{color:#1f2937;color:var(--text-dark);font-family:Courier New,monospace;font-size:.85rem;margin:0}.demo-account strong{color:#3b82f6;color:var(--primary-color)}@media (max-width:480px){.form-options{align-items:flex-start;flex-direction:column;gap:.75rem}.auth-demo{margin-top:1.5rem;padding-top:1.5rem}}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{padding-right:3rem;width:100%}.password-toggle{background:none;border:none;border-radius:.25rem;color:#6b7280;color:var(--text-muted);cursor:pointer;font-size:1.2rem;padding:.25rem;position:absolute;right:.75rem;transition:color .3s ease}.password-toggle:hover{background:rgba(59,130,246,.1);color:#3b82f6;color:var(--primary-color)}.field-error{color:#dc2626!important}.field-error,.field-hint{display:block;font-size:.8rem!important;margin-top:.25rem!important}.field-hint{color:#6b7280!important;color:var(--text-muted)!important}.form-group input.error,.form-group select.error{border-color:#dc2626!important;box-shadow:0 0 0 .2rem rgba(220,38,38,.25)!important}.student-fields{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:.75rem;box-sizing:border-box;margin:.5rem 0;overflow:hidden;padding:1.5rem;width:100%}.student-fields .form-row{max-width:100%;width:100%}.student-fields .form-group{min-width:0;width:100%}.student-fields .form-group select{box-sizing:border-box;max-width:100%;overflow:hidden;text-overflow:ellipsis;width:100%}.loading-spinner{animation:spin 1s ease-in-out infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:inline-block;height:1rem;margin-right:.5rem;width:1rem}@media (max-width:640px){.password-input-container input{padding-right:2.5rem}.password-toggle{font-size:1rem;right:.5rem}.student-fields{margin:.25rem 0;padding:1rem}}.form-group input:invalid:not(:focus):not(:placeholder-shown){border-color:#dc2626}.form-group input:valid:not(:focus):not(:placeholder-shown){border-color:#10b981}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.form-group input:focus,.form-group select:focus,.password-toggle:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color);outline-offset:2px}.auth-button,.form-checkbox input,.form-group input,.form-group select,.password-toggle{transition:all .3s ease}.form-checkbox input[type=checkbox]{-webkit-appearance:none;appearance:none;background-color:hsla(0,0%,100%,.9);border:2px solid rgba(59,130,246,.3);border-radius:.25rem;cursor:pointer;display:inline-block;position:relative}.form-checkbox input[type=checkbox]:checked{background-color:#3b82f6;background-color:var(--primary-color);border-color:#3b82f6;border-color:var(--primary-color)}.form-checkbox input[type=checkbox]:checked:after{color:#fff;content:"✓";font-size:.875rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.auth-button:focus{outline:2px solid #3b82f6;outline:2px solid var(--primary-color);outline-offset:2px}.auth-button:active{transform:translateY(0)}.auth-error{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border-bottom:1px solid hsla(0,0%,100%,.2);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);left:0;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem;position:relative}.logo{flex-shrink:0}.logo-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700;text-decoration:none;transition:all .3s ease}.logo-text:hover{transform:scale(1.05)}.main-nav{flex:1 1;margin:0 2rem}.main-nav,.nav-links{display:flex;justify-content:center}.nav-links{align-items:center;gap:1rem;list-style:none;margin:0;max-width:800px;padding:0;width:100%}.nav-links li{display:flex;flex:none;justify-content:center;position:relative}.nav-links a{border-radius:.75rem;color:#1f2937;color:var(--text-dark);display:block;font-size:.9rem;font-weight:500;min-width:auto;overflow:hidden;padding:.75rem 1rem;position:relative;text-align:center;text-decoration:none;transition:all .2s ease;white-space:nowrap}.nav-links a:before{background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .3s ease;width:100%;z-index:-1}.nav-links a:hover:before{left:100%}.nav-links a:hover{background:rgba(59,130,246,.1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);color:#3b82f6;color:var(--primary-color)}.nav-links a.active,.nav-links a.nav-button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);color:#fff;color:var(--text-light)}.nav-links a.nav-button:hover{background:linear-gradient(135deg,#1d4ed8,#8b5cf6);background:linear-gradient(135deg,var(--primary-dark),var(--accent-color));box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);transform:translateY(-2px)}.nav-links a.register-link{background:linear-gradient(135deg,#ec4899,#f472b6);background:linear-gradient(135deg,var(--secondary-color),var(--secondary-light));box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);color:#fff;color:var(--text-light)}.nav-links a.register-link:hover{background:linear-gradient(135deg,#be185d,#ec4899);background:linear-gradient(135deg,var(--secondary-dark),var(--secondary-color));box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);transform:translateY(-2px)}.mobile-menu-toggle{background:none;border:none;border-radius:.5rem;cursor:pointer;display:none;flex-direction:column;padding:.5rem;transition:all .3s ease}.mobile-menu-toggle:hover{background:rgba(59,130,246,.1)}.mobile-menu-toggle .bar{background:#3b82f6;background:var(--primary-color);border-radius:2px;height:3px;margin:3px 0;transition:all .3s ease;width:25px}.mobile-menu-toggle.active .bar:first-child{transform:rotate(-45deg) translate(-5px,6px)}.mobile-menu-toggle.active .bar:nth-child(2){opacity:0}.mobile-menu-toggle.active .bar:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}.user-menu{flex-shrink:0;position:relative}.user-menu-toggle{align-items:center;background:hsla(0,0%,100%,.8);border:1px solid rgba(59,130,246,.2);border-radius:.75rem;cursor:pointer;display:flex;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.user-menu-toggle:hover{background:rgba(59,130,246,.1);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);transform:translateY(-1px)}.user-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:50%;color:#fff;color:var(--text-light);display:flex;font-size:.875rem;font-weight:600;height:2rem;justify-content:center;width:2rem}.user-name{color:#1f2937;color:var(--text-dark);font-weight:500}.dropdown-arrow{color:#6b7280;color:var(--text-muted);font-size:.75rem;transition:transform .3s ease}.user-menu-toggle:hover .dropdown-arrow{transform:rotate(180deg)}.user-dropdown{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:.75rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);margin-top:.5rem;min-width:200px;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-10px);transition:all .3s ease;visibility:hidden}.user-menu:hover .user-dropdown{opacity:1;transform:translateY(0);visibility:visible}.dropdown-header{border-bottom:1px solid rgba(0,0,0,.1);padding:1rem}.user-full-name{color:#1f2937;color:var(--text-dark);display:block;font-weight:600;margin-bottom:.25rem}.user-email{color:#6b7280;color:var(--text-muted);display:block;font-size:.875rem}.dropdown-menu{list-style:none;margin:0;padding:.5rem 0}.dropdown-menu li{margin:0}.dropdown-menu a,.dropdown-menu button{background:none;border:none;color:#1f2937;color:var(--text-dark);cursor:pointer;display:block;font-size:.9rem;padding:.75rem 1rem;text-align:left;text-decoration:none;transition:all .3s ease;width:100%}.dropdown-menu a:hover,.dropdown-menu button:hover{background:rgba(59,130,246,.1);color:#3b82f6;color:var(--primary-color)}@media (max-width:1024px){.header-content{padding:1rem 1.5rem}.nav-links{gap:.75rem}.nav-links a{font-size:.85rem;padding:.5rem .75rem}}@media (max-width:768px){.header-content{padding:1rem}.mobile-menu-toggle{display:flex}.main-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.98);border:1px solid hsla(0,0%,100%,.2);border-radius:0 0 1rem 1rem;border-top:none;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);left:0;margin:0;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-20px);transition:all .3s ease;visibility:hidden}.main-nav.mobile-open{opacity:1;transform:translateY(0);visibility:visible}.nav-links{flex-direction:column;gap:0;max-width:none;padding:1rem 0;width:100%}.nav-links li{width:100%}.nav-links a{border-bottom:1px solid rgba(0,0,0,.05);border-radius:0;display:block;font-size:1rem;padding:1rem 1.5rem}.nav-links a:hover{background:rgba(59,130,246,.1);box-shadow:none;transform:none}.nav-links a.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));color:#fff;color:var(--text-light)}.nav-links a.register-link{background:linear-gradient(135deg,#ec4899,#f472b6);background:linear-gradient(135deg,var(--secondary-color),var(--secondary-light));border-bottom:none;border-radius:.5rem;color:#fff;color:var(--text-light);margin:.5rem 1rem}.user-menu-toggle{padding:.5rem .75rem}.user-name{display:none}}@media (max-width:480px){.header-content{padding:.75rem}.logo-text{font-size:1.5rem}.nav-links a{font-size:.95rem;padding:.875rem 1rem}.user-dropdown{left:-1rem;margin-top:.25rem;right:-1rem}}.main-content{margin-top:100px;min-height:calc(100vh - 100px);padding-top:1rem;position:relative;z-index:1}@media (max-width:768px){.main-content{margin-top:90px;min-height:calc(100vh - 90px);padding-top:.5rem}}@media (max-width:480px){.main-content{margin-top:85px;min-height:calc(100vh - 85px)}}.footer{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border-top:1px solid hsla(0,0%,100%,.2);box-shadow:0 -4px 6px -1px rgba(0,0,0,.1),0 -2px 4px -1px rgba(0,0,0,.06);margin-top:auto;position:relative;z-index:10}.footer-content{align-items:flex-start;display:flex;flex-direction:row;gap:4rem;justify-content:center;margin:0 auto;max-width:1200px;padding:3rem 2rem 2rem}.footer-logo{display:flex;flex-direction:column;gap:1rem}.footer-logo .logo-text{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin-bottom:.5rem}.footer-tagline{color:#6b7280;color:var(--text-muted);font-size:1rem;line-height:1.6;margin:0;max-width:300px}.footer-links{display:flex;gap:2rem;justify-content:center}.footer-section{align-items:center;display:flex;flex-direction:column}.footer-section h3{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;color:#1f2937;color:var(--text-dark);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.footer-section ul{align-items:center;display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.footer-section li{margin:0}.footer-section a{border-radius:.25rem;color:#6b7280;color:var(--text-muted);font-size:.95rem;padding:.25rem 0;position:relative;text-decoration:none;transition:all .3s ease}.footer-section a:before{background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.footer-section a:hover{color:#3b82f6;color:var(--primary-color);transform:translateX(5px)}.footer-section a:hover:before{width:100%}.footer-bottom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.05);border-top:1px solid rgba(0,0,0,.1);padding:1.5rem 2rem;text-align:center}.footer-bottom p{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:.9rem;gap:.5rem;justify-content:center;margin:0}.footer-bottom p:before{color:#3b82f6;color:var(--primary-color);content:"©";font-size:1.1rem}.footer-extra{background:rgba(59,130,246,.05);border-top:1px solid rgba(59,130,246,.1);padding:2rem;text-align:center}.footer-social{gap:1.5rem;margin-bottom:1.5rem}.footer-social,.social-link{display:flex;justify-content:center}.social-link{align-items:center;background:hsla(0,0%,100%,.9);border-radius:50%;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);color:#3b82f6;color:var(--primary-color);font-size:1.2rem;height:2.5rem;text-decoration:none;transition:all .3s ease;width:2.5rem}.social-link:hover{background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);color:#fff;color:var(--text-light);transform:translateY(-3px)}.footer-info{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:1rem}.footer-info span{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:.9rem;gap:.5rem}.footer-info span:before{color:#3b82f6;color:var(--primary-color);content:"•";font-weight:700}@media (max-width:768px){.footer-content{gap:2rem;grid-template-columns:1fr;padding:2rem 1rem 1.5rem;text-align:center}.footer-logo{align-items:center}.footer-tagline{max-width:none;text-align:center}.footer-links{gap:2rem;grid-template-columns:1fr;text-align:center}.footer-section a:hover{transform:none}.footer-bottom{padding:1rem}.footer-bottom p{flex-direction:column;font-size:.85rem;gap:.25rem}.footer-social{gap:1rem}.footer-info{flex-direction:column;gap:.5rem}}@media (max-width:480px){.footer-content{padding:1.5rem .75rem 1rem}.footer-logo .logo-text{font-size:1.75rem}.footer-tagline{font-size:.9rem}.footer-section h3{font-size:1rem}.footer-section a{font-size:.9rem}.footer-bottom{padding:.75rem}.social-link{font-size:1rem;height:2rem;width:2rem}}.footer-section{animation:fadeInUp .6s ease-out}.footer-section:first-child{animation-delay:.1s}.footer-section:nth-child(2){animation-delay:.2s}.footer-section:nth-child(3){animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.layout-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1}.practice-exams-container{margin:0 auto;max-width:1200px;padding:2rem}.practice-exams-container h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;text-align:center}.test-generator-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);margin-bottom:3rem;padding:2rem}.test-generator-section h2{color:#3b82f6;color:var(--primary-color);font-size:1.5rem;margin-bottom:.5rem}.test-generator-section p{color:#6b7280;color:var(--text-muted);margin-bottom:2rem}.generator-form{display:flex;flex-direction:column;gap:1.5rem}.generator-row{grid-gap:1rem;align-items:end;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.generator-row .form-group{display:flex;flex-direction:column}.generator-row .form-group label{color:#1f2937;color:var(--text-dark);font-size:.9rem;font-weight:600;margin-bottom:.5rem}.generate-btn{align-items:center;border-radius:.75rem;display:flex;font-weight:600;gap:.5rem;height:-webkit-fit-content;height:fit-content;justify-content:center;min-width:180px;padding:.875rem 1.5rem;transition:all .3s ease}.generate-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.generate-btn:disabled:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);transform:none}.existing-exams-section h2{color:#3b82f6;color:var(--primary-color);font-size:1.5rem;margin-bottom:1.5rem}.exams-filters{margin-bottom:2rem}.filter-container{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.filter-select{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.9);border:2px solid hsla(0,0%,100%,.3);border-radius:.75rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);font-size:1rem;min-width:150px;padding:.75rem 1rem;transition:all .3s ease}.filter-select:focus{background:#fff;border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(59,130,246,.25);outline:none;transform:translateY(-1px)}.exams-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:2rem}.exam-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.exam-card:hover{box-shadow:0 25px 50px -12px rgba(0,0,0,.25);transform:translateY(-5px)}.exam-card:before{background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));content:"";height:4px;left:0;position:absolute;right:0;top:0}.difficulty-indicator{border-radius:1rem;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;position:absolute;right:1rem;text-transform:uppercase;top:1rem}.difficulty-indicator.easy{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#059669}.difficulty-indicator.medium{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#d97706}.difficulty-indicator.hard{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#dc2626}.exam-card h3{color:#1f2937;color:var(--text-dark);font-size:1.25rem;margin-bottom:1rem;margin-top:.5rem}.exam-card p{color:#6b7280;color:var(--text-muted);line-height:1.5;margin-bottom:1.5rem}.exam-meta{grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr 1fr}.meta-item{border-bottom:1px solid rgba(0,0,0,.05);justify-content:space-between;padding:.5rem 0}.meta-value{color:#1f2937;color:var(--text-dark);font-size:.9rem}.no-exams{background:hsla(0,0%,100%,.5);border:2px dashed rgba(0,0,0,.1);border-radius:1rem;margin:3rem 0;padding:2rem}.exams-error,.exams-loading,.no-exams{color:#6b7280;color:var(--text-muted);font-size:1.1rem;text-align:center}.exams-error,.exams-loading{padding:3rem}.exams-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:1rem;color:#ef4444;color:var(--error-color)}@media (max-width:768px){.practice-exams-container{padding:1rem}.test-generator-section{padding:1.5rem}.generator-row{gap:1rem;grid-template-columns:1fr}.filter-container{align-items:stretch;flex-direction:column}.filter-select{min-width:auto}.exams-grid{gap:1.5rem}.exam-meta,.exams-grid{grid-template-columns:1fr}}@media (max-width:480px){.practice-exams-container{padding:.5rem}.test-generator-section{margin-bottom:2rem;padding:1rem}.exam-card{padding:1rem}.difficulty-indicator{display:inline-block;margin-bottom:1rem;position:static}}.exam-page-container{margin:0 auto;max-width:1000px;padding:2rem}.exam-intro{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);padding:2rem;text-align:center}.exam-intro h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;margin-bottom:2rem}.exam-meta{grid-gap:1rem;background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:.75rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:2rem 0;padding:1.5rem}.meta-item{align-items:center;display:flex;flex-direction:column;text-align:center}.meta-label{color:#6b7280;color:var(--text-muted);font-size:.9rem;font-weight:500;margin-bottom:.25rem}.meta-value{color:#3b82f6;color:var(--primary-color);font-size:1.1rem;font-weight:600}.exam-description,.exam-instructions{background:hsla(0,0%,100%,.8);border:1px solid rgba(0,0,0,.1);border-radius:.75rem;margin:2rem 0;padding:1.5rem;text-align:left}.exam-description h2,.exam-instructions h2{color:#3b82f6;color:var(--primary-color);margin-bottom:1rem}.exam-instructions pre{color:#1f2937;color:var(--text-dark);font-family:inherit;line-height:1.6;white-space:pre-wrap}.start-exam-button{background:linear-gradient(135deg,#3b82f6,#8b5cf6);background:linear-gradient(135deg,var(--primary-color),var(--accent-color));border:none;border-radius:.75rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);color:#fff;color:var(--text-light);cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem 2rem;transition:all .3s ease}.start-exam-button:hover{background:linear-gradient(135deg,#1d4ed8,#8b5cf6);background:linear-gradient(135deg,var(--primary-dark),var(--accent-color));transform:translateY(-2px)}.exam-in-progress,.start-exam-button:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large)}.exam-in-progress{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1rem;padding:2rem}.exam-header{align-items:center;border-bottom:2px solid rgba(0,0,0,.1);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.exam-header h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;margin:0}.exam-timer{background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);border-radius:.5rem;color:#3b82f6;color:var(--primary-color);font-size:1.2rem;font-weight:600;padding:.5rem 1rem}.time-warning{animation:pulse 1s infinite;color:#ef4444!important;color:var(--error-color)!important}.exam-navigation{align-items:center;background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:.75rem;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1rem}.question-progress{color:#3b82f6;color:var(--primary-color);font-weight:600}.question-navigator{display:flex;flex-wrap:wrap;gap:.5rem}.question-nav-button{background:hsla(0,0%,100%,.9);border:2px solid rgba(59,130,246,.3);border-radius:.5rem;color:#3b82f6;color:var(--primary-color);cursor:pointer;font-weight:600;height:2.5rem;transition:all .3s ease;width:2.5rem}.question-nav-button:hover{background:rgba(59,130,246,.1);transform:translateY(-1px)}.question-nav-button.current{background:#3b82f6;background:var(--primary-color);border-color:#3b82f6;border-color:var(--primary-color);color:#fff;color:var(--text-light)}.question-nav-button.answered{background:rgba(16,185,129,.1);border-color:#10b981;color:#059669}.question-nav-button.answered.current{background:#10b981;border-color:#10b981;color:#fff;color:var(--text-light)}.question-container{margin:2rem 0}.question-container h2{color:#3b82f6;color:var(--primary-color);margin-bottom:1rem}.question-content{background:hsla(0,0%,100%,.8);border-left:4px solid #3b82f6;border-left:4px solid var(--primary-color);border-radius:.5rem;color:#1f2937;color:var(--text-dark);font-size:1.1rem;line-height:1.6;margin-bottom:2rem;padding:1rem}.options-list{display:flex;flex-direction:column;gap:1rem}.option{align-items:center;background:hsla(0,0%,100%,.8);border:2px solid rgba(0,0,0,.1);border-radius:.75rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.option:hover{background:rgba(59,130,246,.05);border-color:rgba(59,130,246,.3);transform:translateX(5px)}.option.selected{background:rgba(59,130,246,.1);border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light)}.option.correct{background:rgba(16,185,129,.1);border-color:#10b981;color:#059669}.option.incorrect{background:rgba(239,68,68,.1);border-color:#ef4444;color:#dc2626}.option-label{align-items:center;background:#3b82f6;background:var(--primary-color);border-radius:50%;color:#fff;color:var(--text-light);display:flex;flex-shrink:0;font-weight:600;height:2rem;justify-content:center;width:2rem}.option.selected .option-label{background:#8b5cf6;background:var(--accent-color)}.option.correct .option-label{background:#10b981}.option.incorrect .option-label{background:#ef4444}.option-text{flex:1 1;font-size:1rem;line-height:1.5}.question-explanation{background:rgba(139,92,246,.05);border:1px solid rgba(139,92,246,.2);border-radius:.75rem;margin-top:2rem;padding:1.5rem}.question-explanation h3{color:#8b5cf6;color:var(--accent-color);margin-bottom:1rem}.question-explanation pre{color:#1f2937;color:var(--text-dark);font-family:inherit;line-height:1.6;white-space:pre-wrap}.exam-controls{align-items:center;border-top:2px solid rgba(0,0,0,.1);display:flex;gap:1rem;justify-content:space-between;margin-top:2rem;padding-top:2rem}.next-button,.previous-button,.review-button,.submit-button{border:none;border-radius:.75rem;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);box-shadow:var(--shadow-light);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.next-button,.previous-button{background:hsla(0,0%,100%,.9);border:2px solid #3b82f6;border:2px solid var(--primary-color);color:#3b82f6;color:var(--primary-color)}.next-button:hover,.previous-button:hover{background:#3b82f6;background:var(--primary-color);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);color:#fff;color:var(--text-light);transform:translateY(-2px)}.next-button:disabled,.previous-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.review-button{background:linear-gradient(135deg,#8b5cf6,#ec4899);background:linear-gradient(135deg,var(--accent-color),var(--secondary-color));color:#fff;color:var(--text-light)}.review-button:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.submit-button{background:linear-gradient(135deg,#ec4899,#f472b6);background:linear-gradient(135deg,var(--secondary-color),var(--secondary-light));color:#fff;color:var(--text-light)}.submit-button:hover{background:linear-gradient(135deg,#be185d,#ec4899);background:linear-gradient(135deg,var(--secondary-dark),var(--secondary-color));box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);transform:translateY(-2px)}@media (max-width:768px){.exam-page-container{padding:1rem}.exam-in-progress,.exam-intro{padding:1.5rem}.exam-header{text-align:center}.exam-header,.exam-navigation{flex-direction:column;gap:1rem}.question-navigator{justify-content:center}.exam-controls{flex-direction:column;gap:1rem}.exam-controls>*{width:100%}}.math-analyzer-container{margin:0 auto;max-width:1200px;padding:2rem}.analyzer-header{margin-bottom:3rem;text-align:center}.analyzer-header h1{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#3b82f6,#ec4899);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text;font-size:2.5rem;margin-bottom:1rem}.analyzer-header p{color:#6b7280;color:var(--text-muted);font-size:1.2rem;margin:0 auto;max-width:600px}.upload-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);margin-bottom:2rem;padding:2rem}.upload-options{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.upload-card{align-items:center;background:hsla(0,0%,100%,.8);border:2px dashed rgba(59,130,246,.3);border-radius:1rem;cursor:pointer;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:280px;padding:2rem;text-align:center;transition:all .3s ease}.upload-card:hover{background:rgba(59,130,246,.05);border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);transform:translateY(-5px)}.upload-icon{align-items:center;display:flex;font-size:3rem;height:4rem;justify-content:center;margin-bottom:1rem;margin-left:auto;margin-right:auto;width:4rem}.upload-card h3{color:#3b82f6;color:var(--primary-color);font-size:1.25rem;font-weight:600;margin-bottom:.5rem;text-align:center}.upload-card p{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;flex-grow:1;line-height:1.5;margin-bottom:1.5rem;text-align:center}.image-preview{background:hsla(0,0%,100%,.9);border:1px solid rgba(0,0,0,.1);border-radius:1rem;padding:2rem;text-align:center}.image-preview h3{color:#3b82f6;color:var(--primary-color);margin-bottom:1rem}.image-preview img{border-radius:.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);margin-bottom:1.5rem;max-height:400px;max-width:100%}.preview-actions{flex-wrap:wrap;gap:1rem}.analyze-btn,.preview-actions{display:flex;justify-content:center}.analyze-btn{align-items:center;gap:.5rem;min-width:150px}.camera-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1.5rem;padding:2rem;text-align:center}.camera-container,.camera-section{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large)}.camera-container{border-radius:1rem;display:inline-block;margin-bottom:2rem;overflow:hidden;position:relative}.camera-container video{display:block;height:auto;max-width:600px;width:100%}.camera-controls{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.manual-input-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);padding:2rem}.manual-input-section h3{color:#3b82f6;color:var(--primary-color);margin-bottom:1rem}.manual-input-section p{color:#6b7280;color:var(--text-muted);margin-bottom:1.5rem}.manual-input-section textarea{font-family:Courier New,monospace;font-size:1rem;line-height:1.5;min-height:150px;resize:vertical;width:100%}.manual-input-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem}.analysis-results{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.2);border-radius:1.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);padding:2rem}.result-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.result-header h2{color:#3b82f6;color:var(--primary-color);margin:0}.confidence-badge{border-radius:2rem}.confidence-badge.high{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#059669}.confidence-badge.medium{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#d97706}.detected-problem{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.detected-problem h3{color:#3b82f6;color:var(--primary-color);margin-bottom:1rem}.problem-display{background:hsla(0,0%,100%,.8);border-radius:.5rem;color:#1f2937;color:var(--text-dark);font-family:Courier New,monospace;font-size:1.5rem;font-weight:600;margin-bottom:1rem;padding:1rem;text-align:center}.problem-meta{justify-content:center}.difficulty-tag,.topic-tag{border-radius:1rem;font-size:.8rem;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.topic-tag{background:rgba(139,92,246,.1);border:1px solid rgba(139,92,246,.3);color:#8b5cf6;color:var(--accent-color)}.difficulty-tag.easy{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#059669}.difficulty-tag.medium{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#d97706}.difficulty-tag.hard{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:#dc2626}.student-work{background:hsla(0,0%,100%,.8);border:1px solid rgba(0,0,0,.1);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.student-work h3{margin-bottom:1rem}.student-work h3,.work-display{color:#1f2937;color:var(--text-dark)}.work-display{background:rgba(0,0,0,.05);border-radius:.5rem;font-family:Courier New,monospace;font-size:1.1rem;line-height:1.6;margin:0;padding:1rem;white-space:pre-wrap}.correctness-indicator{border:2px solid;border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.correctness-indicator.correct{background:rgba(16,185,129,.1);border-color:#10b981}.correctness-indicator.incorrect{background:rgba(239,68,68,.1);border-color:#ef4444}.correct-message,.incorrect-message{align-items:flex-start;display:flex;gap:1rem}.status-icon{flex-shrink:0;font-size:2rem}.correct-message h4{color:#059669;margin-bottom:.5rem}.incorrect-message h4{color:#dc2626;margin-bottom:.5rem}.correct-message p,.incorrect-message p{color:#6b7280;color:var(--text-muted);margin:0}.errors-section{background:rgba(239,68,68,.05);border:1px solid rgba(239,68,68,.2);border-radius:1rem}.error-item{background:hsla(0,0%,100%,.8);border-left:4px solid #ef4444;border-radius:.75rem;display:flex;gap:1rem;margin-bottom:1.5rem}.error-step{align-items:center;background:#ef4444;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;padding:.5rem;width:2.5rem}.error-details{flex:1 1}.error-description{color:#dc2626;font-weight:600}.error-correction{color:#1f2937;color:var(--text-dark);line-height:1.5}.correct-solution{background:rgba(16,185,129,.05);border:1px solid rgba(16,185,129,.2);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.correct-solution h3{color:#059669;margin-bottom:1.5rem}.solution-step{background:hsla(0,0%,100%,.8);border-left:4px solid #10b981;border-radius:.75rem}.step-number{align-items:center;background:#10b981;border-radius:50%;display:flex;font-size:.9rem;height:2.5rem;justify-content:center;padding:.5rem;width:2.5rem}.step-equation{color:#1f2937;color:var(--text-dark);font-size:1.2rem}.step-explanation{color:#6b7280;color:var(--text-muted);line-height:1.5}.struggling-section{background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.2);border-radius:1rem;margin-bottom:2rem;padding:1.5rem}.struggling-alert{align-items:flex-start;display:flex;gap:1rem;margin-bottom:2rem}.alert-icon{flex-shrink:0;font-size:2rem}.struggling-alert h4{color:#d97706;margin-bottom:.5rem}.struggling-alert p{color:#1f2937;color:var(--text-dark);line-height:1.5;margin:0}.practice-problems h4{color:#d97706;margin-bottom:1rem}.problems-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.practice-problem{background:hsla(0,0%,100%,.8);border:1px solid rgba(245,158,11,.3);border-radius:.5rem;font-family:Courier New,monospace;font-weight:600;padding:1rem;text-align:center}.generate-more-btn{font-size:1.1rem;padding:1rem;width:100%}.result-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}@media (max-width:768px){.math-analyzer-container{padding:1rem}.analyzer-header h1{font-size:2rem}.analyzer-header p{font-size:1rem}.analysis-results,.camera-section,.manual-input-section,.upload-section{padding:1.5rem}.upload-options{gap:1rem;grid-template-columns:1fr}.upload-card{padding:1.5rem}.result-header{align-items:flex-start}.camera-controls,.manual-input-actions,.preview-actions,.result-actions,.result-header{flex-direction:column}.camera-controls>*,.manual-input-actions>*,.preview-actions>*,.result-actions>*{width:100%}.correct-message,.error-item,.incorrect-message,.solution-step,.struggling-alert{flex-direction:column;text-align:center}.problems-list{grid-template-columns:1fr}}@media (max-width:480px){.math-analyzer-container{padding:.5rem}.analysis-results,.camera-section,.manual-input-section,.upload-section{padding:1rem}.analyzer-header h1{font-size:1.75rem}.problem-display{font-size:1.2rem}.step-equation{font-size:1rem}}.error-section{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);border-radius:1rem;margin-bottom:2rem;padding:2rem;text-align:center}.error-message{align-items:flex-start;display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.error-icon{flex-shrink:0;font-size:2rem}.error-message h3{color:#dc2626;margin-bottom:.5rem}.error-message p{color:#1f2937;color:var(--text-dark);margin:0}.ocr-notes{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.2);border-radius:.75rem;margin-bottom:2rem;padding:1rem}.ocr-info{align-items:center;color:#1f2937;color:var(--text-dark);display:flex;font-size:.95rem;gap:.75rem}.info-icon{color:#3b82f6;color:var(--primary-color);flex-shrink:0;font-size:1.2rem}@media (max-width:768px){.error-message,.ocr-info{flex-direction:column;text-align:center}.ocr-info{gap:.5rem}}.ocr-reading-section{background:hsla(0,0%,100%,.95);border-left:4px solid #4caf50;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.ocr-reading-section h3{color:#2c3e50;font-size:1.2rem;margin-bottom:1rem}.ocr-reading-display{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:1rem}.ocr-reading-display p{color:#6c757d;font-size:.9rem;font-style:italic;margin-bottom:.5rem}.ocr-text{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#2c3e50;font-family:Courier New,monospace;font-size:1.1rem;line-height:1.4;padding:.75rem;white-space:pre-wrap}.processing-section{align-items:center;display:flex;justify-content:center;min-height:400px;padding:2rem}.processing-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:15px;box-shadow:0 8px 32px rgba(0,0,0,.1);max-width:400px;padding:3rem;text-align:center}.processing-icon{margin-bottom:1.5rem}.processing-card h3{color:#3b82f6;color:var(--primary-color);font-size:1.5rem;margin-bottom:1rem}.processing-card p{color:#6b7280;color:var(--text-muted);font-size:1.1rem}.verification-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:15px;box-shadow:0 8px 32px rgba(0,0,0,.1);margin:2rem 0;padding:2rem}.verification-card h3{color:#3b82f6;color:var(--primary-color);font-size:1.4rem;margin-bottom:1rem}.verification-card>p{color:#6b7280;color:var(--text-muted);font-size:1.1rem;margin-bottom:1.5rem}.ocr-display{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.ocr-confidence{margin-bottom:1rem}.confidence-badge{border-radius:20px;display:inline-block;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.confidence-badge.high{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.confidence-badge.medium{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.ocr-text-container{margin:1.5rem 0}.ocr-text-container label{color:var(--text-color);display:block;font-weight:600;margin-bottom:.5rem}.ocr-text-editor{border:2px solid #dee2e6;border-radius:8px;font-family:Courier New,monospace;font-size:1rem;line-height:1.4;min-height:120px;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.ocr-text-editor:focus{border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(59,130,246,.25);outline:none}.ocr-notes{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;margin-top:1rem;padding:.75rem}.ocr-notes small{color:#1565c0;font-size:.9rem}.verification-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.verification-actions .btn{flex:1 1;font-weight:600;min-width:200px;padding:.75rem 1.5rem}.results-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:15px;box-shadow:0 8px 32px rgba(0,0,0,.1);margin:2rem 0;padding:2rem}.results-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.results-header h2{color:#3b82f6;color:var(--primary-color);font-size:1.8rem;margin:0}.correctness-badge{border-radius:25px;font-size:1rem;font-weight:600;padding:.75rem 1.5rem}.correctness-badge.correct{background:#d4edda;border:2px solid #c3e6cb;color:#155724}.correctness-badge.incorrect{background:#f8d7da;border:2px solid #f5c6cb;color:#721c24}.problem-summary{background:#f8f9fa;border-left:4px solid #3b82f6;border-left:4px solid var(--primary-color);border-radius:12px;margin-bottom:2rem;padding:1.5rem}.problem-summary h3{color:#3b82f6;color:var(--primary-color);font-size:1.3rem;margin-bottom:1rem}.problem-text{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:var(--text-color);font-family:Courier New,monospace;font-size:1.1rem;margin-bottom:1rem;padding:1rem}.problem-meta{display:flex;flex-wrap:wrap;gap:1rem}.difficulty-tag,.topic-tag{border-radius:15px;font-size:.85rem;font-weight:600;padding:.4rem .8rem}.topic-tag{background:#e3f2fd;border:1px solid #bbdefb;color:#1565c0}.difficulty-tag.easy{background:#e8f5e8;border:1px solid #c8e6c9;color:#2e7d32}.difficulty-tag.medium{background:#fff3e0;border:1px solid #ffcc02;color:#ef6c00}.difficulty-tag.hard{background:#ffebee;border:1px solid #ffcdd2;color:#c62828}.student-work-section{background:#f8f9fa;border-left:4px solid #6c757d;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.student-work-section h3{color:#495057;font-size:1.3rem;margin-bottom:1rem}.student-work-display{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:var(--text-color);font-family:Courier New,monospace;font-size:1.1rem;line-height:1.8;margin:0;padding:1.5rem;white-space:pre-wrap}.student-work-display .work-step{border-bottom:1px solid rgba(0,0,0,.05);display:block;margin-bottom:.8rem;padding:.5rem 0}.student-work-display .work-step:last-child{border-bottom:none;margin-bottom:0}.student-work-display .work-step:hover{background:rgba(59,130,246,.05);border-radius:4px;margin:0 -.5rem .8rem;padding:.5rem}.errors-section{background:#fff5f5;border-left:4px solid #ef4444;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.errors-section h3{color:#dc2626;font-size:1.3rem;margin-bottom:1.5rem}.error-item{background:#fff;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:1rem}.error-item:last-child{margin-bottom:0}.error-step{color:#dc2626;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.error-description{color:#7f1d1d;margin-bottom:.5rem}.error-correction{color:#059669;font-size:.95rem}.correct-solution-section{background:#f0fdf4;border-left:4px solid #22c55e;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.correct-solution-section h3{color:#16a34a;font-size:1.3rem;margin-bottom:1.5rem}.solution-steps{display:flex;flex-direction:column;gap:1rem}.solution-step{align-items:flex-start;background:#fff;border:1px solid #bbf7d0;border-radius:8px;display:flex;gap:1rem;padding:1rem}.step-number{background:#22c55e;border-radius:20px;color:#fff;flex-shrink:0;font-size:.85rem;font-weight:600;min-width:60px;padding:.5rem .75rem;text-align:center}.step-content{flex:1 1}.step-equation{color:var(--text-color);font-family:Courier New,monospace;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.step-explanation{color:#374151;font-size:.95rem;line-height:1.4}.results-actions{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem;padding-top:2rem}.results-actions .btn{flex:1 1;font-weight:600;min-width:200px;padding:.75rem 1.5rem}@media (max-width:768px){.verification-actions{flex-direction:column}.verification-actions .btn{min-width:auto}.results-header,.solution-step{flex-direction:column;text-align:center}.step-number{align-self:center}.results-actions{flex-direction:column}.results-actions .btn{min-width:auto}}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.error-actions .btn{flex:1 1;font-weight:600;min-width:200px;padding:.75rem 1.5rem}@media (max-width:768px){.error-actions{flex-direction:column}.error-actions .btn{min-width:auto}}:root{--touch-target-min:44px;--touch-target-comfortable:48px;--mobile-padding:16px;--mobile-margin:12px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px}.btn,.touch-target,button,input[type=button],input[type=submit]{cursor:pointer;min-height:44px;min-height:var(--touch-target-min);min-width:44px;min-width:var(--touch-target-min);touch-action:manipulation}@media (min-width:768px){.btn,button,input[type=button],input[type=submit]{min-height:auto;min-width:auto}}.dashboard-section{margin-bottom:12px;margin-bottom:var(--mobile-margin);padding:16px;padding:var(--mobile-padding)}.dashboard-grid{grid-gap:12px;grid-gap:var(--mobile-margin);display:grid;gap:12px;gap:var(--mobile-margin);grid-template-columns:1fr}@media (min-width:640px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.dashboard-section{margin-bottom:20px;padding:24px}}.mobile-nav-toggle{background:none;border-radius:8px;height:48px;height:var(--touch-target-comfortable);padding:8px;transition:background-color .2s;width:48px;width:var(--touch-target-comfortable)}.mobile-nav-toggle:focus,.mobile-nav-toggle:hover{background-color:hsla(0,0%,100%,.1)}.hamburger{height:24px;position:relative;width:24px}.hamburger span{background:currentColor;border-radius:2px;display:block;height:3px;margin-bottom:5px;transition:all .3s ease;width:100%}.hamburger span:last-child{margin-bottom:0}.mobile-nav-open .hamburger span:first-child{transform:rotate(45deg) translate(6px,6px)}.mobile-nav-open .hamburger span:nth-child(2){opacity:0}.mobile-nav-open .hamburger span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.card-grid{grid-gap:12px;grid-gap:var(--mobile-margin);display:grid;gap:12px;gap:var(--mobile-margin);grid-template-columns:1fr;padding:16px;padding:var(--mobile-padding)}@media (min-width:640px){.card-grid{gap:20px;grid-template-columns:repeat(2,1fr);padding:20px}}@media (min-width:1024px){.card-grid{gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:24px}}.card{border-radius:12px;cursor:pointer;min-height:48px;min-height:var(--touch-target-comfortable);padding:16px;padding:var(--mobile-padding);transition:transform .2s,box-shadow .2s}.card:focus-within,.card:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.form-mobile{padding:16px;padding:var(--mobile-padding)}.form-group-mobile{margin-bottom:12px;margin-bottom:var(--mobile-margin)}.form-group-mobile label{display:block;font-weight:500;margin-bottom:8px}.form-group-mobile input,.form-group-mobile select,.form-group-mobile textarea{border:2px solid #e5e7eb;border-radius:8px;font-size:16px;min-height:44px;min-height:var(--touch-target-min);padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group-mobile input:focus,.form-group-mobile select:focus,.form-group-mobile textarea:focus{border-color:#3b82f6;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(59,130,246,.1);outline:none}.swipe-indicator{overflow:hidden;position:relative}.swipe-indicator:after{border-bottom:4px solid transparent;border-left:6px solid rgba(0,0,0,.3);border-top:4px solid transparent;content:"";height:0;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:0}.loading-spinner-mobile{align-items:center;color:#6b7280;color:var(--text-muted);display:flex;font-size:14px;justify-content:center;min-height:60px}.spinner{animation:spin 1s linear infinite;border:3px solid rgba(59,130,246,.2);border-radius:50%;border-top-color:#3b82f6;border-top:3px solid var(--primary-color);height:32px;margin-right:12px;width:32px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.tooltip-mobile{display:inline-block;position:relative}.tooltip-mobile .tooltip-content{background:rgba(0,0,0,.9);border-radius:6px;bottom:125%;color:#fff;font-size:14px;left:50%;opacity:0;padding:8px 12px;position:absolute;transform:translateX(-50%);transition:opacity .2s,visibility .2s;visibility:hidden;white-space:nowrap;z-index:1000}.tooltip-mobile:focus .tooltip-content,.tooltip-mobile:hover .tooltip-content{opacity:1;visibility:visible}[data-network-status=offline] .network-indicator{background:#ef4444;background:var(--error-color);color:#fff;display:block;font-size:14px;left:0;padding:8px;position:fixed;right:0;text-align:center;top:0;z-index:10000}.network-indicator{display:none}.pwa-install-prompt{background:#fff;border-radius:12px;bottom:20px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);box-shadow:var(--shadow-large);left:20px;padding:20px;position:fixed;right:20px;transform:translateY(100%);transition:transform .3s ease;z-index:10000}.pwa-install-prompt.visible{transform:translateY(0)}.pwa-install-prompt h3{color:#1f2937;color:var(--text-dark);font-size:18px;margin:0 0 8px}.pwa-install-prompt p{color:#6b7280;color:var(--text-muted);line-height:1.4;margin:0 0 16px}.pwa-install-buttons{display:flex;gap:12px}.pwa-install-buttons button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-weight:500;padding:12px;transition:background-color .2s}.pwa-install-buttons .btn-primary{background:#3b82f6;background:var(--primary-color);color:#fff}.pwa-install-buttons .btn-primary:hover{background:#1d4ed8;background:var(--primary-dark)}.pwa-install-buttons .btn-secondary{background:#f3f4f6;color:#1f2937;color:var(--text-dark)}.pwa-install-buttons .btn-secondary:hover{background:#e5e7eb}@media (min-width:640px){.pwa-install-prompt{left:auto;right:20px;width:320px}}.question-image-container{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin:1.5rem 0;padding:1rem;text-align:center}.question-image-container.review{background:#fff;border-color:#dee2e6}.question-image{border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;height:auto;max-height:500px;max-width:100%;transition:transform .2s ease}.question-image:hover{transform:scale(1.02)}.image-caption{color:#6b7280;font-size:.875rem;font-style:italic;margin-top:.75rem}@media (max-width:768px){.question-image-container{padding:.75rem}.question-image{max-height:300px}}.has-visual-indicator{align-items:center;background:#e0f2fe;border-radius:4px;color:#0369a1;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;margin-left:.5rem;padding:.25rem .5rem}.has-visual-indicator:before{content:"📊";font-size:1rem}.math-content{background:transparent!important;box-shadow:none!important;font-size:inherit!important;padding:0!important}.math-content .katex{font-size:1.1em}.math-content .katex-display{margin:.5em 0}.responsive-grid{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);max-width:100%;width:100%}.responsive-grid--mobile{gap:var(--spacing-sm);grid-template-columns:1fr;padding:var(--spacing-sm)}@media (min-width:768px){.responsive-grid--tablet{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);padding:var(--spacing-md)}}@media (min-width:1200px){.responsive-grid--desktop{gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr);padding:var(--spacing-lg)}}.responsive-flex{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.responsive-flex--column{flex-direction:column}.responsive-flex--center{align-items:center;justify-content:center}@media (min-width:768px){.responsive-flex--tablet-row{flex-direction:row}.responsive-flex--tablet-space-between{justify-content:space-between}}@media (min-width:1200px){.responsive-flex--desktop-nowrap{flex-wrap:nowrap}}.responsive-container{margin:0 auto;padding:0 var(--spacing-sm);width:100%}@media (min-width:768px){.responsive-container{max-width:768px;padding:0 var(--spacing-md)}}@media (min-width:1200px){.responsive-container{max-width:1200px;padding:0 var(--spacing-lg)}}.touch-target{-webkit-tap-highlight-color:rgba(0,0,0,.1);min-height:var(--touch-target-min);min-width:var(--touch-target-min);touch-action:manipulation}.touch-target--comfortable{min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable)}.touch-target--large{min-height:var(--touch-target-large);min-width:var(--touch-target-large)}.math-content{font-size:var(--math-font-size-mobile);line-height:1.4;overflow-x:auto;overflow-y:visible}@media (min-width:768px){.math-content{font-size:var(--math-font-size-tablet);line-height:1.5}}@media (min-width:1200px){.math-content{font-size:var(--math-font-size-desktop);line-height:1.6}}.math-content--large{font-size:calc(var(--math-font-size-mobile)*1.25)}@media (min-width:768px){.math-content--large{font-size:calc(var(--math-font-size-tablet)*1.25)}}@media (min-width:1200px){.math-content--large{font-size:calc(var(--math-font-size-desktop)*1.25)}}.mobile-nav-toggle{background:transparent;border:none;cursor:pointer;display:block;min-height:var(--touch-target-comfortable);min-width:var(--touch-target-comfortable);padding:var(--spacing-sm)}@media (min-width:768px){.mobile-nav-toggle{display:none}}.nav-menu{background:var(--background-white);box-shadow:var(--shadow-medium);display:none;flex-direction:column;left:0;position:absolute;right:0;top:100%;z-index:1000}.nav-menu--open{display:flex}.nav-menu__item{align-items:center;border-bottom:1px solid var(--background-light);display:flex;min-height:var(--touch-target-comfortable);padding:var(--spacing-md)}@media (min-width:768px){.nav-menu{background:transparent;box-shadow:none;display:flex;flex-direction:row;position:static}.nav-menu__item{border-bottom:none;border-right:1px solid var(--background-light)}.nav-menu__item:last-child{border-right:none}}.hide-mobile{display:none}@media (min-width:768px){.hide-mobile{display:inline;display:initial}}.hide-tablet-up{display:inline;display:initial}@media (min-width:768px){.hide-tablet-up{display:none}}.show-mobile-only{display:inline;display:initial}@media (min-width:768px){.show-mobile-only{display:none}}.text-responsive{font-size:var(--font-size-sm)}@media (min-width:768px){.text-responsive{font-size:var(--font-size-base)}}@media (min-width:1200px){.text-responsive{font-size:var(--font-size-lg)}}.spacing-responsive{padding:var(--spacing-sm)}@media (min-width:768px){.spacing-responsive{padding:var(--spacing-md)}}@media (min-width:1200px){.spacing-responsive{padding:var(--spacing-lg)}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.responsive-container{border:2px solid}.touch-target{border:1px solid}.math-content{background:var(--background-white);border:1px solid var(--text-dark);color:var(--text-dark);padding:var(--spacing-xs)}}:root{--math-primary-font:"KaTeX_Main","STIX Two Math","Computer Modern","Latin Modern Math","XITS Math","Asana Math","TeX Gyre Termes Math","Liberation Serif","Times New Roman","DejaVu Serif",serif;--math-display-font:"KaTeX_Main","STIX Two Math","Computer Modern","Latin Modern Math",serif;--math-variable-font:"KaTeX_Math-Italic","STIX Two Math","Computer Modern","Times New Roman",serif;--math-operator-font:"KaTeX_Main","STIX Two Math","Computer Modern","Arial Unicode MS",sans-serif;--math-size-tiny:0.7rem;--math-size-small:0.85rem;--math-size-normal:1rem;--math-size-large:1.2rem;--math-size-huge:1.5rem;--math-size-display:1.3rem;--math-mobile-small:0.9rem;--math-mobile-normal:1.1rem;--math-mobile-large:1.3rem;--math-mobile-display:1.4rem;--math-tablet-small:0.95rem;--math-tablet-normal:1.15rem;--math-tablet-large:1.35rem;--math-tablet-display:1.45rem;--math-desktop-small:1rem;--math-desktop-normal:1.2rem;--math-desktop-large:1.4rem;--math-desktop-display:1.6rem}.katex,.katex-display,.math-content,.math-display,.math-inline,.math-renderer,.mathematical-expression{font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1,normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important;font-synthesis:none;font-variant-numeric:normal}.katex{color:#000;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important;font-size:1rem;font-size:var(--math-size-normal)}.katex-display{font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,serif!important;font-family:var(--math-display-font)!important;font-size:1.3rem;font-size:var(--math-size-display);margin:1.5em 0;padding:.5em;text-align:center}.katex .mord,.katex-html{font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important}.katex .mbin,.katex .mop,.katex .mrel{font-family:KaTeX_Main,STIX Two Math,Computer Modern,Arial Unicode MS,sans-serif!important;font-family:var(--math-operator-font)!important}.katex .mathit{font-family:KaTeX_Math-Italic,STIX Two Math,Computer Modern,Times New Roman,serif!important;font-family:var(--math-variable-font)!important;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf,.katex .mathrm{font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important}.katex .mathbf{font-weight:700}.katex .mathcal,.katex .mathscr{font-family:KaTeX_Caligraphic,STIX Two Math,Lucida Calligraphy,cursive!important}.katex .mathbb{font-family:KaTeX_AMS,STIX Two Math,STIX,XITS,serif!important}.katex .mathfrak{font-family:KaTeX_Fraktur,STIX Two Math,UnifrakturMaguntia,serif!important}.math-renderer{color:#000;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important;line-height:1.2;position:relative}.math-renderer.math-inline{display:inline;font-size:1rem;font-size:var(--math-size-normal);vertical-align:baseline}.math-renderer.math-display{display:block;font-size:1.3rem;font-size:var(--math-size-display);margin:1.5em auto;padding:.5em;text-align:center}.math-size-small .katex{font-size:.85rem!important;font-size:var(--math-size-small)!important}.math-size-large .katex{font-size:1.2rem!important;font-size:var(--math-size-large)!important}.math-size-huge .katex{font-size:1.5rem!important;font-size:var(--math-size-huge)!important}.image-math-overlay,.ocr-math-display,.problem-display,.scanned-math-content,.solution-display{background:hsla(0,0%,100%,.95);border-radius:4px;color:#000;font-size:1.2rem;font-size:var(--math-size-large);line-height:1.3;padding:.5em}.image-math-overlay,.ocr-math-display,.ocr-math-display .katex,.problem-display,.scanned-math-content,.scanned-math-content .katex,.solution-display{font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important}.ocr-math-display .katex,.scanned-math-content .katex{font-size:inherit}.exercise-content .math-content,.problem-statement .math-content,.question-content .math-content{color:#1a1a1a;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important;font-size:1.2rem;font-size:var(--math-size-large);font-weight:500}.math-work-display,.solution-step .math-content,.step-equation{background:rgba(248,250,252,.8);border-radius:3px;padding:.3em}.formula-input,.latex-input,.math-input,.math-work-display,.solution-step .math-content,.step-equation{color:#000;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important;font-size:1rem;font-size:var(--math-size-normal)}.latex-input::placeholder,.math-input::placeholder{color:#666;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif;font-family:var(--math-primary-font);font-style:italic}.equation-preview,.formula-preview,.math-preview{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:6px;display:flex;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important;font-size:1.2rem;font-size:var(--math-size-large);justify-content:center;min-height:2.5em;padding:1em}@media (max-width:768px){:root{--math-size-tiny:var(--math-mobile-small);--math-size-small:var(--math-mobile-small);--math-size-normal:var(--math-mobile-normal);--math-size-large:var(--math-mobile-large);--math-size-huge:var(--math-mobile-large);--math-size-display:var(--math-mobile-display)}.katex-display{-webkit-overflow-scrolling:touch;font-size:1.4rem;font-size:var(--math-mobile-display);margin:1em 0;overflow-x:auto;overflow-y:visible}.problem-display,.scanned-math-content{font-size:1.3rem;font-size:var(--math-mobile-large);padding:.75em}}@media (min-width:769px) and (max-width:1024px){:root{--math-size-tiny:var(--math-tablet-small);--math-size-small:var(--math-tablet-small);--math-size-normal:var(--math-tablet-normal);--math-size-large:var(--math-tablet-large);--math-size-huge:var(--math-tablet-large);--math-size-display:var(--math-tablet-display)}}@media (min-width:1025px){:root{--math-size-tiny:var(--math-desktop-small);--math-size-small:var(--math-desktop-small);--math-size-normal:var(--math-desktop-normal);--math-size-large:var(--math-desktop-large);--math-size-huge:var(--math-desktop-large);--math-size-display:var(--math-desktop-display)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.katex,.math-content{-webkit-font-smoothing:subpixel-antialiased}}@media print{.katex,.katex-display,.math-content{background:#fff!important;color:#000!important;font-family:KaTeX_Main,Computer Modern,Times New Roman,serif!important}.katex-display{margin:.5em 0;page-break-inside:avoid}}@media (prefers-contrast:high){.katex,.math-content{background:#fff!important;color:#000!important;font-weight:600}.katex-display{border:1px solid #000}}@media (prefers-reduced-motion:reduce){.katex *,.math-content{animation:none!important;transition:none!important}}.katex:focus,.math-content:focus,.math-input:focus{border-radius:2px;outline:2px solid #4a90e2;outline-offset:2px}.exam-question .math-content{font-size:1.2rem;font-size:var(--math-size-large);font-weight:500}.lesson-content .math-content{font-size:1rem;font-size:var(--math-size-normal)}.homework-problem .math-content{color:#1a1a1a;font-size:1.2rem;font-size:var(--math-size-large)}.katex-error,.math-error{background:#ffebee;border:1px solid #ffcdd2;border-radius:3px;color:#d32f2f!important;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif!important;font-family:var(--math-primary-font)!important;padding:.25em}.math-loading{color:#666;font-family:KaTeX_Main,STIX Two Math,Computer Modern,Latin Modern Math,XITS Math,Asana Math,TeX Gyre Termes Math,"Liberation Serif",Times New Roman,"DejaVu Serif",serif;font-family:var(--math-primary-font);font-style:italic}.math-loading:after{animation:dots 1.5s infinite;content:"..."}@keyframes dots{0%,20%{opacity:0}50%{opacity:1}80%,to{opacity:0}}
/*# sourceMappingURL=main.46ba5e7c.css.map*/