.modal-backdrop[data-v-eeb65268]{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-card[data-v-eeb65268]{background:var(--card-bg,#fff);color:var(--text-color,#111827);border-radius:16px;width:90%;max-width:400px;overflow:hidden;box-shadow:0 20px 25px -5px #0003}.auth-card__header[data-v-eeb65268]{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.auth-tabs[data-v-eeb65268]{gap:16px;display:flex}.auth-tab[data-v-eeb65268]{color:var(--text-muted,#9ca3af);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:16px;font-weight:600;position:relative}.auth-tab--active[data-v-eeb65268]{color:var(--primary-color,#2563eb)}.auth-tab--active[data-v-eeb65268]:after{content:"";background:var(--primary-color,#2563eb);border-radius:2px;height:2px;position:absolute;bottom:-4px;left:0;right:0}.modal-close[data-v-eeb65268]{cursor:pointer;color:var(--text-muted,#9ca3af);background:0 0;border:none;font-size:18px}.auth-card__body[data-v-eeb65268]{padding:20px}.auth-form[data-v-eeb65268]{gap:14px;display:grid}.form-group[data-v-eeb65268]{flex-direction:column;gap:6px;display:flex}.form-label[data-v-eeb65268]{color:var(--text-muted,#4b5563);font-size:13px;font-weight:500}.form-input[data-v-eeb65268]{border:1px solid var(--border-color,#d1d5db);background:var(--input-bg,#fff);color:var(--text-color,#111827);border-radius:8px;padding:10px 12px;font-size:14px}.form-input[data-v-eeb65268]:focus{border-color:var(--primary-color,#2563eb);outline:none;box-shadow:0 0 0 2px #2563eb33}.form-error[data-v-eeb65268]{color:#dc2626;font-size:13px;line-height:1.4}.form-success[data-v-eeb65268]{color:#16a34a;font-size:13px;line-height:1.4}.auth-submit[data-v-eeb65268]{background:var(--primary-color,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:background .15s}.auth-submit[data-v-eeb65268]:hover:not(:disabled){background:#1d4ed8}.auth-submit[data-v-eeb65268]:disabled{opacity:.6;cursor:not-allowed}.lightbox-overlay[data-v-d1dc2dc2]{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-toolbar[data-v-d1dc2dc2]{background:#0006;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.tool-btn[data-v-d1dc2dc2]{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 10px;font-size:13px;transition:all .15s;display:inline-flex}.tool-btn[data-v-d1dc2dc2]:hover{background:#ffffff40}.tool-btn--close[data-v-d1dc2dc2]{background:#ef4444b3;border-color:#0000}.tool-btn--close[data-v-d1dc2dc2]:hover{background:#ef4444}.lightbox-viewport[data-v-d1dc2dc2]{flex:1;justify-content:center;align-items:center;padding:24px;display:flex;overflow:auto}.lightbox-img[data-v-d1dc2dc2]{object-fit:contain;cursor:zoom-in;background:#fff;border-radius:6px;max-width:90vw;max-height:82vh;transition:transform .2s ease-out;box-shadow:0 10px 30px #00000080}.fade-enter-active[data-v-d1dc2dc2],.fade-leave-active[data-v-d1dc2dc2]{transition:opacity .2s}.fade-enter-from[data-v-d1dc2dc2],.fade-leave-to[data-v-d1dc2dc2]{opacity:0}.theme-controls[data-v-2cf423ef]{align-items:center;gap:6px;display:flex}.ctrl-btn[data-v-2cf423ef]{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);color:var(--text-color,#374151);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:6px 11px;font-size:13px;transition:all .15s;display:inline-flex}.ctrl-btn[data-v-2cf423ef]:hover{border-color:var(--primary-color,#2563eb);color:var(--primary-color,#2563eb)}.ctrl-btn__compact[data-v-2cf423ef]{font-size:13px;font-weight:700;display:none}.modal-backdrop[data-v-2cf423ef]{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-2cf423ef]{background:var(--card-bg,#fff);color:var(--text-color,#111827);border-radius:14px;width:90%;max-width:480px;overflow:hidden;box-shadow:0 20px 25px -5px #0003}.modal-card__header[data-v-2cf423ef]{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-card__header h3[data-v-2cf423ef]{margin:0;font-size:17px}.modal-close[data-v-2cf423ef]{cursor:pointer;color:var(--text-muted,#9ca3af);background:0 0;border:none;font-size:18px}.modal-card__body[data-v-2cf423ef]{gap:12px;padding:16px 20px;display:grid}.shortcut-row[data-v-2cf423ef]{border-bottom:1px dashed var(--border-color,#f3f4f6);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.key-combo kbd[data-v-2cf423ef]{background:var(--bg-color,#f3f4f6);border:1px solid var(--border-color,#d1d5db);border-radius:4px;padding:2px 6px;font-family:ui-monospace,monospace;font-size:12px;display:inline-block;box-shadow:0 1px 1px #0000001a}.key-desc[data-v-2cf423ef]{color:var(--text-muted,#4b5563);font-size:13px}.modal-card__footer[data-v-2cf423ef]{text-align:right;border-top:1px solid var(--border-color,#e5e7eb);padding:12px 20px 16px}.btn--primary[data-v-2cf423ef]{background:var(--primary-color,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px}@media (width<=768px){.ctrl-btn__full[data-v-2cf423ef]{display:none}.ctrl-btn__compact[data-v-2cf423ef]{display:inline}.ctrl-btn[data-v-2cf423ef]{min-width:32px;padding:5px 8px}.desktop-only[data-v-2cf423ef]{display:none!important}}.app-layout[data-v-a01cddd0]{flex-direction:column;min-height:100vh;display:flex}.navbar[data-v-a01cddd0]{background:var(--card-bg,#fff);border-bottom:1px solid var(--border-color,#e5e7eb);z-index:100;position:sticky;top:0;box-shadow:0 1px 3px #0000000a}.navbar__inner[data-v-a01cddd0]{justify-content:space-between;align-items:center;gap:12px;max-width:1200px;height:60px;margin:0 auto;padding:0 16px;display:flex}.navbar__brand[data-v-a01cddd0]{color:inherit;flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:flex}.brand-logo[data-v-a01cddd0]{font-size:24px}.brand-title[data-v-a01cddd0]{color:var(--text-color,#111827);white-space:nowrap;font-size:16px;font-weight:800;line-height:1.1}.brand-en[data-v-a01cddd0]{color:var(--primary-color,#2563eb);letter-spacing:.5px;margin-left:2px;font-size:13px;font-weight:700}.brand-subtitle[data-v-a01cddd0]{color:var(--text-muted,#6b7280);white-space:nowrap;font-size:11px}.navbar__nav[data-v-a01cddd0]{gap:6px;display:flex}.nav-item[data-v-a01cddd0]{color:var(--text-muted,#4b5563);border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex;position:relative}.nav-item[data-v-a01cddd0]:hover{background:var(--bg-color,#f3f4f6);color:var(--primary-color,#2563eb)}.nav-item--active[data-v-a01cddd0]{background:var(--active-card-bg,#eff6ff);font-weight:600;color:var(--primary-color,#2563eb)!important}.nav-badge[data-v-a01cddd0]{color:#fff;background:#ef4444;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.2}.nav-badge--fav[data-v-a01cddd0]{background:#f59e0b}.navbar__tools[data-v-a01cddd0]{flex-shrink:0;align-items:center;gap:6px;display:flex}.sync-btn[data-v-a01cddd0]{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);color:var(--text-color,#374151);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:6px 9px;font-size:12px;transition:all .15s;display:inline-flex}.sync-btn[data-v-a01cddd0]:hover:not(:disabled){color:#10b981;border-color:#10b981}.sync-icon--spin[data-v-a01cddd0]{animation:.8s linear infinite spin-a01cddd0;display:inline-block}@keyframes spin-a01cddd0{to{transform:rotate(360deg)}}.user-btn[data-v-a01cddd0]{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);color:var(--text-color,#374151);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;transition:all .15s;display:inline-flex}.user-btn[data-v-a01cddd0]:hover{border-color:var(--primary-color,#2563eb);color:var(--primary-color,#2563eb)}.user-btn--logged[data-v-a01cddd0]{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-weight:600}.user-name[data-v-a01cddd0]{text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.app-main[data-v-a01cddd0]{flex:1}.mobile-tabbar[data-v-a01cddd0]{background:var(--card-bg,#fff);border-top:1px solid var(--border-color,#e5e7eb);z-index:1000;height:56px;padding-bottom:env(safe-area-inset-bottom,0);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000d}.tab-item[data-v-a01cddd0]{height:100%;color:var(--text-muted,#6b7280);flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:11px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.tab-icon-wrap[data-v-a01cddd0]{display:inline-flex;position:relative}.tab-icon[data-v-a01cddd0]{font-size:18px;line-height:1.2}.tab-label[data-v-a01cddd0]{margin-top:2px}.tab-badge[data-v-a01cddd0]{color:#fff;text-align:center;background:#ef4444;border-radius:999px;min-width:14px;padding:0 4px;font-size:10px;font-weight:700;position:absolute;top:-4px;right:-10px}.tab-badge--fav[data-v-a01cddd0]{background:#f59e0b}.tab-item--active[data-v-a01cddd0]{font-weight:700;color:var(--primary-color,#2563eb)!important}.tab-item--active .tab-icon[data-v-a01cddd0]{transform:scale(1.1)}.app-footer[data-v-a01cddd0]{text-align:center;color:var(--text-muted,#9ca3af);border-top:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);margin-top:auto;padding:24px 16px;font-size:13px}@media (width<=768px){.desktop-only[data-v-a01cddd0]{display:none!important}.mobile-tabbar[data-v-a01cddd0]{display:flex}.app-main--has-tabbar[data-v-a01cddd0]{padding-bottom:60px}.navbar__inner[data-v-a01cddd0]{height:52px;padding:0 12px}.brand-subtitle[data-v-a01cddd0]{display:none}.brand-title[data-v-a01cddd0]{font-size:15px}.user-name[data-v-a01cddd0]{display:none}.user-btn[data-v-a01cddd0]{padding:5px 8px}}.exam-list-page[data-v-3fc1204d]{max-width:1120px;margin:0 auto;padding:0 16px 60px}.hero-banner[data-v-3fc1204d]{color:#fff;background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);border-radius:20px;margin:20px 0 28px;padding:32px 28px;box-shadow:0 10px 25px -5px #2563eb40}.hero-badge[data-v-3fc1204d]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#fff3;border:1px solid #ffffff59;border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.hero-title[data-v-3fc1204d]{letter-spacing:-.5px;margin:0 0 8px;font-size:26px;font-weight:800}.hero-subtitle[data-v-3fc1204d]{opacity:.9;max-width:680px;margin:0 0 24px;font-size:15px;line-height:1.5}.stat-cards[data-v-3fc1204d]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.stat-card[data-v-3fc1204d]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#ffffff26;border:1px solid #ffffff40;border-radius:14px;align-items:center;gap:14px;padding:14px 18px;text-decoration:none;transition:all .2s;display:flex}.stat-card[data-v-3fc1204d]:hover{background:#ffffff40;transform:translateY(-2px)}.stat-card__icon[data-v-3fc1204d]{font-size:24px}.stat-card__value[data-v-3fc1204d]{font-size:22px;font-weight:800;line-height:1.1}.stat-card__label[data-v-3fc1204d]{opacity:.85;font-size:12px}.catalog-controls[data-v-3fc1204d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;display:flex}.category-tabs[data-v-3fc1204d]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;gap:4px;padding:4px;display:flex}.cat-tab[data-v-3fc1204d]{color:var(--text-muted,#4b5563);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.cat-tab[data-v-3fc1204d]:hover{color:var(--primary-color,#2563eb)}.cat-tab--active[data-v-3fc1204d]{background:var(--primary-color,#2563eb);font-weight:600;color:#fff!important}.search-and-year[data-v-3fc1204d]{flex:1;gap:10px;max-width:460px;display:flex}.year-select[data-v-3fc1204d]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-color,#111827);cursor:pointer;border-radius:10px;padding:8px 12px;font-size:14px}.search-input[data-v-3fc1204d]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-color,#111827);border-radius:10px;flex:1;padding:9px 14px;font-size:14px}.search-input[data-v-3fc1204d]:focus,.year-select[data-v-3fc1204d]:focus{border-color:var(--primary-color,#2563eb);outline:none;box-shadow:0 0 0 2px #2563eb26}.exam-grid[data-v-3fc1204d]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.exam-card[data-v-3fc1204d]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);cursor:pointer;border-radius:16px;flex-direction:column;padding:18px 20px;transition:all .2s;display:flex;position:relative}.exam-card[data-v-3fc1204d]:hover{border-color:var(--primary-color,#3b82f6);transform:translateY(-2px);box-shadow:0 8px 20px -4px #2563eb26}.exam-card--has-session[data-v-3fc1204d]{background:var(--active-card-bg,#f8faff);border-color:#93c5fd}.exam-card__header[data-v-3fc1204d]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.badge[data-v-3fc1204d]{border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.badge--basic[data-v-3fc1204d]{color:#1e40af;background:#dbeafe}.badge--case[data-v-3fc1204d]{color:#c2410c;background:#ffedd5}.exam-card__code[data-v-3fc1204d]{color:var(--text-muted,#9ca3af);font-family:ui-monospace,Consolas,monospace;font-size:12px}.exam-card__title[data-v-3fc1204d]{color:var(--text-color,#111827);margin:0 0 12px;font-size:16px;font-weight:700;line-height:1.4}.exam-card__meta[data-v-3fc1204d]{color:var(--text-muted,#6b7280);gap:12px;margin-bottom:14px;font-size:13px;display:flex}.session-badge[data-v-3fc1204d]{color:#b45309;background:#fef3c7;border-radius:6px;margin-bottom:12px;padding:4px 8px;font-size:12px;font-weight:500}.exam-card__actions[data-v-3fc1204d]{border-top:1px solid var(--border-color,#f3f4f6);gap:8px;margin-top:auto;padding-top:12px;display:flex}.btn-action[data-v-3fc1204d]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-color,#374151);cursor:pointer;text-align:center;border-radius:8px;flex:1;padding:7px 10px;font-size:13px;transition:all .15s}.btn-action[data-v-3fc1204d]:hover{border-color:var(--primary-color,#2563eb);color:var(--primary-color,#2563eb)}.btn-action--primary[data-v-3fc1204d]{background:var(--primary-color,#2563eb);border-color:var(--primary-color,#2563eb);color:#fff;font-weight:500}.btn-action--primary[data-v-3fc1204d]:hover{color:#fff;background:#1d4ed8}.state-box[data-v-3fc1204d]{text-align:center;color:var(--text-muted,#6b7280);padding:60px 20px}.state-box--error[data-v-3fc1204d]{color:#dc2626}.loading-spinner[data-v-3fc1204d]{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite spin-3fc1204d}@keyframes spin-3fc1204d{to{transform:rotate(360deg)}}.empty-results[data-v-3fc1204d]{text-align:center;color:var(--text-muted,#9ca3af);grid-column:1/-1;padding:48px}@media (width<=768px){.exam-list-page[data-v-3fc1204d]{padding:0 12px 80px}.hero-banner[data-v-3fc1204d]{border-radius:16px;margin:12px 0 16px;padding:18px 16px}.hero-title[data-v-3fc1204d]{font-size:19px}.hero-subtitle[data-v-3fc1204d]{margin-bottom:14px;font-size:12px}.stat-cards[data-v-3fc1204d]{grid-template-columns:repeat(3,1fr);gap:6px}.stat-card[data-v-3fc1204d]{text-align:center;border-radius:10px;flex-direction:column;gap:4px;padding:8px 6px}.stat-card__icon[data-v-3fc1204d]{font-size:18px}.stat-card__value[data-v-3fc1204d]{font-size:17px}.stat-card__label[data-v-3fc1204d]{font-size:10px}.catalog-controls[data-v-3fc1204d]{gap:10px;margin-bottom:16px}.category-tabs[data-v-3fc1204d]{width:100%;display:flex}.cat-tab[data-v-3fc1204d]{text-align:center;flex:1;padding:8px 4px;font-size:13px}.search-and-year[data-v-3fc1204d]{gap:8px;width:100%;max-width:100%}.year-select[data-v-3fc1204d]{width:95px;padding:8px;font-size:13px}.search-input[data-v-3fc1204d]{padding:8px 10px;font-size:13px}.exam-grid[data-v-3fc1204d]{grid-template-columns:1fr;gap:12px}.exam-card[data-v-3fc1204d]{border-radius:14px;padding:14px 16px}.exam-card__title[data-v-3fc1204d]{margin-bottom:8px;font-size:15px}.btn-action[data-v-3fc1204d]{padding:8px 4px;font-size:12px}}.chapters-page[data-v-1eeed93a]{max-width:1200px;margin:0 auto;padding:24px 16px 80px}.chapter-hero[data-v-1eeed93a]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);box-shadow:var(--shadow-sm,0 1px 3px #0000000d);border-radius:20px;margin-bottom:24px;padding:28px 32px}.hero-badge[data-v-1eeed93a]{color:var(--primary-color,#2563eb);background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.hero-title[data-v-1eeed93a]{color:var(--text-color,#111827);margin:0 0 8px;font-size:24px;font-weight:800}.hero-desc[data-v-1eeed93a]{color:var(--text-muted,#4b5563);max-width:860px;margin:0 0 20px;font-size:14px;line-height:1.6}.hero-desc strong[data-v-1eeed93a]{color:var(--primary-color,#2563eb)}.search-wrap[data-v-1eeed93a]{max-width:600px;position:relative}.search-icon[data-v-1eeed93a]{color:var(--text-muted,#9ca3af);font-size:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input[data-v-1eeed93a]{border:1px solid var(--border-color,#d1d5db);background:var(--bg-color,#f9fafb);width:100%;color:var(--text-color,#111827);border-radius:12px;padding:12px 38px 12px 42px;font-size:14px;transition:all .15s}.search-input[data-v-1eeed93a]:focus{border-color:var(--primary-color,#2563eb);background:var(--card-bg,#fff);outline:none;box-shadow:0 0 0 3px #2563eb26}.clear-btn[data-v-1eeed93a]{color:var(--text-muted,#9ca3af);cursor:pointer;background:0 0;border:none;font-size:14px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.chapter-grid[data-v-1eeed93a]{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;display:grid}.chapter-card[data-v-1eeed93a]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;flex-direction:column;justify-content:space-between;padding:20px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.chapter-card[data-v-1eeed93a]:hover{border-color:var(--primary-color,#2563eb);transform:translateY(-2px);box-shadow:0 8px 20px #0000000f}.card-header[data-v-1eeed93a]{align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.header-icon-box[data-v-1eeed93a]{background:var(--bg-color,#f3f4f6);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:22px;display:flex}.header-title-box[data-v-1eeed93a]{flex:1}.chapter-name[data-v-1eeed93a]{color:var(--text-color,#111827);margin:0 0 4px;font-size:16px;font-weight:700;line-height:1.4}.count-badge[data-v-1eeed93a]{color:#1d4ed8;background:#eff6ff;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.chapter-desc[data-v-1eeed93a]{color:var(--text-muted,#6b7280);flex:1;margin:0 0 16px;font-size:13px;line-height:1.55}.card-actions[data-v-1eeed93a]{gap:6px;display:flex}.action-btn[data-v-1eeed93a]{cursor:pointer;text-align:center;white-space:nowrap;border:1px solid #0000;border-radius:8px;flex:1;padding:8px 6px;font-size:12px;font-weight:600;transition:all .15s}.action-btn--primary[data-v-1eeed93a]{background:var(--primary-color,#2563eb);color:#fff}.action-btn--primary[data-v-1eeed93a]:hover{background:#1d4ed8}.action-btn--secondary[data-v-1eeed93a]{background:var(--bg-color,#f3f4f6);color:var(--text-color,#1f2937);border-color:var(--border-color,#d1d5db)}.action-btn--secondary[data-v-1eeed93a]:hover{border-color:var(--primary-color,#2563eb);color:var(--primary-color,#2563eb)}.action-btn--ghost[data-v-1eeed93a]{color:var(--text-muted,#4b5563);border-color:var(--border-color,#d1d5db);background:0 0}.action-btn--ghost[data-v-1eeed93a]:hover{color:#d97706;border-color:#d97706}.state-box[data-v-1eeed93a],.empty-state[data-v-1eeed93a]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:16px;padding:48px 20px}.loading-spinner[data-v-1eeed93a]{border:3px solid #e5e7eb;border-top-color:var(--primary-color,#2563eb);border-radius:50%;width:36px;height:36px;margin:0 auto 12px;animation:.8s linear infinite spin-1eeed93a}@keyframes spin-1eeed93a{to{transform:rotate(360deg)}}@media (width<=768px){.chapters-page[data-v-1eeed93a]{padding:12px 12px 80px}.chapter-hero[data-v-1eeed93a]{border-radius:14px;margin-bottom:14px;padding:16px 14px}.hero-title[data-v-1eeed93a]{font-size:19px}.chapter-grid[data-v-1eeed93a]{grid-template-columns:1fr;gap:12px}.chapter-card[data-v-1eeed93a]{border-radius:12px;padding:14px}.action-btn[data-v-1eeed93a]{padding:8px 4px;font-size:12px}}.setup-page[data-v-03263297]{max-width:820px;margin:0 auto;padding:24px 16px 60px}.back-link[data-v-03263297]{color:var(--primary-color,#2563eb);cursor:pointer;background:0 0;border:none;margin-bottom:20px;padding:0;font-size:14px;font-weight:500}.back-link[data-v-03263297]:hover{text-decoration:underline}.paper-card[data-v-03263297]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);box-shadow:var(--shadow-sm,0 1px 3px #0000000d);border-radius:16px;margin-bottom:20px;padding:24px}.paper-card__badge[data-v-03263297]{color:#1e40af;background:#dbeafe;border-radius:999px;margin-bottom:10px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.paper-card__title[data-v-03263297]{color:var(--text-color,#111827);margin:0 0 12px;font-size:24px;font-weight:800}.paper-card__meta[data-v-03263297]{color:var(--text-muted,#6b7280);flex-wrap:wrap;gap:16px;font-size:14px;display:flex}.resume-alert[data-v-03263297]{background:#fffbeb;border:1px solid #fde68a;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;padding:16px 20px;display:flex}.resume-alert__info[data-v-03263297]{color:#92400e;font-size:14px;line-height:1.5}.resume-alert__actions[data-v-03263297]{gap:8px;display:flex}.mode-section[data-v-03263297]{margin-bottom:28px}.section-title[data-v-03263297]{color:var(--text-color,#111827);margin:0 0 14px;font-size:18px;font-weight:700}.modes-grid[data-v-03263297]{gap:12px;display:grid}.mode-card[data-v-03263297]{border:2px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);cursor:pointer;border-radius:14px;align-items:flex-start;gap:14px;padding:18px 20px;transition:all .15s;display:flex}.mode-card[data-v-03263297]:hover{border-color:#93c5fd}.mode-card--active[data-v-03263297]{border-color:var(--primary-color,#2563eb)!important;background:var(--active-card-bg,#eff6ff)!important}.mode-card input[data-v-03263297]{accent-color:var(--primary-color,#2563eb);margin-top:5px}.mode-card__body[data-v-03263297]{flex:1}.mode-card__title-row[data-v-03263297]{align-items:center;gap:8px;margin-bottom:6px;display:flex}.mode-icon[data-v-03263297]{font-size:20px}.mode-name[data-v-03263297]{color:var(--text-color,#111827);font-size:16px;font-weight:700}.mode-tag[data-v-03263297]{border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600}.mode-tag--mock[data-v-03263297]{color:#991b1b;background:#fee2e2}.mode-tag--practice[data-v-03263297]{color:#1e40af;background:#dbeafe}.mode-tag--study[data-v-03263297]{color:#92400e;background:#fef3c7}.mode-card__desc[data-v-03263297]{color:var(--text-muted,#4b5563);margin:0;font-size:13.5px;line-height:1.6}.start-btn[data-v-03263297]{background:var(--primary-color,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px 24px;font-size:17px;font-weight:700;transition:background .15s,transform .15s;box-shadow:0 4px 14px #2563eb4d}.start-btn[data-v-03263297]:hover{background:#1d4ed8;transform:translateY(-1px)}.btn[data-v-03263297]{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:13px}.btn--primary[data-v-03263297]{background:var(--primary-color,#2563eb);color:#fff}.btn--ghost[data-v-03263297]{background:var(--card-bg,#fff);color:#374151;border-color:#d1d5db}.state-box[data-v-03263297]{text-align:center;color:var(--text-muted,#6b7280);padding:60px 20px}.state-box--error[data-v-03263297]{color:#dc2626}.loading-spinner[data-v-03263297]{border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite spin-03263297}@keyframes spin-03263297{to{transform:rotate(360deg)}}.progress-panel[data-v-6cb67424]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);box-shadow:var(--shadow-sm,0 1px 2px #0000000a);border-radius:14px;margin-bottom:16px;padding:14px 16px}.progress-panel__header[data-v-6cb67424]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.progress-meta[data-v-6cb67424]{color:var(--text-color,#111827);align-items:center;gap:12px;font-size:14px;display:flex}.meta-percent[data-v-6cb67424]{color:var(--text-muted,#6b7280);margin-left:2px;font-size:13px}.meta-item--marked[data-v-6cb67424]{color:#b45309}.header-actions[data-v-6cb67424]{align-items:center;gap:8px;display:flex}.filter-tabs[data-v-6cb67424]{background:var(--bg-color,#f3f4f6);border-radius:8px;padding:2px;display:flex}.filter-tab[data-v-6cb67424]{cursor:pointer;color:var(--text-muted,#6b7280);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;transition:all .15s}.filter-tab--active[data-v-6cb67424]{background:var(--card-bg,#fff);color:var(--primary-color,#2563eb);font-weight:600;box-shadow:0 1px 2px #00000014}.collapse-btn[data-v-6cb67424]{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);color:var(--text-muted,#4b5563);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:12px}.progress__bar[data-v-6cb67424]{background:var(--bg-color,#e5e7eb);border-radius:999px;height:6px;margin-bottom:12px;overflow:hidden}.progress__fill[data-v-6cb67424]{background:var(--primary-color,#2563eb);height:100%;transition:width .25s ease-out}.progress__nav[data-v-6cb67424]{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:6px;max-height:160px;padding:2px;display:grid;overflow-y:auto}.dot[data-v-6cb67424]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);height:32px;color:var(--text-color,#374151);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex;position:relative}.dot[data-v-6cb67424]:hover{border-color:var(--primary-color,#2563eb);transform:translateY(-1px)}.dot--done[data-v-6cb67424]{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd;font-weight:600}.dot--current[data-v-6cb67424]{font-weight:700;box-shadow:0 0 0 2px #2563eb40;border:2px solid var(--primary-color,#2563eb)!important;color:#fff!important;background:#2563eb!important}.dot--marked[data-v-6cb67424]{border-color:#f59e0b}.dot__flag[data-v-6cb67424]{font-size:9px;line-height:1;position:absolute;top:-4px;right:-3px}.dot--correct[data-v-6cb67424]{color:#15803d!important;background:#ecfdf5!important;border-color:#86efac!important}.dot--wrong[data-v-6cb67424]{color:#b91c1c!important;background:#fef2f2!important;border-color:#fca5a5!important}.empty-hint[data-v-6cb67424]{text-align:center;color:var(--text-muted,#9ca3af);grid-column:1/-1;margin:12px 0;font-size:13px}.qcard[data-v-61557525]{background:var(--card-bg,#fff);color:var(--text-color,#111827);border:1px solid var(--border-color,#e5e7eb);box-shadow:var(--shadow-sm,0 1px 3px #0000000d);border-radius:16px;padding:24px;transition:all .2s}.qcard__head[data-v-61557525]{border-bottom:1px solid var(--border-color,#f3f4f6);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.qcard__tags[data-v-61557525]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qcard__badge[data-v-61557525]{border-radius:999px;align-items:center;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.qcard__badge--primary[data-v-61557525]{color:#1d4ed8;background:#dbeafe}.qcard__badge--muted[data-v-61557525]{background:var(--badge-muted-bg,#f3f4f6);color:var(--text-muted,#4b5563)}.qcard__badge--warn[data-v-61557525]{color:#c2410c;background:#ffedd5}.qcard__badge--flag[data-v-61557525]{color:#b45309;background:#fef3c7}.qcard__actions[data-v-61557525]{gap:6px;display:flex}.action-btn[data-v-61557525]{border:1px solid var(--border-color,#e5e7eb);background:var(--card-bg,#fff);color:var(--text-muted,#4b5563);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;transition:all .15s;display:inline-flex}.action-btn[data-v-61557525]:hover{border-color:var(--primary-color,#2563eb);color:var(--primary-color,#2563eb)}.action-btn--active[data-v-61557525]{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.qcard__stem[data-v-61557525]{font-size:var(--font-size-stem,16px);word-break:break-word;margin-bottom:20px;line-height:1.8}.qcard__stem--empty[data-v-61557525]{color:var(--text-muted,#9ca3af);font-style:italic}.zoomable-content[data-v-61557525] img{border:1px solid var(--border-color,#e5e7eb);cursor:zoom-in;background:#fff;border-radius:8px;max-width:100%;height:auto;margin:10px 0;transition:transform .15s,box-shadow .15s;display:inline-block}.zoomable-content[data-v-61557525] img:hover{box-shadow:0 4px 12px #00000026}.zoomable-content[data-v-61557525] pre,.zoomable-content[data-v-61557525] code{background:var(--code-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.qcard__options[data-v-61557525]{gap:10px;display:grid}.option[data-v-61557525]{text-align:left;border:1px solid var(--border-color,#e5e7eb);background:var(--option-bg,#fafafa);width:100%;color:var(--text-color,#1f2937);cursor:pointer;font-size:var(--font-size-opt,15px);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 16px;transition:all .15s;display:flex;position:relative}.option[data-v-61557525]:hover:not(:disabled){border-color:var(--primary-color,#3b82f6);background:var(--option-hover-bg,#f0f7ff)}.option[data-v-61557525]:disabled{cursor:default}.option--selected[data-v-61557525]{box-shadow:0 0 0 1px #2563eb;background:#eff6ff!important;border-color:#2563eb!important}.option--correct[data-v-61557525]{background:#ecfdf5!important;border-color:#16a34a!important}.option--wrong[data-v-61557525]{background:#fef2f2!important;border-color:#dc2626!important}.option__tag[data-v-61557525]{min-width:1.6em;color:var(--text-muted,#4b5563);font-weight:700}.option__body[data-v-61557525]{flex:1;line-height:1.6}.option__key-hint[data-v-61557525]{color:var(--text-muted,#9ca3af);background:var(--bg-color,#f3f4f6);border:1px solid var(--border-color,#e5e7eb);opacity:.7;border-radius:4px;padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px}.qcard__subjective[data-v-61557525]{margin-top:10px}.subjective-head[data-v-61557525]{align-items:center;gap:6px;margin-bottom:8px;display:flex}.subjective-label[data-v-61557525]{font-size:14px;font-weight:600}.subjective-hint[data-v-61557525]{color:var(--text-muted,#6b7280);font-size:12px}.subjective-textarea[data-v-61557525]{border:1px solid var(--border-color,#d1d5db);background:var(--input-bg,#fff);width:100%;color:var(--text-color,#111827);resize:vertical;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.6}.subjective-textarea[data-v-61557525]:focus{border-color:var(--primary-color,#2563eb);outline:none;box-shadow:0 0 0 2px #2563eb33}.self-grading[data-v-61557525]{background:var(--bg-color,#f9fafb);border:1px dashed var(--border-color,#d1d5db);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.self-grading__label[data-v-61557525]{font-size:13px;font-weight:600}.self-grading__options[data-v-61557525]{flex-wrap:wrap;gap:8px;display:flex}.grade-btn[data-v-61557525]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-color,#374151);cursor:pointer;border-radius:8px;padding:6px 12px;font-size:13px;transition:all .15s}.grade-btn--correct[data-v-61557525]{color:#15803d;background:#ecfdf5;border-color:#16a34a;font-weight:600}.grade-btn--partial[data-v-61557525]{color:#b45309;background:#fffbeb;border-color:#d97706;font-weight:600}.grade-btn--wrong[data-v-61557525]{color:#b91c1c;background:#fef2f2;border-color:#dc2626;font-weight:600}.qcard__feedback[data-v-61557525]{border-top:1px dashed var(--border-color,#d1d5db);margin-top:24px;padding-top:18px}.qcard__answer-bar[data-v-61557525]{background:var(--bg-color,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:10px;flex-wrap:wrap;gap:20px;margin-bottom:16px;padding:12px 16px;display:flex}.answer-item[data-v-61557525]{align-items:center;gap:6px;font-size:14px;display:flex}.answer-item__label[data-v-61557525]{color:var(--text-muted,#64748b)}.answer-item__val--correct[data-v-61557525]{color:#16a34a}.answer-item__val--wrong[data-v-61557525]{color:#dc2626}.answer-item__val--empty[data-v-61557525]{color:#9ca3af}.qcard__user-note[data-v-61557525]{color:#92400e;background:#fffbeb;border:1px solid #fef3c7;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.user-note__title[data-v-61557525]{font-weight:700}.user-note__text[data-v-61557525]{margin:4px 0 0;line-height:1.5}.qcard__analysis[data-v-61557525]{background:var(--analysis-bg,#fcfcfc);border:1px solid var(--border-color,#f0f0f0);line-height:1.8;font-size:var(--font-size-analysis,15px);border-radius:10px;padding:16px}.qcard__analysis-title[data-v-61557525]{color:var(--primary-color,#2563eb);margin-bottom:10px;font-size:15px;font-weight:700}.qcard__analysis-body[data-v-61557525]{color:var(--text-color,#374151)}.modal-backdrop[data-v-61557525]{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-61557525]{background:var(--card-bg,#fff);color:var(--text-color,#111827);border-radius:14px;width:90%;max-width:500px;overflow:hidden;box-shadow:0 20px 25px -5px #0003}.modal-card__header[data-v-61557525]{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-card__header h3[data-v-61557525]{margin:0;font-size:16px}.modal-close[data-v-61557525]{cursor:pointer;color:var(--text-muted,#9ca3af);background:0 0;border:none;font-size:18px}.modal-card__body[data-v-61557525]{padding:16px 20px}.note-textarea[data-v-61557525]{border:1px solid var(--border-color,#d1d5db);resize:vertical;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;line-height:1.5}.modal-card__footer[data-v-61557525]{border-top:1px solid var(--border-color,#e5e7eb);justify-content:flex-end;gap:10px;padding:12px 20px 16px;display:flex}.btn[data-v-61557525]{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:14px}.btn--ghost[data-v-61557525]{border-color:var(--border-color,#d1d5db);background:0 0}.btn--primary[data-v-61557525]{background:var(--primary-color,#2563eb);color:#fff}@media (width<=768px){.qcard[data-v-61557525]{border-radius:12px;padding:16px 14px}.qcard__head[data-v-61557525]{margin-bottom:10px;padding-bottom:8px}.qcard__stem[data-v-61557525]{margin-bottom:16px;line-height:1.65}.option[data-v-61557525]{border-radius:10px;gap:8px;padding:10px 12px}.option__key-hint[data-v-61557525]{display:none}.qcard__answer-bar[data-v-61557525]{flex-direction:column;gap:8px;padding:10px 12px}.qcard__analysis[data-v-61557525]{padding:12px}}.runner-page[data-v-aa27a2f2]{max-width:1240px;margin:0 auto;padding:16px 16px 60px}.runner-header[data-v-aa27a2f2]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);box-shadow:var(--shadow-sm,0 1px 3px #0000000d);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 18px;display:flex}.header-left[data-v-aa27a2f2]{align-items:center;gap:10px;display:flex}.exit-btn[data-v-aa27a2f2]{color:var(--primary-color,#2563eb);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.exit-btn[data-v-aa27a2f2]:hover{text-decoration:underline}.runner-title[data-v-aa27a2f2]{white-space:nowrap;text-overflow:ellipsis;max-width:400px;margin:0;font-size:16px;font-weight:700;overflow:hidden}.mode-badge[data-v-aa27a2f2]{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.mode-badge--mock[data-v-aa27a2f2]{color:#991b1b;background:#fee2e2}.mode-badge--practice[data-v-aa27a2f2]{color:#1e40af;background:#dbeafe}.mode-badge--study[data-v-aa27a2f2]{color:#92400e;background:#fef3c7}.header-right[data-v-aa27a2f2]{align-items:center;gap:8px;display:flex}.timer-badge[data-v-aa27a2f2]{background:var(--bg-color,#f3f4f6);border:1px solid var(--border-color,#e5e7eb);white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-family:ui-monospace,monospace;font-size:13px;display:inline-flex}.timer-badge--warn[data-v-aa27a2f2]{color:#b91c1c;background:#fef2f2;border-color:#fca5a5;animation:1s infinite pulse-aa27a2f2}@keyframes pulse-aa27a2f2{0%,to{opacity:1}50%{opacity:.7}}.mobile-sheet-btn[data-v-aa27a2f2]{color:#1d4ed8;cursor:pointer;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600;display:none}.finish-btn[data-v-aa27a2f2]{color:#fff;cursor:pointer;white-space:nowrap;background:#dc2626;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s}.finish-btn[data-v-aa27a2f2]:hover{background:#b91c1c}.runner-body[data-v-aa27a2f2]{grid-template-columns:1fr 300px;align-items:start;gap:16px;display:grid}.runner-main[data-v-aa27a2f2]{min-width:0}.runner-footer[data-v-aa27a2f2]{justify-content:space-between;align-items:center;gap:10px;margin-top:16px;display:flex}.btn[data-v-aa27a2f2]{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:500;transition:all .15s}.btn[data-v-aa27a2f2]:disabled{opacity:.5;cursor:not-allowed}.btn--nav[data-v-aa27a2f2]{background:var(--card-bg,#fff);border-color:var(--border-color,#d1d5db);color:var(--text-color,#111827)}.btn--nav[data-v-aa27a2f2]:hover:not(:disabled){border-color:var(--primary-color,#2563eb)}.btn--mark[data-v-aa27a2f2]{background:var(--card-bg,#fff);border-color:var(--border-color,#d1d5db);color:var(--text-muted,#4b5563)}.btn--mark-active[data-v-aa27a2f2]{color:#b45309;background:#fffbeb;border-color:#f59e0b}.btn--primary[data-v-aa27a2f2]{background:var(--primary-color,#2563eb);color:#fff}.btn--primary[data-v-aa27a2f2]:hover:not(:disabled){background:#1d4ed8}.btn--finish[data-v-aa27a2f2]{color:#fff;background:#dc2626}.btn--finish[data-v-aa27a2f2]:hover{background:#b91c1c}.btn--ghost[data-v-aa27a2f2]{border-color:var(--border-color,#d1d5db);background:0 0}.modal-backdrop[data-v-aa27a2f2]{z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-aa27a2f2]{background:var(--card-bg,#fff);color:var(--text-color,#111827);border-radius:14px;width:90%;max-width:480px;overflow:hidden;box-shadow:0 20px 25px -5px #0003}.modal-card__header[data-v-aa27a2f2]{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-card__header h3[data-v-aa27a2f2]{margin:0;font-size:17px}.modal-close[data-v-aa27a2f2]{cursor:pointer;color:var(--text-muted,#9ca3af);background:0 0;border:none;font-size:18px}.modal-card__body[data-v-aa27a2f2]{padding:20px}.submit-summary[data-v-aa27a2f2]{margin:0 0 10px;line-height:1.6}.warn-text[data-v-aa27a2f2]{color:#dc2626;font-weight:600}.submit-marked[data-v-aa27a2f2]{color:#b45309;margin:0 0 10px}.submit-tip[data-v-aa27a2f2]{color:var(--text-muted,#6b7280);margin:0;font-size:13px}.modal-card__footer[data-v-aa27a2f2]{border-top:1px solid var(--border-color,#e5e7eb);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.mobile-sheet-drawer[data-v-aa27a2f2]{background:var(--card-bg,#fff);border-top-left-radius:20px;border-top-right-radius:20px;flex-direction:column;max-height:80vh;animation:.25s ease-out slideUp-aa27a2f2;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -10px 25px #00000026}@keyframes slideUp-aa27a2f2{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer-header[data-v-aa27a2f2]{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer-header h3[data-v-aa27a2f2]{margin:0;font-size:16px}.drawer-body[data-v-aa27a2f2]{flex:1;padding:16px;overflow-y:auto}@media (width<=768px){.desktop-only[data-v-aa27a2f2]{display:none!important}.mobile-sheet-btn[data-v-aa27a2f2]{display:inline-block}.runner-page[data-v-aa27a2f2]{padding:8px 8px 80px}.runner-header[data-v-aa27a2f2]{border-radius:10px;margin-bottom:10px;padding:8px 10px}.runner-body[data-v-aa27a2f2]{grid-template-columns:1fr}.runner-footer[data-v-aa27a2f2]{background:var(--card-bg,#fff);border-top:1px solid var(--border-color,#e5e7eb);padding:8px 12px calc(8px + env(safe-area-inset-bottom,0));z-index:90;gap:6px;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 10px #0000000f}.btn[data-v-aa27a2f2]{text-align:center;border-radius:8px;flex:1;padding:9px 8px;font-size:13px}}.result-page[data-v-f12f54fe]{max-width:1040px;margin:0 auto;padding:24px 16px 80px}.result-hero[data-v-f12f54fe]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);box-shadow:var(--shadow-sm,0 4px 12px #0000000d);border-radius:20px;margin-bottom:28px;padding:28px}.score-badge[data-v-f12f54fe]{border-radius:999px;margin-bottom:12px;padding:4px 12px;font-size:13px;font-weight:700;display:inline-block}.score-badge--pass[data-v-f12f54fe]{color:#047857;background:#ecfdf5}.score-badge--fail[data-v-f12f54fe]{color:#b91c1c;background:#fef2f2}.result-title[data-v-f12f54fe]{color:var(--text-color,#111827);margin:0 0 8px;font-size:24px;font-weight:800}.result-subtitle[data-v-f12f54fe]{color:var(--text-muted,#6b7280);margin:0 0 20px;font-size:14px}.metrics-grid[data-v-f12f54fe]{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:24px;display:grid}.metric-item[data-v-f12f54fe]{background:var(--bg-color,#f9fafb);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:12px;padding:14px}.metric-val[data-v-f12f54fe]{color:var(--text-color,#111827);font-size:24px;font-weight:800;line-height:1.2}.metric-val--primary[data-v-f12f54fe]{color:var(--primary-color,#2563eb)}.metric-val--success[data-v-f12f54fe]{color:#16a34a}.metric-val--danger[data-v-f12f54fe]{color:#dc2626}.metric-unit[data-v-f12f54fe]{color:var(--text-muted,#6b7280);font-size:13px;font-weight:400}.metric-label[data-v-f12f54fe]{color:var(--text-muted,#6b7280);margin-top:4px;font-size:12px}.result-actions[data-v-f12f54fe]{border-top:1px solid var(--border-color,#f3f4f6);flex-wrap:wrap;gap:10px;padding-top:20px;display:flex}.btn[data-v-f12f54fe]{cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s}.btn--primary[data-v-f12f54fe]{background:var(--primary-color,#2563eb);color:#fff}.btn--primary[data-v-f12f54fe]:hover{background:#1d4ed8}.btn--secondary[data-v-f12f54fe]{background:var(--bg-color,#f3f4f6);color:var(--text-color,#1f2937);border-color:var(--border-color,#d1d5db)}.btn--secondary[data-v-f12f54fe]:hover{border-color:var(--primary-color,#2563eb)}.btn--ghost[data-v-f12f54fe]{color:var(--text-muted,#4b5563);border-color:var(--border-color,#d1d5db);background:0 0}.view-filter-bar[data-v-f12f54fe]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filter-title[data-v-f12f54fe]{margin:0;font-size:18px;font-weight:700}.filter-tabs[data-v-f12f54fe]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:10px;gap:4px;padding:4px;display:flex}.filter-tab[data-v-f12f54fe]{color:var(--text-muted,#4b5563);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.filter-tab--active[data-v-f12f54fe]{background:var(--primary-color,#2563eb);font-weight:600;color:#fff!important}.questions-list[data-v-f12f54fe]{gap:16px;display:grid}.empty-box[data-v-f12f54fe]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:14px;padding:48px 24px}.empty-icon[data-v-f12f54fe]{margin-bottom:12px;font-size:40px}@media print{.no-print[data-v-f12f54fe]{display:none!important}}@media (width<=768px){.result-page[data-v-f12f54fe]{padding:12px 12px 80px}.result-hero[data-v-f12f54fe]{border-radius:14px;margin-bottom:16px;padding:16px 14px}.result-title[data-v-f12f54fe]{font-size:20px}.metrics-grid[data-v-f12f54fe]{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.metric-item[data-v-f12f54fe]{padding:10px 8px}.metric-val[data-v-f12f54fe]{font-size:20px}.result-actions[data-v-f12f54fe]{flex-direction:column;gap:8px}.result-actions .btn[data-v-f12f54fe]{text-align:center;width:100%;padding:10px}.view-filter-bar[data-v-f12f54fe]{flex-direction:column;align-items:flex-start;gap:10px}.filter-tabs[data-v-f12f54fe]{flex-wrap:wrap;width:100%;display:flex}.filter-tab[data-v-f12f54fe]{text-align:center;flex:40%;padding:8px 4px;font-size:12px}}.notebook-page[data-v-8f538ec2]{max-width:1040px;margin:0 auto;padding:24px 16px 80px}.notebook-header[data-v-8f538ec2]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:24px 28px;display:flex}.page-title[data-v-8f538ec2]{margin:0 0 6px;font-size:24px;font-weight:800}.page-desc[data-v-8f538ec2]{color:var(--text-muted,#6b7280);margin:0;font-size:14px}.header-actions[data-v-8f538ec2]{gap:10px;display:flex}.notebook-controls[data-v-8f538ec2]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.filter-tabs[data-v-8f538ec2]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:10px;gap:4px;padding:4px;display:flex}.filter-tab[data-v-8f538ec2]{color:var(--text-muted,#4b5563);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s}.filter-tab--active[data-v-8f538ec2]{background:var(--primary-color,#2563eb);font-weight:600;color:#fff!important}.paper-select[data-v-8f538ec2]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-color,#111827);border-radius:8px;padding:8px 12px;font-size:13px}.wrongs-list[data-v-8f538ec2]{gap:20px;display:grid}.wrong-card-wrapper[data-v-8f538ec2]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;overflow:hidden}.wrong-meta-bar[data-v-8f538ec2]{background:var(--bg-color,#f9fafb);border-bottom:1px solid var(--border-color,#e5e7eb);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;font-size:13px;display:flex}.wrong-meta-left[data-v-8f538ec2]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.source-tag[data-v-8f538ec2]{color:var(--text-color,#1f2937);font-weight:600}.count-tag[data-v-8f538ec2]{color:#991b1b;background:#fee2e2;border-radius:4px;padding:2px 7px;font-size:12px;font-weight:600}.history-tag[data-v-8f538ec2]{color:var(--text-muted,#6b7280)}.wrong-meta-right[data-v-8f538ec2]{gap:6px;display:flex}.btn-sm[data-v-8f538ec2]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-color,#374151);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;transition:all .15s}.btn-sm--resolved[data-v-8f538ec2]{color:#15803d;background:#ecfdf5;border-color:#86efac;font-weight:600}.btn-sm--unresolved[data-v-8f538ec2]:hover{color:#10b981;border-color:#10b981}.btn-sm--delete[data-v-8f538ec2]:hover{color:#ef4444;border-color:#ef4444}.btn[data-v-8f538ec2]{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.btn--primary[data-v-8f538ec2]{background:var(--primary-color,#2563eb);color:#fff}.btn--primary[data-v-8f538ec2]:disabled{opacity:.5;cursor:not-allowed}.btn--ghost[data-v-8f538ec2]{border-color:var(--border-color,#d1d5db);color:var(--text-muted,#4b5563);background:0 0}.btn--danger[data-v-8f538ec2]:hover{color:#ef4444;border-color:#ef4444}.empty-state[data-v-8f538ec2]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:16px;padding:60px 20px}.empty-icon[data-v-8f538ec2]{margin-bottom:12px;font-size:48px}@media (width<=768px){.notebook-page[data-v-8f538ec2]{padding:12px 12px 80px}.notebook-header[data-v-8f538ec2]{border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:14px;padding:16px 14px}.header-actions[data-v-8f538ec2]{width:100%}.header-actions .btn[data-v-8f538ec2]{text-align:center;flex:1;padding:8px;font-size:13px}.notebook-controls[data-v-8f538ec2]{flex-direction:column;align-items:stretch;gap:10px}.filter-tabs[data-v-8f538ec2]{width:100%;display:flex}.filter-tab[data-v-8f538ec2]{text-align:center;flex:1;padding:6px}.paper-select[data-v-8f538ec2]{width:100%}.wrong-meta-bar[data-v-8f538ec2]{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px}.wrong-meta-right[data-v-8f538ec2]{justify-content:flex-end;width:100%}}.fav-page[data-v-dc2c6029]{max-width:1040px;margin:0 auto;padding:24px 16px 80px}.fav-header[data-v-dc2c6029]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:24px 28px;display:flex}.page-title[data-v-dc2c6029]{margin:0 0 6px;font-size:24px;font-weight:800}.page-desc[data-v-dc2c6029]{color:var(--text-muted,#6b7280);margin:0;font-size:14px}.fav-controls[data-v-dc2c6029]{margin-bottom:20px}.paper-select[data-v-dc2c6029]{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-color,#111827);border-radius:8px;padding:8px 14px;font-size:14px}.fav-list[data-v-dc2c6029]{gap:20px;display:grid}.fav-card-wrapper[data-v-dc2c6029]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;overflow:hidden}.fav-meta-bar[data-v-dc2c6029]{background:var(--bg-color,#f9fafb);border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:10px 18px;font-size:13px;display:flex}.source-tag[data-v-dc2c6029]{color:var(--text-color,#1f2937);font-weight:600}.date-tag[data-v-dc2c6029]{color:var(--text-muted,#6b7280)}.btn[data-v-dc2c6029]{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.btn--primary[data-v-dc2c6029]{background:var(--primary-color,#2563eb);color:#fff}.btn--primary[data-v-dc2c6029]:disabled{opacity:.5;cursor:not-allowed}.empty-state[data-v-dc2c6029]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:16px;padding:60px 20px}.empty-icon[data-v-dc2c6029]{margin-bottom:12px;font-size:48px}@media (width<=768px){.favorites-page[data-v-dc2c6029]{padding:12px 12px 80px}.fav-header[data-v-dc2c6029]{border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:14px;padding:16px 14px}.header-actions[data-v-dc2c6029]{width:100%}.header-actions .btn[data-v-dc2c6029]{text-align:center;width:100%}.fav-controls[data-v-dc2c6029]{flex-direction:column;gap:10px}.paper-select[data-v-dc2c6029]{width:100%}}.history-page[data-v-868267d3]{max-width:1120px;margin:0 auto;padding:24px 16px 80px}.history-header[data-v-868267d3]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:24px 28px;display:flex}.page-title[data-v-868267d3]{margin:0 0 6px;font-size:24px;font-weight:800}.page-desc[data-v-868267d3]{color:var(--text-muted,#6b7280);margin:0;font-size:14px}.overview-grid[data-v-868267d3]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:24px;display:grid}.overview-card[data-v-868267d3]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:14px;padding:16px}.card-val[data-v-868267d3]{font-size:24px;font-weight:800;line-height:1.2}.card-val--primary[data-v-868267d3]{color:var(--primary-color,#2563eb)}.card-val--success[data-v-868267d3]{color:#16a34a}.card-val--warn[data-v-868267d3]{color:#d97706}.card-unit[data-v-868267d3]{color:var(--text-muted,#6b7280);font-size:13px;font-weight:400}.card-label[data-v-868267d3]{color:var(--text-muted,#6b7280);margin-top:4px;font-size:13px}.history-table-container[data-v-868267d3]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:16px;overflow-x:auto}.history-table[data-v-868267d3]{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.history-table th[data-v-868267d3]{background:var(--bg-color,#f9fafb);color:var(--text-muted,#4b5563);border-bottom:1px solid var(--border-color,#e5e7eb);padding:12px 16px;font-weight:600}.history-table td[data-v-868267d3]{border-bottom:1px solid var(--border-color,#f3f4f6);vertical-align:middle;padding:14px 16px}.history-table tbody tr[data-v-868267d3]:hover{background:var(--bg-color,#f8fafc)}.date-col[data-v-868267d3]{color:var(--text-muted,#6b7280);white-space:nowrap;font-size:13px}.name-col[data-v-868267d3]{min-width:220px}.code-sub[data-v-868267d3]{color:var(--text-muted,#9ca3af);font-family:ui-monospace,monospace;font-size:12px}.mode-badge[data-v-868267d3]{border-radius:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-block}.mode-badge--mock[data-v-868267d3]{color:#991b1b;background:#fee2e2}.mode-badge--practice[data-v-868267d3]{color:#1e40af;background:#dbeafe}.score--pass[data-v-868267d3]{color:#16a34a;font-size:16px;font-weight:700}.score--fail[data-v-868267d3]{color:#dc2626;font-size:16px;font-weight:700}.score-total[data-v-868267d3]{color:var(--text-muted,#9ca3af);font-size:12px}.pass-tag[data-v-868267d3]{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.pass-tag--pass[data-v-868267d3]{color:#047857;background:#ecfdf5}.pass-tag--fail[data-v-868267d3]{color:#b91c1c;background:#fef2f2}.actions-col[data-v-868267d3]{gap:8px;display:flex}.action-link[data-v-868267d3]{color:var(--primary-color,#2563eb);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.action-link[data-v-868267d3]:hover{text-decoration:underline}.btn[data-v-868267d3]{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600}.btn--primary[data-v-868267d3]{background:var(--primary-color,#2563eb);color:#fff}.btn--ghost[data-v-868267d3]{border-color:var(--border-color,#d1d5db);background:0 0}.btn--danger[data-v-868267d3]{color:#dc2626}.btn--danger[data-v-868267d3]:hover{background:#fef2f2;border-color:#dc2626}.empty-state[data-v-868267d3]{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);text-align:center;border-radius:16px;padding:60px 20px}.empty-icon[data-v-868267d3]{margin-bottom:12px;font-size:48px}@media (width<=768px){.history-page[data-v-868267d3]{padding:12px 12px 80px}.history-header[data-v-868267d3]{border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:14px;padding:16px 14px}.header-actions[data-v-868267d3]{width:100%}.overview-grid[data-v-868267d3]{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.overview-card[data-v-868267d3]{padding:12px 8px}.card-val[data-v-868267d3]{font-size:20px}}:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-color:#f3f4f6;--card-bg:#fff;--active-card-bg:#eff6ff;--text-color:#111827;--text-muted:#6b7280;--border-color:#e5e7eb;--primary-color:#2563eb;--primary-hover:#1d4ed8;--option-bg:#fafafa;--option-hover-bg:#f0f7ff;--analysis-bg:#fcfcfc;--badge-muted-bg:#f3f4f6;--code-bg:#f8fafc;--shadow-sm:0 1px 3px #0000000d;--font-size-stem:16px;--font-size-opt:15px;--font-size-analysis:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Microsoft YaHei,PingFang SC,sans-serif;line-height:1.6}[data-theme=sepia]{--bg-color:#f6f1e8;--card-bg:#fbf7ee;--active-card-bg:#faeedb;--text-color:#3b3024;--text-muted:#796c5d;--border-color:#e7decb;--primary-color:#b45309;--primary-hover:#92400e;--option-bg:#fdfbf7;--option-hover-bg:#faeedb;--analysis-bg:#fdfbf7;--badge-muted-bg:#ede5d4;--code-bg:#f4ecdc}[data-theme=dark]{--bg-color:#0f172a;--card-bg:#1e293b;--active-card-bg:#1e3a5f;--text-color:#f8fafc;--text-muted:#94a3b8;--border-color:#334155;--primary-color:#3b82f6;--primary-hover:#60a5fa;--option-bg:#1e293b;--option-hover-bg:#28384f;--analysis-bg:#182234;--badge-muted-bg:#334155;--code-bg:#0f172a;--shadow-sm:0 1px 3px #0000004d}[data-font-size=large]{--font-size-stem:18px;--font-size-opt:16.5px;--font-size-analysis:16.5px}[data-font-size=xlarge]{--font-size-stem:20px;--font-size-opt:18px;--font-size-analysis:18px}*{box-sizing:border-box}body{background:var(--bg-color);min-width:320px;min-height:100vh;color:var(--text-color);margin:0;transition:background-color .2s,color .2s}button,input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#96969659;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#96969699}@media print{body{color:#000!important;background:#fff!important}.no-print{display:none!important}}.shared-stem-box,.case-stem-box{background:var(--active-card-bg,#eff6ff);border:1px solid var(--border-color,#bfdbfe);border-radius:12px;margin-bottom:16px;padding:14px 16px;position:relative}.shared-stem-badge,.case-stem-badge{background:var(--primary-color,#2563eb);color:#fff;border-radius:6px;margin-bottom:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.case-stem-badge{background:#0284c7}.shared-stem-content,.case-stem-content{color:var(--text-color,#1e293b);line-height:1.75}.target-blank-highlight{color:#854d0e;background:#fef08a;border:1px dashed #eab308;border-radius:4px;margin:0 2px;padding:2px 6px;font-weight:700;display:inline-block}[data-theme=dark] .target-blank-highlight{color:#fef08a;background:#854d0e;border-color:#ca8a04}.shared-sub-title,.case-subquestion-box{color:var(--text-color,#0f172a);margin-bottom:12px;font-size:15px;font-weight:600;line-height:1.6}
