.app-custom-background{position:fixed;z-index:-2;top:-24px;right:-24px;bottom:-24px;left:-24px;pointer-events:none;background-color:transparent;background-repeat:no-repeat;will-change:opacity,filter,transform}.app-route-layer{position:relative;z-index:0;min-height:100vh}.app-route-layer.has-custom-background{background:transparent}.exam-hero[data-v-02647667]{display:grid;grid-template-columns:112px minmax(260px,1fr) minmax(280px,320px);align-items:center;gap:28px}.exam-logo-wrap[data-v-02647667]{width:96px;height:96px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:22px;background:#fff;box-shadow:0 8px 22px #2d231914}.exam-logo[data-v-02647667]{width:78px;height:78px;display:block;object-fit:contain}.exam-main[data-v-02647667]{min-width:0;padding-left:4px}.exam-countdown-label[data-v-02647667]{margin:0;font-size:14px;color:var(--text-soft)}.exam-countdown[data-v-02647667]{margin:4px 0 0;font-size:36px;line-height:1.2;font-weight:700;letter-spacing:.025em}.exam-check-row[data-v-02647667]{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.exam-streak[data-v-02647667]{font-size:14px;color:var(--text-soft)}.exam-actions[data-v-02647667]{min-width:0;display:flex;flex-direction:column;gap:8px}.exam-time-label[data-v-02647667]{font-size:14px;color:var(--text-soft)}.exam-time-row[data-v-02647667]{display:flex;align-items:center;gap:8px}.exam-time-input[data-v-02647667]{min-width:0;flex:1}.exam-confirm-btn[data-v-02647667]{flex:0 0 auto;white-space:nowrap}.achievement-toast-layer[data-v-02647667]{position:fixed;right:22px;bottom:22px;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.achievement-toast[data-v-02647667]{width:min(320px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--card) 96%,transparent);box-shadow:0 14px 36px #00000024;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.achievement-toast-icon[data-v-02647667]{flex:0 0 auto;font-size:28px;line-height:1}.achievement-toast-content[data-v-02647667]{min-width:0;display:flex;flex-direction:column;gap:2px}.achievement-toast-content small[data-v-02647667]{color:var(--text-soft);font-size:11px}.achievement-toast-content strong[data-v-02647667]{overflow:hidden;color:var(--text);font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.achievement-toast-desc[data-v-02647667]{margin-top:2px;color:var(--text-soft);font-size:11px;line-height:1.4}.achievement-toast-enter-active[data-v-02647667],.achievement-toast-leave-active[data-v-02647667]{transition:opacity .24s ease,transform .24s ease}.achievement-toast-enter-from[data-v-02647667],.achievement-toast-leave-to[data-v-02647667]{opacity:0;transform:translateY(10px)}@media(max-width:900px){.exam-hero[data-v-02647667]{grid-template-columns:88px minmax(0,1fr);gap:18px}.exam-logo-wrap[data-v-02647667]{width:76px;height:76px;border-radius:18px}.exam-logo[data-v-02647667]{width:62px;height:62px}.exam-actions[data-v-02647667]{grid-column:1 / -1}.exam-countdown[data-v-02647667]{font-size:30px}}@media(max-width:640px){.exam-hero[data-v-02647667]{grid-template-columns:64px minmax(0,1fr);gap:14px}.exam-logo-wrap[data-v-02647667]{width:58px;height:58px;border-radius:14px}.exam-logo[data-v-02647667]{width:48px;height:48px}.exam-main[data-v-02647667]{padding-left:0}.exam-check-row[data-v-02647667]{margin-top:14px;gap:8px}.exam-countdown[data-v-02647667]{font-size:25px}.exam-time-row[data-v-02647667],.exam-time-input[data-v-02647667]{width:100%}.achievement-toast-layer[data-v-02647667]{right:12px;bottom:12px;left:12px;align-items:stretch}.achievement-toast[data-v-02647667]{width:100%}}.main-tabs[data-v-6353f69e]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px}.tab-btn[data-v-6353f69e]{cursor:pointer}.tab-btn.active[data-v-6353f69e],.tab-btn[aria-selected=true][data-v-6353f69e]{color:#fff;background:var(--primary);border-color:var(--primary);font-weight:700;box-shadow:0 6px 14px #00000014}@media(max-width:640px){.main-tabs[data-v-6353f69e]{flex-wrap:nowrap;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.main-tabs[data-v-6353f69e]::-webkit-scrollbar{display:none}.tab-btn[data-v-6353f69e]{flex:0 0 auto;white-space:nowrap}}.entry-sheet[data-v-56c8f1ff]{padding:22px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--card) 96%,var(--bg))}.entry-toolbar[data-v-56c8f1ff]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--border)}.entry-toolbar-left[data-v-56c8f1ff]{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.entry-title[data-v-56c8f1ff]{font-size:21px;font-weight:700;letter-spacing:.02em;color:var(--text)}.entry-check[data-v-56c8f1ff]{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.entry-check input[data-v-56c8f1ff]{width:18px;height:18px;accent-color:var(--primary)}.entry-save-area[data-v-56c8f1ff]{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:86px}.entry-save-feedback[data-v-56c8f1ff]{font-size:14px;font-weight:650;color:var(--primary);white-space:nowrap}.entry-save-feedback.error[data-v-56c8f1ff]{color:#b42318}.entry-save-btn[data-v-56c8f1ff]{min-width:86px;padding:9px 18px;font-size:16px;font-weight:700}.entry-feedback-enter-active[data-v-56c8f1ff],.entry-feedback-leave-active[data-v-56c8f1ff]{transition:opacity .18s ease,transform .18s ease}.entry-feedback-enter-from[data-v-56c8f1ff],.entry-feedback-leave-to[data-v-56c8f1ff]{opacity:0;transform:translateY(-2px)}.entry-module-list[data-v-56c8f1ff]{display:grid;gap:4px}.entry-module-row[data-v-56c8f1ff]{min-height:58px;display:grid;grid-template-columns:120px minmax(260px,440px) minmax(170px,1fr);align-items:center;gap:14px;padding:7px 4px;border-bottom:1px dashed color-mix(in srgb,var(--border) 76%,transparent)}.entry-module-row[data-v-56c8f1ff]:last-child{border-bottom:0}.entry-module-name[data-v-56c8f1ff]{font-size:17px;font-weight:650;color:var(--text);white-space:nowrap}.entry-fraction[data-v-56c8f1ff]{display:grid;grid-template-columns:minmax(82px,1fr) auto minmax(82px,1fr) auto;align-items:center;gap:9px}.entry-fraction input[data-v-56c8f1ff]{min-width:0;padding:8px 9px;text-align:center;font-size:17px;font-weight:650;border-width:0 0 2px 0;border-radius:0;background:transparent;box-shadow:none!important}.entry-fraction input[data-v-56c8f1ff]:focus{border-color:var(--primary)}.entry-slash[data-v-56c8f1ff]{font-size:20px;color:var(--muted)}.entry-fraction-hint[data-v-56c8f1ff]{font-size:13px;color:var(--muted);white-space:nowrap}.entry-rate-box[data-v-56c8f1ff]{text-align:right;font-size:16px;color:var(--text-soft);white-space:nowrap}.entry-rate-value[data-v-56c8f1ff]{margin-left:5px;font-size:18px;font-weight:750;color:var(--primary)}.entry-actions[data-v-56c8f1ff]{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}@media(max-width:900px){.entry-module-row[data-v-56c8f1ff]{grid-template-columns:96px 1fr}.entry-rate-box[data-v-56c8f1ff]{grid-column:2;text-align:left}}@media(max-width:640px){.entry-sheet[data-v-56c8f1ff]{padding:16px}.entry-toolbar[data-v-56c8f1ff]{align-items:flex-start}.entry-toolbar-left[data-v-56c8f1ff]{gap:12px}.entry-save-area[data-v-56c8f1ff]{flex-direction:column-reverse;align-items:flex-end;gap:6px}.entry-save-feedback[data-v-56c8f1ff]{font-size:12px}.entry-title[data-v-56c8f1ff]{width:100%;font-size:18px}.entry-module-row[data-v-56c8f1ff]{grid-template-columns:1fr;gap:6px;padding:12px 0}.entry-rate-box[data-v-56c8f1ff]{grid-column:1;text-align:left}.entry-fraction[data-v-56c8f1ff]{grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr)}.entry-fraction-hint[data-v-56c8f1ff]{grid-column:1 / -1;text-align:center}}.reset-modal-mask[data-v-0ce4cbd3]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;background:#1412107a;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.reset-modal[data-v-0ce4cbd3]{width:min(100%,620px);max-height:calc(100vh - 40px);overflow-y:auto;padding:22px;border:1px solid var(--border);border-radius:20px;background:var(--card);box-shadow:0 24px 70px #1412103d}.reset-modal-head[data-v-0ce4cbd3]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.reset-modal-title[data-v-0ce4cbd3]{margin:0;color:var(--text);font-size:20px;font-weight:800;line-height:1.3}.reset-modal-desc[data-v-0ce4cbd3]{margin:8px 0 0;color:var(--text-soft);font-size:13px;line-height:1.7}.reset-modal-close[data-v-0ce4cbd3]{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--text-soft);font-size:24px;font-weight:400;line-height:1;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.reset-modal-close[data-v-0ce4cbd3]:hover{color:var(--text);background:color-mix(in srgb,var(--border) 30%,transparent)}.practice-reset-options[data-v-0ce4cbd3]{display:flex;flex-direction:column;gap:10px;margin-top:20px}.practice-reset-option[data-v-0ce4cbd3]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--card) 96%,var(--bg));color:var(--text);text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.practice-reset-option[data-v-0ce4cbd3]:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:color-mix(in srgb,var(--primary) 4%,var(--card));box-shadow:0 8px 20px #28231e0f}.reset-option-content[data-v-0ce4cbd3]{min-width:0;display:flex;flex-direction:column;gap:4px}.reset-option-content strong[data-v-0ce4cbd3]{color:var(--text);font-size:14px;font-weight:700}.reset-option-content span[data-v-0ce4cbd3]{color:var(--text-soft);font-size:12px;line-height:1.55}.reset-option-arrow[data-v-0ce4cbd3]{flex:0 0 auto;color:var(--text-soft);font-size:25px;font-weight:300;line-height:1}.reset-modal-note[data-v-0ce4cbd3]{margin-top:16px;padding:11px 13px;border-radius:11px;background:color-mix(in srgb,var(--danger, #c45b5b) 7%,var(--card));color:var(--text-soft);font-size:12px;line-height:1.65}@media(max-width:640px){.reset-modal-mask[data-v-0ce4cbd3]{align-items:flex-end;padding:12px}.reset-modal[data-v-0ce4cbd3]{width:100%;max-height:calc(100vh - 24px);padding:18px 15px;border-radius:18px}.reset-modal-head[data-v-0ce4cbd3]{gap:12px}.reset-modal-title[data-v-0ce4cbd3]{font-size:18px}.reset-modal-desc[data-v-0ce4cbd3]{font-size:12px}.practice-reset-options[data-v-0ce4cbd3]{margin-top:16px}.practice-reset-option[data-v-0ce4cbd3]{padding:13px}.reset-modal-note[data-v-0ce4cbd3]{font-size:11px}}.summary-period-nav[data-v-e846a971]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:6px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg) 76%,transparent)}.summary-period-btn[data-v-e846a971]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 15px;border:0;border-radius:10px;background:transparent;color:var(--text-soft);font-size:14px;font-weight:500;cursor:pointer}.summary-period-btn.is-active[data-v-e846a971]{background:var(--primary);color:#fff;box-shadow:0 6px 18px #5f7c9a40}.summary-target-btn[data-v-e846a971],.summary-reset-btn[data-v-e846a971]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 15px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.summary-target-btn[data-v-e846a971]{margin-left:auto;border:1px solid var(--primary);background:var(--primary);color:#fff}.summary-target-btn[data-v-e846a971]:hover,.summary-target-btn.is-open[data-v-e846a971]{background:var(--primary);color:#fff;border-color:var(--primary)}.summary-reset-btn[data-v-e846a971]{border:1px solid var(--primary);background:transparent;color:var(--primary)}.target-settings-panel[data-v-e846a971]{margin:14px 0 16px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--card)}.target-settings-head[data-v-e846a971]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.target-settings-title[data-v-e846a971]{font-size:15px;font-weight:700}.target-settings-desc[data-v-e846a971]{margin-top:4px;color:var(--text-soft);font-size:12px;line-height:1.6}.target-settings-grid[data-v-e846a971]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.target-setting-item[data-v-e846a971]{padding:12px;border:1px solid var(--border);border-radius:12px}.target-setting-name[data-v-e846a971]{margin-bottom:8px;font-size:13px;font-weight:600}.target-setting-input-row[data-v-e846a971]{display:flex;align-items:center;gap:6px}.target-setting-input[data-v-e846a971]{width:86px}.target-setting-unit[data-v-e846a971]{color:var(--text-soft);font-size:13px}.target-settings-actions[data-v-e846a971]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.target-save-feedback[data-v-e846a971]{align-self:center;margin-right:4px;font-size:13px;font-weight:600;white-space:nowrap}.target-save-feedback.is-success[data-v-e846a971]{color:var(--primary)}.target-save-feedback.is-error[data-v-e846a971]{color:#c0392b}.target-feedback-enter-active[data-v-e846a971],.target-feedback-leave-active[data-v-e846a971]{transition:opacity .18s ease}.target-feedback-enter-from[data-v-e846a971],.target-feedback-leave-to[data-v-e846a971]{opacity:0}.period-dashboard[data-v-e846a971]{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--card) 94%,var(--bg))}.period-hero[data-v-e846a971]{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 7%,var(--card))}.period-hero-title[data-v-e846a971]{margin:0;color:var(--primary);font-size:21px;font-weight:800;line-height:1.2}.period-hero-range[data-v-e846a971]{margin-top:6px;color:var(--text-soft);font-size:12px}.period-kpis[data-v-e846a971]{display:flex;align-items:center;justify-content:flex-end;gap:24px}.period-kpi[data-v-e846a971]{display:flex;align-items:baseline;gap:5px;color:var(--text-soft);font-size:12px;white-space:nowrap}.period-kpi strong[data-v-e846a971]{color:var(--text);font-size:22px;font-weight:800}.period-visual-grid[data-v-e846a971]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px}.period-visual-card[data-v-e846a971]{min-width:0;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--card)}.period-visual-title[data-v-e846a971]{color:var(--text);font-size:14px;font-weight:700}.period-visual-note[data-v-e846a971]{min-height:36px;margin-top:4px;color:var(--text-soft);font-size:11px;line-height:1.55}.period-chart-wrap[data-v-e846a971]{position:relative;height:260px;margin-top:8px}.period-chart-wrap canvas[data-v-e846a971]{width:100%!important;height:100%!important}.period-chart-empty[data-v-e846a971]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-soft);font-size:13px;pointer-events:none}.period-detail-section[data-v-e846a971]{padding:0 14px 14px}.period-detail-head[data-v-e846a971]{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.period-detail-title[data-v-e846a971]{font-size:14px;font-weight:700}.period-detail-note[data-v-e846a971]{margin-top:3px;color:var(--text-soft);font-size:11px;line-height:1.55}.module-card-grid[data-v-e846a971]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.module-stat-card[data-v-e846a971]{min-width:0;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--card)}.module-stat-name[data-v-e846a971]{color:var(--text);font-size:13px;font-weight:700}.module-stat-values[data-v-e846a971]{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:10px}.module-stat-volume[data-v-e846a971]{color:var(--text);font-size:20px;font-weight:800}.module-stat-volume small[data-v-e846a971]{margin-left:2px;color:var(--text-soft);font-size:11px;font-weight:500}.module-stat-rate[data-v-e846a971]{color:var(--primary);font-size:15px;font-weight:700}.mini-track[data-v-e846a971]{height:6px;overflow:hidden;margin-top:8px;border-radius:999px;background:color-mix(in srgb,var(--border) 75%,transparent)}.mini-fill[data-v-e846a971]{height:100%;border-radius:inherit;transition:width .25s ease}.mini-fill.volume[data-v-e846a971]{background:var(--accent)}.mini-fill.rate[data-v-e846a971]{background:var(--primary)}.module-target-status[data-v-e846a971]{margin-top:10px;color:var(--text-soft);font-size:10px;line-height:1.55}.module-target-status.reached[data-v-e846a971]{color:var(--success)}.period-dashboard-tip[data-v-e846a971]{margin:0 14px 14px;padding:10px 12px;border-radius:11px;background:color-mix(in srgb,var(--primary) 5%,var(--card));color:var(--text-soft);font-size:11px}@media(max-width:980px){.module-card-grid[data-v-e846a971]{grid-template-columns:repeat(2,minmax(0,1fr))}.target-settings-grid[data-v-e846a971]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.period-hero[data-v-e846a971]{flex-direction:column}.period-kpis[data-v-e846a971]{justify-content:flex-start;gap:14px}.period-visual-grid[data-v-e846a971]{grid-template-columns:1fr}.period-chart-wrap[data-v-e846a971]{height:225px}.target-settings-grid[data-v-e846a971]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.period-hero[data-v-e846a971]{padding:15px}.period-kpi strong[data-v-e846a971]{font-size:18px}.module-card-grid[data-v-e846a971]{grid-template-columns:1fr}.target-settings-panel[data-v-e846a971]{padding:12px;border-radius:14px}.target-settings-head[data-v-e846a971]{flex-direction:column;align-items:stretch}.target-settings-grid[data-v-e846a971]{grid-template-columns:1fr 1fr;gap:8px}.target-setting-item[data-v-e846a971]{padding:10px}.target-setting-input[data-v-e846a971]{width:68px!important}}.tree-node[data-v-bd53a111]{position:relative}.tree-group-title[data-v-bd53a111]{cursor:pointer;-webkit-user-select:none;user-select:none}.tree-lesson-name[data-v-bd53a111]{min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.tree-lesson-row.is-done .tree-lesson-name[data-v-bd53a111]{color:var(--text-soft);text-decoration:line-through}.tree-children.is-collapsed[data-v-bd53a111]{display:none}.simple-tree-menu summary[data-v-bd53a111]{list-style:none}.simple-tree-menu summary[data-v-bd53a111]::-webkit-details-marker{display:none}.course-progress[data-v-fd36cd80]{width:100%}.course-header[data-v-fd36cd80]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.course-header-main[data-v-fd36cd80]{min-width:0}.course-title[data-v-fd36cd80]{margin:0;color:var(--text);font-size:18px;font-weight:600}.course-description[data-v-fd36cd80]{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.add-course-btn[data-v-fd36cd80]{flex:0 0 auto}.course-simple-summary[data-v-fd36cd80]{margin-bottom:16px;color:var(--text-soft);font-size:14px}.course-tree[data-v-fd36cd80]{width:100%;min-width:0}.course-empty[data-v-fd36cd80]{padding:36px 20px;border:1px dashed var(--border);border-radius:16px;color:var(--text-soft);text-align:center}.course-empty-title[data-v-fd36cd80]{margin-bottom:4px;color:var(--text);font-size:18px;font-weight:600}.course-empty-text[data-v-fd36cd80]{font-size:14px}@media(max-width:768px){.course-header[data-v-fd36cd80]{flex-direction:column;align-items:stretch}.add-course-btn[data-v-fd36cd80]{width:100%}}@media(max-width:480px){.course-empty[data-v-fd36cd80]{padding:28px 14px}}.mock-summary[data-v-d390ae0c]{width:100%}.mock-subject-tabs[data-v-d390ae0c]{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--bg);width:max-content;max-width:100%}.mock-subject-tab-btn[data-v-d390ae0c]{border:0;background:transparent;color:var(--text-soft);padding:9px 18px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:.18s ease}.mock-subject-tab-btn[data-v-d390ae0c]:hover{color:var(--text)}.mock-subject-tab-btn.is-active[data-v-d390ae0c]{background:var(--primary);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 28%,transparent)}.mock-subject-card[data-v-d390ae0c]{width:100%}.mock-subject-card.single[data-v-d390ae0c]{border:0;padding:0;background:transparent}.mock-subject-layout[data-v-d390ae0c]{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.4fr);gap:24px;align-items:start}.mock-subject-head[data-v-d390ae0c]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.mock-subject-title[data-v-d390ae0c]{color:var(--text);font-size:16px;font-weight:700}.mock-subject-desc[data-v-d390ae0c]{margin-top:3px;color:var(--text-soft);font-size:12px}.mock-entry-row[data-v-d390ae0c]{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.mock-date-input[data-v-d390ae0c]{width:auto}.mock-name-input[data-v-d390ae0c]{min-width:170px;flex:1 1 170px}.mock-score-input[data-v-d390ae0c]{width:90px}.mock-save-btn[data-v-d390ae0c]{flex:0 0 auto}.mock-history-box[data-v-d390ae0c]{margin-top:18px}.mock-history-title[data-v-d390ae0c]{margin:0 0 8px;color:var(--text-soft);font-size:14px}.mock-history-list[data-v-d390ae0c]{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:7px}.mock-history-item[data-v-d390ae0c]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.mock-history-content[data-v-d390ae0c]{display:flex;flex-direction:column;min-width:0;gap:2px}.mock-history-score[data-v-d390ae0c]{min-width:0;overflow-wrap:anywhere}.mock-history-date[data-v-d390ae0c]{display:block;margin-top:2px;color:var(--text-soft);font-size:11px}.mock-delete-btn[data-v-d390ae0c]{flex:0 0 auto;font-size:12px}.mock-history-empty[data-v-d390ae0c]{padding:16px 0;color:var(--text-soft);font-size:14px}.mock-trend-wrap[data-v-d390ae0c]{min-width:0;margin-top:0;padding-top:0;border-top:0}.mock-filter-bar.subject-filter[data-v-d390ae0c]{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-bottom:8px}.mock-trend-title[data-v-d390ae0c]{margin-bottom:2px;color:var(--text);font-size:14px;font-weight:700}.mock-trend-desc[data-v-d390ae0c]{margin-bottom:8px;color:var(--text-soft);font-size:12px}.mock-subject-chart-box[data-v-d390ae0c]{position:relative;width:100%;height:280px;min-width:0}.mock-chart[data-v-d390ae0c]{display:block;width:100%!important;height:100%!important}.chart-empty-tip[data-v-d390ae0c]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--text-soft);font-size:13px;text-align:center;pointer-events:none}@media(max-width:900px){.mock-subject-layout[data-v-d390ae0c]{grid-template-columns:1fr}.mock-subject-tabs[data-v-d390ae0c]{width:100%}.mock-subject-tab-btn[data-v-d390ae0c]{flex:1 1 0}}@media(max-width:768px){.mock-subject-tabs[data-v-d390ae0c]{display:grid;grid-template-columns:1fr 1fr;width:100%}.mock-subject-tab-btn[data-v-d390ae0c]{width:100%;padding:9px 10px}.mock-subject-layout[data-v-d390ae0c]{grid-template-columns:1fr!important;gap:14px}.mock-entry-row[data-v-d390ae0c]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mock-date-input[data-v-d390ae0c],.mock-name-input[data-v-d390ae0c],.mock-score-input[data-v-d390ae0c],.mock-save-btn[data-v-d390ae0c]{width:100%!important}.mock-name-input[data-v-d390ae0c]{min-width:0}.mock-filter-bar.subject-filter[data-v-d390ae0c]{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none;padding-bottom:3px}.mock-filter-bar.subject-filter[data-v-d390ae0c]::-webkit-scrollbar{display:none}.mock-range-btn[data-v-d390ae0c]{flex:0 0 auto;padding:6px 10px;font-size:12px}.mock-subject-chart-box[data-v-d390ae0c]{height:250px}.mock-history-list[data-v-d390ae0c]{max-height:210px}}@media(max-width:480px){.mock-entry-row[data-v-d390ae0c]{grid-template-columns:1fr!important}.mock-subject-chart-box[data-v-d390ae0c]{height:225px}}.achievement-page-head[data-v-601115fb]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.achievement-page-title[data-v-601115fb]{margin:0;font-size:16px;font-weight:650;color:var(--text)}.achievement-page-desc[data-v-601115fb]{margin:4px 0 0;font-size:14px;line-height:1.6;color:var(--text-soft)}.achievement-summary[data-v-601115fb]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.achievement-summary-card[data-v-601115fb]{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--card) 95%,var(--bg))}.achievement-summary-card small[data-v-601115fb]{display:block;margin-bottom:3px;color:var(--muted);font-size:12px}.achievement-summary-card strong[data-v-601115fb]{color:var(--text);font-size:19px}.achievement-group[data-v-601115fb]{margin-top:20px}.achievement-group[data-v-601115fb]:first-of-type{margin-top:0}.achievement-group-head[data-v-601115fb]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.achievement-group-title[data-v-601115fb]{display:flex;align-items:center;gap:8px;margin-bottom:0;color:var(--text);font-size:15px;font-weight:750}.achievement-group-actions[data-v-601115fb]{display:flex;align-items:center;gap:8px;flex-shrink:0}.achievement-group-count[data-v-601115fb]{color:var(--muted);font-size:11px;white-space:nowrap}.achievement-fold-btn[data-v-601115fb]{border:1px solid var(--border);border-radius:9px;padding:5px 9px;background:var(--card);color:var(--text-soft);font-size:11px;line-height:1;cursor:pointer;transition:.2s ease}.achievement-fold-btn[data-v-601115fb]:hover{border-color:var(--accent);color:var(--text)}.achievement-grid[data-v-601115fb]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.achievement-item[data-v-601115fb]{position:relative;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 10px;border:1px solid var(--border);border-radius:14px;background:var(--card);text-align:center;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.achievement-item[data-v-601115fb]:hover{transform:translateY(-2px)}.achievement-icon[data-v-601115fb]{margin-bottom:8px;font-size:27px;line-height:1}.achievement-name[data-v-601115fb]{color:var(--text);font-size:13px;font-weight:750}.achievement-desc[data-v-601115fb]{margin-top:5px;color:var(--muted);font-size:11px;line-height:1.45}.achievement-badge[data-v-601115fb]{position:absolute;top:8px;right:8px;padding:2px 6px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--muted);font-size:9px}.achievement-locked[data-v-601115fb]{filter:grayscale(100%);opacity:.42}.achievement-unlocked[data-v-601115fb]{filter:none;opacity:1;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.achievement-unlocked .achievement-icon[data-v-601115fb]{transform:scale(1.02)}.achievement-hidden .achievement-icon[data-v-601115fb]:before{content:none}.achievement-hidden .achievement-name[data-v-601115fb]:after{content:none}.achievement-hidden .achievement-desc[data-v-601115fb]:after{content:none}.achievement-hidden.achievement-locked .achievement-icon[data-v-601115fb]{font-size:0}.achievement-hidden.achievement-locked .achievement-icon[data-v-601115fb]:before{content:"❓";font-size:27px}.achievement-hidden.achievement-locked .achievement-name[data-v-601115fb]{font-size:0}.achievement-hidden.achievement-locked .achievement-name[data-v-601115fb]:after{content:"神秘成就";font-size:13px}.achievement-hidden.achievement-locked .achievement-desc[data-v-601115fb]{font-size:0}.achievement-hidden.achievement-locked .achievement-desc[data-v-601115fb]:after{content:"达成特殊条件后揭晓";font-size:11px}.achievement-progress[data-v-601115fb]{width:100%;height:7px;margin-top:12px;overflow:hidden;border-radius:999px;background:var(--border)}.achievement-progress>span[data-v-601115fb]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .35s ease}.achievement-group.is-collapsed .achievement-grid>.achievement-item[data-v-601115fb]:nth-child(n+5):not(.achievement-force-visible){display:none}.achievement-group.is-expanded .achievement-grid>.achievement-item[data-v-601115fb]{display:flex}.achievement-force-visible[data-v-601115fb]{display:flex!important}.achievement-item.practice-total-stat[data-v-601115fb]{filter:none!important;opacity:1!important;border-style:dashed;border-color:var(--border);box-shadow:none!important;background:color-mix(in srgb,var(--card) 92%,var(--bg))}.achievement-item.practice-total-stat[data-v-601115fb]:hover{transform:none}.achievement-item.practice-total-stat .achievement-icon[data-v-601115fb]{filter:none}@media(max-width:900px){.achievement-grid[data-v-601115fb]{grid-template-columns:repeat(3,minmax(0,1fr))}.achievement-group.is-collapsed .achievement-grid>.achievement-item[data-v-601115fb]:nth-child(n+4):not(.achievement-force-visible){display:none}}@media(max-width:640px){.achievement-summary[data-v-601115fb]{grid-template-columns:1fr}.achievement-grid[data-v-601115fb]{grid-template-columns:repeat(2,minmax(0,1fr))}.achievement-group.is-collapsed .achievement-grid>.achievement-item[data-v-601115fb]:nth-child(n+3):not(.achievement-force-visible){display:none}.achievement-group-head[data-v-601115fb]{align-items:flex-start}.achievement-group-actions[data-v-601115fb]{flex-direction:column;align-items:flex-end;gap:5px}.achievement-page-desc[data-v-601115fb]{font-size:12px}}.settings-panel-card[data-v-73ae302a]{width:280px;margin-top:12px}.settings-title[data-v-73ae302a]{margin:0 0 12px;font-size:18px;font-weight:700}.settings-account[data-v-73ae302a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-account-info[data-v-73ae302a]{min-width:0;display:flex;flex-direction:column;gap:3px}.settings-account-label[data-v-73ae302a]{color:var(--text-soft);font-size:12px;line-height:1.4}.settings-account-name[data-v-73ae302a]{max-width:145px;overflow:hidden;color:var(--text);font-size:15px;font-weight:700;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.settings-logout-btn[data-v-73ae302a]{flex:0 0 auto;padding:7px 11px;border:1px solid var(--border);border-radius:9px;background:transparent;color:var(--text-soft);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.settings-logout-btn[data-v-73ae302a]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.settings-logout-btn[data-v-73ae302a]:disabled{cursor:not-allowed;opacity:.55}.theme-mode-grid[data-v-73ae302a]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.theme-btn[data-v-73ae302a],.settings-small-btn[data-v-73ae302a]{font-size:14px}.preset-theme-note[data-v-73ae302a]{font-size:11px;opacity:.72}.settings-divider[data-v-73ae302a]{margin:16px 0;border:0;border-top:1px solid var(--border)}.backup-section[data-v-73ae302a]{display:flex;flex-direction:column;gap:8px}.backup-section-title[data-v-73ae302a]{font-size:14px;font-weight:600}.backup-description[data-v-73ae302a]{color:var(--text-soft);font-size:12px;line-height:1.65}.backup-button-grid[data-v-73ae302a]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.settings-action-btn[data-v-73ae302a]{width:100%;font-size:14px}.settings-action-btn[data-v-73ae302a]:disabled{cursor:not-allowed;opacity:.58}.settings-file-input[data-v-73ae302a]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.settings-reset-btn[data-v-73ae302a]{width:100%;font-size:14px}@media(max-width:640px){.settings-panel-card[data-v-73ae302a]{width:min(280px,calc(100vw - 24px))}}.background-section[data-v-73ae302a]{display:flex;flex-direction:column;gap:10px}.background-preview[data-v-73ae302a]{position:relative;height:112px;overflow:hidden;border:1px solid var(--border);border-radius:11px;background-color:var(--card);background-repeat:no-repeat}.background-preview[data-v-73ae302a]:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#00000057,#0000 58%);content:""}.background-preview-label[data-v-73ae302a]{position:absolute;z-index:1;right:8px;bottom:7px;left:8px;overflow:hidden;color:#fff;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.background-empty[data-v-73ae302a]{display:flex;min-height:72px;align-items:center;justify-content:center;padding:10px;border:1px dashed var(--border);border-radius:10px;color:var(--text-soft);font-size:12px;text-align:center}.background-button-grid[data-v-73ae302a]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.background-switch-row[data-v-73ae302a]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:12px;font-weight:600}.background-switch-row input[data-v-73ae302a]{width:16px;height:16px;accent-color:var(--accent)}.background-control[data-v-73ae302a]{display:flex;flex-direction:column;gap:6px}.background-control-head[data-v-73ae302a]{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text-soft);font-size:11px}.background-control-head strong[data-v-73ae302a]{color:var(--text);font-size:11px}.background-control input[type=range][data-v-73ae302a]{width:100%;accent-color:var(--accent)}.background-select-grid[data-v-73ae302a]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.background-select-grid label[data-v-73ae302a]{display:flex;flex-direction:column;gap:5px;color:var(--text-soft);font-size:11px}.background-select-grid select[data-v-73ae302a]{width:100%;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font:inherit;font-size:12px}.background-error[data-v-73ae302a]{padding:8px 10px;border-radius:8px;background:#d9485f1a;color:#b52d45;font-size:11px;line-height:1.55}.cloud-sync-section[data-v-73ae302a]{display:flex;flex-direction:column;gap:10px}.cloud-sync-status-row[data-v-73ae302a]{display:flex;align-items:center;justify-content:space-between;gap:12px}.cloud-sync-status-main[data-v-73ae302a]{min-width:0;display:flex;align-items:center;gap:9px}.cloud-sync-status-dot[data-v-73ae302a]{width:9px;height:9px;flex:0 0 auto;border-radius:999px;background:var(--text-soft)}.cloud-sync-status-dot.is-success[data-v-73ae302a]{background:#2f9e44}.cloud-sync-status-dot.is-warning[data-v-73ae302a]{background:#e0a800}.cloud-sync-status-dot.is-error[data-v-73ae302a]{background:#d9485f}.cloud-sync-status-text[data-v-73ae302a]{font-size:14px;font-weight:700;line-height:1.4}.cloud-sync-status-text.is-success[data-v-73ae302a]{color:#2f9e44}.cloud-sync-status-text.is-warning[data-v-73ae302a]{color:#9a6b00}.cloud-sync-status-text.is-error[data-v-73ae302a]{color:#d9485f}.cloud-sync-meta[data-v-73ae302a]{margin-top:2px;color:var(--text-soft);font-size:11px;line-height:1.4}.settings-sync-btn[data-v-73ae302a]{flex:0 0 auto;white-space:nowrap}.cloud-sync-message[data-v-73ae302a]{padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.55}.cloud-sync-message.is-error[data-v-73ae302a]{background:#d9485f1a;color:#b52d45}.cloud-sync-message.is-warning[data-v-73ae302a]{background:#e0a8001f;color:#8a6200}.app-shell[data-v-0d901bcf]{width:100%;min-height:100vh}.tablet-landscape-gate[data-v-0d901bcf]{position:fixed;z-index:99999;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:max(28px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));overflow:hidden;background:var(--bg)}.tablet-landscape-panel[data-v-0d901bcf]{width:min(520px,100%);padding:42px 34px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 18px 50px #00000014;text-align:center}.tablet-landscape-icon[data-v-0d901bcf]{display:flex;align-items:center;justify-content:center;width:68px;height:68px;margin:0 auto 20px;border-radius:20px;background:color-mix(in srgb,var(--primary) 12%,var(--card));color:var(--primary);font-size:38px;font-weight:700;line-height:1}.tablet-landscape-title[data-v-0d901bcf]{margin:0;color:var(--text);font-size:26px;font-weight:800;line-height:1.35}.tablet-landscape-text[data-v-0d901bcf]{max-width:420px;margin:14px auto 0;color:var(--text-soft);font-size:15px;line-height:1.8}.tablet-landscape-device[data-v-0d901bcf]{position:relative;width:118px;height:82px;margin:28px auto 0;border:4px solid var(--text);border-radius:13px;opacity:.82}.tablet-landscape-device[data-v-0d901bcf]:after{position:absolute;top:50%;right:5px;width:4px;height:4px;border-radius:50%;background:var(--text);content:"";transform:translateY(-50%)}.tablet-landscape-device-screen[data-v-0d901bcf]{position:absolute;top:7px;right:13px;bottom:7px;left:7px;border-radius:6px;background:color-mix(in srgb,var(--primary) 10%,var(--card))}.app-container[data-v-0d901bcf]{width:calc(100% - 32px);max-width:1280px;margin-right:auto;margin-left:auto}.app-container[data-v-0d901bcf]>*+*{margin-top:20px}.main-card[data-v-0d901bcf]{width:100%}.load-warning[data-v-0d901bcf]{padding:12px 14px;border:1px solid color-mix(in srgb,#d97706 35%,transparent);border-radius:12px;background:color-mix(in srgb,#d97706 8%,var(--card));color:var(--text);font-size:13px;line-height:1.6}.app-loading[data-v-0d901bcf]{padding:40px 20px;color:var(--text-soft);font-size:14px;text-align:center}@media(max-width:640px){.app-container[data-v-0d901bcf]{width:calc(100% - 24px)}}.login-page[data-v-ecc9405c]{--login-primary: #95542f;--login-primary-dark: #744024;--login-primary-soft: #b7744b;--login-text: #38271f;--login-muted: #928c88;--login-border: #dedbd8;--login-background: #fbf7f1;--login-card: rgba(255, 255, 255, .92);position:relative;width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;padding:42px 20px 32px;background:radial-gradient(circle at 18% 10%,rgba(210,166,126,.11),transparent 30%),radial-gradient(circle at 84% 80%,rgba(196,139,94,.09),transparent 28%),linear-gradient(145deg,#fdfaf6,#fbf7f1 48%,#f8f1e8);color:var(--login-text);isolation:isolate}.login-page[data-v-ecc9405c] *,.login-page[data-v-ecc9405c] *:before,.login-page[data-v-ecc9405c] *:after{box-sizing:border-box}.bg-shape[data-v-ecc9405c]{position:absolute;z-index:-1;pointer-events:none;border-radius:999px;filter:blur(.2px)}.bg-shape-1[data-v-ecc9405c]{width:420px;height:420px;top:-220px;right:-110px;transform:rotate(-24deg);background:#d1a47c12}.bg-shape-2[data-v-ecc9405c]{width:520px;height:220px;left:-260px;bottom:80px;transform:rotate(24deg);background:#b8784c0e}.bg-shape-3[data-v-ecc9405c]{width:380px;height:170px;right:-170px;bottom:-20px;transform:rotate(-18deg);background:#cc97690f}.login-shell[data-v-ecc9405c]{width:min(100%,610px);display:flex;flex-direction:column;align-items:center}.login-card[data-v-ecc9405c]{width:100%;padding:42px 48px 38px;background:var(--login-card);border:1px solid rgba(139,98,70,.11);border-radius:24px;box-shadow:0 24px 70px #55372313,0 4px 16px #55372309;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.brand-area[data-v-ecc9405c]{text-align:center}.brand-icon[data-v-ecc9405c]{width:56px;height:56px;margin:0 auto 13px;color:var(--login-primary)}.brand-icon svg[data-v-ecc9405c]{display:block;width:100%;height:100%}.brand-title[data-v-ecc9405c]{margin:0;color:#4b291a;font-size:28px;font-weight:750;line-height:1.35;letter-spacing:.04em}.brand-subtitle[data-v-ecc9405c]{margin:9px 0 0;color:#9a8274;font-size:15px;line-height:1.7;letter-spacing:.13em}.brand-line[data-v-ecc9405c]{display:block;width:50px;height:3px;margin:24px auto 0;border-radius:999px;background:var(--login-primary)}.welcome-area[data-v-ecc9405c]{margin-top:27px;text-align:center}.welcome-area h2[data-v-ecc9405c]{margin:0;color:#4b291a;font-size:31px;font-weight:750;line-height:1.3;letter-spacing:.06em}.welcome-area p[data-v-ecc9405c]{margin:10px 0 0;color:var(--login-muted);font-size:15px;line-height:1.7}.login-form[data-v-ecc9405c]{margin-top:31px}.input-box[data-v-ecc9405c]{width:100%;height:58px;display:flex;align-items:center;position:relative;margin-bottom:15px;background:#ffffffd1;border:1px solid var(--login-border);border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.input-box[data-v-ecc9405c]:focus-within{background:#fff;border-color:#95542fad;box-shadow:0 0 0 4px #95542f14}.input-icon[data-v-ecc9405c]{width:52px;min-width:52px;height:100%;display:flex;align-items:center;justify-content:center;color:#606060}.input-icon svg[data-v-ecc9405c]{width:23px;height:23px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-box input[data-v-ecc9405c]{width:100%;min-width:0;height:100%;padding:0 14px 0 0;color:#3f3631;background:transparent;border:0;outline:0;font:inherit;font-size:16px}.input-box input[data-v-ecc9405c]::placeholder{color:#aaa6a3}.password-toggle[data-v-ecc9405c]{width:45px;min-width:45px;height:45px;margin-right:6px;display:flex;align-items:center;justify-content:center;color:#646464;background:transparent;border:0;border-radius:10px;cursor:pointer;transition:background .18s ease,color .18s ease}.password-toggle[data-v-ecc9405c]:hover{color:var(--login-primary);background:#f7f4f1}.password-toggle[data-v-ecc9405c]:focus-visible{outline:2px solid rgba(149,84,47,.35);outline-offset:1px}.password-toggle svg[data-v-ecc9405c]{width:23px;height:23px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.form-message[data-v-ecc9405c]{margin:-3px 0 12px;padding:9px 12px;display:flex;align-items:center;gap:8px;border-radius:9px;font-size:13px;line-height:1.5}.error-message[data-v-ecc9405c]{color:#a44736;background:#fff4f1;border:1px solid #f0d1c9}.error-message>span[data-v-ecc9405c]{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:700}.success-message[data-v-ecc9405c]{color:#39724c;background:#f2faf4;border:1px solid #cce5d3}.success-message>span[data-v-ecc9405c]{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:700}.login-options[data-v-ecc9405c]{min-height:35px;margin-top:3px;margin-bottom:19px;display:flex;align-items:center;justify-content:space-between;gap:16px}.remember-option[data-v-ecc9405c]{display:inline-flex;align-items:center;gap:9px;color:#4d4743;font-size:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.remember-option input[data-v-ecc9405c]{position:absolute;opacity:0;pointer-events:none}.custom-checkbox[data-v-ecc9405c]{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid #d5d1ce;border-radius:5px;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.custom-checkbox svg[data-v-ecc9405c]{width:13px;height:13px;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.7);transition:opacity .16s ease,transform .16s ease}.remember-option input:checked+.custom-checkbox[data-v-ecc9405c]{background:var(--login-primary);border-color:var(--login-primary)}.remember-option input:checked+.custom-checkbox svg[data-v-ecc9405c]{opacity:1;transform:scale(1)}.remember-option input:focus-visible+.custom-checkbox[data-v-ecc9405c]{box-shadow:0 0 0 3px #95542f1f}.text-button[data-v-ecc9405c]{padding:5px 0;font:inherit;border:0;background:transparent;cursor:pointer}.forgot-button[data-v-ecc9405c]{color:var(--login-primary);font-size:14px}.forgot-button[data-v-ecc9405c]:hover{color:var(--login-primary-dark);text-decoration:underline}.login-button[data-v-ecc9405c]{width:100%;height:58px;display:flex;align-items:center;justify-content:center;gap:16px;color:#fff;background:linear-gradient(135deg,var(--login-primary) 0%,#a4623b 100%);border:0;border-radius:12px;font:inherit;font-size:17px;font-weight:700;letter-spacing:.16em;cursor:pointer;box-shadow:0 9px 22px #75402229;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.login-button svg[data-v-ecc9405c]{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.login-button[data-v-ecc9405c]:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.025);box-shadow:0 12px 26px #75402233}.login-button:hover:not(:disabled) svg[data-v-ecc9405c]{transform:translate(3px)}.login-button[data-v-ecc9405c]:active:not(:disabled){transform:translateY(0)}.login-button[data-v-ecc9405c]:focus-visible{outline:3px solid rgba(149,84,47,.22);outline-offset:3px}.login-button[data-v-ecc9405c]:disabled{opacity:.68;cursor:wait}.register-divider[data-v-ecc9405c]{margin:28px 0 20px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.register-divider span[data-v-ecc9405c]{height:1px;background:#ddd9d6}.register-divider p[data-v-ecc9405c]{margin:0;color:#99938f;font-size:14px;white-space:nowrap}.register-button[data-v-ecc9405c]{width:100%;min-height:56px;display:flex;align-items:center;justify-content:center;gap:13px;padding:10px 20px;color:var(--login-primary-dark);background:#fffaf5b8;border:1.5px solid var(--login-primary);border-radius:12px;font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.register-button[data-v-ecc9405c]:hover{background:#fff7ef;transform:translateY(-1px);box-shadow:0 7px 18px #75402214}.register-button[data-v-ecc9405c]:focus-visible{outline:3px solid rgba(149,84,47,.16);outline-offset:3px}.key-icon[data-v-ecc9405c],.register-arrow[data-v-ecc9405c]{flex:0 0 auto}.key-icon[data-v-ecc9405c]{width:23px;height:23px}.key-icon svg[data-v-ecc9405c],.register-arrow[data-v-ecc9405c]{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.register-arrow[data-v-ecc9405c]{width:20px;height:20px;transition:transform .18s ease}.register-button:hover .register-arrow[data-v-ecc9405c]{transform:translate(3px)}.activation-notice[data-v-ecc9405c]{margin-top:22px;padding:18px 19px;display:flex;align-items:flex-start;gap:13px;background:linear-gradient(135deg,#fdf8f2f5,#faf4edc2);border:1px solid rgba(165,109,66,.08);border-radius:13px}.notice-icon[data-v-ecc9405c]{width:24px;height:24px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#b36a2e;border:2px solid currentColor;border-radius:50%;font-size:14px;font-weight:800}.activation-notice strong[data-v-ecc9405c]{display:block;margin:0;color:#3e3732;font-size:14px;font-weight:700;line-height:1.6}.activation-notice p[data-v-ecc9405c]{margin:4px 0 0;color:#746d68;font-size:13px;line-height:1.7}.login-footer[data-v-ecc9405c]{margin-top:25px;display:flex;align-items:center;justify-content:center;gap:13px}.login-footer span[data-v-ecc9405c]{width:30px;height:1px;background:#95542f73}.login-footer p[data-v-ecc9405c]{margin:0;color:#a37256;font-size:13px;letter-spacing:.12em}.message-enter-active[data-v-ecc9405c],.message-leave-active[data-v-ecc9405c]{transition:opacity .18s ease,transform .18s ease}.message-enter-from[data-v-ecc9405c],.message-leave-to[data-v-ecc9405c]{opacity:0;transform:translateY(-4px)}@media(max-width:900px){.login-page[data-v-ecc9405c]{padding:30px 20px}.login-shell[data-v-ecc9405c]{width:min(100%,570px)}.login-card[data-v-ecc9405c]{padding:38px 42px 35px}}@media(max-width:640px){.login-page[data-v-ecc9405c]{min-height:100svh;align-items:flex-start;padding:max(22px,env(safe-area-inset-top)) 14px max(22px,env(safe-area-inset-bottom))}.login-shell[data-v-ecc9405c]{width:100%}.login-card[data-v-ecc9405c]{padding:29px 20px 25px;border-radius:20px}.brand-icon[data-v-ecc9405c]{width:46px;height:46px;margin-bottom:10px}.brand-title[data-v-ecc9405c]{font-size:clamp(21px,6.3vw,25px);letter-spacing:.02em}.brand-subtitle[data-v-ecc9405c]{margin-top:7px;font-size:13px;letter-spacing:.07em}.brand-line[data-v-ecc9405c]{width:42px;margin-top:19px}.welcome-area[data-v-ecc9405c]{margin-top:21px}.welcome-area h2[data-v-ecc9405c]{font-size:27px}.welcome-area p[data-v-ecc9405c]{margin-top:7px;font-size:13px}.login-form[data-v-ecc9405c]{margin-top:25px}.input-box[data-v-ecc9405c]{height:54px;margin-bottom:13px}.input-icon[data-v-ecc9405c]{width:48px;min-width:48px}.input-icon svg[data-v-ecc9405c]{width:21px;height:21px}.input-box input[data-v-ecc9405c]{font-size:15px}.login-options[data-v-ecc9405c]{margin-bottom:16px}.remember-option[data-v-ecc9405c],.forgot-button[data-v-ecc9405c]{font-size:13px}.custom-checkbox[data-v-ecc9405c]{width:18px;height:18px}.login-button[data-v-ecc9405c]{height:54px;font-size:16px}.register-divider[data-v-ecc9405c]{margin:24px 0 17px;gap:12px}.register-divider p[data-v-ecc9405c]{font-size:13px}.register-button[data-v-ecc9405c]{min-height:53px;font-size:15px}.activation-notice[data-v-ecc9405c]{margin-top:19px;padding:15px}.activation-notice strong[data-v-ecc9405c]{font-size:13px}.activation-notice p[data-v-ecc9405c]{font-size:12px}.login-footer[data-v-ecc9405c]{margin-top:19px}}@media(max-width:380px){.login-card[data-v-ecc9405c]{padding-left:16px;padding-right:16px}.login-options[data-v-ecc9405c]{gap:10px}.remember-option[data-v-ecc9405c]{gap:6px}.register-button[data-v-ecc9405c]{gap:9px;padding-left:12px;padding-right:12px}}@media(prefers-reduced-motion:reduce){.login-page[data-v-ecc9405c] *,.login-page[data-v-ecc9405c] *:before,.login-page[data-v-ecc9405c] *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.register-page[data-v-22c4c327]{--primary: #95542f;--primary-dark: #744024;--text: #38271f;--muted: #928c88;--border: #dedbd8;--danger: #b24c3b;position:relative;width:100%;min-height:100dvh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:42px 20px 32px;color:var(--text);background:radial-gradient(circle at 18% 10%,rgba(210,166,126,.11),transparent 30%),radial-gradient(circle at 84% 80%,rgba(196,139,94,.09),transparent 28%),linear-gradient(145deg,#fdfaf6,#fbf7f1 48%,#f8f1e8);isolation:isolate}.register-page[data-v-22c4c327] *,.register-page[data-v-22c4c327] *:before,.register-page[data-v-22c4c327] *:after{box-sizing:border-box}.bg-shape[data-v-22c4c327]{position:absolute;z-index:-1;pointer-events:none;border-radius:999px}.bg-shape-1[data-v-22c4c327]{width:420px;height:420px;top:-220px;right:-110px;transform:rotate(-24deg);background:#d1a47c12}.bg-shape-2[data-v-22c4c327]{width:520px;height:220px;left:-260px;bottom:80px;transform:rotate(24deg);background:#b8784c0e}.bg-shape-3[data-v-22c4c327]{width:380px;height:170px;right:-170px;bottom:-20px;transform:rotate(-18deg);background:#cc97690f}.register-shell[data-v-22c4c327]{width:min(100%,610px);display:flex;flex-direction:column;align-items:center}.register-card[data-v-22c4c327]{width:100%;padding:38px 48px 36px;background:#ffffffeb;border:1px solid rgba(139,98,70,.11);border-radius:24px;box-shadow:0 24px 70px #55372313,0 4px 16px #55372309;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.brand-area[data-v-22c4c327]{text-align:center}.brand-icon[data-v-22c4c327]{width:52px;height:52px;margin:0 auto 11px;color:var(--primary)}.brand-icon svg[data-v-22c4c327]{display:block;width:100%;height:100%}.brand-title[data-v-22c4c327]{margin:0;color:#4b291a;font-size:27px;font-weight:750;line-height:1.35;letter-spacing:.04em}.brand-subtitle[data-v-22c4c327]{margin:8px 0 0;color:#9a8274;font-size:14px;line-height:1.7;letter-spacing:.13em}.brand-line[data-v-22c4c327]{display:block;width:48px;height:3px;margin:20px auto 0;border-radius:999px;background:var(--primary)}.welcome-area[data-v-22c4c327]{margin-top:22px;text-align:center}.welcome-area h2[data-v-22c4c327]{margin:0;color:#4b291a;font-size:29px;font-weight:750;line-height:1.3;letter-spacing:.05em}.welcome-area p[data-v-22c4c327]{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.register-form[data-v-22c4c327]{margin-top:27px}.input-box[data-v-22c4c327]{position:relative;width:100%;height:56px;display:flex;align-items:center;margin-bottom:13px;background:#ffffffd1;border:1px solid var(--border);border-radius:12px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.input-box[data-v-22c4c327]:focus-within{background:#fff;border-color:#95542fad;box-shadow:0 0 0 4px #95542f14}.input-box.input-error[data-v-22c4c327]{border-color:#b24c3ba6}.input-icon[data-v-22c4c327]{width:52px;min-width:52px;height:100%;display:flex;align-items:center;justify-content:center;color:#606060}.input-icon svg[data-v-22c4c327]{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-box input[data-v-22c4c327]{width:100%;min-width:0;height:100%;padding:0 14px 0 0;color:#3f3631;background:transparent;border:0;outline:0;font:inherit;font-size:15px}.input-box input[data-v-22c4c327]::placeholder{color:#aaa6a3}.activation-input input[data-v-22c4c327]{text-transform:uppercase;letter-spacing:.04em}.password-toggle[data-v-22c4c327]{width:45px;min-width:45px;height:45px;margin-right:6px;display:flex;align-items:center;justify-content:center;color:#646464;background:transparent;border:0;border-radius:10px;cursor:pointer;transition:color .18s ease,background .18s ease}.password-toggle[data-v-22c4c327]:hover{color:var(--primary);background:#f7f4f1}.password-toggle svg[data-v-22c4c327]{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-toggle[data-v-22c4c327]:focus-visible{outline:2px solid rgba(149,84,47,.35);outline-offset:1px}.activation-hint[data-v-22c4c327]{margin:-1px 2px 14px;color:#9a8d85;font-size:12px;line-height:1.6}.form-message[data-v-22c4c327]{margin:0 0 13px;padding:9px 12px;display:flex;align-items:center;gap:8px;color:#a44736;background:#fff4f1;border:1px solid #f0d1c9;border-radius:9px;font-size:13px;line-height:1.5}.message-icon[data-v-22c4c327]{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font-size:11px;font-weight:700}.register-button[data-v-22c4c327]{width:100%;height:57px;display:flex;align-items:center;justify-content:center;gap:15px;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,#a4623b 100%);border:0;border-radius:12px;font:inherit;font-size:16px;font-weight:700;letter-spacing:.08em;cursor:pointer;box-shadow:0 9px 22px #75402229;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.register-button svg[data-v-22c4c327]{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.register-button[data-v-22c4c327]:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.025);box-shadow:0 12px 26px #75402233}.register-button:hover:not(:disabled) svg[data-v-22c4c327]{transform:translate(3px)}.register-button[data-v-22c4c327]:active:not(:disabled){transform:translateY(0)}.register-button[data-v-22c4c327]:disabled{opacity:.68;cursor:wait}.register-button[data-v-22c4c327]:focus-visible{outline:3px solid rgba(149,84,47,.22);outline-offset:3px}.login-divider[data-v-22c4c327]{margin:25px 0 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px}.login-divider span[data-v-22c4c327]{height:1px;background:#ddd9d6}.login-divider p[data-v-22c4c327]{margin:0;color:#99938f;font-size:14px;white-space:nowrap}.back-login-button[data-v-22c4c327]{width:100%;min-height:53px;display:flex;align-items:center;justify-content:center;gap:11px;padding:10px 20px;color:var(--primary-dark);background:#fffaf5b8;border:1.5px solid var(--primary);border-radius:12px;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.back-login-button svg[data-v-22c4c327]{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.back-login-button[data-v-22c4c327]:hover{background:#fff7ef;transform:translateY(-1px);box-shadow:0 7px 18px #75402214}.back-login-button:hover svg[data-v-22c4c327]{transform:translate(-3px)}.back-login-button[data-v-22c4c327]:focus-visible{outline:3px solid rgba(149,84,47,.16);outline-offset:3px}.register-notice[data-v-22c4c327]{margin-top:19px;padding:16px 18px;display:flex;align-items:flex-start;gap:13px;background:linear-gradient(135deg,#fdf8f2f5,#faf4edc2);border:1px solid rgba(165,109,66,.08);border-radius:13px}.notice-icon[data-v-22c4c327]{width:24px;height:24px;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:#b36a2e;border:2px solid currentColor;border-radius:50%;font-size:14px;font-weight:800}.register-notice strong[data-v-22c4c327]{display:block;color:#3e3732;font-size:14px;font-weight:700;line-height:1.6}.register-notice p[data-v-22c4c327]{margin:4px 0 0;color:#746d68;font-size:12px;line-height:1.7}.registration-success[data-v-22c4c327]{margin-top:30px;text-align:center}.success-icon[data-v-22c4c327]{width:72px;height:72px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;color:#4f7b5b;background:#f0f8f2;border:1px solid #cfe3d4;border-radius:50%}.success-icon svg[data-v-22c4c327]{width:38px;height:38px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.registration-success h2[data-v-22c4c327]{margin:0;color:#3f2b21;font-size:29px;font-weight:750;letter-spacing:.05em}.success-description[data-v-22c4c327]{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.success-account[data-v-22c4c327]{margin-top:24px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fdf8f2c7;border:1px solid rgba(149,84,47,.11);border-radius:12px;text-align:left}.success-account span[data-v-22c4c327]{color:#8f827a;font-size:13px}.success-account strong[data-v-22c4c327]{min-width:0;overflow-wrap:anywhere;color:#4b291a;font-size:15px}.success-notice[data-v-22c4c327]{margin-top:17px;padding:16px 18px;display:flex;align-items:flex-start;gap:13px;background:linear-gradient(135deg,#fdf8f2f5,#faf4edc2);border:1px solid rgba(165,109,66,.08);border-radius:13px;text-align:left}.success-notice strong[data-v-22c4c327]{display:block;color:#3e3732;font-size:14px;font-weight:700;line-height:1.6}.success-notice p[data-v-22c4c327]{margin:4px 0 0;color:#746d68;font-size:12px;line-height:1.7}.success-login-button[data-v-22c4c327]{width:100%;height:57px;margin-top:22px;display:flex;align-items:center;justify-content:center;gap:15px;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,#a4623b 100%);border:0;border-radius:12px;font:inherit;font-size:16px;font-weight:700;letter-spacing:.08em;cursor:pointer;box-shadow:0 9px 22px #75402229;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.success-login-button svg[data-v-22c4c327]{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.success-login-button[data-v-22c4c327]:hover{transform:translateY(-1px);filter:brightness(1.025);box-shadow:0 12px 26px #75402233}.success-login-button:hover svg[data-v-22c4c327]{transform:translate(3px)}.success-login-button[data-v-22c4c327]:focus-visible{outline:3px solid rgba(149,84,47,.22);outline-offset:3px}.register-footer[data-v-22c4c327]{margin-top:23px;display:flex;align-items:center;justify-content:center;gap:13px}.register-footer span[data-v-22c4c327]{width:30px;height:1px;background:#95542f73}.register-footer p[data-v-22c4c327]{margin:0;color:#a37256;font-size:13px;letter-spacing:.12em}.message-enter-active[data-v-22c4c327],.message-leave-active[data-v-22c4c327]{transition:opacity .18s ease,transform .18s ease}.message-enter-from[data-v-22c4c327],.message-leave-to[data-v-22c4c327]{opacity:0;transform:translateY(-4px)}@media(max-width:900px){.register-page[data-v-22c4c327]{padding:30px 20px}.register-shell[data-v-22c4c327]{width:min(100%,570px)}.register-card[data-v-22c4c327]{padding:35px 42px 33px}}@media(max-width:640px){.register-page[data-v-22c4c327]{min-height:100svh;align-items:flex-start;padding:max(20px,env(safe-area-inset-top)) 14px max(22px,env(safe-area-inset-bottom))}.register-shell[data-v-22c4c327]{width:100%}.register-card[data-v-22c4c327]{padding:27px 20px 24px;border-radius:20px}.brand-icon[data-v-22c4c327]{width:44px;height:44px;margin-bottom:9px}.brand-title[data-v-22c4c327]{font-size:clamp(21px,6.3vw,25px);letter-spacing:.02em}.brand-subtitle[data-v-22c4c327]{margin-top:6px;font-size:12px;letter-spacing:.07em}.brand-line[data-v-22c4c327]{width:40px;margin-top:17px}.welcome-area[data-v-22c4c327]{margin-top:19px}.welcome-area h2[data-v-22c4c327]{font-size:26px}.welcome-area p[data-v-22c4c327]{margin-top:6px;font-size:13px}.register-form[data-v-22c4c327]{margin-top:22px}.input-box[data-v-22c4c327]{height:52px;margin-bottom:11px}.input-icon[data-v-22c4c327]{width:47px;min-width:47px}.input-icon svg[data-v-22c4c327]{width:20px;height:20px}.input-box input[data-v-22c4c327]{font-size:14px}.password-toggle[data-v-22c4c327]{width:42px;min-width:42px;height:42px}.activation-hint[data-v-22c4c327]{margin-bottom:12px;font-size:11px}.register-button[data-v-22c4c327]{height:53px;font-size:15px}.login-divider[data-v-22c4c327]{margin:22px 0 16px;gap:12px}.login-divider p[data-v-22c4c327]{font-size:13px}.back-login-button[data-v-22c4c327]{min-height:51px;font-size:14px}.register-notice[data-v-22c4c327]{margin-top:17px;padding:14px}.register-notice strong[data-v-22c4c327]{font-size:13px}.register-notice p[data-v-22c4c327]{font-size:11px}.registration-success[data-v-22c4c327]{margin-top:24px}.success-icon[data-v-22c4c327]{width:64px;height:64px}.registration-success h2[data-v-22c4c327]{font-size:26px}.success-account[data-v-22c4c327],.success-notice[data-v-22c4c327]{padding:14px}.success-login-button[data-v-22c4c327]{height:53px;font-size:15px}.register-footer[data-v-22c4c327]{margin-top:18px}}@media(max-width:380px){.register-card[data-v-22c4c327]{padding-left:16px;padding-right:16px}.brand-title[data-v-22c4c327]{font-size:21px}.back-login-button[data-v-22c4c327]{padding-left:12px;padding-right:12px}}@media(prefers-reduced-motion:reduce){.register-page[data-v-22c4c327] *,.register-page[data-v-22c4c327] *:before,.register-page[data-v-22c4c327] *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-v-1931c6dc]{box-sizing:border-box}.forgot-page[data-v-1931c6dc]{--primary: #95542f;--primary-dark: #744024;--primary-soft: #b7744b;--text: #38271f;--muted: #928c88;--border: #dedbd8;position:relative;display:flex;min-height:100vh;min-height:100dvh;align-items:center;justify-content:center;overflow:hidden;padding:32px 20px;background:radial-gradient(circle at 18% 10%,rgba(210,166,126,.11),transparent 30%),radial-gradient(circle at 84% 80%,rgba(196,139,94,.09),transparent 28%),linear-gradient(145deg,#fdfaf6,#fbf7f1 48%,#f8f1e8);color:var(--text)}.background-decoration[data-v-1931c6dc]{position:absolute;border-radius:999px;pointer-events:none;filter:blur(.2px)}.background-decoration-one[data-v-1931c6dc]{top:-180px;left:-160px;width:420px;height:420px;background:#d1a47c12}.background-decoration-two[data-v-1931c6dc]{right:-180px;bottom:-210px;width:480px;height:480px;background:#b8784c0e}.forgot-container[data-v-1931c6dc]{position:relative;z-index:1;width:100%;max-width:460px}.brand-section[data-v-1931c6dc]{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:24px}.brand-icon[data-v-1931c6dc]{display:flex;width:44px;height:44px;flex:0 0 44px;align-items:center;justify-content:center;border-radius:13px;background:linear-gradient(135deg,var(--primary),#a4623b);box-shadow:0 8px 20px #75402229}.brand-icon svg[data-v-1931c6dc]{width:25px;height:25px;fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.brand-section h1[data-v-1931c6dc]{margin:0;color:#4b291a;font-size:19px;font-weight:700;letter-spacing:-.02em}.brand-section p[data-v-1931c6dc]{margin:3px 0 0;color:#9a8274;font-size:12px}.forgot-card[data-v-1931c6dc]{padding:30px;border:1px solid rgba(139,98,70,.11);border-radius:20px;background:#ffffffeb;box-shadow:0 18px 50px #55372313;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card-heading[data-v-1931c6dc]{display:flex;align-items:flex-start;gap:12px}.back-button[data-v-1931c6dc]{display:flex;width:36px;height:36px;flex:0 0 36px;align-items:center;justify-content:center;margin-top:1px;padding:0;border:1px solid var(--border);border-radius:10px;background:#fff;color:#746d68;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}.back-button[data-v-1931c6dc]:hover{border-color:#95542f73;background:#fff7ef;color:var(--primary)}.back-button svg[data-v-1931c6dc]{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.heading-text h2[data-v-1931c6dc]{margin:0;color:#4b291a;font-size:22px;font-weight:700;letter-spacing:-.025em}.heading-text p[data-v-1931c6dc]{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.steps[data-v-1931c6dc]{display:flex;align-items:flex-start;margin:27px 8px 25px}.step[data-v-1931c6dc]{display:flex;width:72px;flex:0 0 72px;flex-direction:column;align-items:center;gap:7px;color:#aaa6a3}.step-number[data-v-1931c6dc]{display:flex;width:30px;height:30px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:50%;background:#fff;font-size:12px;font-weight:700;transition:background .2s ease,border-color .2s ease,color .2s ease}.step-number svg[data-v-1931c6dc]{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3}.step-label[data-v-1931c6dc]{font-size:11px;white-space:nowrap}.step.active[data-v-1931c6dc]{color:var(--primary)}.step.active .step-number[data-v-1931c6dc]{border-color:var(--primary);background:var(--primary);color:#fff}.step-line[data-v-1931c6dc]{height:1px;flex:1;margin-top:15px;background:#e5dfda;transition:background .2s ease}.step-line.active[data-v-1931c6dc]{background:var(--primary)}.message[data-v-1931c6dc]{display:flex;align-items:flex-start;gap:9px;margin-bottom:18px;padding:11px 12px;border-radius:10px;font-size:12px;line-height:1.55}.message svg[data-v-1931c6dc]{width:17px;height:17px;flex:0 0 17px;margin-top:1px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.message.error[data-v-1931c6dc]{border:1px solid #f0d1c9;background:#fff4f1;color:#a44736}.message.success[data-v-1931c6dc]{border:1px solid #cce5d3;background:#f2faf4;color:#39724c}.form[data-v-1931c6dc]{display:flex;flex-direction:column;gap:18px}.form-group[data-v-1931c6dc]{display:flex;flex-direction:column;gap:7px}.form-group label[data-v-1931c6dc]{color:#4d4743;font-size:13px;font-weight:600}.input-wrapper[data-v-1931c6dc]{display:flex;height:46px;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--border);border-radius:11px;background:#ffffffd1;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.input-wrapper[data-v-1931c6dc]:hover{border-color:#cfc5bf}.input-wrapper.focused[data-v-1931c6dc]{background:#fff;border-color:#95542fad;box-shadow:0 0 0 3px #95542f14}.input-wrapper>svg[data-v-1931c6dc]{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:#8e8179;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.input-wrapper input[data-v-1931c6dc]{width:100%;min-width:0;height:100%;padding:0;border:0;outline:0;background:transparent;color:#3f3631;font-family:inherit;font-size:14px}.input-wrapper input[data-v-1931c6dc]::placeholder{color:#aaa6a3}.input-wrapper input[data-v-1931c6dc]:disabled{cursor:not-allowed;color:#a39a95}.password-toggle[data-v-1931c6dc]{display:flex;width:30px;height:30px;flex:0 0 30px;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:#8e8179;cursor:pointer}.password-toggle[data-v-1931c6dc]:hover{color:var(--primary)}.password-toggle[data-v-1931c6dc]:disabled{cursor:not-allowed;opacity:.55}.password-toggle svg[data-v-1931c6dc]{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.field-help[data-v-1931c6dc],.field-error[data-v-1931c6dc]{margin:0;font-size:11px;line-height:1.5}.field-help[data-v-1931c6dc]{color:#9a918c}.field-error[data-v-1931c6dc]{color:#a44736}.primary-button[data-v-1931c6dc],.secondary-button[data-v-1931c6dc]{width:100%;height:46px;border-radius:11px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:transform .15s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease}.primary-button[data-v-1931c6dc]{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:3px;border:1px solid var(--primary);background:linear-gradient(135deg,var(--primary) 0%,#a4623b 100%);color:#fff;box-shadow:0 7px 16px #75402229}.primary-button[data-v-1931c6dc]:hover:not(:disabled){filter:brightness(1.025);box-shadow:0 9px 20px #75402233}.primary-button[data-v-1931c6dc]:active:not(:disabled){transform:translateY(1px)}.primary-button[data-v-1931c6dc]:disabled{border-color:#d8bba9;background:#d8bba9;box-shadow:none;cursor:not-allowed}.secondary-button[data-v-1931c6dc]{border:1px solid #e1dcd8;background:#fff;color:#746d68}.secondary-button[data-v-1931c6dc]:hover:not(:disabled){border-color:#cfbfb5;background:#fff8f2;color:var(--primary-dark)}.secondary-button[data-v-1931c6dc]:disabled{cursor:not-allowed;opacity:.55}.spinner[data-v-1931c6dc]{width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin-1931c6dc .7s linear infinite}.login-link[data-v-1931c6dc]{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:23px;padding-top:20px;border-top:1px solid #eee7e2;color:#9a918c;font-size:12px}.login-link button[data-v-1931c6dc]{padding:0;border:0;background:transparent;color:var(--primary);font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}.login-link button[data-v-1931c6dc]:hover{color:var(--primary-dark);text-decoration:underline}.security-tip[data-v-1931c6dc]{margin:17px 0 0;color:#9a8274;font-size:11px;line-height:1.6;text-align:center}@keyframes spin-1931c6dc{to{transform:rotate(360deg)}}@media(max-width:560px){.forgot-page[data-v-1931c6dc]{align-items:flex-start;padding:24px 14px}.forgot-container[data-v-1931c6dc]{max-width:100%}.brand-section[data-v-1931c6dc]{margin:10px 0 20px}.forgot-card[data-v-1931c6dc]{padding:24px 20px;border-radius:17px}.heading-text h2[data-v-1931c6dc]{font-size:20px}.steps[data-v-1931c6dc]{margin-right:0;margin-left:0}}@media(max-width:360px){.forgot-page[data-v-1931c6dc]{padding-right:10px;padding-left:10px}.forgot-card[data-v-1931c6dc]{padding-right:16px;padding-left:16px}.step[data-v-1931c6dc]{width:66px;flex-basis:66px}}@media(prefers-reduced-motion:reduce){.forgot-page[data-v-1931c6dc] *,.forgot-page[data-v-1931c6dc] *:before,.forgot-page[data-v-1931c6dc] *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg: #f8f5ee;--text: #2b2520;--text-soft: #6b6157;--card: #fffbf5;--border: #e8e0d5;--line: #d9cfc0;--primary: #a66a5b;--primary-hover: #895648;--accent: #c98b48;--success: #6c9c8b;--danger: #b95f57;--muted: #948470;--shadow: 0 8px 24px rgba(90, 70, 40, .07)}.style-ink{--bg: #f4f1ec;--text: #2b2520;--text-soft: #6b6157;--card: #fbf9f4;--border: #ddd4c7;--line: #c9bead;--primary: #a66a5b;--primary-hover: #895648;--accent: #b5925a;--success: #7f9482;--danger: #b36b62;--muted: #8a7a66;--shadow: 0 10px 30px rgba(90, 70, 40, .08)}.style-simple{--bg: #f5f7fb;--text: #0f172a;--text-soft: #475569;--card: #ffffff;--border: #e2e8f0;--line: #cbd5e1;--primary: #5f7c9a;--primary-hover: #4e6782;--accent: #d9a566;--success: #7fa899;--danger: #c47a74;--muted: #64748b;--shadow: 0 10px 30px rgba(37, 99, 235, .08)}.style-custom{--bg: #fefefe;--text: #1f2937;--text-soft: #4b5563;--card: #ffffff;--border: #e5e7eb;--line: #d1d5db;--primary: var(--custom-primary, #5f7c9a);--primary-hover: var(--custom-primary-hover, #4e6782);--accent: var(--custom-accent, #d9a566);--success: #7fa899;--danger: #c47a74;--muted: #9ca3af;--shadow: 0 10px 30px rgba(0, 0, 0, .08)}.dark{--bg: #111827;--text: #f3f4f6;--text-soft: #d1d5db;--card: #1f2937;--border: #374151;--line: #4b5563;--primary: #9ab6d6;--primary-hover: #b3c9e3;--accent: #e1c087;--success: #98c1b0;--danger: #d89791;--muted: #9ca3af;--shadow: 0 10px 30px rgba(0, 0, 0, .4)}*{box-sizing:border-box}html{background-color:var(--bg);transition:background-color .35s ease}body{margin:0;background-color:transparent;color:var(--text);transition:color .35s ease;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;padding:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:var(--shadow);transition:background-color .35s ease,border-color .35s ease}.tab-btn{padding:9px 14px;border-radius:12px;color:var(--text-soft);border:1px solid transparent;background:transparent;transition:all .2s ease;cursor:pointer;font-size:15px}.tab-btn:hover{background:var(--bg);color:var(--text)}.tab-indicator{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;box-shadow:0 6px 18px #5f7c9a40}.summary-period-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding:6px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--bg) 76%,transparent)}.summary-period-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-soft);padding:9px 15px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.summary-period-btn:hover{color:var(--text);background:var(--card)}.summary-period-btn.is-active{color:#fff;background:var(--primary);box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 28%,transparent)}.summary-reset-btn{margin-left:auto;background:transparent;color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 58%,var(--border));padding:9px 15px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.summary-reset-btn:hover{background:var(--danger);color:#fff;border-color:var(--danger);transform:translateY(-1px)}@media(max-width:640px){.summary-reset-btn{margin-left:0;width:100%}}.summary-period-panel.hidden{display:none}.reset-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:#201b176b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.reset-modal-mask.hidden{display:none}.reset-modal{width:min(560px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:0 24px 70px #00000038;padding:22px}.reset-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.reset-modal-title{margin:0;font-size:20px;font-weight:750;color:var(--text)}.reset-modal-desc{margin:6px 0 18px;color:var(--text-soft);font-size:13px;line-height:1.7}.reset-modal-close{width:34px;height:34px;padding:0;border-radius:10px;font-size:20px;line-height:1}.practice-reset-options{display:grid;gap:10px}.practice-reset-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px;text-align:left;border:1px solid var(--border);border-radius:14px;background:var(--bg)}.practice-reset-option:hover{border-color:var(--danger);color:var(--text);transform:none}.practice-reset-option strong{display:block;margin-bottom:4px;color:var(--text);font-size:15px}.practice-reset-option span{display:block;color:var(--text-soft);font-size:12px;line-height:1.55}.practice-reset-option .reset-option-arrow{flex:0 0 auto;color:var(--danger);font-size:18px;font-weight:700}.practice-reset-option[data-reset-period=all]{border-color:color-mix(in srgb,var(--danger) 42%,var(--border))}.reset-modal-note{margin-top:16px;padding:11px 12px;border-radius:12px;background:color-mix(in srgb,var(--danger) 7%,var(--bg));color:var(--text-soft);font-size:12px;line-height:1.65}.entry-sheet{border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--card) 96%,var(--bg));padding:22px}.entry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--border)}.entry-toolbar-left{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.entry-title{font-size:21px;font-weight:700;letter-spacing:.02em;color:var(--text)}.entry-check{display:inline-flex;align-items:center;gap:7px;font-size:17px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.entry-check input{width:18px;height:18px;accent-color:var(--primary)}.entry-save-btn{min-width:86px;font-size:16px;font-weight:700;padding:9px 18px}.entry-module-list{display:grid;gap:4px}.entry-module-row{display:grid;grid-template-columns:120px minmax(260px,440px) minmax(170px,1fr);align-items:center;gap:14px;min-height:58px;padding:7px 4px;border-bottom:1px dashed color-mix(in srgb,var(--border) 76%,transparent)}.entry-module-row:last-child{border-bottom:0}.entry-module-name{font-size:17px;font-weight:650;color:var(--text);white-space:nowrap}.entry-fraction{display:grid;grid-template-columns:minmax(82px,1fr) auto minmax(82px,1fr) auto;align-items:center;gap:9px}.entry-fraction input{min-width:0;text-align:center;font-size:17px;font-weight:650;padding:8px 9px;border-width:0 0 2px 0;border-radius:0;background:transparent;box-shadow:none!important}.entry-fraction input:focus{border-color:var(--primary)}.entry-slash{font-size:20px;color:var(--muted)}.entry-fraction-hint{font-size:13px;color:var(--muted);white-space:nowrap}.entry-rate-box{text-align:right;font-size:16px;color:var(--text-soft);white-space:nowrap}.entry-rate-value{margin-left:5px;color:var(--primary);font-size:18px;font-weight:750}.entry-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}@media(max-width:900px){.entry-module-row{grid-template-columns:96px 1fr}.entry-rate-box{grid-column:2;text-align:left}}@media(max-width:640px){.entry-sheet{padding:16px}.entry-toolbar{align-items:flex-start}.entry-toolbar-left{gap:12px}.entry-title{width:100%;font-size:18px}.entry-module-row{grid-template-columns:1fr;gap:6px;padding:12px 0}.entry-rate-box{grid-column:1;text-align:left}.entry-fraction{grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr)}.entry-fraction-hint{grid-column:1 / -1;text-align:center}}button{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 14px;cursor:pointer;transition:all .2s ease;font-size:14px}button:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}button.primary-btn{background:var(--primary);color:#fff;border-color:var(--primary)}button.primary-btn:hover{background:var(--primary-hover);color:#fff;border-color:var(--primary-hover)}button.danger-btn{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger-btn:hover{opacity:.85}input:not([type=checkbox]),select{background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 10px;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease;width:100%}input:not([type=checkbox]):focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #5f7c9a38}.heatmap-cell{width:42px;height:42px;border-radius:10px;border:1px solid var(--border);transition:background .3s ease;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#111}.dark .heatmap-cell{color:#fff}.heatmap-cell:hover:after{content:attr(data-tip);position:absolute;bottom:110%;left:50%;transform:translate(-50%);white-space:nowrap;background:var(--text);color:var(--bg);padding:4px 8px;border-radius:6px;font-size:12px;z-index:10}.achievement-item{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 8px;transition:all .25s ease}.achievement-locked{filter:grayscale(100%);opacity:.4}.achievement-unlocked{border-color:var(--accent);box-shadow:0 0 0 3px #d9a56626;opacity:1}.progress-bar{width:100%;height:10px;background:var(--line);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px;transition:width .4s ease}.course-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.course-overview-item{border:1px solid var(--border);background:color-mix(in srgb,var(--card) 94%,var(--bg));border-radius:12px;padding:12px 14px}.course-overview-item small{display:block;color:var(--muted);margin-bottom:4px;font-size:12px}.course-overview-item strong{color:var(--text);font-size:18px}.course-plan-card{border:1px solid var(--border);background:var(--card);border-radius:15px;padding:16px;margin-bottom:12px;box-shadow:0 3px 12px #46321e09}.course-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:11px}.course-plan-title{font-size:17px;font-weight:750;color:var(--text);line-height:1.4}.course-plan-meta{font-size:13px;color:var(--text-soft);white-space:nowrap}.course-plan-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}.course-mini-btn{padding:5px 9px;font-size:12px;border-radius:8px}.lesson-list{margin-top:13px;display:grid;gap:6px}.lesson-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:38px;padding:6px 8px;border-radius:9px;transition:background-color .18s ease}.lesson-row:hover{background:color-mix(in srgb,var(--bg) 72%,transparent)}.lesson-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.lesson-name{min-width:0;font-size:14px;color:var(--text);cursor:pointer;overflow-wrap:anywhere}.lesson-row.is-done .lesson-name{color:var(--muted);text-decoration:line-through;text-decoration-thickness:1px}.lesson-actions{display:flex;gap:5px;opacity:.55;transition:opacity .18s ease}.lesson-row:hover .lesson-actions{opacity:1}.lesson-action-btn{padding:3px 7px;font-size:11px;border-radius:7px}.course-empty{border:1px dashed var(--border);border-radius:14px;padding:28px 18px;text-align:center;color:var(--text-soft);background:color-mix(in srgb,var(--card) 92%,var(--bg))}.course-tree{display:grid;gap:10px}.tree-node{--tree-depth: 0;position:relative;margin-left:calc(var(--tree-depth) * 22px)}.tree-node:before{content:"";position:absolute;left:-12px;top:0;bottom:-10px;width:1px;background:color-mix(in srgb,var(--border) 82%,transparent);display:none}.tree-node[data-depth]:not([data-depth="0"]):before{display:block}.tree-group-card,.tree-lesson-row{border:1px solid var(--border);background:var(--card);border-radius:12px}.tree-group-card{padding:12px 13px;box-shadow:0 2px 9px #46321e06}.tree-group-head{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:9px;align-items:center}.tree-toggle{width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:13px;color:var(--text-soft)}.tree-check{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}.tree-group-main{min-width:0}.tree-group-title{font-weight:750;font-size:15px;line-height:1.35;color:var(--text);overflow-wrap:anywhere}.tree-group-sub{margin-top:2px;color:var(--muted);font-size:12px}.tree-group-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.tree-action-btn{padding:4px 8px;font-size:11px;border-radius:7px;white-space:nowrap}.tree-progress{margin-top:9px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.tree-progress .progress-bar{height:7px}.tree-progress-text{color:var(--text-soft);font-size:12px;white-space:nowrap}.tree-children{display:grid;gap:7px;margin-top:8px}.tree-children.is-collapsed{display:none}.tree-lesson-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 11px;transition:background-color .18s ease,opacity .18s ease}.tree-lesson-row:hover{background:color-mix(in srgb,var(--bg) 70%,transparent)}.tree-lesson-row.is-done{opacity:.72}.tree-lesson-name{min-width:0;font-size:14px;color:var(--text);cursor:pointer;overflow-wrap:anywhere}.tree-lesson-row.is-done .tree-lesson-name{color:var(--muted);text-decoration:line-through}.tree-path-example{margin:0 0 14px;padding:10px 12px;border-radius:11px;border:1px dashed var(--border);background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text-soft);font-size:13px;line-height:1.65}.tree-path-example strong{color:var(--text)}.tree-empty-children{margin:7px 0 0 36px;color:var(--muted);font-size:12px;padding:7px 9px;border-left:2px solid var(--border)}@media(max-width:760px){.tree-node{margin-left:calc(var(--tree-depth) * 12px)}.tree-group-head{grid-template-columns:auto auto minmax(0,1fr)}.tree-group-actions{grid-column:1 / -1;justify-content:flex-start;padding-left:56px}.tree-progress{grid-template-columns:1fr;gap:5px}.tree-progress-text{text-align:right}}@media(max-width:640px){.course-overview{grid-template-columns:1fr}.course-plan-head{flex-direction:column}.course-plan-meta{white-space:normal}.lesson-actions{opacity:1}}.floating-panel{position:fixed;top:18px;right:18px;z-index:99}.setting-ball{width:46px;height:46px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;gap:4px;box-shadow:0 12px 30px #0003;border:none;padding:0;cursor:pointer}.setting-dot{width:4px;height:4px;border-radius:50%;background:#fff;display:block;flex:0 0 auto}.chart-box{width:100%;height:320px;position:relative}.period-dashboard{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--card) 94%,var(--bg))}.period-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--primary) 7%,var(--card))}.period-hero-title{margin:0;color:var(--primary);font-size:21px;font-weight:800;line-height:1.2}.period-hero-range{margin-top:6px;color:var(--text-soft);font-size:12px}.period-kpis{display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}.period-kpi{display:flex;align-items:baseline;gap:6px;color:var(--text-soft);font-size:12px;white-space:nowrap}.period-kpi strong{color:var(--text);font-size:22px;font-weight:800;letter-spacing:-.02em}.period-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px}.period-visual-card{min-width:0;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:15px;background:var(--card);padding:15px}.period-visual-title{color:var(--text);font-size:15px;font-weight:800}.period-visual-note{margin-top:3px;color:var(--muted);font-size:11px}.period-chart-wrap{position:relative;height:245px;margin-top:10px}.period-chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.period-detail-section{margin:0 14px 14px;padding:16px;border:1px solid color-mix(in srgb,var(--border) 82%,transparent);border-radius:15px;background:var(--card)}.period-detail-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.period-detail-title{font-size:15px;font-weight:800}.period-detail-note{margin-top:3px;color:var(--muted);font-size:11px}.module-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.module-stat-card{min-width:0;border:1px solid var(--border);border-radius:13px;padding:12px;background:color-mix(in srgb,var(--card) 94%,var(--bg))}.module-stat-name{color:var(--text);font-size:13px;font-weight:800}.module-stat-values{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:8px}.module-stat-volume{color:var(--text);font-size:19px;font-weight:800;white-space:nowrap}.module-stat-volume small{margin-left:2px;color:var(--text-soft);font-size:10px;font-weight:500}.module-stat-rate{color:var(--primary);font-size:14px;font-weight:800;white-space:nowrap}.mini-track{width:100%;height:6px;margin-top:8px;overflow:hidden;border-radius:999px;background:var(--line)}.mini-fill{height:100%;border-radius:inherit;transition:width .3s ease}.mini-fill.volume{background:var(--accent)}.mini-fill.rate{background:var(--primary)}.period-dashboard-tip{margin:0 14px 14px;padding:10px 12px;border-radius:11px;color:var(--text-soft);background:color-mix(in srgb,var(--primary) 5%,var(--card));font-size:11px}@media(max-width:980px){.module-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.period-hero{flex-direction:column}.period-kpis{justify-content:flex-start;gap:14px}.period-visual-grid{grid-template-columns:1fr}.period-chart-wrap{height:225px}}@media(max-width:480px){.period-hero{padding:15px}.period-kpi strong{font-size:18px}.period-visual-grid{padding:10px}.period-detail-section{margin:0 10px 10px;padding:12px}.module-card-grid{grid-template-columns:1fr 1fr;gap:8px}.module-stat-card{padding:10px}}@media(max-width:768px){.chart-box{height:260px}.card{padding:18px}}#tab-course .course-tree{gap:8px}#tab-course .tree-node{margin-left:calc(var(--tree-depth) * 18px)}#tab-course .tree-group-card{padding:10px 12px;border-radius:11px;box-shadow:none}#tab-course .tree-group-head{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}#tab-course .tree-group-main{min-width:0}#tab-course .tree-group-title{font-size:15px;font-weight:700}#tab-course .tree-group-sub,#tab-course .tree-check{display:none}#tab-course .tree-toggle{width:25px;height:25px;border:0;background:transparent;padding:0}#tab-course .tree-progress{margin-top:7px;grid-template-columns:minmax(0,1fr) auto;gap:8px}#tab-course .tree-progress .progress-bar{height:6px}#tab-course .tree-progress-text{font-size:11px}#tab-course .tree-children{gap:5px;margin-top:6px}#tab-course .tree-lesson-row{min-height:36px;padding:7px 10px;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto}#tab-course .tree-lesson-row .tree-check{display:block}#tab-course .tree-group-actions{display:block;padding:0}.simple-tree-menu{position:relative}.simple-tree-menu>summary{list-style:none;cursor:pointer;width:28px;height:28px;border:1px solid var(--border);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-soft);background:var(--card);font-size:17px;-webkit-user-select:none;user-select:none}.simple-tree-menu>summary::-webkit-details-marker{display:none}.simple-tree-menu[open]>summary{background:color-mix(in srgb,var(--primary) 10%,var(--card));color:var(--primary)}.simple-tree-menu-list{position:absolute;z-index:50;right:0;top:34px;width:132px;padding:5px;background:var(--card);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 22px #2d23191f;display:grid;gap:3px}.simple-tree-menu-list button{width:100%;padding:7px 8px;border:0;border-radius:7px;background:transparent;text-align:left;font-size:12px}.simple-tree-menu-list button:hover{background:color-mix(in srgb,var(--primary) 9%,var(--card))}.simple-tree-menu-list button.danger-item{color:var(--danger)}#tab-course .tree-empty-children{margin-left:28px;padding:5px 8px;font-size:12px}@media(max-width:640px){#tab-course .tree-node{margin-left:calc(var(--tree-depth) * 10px)}#tab-course .tree-group-head{grid-template-columns:auto minmax(0,1fr) auto}#tab-course .tree-progress{grid-template-columns:1fr}#tab-course .tree-progress-text{text-align:right}}#tab-course .tree-group-head{grid-template-columns:auto minmax(140px,1fr) minmax(150px,280px) auto;align-items:center;gap:10px}#tab-course .tree-progress{margin-top:0;display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:8px;min-width:150px;max-width:280px;width:100%}#tab-course .tree-progress .progress-bar{height:10px;border-radius:999px;overflow:hidden}#tab-course .tree-progress .progress-fill{height:100%;border-radius:999px}#tab-course .tree-progress-text{font-size:11px;min-width:58px;text-align:right;white-space:nowrap}@media(max-width:760px){#tab-course .tree-group-head{grid-template-columns:auto minmax(110px,1fr) auto}#tab-course .tree-progress{grid-column:2 / 4;max-width:100%;min-width:0;margin-top:2px}}.achievement-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}.achievement-summary-card{border:1px solid var(--border);border-radius:12px;padding:12px 14px;background:color-mix(in srgb,var(--card) 95%,var(--bg))}.achievement-summary-card small{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.achievement-summary-card strong{font-size:19px;color:var(--text)}.achievement-group{margin-top:20px}.achievement-group:first-of-type{margin-top:0}.achievement-group-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:15px;font-weight:750;color:var(--text)}.achievement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.achievement-item{position:relative;min-height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:14px 10px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.achievement-item:hover{transform:translateY(-2px)}.achievement-item .achievement-icon{font-size:27px;line-height:1;margin-bottom:8px}.achievement-item .achievement-name{font-size:13px;font-weight:750;color:var(--text)}.achievement-item .achievement-desc{margin-top:5px;font-size:11px;line-height:1.45;color:var(--muted)}.achievement-item .achievement-badge{position:absolute;top:8px;right:8px;padding:2px 6px;border-radius:999px;font-size:9px;border:1px solid var(--border);color:var(--muted);background:var(--card)}.achievement-locked{filter:grayscale(100%);opacity:.42}.achievement-unlocked{filter:none;opacity:1;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.achievement-hidden.achievement-locked .achievement-icon:before{content:"❓"}.achievement-hidden.achievement-locked .achievement-icon{font-size:0}.achievement-hidden.achievement-locked .achievement-icon:before{font-size:27px}.achievement-hidden.achievement-locked .achievement-name{font-size:0}.achievement-hidden.achievement-locked .achievement-name:after{content:"神秘成就";font-size:13px}.achievement-hidden.achievement-locked .achievement-desc{font-size:0}.achievement-hidden.achievement-locked .achievement-desc:after{content:"达成特殊条件后揭晓";font-size:11px}.achievement-progress{width:100%;height:7px;margin-top:12px;border-radius:999px;overflow:hidden;background:var(--border)}.achievement-progress>span{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .35s ease}.achievement-toast{position:fixed;z-index:120;right:22px;bottom:22px;width:min(360px,calc(100vw - 32px));border:1px solid var(--accent);background:var(--card);color:var(--text);border-radius:15px;padding:13px 15px;box-shadow:0 12px 32px #23190f29;transform:translateY(20px);opacity:0;pointer-events:none;transition:all .25s ease}.achievement-toast.show{transform:translateY(0);opacity:1}@media(max-width:900px){.achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.achievement-summary{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.achievement-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.achievement-group-title{margin-bottom:0!important}.achievement-group-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.achievement-group-count{font-size:11px;color:var(--muted);white-space:nowrap}.achievement-fold-btn{border:1px solid var(--border);background:var(--card);color:var(--text-soft);border-radius:9px;padding:5px 9px;font-size:11px;line-height:1;cursor:pointer;transition:.2s ease}.achievement-fold-btn:hover{border-color:var(--accent);color:var(--text)}.achievement-group.is-collapsed .achievement-grid>.achievement-item:nth-child(n+5):not(.achievement-force-visible){display:none}.achievement-group.is-expanded .achievement-grid>.achievement-item{display:flex}.achievement-force-visible{display:flex!important}.achievement-unlocked .achievement-icon{transform:scale(1.02)}@media(max-width:900px){.achievement-group.is-collapsed .achievement-grid>.achievement-item:nth-child(n+4):not(.achievement-force-visible){display:none}}@media(max-width:640px){.achievement-group.is-collapsed .achievement-grid>.achievement-item:nth-child(n+3):not(.achievement-force-visible){display:none}.achievement-group-head{align-items:flex-start}.achievement-group-actions{flex-direction:column;align-items:flex-end;gap:5px}}.achievement-item.practice-total-stat{filter:none!important;opacity:1!important;border-style:dashed;border-color:var(--border);box-shadow:none!important;background:color-mix(in srgb,var(--card) 92%,var(--bg))}.achievement-item.practice-total-stat:hover{transform:none}.achievement-item.practice-total-stat .achievement-icon{filter:none}.mock-filter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px;margin-bottom:10px}.mock-range-btn{border:1px solid var(--border);background:var(--card);color:var(--text-soft);border-radius:999px;padding:5px 11px;font-size:12px;line-height:1.4;cursor:pointer;transition:.18s ease}.mock-range-btn:hover{border-color:var(--primary);color:var(--text)}.mock-range-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 10px #00000014}.mock-history-date{color:var(--text-soft);font-size:12px;margin-left:6px}.module-target-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px dashed var(--border);font-size:12px;color:var(--text-soft)}.module-target-input-wrap{display:flex;align-items:center;gap:4px;flex-shrink:0}.module-target-input{width:58px!important;min-width:58px;padding:5px 7px!important;border-radius:8px!important;text-align:center;font-size:12px!important;line-height:1.2}.module-target-unit{font-size:12px;color:var(--text-soft)}.module-target-status{margin-top:6px;font-size:11px;color:var(--text-soft)}.module-target-status.reached{font-weight:700;color:var(--primary)}.summary-target-btn{background:transparent;color:var(--text);border:1px solid var(--border);padding:9px 15px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-left:auto}.summary-target-btn:hover,.summary-target-btn.is-open{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-1px)}.summary-period-nav .summary-reset-btn{margin-left:0}.target-settings-panel{margin:14px 0 16px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--card)}.target-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.target-settings-title{font-weight:700;font-size:15px}.target-settings-desc{margin-top:4px;color:var(--text-soft);font-size:12px}.target-settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.target-setting-item{padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.target-setting-name{font-size:13px;font-weight:700;margin-bottom:8px}.target-setting-input-row{display:flex;align-items:center;gap:6px}.target-setting-input{width:76px!important;min-width:76px;padding:7px 8px!important;text-align:center;border-radius:9px!important;font-size:13px!important}.target-setting-unit{color:var(--text-soft);font-size:12px}.target-settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media(max-width:900px){.target-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.target-settings-grid{grid-template-columns:1fr}.summary-target-btn{margin-left:0}}.mock-dual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.mock-subject-card{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--card);min-width:0}.mock-subject-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.mock-subject-title{font-size:17px;font-weight:800}.mock-subject-desc{font-size:12px;color:var(--text-soft);margin-top:3px}.mock-entry-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.mock-entry-row input[type=text]{min-width:150px;flex:1 1 150px}.mock-history-box{margin-top:14px}.mock-history-list{max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:7px}.mock-trend-wrap{margin-top:16px;padding-top:14px;border-top:1px dashed var(--border)}.mock-filter-bar.subject-filter{justify-content:flex-end;margin-bottom:8px}.mock-subject-chart-box{height:280px;position:relative}@media(max-width:900px){.mock-dual-grid{grid-template-columns:1fr}}.mock-subject-tabs{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:6px;border:1px solid var(--border);border-radius:14px;background:var(--bg);width:max-content;max-width:100%}.mock-subject-tab-btn{border:0;background:transparent;color:var(--text-soft);padding:9px 18px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:.18s ease}.mock-subject-tab-btn:hover{color:var(--text)}.mock-subject-tab-btn.is-active{background:var(--primary);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--primary) 28%,transparent)}.mock-subject-panel.hidden{display:none!important}.mock-subject-panel{width:100%}.mock-subject-card.single{border:0;padding:0;background:transparent}.mock-subject-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.4fr);gap:24px;align-items:start}@media(max-width:900px){.mock-subject-layout{grid-template-columns:1fr}.mock-subject-tabs{width:100%}.mock-subject-tab-btn{flex:1 1 0}}.preset-theme-panel{display:flex;flex-direction:column;gap:12px}.preset-theme-section-title{font-size:13px;color:var(--text-soft);margin-bottom:2px}.preset-palette-grid{display:grid;grid-template-columns:repeat(5,34px);gap:10px;align-items:center}.preset-palette-btn{width:34px;height:34px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;position:relative;box-shadow:0 0 0 1px color-mix(in srgb,var(--border) 85%,transparent);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.preset-palette-btn:hover{transform:translateY(-1px) scale(1.04)}.preset-palette-btn.is-active{border-color:var(--card);box-shadow:0 0 0 2px var(--primary),0 4px 10px #0000001a}.preset-color-summary{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:center;margin-top:2px}.preset-color-label{font-size:13px;color:var(--text-soft)}.preset-color-chip{width:40px;height:24px;border-radius:0;border:1px solid var(--border);box-shadow:inset 0 0 0 1px #ffffff59}.display-mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.display-mode-row #darkToggle{width:auto!important;min-width:92px;padding:7px 14px}.restore-palette-row{display:flex;justify-content:flex-end;margin-top:4px}.free-color-input{width:44px!important;height:30px!important;min-width:44px;padding:0!important;border:1px solid var(--border)!important;border-radius:4px!important;background:transparent;cursor:pointer;overflow:hidden}.free-color-input::-webkit-color-swatch-wrapper{padding:0}.free-color-input::-webkit-color-swatch{border:0}.free-color-input::-moz-color-swatch{border:0}.custom-color-hint{grid-column:1 / -1;font-size:11px;color:var(--text-soft);margin-top:-2px}html,body{max-width:100%;overflow-x:hidden}img,canvas,svg{max-width:100%}input,button,select,textarea{max-width:100%}@media(min-width:1200px){body{padding:16px}.max-w-7xl{max-width:1280px!important}.period-dashboard-grid{grid-template-columns:1fr 1fr}.mock-subject-layout{grid-template-columns:minmax(320px,.9fr) minmax(500px,1.4fr)}.achievement-grid,.target-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:769px)and (max-width:1199px){body{padding:12px}.card{padding:18px;border-radius:16px}.period-dashboard{border-radius:16px}.period-dashboard-grid{grid-template-columns:1fr 1fr;gap:12px}.period-chart-card{min-width:0}.mock-subject-layout{grid-template-columns:minmax(280px,.9fr) minmax(380px,1.2fr);gap:16px}.mock-entry-row input[type=text]{min-width:130px}.achievement-grid,.target-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.course-tree{font-size:14px}.tree-progress{max-width:220px;min-width:120px}.settings-panel{width:min(330px,calc(100vw - 24px))!important}}@media(max-width:768px){body{padding:8px;font-size:14px}.max-w-7xl{width:100%!important;max-width:100%!important}.card{padding:14px;border-radius:14px}.tab-btn{padding:8px 10px;border-radius:10px;font-size:13px;white-space:nowrap;flex:0 0 auto}.card>.flex.flex-wrap.gap-2.mb-5{overflow-x:auto;flex-wrap:nowrap!important;padding-bottom:4px;scrollbar-width:none}.card>.flex.flex-wrap.gap-2.mb-5::-webkit-scrollbar{display:none}.summary-period-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:5px;margin-bottom:12px;scrollbar-width:none}.summary-period-nav::-webkit-scrollbar{display:none}.summary-period-btn,.summary-target-btn,.summary-reset-btn{flex:0 0 auto;margin-left:0!important;padding:8px 11px;font-size:12px}.entry-toolbar{flex-direction:column;align-items:stretch!important;gap:10px}.entry-toolbar-left{flex-wrap:wrap;gap:8px}.entry-save-btn{width:100%}.entry-module-row{grid-template-columns:1fr!important;gap:7px;padding:12px 0}.entry-module-name{font-weight:700}.entry-fraction{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}.entry-fraction input{min-width:0;width:100%!important}.entry-fraction-hint{grid-column:1 / -1;margin-left:0!important;font-size:11px}.entry-rate-box{text-align:left!important}.period-hero{flex-direction:column;align-items:flex-start!important;gap:10px;padding:14px}.period-kpis{width:100%;display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.period-kpi{min-width:0}.period-dashboard-grid{grid-template-columns:1fr!important;gap:12px;padding:12px}.period-chart-card{padding:12px;min-height:300px}.period-chart-box{height:260px!important}.period-module-grid{grid-template-columns:1fr!important;gap:8px}.module-stat-card{min-width:0}.module-target-status{line-height:1.5}.target-settings-panel{padding:12px;border-radius:14px}.target-settings-head{flex-direction:column;align-items:stretch}.target-settings-grid{grid-template-columns:1fr 1fr!important;gap:8px}.target-setting-item{padding:10px}.target-setting-input{width:68px!important;min-width:68px}.target-settings-actions{display:grid;grid-template-columns:1fr 1fr}.mock-subject-tabs{width:100%;display:grid;grid-template-columns:1fr 1fr}.mock-subject-tab-btn{width:100%;padding:9px 10px}.mock-subject-layout{grid-template-columns:1fr!important;gap:14px}.mock-entry-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mock-entry-row input[type=date]{width:100%!important}.mock-entry-row input[type=text]{min-width:0;width:100%!important}.mock-entry-row input[type=number]{width:100%!important}.mock-entry-row .primary-btn{width:100%}.mock-filter-bar.subject-filter{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none;padding-bottom:3px}.mock-filter-bar.subject-filter::-webkit-scrollbar{display:none}.mock-range-btn{flex:0 0 auto;padding:6px 10px;font-size:12px}.mock-subject-chart-box{height:250px}.mock-history-list{max-height:210px}#tab-course>.flex.justify-between{flex-direction:column;align-items:stretch}#addCourseBtn{width:100%}.tree-group-head{grid-template-columns:auto minmax(0,1fr) auto!important;gap:8px!important}.tree-progress{grid-column:2 / -1;width:100%;min-width:0!important;max-width:none!important}.tree-children{margin-left:12px!important;padding-left:10px!important}.tree-name{overflow-wrap:anywhere}.achievement-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.achievement-summary-card{padding:10px}.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.achievement-item{min-width:0;padding:12px 9px;min-height:145px}.achievement-icon{font-size:26px}.achievement-name{font-size:13px}.achievement-desc{font-size:11px;line-height:1.45}#settingToggle{width:44px!important;height:44px!important}#settingPanel{position:fixed!important;left:8px!important;right:8px!important;top:62px!important;width:auto!important;max-width:none!important;max-height:calc(100vh - 74px);overflow-y:auto;border-radius:16px}.preset-palette-grid{grid-template-columns:repeat(5,34px);justify-content:start}#countdownText{font-size:26px!important;line-height:1.2}.reset-modal{width:calc(100vw - 20px)!important;max-width:none!important;max-height:86vh;overflow-y:auto;padding:16px}canvas{width:100%!important;max-width:100%!important}}@media(max-width:480px){body{padding:6px}.card{padding:11px;border-radius:12px}.tab-btn{padding:7px 9px;font-size:12px}.summary-period-btn,.summary-target-btn,.summary-reset-btn{padding:7px 9px;font-size:11px}.period-kpis{grid-template-columns:1fr 1fr}.period-hero-title{font-size:18px}.period-chart-box{height:230px!important}.target-settings-grid,.mock-entry-row{grid-template-columns:1fr!important}.mock-subject-chart-box{height:225px}.achievement-grid{grid-template-columns:1fr 1fr!important}.achievement-item{min-height:135px}.achievement-summary{grid-template-columns:1fr 1fr!important}.preset-palette-grid{grid-template-columns:repeat(5,32px);gap:8px}.preset-palette-btn{width:32px;height:32px}.free-color-input{width:42px!important;height:28px!important}}@media(max-width:768px){.summary-period-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible!important;padding:6px}.summary-period-btn{min-width:0;width:100%;padding:8px 4px;font-size:12px;text-align:center;white-space:nowrap}.summary-target-btn{grid-column:1 / 3;width:100%;min-width:0;margin:0!important;padding:8px;text-align:center;white-space:nowrap}.summary-reset-btn{grid-column:3 / 5;width:100%;min-width:0;margin:0!important;padding:8px;text-align:center;white-space:nowrap}}@media(max-width:480px){.summary-period-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.summary-period-btn{padding:7px 2px;font-size:11px}.summary-target-btn,.summary-reset-btn{padding:8px 6px;font-size:12px}}.exam-hero{display:grid;grid-template-columns:112px minmax(260px,1fr) minmax(280px,320px);align-items:center;gap:28px}.exam-logo-wrap{width:96px;height:96px;border-radius:22px;background:#fff;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);box-shadow:0 8px 22px #2d231914;display:flex;align-items:center;justify-content:center;overflow:hidden}.exam-logo{width:78px;height:78px;object-fit:contain;display:block}.exam-main{min-width:0;padding-left:4px}.exam-actions{min-width:0}.exam-check-row{margin-top:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:900px){.exam-hero{grid-template-columns:88px minmax(0,1fr);gap:18px}.exam-logo-wrap{width:76px;height:76px;border-radius:18px}.exam-logo{width:62px;height:62px}.exam-actions{grid-column:1 / -1}}@media(max-width:640px){.exam-hero{grid-template-columns:64px minmax(0,1fr);gap:14px}.exam-logo-wrap{width:58px;height:58px;border-radius:14px}.exam-logo{width:48px;height:48px}.exam-main{padding-left:0}.exam-check-row{margin-top:14px;gap:8px}}
