:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #212529;--text-secondary: #6c757d;--border-color: #dee2e6;--accent-primary: #0066cc;--accent-secondary: #0052a3;--success-color: #28a745;--warning-color: #ffc107;--danger-color: #dc3545;--info-color: #17a2b8;--highlight-bg: #fff3cd;--highlight-hover: #fff3cd;--note-highlight-bg: #e8f4fd;--note-hover: #e8f4fd}[data-theme=dark]{--bg-primary: #1a1d23;--bg-secondary: #23262d;--bg-tertiary: #2c2f36;--text-primary: #e9ecef;--text-secondary: #adb5bd;--border-color: #495057;--accent-primary: #4a9eff;--accent-secondary: #3d8be8;--success-color: #38c157;--warning-color: #ffca2c;--danger-color: #e74c3c;--info-color: #3498db;--highlight-bg: #8b7033;--highlight-hover: #8b7033;--note-highlight-bg: #2a4a5e;--note-hover: #2a4a5e}body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-modal{background:var(--bg-primary);border-radius:16px;padding:40px;width:90%;max-width:440px;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .3s ease;border:1px solid var(--border-color)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.login-close:hover{background:var(--bg-hover);color:var(--text-primary)}.login-header{text-align:center;margin-bottom:32px}.login-header h2{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.login-header p{font-size:15px;color:var(--text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.login-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:12px 16px;border-radius:8px;font-size:14px;text-align:center}.login-session-notice{background:#ffc10726;border:1px solid rgba(255,193,7,.4);color:#b45309;padding:12px 16px;border-radius:8px;font-size:14px;text-align:center;font-weight:500;line-height:1.4}[data-theme=dark] .login-session-notice{color:#fbbf24;background:#ffc1071f;border-color:#ffc1074d}.form-group label{font-size:14px;font-weight:600;color:var(--text-primary)}.form-group input{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:12px 16px;font-size:15px;color:var(--text-primary);transition:all .2s ease;font-family:inherit}.form-group input::placeholder{color:var(--text-secondary)}.form-group input:focus{outline:none;border-color:var(--accent-color, #3b82f6);box-shadow:0 0 0 3px #3b82f61a}.login-submit-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;padding:14px 24px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.login-submit-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.login-submit-btn:active{transform:translateY(0)}[data-theme=dark] .login-modal{background:var(--bg-primary);box-shadow:0 20px 60px #00000080}@media(max-width:768px){.login-modal{padding:32px 24px;width:95%}.login-header h2{font-size:24px}.login-header p{font-size:14px}}.navbar{position:fixed;top:0;left:0;width:100vw;max-width:100%;height:72px;background:var(--bg-primary);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px 32px;box-shadow:0 1px 3px #0000001a;z-index:9999;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color);margin:0;box-sizing:border-box;overflow:visible}.logo{font-size:24px;font-weight:800;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-links{display:flex;gap:24px;align-items:center;flex-shrink:0}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;padding:8px 16px;border-radius:8px;transition:all .2s ease;cursor:pointer}.nav-link:hover,.nav-link.active{background:var(--bg-hover);color:var(--text-primary)}.nav-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.user-status{position:relative;display:flex;align-items:center;flex-shrink:0}.join-btn{background:var(--accent-primary);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;height:40px;display:flex;align-items:center;justify-content:center}.join-btn:hover{background:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 4px 12px #06c3}.user-profile{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:25px;cursor:pointer;transition:background .3s ease;white-space:nowrap;min-height:40px;border:1px solid transparent;position:relative}.user-profile:hover{background:var(--bg-hover);border-color:var(--border-color)}.avatar{width:32px;height:32px;border-radius:50%;background:#3b82f6;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.dropdown{position:absolute;top:calc(100% + 12px);right:0;background:var(--bg-primary);border-radius:12px;box-shadow:0 8px 32px #00000026;padding:8px;min-width:280px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;border:1px solid var(--border-color);overflow:hidden}.dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{padding:12px 16px;border-radius:8px;cursor:pointer;transition:background .2s ease;color:var(--text-primary);white-space:nowrap;display:flex;align-items:center;gap:10px;font-weight:500}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item.logout{color:#ef4444}@media(max-width:768px){.navbar{padding:10px 16px;height:auto}.dropdown{width:260px;max-width:90vw}}.practice-section{padding:60px 40px;max-width:1400px;margin:0 auto;min-height:100vh}.practice-header{text-align:center;margin-bottom:60px}.main-title{font-size:3rem;font-weight:700;color:var(--accent-primary);margin:0 0 15px;letter-spacing:2px}.main-subtitle{font-size:1.2rem;color:var(--text-secondary);margin:0}.practice-layout{display:grid;grid-template-columns:280px 1fr;gap:40px;align-items:start}.practice-sidebar{padding:24px;border-radius:12px;position:sticky;top:100px;z-index:100}.sidebar-section{margin-bottom:30px}.sidebar-section:last-child{margin-bottom:0}.sidebar-section h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:16px;font-weight:600}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group label{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:.95rem;cursor:pointer}.sort-select{width:100%;padding:10px 40px 10px 16px;margin-right:10px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%236C757D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px}.test-selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.test-card{background:var(--bg-primary);border:2px solid var(--border-color);border-top:4px solid var(--accent-primary);border-radius:12px;padding:24px;transition:all .3s ease;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000000d}.test-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #0000001f;border-color:var(--accent-primary)}.test-card.status-in-progress,.test-card.status-in-progress:hover{border-color:#d97706}.test-card.status-in-progress .test-icon{color:#d97706}.test-card.status-completed{border-color:#16a34a}.test-card.status-completed:hover{transform:none;border-color:#16a34a}.test-card.status-completed .test-icon{color:#16a34a}.test-card-header{display:flex;align-items:center;gap:15px;margin-bottom:20px}.test-icon{font-size:2.5rem;color:var(--accent-primary)}.test-name{font-size:1.8rem;font-weight:600;color:var(--text-primary);margin:0}.test-difficulty-badge{display:inline-block;padding:6px 14px;border-radius:20px;background-color:var(--accent-primary);color:#fff;font-size:.85rem;font-weight:600;margin-bottom:15px}.test-description{color:var(--text-secondary);line-height:1.6;margin-bottom:20px;flex:1}.test-details{display:flex;gap:20px;margin-bottom:20px;padding:15px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.test-detail{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.95rem}.test-card .start-test-btn{background:var(--accent-primary);color:#fff;border:none;padding:14px 24px;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;width:100%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px}.test-card .start-test-btn:hover:not(:disabled){background:var(--accent-secondary);opacity:1}.start-test-btn:hover:not(:disabled){opacity:.9}.test-card .start-test-btn.status-in-progress{background:#d97706}.test-card .start-test-btn.status-in-progress:hover:not(:disabled){background:#b45309}.test-card .start-test-btn.status-completed,.test-card .start-test-btn.status-completed:disabled{background:#16a34a;color:#fff;cursor:not-allowed;opacity:1}.test-card .start-test-btn.status-completed.retake{background:var(--accent-primary);color:#fff;cursor:pointer;opacity:1}.test-card .start-test-btn.status-completed.retake:hover{background:var(--accent-secondary)}.test-card .admin-actions-group{display:flex;gap:8px;width:100%}.test-card .admin-perf-btn{background:var(--accent-primary);color:#fff;border:none;padding:12px 18px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.95rem;flex:1;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}.test-card .admin-perf-btn:hover{background:var(--accent-secondary);transform:translateY(-1px)}.test-card .admin-dropdown-container{position:relative;display:flex}.test-card .admin-dropdown-trigger-btn{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:12px 16px;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;white-space:nowrap}.test-card .admin-dropdown-trigger-btn:hover,.test-card .admin-dropdown-trigger-btn.active{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.test-card .admin-dropdown-trigger-btn .chevron-icon{font-size:.75rem;transition:transform .2s ease}.test-card .admin-dropdown-trigger-btn .chevron-icon.open{transform:rotate(180deg)}.admin-dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #0000001f;padding:6px;z-index:100;display:flex;flex-direction:column;gap:2px;animation:dropdownFadeIn .15s ease-out}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.admin-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;color:var(--text-primary);font-size:.85rem;font-weight:500;text-align:left;border-radius:6px;cursor:pointer;transition:all .15s ease}.admin-dropdown-item:hover{background-color:var(--bg-secondary);color:var(--accent-primary)}.admin-dropdown-item.danger{color:#ef4444}.admin-dropdown-item.danger:hover{background-color:#ef44441a;color:#dc2626}.admin-dropdown-item .dropdown-item-icon{font-size:.9rem;flex-shrink:0}.admin-dropdown-divider{height:1px;background-color:var(--border-color);margin:4px 6px}.admin-dropdown-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);padding:4px 12px 2px}.test-card.test-card-locked{opacity:.85;border-style:dashed}.locked-badge{display:inline-flex;align-items:center;gap:4px;font-size:.725rem;font-weight:700;color:#b45309;background-color:#f59e0b26;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}.schedule-badge{display:inline-flex;align-items:center;gap:5px;font-size:.725rem;font-weight:700;padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}.schedule-badge.upcoming{color:#6366f1;background-color:#6366f11f;border:1px solid rgba(99,102,241,.25)}.schedule-badge.open{color:#10b981;background-color:#10b9811f;border:1px solid rgba(16,185,129,.25)}.schedule-badge.closed{color:#ef4444;background-color:#ef44441f;border:1px solid rgba(239,68,68,.25)}.seb-badge{display:inline-flex;align-items:center;gap:4px;font-size:.725rem;font-weight:700;color:#0284c7;background-color:#0284c71f;border:1px solid rgba(2,132,199,.25);padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}.modal-card.seb-card{max-width:520px}.seb-help-text{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin-bottom:16px}.seb-instruction-box{display:flex;flex-direction:column;gap:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-top:12px}.seb-step{display:flex;gap:12px;align-items:flex-start}.step-num{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-primary);color:#fff;font-size:.8rem;font-weight:700;flex-shrink:0;margin-top:2px}.seb-step strong{display:block;font-size:.925rem;color:var(--text-primary);margin-bottom:2px}.seb-step p{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.4}.seb-download-btn,.seb-launch-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600}.practice-toast-notification{position:fixed;top:80px;right:24px;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:8px;box-shadow:0 4px 16px #00000026;font-size:.875rem;font-weight:500;animation:slideInRight .25s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.practice-toast-notification.success{background-color:#10b981;color:#fff}.practice-toast-notification.info{background-color:var(--accent-primary);color:#fff}.practice-toast-notification.error{background-color:#ef4444;color:#fff}.practice-toast-notification .toast-content{display:flex;align-items:center;gap:10px}.practice-toast-notification .toast-close{background:transparent;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;opacity:.8}.practice-toast-notification .toast-close:hover{opacity:1}.modal-overlay{position:fixed;inset:0;background-color:#0000008c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:500px;box-shadow:0 12px 32px #0003;overflow:hidden;animation:modalScaleIn .2s ease-out}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.modal-title-wrap{display:flex;align-items:center;gap:10px}.modal-title-wrap h3{font-size:1.05rem;font-weight:700;margin:0;color:var(--text-primary)}.modal-title-wrap.text-danger{color:#ef4444}.modal-close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:1rem;cursor:pointer;display:flex;align-items:center;padding:4px;border-radius:4px}.modal-close-btn:hover{color:var(--text-primary);background-color:var(--bg-tertiary)}.modal-body{padding:20px;font-size:.925rem;color:var(--text-primary)}.modal-test-target{margin:0 0 16px;color:var(--text-secondary);font-size:.875rem}.modal-danger-warning{color:#ef4444;font-size:.85rem;margin-top:8px}.schedule-form-group{margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;font-weight:500}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.schedule-dates-grid{display:flex;flex-direction:column;gap:14px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border-color)}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:.825rem;font-weight:600;color:var(--text-secondary)}.datetime-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;outline:none}.datetime-input:focus{border-color:var(--accent-primary)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.modal-footer .btn-secondary{padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer}.modal-footer .btn-secondary:hover{background-color:var(--bg-tertiary)}.modal-footer .btn-primary{padding:8px 18px;border:none;border-radius:6px;background-color:var(--accent-primary);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.modal-footer .btn-primary:hover{background-color:var(--accent-secondary)}.modal-footer .btn-danger{padding:8px 18px;border:none;border-radius:6px;background-color:#ef4444;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer}.modal-footer .btn-danger:hover{background-color:#dc2626}.practice-info{background:var(--bg-secondary);border-radius:12px;padding:40px;margin-top:40px}.practice-info h3{color:var(--accent-primary);font-size:1.8rem;margin:0 0 30px;text-align:center}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px}.info-item{text-align:center}.info-item h4{color:var(--accent-primary);font-size:1.1rem;margin:0 0 10px;display:flex;align-items:center;justify-content:center;gap:8px}.info-item p{color:var(--text-secondary);line-height:1.5;margin:0}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;background:var(--bg-secondary);border-radius:12px;border:2px dashed var(--border-color)}.empty-icon{font-size:4rem;color:var(--text-secondary);opacity:.5;margin-bottom:20px}.empty-state h3{color:var(--accent-primary);font-size:1.5rem;margin:0 0 10px}.empty-state p{color:var(--text-secondary);font-size:1rem;margin:0}@media(max-width:768px){.practice-section{padding:30px 20px}.main-title{font-size:2rem}.main-subtitle{font-size:1rem}.practice-layout{grid-template-columns:1fr}.practice-sidebar{position:static;margin-bottom:30px}.test-selection-grid{grid-template-columns:1fr}.skill-tabs{justify-content:flex-start;gap:10px}.skill-tab{padding:10px 20px;font-size:.9rem}.info-grid{grid-template-columns:1fr}}[data-theme=dark] .sort-select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%23ADB5BD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.test-actions{position:relative;display:flex;width:100%}.split-btn-group{display:flex;width:100%;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.split-btn-group .start-test-btn{flex:1;border-radius:0;margin:0;justify-content:center}.dropdown-trigger-btn{background:var(--accent-primary);color:#fff;border:none;padding:0 12px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,255,255,.2);transition:all .3s ease}.dropdown-trigger-btn:hover{background:var(--accent-secondary)}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10;min-width:180px;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--text-primary);font-size:.95rem;text-align:left;cursor:pointer;transition:background .2s ease}.dropdown-item:hover{background:var(--bg-secondary);color:var(--accent-primary)}.dropdown-item svg{color:var(--text-secondary);font-size:.9rem}.dropdown-item:hover svg{color:var(--accent-primary)}.dropdown-item:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.create-test-wrapper{max-width:900px;margin:0 auto;perspective:1000px}.create-test-card{background:var(--bg-primary);border-radius:20px;border:1px solid var(--border-color);box-shadow:0 10px 40px -10px #0000001a;overflow:hidden;transition:all .3s ease}[data-theme=dark] .create-test-card{box-shadow:0 10px 40px -10px #0000004d;background:var(--bg-secondary)}.create-header{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));padding:40px;text-align:center;color:#fff}.create-header h3{font-size:2rem;margin:0 0 10px;font-weight:700}.create-header p{opacity:.9;font-size:1.1rem;margin:0}.create-form{padding:40px;display:flex;flex-direction:column;gap:32px}.form-group label{display:block;font-weight:600;margin-bottom:8px;color:var(--text-primary);font-size:.95rem}.form-group input[type=text],.form-group textarea,.select-wrapper select{width:100%;padding:14px;border-radius:12px;border:2px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:1rem;transition:all .2s ease;font-family:inherit}.select-wrapper{position:relative}.select-wrapper:after{content:"";position:absolute;right:16px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-top-color:var(--text-secondary);pointer-events:none}.form-group input:focus,.form-group textarea:focus,.select-wrapper select:focus{border-color:var(--accent-primary);outline:none;background:var(--bg-primary);box-shadow:0 0 0 4px rgba(var(--accent-primary-rgb),.1)}.form-row{display:grid;grid-template-columns:1fr;gap:24px}@media(min-width:600px){.form-row{grid-template-columns:1fr 1fr}}.upload-section h4{margin:0 0 20px;color:var(--text-primary);font-size:1.1rem;border-bottom:2px solid var(--border-color);padding-bottom:10px}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.upload-box{position:relative;background:var(--bg-tertiary);border:2px dashed var(--border-color);border-radius:16px;min-height:160px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;cursor:pointer;overflow:hidden}.upload-box:hover{border-color:var(--accent-primary);background:rgba(var(--accent-primary-rgb),.02)}.upload-box.has-file{border-style:solid;border-color:var(--success-color);background:#28a7450d}.upload-box input[type=file]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.upload-content{text-align:center;padding:20px;pointer-events:none}.icon-circle{width:50px;height:50px;background:var(--bg-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;color:var(--accent-primary);font-size:1.5rem;box-shadow:0 4px 10px #0000000d}.has-file .icon-circle{color:var(--success-color)}.upload-text h5{margin:0 0 5px;color:var(--text-primary);font-size:1rem}.upload-text p{margin:0;color:var(--text-secondary);font-size:.9rem;word-break:break-all}.submit-btn{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px #0000001a}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0003}.submit-btn:active{transform:translateY(0)}.create-test-container-wide{max-width:1600px;margin:0 auto;padding:0 20px;height:calc(100vh - 140px)}.create-main-grid{display:grid;grid-template-columns:300px 500px 500px;gap:24px;height:100%}.create-sidebar-panel,.preview-panel,.transcription-panel{background:var(--bg-primary);border-radius:16px;border:1px solid var(--border-color);box-shadow:0 4px 12px #00000008;overflow:hidden;display:flex;flex-direction:column}.create-sidebar-panel{padding:20px;overflow-y:auto}.panel-header h4{margin:0 0 15px;color:var(--text-primary);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.sidebar-form{display:flex;flex-direction:column;gap:16px}.compact-form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.compact-input{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:none;border-radius:8px;font-size:.9rem;color:var(--text-primary);transition:box-shadow .2s}.compact-input:focus{outline:none;box-shadow:0 0 0 2px var(--accent-primary);background:var(--bg-primary)}.divider{height:1px;background:var(--border-color);margin:10px 0}.mini-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.mini-upload-box{background:var(--bg-tertiary);border-radius:12px;padding:15px 10px;text-align:center;position:relative;cursor:pointer;border:2px solid transparent;transition:all .2s}.mini-upload-box:hover{background:var(--bg-secondary)}.mini-upload-box.active{background:#e8f4fd;border-color:var(--accent-primary)}[data-theme=dark] .mini-upload-box.active{background:rgba(var(--accent-primary-rgb),.1)}.mini-upload-box input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-icon-sm{font-size:1.2rem;color:var(--accent-primary);margin-bottom:8px;display:block;margin-left:auto;margin-right:auto}.mini-upload-box span{display:block;font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.mini-upload-box small{font-size:.7rem;color:var(--text-secondary)}.process-btn{background:var(--accent-primary);color:#fff;border:none;padding:12px;border-radius:8px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s}.process-btn:hover{opacity:.9}.process-btn:disabled{background:var(--text-secondary);cursor:not-allowed}.empty-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center}.empty-preview p{font-weight:600;margin:15px 0 5px;font-size:1.1rem}.transcription-editor{width:100%;height:100%;border:none;resize:none;padding:20px;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);outline:none}.transcription-editor:focus{background:var(--bg-tertiary)}@media(max-width:1024px){.create-main-grid{grid-template-columns:1fr;grid-template-rows:auto 500px 500px}}.pdf-container{display:flex;flex-direction:column;align-items:center;height:100%;overflow:hidden;position:relative;background:var(--bg-secondary)}.pdf-container .react-pdf__Document{display:flex;justify-content:center;flex-direction:column;align-items:center;overflow-y:auto;flex:1;width:100%;padding:0}.pdf-container .react-pdf__Page{box-shadow:0 4px 8px #0003;margin-bottom:0;max-width:100%}.react-pdf__Page canvas{max-width:none!important;height:auto!important}.pdf-controls{background:var(--bg-primary);border-top:1px solid var(--border-color);padding:30px;width:100%;display:flex;justify-content:center;align-items:center;gap:15px;z-index:10;flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:10px}.control-separator{width:1px;height:24px;background:var(--border-color)}.pdf-controls button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:6px 12px;cursor:pointer;font-weight:700;color:var(--text-primary);transition:all .2s;display:flex;align-items:center;justify-content:center}.pdf-controls button svg{font-size:.9rem}.pdf-controls button:hover:not(:disabled){background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.pdf-controls button:disabled{opacity:.5;cursor:not-allowed}.pdf-controls span{font-variant-numeric:tabular-nums;font-weight:500;color:var(--text-primary)}.loading-spinner,.error-message{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-weight:500}.error-message{color:#ff6b6b}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.checkbox-item{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500;-webkit-user-select:none;user-select:none;font-size:.95rem;color:var(--text-secondary)}.checkbox-item:hover{background:var(--bg-tertiary);border-color:var(--text-primary);color:var(--text-primary)}.checkbox-item:has(input:checked){background:rgba(var(--accent-primary-rgb),.1);border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.checkbox-item input[type=checkbox]{display:none}.page-header-wrapper{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.page-header-content{flex:1}.page-title{font-size:2.5rem;font-weight:700;color:var(--accent-primary);margin-bottom:.5rem;text-align:left;letter-spacing:-.02em}.page-subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.5;text-align:left;margin:0}.page-header-actions{display:flex;align-items:center;gap:1rem;margin-left:2rem;margin-top:.5rem}@media(max-width:768px){.page-header-wrapper{flex-direction:column;gap:1rem}.page-header-actions{margin-left:0;width:100%;justify-content:flex-start}}.search-filter-container{width:100%}.search-filter-wrapper{display:flex;align-items:center;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);transition:all .2s ease;position:relative;z-index:50;cursor:text}.search-filter-wrapper:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #0066cc1a}.search-filter-icon{color:var(--text-secondary);margin-right:10px;font-size:1rem;pointer-events:none;flex-shrink:0}.search-filter-input{width:100%;border:none;background:transparent;color:var(--text-primary);font-size:.95rem;outline:none;padding:0;pointer-events:auto;user-select:text;-webkit-user-select:text}.settings-section{padding:40px 20px;max-width:900px;margin:0 auto}.settings-container{display:flex;flex-direction:column;gap:24px}.settings-card{background:var(--bg-primary);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000001a;border:1px solid var(--border-color)}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.settings-header h3{font-size:1.4rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:12px;margin:0}.settings-header .icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center}.settings-content{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.settings-input{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s ease}.settings-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.settings-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-hover)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.edit-btn,.save-btn,.cancel-btn{padding:8px 16px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none}.edit-btn{background:var(--bg-hover);color:var(--text-primary)}.edit-btn:hover{background:var(--border-color)}.save-btn{background:#10b981;color:#fff}.save-btn:hover{background:#059669}.cancel-btn{background:#ef4444;color:#fff}.cancel-btn:hover{background:#dc2626}.action-buttons{display:flex;gap:12px}.appearance-options{display:flex;flex-direction:column;gap:20px}.theme-option{display:flex;justify-content:space-between;align-items:center;gap:20px}.theme-info h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 4px}.theme-info p{font-size:.9rem;color:var(--text-secondary);margin:0}.theme-toggle-container{display:flex;gap:12px}.theme-btn{padding:10px 20px;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;justify-content:center}.theme-btn:hover{background:var(--bg-hover);border-color:#3b82f6}.theme-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}.info-text{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin:0}@media(max-width:768px){.settings-section{padding:20px 16px}.settings-card{padding:20px}.settings-header{flex-direction:column;align-items:flex-start;gap:12px}.theme-option{flex-direction:column;align-items:flex-start}.theme-toggle-container{width:100%}.theme-btn{flex:1}.form-row{grid-template-columns:1fr}.action-buttons{width:100%}.action-buttons button{flex:1}}.test-interface{position:fixed;inset:0;display:flex;flex-direction:row;height:100vh;width:100%;background:var(--bg-primary);z-index:1000}[data-theme=dark] .test-interface{background:var(--bg-secondary)}.test-content-wrapper{flex:1;display:flex;flex-direction:column;transition:all .3s ease;overflow:hidden}.test-content-wrapper.notes-open{width:calc(100% - 400px)}.top-toolbar{background:#036;color:#fff;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);flex-shrink:0;gap:20px;overflow:visible;position:relative;transition:background-color .3s ease}.top-toolbar.time-warning{background:transparent!important}.top-toolbar.time-warning:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#8b0000,#dc143c,#8b0000);animation:warningPulse 2s ease-in-out infinite;z-index:-1}@keyframes warningPulse{0%,to{opacity:1}50%{opacity:.85}}[data-theme=dark] .top-toolbar{background:#1a2332;border-bottom-color:var(--border-color)}[data-theme=dark] .top-toolbar.time-warning{background:linear-gradient(135deg,#8b0000,#dc143c,#8b0000)}.toolbar-left{display:flex;align-items:center;gap:15px;flex:0 0 auto}.candidate-info{display:flex;align-items:center;gap:12px}.candidate-avatar{width:40px;height:40px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#036;font-weight:700;font-size:.9rem;flex-shrink:0}[data-theme=dark] .candidate-avatar{background:#e8eef5}.candidate-details{display:flex;flex-direction:column;gap:2px}.candidate-id{font-size:.85rem;opacity:.9;line-height:1.2;font-weight:500}.candidate-timer{font-size:.8rem;opacity:.85;line-height:1.2}.timer-section{display:none}.toolbar-controls{display:flex;gap:12px;flex:0 0 auto;justify-content:flex-end;align-items:center}.menu-dropdown-container{position:relative}.menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;min-width:150px;z-index:10001;overflow:hidden}.menu-dropdown-item{width:100%;background:transparent;border:none;padding:12px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-primary);font-size:14px;font-weight:500;transition:all .2s ease;text-align:left;border-bottom:1px solid var(--border-color)}.menu-dropdown-item:last-child{border-bottom:none}.menu-dropdown-item:hover{background:var(--bg-secondary)}.menu-dropdown-item svg{flex-shrink:0}.toolbar-icon-btn{background:transparent;border:none;color:#fff;width:40px;height:40px;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0}.toolbar-icon-btn:hover{background:#ffffff26}.toolbar-icon-btn svg{stroke:currentColor}.volume-control{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#ffffff1a;border-radius:4px;border:1px solid rgba(255,255,255,.3)}.volume-control svg{stroke:#fff;flex-shrink:0}.volume-slider{width:60px;height:4px;border-radius:2px;outline:none;-webkit-appearance:none;appearance:none;background:#ffffff4d;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;border:none;transition:all .2s ease}.volume-slider::-moz-range-thumb:hover{transform:scale(1.2)}.main-content-area,.content-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.content-wrapper.content-hidden{filter:blur(20px);pointer-events:none;-webkit-user-select:none;user-select:none}.content-hidden-overlay{position:absolute;inset:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:100;pointer-events:all}.content-hidden-message{text-align:center;color:#fff;padding:40px;max-width:400px}.content-hidden-message svg{margin-bottom:20px;opacity:.9}.content-hidden-message h2{font-size:1.8rem;margin-bottom:12px;font-weight:600}.content-hidden-message p{font-size:1rem;opacity:.8;line-height:1.5}.nav-arrow{min-width:120px;height:40px;border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease}.nav-arrow:hover:not(:disabled){border-color:#06c;background:#f0f8ff;color:#06c;transform:translateY(-1px)}.nav-arrow:disabled{opacity:.3;cursor:not-allowed}.bottom-controls{background:var(--bg-secondary);border-top:2px solid var(--border-color);padding:16px 24px;display:flex;flex-direction:column;gap:12px;align-items:center;flex-shrink:0;position:relative}.question-numbers{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;overflow-x:auto;padding:8px 20px;width:100%}.question-row{display:flex;gap:20px;align-items:center;justify-content:center}.writing-tasks-row{gap:40px}.question-part{display:flex;flex-direction:column;align-items:center;gap:8px}.part-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.part-questions{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.question-number-btn{min-width:32px;height:32px;border:none;border-top:4px solid #ddd;background:var(--bg-primary);color:var(--text-primary);border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;padding:0 6px;position:relative}.question-number-btn:hover{background:#f0f8ff;transform:translateY(-2px)}.question-number-btn.current{background:#e3f2fd;color:#06c;border-top-color:#06c;box-shadow:0 2px 8px #06c3}.question-number-btn.answered,.question-number-btn.current.answered{border-top-color:#28a745}.question-number-btn.flagged{border-top-color:#ffc107}.question-number-btn.flagged:after{content:"🚩";position:absolute;top:-2px;right:-2px;font-size:.7rem}.task-btn{min-width:60px;height:50px;font-size:1.1rem}.context-menu{position:fixed;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 16px #00000026;padding:4px;z-index:10000;min-width:180px}.context-menu-item{width:100%;padding:10px 16px;border:none;background:transparent;color:var(--text-primary);font-size:.9rem;text-align:left;cursor:pointer;border-radius:4px;display:flex;align-items:center;gap:10px;transition:background .2s ease}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item svg{flex-shrink:0}.submit-btn{background:var(--accent-primary);color:#fff;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .3s ease}.submit-btn:hover{background:var(--accent-secondary)}.screen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);display:flex;justify-content:center;align-items:center;z-index:9999;flex-direction:column;gap:20px}.screen-overlay h2{color:var(--text-primary);font-size:2rem;margin:0}.screen-overlay p{color:var(--text-secondary);font-size:1.1rem;margin:0;text-align:center;max-width:500px}.unhide-btn{background:var(--accent-primary);color:#fff;padding:16px 48px;border:none;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:30px;box-shadow:0 4px 12px #0003}.unhide-btn:hover{background:var(--accent-secondary);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.test-interface .main-content{flex:1;display:flex;overflow:hidden;min-height:0;margin:0;padding:0;position:relative}.test-interface .left-panel{flex:1;overflow-y:auto;min-width:0}.test-interface .right-panel{width:420px;overflow-y:auto;flex-shrink:0}.question-block{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:20px;margin-bottom:20px}.question-number{color:var(--accent-primary);font-weight:700;margin-bottom:10px;font-size:1rem}.question-text{color:var(--text-primary);margin-bottom:15px;line-height:1.5}.answer-input{width:100%;padding:10px;border:2px solid var(--border-color);border-radius:4px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:border-color .3s ease}.answer-input:focus{outline:none;border-color:#06c}.multiple-choice{display:flex;flex-direction:column;gap:10px}.choice-option{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .3s ease;color:var(--text-primary)}.choice-option:hover{background:var(--bg-hover);border-color:#06c}.choice-option.selected{background:#e6f3ff;border-color:#06c}[data-theme=dark] .choice-option.selected{background:#1e3a5f}.choice-radio{width:16px;height:16px;border:2px solid var(--border-color);border-radius:50%;position:relative;flex-shrink:0}.choice-option.selected .choice-radio{border-color:#06c}.choice-option.selected .choice-radio:after{content:"";width:8px;height:8px;background:#06c;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media(max-width:1024px){.toolbar-controls{gap:10px}.toolbar-btn{padding:6px 12px;font-size:.85rem}.question-numbers{padding:0 10px;gap:6px}.question-row{gap:15px}.question-part{gap:6px}.question-number-btn{min-width:24px;height:24px;font-size:.75rem}.part-label{font-size:.7rem}}@media(max-width:768px){.bottom-controls{flex-wrap:wrap;padding:10px 15px}.question-numbers{width:100%;order:3;margin-top:10px;gap:6px}.question-row{flex-direction:column;gap:6px;width:100%}.question-part{gap:4px;width:100%;justify-content:flex-start}.part-questions{gap:3px;flex-wrap:wrap}.question-number-btn{min-width:26px;height:26px}}.notes-panel{width:400px;background:var(--bg-secondary);border-left:2px solid var(--border-color);display:flex;flex-direction:column;height:100vh;flex-shrink:0}.notes-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid var(--border-color);background:var(--bg-primary)}.notes-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.notes-close-btn{background:none;border:none;cursor:pointer;color:var(--text-primary);padding:4px;border-radius:4px;transition:all .2s ease}.notes-close-btn:hover{background:var(--bg-hover)}.text-action-menu{position:absolute;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;gap:0;overflow:hidden;z-index:10000}.text-action-btn{background:var(--bg-primary);border:none;padding:10px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-primary);font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap}.text-action-btn:first-child{border-right:1px solid var(--border-color)}.text-action-btn:hover{background:var(--bg-secondary)}.text-action-btn svg{width:18px;height:18px;flex-shrink:0}.highlight-btn:hover{background:var(--highlight-hover)}.note-btn:hover{background:var(--note-hover)}.highlight-menu{position:fixed;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000004d;overflow:hidden;z-index:10000;transform:translate(-50%)}.highlight-menu-btn{background:var(--bg-primary);border:none;border-bottom:1px solid var(--border-color);padding:10px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-primary);font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap;width:100%}.highlight-menu-btn:last-child{border-bottom:none}.highlight-menu-btn:hover{background:var(--bg-secondary)}.highlight-menu-btn.open-note-btn:hover{background:#e6f2ff;color:#06c}[data-theme=dark] .highlight-menu-btn.open-note-btn:hover{background:#1a3a52;color:#66b3ff}.highlight-menu-btn.delete-btn:hover{background:#fee;color:#dc3545}[data-theme=dark] .highlight-menu-btn.delete-btn:hover{background:#4a1f1f;color:#ff6b6b}.highlight-menu-btn svg{width:16px;height:16px;flex-shrink:0}.text-highlight,mark.text-highlight{background-color:var(--highlight-bg)!important;color:inherit;padding:2px 0;border-radius:2px;cursor:pointer;transition:opacity .2s ease}.text-highlight:hover,mark.text-highlight:hover{opacity:.8}.text-highlight-note,mark.text-highlight-note{background-color:var(--note-highlight-bg)!important;color:inherit;padding:2px 0;border-radius:2px;cursor:pointer;transition:opacity .2s ease}.text-highlight-note:hover,mark.text-highlight-note:hover{opacity:.8}.notes-input-area{padding:16px 20px;border-bottom:2px solid var(--border-color);background:var(--bg-primary)}.note-input-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.note-input-question{background:#06c;color:#fff;padding:4px 10px;border-radius:4px;font-size:.8rem;font-weight:600;flex-shrink:0}.note-input-selected-text{color:var(--text-secondary);font-size:.9rem;font-style:italic;line-height:1.4}.note-input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;resize:vertical;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;margin-bottom:10px}.note-input:focus{outline:none;border-color:#06c}.note-input-actions{display:flex;gap:8px}.add-note-btn{flex:1;padding:10px;background:#06c;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease}.add-note-btn:hover{background:#0052a3}.cancel-note-btn{flex:1;padding:10px;background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;transition:all .2s ease}.cancel-note-btn:hover{background:#e0e0e0;color:#333}.notes-list{flex:1;overflow-y:auto;padding:16px 20px}.no-notes{text-align:center;color:var(--text-secondary);padding:40px 20px;font-style:italic}.note-item{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:12px;margin-bottom:12px;position:relative;transition:all .2s ease}.note-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.note-header-item{display:flex;justify-content:flex-start;align-items:center;margin-bottom:8px;gap:8px;flex-wrap:wrap}.note-question{background:#06c;color:#fff;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;flex-shrink:0}.note-selected-text{color:var(--text-secondary);font-size:.85rem;font-style:italic;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}[data-theme=dark] .note-selected-text{color:var(--text-secondary)}.note-content{color:var(--text-primary);line-height:1.6;font-size:.9rem;word-wrap:break-word;padding-right:80px}.note-actions{position:absolute;top:12px;right:12px;display:flex;gap:6px}.edit-note-btn{background:none;border:none;color:#06c;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.edit-note-btn:hover{background:#0066cc1a}.delete-note-btn{background:none;border:none;color:#dc3545;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.delete-note-btn:hover{background:#dc35451a}@media(max-width:1024px){.notes-panel{width:320px}.test-content-wrapper.notes-open{width:calc(100% - 320px)}}@media(max-width:768px){.notes-panel{position:absolute;top:0;right:0;width:100%;z-index:1001}.test-content-wrapper.notes-open{width:100%}}.audio-resume-modal-overlay{position:fixed;inset:0;background:#0f172abf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeInModal .25s ease-out}.audio-resume-card{background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);border-radius:16px;padding:32px;width:90%;max-width:440px;text-align:center;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a;border:1px solid var(--border-color, #e2e8f0)}.audio-resume-icon-wrap{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#2563eb;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:28px}[data-theme=dark] .audio-resume-icon-wrap{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#93c5fd}.audio-resume-card h3{margin:0 0 10px;font-size:1.35rem;font-weight:700}.audio-resume-card p{margin:0 0 8px;font-size:.95rem;line-height:1.5;color:var(--text-secondary, #64748b)}.audio-resume-subtext{font-size:.85rem!important;color:var(--text-muted, #94a3b8)!important;margin-bottom:24px!important}.btn-resume-audio{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 24px;background:#2563eb;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 6px -1px #2563eb4d}.btn-resume-audio:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 6px 12px -2px #2563eb66}.btn-resume-audio:active{transform:translateY(0)}.audio-resume-actions{display:flex;flex-direction:column;gap:10px}.btn-dismiss-audio{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:11px 20px;background:transparent;color:var(--text-secondary, #64748b);border:1px solid var(--border-color, #cbd5e1);border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-dismiss-audio:hover{background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b)}[data-theme=dark] .btn-dismiss-audio{border-color:#334155;color:#94a3b8}[data-theme=dark] .btn-dismiss-audio:hover{background:#1e293b;color:#f8fafc}@keyframes fadeInModal{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.test-toast-notification{position:fixed;top:20px;right:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;border-radius:10px;box-shadow:0 10px 25px -5px #00000040,0 8px 10px -6px #00000026;z-index:10002;animation:slideInToast .3s cubic-bezier(.16,1,.3,1);max-width:480px;font-size:.92rem;font-weight:500;border:1px solid transparent;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.test-toast-content{display:flex;align-items:center;gap:10px;line-height:1.4}.test-toast-icon{font-size:1.15rem;flex-shrink:0}.test-toast-icon.spin{animation:toastSpin 1s linear infinite}@keyframes toastSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.test-toast-close{background:transparent;border:none;color:inherit;opacity:.7;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:opacity .2s ease,background-color .2s ease}.test-toast-close:hover{opacity:1;background:#00000014}.test-toast-notification.success{background:#f0fdf4;color:#166534;border-color:#86efac}[data-theme=dark] .test-toast-notification.success{background:#052e16;color:#86efac;border-color:#166534}.test-toast-notification.syncing{background:#eff6ff;color:#1e40af;border-color:#93c5fd}[data-theme=dark] .test-toast-notification.syncing{background:#172554;color:#93c5fd;border-color:#1e3a8a}.test-toast-notification.info{background:#f8fafc;color:#1e293b;border-color:#cbd5e1}[data-theme=dark] .test-toast-notification.info{background:#1e293b;color:#f1f5f9;border-color:#334155}.test-toast-notification.error{background:#fef2f2;color:#991b1b;border-color:#fca5a5}[data-theme=dark] .test-toast-notification.error{background:#450a0a;color:#fca5a5;border-color:#991b1b}@keyframes slideInToast{0%{transform:translateY(-20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.test-completion-modal-overlay{position:fixed;inset:0;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeInModal .3s ease-out;padding:20px}.test-completion-card{background:var(--bg-primary, #ffffff);color:var(--text-primary, #1e293b);border-radius:20px;padding:40px;width:100%;max-width:520px;text-align:center;box-shadow:0 25px 50px -12px #00000059;border:1px solid var(--border-color, #e2e8f0)}.test-completion-icon-wrap{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#16a34a;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-size:36px}[data-theme=dark] .test-completion-icon-wrap{background:linear-gradient(135deg,#14532d,#166534);color:#86efac}.test-completion-title{margin:0 0 6px;font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.test-completion-subtitle{margin:0 0 14px;font-size:1.1rem;font-weight:600;color:#16a34a}[data-theme=dark] .test-completion-subtitle{color:#4ade80}.test-completion-description{margin:0 0 24px;font-size:.95rem;line-height:1.55;color:var(--text-secondary, #64748b)}.test-completion-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:12px;padding:16px;margin-bottom:20px;text-align:left}.completion-detail-item{display:flex;flex-direction:column;gap:2px}.completion-detail-label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.05em}.completion-detail-value{font-size:.9rem;font-weight:600;color:var(--text-primary);word-break:break-word}.status-badge-completed{display:inline-flex;align-items:center;color:#16a34a}.test-completion-modules-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}.completion-module-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}[data-theme=dark] .completion-module-chip{background:#14532d;color:#86efac;border-color:#166534}.btn-finish-test{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;background:#06c;color:#fff;border:none;border-radius:12px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 10px #0066cc4d}.btn-finish-test:hover{background:#0052a3;transform:translateY(-1px);box-shadow:0 6px 16px #06c6}.btn-finish-test:active{transform:translateY(0)}.pre-test-container{max-width:800px;margin:0 auto;padding:40px 20px;font-family:Inter,sans-serif;color:var(--text-primary)}.pre-test-header{margin-bottom:30px}.pre-test-title{color:#d32f2f;font-size:24px;font-weight:600;margin-bottom:20px}.pre-test-subtitle{font-size:18px;font-weight:600;margin-bottom:15px;display:flex;align-items:center}.pre-test-subtitle:after{content:"";flex:1;height:1px;background:#e0e0e0;margin-left:15px}.check-card{background:var(--bg-secondary);border:none;border-radius:8px;margin-bottom:20px;overflow:hidden;box-shadow:0 4px 12px #0000001a;transition:all .3s ease}.check-card-header{padding:20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:var(--bg-secondary)}[data-theme=dark] .check-card,[data-theme=dark] .check-card-header{background:var(--bg-primary)}.check-card-header h3{margin:0;font-size:18px;font-weight:600}.check-status-icon{font-size:20px}.status-success{color:#2e7d32}.status-pending{color:#ed6c02}.status-not-started{color:#d32f2f}.check-card-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease-out}.check-card.expanded .check-card-body{grid-template-rows:1fr}.check-card-content{padding:0 20px;min-height:0;visibility:hidden;opacity:0;overflow:hidden;transition:padding .4s ease-out,visibility .4s ease-out,opacity .4s ease-out}.check-card.expanded .check-card-content{padding:20px;visibility:visible;opacity:1;border-top:1px solid #e0e0e0}.checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.check-item{display:flex;flex-direction:column;gap:10px}.check-item label{font-weight:500;display:flex;align-items:center;gap:8px}.module-status{margin-top:5px;font-size:14px;font-weight:600}.module-timing{margin-top:10px;font-size:14px;color:var(--text-secondary);margin-bottom:15px}.confirmation-box{background:#f5f5f5;border:1px solid #e0e0e0;padding:15px;border-radius:4px;margin-bottom:15px;display:flex;align-items:center;gap:10px}[data-theme=dark] .confirmation-box{background:#2b3a4a;border-color:#444}.confirmation-text{font-size:14px;color:#2e7d32;font-weight:500}.start-test-btn{background:#000;color:#fff;border:none;padding:12px 24px;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s}.start-test-btn:hover{background:#333}[data-theme=dark] .start-test-btn{background:var(--accent-primary);color:#fff}[data-theme=dark] .start-test-btn:hover{background:var(--accent-secondary)}.start-test-btn:disabled{background:#ccc;cursor:not-allowed}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#2196f3}input:focus+.slider{box-shadow:0 0 1px #2196f3}input:checked+.slider:before{transform:translate(26px)}.audio-check-btn{background:var(--bg-hover);border:1px solid var(--border-color);padding:8px 16px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.listening-part-callout{background-color:#e2e8f0;border-radius:4px;padding:15px 20px;margin:15px 20px 20px}.listening-question-group{margin:0 0 34px;color:var(--text-primary)}.listening-question-group+.listening-question-group{padding-top:28px;border-top:1px solid var(--border-color)}.listening-group-range{margin-bottom:8px;font-weight:800;font-size:1.02rem}.listening-group-instruction{margin-bottom:20px;line-height:1.55}.listening-group-instruction p{margin:0}.listening-question-list{display:flex;flex-direction:column;gap:14px}.listening-question-renderer{scroll-margin:160px 0 100px}.listening-selection-limit{margin:8px 0 0 34px;color:var(--text-secondary);font-size:.86rem}.listening-structured-content{max-width:980px;padding:24px 28px;border:1px solid var(--border-color);background:var(--bg-primary);line-height:1.8}.listening-structured-content h2,.listening-structured-content h3,.listening-structured-content h4{margin:0 0 12px;color:var(--text-primary)}.listening-structured-content h3{text-align:center;font-size:1.14rem}.listening-structured-content h4{margin-top:20px;font-size:1rem}.listening-structured-content p{margin:12px 0}.listening-content-bullet{display:grid;grid-template-columns:14px minmax(0,1fr);gap:6px;align-items:baseline;margin:8px 0}.listening-content-gap,.listening-drop-target{display:inline-flex;align-items:center;min-width:150px;min-height:30px;margin:2px 6px;vertical-align:middle;border:1px solid #5d6974;border-radius:4px;background:var(--bg-primary);line-height:1.2;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;scroll-margin:160px 0 100px}.listening-content-gap.is-current,.listening-content-gap:focus-within,.listening-drop-target.is-current,.listening-drop-target:focus,.listening-drop-target:hover{border-color:#1888cf;box-shadow:0 0 0 2px #1888cf33;outline:none}.listening-content-gap-number{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:28px;padding:0 7px;border-right:1px solid var(--border-color);font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}.listening-content-gap input{min-width:105px;width:100%;height:28px;border:0;outline:0;padding:3px 8px;background:transparent;color:var(--text-primary);font:inherit;font-weight:600}.listening-shared-option-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.8fr);gap:28px;align-items:start}.listening-shared-option-layout .listening-structured-content{width:100%}.listening-matching-list{display:flex;flex-direction:column;gap:9px}.listening-matching-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(185px,.8fr);align-items:center;gap:18px;min-height:42px;padding:5px 0}.listening-matching-row .listening-drop-target{width:100%;margin:0}.listening-option-bank{position:sticky;top:12px;padding:16px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-secondary)}.listening-option-bank-title{margin-bottom:10px;font-weight:800}.listening-option-bank-items{display:flex;flex-direction:column;gap:8px}.listening-option-card{display:block;padding:8px 10px;border:1px solid #aeb8c0;border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:.91rem;line-height:1.35;cursor:grab;-webkit-user-select:none;user-select:none}.listening-option-card:active,.listening-dropped-option:active{cursor:grabbing}.listening-option-card:hover{border-color:#1888cf;box-shadow:0 0 0 1px #1888cf33}.listening-option-card.is-used{opacity:.45;border-style:dashed}.listening-drop-target{border-style:dashed;cursor:default}.listening-drop-target.has-option{border-style:solid;background:#1888cf0f}.listening-drop-hint{padding:5px 9px;color:var(--text-secondary);font-size:.82rem;white-space:nowrap}.listening-dropped-option{display:inline-flex;flex:1;align-items:center;justify-content:space-between;gap:8px;padding:4px 5px 4px 9px;cursor:grab;font-size:.86rem;font-weight:600}.listening-drop-clear{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--text-secondary);font-size:1.15rem;cursor:pointer}.listening-drop-clear:hover{background:#00000014;color:var(--text-primary)}.listening-table-wrap{overflow-x:auto}.listening-table-title{margin:0!important;padding:10px 12px;border:1px solid var(--border-color);border-bottom:0;text-align:center}.listening-content-table{width:100%;border-collapse:collapse;line-height:1.55}.listening-content-table th,.listening-content-table td{padding:12px 14px;border:1px solid var(--border-color);text-align:left;vertical-align:middle}.listening-content-table th{background:var(--bg-secondary);font-weight:800}.listening-content-table td:first-child{font-weight:700}.listening-flowchart{display:flex;flex-direction:column;align-items:stretch}.listening-flowchart-step{padding:18px 20px;border:1px solid #626d75;background:var(--bg-primary);text-align:center;white-space:pre-line}.listening-flowchart-arrow{padding:5px 0;text-align:center;font-size:1.45rem;line-height:1}@media(max-width:900px){.listening-audio-strip{flex-wrap:wrap}.listening-audio-progress{order:3;flex-basis:100%}.listening-shared-option-layout{grid-template-columns:1fr}.listening-option-bank{position:static}}@media(max-width:640px){.listening-main-content.listening-single-column{padding:16px 18px 36px}.listening-structured-content{padding:18px 16px}.listening-matching-row{grid-template-columns:1fr;gap:4px}.listening-content-table th,.listening-content-table td{min-width:150px}}.listening-part-title{color:var(--text-primary);font-size:1rem;font-weight:700;margin:0 0 5px}.listening-part-instruction{color:var(--text-primary);font-size:1rem;margin:0}[data-theme=dark] .listening-part-callout{background-color:var(--bg-tertiary)}[data-theme=dark] .listening-part-title,[data-theme=dark] .listening-part-instruction{color:var(--text-primary)}.listening-inline-gap-style{margin-bottom:20px}.listening-question-text-with-gap{font-size:1.05rem;line-height:2.4;color:var(--text-primary)}.listening-gap-placeholder{display:inline-flex;align-items:center;margin:0 6px;vertical-align:middle;border:1px solid var(--border-color);border-radius:2px;background-color:var(--bg-primary);height:28px;min-width:124px;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.listening-gap-placeholder:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.listening-gap-order-number{display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:.9rem;font-weight:600;flex-shrink:0;min-width:24px;padding-left:6px}.listening-inline-gap-input{border:none;background:transparent;padding:0 8px;font-size:1rem;color:var(--text-primary);font-family:inherit;width:100%;height:100%;outline:none}.listening-inline-gap-input::placeholder{color:transparent}[data-theme=dark] .listening-gap-placeholder{border-color:var(--border-color)}[data-theme=dark] .listening-gap-placeholder:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.listening-audio-controls{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:15px;margin-bottom:25px;display:flex;align-items:center;gap:20px}.listening-audio-controls h4,.listening-audio-instruction{display:none}.listening-audio-player{display:flex;align-items:center;gap:20px}.listening-play-btn{background:transparent;color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;width:40px;height:40px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.listening-play-btn:hover{background:var(--bg-secondary)}.listening-volume-control{display:flex;align-items:center;gap:10px;color:var(--text-primary)}.listening-volume-slider{width:100px;height:4px;background:var(--border-color);border-radius:2px;outline:none;appearance:none}.listening-volume-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;background:var(--text-primary);border-radius:50%;cursor:pointer}.listening-volume-slider::-moz-range-thumb{width:12px;height:12px;background:var(--text-primary);border-radius:50%;cursor:pointer;border:none}.listening-audio-note{color:var(--text-secondary);font-size:.85rem;margin-left:auto}.listening-main-content-wrapper{overflow-y:auto;flex:1;margin-bottom:60px;background-color:transparent}.listening-main-content{display:flex;gap:0;min-height:400px}.listening-main-content.listening-single-column{flex-direction:column;width:100%;margin:0;padding:20px 40px 40px}.listening-section-info{margin-bottom:20px}.listening-section-info h3{color:var(--text-primary);margin:0 0 5px;font-size:1.1rem;font-weight:700}.listening-section-description{color:var(--text-primary);line-height:1.4;margin:0;font-size:.95rem}.listening-questions-container{margin-top:10px}.listening-question-block{margin-bottom:25px;padding:5px 0}.listening-question-number{font-size:1rem;color:var(--text-primary);font-weight:700;margin-bottom:5px}.listening-question-text{font-size:1rem;color:var(--text-primary);margin-bottom:12px;line-height:1.4}.listening-question-item{margin-bottom:15px;padding:5px 0}.listening-question-item.listening-current-question{background:transparent;transition:all .3s ease}.listening-question-item.listening-current-question .listening-gap-placeholder,.listening-question-item.listening-current-question .listening-answer-input{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f64d}[data-theme=dark] .listening-question-item.listening-current-question .listening-gap-placeholder,[data-theme=dark] .listening-question-item.listening-current-question .listening-answer-input{box-shadow:0 0 0 2px #3b82f666}.listening-question-label{font-size:1rem;color:var(--text-primary);margin-bottom:10px;display:flex;align-items:center;gap:10px}.inspera-question-number-box{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:2px;min-width:24px;height:24px;font-size:.9rem;font-weight:700;background:var(--bg-primary);color:var(--text-primary)}.listening-answer-input{width:100%;max-width:500px;padding:8px 12px;border:1px solid var(--border-color);border-radius:2px;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease}.listening-answer-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.listening-multiple-choice{display:flex;flex-direction:column;gap:8px;margin-top:15px;margin-left:34px}.listening-choice-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;cursor:pointer;background:transparent;transition:all .2s ease}.listening-choice-option:hover{background:#00000008}.listening-choice-option.selected{background:#0000000d}.listening-choice-radio{width:16px;height:16px;border:1px solid var(--text-primary);border-radius:50%;position:relative;flex-shrink:0;margin-top:3px;background:var(--bg-primary)}.listening-choice-option.selected .listening-choice-radio{border-color:var(--text-primary)}.listening-choice-option.selected .listening-choice-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--text-primary);border-radius:50%}.listening-multiple-select{display:flex;flex-direction:column;gap:10px;margin-top:10px}.listening-choice-checkbox{width:18px;height:18px;border:2px solid var(--border-color);border-radius:3px;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.8rem}.listening-choice-checkbox.checked{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.listening-context{background:var(--bg-secondary);padding:20px;border-radius:6px;margin-top:20px}.listening-context h4{color:var(--accent-primary);margin:0 0 10px}.listening-context p{color:var(--text-secondary);line-height:1.6;margin:0}.listening-answer-section{margin-bottom:20px}.listening-question-hint{background:var(--bg-tertiary);border-left:4px solid var(--accent-primary);padding:12px;border-radius:4px;margin-top:15px}.listening-hint-text{color:var(--text-primary);font-size:.9rem;margin:0;line-height:1.5}.listening-floating-navigation{position:absolute;right:24px;bottom:90px;display:flex;gap:12px;z-index:100;background:none;border:none;border-radius:8px;padding:4px}[data-theme=dark] .listening-floating-navigation{background:none;border:none}.listening-floating-nav-btn{width:56px;height:56px;border:none;background:#036;color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0366;opacity:1}.listening-floating-nav-btn svg{width:20px;height:20px;color:#fff;fill:currentColor}.listening-floating-nav-btn:hover:not(:disabled){background:#06c;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #0066cc80;opacity:1}[data-theme=dark] .listening-floating-nav-btn{background:#004080;opacity:1}[data-theme=dark] .listening-floating-nav-btn:hover:not(:disabled){background:#4da3ff;color:#fff;opacity:1}.listening-floating-nav-btn:disabled{opacity:1;cursor:not-allowed;background:#024}.listening-footer-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--bg-primary);border-top:2px solid var(--border-color);box-shadow:0 -2px 10px #0000001a;height:60px}.listening-footer{display:flex;justify-content:center;align-items:stretch;padding:0;max-width:100%;margin:0 auto;height:100%}.listening-footer-part-nav{display:flex;align-items:stretch;gap:0;justify-content:stretch;width:100%;flex:1}.listening-footer-question-wrapper{display:flex;align-items:stretch;flex:1;min-width:0;border-right:1px solid var(--border-color)}.listening-footer-question-wrapper:last-child{border-right:none}.listening-footer-part-btn{flex:1;min-width:120px;height:100%;padding:10px 20px;border:none;border-right:none;border-top:4px solid transparent;background:var(--bg-primary);color:var(--text-primary);border-radius:0;cursor:pointer;font-size:1rem;font-weight:500;transition:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;position:relative}.listening-footer-question-wrapper.selected .listening-footer-part-btn{flex:0 0 auto;flex-shrink:0;min-width:95px;padding:10px 14px;font-size:.95rem}.listening-footer-question-wrapper.selected .listening-part-text{font-size:1.05rem}.listening-footer-question-wrapper.selected .listening-part-progress{display:none}.listening-part-content{display:flex;align-items:center;gap:8px;width:100%}.listening-part-tick-icon{color:#28a745;flex-shrink:0}.listening-part-text{font-weight:700;font-size:1.1rem;text-align:left}.listening-part-progress{font-size:.85rem;color:var(--text-secondary);font-weight:400;margin-left:4px}.listening-footer-part-btn.selected{background:var(--bg-primary);border-top-color:#ccc}.listening-footer-part-btn.selected:hover{background:var(--bg-hover)}.listening-footer-part-btn.completed{background:var(--bg-primary);border-top-color:#28a745}.listening-footer-part-btn.completed:hover{background:var(--bg-hover)}[data-theme=dark] .listening-footer-part-btn.completed{border-top-color:#66bb6a}.listening-footer-part-btn:hover{background:var(--bg-hover)}.listening-footer-subquestion-wrapper{display:flex;align-items:stretch;gap:0;flex:1;overflow-x:auto;background:var(--bg-primary)}.listening-subquestion-btn{flex:1;min-width:0;height:100%;padding:8px 4px;border:none;border-right:1px solid var(--border-color);border-top:4px solid #ccc;background:var(--bg-primary);color:var(--text-primary);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.listening-subquestion-btn:last-child{border-right:none}.listening-subquestion-btn:hover{background:var(--bg-hover)}.listening-subquestion-btn.active{background:#e8f4f8;font-weight:700}.listening-subquestion-btn.active:hover{background:#d4ebf2}[data-theme=dark] .listening-subquestion-btn.active{background:#1a3a4a}[data-theme=dark] .listening-subquestion-btn.active:hover{background:#2a4a5a}.listening-subquestion-btn.answered{border-top-color:#28a745}[data-theme=dark] .listening-subquestion-btn.answered{border-top-color:#66bb6a}.listening-subquestion-btn.answered:hover{background:var(--bg-hover)}.listening-subquestion-btn.answered.active{background:#e8f4f8;border-top-color:#28a745;font-weight:700}.listening-subquestion-btn.answered.active:hover{background:#d4ebf2}[data-theme=dark] .listening-subquestion-btn.answered.active{background:#1a3a4a;border-top-color:#66bb6a}@media(max-width:1024px){.listening-main-content{flex-direction:column}}.shared-question-item{margin-bottom:25px;padding:10px;border-radius:6px;transition:background .2s ease,box-shadow .2s ease}.shared-question-item.is-current .shared-question-number-text{border-color:var(--accent-primary)}.shared-question-item.is-current .shared-gap-placeholder{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.shared-question-label{font-weight:600;color:var(--text-primary);margin-bottom:12px;font-size:1.05rem;line-height:1.5}.shared-question-number-text{font-weight:700;margin-right:5px;border:1px solid transparent;padding:2px 6px;border-radius:4px;display:inline-block}.shared-multiple-choice{display:flex;flex-direction:column;gap:8px}.shared-inline-options{flex-direction:row;gap:20px}.shared-choice-option{display:flex;align-items:center;gap:12px;padding:10px 15px;border-radius:6px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.shared-choice-option:hover{background:var(--bg-hover)}.shared-choice-option.selected{background:var(--bg-hover);color:var(--text-primary)}.shared-choice-radio{width:16px;height:16px;border:1px solid var(--text-primary);border-radius:50%;position:relative;flex-shrink:0;margin-top:3px;background:var(--bg-primary)}.shared-choice-checkbox{width:16px;height:16px;border:1px solid var(--text-primary);border-radius:2px;position:relative;flex-shrink:0;margin-top:3px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent}.shared-choice-option.selected .shared-choice-radio,.shared-choice-option.selected .shared-choice-checkbox{border-color:var(--text-primary)}.shared-choice-option.selected .shared-choice-checkbox{color:var(--text-primary)}.shared-choice-option.selected .shared-choice-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--text-primary);border-radius:50%}.shared-question-text-with-gap{font-size:1.05rem;line-height:2.2;color:var(--text-primary)}.shared-gap-placeholder{display:inline-flex;align-items:center;margin:0 6px;vertical-align:middle;border:1.5px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);height:30px;min-width:130px;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.shared-gap-placeholder:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.shared-option-gap-placeholder{display:inline-flex;align-items:center;min-width:190px;height:32px;margin:0 6px;overflow:hidden;vertical-align:middle;border:1.5px dashed var(--border-color);border-radius:4px;background:var(--bg-primary);transition:border-color .2s ease,box-shadow .2s ease}.shared-option-gap-placeholder:focus-within{border-color:var(--accent-primary);border-style:solid;box-shadow:0 0 0 1px var(--accent-primary)}.shared-inline-option-select{width:100%;height:100%;padding:0 28px 0 8px;border:0;outline:0;background:var(--bg-primary);color:var(--text-primary);font:inherit;font-size:.9rem;cursor:pointer}.shared-gap-order-number{display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:.85rem;font-weight:700;flex-shrink:0;min-width:26px;padding:0 6px;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-color);border-top-left-radius:3px;border-bottom-left-radius:3px}.shared-inline-gap-input{border:none;background:transparent;padding:0 8px;font-size:.95rem;color:var(--text-primary);font-family:inherit;width:100%;height:100%;outline:none}.shared-inline-gap-input::placeholder{color:var(--text-secondary);opacity:.6}[data-theme=dark] .shared-gap-placeholder{background-color:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .shared-gap-order-number{background:var(--bg-secondary);border-right-color:var(--border-color)}[data-theme=dark] .shared-gap-placeholder:focus-within{border-color:var(--accent-primary)}.reading-main-content{display:flex;gap:0;min-height:500px;position:relative}.test-interface .reading-main-content .reading-left-panel,.reading-main-content .reading-left-panel{flex:0 0 auto;border-right:1px solid var(--border-color);overflow-y:auto;padding:30px;margin:0}.test-interface .reading-main-content .reading-right-panel,.reading-main-content .reading-right-panel{flex:0 0 auto;overflow-y:auto;padding:30px 25px 120px;margin:0}.reading-passage-section{max-width:800px;margin:0 auto}.reading-passage-header{margin-bottom:30px;padding-bottom:20px}.reading-passage-header h2{color:#036;font-size:1.8rem;margin:0;font-weight:600}[data-theme=dark] .reading-passage-header h2{color:#6b9bd6}.reading-passage-text{line-height:1.8;font-size:1.05rem;color:var(--text-primary)}.reading-passage-text.reading-highlightable{cursor:text;-webkit-user-select:text;user-select:text}.reading-passage-text p{margin-bottom:20px;text-align:justify}.reading-highlighted{background-color:#ffeb3b;padding:2px 0}[data-theme=dark] .reading-highlighted{background-color:#7d6608;color:#fff}.reading-tools{display:flex;gap:10px;margin-top:30px;padding-top:20px;border-top:1px solid var(--border-color);justify-content:center}.reading-tool-btn{background:var(--bg-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:.9rem;color:var(--text-primary);transition:all .3s ease}.reading-tool-btn:hover{background:var(--bg-hover);border-color:#06c;color:#06c}.reading-passage-indicator{margin-bottom:20px}.reading-resize-handle{width:12px;background:var(--bg-secondary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:col-resize;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease;-webkit-user-select:none;user-select:none;z-index:10}.reading-resize-handle:hover{background:#e3f2fd}[data-theme=dark] .reading-resize-handle:hover{background:#2a3a4a}.reading-resize-handle-icon{display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:2px;padding:4px 2px;color:var(--text-secondary)}.reading-resize-handle:hover .reading-resize-handle-icon{background:var(--bg-hover);color:var(--text-primary)}.reading-question-group{margin-bottom:40px}.reading-group-header{background:transparent;padding:10px 0;margin-bottom:15px}.reading-group-title{display:flex;align-items:center;gap:12px;margin-bottom:10px}.reading-group-range{font-weight:700;color:var(--text-primary);font-size:1.1rem}.reading-group-instruction{color:var(--text-primary);font-size:.95rem;line-height:1.65;font-style:normal;white-space:pre-line}.reading-option-bank{margin:4px 0 20px}.reading-option-bank-title{margin-bottom:8px;color:var(--text-primary);font-weight:600}.reading-option-bank-items{display:flex;flex-wrap:wrap;gap:8px}.reading-option-bank-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid var(--border-color);border-radius:5px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;transition:border-color .15s ease,background .15s ease;cursor:grab;-webkit-user-select:none;user-select:none}.reading-option-bank-pill:hover{border-color:var(--accent-primary);background:var(--bg-hover)}.reading-option-bank-pill:active{cursor:grabbing}.reading-option-bank-pill.is-used{border-style:dashed;opacity:.62}.reading-option-bank-value{font-weight:700}.reading-group-questions{display:flex;flex-direction:column;gap:15px}.reading-completion-group{color:var(--text-primary);font-size:1rem;line-height:2.35}.reading-completion-group h3,.reading-completion-group h4{color:var(--text-primary);line-height:1.45}.reading-completion-group h3{margin:0 0 14px;font-size:1.12rem;font-weight:700}.reading-completion-group h4{margin:18px 0 8px;font-size:1rem;font-weight:700}.reading-completion-group p{margin:0 0 14px}.reading-completion-group ul{margin:0 0 16px;padding-left:24px}.reading-completion-group li{margin:5px 0;padding-left:4px}.reading-completion-invalid-gap{color:#b42318;font-weight:700}.reading-completion-group .shared-gap-placeholder.is-current,.reading-completion-group .shared-option-gap-placeholder.is-current{border-color:var(--accent-primary);border-style:solid;box-shadow:0 0 0 1px var(--accent-primary)}.reading-option-drop-target{min-width:210px;cursor:default}.reading-option-drop-target:hover,.reading-option-drop-target:focus-visible{border-color:var(--accent-primary);outline:none}.reading-option-drop-target.has-option{border-style:solid}.reading-option-drop-hint{flex:1;padding:0 10px;color:var(--text-secondary);font-size:.86rem;line-height:1}.reading-dropped-option{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:100%;padding-left:9px;color:var(--text-primary);background:var(--bg-primary);font-size:.88rem;line-height:1.15;cursor:grab}.reading-dropped-option:active{cursor:grabbing}.reading-dropped-option-clear{align-self:stretch;width:27px;border:0;border-left:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;font-size:1rem}.reading-dropped-option-clear:hover{color:var(--text-primary);background:var(--bg-hover)}.reading-question-item{margin-bottom:15px;padding:5px 0;transition:all .3s ease}.reading-question-item.reading-current-question{background:transparent}.reading-question-item.reading-current-question .reading-answer-input{border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f64d}[data-theme=dark] .reading-question-item.reading-current-question .reading-answer-input{box-shadow:0 0 0 2px #3b82f666}.reading-question-label{font-size:1rem;color:var(--text-primary);margin-bottom:10px;display:flex;align-items:flex-start;font-weight:400;line-height:1.5}.reading-question-number-text{font-weight:700;margin-right:8px}.reading-answer-input{width:100%;padding:10px;border:2px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .3s ease;background:var(--bg-primary);color:var(--text-primary)}.reading-answer-input:focus{outline:none;border-color:var(--accent-primary)}.reading-multiple-choice{display:flex;flex-direction:column;gap:10px}.reading-multiple-choice.reading-inline-options{flex-direction:row;flex-wrap:wrap;gap:12px}.reading-multiple-choice.reading-inline-options .reading-choice-option{flex:0 0 auto;min-width:120px}.reading-choice-option{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;background:transparent;border:1px solid transparent}.reading-choice-option:hover{background:var(--bg-hover)}.reading-choice-option.selected{background:transparent}.reading-question-item.reading-current-question .reading-choice-option.selected .reading-choice-radio{box-shadow:0 0 0 2px #3b82f64d}[data-theme=dark] .reading-question-item.reading-current-question .reading-choice-option.selected .reading-choice-radio{box-shadow:0 0 0 2px #3b82f666}.reading-choice-radio{width:16px;height:16px;border:1px solid var(--text-primary);border-radius:50%;position:relative;flex-shrink:0;margin-top:3px;background:var(--bg-primary)}.reading-choice-checkbox{width:16px;height:16px;border:1px solid var(--text-primary);border-radius:2px;position:relative;flex-shrink:0;margin-top:3px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent}.reading-choice-option.selected .reading-choice-radio,.reading-choice-option.selected .reading-choice-checkbox{border-color:var(--text-primary)}.reading-choice-option.selected .reading-choice-checkbox{color:var(--text-primary)}.reading-choice-option.selected .reading-choice-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--text-primary);border-radius:50%}.reading-question-text-with-gap{font-size:1.05rem;line-height:2.4;color:var(--text-primary)}.reading-gap-placeholder{display:inline-flex;align-items:center;margin:0 6px;vertical-align:middle;border:1px solid var(--border-color);border-radius:2px;background-color:var(--bg-primary);height:28px;min-width:124px;position:relative;transition:border-color .2s ease,box-shadow .2s ease}.reading-gap-placeholder:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.reading-gap-order-number{display:inline-flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:.9rem;font-weight:600;flex-shrink:0;min-width:24px;padding-left:6px}.reading-inline-gap-input{border:none;background:transparent;padding:0 8px;font-size:1rem;color:var(--text-primary);font-family:inherit;width:100%;height:100%;outline:none}.reading-inline-gap-input::placeholder{color:var(--text-secondary);opacity:.6}[data-theme=dark] .reading-gap-placeholder{background-color:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .reading-gap-placeholder:focus-within{border-color:var(--accent-primary)}.reading-question-hint{background:#e8f4f8;border-left:4px solid #0066cc;padding:12px;border-radius:4px;margin-top:15px}[data-theme=dark] .reading-question-hint{background:#1a2d3d}.reading-hint-text{color:#036;font-size:.85rem;margin:0;line-height:1.5}[data-theme=dark] .reading-hint-text{color:#6b9bd6}.reading-passage-progress{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color);text-align:center}.reading-progress-text{color:var(--text-secondary);font-size:.9rem;margin:0}@media(max-width:1024px){.test-interface .reading-main-content,.reading-main-content{flex-direction:column}.test-interface .reading-main-content .reading-left-panel,.reading-main-content .reading-left-panel{border-right:none;border-bottom:1px solid #ddd}.test-interface .reading-main-content .reading-right-panel,.reading-main-content .reading-right-panel{width:100%;max-height:50vh}}.reading-part-callout{background-color:#e2e8f0;border-radius:4px;padding:15px 20px;margin:15px 20px 20px;display:block}[data-theme=dark] .reading-part-callout{background-color:var(--bg-tertiary)}.reading-part-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 5px}[data-theme=dark] .reading-part-title{color:var(--text-primary)}.reading-part-instruction{font-size:.95rem;color:var(--text-primary);font-style:normal;margin:0}.reading-floating-navigation{position:absolute;right:20px;bottom:20px;display:flex;gap:2px;z-index:100}.reading-floating-nav-btn{width:36px;height:36px;border:none;background:#333;color:#fff;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.reading-floating-nav-btn svg{width:16px;height:16px;color:#fff;fill:currentColor}.reading-floating-nav-btn:hover:not(:disabled){background:#000}[data-theme=dark] .reading-floating-nav-btn{background:#444}[data-theme=dark] .reading-floating-nav-btn:hover:not(:disabled){background:#666}.reading-floating-nav-btn:disabled{opacity:.5;cursor:not-allowed}.reading-footer-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--bg-primary);border-top:2px solid var(--border-color);box-shadow:0 -2px 10px #0000001a;height:60px}.reading-footer{display:flex;justify-content:center;align-items:stretch;padding:0;max-width:100%;margin:0 auto;height:100%}.reading-footer-part-nav{display:flex;align-items:stretch;gap:0;justify-content:stretch;width:100%;flex:1}.reading-footer-question-wrapper{display:flex;align-items:stretch;flex:1;min-width:0;border-right:1px solid var(--border-color)}.reading-footer-question-wrapper:nth-child(3){flex:1.08}.reading-footer-question-wrapper:last-child{border-right:none}.reading-footer-part-btn{flex:1;min-width:120px;height:100%;padding:10px 20px;border:none;border-right:none;border-top:4px solid transparent;background:var(--bg-primary);color:var(--text-primary);border-radius:0;cursor:pointer;font-size:1rem;font-weight:500;transition:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;position:relative}.reading-footer-question-wrapper.selected .reading-footer-part-btn{flex:0 0 auto;flex-shrink:0;min-width:95px;padding:10px 14px;font-size:.95rem}.reading-footer-question-wrapper.selected .reading-part-text{font-size:1.05rem}.reading-footer-question-wrapper.selected .reading-part-progress{display:none}.reading-part-content{display:flex;align-items:center;gap:8px;width:100%}.reading-part-tick-icon{color:#28a745;flex-shrink:0}.reading-part-text{font-weight:700;font-size:1.1rem;text-align:left}.reading-part-progress{font-size:.85rem;color:var(--text-secondary);font-weight:400;margin-left:4px}.reading-footer-part-btn.selected{background:var(--bg-primary);border-top-color:#ccc}.reading-footer-part-btn.selected:hover{background:var(--bg-hover)}.reading-footer-part-btn.completed{background:var(--bg-primary);border-top-color:#28a745}.reading-footer-part-btn.completed:hover{background:var(--bg-hover)}[data-theme=dark] .reading-footer-part-btn.completed{border-top-color:#66bb6a}.reading-footer-part-btn:hover{background:var(--bg-hover)}.reading-footer-subquestion-wrapper{display:flex;align-items:stretch;gap:0;flex:1;overflow-x:auto;background:var(--bg-primary)}.reading-subquestion-btn{flex:1;min-width:0;height:100%;padding:8px 4px;border:none;border-right:1px solid var(--border-color);border-top:4px solid #ccc;background:var(--bg-primary);color:var(--text-primary);border-radius:0;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.reading-footer-question-wrapper:nth-child(3) .reading-subquestion-btn{font-size:.93rem}.reading-subquestion-btn:last-child{border-right:none}.reading-subquestion-btn:hover{background:var(--bg-hover)}.reading-subquestion-btn.active{background:#e8f4f8;font-weight:700}.reading-subquestion-btn.active:hover{background:#d4ebf2}[data-theme=dark] .reading-subquestion-btn.active{background:#1a3a4a}[data-theme=dark] .reading-subquestion-btn.active:hover{background:#2a4a5a}.reading-subquestion-btn.answered{border-top-color:#28a745}[data-theme=dark] .reading-subquestion-btn.answered{border-top-color:#66bb6a}.reading-subquestion-btn.answered:hover{background:var(--bg-hover)}.reading-subquestion-btn.answered.active{background:#e8f4f8;border-top-color:#28a745;font-weight:700}.reading-subquestion-btn.answered.active:hover{background:#d4ebf2}[data-theme=dark] .reading-subquestion-btn.answered.active{background:#1a3a4a;border-top-color:#66bb6a}[data-theme=dark] .reading-subquestion-btn.answered.active:hover{background:#2a4a5a}@media(max-width:1024px){.reading-footer{flex-direction:column;gap:12px;padding:12px 16px}.reading-footer-part-nav{width:100%;flex-wrap:wrap;gap:12px}}@media(max-width:768px){.reading-footer-part-btn{height:42px;min-width:85px;padding:8px 14px;font-size:.9rem}.reading-part-text{font-size:1rem}.reading-part-progress{font-size:.65rem}}.reading-floating-navigation{position:absolute;right:24px;bottom:90px;display:flex;gap:12px;z-index:100;background:none;border:none;border-radius:8px;padding:4px}[data-theme=dark] .reading-floating-navigation{background:none;border:none}.reading-floating-nav-btn{width:56px;height:56px;border:none;background:#036;color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0366;opacity:1}.reading-floating-nav-btn svg{width:20px;height:20px;color:#fff;fill:currentColor}.reading-floating-nav-btn:hover:not(:disabled){background:#06c;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #0066cc80;opacity:1}[data-theme=dark] .reading-floating-nav-btn{background:#004080;opacity:1}[data-theme=dark] .reading-floating-nav-btn:hover:not(:disabled){background:#4da3ff;color:#fff;opacity:1}.reading-floating-nav-btn:disabled{opacity:1;cursor:not-allowed;background:#024}.writing-part-callout{background-color:#e2e8f0;border-radius:4px;padding:15px 20px;margin:15px 20px 20px;display:block}[data-theme=dark] .writing-part-callout{background-color:var(--bg-tertiary)}.writing-part-title{font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 5px}[data-theme=dark] .writing-part-title{color:var(--text-primary)}.writing-part-instruction{font-size:.95rem;color:var(--text-primary);font-style:normal;margin:0}.writing-floating-navigation{position:absolute;right:24px;bottom:90px;display:flex;gap:12px;z-index:100;background:none;border:none;border-radius:8px;padding:4px}[data-theme=dark] .writing-floating-navigation{background:none;border:none}.writing-floating-nav-btn{width:56px;height:56px;border:none;background:#036;color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0366;opacity:1}.writing-floating-nav-btn svg{width:20px;height:20px;color:#fff;fill:currentColor}.writing-floating-nav-btn:hover:not(:disabled){background:#06c;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #0066cc80;opacity:1}[data-theme=dark] .writing-floating-nav-btn{background:#004080;opacity:1}[data-theme=dark] .writing-floating-nav-btn:hover:not(:disabled){background:#4da3ff;color:#fff;opacity:1}.writing-floating-nav-btn:disabled{opacity:1;cursor:not-allowed;background:#024}.writing-instruction{color:var(--text-secondary);margin:0 0 20px;font-size:.95rem}.part-instruction{font-size:.9rem;color:#555;margin:0}[data-theme=dark] .part-instruction{color:#aaa}.writing-main-content{display:flex;flex:1;overflow:hidden;position:relative;height:100%}.writing-left-panel{background:transparent;border-right:1px solid var(--border-color);overflow-y:auto;padding:30px 30px 140px;margin:0}.writing-prompt{background:transparent;border:none;padding:0}.writing-prompt-text{color:var(--text-primary);line-height:1.55;margin:0 0 18px;font-size:1.05rem;font-weight:400}.writing-data-visual{margin:26px 0 8px;color:var(--text-primary)}.writing-data-title{margin:0 auto 16px;max-width:680px;text-align:center;font-size:1rem;line-height:1.4;font-weight:700}.writing-data-table-scroll{width:100%;overflow-x:auto}.writing-data-table{width:100%;min-width:430px;border-collapse:collapse;border:1px solid #667085;background:var(--bg-primary);font-variant-numeric:tabular-nums}.writing-data-table th,.writing-data-table td{border:1px solid #667085;padding:12px 16px;color:var(--text-primary)}.writing-data-table thead th{background:var(--bg-secondary);text-align:center;font-weight:700}.writing-data-table thead th:first-child{text-align:left;width:44%}.writing-data-table tbody th{text-align:left;font-weight:700}.writing-data-table tbody td{text-align:center}[data-theme=dark] .writing-data-table,[data-theme=dark] .writing-data-table th,[data-theme=dark] .writing-data-table td{border-color:#7f8b9d}.writing-requirements{margin:15px 0}.writing-requirements p{color:var(--text-secondary);line-height:1.6;margin:8px 0}.task-tips{background:var(--bg-hover);border-radius:6px;padding:20px;margin-top:20px}.task-tips h4{color:#036;margin:0 0 10px;font-size:1rem}[data-theme=dark] .task-tips h4{color:#6b9bd6}.task-tips ul{margin:0;padding-left:20px}.task-tips li{color:var(--text-secondary);line-height:1.6;margin:8px 0}.writing-right-panel{background:var(--bg-primary);display:flex;flex-direction:column;padding:30px 30px 180px;margin:0}.writing-resize-handle{width:12px;background:var(--bg-secondary);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);cursor:col-resize;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease;-webkit-user-select:none;user-select:none;z-index:10}.writing-resize-handle:hover{background:#e3f2fd}[data-theme=dark] .writing-resize-handle:hover{background:#2a3a4a}.writing-resize-grip{width:3px;height:42px;border-radius:999px;background:var(--border-color)}.writing-resize-handle:hover .writing-resize-grip,.writing-resize-handle.dragging .writing-resize-grip{background:#06c}.writing-word-count-display{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:10px;padding:8px 12px}.writing-word-count-warning{color:#dc3545;font-weight:600;font-size:1rem}.writing-word-count-ok{color:#28a745;font-weight:600;font-size:1rem}.writing-tools{display:flex;gap:10px;margin-bottom:15px;padding:10px;background:var(--bg-secondary);border-radius:6px;flex-wrap:wrap}.tool-btn{background:var(--bg-primary);border:1px solid var(--border-color);padding:8px 14px;border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--text-primary);transition:all .3s ease;display:flex;align-items:center;gap:5px}.tool-btn:hover{background:var(--bg-hover);border-color:#06c;color:#06c}.tool-divider{width:1px;background:var(--border-color);margin:0 5px}.writing-area{flex:1;display:flex;flex-direction:column}.writing-text-editor{flex:1;border:2px solid var(--border-color);border-radius:6px;padding:20px;font-size:1rem;line-height:1.8;resize:none;outline:none;font-family:Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:border-color .3s ease}.writing-text-editor:focus{border-color:#06c}.writing-text-editor::placeholder{color:var(--text-secondary);opacity:.6}.writing-guidelines{margin-top:15px;padding:15px;background:#fff8e1;border-left:4px solid #ffc107;border-radius:4px}[data-theme=dark] .writing-guidelines{background:#332b1f;border-left-color:#ffa726}.writing-guideline-text{color:#856404;font-size:.9rem;margin:0;line-height:1.5}[data-theme=dark] .writing-guideline-text{color:#ffb74d}.writing-footer-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:var(--bg-primary);border-top:2px solid var(--border-color);box-shadow:0 -2px 10px #0000001a;height:60px}.writing-footer{display:flex;justify-content:center;align-items:stretch;padding:0;max-width:100%;margin:0 auto;height:100%}.writing-footer-task-nav{display:flex;align-items:stretch;gap:0;justify-content:stretch;width:100%;flex:1}.writing-footer-task-btn{flex:1;min-width:0;height:100%;padding:10px 20px;border:none;border-right:1px solid var(--border-color);border-top:4px solid transparent;background:var(--bg-primary);color:var(--text-primary);border-radius:0;cursor:pointer;font-size:1rem;font-weight:500;transition:all .2s ease;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;position:relative}.writing-footer-task-btn:last-child{border-right:none}.writing-task-content{display:flex;align-items:center;gap:8px;width:100%}.writing-task-tick-icon{color:#28a745;flex-shrink:0}.writing-footer-task-label{font-weight:700;font-size:1.1rem;text-align:left}.writing-task-progress{font-size:.85rem;color:var(--text-secondary);font-weight:400;margin-left:4px}.writing-footer-task-btn.selected{background:var(--bg-primary);border-top-color:#ccc}.writing-footer-task-btn.selected:hover{background:var(--bg-hover)}.writing-footer-task-btn.completed{background:var(--bg-primary);border-top-color:#28a745}.writing-footer-task-btn.completed:hover{background:var(--bg-hover)}[data-theme=dark] .writing-footer-task-btn.completed{border-top-color:#66bb6a}.writing-footer-task-btn:hover{background:var(--bg-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.writing-footer-review-btn{min-width:140px;height:48px;padding:10px 24px;background:#28a745;color:#fff;border:2px solid #28a745;border-radius:8px;cursor:pointer;font-size:1.05rem;font-weight:600;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 8px #28a7454d}.writing-footer-review-btn:hover{background:#218838;border-color:#218838;transform:scale(1.05);box-shadow:0 4px 12px #28a74566}.writing-footer-review-btn i{font-size:1.2rem}@media(max-width:1024px){.writing-footer{flex-direction:column;gap:12px;padding:12px 16px}.writing-footer-task-nav{width:100%;flex-wrap:wrap;gap:12px}}@media(max-width:768px){.writing-footer-task-btn,.writing-footer-review-btn{height:42px}.writing-footer-task-btn{min-width:85px;padding:8px 14px;font-size:.9rem}.writing-task-number{font-size:1rem}.writing-attempt-count{font-size:.65rem}.writing-footer-review-btn{min-width:120px;font-size:.95rem}}@media(max-width:1024px){.writing-main-content{flex-direction:column}.writing-left-panel{width:100%!important;border-right:none;border-bottom:1px solid var(--border-color);max-height:40vh}.writing-right-panel{width:100%!important}.writing-resize-handle{display:none}}@media(max-width:768px){.writing-left-panel,.writing-right-panel{padding:20px}.writing-left-panel{padding-bottom:96px}.writing-tools{gap:5px}.writing-tool-btn{padding:6px 10px;font-size:.8rem}}.test-page-state{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;text-align:center;background:var(--bg-primary);color:var(--text-primary)}.test-page-state h2,.test-page-state p{margin:0}.test-page-state p{color:var(--text-secondary)}.test-page-return{margin-top:12px;display:inline-flex;align-items:center;gap:10px;border:0;border-radius:8px;padding:12px 18px;background:var(--accent-primary);color:#fff;font:inherit;font-weight:700;cursor:pointer}.test-page-return:hover{filter:brightness(.94)}.test-page-icon-seb{font-size:3.5rem;color:var(--accent-primary, #3b82f6);margin-bottom:8px}.test-page-seb-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px}.test-page-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-weight:600;font-size:.95rem;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease}.test-page-btn.primary{background:var(--accent-primary, #3b82f6);color:#fff}.test-page-btn.secondary{background:var(--bg-tertiary, #e2e8f0);color:var(--text-primary, #1e293b);border:1px solid var(--border-color, #cbd5e1)}.test-page-btn.subtle{background:transparent;color:var(--text-secondary, #64748b);border:1px solid var(--border-color, #cbd5e1)}.test-page-btn:hover{filter:brightness(.92);transform:translateY(-1px)}.results-section{padding:60px 40px;max-width:1000px;margin:0 auto;min-height:100vh}.results-header{text-align:center;margin-bottom:40px}.results-title{font-size:2.2rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.results-module-badge{display:inline-block;padding:6px 16px;border-radius:20px;background:var(--accent-primary);color:#fff;font-size:.85rem;font-weight:600;text-transform:capitalize}.results-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}.summary-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px;text-align:center;box-shadow:0 2px 8px #0000000d}.summary-label{font-size:.9rem;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.summary-value{font-size:2rem;font-weight:700;color:var(--text-primary)}.band-value{color:var(--accent-primary)}.score-bar{margin-top:12px;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.score-fill{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .6s ease}.results-table-container{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 2px 8px #0000000d;overflow-x:auto}.results-subtitle{font-size:1.3rem;font-weight:600;color:var(--text-primary);margin:0 0 20px}.results-table{width:100%;border-collapse:collapse}.results-table th{text-align:left;padding:12px 16px;font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.results-table td{padding:12px 16px;font-size:.95rem;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.results-table tbody tr:last-child td{border-bottom:none}.col-num{width:50px;font-weight:600;color:var(--text-secondary)}.col-question{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-answer{font-family:monospace;font-size:.9rem}.col-result{width:60px;text-align:center;font-size:1.2rem}.row-correct{background:#10b9810d}.row-incorrect{background:#ef44440d}.icon-correct{color:#10b981}.icon-incorrect{color:#ef4444}.results-actions{display:flex;gap:16px;justify-content:center}.results-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;border:none;transition:all .2s ease}.results-btn.primary{background:var(--accent-primary);color:#fff}.results-btn.primary:hover{opacity:.9;transform:translateY(-1px)}.results-btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.results-btn.secondary:hover{background:var(--bg-hover, var(--bg-secondary));transform:translateY(-1px)}.results-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:var(--text-secondary)}.results-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.results-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.results-error h2{color:var(--text-primary);margin:0 0 8px}.results-error p{color:var(--text-secondary);margin:0 0 24px}@media(max-width:768px){.results-section{padding:30px 20px}.results-title{font-size:1.6rem}.results-summary{grid-template-columns:1fr}.results-actions{flex-direction:column}.results-btn{width:100%;justify-content:center}.col-question{max-width:150px}}.admin-perf-container{max-width:1400px;margin:0 auto;padding:32px 24px 64px;color:var(--text-primary);font-family:inherit}.admin-perf-header{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;color:var(--text-secondary);text-decoration:none;margin-bottom:6px;transition:color .15s ease}.back-link:hover{color:var(--accent-primary)}.title-group h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.02em}.badge-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.exam-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.exam-tag.category{background-color:#0066cc14;color:var(--accent-primary);border:1px solid rgba(0,102,204,.2)}.exam-tag.type{background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.exam-tag.participants{background-color:#28a74514;color:var(--success-color);border:1px solid rgba(40,167,69,.2)}.header-actions{display:flex;align-items:center;gap:10px}.btn-refresh,.btn-export{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);transition:all .15s ease}.btn-refresh:hover{background-color:var(--bg-secondary);border-color:var(--text-secondary)}.btn-export{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.btn-export:hover{background-color:var(--accent-secondary);border-color:var(--accent-secondary)}.btn-clear-records{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid rgba(239,68,68,.4);background-color:#ef444414;color:#ef4444;transition:all .15s ease}.btn-clear-records:hover{background-color:#ef4444;border-color:#ef4444;color:#fff}.admin-perf-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.kpi-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;box-shadow:0 1px 3px #00000008}.kpi-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.04em;margin-bottom:6px}.kpi-value{font-size:1.65rem;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.02em}.kpi-sub{font-size:.8rem;color:var(--text-secondary)}.admin-perf-tabs{display:flex;gap:6px;background-color:var(--bg-secondary);padding:4px;border-radius:10px;border:1px solid var(--border-color);margin-bottom:20px;overflow-x:auto}.tab-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;font-size:.875rem;font-weight:600;color:var(--text-secondary);background:transparent;border:none;border-radius:7px;cursor:pointer;white-space:nowrap;transition:all .15s ease}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{background-color:var(--bg-primary);color:var(--accent-primary);box-shadow:0 1px 3px #00000014}.matrix-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.search-box{position:relative;flex:1;min-width:240px;max-width:340px}.search-box input{width:100%;padding:8px 32px 8px 34px;font-size:.85rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);outline:none;transition:border-color .15s}.search-box input:focus{border-color:var(--accent-primary)}.search-box .search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.8rem}.clear-search{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;color:var(--text-secondary);cursor:pointer}.filter-group{display:flex;align-items:center;gap:6px;font-size:.825rem}.filter-group label{color:var(--text-secondary);font-weight:500}.filter-group select{padding:7px 12px;font-size:.825rem;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);outline:none;cursor:pointer}.filter-group select:focus{border-color:var(--accent-primary)}.view-toggle{display:inline-flex;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:3px}.toggle-btn{padding:5px 12px;font-size:.775rem;font-weight:600;border:none;background:none;color:var(--text-secondary);cursor:pointer;border-radius:6px;transition:all .15s ease}.toggle-btn.active{background-color:var(--bg-primary);color:var(--accent-primary);box-shadow:0 1px 2px #0000000d}.matrix-section{position:relative}.matrix-table-wrapper{overflow-x:auto;border:1px solid var(--border-color);border-radius:12px;background-color:var(--bg-primary);box-shadow:0 1px 4px #0000000a;max-height:650px}.matrix-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem}.matrix-table thead th{position:sticky;top:0;background-color:var(--bg-secondary);color:var(--text-secondary);font-weight:600;padding:10px 6px;text-align:center;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);z-index:10;white-space:nowrap}.matrix-table thead th.question-header-cell{min-width:44px}.matrix-table.detailed thead th.question-header-cell{min-width:110px}.q-label{font-size:.775rem;font-weight:700;color:var(--text-primary)}.matrix-table .sticky-col{position:sticky}.matrix-table tbody td.sticky-col{z-index:15;background-color:var(--bg-primary)}.matrix-table thead th.sticky-col,.matrix-table tfoot td.sticky-col{z-index:40;background-color:var(--bg-secondary)}.matrix-table .sticky-col.candidate-col{left:0;width:250px;min-width:250px;max-width:250px;text-align:left;padding:10px 14px;border-right:1px solid var(--border-color)}.matrix-table .sticky-col.score-col{left:250px;width:80px;min-width:80px;max-width:80px;text-align:center;border-right:1px solid var(--border-color)}.matrix-table .sticky-col.band-col{left:330px;width:70px;min-width:70px;max-width:70px;text-align:center;border-right:2px solid var(--border-color);box-shadow:3px 0 6px -2px #0000000f}.participant-row:hover td{background-color:#0066cc05}.participant-row:hover .sticky-col{background-color:var(--bg-secondary)}.matrix-table tbody td{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);padding:8px 6px;text-align:center}.candidate-info{display:flex;align-items:center;gap:10px}.candidate-avatar{width:30px;height:30px;border-radius:50%;background-color:var(--accent-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0;overflow:hidden}.candidate-avatar img{width:100%;height:100%;object-fit:cover}.candidate-text{display:flex;flex-direction:column;min-width:0;flex:1}.candidate-name{font-weight:600;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-email{font-size:.725rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill{font-size:.65rem;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;flex-shrink:0}.status-pill.completed{background-color:#28a7451f;color:var(--success-color)}.status-pill.in-progress{background-color:#ffc1072e;color:#b45309}[data-theme=dark] .status-pill.in-progress{color:#fbbf24}.raw-score-badge strong{font-size:.9rem;color:var(--text-primary)}.raw-score-badge small{color:var(--text-secondary);font-size:.75rem}.band-score-badge{display:inline-block;padding:2px 8px;border-radius:6px;background-color:#0066cc14;color:var(--accent-primary);font-weight:700;font-size:.85rem}.matrix-cell{cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.matrix-cell:hover{filter:brightness(.92)}.matrix-cell.correct{background-color:#e6f7ed;color:#15803d}[data-theme=dark] .matrix-cell.correct{background-color:#13381e;color:#4ade80}.matrix-cell.incorrect{background-color:#fef2f2;color:#b91c1c}[data-theme=dark] .matrix-cell.incorrect{background-color:#3b181b;color:#f87171}.matrix-cell.unanswered{background-color:var(--bg-secondary);color:var(--text-secondary);opacity:.7}.cell-content{display:flex;align-items:center;justify-content:center;width:100%}.cell-icon{font-size:.75rem}.cell-text{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;font-size:.75rem;font-weight:600}.matrix-summary-row td{position:sticky;bottom:0;background-color:var(--bg-secondary);border-top:2px solid var(--border-color);font-size:.75rem;font-weight:600;z-index:10;padding:8px 6px}.matrix-summary-row td.sticky-col{z-index:40;background-color:var(--bg-secondary)}.summary-title{color:var(--text-primary);font-weight:700}.accuracy-cell{padding:6px 4px!important}.acc-rate{display:block;font-size:.775rem;font-weight:700}.acc-count{display:block;font-size:.675rem;color:var(--text-secondary);margin-top:1px}.accuracy-cell.rate-good{color:var(--success-color)}.accuracy-cell.rate-medium{color:#d97706}.accuracy-cell.rate-bad{color:var(--danger-color)}.writing-layout{display:grid;grid-template-columns:300px 1fr;gap:20px;min-height:600px}.writing-sidebar{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1px 3px #00000008}.sidebar-search{position:relative;padding:12px;border-bottom:1px solid var(--border-color)}.sidebar-search input{width:100%;padding:7px 12px 7px 32px;font-size:.825rem;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);outline:none}.sidebar-search input:focus{border-color:var(--accent-primary)}.sidebar-search svg{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:.75rem}.candidate-list{overflow-y:auto;flex:1;max-height:600px}.candidate-card-btn{width:100%;padding:12px 14px;text-align:left;border:none;background:none;border-bottom:1px solid var(--border-color);cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:background-color .15s ease}.candidate-card-btn:hover{background-color:var(--bg-secondary)}.candidate-card-btn.active{background-color:#0066cc0f;border-left:3px solid var(--accent-primary)}.card-top{display:flex;justify-content:space-between;align-items:center}.card-top .name{font-weight:600;font-size:.875rem;color:var(--text-primary)}.status-dot{width:7px;height:7px;border-radius:50%}.status-dot.completed{background-color:var(--success-color)}.status-dot.in-progress{background-color:var(--warning-color)}.candidate-card-btn .email{font-size:.75rem;color:var(--text-secondary)}.word-counts-badge{display:flex;gap:6px;font-size:.725rem;color:var(--text-secondary);margin-top:4px}.writing-reader-panel{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:24px;overflow-y:auto;max-height:750px;box-shadow:0 1px 3px #00000008}.reader-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:16px;margin-bottom:24px}.candidate-profile h2{font-size:1.25rem;font-weight:700;margin:0 0 4px}.candidate-profile .email{font-size:.85rem;color:var(--text-secondary);margin-right:12px}.candidate-pager{display:flex;align-items:center;gap:8px}.pager-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);border-radius:6px;cursor:pointer;transition:all .15s ease}.pager-btn:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--accent-primary)}.pager-btn:disabled{opacity:.4;cursor:not-allowed}.pager-count{font-size:.8rem;color:var(--text-secondary)}.writing-part-focused-view{display:flex;flex-direction:column;gap:18px}.writing-part-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px}.part-tab-group{display:flex;gap:8px;flex-wrap:wrap}.part-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;color:var(--text-secondary);background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s ease}.part-tab-btn:hover{color:var(--accent-primary);border-color:var(--accent-primary)}.part-tab-btn.active{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 2px 5px #0066cc40}.part-pager-controls{display:flex;align-items:center;gap:8px}.part-indicator{font-size:.825rem;font-weight:600;color:var(--text-secondary);padding:0 4px}.writing-focused-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background-color:var(--bg-primary);box-shadow:0 2px 6px #00000008}.task-card-header{background-color:var(--bg-secondary);padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.task-sub-label{font-size:.725rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-primary);margin-bottom:2px}.task-card-header h3{font-size:1.1rem;font-weight:700;margin:0;color:var(--text-primary)}.task-header-right{display:flex;align-items:center;gap:12px}.word-badge{font-size:.775rem;font-weight:600;padding:4px 10px;border-radius:6px}.word-badge.count-good{background-color:#28a7451f;color:var(--success-color)}.word-badge.count-warning{background-color:#ffc1072e;color:#b45309}[data-theme=dark] .word-badge.count-warning{color:#fbbf24}.btn-copy{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:600;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;cursor:pointer;transition:all .15s ease}.btn-copy:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.task-full-prompt-box{padding:20px 24px;background-color:#0066cc05;border-bottom:2px solid var(--border-color);display:flex;flex-direction:column;gap:14px}.prompt-meta-header{display:flex;align-items:center}.prompt-tag{font-size:.7rem;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:4px;background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color)}.prompt-instruction-callout{padding:10px 14px;background-color:var(--bg-secondary);border-left:3px solid var(--accent-primary);border-radius:0 6px 6px 0;font-size:.875rem;color:var(--text-primary)}.prompt-description-p{font-size:.95rem;line-height:1.6;color:var(--text-primary);margin:0}.prompt-visual-table-wrap{margin:8px 0;overflow-x:auto;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary)}.visual-table-title{font-size:.875rem;font-weight:700;padding:10px 14px;margin:0;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-primary);text-align:center}.prompt-visual-table{width:100%;border-collapse:collapse;font-size:.85rem}.prompt-visual-table th,.prompt-visual-table td{padding:8px 14px;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);text-align:center}.prompt-visual-table th:first-child,.prompt-visual-table td:first-child{text-align:left;font-weight:600}.prompt-visual-table th{background-color:var(--bg-secondary);font-weight:700;color:var(--text-secondary)}.prompt-visual-table tr:last-child td{border-bottom:none}.prompt-visual-img-wrap{margin:8px 0;text-align:center}.prompt-visual-img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--border-color)}.prompt-task-statement{font-size:.95rem;line-height:1.6;color:var(--text-primary);padding:12px 16px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px}.prompt-task-statement p{margin:0}.prompt-word-req-footer{font-size:.85rem;color:var(--text-secondary)}.task-response-section{padding:24px;background-color:var(--bg-primary)}.response-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.response-section-header strong{font-size:.95rem;color:var(--text-primary)}.response-word-stat{font-size:.8rem;color:var(--text-secondary)}.task-essay-box{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:20px;min-height:180px}.essay-text{font-size:.95rem;line-height:1.8;color:var(--text-primary);white-space:pre-wrap;font-family:inherit}.no-response-placeholder{color:var(--text-secondary);font-size:.875rem;font-style:italic;padding:24px 0;text-align:center}.overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.analytics-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:20px;box-shadow:0 1px 3px #00000008}.analytics-card h3{font-size:1.05rem;font-weight:700;margin:0 0 4px}.card-desc{font-size:.8rem;color:var(--text-secondary);margin-bottom:16px}.stat-table-wrapper{overflow-x:auto}.stat-table{width:100%;border-collapse:collapse;font-size:.825rem}.stat-table th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase}.stat-table td{padding:9px 10px;border-bottom:1px solid var(--border-color)}.stat-table tr:last-child td{border-bottom:none}.pill-rate{display:inline-block;padding:2px 7px;border-radius:4px;font-weight:700;font-size:.75rem}.pill-rate.good{background-color:#28a7451f;color:var(--success-color)}.pill-rate.medium{background-color:#ffc1072e;color:#b45309}[data-theme=dark] .pill-rate.medium{color:#fbbf24}.pill-rate.bad{background-color:#dc35451f;color:var(--danger-color)}.answer-code{font-family:monospace;color:var(--accent-primary);font-weight:600}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.cell-modal{background-color:var(--bg-primary);border-radius:12px;width:100%;max-width:520px;box-shadow:0 16px 36px #0003;overflow:hidden;border:1px solid var(--border-color);animation:modalFadeIn .15s ease-out}.cell-modal-header{padding:16px 20px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.modal-title-group h3{font-size:1.05rem;font-weight:700;margin:0 0 2px}.candidate-tag{font-size:.8rem;color:var(--text-secondary)}.modal-close{background:none;border:none;font-size:1.4rem;color:var(--text-secondary);cursor:pointer;line-height:1}.cell-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.modal-field label{display:block;font-size:.725rem;font-weight:700;text-transform:uppercase;color:var(--text-secondary);margin-bottom:5px;letter-spacing:.04em}.field-box{padding:10px 14px;border-radius:8px;border:1px solid var(--border-color);font-size:.875rem;display:flex;justify-content:space-between;align-items:center}.question-text-box{background-color:var(--bg-secondary);font-size:.85rem;line-height:1.45}.box-correct{background-color:#e6f7ed;border-color:#28a7454d;color:#15803d}[data-theme=dark] .box-correct{background-color:#13381e;color:#4ade80}.box-incorrect{background-color:#fef2f2;border-color:#dc35454d;color:#b91c1c}[data-theme=dark] .box-incorrect{background-color:#3b181b;color:#f87171}.box-unanswered{background-color:var(--bg-secondary);color:var(--text-secondary)}.box-key{background-color:#0066cc0f;border-color:#0066cc40;color:var(--accent-primary)}.verdict-tag{font-size:.75rem;font-weight:700}.accepted-list{display:flex;gap:5px;flex-wrap:wrap}.accepted-pill{padding:3px 8px;border-radius:4px;background-color:var(--bg-secondary);border:1px solid var(--border-color);font-size:.8rem;color:var(--text-primary);font-family:monospace}.cell-modal-footer{padding:12px 20px;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.btn-close-modal{padding:7px 16px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);font-weight:600;font-size:.85rem;cursor:pointer}.admin-perf-state{text-align:center;padding:60px 20px;background-color:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color)}.admin-perf-state h2{font-size:1.4rem;margin:16px 0 6px}.admin-perf-state p{color:var(--text-secondary);font-size:.9rem}.admin-perf-state.error h2{color:var(--danger-color)}.state-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}.btn-back,.btn-retry{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer}.btn-back{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-retry{background-color:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.empty-matrix{text-align:center;padding:48px 20px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px}.empty-icon{font-size:2.2rem;color:var(--text-secondary);margin-bottom:10px}.spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.admin-perf-kpis{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr}}@media(max-width:860px){.writing-layout{grid-template-columns:1fr}.admin-perf-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-end}}.live-ws-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);transition:all .2s ease}.live-ws-badge.connected{border-color:#28a745;background:#28a74514;color:#28a745}.live-ws-badge.connecting{border-color:#ffc107;background:#ffc10714;color:#d39e00}.live-dot{width:8px;height:8px;border-radius:50%;background-color:#28a745;box-shadow:0 0 #28a745b3;animation:livePulse 1.8s infinite;display:inline-block}@keyframes livePulse{0%{transform:scale(.95);box-shadow:0 0 #28a745b3}70%{transform:scale(1);box-shadow:0 0 0 6px #28a74500}to{transform:scale(.95);box-shadow:0 0 #28a74500}}.status-pill.live{display:inline-flex;align-items:center;gap:5px;background-color:#28a7451f;color:#1e7e34;border:1px solid rgba(40,167,69,.3);font-weight:700;animation:liveBadgeGlow 2.5s infinite alternate}@keyframes liveBadgeGlow{0%{background-color:#28a7451a}to{background-color:#28a74538}}.live-status-pill{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:700;color:#28a745;background:#28a7451a;padding:2px 7px;border-radius:4px}.live-word-count{color:#06c;font-size:.8rem}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root,[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-hover: #f1f5f9;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: #e2e8f0;--border-hover: #cbd5e1;--cta-bg: #f8fafc}[data-theme=dark]{--bg-primary: #1e293b;--bg-secondary: #0f172a;--bg-hover: #334155;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--border-color: #334155;--border-hover: #475569;--cta-bg: #0f172a}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;background:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;overflow-y:auto}body.scrolling::-webkit-scrollbar-thumb{opacity:1}body:not(.scrolling)::-webkit-scrollbar-thumb{opacity:0;transition:opacity .5s ease 1s}.app{min-height:100vh}.main-content{padding-top:72px;min-height:100vh}button{font-family:inherit;cursor:pointer;transition:all .2s ease}button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}a{font-weight:500;text-decoration:inherit}html{overflow-y:auto;scrollbar-width:none}::-webkit-scrollbar{display:none}
