:root{--color-primary: #4f8cff;--color-primary-weak: #f5f9ff;--color-primary-border: #b9d0fa;--color-domain-cpa: #c0504d;--color-domain-course: #4a6fc4;--color-domain-reading: #4e8b57;--color-domain-life: #7d6bb5;--color-domain-paper: #e0973a;--color-text: #2c3345;--color-text-sub: #5a6480;--color-text-weak: #8a93a8;--color-border: #e4e8f0;--color-bg-page: #eef1f5;--color-bg-card: #ffffff;--color-sidebar-bg: #242b3d;--color-sidebar-text: #c8cede;--color-warn: #f2a33c;--color-danger: #c0504d;--color-success: #4e8b57;--radius-card: 10px;--radius-page: 14px;--radius-chip: 4px;--space-1: 4px;--space-2: 8px;--space-3: 14px;--space-4: 20px;--font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:var(--color-bg-page);color:var(--color-text)}.login-page[data-v-c10f5986]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-page)}.login-card[data-v-c10f5986]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-page);padding:40px 36px;width:320px;display:flex;flex-direction:column;gap:14px;text-align:center}.logo[data-v-c10f5986]{font-size:40px}h1[data-v-c10f5986]{font-size:20px}.ipt[data-v-c10f5986]{border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;font-size:14px;font-family:inherit}.ipt[data-v-c10f5986]:focus{outline:2px solid var(--color-primary);border-color:transparent}.btn[data-v-c10f5986]{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:10px 0;font-size:14px;font-family:inherit;cursor:pointer}.err[data-v-c10f5986]{color:var(--color-danger);font-size:13px;margin:0}.mask[data-v-709917fd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:100}.dialog[data-v-709917fd]{width:420px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-709917fd]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-709917fd]{flex:1;font-size:16px}.x[data-v-709917fd]{color:#9aa3b8;cursor:pointer}.row[data-v-709917fd]{display:flex;align-items:flex-start;padding:12px 20px;gap:14px}.row label[data-v-709917fd]{width:48px;font-size:13.5px;color:#5a6480;padding-top:8px;flex-shrink:0}.avatar-line[data-v-709917fd]{display:flex;align-items:center;gap:14px}.avatar-edit[data-v-709917fd]{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#7db4ff,#4f8cff);color:#fff;font-size:23px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.preview[data-v-709917fd]{width:56px;height:56px;border-radius:50%;object-fit:cover}.cam[data-v-709917fd]{position:absolute;right:0;bottom:0;left:0;background:#141a288c;color:#fff;font-size:11px;text-align:center;cursor:pointer;padding:1px 0}.upload-btn[data-v-709917fd]{border:1px solid var(--color-primary-border);background:#fff;color:var(--color-primary);border-radius:8px;padding:7px 14px;font-size:13px;font-family:inherit;cursor:pointer}.options[data-v-709917fd]{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.avatar-option[data-v-709917fd]{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;background:#f4f6fa}.avatar-option.on[data-v-709917fd]{outline:2.5px solid #2c3345;outline-offset:2px}.hint[data-v-709917fd]{font-size:11.5px;color:#a3abbd;margin-top:8px}.ipt[data-v-709917fd]{flex:1;background:#f4f6fa;border:none;border-radius:8px;padding:9px 12px;font-size:13.5px;font-family:inherit}.foot[data-v-709917fd]{display:flex;gap:10px;padding:6px 20px 18px;justify-content:flex-end}.btn[data-v-709917fd]{border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-family:inherit;cursor:pointer}.btn.save[data-v-709917fd]{background:#4f8cff;color:#fff;font-weight:700}.profile[data-v-37eb3e3a]{padding:4px 16px 14px;border-bottom:1px solid #37415a;margin-bottom:12px}.avatar[data-v-37eb3e3a]{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#7db4ff,#4f8cff);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;margin-bottom:8px;position:relative;cursor:pointer;overflow:visible}.avatar-img[data-v-37eb3e3a]{width:52px;height:52px;border-radius:50%;object-fit:cover}.cam[data-v-37eb3e3a]{position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;background:#39445f;border:2px solid #242b3d;border-radius:50%;font-size:9px;display:flex;align-items:center;justify-content:center}.nick[data-v-37eb3e3a]{font-size:15px;font-weight:700;color:#fff;display:flex;align-items:center;gap:6px}.pen[data-v-37eb3e3a]{font-size:11px;opacity:.6;cursor:pointer}.motto[data-v-37eb3e3a]{font-size:11.5px;color:#8d97b3;margin-top:4px;line-height:1.5;font-style:italic}.sidebar[data-v-767f2c45]{width:190px;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);padding:16px 0;flex-shrink:0;height:100vh;position:sticky;top:0}.logo[data-v-767f2c45]{padding:0 20px 12px;font-size:16px;font-weight:700;color:#fff}.search[data-v-767f2c45]{margin:0 14px 12px;background:#1a2032;border-radius:8px;padding:8px 10px;font-size:12px;color:#7c869e;display:flex;justify-content:space-between;align-items:center}.search kbd[data-v-767f2c45]{font-size:10px;background:#2c3550;border-radius:4px;padding:1px 5px;color:#9aa3b8;font-family:inherit}.nav-item[data-v-767f2c45]{display:block;padding:10px 20px;font-size:14px;color:var(--color-sidebar-text);text-decoration:none}.nav-item.active[data-v-767f2c45]{background:#39445f;color:#fff;border-left:3px solid var(--color-primary)}.nav-divider[data-v-767f2c45]{height:1px;background:#3c4560;margin:10px 16px}.nav-group[data-v-767f2c45]{padding:0 20px 8px;font-size:12px;color:#7c869e;letter-spacing:4px}.nav-settings[data-v-767f2c45]{display:block;margin:14px 16px 0;padding:8px 4px 4px;border-top:1px solid #37415a;font-size:12px;color:#7c869e;text-decoration:none}.nav-settings[data-v-767f2c45]:hover{color:#fff}.mask[data-v-9e74fa9a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2880;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:200}.dlg[data-v-9e74fa9a]{width:560px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 12px 40px #141a2840}.input-row[data-v-9e74fa9a]{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid #eef1f6}.icon[data-v-9e74fa9a]{font-size:16px}input[data-v-9e74fa9a]{flex:1;border:none;outline:none;font-size:15px;font-family:inherit;color:var(--color-text)}.esc[data-v-9e74fa9a]{font-size:11px;color:#9aa3b8;background:#f4f6fa;border-radius:4px;padding:2px 6px;cursor:pointer}.results[data-v-9e74fa9a]{max-height:46vh;overflow-y:auto}.hit[data-v-9e74fa9a]{display:flex;align-items:center;gap:10px;width:100%;padding:11px 18px;border:none;background:none;cursor:pointer;font-family:inherit;text-align:left}.hit[data-v-9e74fa9a]:hover{background:#f5f9ff}.tag[data-v-9e74fa9a]{font-size:11px;padding:1px 8px;border-radius:20px;background:#edf0f6;color:#7a8399;flex-shrink:0}.title[data-v-9e74fa9a]{font-size:13.5px;color:var(--color-text)}.empty[data-v-9e74fa9a]{padding:22px 18px;font-size:13px;color:var(--color-text-weak);text-align:center}.empty.hint[data-v-9e74fa9a]{color:#b8c0d0}.layout[data-v-c093b533]{display:flex;min-height:100vh}.main[data-v-c093b533]{flex:1;min-width:0}@media(max-width:768px){.main[data-v-c093b533] .page{padding:60px 14px 20px}}.hamburger[data-v-c093b533]{display:none;position:fixed;top:12px;left:12px;z-index:60;background:var(--color-sidebar-bg);color:#fff;border:none;border-radius:8px;font-size:18px;width:38px;height:38px;cursor:pointer}.sidebar-wrap[data-v-c093b533]{position:sticky;top:0;height:100vh}@media(max-width:768px){.hamburger[data-v-c093b533]{display:block}.sidebar-wrap[data-v-c093b533]{position:fixed;z-index:50;transform:translate(-100%);transition:transform .2s ease}.sidebar-wrap.open[data-v-c093b533]{transform:translate(0);box-shadow:4px 0 24px #00000040}}.qm[data-v-50e6d473]{display:inline-flex;align-items:center;gap:3px;pointer-events:none}.qm-btn[data-v-50e6d473],.qm-x[data-v-50e6d473]{pointer-events:auto}.qm-lb[data-v-50e6d473]{font-size:10px;color:#a3abbd}.qm-btn[data-v-50e6d473]{border:1px solid #c9d9f5;background:#f5f9ff;color:var(--color-primary);font-size:10px;border-radius:4px;padding:1px 5px;cursor:pointer;font-family:inherit}.qm-btn[data-v-50e6d473]:hover{background:var(--color-primary);color:#fff}.qm-x[data-v-50e6d473]{border:none;background:none;color:#b6bfd2;font-size:10px;cursor:pointer;padding:0 2px}.chip[data-v-7a45805b]{font-size:11px;border-radius:var(--radius-chip);padding:2px 5px;margin-bottom:3px;line-height:1.4;display:flex;align-items:flex-start;gap:5px;cursor:pointer;position:relative}.qm-pop[data-v-7a45805b]{position:absolute;top:100%;left:0;z-index:6;background:#fff;border:1px solid var(--color-border);border-radius:6px;padding:3px 6px;box-shadow:0 2px 10px #28325024;white-space:nowrap}.cc[data-v-7a45805b]{width:10px;height:10px;border-radius:50%;border:1.5px solid #b6bfd2;background:#fff;flex-shrink:0;margin-top:2.5px}.d-cpa[data-v-7a45805b]{background:#fdeeee;color:var(--color-domain-cpa)}.d-cpa .cc[data-v-7a45805b]{border-color:#d99a98}.kind[data-v-7a45805b]{background:#fff;border:1px solid #e7b6b4;border-radius:3px;font-size:10px;padding:0 3px;line-height:1.6;flex-shrink:0;margin-top:1px}.qbadge[data-v-7a45805b]{font-size:9.5px;width:13px;height:13px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;margin-top:2px;line-height:1}.qbadge.q1[data-v-7a45805b]{background:#c0504d}.qbadge.q2[data-v-7a45805b]{background:#4e8b57}.qbadge.q3[data-v-7a45805b]{background:#f2a33c}.qbadge.q4[data-v-7a45805b]{background:#9aa3b8}.d-course[data-v-7a45805b]{background:#eef3fd;color:var(--color-domain-course)}.d-course .cc[data-v-7a45805b]{border-color:#9db3e3}.d-reading[data-v-7a45805b]{background:#eef7ee;color:var(--color-domain-reading)}.d-reading .cc[data-v-7a45805b]{border-color:#9ec9a7}.d-paper[data-v-7a45805b]{background:#fdf3e7;color:var(--color-domain-paper)}.d-paper .cc[data-v-7a45805b]{border-color:#dcb98a}.d-life[data-v-7a45805b]{background:#f3f0fa;color:var(--color-domain-life)}.d-life .cc[data-v-7a45805b]{border-color:#b3a7d6}.chip.done[data-v-7a45805b]{text-decoration:line-through;opacity:.55}.chip.done .cc[data-v-7a45805b]{background:var(--color-primary);border-color:var(--color-primary);position:relative}.chip.done .cc[data-v-7a45805b]:after{content:"✓";color:#fff;font-size:8px;line-height:8px;position:absolute;left:1px;top:0;font-weight:700}.day-pane[data-v-4032c604]{touch-action:pan-y;-webkit-user-select:none;user-select:none}.dp-head[data-v-4032c604]{display:flex;align-items:center;gap:10px;padding:8px 4px 10px}.arrow[data-v-4032c604]{width:34px;height:34px;border-radius:50%;border:1px solid #d4dae6;background:#fff;color:var(--color-text-sub);font-size:16px;cursor:pointer;flex-shrink:0}.dp-date[data-v-4032c604]{flex:1;min-width:0}.dp-date b[data-v-4032c604]{font-size:17px;display:flex;align-items:center;gap:6px}.dp-date .now[data-v-4032c604]{font-style:normal;font-size:10px;color:#fff;background:var(--color-primary);border-radius:4px;padding:1px 5px}.dp-date span[data-v-4032c604]{font-size:12px;color:var(--color-text-weak)}.add[data-v-4032c604]{width:34px;height:34px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;font-size:18px;cursor:pointer;flex-shrink:0}.dp-body[data-v-4032c604]{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:10px 12px;min-height:200px}.dp-body .chip[data-v-4032c604]{font-size:13px;padding:5px 7px;margin-bottom:5px}.empty[data-v-4032c604]{font-size:13px;color:var(--color-text-weak);padding:24px 0;text-align:center}.month-goal[data-v-d28b9261]{border:1.5px solid #f0dfb2;background:#fffaf0;border-radius:10px;padding:10px 14px;margin-bottom:14px}.month-goal .lb[data-v-d28b9261]{font-size:12px;font-weight:700;color:#b07a00;margin-bottom:6px}.month-goal .items[data-v-d28b9261]{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}.mgoal-chip[data-v-d28b9261]{background:#fff}.cal-scroll[data-v-d28b9261]{overflow-x:auto;-webkit-overflow-scrolling:touch}.cal-grid[data-v-d28b9261]{display:grid;grid-template-columns:110px repeat(7,1fr);gap:6px}@media(max-width:768px){.cal-grid[data-v-d28b9261]{min-width:860px}.month-goal .items[data-v-d28b9261]{flex-direction:column;align-items:flex-start}}.hd[data-v-d28b9261]{text-align:center;font-size:12px;color:var(--color-text-weak);padding:4px 0;font-weight:600}.week[data-v-d28b9261]{border:1.5px dashed #a9c3f7;background:#f5f9ff;border-radius:8px;min-height:80px;padding:6px 7px}.week .d[data-v-d28b9261]{font-size:11px;font-weight:700;color:var(--color-domain-course);margin-bottom:5px}.cell[data-v-d28b9261]{border:1px solid var(--color-border);border-radius:8px;min-height:80px;padding:6px 7px;background:#fff}.cell.dim[data-v-d28b9261]{background:#f7f9fb;opacity:.55}.cell.today[data-v-d28b9261]{border:2px solid var(--color-primary);box-shadow:0 0 14px 3px #4f8cff59,inset 0 0 8px #4f8cff14}.cell.today .d[data-v-d28b9261]{color:var(--color-primary);font-weight:700}.cell .d[data-v-d28b9261]{font-size:12px;color:var(--color-text-weak);margin-bottom:4px;display:flex;justify-content:space-between}.dnum[data-v-d28b9261]{display:flex;align-items:baseline;gap:3px;font-weight:600}.lunar[data-v-d28b9261]{font-style:normal;font-size:9.5px;font-weight:400;color:#b8c0d0}.lunar.special[data-v-d28b9261]{color:var(--color-warn)}.cell.today .lunar[data-v-d28b9261]{color:var(--color-primary)}.cell.drop[data-v-d28b9261]{border-color:var(--color-primary);background:#f0f6ff;box-shadow:0 0 0 2px #4f8cff40 inset}.cell .chip.dragging[data-v-d28b9261]{opacity:.55;cursor:grabbing}.m-tag[data-v-d28b9261]{color:#b8c0d0;font-size:10px}.add-inline[data-v-d28b9261]{border:none;background:none;color:#b6bfd2;font-size:11px;cursor:pointer;padding:1px 4px;font-family:inherit}.add-inline[data-v-d28b9261]:hover{color:var(--color-primary)}.mask[data-v-00926fc4]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:100}.dialog[data-v-00926fc4]{width:380px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-00926fc4]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-00926fc4]{flex:1;font-size:16px}.x[data-v-00926fc4]{color:#9aa3b8;cursor:pointer}.row[data-v-00926fc4]{display:flex;align-items:center;padding:11px 20px;gap:14px}.row label[data-v-00926fc4]{width:60px;font-size:13.5px;color:var(--color-text-sub);flex-shrink:0}.ipt[data-v-00926fc4]{flex:1;background:#f4f6fa;border:none;border-radius:8px;padding:9px 12px;font-size:13.5px;font-family:inherit}.foot[data-v-00926fc4]{display:flex;gap:10px;padding:6px 20px 18px;justify-content:flex-end}.seg[data-v-00926fc4]{display:flex;gap:6px;flex:1;flex-wrap:wrap;align-items:center}.seg .kind-pill[data-v-00926fc4]{font-size:12.5px;padding:7px 14px;border-radius:8px;background:#f4f6fa;color:#7a8399;cursor:pointer}.seg .kind-pill.on[data-v-00926fc4]{background:var(--color-primary);color:#fff;font-weight:700}.seg .quad-pill[data-v-00926fc4]{font-size:11.5px;padding:6px 10px;border-radius:7px;background:#f4f6fa;color:#7a8399;cursor:pointer;white-space:nowrap}.seg .quad-pill.on.q1[data-v-00926fc4]{background:#c0504d;color:#fff;font-weight:700}.seg .quad-pill.on.q2[data-v-00926fc4]{background:#4e8b57;color:#fff;font-weight:700}.seg .quad-pill.on.q3[data-v-00926fc4]{background:#f2a33c;color:#fff;font-weight:700}.seg .quad-pill.on.q4[data-v-00926fc4]{background:#9aa3b8;color:#fff;font-weight:700}.hint-q[data-v-00926fc4]{font-size:11px;color:#b8c0d0}.btn[data-v-00926fc4]{border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-family:inherit;cursor:pointer}.btn.cancel[data-v-00926fc4]{background:#f4f6fa;color:#7a8399}.btn.save[data-v-00926fc4]{background:var(--color-primary);color:#fff;font-weight:700}.btn.save[data-v-00926fc4]:disabled{background:#c9d2e3;cursor:not-allowed}.btn.danger[data-v-00926fc4]{background:#fdeeee;color:var(--color-danger)}.page[data-v-a5b04ce6]{padding:22px 26px}.cal-head[data-v-a5b04ce6]{display:flex;align-items:center;gap:14px;margin-bottom:14px}.cal-head h1[data-v-a5b04ce6]{font-size:20px}.arrow[data-v-a5b04ce6]{width:30px;height:30px;border-radius:50%;border:1px solid #d4dae6;background:#fff;color:var(--color-text-sub);font-size:15px;cursor:pointer}.legend[data-v-a5b04ce6]{margin-left:auto;font-size:12px;color:var(--color-text-weak);background:#f4f6fa;padding:5px 10px;border-radius:20px}.tt-head[data-v-5a048e43]{margin-bottom:10px}.hint[data-v-5a048e43]{font-size:12px;color:var(--color-text-weak)}.grid-head[data-v-5a048e43]{display:grid;grid-template-columns:90px repeat(var(--v11151777),1fr);gap:5px;margin-bottom:5px}.tt-scroll[data-v-5a048e43]{overflow-x:auto;-webkit-overflow-scrolling:touch}.tt-day[data-v-5a048e43]{touch-action:pan-y;-webkit-user-select:none;user-select:none}.day-strip[data-v-5a048e43]{display:flex;align-items:center;gap:6px;margin-bottom:10px}.strip-btn[data-v-5a048e43]{flex:1;border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:7px 0;font-size:14px;color:var(--color-text-sub);cursor:pointer;font-family:inherit;position:relative}.strip-btn.on[data-v-5a048e43]{background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:700}.strip-btn i[data-v-5a048e43]{font-style:normal;position:absolute;top:2px;right:4px;font-size:9px;color:var(--color-warn)}.strip-btn.on i[data-v-5a048e43]{color:#fff}.strip-arrow[data-v-5a048e43]{width:30px;height:34px;border-radius:8px;border:1px solid #d4dae6;background:#fff;color:var(--color-text-sub);font-size:15px;cursor:pointer;flex-shrink:0}.day-body[data-v-5a048e43]{display:flex;gap:5px}.tt-inner[data-v-5a048e43]{min-width:640px}.tt-hd[data-v-5a048e43]{text-align:center;font-size:12.5px;color:var(--color-text-weak);font-weight:700;padding:5px 0}.tt-hd.today[data-v-5a048e43]{color:var(--color-primary)}.grid-body[data-v-5a048e43]{display:flex;gap:5px}.slot-col[data-v-5a048e43]{width:85px;flex-shrink:0;position:relative}.slot[data-v-5a048e43]{position:absolute;left:0;right:0;font-size:11px;color:#9aa3b8;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.5;text-align:center}.col[data-v-5a048e43]{flex:1;position:relative}.tt-cell[data-v-5a048e43]{position:absolute;left:0;right:0;border:1px solid #edf0f6;border-radius:8px;background:#fafbfd;cursor:pointer}.today-col .tt-cell[data-v-5a048e43]{background:#f5f9ff;border-color:#c9d9f5}.course-c[data-v-5a048e43]{position:absolute;left:4px;right:4px;border-radius:8px;color:#fff;font-size:12px;line-height:1.5;padding:4px 8px;text-shadow:0 1px 2px rgba(60,70,100,.28);overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2}.course-c small[data-v-5a048e43]{opacity:.85;display:block;font-size:10.5px}.course-c.dragging[data-v-5a048e43]{opacity:.85;box-shadow:0 3px 10px #2832504d;cursor:grabbing}.course-c .label[data-v-5a048e43]{pointer-events:none;display:block}.edge[data-v-5a048e43]{position:absolute;left:0;right:0;height:12px;display:flex;align-items:center;justify-content:center;font-size:9px;color:#ffffffd9;cursor:ns-resize;opacity:0}.course-c:hover .edge[data-v-5a048e43]{opacity:1}.edge.top[data-v-5a048e43]{top:0;background:#ffffff38;border-radius:8px 8px 0 0}.edge.bot[data-v-5a048e43]{bottom:0;background:#ffffff38;border-radius:0 0 8px 8px}.mask[data-v-c251f188]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:100}.panel[data-v-c251f188]{width:440px;max-width:calc(100vw - 32px);max-height:86vh;overflow-y:auto;background:#fff;border-radius:14px;padding-bottom:18px}.p-head[data-v-c251f188]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6;position:sticky;top:0;background:#fff}.p-head h2[data-v-c251f188]{flex:1;text-align:center;font-size:16px}.back[data-v-c251f188]{color:var(--color-primary);font-size:14px;cursor:pointer}.group-lb[data-v-c251f188]{font-size:12px;color:#a08fd0;padding:12px 20px 4px;font-weight:700}.row[data-v-c251f188]{display:flex;align-items:center;padding:10px 20px;gap:12px}.row .name[data-v-c251f188]{flex:1;font-size:14px;color:#3d465e}.row .hint[data-v-c251f188]{font-size:11.5px;color:#a3abbd;margin-top:2px}.bells[data-v-c251f188]{display:flex;gap:8px}.bell-pill[data-v-c251f188]{font-size:12.5px;padding:8px 12px;border-radius:8px;background:#f4f6fa;color:#7a8399;cursor:pointer;border:1px solid transparent;white-space:nowrap}.bell-pill.on[data-v-c251f188]{background:var(--color-primary);color:#fff;font-weight:700}.bell-hint[data-v-c251f188]{font-size:11.5px;color:#a3abbd;padding:0 20px 6px}.ipt[data-v-c251f188]{border:1px solid var(--color-border);border-radius:8px;padding:7px 10px;font-size:13.5px;font-family:inherit;background:#fafbfd}.ipt.small[data-v-c251f188]{width:120px}.times[data-v-c251f188]{display:flex;align-items:center;gap:8px}.btn[data-v-c251f188]{border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-family:inherit;cursor:pointer;margin:6px 20px 0}.btn.ghost[data-v-c251f188]{background:#f4f6fa;color:#5a6480}.btn.save[data-v-c251f188]{background:var(--color-primary);color:#fff;font-weight:700}.btn.warn[data-v-c251f188]{background:#fffaf0;color:#b07a00;border:1px solid #f0dfb2}.btn.warn[data-v-c251f188]:disabled{opacity:.45;cursor:not-allowed}.new-term-hint[data-v-c251f188]{font-size:11.5px;color:#b07a00;margin:6px 0 0;padding:0}.new-term[data-v-c251f188]{margin:10px 20px;border:1px solid #f0dfb2;background:#fffaf0;color:#6b5d33;border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.7}.new-term b[data-v-c251f188]{font-size:14px;color:#b07a00}.new-term-row[data-v-c251f188]{display:flex;gap:10px;margin-top:8px;align-items:center}.new-term-row .btn[data-v-c251f188]{margin:0}.foot[data-v-c251f188]{display:flex;justify-content:flex-end;padding:10px 20px 0}.foot .btn[data-v-c251f188]{margin:0}.mask[data-v-b879f551]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:110}.dlg[data-v-b879f551]{width:420px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-b879f551]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-b879f551]{flex:1;font-size:16px}.x[data-v-b879f551]{color:#9aa3b8;cursor:pointer}.row[data-v-b879f551]{display:flex;align-items:center;padding:10px 20px;gap:12px}.row label[data-v-b879f551]{width:72px;font-size:13.5px;color:var(--color-text-sub);flex-shrink:0}.ipt[data-v-b879f551]{flex:1;background:#f4f6fa;border:none;border-radius:8px;padding:8px 11px;font-size:13px;font-family:inherit}.ipt.sel[data-v-b879f551],.ipt.num[data-v-b879f551]{width:auto;flex:none}.num[data-v-b879f551]{width:56px}.weeks-input[data-v-b879f551]{width:170px;flex:none}.weeks-err[data-v-b879f551]{font-size:11.5px;color:var(--color-danger);padding:2px 20px 0 92px}.custom-toggle[data-v-b879f551]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-weak);cursor:pointer}.seg[data-v-b879f551]{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex:1}.seg span[data-v-b879f551]{font-size:12.5px;padding:6px 12px;border-radius:8px;background:#f4f6fa;color:#7a8399;cursor:pointer}.seg span.on[data-v-b879f551]{background:var(--color-primary);color:#fff;font-weight:700}.colors[data-v-b879f551]{display:flex;gap:8px}.colors i[data-v-b879f551]{width:26px;height:26px;border-radius:8px;cursor:pointer}.colors i.on[data-v-b879f551]{outline:2.5px solid #2c3345;outline-offset:2px}.foot[data-v-b879f551]{display:flex;gap:10px;padding:6px 20px 18px;justify-content:flex-end}.btn[data-v-b879f551]{border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-family:inherit;cursor:pointer}.btn.save[data-v-b879f551]{background:var(--color-primary);color:#fff;font-weight:700}.btn.danger[data-v-b879f551]{background:#fdeeee;color:var(--color-danger)}.card[data-v-625e5a47]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px}.card-head[data-v-625e5a47]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.card-head h3[data-v-625e5a47]{font-size:14px;color:var(--color-text-sub)}.btn[data-v-625e5a47]{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-family:inherit;cursor:pointer}.hw[data-v-625e5a47]{display:flex;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px dashed #edf0f6;font-size:14px;cursor:pointer}.hw[data-v-625e5a47]:last-of-type{border-bottom:none}.cc[data-v-625e5a47]{width:15px;height:15px;border-radius:50%;border:2px solid #b6bfd2;flex-shrink:0;cursor:pointer}.cc.done[data-v-625e5a47]{background:var(--color-primary);border-color:var(--color-primary);position:relative}.cc.done[data-v-625e5a47]:after{content:"✓";color:#fff;font-size:10px;position:absolute;left:2px;top:-3.5px;font-weight:700}.course-tag[data-v-625e5a47]{font-size:11px;padding:2px 8px;border-radius:20px;background:#eef3fd;color:var(--color-domain-course);flex-shrink:0}.type-tag[data-v-625e5a47]{font-size:10.5px;padding:1px 6px;border-radius:4px;flex-shrink:0}.type-tag.homework[data-v-625e5a47]{background:#f3f0fa;color:var(--color-domain-life)}.type-tag.exam[data-v-625e5a47]{background:#fdeeee;color:var(--color-danger);font-weight:700}.txt.done[data-v-625e5a47]{color:#aab2c5;text-decoration:line-through}.ddl[data-v-625e5a47]{margin-left:auto;font-size:12.5px;color:var(--color-text-weak);white-space:nowrap}.ddl.warn[data-v-625e5a47]{color:var(--color-danger);font-weight:700}.ddl.soon[data-v-625e5a47]{color:var(--color-warn)}.empty[data-v-625e5a47]{font-size:13px;color:var(--color-text-weak);text-align:center;padding:14px 0}.mask[data-v-ad987ab6]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:110}.dlg[data-v-ad987ab6]{width:400px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-ad987ab6]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-ad987ab6]{flex:1;font-size:16px}.x[data-v-ad987ab6]{color:#9aa3b8;cursor:pointer}.row[data-v-ad987ab6]{display:flex;align-items:center;padding:11px 20px;gap:14px}.row label[data-v-ad987ab6]{width:68px;font-size:13.5px;color:var(--color-text-sub);flex-shrink:0}.ipt[data-v-ad987ab6]{flex:1;background:#f4f6fa;border:none;border-radius:8px;padding:9px 12px;font-size:13.5px;font-family:inherit}.seg[data-v-ad987ab6]{display:flex;gap:6px}.seg span[data-v-ad987ab6]{font-size:12.5px;padding:7px 14px;border-radius:8px;background:#f4f6fa;color:#7a8399;cursor:pointer}.seg span.on[data-v-ad987ab6]{background:var(--color-primary);color:#fff;font-weight:700}.foot[data-v-ad987ab6]{display:flex;gap:10px;padding:6px 20px 18px;justify-content:flex-end}.btn[data-v-ad987ab6]{border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-family:inherit;cursor:pointer}.btn.save[data-v-ad987ab6]{background:var(--color-primary);color:#fff;font-weight:700}.btn.danger[data-v-ad987ab6]{background:#fdeeee;color:var(--color-danger)}.page[data-v-1cc144d1]{padding:22px 26px}.page-head[data-v-1cc144d1]{display:flex;align-items:center;gap:14px;margin-bottom:14px}.page-head h1[data-v-1cc144d1]{font-size:20px}.date[data-v-1cc144d1]{color:var(--color-text-weak);font-size:13px}.week-nav[data-v-1cc144d1]{display:flex;align-items:center;gap:8px}.week-nav .wk[data-v-1cc144d1]{font-size:13px;font-weight:700;color:var(--color-text-sub)}.arrow[data-v-1cc144d1]{width:26px;height:26px;border-radius:50%;border:1px solid #d4dae6;background:#fff;color:var(--color-text-sub);font-size:14px;cursor:pointer}.arrow[data-v-1cc144d1]:disabled{opacity:.4;cursor:default}.back-week[data-v-1cc144d1]{border:1px solid var(--color-primary-border);background:var(--color-primary-weak);color:var(--color-primary);border-radius:8px;padding:4px 10px;font-size:12px;font-family:inherit;cursor:pointer}.page-head .btn[data-v-1cc144d1]{margin-left:auto}.btn[data-v-1cc144d1]{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-family:inherit;cursor:pointer}.btn.ghost[data-v-1cc144d1]{margin-left:0;background:#fff;color:var(--color-primary);border:1px solid var(--color-primary-border)}.task[data-v-becf851e]{display:flex;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px dashed #edf0f6;font-size:14px}.task[data-v-becf851e]:last-child{border-bottom:none}.cc[data-v-becf851e]{width:17px;height:17px;border-radius:50%;border:2px solid #b6bfd2;flex-shrink:0;cursor:pointer}.cc.done[data-v-becf851e]{background:var(--color-primary);border-color:var(--color-primary);position:relative}.cc.done[data-v-becf851e]:after{content:"✓";color:#fff;font-size:11px;position:absolute;left:3px;top:-4px;font-weight:700}.txt.done[data-v-becf851e]{color:#aab2c5;text-decoration:line-through}.warn[data-v-becf851e]{color:#e08e00;font-size:13px;flex-shrink:0}.qm-inline[data-v-becf851e]{flex-shrink:0}.dur[data-v-becf851e]{font-size:12px;color:var(--color-text-weak);flex-shrink:0}.qbadge[data-v-becf851e]{font-size:10px;width:15px;height:15px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;line-height:1}.qbadge.q1[data-v-becf851e]{background:#c0504d}.qbadge.q2[data-v-becf851e]{background:#4e8b57}.qbadge.q3[data-v-becf851e]{background:#f2a33c}.qbadge.q4[data-v-becf851e]{background:#9aa3b8}.tag[data-v-becf851e]{font-size:11px;padding:2px 7px;border-radius:20px;flex-shrink:0;margin-left:auto}.tag.cpa[data-v-becf851e]{background:#fdeeee;color:var(--color-domain-cpa)}.tag.course[data-v-becf851e]{background:#eef3fd;color:var(--color-domain-course)}.tag.reading[data-v-becf851e]{background:#eef7ee;color:var(--color-domain-reading)}.tag.paper[data-v-becf851e]{background:#fdf3e7;color:var(--color-domain-paper)}.tag.life[data-v-becf851e]{background:#f3f0fa;color:var(--color-domain-life)}.ring[data-v-3e8b6bbe]{width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.inner[data-v-3e8b6bbe]{width:68px;height:68px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 6px #2832500d}.pct[data-v-3e8b6bbe]{font-size:19px;font-weight:700;color:var(--color-primary)}.sub[data-v-3e8b6bbe]{font-size:10.5px;color:var(--color-text-weak);margin-top:1px}.idea-box[data-v-a5959d11]{margin-bottom:14px}.idea-bar .ipt[data-v-a5959d11]{width:100%;border:1.5px dashed #cdbfe8;border-radius:8px;background:#fbfaff;padding:8px 12px;font-size:13px;color:var(--color-text);font-family:inherit}.idea-bar .ipt[data-v-a5959d11]:focus{outline:none;border-color:#b6a8d9;background:#fff}.idea-list[data-v-a5959d11]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-top:6px;border-top:1px dashed #eadff5}.idea[data-v-a5959d11]{background:#fbfaff;border:1px dashed #cdbfe8;border-radius:20px;padding:3px 10px;font-size:11.5px;color:#6a5f8c;display:inline-flex;gap:6px;align-items:center;max-width:100%}.idea .txt[data-v-a5959d11]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.del[data-v-a5959d11]{color:#b6a8d9;cursor:pointer;font-size:10px}.tq-card[data-v-aed02cae]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px}.tq-card h3[data-v-aed02cae]{font-size:14px;color:var(--color-text-sub);margin-bottom:12px;display:flex;justify-content:space-between}.tq-card h3 small[data-v-aed02cae]{font-size:11px;color:var(--color-text-weak);font-weight:400}.grid[data-v-aed02cae]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qbox[data-v-aed02cae]{border-radius:10px;padding:12px 14px;border:1px solid transparent;min-height:96px;height:100%}.qbox.empty[data-v-aed02cae]{opacity:.55}.qt[data-v-aed02cae]{font-size:13px;font-weight:700;margin-bottom:6px;display:flex;align-items:baseline;gap:6px}.qt i[data-v-aed02cae]{font-style:normal;font-weight:400;font-size:12px;opacity:.75}.qi[data-v-aed02cae]{font-size:13px;line-height:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.qi.done[data-v-aed02cae]{text-decoration:line-through;opacity:.5}.g1[data-v-aed02cae]{background:#fdf1f0;border-color:#f2d4d3}.g1 .qt[data-v-aed02cae]{color:var(--color-danger)}.g2[data-v-aed02cae]{background:#eef7ee;border-color:#d3e8d5}.g2 .qt[data-v-aed02cae]{color:var(--color-domain-reading)}.g3[data-v-aed02cae]{background:#fdf6ea;border-color:#f3e2c4}.g3 .qt[data-v-aed02cae]{color:#c07c14}.g4[data-v-aed02cae]{background:#f4f6fa;border-color:#e4e8f0}.g4 .qt[data-v-aed02cae]{color:var(--color-text-weak)}.none-box[data-v-aed02cae]{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px 12px;align-items:center}.none-box .qt[data-v-aed02cae]{color:var(--color-text-weak);font-size:12px}.none-box .qi[data-v-aed02cae]{font-size:12px;color:var(--color-text-sub)}.empty[data-v-aed02cae]{font-size:13px;color:var(--color-text-weak);padding:10px 0}.page[data-v-f7b495a9]{padding:22px 26px}.page-head[data-v-f7b495a9]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.page-head h1[data-v-f7b495a9]{font-size:20px}.motto[data-v-f7b495a9]{font-size:12.5px;color:var(--color-text-weak);margin-top:4px;font-style:italic}.date[data-v-f7b495a9]{color:var(--color-text-weak);font-size:13px}.ov-row[data-v-f7b495a9]{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:14px;align-items:stretch}@media(max-width:900px){.ov-row[data-v-f7b495a9]{grid-template-columns:1fr}}.card[data-v-f7b495a9]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:14px 16px}.card h3[data-v-f7b495a9]{font-size:14px;color:var(--color-text-sub);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.more[data-v-f7b495a9]{font-size:12px;color:var(--color-primary);font-weight:400}.quick-add[data-v-f7b495a9]{display:flex;gap:8px;margin-top:10px}.ipt[data-v-f7b495a9]{flex:1;border:1.5px dashed #c9d2e3;border-radius:8px;background:none;padding:8px 12px;font-size:13px;color:var(--color-text);font-family:inherit}.more-btn[data-v-f7b495a9]{border:none;background:#f4f6fa;color:var(--color-primary);border-radius:8px;padding:0 12px;font-size:12.5px;font-family:inherit;cursor:pointer}.progress-row[data-v-f7b495a9]{display:flex;align-items:center;gap:16px}.cap[data-v-f7b495a9]{font-size:13.5px;color:var(--color-text-sub);line-height:2}.cap b[data-v-f7b495a9]{color:var(--color-primary)}.cls[data-v-f7b495a9]{display:flex;gap:10px;align-items:center;padding:8px 4px;font-size:14px;border-bottom:1px dashed #edf0f6}.cls[data-v-f7b495a9]:last-of-type{border-bottom:none}.cls .time[data-v-f7b495a9]{background:#f0f3fa;border-radius:6px;padding:3px 8px;font-size:12px;color:var(--color-domain-course);font-weight:600;white-space:nowrap}.cls .name[data-v-f7b495a9]{color:var(--color-text)}.cls .room[data-v-f7b495a9]{color:var(--color-text-weak);font-size:12px;margin-left:auto}.empty[data-v-f7b495a9]{font-size:13px;color:var(--color-text-weak);padding:6px 0}.plan[data-v-2a65a6a0]{padding:4px 0}.cal-head[data-v-2a65a6a0]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.cal-head h2[data-v-2a65a6a0]{font-size:17px}.arrow[data-v-2a65a6a0]{width:28px;height:28px;border-radius:50%;border:1px solid #d4dae6;background:#fff;color:var(--color-text-sub);font-size:14px;cursor:pointer}.subj-progress[data-v-2a65a6a0]{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:12.5px;color:var(--color-text-sub)}.subj-progress .bar[data-v-2a65a6a0]{width:130px;height:8px;background:#edf0f6;border-radius:5px;overflow:hidden}.subj-progress .bar i[data-v-2a65a6a0]{display:block;height:100%;border-radius:5px}.edit-subj[data-v-2a65a6a0]{border:1px solid var(--color-border);background:#fff;color:var(--color-text-sub);border-radius:8px;padding:6px 12px;font-size:12.5px;font-family:inherit;cursor:pointer}.mask[data-v-6e542380]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:110}.dlg[data-v-6e542380]{width:420px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-6e542380]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-6e542380]{flex:1;font-size:16px}.x[data-v-6e542380]{color:#9aa3b8;cursor:pointer}.row[data-v-6e542380]{display:flex;align-items:center;padding:11px 20px;gap:14px}.row label[data-v-6e542380]{width:60px;font-size:13.5px;color:var(--color-text-sub);flex-shrink:0}.ipt[data-v-6e542380]{background:#f4f6fa;border:none;border-radius:8px;padding:8px 11px;font-size:13.5px;font-family:inherit}.hint[data-v-6e542380]{font-size:11.5px;color:#a3abbd}.seg[data-v-6e542380]{display:flex;gap:6px;flex-wrap:wrap}.seg span[data-v-6e542380]{font-size:18px;padding:5px 8px;border-radius:8px;background:#f4f6fa;cursor:pointer}.seg span.on[data-v-6e542380]{outline:2.5px solid #2c3345;outline-offset:1px}.colors[data-v-6e542380]{display:flex;gap:8px}.colors i[data-v-6e542380]{width:26px;height:26px;border-radius:8px;cursor:pointer}.colors i.on[data-v-6e542380]{outline:2.5px solid #2c3345;outline-offset:2px}.foot[data-v-6e542380]{display:flex;gap:10px;padding:6px 20px 18px;justify-content:flex-end}.btn[data-v-6e542380]{border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-family:inherit;cursor:pointer}.btn.save[data-v-6e542380]{background:var(--color-primary);color:#fff;font-weight:700}.btn.danger[data-v-6e542380]{background:#fdeeee;color:var(--color-danger)}.subj[data-v-391bb3e0]{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:14px;cursor:pointer}.subj[data-v-391bb3e0]:hover{border-color:var(--color-primary-border)}h4[data-v-391bb3e0]{font-size:15px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.pct[data-v-391bb3e0]{font-size:12px;color:var(--color-text-weak);font-weight:400}.bar[data-v-391bb3e0]{height:8px;background:#edf0f6;border-radius:5px;overflow:hidden;margin-bottom:10px}.bar i[data-v-391bb3e0]{display:block;height:100%;border-radius:5px}.lvl[data-v-391bb3e0]{font-size:11px;color:var(--color-text-weak);margin:8px 0 3px;letter-spacing:1px}.item[data-v-391bb3e0]{display:flex;align-items:center;gap:6px;font-size:12.5px;padding:3px 0;color:#3d465e}.item.done[data-v-391bb3e0]{color:#aab2c5;text-decoration:line-through}.cc[data-v-391bb3e0]{width:11px;height:11px;border-radius:50%;border:1.5px solid #b6bfd2;flex-shrink:0;cursor:pointer}.cc.done[data-v-391bb3e0]{background:var(--color-primary);border-color:var(--color-primary);position:relative}.cc.done[data-v-391bb3e0]:after{content:"✓";color:#fff;font-size:8px;position:absolute;left:1.5px;top:-2.5px;font-weight:700}.none[data-v-391bb3e0]{font-size:12px;color:#b8c0d0;padding:2px 0}.card[data-v-8fa86399]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:16px}.card-head[data-v-8fa86399]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.card-head h3[data-v-8fa86399]{font-size:14px;color:var(--color-text-sub)}.head-right[data-v-8fa86399]{display:flex;align-items:center;gap:14px}.mn[data-v-8fa86399]{display:flex;align-items:center;gap:6px}.ar[data-v-8fa86399]{width:24px;height:24px;border-radius:50%;border:1px solid #d4dae6;background:#fff;color:var(--color-text-sub);font-size:13px;cursor:pointer}.mo[data-v-8fa86399]{font-size:12.5px;color:var(--color-text-sub)}.inner-tabs[data-v-8fa86399]{display:flex;background:#f4f6fa;border-radius:8px;padding:3px;gap:3px}.inner-tab[data-v-8fa86399]{font-size:12.5px;color:#8a93a8;padding:5px 14px;border-radius:6px;cursor:pointer}.inner-tab.active[data-v-8fa86399]{background:#fff;color:var(--color-primary);font-weight:700;box-shadow:0 1px 4px #2832501f}.stats[data-v-8fa86399]{display:flex;gap:22px;font-size:12.5px;color:var(--color-text-sub);margin-bottom:12px;align-items:center}.stats b[data-v-8fa86399]{color:var(--color-primary);font-size:14px}.add-seg[data-v-8fa86399]{margin-left:auto;border:none;background:#fff;color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:8px;padding:5px 12px;font-size:12.5px;font-family:inherit;cursor:pointer}.gantt-head[data-v-8fa86399]{display:grid;grid-template-columns:170px 1fr;margin-bottom:6px}.gantt-months[data-v-8fa86399]{display:flex}.gantt-months span[data-v-8fa86399]{flex:1;text-align:center;font-size:11px;color:var(--color-text-weak);border-left:1px dashed var(--color-border);padding:3px 0}.grow[data-v-8fa86399]{display:grid;grid-template-columns:170px 1fr;align-items:center;border-top:1px dashed #edf0f6}.grow .lb[data-v-8fa86399]{font-size:12.5px;color:var(--color-text-sub);padding:7px 8px 7px 0}.kind[data-v-8fa86399]{font-size:10.5px;padding:1px 6px;border-radius:4px;background:#f4f6fa;color:#7a8399}.kind.base[data-v-8fa86399]{background:#eef3fd;color:var(--color-domain-course)}.kind.exercise[data-v-8fa86399]{background:#fdf3e7;color:var(--color-domain-paper)}.kind.sprint[data-v-8fa86399]{background:#fdeeee;color:var(--color-danger)}.track[data-v-8fa86399]{position:relative;height:30px}.grid3[data-v-8fa86399]{background:linear-gradient(90deg,transparent calc(33.33% - 1px),#edf0f6 calc(33.33% - 1px),#edf0f6 33.33%,transparent 33.33%,transparent calc(66.66% - 1px),#edf0f6 calc(66.66% - 1px),#edf0f6 66.66%,transparent 66.66%)}.grid-n[data-v-8fa86399]{background:linear-gradient(90deg,transparent calc(8.33% - 1px),#edf0f6 calc(8.33% - 1px),#edf0f6 8.33%,transparent 8.33%);background-size:12.5% 100%}.bar-g[data-v-8fa86399]{position:absolute;top:7px;height:16px;border-radius:8px;background:#e8ecf4}.bar-g i[data-v-8fa86399]{display:block;height:100%;border-radius:8px;opacity:.95}.bar-g.phase[data-v-8fa86399]{box-shadow:none}.today-line[data-v-8fa86399]{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px dashed var(--color-warn)}.gantt-empty[data-v-8fa86399]{font-size:12.5px;color:var(--color-text-weak);padding:10px 0}.row-click[data-v-8fa86399]{cursor:pointer}.row-click:hover .lb[data-v-8fa86399]{color:var(--color-primary)}@media(max-width:768px){.grow[data-v-8fa86399]{grid-template-columns:92px 1fr}.grow .lb[data-v-8fa86399]{font-size:11px}.card-head[data-v-8fa86399]{flex-wrap:wrap;gap:8px}.stats[data-v-8fa86399]{flex-wrap:wrap;gap:10px}}.mask[data-v-ff3c7106]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:110}.dlg[data-v-ff3c7106]{width:420px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-ff3c7106]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-ff3c7106]{flex:1;font-size:16px}.x[data-v-ff3c7106]{color:#9aa3b8;cursor:pointer}.row[data-v-ff3c7106]{display:flex;align-items:center;padding:11px 20px;gap:12px}.row label[data-v-ff3c7106]{width:68px;font-size:13.5px;color:var(--color-text-sub);flex-shrink:0}.ipt[data-v-ff3c7106]{flex:1;background:#f4f6fa;border:none;border-radius:8px;padding:8px 11px;font-size:13px;font-family:inherit}.seg[data-v-ff3c7106]{display:flex;gap:6px}.seg span[data-v-ff3c7106]{font-size:12.5px;padding:7px 14px;border-radius:8px;background:#f4f6fa;color:#7a8399;cursor:pointer}.seg span.on[data-v-ff3c7106]{background:var(--color-primary);color:#fff;font-weight:700}.hint[data-v-ff3c7106]{font-size:11.5px;color:#a3abbd;padding:4px 20px}.foot[data-v-ff3c7106]{display:flex;gap:10px;padding:6px 20px 18px;justify-content:flex-end}.btn[data-v-ff3c7106]{border:none;border-radius:9px;padding:10px 22px;font-size:14px;font-family:inherit;cursor:pointer}.btn.save[data-v-ff3c7106]{background:var(--color-primary);color:#fff;font-weight:700}.btn.danger[data-v-ff3c7106]{background:#fdeeee;color:var(--color-danger)}.page[data-v-2ef6b1fb]{padding:22px 26px}.page-head[data-v-2ef6b1fb]{display:flex;align-items:center;gap:14px;margin-bottom:14px}.page-head h1[data-v-2ef6b1fb]{font-size:20px}.date[data-v-2ef6b1fb]{color:var(--color-text-weak);font-size:13px}.tabs[data-v-2ef6b1fb]{display:flex;gap:4px;border-bottom:2px solid #edf0f6;margin-bottom:18px;align-items:flex-end}.tab[data-v-2ef6b1fb]{padding:9px 18px;font-size:14px;color:#7a8399;border-radius:8px 8px 0 0;cursor:pointer}.tab.active[data-v-2ef6b1fb]{color:var(--color-primary);font-weight:700;border-bottom:2px solid var(--color-primary);margin-bottom:-2px;background:#f5f9ff}.tab.add[data-v-2ef6b1fb]{border:1.5px dashed #c9d2e3;color:#9aa3b8;font-size:13px;margin-left:4px;border-radius:8px;align-self:center;padding:6px 14px}.subjects[data-v-2ef6b1fb]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:1100px){.subjects[data-v-2ef6b1fb]{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.subjects[data-v-2ef6b1fb]{grid-template-columns:1fr}}.add-card[data-v-2ef6b1fb]{border-style:dashed;display:flex;align-items:center;justify-content:center;color:#9aa3b8;font-size:13px;min-height:160px;cursor:pointer}.mask[data-v-8f2fe706]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:110}.dlg[data-v-8f2fe706]{width:420px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-8f2fe706]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-8f2fe706]{flex:1;font-size:15px}.x[data-v-8f2fe706]{color:#9aa3b8;cursor:pointer}.row[data-v-8f2fe706]{padding:12px 20px 0;display:flex;align-items:center;gap:12px}.row label[data-v-8f2fe706]{font-size:13px;color:var(--color-text-sub)}.ta[data-v-8f2fe706]{width:100%;background:#f4f6fa;border:none;border-radius:8px;padding:10px 12px;font-size:13.5px;font-family:inherit;resize:vertical}.ipt[data-v-8f2fe706]{background:#f4f6fa;border:none;border-radius:8px;padding:8px 11px;font-size:13px;font-family:inherit;width:110px}.foot[data-v-8f2fe706]{display:flex;gap:10px;padding:14px 20px 18px;justify-content:flex-end}.btn[data-v-8f2fe706]{border:none;border-radius:9px;padding:10px 20px;font-size:13.5px;font-family:inherit;cursor:pointer}.btn.cancel[data-v-8f2fe706]{background:#f4f6fa;color:#7a8399}.btn.save[data-v-8f2fe706]{background:var(--color-primary);color:#fff;font-weight:700}.board[data-v-52601fb9]{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}@media(max-width:900px){.board[data-v-52601fb9]{grid-template-columns:1fr}}.col-hd[data-v-52601fb9]{font-size:13px;font-weight:700;padding:8px 4px;display:flex;align-items:center;gap:8px}.cnt[data-v-52601fb9]{background:#edf0f6;border-radius:10px;padding:1px 8px;font-size:11px;color:#7a8399;font-weight:400}.add-card[data-v-52601fb9]{border:1.5px dashed #c9d2e3;border-radius:10px;text-align:center;padding:12px;color:#9aa3b8;font-size:13px;margin-bottom:10px;cursor:pointer}.add-card[data-v-52601fb9]:hover{color:var(--color-primary);border-color:var(--color-primary-border)}.item-card[data-v-52601fb9]{border:1px solid var(--color-border);border-radius:10px;padding:12px;margin-bottom:10px;background:#fff}.item-card.dimdone[data-v-52601fb9]{background:#fafbfc}.t[data-v-52601fb9]{font-size:13.5px;font-weight:700;margin-bottom:4px}.meta[data-v-52601fb9]{font-size:11.5px;color:var(--color-text-weak);line-height:1.8;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.meta.small[data-v-52601fb9]{margin-top:2px}.badge[data-v-52601fb9]{display:inline-block;font-size:10.5px;border-radius:4px;padding:1px 6px}.badge.book[data-v-52601fb9]{background:#f3f0fa;color:var(--color-domain-life)}.badge.paper[data-v-52601fb9]{background:#fdf3e7;color:var(--color-domain-paper)}.page-edit[data-v-52601fb9]{color:var(--color-primary);font-size:13px;cursor:pointer;border-bottom:1px dashed var(--color-primary-border)}.page-input[data-v-52601fb9]{width:64px;border:1px solid var(--color-primary-border);border-radius:6px;padding:2px 6px;font-size:12.5px;font-family:inherit}.bar[data-v-52601fb9]{height:7px;background:#edf0f6;border-radius:5px;overflow:hidden;margin:7px 0 4px}.bar i[data-v-52601fb9]{display:block;height:100%;background:linear-gradient(90deg,var(--color-primary),#7db4ff);border-radius:5px}.note-btn[data-v-52601fb9]{margin-top:7px;font-size:11.5px;color:var(--color-primary);border:1px dashed var(--color-primary-border);border-radius:6px;text-align:center;padding:4px;cursor:pointer}.to-done[data-v-52601fb9],.to-reading[data-v-52601fb9]{margin-top:7px;width:100%;border:none;background:#f4f6fa;color:var(--color-text-sub);border-radius:6px;padding:5px;font-size:12px;font-family:inherit;cursor:pointer}.to-done[data-v-52601fb9]:hover,.to-reading[data-v-52601fb9]:hover{background:#e8eefb;color:var(--color-primary)}.stars[data-v-52601fb9]{color:#d9dde8;font-size:13px;letter-spacing:2px;margin-top:4px}.stars span[data-v-52601fb9]{cursor:pointer}.stars span.on[data-v-52601fb9]{color:var(--color-warn)}.mask[data-v-711deb58]{position:fixed;top:0;right:0;bottom:0;left:0;background:#141a2873;display:flex;align-items:center;justify-content:center;z-index:110}.dlg[data-v-711deb58]{width:430px;max-width:calc(100vw - 32px);background:#fff;border-radius:14px;overflow:hidden}.bar[data-v-711deb58]{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #eef1f6}.bar h2[data-v-711deb58]{flex:1;font-size:16px}.x[data-v-711deb58]{color:#9aa3b8;cursor:pointer}.row[data-v-711deb58]{display:flex;align-items:center;padding:11px 20px;gap:14px}.row label[data-v-711deb58]{width:58px;font-size:13.5px;color:var(--color-text-sub);flex-shrink:0}.ipt[data-v-711deb58]{flex:1;background:#f4f6fa;border:none;border-radius:8px;padding:8px 11px;font-size:13px;font-family:inherit}.seg[data-v-711deb58]{display:flex;gap:6px}.seg span[data-v-711deb58]{font-size:12.5px;padding:7px 14px;border-radius:8px;background:#f4f6fa;color:#7a8399;cursor:pointer}.seg span.on[data-v-711deb58]{background:var(--color-primary);color:#fff;font-weight:700}.foot[data-v-711deb58]{display:flex;gap:10px;padding:6px 20px 18px;justify-content:flex-end;align-items:center}.hint-fill[data-v-711deb58]{font-size:12px;color:var(--color-warn)}.btn[data-v-711deb58]{border:none;border-radius:9px;padding:10px 20px;font-size:14px;font-family:inherit;cursor:pointer}.btn.save[data-v-711deb58]{background:var(--color-primary);color:#fff;font-weight:700}.btn.save[data-v-711deb58]:disabled{background:#c9d2e3;cursor:not-allowed}.page[data-v-0900730a]{padding:22px 26px}.page-head[data-v-0900730a]{display:flex;align-items:center;gap:14px;margin-bottom:14px}.page-head h1[data-v-0900730a]{font-size:20px}.date[data-v-0900730a]{color:var(--color-text-weak);font-size:13px}.page-head .btn[data-v-0900730a]{margin-left:auto}.btn[data-v-0900730a]{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-family:inherit;cursor:pointer}.stat-row[data-v-b7f74879]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}@media(max-width:700px){.stat-row[data-v-b7f74879]{grid-template-columns:repeat(2,1fr)}}.stat[data-v-b7f74879]{border:1px solid var(--color-border);border-radius:var(--radius-card);padding:14px;text-align:center;background:var(--color-bg-card)}.v[data-v-b7f74879]{font-size:24px;font-weight:700}.v small[data-v-b7f74879]{font-size:12px;color:var(--color-text-weak);font-weight:400}.k[data-v-b7f74879]{font-size:12px;color:var(--color-text-weak);margin-top:3px}.card[data-v-9c2fb9b5]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:16px}h3[data-v-9c2fb9b5]{font-size:14px;color:var(--color-text-sub);margin-bottom:12px}.row[data-v-9c2fb9b5]{display:grid;grid-template-columns:70px 1fr 50px;gap:10px;align-items:center;margin-bottom:8px;font-size:12.5px;color:var(--color-text-sub)}.hbar[data-v-9c2fb9b5]{height:12px;background:#edf0f6;border-radius:6px;overflow:hidden}.hbar i[data-v-9c2fb9b5]{display:block;height:100%;border-radius:6px}.v[data-v-9c2fb9b5]{text-align:right}.quad-card[data-v-212e855b]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:16px}.quad-card h3[data-v-212e855b]{font-size:14px;color:var(--color-text-sub);margin-bottom:10px}.grid[data-v-212e855b]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.qbox[data-v-212e855b]{border-radius:9px;padding:10px 12px;border:1px solid transparent}.qbox .t[data-v-212e855b]{font-size:12px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qbox .v[data-v-212e855b]{font-size:12px;color:var(--color-text-sub)}.qbox .v b[data-v-212e855b]{font-size:17px;color:var(--color-text);margin-right:2px}.g1[data-v-212e855b]{background:#fdf1f0;border-color:#f2d4d3}.g1 .t[data-v-212e855b]{color:var(--color-danger)}.g2[data-v-212e855b]{background:#eef7ee;border-color:#d3e8d5;box-shadow:0 0 12px #4e8b572e}.g2 .t[data-v-212e855b]{color:var(--color-domain-reading)}.g3[data-v-212e855b]{background:#fdf6ea;border-color:#f3e2c4}.g3 .t[data-v-212e855b]{color:#c07c14}.g4[data-v-212e855b]{background:#f4f6fa;border-color:#e4e8f0}.g4 .t[data-v-212e855b]{color:var(--color-text-weak)}.core[data-v-212e855b]{font-size:9.5px;font-weight:400;background:var(--color-domain-reading);color:#fff;border-radius:8px;padding:1px 6px}.note[data-v-212e855b]{font-size:11px;color:var(--color-text-weak);margin-top:8px}.card[data-v-6fe40702]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:16px}h3[data-v-6fe40702]{font-size:14px;color:var(--color-text-sub);margin-bottom:10px}.src[data-v-6fe40702]{font-size:11px;color:#9aa3b8;font-weight:400}.note[data-v-6fe40702]{background:#fbfaff;border:1px dashed #cdbfe8;border-radius:8px;padding:8px 10px;margin-bottom:8px}.head[data-v-6fe40702]{display:flex;align-items:center;gap:8px;font-size:12px;color:#6a5f8c}.date[data-v-6fe40702]{color:#9aa3b8;font-size:11px;margin-left:auto}.min[data-v-6fe40702]{font-size:11px;color:#9aa3b8}.txt[data-v-6fe40702]{font-size:12.5px;color:#4a4266;margin-top:4px;line-height:1.6}.empty[data-v-6fe40702]{font-size:13px;color:var(--color-text-weak);padding:6px 0}.card[data-v-b99e31f3]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px}h3[data-v-b99e31f3]{font-size:14px;color:var(--color-text-sub);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center}.btn[data-v-b99e31f3]{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:13px;font-family:inherit;cursor:pointer}.btn[data-v-b99e31f3]:disabled{opacity:.6;cursor:wait}.err[data-v-b99e31f3]{font-size:12.5px;color:var(--color-danger);margin-bottom:6px}.err a[data-v-b99e31f3]{color:var(--color-primary)}.hint[data-v-b99e31f3]{font-size:12.5px;color:var(--color-text-weak)}.ai-box[data-v-b99e31f3]{background:#f5f9ff;border:1px dashed #a9c3f7;border-radius:10px;padding:12px 14px;font-size:13px;color:#3d5fa8;line-height:1.8}.page[data-v-8f464a4d]{padding:22px 26px}.page-head[data-v-8f464a4d]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.page-head h1[data-v-8f464a4d]{font-size:20px}.nav-btn[data-v-8f464a4d]{width:30px;height:30px;border-radius:50%;border:1px solid #d4dae6;background:#fff;color:var(--color-text-sub);font-size:15px;cursor:pointer}.date[data-v-8f464a4d]{color:var(--color-text-weak);font-size:13px;margin-left:auto}.grid[data-v-8f464a4d]{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.grid[data-v-8f464a4d]>*{margin-bottom:0}@media(max-width:900px){.grid[data-v-8f464a4d]{grid-template-columns:1fr}}.page[data-v-843379c9]{padding:22px 26px}.narrow[data-v-843379c9]{max-width:560px}h1[data-v-843379c9]{font-size:20px;margin-bottom:16px}.card[data-v-843379c9]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:16px 18px;margin-bottom:16px}.card h3[data-v-843379c9]{font-size:14px;color:var(--color-text-sub);margin-bottom:6px}.hint[data-v-843379c9]{font-size:12px;color:var(--color-text-weak);line-height:1.7;margin-bottom:10px}.row[data-v-843379c9]{display:flex;align-items:center;gap:14px;padding:8px 0}.row label[data-v-843379c9]{width:100px;font-size:13.5px;color:var(--color-text-sub);flex-shrink:0}.ipt[data-v-843379c9]{flex:1;background:#f4f6fa;border:none;border-radius:8px;padding:9px 12px;font-size:13.5px;font-family:inherit}.foot[data-v-843379c9]{display:flex;align-items:center;justify-content:flex-end;gap:14px}.ok[data-v-843379c9]{color:var(--color-success);font-size:13px}.btn[data-v-843379c9]{background:var(--color-primary);color:#fff;border:none;border-radius:8px;padding:9px 20px;font-size:14px;font-family:inherit;cursor:pointer;font-weight:700}.btn.ghost[data-v-843379c9]{background:#fff;color:var(--color-primary);border:1px solid var(--color-primary-border);font-weight:400}
