.binary-rain[data-v-81a2d680]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;width:100%;height:100%}.login-root[data-v-0f7f9186]{--login-ink: #24302f;--login-teal: #2d7c6f;--login-gold: #f0c96a;--login-paper: #f6f3ea;--login-rule: #d9dfd2;position:relative;min-height:100vh;color:var(--login-ink);background:var(--login-paper);overflow:hidden;opacity:0;transform:translateY(12px);transition:all .6s cubic-bezier(.16,1,.3,1)}.login-root.mounted[data-v-0f7f9186]{opacity:1;transform:translateY(0)}.bg-grid[data-v-0f7f9186]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgb(45 124 111 / 8%) 1px,transparent 1px),linear-gradient(90deg,rgb(45 124 111 / 8%) 1px,transparent 1px);background-size:28px 28px}.login-stage[data-v-0f7f9186]{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,520px) minmax(320px,430px);gap:28px;align-items:center;width:min(1040px,calc(100vw - 40px));min-height:100vh;margin:0 auto;padding:40px 0}.login-brief[data-v-0f7f9186]{display:grid;gap:22px}.brand-lockup[data-v-0f7f9186]{display:flex;align-items:center;gap:14px}.brand-mark[data-v-0f7f9186]{display:grid;width:58px;height:58px;place-items:center;border-radius:8px;color:var(--login-ink);background:var(--login-gold);font-size:24px;font-weight:900}.eyebrow[data-v-0f7f9186]{margin:0;color:#68716d;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.brand-lockup h1[data-v-0f7f9186]{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:clamp(28px,4vw,42px);line-height:1.12}.brand-lockup h1 span[data-v-0f7f9186]{display:block}.brief-copy[data-v-0f7f9186]{max-width:500px;margin:0;color:#56615e;font-size:18px;line-height:1.75}.brief-strip[data-v-0f7f9186]{display:flex;flex-wrap:wrap;gap:8px}.brief-strip span[data-v-0f7f9186]{padding:7px 10px;border:1px solid var(--login-rule);border-radius:8px;color:var(--login-teal);background:#fffdf8d6;font-size:13px;font-weight:900}.login-card[data-v-0f7f9186]{display:grid;gap:18px;padding:24px;border:1px solid var(--login-rule);border-radius:8px;background:#fffdf8f0;box-shadow:0 24px 70px #24302f1f}.card-header h2[data-v-0f7f9186]{margin:5px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:30px;line-height:1.18}.card-header span[data-v-0f7f9186]{display:inline-block;margin-top:8px;color:#67716d;font-size:14px}.login-form[data-v-0f7f9186]{display:grid;gap:14px}.form-field[data-v-0f7f9186]{display:grid;gap:7px}.form-field label[data-v-0f7f9186]{color:#4f5c59;font-size:13px;font-weight:900}.optional[data-v-0f7f9186]{color:#8c9692;font-weight:700}.input-wrap[data-v-0f7f9186]{display:flex;align-items:center;min-height:48px;border:1px solid #cdd6ca;border-radius:8px;background:#fffef9;transition:all .2s;overflow:hidden}.input-wrap[data-v-0f7f9186]:focus-within{border-color:var(--login-teal);box-shadow:0 0 0 3px #2d7c6f1f}.input-hint[data-v-0f7f9186]{display:inline-grid;width:48px;height:100%;min-height:48px;place-items:center;color:var(--login-teal);background:#eef5ed;font-size:12px;font-weight:900;-webkit-user-select:none;user-select:none;flex-shrink:0}.input-wrap input[data-v-0f7f9186]{flex:1;min-width:0;padding:0 12px;background:transparent;border:none;outline:none;color:var(--login-ink);font-size:15px;font-weight:800}.input-wrap input[data-v-0f7f9186]::placeholder{color:#8b9690;opacity:1}.error-box[data-v-0f7f9186]{padding:10px 12px;border:1px solid #e3b3ad;border-radius:8px;color:#9d342f;background:#fff0ec;font-size:13px;font-weight:800}.btn-submit[data-v-0f7f9186]{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin-top:4px;background:var(--login-teal);color:#fff;-webkit-text-fill-color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:900;cursor:pointer;transition:all .2s}.btn-submit[data-v-0f7f9186]:hover{background:#236b5f}.btn-submit[data-v-0f7f9186]:disabled{cursor:not-allowed;color:#f7fbf8;-webkit-text-fill-color:#f7fbf8;background:#6f948c}.btn-arrow[data-v-0f7f9186]{font-size:1.1rem;transition:transform .2s}.btn-submit:hover .btn-arrow[data-v-0f7f9186]{transform:translate(3px)}.card-footer[data-v-0f7f9186]{display:flex;align-items:center;justify-content:center;gap:8px;color:#67716d;font-size:14px}.btn-toggle[data-v-0f7f9186]{border:none;color:var(--login-teal);background:transparent;font-size:14px;font-weight:900;cursor:pointer;padding:0}.btn-toggle[data-v-0f7f9186]:hover{text-decoration:underline}@media(max-width:820px){.login-stage[data-v-0f7f9186]{grid-template-columns:1fr;align-content:center}.login-brief[data-v-0f7f9186]{gap:14px}.brief-copy[data-v-0f7f9186]{font-size:16px}}.guide-overlay[data-v-49e12b80]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-49e12b80 .3s ease}.guide-modal[data-v-49e12b80]{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000026;animation:slideUp-49e12b80 .3s ease}.guide-header[data-v-49e12b80]{position:relative;min-height:230px;overflow:hidden;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#05120e14,#05120ec7),linear-gradient(90deg,#05120eb8,#05120e14 45%,#05120e8c),url(/assets/guide-hero-combo.jpg) center 36% / cover}.guide-header[data-v-49e12b80]:after{position:absolute;inset:auto 0 0;height:78px;content:"";background:linear-gradient(180deg,transparent,#ffffff);pointer-events:none}.hero-copy[data-v-49e12b80]{position:relative;z-index:1;display:grid;max-width:380px;gap:8px;padding:118px 24px 28px;color:#fff;text-align:left}.hero-badge[data-v-49e12b80]{display:inline-flex;width:fit-content;min-height:26px;align-items:center;padding:4px 9px;border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#fff3b0;background:#00000047;font-size:11px;font-weight:900;letter-spacing:.08em}.guide-header h2[data-v-49e12b80]{margin:0;color:#fff;font-size:28px;line-height:1.12;text-shadow:0 2px 16px rgba(0,0,0,.45)}.subtitle[data-v-49e12b80]{max-width:340px;margin:0;color:#ffffffe6;font-size:14px;line-height:1.55;text-shadow:0 2px 10px rgba(0,0,0,.45)}.guide-content[data-v-49e12b80]{padding:20px 24px}.guide-section[data-v-49e12b80]{margin-bottom:20px}.guide-section[data-v-49e12b80]:last-child{margin-bottom:0}.guide-section h3[data-v-49e12b80]{margin:0 0 12px;font-size:16px;color:#1f2937;display:flex;align-items:center;gap:8px}.section-icon[data-v-49e12b80]{font-size:18px}.guide-section p[data-v-49e12b80]{margin:0;color:#4b5563;font-size:14px;line-height:1.6}.mode-grid[data-v-49e12b80]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mode-card[data-v-49e12b80]{background:#f9fafb;border-radius:10px;padding:14px;text-align:center;border:1px solid #e5e7eb}.mode-icon[data-v-49e12b80]{font-size:28px;margin-bottom:6px}.mode-name[data-v-49e12b80]{font-weight:600;color:#1f2937;margin-bottom:4px}.mode-desc[data-v-49e12b80]{font-size:12px;color:#6b7280}.notice-list[data-v-49e12b80]{margin:0;padding:0;list-style:none}.notice-list li[data-v-49e12b80]{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:14px;color:#4b5563;line-height:1.5}.notice-icon[data-v-49e12b80]{font-size:16px;flex-shrink:0;margin-top:2px}.notice-list strong[data-v-49e12b80]{color:#1f2937}.tip-section[data-v-49e12b80]{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border-radius:12px;padding:16px;margin-top:4px;border:1px solid #dbeafe}.guide-disclaimer[data-v-49e12b80]{padding:14px 24px;background:#fefce8;border-top:1px solid #e5e7eb}.guide-disclaimer h4[data-v-49e12b80]{margin:0 0 8px;font-size:13px;color:#92400e}.guide-disclaimer p[data-v-49e12b80]{margin:0;font-size:12px;line-height:1.6;color:#78350f}.guide-footer[data-v-49e12b80]{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid #e5e7eb}.dont-show[data-v-49e12b80]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#6b7280}.dont-show input[data-v-49e12b80]{cursor:pointer}.start-btn[data-v-49e12b80]{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,#0f8f4e,#5a2a16);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.start-btn[data-v-49e12b80]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f8f4e5c}@media(max-width:560px){.guide-header[data-v-49e12b80]{min-height:210px;background-position:center 24%}.hero-copy[data-v-49e12b80]{padding:104px 18px 24px}.guide-header h2[data-v-49e12b80]{font-size:24px}}.btn-arrow[data-v-49e12b80]{transition:transform .2s}.start-btn:hover .btn-arrow[data-v-49e12b80]{transform:translate(4px)}@keyframes fadeIn-49e12b80{0%{opacity:0}to{opacity:1}}@keyframes slideUp-49e12b80{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.exam-page[data-v-bd7d1090]{min-width:0}.exam-select-header[data-v-bd7d1090]{margin-bottom:8px}.exam-select-header h2[data-v-bd7d1090]{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:28px;line-height:1.2}.exam-select-desc[data-v-bd7d1090]{margin:8px 0 0;color:var(--muted);font-size:14px}.year-card-grid[data-v-bd7d1090]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.year-card[data-v-bd7d1090]{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:10px;background:var(--panel);text-align:left;box-shadow:0 6px 18px #24302f0d;transition:all .18s ease;overflow:hidden}.year-card[data-v-bd7d1090]:hover{border-color:var(--teal);transform:translateY(-2px);box-shadow:0 10px 28px #24302f1a}.year-card-head[data-v-bd7d1090]{display:flex;justify-content:space-between;align-items:center;padding:14px 16px 0}.year-badge[data-v-bd7d1090]{display:inline-grid;width:52px;height:34px;place-items:center;border-radius:8px;background:var(--teal);color:#fff;font-size:16px;font-weight:900;letter-spacing:.5px}.year-card-score[data-v-bd7d1090]{color:var(--muted);font-size:13px;font-weight:800}.year-card-body[data-v-bd7d1090]{flex:1;display:flex;flex-direction:column;gap:8px;padding:12px 16px}.year-card-body h3[data-v-bd7d1090]{margin:0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:17px;line-height:1.3}.year-card-meta[data-v-bd7d1090]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.year-card-meta span[data-v-bd7d1090]{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:13px;font-weight:700}.year-card-tag[data-v-bd7d1090]{padding:2px 8px;border-radius:999px;background:#2d7c6f1a;color:var(--teal)!important;font-size:12px!important;font-weight:900!important}.year-card-foot[data-v-bd7d1090]{border-top:1px solid var(--rule);padding:10px 16px}.year-card-enter[data-v-bd7d1090]{display:inline-flex;align-items:center;gap:4px;color:var(--teal);font-size:14px;font-weight:900}.year-card:hover .year-card-enter[data-v-bd7d1090]{gap:8px}.exam-toolbar[data-v-bd7d1090]{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;margin-bottom:16px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toolbar-left[data-v-bd7d1090]{display:flex;gap:10px;align-items:center;min-width:0}.back-button[data-v-bd7d1090]{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--rule);border-radius:8px;color:var(--ink);background:#fffef9;flex-shrink:0;transition:all .15s}.back-button[data-v-bd7d1090]:hover{border-color:var(--teal);color:var(--teal)}.year-tabs[data-v-bd7d1090],.toolbar-actions[data-v-bd7d1090],.side-actions[data-v-bd7d1090]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.year-tabs button[data-v-bd7d1090]{min-width:56px;min-height:38px;border:1px solid #cdd6ca;border-radius:8px;color:var(--ink);background:#fffef9;font-weight:900}.year-tabs button.selected[data-v-bd7d1090]{color:#fff;border-color:var(--teal);background:var(--teal)}.exam-workspace[data-v-bd7d1090]{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;align-items:start}.question-column[data-v-bd7d1090]{display:grid;gap:16px;min-width:0}.paper-intro[data-v-bd7d1090]{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8eb}.paper-intro h3[data-v-bd7d1090],.section-heading h3[data-v-bd7d1090],.exam-panel h3[data-v-bd7d1090],.pdf-fallback h3[data-v-bd7d1090]{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;line-height:1.2}.paper-intro span[data-v-bd7d1090],.exam-panel span[data-v-bd7d1090],.pdf-fallback p[data-v-bd7d1090]{color:var(--muted)}.timer-chip[data-v-bd7d1090]{display:inline-flex;min-width:128px;justify-content:center;align-items:center;gap:8px;padding:12px;border:1px solid #cdd6ca;border-radius:8px;background:#f3f7ed}.timer-chip.hot[data-v-bd7d1090]{color:#a43730;border-color:#e3b3ad;background:#fff0ec}.section-band[data-v-bd7d1090]{display:grid;gap:14px;padding:16px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8eb;scroll-margin-top:92px}.section-heading[data-v-bd7d1090],.question-head[data-v-bd7d1090],.sub-prompt[data-v-bd7d1090]{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.section-heading b[data-v-bd7d1090]{color:var(--teal);white-space:nowrap}.exam-question-card[data-v-bd7d1090]{display:grid;gap:14px;padding:18px;border:1px solid var(--rule);border-radius:8px;background:#fffef9}.question-head[data-v-bd7d1090]{justify-content:flex-start}.question-head>span[data-v-bd7d1090]{display:inline-grid;width:44px;height:44px;place-items:center;border-radius:999px;color:#fff;background:var(--ink);font-size:18px;font-weight:900}.question-head h4[data-v-bd7d1090]{margin:0;font-size:18px;line-height:1.35}.question-head small[data-v-bd7d1090]{display:inline-block;margin-top:4px;color:var(--teal);font-weight:900}.question-stem[data-v-bd7d1090],.sub-prompt p[data-v-bd7d1090]{margin:0;line-height:1.8;white-space:pre-wrap}.question-stem[data-v-bd7d1090]{padding:14px;border-left:4px solid #efd174;background:#fff9e9}.sub-question-list[data-v-bd7d1090]{display:grid;gap:12px}.sub-question[data-v-bd7d1090]{display:grid;gap:10px;padding:12px;border:1px solid #dfe6da;border-radius:8px;background:#fbfcf7}.sub-prompt strong[data-v-bd7d1090]{color:var(--teal);white-space:nowrap}.sub-prompt span[data-v-bd7d1090]{color:var(--muted);font-size:13px;font-weight:900;white-space:nowrap}.inline-answer[data-v-bd7d1090]{width:100%;min-height:118px;resize:vertical;border:1px solid #cdd6ca;border-radius:8px;padding:12px;color:var(--ink);background:#fffdf8;line-height:1.6}.choice-grid[data-v-bd7d1090]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.choice-grid button[data-v-bd7d1090]{display:flex;align-items:flex-start;gap:8px;min-height:46px;border:1px solid #cdd6ca;border-radius:8px;padding:10px;color:var(--ink);text-align:left;background:#fffef9}.choice-grid button.selected[data-v-bd7d1090]{border-color:var(--teal);box-shadow:inset 0 0 0 2px #2d7c6f2e}.choice-grid b[data-v-bd7d1090]{color:var(--teal)}.question-images[data-v-bd7d1090]{display:flex;flex-wrap:wrap;gap:12px;align-items:start}.source-figure[data-v-bd7d1090]{margin:0;border:1px solid #dfe6da;border-radius:8px;overflow:hidden;background:#fff;cursor:zoom-in;transition:box-shadow .15s ease}.source-figure[data-v-bd7d1090]:hover{box-shadow:0 4px 16px #0000001f}.source-figure img[data-v-bd7d1090]{display:block;max-width:100%;max-height:420px;object-fit:contain}.source-figure figcaption[data-v-bd7d1090]{padding:6px 10px;font-size:12px;color:var(--muted);text-align:center;border-top:1px solid #dfe6da;background:#f8faf5}.image-res-hint[data-v-bd7d1090]{display:flex;align-items:center;gap:6px;width:100%;margin:0;padding:8px 12px;border-radius:6px;background:#f0c96a1f;color:var(--muted);font-size:12px;line-height:1.5}.image-res-hint strong[data-v-bd7d1090]{color:var(--teal)}.primary-button[data-v-bd7d1090],.submit-button[data-v-bd7d1090]{color:#fff;-webkit-text-fill-color:#fff}.primary-button span[data-v-bd7d1090],.primary-button svg[data-v-bd7d1090],.submit-button span[data-v-bd7d1090],.submit-button svg[data-v-bd7d1090]{color:#fff;-webkit-text-fill-color:#fff}.primary-button[data-v-bd7d1090]:disabled,.submit-button[data-v-bd7d1090]:disabled{color:#f7fbf8;-webkit-text-fill-color:#f7fbf8;background:#4f8c81}.secondary-button[data-v-bd7d1090],.secondary-button span[data-v-bd7d1090],.secondary-button svg[data-v-bd7d1090]{color:#273533;-webkit-text-fill-color:#273533}.exam-side[data-v-bd7d1090]{position:sticky;top:84px;display:grid;gap:12px;min-width:0}.exam-panel[data-v-bd7d1090]{display:grid;gap:12px;padding:14px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8eb}.progress-track[data-v-bd7d1090]{height:9px;overflow:hidden;border-radius:999px;background:#e1e7dc}.progress-fill[data-v-bd7d1090]{height:100%;border-radius:inherit;background:var(--teal);transition:width .2s ease}.draft-status[data-v-bd7d1090]{display:inline-flex;align-items:center;width:fit-content;min-height:26px;padding:4px 8px;border:1px solid #dfe6da;border-radius:6px;color:var(--teal);background:#f8faf5;font-size:12px;font-weight:900}.mini-map button[data-v-bd7d1090]{display:flex;justify-content:space-between;gap:10px;width:100%;min-height:38px;border:1px solid #dfe6da;border-radius:8px;padding:8px 10px;color:var(--ink);background:#fffef9}.mini-map b[data-v-bd7d1090],.score-box b[data-v-bd7d1090]{color:var(--teal);white-space:nowrap}.wide[data-v-bd7d1090]{width:100%}.score-box[data-v-bd7d1090]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.score-box span[data-v-bd7d1090]{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:900}.score-box input[data-v-bd7d1090]{width:100%;min-height:38px;border:1px solid #cdd6ca;border-radius:8px;padding:8px 10px;background:#fffef9}.answer-pdf-frame[data-v-bd7d1090]{width:100%;height:380px;border:1px solid #dfe6da;border-radius:8px;background:#fff}.pdf-fallback[data-v-bd7d1090]{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8eb}.pdf-modal[data-v-bd7d1090]{position:fixed;top:32px;right:32px;bottom:32px;left:32px;z-index:20;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--rule);border-radius:8px;background:#fffdf8;box-shadow:0 24px 70px #24302f38}.pdf-modal-head[data-v-bd7d1090]{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--rule)}.paper-pdf-frame[data-v-bd7d1090]{width:100%;height:100%;border:0;background:#fff}.exam-notice-modal[data-v-bd7d1090]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;padding:20px;background:#1822206b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.exam-notice-card[data-v-bd7d1090]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;width:min(560px,100%);padding:20px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8;box-shadow:0 24px 70px #24302f38}.notice-mark[data-v-bd7d1090]{display:grid;width:46px;height:46px;place-items:center;border-radius:8px;color:#8b5b10;background:#fff2cc}.notice-copy h3[data-v-bd7d1090]{margin:4px 0 8px;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:21px;line-height:1.25}.notice-copy p[data-v-bd7d1090]:not(.eyebrow){margin:0;color:var(--muted);line-height:1.75}.notice-copy strong[data-v-bd7d1090]{color:var(--teal)}.notice-actions[data-v-bd7d1090]{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap}.image-lightbox[data-v-bd7d1090]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-lightbox img[data-v-bd7d1090]{max-width:95vw;max-height:85vh;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 12px 40px #0006}.lightbox-caption[data-v-bd7d1090]{color:#fff;font-size:14px;text-align:center;margin:0}.lightbox-close[data-v-bd7d1090]{position:absolute;top:16px;right:16px;width:40px;height:40px;display:grid;place-items:center;border:none;border-radius:999px;color:#fff;background:#fff3;cursor:pointer;transition:background .15s ease}.lightbox-close[data-v-bd7d1090]:hover{background:#ffffff59}@media(max-width:1100px){.exam-workspace[data-v-bd7d1090]{grid-template-columns:1fr}.exam-side[data-v-bd7d1090]{position:static}}@media(max-width:720px){.exam-toolbar[data-v-bd7d1090],.paper-intro[data-v-bd7d1090],.pdf-fallback[data-v-bd7d1090],.section-heading[data-v-bd7d1090],.sub-prompt[data-v-bd7d1090]{flex-direction:column;align-items:stretch}.toolbar-actions[data-v-bd7d1090],.side-actions[data-v-bd7d1090]{display:grid;grid-template-columns:1fr 1fr}.timer-chip[data-v-bd7d1090]{width:100%}.year-card-grid[data-v-bd7d1090]{grid-template-columns:1fr}.pdf-modal[data-v-bd7d1090]{top:10px;right:10px;bottom:10px;left:10px}.exam-notice-card[data-v-bd7d1090]{grid-template-columns:1fr}.notice-actions[data-v-bd7d1090]{display:grid;grid-template-columns:1fr}}.lab-page[data-v-6ba4389a]{min-width:0}.lab-header[data-v-6ba4389a],.paper-intro[data-v-6ba4389a],.section-band[data-v-6ba4389a],.lab-panel[data-v-6ba4389a],.generation-banner[data-v-6ba4389a]{border:1px solid var(--rule);border-radius:8px;background:#fffdf8eb}.lab-header[data-v-6ba4389a]{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:18px;margin-bottom:14px}.lab-header h2[data-v-6ba4389a],.paper-intro h3[data-v-6ba4389a],.section-heading h3[data-v-6ba4389a],.lab-panel h3[data-v-6ba4389a],.generation-banner h3[data-v-6ba4389a]{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;line-height:1.2}.lab-header p[data-v-6ba4389a]:not(.eyebrow),.paper-intro span[data-v-6ba4389a],.section-heading span[data-v-6ba4389a],.lab-panel span[data-v-6ba4389a],.generation-banner span[data-v-6ba4389a]{color:var(--muted)}.lab-actions[data-v-6ba4389a],.side-actions[data-v-6ba4389a]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.generation-banner[data-v-6ba4389a]{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px;margin-bottom:14px;border-color:#e8d39b;background:#fff9e9}.generation-banner.done[data-v-6ba4389a]{border-color:#b9d8c8;background:#f4faf4}.generation-banner.failed[data-v-6ba4389a]{border-color:#e3b3ad;background:#fff0ec}.spin[data-v-6ba4389a]{animation:spin-6ba4389a 1s linear infinite}@keyframes spin-6ba4389a{to{transform:rotate(360deg)}}.paper-switch[data-v-6ba4389a]{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.paper-switch button[data-v-6ba4389a]{display:inline-flex;align-items:center;gap:6px;min-height:38px;border:1px solid #cdd6ca;border-radius:8px;padding:8px 12px;color:var(--ink);background:#fffef9;font-weight:900}.paper-switch button.selected[data-v-6ba4389a]{border-color:var(--teal);color:#fff;background:var(--teal)}.lab-workspace[data-v-6ba4389a]{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:18px;align-items:start}.paper-column[data-v-6ba4389a]{display:grid;gap:16px;min-width:0}.paper-intro[data-v-6ba4389a]{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px}.timer-chip[data-v-6ba4389a]{display:inline-flex;min-width:128px;justify-content:center;align-items:center;gap:8px;padding:12px;border:1px solid #cdd6ca;border-radius:8px;background:#f3f7ed}.timer-chip.hot[data-v-6ba4389a]{color:#a43730;border-color:#e3b3ad;background:#fff0ec}.section-band[data-v-6ba4389a]{display:grid;gap:14px;padding:16px;scroll-margin-top:92px}.section-heading[data-v-6ba4389a],.question-head[data-v-6ba4389a]{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.section-heading b[data-v-6ba4389a],.mini-map b[data-v-6ba4389a],.choice-grid b[data-v-6ba4389a]{color:var(--teal)}.lab-question-card[data-v-6ba4389a]{display:grid;gap:14px;padding:18px;border:1px solid var(--rule);border-radius:8px;background:#fffef9}.question-head[data-v-6ba4389a]{justify-content:flex-start}.question-head>span[data-v-6ba4389a]{display:inline-grid;width:44px;height:44px;place-items:center;border-radius:999px;color:#fff;background:var(--ink);font-size:17px;font-weight:900}.question-head h4[data-v-6ba4389a]{margin:0;font-size:18px;line-height:1.35}.question-head small[data-v-6ba4389a]{display:inline-block;margin-top:4px;color:var(--teal);font-weight:900}.question-stem[data-v-6ba4389a]{margin:0;padding:14px;border-left:4px solid #efd174;background:#fff9e9;line-height:1.8;white-space:pre-wrap}.choice-grid[data-v-6ba4389a]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.choice-grid button[data-v-6ba4389a]{display:flex;align-items:flex-start;gap:8px;min-height:46px;border:1px solid #cdd6ca;border-radius:8px;padding:10px;color:var(--ink);text-align:left;background:#fffef9}.choice-grid button.selected[data-v-6ba4389a]{border-color:var(--teal);box-shadow:inset 0 0 0 2px #2d7c6f2e}.inline-answer[data-v-6ba4389a]{width:100%;min-height:118px;resize:vertical;border:1px solid #cdd6ca;border-radius:8px;padding:12px;color:var(--ink);background:#fffdf8;line-height:1.6}.answer-box[data-v-6ba4389a]{display:grid;gap:6px;padding:12px;border:1px solid #b9d8c8;border-radius:8px;background:#f4faf4}.answer-box p[data-v-6ba4389a],.answer-box small[data-v-6ba4389a]{margin:0;color:var(--muted);line-height:1.7;white-space:pre-wrap}.lab-side[data-v-6ba4389a]{position:sticky;top:84px;display:grid;gap:12px;min-width:0}.lab-panel[data-v-6ba4389a]{display:grid;gap:12px;padding:14px}.progress-track[data-v-6ba4389a]{height:9px;overflow:hidden;border-radius:999px;background:#e1e7dc}.progress-fill[data-v-6ba4389a]{height:100%;border-radius:inherit;background:var(--teal);transition:width .2s ease}.mini-map button[data-v-6ba4389a]{display:flex;justify-content:space-between;gap:10px;width:100%;min-height:38px;border:1px solid #dfe6da;border-radius:8px;padding:8px 10px;color:var(--ink);background:#fffef9}.wide[data-v-6ba4389a]{width:100%}.primary-button[data-v-6ba4389a],.submit-button[data-v-6ba4389a],.primary-button span[data-v-6ba4389a],.primary-button svg[data-v-6ba4389a],.submit-button span[data-v-6ba4389a],.submit-button svg[data-v-6ba4389a]{color:#fff;-webkit-text-fill-color:#fff}.secondary-button[data-v-6ba4389a],.secondary-button span[data-v-6ba4389a],.secondary-button svg[data-v-6ba4389a]{color:#273533;-webkit-text-fill-color:#273533}@media(max-width:1100px){.lab-workspace[data-v-6ba4389a]{grid-template-columns:1fr}.lab-side[data-v-6ba4389a]{position:static}}@media(max-width:720px){.lab-header[data-v-6ba4389a],.paper-intro[data-v-6ba4389a],.section-heading[data-v-6ba4389a]{flex-direction:column;align-items:stretch}.lab-actions[data-v-6ba4389a],.side-actions[data-v-6ba4389a]{display:grid;grid-template-columns:1fr 1fr}}.study-dashboard[data-v-a3335587],.daily-recommendation[data-v-a3335587],.smart-practice-entry[data-v-a3335587]{margin-bottom:14px}.study-dashboard[data-v-a3335587]{min-width:0}.study-overview-card[data-v-a3335587],.daily-recommendation[data-v-a3335587],.smart-entry-card[data-v-a3335587]{border:1px solid var(--rule);border-radius:8px;background:var(--panel);box-shadow:0 10px 28px #24302f0f}.study-overview-card[data-v-a3335587]{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,.95fr);gap:14px;padding:16px}.today-status[data-v-a3335587]{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:16px}.today-status h3[data-v-a3335587],.daily-recommendation h3[data-v-a3335587]{margin:4px 0 8px;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:22px;line-height:1.2}.today-status p[data-v-a3335587],.daily-recommendation p[data-v-a3335587]{margin:0;color:var(--muted);line-height:1.55}.mastery-meter[data-v-a3335587]{--mastery: 0%;display:grid;width:96px;aspect-ratio:1;flex:0 0 auto;place-items:center;align-content:center;border-radius:50%;background:radial-gradient(circle at center,var(--panel) 0 58%,transparent 59%),conic-gradient(var(--teal) var(--mastery),#e4eadd 0)}.mastery-meter strong[data-v-a3335587]{font-size:24px;line-height:1}.mastery-meter span[data-v-a3335587]{color:var(--muted);font-size:12px;font-weight:800}.study-metrics[data-v-a3335587]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:center}.metric-pill[data-v-a3335587]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;min-height:42px;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--rule);border-radius:8px;color:var(--ink);background:#fffef9}.metric-pill svg[data-v-a3335587]{color:var(--teal)}.metric-pill span[data-v-a3335587]{overflow:hidden;color:var(--muted);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.metric-pill strong[data-v-a3335587]{font-size:17px;line-height:1.1;text-align:right;white-space:nowrap}.daily-recommendation[data-v-a3335587]{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;background:linear-gradient(135deg,rgb(240 201 106 / 18%),transparent 42%),var(--panel)}.recommendation-copy[data-v-a3335587]{min-width:0}.recommendation-tags[data-v-a3335587]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.recommendation-tags span[data-v-a3335587]{min-height:28px;padding:5px 10px;border:1px solid #d7e1d5;border-radius:999px;color:#41504c;background:#f7f9f3;font-size:12px;font-weight:900}.recommendation-button[data-v-a3335587]{flex:0 0 auto}.smart-practice-entry[data-v-a3335587]{padding-top:2px}.smart-entry-grid[data-v-a3335587]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.smart-entry-card[data-v-a3335587]{display:grid;min-height:122px;align-content:start;gap:9px;padding:14px;color:var(--ink);text-align:left}.smart-entry-card[data-v-a3335587]:hover{border-color:var(--teal);transform:translateY(-1px)}.smart-entry-card.selected[data-v-a3335587]{border-color:var(--teal);background:#f3faf7;box-shadow:inset 4px 0 0 var(--teal),0 10px 28px #24302f0f}.smart-entry-card svg[data-v-a3335587]{color:var(--teal)}.smart-entry-card strong[data-v-a3335587]{font-size:16px}.smart-entry-card span[data-v-a3335587]{color:var(--muted);font-size:13px;line-height:1.45}.compact-section-title[data-v-a3335587]{margin-top:4px}.planner-card[data-v-a3335587]{display:grid;gap:14px}.planner-summary[data-v-a3335587]{display:grid;gap:10px;padding:14px;border:1px solid #d7e1d5;border-radius:8px;background:linear-gradient(135deg,rgb(45 124 111 / 8%),transparent 56%),#fffef9}.planner-summary h3[data-v-a3335587]{margin:0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:24px;line-height:1.2}.planner-summary p[data-v-a3335587]{margin:0;color:var(--muted);line-height:1.55}.planner-stat-grid[data-v-a3335587]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.planner-stat-grid span[data-v-a3335587]{display:grid;gap:4px;min-height:54px;padding:9px;border:1px solid var(--rule);border-radius:8px;color:var(--muted);background:#f7f9f3;font-size:12px;font-weight:800}.planner-stat-grid strong[data-v-a3335587]{overflow-wrap:anywhere;color:var(--ink);font-size:18px;line-height:1.1}.chapter-card-body[data-v-a3335587]{width:100%;min-width:0}.chapter-card-head[data-v-a3335587]{display:flex!important;grid-template-columns:none!important;align-items:flex-start;justify-content:space-between;gap:10px!important}.chapter-status[data-v-a3335587]{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border-radius:999px;font-size:12px!important;font-weight:900;white-space:nowrap}.chapter-progress[data-v-a3335587]{display:grid!important;grid-template-columns:minmax(80px,1fr) auto;gap:10px!important;align-items:center;margin-top:8px}.chapter-progress b[data-v-a3335587]{color:var(--teal);font-size:13px;white-space:nowrap}.chapter-mini-stats[data-v-a3335587]{display:flex!important;flex-wrap:wrap;gap:8px!important;margin-top:8px}.chapter-mini-stats span[data-v-a3335587]{font-size:12px;font-weight:800}.status-mastered[data-v-a3335587]{color:#16734e!important;background:#e8f5ed!important}.status-review[data-v-a3335587]{color:#8a6417!important;background:#fff3c7!important}.status-weak[data-v-a3335587]{color:#9a2f2f!important;background:#fff0ef!important}.status-new[data-v-a3335587]{color:#55615d!important;background:#eef1ea!important}.progress-fill.status-mastered[data-v-a3335587]{background:#2f9c62}.progress-fill.status-review[data-v-a3335587]{background:#d59c2b}.progress-fill.status-weak[data-v-a3335587]{background:#c85852}.progress-fill.status-new[data-v-a3335587]{background:#a9b1a7}@media(max-width:1180px){.study-overview-card[data-v-a3335587]{grid-template-columns:1fr}}@media(max-width:900px){.study-metrics[data-v-a3335587],.smart-entry-grid[data-v-a3335587]{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-recommendation[data-v-a3335587]{align-items:stretch;flex-direction:column}.recommendation-button[data-v-a3335587]{width:100%}}@media(max-width:560px){.today-status[data-v-a3335587]{align-items:flex-start;flex-direction:column}.study-metrics[data-v-a3335587],.smart-entry-grid[data-v-a3335587],.planner-stat-grid[data-v-a3335587]{grid-template-columns:1fr}.chapter-card-head[data-v-a3335587]{align-items:flex-start;flex-direction:column}.chapter-progress[data-v-a3335587]{grid-template-columns:1fr}}.completion-notice[data-v-a3335587]{background:var(--panel);border:1px solid var(--rule);border-radius:12px;padding:2rem;margin-top:1.5rem;text-align:center}.completion-icon[data-v-a3335587]{font-size:3rem;margin-bottom:1rem}.completion-notice h3[data-v-a3335587]{font-size:1.25rem;margin:0 0 .5rem;color:var(--ink)}.completion-stats[data-v-a3335587]{color:var(--muted);font-size:.9rem;margin:0 0 1.5rem}.completion-suggestions[data-v-a3335587]{text-align:left;background:#2d7c6f0d;border-radius:8px;padding:1rem 1.5rem;margin-bottom:1.5rem}.completion-suggestions h4[data-v-a3335587]{font-size:.9rem;margin:0 0 .5rem;color:var(--teal)}.completion-suggestions ul[data-v-a3335587]{margin:0;padding-left:1.5rem}.completion-suggestions li[data-v-a3335587]{font-size:.85rem;color:var(--ink);margin-bottom:.25rem}.completion-actions[data-v-a3335587]{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.completion-actions button[data-v-a3335587]{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.primary-button[data-v-a3335587]{background:var(--teal);color:#fff;-webkit-text-fill-color:white;border:none}.primary-button span[data-v-a3335587],.primary-button svg[data-v-a3335587]{color:#fff;-webkit-text-fill-color:white}.primary-button[data-v-a3335587]:hover{background:#236b5f}.secondary-button[data-v-a3335587]{background:transparent;color:var(--teal);-webkit-text-fill-color:var(--teal);border:1px solid var(--teal)}.secondary-button span[data-v-a3335587],.secondary-button svg[data-v-a3335587]{color:var(--teal);-webkit-text-fill-color:var(--teal)}.secondary-button[data-v-a3335587]:hover{background:#2d7c6f1a}.ai-button[data-v-a3335587]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.ai-button[data-v-a3335587]:hover{opacity:.9}.source-description[data-v-a3335587]{font-size:.75rem;color:var(--muted);margin-top:.25rem;min-height:1rem}.ai-info-section[data-v-a3335587]{padding:.75rem}.ai-info-header[data-v-a3335587]{display:flex;align-items:center;gap:.75rem}.ai-info-hint[data-v-a3335587]{font-size:.75rem;color:var(--muted);margin:.5rem 0 0}.voting-overlay[data-v-a3335587]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.voting-panel[data-v-a3335587]{background:var(--panel);border-radius:12px;padding:1.5rem;max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.voting-header[data-v-a3335587]{margin-bottom:1rem}.voting-header h3[data-v-a3335587]{margin:0 0 .5rem;font-size:1.1rem}.voting-header p[data-v-a3335587]{margin:0;font-size:.85rem;color:var(--muted)}.voting-list[data-v-a3335587]{flex:1;overflow-y:auto;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.voting-item[data-v-a3335587]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#00000005;border-radius:8px;border:1px solid var(--rule)}.voting-index[data-v-a3335587]{font-weight:700;color:var(--teal);font-size:.9rem;min-width:1.5rem}.voting-stem[data-v-a3335587]{flex:1;font-size:.85rem;line-height:1.4}.voting-buttons[data-v-a3335587]{display:flex;gap:.5rem}.vote-btn[data-v-a3335587]{display:flex;align-items:center;gap:.25rem;padding:.4rem .6rem;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .2s;background:transparent;border:1px solid var(--rule)}.vote-btn[data-v-a3335587]:hover{background:#0000000d}.vote-btn.vote-like.active[data-v-a3335587]{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.vote-btn.vote-dislike.active[data-v-a3335587]{background:#fef2f2;border-color:#ef4444;color:#dc2626}.voting-actions[data-v-a3335587]{display:flex;gap:.75rem;justify-content:center}.voting-submit[data-v-a3335587]{padding:.6rem 1.5rem;background:var(--teal);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer}.voting-submit[data-v-a3335587]:hover{background:#236b5f}.voting-skip[data-v-a3335587]{padding:.6rem 1.5rem;background:transparent;color:var(--muted);border:1px solid var(--rule);border-radius:8px;cursor:pointer}.voting-skip[data-v-a3335587]:hover{background:#0000000d}.ai-loading-overlay[data-v-a3335587]{position:fixed;top:0;right:0;bottom:0;left:0;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-a3335587 .3s ease}@keyframes fadeIn-a3335587{0%{opacity:0}to{opacity:1}}.ai-loading-content[data-v-a3335587]{text-align:center;padding:2rem}.ai-loading-spinner[data-v-a3335587]{width:80px;height:80px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse-a3335587 2s ease-in-out infinite}@keyframes pulse-a3335587{0%,to{transform:scale(1);box-shadow:0 0 #667eea66}50%{transform:scale(1.05);box-shadow:0 0 0 20px #667eea00}}.sparkle-icon[data-v-a3335587]{color:#fff;animation:sparkle-a3335587 1.5s ease-in-out infinite}@keyframes sparkle-a3335587{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}.ai-loading-content h3[data-v-a3335587]{margin:0 0 .5rem;font-size:1.25rem;color:var(--ink)}.ai-loading-content p[data-v-a3335587]{margin:0 0 1.5rem;color:var(--muted);font-size:.9rem}.ai-loading-progress[data-v-a3335587]{width:200px;height:4px;background:var(--rule);border-radius:2px;margin:0 auto 1rem;overflow:hidden}.progress-bar[data-v-a3335587]{height:100%;background:linear-gradient(90deg,#667eea,#764ba2,#667eea);background-size:200% 100%;border-radius:2px;animation:shimmer-a3335587 2s linear infinite}@keyframes shimmer-a3335587{0%{background-position:-200% 0}to{background-position:200% 0}}.ai-loading-content small[data-v-a3335587]{color:var(--muted);font-size:.75rem}.generating-icon[data-v-a3335587]{animation:spin-a3335587 1s linear infinite}@keyframes spin-a3335587{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wrong-question-card[data-v-68b1b75f]{display:grid;gap:12px;transition:border-color .18s ease,box-shadow .18s ease}.wrong-question-card.expanded[data-v-68b1b75f]{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}.wrong-question-main[data-v-68b1b75f]{display:grid;gap:12px;width:100%;padding:0;border:0;color:inherit;text-align:left;background:transparent}.wrong-question-head[data-v-68b1b75f]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.wrong-meta[data-v-68b1b75f]{flex-wrap:wrap}.wrong-meta .wrong-count-chip[data-v-68b1b75f],.review-toggle[data-v-68b1b75f]{display:inline-flex;width:auto;height:auto;min-width:0;min-height:28px;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:900;line-height:1.2;white-space:nowrap}.wrong-meta .wrong-count-chip[data-v-68b1b75f]{color:#fff;background:var(--teal)}.review-toggle[data-v-68b1b75f]{flex:0 0 auto;color:var(--teal);background:#e9f4f1}.answer-summary[data-v-68b1b75f]{margin:0;color:#5f6966;font-weight:800;line-height:1.6}.wrong-review-panel[data-v-68b1b75f]{display:grid;gap:12px;padding:14px;border:1px solid var(--rule);border-radius:8px;background:#f7f9f3}.wrong-option-list[data-v-68b1b75f]{display:grid;gap:8px}.wrong-option-row[data-v-68b1b75f]{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid #dce2d7;border-radius:8px;background:#fffef9}.wrong-option-row.correct[data-v-68b1b75f]{border-color:#8fc6b7;background:#edf8f4}.wrong-option-row strong[data-v-68b1b75f]{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:var(--teal);font-size:13px}.wrong-option-row span[data-v-68b1b75f]{line-height:1.55}.wrong-explanation[data-v-68b1b75f]{display:grid;gap:6px}.wrong-explanation p[data-v-68b1b75f]{margin:0;color:#4b5652;line-height:1.65}.wrong-review-meta[data-v-68b1b75f]{display:flex;flex-wrap:wrap;gap:8px}.wrong-review-meta span[data-v-68b1b75f]{min-height:26px;padding:4px 9px;border:1px solid #d7e1d5;border-radius:999px;color:#4b5652;background:#fffef9;font-size:12px;font-weight:800}@media(max-width:720px){.wrong-question-head[data-v-68b1b75f]{flex-direction:column}.review-toggle[data-v-68b1b75f]{align-self:flex-start}}.mastery-legend[data-v-b3ddbf88]{display:flex;gap:1rem;margin-bottom:1rem;font-size:.75rem;color:var(--muted)}.legend-item[data-v-b3ddbf88]{display:flex;align-items:center;gap:.3rem}.legend-dot[data-v-b3ddbf88]{width:8px;height:8px;border-radius:50%}.mastery-excellent[data-v-b3ddbf88]{background:#22c55e}.mastery-good[data-v-b3ddbf88]{background:#3b82f6}.mastery-fair[data-v-b3ddbf88]{background:#f59e0b}.mastery-weak[data-v-b3ddbf88]{background:#ef4444}.mastery-row[data-v-b3ddbf88]{padding:.75rem 0;border-bottom:1px solid var(--rule)}.mastery-row[data-v-b3ddbf88]:last-child{border-bottom:none}.mastery-header[data-v-b3ddbf88]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.mastery-title[data-v-b3ddbf88]{font-weight:500;font-size:.9rem}.mastery-score[data-v-b3ddbf88]{font-weight:700;font-size:1rem;padding:.15rem .5rem;border-radius:4px}.mastery-score.mastery-excellent[data-v-b3ddbf88]{color:#16a34a;background:#f0fdf4}.mastery-score.mastery-good[data-v-b3ddbf88]{color:#2563eb;background:#eff6ff}.mastery-score.mastery-fair[data-v-b3ddbf88]{color:#d97706;background:#fffbeb}.mastery-score.mastery-weak[data-v-b3ddbf88]{color:#dc2626;background:#fef2f2}.mastery-bar[data-v-b3ddbf88]{margin-bottom:.5rem}.mastery-bar-track[data-v-b3ddbf88]{height:6px;background:var(--rule);border-radius:3px;overflow:hidden}.mastery-bar-fill[data-v-b3ddbf88]{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.25,.46,.45,.94)}.mastery-bar-fill.mastery-excellent[data-v-b3ddbf88]{background:#22c55e}.mastery-bar-fill.mastery-good[data-v-b3ddbf88]{background:#3b82f6}.mastery-bar-fill.mastery-fair[data-v-b3ddbf88]{background:#f59e0b}.mastery-bar-fill.mastery-weak[data-v-b3ddbf88]{background:#ef4444}.shimmer-fill[data-v-b3ddbf88]{position:relative}.shimmer-fill[data-v-b3ddbf88]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgb(255 255 255 / 35%) 50%,transparent 100%);animation:shimmer 2s ease-in-out infinite}.mastery-details[data-v-b3ddbf88]{display:flex;gap:1rem;font-size:.75rem}.detail-item[data-v-b3ddbf88]{display:flex;gap:.25rem}.detail-label[data-v-b3ddbf88]{color:var(--muted)}.detail-value[data-v-b3ddbf88]{font-weight:500}.stat-value-row[data-v-b3ddbf88]{display:flex;align-items:center;gap:14px}.stat-value-row strong[data-v-b3ddbf88]{font-size:34px;white-space:nowrap}.stat-ring-fill.mastery-excellent[data-v-b3ddbf88]{stroke:#22c55e}.stat-ring-fill.mastery-good[data-v-b3ddbf88]{stroke:#3b82f6}.stat-ring-fill.mastery-fair[data-v-b3ddbf88]{stroke:#f59e0b}.stat-ring-fill.mastery-weak[data-v-b3ddbf88]{stroke:#ef4444}.stat-ring-fill[data-v-b3ddbf88]{stroke:#2d7c6f}.progress-fill.mastery-excellent[data-v-b3ddbf88]{background:#22c55e}.progress-fill.mastery-good[data-v-b3ddbf88]{background:#3b82f6}.progress-fill.mastery-fair[data-v-b3ddbf88]{background:#f59e0b}.progress-fill.mastery-weak[data-v-b3ddbf88]{background:#ef4444}.auth-wrapper[data-v-8c805d64]{min-height:100vh}.egg-container[data-v-8c805d64]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;pointer-events:none}.btn-logout[data-v-8c805d64]{display:flex;align-items:center;gap:.5rem;justify-content:center;min-height:42px;padding:0 .8rem;border:1px solid rgb(255 255 255 / 12%);border-radius:8px;color:#f6f3eac2;background:#ffffff0d;cursor:pointer;font-size:.85rem;font-weight:800;transition:all .2s}.btn-logout[data-v-8c805d64]:hover{color:#f0c96a;border-color:#f0c96a6b;background:#f0c96a1a}.app-footer[data-v-8c805d64]{margin-top:auto;border-top:1px solid rgba(0,0,0,.06);background:#fafafa}.footer-disclaimer[data-v-8c805d64]{padding:12px 20px 8px}.footer-disclaimer p[data-v-8c805d64]{margin:0;font-size:11px;line-height:1.5;color:#9ca3af;text-align:center}.footer-contact[data-v-8c805d64]{padding:0 20px 12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;color:#6b7280}.footer-contact a[data-v-8c805d64]{color:#4f46e5;text-decoration:none;transition:color .2s}.footer-contact a[data-v-8c805d64]:hover{color:#7c3aed;text-decoration:underline}.footer-contact .divider[data-v-8c805d64]{color:#d1d5db}.brand-mark[data-v-8c805d64]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:box-shadow .3s ease,transform .2s ease}.brand-mark[data-v-8c805d64]:hover{box-shadow:0 10px 28px #f0c96a52;transform:scale(1.06)}.phase-clickable[data-v-8c805d64]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.phase-clickable[data-v-8c805d64]:hover{color:var(--teal)}:root{--ink: #24302f;--paper: #f6f3ea;--paper-line: rgb(45 124 111 / 8%);--panel: #fffdf8;--muted: #69706c;--rule: #d9dfd2;--teal: #2d7c6f;--gold: #f0c96a;--brick: #b74343;color:var(--ink);background:var(--paper);font-family:Avenir Next,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{--sidebar-width: 280px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:linear-gradient(var(--paper-line) 1px,transparent 1px),linear-gradient(90deg,var(--paper-line) 1px,transparent 1px),var(--paper);background-size:28px 28px;transition:grid-template-columns .24s ease}.app-shell.sidebar-collapsed{--sidebar-width: 86px}.sidebar{position:sticky;top:0;min-height:100vh;max-height:100vh;display:flex;flex-direction:column;gap:18px;overflow:hidden;padding:18px 16px;color:#f7f2ea;background:linear-gradient(180deg,rgb(240 201 106 / 10%),transparent 160px),linear-gradient(135deg,rgb(255 255 255 / 4%) 0 1px,transparent 1px 12px),#1f2927;background-size:auto,14px 14px;box-shadow:inset -1px 0 #ffffff14;transition:padding .24s ease}.brand{display:flex;justify-content:space-between;gap:12px;align-items:center}.brand-main{display:flex;min-width:0;gap:12px;align-items:center}.brand-mark{display:grid;flex:0 0 auto;width:44px;height:44px;place-items:center;border-radius:8px;color:#24302f;background:#f0c96a;font-weight:800;box-shadow:0 10px 24px #f0c96a2e}.brand-copy{min-width:0}.brand-copy h1{margin:0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:17px;line-height:1.25}.brand-copy p,.eyebrow,.muted{margin:0;color:#69706c}.brand-copy p{color:#c9d2c9;font-size:13px}.sidebar-toggle{display:inline-grid;flex:0 0 auto;width:38px;height:38px;place-items:center;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;color:#f6f3eac2;background:#ffffff0d}.sidebar-toggle:hover{color:var(--gold);border-color:#f0c96a61;background:#f0c96a1a}.sidebar-status{display:grid;gap:10px;padding:14px;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;background:#ffffff0a}.sidebar-status span{display:block;color:#f0c96ac7;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sidebar-status h1{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:18px;line-height:1.25}.sidebar-status b{overflow:hidden;color:#f6f3eabd;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.nav-list{display:grid;gap:6px}.nav-list button,.chapter-row,.icon-button,.primary-button,.secondary-button,.submit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px}.nav-list button{justify-content:flex-start;width:100%;min-height:46px;padding:0 14px;color:#dfe6ddcc;background:transparent;font-weight:850;transition:background .18s ease,color .18s ease,transform .18s ease}.nav-list button.active,.nav-list button:hover{color:#24302f;background:#f0c96a}.nav-list button:hover{transform:translate(2px)}.sidebar-panel{display:grid;gap:14px;margin-top:auto;padding:14px;border:1px solid rgb(255 255 255 / 10%);border-radius:8px;background:#ffffff0a}.mini-stat{display:flex;align-items:center;justify-content:space-between;font-size:14px}.mini-stat strong{font-size:22px}.app-shell.sidebar-collapsed .sidebar{align-items:center;padding-inline:12px}.app-shell.sidebar-collapsed .brand{display:grid;justify-items:center}.app-shell.sidebar-collapsed .brand-main{justify-content:center}.app-shell.sidebar-collapsed .brand-copy,.app-shell.sidebar-collapsed .sidebar-status,.app-shell.sidebar-collapsed .nav-list span,.app-shell.sidebar-collapsed .sidebar-panel,.app-shell.sidebar-collapsed .btn-logout span{display:none}.app-shell.sidebar-collapsed .sidebar-toggle{width:44px}.app-shell.sidebar-collapsed .nav-list{width:100%}.app-shell.sidebar-collapsed .nav-list button{justify-content:center;padding:0}.app-shell.sidebar-collapsed .nav-list button:hover{transform:translateY(-1px)}.app-shell.sidebar-collapsed .btn-logout{width:44px;padding:0}.workspace{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h2{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:28px;line-height:1.2}.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase}.icon-button{width:42px;height:42px;color:var(--ink);background:#e4eadd}.practice-layout{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:20px;align-items:start}.practice-page{min-width:0}.practice-setup{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:18px;align-items:start}.practice-setup-main,.practice-setup-side,.practice-runner{min-width:0}.practice-setup-main{padding:18px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8d6}.chapter-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.practice-setup-side{display:grid;gap:14px}.setup-card{padding:16px}.setup-controls{grid-template-columns:1fr;margin-bottom:0}.practice-runner{display:grid;max-width:980px;gap:14px;margin:0 auto}.runner-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.runner-head h3,.history-head h3{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:22px}.runner-head span{display:inline-block;margin-top:5px;color:var(--muted);font-weight:700}.runner-actions{display:flex;gap:10px;align-items:center}.history-card{display:grid;gap:12px}.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.icon-button.small{width:36px;height:36px}.history-list{display:grid;gap:8px;max-height:320px;overflow:auto;padding-right:4px}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;width:100%;padding:12px;border:1px solid var(--rule);border-radius:8px;color:var(--ink);text-align:left;background:#fffef9;cursor:pointer}.history-row strong{display:block;overflow:hidden;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.history-row span{display:inline-block;margin-top:4px;color:var(--muted);font-size:13px}.history-row b{color:var(--teal);white-space:nowrap}.history-delete{display:inline-grid;width:30px;height:30px;place-items:center;border:1px solid #ead1cf;border-radius:8px;color:#a3413e;background:#fff7f5}.history-delete:hover{border-color:#c85852;color:#fff;background:#c85852}.compact-ai .ai-generate-section,.compact-ai{margin-bottom:0}.chapter-list,.practice-panel,.data-grid,.stats-grid,.admin-layout,.knowledge-layout{min-width:0}.chapter-list{display:grid;gap:10px}.chapter-row{justify-content:space-between;width:100%;min-height:72px;padding:14px;color:#24302f;text-align:left;background:var(--panel);border:1px solid var(--rule);box-shadow:0 8px 22px #24302f0d}.chapter-row div{display:grid;gap:5px}.chapter-row strong{line-height:1.25}.chapter-row span{color:#69706c;font-size:13px}.chapter-row.selected{border-color:#2d7c6f;box-shadow:inset 4px 0 #2d7c6f}.final-row{background:#fff8e7;border-color:#efd28a}.practice-panel,.question-card,.stat-card,.notice{border:1px solid #dce2d7;border-radius:8px;background:var(--panel)}.practice-panel{padding:16px}.controls{display:grid;grid-template-columns:110px 170px minmax(190px,240px) auto;gap:12px;align-items:end;margin-bottom:18px}.controls.setup-controls{grid-template-columns:1fr;margin-bottom:0}.setup-controls .primary-button{width:100%}.controls label,.source-toggle{display:grid;gap:6px;color:#69706c;font-size:13px;font-weight:700}.controls input,.controls select,.text-answer,.long-answer,.admin-filters input,.admin-filters select,.ai-draft-grid input,.ai-draft-grid select,.ai-draft-panel input,.editor-grid select,.editor-textarea{width:100%;min-height:42px;border:1px solid #cdd6ca;border-radius:8px;padding:9px 10px;color:#24302f;background:#fffef9}.primary-button,.submit-button{min-height:42px;padding:0 16px;color:#fff;-webkit-text-fill-color:#ffffff;background:var(--teal);font-weight:800}.primary-button span,.primary-button svg,.submit-button span,.submit-button svg{color:#fff;-webkit-text-fill-color:#ffffff;stroke:currentColor}.primary-button:disabled,.submit-button:disabled,.secondary-button:disabled,.icon-button:disabled{cursor:not-allowed;opacity:1}.primary-button:disabled,.submit-button:disabled{color:#f7fbf8;-webkit-text-fill-color:#f7fbf8;background:#6f948c}.primary-button:disabled span,.primary-button:disabled svg,.submit-button:disabled span,.submit-button:disabled svg{color:#f7fbf8;-webkit-text-fill-color:#f7fbf8}.secondary-button{min-height:36px;padding:0 12px;color:#2c3937;-webkit-text-fill-color:#2c3937;background:#e4eadd;font-weight:800}.secondary-button span,.secondary-button svg{color:#2c3937;-webkit-text-fill-color:#2c3937;stroke:currentColor}.secondary-button:disabled{color:#596563;-webkit-text-fill-color:#596563;background:#dfe5d9}.secondary-button:disabled span,.secondary-button:disabled svg{color:#596563;-webkit-text-fill-color:#596563}.question-stack,.data-grid,.stats-grid{display:grid;gap:14px}.session-head{display:flex;align-items:center;justify-content:space-between;color:#69706c}.review-strip{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;gap:8px;padding:10px;border:1px solid var(--rule);border-radius:8px;background:#fffdf8f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.review-dot{width:34px;height:34px;border:1px solid #cdd6ca;border-radius:999px;color:var(--ink);background:#fffef9;font-weight:900}.review-dot.answered{border-color:var(--teal);box-shadow:inset 0 0 0 2px #2d7c6f2e}.review-dot.missing,.question-card.missing{border-color:#e39a58;box-shadow:inset 4px 0 #e39a58}.review-dot.correct{color:#fff;background:var(--teal)}.review-dot.wrong{color:#fff;background:var(--brick);border-color:var(--brick)}.question-card{padding:16px;scroll-margin-top:84px}.question-meta{display:flex;align-items:center;gap:8px}.question-meta span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;color:#fff;background:#2d7c6f;font-weight:800}.question-meta small{color:#69706c;font-weight:700}.source-chip{display:inline-flex;min-height:24px;align-items:center;justify-content:center;border:1px solid #cdd6ca;border-radius:999px;padding:2px 9px;color:#4d5754;background:#f5f3e9;font-size:12px;font-weight:900;line-height:1.2;white-space:nowrap}.source-homework{border-color:#c9a66a;color:#74521a;background:#fff1c9}.source-ai{border-color:#9ab8b0;color:#1f6559;background:#dff3ef}.source-sample{border-color:#b8c28d;color:#596327;background:#eef4d2}.source-manual{border-color:#cdd6ca;color:#5f6966;background:#f3f5ef}.stem{margin:14px 0;line-height:1.65}.options{display:grid;gap:8px}.blank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.option-line{display:flex;gap:10px;align-items:flex-start;padding:10px;border-radius:8px;background:#f7f9f3}.segmented{display:inline-grid;grid-template-columns:80px 80px;gap:4px;padding:4px;border-radius:8px;background:#e4eadd}.segmented button{height:36px;border:0;border-radius:6px;color:#24302f;background:transparent}.segmented button.selected{color:#fff;background:#2d7c6f}.segmented.compact{width:100%;grid-template-columns:1fr 1fr}.segmented.compact button{min-width:0;padding:0 8px;font-size:13px;font-weight:800}.long-answer{min-height:100px;resize:vertical}.reading-group{display:grid;gap:14px}.reading-material{padding:14px;border:1px solid #d4ddd4;border-radius:8px;color:#3c4643;background:#fffaf0;line-height:1.7;white-space:pre-line}.sub-question-card{display:grid;gap:10px;padding:14px;border:1px solid var(--rule);border-radius:8px;background:#fffef9}.sub-question-card.missing{border-color:#e39a58;box-shadow:inset 4px 0 #e39a58}.compact-meta span{width:auto;min-width:34px;padding:0 8px;border-radius:999px}.answer-feedback{display:grid;gap:6px;margin-top:14px;padding:12px;border-radius:8px;background:#f5f7f2}.answer-feedback p{margin:0;color:#4b5652}.ok{color:#20765f}.bad{color:#b74343}.submit-button{width:100%}.empty-state{display:grid;min-height:220px;place-items:center;align-content:center;gap:12px;color:#69706c}.empty-state p{margin:0}.notice{padding:12px 14px;margin-bottom:14px}.notice.error{color:#8d2d2d;border-color:#efb1b1;background:#fff3f1}.wrong-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--rule);border-radius:8px;background:var(--panel)}.wrong-toolbar div{display:grid;gap:4px}.wrong-toolbar>div span{color:var(--muted)}.wrong-toolbar .primary-button span{color:#fff}.stats-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.admin-layout{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);gap:20px;align-items:start}.knowledge-layout{display:grid;grid-template-columns:minmax(320px,460px) minmax(0,1fr);gap:20px;align-items:start}.admin-list-panel,.admin-editor-panel,.knowledge-panel{min-width:0;padding:16px;border:1px solid var(--rule);border-radius:8px;background:var(--panel)}.ai-draft-panel{display:grid;gap:12px;margin-bottom:16px;padding:14px;border:1px solid #c9d7d3;border-radius:8px;background:linear-gradient(135deg,#fffdf8,#eef8f5)}.ai-draft-panel h3{margin:2px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:20px}.ai-draft-panel label,.ai-draft-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.ai-draft-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-filters label,.editor-form label,.editor-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:800}.admin-filters .primary-button{grid-column:1 / -1}.admin-total{margin:14px 0 10px;color:var(--muted);font-size:13px;font-weight:800}.admin-question-list{display:grid;gap:8px;max-height:calc(100vh - 280px);overflow:auto;padding-right:4px}.admin-question-row{display:grid;gap:6px;width:100%;padding:12px;border:1px solid var(--rule);border-radius:8px;color:var(--ink);text-align:left;background:#fffef9}.admin-question-row.selected{border-color:var(--teal);box-shadow:inset 4px 0 0 var(--teal)}.row-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-question-row span{color:var(--teal);font-size:12px;font-weight:900}.admin-question-row strong{display:-webkit-box;overflow:hidden;font-size:14px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.admin-question-row small{color:var(--muted)}.editor-form{display:grid;gap:14px}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.editor-head h3{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:22px}.editor-switches{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.toggle-line{display:inline-flex!important;grid-template-columns:auto auto;align-items:center;color:var(--ink)!important}.source-note{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--rule);border-radius:8px;color:var(--muted);background:#f7f9f3;font-size:13px;font-weight:700}.editor-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}.editor-textarea{min-height:92px;resize:vertical;line-height:1.55}.editor-textarea.tall{min-height:160px}.editor-textarea.compact{min-height:70px}.editor-actions{display:flex;align-items:center;gap:12px}.save-message{color:var(--teal);font-weight:800}.knowledge-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:8px;align-items:baseline;margin:14px 0;color:var(--muted)}.knowledge-summary strong{color:var(--teal);font-size:24px}.courseware-card{display:grid;gap:12px;margin:14px 0;padding:14px;border:1px solid #cfded9;border-radius:8px;background:linear-gradient(135deg,rgb(45 124 111 / 8%),transparent 58%),#fffef9}.courseware-card h3{margin:4px 0 2px;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:20px}.courseware-card span{color:var(--muted);font-size:13px;font-weight:800}.courseware-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.courseware-actions button{width:100%}.courseware-error{margin:0;color:var(--brick);font-size:13px;font-weight:800}.pdf-reader{display:grid;gap:12px;margin-bottom:16px;padding:14px;border:1px solid var(--rule);border-radius:8px;background:#fffef9}.pdf-reader-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pdf-reader-head h3{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:22px}.pdf-reader iframe{width:100%;height:min(72vh,760px);min-height:520px;border:1px solid var(--rule);border-radius:8px;background:#f7f9f3}.knowledge-point-list{display:grid;gap:10px;max-height:calc(100vh - 300px);overflow:auto;padding-right:4px}.knowledge-point,.knowledge-chunk{display:grid;gap:8px;padding:14px;border:1px solid var(--rule);border-radius:8px;background:#fffef9}.knowledge-point p,.knowledge-chunk p{margin:0;color:#4b5652;line-height:1.65;white-space:pre-line}.section-title{margin-bottom:14px}.section-title h3{margin:4px 0 0;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:22px}.chunk-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:12px}.chunk-meta span{color:var(--teal);font-weight:900}.stat-card{display:grid;gap:8px;padding:18px}.stat-card span{color:#69706c}.stat-card strong{font-size:34px}.recommendation-panel,.type-stats-panel{display:grid;gap:14px;padding:16px;border:1px solid #dce2d7;border-radius:8px;background:var(--panel)}.recommendation-panel{grid-column:span 2}.type-stats-panel{grid-column:span 1}.chapter-stats{display:grid;grid-column:1 / -1;gap:12px;padding:16px;border:1px solid #dce2d7;border-radius:8px;background:#fff}.recommendation-list,.type-stat-list{display:grid;gap:10px}.recommendation-item{display:flex;min-height:74px;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid var(--rule);border-radius:8px;background:#fffef9}.recommendation-item strong{display:block;line-height:1.35}.recommendation-item p{margin:5px 0 0;color:var(--muted);line-height:1.45}.recommendation-item>span{display:grid;min-width:54px;height:42px;place-items:center;border-radius:8px;color:#fff;background:var(--teal);font-weight:900}.type-stat-row{display:grid;grid-template-columns:72px minmax(90px,1fr) 48px 42px;gap:10px;align-items:center}.type-stat-row span,.type-stat-row strong{font-weight:900}.type-stat-row small{color:var(--muted);text-align:right}.compact-empty{display:grid;min-height:98px;place-items:center;border:1px dashed #cdd6ca;border-radius:8px;color:var(--muted);text-align:center}.progress-row{display:grid;grid-template-columns:180px minmax(120px,1fr) 56px;gap:12px;align-items:center}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e4eadd}.progress-fill{height:100%;border-radius:inherit;background:#2d7c6f}.feedback-bar{display:flex;align-items:center;gap:8px;padding:10px 0 4px;border-top:1px solid #e5e7eb;margin-top:10px}.feedback-prompt{font-size:13px;color:#6b7280}.feedback-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#6b7280;font-size:13px;cursor:pointer;transition:all .15s}.feedback-btn:hover{border-color:#2d7c6f;color:#2d7c6f}.feedback-btn.active{background:#ecfdf5;border-color:#2d7c6f;color:#2d7c6f;font-weight:600}.flag-btn.active{background:#fef3c7;border-color:#d97706;color:#d97706}.flag-panel{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0 4px}.flag-reason-btn{padding:4px 10px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;font-size:12px;cursor:pointer;transition:all .15s}.flag-reason-btn:hover{border-color:#d97706;color:#d97706;background:#fffbeb}.ai-question-notice{padding:8px 12px;margin-bottom:10px;border-radius:6px;background:#eff6ff;border:1px solid #bfdbfe;font-size:13px;color:#1e40af}.ai-generate-section{margin-bottom:16px}.ai-generate-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:1px solid #d4ddd4;border-radius:10px;background:linear-gradient(135deg,#fffef9,#f5f8f2);color:var(--ink);font-size:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #24302f0a}.ai-generate-toggle:hover{border-color:var(--teal);box-shadow:0 2px 8px #2d7c6f1a}.ai-toggle-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:linear-gradient(135deg,#2d7c6f,#3a9d8c);color:#fff;flex-shrink:0}.ai-toggle-text{display:flex;flex-direction:column;gap:2px;text-align:left;flex:1;min-width:0}.ai-toggle-text span{font-weight:700;font-size:14px;color:var(--ink)}.ai-toggle-text small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-toggle-arrow{flex-shrink:0;color:var(--muted);transition:transform .25s ease}.ai-toggle-arrow.rotated{transform:rotate(90deg)}.ai-generate-panel{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid #d4ddd4;border-top:none;border-radius:0 0 10px 10px;background:#fffef9}.ai-panel-context{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;background:#f0f5ef;border:1px solid #dde5da}.ai-context-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex-shrink:0}.ai-panel-context strong{font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-form-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:end}.ai-form-field{display:flex;flex-direction:column;gap:6px}.ai-form-field label{font-size:12px;font-weight:800;color:var(--muted);display:flex;align-items:center;gap:6px}.ai-optional{font-size:10px;font-weight:600;color:#b0b8ac;padding:1px 5px;border-radius:4px;background:#f0f3ed}.ai-form-compact{min-width:90px}.ai-form-compact select{min-height:38px;border:1px solid #cdd6ca;border-radius:8px;padding:6px 10px;background:#fff;color:var(--ink);font-size:13px}.ai-type-chips{display:flex;flex-wrap:wrap;gap:5px}.ai-type-chips button{padding:6px 12px;border:1px solid #d4ddd4;border-radius:20px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;transition:all .15s ease}.ai-type-chips button:hover{border-color:var(--teal);color:var(--teal)}.ai-type-chips button.active{border-color:var(--teal);background:#e8f5f2;color:var(--teal);font-weight:800}.ai-count-stepper{display:inline-flex;align-items:center;border:1px solid #cdd6ca;border-radius:8px;overflow:hidden;background:#fff}.ai-count-stepper button{width:34px;height:38px;border:0;background:transparent;color:var(--ink);font-size:16px;font-weight:600;transition:background .15s}.ai-count-stepper button:hover{background:#f0f3ed}.ai-count-stepper span{width:32px;text-align:center;font-size:14px;font-weight:800;color:var(--ink);border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;line-height:38px}.ai-focus-input{width:100%;min-height:38px;border:1px solid #cdd6ca;border-radius:8px;padding:8px 12px;background:#fff;color:var(--ink);font-size:13px}.ai-focus-input::placeholder{color:#b0b8ac}.ai-actions{display:flex;align-items:center;gap:14px}.ai-generate-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border:0;border-radius:8px;background:linear-gradient(135deg,#2d7c6f,#245f56);color:#fff;font-size:13px;font-weight:800;transition:all .2s ease;box-shadow:0 2px 6px #2d7c6f40}.ai-generate-btn:hover:not(:disabled){box-shadow:0 4px 12px #2d7c6f59;transform:translateY(-1px)}.ai-generate-btn:disabled{opacity:.6;cursor:not-allowed}.ai-remaining{font-size:12px;color:var(--muted);font-weight:600}.ai-message{margin:0;padding:8px 12px;border-radius:6px;font-size:13px;font-weight:600;color:#1f6559;background:#e8f5f2;border:1px solid #b8ddd4}.ai-message.error{color:#8d2d2d;background:#fff3f1;border-color:#efb1b1}.ai-disabled-notice{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;margin-bottom:16px;border-radius:8px;background:#f7f9f3;border:1px solid #e5e7eb;font-size:13px;color:#9ca3af}.egg-toast{position:fixed;top:18px;left:50%;z-index:9999;transform:translate(-50%) translateY(-120px);padding:10px 24px;border-radius:999px;color:#24302f;background:linear-gradient(135deg,#f0c96a,#f5d98a);font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;font-size:16px;font-weight:800;box-shadow:0 8px 32px #f0c96a59;pointer-events:none;opacity:0;transition:transform .45s cubic-bezier(.16,1,.3,1),opacity .25s ease}.egg-toast.show{transform:translate(-50%) translateY(0);opacity:1}.egg-toast-emoji{display:inline-block;margin-right:6px;animation:egg-pop .45s cubic-bezier(.34,1.56,.64,1) both}.egg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none}.brand-mark.egg-spin{animation:egg-logo-spin .45s cubic-bezier(.34,1.56,.64,1)}.footer-fact{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 20px 12px;font-size:12px;color:#9ca3af;font-style:italic;font-family:Songti SC,STSong,"Noto Serif CJK SC",serif;transition:opacity .4s ease}.footer-fact-swap{animation:fact-fade .8s ease forwards}@keyframes egg-pop{0%{transform:scale(0)}60%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes egg-logo-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.12)}to{transform:rotate(360deg) scale(1)}}@keyframes fact-fade{0%{opacity:0;transform:translateY(4px)}40%{opacity:0}60%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}30%{transform:translate(6px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}@keyframes pop-in{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes stagger-reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 2px 8px #2d7c6f0f}50%{box-shadow:0 2px 18px #2d7c6f24}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes ring-fill{0%{stroke-dashoffset:var(--ring-circumference)}to{stroke-dashoffset:var(--ring-offset)}}.shake{animation:shake .45s ease}.pop-in{animation:pop-in .35s cubic-bezier(.34,1.56,.64,1) both}.stagger-reveal{opacity:0;animation:stagger-reveal .4s ease forwards}.glow-hover{transition:box-shadow .3s ease,transform .2s ease,border-color .2s ease}.glow-hover:hover{box-shadow:0 4px 20px #2d7c6f1f;border-color:var(--teal)}.stat-ring-wrap{display:inline-grid;width:64px;height:64px;place-items:center;position:relative}.stat-ring-wrap svg{transform:rotate(-90deg);width:64px;height:64px}.stat-ring-bg{fill:none;stroke:#e4eadd;stroke-width:5}.stat-ring-fill{fill:none;stroke-width:5;stroke-linecap:round;--ring-circumference: 182.212;--ring-offset: 182.212;stroke-dasharray:var(--ring-circumference);stroke-dashoffset:var(--ring-offset);transition:stroke-dashoffset .8s cubic-bezier(.25,.46,.45,.94)}.stat-ring-label{position:absolute;font-size:15px;font-weight:900;color:var(--ink)}.skeleton{background:linear-gradient(90deg,#e8ece6,#f0f4ee 40%,#e8ece6 70%);background-size:200% 100%;border-radius:8px;animation:shimmer 1.8s ease-in-out infinite}.skeleton-card{height:96px}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text.short{width:60%}.card-reveal{opacity:0;animation:card-rise .35s ease forwards}@keyframes card-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:920px){.app-shell,.practice-layout,.practice-setup{grid-template-columns:1fr}.sidebar{position:static}.controls,.stats-grid,.admin-layout,.knowledge-layout,.admin-filters,.ai-draft-grid,.editor-grid,.progress-row{grid-template-columns:1fr}.recommendation-panel,.type-stats-panel{grid-column:1}.type-stat-row{grid-template-columns:64px minmax(80px,1fr) 46px 38px}.runner-head{grid-template-columns:1fr}.history-row{grid-template-columns:minmax(0,1fr) auto auto auto}.runner-head{position:static;flex-direction:column;align-items:flex-start}.runner-actions,.runner-actions .secondary-button{width:100%}}
