.navbar[data-v-9ba763fd]{background:#fff;border-bottom:1px solid #e8eaef;position:sticky;top:0;z-index:100}.navbar-inner[data-v-9ba763fd]{max-width:960px;margin:0 auto;padding:0 16px;height:56px;display:flex;align-items:center;justify-content:space-between}.navbar-brand[data-v-9ba763fd]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.brand-icon[data-v-9ba763fd]{font-size:20px}.brand-text[data-v-9ba763fd]{font-size:18px;font-weight:700;color:#1a1a2e;letter-spacing:.5px}.navbar-links[data-v-9ba763fd]{display:flex;gap:4px}.nav-link[data-v-9ba763fd]{font-size:14px;color:#606266;background:none;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;transition:all .15s}.nav-link[data-v-9ba763fd]:hover{background:#f0f1f5;color:#1a1a2e}.nav-link.active[data-v-9ba763fd]{color:#3a7bd5;background:#ecf5ff;font-weight:600}.navbar-right[data-v-9ba763fd]{display:flex;align-items:center;gap:8px}.user-badge[data-v-9ba763fd]{font-size:13px;color:#606266;display:flex;align-items:center;gap:4px}.user-badge.admin[data-v-9ba763fd]{color:#3a7bd5;font-weight:600}.admin-tag[data-v-9ba763fd]{font-size:10px;background:#3a7bd5;color:#fff;padding:1px 6px;border-radius:4px;font-weight:700;letter-spacing:.5px}.admin-tag.superadmin[data-v-9ba763fd]{background:#d4752e}.logout-btn[data-v-9ba763fd]{color:#909399!important}.logout-btn[data-v-9ba763fd]:hover{color:#f56c6c!important;background:#fef0f0!important}.app-layout[data-v-f942102d]{min-height:100vh;display:flex;flex-direction:column;background:#f5f6fa}.main-content[data-v-f942102d]{flex:1;max-width:960px;width:100%;margin:0 auto;padding:24px 16px}.search-bar[data-v-b2617990]{margin-bottom:24px}.input-row[data-v-b2617990]{display:flex;gap:8px}.search-input[data-v-b2617990]{flex:1;height:48px;padding:0 16px;font-size:16px;border:2px solid #d9dce3;border-radius:8px;outline:none;transition:border-color .2s;background:#fff}.search-input[data-v-b2617990]:focus{border-color:#3a7bd5}.search-btn[data-v-b2617990]{height:48px;padding:0 24px;font-size:15px;font-weight:600;color:#fff;background:#3a7bd5;border:none;border-radius:8px;cursor:pointer;transition:background .2s;white-space:nowrap}.search-btn[data-v-b2617990]:hover:not(:disabled){background:#2d6bc0}.search-btn[data-v-b2617990]:disabled{opacity:.5;cursor:not-allowed}.mode-row[data-v-b2617990]{display:flex;gap:6px;margin-top:10px}.filter-row[data-v-b2617990]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.mode-group[data-v-b2617990],.filter-group[data-v-b2617990]{display:flex;gap:6px}.filter-select[data-v-b2617990]{height:30px;padding:0 8px;font-size:13px;color:#606266;background:#f0f1f5;border:1px solid #e0e2e8;border-radius:6px;outline:none;cursor:pointer}.filter-select[data-v-b2617990]:focus{border-color:#3a7bd5}.mode-btn[data-v-b2617990]{padding:5px 14px;font-size:13px;color:#606266;background:#f0f1f5;border:1px solid #e0e2e8;border-radius:16px;cursor:pointer;transition:all .2s}.mode-btn[data-v-b2617990]:hover{background:#e4e7ed}.mode-btn.active[data-v-b2617990]{color:#fff;background:#3a7bd5;border-color:#3a7bd5}.result-card[data-v-686b1785]{background:#fff;border:1px solid #e8eaef;border-radius:8px;padding:16px 20px;margin-bottom:12px;transition:box-shadow .2s}.result-card[data-v-686b1785]:hover{box-shadow:0 2px 12px #0000000f}.card-header[data-v-686b1785]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}.header-spacer[data-v-686b1785]{flex:1}.view-btn[data-v-686b1785]{font-size:12px;color:#fff;background:#3a7bd5;border:none;border-radius:4px;padding:3px 12px;cursor:pointer;transition:background .15s;white-space:nowrap}.view-btn[data-v-686b1785]:hover{background:#2d6bc0}.q-badge[data-v-686b1785]{display:inline-block;font-size:12px;font-weight:600;color:#3a7bd5;background:#ecf5ff;padding:1px 8px;border-radius:4px}.marks-tag[data-v-686b1785]{font-size:11px;font-weight:600;padding:1px 7px;border-radius:4px}.marks-low[data-v-686b1785]{background:#f0f9eb;color:#67c23a}.marks-mid[data-v-686b1785]{background:#fdf6ec;color:#e6a23c}.marks-high[data-v-686b1785]{background:#fef0f0;color:#f56c6c}.paper-label[data-v-686b1785]{font-size:14px;font-weight:600;color:#3a7bd5}.page-tag[data-v-686b1785]{font-size:12px;color:#909399;background:#f0f1f5;padding:2px 8px;border-radius:4px}.card-snippet[data-v-686b1785]{font-size:14px;line-height:1.7;color:#303133;word-break:break-all}.snippet-preview[data-v-686b1785]{color:#909399}[data-v-686b1785] .hl{background:#fff3cd;color:#856404;padding:1px 4px;border-radius:3px;font-weight:600}.search-stats[data-v-470873b0]{background:#f8f9fc;border:1px solid #ebeef5;border-radius:8px;padding:10px 14px;margin-bottom:14px;display:flex;flex-direction:column;gap:6px}.stat-row[data-v-470873b0]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.stat-label[data-v-470873b0]{font-size:12px;font-weight:600;color:#909399;min-width:32px}.stat-tags[data-v-470873b0]{display:flex;gap:4px;flex-wrap:wrap}.stat-tag[data-v-470873b0]{font-size:12px;color:#606266;background:#fff;border:1px solid #e4e7ed;border-radius:4px;padding:1px 8px;display:inline-flex;align-items:center;gap:3px}.stat-tag em[data-v-470873b0]{font-style:normal;font-weight:700;color:#3a7bd5}.search-page[data-v-9681ef6a]{padding-top:32px}.hero[data-v-9681ef6a]{text-align:center;margin-bottom:32px}.hero-title[data-v-9681ef6a]{font-size:36px;font-weight:800;color:#1a1a2e;letter-spacing:1px}.hero-desc[data-v-9681ef6a]{margin-top:8px;font-size:16px;color:#909399}.status[data-v-9681ef6a]{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px 0;font-size:15px;color:#909399}.status.error[data-v-9681ef6a]{color:#e6a23c}.status.empty[data-v-9681ef6a]{color:#909399}.spinner[data-v-9681ef6a]{width:20px;height:20px;border:2px solid #e0e2e8;border-top-color:#3a7bd5;border-radius:50%;animation:spin-9681ef6a .6s linear infinite}@keyframes spin-9681ef6a{to{transform:rotate(360deg)}}.result-count[data-v-9681ef6a]{font-size:14px;color:#909399;margin-bottom:12px}.page-view[data-v-e2122cae]{padding-top:8px}.back-btn[data-v-e2122cae]{font-size:14px;color:#3a7bd5;background:none;border:none;cursor:pointer;padding:4px 0;margin-bottom:16px}.back-btn[data-v-e2122cae]:hover{text-decoration:underline}.status[data-v-e2122cae]{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;font-size:15px;color:#909399}.status.error[data-v-e2122cae]{color:#e6a23c}.spinner[data-v-e2122cae]{width:20px;height:20px;border:2px solid #e0e2e8;border-top-color:#3a7bd5;border-radius:50%;animation:spin-e2122cae .6s linear infinite}@keyframes spin-e2122cae{to{transform:rotate(360deg)}}.page-header[data-v-e2122cae]{display:flex;align-items:baseline;gap:10px;margin-bottom:24px}.paper-title[data-v-e2122cae]{font-size:16px;font-weight:700;color:#1a1a2e}.page-num[data-v-e2122cae]{font-size:13px;color:#909399;background:#f0f1f5;padding:2px 10px;border-radius:4px}.header-spacer[data-v-e2122cae]{flex:1}.page-nav-btn[data-v-e2122cae]{font-size:13px;color:#3a7bd5;background:#ecf5ff;border:1px solid #d4e4ff;border-radius:6px;padding:4px 12px;cursor:pointer;transition:all .15s;white-space:nowrap}.page-nav-btn[data-v-e2122cae]:hover{background:#d4e4ff;border-color:#3a7bd5}.section-title[data-v-e2122cae]{font-size:15px;font-weight:600;color:#606266;margin-bottom:12px}.question-card[data-v-e2122cae]{background:#fff;border:1px solid #e8eaef;border-radius:8px;padding:16px 20px;margin-bottom:12px;transition:box-shadow .2s}.question-card.highlight[data-v-e2122cae]{border-color:#3a7bd5;box-shadow:0 0 0 2px #3a7bd526}.q-header[data-v-e2122cae]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.q-no[data-v-e2122cae]{font-size:14px;font-weight:700;color:#3a7bd5}.q-marks[data-v-e2122cae]{font-size:12px;color:#e6a23c;background:#fdf6ec;padding:1px 8px;border-radius:4px}.q-content[data-v-e2122cae]{font-size:14px;line-height:1.7;color:#303133;white-space:pre-wrap}.q-content.answer[data-v-e2122cae]{margin-top:8px;padding-top:8px;border-top:1px dashed #e8eaef;color:#606266}.answer-label[data-v-e2122cae]{font-weight:600;color:#3a7bd5}[data-v-e2122cae] .hl{background:#fff3cd;color:#856404;padding:0 2px;border-radius:2px}.stat-card[data-v-8bcf2cf2]{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e8eaef;border-radius:10px;padding:18px 20px}.stat-icon[data-v-8bcf2cf2]{font-size:28px}.stat-body[data-v-8bcf2cf2]{display:flex;flex-direction:column}.stat-value[data-v-8bcf2cf2]{font-size:24px;font-weight:700;color:#1a1a2e;line-height:1.2}.stat-value.text-warn[data-v-8bcf2cf2]{color:#e6a23c}.stat-value.text-danger[data-v-8bcf2cf2]{color:#f56c6c}.stat-label[data-v-8bcf2cf2]{font-size:13px;color:#909399;margin-top:2px}.build-console[data-v-be135086]{background:#fff;border:1px solid #e8eaef;border-radius:10px;padding:20px}.section-title[data-v-be135086]{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:14px}.form-row[data-v-be135086]{display:flex;gap:8px;flex-wrap:wrap}.form-input[data-v-be135086]{flex:1;min-width:120px;height:38px;padding:0 12px;font-size:13px;border:1px solid #d9dce3;border-radius:6px;outline:none;background:#fafbfc}.form-input[data-v-be135086]:focus{border-color:#3a7bd5}.build-btn[data-v-be135086]{height:38px;padding:0 20px;font-size:13px;font-weight:600;color:#fff;background:#3a7bd5;border:none;border-radius:6px;cursor:pointer;white-space:nowrap}.build-btn[data-v-be135086]:hover:not(:disabled){background:#2d6bc0}.build-btn[data-v-be135086]:disabled{opacity:.6;cursor:not-allowed}.progress-area[data-v-be135086]{margin-top:14px}.error-msg[data-v-be135086]{color:#e6a23c;font-size:13px;margin-bottom:8px}.progress-bar-wrap[data-v-be135086]{display:flex;align-items:center;gap:10px}.progress-bar[data-v-be135086]{flex:1;height:8px;background:#f0f1f5;border-radius:4px;overflow:hidden}.progress-fill[data-v-be135086]{height:100%;background:linear-gradient(90deg,#3a7bd5,#5a9cf5);border-radius:4px;transition:width .3s}.progress-text[data-v-be135086]{font-size:13px;color:#606266;white-space:nowrap}.progress-detail[data-v-be135086]{margin-top:6px;font-size:12px;color:#909399}.build-result[data-v-be135086]{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.result-badge[data-v-be135086]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600}.result-ok[data-v-be135086]{background:#e8f5e9;color:#2e7d32}.result-skip[data-v-be135086]{background:#fff3e0;color:#e65100}.result-fail[data-v-be135086]{background:#ffebee;color:#c62828}.hint[data-v-be135086]{margin-top:12px;font-size:13px;color:#c0c4cc}.subject-chart[data-v-886f4e68]{background:#fff;border:1px solid #e8eaef;border-radius:10px;padding:20px}.section-title[data-v-886f4e68]{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:14px}.chart-row[data-v-886f4e68]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.chart-subject[data-v-886f4e68]{width:50px;font-size:14px;font-weight:600;color:#3a7bd5;text-align:right}.chart-bar-wrap[data-v-886f4e68]{flex:1;height:22px;background:#f0f1f5;border-radius:6px;overflow:hidden}.chart-bar[data-v-886f4e68]{height:100%;background:linear-gradient(90deg,#3a7bd5,#7bb3f0);border-radius:6px;transition:width .5s;min-width:4px}.chart-count[data-v-886f4e68]{width:50px;font-size:13px;color:#606266}.empty[data-v-886f4e68]{font-size:13px;color:#c0c4cc;text-align:center;padding:20px 0}.pagination[data-v-dd83c695]{display:flex;align-items:center;justify-content:center;gap:4px;padding:16px 0 4px;flex-wrap:wrap}.page-btn[data-v-dd83c695]{min-width:32px;height:32px;padding:0 8px;border:1px solid #dcdfe6;border-radius:6px;background:#fff;color:#606266;font-size:13px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;justify-content:center}.page-btn[data-v-dd83c695]:hover:not(:disabled):not(.active){border-color:#3a7bd5;color:#3a7bd5}.page-btn.active[data-v-dd83c695]{background:#3a7bd5;color:#fff;border-color:#3a7bd5;font-weight:600}.page-btn[data-v-dd83c695]:disabled{opacity:.4;cursor:not-allowed}.page-dots[data-v-dd83c695]{color:#c0c4cc;font-size:14px;min-width:24px;text-align:center}.page-info[data-v-dd83c695]{font-size:12px;color:#909399;margin-left:12px}.paper-table[data-v-0b6e3649]{background:#fff;border:1px solid #e8eaef;border-radius:10px;padding:20px}.section-header[data-v-0b6e3649]{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.section-title[data-v-0b6e3649]{font-size:15px;font-weight:700;color:#1a1a2e;margin:0}.toggle-btn[data-v-0b6e3649]{color:#909399;font-size:12px}.toggle-btn[data-v-0b6e3649]:hover{color:#3a7bd5;border-color:#3a7bd5}.loading[data-v-0b6e3649],.empty[data-v-0b6e3649]{font-size:13px;color:#c0c4cc;text-align:center;padding:30px 0}.table[data-v-0b6e3649]{width:100%;border-collapse:collapse;font-size:13px}th[data-v-0b6e3649]{text-align:left;padding:8px 10px;font-weight:600;color:#909399;border-bottom:2px solid #f0f1f5}td[data-v-0b6e3649]{padding:8px 10px;border-bottom:1px solid #f5f6fa;color:#303133}.cell-subject[data-v-0b6e3649]{font-weight:600;color:#3a7bd5}.type-tag[data-v-0b6e3649]{display:inline-block;font-size:12px;padding:1px 8px;border-radius:4px;background:#ecf5ff;color:#3a7bd5}.cell-date[data-v-0b6e3649]{color:#909399;font-size:12px}.user-management[data-v-3a6b2a30]{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 6px #0000000d}.section-header[data-v-3a6b2a30]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.header-actions[data-v-3a6b2a30]{display:flex;gap:8px;align-items:center}.toggle-btn[data-v-3a6b2a30]{color:#909399;font-size:12px}.toggle-btn[data-v-3a6b2a30]:hover{color:#3a7bd5;border-color:#3a7bd5}.section-header h3[data-v-3a6b2a30]{font-size:15px;font-weight:700;color:#1a1a2e;margin:0}.btn[data-v-3a6b2a30]{padding:6px 14px;border:1px solid #dcdfe6;border-radius:6px;font-size:13px;cursor:pointer;background:#fff;color:#606266;transition:all .15s}.btn[data-v-3a6b2a30]:hover{border-color:#c0c4cc}.btn-primary[data-v-3a6b2a30]{background:#3a7bd5;color:#fff;border-color:#3a7bd5}.btn-primary[data-v-3a6b2a30]:hover{background:#336bb8}.btn-primary[data-v-3a6b2a30]:disabled{background:#a0c4f0;border-color:#a0c4f0;cursor:not-allowed}.btn-danger[data-v-3a6b2a30]{color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-3a6b2a30]:hover{background:#fef0f0}.btn-sm[data-v-3a6b2a30]{padding:4px 10px;font-size:12px}.create-form[data-v-3a6b2a30]{background:#f8f9fc;border-radius:8px;padding:12px;margin-bottom:12px}.form-row[data-v-3a6b2a30]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.form-input[data-v-3a6b2a30]{padding:6px 10px;border:1px solid #dcdfe6;border-radius:6px;font-size:13px;outline:none;flex:1;min-width:100px}.form-input[data-v-3a6b2a30]:focus{border-color:#3a7bd5}.form-select[data-v-3a6b2a30]{flex:0 0 auto}.form-error[data-v-3a6b2a30]{color:#f56c6c;font-size:12px;margin-top:6px}.user-table-wrap[data-v-3a6b2a30]{overflow-x:auto}.user-table[data-v-3a6b2a30]{width:100%;border-collapse:collapse;font-size:13px}.user-table th[data-v-3a6b2a30]{text-align:left;padding:8px 10px;font-weight:600;color:#909399;border-bottom:1px solid #ebeef5;font-size:12px;white-space:nowrap}.user-table td[data-v-3a6b2a30]{padding:10px;border-bottom:1px solid #f2f3f7;color:#606266;vertical-align:middle}.user-table tr:hover td[data-v-3a6b2a30]{background:#f8f9fc}.actions[data-v-3a6b2a30]{display:flex;gap:4px;flex-wrap:wrap}.role-badge[data-v-3a6b2a30]{display:inline-block;padding:1px 8px;border-radius:4px;font-size:11px;font-weight:600}.role-badge.admin[data-v-3a6b2a30]{background:#ecf5ff;color:#3a7bd5}.role-badge.superadmin[data-v-3a6b2a30]{background:#fdf0e8;color:#d4752e}.role-badge.user[data-v-3a6b2a30]{background:#f0f9eb;color:#67c23a}.status-dot[data-v-3a6b2a30]{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.status-dot.active[data-v-3a6b2a30]{background:#67c23a}.status-dot.inactive[data-v-3a6b2a30]{background:#c0c4cc}.toggle-label[data-v-3a6b2a30]{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.status-text[data-v-3a6b2a30]{color:#909399;font-size:13px;padding:20px 0;text-align:center}.status-text.error[data-v-3a6b2a30]{color:#e6a23c}.edit-input[data-v-3a6b2a30]{padding:4px 6px;border:1px solid #dcdfe6;border-radius:4px;font-size:12px;outline:none;width:100%;box-sizing:border-box}.edit-input[data-v-3a6b2a30]:focus{border-color:#3a7bd5}.edit-select[data-v-3a6b2a30]{width:auto}.admin-page[data-v-2e1d58c5]{padding-top:8px}.page-header[data-v-2e1d58c5]{margin-bottom:20px}.page-title[data-v-2e1d58c5]{font-size:20px;font-weight:700;color:#1a1a2e}.status[data-v-2e1d58c5]{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 0;font-size:15px;color:#909399}.status.error[data-v-2e1d58c5]{color:#e6a23c}.spinner[data-v-2e1d58c5]{width:20px;height:20px;border:2px solid #e0e2e8;border-top-color:#3a7bd5;border-radius:50%;animation:spin-2e1d58c5 .6s linear infinite}@keyframes spin-2e1d58c5{to{transform:rotate(360deg)}}.stat-grid[data-v-2e1d58c5]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.section-spacer[data-v-2e1d58c5]{margin-bottom:16px}.two-col[data-v-2e1d58c5]{display:grid;grid-template-columns:1fr 2fr;gap:16px}@media(max-width:700px){.two-col[data-v-2e1d58c5]{grid-template-columns:1fr}}.login-page[data-v-9f7e4bd6]{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 120px)}.login-card[data-v-9f7e4bd6]{background:#fff;border-radius:12px;box-shadow:0 2px 20px #00000014;padding:40px 36px;width:100%;max-width:380px}.login-header[data-v-9f7e4bd6]{text-align:center;margin-bottom:28px}.login-icon[data-v-9f7e4bd6]{font-size:36px}.login-header h1[data-v-9f7e4bd6]{font-size:22px;font-weight:700;color:#1a1a2e;margin:12px 0 6px}.login-desc[data-v-9f7e4bd6]{font-size:13px;color:#909399}.login-form[data-v-9f7e4bd6]{display:flex;flex-direction:column;gap:16px}.field[data-v-9f7e4bd6]{display:flex;flex-direction:column;gap:6px}.field label[data-v-9f7e4bd6]{font-size:13px;font-weight:600;color:#606266}.field input[data-v-9f7e4bd6]{padding:10px 14px;border:1px solid #dcdfe6;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s}.field input[data-v-9f7e4bd6]:focus{border-color:#3a7bd5;box-shadow:0 0 0 3px #3a7bd51a}.error-msg[data-v-9f7e4bd6]{background:#fef0f0;color:#f56c6c;font-size:13px;padding:8px 12px;border-radius:6px;text-align:center}.login-btn[data-v-9f7e4bd6]{padding:10px 0;background:#3a7bd5;color:#fff;font-size:15px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .2s;margin-top:4px}.login-btn[data-v-9f7e4bd6]:hover{background:#336bb8}.login-btn[data-v-9f7e4bd6]:disabled{background:#a0c4f0;cursor:not-allowed}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;color:#1a1a2e;background:#f5f6fa;line-height:1.6}a{color:#3a7bd5;text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c0c4cc;border-radius:3px}
