.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-card{background:#fffffff2;border-radius:20px;padding:40px;max-width:450px;width:100%;box-shadow:0 20px 60px #0000004d}.auth-card h2{margin:0 0 30px;text-align:center;color:#333;font-size:28px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500}.form-group input,.form-group select{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group input[type=checkbox]{width:auto;padding:0;border:revert;border-radius:revert}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group .helper-text{display:block;margin-top:5px;color:#999;font-size:12px;font-style:italic}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.auth-footer{margin-top:25px;text-align:center;color:#666}.auth-footer a{color:#667eea;text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}@media (max-width: 480px){.auth-card{padding:30px 20px}.auth-card h2{font-size:24px}}.sso-checking{display:flex;justify-content:center;padding:30px 0}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.auth-lang-selector{text-align:right;margin-bottom:-20px}.auth-lang-selector select{font-size:.85rem;border:1px solid #e0e0e0;border-radius:6px;background:#f8f8f8;cursor:pointer;padding:4px 8px;color:#555;outline:none}.auth-lang-selector select:hover{border-color:#667eea}.sso-info{text-align:center;color:#666;margin-bottom:20px;font-size:14px}.navbar{background:#fffffff2;box-shadow:0 4px 15px #0000001a;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar-header{display:flex;justify-content:space-between;align-items:center;padding:12px 30px}.navbar-brand{cursor:pointer;transition:transform .2s}.navbar-brand:hover{transform:scale(1.05)}.navbar-brand h2{margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:24px;font-weight:700}.navbar-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;border-radius:8px;transition:background .2s}.navbar-toggle:hover{background:#667eea1a}.hamburger{display:flex;flex-direction:column;gap:5px;width:24px;height:20px;position:relative}.hamburger span{display:block;width:100%;height:2.5px;background:#667eea;border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}.navbar-collapse{display:flex;align-items:center;padding:0 30px 12px;gap:10px}.navbar-menu{display:flex;gap:6px;flex:1;justify-content:center;flex-wrap:wrap}.navbar-item{cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .3s;position:relative;white-space:nowrap}.navbar-item.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;margin-top:0;padding-top:8px;background:transparent;min-width:180px;z-index:1000}.dropdown-menu-content{background:#fff;border-radius:8px;box-shadow:0 8px 25px #00000026;overflow:hidden;animation:dropdownFadeIn .2s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{padding:12px 20px;color:#555;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s;border-bottom:1px solid rgba(0,0,0,.05)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#667eea1a;color:#667eea;padding-left:25px}.navbar-item:hover{background:#667eea1a}.nav-link{color:#555;font-weight:500;font-size:15px;text-decoration:none;transition:color .3s}.nav-link.active{color:#667eea;font-weight:600}.navbar-item:hover .nav-link{color:#667eea}.navbar-user{display:flex;align-items:center;gap:12px;flex-shrink:0}.user-name{color:#333;font-weight:600;font-size:14px}.user-name.clickable{cursor:pointer;transition:color .2s}.user-name.clickable:hover{color:#667eea;text-decoration:underline}.user-role{padding:4px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.btn-logout{padding:8px 16px;background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-logout:hover{transform:translateY(-2px);box-shadow:0 5px 15px #f5576c66}@media (max-width: 1024px){.navbar-header{padding:12px 20px}.navbar-collapse{padding:0 20px 10px}.navbar-item{padding:6px 12px}.nav-link{font-size:14px}}@media (max-width: 768px){.navbar-header{padding:10px 16px}.navbar-brand h2{font-size:20px}.navbar-toggle{display:flex;align-items:center;justify-content:center}.navbar-collapse{display:none;flex-direction:column;padding:0;gap:0;border-top:1px solid rgba(0,0,0,.08)}.navbar-collapse.show{display:flex;animation:slideDown .25s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.navbar-menu{flex-direction:column;gap:0;width:100%}.navbar-item{padding:12px 20px;border-radius:0;border-bottom:1px solid rgba(0,0,0,.04)}.navbar-item:hover{background:#667eea0f}.nav-link{font-size:15px}.dropdown-menu{position:static;padding-top:0;min-width:auto}.dropdown-menu-content{box-shadow:none;border-radius:0;background:#667eea0a}.dropdown-item{padding:10px 20px 10px 36px;font-size:14px}.dropdown-item:hover{padding-left:40px}.navbar-user{width:100%;padding:14px 20px;border-top:1px solid rgba(0,0,0,.08);gap:10px}.btn-logout{margin-left:auto}}.dashboard-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.dashboard-content{max-width:100%;margin:0;padding:30px}.welcome-card{background:#fffffff2;border-radius:15px;padding:20px 30px;margin-bottom:20px;box-shadow:0 10px 30px #0003;text-align:center}.welcome-card h2{margin:0;color:#333;font-size:24px;font-weight:700}.welcome-card p{margin:0;color:#666;font-size:16px}.loading{text-align:center;padding:50px;color:#fff;font-size:18px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.stat-card{background:#fffffff2;border-radius:15px;padding:30px;box-shadow:0 10px 30px #0003;transition:transform .3s,box-shadow .3s;display:flex;align-items:center;gap:20px}.stat-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000004d}.stat-card.today{border-left:5px solid #4CAF50}.stat-card.month{border-left:5px solid #2196F3}.stat-card.year{border-left:5px solid #FF9800}.stat-card.total{border-left:5px solid #9C27B0}.stat-icon{font-size:48px;line-height:1}.stat-info{flex:1}.stat-label{font-size:14px;color:#666;margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:32px;font-weight:700;color:#333}.chart-container{background:#fffffff2;border-radius:15px;padding:30px;margin-top:30px;box-shadow:0 10px 30px #0003;height:400px}.table-container{background:#fffffff2;border-radius:15px;padding:30px;margin-top:30px;box-shadow:0 10px 30px #0003}.table-container h3{margin:0 0 20px;color:#333;font-size:22px;font-weight:700;text-align:center}.stats-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 8px;text-align:center;vertical-align:middle;font-weight:600;border:1px solid rgba(255,255,255,.2);font-size:12px}.stats-table td{padding:10px 8px;text-align:center;border:1px solid #ddd;color:#333}.stats-table tbody tr:nth-child(2n){background-color:#667eea0d}.stats-table tbody tr:hover{background-color:#667eea1a;transition:background-color .3s}@media (max-width: 768px){.dashboard-content{padding:20px 15px}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:28px}.stat-icon{font-size:40px}.chart-container{height:300px;padding:20px}.table-container{padding:15px;overflow-x:auto}.stats-table{font-size:11px}.stats-table th,.stats-table td{padding:8px 4px}}.attempt-detail-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.attempt-detail-content{width:100%;padding:20px 32px;box-sizing:border-box}.attempt-detail-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.btn-back{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;white-space:nowrap}.btn-back:hover{background:#ffffff4d}.attempt-detail-title h2{color:#fff;margin:0 0 8px;font-size:22px}.attempt-detail-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{background:#ffffff40;color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.badge-period{background:#ffdc3259}.attempt-count{color:#ffffffd9;font-size:14px;margin-bottom:12px}.table-wrapper{overflow-x:auto;border-radius:12px;box-shadow:0 8px 24px #0003}.attempt-table{width:100%;border-collapse:collapse;background:#fff;font-size:13px}.attempt-table th{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 10px;text-align:center;font-weight:600;white-space:nowrap}.attempt-table td{padding:10px;border-bottom:1px solid #eee;vertical-align:middle;text-align:center}.td-question{text-align:left;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.td-username{color:#666;font-size:12px}.td-date{white-space:nowrap;font-size:12px;color:#666}.row-correct{background:#f0faf4}.row-wrong{background:#fff5f5}.result-correct{color:#2e7d32;font-weight:700}.result-wrong{color:#c62828;font-weight:700}.pagination{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:20px;flex-wrap:wrap}.page-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);width:36px;height:36px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600}.page-btn:hover:not(:disabled){background:#ffffff59}.page-btn:disabled{opacity:.35;cursor:default}.page-btn-active{background:#fff;color:#667eea}.btn-view-question{background:#667eea;color:#fff;border:none;padding:5px 10px;border-radius:6px;cursor:pointer;font-size:12px;white-space:nowrap}.btn-view-question:hover{background:#5a6fd6}.loading,.error-msg,.empty-msg{color:#fff;text-align:center;padding:40px;font-size:16px}.content-management{padding:20px 40px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:16px;border-bottom:3px solid #f1f3f5}.content-filters{display:flex;gap:12px;margin-bottom:24px;padding:16px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;align-items:center}.filter-select{padding:10px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s;min-width:180px}.filter-select:focus{outline:none;border-color:#667eea}.filter-search{flex:1;padding:10px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s}.filter-search:focus{outline:none;border-color:#667eea}.filter-reset{padding:10px 20px;background:#f5f5f5;color:#666;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-reset:hover{background:#e0e0e0;border-color:#ccc}.icon-buttons{display:flex;gap:10px}.icon-btn{width:44px;height:44px;padding:0;background:#fff;color:#fff;border:2px solid;border-radius:50%;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center}.icon-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #0003}.icon-btn.level{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea}.icon-btn.grade{background:linear-gradient(135deg,#f093fb,#f5576c);border-color:#f093fb}.icon-btn.subject{background:linear-gradient(135deg,#ff9a56,#ff6b6b);border-color:#ff9a56}.icon-btn.unit{background:linear-gradient(135deg,#4facfe,#00f2fe);border-color:#4facfe}.icon-btn.subunit{background:linear-gradient(135deg,#43e97b,#38f9d7);border-color:#43e97b}.icon-btn.concept{background:linear-gradient(135deg,#fa709a,#fee140);border-color:#fa709a}.content-sections{display:flex;flex-direction:column;gap:24px}.content-section{background:#fff;border-radius:12px;padding:0;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef;overflow:hidden}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #f1f3f5}.section-header h2{margin:0;font-size:18px;font-weight:600;color:#333}.btn-add-section{padding:6px 14px;background:#f8f9fa;color:#495057;border:1px solid #dee2e6;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-section:hover{background:#e9ecef;border-color:#adb5bd}.table-wrapper{overflow-x:auto}.content-table{width:100%;border-collapse:collapse;font-size:14px}.content-table thead{background:#f8f9fa}.content-table th{padding:10px 14px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap;font-size:13px}.count-header,.action-header{text-align:center}.content-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.content-table tbody tr:hover{background:#f8f9fa}.content-table tbody tr:last-child{border-bottom:none}.content-table td{padding:10px 14px;color:#333}.name-cell{font-weight:500;color:#212529}.count-cell{text-align:center;font-weight:600;color:#2196f3;width:150px}.difficulty-counts{font-size:13px;color:#666;margin-bottom:4px;font-family:monospace}.total-count{font-size:14px;color:#2196f3;font-weight:700}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid #e0e0e0}.pagination-btn{padding:8px 12px;min-width:40px;background:#fff;border:1px solid #ddd;border-radius:6px;color:#333;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#f5f5f5;border-color:#667eea}.pagination-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea}.action-cell{text-align:center;white-space:nowrap;width:200px}.btn-add-question,.btn-edit-small,.btn-delete-small{padding:5px 10px;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;margin:0 2px}.btn-add-question{background:#e8f5e9;color:#2e7d32;font-weight:600}.btn-add-question:hover{background:#c8e6c9;transform:translateY(-1px);box-shadow:0 2px 4px #2e7d3233}.btn-edit-small{background:#fff3e0;color:#e65100}.btn-edit-small:hover{background:#ffe0b2}.btn-delete-small{background:#ffebee;color:#c62828}.btn-delete-small:hover{background:#ffcdd2}.empty-section{text-align:center;padding:30px 20px;color:#999;font-size:14px;background:#f8f9fa;border-radius:8px}.loading{text-align:center;padding:60px 20px;color:#666;font-size:16px}.error-message{padding:12px 16px;background:#ffebee;color:#c62828;border-radius:6px;margin-bottom:20px;font-size:14px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 8px 32px #0003}.modal-content-wide{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #f1f3f5;flex-wrap:nowrap}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#333;white-space:nowrap;flex-shrink:0}.modal-header-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.quick-add-input{padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;width:200px;transition:all .2s ease}.quick-add-input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f31a}.btn-quick-add{width:36px;height:36px;padding:0;background:#2196f3;color:#fff;border:none;border-radius:6px;font-size:20px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-quick-add:hover{background:#1976d2;transform:scale(1.05)}.btn-close-modal{width:36px;height:36px;padding:0;background:#f5f5f5;color:#666;border:none;border-radius:6px;font-size:24px;font-weight:300;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1}.btn-close-modal:hover{background:#ffebee;color:#c62828;transform:scale(1.05)}.btn-cancel-modal{padding:8px 16px;background:#f5f5f5;color:#666;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel-modal:hover{background:#e0e0e0}.btn-add-modal{padding:8px 16px;background:#2196f3;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-modal:hover{background:#1976d2}.modal-content h2{margin:0 0 20px;font-size:20px;font-weight:600;color:#333}.filter-section{display:flex;gap:12px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.filter-group{flex:1;min-width:200px}.filter-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:#555}.filter-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;box-sizing:border-box}.filter-group select:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.filter-group select:focus{outline:none;border-color:#2196f3}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#555}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2196f3}.form-group textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-submit{background:#2196f3;color:#fff}.btn-submit:hover{background:#1976d2}.btn-add-explanation{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;margin-right:8px}.btn-add-explanation:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 4px #10b9814d}.explanation-modal{max-width:900px;max-height:90vh;overflow-y:auto}.concept-info{background:#f8f9fa;padding:15px;border-radius:8px;margin-bottom:20px;border-left:4px solid #10b981}.concept-info p{margin:5px 0;font-size:14px;color:#333}.explanation-form{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;cursor:pointer;margin:0}.checkbox-group input[type=checkbox]{width:auto;margin-right:8px}.checkbox-group span{font-size:14px;color:#666}.btn-generate{padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-generate:hover:not(:disabled){background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.btn-generate:disabled{background:#ccc;cursor:not-allowed}.explanation-preview{background:#f8f9fa;padding:20px;border-radius:8px;margin-top:20px}.explanation-preview h3{font-size:18px;margin-bottom:15px;color:#333}.preview-content{background:#fff;padding:20px;border-radius:8px;margin-bottom:15px}.preview-content h4{font-size:20px;color:#10b981;margin-bottom:15px}.preview-image{max-width:100%;height:auto;border-radius:8px;margin:15px 0}.preview-text{font-size:15px;line-height:1.8;color:#444;white-space:pre-wrap;margin:15px 0}.preview-keywords{margin-top:20px;padding-top:15px;border-top:1px solid #e9ecef}.keyword-tag{display:inline-block;background-color:#e7f3ff;color:#007bff;padding:4px 12px;border-radius:16px;margin-right:8px;margin-bottom:8px;font-size:13px}.btn-save{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-save:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.btn-import-suneung{padding:8px 16px;background:linear-gradient(135deg,#0ea5e9,#06b6d4);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto}.btn-import-suneung:hover{background:linear-gradient(135deg,#0284c7,#0891b2);transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e966}.btn-batch-generate{padding:8px 16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto}.btn-batch-generate:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.btn-batch-generate:disabled{opacity:.6;cursor:not-allowed}.batch-info{background:#f8f9fa;padding:12px 16px;border-radius:8px;margin-bottom:16px}.batch-info p{margin:4px 0}.batch-config{display:flex;flex-direction:column;gap:10px}.batch-config .form-group{margin-bottom:0}.batch-generate-row{display:flex;gap:20px;align-items:center}.batch-generate-row label{display:flex!important;align-items:center;gap:6px;margin-bottom:0;font-size:.95rem;font-weight:500;cursor:pointer;white-space:nowrap}.batch-generate-row input[type=checkbox]{width:auto!important;margin:0}.batch-difficulty-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.batch-difficulty-row .difficulty-checkboxes{display:flex;gap:12px;flex-wrap:wrap;margin-top:0}.batch-difficulty-row .difficulty-checkboxes input[type=checkbox]{width:auto!important;margin:0}.batch-difficulty-label{font-size:.9rem;font-weight:500;color:#555;white-space:nowrap}.batch-select-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.batch-select-item{display:flex;flex-direction:row;align-items:center;gap:8px}.batch-select-item label{display:inline!important;font-size:.9rem;font-weight:500;color:#555;white-space:nowrap;margin-bottom:0!important}.batch-select-item select{width:auto!important}.batch-unit-checkboxes{display:flex;flex-direction:column;gap:4px;margin-top:4px;max-height:180px;overflow-y:auto;padding:8px 12px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px}.batch-unit-checkbox{display:flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;padding:2px 0}.batch-unit-checkbox input[type=checkbox]{width:auto;margin:0}.unit-order{color:#9ca3af;font-size:.8rem;min-width:20px}.unit-subject-tag{margin-left:auto;font-size:.75rem;color:#6b7280;background:#e5e7eb;padding:1px 6px;border-radius:4px}.batch-unit-group-header{font-size:.8rem;font-weight:600;color:#4b5563;padding:4px 0 2px;border-bottom:1px solid #e5e7eb;margin-top:4px}.btn-unit-clear{margin-top:6px;padding:4px 12px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:4px;font-size:12px;cursor:pointer}.btn-unit-clear:hover{background:#e0e0e0}.difficulty-checkboxes{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.difficulty-checkboxes label{font-size:.9rem;cursor:pointer}.btn-start-batch{padding:12px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;margin-top:8px;transition:all .2s}.btn-start-batch:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.batch-progress{margin-top:16px}.progress-bar-container{width:100%;height:24px;background:#e5e7eb;border-radius:12px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:12px;transition:width .3s ease}.progress-text{margin-top:8px;font-size:.9rem;color:#374151}.progress-detail{color:#6b7280;font-size:.85rem}.progress-bar-container{position:relative}.progress-bar-label{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#374151;pointer-events:none}.batch-stats-row{display:flex;gap:16px;margin-top:10px;padding:8px 12px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.batch-stat{display:flex;flex-direction:column;align-items:center;min-width:50px}.stat-label{font-size:11px;color:#6b7280;font-weight:500}.stat-value{font-size:16px;font-weight:700;color:#374151}.progress-current-task{margin-top:8px;padding:6px 12px;background:#eef2ff;border-radius:6px;font-size:.85rem;color:#4338ca;display:flex;align-items:center;gap:8px}.current-task-spinner{display:inline-block;width:12px;height:12px;border:2px solid #c7d2fe;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.batch-done-banner{margin-top:10px;padding:12px 16px;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #6ee7b7;border-radius:8px;color:#065f46;font-weight:600;font-size:14px;text-align:center}.batch-log{margin-top:12px;max-height:250px;overflow-y:auto;background:#1e1e2e;color:#cdd6f4;padding:12px;border-radius:8px;font-family:monospace;font-size:.82rem}.log-entry{padding:2px 0;line-height:1.4}.log-entry-success{color:#a6e3a1}.log-entry-error{color:#f38ba8}.log-entry-info{color:#89b4fa}.log-entry-complete{color:#f9e2af;font-weight:600}.batch-action-buttons{display:flex;gap:10px;margin-top:16px;justify-content:center}.btn-close-batch{padding:10px 24px;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-close-batch:hover{background:#4b5563}.btn-stop-batch{padding:10px 24px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer}.btn-stop-batch:hover{background:#dc2626}.management-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.management-header{display:flex;justify-content:space-between;align-items:center;background:#fffffff2;padding:20px 30px;border-radius:15px;margin-bottom:30px;box-shadow:0 10px 30px #0003}.management-header h1{margin:0;color:#333;font-size:28px;flex:1;text-align:center}.btn-back{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-back:hover{background:#5a6268;transform:translateY(-2px)}.btn-create{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-create:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.loading{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:20px}.error-message{background-color:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;padding:12px;margin-bottom:20px;font-size:14px}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-width:1400px;margin:0 auto}.item-card{background:#fffffff2;border-radius:15px;padding:25px;box-shadow:0 10px 30px #0003;transition:transform .3s,box-shadow .3s}.item-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0000004d}.item-card h3{margin:0 0 10px;color:#333;font-size:20px}.item-card p{margin:10px 0;color:#666;font-size:14px;line-height:1.5}.difficulty-rank{font-weight:600;color:#667eea}.item-actions{display:flex;gap:10px;margin-top:15px}.btn-edit,.btn-delete{flex:1;padding:8px 15px;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-edit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.btn-delete{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 5px 15px #f5576c66}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:15px;padding:30px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-content.large{max-width:700px}.modal-content h2{margin:0 0 20px;color:#333;font-size:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:600;font-size:14px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.modal-actions{display:flex;gap:10px;margin-top:20px}.btn-cancel,.btn-submit{flex:1;padding:12px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-cancel{background:#6c757d;color:#fff}.btn-cancel:hover{background:#5a6268}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 10px 20px #667eea66}.filters-container{background:#fffffff2;border-radius:15px;padding:20px;box-shadow:0 10px 30px #0003;margin-bottom:20px}.filters-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.filters-row select,.filters-row input{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fff;box-sizing:border-box;transition:border-color .2s}.filters-row select:focus,.filters-row input:focus{outline:none;border-color:#667eea}.filters-row select{cursor:pointer}.filter-level{flex:0 0 100px}.filter-concept{flex:0 0 120px}.filter-type{flex:0 0 100px}.filter-difficulty{flex:0 0 120px}.filter-question{flex:1 1 200px;min-width:150px}.filter-attempt,.filter-rate{flex:0 0 110px}.questions-list{display:flex;flex-direction:column;gap:20px;max-width:1400px;margin:0 auto}.question-card{background:#fffffff2;border-radius:15px;padding:25px;box-shadow:0 10px 30px #0003;transition:transform .3s,box-shadow .3s}.question-card:hover{transform:translateY(-3px);box-shadow:0 15px 40px #0000004d}.question-header{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap;align-items:center}.badge{padding:5px 12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap}.points{padding:5px 12px;background:orange;color:#fff;border-radius:12px;font-size:12px;font-weight:600;margin-left:auto}.question-text{font-size:16px;color:#333;font-weight:500;margin:15px 0;line-height:1.6}.options-list{list-style:none;padding:0;margin:15px 0}.options-list li{padding:8px 12px;background:#f8f9fa;margin:5px 0;border-radius:6px;color:#555;font-size:14px}.correct-answer{background:#d4edda;border:1px solid #c3e6cb;padding:10px 15px;border-radius:8px;color:#155724;font-weight:600;font-size:14px;margin:15px 0}.option-input input{flex:1}.btn-remove{padding:8px 15px;background:#dc3545;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700}.btn-add-option{padding:10px 15px;background:#28a745;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.btn-add-option:hover{background:#218838;transform:translateY(-2px)}@media (max-width: 768px){.management-header{flex-direction:column;gap:15px}.management-header h1{font-size:24px;text-align:center}.items-grid,.form-row{grid-template-columns:1fr}.filters-row{flex-direction:column}.filters-row select,.filters-row input{flex:1 1 100%;width:100%}}.question-stats{display:flex;gap:15px;margin:15px 0;padding:15px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:10px;border-left:4px solid #667eea}.stat-item{display:flex;flex-direction:column;align-items:center;flex:1;padding:10px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;transition:transform .2s,box-shadow .2s}.stat-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.stat-label{font-size:12px;color:#6c757d;font-weight:600;margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:18px;font-weight:700;color:#2c3e50}.stat-value.stat-rate{color:#667eea;font-size:20px}.modal-stats{display:flex;gap:15px;padding:10px;background:#f8f9fa;border-radius:8px}.modal-stat-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:15px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d}.modal-stat-label{font-size:13px;color:#6c757d;font-weight:600;margin-bottom:8px;text-align:center}.modal-stat-value{font-size:24px;font-weight:700;color:#2c3e50}.modal-stat-value.modal-stat-rate{color:#667eea;font-size:28px}.questions-table-container{background:#fffffff2;border-radius:15px;padding:15px;box-shadow:0 10px 30px #0003;width:100%;max-width:100%;margin:0 auto;overflow-x:hidden}.questions-table{width:100%;border-collapse:collapse;margin-bottom:15px;table-layout:auto}.questions-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.questions-table th{padding:8px 2px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.questions-table th:first-child{border-top-left-radius:10px}.questions-table th:last-child{border-top-right-radius:10px;text-align:center}.questions-table tbody tr{border-bottom:1px solid #e9ecef;transition:background-color .2s}.questions-table tbody tr:hover{background-color:#f8f9fa}.questions-table tbody tr:last-child{border-bottom:none}.questions-table td{padding:8px 2px;vertical-align:middle}.level-cell{width:8%;text-align:left;white-space:nowrap}.level-badge{display:inline-block;padding:4px;font-size:12px;white-space:nowrap}.concept-cell{width:12%;max-width:150px;padding:6px 2px!important;border-left:none!important}.concept-info{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;border-left:none!important;padding:0!important;background:transparent!important}.concept-tag{font-size:13px;color:#495057;font-weight:500}.no-concept{color:#adb5bd;font-style:italic;font-size:12px}.type-cell{width:8%;text-align:left;white-space:nowrap}.type-badge{background:#28a745!important;display:inline-block;padding:4px;font-size:12px;white-space:nowrap}.difficulty-cell{width:10%;text-align:left;white-space:nowrap}.difficulty-badge{display:inline-block;padding:4px;background:#ffc107;color:#000;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap}.question-cell{max-width:300px;min-width:150px;width:30%}.question-preview{color:#2c3e50;font-size:14px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.attempt-cell{width:10%;text-align:left;white-space:nowrap}.attempt-count{font-size:16px;font-weight:600;color:#495057;white-space:nowrap}.rate-cell{width:10%;text-align:left;white-space:nowrap}.correct-rate{font-size:18px;font-weight:700;color:#667eea;white-space:nowrap}.actions-cell{width:110px;text-align:center;white-space:nowrap}.btn-table-edit,.btn-table-delete{padding:6px 10px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin:0 2px}.btn-table-edit{background:#667eea;color:#fff}.btn-table-edit:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 4px #667eea66}.btn-table-delete{background:#dc3545;color:#fff}.btn-table-delete:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #dc354566}.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px;padding-top:20px;border-top:2px solid #e9ecef}.pagination-btn{padding:8px 14px;border:1px solid #dee2e6;background:#fff;color:#495057;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;min-width:40px}.pagination-btn:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea;transform:translateY(-1px)}.pagination-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 4px 8px #667eea4d}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{padding:8px 4px;color:#999;font-size:14px;-webkit-user-select:none;user-select:none}@media (max-width: 768px){.questions-table-container{padding:10px}.questions-table th,.questions-table td{padding:10px 8px;font-size:12px}.question-cell{max-width:200px}.btn-table-edit,.btn-table-delete{padding:6px 10px;font-size:11px;margin:2px}.pagination-btn{padding:6px 10px;font-size:12px;min-width:32px}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 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.28"}.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:-webkit-min-content;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 .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.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;text-align:center}.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}.question-create-container{min-height:100vh;background:#f8f9fa}.question-create-content{padding:30px 40px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:16px;border-bottom:3px solid #e9ecef}.page-header h1{margin:0;font-size:28px;font-weight:700;color:#2c3e50}.btn-back{padding:10px 20px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.question-form{background:#fff;border-radius:12px;padding:30px;box-shadow:0 2px 8px #00000014}.form-section{margin-bottom:40px;padding-bottom:30px;border-bottom:2px solid #f1f3f5}.form-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-section h2{margin:0 0 20px;font-size:20px;font-weight:600;color:#495057}.section-header h2{margin:0}.btn-ai-generate{padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d;display:flex;align-items:center;gap:6px}.btn-ai-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-ai-generate:disabled{opacity:.6;cursor:not-allowed}.ai-options{margin-bottom:20px;padding:12px 16px;background:#f0f8ff;border-radius:8px;border-left:4px solid #667eea}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:#495057}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.checkbox-label span{-webkit-user-select:none;user-select:none}.concept-selectors{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-size:14px;font-weight:500;color:#495057}.form-group input,.form-group select,.form-group textarea{padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;transition:all .2s ease;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4facfe;box-shadow:0 0 0 3px #4facfe1a}.form-group input:disabled,.form-group select:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.form-group textarea{resize:vertical;min-height:100px}.option-input{display:flex;gap:10px;margin-bottom:10px}.option-input input{flex:1;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:14px}.option-input input:focus{outline:none;border-color:#4facfe;box-shadow:0 0 0 3px #4facfe1a}.btn-remove{width:36px;height:36px;padding:0;background:#ffebee;color:#c62828;border:none;border-radius:6px;font-size:20px;font-weight:300;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-remove:hover{background:#ffcdd2;transform:scale(1.05)}.btn-add-option{margin-top:10px;padding:10px 16px;background:#e8f5e9;color:#2e7d32;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-add-option:hover{background:#c8e6c9;transform:translateY(-1px)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:20px;border-top:2px solid #f1f3f5}.btn-cancel{padding:12px 24px;background:#6c757d;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#5a6268;transform:translateY(-1px)}.btn-submit{padding:12px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d}.btn-submit:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.error-message{background:#ffebee;color:#c62828;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px;border-left:4px solid #c62828}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#6c757d}.file-input{padding:8px 12px;border:2px dashed #dee2e6;border-radius:6px;cursor:pointer;background:#f8f9fa;transition:all .2s ease}.file-input:hover{border-color:#4facfe;background:#f0f8ff}.image-preview{margin-top:16px;padding:16px;border:1px solid #dee2e6;border-radius:8px;background:#f8f9fa}.image-preview img{max-width:100%;max-height:300px;display:block;margin:0 auto 12px;border-radius:6px;box-shadow:0 2px 8px #0000001a}.btn-remove-image{padding:8px 16px;background:#ffebee;color:#c62828;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;display:block;margin:0 auto}.document-info{margin-top:12px;padding:12px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:12px}.document-info .file-name{flex:1;font-size:14px;color:#495057;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-remove-document{padding:6px 12px;background:#ffebee;color:#c62828;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-remove-document:hover{background:#ffcdd2;transform:translateY(-1px)}.btn-generate{padding:12px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.preview-modal{overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #f1f3f5}.modal-header h2{margin:0;font-size:22px;font-weight:700;color:#2c3e50}.btn-close{width:36px;height:36px;padding:0;background:#f8f9fa;color:#495057;border:none;border-radius:50%;font-size:24px;font-weight:300;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1}.btn-close:hover{background:#e9ecef;transform:rotate(90deg)}.modal-body{flex:1;overflow-y:auto;padding:24px}.preview-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.preview-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#495057;display:flex;align-items:center;gap:8px}.preview-section h3:before{content:"";width:4px;height:16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.preview-content{padding:16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #dee2e6;font-size:15px;line-height:1.6;color:#2c3e50;white-space:pre-wrap;word-break:break-word}.preview-content.answer{border-left-color:#28a745;background:#f0fdf4;font-weight:600;color:#166534}.preview-content.explanation{border-left-color:#667eea;background:#f0f8ff}.preview-content.empty{color:#6c757d;font-style:italic;text-align:center;border-left-color:#dee2e6}.preview-image{padding:16px;background:#f8f9fa;border-radius:8px;text-align:center}.preview-image img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #0000001a}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:2px solid #f1f3f5;background:#f8f9fa}.btn-primary{padding:12px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:12px 28px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f0f8ff;transform:translateY(-1px)}@media (max-width: 768px){.question-create-content{padding:20px}.concept-selectors,.form-row{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.form-actions{flex-direction:column}.btn-cancel,.btn-submit,.btn-generate{width:100%}.modal-content{max-width:100%;max-height:95vh}.modal-header h2{font-size:18px}.modal-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}.preview-image img{max-height:250px}}.edit-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;line-height:1.6;font-family:inherit;resize:vertical;transition:all .2s ease}.edit-textarea:focus{outline:none;border-color:#4facfe;box-shadow:0 0 0 3px #4facfe1a}.edit-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;font-family:inherit;transition:all .2s ease}.edit-input:focus{outline:none;border-color:#4facfe;box-shadow:0 0 0 3px #4facfe1a}.edit-input.answer{border-color:#c8e6c9;background:#f0fdf4;font-weight:600;color:#166534}.edit-input.answer:focus{border-color:#28a745;background:#f0fdf4}.option-number{min-width:30px;font-weight:600;color:#667eea;font-size:15px;display:inline-block}.option-placeholder{padding:20px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;text-align:center;color:#6c757d;font-size:14px}.preview-options{margin-top:8px}.options-list{list-style:none;counter-reset:option-counter;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.option-item{counter-increment:option-counter;padding:12px 16px;background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;font-size:15px;line-height:1.6;min-height:48px;display:flex;align-items:flex-start;gap:12px}.option-item:before{content:counter(option-counter);flex-shrink:0;width:28px;height:28px;background:#667eea;color:#fff;border-radius:50%;text-align:center;line-height:28px;font-weight:600;font-size:14px}.image-upload{width:100%;min-height:200px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;cursor:pointer;transition:all .2s ease}.image-upload:hover{border-color:#4facfe;background:#f0f8ff}.upload-label{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;padding:30px}.upload-label span{color:#4facfe;font-weight:500;font-size:15px}.btn-remove-image{margin-top:12px;padding:8px 16px;background:#ffebee;color:#c62828;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-remove-image:hover{background:#ffcdd2;transform:translateY(-1px)}.preview-content.keywords{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#f8f9fa;border-left-color:#667eea}.keyword-badge{display:inline-block;padding:6px 14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 6px #667eea4d;transition:all .2s ease}.keyword-badge:hover{transform:translateY(-2px);box-shadow:0 4px 10px #667eea66}.report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.report-modal{background:#fff;border-radius:8px;width:90%;max-width:420px;box-shadow:0 4px 20px #0003;overflow:hidden}.report-modal-header{background:#f57c00;color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700}.report-modal-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;padding:0 4px;line-height:1}.report-modal-body{padding:16px}.report-resource-info{font-size:12px;color:#888;margin-bottom:12px}.report-resource-title{font-size:13px;color:#333;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-type-label{font-weight:700;font-size:14px;margin-bottom:8px}.report-type-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.report-type-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:14px;transition:all .15s}.report-type-item:hover{border-color:#f57c00;background:#fff8f0}.report-type-item.selected{border-color:#f57c00;background:#fff3e0}.report-type-item input[type=radio]{display:none}.report-type-icon{font-size:16px}.report-description{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit;box-sizing:border-box}.report-description:focus{outline:none;border-color:#f57c00}.report-modal-footer{padding:12px 16px;display:flex;gap:10px;border-top:1px solid #eee}.btn-report-cancel,.btn-report-submit{flex:1;padding:10px;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;border:none}.btn-report-cancel{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-report-cancel:hover{background:#eee}.btn-report-submit{background:#f57c00;color:#fff}.btn-report-submit:hover{background:#e65100}.btn-report-submit:disabled,.btn-report-cancel:disabled{opacity:.6;cursor:not-allowed}.question-solving-container{max-width:100%;margin:0;padding:15px 30px}.page-header{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;gap:20px}.header-content{flex:1}.filters-section{display:flex;gap:10px;margin-bottom:20px;padding:12px 15px;background:#f8f9fa;border-radius:8px;align-items:center;flex-wrap:nowrap}.btn-submit-header{padding:12px 32px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #28a7454d;white-space:nowrap}.btn-submit-header:hover:not(:disabled){background:#218838;box-shadow:0 3px 8px #28a74566;transform:translateY(-1px)}.btn-submit-header:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-report{padding:8px 16px;background:#fff3e0;color:#e65100;border:1px solid #ffcc80;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;transition:all .2s}.question-stats{display:flex;align-items:center;gap:12px;font-size:15px;color:#555;font-weight:500}.stat-item{white-space:nowrap}.stat-separator{color:#ccc;font-weight:300}.question-display{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.question-header{padding:15px 20px;background:#f8f9fa;border-bottom:2px solid #dee2e6}.question-meta{display:flex;gap:15px;margin-bottom:10px}.question-number{font-weight:600;color:#333;font-size:16px}.question-difficulty{padding:4px 12px;background:#007bff;color:#fff;border-radius:12px;font-size:12px}.question-type{padding:4px 12px;background:#6c757d;color:#fff;border-radius:12px;font-size:12px}.question-concepts{font-size:14px;color:#666}.question-content{padding:30px}.question-text{font-size:18px;line-height:1.6;margin-bottom:30px;color:#333}.question-image{margin:20px 0;text-align:center;width:100%;overflow:hidden}.question-image img{width:100%;max-width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:8px;box-shadow:0 2px 4px #0000001a}.answer-section{margin:30px 0}.options-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.option-item{display:flex;align-items:center;gap:12px;padding:15px;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;transition:all .2s}.option-item:before{content:none!important;display:none!important}.option-item:hover{background:#f8f9fa;border-color:#007bff}.option-item.selected{background:#e7f3ff;border-color:#007bff}.option-item.correct{background:#d4edda;border-color:#28a745}.option-item.wrong{background:#f8d7da;border-color:#dc3545}.option-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#e0e0e0;color:#333;border-radius:50%;font-size:20px;font-weight:600;flex-shrink:0;line-height:1}.option-item.selected .option-number{background:#bbdefb;color:#1565c0}.option-item.correct .option-number{background:#c8e6c9;color:#2e7d32}.option-item.wrong .option-number{background:#ffcdd2;color:#c62828}.option-text{flex:1;font-size:16px}.correct-mark{color:#28a745;font-size:24px;font-weight:700}.text-answer textarea{width:100%;padding:12px;border:2px solid #dee2e6;border-radius:8px;font-size:16px;font-family:inherit;resize:vertical}.text-answer textarea:focus{outline:none;border-color:#007bff}.result-section{margin:30px 0;padding:20px;border-radius:8px;border-left:4px solid}.result-section.correct{background:#d4edda;border-color:#28a745}.result-section.incorrect{background:#f8d7da;border-color:#dc3545}.result-header{font-size:18px;font-weight:600;margin-bottom:15px}.result-section.correct .result-header{color:#155724}.result-section.incorrect .result-header{color:#721c24}.correct-answer{margin-bottom:10px;padding:10px;background:#fff;border-radius:4px}.explanation{padding:10px;background:#fff;border-radius:4px;line-height:1.6}.question-solving-container{padding-bottom:80px}.question-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding:20px;background:#f8f9fa;border-radius:8px}.btn-nav{padding:12px 28px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;background:#007bff;color:#fff;white-space:nowrap;box-shadow:0 2px 4px #007bff33}.btn-nav:hover:not(:disabled){background:#0056b3;box-shadow:0 3px 6px #007bff4d;transform:translateY(-1px)}.btn-nav:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary,.btn-secondary{padding:12px 30px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.btn-primary{background:#007bff;color:#fff}.btn-primary:hover:not(:disabled){background:#0056b3}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.no-questions{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.no-questions p{font-size:16px;color:#666;margin:10px 0}.student-profile-info{padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px}.student-profile-info h3{margin-top:0;margin-bottom:15px;color:#333;font-size:18px}.profile-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:15px}.profile-info-grid span{padding:10px;background:#f8f9fa;border-radius:4px;font-size:14px;color:#333}.profile-info-grid strong{color:#007bff;margin-right:5px}.profile-edit-hint{font-size:13px;color:#666;margin:10px 0 0;font-style:italic}.profile-edit-hint a{color:#007bff;text-decoration:none}.profile-edit-hint a:hover{text-decoration:underline}.submit-section{display:flex;justify-content:center;margin-bottom:20px}.btn-submit{padding:15px 40px;background:#28a745;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #28a7454d}.btn-submit:hover:not(:disabled){background:#218838;box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.results-container{padding:15px 20px!important}.score-inline{display:flex;align-items:baseline;gap:8px;margin-top:5px}.score-text{font-size:24px;font-weight:700;color:#007bff}.score-percent{font-size:18px;color:#666}.results-actions-header{display:flex;gap:10px}.btn-retry,.btn-dashboard,.btn-my-score{padding:10px 24px;border:none;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-retry{background:#007bff;color:#fff;box-shadow:0 2px 4px #007bff4d}.btn-retry:hover{background:#0056b3;box-shadow:0 3px 6px #007bff66;transform:translateY(-1px)}.btn-dashboard{background:#6c757d;color:#fff;box-shadow:0 2px 4px #6c757d4d}.btn-dashboard:hover{background:#545b62;box-shadow:0 3px 6px #6c757d66;transform:translateY(-1px)}.btn-my-score{background:#28a745;color:#fff;box-shadow:0 2px 4px #28a7454d}.btn-my-score:hover{background:#218838;box-shadow:0 3px 6px #28a74566;transform:translateY(-1px)}.results-list{display:flex;flex-direction:column;gap:12px;margin-bottom:15px}.result-item{background:#fff;border-radius:6px;box-shadow:0 1px 4px #0000001a;padding:15px;border-left:4px solid}.result-item.correct{border-color:#28a745;background:#f8fff9}.result-item.incorrect{border-color:#dc3545;background:#fff8f8}.result-item-header{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.result-item-number{font-weight:600;font-size:15px;color:#333}.result-item-badge{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.badge-correct{background:#28a745;color:#fff}.badge-incorrect{background:#dc3545;color:#fff}.result-item-difficulty{padding:4px 12px;background:#6c757d;color:#fff;border-radius:12px;font-size:12px}.result-item-question{font-size:15px;line-height:1.5;margin-bottom:12px;color:#333;font-weight:400}.result-item-image{margin:10px 0;text-align:center;width:100%;overflow:hidden}.result-item-image img{width:100%;max-width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:6px}.result-item-answers{background:#fff9;padding:12px;border-radius:6px;margin:10px 0}.answer-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;font-size:14px}.answer-row:last-child{margin-bottom:0}.answer-row strong{min-width:65px;color:#555;font-size:13px}.answer-correct{color:#28a745;font-weight:600}.answer-wrong{color:#dc3545;font-weight:600}.result-item-explanation{background:#fff9e6;padding:12px;border-radius:6px;border-left:3px solid #ffc107;line-height:1.5;font-size:14px;margin-top:10px}.result-item-explanation strong{color:#856404}@media (max-width: 768px){.question-solving-container{padding:15px}.page-header{flex-direction:column;align-items:flex-start;gap:15px}.header-content h1{font-size:24px}.btn-submit-header{width:100%;padding:14px}.filters-section{flex-wrap:wrap}.filter-group{flex-basis:calc(50% - 5px);min-width:calc(50% - 5px)}.question-stats{flex-direction:column;gap:8px;align-items:flex-start;font-size:14px}.bottom-nav-bar{padding:10px 15px;gap:10px}.bottom-nav-bar .btn-related{display:none}.question-actions{flex-direction:column;gap:15px}.btn-nav{width:auto;padding:14px}.question-text{font-size:16px}.question-content{padding:20px}.question-image img{max-height:400px}.options-list{grid-template-columns:1fr}.option-text{font-size:15px}.result-item{padding:15px}.result-item-header{flex-direction:column;align-items:flex-start;gap:8px}.results-actions-header{flex-direction:column;width:100%}.btn-retry,.btn-dashboard,.btn-my-score{width:100%;padding:12px}}@media (max-width: 480px){.question-solving-container{padding:10px}.page-header{gap:12px}.header-content h1{font-size:20px}.header-content p{font-size:13px}.btn-submit-header{font-size:14px;padding:12px}.question-header{padding:15px}.question-meta{flex-wrap:wrap;gap:8px}.question-number{font-size:15px}.question-difficulty,.question-type{font-size:11px;padding:3px 10px}.question-content{padding:15px}.question-text{font-size:15px;line-height:1.5;margin-bottom:20px}.question-image{margin:15px 0}.question-image img{max-height:300px}.options-list{grid-template-columns:1fr}.option-item{padding:12px;gap:10px}.option-number{width:26px;height:26px;font-size:14px}.option-text{font-size:14px}.text-answer textarea{font-size:14px;padding:10px}.bottom-nav-bar{padding:8px 10px;gap:8px}.bottom-nav-bar .btn-nav{font-size:13px;padding:10px 14px}.question-actions{padding:15px;gap:12px}.btn-nav{font-size:14px;padding:12px}.question-stats{font-size:13px;text-align:center}.stat-item{font-size:13px}.results-summary{padding:20px}.score-number{font-size:36px}.score-percentage{font-size:22px}.results-container{padding:10px!important}.score-text{font-size:20px}.score-percent{font-size:16px}.results-actions-header{flex-direction:column;width:100%}.btn-retry,.btn-dashboard,.btn-my-score{width:100%;padding:12px;font-size:14px}.result-item{padding:12px}.result-item-question{font-size:14px}.result-item-image img{max-height:200px}.answer-row{font-size:13px;flex-direction:column;gap:4px;align-items:flex-start}.answer-row strong{min-width:auto}.result-item-explanation{font-size:13px;padding:10px}.btn-primary,.btn-secondary{width:100%;padding:14px}}.result-item-options{margin:12px 0}.options-display{margin-top:8px;display:flex;flex-direction:column;gap:8px}.option-display-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8f9fa;border-radius:6px;border:1px solid #dee2e6}.option-display-item.correct-option{background:#d4edda;border-color:#28a745}.option-display-item .option-number{font-weight:600;color:#495057;min-width:20px;background:none;width:auto;height:auto;border-radius:0}.option-display-item .option-text{flex:1;color:#333}.correct-marker{color:#28a745;font-weight:600;font-size:14px}.badge-warning{background:#ffc107;color:#212529}.my-score-container{padding:20px}.page-header h1{margin:0 0 10px;color:#333;font-size:32px}.page-header p{margin:0;color:#666;font-size:16px}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;padding:24px;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center}.summary-card.success .card-value{color:#10b981}.summary-card.warning .card-value{color:#dc3545}.summary-card.info .card-value{color:#3b82f6}.card-label{font-size:15px;color:#6b7280;margin-bottom:16px;font-weight:500;letter-spacing:.5px}.card-value{font-size:48px;font-weight:800;color:#2563eb;line-height:1}.controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000001a}.sort-controls{display:flex;align-items:center;gap:10px}.sort-controls label{font-weight:500;color:#333}.sort-controls select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.stats-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.stats-table{width:100%;border-collapse:collapse;font-size:14px}.stats-table thead{background:#f8f9fa}.stats-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.stats-table td{padding:12px;border-bottom:1px solid #f0f0f0}.stats-table tbody tr{transition:background .2s}.stats-table tbody tr:hover{background:#f8f9fa}.stats-table tbody tr.repeated-incorrect{background:#fff3cd}.stats-table tbody tr.repeated-incorrect:hover{background:#ffe69c}.stats-table tbody tr.final-correct{border-left:3px solid #28a745}.stats-table tbody tr.final-incorrect{border-left:3px solid #dc3545}.question-text{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333;font-weight:500}.difficulty-badge{display:inline-block;padding:4px 10px;background:#6c757d;color:#fff;border-radius:12px;font-size:12px;font-weight:600}.attempts-count{text-align:center;font-weight:600}.warning-icon{margin-left:5px;font-size:14px}.accuracy-rate{display:inline-block;font-weight:600}.attempts-detail{margin-left:5px;font-size:12px;color:#666;font-weight:400}.result-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.date-cell{color:#666;font-size:13px}.btn-view-details{padding:6px 16px;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-view-details:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #007bff4d}.btn-wrong-answer{padding:6px 16px;background:#dc3545;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-wrong-answer:hover{background:#c82333;transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.subunit-name{font-weight:600;color:#333}.correct-count{text-align:center;font-weight:600;color:#28a745}.question-count{text-align:center;font-weight:600}.concept-name{font-weight:500;color:#495057;padding-left:12px}.difficulty-row{background:#fff}.difficulty-name{font-weight:500;color:#495057;padding-left:8px}.subtotal-row{background:#e9ecef;font-weight:600;border-top:2px solid #dee2e6;border-bottom:2px solid #dee2e6}.subtotal-row:hover{background:#dee2e6}.subunit-subtotal{background:#e0e0e0;font-size:14px;border-top:3px solid #bbb;border-bottom:3px solid #bbb}.unit-subtotal{background:#d0d0d0;font-size:14px;font-weight:700;border-top:3px solid #999;border-bottom:3px solid #999}.grade-subtotal{background:silver;font-size:15px;font-weight:700;border-top:4px solid #777;border-bottom:4px solid #777}.subtotal-label{text-align:right;padding-right:16px;color:#495057;font-style:italic}.subtotal-value{text-align:center;color:#212529}.no-data{text-align:center;padding:60px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.no-data p{font-size:16px;color:#666;margin:10px 0}.loading{text-align:center;padding:60px 20px;font-size:18px;color:#666}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin-bottom:20px;border:1px solid #f5c6cb}@media (max-width: 768px){.my-score-container{padding:15px}.page-header h1{font-size:24px}.summary-cards{grid-template-columns:repeat(2,1fr);gap:10px}.summary-card{padding:16px}.card-value{font-size:24px}.stats-table-container{overflow-x:auto}.stats-table{font-size:12px}.stats-table th,.stats-table td{padding:8px}.question-text{max-width:150px}}@media (max-width: 480px){.summary-cards{grid-template-columns:1fr}.controls{flex-direction:column;align-items:stretch;gap:10px}.sort-controls{justify-content:space-between}.stats-table{font-size:11px}.question-text{max-width:100px}.date-cell{font-size:11px}}.modal-content{background:#fff;border-radius:12px;max-width:1000px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d;animation:modalSlideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid #e9ecef;background:#f8f9fa}.modal-header h2{margin:0;font-size:20px;color:#333}.modal-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s;line-height:1}.modal-close:hover{color:#333}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-info{display:flex;gap:24px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px}.modal-info span{font-size:14px;color:#333}.modal-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.modal-summary-item{padding:12px;background:#fff;border:1px solid #e9ecef;border-radius:6px;text-align:center}.modal-summary-item .label{display:block;font-size:13px;color:#666;margin-bottom:6px}.modal-summary-item .value{display:block;font-size:20px;font-weight:700;color:#007bff}.modal-table-container{overflow-x:auto}.modal-stats-table{width:100%;border-collapse:collapse;font-size:14px}.modal-stats-table thead{background:#f8f9fa}.modal-stats-table th{padding:12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;white-space:nowrap}.modal-stats-table td{padding:12px;border-bottom:1px solid #f0f0f0}.modal-stats-table tbody tr{transition:background .2s}.modal-stats-table tbody tr:hover{background:#f8f9fa}.modal-stats-table tbody tr.repeated-incorrect{background:#fff3cd}.modal-stats-table tbody tr.repeated-incorrect:hover{background:#ffe69c}.modal-stats-table tbody tr.final-correct{border-left:3px solid #28a745}.modal-stats-table tbody tr.final-incorrect{border-left:3px solid #dc3545}@media (max-width: 768px){.modal-content{max-width:95%;max-height:95vh}.modal-header{padding:16px}.modal-header h2{font-size:16px}.modal-body{padding:16px}.modal-info{flex-direction:column;gap:8px}.modal-summary{grid-template-columns:repeat(2,1fr);gap:10px}.modal-stats-table{font-size:12px}.modal-stats-table th,.modal-stats-table td{padding:8px}}@media (max-width: 480px){.modal-summary{grid-template-columns:1fr}.modal-stats-table{font-size:11px}.modal-stats-table th,.modal-stats-table td{padding:6px}.question-text{max-width:120px}}.question-detail-container{min-height:calc(100vh - 60px);background:#f5f7fa;padding:30px}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px;background:#fff;padding:24px 30px;border-radius:12px;box-shadow:0 2px 8px #00000014}.header-left h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a1a}.header-subtitle{margin:0;font-size:15px;color:#666;font-weight:500}.btn-back{padding:10px 20px;background:#f0f2f5;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-back:hover{background:#e8eaed;border-color:#ccc;transform:translateY(-1px)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:16px;transition:all .2s}.summary-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.card-icon{font-size:32px;line-height:1}.card-content{flex:1}.card-label{font-size:13px;color:#666;margin-bottom:6px;font-weight:500}.card-value{font-size:24px;font-weight:700;color:#1a1a1a}.detail-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.detail-table{width:100%;border-collapse:collapse;font-size:14px}.detail-table thead{background:#f8f9fa;border-bottom:2px solid #e9ecef}.detail-table th{padding:16px 12px;text-align:left;font-weight:600;color:#333;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.detail-table td{padding:16px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.detail-table tbody tr{transition:background .2s}.detail-table tbody tr:hover{background:#f8f9fa}.detail-table tbody tr.repeated-incorrect{background:#fff3cd}.detail-table tbody tr.repeated-incorrect:hover{background:#ffe69c}.detail-table tbody tr.final-correct{border-left:4px solid #28a745}.detail-table tbody tr.final-incorrect{border-left:4px solid #dc3545}.col-number{width:60px;text-align:center}.col-question{width:auto;min-width:300px}.col-difficulty,.col-attempts{width:100px;text-align:center}.col-accuracy{width:120px;text-align:center}.col-result{width:100px;text-align:center}.col-date{width:160px;text-align:center}.col-action{width:120px;text-align:center}.question-text-preview{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;color:#333;font-weight:500}.difficulty-badge{display:inline-block;padding:5px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.difficulty-badge.difficulty-very_easy{background:#d4edda;color:#155724}.difficulty-badge.difficulty-easy{background:#d1ecf1;color:#0c5460}.difficulty-badge.difficulty-medium{background:#fff3cd;color:#856404}.difficulty-badge.difficulty-hard{background:#f8d7da;color:#721c24}.difficulty-badge.difficulty-very_hard{background:#e2d5f1;color:#5a2a7f}.attempts-info{display:flex;align-items:center;justify-content:center;gap:6px}.attempts-count{font-weight:600;color:#333}.warning-icon{font-size:16px}.accuracy-info{display:flex;flex-direction:column;align-items:center;gap:2px}.accuracy-rate{font-weight:700;font-size:15px}.accuracy-rate.high{color:#28a745}.accuracy-rate.medium{color:#ffc107}.accuracy-rate.low{color:#dc3545}.accuracy-detail{font-size:11px;color:#666;font-weight:400}.result-badge{display:inline-block;padding:5px 12px;border-radius:12px;font-size:12px;font-weight:600}.result-badge.correct{background:#28a745;color:#fff}.result-badge.incorrect{background:#dc3545;color:#fff}.col-date{color:#666;font-size:13px}.btn-view-question{padding:7px 14px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-view-question:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 6px #007bff4d}.no-data{text-align:center;padding:60px 20px;color:#666}.no-data p{margin:0;font-size:16px}.error-message{background:#f8d7da;color:#721c24;padding:20px;border-radius:12px;border:1px solid #f5c6cb;text-align:center}.modal-content{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:modalSlideIn .3s ease-out}.btn-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s;line-height:1;border-radius:4px}.preview-section{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #e9ecef}.preview-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.preview-section h3{margin:0 0 16px;font-size:16px;font-weight:700;color:#333;display:flex;align-items:center;gap:8px}.preview-image{text-align:center;padding:16px;background:#f8f9fa;border-radius:8px}.preview-image img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.view-content{padding:16px;background:#f8f9fa;border-radius:8px;font-size:15px;line-height:1.6;color:#333;white-space:pre-wrap;word-break:break-word}.answer-view{background:#d4edda;color:#155724;font-weight:600}.options-view{display:flex;flex-direction:column;gap:12px}.option-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:#f8f9fa;border-radius:8px;transition:background .2s}.option-item:hover{background:#e9ecef}.option-number{font-weight:700;color:#007bff;min-width:24px}.option-text{flex:1;color:#333;line-height:1.5}.meta-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.meta-info-item{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background:#f8f9fa;border-radius:8px}.meta-label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:15px;color:#333;font-weight:600}.modal-actions{margin-top:24px;padding-top:24px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;gap:12px}.btn-primary-full{padding:12px 32px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary-full:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}@media (max-width: 1200px){.question-detail-container,.detail-header{padding:20px}.header-left h1{font-size:24px}}@media (max-width: 768px){.question-detail-container{padding:15px}.detail-header{flex-direction:column;gap:16px;align-items:stretch}.btn-back{width:100%;text-align:center}.summary-grid{grid-template-columns:repeat(2,1fr);gap:12px}.detail-table-container{overflow-x:auto}.detail-table{font-size:12px}.detail-table th,.detail-table td{padding:10px 8px}.question-text-preview{-webkit-line-clamp:1;font-size:13px}.modal-content{max-width:95%;max-height:95vh}.modal-header{padding:16px 20px}.modal-header h2{font-size:18px}.modal-body{padding:20px}.meta-info-grid{grid-template-columns:1fr}}@media (max-width: 480px){.summary-grid{grid-template-columns:1fr}.card-icon{font-size:24px}.card-value{font-size:20px}.detail-table{font-size:11px}.col-question{min-width:150px}.question-text-preview{font-size:12px}.difficulty-badge{font-size:10px;padding:4px 8px}.btn-view-question{font-size:11px;padding:6px 10px}}.student-management-container{max-width:1600px;margin:0 auto;padding:30px;background:#f5f7fa;min-height:calc(100vh - 60px)}.stats-table-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto}.student-stats-table{width:100%;border-collapse:collapse;font-size:14px;min-width:1200px}.student-stats-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:10}.student-stats-table th{padding:16px 12px;text-align:center;font-weight:700;color:#333;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid #e9ecef}.student-stats-table th:last-child{border-right:none}.student-stats-table td{padding:12px;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0;text-align:center;vertical-align:middle;font-size:14px}.student-stats-table td:last-child{border-right:none}.student-stats-table tbody td:nth-child(1),.student-stats-table tbody td:nth-child(2),.student-stats-table tbody td:nth-child(3),.student-stats-table tbody td:nth-child(4){background:#fafbfc;font-weight:600;font-size:14px;color:#333;text-align:left;padding-left:16px}.student-stats-table tbody td.stat-value{text-align:center!important}.difficulty-row{background:#fff;transition:background .2s}.difficulty-row:hover{background:#f8f9fa}.difficulty-row.last-difficulty td{border-bottom:3px solid #dee2e6}.difficulty-name{font-weight:600;color:#495057}.difficulty-name.clickable-count{color:#007bff}.difficulty-name.clickable-count:hover{color:#0056b3;background:#e7f3ff;text-decoration:underline}.stat-value{font-weight:600;color:#333}.clickable-count{cursor:pointer;transition:all .2s}.clickable-count:hover{background:#e7f3ff;text-decoration:underline}.rate{font-weight:700;padding:4px 8px;border-radius:6px;display:inline-block}.high-performer{font-weight:700;color:#333}.high-performer.clickable-count:hover{background:#d4edda;color:#28a745}.low-performer{font-weight:700;color:#333}.low-performer.clickable-count:hover{background:#f8d7da;color:#dc3545}.subtotal-row{font-weight:700}.subtotal-row td{border-top:2px solid #dee2e6;border-bottom:2px solid #dee2e6}.concept-subtotal{background:#f0f0f0;font-size:13px}.concept-subtotal td{padding:10px 12px}.subunit-subtotal{background:#e0e0e0;font-size:14px}.subunit-subtotal td{padding:12px;border-top:3px solid #bbb;border-bottom:3px solid #bbb}.unit-subtotal{background:#d0d0d0;font-size:14px;font-weight:700}.unit-subtotal td{padding:12px;border-top:3px solid #999;border-bottom:3px solid #999}.grade-subtotal{background:silver;font-size:15px;font-weight:700}.grade-subtotal td{padding:14px 12px;border-top:4px solid #777;border-bottom:4px solid #777}.subtotal-label{text-align:left!important;padding-left:16px!important;font-style:italic}.subtotal-value{text-align:center!important;font-weight:700}.error-message{background:#f8d7da;color:#721c24;padding:20px;border-radius:12px;border:1px solid #f5c6cb;text-align:center;font-weight:600}.no-data{text-align:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.no-data p{margin:0;font-size:16px;color:#666}@media (max-width: 1200px){.student-management-container,.page-header{padding:20px}.page-header h1{font-size:24px}}@media (max-width: 768px){.student-management-container{padding:15px}.page-header{padding:16px}.page-header h1{font-size:20px}.stats-table-wrapper{overflow-x:scroll;-webkit-overflow-scrolling:touch}.student-stats-table{font-size:12px}.student-stats-table th,.student-stats-table td{padding:8px 6px}}.student-list-container{max-width:100%;margin:0;padding:30px;background:#f5f7fa;min-height:calc(100vh - 60px)}.page-header{margin-bottom:30px;background:#fff;padding:24px 30px;border-radius:12px;box-shadow:0 2px 8px #00000014}.page-header-row{display:flex;justify-content:space-between;align-items:center}.page-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:#1a1a1a}.btn-filter-toggle{display:none;align-items:center;gap:6px;padding:8px 14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.btn-filter-toggle:hover{background:#5a6fd6}.btn-filter-toggle .filter-icon{font-size:16px}.btn-filter-toggle .filter-label{font-size:13px}.page-header p{margin:0;font-size:15px;color:#666;font-weight:500}.filter-section{background:#fff;padding:20px 30px;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px;min-width:160px;flex:1;max-width:200px}.filter-group label{font-size:13px;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.filter-group select,.filter-group input{padding:10px 14px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s;background:#fff}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.filter-group select:disabled{background:#f5f5f5;cursor:not-allowed}.search-group{flex:2;min-width:250px;max-width:400px}.filter-stats{font-size:14px;font-weight:600;color:#007bff;padding:10px 20px;background:#e7f3ff;border-radius:8px;align-self:center}.table-wrapper{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto}.students-table{width:100%;border-collapse:collapse;font-size:14px;min-width:1200px}.students-table thead{background:#f8f9fa;border-bottom:2px solid #dee2e6;position:sticky;top:0;z-index:10}.students-table th{padding:16px 12px;text-align:left;font-weight:700;color:#333;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.students-table th:first-child{text-align:center;width:60px}.students-table td{padding:14px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.students-table tbody tr{transition:background .2s}.students-table tbody tr:hover{background:#f8f9fa}.student-name{font-weight:600;color:#333}.text-center{text-align:center}.rate{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:700;font-size:13px}.rate.high{background:#d4edda;color:#155724}.rate.medium{background:#fff3cd;color:#856404}.rate.low{background:#f8d7da;color:#721c24}.btn-details{padding:6px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-details:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 2px 6px #007bff4d}.no-data{text-align:center;padding:60px 20px;color:#666;font-size:15px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:800px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 30px;border-bottom:2px solid #e9ecef;background:#f8f9fa}.modal-header h2{margin:0;font-size:22px;font-weight:700;color:#1a1a1a}.btn-close{background:none;border:none;font-size:32px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:4px}.btn-close:hover{color:#333;background:#e9ecef}.modal-body{padding:30px;overflow-y:auto;flex:1}.profile-section{margin-bottom:30px;padding-bottom:24px;border-bottom:1px solid #e9ecef}.profile-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.profile-section h3{margin:0;font-size:16px;font-weight:700;color:#333;display:flex;align-items:center;gap:8px}.btn-edit-toggle{padding:8px 20px;background:#28a745;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-edit-toggle:hover{background:#218838;transform:translateY(-1px);box-shadow:0 2px 6px #28a7454d}.btn-edit-toggle.editing{background:#6c757d}.btn-edit-toggle.editing:hover{background:#5a6268}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.edit-form{display:flex;flex-direction:column;gap:16px}.edit-form .form-group{display:flex;flex-direction:column;gap:8px}.edit-form .form-group label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.edit-form .form-group select{padding:10px 14px;border:2px solid #ddd;border-radius:8px;font-size:14px;transition:border-color .2s;background:#fff}.edit-form .form-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.edit-form .form-group select:disabled{background:#f5f5f5;cursor:not-allowed}.btn-update-profile{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;align-self:flex-start;margin-top:8px}.btn-update-profile:hover:not(:disabled){background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.btn-update-profile:disabled{background:#ccc;cursor:not-allowed}.profile-item{display:flex;flex-direction:column;gap:8px}.profile-item label{font-size:12px;color:#666;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.profile-value{font-size:15px;color:#333;font-weight:500;padding:10px 14px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.password-section{background:#fff3cd;padding:24px;border-radius:12px;border:2px solid #ffc107}.password-reset-form{display:flex;gap:12px;margin-bottom:12px}.password-input{flex:1;padding:12px 16px;border:2px solid #ffc107;border-radius:8px;font-size:14px;font-weight:500}.password-input:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 3px #ffc10733}.btn-reset-password{padding:12px 24px;background:#dc3545;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-reset-password:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.btn-reset-password:disabled{background:#ccc;cursor:not-allowed}.password-hint{margin:0;font-size:12px;color:#856404;font-weight:600}.modal-actions{padding:20px 30px;border-top:1px solid #e9ecef;display:flex;justify-content:flex-end;background:#f8f9fa}.btn-close-modal{padding:12px 32px;background:#6c757d;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-close-modal:hover{background:#5a6268;transform:translateY(-1px);box-shadow:0 4px 12px #6c757d4d}.loading{text-align:center;padding:60px 20px;font-size:18px;color:#666;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.error-message{background:#f8d7da;color:#721c24;padding:16px 20px;border-radius:12px;border:1px solid #f5c6cb;margin-bottom:20px;font-weight:600}@media (max-width: 1200px){.student-list-container,.page-header{padding:20px}}@media (max-width: 768px){.student-list-container{padding:15px}.page-header h1{font-size:22px}.btn-filter-toggle{display:flex}.filter-section{flex-direction:column;align-items:stretch;display:none}.filter-section.filter-open{display:flex;animation:filterSlideDown .2s ease-out}@keyframes filterSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-group,.search-group{min-width:auto;max-width:none}.table-wrapper{overflow-x:scroll;-webkit-overflow-scrolling:touch}.modal-content{max-width:95%}.profile-grid{grid-template-columns:1fr}.password-reset-form{flex-direction:column}}.pagination{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:20px;padding:16px;background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000f}.btn-page{min-width:36px;height:36px;border:1px solid #ddd;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#555;transition:all .15s}.btn-page:hover:not(:disabled){background:#f0f0f0;border-color:#bbb}.btn-page.active{background:#667eea;color:#fff;border-color:#667eea;font-weight:600}.btn-page:disabled{opacity:.4;cursor:default}.page-info{margin-left:12px;font-size:13px;color:#888}.user-management-container{max-width:100%;margin:0;padding:20px 30px}.user-management-container .header{margin-bottom:30px}.user-management-container .header h1{color:#2c3e50;font-size:28px;margin-bottom:8px}.user-management-container .description{color:#7f8c8d;font-size:14px;margin:0}.filter-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background-color:#f8f9fa;border-radius:8px}.filter-group label{font-weight:600;color:#2c3e50;font-size:14px}.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:#3498db}.summary{color:#7f8c8d;font-size:14px;font-weight:500}.table-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.user-table{width:100%;border-collapse:collapse}.user-table thead{background-color:#34495e;color:#fff}.user-table th{padding:15px;text-align:left;font-weight:600;font-size:14px}.user-table tbody tr{border-bottom:1px solid #ecf0f1;transition:background-color .2s}.user-table tbody tr:hover{background-color:#f8f9fa}.user-table tbody tr.pending{background-color:#fff9e6}.user-table tbody tr.approved{background-color:#fff}.user-table td{padding:15px;font-size:14px;color:#2c3e50}.role-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.role-badge.admin{background-color:#e74c3c;color:#fff}.role-badge.teacher{background-color:#3498db;color:#fff}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.status-badge.approved{background-color:#27ae60;color:#fff}.status-badge.pending{background-color:#f39c12;color:#fff}.action-cell{display:flex;gap:8px;align-items:center}.btn-approve,.btn-reject,.btn-revoke{padding:6px 16px;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-approve{background-color:#27ae60;color:#fff}.btn-approve:hover{background-color:#229954;transform:translateY(-1px);box-shadow:0 2px 4px #27ae604d}.btn-reject{background-color:#e74c3c;color:#fff}.btn-reject:hover{background-color:#c0392b;transform:translateY(-1px);box-shadow:0 2px 4px #e74c3c4d}.btn-revoke{background-color:#f39c12;color:#fff}.btn-revoke:hover{background-color:#e67e22;transform:translateY(-1px);box-shadow:0 2px 4px #f39c124d}.approved-text{color:#95a5a6;font-style:italic}.no-data{text-align:center;padding:60px 20px;color:#7f8c8d;font-size:16px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.error-message{text-align:center;padding:40px 20px;color:#e74c3c;font-size:16px;background-color:#fee;border-radius:8px;border:1px solid #fcc}.user-profile-container{max-width:800px;margin:0 auto;padding:20px}.page-header{margin-bottom:30px;text-align:center}.page-header h1{margin-bottom:10px;color:#333}.page-header p{color:#666}.profile-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:30px}.form-section{margin-bottom:40px;padding-bottom:30px;border-bottom:1px solid #dee2e6}.form-section:last-of-type{border-bottom:none;margin-bottom:0}.form-section h3{margin-bottom:20px;color:#333;font-size:18px}.section-description{color:#666;font-size:14px;margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#007bff}.form-group input.disabled-input{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.form-group small{display:block;margin-top:5px;color:#6c757d;font-size:12px}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:40px;padding-top:20px;border-top:1px solid #dee2e6}.btn-primary,.btn-secondary{padding:14px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;min-width:140px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#6a3f8f);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn-secondary{background:#fff;color:#6c757d;border:2px solid #dee2e6;box-shadow:none}.btn-secondary:hover:not(:disabled){background:#f8f9fa;border-color:#adb5bd;color:#495057;transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.btn-secondary:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.error-message{background:#f8d7da;color:#721c24;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #f5c6cb}.success-message{background:#d4edda;color:#155724;padding:12px;border-radius:6px;margin-bottom:20px;border:1px solid #c3e6cb}.profile-card.danger-card{margin-top:20px}.profile-card.danger-card .form-section.danger-zone{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section.danger-zone h3{color:#f44336}.btn-danger{padding:12px 20px;background-color:#f44336;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .3s}.btn-danger:hover:not(:disabled){background-color:#d32f2f}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.learning-material-create-container{max-width:1000px;margin:20px auto;padding:20px}.learning-material-create-container h2{margin-bottom:20px;color:#333}.learning-material-form{background:#fffffff2;padding:30px;border-radius:15px;box-shadow:0 10px 30px #0003}.hierarchy-selects{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#555}.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{resize:vertical;font-family:inherit}.checkbox-group label{display:flex;align-items:center;cursor:pointer}.checkbox-group input[type=checkbox]{margin-right:8px;width:auto}.form-actions{display:flex;gap:10px;margin-top:30px;justify-content:flex-end}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.ai-preview{background:#fffffff2;padding:30px;border-radius:15px;box-shadow:0 10px 30px #0003;margin-top:30px}.ai-preview h3{margin-bottom:20px;color:#333}.preview-content h4{font-size:20px;margin-bottom:15px;color:#007bff}.generated-image{max-width:100%;height:auto;border-radius:8px;margin:20px 0}.content-text{line-height:1.8;color:#444;margin:20px 0;white-space:pre-wrap}.keywords{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.keyword-tag{display:inline-block;background-color:#e7f3ff;color:#007bff;padding:4px 12px;border-radius:16px;margin-right:8px;margin-bottom:8px;font-size:14px}.loading-container{display:flex;justify-content:center;align-items:center;height:400px;font-size:18px;color:#666}.learning-material-viewer-container{max-width:900px;margin:20px auto;padding:20px}.material-header{margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.btn-back{padding:8px 16px;background-color:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-back:hover{background-color:#545b62}.btn-report{padding:6px 14px;background:#fff3e0;color:#e65100;border:1px solid #ffcc80;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500}.btn-report:hover{background:#ffe0b2}.material-content{background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px}.material-meta{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.meta-badge{background-color:#007bff;color:#fff;padding:4px 12px;border-radius:16px;font-size:13px;font-weight:600}.meta-info{background-color:#f8f9fa;color:#495057;padding:4px 12px;border-radius:16px;font-size:13px}.material-title{font-size:28px;color:#333;margin-bottom:30px;line-height:1.4}.material-image{margin:30px 0;text-align:center}.material-image img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px #0000001a}.material-text{font-size:16px;line-height:1.8;color:#444;margin:30px 0}.material-text table{border-collapse:collapse;width:auto;margin:16px 0}.material-text th,.material-text td{border:1px solid #ddd;padding:8px 12px;text-align:center}.material-text th{background-color:#f8f9fa;font-weight:600}.material-keywords{margin-top:40px;padding-top:30px;border-top:2px solid #e9ecef}.material-keywords h3{font-size:18px;margin-bottom:15px;color:#495057}.keyword-tags{display:flex;flex-wrap:wrap;gap:8px}.keyword-tag{background-color:#e7f3ff;color:#007bff;padding:6px 16px;border-radius:20px;font-size:14px;font-weight:500}.practice-section{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h2{font-size:22px;color:#333;margin:0}.btn-load-questions{padding:10px 20px;background-color:#28a745;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600}.btn-load-questions:hover:not(:disabled){background-color:#218838}.btn-load-questions:disabled{background-color:#ccc;cursor:not-allowed}.recommended-questions{margin-top:20px}.question-count{margin-bottom:20px;color:#666;font-size:14px}.question-list{margin-bottom:20px}.question-item{display:flex;gap:15px;padding:15px;border:2px solid #e9ecef;border-radius:8px;margin-bottom:10px;cursor:pointer;transition:all .2s}.question-item:hover{border-color:#007bff;background-color:#f8f9fa}.question-item.selected{border-color:#007bff;background-color:#e7f3ff}.question-checkbox{flex-shrink:0;display:flex;align-items:flex-start;padding-top:2px}.question-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.question-info{flex:1}.question-number{font-size:12px;color:#666;margin-bottom:5px}.question-text{font-size:15px;color:#333;margin-bottom:10px;line-height:1.5}.question-meta{display:flex;gap:8px}.practice-actions{text-align:center;padding-top:20px;border-top:1px solid #e9ecef}.btn-practice{padding:12px 32px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:600}.btn-practice:hover:not(:disabled){background-color:#0056b3}.btn-practice:disabled{background-color:#ccc;cursor:not-allowed}.loading-container,.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;font-size:18px;color:#666}.error-container button{margin-top:20px;padding:10px 20px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}.error-container button:hover{background-color:#0056b3}.learning-session-container{max-width:100%;margin:0;padding:15px 30px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.header-content h1{margin:0;color:#333;font-size:1.5rem}.header-content p{display:none}.loading{text-align:center;padding:40px;font-size:1.1rem;color:#666}.error-message{background-color:#ffebee;color:#c62828;padding:15px;border-radius:8px;margin-bottom:20px}.filters-section{display:flex;gap:10px;margin-bottom:20px;padding:12px 15px;background-color:#f8f9fa;border-radius:8px;align-items:center;flex-wrap:nowrap}.filter-group{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.filter-group label{font-weight:600;color:#555;font-size:.85rem;white-space:nowrap;flex-shrink:0}.filter-group select{padding:6px 8px;border:1px solid #ddd;border-radius:6px;font-size:.85rem;background-color:#fff;cursor:pointer;flex:1;min-width:0}.filter-group select:focus{outline:none;border-color:#4caf50}.no-materials{text-align:center;padding:60px 20px;color:#666}.no-materials p{margin:10px 0;font-size:1.1rem}.material-display{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.material-header{background-color:#f8f9fa;padding:15px 20px;border-bottom:1px solid #e0e0e0}.material-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px}.material-number{font-weight:700;font-size:1.1rem;color:#333}.material-difficulty,.material-grade{padding:4px 12px;border-radius:16px;font-size:.85rem;font-weight:600;background-color:#e3f2fd;color:#1976d2}.material-concept{color:#666;font-size:.9rem;font-weight:500}.material-content{padding:30px}.material-title h2{margin:0 0 6px;color:#333;font-size:1.8rem;font-weight:700;line-height:1.4}.material-image{margin:25px 0;position:relative;display:inline-block;cursor:pointer}.material-image img{display:block;max-width:720px;width:100%;max-height:800px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.material-image-fullscreen-hint{position:absolute;top:8px;right:8px;background:#00000073;color:#fff;font-size:16px;padding:3px 6px;border-radius:4px;line-height:1;pointer-events:none}.image-fullscreen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out}.image-fullscreen-overlay img{max-width:95vw;max-height:95vh;border-radius:6px;object-fit:contain;cursor:default}.image-fullscreen-close{position:absolute;top:16px;right:20px;background:#ffffff26;border:none;color:#fff;font-size:22px;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-fullscreen-close:hover{background:#ffffff4d}.material-text{margin:6px 0;padding:20px;background-color:#f8f9fa;border-radius:8px;border-left:4px solid #4CAF50;line-height:1.15;font-size:1rem}.material-text p{margin:0 0 1px;line-height:1.15;font-size:1rem;color:#333}.material-text p:last-child{margin-bottom:0}.material-text h1,.material-text h2,.material-text h3{color:#333;margin:4px 0 1px}.material-text h1{font-size:1.3rem}.material-text h2{font-size:1.15rem}.material-text h3{font-size:1.02rem}.material-text h1:first-child,.material-text h2:first-child,.material-text h3:first-child{margin-top:0}.material-text ul,.material-text ol{list-style:none;margin:2px 0;padding-left:6px}.material-text li{margin:0;padding:0;line-height:1.15}.material-text ul li:before{content:"• "}.material-text li p{display:inline;margin:0!important;padding:0;line-height:1.15}.material-text strong{color:#1a1a1a}.material-text table{width:auto;border-collapse:collapse;margin:10px 0;font-size:.93rem}.material-text th,.material-text td{border:1px solid #ddd;padding:6px 16px;text-align:left;white-space:nowrap}.material-text th{background-color:#e8eaf6;font-weight:600;color:#333}.material-text tr:nth-child(2n){background-color:#fafafa}.material-text hr{border:none;border-top:1px solid #e0e0e0;margin:10px 0}.material-text code{background-color:#f0f0f0;padding:2px 6px;border-radius:4px;font-size:.9em}.material-text .katex-display{text-align:left;padding-left:2em}.material-keywords{margin:30px 0;padding:20px;background-color:#f1f8f4;border-radius:8px}.material-keywords h3{margin:0 0 15px;color:#2e7d32;font-size:1.1rem}.keyword-tags{display:flex;flex-wrap:wrap;gap:10px}.keyword-tag{padding:8px 16px;background-color:#4caf50;color:#fff;border-radius:20px;font-size:.9rem;font-weight:500}.bottom-nav-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:16px;padding:12px 30px;background:#f8f9fa;border-top:1px solid #dee2e6;box-shadow:0 -2px 8px #0000001a;z-index:100}.btn-bottom-action{background:#fff;color:#333;padding:10px 18px;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;white-space:nowrap}.btn-bottom-action:hover{background:#f0f0f0}.btn-bottom-related{background:#ff8c00;color:#fff;border-color:#ff8c00}.btn-bottom-related:hover{background:#e07b00}.bottom-nav-bar .nav-counter{color:#666;font-size:14px;white-space:nowrap}.learning-session-container{padding-bottom:80px}.material-actions{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-top:20px;border-top:1px solid #e0e0e0}.btn-nav{padding:12px 24px;background-color:#4caf50;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-nav:hover:not(:disabled){background-color:#45a049;transform:translateY(-2px);box-shadow:0 4px 8px #4caf504d}.btn-nav:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.material-stats{display:flex;gap:15px;align-items:center;color:#666;font-size:.95rem}.stat-item{font-weight:500}.stat-separator{color:#ccc}@media (max-width: 768px){.learning-session-container{padding:15px}.page-header{flex-direction:column;align-items:flex-start;gap:15px}.filters-section{flex-wrap:wrap}.filter-group{flex-basis:calc(50% - 5px);min-width:calc(50% - 5px)}.material-content{padding:20px}.material-title h2{font-size:1.5rem}.bottom-nav-bar{padding:10px 15px;gap:10px}.bottom-nav-bar .btn-related{display:none}.material-actions{flex-direction:column;gap:15px}.btn-nav{width:auto}.material-stats{order:-1;width:100%;justify-content:center}}.rm-page{min-height:100vh;background:#f7f8fa;display:flex;flex-direction:column}.rm-page-header{display:flex;align-items:center;gap:12px;padding:16px 20px 14px;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0;z-index:10}.rm-page-body{padding:20px;flex:1;width:100%;box-sizing:border-box}.rm-title{font-size:17px;font-weight:700;margin:0;color:#1a1a2e;white-space:nowrap}.rm-keywords{display:flex;flex-wrap:wrap;gap:6px;flex:1}.rm-keyword-chip{background:#e0f2f1;color:#00695c;border:1px solid #b2dfdb;border-radius:12px;padding:2px 10px;font-size:12px;font-weight:500}.rm-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 0;color:#666}.rm-spinner{width:36px;height:36px;border:3px solid #e0f2f1;border-top-color:#009688;border-radius:50%;animation:rm-spin .8s linear infinite}@keyframes rm-spin{to{transform:rotate(360deg)}}.rm-error,.rm-empty{text-align:center;padding:48px 0;color:#999;font-size:15px}.rm-section-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#555;margin-bottom:12px}.rm-section-icon{font-size:16px}.rm-image-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rm-image-card{cursor:pointer;border-radius:8px;overflow:hidden;border:1px solid #eee;transition:box-shadow .15s}.rm-image-card:hover{box-shadow:0 4px 12px #0000001f}.rm-image-thumb{width:100%;aspect-ratio:3 / 4;background:#f5f5f5;overflow:hidden}.rm-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.rm-image-card-title{padding:6px 8px 2px;font-size:12px;font-weight:600;color:#222;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rm-image-card-concept{padding:0 8px 8px;font-size:11px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-text-list{display:flex;flex-direction:column;gap:8px}.rm-text-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #eee;border-radius:10px;cursor:pointer;transition:background .1s}.rm-text-item:hover{background:#f9f9f9}.rm-text-item-icon{font-size:22px;flex-shrink:0}.rm-text-item-body{flex:1;min-width:0}.rm-text-item-title{font-size:14px;font-weight:600;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rm-text-item-preview{font-size:12px;color:#888;margin-top:3px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.rm-text-item-arrow{font-size:20px;color:#ccc;flex-shrink:0}.rm-back-btn{background:none;border:none;color:#009688;font-size:14px;font-weight:600;cursor:pointer;padding:0;display:block;white-space:nowrap}.rm-back-btn:hover{text-decoration:underline}.btn-bottom-materials{background:#009688;color:#fff;border-color:#009688}.btn-bottom-materials:hover{background:#00796b}.user-guide{padding:20px;background-color:#f8f9fa;min-height:calc(100vh - 60px)}.guide-container{max-width:1200px;margin:0 auto;background:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.guide-container h1{color:#2d3748;font-size:32px;margin-bottom:30px;border-bottom:3px solid #4a5568;padding-bottom:15px}.guide-section{margin-bottom:40px}.guide-section h2{color:#2d3748;font-size:24px;margin-bottom:20px;padding-left:10px;border-left:5px solid #667eea}.workflow-box{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:12px;margin-bottom:30px}.workflow-box h3{color:#fff;font-size:20px;margin-bottom:20px}.workflow-steps{background:#ffffff1a;padding:20px 20px 20px 40px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.workflow-steps li{margin-bottom:12px;font-size:16px;line-height:1.6;position:relative}.workflow-steps li:before{content:"→";position:absolute;left:-20px;font-weight:700}.workflow-box .note{margin-top:15px;padding:15px;background:#fff3;border-radius:6px;font-size:14px}.step-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:25px;margin-bottom:25px}.step-card h3{color:#2d3748;font-size:20px;margin-bottom:15px;display:flex;align-items:center}.step-card h3:before{content:"✓";background:#667eea;color:#fff;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-right:10px;font-size:18px;font-weight:700}.step-card h4{color:#4a5568;font-size:16px;margin-top:20px;margin-bottom:10px}.step-card ol,.step-card ul{margin-left:20px;margin-bottom:15px}.step-card li{margin-bottom:8px;line-height:1.6}.step-card ul ul,.step-card ol ul{margin-top:8px;margin-left:20px}.alert{padding:15px 20px;border-radius:6px;margin-top:15px;font-size:14px;line-height:1.6}.alert-info{background:#e6f7ff;border:1px solid #91d5ff;color:#0050b3}.alert-warning{background:#fffbe6;border:1px solid #ffe58f;color:#ad6800}.alert-success{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d}.alert strong{font-weight:600}.info-box{background:#edf2f7;border-left:4px solid #4299e1;padding:15px 20px;margin-top:15px;border-radius:4px}.info-box strong{color:#2c5282;display:block;margin-bottom:8px}.info-box ul{margin-left:20px;margin-top:8px}.info-box code{background:#cbd5e0;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:13px}.example-box{background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;padding:15px 20px;margin-top:15px}.example-box h4{color:#22543d;font-size:16px;margin-bottom:10px;font-weight:600}.example-box strong{color:#22543d;display:block;margin-bottom:8px}.example-box ul{margin-left:20px;margin-top:8px}.example-box code{background:#c6f6d5;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:13px}.update-steps{background:#f7fafc;padding:20px 20px 20px 40px;border-radius:8px;border:2px solid #e2e8f0}.update-steps li{margin-bottom:10px;font-size:15px;line-height:1.6}.tip-box{background:#fffaf0;border:2px solid #fbd38d;border-radius:8px;padding:15px 20px;margin-top:15px;color:#744210}.feature-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px #0000001a}.feature-card h3{color:#2d3748;font-size:18px;margin-bottom:12px;font-weight:600}.feature-card p{color:#4a5568;margin-bottom:10px;line-height:1.6}.feature-card ul{margin-left:20px;margin-top:10px}.feature-card li{margin-bottom:8px;line-height:1.6;color:#2d3748}.troubleshooting{background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:20px;margin-bottom:20px}.troubleshooting h3{color:#c53030;font-size:18px;margin-bottom:10px}.troubleshooting p{margin-bottom:8px;line-height:1.6}.troubleshooting strong{font-weight:600}.troubleshooting ol{margin-left:20px;margin-top:10px}.troubleshooting li{margin-bottom:5px}.support-box{background:#f7fafc;border:2px solid #4299e1;border-radius:8px;padding:25px}.support-box h3{color:#2c5282;font-size:18px;margin-bottom:10px}.support-box ul{margin-left:20px;margin-top:10px}.support-box li{margin-bottom:8px}.checklist{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;padding:25px}.checklist label{display:flex;align-items:center;margin-bottom:12px;cursor:pointer;padding:10px;border-radius:6px;transition:background .2s}.checklist label:hover{background:#edf2f7}.checklist input[type=checkbox]{width:20px;height:20px;margin-right:12px;cursor:pointer}.checklist span{font-size:15px;color:#2d3748}.checklist input[type=checkbox]:checked+span{color:#48bb78;text-decoration:line-through;font-weight:500}.guide-footer{margin-top:40px;padding-top:20px;border-top:2px solid #e2e8f0;text-align:center}.btn-back{background:#667eea;color:#fff;border:none;padding:12px 30px;border-radius:6px;font-size:16px;cursor:pointer;transition:background .3s}.btn-back:hover{background:#5568d3}@media (max-width: 768px){.guide-container{padding:20px}.guide-container h1{font-size:24px}.guide-section h2{font-size:20px}.step-card{padding:15px}.workflow-box{padding:20px}}.activity-log-container{padding:20px 40px;margin:0 auto}.page-header{margin-bottom:30px}.page-header h1{font-size:28px;color:#333;margin-bottom:8px}.page-header p{color:#666;font-size:14px}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:4px;margin-bottom:20px}.filter-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background-color:#f5f5f5;border-radius:4px}.filter-controls{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.filter-group{display:flex;align-items:center;gap:10px}.filter-group label{font-weight:600;color:#333;white-space:nowrap}.filter-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:150px}.filter-group input[type=text]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;min-width:200px}.stats{color:#666;font-size:14px}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.no-data{text-align:center;padding:60px;color:#999;font-size:16px}.activity-log-table{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;margin-bottom:20px}.activity-log-table table{width:100%;border-collapse:collapse}.activity-log-table thead{background-color:#f8f9fa}.activity-log-table th{padding:12px 16px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;font-size:14px}.activity-log-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;font-size:14px}.activity-log-table tbody tr:hover{background-color:#f8f9fa}.activity-log-table tbody tr:last-child td{border-bottom:none}.timestamp{color:#666;white-space:nowrap}.activity-type{white-space:nowrap}.activity-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600;text-align:center}.activity-badge.activity-register{background-color:#d1f2eb;color:#0c5460}.activity-badge.activity-login{background-color:#d4edda;color:#155724}.activity-badge.activity-sso_login{background-color:#e3f2fd;color:#1565c0}.activity-badge.activity-logout{background-color:#fff3cd;color:#856404}.activity-badge.activity-login_failed{background-color:#f8d7da;color:#721c24}.activity-badge.activity-token_refresh{background-color:#e2e3e5;color:#383d41}.activity-badge.activity-profile_update,.activity-badge.activity-learning_context_update{background-color:#cce5ff;color:#004085}.activity-badge.activity-profile_update_by_admin{background-color:#d6d8fb;color:#383d95}.activity-badge.activity-password_reset{background-color:#ffeaa7;color:#856404}.activity-badge.activity-account_delete{background-color:#f5c6cb;color:#a71d2a}.activity-badge.activity-user_approved{background-color:#c3e6cb;color:#155724}.activity-badge.activity-user_rejected,.activity-badge.activity-approval_revoked{background-color:#f8d7da;color:#721c24}.activity-badge.activity-question_create{background-color:#d1ecf1;color:#0c5460}.activity-badge.activity-question_update{background-color:#bee5eb;color:#0c5460}.activity-badge.activity-question_delete{background-color:#f8d7da;color:#721c24}.activity-badge.activity-question_solve{background-color:#e7d4f7;color:#6f42c1}.activity-badge.activity-question_list_view{background-color:#e7f3ff;color:#004085}.activity-badge.activity-learning_create{background-color:#d1ecf1;color:#0c5460}.activity-badge.activity-learning_update{background-color:#bee5eb;color:#0c5460}.activity-badge.activity-learning_delete{background-color:#f8d7da;color:#721c24}.activity-badge.activity-learning_view{background-color:#e7d4f7;color:#6f42c1}.activity-badge.activity-learning_list_view{background-color:#f3e5f5;color:#6f42c1}.activity-badge.activity-secret_updated,.activity-badge.activity-secret_deleted{background-color:#fff3e0;color:#e65100}.description{color:#333;max-width:400px;overflow:hidden;text-overflow:ellipsis}.username{color:#333;font-weight:600}.user-role-cell,.platform-cell,.service-platform-cell{text-align:center}.service-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:14px;font-size:12px;font-weight:700;letter-spacing:.3px}.service-icon{font-size:14px;line-height:1}.service-label{font-size:11px}.service-badge.service-kaion{background-color:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9}.service-badge.service-kaitoon{background-color:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.service-badge.service-webtoon{background-color:#fff3e0;color:#e65100;border:1px solid #ffe0b2}.role-badge{display:inline-block;padding:5px 12px;border-radius:14px;font-size:12px;font-weight:700;text-align:center;letter-spacing:.3px}.platform-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700;text-align:center;letter-spacing:.3px}.platform-badge.platform-web{background-color:#e3f2fd;color:#1565c0;border:1px solid #bbdefb}.platform-badge.platform-app{background-color:#f3e5f5;color:#7b1fa2;border:1px solid #e1bee7}.platform-badge.platform-unknown{background-color:#f5f5f5;color:#757575;border:1px solid #e0e0e0}.platform-badge.platform-server{background-color:#fff8e1;color:#f57c00;border:1px solid #ffcc80}.role-badge.role-admin{background-color:#f8d7da;color:#a71d2a;border:1px solid #f5c6cb}.role-badge.role-teacher{background-color:#cce5ff;color:#004085;border:1px solid #b8daff}.role-badge.role-student{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.ip-address{color:#666;font-family:monospace;font-size:12px}.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:20px}.btn-nav{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.btn-nav:hover:not(:disabled){background-color:#0056b3}.btn-nav:disabled{background-color:#ccc;cursor:not-allowed}.page-info{color:#666;font-size:14px;font-weight:600}.science-search-container{min-height:100vh;background-color:#f5f5f5}.search-header{background:linear-gradient(135deg,#2e7d32,#4caf50);color:#fff;padding:30px 40px;margin-bottom:0}.header-content{display:flex;justify-content:space-between;align-items:center}.header-text h1{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:1.8rem;font-weight:600}.header-icon{font-size:1.5rem}.header-text p{margin:0;opacity:.9;font-size:.95rem}.generate-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;color:#2e7d32;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #00000026}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0003}.generate-btn:disabled{opacity:.7;cursor:not-allowed}.generate-btn .btn-icon{font-size:1.2rem}.generate-btn .btn-spinner{width:18px;height:18px;border:2px solid #e0e0e0;border-top-color:#2e7d32;border-radius:50%;animation:spin 1s linear infinite}.search-content{background:#fff;padding:30px 40px;margin:0}.filter-section{margin-bottom:25px}.filter-section h3{font-size:1rem;color:#333;margin:0 0 12px;font-weight:500}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.filter-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;border:1px solid #e0e0e0;border-radius:25px;background:#fff;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s ease}.filter-btn:hover{border-color:#4caf50;color:#4caf50}.filter-btn.active{background:#4caf50;border-color:#4caf50;color:#fff}.filter-btn .check-icon{font-weight:700}.filter-btn .field-icon{font-size:1rem}.grade-btn{padding:10px 20px}.search-input-section{display:flex;align-items:center;gap:15px;margin-bottom:20px}.search-input-wrapper{flex:1;display:flex;align-items:center;background:#f8f8f8;border:1px solid #e0e0e0;border-radius:8px;padding:0 15px}.search-input-wrapper .search-icon{color:#999;font-size:1.2rem}.search-input{flex:1;border:none;background:transparent;padding:14px 12px;font-size:1rem;color:#333;outline:none}.search-input::placeholder{color:#999}.search-buttons{display:flex;gap:8px}.action-btn{width:50px;height:50px;border:none;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.search-btn{background:#4caf50;color:#fff}.search-btn:hover:not(:disabled){background:#43a047;transform:scale(1.05)}.search-btn:disabled{background:#a5d6a7;cursor:not-allowed}.suggested-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.tag-btn{padding:8px 16px;border:none;border-radius:20px;background:#e8f5e9;color:#2e7d32;font-size:.9rem;cursor:pointer;transition:all .2s ease}.tag-btn:hover{background:#c8e6c9;transform:translateY(-2px)}.filter-info{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:12px 0;border-bottom:1px solid #eee}.filter-badge{padding:6px 14px;background:#f0f0f0;border-radius:15px;color:#555;font-size:.85rem;font-weight:500}.topic-count{color:#888;font-size:.9rem;margin-left:auto}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:50px}.loading-spinner{width:50px;height:50px;border:4px solid #e0e0e0;border-top-color:#4caf50;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{margin-top:20px;color:#666;font-size:1rem}.error-state{background:#ffebee;border:1px solid #ef5350;border-radius:8px;padding:20px;margin-bottom:20px}.error-state p{color:#c62828;margin:0}.empty-state{text-align:center;padding:60px 20px;color:#888}.empty-state p{font-size:1.1rem;margin:0 0 10px}.empty-hint{font-size:.95rem;color:#666}.recommended-topics{margin-top:30px}.recommended-topics h3{font-size:1.2rem;color:#333;margin:0 0 20px;font-weight:600}.topics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.topic-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.topic-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a;border-color:#4caf50}.topic-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.topic-header h4{margin:0;color:#333;font-size:1.1rem;font-weight:600}.difficulty-badge{padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:500}.difficulty-badge.easy{background:#e8f5e9;color:#2e7d32}.difficulty-badge.medium{background:#fff3e0;color:#ef6c00}.difficulty-badge.hard{background:#ffebee;color:#c62828}.topic-description{color:#666;font-size:.9rem;line-height:1.6;margin:0 0 15px}.related-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.related-tag{padding:4px 10px;background:#f5f5f5;border-radius:15px;color:#666;font-size:.8rem}.learning-objectives{background:#f8f9fa;border-radius:8px;padding:12px;margin-bottom:15px}.learning-objectives strong{display:block;color:#333;font-size:.85rem;margin-bottom:8px}.learning-objectives ul{margin:0;padding-left:18px}.learning-objectives li{color:#666;font-size:.85rem;line-height:1.5}.topic-footer{display:flex;justify-content:flex-end;padding-top:10px;border-top:1px solid #f0f0f0}.relevance-score{color:#4caf50;font-size:.85rem;font-weight:500}@media (max-width: 768px){.search-header{padding:20px}.header-content{flex-direction:column;gap:15px;align-items:flex-start}.header-text h1{font-size:1.4rem}.generate-btn{width:100%;justify-content:center}.search-content{padding:20px}.filter-buttons{gap:8px}.filter-btn{padding:8px 14px;font-size:.85rem}.search-input-section{flex-direction:column;gap:10px}.search-input-wrapper{width:100%}.search-buttons{justify-content:center}.filter-info{flex-wrap:wrap}.topic-count{width:100%;margin-left:0;margin-top:10px}.topics-grid{grid-template-columns:1fr}}.file-input-wrapper{display:flex;align-items:center;gap:10px}.file-input-btn{padding:6px 14px;border:1px solid #ced4da;border-radius:4px;background:#f8f9fa;cursor:pointer;font-size:13px;white-space:nowrap;transition:background .15s ease}.file-input-btn:hover{background:#e9ecef;border-color:#4facfe}.file-input-name{font-size:13px;color:#6c757d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.App{text-align:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px}.App-header{max-width:1200px;margin:0 auto;padding:40px 20px}.App-header h1{font-size:2.5rem;margin-bottom:30px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.welcome-section{background:#ffffff1a;border-radius:15px;padding:30px;margin:30px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #1f26875e}.welcome-section h2{font-size:2rem;margin-bottom:15px}.welcome-section p{font-size:1.2rem;opacity:.9}.api-test,.health-check{background:#ffffff26;border-radius:12px;padding:20px;margin:20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.api-test h3,.health-check h3{font-size:1.5rem;margin-bottom:15px;color:gold}.health-check ul{list-style:none;padding:0}.health-check li{padding:8px 0;font-size:1.1rem}.features{background:#ffffff1a;border-radius:15px;padding:30px;margin-top:30px}.features h3{font-size:1.8rem;margin-bottom:20px;color:gold}.features ul{list-style:none;padding:0}.features li{background:#ffffff1a;padding:15px;margin:10px 0;border-radius:8px;font-size:1.1rem;transition:transform .2s,background .2s}.features li:hover{transform:translateY(-3px);background:#fff3}@media (max-width: 768px){.App-header h1{font-size:1.8rem}.welcome-section h2{font-size:1.5rem}.welcome-section p{font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit}a{text-decoration:none;color:inherit}
