.fb-mask[data-v-618b6c48]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f121680}.fb-card[data-v-618b6c48]{position:relative;width:min(520px,100%);max-height:min(86vh,660px);overflow-y:auto;padding:26px 26px 24px;border-radius:18px;background:#fff;border:1px solid #eee8d8;box-shadow:0 24px 60px #0b2b4a2e;color:#0b2b4a}.fb-close[data-v-618b6c48]{position:absolute;top:14px;right:14px;width:30px;height:30px;border:0;border-radius:50%;background:#f4f1e8;color:#6f736b;font-size:18px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.fb-close[data-v-618b6c48]:hover{background:#ece8da;color:#0b2b4a}.fb-form[data-v-618b6c48]{display:flex;flex-direction:column;gap:14px}.fb-title[data-v-618b6c48]{margin:0;font-size:20px;font-weight:800;color:#0b2b4a}.fb-sub[data-v-618b6c48]{margin:-6px 0 0;font-size:13px;color:#6f736b}.fb-cats[data-v-618b6c48]{display:flex;flex-wrap:wrap;gap:8px}.fb-cat[data-v-618b6c48]{padding:7px 14px;border-radius:999px;border:1px solid #e6e1d1;background:#faf8f1;color:#6f736b;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.fb-cat[data-v-618b6c48]:hover{border-color:#ffc91a;color:#0b2b4a}.fb-cat--on[data-v-618b6c48],.fb-cat--on[data-v-618b6c48]:hover{background:#ffc91a;border-color:#ffc91a;color:#0b2b4a}.fb-field[data-v-618b6c48]{position:relative}.fb-textarea[data-v-618b6c48]{display:block;width:100%;min-height:128px;resize:vertical;padding:12px 14px 28px;border-radius:12px;border:1px solid #e6e1d1;background:#faf8f1;font:inherit;font-size:14px;line-height:1.6;color:#0b2b4a}.fb-textarea[data-v-618b6c48]::placeholder{color:#a9ab9f}.fb-textarea[data-v-618b6c48]:focus{outline:none;border-color:#ffc91a;background:#fff;box-shadow:0 0 0 3px #ffc91a40}.fb-count[data-v-618b6c48]{position:absolute;right:12px;bottom:10px;font-size:11px;color:#6f736b;pointer-events:none}.fb-contact[data-v-618b6c48]{width:100%;padding:10px 14px;border-radius:12px;border:1px solid #e6e1d1;background:#faf8f1;font:inherit;font-size:13px;color:#0b2b4a}.fb-contact[data-v-618b6c48]::placeholder{color:#a9ab9f}.fb-contact[data-v-618b6c48]:focus{outline:none;border-color:#ffc91a;background:#fff;box-shadow:0 0 0 3px #ffc91a40}.fb-error[data-v-618b6c48]{margin:0;font-size:13px;color:#c0392b}.fb-submit[data-v-618b6c48]{align-self:center;min-width:180px;padding:12px 26px;border:0;border-radius:999px;background:#ffc91a;color:#0b2b4a;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #ffc91a59;transition:transform .12s ease,box-shadow .15s ease,opacity .15s ease}.fb-submit[data-v-618b6c48]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 20px #ffc91a73}.fb-submit[data-v-618b6c48]:disabled{opacity:.6;cursor:default;box-shadow:none}.fb-done[data-v-618b6c48]{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 0 10px;text-align:center}.fb-done-emoji[data-v-618b6c48]{font-size:44px;line-height:1}.fb-done-text[data-v-618b6c48]{margin:0;font-size:16px;font-weight:700;color:#0b2b4a}.fb-fade-enter-active[data-v-618b6c48],.fb-fade-leave-active[data-v-618b6c48]{transition:opacity .18s ease}.fb-fade-enter-active .fb-card[data-v-618b6c48],.fb-fade-leave-active .fb-card[data-v-618b6c48]{transition:transform .18s ease}.fb-fade-enter-from[data-v-618b6c48],.fb-fade-leave-to[data-v-618b6c48]{opacity:0}.fb-fade-enter-from .fb-card[data-v-618b6c48],.fb-fade-leave-to .fb-card[data-v-618b6c48]{transform:translateY(12px) scale(.98)}:root[data-theme=dark]{background:#1d2025;border-color:#30343d;color:#e9e7e2;box-shadow:0 24px 60px #00000080}:root[data-theme=dark]{background:#262a31;color:#9b9f97}:root[data-theme=dark]{background:#30343d;color:#e9e7e2}:root[data-theme=dark]{background:#23262c;border-color:#30343d;color:#9b9f97}:root[data-theme=dark]{background:#1d2025;border-color:#ffc91a;box-shadow:0 0 0 3px #ffc91a2e}:root[data-theme=dark]{color:#9b9f97}.mascot[data-v-7a5b85cd]{position:relative;display:grid;place-items:start center;width:108px;height:118px;isolation:isolate}.mascot__image[data-v-7a5b85cd]{position:relative;z-index:1;display:block;width:108px;height:108px;border:1px solid rgba(11,43,74,.16);border-radius:26px;object-fit:cover;filter:drop-shadow(0 10px 16px rgba(11,43,74,.14));animation:mascotFloat-7a5b85cd 1.4s ease-in-out infinite}.mascot__shadow[data-v-7a5b85cd]{position:absolute;left:24px;bottom:2px;width:60px;height:10px;border-radius:50%;background:#0b2b4a29;filter:blur(1px);animation:mascotShadow-7a5b85cd 1.4s ease-in-out infinite}@keyframes mascotFloat-7a5b85cd{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}@keyframes mascotShadow-7a5b85cd{0%,to{transform:scale(1);opacity:.18}50%{transform:scale(.72);opacity:.08}}@media (prefers-reduced-motion: reduce){.mascot__image[data-v-7a5b85cd],.mascot__shadow[data-v-7a5b85cd]{animation:none}}.flow-card[data-v-f49226af]{position:relative;width:min(680px,100%);min-height:520px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 22px 60px #0b2b4a1a;overflow:hidden}.flow-card__tools[data-v-f49226af]{position:absolute;top:18px;right:18px;z-index:2;display:flex;gap:8px}.icon-button[data-v-f49226af]{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--brand-ink);cursor:pointer}.icon-button svg[data-v-f49226af]{width:19px;height:19px}.icon-button[data-v-f49226af]:hover,.icon-button[data-v-f49226af]:focus-visible,.icon-button--active[data-v-f49226af]{border-color:var(--brand);background:var(--brand-soft)}.flow-steps[data-v-f49226af]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(360px,calc(100% - 108px));margin:0;padding:0;list-style:none}.flow-steps li[data-v-f49226af]{display:flex;align-items:center;gap:6px;min-width:0;padding-bottom:9px;border-bottom:3px solid var(--line);color:var(--muted);font-size:13px;font-weight:700}.flow-steps li span[data-v-f49226af]{display:grid;place-items:center;width:21px;height:21px;border:1px solid currentColor;border-radius:50%;font-size:11px}.flow-steps .flow-step--active[data-v-f49226af]{border-color:var(--brand);color:var(--brand-ink)}.flow-steps .flow-step--done[data-v-f49226af]{border-color:var(--success);color:var(--success-ink)}.flow-stage-position[data-v-f49226af]{margin:12px 0 0;color:var(--muted);font-size:13px;font-weight:700}.flow-stage-position span[data-v-f49226af]{color:var(--brand-ink)}.flow-panel[data-v-f49226af]{display:flex;min-height:430px;flex-direction:column;align-items:center;justify-content:center;padding:62px 28px 8px;text-align:center}.flow-eyebrow[data-v-f49226af]{margin:0 0 24px;color:var(--muted);font-size:15px;font-weight:650}.flow-word[data-v-f49226af]{max-width:100%;font-size:clamp(44px,8vw,72px);line-height:1.05;overflow-wrap:anywhere}.flow-word--compact[data-v-f49226af]{font-size:clamp(38px,6vw,58px)}.flow-word--feedback[data-v-f49226af]{font-size:clamp(36px,6vw,54px)}.flow-phonetic[data-v-f49226af]{margin-top:14px;color:var(--success-ink);font-size:18px}.flow-pos[data-v-f49226af]{margin-bottom:10px;color:var(--muted);font-size:14px;text-transform:uppercase}.flow-meaning[data-v-f49226af]{max-width:520px;font-size:clamp(24px,5vw,36px);line-height:1.35}.flow-actions[data-v-f49226af]{display:flex;justify-content:center;width:min(460px,100%);margin-top:56px}.flow-actions--split[data-v-f49226af]{gap:12px}.flow-button[data-v-f49226af]{min-height:52px;flex:1 1 0;padding:13px 20px;border:1px solid var(--line-strong);border-radius:8px;font:inherit;font-weight:750;cursor:pointer}.flow-button[data-v-f49226af]:disabled{cursor:not-allowed;opacity:.45}.flow-button--primary[data-v-f49226af]{border-color:var(--brand);background:var(--brand);color:var(--accent-on)}.flow-button--primary[data-v-f49226af]:hover:not(:disabled){background:#f2b800}.flow-button--quiet[data-v-f49226af]{background:var(--surface);color:var(--text)}.flow-button--quiet[data-v-f49226af]:hover{border-color:var(--brand-ink);background:var(--surface-soft)}.flow-options[data-v-f49226af]{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:min(560px,100%);margin-top:34px}@keyframes flowOptIn-f49226af{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.flow-options .flow-option[data-v-f49226af]{animation:flowOptIn-f49226af .28s cubic-bezier(.22,1,.36,1) both}.flow-options .flow-option[data-v-f49226af]:nth-child(1){animation-delay:.03s}.flow-options .flow-option[data-v-f49226af]:nth-child(2){animation-delay:.09s}.flow-options .flow-option[data-v-f49226af]:nth-child(3){animation-delay:.15s}.flow-options .flow-option[data-v-f49226af]:nth-child(4){animation-delay:.21s}.flow-option[data-v-f49226af]:active{transform:scale(.97)}.flow-option[data-v-f49226af]{display:flex;align-items:center;gap:12px;min-height:66px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.flow-option[data-v-f49226af]:hover,.flow-option[data-v-f49226af]:focus-visible{border-color:var(--brand);background:var(--brand-soft)}.flow-option>span[data-v-f49226af]{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid var(--line-strong);border-radius:50%;color:var(--muted);font-size:12px}.flow-option strong[data-v-f49226af]{font-size:15px;line-height:1.45}.flow-input-wrap[data-v-f49226af]{width:min(460px,100%);margin-top:40px}.flow-input-wrap input[data-v-f49226af]{width:100%;height:62px;padding:0 18px;border:2px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:24px;text-align:center;letter-spacing:0;outline:none}.flow-input-wrap input[data-v-f49226af]:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.flow-panel--feedback[data-v-f49226af]{padding-top:48px}.feedback-mark[data-v-f49226af]{display:grid;place-items:center;width:48px;height:48px;margin-bottom:14px;border-radius:50%;background:var(--danger-soft, #fdeceb);color:var(--danger, #c8453d)}.feedback-mark svg[data-v-f49226af]{width:24px;height:24px}.feedback-meaning[data-v-f49226af]{margin:18px 0 0;color:var(--text);font-size:20px;font-weight:700}.feedback-example[data-v-f49226af]{width:min(520px,100%);margin-top:24px;padding:15px 18px;border-left:3px solid var(--brand);background:var(--surface-soft);text-align:left}.feedback-example p[data-v-f49226af],.feedback-example span[data-v-f49226af]{margin:0;line-height:1.65}.feedback-example span[data-v-f49226af]{display:block;margin-top:5px;color:var(--muted);font-size:14px}.feedback-note[data-v-f49226af]{margin:18px 0 0;color:var(--muted);font-size:13px}.flow-panel--feedback .flow-actions[data-v-f49226af]{margin-top:28px}.sr-only[data-v-f49226af]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.stage-slide-enter-active[data-v-f49226af],.stage-slide-leave-active[data-v-f49226af]{transition:opacity .2s var(--ease-soft),transform .2s var(--ease-soft)}.stage-slide-enter-from[data-v-f49226af]{opacity:0;transform:translate(18px)}.stage-slide-leave-to[data-v-f49226af]{opacity:0;transform:translate(-14px)}.flow-button[data-v-f49226af],.flow-option[data-v-f49226af],.icon-button[data-v-f49226af]{transition:transform .12s var(--ease-soft),background .16s ease,border-color .16s ease}.flow-button[data-v-f49226af]:active,.flow-option[data-v-f49226af]:active,.icon-button[data-v-f49226af]:active{transform:scale(.97)}@media (max-width: 620px){.flow-card[data-v-f49226af]{min-height:calc(100dvh - 112px);padding:18px 16px;border-right:0;border-left:0;border-radius:0;box-shadow:none}.flow-card__tools[data-v-f49226af]{top:14px;right:14px}.icon-button[data-v-f49226af]{width:38px;height:38px}.flow-steps[data-v-f49226af]{width:calc(100% - 94px);gap:5px}.flow-steps li[data-v-f49226af]{gap:4px;font-size:12px}.flow-panel[data-v-f49226af]{min-height:calc(100dvh - 190px);padding:48px 4px 4px}.flow-actions[data-v-f49226af]{margin-top:auto;padding-top:38px}.flow-options[data-v-f49226af]{grid-template-columns:1fr;margin-top:28px}.flow-option[data-v-f49226af]{min-height:58px}.flow-word[data-v-f49226af]{font-size:52px}.flow-word--compact[data-v-f49226af],.flow-word--feedback[data-v-f49226af]{font-size:42px}}@media (prefers-reduced-motion: reduce){.flow-button[data-v-f49226af],.flow-option[data-v-f49226af],.icon-button[data-v-f49226af],.stage-slide-enter-active[data-v-f49226af],.stage-slide-leave-active[data-v-f49226af]{transition:none}.stage-slide-enter-from[data-v-f49226af],.stage-slide-leave-to[data-v-f49226af]{transform:none}}.checkin-poster[data-v-bb471ab1]{--poster-navy: #0b2b4a;--poster-yellow: #ffc91a;--poster-pale: #fff4bd;--poster-muted: #6f736b;--poster-line: #dedbd2;width:min(360px,100%);aspect-ratio:3 / 4;padding:18px;border:10px solid var(--poster-navy);border-top-color:var(--poster-yellow);border-bottom-color:var(--poster-yellow);border-radius:8px;background:#f7f6f2;box-shadow:0 22px 52px #0b2b4a33;color:var(--poster-navy)}.checkin-brand[data-v-bb471ab1]{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;background:#fff}.checkin-brand img[data-v-bb471ab1]{width:48px;height:48px;border-radius:8px;object-fit:cover}.checkin-brand div[data-v-bb471ab1]{display:flex;min-width:0;flex-direction:column;text-align:left}.checkin-brand strong[data-v-bb471ab1]{font-size:17px}.checkin-brand span[data-v-bb471ab1]{color:var(--poster-muted);font-size:10px}.checkin-brand b[data-v-bb471ab1]{padding:6px 10px;border-radius:999px;background:var(--poster-pale);font-size:11px}.checkin-main[data-v-bb471ab1]{padding:24px 8px 18px;text-align:center}.checkin-main p[data-v-bb471ab1]{margin:0;color:var(--poster-muted);font-size:11px;font-weight:700}.checkin-main h2[data-v-bb471ab1]{margin:5px 0 0;font-size:26px}.checkin-count[data-v-bb471ab1]{display:block;margin-top:5px;color:var(--poster-yellow);font-size:84px;line-height:1}.checkin-main>span[data-v-bb471ab1]{font-size:9px;font-weight:800}.checkin-stats[data-v-bb471ab1]{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:15px 0;border-top:1px solid var(--poster-line);border-bottom:1px solid var(--poster-line)}.checkin-stats div+div[data-v-bb471ab1]{border-left:1px solid var(--poster-line)}.checkin-stats dt[data-v-bb471ab1]{font-size:24px;font-weight:850}.checkin-stats dd[data-v-bb471ab1]{margin:0;color:var(--poster-muted);font-size:10px}.checkin-poster footer[data-v-bb471ab1]{display:flex;margin-top:18px;padding:14px;flex-direction:column;border-radius:8px;background:var(--poster-navy)}.checkin-poster footer strong[data-v-bb471ab1]{color:var(--poster-yellow);font-size:11px}.checkin-poster footer span[data-v-bb471ab1]{margin-top:3px;color:#fff;font-size:15px;font-weight:700}@media (max-width: 390px){.checkin-poster[data-v-bb471ab1]{padding:14px}.checkin-count[data-v-bb471ab1]{font-size:70px}}.vocab-focus-page[data-v-a80eae67]{min-height:100dvh;background:var(--bg);color:var(--text)}.vocab-focus-header[data-v-a80eae67]{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:44px minmax(0,520px) 44px;align-items:center;justify-content:center;gap:16px;min-height:74px;padding:10px max(18px,env(safe-area-inset-left)) 10px max(18px,env(safe-area-inset-right));border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.focus-icon-button[data-v-a80eae67]{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--brand-ink);cursor:pointer}.focus-icon-button[data-v-a80eae67]:hover,.focus-icon-button[data-v-a80eae67]:focus-visible{border-color:var(--brand);background:var(--brand-soft)}.focus-icon-button svg[data-v-a80eae67]{width:20px;height:20px}.focus-progress[data-v-a80eae67]{min-width:0}.focus-progress__copy[data-v-a80eae67]{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:7px}.focus-progress__copy strong[data-v-a80eae67]{font-size:15px;white-space:nowrap}.focus-progress__copy span[data-v-a80eae67]{min-width:0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.focus-progress__bar[data-v-a80eae67]{height:5px;border-radius:999px;background:var(--line);overflow:hidden}.focus-progress__bar span[data-v-a80eae67]{display:block;height:100%;border-radius:inherit;background:var(--brand);transition:width .25s var(--ease-soft)}.vocab-focus-main[data-v-a80eae67]{display:grid;min-height:calc(100dvh - 74px);place-items:center;padding:28px 20px 44px}.focus-state[data-v-a80eae67]{display:flex;min-height:420px;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.focus-state p[data-v-a80eae67]{margin:0;color:var(--muted)}.focus-state--error>svg[data-v-a80eae67]{width:42px;height:42px;color:#c8453d}.focus-state--error strong[data-v-a80eae67]{font-size:22px}.focus-primary-button[data-v-a80eae67],.focus-secondary-button[data-v-a80eae67]{min-height:50px;padding:12px 22px;border-radius:8px;font:inherit;font-weight:750;cursor:pointer}.focus-primary-button[data-v-a80eae67]{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--brand);background:var(--brand);color:var(--accent-on)}.focus-primary-button svg[data-v-a80eae67]{width:18px;height:18px}.focus-secondary-button[data-v-a80eae67]{border:1px solid var(--line-strong);background:var(--surface);color:var(--text)}.session-complete[data-v-a80eae67]{width:min(940px,100%);text-align:center}.completion-layout[data-v-a80eae67]{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:center;gap:52px}.completion-copy[data-v-a80eae67]{min-width:0}.completion-copy>p[data-v-a80eae67]:not(.focus-kicker):not(.share-status){margin:12px auto 0;max-width:500px;color:var(--muted)}.session-complete__mark[data-v-a80eae67]{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 20px;border-radius:50%;background:var(--success-soft);color:var(--success-ink)}.session-complete__mark svg[data-v-a80eae67]{width:30px;height:30px}.focus-kicker[data-v-a80eae67]{margin:0 0 6px;color:var(--success-ink);font-weight:750}.session-complete h1[data-v-a80eae67]{margin:0;font-size:36px}.share-status[data-v-a80eae67]{margin:14px 0 0;font-size:13px;font-weight:700}.share-status--success[data-v-a80eae67]{color:var(--brand-ink)}.share-status--error[data-v-a80eae67]{color:#c8453d}.session-summary[data-v-a80eae67]{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:34px 0;border:1px solid var(--line);background:var(--line)}.session-summary div[data-v-a80eae67]{display:flex;min-height:104px;flex-direction:column;align-items:center;justify-content:center;background:var(--surface)}.session-summary strong[data-v-a80eae67]{color:var(--brand-ink);font-size:30px}.session-summary span[data-v-a80eae67]{color:var(--muted);font-size:13px}.session-actions[data-v-a80eae67]{display:flex;justify-content:center;gap:10px}.focus-overlay[data-v-a80eae67]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:#0b2b4a47}.focus-sheet[data-v-a80eae67]{width:min(620px,100%);max-height:min(780px,calc(100dvh - 40px));padding:22px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 24px 70px #0b2b4a33;overflow-y:auto}.focus-sheet__header[data-v-a80eae67]{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.focus-sheet__header div[data-v-a80eae67]{display:flex;flex-direction:column}.focus-sheet__header span[data-v-a80eae67]{color:var(--muted);font-size:12px}.focus-sheet__header strong[data-v-a80eae67]{font-size:22px}.sheet-section[data-v-a80eae67]{padding:17px 0;border-top:1px solid var(--line)}.sheet-label[data-v-a80eae67]{display:block;margin-bottom:9px;font-size:14px;font-weight:750}.sheet-section p[data-v-a80eae67]{margin:8px 0 0;color:var(--muted);font-size:12px}.sheet-segments[data-v-a80eae67]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.sheet-segments--four[data-v-a80eae67]{grid-template-columns:repeat(4,1fr)}.sheet-segments button[data-v-a80eae67],.sheet-toggle[data-v-a80eae67]{min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);color:var(--text);cursor:pointer}.sheet-segments button.active[data-v-a80eae67],.sheet-toggle[aria-pressed=true][data-v-a80eae67]{border-color:var(--brand);background:var(--brand);color:var(--accent-on);font-weight:750}.sheet-row[data-v-a80eae67]{display:flex;align-items:center;justify-content:space-between;gap:20px}.sheet-row .sheet-label[data-v-a80eae67]{margin:0}.sheet-toggle[data-v-a80eae67]{min-width:58px}.sheet-links[data-v-a80eae67]{display:flex;flex-direction:column;border-top:1px solid var(--line)}.sheet-links>button[data-v-a80eae67],.sheet-links>a[data-v-a80eae67]{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;min-height:64px;padding:12px 4px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left;cursor:pointer}.sheet-links svg[data-v-a80eae67]{width:20px;height:20px;color:var(--brand-ink)}.sheet-links span[data-v-a80eae67]{display:flex;min-width:0;flex-direction:column}.sheet-links small[data-v-a80eae67]{margin-top:2px;color:var(--muted)}.library-panel[data-v-a80eae67]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--bg);overflow-y:auto}.library-header[data-v-a80eae67]{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:14px;min-height:70px;padding:10px 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.library-header>div[data-v-a80eae67]{display:flex;flex-direction:column;text-align:center}.library-header span[data-v-a80eae67]{color:var(--muted);font-size:12px}.library-body[data-v-a80eae67]{width:min(820px,100%);margin:0 auto;padding:24px 20px 60px}.library-search[data-v-a80eae67]{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;height:50px;margin-bottom:18px;padding:0 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface)}.library-search svg[data-v-a80eae67]{width:19px;height:19px;color:var(--muted)}.library-search input[data-v-a80eae67]{min-width:0;border:0;outline:none;background:transparent;color:var(--text)}.library-list[data-v-a80eae67]{border-top:1px solid var(--line)}.library-row[data-v-a80eae67]{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:78px;padding:14px 4px;border-bottom:1px solid var(--line)}.library-row>div[data-v-a80eae67]:first-child{min-width:0}.library-row strong[data-v-a80eae67]{font-size:18px}.library-row>div:first-child>span[data-v-a80eae67]{margin-left:8px;color:var(--muted);font-size:12px}.library-row p[data-v-a80eae67]{margin:3px 0 0;color:var(--muted)}.library-row__actions[data-v-a80eae67]{display:flex;flex:0 0 auto;gap:6px}.library-row__actions button[data-v-a80eae67]{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--brand-ink);cursor:pointer}.library-row__actions svg[data-v-a80eae67]{width:18px;height:18px}.library-empty[data-v-a80eae67],.library-limit[data-v-a80eae67]{color:var(--muted);text-align:center}.word-card-enter-active[data-v-a80eae67],.word-card-leave-active[data-v-a80eae67]{transition:opacity .24s var(--ease-soft),transform .24s var(--ease-soft)}.word-card-enter-from[data-v-a80eae67]{opacity:0;transform:translate(28px) scale(.985)}.word-card-leave-to[data-v-a80eae67]{opacity:0;transform:translate(-24px) scale(.985)}.group-complete-enter[data-v-a80eae67]{animation:groupComplete-a80eae67 .42s var(--ease-soft)}@keyframes groupComplete-a80eae67{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}.sheet-fade-enter-active[data-v-a80eae67],.sheet-fade-leave-active[data-v-a80eae67]{transition:opacity .18s ease}.sheet-fade-enter-from[data-v-a80eae67],.sheet-fade-leave-to[data-v-a80eae67]{opacity:0}@media (max-width: 620px){.vocab-focus-header[data-v-a80eae67]{grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;min-height:68px;padding:8px 12px}.focus-progress__copy strong[data-v-a80eae67]{font-size:13px}.focus-progress__copy span[data-v-a80eae67]{font-size:11px}.vocab-focus-main[data-v-a80eae67]{min-height:calc(100dvh - 68px);padding:0}.focus-overlay[data-v-a80eae67]{padding:0}.focus-sheet[data-v-a80eae67]{max-height:88dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom,0px));border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0}.session-complete[data-v-a80eae67]{padding:28px 20px 40px}.completion-layout[data-v-a80eae67]{grid-template-columns:1fr;gap:36px}.completion-layout[data-v-a80eae67]>:first-child{justify-self:center}.session-complete h1[data-v-a80eae67]{font-size:30px}.session-actions[data-v-a80eae67]{flex-direction:column}.session-actions button[data-v-a80eae67]{width:100%}.library-body[data-v-a80eae67]{padding-right:16px;padding-left:16px}}@media (prefers-reduced-motion: reduce){.focus-progress__bar span[data-v-a80eae67],.sheet-fade-enter-active[data-v-a80eae67],.sheet-fade-leave-active[data-v-a80eae67],.word-card-enter-active[data-v-a80eae67],.word-card-leave-active[data-v-a80eae67]{transition:none}.word-card-enter-from[data-v-a80eae67],.word-card-leave-to[data-v-a80eae67]{transform:none}.group-complete-enter[data-v-a80eae67]{animation:none}}.afb[data-v-0955584e]{display:flex;flex-direction:column;gap:14px;font-size:13px;color:#1f2733}.afb-filter[data-v-0955584e]{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px;background:#fff;border:1px solid #e6e8ee;border-radius:14px}.afb-pill[data-v-0955584e]{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid #e6e8ee;background:#f6f7fa;color:#5b6472;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.afb-pill[data-v-0955584e]:hover{border-color:#0b2b4a;color:#0b2b4a}.afb-pill em[data-v-0955584e]{min-width:18px;padding:0 6px;border-radius:999px;background:#fff;color:#8a93a3;font-style:normal;font-size:11px;text-align:center}.afb-pill--on[data-v-0955584e],.afb-pill--on[data-v-0955584e]:hover{background:#0b2b4a;border-color:#0b2b4a;color:#fff}.afb-pill--on em[data-v-0955584e]{background:#ffffff29;color:#ffc91a}.afb-item[data-v-0955584e]{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:#fff;border:1px solid #e6e8ee;border-radius:14px}.afb-head[data-v-0955584e]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.afb-user[data-v-0955584e]{display:inline-flex;align-items:center;gap:8px;min-width:0}.afb-user img[data-v-0955584e]{width:26px;height:26px;border-radius:50%;object-fit:cover}.afb-initial[data-v-0955584e]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#0b2b4a;color:#ffc91a;font-size:12px;font-weight:700}.afb-user strong[data-v-0955584e]{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.afb-time[data-v-0955584e]{font-size:12px;color:#8a93a3}.afb-cat[data-v-0955584e]{padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.afb-cat--suggestion[data-v-0955584e]{background:#e8efff;color:#2f5fd0}.afb-cat--content[data-v-0955584e]{background:#fff3d6;color:#9a6b00}.afb-cat--bug[data-v-0955584e]{background:#fde8e8;color:#c0392b}.afb-cat--other[data-v-0955584e]{background:#eef0f3;color:#6b7280}.afb-status[data-v-0955584e]{margin-left:auto;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700}.afb-status--new[data-v-0955584e]{background:#ffc91a;color:#0b2b4a}.afb-status--reviewed[data-v-0955584e]{background:#e2e8f0;color:#475569}.afb-status--planned[data-v-0955584e]{background:#dbeafe;color:#1d4ed8}.afb-status--done[data-v-0955584e]{background:var(--success-soft);color:var(--success-ink)}.afb-status--rejected[data-v-0955584e]{background:#f3e4e4;color:#a05252}.afb-content[data-v-0955584e]{margin:0;line-height:1.7;color:#1f2733;white-space:pre-wrap;word-break:break-word}.afb-contact[data-v-0955584e]{margin:0;font-size:12px;color:#5b6472}.afb-annotate[data-v-0955584e]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:10px;border-top:1px dashed #e6e8ee}.afb-select[data-v-0955584e]{padding:6px 8px;border-radius:8px;border:1px solid #e6e8ee;background:#fff;font:inherit;font-size:12px;color:#1f2733;cursor:pointer}.afb-note[data-v-0955584e]{flex:1;min-width:180px;padding:6px 10px;border-radius:8px;border:1px solid #e6e8ee;background:#fff;font:inherit;font-size:12px;color:#1f2733}.afb-note[data-v-0955584e]::placeholder{color:#a6adba}.afb-select[data-v-0955584e]:focus,.afb-note[data-v-0955584e]:focus{outline:none;border-color:#0b2b4a}.afb-save[data-v-0955584e]{padding:6px 14px;border:0;border-radius:999px;background:#0b2b4a;color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .15s ease}.afb-save[data-v-0955584e]:hover:not(:disabled){opacity:.88}.afb-save[data-v-0955584e]:disabled{opacity:.6;cursor:default}.afb-saved[data-v-0955584e]{font-size:12px;font-weight:600;color:var(--success-ink)}.afb-saved-enter-active[data-v-0955584e]{transition:opacity .15s ease}.afb-saved-leave-active[data-v-0955584e]{transition:opacity .6s ease .2s}.afb-saved-enter-from[data-v-0955584e],.afb-saved-leave-to[data-v-0955584e]{opacity:0}.afb-save-error[data-v-0955584e]{font-size:12px;color:#c0392b}.afb-empty[data-v-0955584e]{padding:36px 16px;text-align:center;background:#fff;border:1px solid #e6e8ee;border-radius:14px;color:#8a93a3;font-size:13px}:root[data-theme=dark]{background:#1d2025;border-color:#30343d}:root[data-theme=dark]{background:#23262c;border-color:#30343d;color:#b8bcc4}:root[data-theme=dark]{border-color:#ffc91a;color:#e9e7e2}:root[data-theme=dark]{background:#1d2025;color:#8a93a3}:root[data-theme=dark]{background:#ffc91a;border-color:#ffc91a;color:#0b2b4a}:root[data-theme=dark]{background:#0b2b4a26;color:#0b2b4a}:root[data-theme=dark]{color:#e9e7e2}:root[data-theme=dark]{color:#9aa0a8}:root[data-theme=dark]{background:#608dff2e;color:#9db8ff}:root[data-theme=dark]{background:#ffbe4629;color:#f0c07a}:root[data-theme=dark]{background:#ff6e5a29;color:#f0a58f}:root[data-theme=dark]{background:#ffffff14;color:#b8bcc4}:root[data-theme=dark]{background:#94a3b833;color:#cbd5e1}:root[data-theme=dark]{background:#3b82f633;color:#93c5fd}:root[data-theme=dark]{background:var(--success-soft);color:var(--success-ink)}:root[data-theme=dark]{background:#c878782e;color:#d8a3a3}:root[data-theme=dark]{border-top-color:#30343d}:root[data-theme=dark]{background:#23262c;border-color:#30343d;color:#e9e7e2}:root[data-theme=dark]{color:#6d7178}:root[data-theme=dark]{border-color:#ffc91a}:root[data-theme=dark]{background:#ffc91a;color:#0b2b4a}:root[data-theme=dark]{color:var(--success-ink)}:root[data-theme=dark]{color:#f0a58f}:root{color-scheme:light;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;line-height:1.5;color:#191919;background:#f7f6f2;--bg: #f7f6f2;--surface: #ffffff;--surface-soft: #faf9f5;--line: #e9e6de;--line-strong: #d8d4ca;--text: #191919;--muted: #6f736b;--brand: #ffc91a;--brand-soft: #fff4bd;--brand-ink: #0b2b4a;--brand-border: rgba(11, 43, 74, .18);--success: #ffc91a;--success-soft: #fff4bd;--success-ink: #0b2b4a;--accent: var(--brand);--accent-soft: var(--brand-soft);--accent-ink: var(--brand-ink);--accent-on: var(--brand-ink);--ease-soft: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(1200px 480px at 50% -160px,rgba(255,201,26,.1),transparent 70%),var(--bg);color:var(--text);overflow-x:hidden;-webkit-text-size-adjust:100%}body,button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.app-header{position:sticky;top:0;z-index:30;background:#f7f6f2f0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.app-header-inner,.app-main{max-width:1120px;margin:0 auto}@media (min-width: 861px){.app-header-inner{max-width:1320px;flex-wrap:nowrap}}.app-header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:12px 24px}.app-main{padding:48px 24px 80px}.app-main--runner{max-width:none;padding:0 0 64px}.app-main--immersive{max-width:none;padding:0}.brand{flex-shrink:0;display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,201,26,.18);background:#fff4bde0;color:var(--accent-ink)}.brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.brand-copy strong{font-size:15px;font-weight:600;white-space:nowrap}.brand-copy span{font-size:12px;color:var(--muted)}.course-pill,.hero-tag,.runner-progress-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,201,26,.24);background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:600}.exam-timer{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .2s var(--ease-soft),color .2s var(--ease-soft),background .2s var(--ease-soft)}.exam-timer .icon{color:var(--muted)}.exam-timer-time{font-size:13px;letter-spacing:.02em}.exam-timer-state{font-size:11px;opacity:.8}.exam-timer:hover{border-color:var(--accent)}.exam-timer--paused{color:var(--muted);border-style:dashed}.exam-timer--warn{border-color:#e6912880;background:#e691281f;color:#b56a12}.exam-timer--warn .icon{color:#b56a12}.exam-timer--danger{border-color:#be4d378c;background:#be4d3724;color:#bd4d37;animation:timerPulse 1s ease-in-out infinite}.exam-timer--danger .icon{color:#bd4d37}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.55}}:root[data-theme=dark] .exam-timer--warn{color:#f0c07a}:root[data-theme=dark] .exam-timer--warn .icon{color:#f0c07a}:root[data-theme=dark] .exam-timer--danger{color:#f0a58f}:root[data-theme=dark] .exam-timer--danger .icon{color:#f0a58f}@media (prefers-reduced-motion: reduce){.exam-timer--danger{animation:none}}.app-nav{display:flex;gap:4px;flex-wrap:nowrap}.app-nav a{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:12px;color:var(--muted);white-space:nowrap;transition:.2s ease}.app-nav a:hover{background:#ffffffb3;color:var(--text)}.app-nav .router-link-active{background:var(--surface);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.page-hero{display:flex;flex-direction:column;gap:14px;max-width:720px;margin-bottom:36px}.page-hero .hero-tag{align-self:flex-start}.page-hero h1,.paper-card-head h2{margin:0}.page-hero h1{font-size:48px;line-height:1.12;font-weight:600;letter-spacing:0}.page-hero p{margin:0;color:var(--muted);font-size:16px}.catalog-page,.exam-page,.records-page,.catalog-sections,.exam-year-list,.records-list,.catalog-group,.season-group,.stack{display:flex;flex-direction:column;gap:20px}.catalog-group-head,.season-head,.section-head,.row{display:flex;align-items:center;gap:16px}.between{justify-content:space-between}.catalog-group-title{display:inline-flex;align-items:baseline;gap:12px;min-width:fit-content}.catalog-group-title h2,.catalog-group-title h3,.year-heading{margin:0;font-size:18px;font-weight:600}.catalog-group-title span,.catalog-count,.catalog-entry{font-size:13px;color:var(--muted)}.catalog-count--icon,.catalog-entry--icon,.meta-inline,.inline-icon{display:inline-flex;align-items:center;gap:6px}.catalog-divider{flex:1;height:1px;background:var(--line)}.catalog-grid,.exam-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catalog-card,.exam-card,.record-card,.empty,.paper-card,.listening-player{border-radius:16px;border:1px solid var(--line);background:var(--surface)}.catalog-card,.exam-card{display:flex;flex-direction:column;gap:12px;min-height:132px;padding:18px 20px;transition:.2s ease}.catalog-card:hover,.exam-card:hover,.record-card:hover{transform:translateY(-1px);box-shadow:0 14px 28px #1919190d}.catalog-card-top,.exam-card-top,.exam-card-footer,.record-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.catalog-card h3,.exam-card h3,.record-card h3{margin:0;font-size:26px;line-height:1.18;font-weight:600}.catalog-card h3,.exam-card h3{font-size:28px}.catalog-card p,.exam-card p,.record-card p,.muted,.review{margin:0}.catalog-card p,.exam-card p,.muted{color:var(--muted)}.exam-card p{font-size:14px}.exam-meta-line{display:flex;flex-wrap:wrap;gap:12px}.exam-card-footer{margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.exam-card-footer>span:first-child{flex:1 1 auto;min-width:0}.exam-card-footer strong{color:var(--text);font-size:13px;flex:0 0 auto;white-space:nowrap}.year-group{gap:12px}.year-heading{font-size:34px}.record-card{padding:20px 22px;box-shadow:0 12px 26px #1919190a}.record-score{font-size:28px;line-height:1}.record-metrics{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:13px}.record-link{width:fit-content}.runner-page{min-height:100vh;background:var(--bg)}.runner-header{position:sticky;top:0;z-index:25;background:#f7f6f2f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.runner-header-inner,.runner-tabs,.runner-body{max-width:1760px;margin:0 auto;padding-left:28px;padding-right:28px}.runner-header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding-top:9px;padding-bottom:7px}.runner-back{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.runner-title-block{display:flex;align-items:baseline;gap:10px;min-width:0}.runner-title-block h1{margin:0;font-size:19px;line-height:1.3;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runner-title-block .muted{flex:0 1 auto;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runner-header-side{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.runner-tabs{display:flex;gap:6px;overflow-x:auto;padding-top:0;padding-bottom:8px;scrollbar-width:none}.runner-tabs::-webkit-scrollbar{display:none}.runner-tab{flex:0 0 auto;padding:6px 11px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font-size:13px;cursor:pointer;transition:background .4s cubic-bezier(.22,1,.36,1),color .3s ease,border-color .4s ease,transform .4s cubic-bezier(.34,1.4,.5,1)}.runner-tab--active{background:var(--surface);color:var(--accent-ink);border-color:#ffc91a2e;transform:translateY(-1px);box-shadow:0 4px 12px #ffc91a1a}.runner-body{max-width:1240px;display:flex;flex-direction:column;gap:16px;padding-top:18px;padding-bottom:84px}.runner-body--wide{max-width:1760px}.assessment-panel{display:flex;flex-direction:column;gap:16px;padding:18px;border-radius:16px;border:1px solid rgba(255,201,26,.18);background:linear-gradient(180deg,#fff4bdeb,#fffffff5)}.assessment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.assessment-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;background:#ffffffeb;border:1px solid rgba(255,201,26,.12)}.assessment-card span{color:var(--muted);font-size:13px}.assessment-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.assessment-card strong{font-size:28px;line-height:1}.assessment-meta{display:flex;flex-direction:column;gap:14px}.assessment-section-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assessment-section-item{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#ffffffe0}.assessment-section-item strong,.assessment-section-item span{display:block}.assessment-section-item strong{font-size:14px}.assessment-section-item span{color:var(--muted);font-size:12px}.question-palette{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffffb8}.question-palette-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}.review-filters{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.review-filter{min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}.review-filter--active{border-color:#ffc91a3d;background:var(--accent-soft);color:var(--accent-ink)}.question-palette-grid{display:flex;flex-wrap:wrap;gap:8px}.question-chip{width:32px;height:32px;font-size:13px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:transform .2s var(--ease-soft),box-shadow .2s var(--ease-soft),background .2s ease,border-color .2s ease}.question-chip:hover{transform:translateY(-1px);box-shadow:0 10px 18px #1919190f}.question-chip--answered{background:var(--accent-soft);color:var(--accent-ink);border-color:#ffc91a38}.question-chip--correct{background:#ffc91a1f;color:var(--accent-ink);border-color:#ffc91a3d}.question-chip--wrong{background:#be4d371a;color:#9a4a2f;border-color:#be4d3733}.question-chip--empty{background:#ffffffbf;color:#8a8e86;border-color:var(--line-strong)}.question-chip--active{background:var(--accent);color:var(--accent-on);border-color:var(--accent);animation:chipPulse 1.9s ease-in-out infinite}.paper-card{padding:24px 26px;box-shadow:0 12px 32px #1919190a}.paper-card--listening{box-shadow:0 16px 38px #1919190d}.paper-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.paper-card-index{flex:0 0 auto;font-size:13px;color:var(--muted)}.paper-card-head h2,.paper-directions,.paper-prose,.question-title,.choice-card-copy,.cloze-slot strong{font-family:Songti SC,STSong,SimSun,Georgia,serif}.paper-card-head h2{font-size:23px;line-height:1.25;font-weight:700}.paper-directions{color:#4f534d;font-size:15px;line-height:1.75;font-style:italic}.paper-prose{color:#262723;font-size:16px;line-height:1.9}.paper-prose p{margin:0 0 14px}.passage-pane,.listening-panel{display:flex;flex-direction:column;gap:18px;padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft)}.gap-xs{gap:6px}.subjective-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px}.subjective-side,.subjective-prompt,.subjective-editor-card{padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft)}.subjective-summary,.subjective-topic{display:flex;flex-direction:column;gap:8px}.subjective-summary strong,.subjective-topic strong,.editor-head strong,.listening-media-head strong,.passage-meta strong{font-size:16px}.subjective-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subjective-metric{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.subjective-metric span,.subjective-topic span,.editor-state,.meta-pill,.question-order,.cloze-slot span,.cloze-slot em,.passage-meta span{font-size:12px}.subjective-metric span,.subjective-topic span,.cloze-slot span,.passage-meta span{color:var(--muted)}.subjective-prompt-title{margin:0;font-size:20px;line-height:1.45;font-weight:700}.editor-head,.listening-media-head,.cloze-bank-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.editor-state,.meta-pill,.choice-card-tag{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,201,26,.16);background:#fff4bde0;color:var(--accent-ink);font-weight:600;transition:transform .2s var(--ease-soft),border-color .2s ease,background .2s ease}.listening-shell,.cloze-shell{display:flex;flex-direction:column;gap:18px}.listening-panel--hero{position:relative;gap:12px;background:linear-gradient(180deg,#faf9f5f5,#fffffffa);overflow:hidden}.listening-panel--hero:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#ffc91ad1,#ffc91a2e)}.listening-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.listening-hero-copy{color:var(--muted);font-size:13px;line-height:1.6}.listening-audio-shell{position:relative;display:flex;flex-direction:column;gap:14px;padding:18px 18px 16px;border-radius:18px;border:1px solid rgba(216,212,202,.8);background:#ffffffeb;box-shadow:inset 0 1px #ffffffb8}.listening-audio-badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,201,26,.16);background:#fff4bdbd;color:var(--accent-ink);font-size:12px;font-weight:700}.listening-flow{display:flex;flex-wrap:wrap;gap:10px}.listening-flow-item{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(216,212,202,.8);background:#ffffffbd;color:#4b514b;font-size:12px;font-weight:600;transition:transform .18s var(--ease-soft),border-color .2s ease,background .2s ease}.listening-flow-item:hover{transform:translateY(-1px);border-color:#ffc91a33;background:#fff4bd9e}.listening-note{display:inline-flex;align-items:center;gap:8px;padding-top:12px;border-top:1px dashed var(--line-strong);color:var(--muted);font-size:13px}.question-list{display:flex;flex-direction:column;gap:16px}.question-card{display:flex;flex-direction:column;gap:14px;padding:18px 20px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 22px #19191908;transition:transform .24s var(--ease-soft),box-shadow .24s var(--ease-soft),border-color .2s ease;animation:fadeSlideUp .42s var(--ease-soft) both}.question-list>.question-card:nth-child(1){animation-delay:.04s}.question-list>.question-card:nth-child(2){animation-delay:.08s}.question-list>.question-card:nth-child(3){animation-delay:.12s}.question-list>.question-card:nth-child(4){animation-delay:.16s}.question-list>.question-card:nth-child(5){animation-delay:.2s}.question-list>.question-card:nth-child(6){animation-delay:.24s}.question-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px #1919190d}.question-card--active{border-color:#ffc91a3d;box-shadow:0 10px 26px #ffc91a14}.question-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.matching-paragraph{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid rgba(216,212,202,.55)}.matching-paragraph:first-of-type{padding-top:0;border-top:0}.question-title{margin:0;font-size:16px;line-height:1.7;font-weight:700}.question-order{color:var(--accent-ink);font-weight:700}.question-status{flex:0 0 auto;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.question-status--correct{background:#ffc91a1f;color:var(--accent-ink)}.question-status--wrong{background:#be4d371a;color:#9a4a2f}.question-status--unanswered{background:#767b721a;color:#6f736b}.choice-list{display:flex;flex-direction:column;gap:10px}.choice-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform .18s var(--ease-soft),border-color .18s ease,background .18s ease,box-shadow .18s ease}.choice-card:hover{transform:translateY(-1px);border-color:#ffc91a3d;background:#ffc91a08;box-shadow:0 10px 20px #ffc91a0f}.choice-card-input{position:absolute;opacity:0;pointer-events:none}.choice-card-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:#f8f8f5;color:var(--accent-ink);font-size:13px;font-weight:700}.choice-card-copy{display:block;padding-top:3px;color:#232421;font-size:16px;line-height:1.75}.choice-card-tag{align-self:center}.choice-card--selected{border-color:#ffc91a3d;background:#ffc91a0f}.choice-card--selected .choice-card-badge{border-color:var(--accent);background:var(--accent);color:var(--accent-on)}.choice-card--correct{border-color:#ffc91a3d;background:#ffc91a14}.choice-card--wrong{border-color:#be4d373d;background:#be4d370f}.choice-card--wrong .choice-card-badge{border-color:#be4d3733;color:#9a4a2f}.choice-card--dimmed{opacity:.82}.cloze-bank-panel{padding:18px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft)}.cloze-bank-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.bank-pill{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:transform .18s var(--ease-soft),border-color .18s ease,background .18s ease,box-shadow .18s ease}.bank-pill:hover{transform:translateY(-1px);box-shadow:0 10px 18px #1919190d}.bank-pill span{color:var(--muted);font-size:12px;font-weight:700}.bank-pill strong{color:var(--text);font-size:14px}.bank-pill--used{border-color:#ffc91a2e;background:#ffc91a0d}.bank-pill--active{border-color:var(--accent);background:var(--accent)}.bank-pill--active span,.bank-pill--active strong{color:var(--accent-on)}.cloze-slot{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;border-radius:14px;border:1px dashed var(--line-strong);background:var(--surface-soft);cursor:pointer}.cloze-slot strong{font-size:18px;line-height:1.45;color:#232421}.cloze-slot em{font-style:normal;color:var(--accent-ink)}.matching-layout,.reading-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:24px;align-items:start}.passage-pane--matching,.passage-pane--reading{position:sticky;top:112px;display:flex;flex-direction:column;gap:14px;min-height:0;max-height:calc(100vh - 190px)}.passage-pane-head,.question-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;border-bottom:1px solid rgba(216,212,202,.6)}.passage-scroll,.question-list-scroll{min-height:0;overflow:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:rgba(255,201,26,.22) transparent}.passage-scroll::-webkit-scrollbar,.question-list-scroll::-webkit-scrollbar{width:8px}.passage-scroll::-webkit-scrollbar-thumb,.question-list-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#ffc91a2e}.question-panel-head{position:sticky;top:0;z-index:2;padding:4px 2px 14px;background:linear-gradient(180deg,#faf9f5fa,#faf9f5e6 72%,#faf9f500)}.question-panel-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,201,26,.16);background:#fff4bde0;color:var(--accent-ink);font-size:12px;font-weight:700}.matching-index-strip{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:8px;border-bottom:1px dashed var(--line-strong)}.paragraph-chip,.matching-choice{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:700;cursor:pointer;transition:.16s ease}.question-list--reading,.question-list--matching{position:sticky;top:112px;max-height:calc(100vh - 190px);padding:16px;border-radius:16px;border:1px solid var(--line);background:#faf9f5f5;box-shadow:0 12px 26px #1919190a}.question-list--reading .question-list-scroll,.question-list--matching .question-list-scroll{display:flex;flex-direction:column;gap:16px}.reading-paragraph{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding:14px 0;border-top:1px solid rgba(216,212,202,.45)}.reading-paragraph:first-child{padding-top:0;border-top:0}.reading-paragraph p{margin:0}.reading-paragraph-index{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-top:3px;border-radius:999px;border:1px solid rgba(255,201,26,.14);background:#fff4bdb3;color:var(--accent-ink);font-size:12px;font-weight:700}.reading-paragraph-index--letter{background:var(--grad-accent);border-color:transparent;color:var(--accent-on);font-size:13px}.paragraph-chip{min-width:42px;padding:0 12px}.paragraph-chip:hover,.matching-choice:hover{transform:translateY(-1px);border-color:#ffc91a38;color:var(--accent-ink)}.matching-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}.question-list--matching .matching-choice{min-height:32px;border-radius:9px;font-size:13px}.matching-choice--used{opacity:.38}.question-answer-chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,201,26,.2);background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:700}.matching-choice--selected{border-color:#ffc91a38;background:#ffc91a0f;color:var(--accent-ink)}.matching-choice--correct{border-color:#ffc91a3d;background:#ffc91a1a;color:var(--accent-ink)}.matching-choice--wrong{border-color:#be4d3738;background:#be4d3712;color:#9a4a2f}.button,.ghost,.select,.textarea{border-radius:12px}.button,.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;cursor:pointer;padding:0 16px;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft),background .2s ease,border-color .2s ease}.button{background:var(--accent);color:var(--accent-on)}.button:hover{background:#0b2b4a;transform:translateY(-1px);box-shadow:0 12px 24px #ffc91a2e}.ghost{background:var(--surface);color:var(--text);border:1px solid var(--line)}.ghost:hover{transform:translateY(-1px);box-shadow:0 10px 18px #1919190d}.compact{min-height:38px;padding:0 14px}.button:disabled,.ghost:disabled{cursor:not-allowed;opacity:.45}.select,.textarea{width:100%;padding:12px 14px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text)}.answer-area{min-height:220px}audio{width:100%}.controls{flex-wrap:wrap}.control-button{min-width:104px}.listening-player{padding:14px 16px;background:var(--surface)}.review{color:#8a4e1f;font-size:14px}.analysis-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,201,26,.14);background:#fff4bd85}.analysis-card strong{font-size:13px}.analysis-card p{margin:0;color:#344038;font-size:14px;line-height:1.65}.analysis-quote{color:var(--muted)}.review-empty{padding:18px;text-align:center;color:var(--muted);border:1px dashed var(--line-strong);border-radius:12px;background:#ffffffb3}.empty{padding:48px 24px;text-align:center;color:var(--muted)}.runner-footer{position:fixed;left:0;right:0;bottom:0;z-index:24;padding:0 22px 18px;pointer-events:none}.runner-footer button{pointer-events:auto}.runner-footer-inner{width:100%;max-width:none;display:flex;align-items:center;gap:12px}.runner-footer-status{display:none}.runner-footer .compact{min-height:44px;padding:0 18px;border-radius:999px;box-shadow:0 8px 22px #19191924;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.runner-footer .ghost{background:#fffffff0}.runner-footer .submit-cta{margin-left:auto;min-height:44px;padding:0 20px;color:var(--accent-on)}.runner-footer-status{display:flex;align-items:baseline;gap:8px;min-width:0;padding:0 4px;white-space:nowrap;overflow:hidden}.runner-footer-status strong{font-size:13px}.runner-footer-status span{color:var(--muted);font-size:12px}.runner-footer-actions{display:flex;align-items:center;gap:10px}.eyebrow{margin:0 0 8px;font-size:12px;letter-spacing:0;text-transform:uppercase;color:#8d8f88}.icon{width:18px;height:18px;flex:0 0 auto}.icon--sm{width:16px;height:16px}.section-stage-enter-active{transition:opacity .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1),filter .42s cubic-bezier(.22,1,.36,1)}.section-stage-leave-active{transition:opacity .2s ease,transform .2s ease,filter .2s ease}.section-stage-enter-from{opacity:0;transform:translateY(14px) scale(.99);filter:blur(8px)}.section-stage-leave-to{opacity:0;transform:translateY(-6px);filter:blur(4px)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes chipPulse{0%,to{box-shadow:0 0 #ffc91a14}50%{box-shadow:0 0 0 7px #ffc91a00}}.runner-progress-track{max-width:1760px;margin:0 auto;height:4px;border-radius:999px;background:#ffc91a1a;overflow:hidden}.runner-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ffe27a);transition:width .4s var(--ease-soft)}.feedback-toggle{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-weight:600;cursor:pointer;transition:transform .18s var(--ease-soft),border-color .2s ease,background .2s ease,color .2s ease}.feedback-toggle:hover{transform:translateY(-1px)}.feedback-toggle--on{border-color:#ffc91a47;background:var(--accent-soft);color:var(--accent-ink)}.choice-card--locked{cursor:default}.choice-card--locked:hover{transform:none;box-shadow:none}.runner-toast{position:fixed;left:50%;bottom:108px;z-index:40;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;max-width:min(90vw,420px);padding:12px 20px;border-radius:999px;font-size:14px;font-weight:600;color:#fff;background:#2b2f2b;box-shadow:0 14px 34px #1919193d}.runner-toast--success{background:var(--accent)}.runner-toast--error{background:#bd4d37}.toast-pop-enter-active,.toast-pop-leave-active{transition:opacity .22s ease,transform .28s var(--ease-soft)}.toast-pop-enter-from,.toast-pop-leave-to{opacity:0;transform:translate(-50%,12px)}.runner-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#1919196b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.runner-modal{display:flex;flex-direction:column;gap:12px;width:min(100%,460px);padding:26px 28px;border-radius:20px;border:1px solid var(--line);background:var(--surface);box-shadow:0 24px 60px #1919193d}.runner-modal h3{margin:0;font-size:20px;font-weight:700}.runner-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink)}.runner-modal-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.runner-modal-stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft)}.runner-modal-stat span{font-size:12px;color:var(--muted)}.runner-modal-stat strong{font-size:22px;line-height:1}.runner-modal-stat--warn{border-color:#be4d3747;background:#be4d370f}.runner-modal-stat--warn strong{color:#9a4a2f}.runner-modal p{font-size:14px;line-height:1.7}.runner-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity .22s ease}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.hide-sm-flex{display:inline-flex}.submit-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--accent) 0%,#ffc91a 100%);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 6px 18px #ffc91a47,inset 0 1px #ffffff38;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft),filter .2s ease}.submit-cta:hover{transform:translateY(-1px);box-shadow:0 12px 26px #ffc91a57,inset 0 1px #ffffff38;filter:brightness(1.04)}.submit-cta:active{transform:translateY(0) scale(.98)}.submit-cta-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;background:#ffffff38;color:var(--accent-on);font-size:12px;font-style:normal;font-weight:700}.runner-nav-btn{flex:0 0 auto}.runner-tab{display:inline-flex;align-items:center;gap:7px}.runner-tab-state{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:19px;padding:0 6px;border-radius:999px;background:#1919190f;color:var(--muted);font-size:11px;font-style:normal;font-weight:700;transition:background .2s ease,color .2s ease}.runner-tab--active .runner-tab-state{background:#ffc91a1f;color:var(--accent-ink)}.runner-tab-state--done{min-width:19px;background:#ffc91a24;color:var(--accent-ink)}.runner-tab--done{color:var(--accent-ink)}.audio-rate-row{display:flex;align-items:center;gap:8px;font-size:12px}.audio-rate-pill{min-height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer;transition:.18s ease}.audio-rate-pill:hover{border-color:#ffc91a3d;color:var(--accent-ink)}.audio-rate-pill--active{border-color:var(--accent);background:var(--accent);color:var(--accent-on)}.assessment-banner{display:flex;align-items:center;gap:14px;padding-bottom:4px}.assessment-banner strong{font-size:18px}.assessment-check{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;background:linear-gradient(135deg,var(--accent) 0%,#ffc91a 100%);color:var(--accent-on);box-shadow:0 10px 22px #ffc91a4d;animation:checkPop .6s var(--ease-soft) both}.assessment-card--score strong{background:linear-gradient(135deg,var(--accent-ink) 0%,#ffc91a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:34px}@keyframes checkPop{0%{opacity:0;transform:scale(.4)}62%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.cloze-paragraph{margin:0 0 16px}.passage-pane--cloze{background:var(--surface)}.cloze-blank{display:inline-flex;align-items:baseline;gap:3px;min-width:92px;margin:0 3px;padding:1px 10px 2px;border:0;border-bottom:2px solid var(--line-strong);border-radius:8px 8px 0 0;background:#ffc91a0d;color:var(--accent-ink);font:inherit;font-weight:700;line-height:inherit;vertical-align:baseline;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.cloze-blank sup{font-size:11px;font-weight:700;color:var(--muted)}.cloze-blank:hover{background:#ffc91a1a;border-bottom-color:#ffc91a80}.cloze-blank--active{background:#ffc91a24;border-bottom-color:var(--accent);box-shadow:0 4px 12px #ffc91a24;animation:chipPulse 1.9s ease-in-out infinite}.cloze-blank--filled{background:#ffc91a17;border-bottom-color:var(--accent)}.cloze-blank--correct{background:#ffc91a24;border-bottom-color:var(--accent);animation:correctPop .4s var(--ease-soft)}.cloze-blank--wrong{background:#be4d371a;border-bottom-color:#bd4d37;color:#9a4a2f;animation:wrongShake .4s ease}.passage-blank{display:inline-flex;align-items:center;justify-content:center;min-width:40px;margin:0 3px;padding:1px 9px 2px;border:0;border-bottom:2px solid var(--line-strong);border-radius:8px 8px 0 0;background:#ffc91a0f;color:var(--accent-ink);font:inherit;font-weight:700;font-size:.9em;line-height:inherit;vertical-align:baseline;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.passage-blank:hover{background:#ffc91a1f}.passage-blank--active{background:#ffc91a29;border-bottom-color:var(--accent);box-shadow:0 4px 12px #ffc91a29;animation:chipPulse 1.9s ease-in-out infinite}.passage-blank--filled{background:#ffc91a1a;border-bottom-color:var(--accent)}.passage-blank--correct{background:#ffc91a29;border-bottom-color:var(--accent)}.passage-blank--wrong{background:#be4d371f;border-bottom-color:#bd4d37;color:#9a4a2f}.analysis-strip{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);border-left:3px solid var(--line-strong);background:var(--surface);animation:fadeSlideUp .36s var(--ease-soft) both}.analysis-strip--correct{border-left-color:var(--accent)}.analysis-strip--wrong{border-left-color:#bd4d37}.analysis-strip-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.analysis-strip-answer{font-size:13px;color:var(--muted)}.analysis-strip p{margin:0;color:#344038;font-size:14px;line-height:1.7}.choice-card--correct{animation:correctPop .4s var(--ease-soft)}.choice-card--wrong{animation:wrongShake .42s ease}.matching-choice--correct{animation:correctPop .4s var(--ease-soft)}.matching-choice--wrong{animation:wrongShake .42s ease}.question-chip--correct,.question-chip--wrong{animation:correctPop .36s var(--ease-soft)}.analysis-card{animation:analysisReveal .42s var(--ease-soft) both;transform-origin:top center}@keyframes correctPop{0%{transform:scale(1)}45%{transform:scale(1.045)}to{transform:scale(1)}}@keyframes wrongShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}45%{transform:translate(4px)}70%{transform:translate(-2px)}}@keyframes analysisReveal{0%{opacity:0;transform:translateY(-6px) scaleY(.96)}to{opacity:1;transform:translateY(0) scaleY(1)}}@media (max-width: 860px){.runner-toast{bottom:88px}}@media (prefers-reduced-motion: reduce){.question-card,.question-chip,.question-chip--active,.section-stage-enter-active,.section-stage-leave-active,.button,.ghost,.submit-cta,.choice-card,.bank-pill,.matching-choice,.paragraph-chip,.cloze-blank,.analysis-card,.analysis-strip,.assessment-check{animation:none!important;transition:none!important;transform:none!important}}@media (max-width: 1100px){.catalog-grid,.exam-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-hero h1{font-size:40px}.subjective-layout,.matching-layout,.reading-layout{grid-template-columns:1fr}.passage-pane--matching,.passage-pane--reading,.question-list--reading,.question-list--matching{position:static;max-height:none}.passage-scroll,.question-list-scroll{overflow:visible;padding-right:0}}@media (max-width: 860px){.hide-sm,.hide-sm-flex{display:none}.app-header-inner{display:flex;flex-direction:column;align-items:flex-start;padding:14px 16px}.app-main,.runner-tabs,.runner-body{padding-left:14px;padding-right:14px}.runner-header-inner{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"back title" "side side";gap:8px 12px;padding:10px 14px 8px}.runner-back{grid-area:back}.runner-title-block{grid-area:title}.runner-header-side{grid-area:side;width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.runner-header-side::-webkit-scrollbar{display:none}.runner-header-side>*{flex:0 0 auto}.runner-title-block .eyebrow,.runner-title-block .muted{display:none}.runner-title-block h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-hero h1{font-size:32px}.runner-tabs{padding-bottom:8px;scrollbar-width:none}.runner-tabs::-webkit-scrollbar{display:none}.runner-tab{padding:8px 12px}.runner-body{gap:12px;padding-top:12px;padding-bottom:78px}.question-palette{padding:10px 12px;gap:8px}.question-palette-grid{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.question-palette-grid::-webkit-scrollbar{display:none}.question-chip{flex:0 0 auto}.paper-card{padding:18px 16px;border-radius:14px}.paper-card-head h2{font-size:21px}.paper-directions{font-size:14px;line-height:1.65}.paper-prose{font-size:15px;line-height:1.8}.subjective-side,.subjective-prompt,.subjective-editor-card,.cloze-bank-panel,.passage-pane,.listening-panel,.question-card{padding:14px}.choice-card{padding:12px;gap:10px}.choice-card-copy{font-size:15px;line-height:1.65}.assessment-grid,.assessment-section-list{grid-template-columns:1fr 1fr}.runner-footer{padding:2px 8px calc(4px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#f7f6f200,#f7f6f2d9 40%,#f7f6f2f5)}.runner-footer-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding:4px 6px;border-radius:999px;border:1px solid var(--line);background:#fffffff0;box-shadow:0 6px 20px #1919191a;pointer-events:auto}.runner-footer-status{display:flex;flex-direction:row;align-items:baseline;gap:5px;min-width:0;overflow:hidden}.runner-footer-status strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runner-footer-status span{font-size:11px;white-space:nowrap}.runner-footer .compact{min-height:30px;padding:0 10px;box-shadow:none}.runner-footer .submit-cta{margin-left:0;min-height:32px;padding:0 12px;font-size:13px}.runner-nav-btn{min-width:36px;padding:0 8px}.runner-nav-btn .icon{width:18px;height:18px}}@media (max-width: 680px){.catalog-grid,.exam-grid{grid-template-columns:1fr}.app-nav{width:100%}.runner-header-side{width:100%;justify-content:flex-start}.choice-card{grid-template-columns:auto minmax(0,1fr)}.choice-card-tag{grid-column:2;justify-self:flex-start}.cloze-bank-head,.editor-head,.listening-media-head{flex-direction:column}.catalog-card h3,.exam-card h3{font-size:24px}.year-heading{font-size:28px}.assessment-grid,.assessment-section-list{grid-template-columns:1fr}.question-head{flex-direction:column}.cloze-bank-grid{grid-template-columns:1fr 1fr}}:root{--shadow-sm: 0 1px 2px rgba(11, 43, 74, .04), 0 4px 14px rgba(11, 43, 74, .05);--shadow-md: 0 2px 6px rgba(11, 43, 74, .06), 0 16px 38px rgba(11, 43, 74, .1);--shadow-lg: 0 10px 24px rgba(11, 43, 74, .1), 0 30px 70px rgba(11, 43, 74, .18);--grad-accent: linear-gradient(135deg, var(--brand) 0%, #f2b800 100%)}body{background:radial-gradient(1100px 540px at 10% -160px,rgba(255,201,26,.14),transparent 65%),radial-gradient(940px 500px at 92% -140px,rgba(11,43,74,.08),transparent 62%),radial-gradient(720px 420px at 50% 108%,rgba(255,201,26,.06),transparent 70%),var(--bg)}.brand-mark{overflow:hidden;border:1px solid var(--brand-border);background:var(--brand);box-shadow:0 6px 16px #0b2b4a29}.brand-mark .icon{width:100%;height:100%;object-fit:cover}.app-nav a{transition:background .2s ease,color .2s ease,transform .2s var(--ease-soft)}.app-nav a:hover{transform:translateY(-1px)}.app-nav .router-link-active{background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 0 0 1px var(--brand-border)}@keyframes riseIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.page-hero .hero-tag{animation:riseIn .5s var(--ease-soft) both}.page-hero h1{background:linear-gradient(115deg,#0b2b4a 30%,#0b2b4a 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:riseIn .55s var(--ease-soft) .06s both}.page-hero p{animation:riseIn .6s var(--ease-soft) .14s both}.catalog-group,.year-group{animation:riseIn .55s var(--ease-soft) .1s both}.catalog-grid>*,.exam-grid>*,.records-list>*{animation:riseIn .55s var(--ease-soft) both}.catalog-grid>*:nth-child(1),.exam-grid>*:nth-child(1),.records-list>*:nth-child(1){animation-delay:.08s}.catalog-grid>*:nth-child(2),.exam-grid>*:nth-child(2),.records-list>*:nth-child(2){animation-delay:.14s}.catalog-grid>*:nth-child(3),.exam-grid>*:nth-child(3),.records-list>*:nth-child(3){animation-delay:.2s}.catalog-grid>*:nth-child(4),.exam-grid>*:nth-child(4),.records-list>*:nth-child(4){animation-delay:.26s}.catalog-grid>*:nth-child(n+5),.exam-grid>*:nth-child(n+5),.records-list>*:nth-child(n+5){animation-delay:.32s}.page-enter-active{transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),filter .5s cubic-bezier(.22,1,.36,1);will-change:opacity,transform,filter}.page-leave-active{transition:opacity .26s ease,transform .26s ease,filter .26s ease}.page-enter-from{opacity:0;transform:translateY(16px) scale(.985);filter:blur(10px)}.page-leave-to{opacity:0;transform:translateY(-10px) scale(.99);filter:blur(6px)}.catalog-card,.exam-card,.record-card{position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .28s var(--ease-soft),box-shadow .28s var(--ease-soft),border-color .28s var(--ease-soft)}.catalog-card:before,.exam-card:before,.record-card:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#ffc91a,#ffe27a 55%,transparent 92%);opacity:0;transform:translate(-24%);transition:opacity .3s ease,transform .45s var(--ease-soft)}.catalog-card:hover,.exam-card:hover,.record-card:hover{transform:translateY(-4px);border-color:#ffc91a57;box-shadow:var(--shadow-md)}.catalog-card:hover:before,.exam-card:hover:before,.record-card:hover:before{opacity:1;transform:translate(0)}.catalog-entry--icon{color:var(--accent-ink);font-weight:600}.catalog-entry--icon .icon,.exam-card-footer strong .icon{transition:transform .24s var(--ease-soft)}.catalog-card:hover .catalog-entry--icon .icon,.exam-card:hover .catalog-entry--icon .icon,.exam-card:hover .exam-card-footer strong .icon{transform:translate(3px)}.record-score{background:var(--grad-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.empty{animation:riseIn .45s var(--ease-soft) both}.button{background:var(--grad-accent);box-shadow:0 6px 16px #ffc91a38}.button:hover{background:linear-gradient(135deg,#ffc91a,#0b2b4a);box-shadow:0 12px 26px #ffc91a4d}.button:active,.ghost:active,.submit-cta:active{transform:translateY(0) scale(.97)}.listening-audio-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.audio-popup{position:fixed;right:24px;bottom:84px;z-index:46;display:flex;flex-direction:column;gap:12px;width:min(380px,calc(100vw - 32px));padding:16px;border-radius:18px;border:1px solid rgba(255,201,26,.2);background:#fffffff7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-lg)}.audio-popup audio{width:100%}.audio-popup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.audio-popup-head strong{font-size:15px}.audio-popup-head .muted{font-size:12px}.audio-popup-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s var(--ease-soft)}.audio-popup-close:hover{background:#fdeeee;color:#b3423a;transform:rotate(90deg)}.audio-rate-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.popup-pop-enter-active{transition:opacity .3s var(--ease-soft),transform .3s var(--ease-soft)}.popup-pop-leave-active{transition:opacity .18s ease,transform .18s ease}.popup-pop-enter-from,.popup-pop-leave-to{opacity:0;transform:translateY(16px) scale(.94)}.sheet-chevron{display:none}.cloze-bank-current{margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:12px;font-weight:600}.cloze-bank-current:empty{display:none}@media (max-width: 860px){.sheet-chevron{display:block;flex:0 0 auto;margin-left:auto;color:var(--muted);transition:transform .3s var(--ease-soft)}.mobile-sheet--collapsed .sheet-chevron{transform:rotate(180deg)}.mobile-sheet{position:fixed;top:auto;left:8px;right:8px;bottom:calc(62px + env(safe-area-inset-bottom));z-index:26;margin:0;display:flex;flex-direction:column;gap:10px;max-height:min(56vh,480px);overflow:hidden;padding:10px 14px 12px;border-radius:18px;border:1px solid var(--line-strong);background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 -12px 44px #1919193d;transition:max-height .34s var(--ease-soft),box-shadow .34s var(--ease-soft)}.mobile-sheet--collapsed{max-height:58px;box-shadow:0 -6px 22px #19191929}.mobile-sheet-handle{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex:0 0 auto;position:relative;flex-direction:row;align-items:center;padding-top:12px}.mobile-sheet-handle:before{content:"";position:absolute;top:4px;left:50%;transform:translate(-50%);width:42px;height:4px;border-radius:2px;background:var(--line-strong)}.mobile-sheet .mobile-sheet-handle .muted{display:none}.mobile-sheet .question-list-scroll,.mobile-sheet .cloze-bank-grid{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px;max-height:none}.mobile-sheet--collapsed .question-list-scroll,.mobile-sheet--collapsed .cloze-bank-grid{overflow:hidden}.matching-layout,.reading-layout,.cloze-shell{padding-bottom:96px}.runner-toast{bottom:132px}.audio-popup{right:10px;left:10px;bottom:calc(70px + env(safe-area-inset-bottom));width:auto}}.page-loader{display:flex;flex-direction:column;align-items:center;gap:20px;padding:140px 24px;animation:riseIn .4s var(--ease-soft) both}.loader-orb{position:relative;width:56px;height:56px;border-radius:50%;background:conic-gradient(from 90deg,#ffc91a00,#ffc91a26 30%,#ffc91a 92%,#0b2b4a);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));animation:loaderSpin .8s cubic-bezier(.6,.2,.4,.8) infinite;filter:drop-shadow(0 4px 10px rgba(255,201,26,.28))}.loader-orb:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--grad-accent);animation:loaderPulseDot .8s ease-in-out infinite}.page-loader p{margin:0;color:var(--muted);font-size:15px;letter-spacing:.06em;animation:loaderPulse 1.6s ease-in-out infinite}@keyframes loaderSpin{to{transform:rotate(360deg)}}@keyframes loaderPulseDot{0%,to{transform:scale(.7);opacity:.7}50%{transform:scale(1.15);opacity:1}}@keyframes loaderPulse{0%,to{opacity:.5}50%{opacity:1}}.skeleton-board{display:flex;flex-direction:column;gap:20px;animation:riseIn .4s var(--ease-soft) both}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.skeleton-card{display:flex;flex-direction:column;gap:14px;min-height:132px;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);animation:riseIn .5s var(--ease-soft) both}.skeleton-card:nth-child(2){animation-delay:.06s}.skeleton-card:nth-child(3){animation-delay:.12s}.skeleton-card:nth-child(4){animation-delay:.18s}.skeleton-card:nth-child(n+5){animation-delay:.24s}.skeleton-line{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#edeae2 25%,#f8f6f0 48%,#edeae2 70%);background-size:220% 100%;animation:shimmer 1.5s linear infinite}.skeleton-line--heading{width:180px;height:18px}.skeleton-line--sm{width:38%}.skeleton-line--lg{width:62%;height:26px;border-radius:8px}.skeleton-line--foot{width:82%;margin-top:auto}@keyframes shimmer{to{background-position:-220% 0}}.audio-popup-head{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.audio-popup-head:active{cursor:grabbing}.audio-popup-head:before{content:"";position:absolute;top:7px;left:50%;transform:translate(-50%);width:38px;height:4px;border-radius:2px;background:var(--line-strong)}.audio-popup{position:fixed;padding-top:20px}.trans-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;flex:0 0 auto;white-space:nowrap;padding:7px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s var(--ease-soft)}.trans-toggle:hover:not(:disabled){border-color:#ffc91a66;color:var(--accent-ink);transform:translateY(-1px)}.trans-toggle--active{background:var(--accent-soft);border-color:#ffc91a5c;color:var(--accent-ink)}.trans-toggle:disabled{cursor:not-allowed;opacity:.55}.passage-tools{display:flex;justify-content:flex-end;margin-bottom:4px}.paragraph-translation{margin:6px 0 0;padding:10px 14px;border-left:3px solid rgba(255,201,26,.4);border-radius:0 10px 10px 0;background:#fff4bd80;color:#3c4a42;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.8;animation:analysisReveal .3s var(--ease-soft) both}.question-trans{margin:2px 0 0;color:#6b8078;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:13.5px;line-height:1.6;animation:analysisReveal .28s var(--ease-soft) both}.choice-card-trans{display:block;margin-top:3px;color:#7a8c84;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.55}.picker-choice-trans{display:block;margin-top:2px;color:#7a8c84;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:12.5px;line-height:1.5}.question-trans-bar{display:flex;justify-content:flex-end;margin-bottom:8px}.key-mark{padding:1px 3px;border-radius:4px;background:#eebe5257;box-shadow:inset 0 -2px #c48a1a73;color:inherit}.reading-paragraph-body{flex:1;min-width:0}.transcript-panel{display:flex;flex-direction:column;gap:12px}.transcript-body{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft);animation:analysisReveal .32s var(--ease-soft) both}.transcript-body p{margin:0;font-size:15px;line-height:1.8}.reference-panel{gap:10px;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,201,26,.22);background:linear-gradient(160deg,#fff4bda6,#ffffffe6);animation:riseIn .45s var(--ease-soft) both}.reference-head{display:flex;align-items:center;gap:8px;color:var(--accent-ink)}.reference-head .muted{font-size:12px}.reference-prose{margin:0;white-space:pre-wrap;font-size:15px;line-height:1.85}.reference-title{margin:0;font-size:17px;font-weight:600}.reference-block{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px dashed rgba(255,201,26,.25)}.reference-block>strong{font-size:13px;color:var(--accent-ink)}.reference-block ul,.reference-block ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.reference-block li{font-size:14px;line-height:1.7;color:#344038}.vocab-chips{display:flex;flex-wrap:wrap;gap:8px}.vocab-chip{display:inline-flex;align-items:baseline;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid rgba(255,201,26,.2);background:#ffffffd9;font-size:13px}.vocab-chip b{font-weight:600;color:var(--accent-ink)}.vocab-chip i{font-style:normal;color:var(--muted);font-size:12px}.bank-pos{font-style:normal;font-size:11px;color:var(--muted);padding:1px 6px;border-radius:999px;background:#1919190d}.analysis-meaning{margin:0;font-size:13px;font-weight:600;color:var(--accent-ink)}@media (min-width: 861px){.cloze-bank-panel{position:sticky;top:108px;z-index:8;background:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 28px #19191914}}@media (max-width: 860px){.textarea,.select,input[type=text]{font-size:16px}.matching-choice,.paragraph-chip{min-width:40px;min-height:40px}.question-chip{min-width:38px;min-height:38px}.bank-pill{min-height:46px}.trans-toggle{min-height:36px}}@media (pointer: coarse){.choice-card:active,.bank-pill:active,.matching-choice:active,.paragraph-chip:active,.question-chip:active,.cloze-blank:active,.trans-toggle:active{transform:scale(.96);transition-duration:.08s}}.course-switch{display:inline-flex;gap:4px;padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:#ffffff8c;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 0 1px #fff9,0 2px 8px #1919190d;flex-shrink:0}.course-switch-pill{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap;transition:background .45s cubic-bezier(.22,1,.36,1),color .35s ease,transform .45s cubic-bezier(.34,1.45,.5,1),box-shadow .45s cubic-bezier(.22,1,.36,1)}.course-switch-pill--active{transform:scale(1.02);color:var(--accent-on)}.course-switch-pill:hover{color:var(--text)}.course-switch-pill--active{background:var(--grad-accent);color:#fff;box-shadow:0 6px 16px #ffc91a47}.listening-empty-hint{display:inline-flex;align-items:center;gap:8px;margin:0;padding:12px 16px;border-radius:12px;border:1px dashed var(--line-strong);background:var(--surface-soft);color:var(--muted);font-size:14px}@media (max-width: 860px){.app-header-inner{position:relative}.course-switch{order:3;width:100%;justify-content:center}}.inline-link{color:var(--accent-ink);font-weight:600;border-bottom:1px solid rgba(255,201,26,.4)}.wrongbook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wrongbook-group-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.wrongbook-detail-list{display:flex;flex-direction:column;gap:12px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-strong)}.wrongbook-detail{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--line)}.wrongbook-detail-q{margin:0;font-size:15px;font-weight:600}.wrongbook-detail-a{margin:0;font-size:13px;color:var(--muted)}.wrongbook-detail-a .bad{color:#b3423a}.wrongbook-detail-a .ok{color:var(--accent-ink)}.wrongbook-detail-analysis{margin:0;font-size:13px;line-height:1.7;color:#344038}.wrongbook-practice-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.wrongbook-practice-progress{font-size:14px;font-weight:600;color:var(--accent-ink)}.wrongbook-feedback{display:flex;flex-direction:column;gap:12px;animation:analysisReveal .3s var(--ease-soft) both}.review--ok{color:var(--accent-ink)}.review--bad{color:#b3423a}.wrongbook-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.recall-card{display:flex;flex-direction:column;gap:10px}.recall-answer{margin:0;font-size:16px}.bank-star,.vocab-star{cursor:pointer;color:var(--line-strong);font-size:15px;line-height:1;transition:color .18s ease,transform .18s var(--ease-soft);-webkit-tap-highlight-color:transparent}.bank-star{position:absolute;top:6px;right:8px}.bank-star:hover,.vocab-star:hover{color:#e8a020;transform:scale(1.2)}.bank-star--saved,.vocab-star--saved{color:#e8a020}.vocab-star{margin-left:2px}.bank-pill{position:relative}.wordbook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wordbook-list{display:flex;flex-direction:column;gap:10px}.wordbook-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.wordbook-item--mastered{opacity:.55}.wordbook-item-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}.wordbook-item-main strong{font-size:18px}.wordbook-pos{font-size:12px;color:var(--muted);padding:1px 7px;border-radius:999px;background:#1919190d}.wordbook-meaning{color:var(--muted);font-size:14px}.wordbook-item-actions{display:flex;gap:8px;flex:0 0 auto}.wordbook-study{display:flex;flex-direction:column;gap:18px;align-items:center}.flip-card{width:min(460px,100%);height:240px;perspective:1200px;cursor:pointer}.flip-card-inner{position:relative;width:100%;height:100%;transition:transform .5s var(--ease-soft);transform-style:preserve-3d}.flip-card-inner--flipped{transform:rotateY(180deg)}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:20px;backface-visibility:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md);padding:24px;text-align:center}.flip-face strong{font-size:32px}.flip-face--front{background:var(--surface)}.flip-face--back{background:linear-gradient(150deg,var(--accent-soft),var(--surface));transform:rotateY(180deg)}.wordbook-study-nav{display:flex;align-items:center;gap:16px}.spell-card{width:min(460px,100%);align-items:center;text-align:center}.spell-meaning{font-size:24px}.spell-input{text-align:center;font-size:18px}.spell-input--ok{border-color:var(--accent);background:var(--accent-soft)}.spell-input--bad{border-color:#d98a86;background:#fdeeee}.paper-directions-wrap{display:flex;flex-direction:column;gap:8px}.directions-toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:13px;font-weight:600;cursor:pointer}.directions-chevron{transition:transform .25s var(--ease-soft)}.directions-chevron--open{transform:rotate(180deg)}.listening-audio-shell--empty{padding:0!important;border:0!important;background:transparent!important}.pane-switch,.reading-sheet-grip{display:none}.word-popup-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:51}.word-popup{position:fixed;z-index:52;transform:translate(-50%,calc(-100% - 14px));min-width:160px;max-width:min(280px,calc(100vw - 24px));display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:#fffffffc;border:1px solid var(--line-strong);box-shadow:0 12px 34px #19191938}.word-popup:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%) rotate(45deg);width:12px;height:12px;background:var(--surface);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.word-popup-main{display:flex;align-items:baseline;gap:8px}.word-popup-main strong{font-size:17px;color:var(--text)}.word-popup-meaning{margin:0;font-size:14px;line-height:1.55;color:#344038}.word-popup-save{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-top:2px;padding:7px 12px;border-radius:999px;border:0;background:var(--accent-soft);color:var(--accent-ink);font-size:13px;font-weight:600;cursor:pointer}.word-pop-enter-active{transition:opacity .18s ease,transform .2s cubic-bezier(.34,1.5,.5,1)}.word-pop-enter-from{opacity:0;transform:translate(-50%,calc(-100% - 4px)) scale(.9)}.answer-card-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:0 14px;min-height:44px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-weight:600;cursor:pointer;transition:transform .18s var(--ease-soft),box-shadow .18s ease}.answer-card-btn:active{transform:scale(.97)}.answer-card-btn-count{font-size:12px;color:var(--accent-ink);font-weight:700}.answer-card-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;background:#0b2b4a52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.answer-card{width:min(420px,88vw);height:100%;display:flex;flex-direction:column;gap:12px;padding:calc(16px + env(safe-area-inset-top,0px)) 18px calc(16px + env(safe-area-inset-bottom,0px));background:#fffffffc;box-shadow:-18px 0 50px #1919193d}.answer-card-head{display:flex;align-items:center;justify-content:space-between}.answer-card-head strong{font-size:18px}.answer-card-summary{margin:0;font-size:14px;color:var(--muted)}.answer-card-summary b{color:var(--accent-ink);font-size:16px}.answer-card-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;padding:2px}.answer-card-section{display:flex;flex-direction:column;gap:10px}.answer-card-section-label{font-size:13px;font-weight:600;color:var(--muted)}.answer-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:8px}.answer-card-chip{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:700;cursor:pointer;transition:transform .15s var(--ease-soft),border-color .2s ease,background .2s ease}.answer-card-chip:active{transform:scale(.94)}.answer-card-chip--answered{background:var(--accent-soft);border-color:#ffc91a59;color:var(--accent-ink)}.answer-card-chip--correct{background:#ffc91a29;border-color:var(--accent);color:var(--accent-ink)}.answer-card-chip--wrong{background:#fdeeee;border-color:#d98a86;color:#b3423a}.answer-card-foot{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--line)}.answer-card-submit{width:100%;justify-content:center;min-height:46px}.card-slide-enter-active{transition:transform .34s cubic-bezier(.22,1,.36,1)}.card-slide-enter-from{transform:translate(100%)}@media (max-width: 860px){.submit-cta--header{min-height:34px;padding:0 14px;font-size:13px;order:-1}}.blank-picker-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;display:flex;align-items:flex-end;justify-content:center;background:#0b2b4a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.blank-picker{width:100%;max-width:560px;max-height:72vh;display:flex;flex-direction:column;gap:12px;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));background:#fffffffc;border-radius:22px 22px 0 0;box-shadow:0 -18px 50px #19191947}@media (min-width: 861px){.blank-picker-mask{align-items:center}.blank-picker{border-radius:20px;max-height:80vh}}.blank-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.blank-picker-head strong{font-size:16px;color:var(--accent-ink)}.blank-picker-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);cursor:pointer}.blank-picker-grid{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;gap:8px;padding:2px}.blank-picker-grid--words{grid-template-columns:1fr 1fr}.blank-picker-grid--choices{grid-template-columns:1fr}.picker-choice{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease,transform .15s var(--ease-soft)}.picker-choice:active{transform:scale(.98)}.picker-choice--active{border-color:var(--accent);background:var(--accent-soft)}.picker-choice-badge{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffc91a1a;color:var(--accent-ink);font-weight:700;font-size:14px}.picker-choice--active .picker-choice-badge{background:var(--grad-accent);color:var(--accent-on)}.picker-choice-text{font-size:15px;line-height:1.5}.blank-picker-clear{align-self:center}.picker-fade-enter-active,.picker-fade-leave-active{transition:opacity .24s ease}.picker-fade-enter-from,.picker-fade-leave-to{opacity:0}.picker-pop-enter-active{transition:transform .32s cubic-bezier(.22,1,.36,1)}.picker-pop-enter-from{transform:translateY(100%)}.matching-hint{margin:10px 0 0;padding:8px 12px;border-radius:10px;background:var(--accent-soft);border:1px solid rgba(255,201,26,.18);font-size:13px;line-height:1.6;color:#344038}.matching-hint strong{color:var(--accent-ink)}@media (max-width: 860px){.pane-switch,.runner-body--wide .question-palette,.runner-body--wide .paper-card-head .muted,.runner-body--wide .paper-card-index{display:none}.runner-body--wide .paper-card-head h2{font-size:17px}.runner-body--wide .paper-card{padding:12px 14px;gap:8px}.runner-body--wide .passage-pane-head .muted{display:none}.reading-layout,.matching-layout{display:block;padding-bottom:0}.passage-pane--reading,.passage-pane--matching{position:static;max-height:none;height:calc(100dvh - 250px);min-height:300px;overflow:hidden;display:flex;flex-direction:column}.passage-pane--reading .passage-scroll,.passage-pane--matching .passage-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:120px}.cloze-shell{display:block}.passage-pane--cloze{height:calc(100dvh - 250px);min-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:130px}.question-list--reading.reading-sheet,.question-list--matching.reading-sheet,.cloze-bank-panel.reading-sheet{position:fixed;top:auto;left:0;right:0;bottom:calc(66px + env(safe-area-inset-bottom,0px));height:var(--sheet-h, 50vh);max-height:88vh;z-index:28;margin:0;padding:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line-strong);border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 -14px 44px #19191938;overflow:hidden;transition:height .28s var(--ease-soft)}.reading-sheet--dragging{transition:none!important}.reading-sheet-handle{flex:0 0 auto;padding:8px 16px 10px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.reading-sheet-handle:active{cursor:grabbing}.reading-sheet-grip{display:block;width:44px;height:5px;margin:2px auto 8px;border-radius:3px;background:var(--line-strong)}.reading-sheet .question-panel-head{padding-bottom:0;border-bottom:0;margin-bottom:0}.reading-sheet .question-list-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 14px calc(14px + env(safe-area-inset-bottom,0px))}.cloze-bank-panel.reading-sheet .cloze-bank-grid{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0;padding:8px 14px calc(14px + env(safe-area-inset-bottom,0px))}.cloze-bank-panel.reading-sheet .cloze-bank-head{padding-top:8px}.cloze-bank-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px}.cloze-bank-panel.reading-sheet,.reading-layout--blanks .question-list--reading.reading-sheet{display:none}.passage-pane--cloze,.reading-layout--blanks .passage-pane--reading{height:auto;min-height:0;max-height:none;overflow:visible;display:block;padding-bottom:24px}.passage-pane--cloze .passage-scroll,.reading-layout--blanks .passage-scroll{overflow:visible;max-height:none;padding-right:0;padding-bottom:0}.passage-pane-head{flex-wrap:wrap;align-items:center;gap:10px}.passage-pane-head>.stack{flex:1 1 100%}.passage-pane-head .trans-toggle{order:2}.passage-pane-head .question-panel-count{order:3;margin-left:auto}.subjective-editor-wrap{order:1}.subjective-side{order:2;padding:14px}.subjective-summary{margin-bottom:4px}.paper-directions{font-size:13px;line-height:1.6}.paper-card-index{font-size:12px}.paper-card-head h2{font-size:19px}.cloze-bank-grid{grid-template-columns:1fr 1fr;gap:8px}.bank-pill{flex-direction:row;align-items:center;gap:8px;padding:10px 26px 10px 12px}.bank-pill .bank-pos{display:none}.bank-star{top:50%;right:8px;transform:translateY(-50%)}}.tab-bar,.sub-switch{display:none}@media (max-width: 860px){.sub-switch{display:flex;gap:6px;padding:10px 14px 0;max-width:1760px;margin:0 auto}.sub-switch-item{flex:1;text-align:center;padding:9px 0;border-radius:12px;font-size:14px;font-weight:600;color:var(--muted);background:var(--surface);border:1px solid var(--line);transition:color .2s ease,background .2s ease,border-color .2s ease}.sub-switch-item--active{color:var(--accent-on);background:var(--grad-accent);border-color:transparent;box-shadow:0 6px 16px #ffc91a3d}}@media (max-width: 860px){.app-nav{display:none}.app-header-inner{flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-top,0px));max-width:none}.app-header{padding-top:env(safe-area-inset-top,0px)}.brand{flex:1 1 auto;min-width:0;gap:8px}.brand-mark{flex:0 0 auto;width:34px;height:34px}.brand-copy{min-width:0;overflow:hidden}.brand-copy span{display:none}.brand-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header .course-switch{flex:0 0 auto;width:max-content;max-width:60vw;margin-left:auto;padding:3px}.course-switch-pill{padding:6px 11px;font-size:13px}.app-main--tabbed{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))!important}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -6px 20px #19191914}.tab-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;border-radius:14px;color:var(--muted);font-size:11px;font-weight:600;transition:color .35s ease,transform .4s cubic-bezier(.34,1.45,.5,1);-webkit-tap-highlight-color:transparent}.tab-item:before{content:"";position:absolute;top:2px;right:6px;bottom:2px;left:6px;border-radius:12px;background:var(--accent-soft);opacity:0;transform:scale(.7);transition:opacity .4s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.34,1.5,.5,1);z-index:-1}.tab-item .icon{width:22px;height:22px;transition:transform .45s cubic-bezier(.34,1.5,.5,1)}.tab-item--active{color:var(--accent-ink)}.tab-item--active:before{opacity:1;transform:scale(1)}.tab-item--active .icon{transform:translateY(-1px) scale(1.1)}.tab-item:active{transform:scale(.92)}}.dict-box{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.dict-input-row{display:flex;gap:10px}.dict-input{flex:1}.dict-result{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border-radius:12px;background:var(--accent-soft);border:1px solid rgba(255,201,26,.2);animation:analysisReveal .28s var(--ease-soft) both}.dict-result-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.dict-result-main strong{font-size:20px}.dict-sources{font-size:12px;color:var(--accent-ink);padding:1px 8px;border-radius:999px;background:#ffffffb3}.dict-meaning{margin:0;font-size:15px;line-height:1.7}.dict-miss{font-size:13px}@media (max-width: 860px){.vocab-page{gap:12px}.vocab-page .page-hero{margin-bottom:0;gap:4px}.vocab-page .page-hero h1{font-size:22px;line-height:1.2}.vocab-page .page-hero p{display:none}.vocab-page .wordbook-toolbar{flex-direction:column;align-items:stretch;gap:8px}.vocab-page .wordbook-toolbar .course-switch,.vocab-page .vocab-modes{align-self:stretch;width:auto;max-width:none;justify-content:space-between}.vocab-page .wordbook-toolbar .course-switch-pill,.vocab-page .vocab-modes .course-switch-pill{flex:1 1 0;justify-content:center;text-align:center}.vocab-page .vocab-progress{align-items:stretch;min-width:0}.vocab-page .vocab-progress .muted{font-size:12px}.vocab-page .vocab-progress-bar{width:100%}.vocab-page .flip-card{width:100%;height:300px}.vocab-page .flip-face strong{font-size:36px}.vocab-page .wordbook-study-nav{flex-wrap:wrap;justify-content:center}.vocab-page .spell-card{width:100%}}.vocab-progress{display:flex;flex-direction:column;gap:6px;align-items:flex-end;min-width:200px}.vocab-progress-bar{width:200px;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.vocab-progress-bar span{display:block;height:100%;border-radius:999px;background:var(--grad-accent);transition:width .4s var(--ease-soft)}.vocab-modes{align-self:flex-start}.flip-meaning{font-size:22px!important;line-height:1.5;font-weight:600}.vocab-browse{display:flex;flex-direction:column;gap:12px}.vocab-search{max-width:420px}.vocab-list{display:flex;flex-direction:column;gap:8px}.vocab-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface)}.vocab-row--mastered{opacity:.5}.vocab-row-main{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-width:0}.vocab-row-main strong{font-size:16px}.vocab-row-actions{display:flex;gap:6px;flex:0 0 auto}.vocab-icon-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);cursor:pointer;font-size:14px;transition:background .18s ease,color .18s ease,transform .18s var(--ease-soft)}.vocab-icon-btn:hover{color:var(--accent-ink);border-color:#ffc91a66;transform:scale(1.1)}.vocab-more{align-self:center}.assessment-share-btn{margin-left:auto;flex:0 0 auto}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.stat-tile{display:flex;flex-direction:column;gap:8px;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);animation:riseIn .5s var(--ease-soft) both}.stat-tile--flame{background:linear-gradient(150deg,#ffecd1b3,#ffffffe6);border-color:#e691284d}.stat-tile-label{font-size:13px;color:var(--muted);font-weight:600}.stat-tile-value{font-size:34px;font-weight:700;line-height:1;color:var(--text)}.stat-tile-value em{font-style:normal;font-size:15px;font-weight:600;color:var(--muted);margin-left:3px}.stat-tile--flame .stat-tile-value{background:linear-gradient(135deg,#e8850e,#d1591a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat-panel{display:flex;flex-direction:column;gap:14px;padding:20px 22px;border-radius:16px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm)}.stat-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.stat-panel-head strong{font-size:15px}.stat-panel-head .muted{font-size:12px}.trend-chart{width:100%;height:auto;overflow:visible}.trend-axis{stroke:var(--line-strong);stroke-width:1}.trend-bar{fill:#ffc91a29}.trend-line{stroke:var(--accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.trend-dot{fill:var(--accent)}.heatmap{display:grid;grid-template-columns:repeat(8,1fr);grid-auto-flow:row;gap:6px}.heatmap-cell{aspect-ratio:1;border-radius:4px;background:var(--surface-soft);border:1px solid var(--line)}.heatmap-cell--1{background:#ffc91a47;border-color:transparent}.heatmap-cell--2{background:#ffc91a8c;border-color:transparent}.heatmap-cell--3{background:#ffc91ad9;border-color:transparent}@media (prefers-reduced-motion: reduce){.page-hero .hero-tag,.page-hero h1,.page-hero p,.catalog-group,.year-group,.catalog-grid>*,.exam-grid>*,.records-list>*,.empty,.catalog-card,.exam-card,.record-card,.audio-popup,.audio-popup-close,.mobile-sheet,.sheet-chevron,.page-enter-active,.page-leave-active,.popup-pop-enter-active,.popup-pop-leave-active{animation:none!important;transition:none!important;transform:none!important}}.mock-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;padding:18px 22px;border-radius:18px;border:1px solid var(--accent-soft);background:linear-gradient(120deg,var(--accent-soft),var(--surface) 70%);text-decoration:none;color:var(--text);transition:transform .25s var(--ease-soft),box-shadow .25s var(--ease-soft)}.mock-entry:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px #ffc91a8c}.mock-entry-text{display:flex;flex-direction:column;gap:4px}.mock-entry-text strong{font-size:1.02rem}.mock-entry-text span{color:var(--muted);font-size:.9rem}.mock-entry-last{margin-top:2px;display:inline-flex;align-items:center;align-self:flex-start;padding:2px 10px;border-radius:999px;background:#ffc91a1f;color:#ffc91a!important;font-size:.8rem!important;font-weight:600}.catalog-card-meta{margin-top:8px!important;padding-top:8px;border-top:1px dashed var(--border, rgba(0, 0, 0, .08));font-size:.78rem!important;color:#93a49c!important}.mock-entry-cta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:9px 16px;border-radius:999px;background:var(--accent);color:var(--accent-on);font-weight:600;font-size:.9rem}.mock-course-switch{margin-bottom:20px}.mock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.mock-type-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--surface);transition:border-color .2s var(--ease-soft),box-shadow .2s var(--ease-soft)}.mock-type-card--on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,0 12px 26px -20px #ffc91a99}.mock-type-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mock-type-title{display:inline-flex;align-items:center;gap:8px}.mock-type-title h3{margin:0;font-size:1rem}.mock-type-avail{font-size:.78rem;color:var(--muted);white-space:nowrap}.mock-type-desc{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5;flex:1}.mock-stepper{display:inline-flex;align-items:center;gap:14px;align-self:flex-start;padding:4px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line)}.mock-step-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s}.mock-step-btn:not(:disabled):hover{background:var(--accent-soft)}.mock-step-btn:disabled{opacity:.4;cursor:not-allowed}.mock-step-value{min-width:18px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.mock-summary{position:sticky;bottom:12px;margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 34px -24px #0006}.mock-summary-info{display:inline-flex;align-items:baseline;gap:8px}.mock-summary-info strong{font-size:1.5rem;color:var(--accent-ink)}.mock-summary-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}.mock-error{margin-top:12px}@media (max-width: 640px){.mock-entry{padding:14px 16px}.mock-entry-cta span{display:none}.mock-summary{bottom:76px}.mock-summary-actions{width:100%}.mock-summary-actions .button{flex:1}}.hl-mark{background:linear-gradient(transparent 58%,#f4d03f8c 58%);border-radius:2px;padding:0 1px;cursor:pointer;transition:background .15s}.hl-mark:hover{background:linear-gradient(transparent 40%,#f4d03fb3 40%)}.hl-mark--note{background:linear-gradient(transparent 58%,#f4d03f8c 58%);border-bottom:2px solid #e0a800}.hl-toolbar{position:fixed;z-index:90;transform:translate(-50%,-100%);display:inline-flex;gap:2px;padding:4px;border-radius:12px;background:#0b2b4a;box-shadow:0 12px 30px -12px #00000080}.hl-toolbar button{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:#fff;font-size:.86rem;padding:7px 12px;border-radius:9px;cursor:pointer}.hl-toolbar button:hover{background:#ffffff24}.hl-toolbar .icon{color:#f4d03f}.hl-popup{position:fixed;z-index:92;width:min(300px,calc(100vw - 32px));transform:translate(-50%,12px);padding:14px 16px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 40px -16px #0006}.hl-popup-text{margin:0 0 8px;font-size:.92rem;color:var(--accent-ink);line-height:1.5}.hl-popup-note{margin:0 0 12px;font-size:.9rem;line-height:1.5;white-space:pre-wrap}.hl-note-input{width:100%;resize:vertical;margin-bottom:12px;font-family:inherit}.hl-popup-actions{display:flex;justify-content:flex-end;gap:10px}.hl-del{color:#c0392b}.hl-list{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:4px 2px}.hl-list-item{display:flex;flex-direction:column;gap:4px;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft);cursor:pointer;transition:border-color .15s}.hl-list-item:hover{border-color:var(--accent)}.hl-list-text{font-size:.9rem;line-height:1.5;border-left:3px solid #f4d03f;padding-left:8px}.hl-list-note{font-size:.84rem;color:var(--muted);line-height:1.4;white-space:pre-wrap}.hl-panel-btn .icon{color:#d9a400}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.badge-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;padding:16px 12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft);filter:grayscale(1);opacity:.62;transition:transform .2s var(--ease-soft),box-shadow .2s var(--ease-soft)}.badge-card--earned{filter:none;opacity:1;border-color:var(--accent);background:linear-gradient(155deg,var(--accent-soft),var(--surface) 75%);box-shadow:0 12px 26px -20px #ffc91aa6}.badge-card--earned:hover{transform:translateY(-2px)}.badge-emoji{font-size:2rem;line-height:1}.badge-title{font-size:.98rem}.badge-desc{font-size:.76rem;color:var(--muted);line-height:1.35}.badge-progress{width:100%;height:5px;margin-top:4px;border-radius:999px;background:var(--line);overflow:hidden}.badge-progress span{display:block;height:100%;border-radius:999px;background:var(--accent)}.badge-earned-tag{margin-top:2px;font-size:.72rem;font-weight:700;color:var(--accent-ink);letter-spacing:.02em}.achieve-card{position:fixed;left:50%;top:22%;z-index:120;transform:translate(-50%);display:flex;align-items:center;gap:14px;padding:16px 22px 16px 18px;border-radius:18px;background:linear-gradient(135deg,#0b2b4a,#0b2b4a 55%,#ffe27a);color:#fff;box-shadow:0 22px 50px -18px #ffc91abf;cursor:pointer;max-width:min(92vw,420px)}.achieve-emoji{font-size:2.6rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.25));animation:achieveEmoji .7s var(--ease-soft)}.achieve-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.achieve-eyebrow{font-size:.74rem;letter-spacing:.06em;opacity:.9}.achieve-title{font-size:1.16rem;font-weight:800}.achieve-desc{font-size:.82rem;opacity:.9;line-height:1.35}@keyframes achieveEmoji{0%{transform:scale(.3) rotate(-20deg)}60%{transform:scale(1.25) rotate(8deg)}to{transform:scale(1) rotate(0)}}.achieve-pop-enter-active{transition:transform .5s var(--ease-soft),opacity .5s var(--ease-soft)}.achieve-pop-leave-active{transition:transform .35s ease,opacity .35s ease}.achieve-pop-enter-from{opacity:0;transform:translate(-50%) translateY(-24px) scale(.9)}.achieve-pop-leave-to{opacity:0;transform:translate(-50%) translateY(-14px) scale(.96)}@media (prefers-reduced-motion: reduce){.achieve-emoji{animation:none}}.reading-paragraph-body>p:not(.paragraph-translation),.matching-paragraph>p:not(.paragraph-translation),.passage-pane--cloze .reading-paragraph-body>p:not(.paragraph-translation){font-size:calc(1em * var(--reading-scale, 1));transition:font-size .18s var(--ease-soft)}.font-stepper{display:inline-flex;flex:0 0 auto;border-radius:9px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}.font-stepper button{border:0;background:transparent;color:var(--text);padding:5px 10px;font-size:.9rem;line-height:1;cursor:pointer;transition:background .15s}.font-stepper button sup{font-size:.62em}.font-stepper button:first-child{border-right:1px solid var(--line)}.font-stepper button:not(:disabled):hover{background:var(--accent-soft);color:var(--accent-ink)}.font-stepper button:disabled{opacity:.38;cursor:not-allowed}.exam-done-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.76rem;font-weight:700;white-space:nowrap}.exam-card--done{border-color:#ffc91a52;box-shadow:inset 3px 0 0 var(--accent)}.hero-done-count{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.82rem;font-weight:700}.catalog-card--done{border-color:#ffc91a52;box-shadow:inset 3px 0 0 var(--accent)}.exam-filter{margin-bottom:20px;width:fit-content}.vocab-mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.vocab-autospeak{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.84rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.vocab-autospeak--on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.vocab-speak-btn{position:absolute;top:12px;right:12px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#ffffffe6;color:var(--accent-ink);cursor:pointer;transition:transform .15s,background .15s}.vocab-speak-btn:hover{transform:scale(1.08);background:var(--accent-soft)}.vocab-speak-inline{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin-left:8px;padding:4px;border:0;border-radius:8px;background:transparent;color:var(--accent-ink);cursor:pointer}.vocab-speak-inline:hover{background:var(--accent-soft)}.choice-card-wrap{align-items:center;text-align:center}.choice-word{display:flex;align-items:center;justify-content:center;gap:4px}.choice-word strong{font-size:2rem;letter-spacing:.01em}.choice-opts{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:4px}.choice-opt{display:flex;align-items:center;gap:8px;width:100%;padding:13px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:.98rem;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .1s}.choice-opt:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft)}.choice-opt:not(:disabled):active{transform:scale(.99)}.choice-opt--correct{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.choice-opt--wrong{border-color:#e2695a;background:#fdecea;color:#b23b2c}.choice-opt--dim{opacity:.5}.listen-prompt{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0 4px}.listen-play-btn{display:inline-flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:999px;border:none;background:var(--grad-accent);color:var(--accent-on);cursor:pointer;box-shadow:var(--shadow-md);transition:transform .18s var(--ease-soft)}.listen-play-btn:hover{transform:scale(1.06)}.listen-play-btn:active{transform:scale(.96)}.listen-play-btn .icon{width:34px;height:34px}.choice-opt--word{flex-direction:column;align-items:center;gap:3px;text-align:center}.listen-opt-word{font-size:1.05rem;font-weight:600;letter-spacing:.01em}.listen-opt-cn{font-size:.8rem;color:var(--muted)}.vocab-settings{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft)}.vocab-setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.vocab-setting-label{font-size:.9rem;font-weight:600;color:var(--text)}.vocab-toggle{min-width:52px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:.84rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.vocab-toggle--on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.study-progress{align-self:center;display:inline-flex;align-items:center;gap:8px;padding:3px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;margin-bottom:4px}.study-combo{padding:1px 8px;border-radius:999px;background:linear-gradient(135deg,#f5a623,#e8703b);color:#fff;font-size:.78rem;animation:comboPop .34s var(--ease-soft)}@keyframes comboPop{0%{transform:scale(.6);opacity:0}55%{transform:scale(1.18);opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.study-combo{animation:none}}.study-group-done{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 20px;text-align:center}.study-group-done strong{font-size:1.3rem}.study-done-emoji{font-size:2.6rem;animation:achieveEmoji .7s var(--ease-soft)}.vocab-example{margin:4px 0 0;padding:12px 16px;border-radius:12px;border-left:3px solid var(--accent);background:var(--surface-soft);max-width:520px;text-align:left}.vocab-example-en{margin:0;color:#3c4a42;font-size:.92rem;line-height:1.7}.vocab-example-cn{margin:5px 0 0;color:var(--muted);font-size:.86rem;line-height:1.6}.vocab-ipa{display:block;margin:6px 0 2px;color:#ffc91a;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:1rem;letter-spacing:.02em}.vocab-ipa--back{margin:2px 0 6px;font-size:.92rem;opacity:.85}.vocab-ipa--inline{display:inline;margin:0 4px;font-size:.92rem}.vocab-endef{margin:8px 0 0;padding-top:8px;border-top:1px dashed rgba(255,201,26,.28);color:#5a6b62;font-size:.86rem;line-height:1.6;font-style:italic}.ex-mark{background:#f4d03f80;border-radius:3px;padding:0 2px;font-weight:700;color:inherit}.srs-dash{display:flex;gap:10px;margin-bottom:6px}.srs-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft)}.srs-stat strong{font-size:1.35rem;color:var(--accent-ink);font-variant-numeric:tabular-nums}.srs-stat span{font-size:.76rem;color:var(--muted)}.study-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin:6px 0 2px}.study-summary-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:12px;background:var(--accent-soft)}.study-summary-stat strong{font-size:1.2rem;color:var(--accent-ink);font-variant-numeric:tabular-nums}.study-summary-stat span{font-size:.72rem;color:var(--muted)}.flip-card{position:relative;animation:cardEnter .32s var(--ease-soft)}@keyframes cardEnter{0%{opacity:0;transform:translateY(16px) scale(.93)}to{opacity:1;transform:none}}.flip-card--know{animation:cardFlyKnow .33s cubic-bezier(.4,0,.7,1) forwards;pointer-events:none}@keyframes cardFlyKnow{to{transform:translate(62%,-34%) rotate(15deg);opacity:0}}.flip-card--unknow{animation:cardFlyUnknow .33s cubic-bezier(.4,0,.7,1) forwards;pointer-events:none}@keyframes cardFlyUnknow{to{transform:translate(-62%,24%) rotate(-13deg);opacity:0}}.card-verdict{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:flex;align-items:center;justify-content:center;border-radius:18px;font-size:1.5rem;font-weight:800;letter-spacing:.02em;color:#fff;animation:verdictPop .33s var(--ease-soft)}.card-verdict--know{background:linear-gradient(135deg,#ffc91af2,#ffe27af2);color:var(--accent-on)}.card-verdict--unknow{background:linear-gradient(135deg,#e07a3ff2,#e8965af2)}@keyframes verdictPop{0%{opacity:0;transform:scale(.7)}55%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.flip-card{cursor:grab;touch-action:pan-y;transition:transform .28s var(--ease-soft),opacity .28s var(--ease-soft)}.flip-card--dragging{transition:none;cursor:grabbing}.swipe-hint{position:absolute;top:14px;z-index:7;padding:6px 14px;border-radius:999px;font-size:.95rem;font-weight:800;color:#fff;pointer-events:none;animation:verdictPop .2s var(--ease-soft)}.swipe-hint--know{right:14px;background:linear-gradient(135deg,#ffc91af2,#ffe27af2);color:var(--accent-on)}.swipe-hint--unknow{left:14px;background:linear-gradient(135deg,#e07a3ff2,#e8965af2)}.swipe-tip{margin:12px 0 0;text-align:center;font-size:12.5px;color:#93a49c;-webkit-user-select:none;user-select:none}@media (prefers-reduced-motion: reduce){.flip-card{transition:none}}.wordbook-study-nav .compact{transition:transform .12s var(--ease-soft)}.wordbook-study-nav .compact:active{transform:scale(.94)}@media (prefers-reduced-motion: reduce){.flip-card,.flip-card--know,.flip-card--unknow,.card-verdict{animation:none}.flip-card--know,.flip-card--unknow{opacity:0}}.srs-goal{display:flex;align-items:center;gap:10px;margin:8px 0 4px}.srs-goal-bar{flex:1;height:8px;border-radius:999px;background:var(--line);overflow:hidden}.srs-goal-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#ffe27a);transition:width .5s var(--ease-soft)}.srs-goal-text{flex:0 0 auto;font-size:.78rem;color:var(--muted);font-variant-numeric:tabular-nums}:root[data-theme=dark]{color-scheme:dark;color:#e9e7e2;background:#15171b;--bg: #15171b;--surface: #1d2025;--surface-soft: #24272e;--line: #30343d;--line-strong: #3d424c;--text: #e9e7e2;--muted: #9ba1a0;--brand: #ffd447;--brand-soft: #3a3214;--brand-ink: #ffe27a;--brand-border: rgba(255, 212, 71, .3);--success: #ffd447;--success-soft: #3a3214;--success-ink: #ffe27a;--accent: var(--brand);--accent-soft: var(--brand-soft);--accent-ink: var(--brand-ink);--accent-on: #0b2b4a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .5);--shadow-md: 0 2px 6px rgba(0, 0, 0, .5), 0 16px 38px rgba(0, 0, 0, .6);--shadow-lg: 0 10px 24px rgba(0, 0, 0, .55), 0 30px 70px rgba(0, 0, 0, .7)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;color:#e9e7e2;background:#15171b;--bg: #15171b;--surface: #1d2025;--surface-soft: #24272e;--line: #30343d;--line-strong: #3d424c;--text: #e9e7e2;--muted: #9ba1a0;--brand: #ffd447;--brand-soft: #3a3214;--brand-ink: #ffe27a;--brand-border: rgba(255, 212, 71, .3);--success: #ffd447;--success-soft: #3a3214;--success-ink: #ffe27a;--accent: var(--brand);--accent-soft: var(--brand-soft);--accent-ink: var(--brand-ink);--accent-on: #0b2b4a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .5);--shadow-md: 0 2px 6px rgba(0, 0, 0, .5), 0 16px 38px rgba(0, 0, 0, .6);--shadow-lg: 0 10px 24px rgba(0, 0, 0, .55), 0 30px 70px rgba(0, 0, 0, .7)}}:root[data-theme=dark] .app-header{background:#15171be6}:root[data-theme=dark] .runner-header{background:#15171beb}:root[data-theme=dark] .tab-bar{background:#15171beb;box-shadow:0 -6px 20px #00000080}:root[data-theme=dark] .audio-popup,:root[data-theme=dark] .mobile-sheet,:root[data-theme=dark] .cloze-bank-panel,:root[data-theme=dark] .word-popup,:root[data-theme=dark] .answer-card,:root[data-theme=dark] .blank-picker{background:#1d2025fa}:root[data-theme=dark] .course-switch{background:#282c328c}:root[data-theme=dark] .runner-footer .ghost,:root[data-theme=dark] .runner-footer-inner{background:#282c32eb}:root[data-theme=dark] .app-nav a:hover{background:#ffffff0f}:root[data-theme=dark] .brand-mark,:root[data-theme=dark] .choice-card-tag,:root[data-theme=dark] .listening-audio-badge,:root[data-theme=dark] .question-panel-count,:root[data-theme=dark] .reading-paragraph-index,:root[data-theme=dark] .analysis-card,:root[data-theme=dark] .paragraph-translation,:root[data-theme=dark] .listening-flow-item:hover{background:var(--accent-soft)}:root[data-theme=dark] .assessment-card,:root[data-theme=dark] .assessment-section-item,:root[data-theme=dark] .question-palette,:root[data-theme=dark] .question-chip--empty,:root[data-theme=dark] .listening-audio-shell,:root[data-theme=dark] .listening-flow-item,:root[data-theme=dark] .review-empty,:root[data-theme=dark] .vocab-chip,:root[data-theme=dark] .dict-sources,:root[data-theme=dark] .mock-summary,:root[data-theme=dark] .vocab-speak-btn{background:var(--surface)}:root[data-theme=dark] .question-list--matching{background:var(--surface-soft)}.theme-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:color .2s var(--ease-soft),border-color .2s var(--ease-soft),transform .2s var(--ease-soft)}.theme-toggle:hover{color:var(--accent-ink);border-color:var(--accent);transform:translateY(-1px)}:root[data-theme=dark] .page-hero h1{background:linear-gradient(115deg,#e9e7e2 30%,#ffe27a 90%);-webkit-background-clip:text;background-clip:text}:root[data-theme=dark] .stat-tile--flame{background:linear-gradient(150deg,#784e1459,#282c3299);border-color:#e6912859}:root[data-theme=dark] .assessment-panel{background:linear-gradient(180deg,var(--accent-soft) 0%,var(--surface) 100%)}:root[data-theme=dark] .listening-panel--hero,:root[data-theme=dark] .question-panel-head{background:linear-gradient(180deg,var(--surface-soft) 0%,var(--surface) 100%)}:root[data-theme=dark] .reference-panel{background:linear-gradient(160deg,var(--accent-soft),var(--surface-soft))}:root[data-theme=dark] .choice-card--correct,:root[data-theme=dark] .choice-card--selected,:root[data-theme=dark] .matching-choice--correct,:root[data-theme=dark] .cloze-blank--correct,:root[data-theme=dark] .passage-blank--correct,:root[data-theme=dark] .question-chip--correct,:root[data-theme=dark] .analysis-strip--correct{background:#ffd44733;border-color:#ffd4476b}:root[data-theme=dark] .choice-card--wrong,:root[data-theme=dark] .matching-choice--wrong,:root[data-theme=dark] .cloze-blank--wrong,:root[data-theme=dark] .passage-blank--wrong,:root[data-theme=dark] .question-chip--wrong,:root[data-theme=dark] .question-status--wrong,:root[data-theme=dark] .analysis-strip--wrong{background:#e06c5a38;border-color:#e06c5a73;color:#f0a58f}:root[data-theme=dark] .question-status--correct{background:#ffd44733}:root[data-theme=dark] .cloze-blank--wrong,:root[data-theme=dark] .passage-blank--wrong{border-bottom-color:#e07a5f}:root[data-theme=dark] .paper-prose,:root[data-theme=dark] .choice-card-copy,:root[data-theme=dark] .cloze-slot strong,:root[data-theme=dark] .analysis-card p,:root[data-theme=dark] .analysis-strip p,:root[data-theme=dark] .reference-block li,:root[data-theme=dark] .wrongbook-detail-analysis,:root[data-theme=dark] .word-popup-meaning,:root[data-theme=dark] .matching-hint,:root[data-theme=dark] .paragraph-translation{color:var(--text)}:root[data-theme=dark] .paper-directions,:root[data-theme=dark] .listening-flow-item,:root[data-theme=dark] .vocab-example-en,:root[data-theme=dark] .vocab-endef,:root[data-theme=dark] .review{color:var(--muted)}:root[data-theme=dark] .question-chip--wrong,:root[data-theme=dark] .question-status--wrong,:root[data-theme=dark] .choice-card--wrong .choice-card-badge,:root[data-theme=dark] .matching-choice--wrong,:root[data-theme=dark] .cloze-blank--wrong,:root[data-theme=dark] .passage-blank--wrong,:root[data-theme=dark] .runner-modal-stat--warn strong,:root[data-theme=dark] .wrongbook-detail-a .bad,:root[data-theme=dark] .review--bad,:root[data-theme=dark] .answer-card-chip--wrong,:root[data-theme=dark] .choice-opt--wrong{color:#f0a58f}:root[data-theme=dark] .hl-del,:root[data-theme=dark] .audio-popup-close:hover{color:#e07a5f}:root[data-theme=dark] .vocab-ipa{color:var(--accent-ink)}:root[data-theme=dark] .answer-card-chip--wrong{background:#e06c5a33;border-color:#e06c5a80}:root[data-theme=dark] .answer-card-chip--correct{background:#ffd44733}.onboard-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;background:#14161a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.onboard-card{position:relative;width:min(100%,400px);padding:30px 28px 24px;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center;animation:cardEnter .4s var(--ease-soft)}.onboard-skip{position:absolute;top:14px;right:16px;border:none;background:transparent;color:var(--muted);font-size:13px;cursor:pointer}.onboard-skip:hover{color:var(--text)}.onboard-icon{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;margin-bottom:16px;border-radius:20px;background:var(--grad-accent);color:var(--accent-on)}.onboard-icon .icon{width:32px;height:32px}.onboard-card h2{margin:0 0 10px;font-size:1.35rem}.onboard-card p{margin:0 0 20px;color:var(--muted);font-size:.95rem;line-height:1.75}.onboard-dots{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.onboard-dot{width:8px;height:8px;border-radius:999px;background:var(--line-strong);cursor:pointer;transition:width .25s var(--ease-soft),background .25s var(--ease-soft)}.onboard-dot--active{width:22px;background:var(--accent)}.onboard-actions{display:flex;justify-content:center;gap:10px}.onboard-actions .button,.onboard-actions .ghost{min-width:96px}.search-course{margin-bottom:16px}.search-box{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:16px}.search-box>.icon{color:var(--muted);flex:0 0 auto}.search-input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-size:1rem;padding:12px 0;outline:none}.search-clear{flex:0 0 auto;border:none;background:var(--surface-soft);color:var(--muted);border-radius:999px;padding:7px 14px;font-size:.85rem;cursor:pointer}.search-clear:hover{color:var(--text)}.search-count,.search-hint{margin:0 0 14px;color:var(--muted);font-size:.9rem}.search-count b{color:var(--accent-ink)}.search-results{display:flex;flex-direction:column;gap:12px}.search-result{display:block;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--text);transition:transform .2s var(--ease-soft),box-shadow .2s var(--ease-soft),border-color .2s var(--ease-soft)}.search-result:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-md)}.search-result-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);margin-bottom:8px}.search-course-badge{padding:1px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.search-qn{margin-left:auto}.search-result-en{margin:0 0 4px;font-size:.98rem;line-height:1.6;color:var(--text)}.search-result-zh{margin:0 0 6px;font-size:.88rem;line-height:1.6;color:var(--muted)}.search-mark{background:#f4d03f73;color:inherit;border-radius:3px;padding:0 2px}:root[data-theme=dark] .search-mark{background:#f4d03f52}.search-result-cta{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;font-weight:600;color:var(--accent-ink)}.app-footer{border-top:1px solid var(--line);margin-top:48px;background:var(--surface-soft)}.app-footer-inner{max-width:1120px;margin:0 auto;padding:28px 22px 32px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.app-footer-brand{display:inline-flex;align-items:center;gap:10px}.app-footer-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;background:var(--grad-accent);color:var(--accent-on)}.app-footer-mark .icon{width:20px;height:20px}.app-footer-name{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.app-footer-name strong{font-size:1rem}.app-footer-name span{font-size:.78rem;color:var(--accent-ink);font-weight:600}.app-footer-note{margin:6px 0 0;font-size:.82rem;color:var(--muted)}.app-footer-copy{margin:0;font-size:.76rem;color:var(--muted);opacity:.75}@media (max-width: 860px){.app-footer{margin-bottom:calc(66px + env(safe-area-inset-bottom,0px))}}.question-chip--active,.choice-card--selected .choice-card-badge,.bank-pill--active span,.bank-pill--active strong,.button,.submit-cta,.submit-cta-badge,.audio-rate-pill--active,.reading-paragraph-index--letter,.course-switch-pill--active,.picker-choice--active .picker-choice-badge,.sub-switch-item--active,.mock-entry-cta,.listen-play-btn,.onboard-icon{color:var(--accent-on)}.submit-cta,.assessment-check{background:var(--grad-accent)}.submit-cta,.course-switch-pill--active,.mock-entry-cta{box-shadow:0 8px 20px #0b2b4a29}.submit-cta-badge{background:#0b2b4a1a}.brand-mark,:root[data-theme=dark] .brand-mark,.app-footer-mark{overflow:hidden;border:1px solid var(--brand-border);background:var(--brand);box-shadow:0 6px 16px #0b2b4a29}.brand-mark .icon,.app-footer-mark .icon{width:100%;height:100%;object-fit:cover}.question-chip--correct,.question-status--correct,.choice-card--correct,.matching-choice--correct,.cloze-blank--correct,.passage-blank--correct,.answer-card-chip--correct,.choice-opt--correct{border-color:var(--success);background:var(--success-soft);color:var(--success-ink)}.runner-tab-state--done,.runner-tab--done,.exam-done-badge,.hero-done-count{color:var(--success-ink)}.runner-tab-state--done,.exam-done-badge,.hero-done-count{background:var(--success-soft)}.analysis-strip--correct{border-left-color:var(--success)}.runner-toast--success{background:var(--success);color:var(--accent-on)}.assessment-check{background:var(--success);color:var(--accent-on);box-shadow:0 10px 22px #0b2b4a2e}.assessment-card--score strong{background:linear-gradient(135deg,var(--success-ink),var(--success));-webkit-background-clip:text;background-clip:text}.exam-card--done,.catalog-card--done{border-color:var(--success);box-shadow:inset 3px 0 0 var(--success)}.mock-entry-last{background:var(--brand-soft);color:var(--brand-ink)!important}.page-hero h1{background:none;color:var(--text);-webkit-text-fill-color:currentColor}@media (max-width: 560px){.app-header-inner{gap:6px;padding-left:10px;padding-right:10px}.brand{flex:0 1 94px;min-width:94px;gap:6px}.brand-mark{width:32px;height:32px}.brand-copy,.brand-copy strong{overflow:visible}.brand-copy strong{font-size:14px;text-overflow:clip}.theme-toggle{width:34px;height:34px}.app-header .course-switch{max-width:none;margin-left:0;padding:2px;gap:2px}.course-switch-pill{padding:5px 7px;font-size:12px}}@media (max-width: 340px){.brand{flex-basis:88px;min-width:88px}.brand-copy strong{font-size:13px}.course-switch-pill{padding:5px;font-size:11px}}.button:hover{background:#f2b800;color:var(--accent-on);box-shadow:0 10px 22px #0b2b4a2e}.home-page{display:flex;flex-direction:column;gap:44px}.home-hero-xl{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:22px;min-height:min(76vh,780px);padding:24px 0 8px}.home-hero-orbs{position:absolute;top:-80px;right:-40px;bottom:0;left:-40px;pointer-events:none;background:radial-gradient(560px 360px at 18% 22%,rgba(255,201,26,.16),transparent 68%),radial-gradient(640px 420px at 84% 30%,rgba(255,201,26,.1),transparent 70%),radial-gradient(480px 320px at 50% 96%,rgba(11,43,74,.05),transparent 72%);filter:blur(2px)}.home-hero-xl>*{position:relative}.home-hero-title{margin:0;font-size:clamp(56px,10vw,112px);line-height:1.04;font-weight:700;letter-spacing:.01em;animation:riseIn .6s var(--ease-soft) .05s both}.home-hero-title em{font-style:normal;color:var(--brand);-webkit-text-stroke:2px var(--brand-ink)}.home-hero-slogan{margin:0;max-width:620px;color:var(--muted);font-size:clamp(16px,2.2vw,20px);animation:riseIn .6s var(--ease-soft) .12s both}.home-hero-xl .hero-tag{animation:riseIn .5s var(--ease-soft) both}.home-hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;animation:riseIn .6s var(--ease-soft) .2s both}.home-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 24px;border-radius:999px;font-weight:600;font-size:15px;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft),border-color .2s ease}.home-cta--xl{min-height:56px;padding:0 34px;font-size:17px}.home-cta--primary{background:var(--grad-accent);color:var(--accent-on);box-shadow:0 14px 34px #ffc91a66,0 4px 12px #0b2b4a1f}.home-cta--primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 20px 44px #ffc91a80,0 6px 16px #0b2b4a29}.home-cta--ghost{background:var(--surface);color:var(--text);border:1px solid var(--line-strong)}.home-cta--ghost:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 18px #1919190f}.home-countdown{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);font-size:13px;animation:riseIn .6s var(--ease-soft) .26s both}.home-countdown strong{color:var(--text);font-variant-numeric:tabular-nums}.home-float{position:absolute;display:none;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--surface);box-shadow:0 14px 30px #19191914;color:var(--text);font-size:13px;font-weight:600;white-space:nowrap;opacity:.94}.home-float .icon{color:var(--brand-ink)}@media (min-width: 1101px){.home-float{display:inline-flex}}.home-float--1{left:1%;top:20%;animation:homeFloat 5.2s ease-in-out infinite,riseIn .7s var(--ease-soft) .3s both}.home-float--2{right:2%;top:26%;animation:homeFloat 6s ease-in-out .6s infinite,riseIn .7s var(--ease-soft) .38s both}.home-float--3{left:4%;bottom:24%;animation:homeFloat 5.6s ease-in-out 1.1s infinite,riseIn .7s var(--ease-soft) .46s both}.home-float--4{right:5%;bottom:20%;animation:homeFloat 6.4s ease-in-out .3s infinite,riseIn .7s var(--ease-soft) .54s both}@keyframes homeFloat{0%,to{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-14px) rotate(1.2deg)}}.home-scroll-hint{position:absolute;left:50%;bottom:-6px;transform:translate(-50%);color:var(--muted);animation:homeBounce 1.8s ease-in-out 1s infinite}@keyframes homeBounce{0%,to{transform:translate(-50%);opacity:.55}50%{transform:translate(-50%,8px);opacity:1}}.home-marquee{overflow:hidden;margin:-8px -24px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface-soft);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.home-marquee-track{display:inline-flex;align-items:center;gap:36px;padding-right:36px;width:max-content;animation:homeMarquee 36s linear infinite}.home-marquee-item{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap}.home-marquee-item .icon{color:var(--brand);width:14px;height:14px}@keyframes homeMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.home-highlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home-highlight{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:22px 24px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}.home-highlight .icon{width:34px;height:34px;padding:8px;border-radius:11px;background:var(--grad-accent);color:var(--accent-on);box-shadow:0 5px 12px #ffc91a52,inset 0 -2px #0b2b4a1f;margin-bottom:8px}.home-highlight strong{font-size:clamp(30px,3.4vw,42px);font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}.home-highlight span{font-size:13px;color:var(--muted)}.home-selling-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-selling-card{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:18px;border:1px solid var(--line);background:var(--surface);transition:transform .2s var(--ease-soft),box-shadow .2s var(--ease-soft),border-color .2s ease}.home-selling-card:hover{transform:translateY(-2px);border-color:var(--brand-border);box-shadow:0 16px 32px #1919190f}.home-selling-card h3{margin:0;font-size:19px;font-weight:600}.home-selling-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.home-selling-icon{width:44px;height:44px;border-radius:14px}.home-section{display:flex;flex-direction:column;gap:16px}.home-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-course-card{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:16px;border:1px solid var(--line);background:var(--surface);transition:.2s ease}.home-course-card:hover{transform:translateY(-1px);border-color:var(--brand-border);box-shadow:0 14px 28px #1919190d}.home-course-short{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:15px;background:var(--grad-accent);color:var(--accent-on);font-weight:800;font-size:14px;box-shadow:0 7px 16px #ffc91a61,inset 0 -2px #0b2b4a24;transition:transform .22s var(--ease-soft),box-shadow .22s var(--ease-soft)}.home-course-card:hover .home-course-short{transform:translateY(-2px) scale(1.06) rotate(-3deg);box-shadow:0 10px 20px #ffc91a75,inset 0 -2px #0b2b4a24}.home-course-body h3{margin:0 0 4px;font-size:20px;font-weight:600}.home-course-body p{margin:0;color:var(--muted);font-size:13px}.home-course-enter{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:13px;color:var(--text)}.home-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home-feature-card{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--surface);transition:.2s ease}.home-feature-card:hover{transform:translateY(-1px);border-color:var(--brand-border);box-shadow:0 14px 28px #1919190d}.home-feature-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--grad-accent);color:var(--accent-on);box-shadow:0 6px 14px #ffc91a57,inset 0 -2px #0b2b4a1f;transition:transform .22s var(--ease-soft),box-shadow .22s var(--ease-soft)}.home-feature-card:hover .home-feature-icon,.home-selling-card:hover .home-selling-icon{transform:translateY(-2px) scale(1.06) rotate(-3deg);box-shadow:0 9px 18px #ffc91a70,inset 0 -2px #0b2b4a1f}.home-feature-card strong{font-size:15px}.home-feature-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.home-final{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:56px 24px 64px;border-radius:24px;border:1px solid var(--brand-border);background:radial-gradient(420px 240px at 50% 0%,rgba(255,201,26,.18),transparent 70%),var(--surface)}.home-final h2{margin:0;font-size:clamp(30px,4.6vw,44px);font-weight:700}.home-final p{margin:0;color:var(--muted);font-size:16px}.home-final .home-cta{margin-top:10px}.home-reveal{opacity:0;transform:translateY(26px);transition:opacity .65s var(--ease-soft),transform .65s var(--ease-soft)}.home-reveal--in{opacity:1;transform:translateY(0)}@media (max-width: 1100px){.home-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 860px){.home-page{gap:28px}.home-hero-xl{min-height:min(66vh,620px);gap:18px}.home-hero-actions{width:100%}.home-cta--xl{flex:1 1 0;min-height:52px;padding:0 20px;font-size:16px}.home-marquee{margin:-8px -14px 0}.home-course-grid{grid-template-columns:1fr}.home-course-card{flex-direction:row;align-items:center}.home-course-short{flex:0 0 auto}.home-course-body{flex:1;min-width:0}.home-course-enter{margin:0;padding:0;border:0}.home-course-enter span{display:none}.home-feature-grid,.home-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.home-selling-grid{grid-template-columns:1fr}.home-final{padding:40px 20px 48px}}@media (max-width: 340px){.home-feature-grid,.home-highlights{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.home-hero-xl .hero-tag,.home-hero-title,.home-hero-slogan,.home-hero-actions,.home-countdown,.home-cta,.home-float,.home-scroll-hint,.home-marquee-track,.home-course-card,.home-feature-card,.home-selling-card,.home-course-short,.home-feature-icon,.home-selling-icon{animation:none!important;transition:none!important;transform:none!important}.home-scroll-hint{transform:translate(-50%)!important}.home-reveal{opacity:1;transform:none;transition:none}}.exam-fab{position:fixed;left:0;top:0;z-index:44;display:none;will-change:transform}@media (min-width: 861px){.exam-fab{display:block}}.exam-fab--dragging .exam-fab-btn{cursor:grabbing;transform:scale(1.08);box-shadow:0 18px 40px #0b2b4a52,0 8px 18px #ffc91a70}.exam-fab-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border-radius:17px;border:1px solid var(--brand-border);background:var(--brand);cursor:grab;touch-action:none;overflow:visible;box-shadow:0 10px 26px #0b2b4a38,0 4px 10px #ffc91a4d;transition:transform .2s var(--ease-soft),box-shadow .2s var(--ease-soft)}.exam-fab-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 14px 32px #0b2b4a47,0 6px 14px #ffc91a66}.exam-fab-logo{width:100%;height:100%;border-radius:16px;object-fit:cover;pointer-events:none}.exam-fab-badge{position:absolute;top:-8px;right:-10px;padding:3px 8px;border-radius:999px;background:var(--brand-ink);color:#fff;font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:0 4px 10px #0b2b4a4d;pointer-events:none}:root[data-theme=dark] .exam-fab-badge{color:#0b2b4a}.exam-pop{position:absolute;right:0;bottom:66px;width:292px;padding:14px 18px 12px;border-radius:18px;border:1px solid var(--line);background:var(--surface);box-shadow:0 18px 44px #19191929;transform-origin:bottom right}.exam-pop--below{bottom:auto;top:66px;transform-origin:top right}.exam-pop--alignleft{right:auto;left:0;transform-origin:bottom left}.exam-pop--below.exam-pop--alignleft{transform-origin:top left}.exam-pop-quote{margin:0 0 10px;padding:12px 14px;border-radius:14px 14px 14px 4px;background:var(--brand-soft);border:1px solid var(--brand-border);color:var(--brand-ink);font-size:14px;font-weight:600;line-height:1.55}.exam-pop-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0}.exam-pop-row+.exam-pop-row{border-top:1px dashed var(--line)}.exam-pop-info{display:flex;flex-direction:column;gap:3px;min-width:0}.exam-pop-info strong{font-size:14px;font-weight:600}.exam-pop-info span{font-size:12px;color:var(--muted)}.exam-pop-days{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--muted)}.exam-pop-days em{font-style:normal;font-size:30px;font-weight:800;line-height:1;color:var(--brand-ink);font-variant-numeric:tabular-nums;margin-right:3px}.exam-pop-foot{margin:4px 0 0;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);text-align:center}.exam-pop-enter-active,.exam-pop-leave-active{transition:opacity .22s var(--ease-soft),transform .22s var(--ease-soft)}.exam-pop-enter-from,.exam-pop-leave-to{opacity:0;transform:translateY(10px) scale(.94)}.exam-pop--below.exam-pop-enter-from,.exam-pop--below.exam-pop-leave-to{transform:translateY(-10px) scale(.94)}@media (prefers-reduced-motion: reduce){.exam-fab-btn,.exam-pop-enter-active,.exam-pop-leave-active{transition:none!important}}.assessment-hero{display:flex;align-items:center;gap:28px;padding:20px 22px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}.assessment-ring{position:relative;flex:0 0 auto;width:132px;height:132px}.assessment-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.assessment-ring-track,.assessment-ring-fill{fill:none;stroke-width:11;stroke-linecap:round}.assessment-ring-track{stroke:var(--line)}.assessment-ring-fill{stroke:var(--brand);transition:stroke-dashoffset .9s var(--ease-soft)}.assessment-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.assessment-ring-text strong{font-size:30px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.assessment-ring-text strong em{font-style:normal;font-size:15px;font-weight:700;color:var(--muted)}.assessment-ring-text span{font-size:12px;color:var(--muted)}.assessment-hero-stats{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.assessment-stat{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}.assessment-stat>span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600}.assessment-stat>span .icon{width:14px;height:14px}.assessment-stat strong{font-size:26px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.assessment-stat strong em{font-style:normal;font-size:14px;font-weight:600;color:var(--muted)}.assessment-stat--good{color:var(--success-ink)}.assessment-stat--bad{color:#c25749}:root[data-theme=dark] .assessment-stat--bad{color:#f0a58f}.assessment-advice{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border-radius:14px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);font-size:14px;font-weight:500;text-align:left;cursor:pointer;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft)}.assessment-advice:hover{transform:translateY(-1px);box-shadow:0 10px 22px #ffc91a47}.assessment-advice strong{font-weight:800}.assessment-advice-icon{flex:0 0 auto;font-size:18px}.assessment-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assessment-section-row{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;font:inherit;color:inherit;transition:transform .18s var(--ease-soft),border-color .2s ease,box-shadow .18s var(--ease-soft)}.assessment-section-row:hover{transform:translateY(-1px);border-color:var(--brand-border);box-shadow:0 10px 20px #1919190f}.assessment-section-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.assessment-section-top strong{font-size:14px;font-weight:700}.assessment-section-top span{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.assessment-section-bar{height:6px;border-radius:999px;background:var(--line);overflow:hidden}.assessment-section-bar>span{display:block;height:100%;border-radius:999px;transition:width .7s var(--ease-soft)}.assessment-section-bar-fill--good{background:var(--success)}.assessment-section-bar-fill--mid{background:var(--brand)}.assessment-section-bar-fill--weak{background:#d9634c}.assessment-section-meta{font-size:12px;color:var(--muted)}.assessment-note{margin:0;font-size:13px}@media (max-width: 860px){.assessment-hero{flex-direction:column;gap:16px;padding:18px 16px}.assessment-ring{width:116px;height:116px}.assessment-hero-stats{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-sections{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.assessment-ring-fill,.assessment-section-bar>span,.assessment-advice,.assessment-section-row{transition:none!important;transform:none!important}}.exam-paper-badge{display:inline-flex;align-items:center;justify-content:center;min-width:56px;height:32px;padding:0 12px;border-radius:11px;background:var(--grad-accent);color:var(--accent-on);font-weight:800;font-size:13px;letter-spacing:.02em;box-shadow:0 5px 12px #ffc91a52,inset 0 -2px #0b2b4a1f;transition:transform .22s var(--ease-soft),box-shadow .22s var(--ease-soft)}.exam-card:hover .exam-paper-badge{transform:translateY(-2px) rotate(-3deg);box-shadow:0 8px 16px #ffc91a6b,inset 0 -2px #0b2b4a1f}.year-heading{display:flex;align-items:center;gap:12px}.year-heading:before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--grad-accent);box-shadow:0 4px 10px #ffc91a66}@media (prefers-reduced-motion: reduce){.exam-paper-badge{transition:none!important;transform:none!important}}.user-login-btn{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;white-space:nowrap;min-height:36px;padding:0 16px;border:0;border-radius:999px;background:var(--grad-accent);color:var(--accent-on);font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 6px 14px #ffc91a57;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft)}.user-login-btn:hover{transform:translateY(-1px);box-shadow:0 9px 18px #ffc91a70}.user-chip{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:3px 12px 3px 3px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .2s ease,box-shadow .2s var(--ease-soft)}.user-chip:hover{border-color:var(--brand-border);box-shadow:0 6px 14px #19191914}.user-chip-avatar,.user-chip-initial{width:30px;height:30px;border-radius:999px;object-fit:cover;flex:0 0 auto}.user-chip-initial{display:inline-flex;align-items:center;justify-content:center;background:var(--grad-accent);color:var(--accent-on);font-weight:800;font-size:14px}.user-chip-name{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:min(92vw,360px);padding:32px 28px 26px;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center}.login-logo{display:inline-flex;width:64px;height:64px;border-radius:18px;overflow:hidden;border:1px solid var(--brand-border);background:var(--brand);box-shadow:0 10px 22px #0b2b4a33}.login-logo .icon{width:100%;height:100%;object-fit:cover}.login-card h2{margin:4px 0 0;font-size:22px;font-weight:700}.login-sub{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.login-error{margin:0;padding:8px 14px;border-radius:10px;background:#d9634c1f;color:#c25749;font-size:13px;font-weight:600}.login-cta{width:100%;margin-top:4px}.login-qrbox{position:relative;width:188px;height:188px;margin-top:4px;border-radius:16px;border:1px solid var(--line);background:#fff;overflow:hidden}.login-qr-img{width:100%;height:100%;object-fit:contain}.login-qr-holder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--muted);font-size:12px}.login-qr-cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#fffffff0;color:var(--text);font-size:14px;font-weight:700;cursor:pointer;text-align:center}.login-qr-cover em{font-style:normal;font-size:12px;font-weight:500;color:var(--muted)}.login-qr-cover--ok{background:#fff4bdf2;color:var(--brand-ink);cursor:default}.login-alt{border:0;background:transparent;color:var(--brand-ink);font-size:13px;font-weight:700;cursor:pointer;padding:6px 10px}.login-alt:disabled{opacity:.5;cursor:not-allowed}:root[data-theme=dark] .login-alt{color:var(--brand)}@media (max-width: 860px){.login-qrbox,.login-hint{display:none}.login-alt{width:100%;min-height:48px;border-radius:999px;background:var(--grad-accent);color:var(--accent-on);font-size:15px}}.adm{--adm-side: #0b2b4a;--adm-side-ink: rgba(255, 255, 255, .72);--adm-bg: #f4f5f7;--adm-card: #ffffff;--adm-line: #e6e8ee;--adm-text: #1c2430;--adm-muted: #7b8494;--adm-accent: #ffc91a;position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;background:var(--adm-bg);color:var(--adm-text);font-size:14px}:root[data-theme=dark] .adm{--adm-side: #0a1d33;--adm-bg: #15171b;--adm-card: #1d2025;--adm-line: #30343d;--adm-text: #e9e7e2;--adm-muted: #9ba1a0}.adm-guard{margin:auto;display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 40px;border-radius:22px;background:var(--adm-card);border:1px solid var(--adm-line);box-shadow:0 24px 60px #0b2b4a1f;text-align:center}.adm-guard-logo{width:64px;height:64px;border-radius:18px}.adm-guard h1{margin:4px 0 0;font-size:22px}.adm-guard p{margin:0;color:var(--adm-muted)}.adm-guard-actions{display:flex;gap:10px;margin-top:12px}.adm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 22px;border-radius:10px;border:0;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none}.adm-btn--primary{background:var(--adm-accent);color:#0b2b4a}.adm-btn--ghost{background:transparent;color:var(--adm-text);border:1px solid var(--adm-line)}.adm-side{flex:0 0 224px;display:flex;flex-direction:column;background:var(--adm-side);color:var(--adm-side-ink);padding:18px 14px;gap:22px}.adm-side-brand{display:flex;align-items:center;gap:10px;padding:4px 8px}.adm-side-brand img{width:40px;height:40px;border-radius:12px}.adm-side-brand strong{display:block;color:#fff;font-size:15px}.adm-side-brand span{font-size:12px}.adm-nav{display:flex;flex-direction:column;gap:4px}.adm-nav-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:var(--adm-side-ink);font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:background .15s ease,color .15s ease}.adm-nav-item:hover{background:#ffffff12;color:#fff}.adm-nav-item--active{background:#ffffff1a;color:#fff;box-shadow:inset 3px 0 0 var(--adm-accent)}.adm-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}.adm-side-link{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;color:var(--adm-side-ink);font-size:13px;text-decoration:none}.adm-side-link:hover{background:#ffffff12;color:#fff}.adm-side-user{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:#ffffff0f}.adm-side-user img,.adm-side-user-initial{width:30px;height:30px;border-radius:999px;object-fit:cover;flex:0 0 auto}.adm-side-user-initial{display:inline-flex;align-items:center;justify-content:center;background:var(--adm-accent);color:#0b2b4a;font-weight:800}.adm-side-user-name{flex:1;color:#fff;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-side-user button{border:0;background:transparent;color:var(--adm-side-ink);cursor:pointer;padding:4px;border-radius:8px}.adm-side-user button:hover{color:#fff;background:#ffffff1a}.adm-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto}.adm-topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;background:var(--adm-bg);border-bottom:1px solid var(--adm-line)}.adm-topbar h1{margin:0;font-size:18px;font-weight:700}.adm-search{flex:0 1 280px;min-height:38px;padding:0 14px;border-radius:10px;border:1px solid var(--adm-line);background:var(--adm-card);color:var(--adm-text);font-size:13px}.adm-content{display:flex;flex-direction:column;gap:18px;padding:22px 28px 40px}.adm-empty{padding:60px 24px;text-align:center;color:var(--adm-muted)}.adm-muted{color:var(--adm-muted)}.adm-stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.adm-stat{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:14px;background:var(--adm-card);border:1px solid var(--adm-line)}.adm-stat span{font-size:12px;color:var(--adm-muted);font-weight:600}.adm-stat strong{font-size:28px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.adm-stat strong em{font-style:normal;font-size:14px;color:var(--adm-muted)}.adm-stat--hot{border-color:#ffc91a8c;box-shadow:inset 0 3px 0 var(--adm-accent)}.adm-panel-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}.adm-panel{display:flex;flex-direction:column;gap:14px;padding:18px 20px;border-radius:14px;background:var(--adm-card);border:1px solid var(--adm-line)}.adm-panel>header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.adm-panel>header strong{font-size:14px}.adm-panel>header span{font-size:12px;color:var(--adm-muted)}.adm-link{border:0;background:transparent;color:#2563eb;font-size:12px;font-weight:600;cursor:pointer;padding:0}.adm-chart{display:flex;align-items:flex-end;gap:8px;height:180px;padding-top:8px}.adm-chart--mini{height:72px;gap:4px}.adm-chart-col{position:relative;flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}.adm-chart-bar{display:block;width:100%;max-width:30px;border-radius:6px 6px 3px 3px;background:linear-gradient(180deg,#ffd447,#f2b800);min-height:3px}.adm-chart-students{position:absolute;left:50%;transform:translate(-50%);width:7px;height:7px;border-radius:999px;background:#0b2b4a;box-shadow:0 0 0 2px #0b2b4a26}:root[data-theme=dark] .adm-chart-students{background:#7fb2ff;box-shadow:0 0 0 2px #7fb2ff33}.adm-chart-col em{font-style:normal;font-size:10px;color:var(--adm-muted)}.adm-top-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.adm-top-list li{display:flex;align-items:center;gap:10px;font-size:13px}.adm-top-rank{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--adm-bg);border:1px solid var(--adm-line);font-size:12px;font-weight:700;color:var(--adm-muted)}.adm-top-rank--gold{background:var(--adm-accent);color:#0b2b4a;border-color:transparent}.adm-top-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-top-value{font-variant-numeric:tabular-nums;color:var(--adm-muted)}.adm-panel--table{padding:0;overflow:hidden}.adm-table{width:100%;border-collapse:collapse;font-size:13px}.adm-table th,.adm-table td{padding:12px 16px;text-align:left;white-space:nowrap}.adm-table thead th{background:var(--adm-bg);color:var(--adm-muted);font-size:12px;font-weight:700;border-bottom:1px solid var(--adm-line);position:sticky;top:0}.adm-tr{cursor:pointer;border-top:1px solid var(--adm-line);transition:background .12s ease}.adm-tr:first-child{border-top:0}.adm-tr:hover{background:var(--adm-bg)}.adm-tr--active{background:#ffc91a1a}.adm-stu{display:inline-flex;align-items:center;gap:10px}.adm-stu img,.adm-stu-initial{width:30px;height:30px;border-radius:999px;object-fit:cover;flex:0 0 auto}.adm-stu-initial{display:inline-flex;align-items:center;justify-content:center;background:var(--adm-accent);color:#0b2b4a;font-weight:800;font-size:13px}.adm-acc{font-weight:700}.adm-acc--good{color:var(--success-ink)}.adm-acc--mid{color:#b07d00}.adm-acc--weak{color:#c25749}:root[data-theme=dark] .adm-acc--mid{color:#ffd447}:root[data-theme=dark] .adm-acc--weak{color:#f0a58f}.adm-drawer{position:fixed;top:0;right:0;bottom:0;z-index:70;width:min(92vw,400px);display:flex;flex-direction:column;gap:18px;padding:22px;background:var(--adm-card);border-left:1px solid var(--adm-line);box-shadow:-24px 0 60px #0b2b4a29;overflow-y:auto}.adm-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.adm-drawer-head .adm-stu strong{display:block;font-size:15px}.adm-drawer-head .adm-stu span{font-size:12px}.adm-drawer-head .adm-stu img,.adm-drawer-head .adm-stu-initial{width:40px;height:40px}.adm-drawer-close{border:0;background:var(--adm-bg);border-radius:10px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--adm-muted)}.adm-drawer-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:8px}.adm-drawer-stats>div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--adm-bg);border:1px solid var(--adm-line)}.adm-drawer-stats span{font-size:11px;color:var(--adm-muted)}.adm-drawer-stats strong{font-size:17px;font-variant-numeric:tabular-nums}.adm-drawer-block{display:flex;flex-direction:column;gap:10px}.adm-drawer-block>strong{font-size:13px}.adm-record-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.adm-record-list li{display:flex;flex-direction:column;gap:2px;font-size:13px}.adm-record-title{font-weight:600}.adm-drawer-enter-active,.adm-drawer-leave-active{transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .28s ease}.adm-drawer-enter-from,.adm-drawer-leave-to{transform:translate(40px);opacity:0}@media (max-width: 1100px){.adm-stat-row{grid-template-columns:repeat(3,minmax(0,1fr))}.adm-panel-row{grid-template-columns:1fr}}.adm-stu-cards{display:none}@media (max-width: 860px){.adm{flex-direction:column}.adm-side{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;align-items:center;padding:10px 12px 0;gap:8px 12px}.adm-side-brand{padding:0}.adm-side-brand img{width:34px;height:34px}.adm-side-brand strong{font-size:14px}.adm-side-brand span{display:none}.adm-side-foot{margin:0 0 0 auto;flex-direction:row;align-items:center;gap:4px}.adm-side-link{padding:8px}.adm-side-link span,.adm-side-user-name{display:none}.adm-side-user{background:transparent;padding:0;gap:6px}.adm-nav{order:3;flex:1 1 100%;flex-direction:row;gap:0;border-top:1px solid rgba(255,255,255,.08)}.adm-nav-item{flex:1;justify-content:center;padding:12px 4px;border-radius:0;font-size:13px;gap:6px}.adm-nav-item--active{background:transparent;box-shadow:inset 0 -3px 0 var(--adm-accent)}.adm-topbar{flex-wrap:wrap;padding:12px 14px;gap:10px}.adm-topbar h1{font-size:16px}.adm-search{flex:1 1 100%}.adm-content{padding:14px 12px 32px;gap:14px}.adm-stat-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adm-stat{padding:13px 14px}.adm-stat strong{font-size:23px}.adm-chart{height:150px;gap:4px}.adm-chart-col em{display:none}.adm-chart-col:nth-child(odd) em{display:block}.adm-panel--table{display:none}.adm-stu-cards{display:flex;flex-direction:column;gap:10px}.adm-stu-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--adm-line);background:var(--adm-card);color:var(--adm-text);font:inherit;text-align:left;cursor:pointer}.adm-stu-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.adm-stu-card-head .adm-stu strong{font-size:14px}.adm-stu-card-head>.adm-muted{font-size:12px;flex:0 0 auto}.adm-stu-card-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.adm-stu-card-chips>span{display:flex;flex-direction:column;gap:2px;padding:8px 6px;border-radius:10px;background:var(--adm-bg);border:1px solid var(--adm-line);font-size:11px;color:var(--adm-muted);text-align:center}.adm-stu-card-chips strong{font-size:14px;color:var(--adm-text);font-variant-numeric:tabular-nums}.adm-drawer{width:100vw;border-left:0;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px))}.adm-drawer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.login-hint{margin:0;color:var(--muted);font-size:12px}.login-agree{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;padding:10px 6px;border-radius:10px;font-size:12px;color:var(--muted);white-space:nowrap;cursor:pointer;transition:background .2s ease}.login-agree span{white-space:nowrap}.login-agree input{margin:0;accent-color:var(--brand);cursor:pointer;flex:0 0 auto}.login-agree a{color:var(--brand-ink);font-weight:600}:root[data-theme=dark] .login-agree a{color:var(--brand)}.login-agree--warn{background:#d9634c1a;color:#c25749}.login-cta:disabled{opacity:.55;cursor:not-allowed;transform:none!important}.legal-page .page-hero p{font-size:14px}.legal-body{max-width:820px;padding:28px 32px;border-radius:18px;border:1px solid var(--line);background:var(--surface);line-height:1.85;font-size:14.5px}.legal-body h2{margin:26px 0 10px;font-size:17px;font-weight:700}.legal-body h2:first-child{margin-top:0}.legal-body p{margin:0 0 12px}.legal-body ul{margin:0 0 12px;padding-left:22px}.legal-body li{margin-bottom:6px}@media (max-width: 860px){.legal-body{padding:20px 18px}}.me-page{gap:24px}.me-profile{display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:20px;border:1px solid var(--line);background:radial-gradient(360px 200px at 12% 0%,rgba(255,201,26,.16),transparent 70%),var(--surface)}.me-avatar{width:68px;height:68px;border-radius:999px;object-fit:cover;border:3px solid var(--brand);box-shadow:0 10px 24px #0b2b4a29;flex:0 0 auto}.me-avatar--initial{display:inline-flex;align-items:center;justify-content:center;background:var(--grad-accent);color:var(--accent-on);font-size:26px;font-weight:800}.me-profile-body{flex:1;min-width:0}.me-profile-body h1{margin:0 0 4px;font-size:24px;font-weight:700}.me-profile-body p{margin:0;font-size:13px}.me-admin-link{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--brand-border);background:var(--brand-soft);color:var(--brand-ink);font-size:13px;font-weight:700;flex:0 0 auto}.me-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.me-action{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:14.5px;font-weight:600;text-align:left;cursor:pointer;transition:transform .18s var(--ease-soft),border-color .2s ease,box-shadow .18s var(--ease-soft)}.me-action:hover{transform:translateY(-1px);border-color:var(--brand-border);box-shadow:0 10px 20px #1919190f}.me-action .icon{color:var(--brand-ink)}.me-action em{grid-column:1 / -1;font-style:normal;font-size:12px;font-weight:400;color:var(--muted)}.me-action--danger,.me-action--danger .icon{color:#c25749}:root[data-theme=dark] .me-action--danger,:root[data-theme=dark] .me-action--danger .icon{color:#f0a58f}.cdlg{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;width:min(90vw,340px);padding:30px 26px 24px;border-radius:22px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);text-align:center}.cdlg-logo{display:inline-flex;width:56px;height:56px;border-radius:16px;overflow:hidden;border:1px solid var(--brand-border);background:var(--brand);box-shadow:0 8px 18px #0b2b4a2e}.cdlg-logo .icon{width:100%;height:100%;object-fit:cover}.cdlg h3{margin:4px 0 0;font-size:18px;font-weight:700}.cdlg p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.6}.cdlg-actions{display:flex;gap:10px;width:100%;margin-top:12px}.cdlg-btn{flex:1;min-height:44px;border:0;border-radius:999px;font-size:14.5px;font-weight:700;cursor:pointer;transition:transform .16s var(--ease-soft),box-shadow .16s var(--ease-soft)}.cdlg-btn:hover{transform:translateY(-1px)}.cdlg-btn--primary{background:var(--grad-accent);color:var(--accent-on);box-shadow:0 8px 18px #ffc91a5c}.cdlg-btn--danger{background:#d9634c;color:#fff;box-shadow:0 8px 18px #d9634c52}.cdlg-btn--ghost{background:var(--surface);color:var(--text);border:1px solid var(--line-strong)}@media (max-width: 860px){.me-actions{grid-template-columns:1fr}.me-profile{padding:18px;gap:14px}.me-avatar{width:56px;height:56px}}.exam-pop-feedback{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:2px;padding:10px 12px;border:1px dashed var(--brand-border);border-radius:12px;background:var(--brand-soft);color:var(--brand-ink);font-size:12.5px;font-weight:600;cursor:pointer;transition:transform .16s var(--ease-soft),box-shadow .16s var(--ease-soft)}.exam-pop-feedback:hover{transform:translateY(-1px);box-shadow:0 8px 16px #ffc91a40}.adm-admin-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:var(--adm-accent, #ffc91a);color:#0b2b4a;font-size:11px;font-weight:800;flex:0 0 auto}.ai-review{gap:12px}.ai-review-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border:0;border-radius:999px;background:var(--grad-accent);color:var(--accent-on);font-size:14.5px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #ffc91a59;transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft);align-self:flex-start}.ai-review-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px #ffc91a73}.ai-review-btn:disabled{opacity:.6;cursor:not-allowed}.ai-review-error{margin:0;padding:8px 14px;border-radius:10px;background:#d9634c1a;color:#c25749;font-size:13px}.ai-review-card{gap:14px;padding:20px 22px;border-radius:18px;border:1px solid var(--brand-border);background:radial-gradient(320px 160px at 8% 0%,rgba(255,201,26,.12),transparent 70%),var(--surface)}.ai-review-head{display:flex;align-items:center;gap:16px}.ai-review-score{flex:0 0 auto;display:flex;align-items:baseline;gap:2px;padding:10px 18px;border-radius:16px;background:var(--grad-accent);color:var(--accent-on);box-shadow:0 8px 18px #ffc91a59}.ai-review-score strong{font-size:34px;font-weight:800;line-height:1}.ai-review-score span{font-size:13px;font-weight:700}.ai-review-meta{min-width:0}.ai-review-meta strong{font-size:15px}.ai-review-meta p{margin:4px 0 0;font-size:13.5px;line-height:1.6}.ai-review-block{display:flex;flex-direction:column;gap:6px}.ai-review-block>strong{font-size:13.5px}.ai-review-block ul{margin:0;padding-left:20px}.ai-review-block li{font-size:13.5px;line-height:1.7;margin-bottom:4px}.ai-review-block--issue li{color:#a3502e}:root[data-theme=dark] .ai-review-block--issue li{color:#f0b090}.ai-review-polished{margin:0;padding:12px 14px;border-radius:12px;background:var(--surface-soft);border:1px dashed var(--line-strong);font-size:13.5px;line-height:1.75;white-space:pre-wrap}.adm-settings{max-width:560px}.adm-field{display:flex;flex-direction:column;gap:6px}.adm-field>span{font-size:12px;color:var(--adm-muted);font-weight:600}.adm-field input{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--adm-line);background:var(--adm-bg);color:var(--adm-text);font-size:13px}.adm-settings-actions{display:flex;align-items:center;gap:12px;margin-top:4px}.seo-landing{width:min(1120px,calc(100vw - 32px));margin:0 auto;padding:64px 0 88px}.seo-hero{position:relative;overflow:hidden;padding:clamp(42px,8vw,86px);border:1px solid var(--line);border-radius:34px;background:radial-gradient(circle at 12% 14%,rgba(255,201,26,.26),transparent 30%),linear-gradient(135deg,var(--card),var(--brand-soft));box-shadow:var(--shadow-lg)}.seo-hero h1{margin:18px 0 12px;color:var(--ink);font-size:clamp(42px,8vw,82px);line-height:.98;letter-spacing:-.06em}.seo-hero h1 em{color:var(--brand);font-style:normal}.seo-hero p{max-width:720px;color:var(--muted);font-size:clamp(17px,2.4vw,22px);line-height:1.75}.seo-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.seo-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}.seo-card,.seo-faq{border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:var(--shadow)}.seo-card{padding:26px}.seo-card strong{color:var(--ink);font-size:22px}.seo-card p,.seo-faq p{color:var(--muted);line-height:1.75}.seo-faq{margin-top:24px;padding:28px}.seo-faq h2{margin:0 0 16px;color:var(--ink)}.seo-faq details{padding:16px 0;border-top:1px solid var(--line)}.seo-faq summary{cursor:pointer;color:var(--text);font-weight:800}.home-seo-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.home-seo-link{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow);text-decoration:none}.home-seo-link strong{color:var(--ink)}.home-seo-link span{color:var(--muted);font-size:13px;line-height:1.6}@media (max-width: 720px){.seo-landing{width:min(100vw - 24px,1120px);padding:28px 0 72px}.seo-hero{padding:34px 24px;border-radius:28px}.seo-section-grid,.home-seo-link-grid{grid-template-columns:1fr}}
