:root{--brand: #4a6cf7;--brand-light: #6a8cff;--brand-dark: #3a56d4;--brand-bg: #eef2ff;--success: #2ecc71;--warning: #f39c12;--danger: #e74c3c;--info: #1abc9c;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--border: #f0f1f5;--bg-page: #f7f8fc;--bg-card: #ffffff;--radius-sm: 8px;--radius: 14px;--radius-lg: 20px;--shadow-sm: 0 2px 8px rgba(31, 41, 55, .04);--shadow: 0 4px 16px rgba(31, 41, 55, .06);--shadow-lg: 0 8px 28px rgba(31, 41, 55, .1);--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:var(--font);background:#e8eaf0;color:var(--text-primary);-webkit-font-smoothing:antialiased}#app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg-page);position:relative;box-shadow:0 0 40px #00000014}button{cursor:pointer;font-family:inherit;border:none}input,textarea,select{font-family:inherit}.btn-primary{display:block;width:100%;padding:14px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;border-radius:var(--radius);font-size:16px;font-weight:600;letter-spacing:1px;box-shadow:0 4px 14px #4a6cf74d;transition:transform .1s,opacity .2s}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6}.card{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-sm)}::-webkit-scrollbar{width:0;height:0}.login[data-v-f912379e]{min-height:100vh;display:flex;flex-direction:column;padding:0 24px;background:linear-gradient(160deg,var(--brand) 0%,var(--brand-light) 42%,var(--bg-page) 42%)}.logo-area[data-v-f912379e]{text-align:center;padding:72px 0 44px;color:#fff}.logo[data-v-f912379e]{font-size:60px}.app-name[data-v-f912379e]{font-size:28px;font-weight:700;margin-top:10px;letter-spacing:1px}.slogan[data-v-f912379e]{font-size:14px;opacity:.92;margin-top:8px}.form[data-v-f912379e]{background:#fff;border-radius:20px;padding:26px 22px;box-shadow:var(--shadow-lg)}.role-tabs[data-v-f912379e]{display:flex;gap:8px;margin-bottom:20px}.role[data-v-f912379e]{flex:1;text-align:center;padding:10px;border-radius:12px;background:var(--bg-page);color:var(--text-secondary);font-size:15px;cursor:pointer;transition:all .2s}.role.active[data-v-f912379e]{background:var(--brand);color:#fff;font-weight:600}.input-wrap[data-v-f912379e]{position:relative;margin-bottom:14px}.input-icon[data-v-f912379e]{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px}.input-wrap input[data-v-f912379e]{width:100%;padding:13px 14px 13px 42px;border:1.5px solid var(--border);border-radius:12px;font-size:15px;outline:none;box-sizing:border-box;transition:border .2s}.input-wrap input[data-v-f912379e]:focus{border-color:var(--brand)}.reg-extra input[data-v-f912379e]{width:100%;padding:13px 14px;border:1.5px solid var(--border);border-radius:12px;font-size:15px;margin-bottom:14px;outline:none;box-sizing:border-box}.switch[data-v-f912379e]{text-align:center;margin-top:16px;font-size:13px;color:var(--brand);cursor:pointer}.tips[data-v-f912379e]{margin-top:18px;padding-top:16px;border-top:1px dashed var(--border)}.tips-title[data-v-f912379e]{font-size:12px;color:var(--text-muted);margin-bottom:8px}.footer[data-v-f912379e]{text-align:center;margin-top:auto;padding:24px 0 32px;font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.divider[data-v-f912379e]{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--text-muted);font-size:12px}.divider[data-v-f912379e]:before,.divider[data-v-f912379e]:after{content:"";flex:1;height:1px;background:var(--border)}.btn-wx[data-v-f912379e]{width:100%;padding:13px;background:#07c160;color:#fff;border-radius:12px;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px}.btn-wx[data-v-f912379e]:disabled{opacity:.6}.wx-icon[data-v-f912379e]{font-size:16px}.wx-hint[data-v-f912379e]{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px}.wx-mask[data-v-f912379e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:300}.wx-dialog[data-v-f912379e]{width:86%;max-width:380px;background:#fff;border-radius:20px;padding:24px 22px}.wx-d-title[data-v-f912379e]{font-size:17px;font-weight:700;text-align:center}.wx-d-sub[data-v-f912379e]{font-size:12px;color:var(--text-muted);text-align:center;margin:8px 0 18px;line-height:1.6}.wx-cancel[data-v-f912379e]{text-align:center;font-size:13px;color:var(--text-muted);margin-top:14px;cursor:pointer}.agree-row[data-v-f912379e]{display:flex;align-items:flex-start;margin-top:14px;padding:0 4px}.agree-check[data-v-f912379e]{width:16px;height:16px;border:1.5px solid #d1d5db;border-radius:4px;margin:2px 8px 0 0;flex-shrink:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.agree-check.checked[data-v-f912379e]{background:var(--brand);border-color:var(--brand)}.check-mark[data-v-f912379e]{font-size:11px;color:#fff;line-height:1}.agree-text[data-v-f912379e]{flex:1;font-size:12px;color:var(--text-muted);line-height:1.6}.agree-text .link[data-v-f912379e]{color:var(--brand);text-decoration:none}.btn-close[data-v-f912379e]{display:block;width:100%;margin-top:16px;padding:12px;background:#f3f4f6;color:#4b5563;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.btn-close[data-v-f912379e]:hover{background:#e5e7eb}.tabbar[data-v-15d23543]{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:60px;background:#fff;display:flex;border-top:1px solid var(--border);z-index:100;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px #1f29370a}.tab[data-v-15d23543]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--text-muted);position:relative;transition:color .2s}.tab.active[data-v-15d23543]{color:var(--brand)}.icon[data-v-15d23543]{font-size:21px;line-height:1}.label[data-v-15d23543]{font-size:11px;font-weight:500}.tab.active[data-v-15d23543]:after{content:"";position:absolute;top:0;width:20px;height:3px;border-radius:0 0 3px 3px;background:var(--brand)}.home[data-v-15e534d8]{padding-bottom:80px}.header[data-v-15e534d8]{background:linear-gradient(135deg,var(--brand),var(--brand-light));padding:18px 20px 64px;display:flex;justify-content:space-between;align-items:center;color:#fff}.hello[data-v-15e534d8]{font-size:20px;font-weight:700}.sub[data-v-15e534d8]{font-size:13px;opacity:.9;margin-top:4px}.header-right[data-v-15e534d8]{display:flex;align-items:center;gap:12px}.msg[data-v-15e534d8]{font-size:20px;cursor:pointer}.avatar[data-v-15e534d8]{width:46px;height:46px;background:#ffffff47;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.todo-card[data-v-15e534d8]{background:#fff;margin:-44px 16px 0;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);position:relative}.todo-title[data-v-15e534d8]{font-size:14px;font-weight:700;margin-bottom:10px}.todo-item[data-v-15e534d8]{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.todo-item[data-v-15e534d8]:first-of-type{border-top:none}.todo-icon[data-v-15e534d8]{font-size:18px}.todo-text[data-v-15e534d8]{flex:1;font-size:14px;color:var(--text-secondary)}.todo-action[data-v-15e534d8]{font-size:13px;color:var(--brand)}.todo-empty[data-v-15e534d8]{text-align:center;color:var(--success);padding:12px;font-size:14px}.stats[data-v-15e534d8]{display:flex;background:#fff;margin:12px 16px;border-radius:var(--radius);padding:16px 0;box-shadow:var(--shadow-sm)}.ck-card[data-v-15e534d8]{background:#fff;border-radius:var(--radius);margin:12px 16px;padding:14px 16px}.ck-head[data-v-15e534d8]{display:flex;align-items:center;justify-content:space-between}.ck-title[data-v-15e534d8]{font-size:15px;font-weight:700}.ck-more[data-v-15e534d8]{font-size:11px;color:#4a6cf7}.ck-empty[data-v-15e534d8]{padding:14px 0 4px;text-align:center;font-size:12px;color:#999}.ck-item[data-v-15e534d8]{display:flex;align-items:center;justify-content:space-between;padding-top:10px;margin-top:9px;border-top:1px solid #f5f6fa}.ck-left[data-v-15e534d8]{flex:1;min-width:0}.ck-name-row[data-v-15e534d8]{display:flex;align-items:center;gap:5px}.ck-name[data-v-15e534d8]{font-size:13px;font-weight:600}.ck-tag[data-v-15e534d8]{font-size:9px;color:#4a6cf7;background:#eef2ff;padding:1px 5px;border-radius:3px}.ck-tag.cmt[data-v-15e534d8]{color:#d97706;background:#fef3c7}.ck-sub[data-v-15e534d8]{font-size:10px;color:#999;margin-top:3px}.ck-right[data-v-15e534d8]{flex-shrink:0;margin-left:8px}.ck-done[data-v-15e534d8]{font-size:11px;color:#10b981}.ck-todo[data-v-15e534d8]{font-size:11px;color:#4a6cf7}.ck-foot[data-v-15e534d8]{text-align:center;padding-top:11px;margin-top:10px;border-top:1px solid #f5f6fa;font-size:11px;color:#4a6cf7}.hour-banner[data-v-15e534d8]{display:flex;align-items:center;justify-content:space-between;margin:12px 16px;background:linear-gradient(135deg,#fff6e5,#ffefd5);border-radius:var(--radius);padding:14px 16px}.hb-left[data-v-15e534d8]{display:flex;align-items:center;gap:12px}.hb-icon[data-v-15e534d8]{font-size:26px}.hb-title[data-v-15e534d8]{font-size:14px;font-weight:700;color:#8a5a00}.hb-sub[data-v-15e534d8]{font-size:11px;color:#b7791f;margin-top:2px}.hb-num[data-v-15e534d8]{font-size:28px;font-weight:800;color:#f39c12}.hb-num.low[data-v-15e534d8]{color:var(--danger)}.stat[data-v-15e534d8]{flex:1;text-align:center}.stat .num[data-v-15e534d8]{font-size:22px;font-weight:700;color:var(--brand)}.stat .label[data-v-15e534d8]{font-size:12px;color:var(--text-muted);margin-top:4px}.section-title[data-v-15e534d8]{font-size:16px;font-weight:700;margin:4px 20px 12px}.grid[data-v-15e534d8]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 16px}.cell[data-v-15e534d8]{background:#fff;border-radius:var(--radius);padding:16px 8px;text-align:center;box-shadow:var(--shadow-sm)}.cell[data-v-15e534d8]:active{transform:scale(.96)}.cell-icon[data-v-15e534d8]{width:44px;height:44px;margin:0 auto 8px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px}.cell-name[data-v-15e534d8]{font-size:12px;color:var(--text-primary)}.section[data-v-15e534d8]{padding:12px 16px 0}.section-title[data-v-15e534d8]{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;margin-bottom:12px}.more[data-v-15e534d8]{font-size:13px;color:var(--text-muted);font-weight:400}.todo[data-v-15e534d8]{background:#fff;border-radius:var(--radius);padding:14px;display:flex;align-items:center;gap:12px;margin-bottom:10px;box-shadow:var(--shadow-sm)}.todo-type[data-v-15e534d8]{padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}.todo-info[data-v-15e534d8]{flex:1}.todo-title[data-v-15e534d8]{font-size:15px;font-weight:600}.todo-time[data-v-15e534d8]{font-size:12px;color:var(--text-muted);margin-top:3px}.todo-go[data-v-15e534d8]{color:var(--text-muted);font-size:20px}.empty[data-v-15e534d8]{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}.placeholder[data-v-15e534d8]{height:60px}.nav[data-v-1838eba1]{position:sticky;top:0;height:48px;background:#fff;display:flex;align-items:center;padding:0 12px;z-index:50;border-bottom:1px solid var(--border)}.back[data-v-1838eba1]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;border-radius:8px}.back[data-v-1838eba1]:active{background:var(--brand-bg)}.title[data-v-1838eba1]{flex:1;text-align:center;font-size:16px;font-weight:600}.right[data-v-1838eba1]{width:32px;display:flex;align-items:center;justify-content:center}.page[data-v-44588cef]{min-height:100vh;padding-bottom:80px}.filter[data-v-44588cef]{display:flex;gap:8px;padding:12px 16px}.f-item[data-v-44588cef]{padding:6px 16px;border-radius:16px;background:#fff;color:var(--text-secondary);font-size:13px}.f-item.active[data-v-44588cef]{background:var(--brand);color:#fff}.card[data-v-44588cef]{background:#fff;border-radius:var(--radius);padding:16px;margin:0 16px 12px;box-shadow:var(--shadow-sm)}.card-top[data-v-44588cef]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.type-badge[data-v-44588cef]{padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600}.status[data-v-44588cef]{font-size:12px;color:var(--text-muted)}.status.reviewed[data-v-44588cef]{color:#2ecc71}.status.submitted[data-v-44588cef]{color:#f39c12}.title[data-v-44588cef]{font-size:16px;font-weight:700;margin-bottom:6px}.content[data-v-44588cef]{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:10px}.tags-row[data-v-44588cef]{display:flex;gap:6px;margin-bottom:8px}.limit-badge[data-v-44588cef]{font-size:11px;background:var(--brand-bg);color:var(--brand);padding:2px 8px;border-radius:6px}.material-badge[data-v-44588cef]{font-size:11px;background:#fff4e6;color:#f39c12;padding:2px 8px;border-radius:6px}.meta[data-v-44588cef]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted)}.empty[data-v-44588cef]{text-align:center;color:var(--text-muted);padding:40px}.placeholder[data-v-44588cef]{height:20px}.mask[data-v-44588cef]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-44588cef]{width:90%;max-width:440px;background:#fff;border-radius:var(--radius-lg);padding:20px;max-height:85vh;overflow-y:auto}.d-title[data-v-44588cef]{font-size:17px;font-weight:700;margin-bottom:8px}.d-content[data-v-44588cef]{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:12px;background:#f8f9fb;padding:10px;border-radius:8px}.material-box[data-v-44588cef]{margin-bottom:12px;background:#fff8e6;padding:10px;border-radius:10px}.material-label[data-v-44588cef]{font-size:12px;font-weight:600;color:#b7791f;margin-bottom:8px}.material-list[data-v-44588cef]{display:flex;flex-direction:column;gap:8px}.material-img[data-v-44588cef]{width:100%;max-height:200px;object-fit:cover;border-radius:8px;cursor:pointer}.submit-limit-tip[data-v-44588cef]{background:#e8f0ff;color:#3a56d4;font-size:12px;padding:8px 12px;border-radius:8px;margin-bottom:10px}.d-label[data-v-44588cef]{font-size:13px;font-weight:600;margin-bottom:8px}textarea[data-v-44588cef]{width:100%;border:1.5px solid var(--border);border-radius:12px;padding:10px;font-size:14px;resize:none;outline:none;box-sizing:border-box}.upload-row[data-v-44588cef]{display:flex;gap:8px;margin:12px 0}.upload-btn[data-v-44588cef]{flex:1;padding:12px 6px;border:1.5px solid var(--brand);background:#fff;color:var(--brand);border-radius:12px;font-size:13px;font-weight:600}.upload-btn[data-v-44588cef]:active{background:var(--brand-bg)}.recording-panel[data-v-44588cef]{margin:10px 0;border-radius:12px;overflow:hidden}.camera-preview[data-v-44588cef]{width:100%;max-height:220px;background:#000;border-radius:12px;object-fit:cover}.recording-bar[data-v-44588cef]{display:flex;align-items:center;gap:8px;background:#fdeef1;color:#e74c3c;padding:10px 14px;border-radius:10px;font-size:13px;margin-top:8px}.dot[data-v-44588cef]{width:8px;height:8px;background:#e74c3c;border-radius:50%;animation:blink-44588cef 1s infinite}@keyframes blink-44588cef{50%{opacity:.2}}.stop-btn[data-v-44588cef]{margin-left:auto;padding:6px 14px;background:#e74c3c;color:#fff;border-radius:8px;font-size:12px;font-weight:600}.uploaded[data-v-44588cef]{margin:10px 0}.uploaded-tip[data-v-44588cef]{font-size:12px;color:#2ecc71;margin-top:6px}.uploading-tip[data-v-44588cef]{font-size:12px;color:var(--brand);margin:8px 0}.preview-img[data-v-44588cef]{max-width:100%;border-radius:8px}.preview-audio[data-v-44588cef],.preview-video[data-v-44588cef]{width:100%;margin-top:8px}.media-preview[data-v-44588cef]{margin-bottom:10px}.ai-box[data-v-44588cef]{background:#f5f8ff;border-radius:10px;padding:12px;margin-top:12px}.ai-title[data-v-44588cef]{font-size:13px;font-weight:600;color:var(--brand);margin-bottom:6px}.ai-comment[data-v-44588cef]{font-size:13px;color:var(--text-secondary);line-height:1.6}.btn[data-v-44588cef]{width:100%;margin-top:16px;padding:13px;background:var(--brand);color:#fff;border-radius:12px;font-size:15px;font-weight:600}.btn[data-v-44588cef]:disabled{opacity:.6}.page[data-v-44d25ba9]{min-height:100vh;padding-bottom:80px}.tabs[data-v-44d25ba9]{display:flex;gap:8px;padding:12px 16px}.tab[data-v-44d25ba9]{flex:1;text-align:center;padding:9px;border-radius:18px;background:#fff;color:var(--text-secondary);font-size:14px;cursor:pointer}.tab.active[data-v-44d25ba9]{background:var(--brand);color:#fff;font-weight:600}.today-header[data-v-44d25ba9]{margin:0 16px 12px;display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.word-card[data-v-44d25ba9]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 10px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.word-card.mastered[data-v-44d25ba9]{opacity:.7}.word-row[data-v-44d25ba9]{display:flex;align-items:center;gap:10px}.word[data-v-44d25ba9]{font-size:19px;font-weight:700;color:var(--text-primary)}.phonetic[data-v-44d25ba9]{font-size:13px;color:var(--text-muted)}.meaning[data-v-44d25ba9]{font-size:14px;color:var(--text-secondary);margin-top:3px}.example[data-v-44d25ba9]{font-size:12px;color:var(--text-muted);margin-top:4px;font-style:italic}.wrong-count[data-v-44d25ba9]{font-size:12px;color:var(--danger);margin-top:4px}.master-btn[data-v-44d25ba9]{padding:7px 14px;border-radius:16px;border:1.5px solid var(--brand);color:var(--brand);background:#fff;font-size:12px;font-weight:600;white-space:nowrap}.master-btn.done[data-v-44d25ba9]{background:#e8f7ef;border-color:#2ecc71;color:#2ecc71}.btn-primary[data-v-44d25ba9]{margin:12px 16px;width:calc(100% - 32px)}.empty[data-v-44d25ba9]{text-align:center;color:var(--text-muted);padding:40px}.empty-icon[data-v-44d25ba9]{font-size:48px}.empty-text[data-v-44d25ba9]{font-size:15px;margin-top:8px}.grade-group[data-v-44d25ba9]{margin:0 16px 16px}.grade-title[data-v-44d25ba9]{font-size:15px;font-weight:700;margin-bottom:10px;color:var(--brand)}.book-grid[data-v-44d25ba9]{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.book-item[data-v-44d25ba9]{background:#fff;border-radius:var(--radius);padding:16px;text-align:center;box-shadow:var(--shadow-sm)}.book-item[data-v-44d25ba9]:active{transform:scale(.97)}.book-icon[data-v-44d25ba9]{font-size:28px}.book-name[data-v-44d25ba9]{font-size:13px;font-weight:600;margin-top:8px}.back-bar[data-v-44d25ba9]{padding:10px 16px;font-size:14px;color:var(--brand);cursor:pointer}.book-title[data-v-44d25ba9]{padding:4px 16px 12px;font-size:16px;font-weight:700}.unit-item[data-v-44d25ba9]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 10px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.unit-name[data-v-44d25ba9]{font-size:14px;font-weight:600}.unit-count[data-v-44d25ba9]{font-size:12px;color:var(--text-muted)}.placeholder[data-v-44d25ba9]{height:60px}.page[data-v-b8b9ac3a]{min-height:100vh;padding-bottom:80px}.streak-card[data-v-b8b9ac3a]{margin:16px;background:linear-gradient(135deg,#4a6cf7,#6a8cff);border-radius:16px;padding:28px;text-align:center;color:#fff}.streak-num[data-v-b8b9ac3a]{font-size:48px;font-weight:800}.streak-label[data-v-b8b9ac3a]{font-size:14px;opacity:.95;margin-top:4px}.streak-total[data-v-b8b9ac3a]{font-size:12px;opacity:.8;margin-top:8px}.tasks[data-v-b8b9ac3a]{margin:0 16px 16px;background:#fff;border-radius:14px;padding:16px}.tasks-head[data-v-b8b9ac3a]{display:flex;align-items:center;justify-content:space-between}.task-count[data-v-b8b9ac3a]{font-size:12px;color:#4a6cf7;font-weight:600}.task-item[data-v-b8b9ac3a]{display:flex;align-items:center;gap:12px;margin-top:12px;background:#f7f9ff;border-radius:12px;padding:12px}.task-item.done[data-v-b8b9ac3a]{background:#f0fdf7}.task-main[data-v-b8b9ac3a]{flex:1;min-width:0}.task-head[data-v-b8b9ac3a]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.task-title[data-v-b8b9ac3a]{font-size:14px;font-weight:700}.task-tag[data-v-b8b9ac3a]{font-size:10px;color:#ef4444;background:#fef2f2;padding:2px 6px;border-radius:4px}.task-desc[data-v-b8b9ac3a]{font-size:12px;color:#6b7280;margin-top:4px}.task-need[data-v-b8b9ac3a]{font-size:12px;color:#4a6cf7;margin-top:4px}.task-my[data-v-b8b9ac3a]{display:inline-block;margin-top:6px;background:#eef2ff;color:#4a6cf7;border-radius:6px;padding:4px 9px;font-size:11px;cursor:pointer}.task-his[data-v-b8b9ac3a]{margin-top:6px;font-size:11px;color:#999;cursor:pointer}.history-list[data-v-b8b9ac3a]{max-height:300px;overflow-y:auto;margin-top:12px}.h-item[data-v-b8b9ac3a]{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;border-bottom:1px solid #f5f6fa}.h-left[data-v-b8b9ac3a]{display:flex;align-items:center}.h-date[data-v-b8b9ac3a]{font-size:13px;font-weight:600;color:#1f2937}.h-status[data-v-b8b9ac3a]{font-size:11px;color:#d1d5db;margin-left:8px}.h-status.ok[data-v-b8b9ac3a]{color:#10b981}.h-media-row[data-v-b8b9ac3a]{display:flex;flex-wrap:wrap;gap:4px}.h-view[data-v-b8b9ac3a]{font-size:10px;color:#4a6cf7;background:#eef2ff;padding:2px 6px;border-radius:4px;cursor:pointer}.h-view.plain[data-v-b8b9ac3a]{color:#d1d5db}.h-cmt[data-v-b8b9ac3a]{margin:0 0 9px;padding:9px 10px;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:6px}.h-cmt-head[data-v-b8b9ac3a]{font-size:11px;font-weight:700;color:#d97706}.h-cmt-text[data-v-b8b9ac3a]{font-size:12px;color:#4b5563;line-height:1.6;margin-top:4px}.h-cmt-media[data-v-b8b9ac3a]{display:flex;gap:7px;margin-top:6px}.h-cmt-btn[data-v-b8b9ac3a]{font-size:11px;color:#d97706;background:#fef3c7;padding:3px 9px;border-radius:10px;cursor:pointer}.task-mat[data-v-b8b9ac3a]{margin-top:7px;background:#f0f7ff;border-left:3px solid #4a6cf7;border-radius:6px;padding:8px 10px}.tm-label[data-v-b8b9ac3a]{font-size:10px;font-weight:700;color:#4a6cf7}.tm-text[data-v-b8b9ac3a]{font-size:12px;color:#4b5563;line-height:1.6;margin-top:4px}.tm-btns[data-v-b8b9ac3a]{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.tm-btn[data-v-b8b9ac3a]{font-size:11px;color:#4a6cf7;background:#fff;border:1px solid #d6e2ff;padding:3px 9px;border-radius:10px;cursor:pointer}.task-cmt[data-v-b8b9ac3a]{display:inline-block;margin-top:6px;margin-left:5px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:4px 9px;font-size:11px;color:#d97706;font-weight:600;cursor:pointer}.pm-text[data-v-b8b9ac3a]{font-size:13px;color:#4b5563;line-height:1.6;margin-top:12px}.pm-img[data-v-b8b9ac3a],.pm-video[data-v-b8b9ac3a]{width:100%;border-radius:10px;margin-top:12px}.pm-audio[data-v-b8b9ac3a]{width:100%;margin-top:12px}.btn-close[data-v-b8b9ac3a]{display:block;width:100%;margin-top:16px;padding:12px;background:#f3f4f6;color:#4b5563;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.btn-close[data-v-b8b9ac3a]:hover{background:#e5e7eb}.mask[data-v-b8b9ac3a]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-b8b9ac3a]{width:88%;max-width:360px;background:#fff;border-radius:16px;padding:22px 20px;box-sizing:border-box}.d-title[data-v-b8b9ac3a]{font-size:17px;font-weight:700;text-align:center}.d-sub[data-v-b8b9ac3a]{font-size:12px;color:#999;text-align:center;margin:6px 0 16px}.note-input[data-v-b8b9ac3a]{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;background:#f9fafb}.up-grid[data-v-b8b9ac3a]{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.up-btn[data-v-b8b9ac3a]{flex:1;min-width:90px;background:#f5f7ff;border:none;border-radius:12px;padding:16px 8px;display:flex;flex-direction:column;align-items:center}.up-btn.rec[data-v-b8b9ac3a]{background:#fdeef1}.up-icon[data-v-b8b9ac3a]{font-size:24px}.up-text[data-v-b8b9ac3a]{font-size:12px;color:#4a6cf7;margin-top:6px}.up-btn.rec .up-text[data-v-b8b9ac3a]{color:#e74c3c}.up-tip[data-v-b8b9ac3a]{text-align:center;font-size:12px;color:#999;margin-top:12px}.cancel[data-v-b8b9ac3a]{text-align:center;font-size:13px;color:#999;padding:14px 0 2px;cursor:pointer}.task-prog[data-v-b8b9ac3a]{font-size:11px;color:#999;margin-top:6px}.t-prog-bar[data-v-b8b9ac3a]{height:4px;background:#eef0f5;border-radius:2px;overflow:hidden;margin-top:6px}.t-prog-in[data-v-b8b9ac3a]{height:100%;background:linear-gradient(90deg,#4a6cf7,#6a8cff);border-radius:2px}.task-btn[data-v-b8b9ac3a]{flex-shrink:0;padding:8px 16px;border-radius:16px;background:#4a6cf7;color:#fff;border:none;font-size:12px;font-weight:600}.task-btn.done[data-v-b8b9ac3a]{background:#e8f7ef;color:#10b981}.calendar[data-v-b8b9ac3a]{margin:0 16px;background:#fff;border-radius:14px;padding:16px}.cal-head[data-v-b8b9ac3a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cal-title[data-v-b8b9ac3a]{font-size:15px;font-weight:700}.nav[data-v-b8b9ac3a]{display:flex;gap:16px}.nav-btn[data-v-b8b9ac3a]{font-size:22px;color:#666;cursor:pointer;padding:0 6px;line-height:1}.weekdays[data-v-b8b9ac3a],.days[data-v-b8b9ac3a]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.weekdays div[data-v-b8b9ac3a]{text-align:center;font-size:12px;color:#999;padding:6px 0}.day[data-v-b8b9ac3a]{text-align:center;padding:8px 0;font-size:13px;border-radius:8px;color:#333}.day.blank[data-v-b8b9ac3a]{visibility:hidden}.day.checked[data-v-b8b9ac3a]{background:#4a6cf7;color:#fff;font-weight:600}.day.today[data-v-b8b9ac3a]{box-shadow:inset 0 0 0 2px #4a6cf7}.btn[data-v-b8b9ac3a]{display:block;width:calc(100% - 32px);margin:20px 16px;padding:14px;background:#4a6cf7;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600}.btn[data-v-b8b9ac3a]:disabled{background:#c5d0f0}.sec-title[data-v-b8b9ac3a]{font-size:15px;font-weight:700}.placeholder[data-v-b8b9ac3a]{height:20px}.page[data-v-48b57f54]{min-height:100vh;padding-bottom:80px}.achieve[data-v-48b57f54]{margin:16px;background:linear-gradient(135deg,#ffd56b,#f7b733);border-radius:16px;padding:24px;display:flex;align-items:center;gap:14px;color:#7a4d00}.achieve-icon[data-v-48b57f54]{font-size:40px}.achieve-text[data-v-48b57f54]{font-size:18px;font-weight:700}.stats[data-v-48b57f54]{display:flex;margin:0 16px 16px;background:#fff;border-radius:14px;padding:16px 0}.stat[data-v-48b57f54]{flex:1;text-align:center}.stat .num[data-v-48b57f54]{font-size:22px;font-weight:700;color:#4a6cf7}.stat .label[data-v-48b57f54]{font-size:12px;color:#999;margin-top:4px}.chart-card[data-v-48b57f54]{margin:0 16px;background:#fff;border-radius:14px;padding:16px}.chart-title[data-v-48b57f54]{font-size:15px;font-weight:700;margin-bottom:16px}.chart[data-v-48b57f54]{display:flex;align-items:flex-end;justify-content:space-around;height:180px}.bar-col[data-v-48b57f54]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar-val[data-v-48b57f54]{font-size:11px;color:#999;margin-bottom:4px}.bar[data-v-48b57f54]{width:24px;background:linear-gradient(180deg,#6a8cff,#4a6cf7);border-radius:6px 6px 0 0;min-height:2px}.bar-label[data-v-48b57f54]{font-size:12px;color:#999;margin-top:6px}.empty-tip[data-v-48b57f54]{text-align:center;font-size:13px;color:#999;padding:30px 0}.entry[data-v-48b57f54]{display:flex;align-items:center;justify-content:space-between;margin:16px;background:#fff;border-radius:14px;padding:16px;cursor:pointer}.e-left[data-v-48b57f54]{display:flex;align-items:center}.e-icon[data-v-48b57f54]{font-size:30px;margin-right:14px}.e-title[data-v-48b57f54]{font-size:15px;font-weight:600}.e-sub[data-v-48b57f54]{font-size:12px;color:#999;margin-top:4px}.arrow[data-v-48b57f54]{font-size:24px;color:#d1d5db}.placeholder[data-v-48b57f54]{height:20px}.page[data-v-b06bd7cf]{min-height:100vh;display:flex;flex-direction:column}.chat[data-v-b06bd7cf]{flex:1;padding:16px;overflow-y:auto}.tip-bar[data-v-b06bd7cf]{background:#eef2ff;color:#4a6cf7;font-size:12px;padding:10px 14px;border-radius:10px;margin-bottom:14px}.msg[data-v-b06bd7cf]{display:flex;margin-bottom:12px;align-items:flex-start}.msg.user[data-v-b06bd7cf]{flex-direction:row-reverse}.avatar[data-v-b06bd7cf]{font-size:24px;margin:0 8px}.bubble[data-v-b06bd7cf]{max-width:68%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.6;white-space:pre-wrap}.bubble.ai[data-v-b06bd7cf]{background:#fff;border-top-left-radius:4px;box-shadow:0 2px 10px #1f29370d}.bubble.user[data-v-b06bd7cf]{background:#4a6cf7;color:#fff;border-top-right-radius:4px}.chips[data-v-b06bd7cf]{white-space:nowrap;overflow-x:auto;padding:10px 16px;background:#fff;border-top:1px solid #f0f1f5}.chip[data-v-b06bd7cf]{display:inline-block;padding:8px 14px;background:#f5f7ff;color:#4a6cf7;border-radius:20px;font-size:12px;margin-right:8px;cursor:pointer}.input-bar[data-v-b06bd7cf]{display:flex;gap:8px;padding:10px 16px;background:#fff;border-top:1px solid #eee}.input-bar input[data-v-b06bd7cf]{flex:1;padding:10px 14px;border:1px solid #e5e7eb;border-radius:20px;font-size:14px;outline:none}.send[data-v-b06bd7cf]{padding:0 20px;background:#4a6cf7;color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:600}.send[data-v-b06bd7cf]:disabled{opacity:.5}.page[data-v-55ce7ac7]{min-height:100vh;padding-bottom:80px}.start[data-v-55ce7ac7],.result[data-v-55ce7ac7]{text-align:center;padding:60px 24px}.start-icon[data-v-55ce7ac7],.result-icon[data-v-55ce7ac7]{font-size:64px}.start-text[data-v-55ce7ac7]{font-size:20px;font-weight:700;margin:16px 0 8px}.start-sub[data-v-55ce7ac7]{font-size:14px;color:#999;margin-bottom:32px}.btn[data-v-55ce7ac7]{display:block;width:100%;max-width:320px;margin:12px auto;padding:14px;background:#4a6cf7;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600}.btn.ghost[data-v-55ce7ac7]{background:#fff;color:#4a6cf7;border:1px solid #4a6cf7}.quiz[data-v-55ce7ac7]{padding:16px}.progress-head[data-v-55ce7ac7]{display:flex;justify-content:space-between;font-size:14px;color:#666;margin-bottom:8px}.p-right[data-v-55ce7ac7]{color:#2ecc71;font-weight:600}.progress-bar[data-v-55ce7ac7]{height:6px;background:#eef0f5;border-radius:3px;overflow:hidden;margin-bottom:16px}.progress-inner[data-v-55ce7ac7]{height:100%;background:#4a6cf7;border-radius:3px;transition:width .3s}.question-card[data-v-55ce7ac7]{background:#fff;border-radius:16px;padding:24px}.q-word[data-v-55ce7ac7]{text-align:center;font-size:32px;font-weight:800;color:#4a6cf7;margin-bottom:8px}.q-hint[data-v-55ce7ac7]{text-align:center;font-size:13px;color:#999;margin-bottom:20px}.option[data-v-55ce7ac7]{display:flex;align-items:center;padding:14px;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px;font-size:15px;cursor:pointer}.opt-key[data-v-55ce7ac7]{width:24px;height:24px;border-radius:50%;background:#f0f1f5;color:#666;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;margin-right:12px;flex-shrink:0}.opt-text[data-v-55ce7ac7]{flex:1}.opt-mark[data-v-55ce7ac7]{font-weight:700;margin-left:8px}.opt-mark.wrong[data-v-55ce7ac7]{color:#e74c3c}.option.correct[data-v-55ce7ac7]{background:#e8f7ef;border-color:#2ecc71;color:#2ecc71;font-weight:600}.option.wrong[data-v-55ce7ac7]{background:#fdeef1;border-color:#e74c3c;color:#e74c3c}.option.dim[data-v-55ce7ac7]{opacity:.5}.result-score[data-v-55ce7ac7]{font-size:48px;font-weight:800;color:#4a6cf7;margin:8px 0}.result-text[data-v-55ce7ac7]{font-size:16px;color:#333;margin-bottom:8px}.result-detail[data-v-55ce7ac7]{font-size:13px;color:#999;margin-bottom:8px}.result-wrong[data-v-55ce7ac7]{font-size:13px;color:#f39c12;margin-bottom:16px}.placeholder[data-v-55ce7ac7]{height:20px}.page[data-v-9edfc798]{min-height:100vh;padding-bottom:80px}.start[data-v-9edfc798],.result[data-v-9edfc798]{text-align:center;padding:40px 24px}.s-icon[data-v-9edfc798],.r-icon[data-v-9edfc798]{font-size:60px}.s-title[data-v-9edfc798]{font-size:22px;font-weight:700;margin:16px 0 8px}.s-desc[data-v-9edfc798]{font-size:13px;color:#999;line-height:1.8;margin-bottom:24px}.btn[data-v-9edfc798]{display:block;width:100%;max-width:320px;margin:12px auto;padding:14px;background:#4a6cf7;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600}.btn.ghost[data-v-9edfc798]{background:#fff;color:#4a6cf7;border:1px solid #4a6cf7}.history[data-v-9edfc798]{text-align:left;margin-top:32px}.h-title[data-v-9edfc798]{font-size:14px;font-weight:600;color:#666;margin-bottom:8px}.h-item[data-v-9edfc798]{display:flex;align-items:center;background:#fff;border-radius:10px;padding:12px 16px;margin-bottom:8px}.h-level[data-v-9edfc798]{font-size:13px;color:#4a6cf7;background:#eef2ff;padding:4px 12px;border-radius:6px;margin-right:12px}.h-score[data-v-9edfc798]{flex:1;font-size:14px;color:#333}.h-time[data-v-9edfc798]{font-size:12px;color:#999}.quiz[data-v-9edfc798]{padding:16px}.head[data-v-9edfc798]{display:flex;justify-content:space-between;padding:4px 4px 16px}.q-progress[data-v-9edfc798]{font-size:14px;color:#666}.q-score[data-v-9edfc798]{font-size:14px;color:#2ecc71;font-weight:600}.question[data-v-9edfc798]{background:#fff;border-radius:16px;padding:28px 20px;font-size:18px;font-weight:600;line-height:1.6}.options[data-v-9edfc798]{margin-top:16px}.option[data-v-9edfc798]{display:flex;align-items:center;background:#fff;border:1px solid #eef0f5;border-radius:12px;padding:14px;margin-bottom:10px;cursor:pointer}.opt-key[data-v-9edfc798]{width:26px;height:26px;border-radius:50%;background:#f5f7ff;color:#4a6cf7;font-size:13px;display:flex;align-items:center;justify-content:center;margin-right:12px;flex-shrink:0}.opt-text[data-v-9edfc798]{font-size:15px;color:#333}.option.correct[data-v-9edfc798]{border-color:#2ecc71;background:#f0fdf7}.option.wrong[data-v-9edfc798]{border-color:#e74c3c;background:#fef2f2}.option.dim[data-v-9edfc798]{opacity:.5}.r-level[data-v-9edfc798]{font-size:34px;font-weight:800;color:#4a6cf7;margin:12px 0}.r-score[data-v-9edfc798]{font-size:16px;color:#666}.r-report[data-v-9edfc798]{font-size:14px;color:#555;line-height:1.8;margin:20px 0}.placeholder[data-v-9edfc798]{height:20px}.page[data-v-c7b66922]{min-height:100vh;padding-bottom:80px}.card[data-v-c7b66922]{background:#fff;border-radius:var(--radius);padding:16px;margin:0 16px 12px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm)}.word[data-v-c7b66922]{font-size:18px;font-weight:700}.meaning[data-v-c7b66922]{font-size:14px;color:var(--text-secondary);margin-top:3px}.phonetic[data-v-c7b66922]{font-size:12px;color:var(--text-muted);margin-top:4px}.w-right[data-v-c7b66922]{text-align:right}.wrong[data-v-c7b66922]{font-size:12px;color:var(--danger);margin-bottom:8px}.master-btn[data-v-c7b66922]{padding:6px 14px;border-radius:16px;background:#e8f7ef;color:#2ecc71;font-size:12px;font-weight:600}.empty[data-v-c7b66922]{text-align:center;padding:80px 24px}.empty-icon[data-v-c7b66922]{font-size:56px}.empty-text[data-v-c7b66922]{font-size:18px;font-weight:600;margin-top:12px}.empty-sub[data-v-c7b66922]{font-size:13px;color:var(--text-muted);margin-top:6px}.btn[data-v-c7b66922]{display:block;width:100%;max-width:320px;margin:16px auto;padding:13px;background:#4a6cf7;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600}.bottom-btn[data-v-c7b66922]{margin-top:20px}.placeholder[data-v-c7b66922]{height:20px}.page[data-v-c9cecec1]{min-height:100vh;padding-bottom:80px}.sec[data-v-c9cecec1]{background:#fff;border-radius:14px;margin:16px;padding:20px;box-shadow:var(--shadow-sm)}.sec-title[data-v-c9cecec1]{font-size:16px;font-weight:700}.sec-sub[data-v-c9cecec1]{font-size:12px;color:#999;margin-top:4px}.empty[data-v-c9cecec1]{text-align:center;padding:40px 0;font-size:13px;color:#999}.badge-grid[data-v-c9cecec1]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.badge[data-v-c9cecec1]{text-align:center;padding:12px 4px}.badge-icon[data-v-c9cecec1]{font-size:40px}.badge-name[data-v-c9cecec1]{font-size:13px;font-weight:600;margin-top:8px}.badge-time[data-v-c9cecec1]{font-size:11px;color:var(--text-muted);margin-top:4px}.todo-list[data-v-c9cecec1]{margin-top:16px}.todo-item[data-v-c9cecec1]{padding:16px 0;border-bottom:1px solid #f5f6fa}.todo-item[data-v-c9cecec1]:last-child{border-bottom:none}.t-left[data-v-c9cecec1]{display:flex;align-items:center}.t-icon[data-v-c9cecec1]{font-size:30px;margin-right:12px}.t-name[data-v-c9cecec1]{font-size:14px;font-weight:600}.t-desc[data-v-c9cecec1]{font-size:12px;color:#999;margin-top:4px}.t-progress[data-v-c9cecec1]{display:flex;align-items:center;margin-top:12px}.tp-bar[data-v-c9cecec1]{flex:1;height:8px;background:#eef0f5;border-radius:4px;overflow:hidden}.tp-inner[data-v-c9cecec1]{height:100%;background:linear-gradient(90deg,#4a6cf7,#6a8cff);border-radius:4px}.tp-text[data-v-c9cecec1]{font-size:12px;color:#666;margin-left:12px}.placeholder[data-v-c9cecec1]{height:20px}.page[data-v-545a6493]{min-height:100vh;padding-bottom:80px}.head[data-v-545a6493]{display:flex;align-items:center;justify-content:space-between;background:#fff;margin:16px;padding:20px;border-radius:14px}.h-title[data-v-545a6493]{font-size:18px;font-weight:700}.h-sub[data-v-545a6493]{font-size:12px;color:#999;margin-top:6px}.unread-dot[data-v-545a6493]{min-width:24px;height:24px;border-radius:12px;background:#ef4444;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;padding:0 8px}.msg[data-v-545a6493]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 10px;display:flex;gap:12px;box-shadow:var(--shadow-sm);cursor:pointer}.msg.unread[data-v-545a6493]{border-left:3px solid var(--brand)}.avatar[data-v-545a6493]{width:40px;height:40px;background:var(--brand-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.info[data-v-545a6493]{flex:1}.top[data-v-545a6493]{display:flex;align-items:center;justify-content:space-between}.title[data-v-545a6493]{font-size:14px;font-weight:600}.m-badge[data-v-545a6493]{font-size:11px;color:#ef4444}.content[data-v-545a6493]{font-size:13px;color:var(--text-secondary);margin-top:4px;line-height:1.5}.time[data-v-545a6493]{font-size:11px;color:var(--text-muted);margin-top:6px}.read-all[data-v-545a6493]{text-align:center;font-size:14px;color:#4a6cf7;padding:20px 0;cursor:pointer}.empty[data-v-545a6493]{text-align:center;padding:80px 24px}.empty-icon[data-v-545a6493]{font-size:56px}.empty-text[data-v-545a6493]{font-size:16px;color:var(--text-muted);margin-top:12px}.placeholder[data-v-545a6493]{height:20px}.mask[data-v-545a6493]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog-box[data-v-545a6493]{width:85%;max-width:380px;background:#fff;border-radius:16px;padding:24px}.d-title[data-v-545a6493]{font-size:17px;font-weight:700;text-align:center}.d-content[data-v-545a6493]{font-size:14px;color:#555;line-height:1.6;margin:16px 0;white-space:pre-wrap}.d-btn[data-v-545a6493]{width:100%;padding:12px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600}.page[data-v-11360fc8]{min-height:100vh;padding-bottom:80px}.filter[data-v-11360fc8]{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap}.f-item[data-v-11360fc8]{padding:6px 14px;border-radius:16px;background:#fff;color:var(--text-secondary);font-size:13px}.f-item.active[data-v-11360fc8]{background:var(--brand);color:#fff}.card[data-v-11360fc8]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 10px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.r-icon[data-v-11360fc8]{font-size:28px}.r-info[data-v-11360fc8]{flex:1}.r-title[data-v-11360fc8]{font-size:14px;font-weight:600}.r-desc[data-v-11360fc8]{font-size:12px;color:var(--text-secondary);margin-top:3px}.r-meta[data-v-11360fc8]{font-size:11px;color:var(--text-muted);margin-top:4px}.r-audio[data-v-11360fc8]{width:100%;margin-top:8px}.r-action[data-v-11360fc8]{padding:6px 12px;background:var(--brand);color:#fff;border-radius:8px;font-size:12px;cursor:pointer}.empty[data-v-11360fc8]{text-align:center;color:var(--text-muted);padding:40px}.placeholder[data-v-11360fc8]{height:60px}.page[data-v-6a9421e7]{min-height:100vh;padding-bottom:40px}.hour-card[data-v-6a9421e7]{margin:16px;background:linear-gradient(135deg,var(--brand),var(--brand-light));border-radius:var(--radius);padding:20px;color:#fff}.hc-nums[data-v-6a9421e7]{display:flex;justify-content:space-around;margin-bottom:16px}.hc-item[data-v-6a9421e7]{text-align:center}.hc-num[data-v-6a9421e7]{font-size:28px;font-weight:800}.hc-num.used[data-v-6a9421e7]{color:#ffe08a}.hc-label[data-v-6a9421e7]{font-size:11px;opacity:.9;margin-top:4px}.hc-bar[data-v-6a9421e7]{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.hc-fill[data-v-6a9421e7]{height:100%;background:#fff;border-radius:4px}.warn[data-v-6a9421e7]{margin:0 16px 12px;background:#fff8e6;color:#b7791f;font-size:12px;padding:12px 14px;border-radius:10px}.section-title[data-v-6a9421e7]{font-size:15px;font-weight:700;margin:0 16px 10px}.log[data-v-6a9421e7]{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:12px 14px;margin:0 16px 8px;box-shadow:var(--shadow-sm)}.log-icon[data-v-6a9421e7]{font-size:20px}.log-info[data-v-6a9421e7]{flex:1}.log-title[data-v-6a9421e7]{font-size:14px;font-weight:600}.log-time[data-v-6a9421e7]{font-size:11px;color:var(--text-muted);margin-top:2px}.log-hours[data-v-6a9421e7]{font-size:15px;font-weight:700;color:var(--warning)}.empty[data-v-6a9421e7]{text-align:center;color:var(--text-muted);padding:40px}.placeholder[data-v-6a9421e7]{height:20px}.page[data-v-167b2225]{min-height:100vh;padding-bottom:80px}.profile[data-v-167b2225]{background:linear-gradient(135deg,var(--brand),var(--brand-light));padding:40px 20px;display:flex;align-items:center;gap:16px;color:#fff}.avatar[data-v-167b2225]{width:64px;height:64px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px}.name[data-v-167b2225]{font-size:20px;font-weight:700}.grade[data-v-167b2225]{font-size:13px;opacity:.9;margin-top:4px}.list[data-v-167b2225]{margin:16px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.item[data-v-167b2225]{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--border);font-size:15px}.item[data-v-167b2225]:last-child{border-bottom:none}.item[data-v-167b2225]:active{background:#fafbfc}.arrow[data-v-167b2225]{color:var(--text-muted)}.logout[data-v-167b2225]{display:block;width:calc(100% - 32px);margin:0 16px;padding:14px;background:#fff;color:var(--danger);border-radius:var(--radius);font-size:15px;font-weight:600;box-shadow:var(--shadow-sm)}.home[data-v-b54aee0f]{padding-bottom:80px}.header[data-v-b54aee0f]{background:linear-gradient(135deg,var(--brand),var(--brand-light));padding:18px 20px 64px;display:flex;justify-content:space-between;align-items:center;color:#fff}.hello[data-v-b54aee0f]{font-size:20px;font-weight:700}.sub[data-v-b54aee0f]{font-size:13px;opacity:.9;margin-top:4px}.avatar[data-v-b54aee0f]{width:46px;height:46px;background:#ffffff47;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.stats[data-v-b54aee0f]{display:flex;background:#fff;margin:-44px 16px 0;border-radius:var(--radius);padding:16px 0;box-shadow:var(--shadow);position:relative}.stat[data-v-b54aee0f]{flex:1;text-align:center}.stat .num[data-v-b54aee0f]{font-size:22px;font-weight:700;color:var(--brand)}.stat .label[data-v-b54aee0f]{font-size:12px;color:var(--text-muted);margin-top:4px}.section-title[data-v-b54aee0f]{font-size:16px;font-weight:700;margin:4px 20px 12px}.grid[data-v-b54aee0f]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 16px}.cell[data-v-b54aee0f]{background:#fff;border-radius:var(--radius);padding:16px 8px;text-align:center;box-shadow:var(--shadow-sm)}.cell[data-v-b54aee0f]:active{transform:scale(.96)}.cell-icon[data-v-b54aee0f]{width:44px;height:44px;margin:0 auto 8px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px}.cell-name[data-v-b54aee0f]{font-size:12px;color:var(--text-primary)}.section[data-v-b54aee0f]{padding:12px 16px 0}.section-title[data-v-b54aee0f]{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;margin-bottom:12px}.more[data-v-b54aee0f]{font-size:13px;color:var(--text-muted);font-weight:400}.card[data-v-b54aee0f]{background:#fff;border-radius:var(--radius);padding:14px;margin-bottom:10px;box-shadow:var(--shadow-sm)}.card-top[data-v-b54aee0f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.type-badge[data-v-b54aee0f]{padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600}.submit-info[data-v-b54aee0f]{font-size:12px;color:var(--text-muted)}.title[data-v-b54aee0f]{font-size:15px;font-weight:600;margin-bottom:6px}.meta[data-v-b54aee0f]{font-size:12px;color:var(--text-muted);margin-bottom:8px}.progress-bar[data-v-b54aee0f]{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-b54aee0f]{height:100%;background:var(--brand);border-radius:3px}.empty[data-v-b54aee0f]{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}.fab[data-v-b54aee0f]{position:fixed;bottom:72px;left:50%;transform:translate(-50%);padding:14px 28px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;border-radius:24px;font-size:15px;font-weight:600;box-shadow:0 4px 16px #4a6cf766;z-index:90}.placeholder[data-v-b54aee0f]{height:60px}.page[data-v-85e549ac]{min-height:100vh;padding-bottom:80px}.tpl-btn[data-v-85e549ac]{font-size:18px;cursor:pointer}.overview[data-v-85e549ac]{display:flex;margin:12px 16px;background:#fff;border-radius:var(--radius);padding:14px 0;box-shadow:var(--shadow-sm)}.ov-item[data-v-85e549ac]{flex:1;text-align:center}.ov-num[data-v-85e549ac]{font-size:20px;font-weight:700;color:var(--brand)}.ov-label[data-v-85e549ac]{font-size:11px;color:var(--text-muted);margin-top:4px}.card[data-v-85e549ac]{background:#fff;border-radius:var(--radius);margin:0 16px 12px;box-shadow:var(--shadow-sm);overflow:hidden}.card-body[data-v-85e549ac]{padding:14px 16px}.card-top[data-v-85e549ac]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.type-badge[data-v-85e549ac]{padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600}.submit-info[data-v-85e549ac]{font-size:12px;color:var(--text-muted)}.title[data-v-85e549ac]{font-size:15px;font-weight:600;margin-bottom:4px}.content[data-v-85e549ac]{font-size:12px;color:var(--text-secondary);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-row[data-v-85e549ac]{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--text-muted);margin-bottom:6px}.limit-tag[data-v-85e549ac]{background:var(--brand-bg);color:var(--brand);padding:2px 8px;border-radius:6px;font-size:11px}.material-tag[data-v-85e549ac]{background:#fff4e6;color:#f39c12;padding:2px 8px;border-radius:6px;font-size:11px}.progress-bar[data-v-85e549ac]{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.progress-fill[data-v-85e549ac]{height:100%;background:var(--brand);border-radius:3px}.card-actions[data-v-85e549ac]{display:flex;border-top:1px solid var(--border)}.act-btn[data-v-85e549ac]{flex:1;padding:11px;background:#fff;color:var(--brand);font-size:13px;font-weight:600}.act-btn[data-v-85e549ac]:first-child{border-right:1px solid var(--border)}.act-btn.danger[data-v-85e549ac]{color:var(--danger)}.act-btn[data-v-85e549ac]:active{background:#fafbfc}.empty[data-v-85e549ac]{text-align:center;color:var(--text-muted);padding:40px}.fab[data-v-85e549ac]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:14px 28px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;border-radius:24px;font-size:15px;font-weight:600;box-shadow:0 4px 16px #4a6cf766;z-index:90}.placeholder[data-v-85e549ac]{height:60px}.mask[data-v-85e549ac]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-85e549ac]{width:90%;max-width:440px;background:#fff;border-radius:20px;padding:20px;max-height:88vh;overflow-y:auto}.d-title[data-v-85e549ac]{font-size:17px;font-weight:700;margin-bottom:16px;text-align:center}.field[data-v-85e549ac]{margin-bottom:14px}.field label[data-v-85e549ac]{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-secondary)}.field input[data-v-85e549ac],.field textarea[data-v-85e549ac],.select[data-v-85e549ac]{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none;resize:none;box-sizing:border-box}.field input[data-v-85e549ac]:focus,.field textarea[data-v-85e549ac]:focus{border-color:var(--brand)}.type-grid[data-v-85e549ac]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.type-item[data-v-85e549ac]{text-align:center;padding:10px 4px;border-radius:10px;background:var(--bg-page);font-size:12px;color:var(--text-secondary)}.type-item.active[data-v-85e549ac]{background:var(--brand);color:#fff}.tpl-item[data-v-85e549ac]{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border)}.tpl-info[data-v-85e549ac]{flex:1}.tpl-title[data-v-85e549ac]{font-size:14px;font-weight:600}.tpl-meta[data-v-85e549ac]{font-size:11px;color:var(--text-muted);margin-top:2px}.tpl-del[data-v-85e549ac]{padding:4px 10px;background:#fff;color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:11px}.upload-row[data-v-85e549ac]{display:flex;gap:8px}.upload-btn[data-v-85e549ac]{flex:1;padding:10px 4px;border:1.5px solid var(--brand);background:#fff;color:var(--brand);border-radius:12px;font-size:13px;font-weight:600}.upload-btn[data-v-85e549ac]:active{background:var(--brand-bg)}.recording-panel[data-v-85e549ac]{margin-top:8px;border-radius:12px;overflow:hidden}.camera-preview[data-v-85e549ac]{width:100%;max-height:180px;background:#000;border-radius:12px;object-fit:cover}.recording-bar[data-v-85e549ac]{display:flex;align-items:center;gap:8px;background:#fdeef1;color:#e74c3c;padding:10px 14px;border-radius:10px;font-size:13px;margin-top:8px}.dot[data-v-85e549ac]{width:8px;height:8px;background:#e74c3c;border-radius:50%;animation:blink-85e549ac 1s infinite}@keyframes blink-85e549ac{50%{opacity:.2}}.stop-btn[data-v-85e549ac]{margin-left:auto;padding:6px 14px;background:#e74c3c;color:#fff;border-radius:8px;font-size:12px;font-weight:600}.uploading-tip[data-v-85e549ac]{font-size:12px;color:var(--brand);margin-top:6px}.materials[data-v-85e549ac]{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.material-item[data-v-85e549ac]{position:relative;width:88px}.m-preview[data-v-85e549ac]{width:88px;height:88px;background:#f8f9fb;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.m-img[data-v-85e549ac],.m-audio[data-v-85e549ac],.m-video[data-v-85e549ac]{width:100%;height:100%;object-fit:cover}.m-del[data-v-85e549ac]{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--danger);color:#fff;border-radius:50%;font-size:11px;display:flex;align-items:center;justify-content:center}.page[data-v-1d3cd48a]{min-height:100vh;padding-bottom:80px}.asg-info[data-v-1d3cd48a]{background:#fff;padding:16px;margin-bottom:12px}.asg-info .title[data-v-1d3cd48a]{font-size:17px;font-weight:700}.asg-info .meta[data-v-1d3cd48a]{font-size:12px;color:#999;margin-top:4px}.urge-btn[data-v-1d3cd48a]{margin-top:10px;padding:8px 16px;background:#fff4e6;color:#f39c12;border:1px solid #f5c26b;border-radius:16px;font-size:13px;font-weight:600}.card[data-v-1d3cd48a]{background:#fff;border-radius:12px;padding:14px 16px;margin:0 16px 12px}.stu[data-v-1d3cd48a]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.stu-avatar[data-v-1d3cd48a]{width:40px;height:40px;background:#f0f3ff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.stu-info[data-v-1d3cd48a]{flex:1}.stu-name[data-v-1d3cd48a]{font-size:15px;font-weight:600}.stu-time[data-v-1d3cd48a]{font-size:11px;color:#999;margin-top:2px}.stu-score[data-v-1d3cd48a]{font-size:18px;font-weight:700;color:#f39c12}.stu-score.high[data-v-1d3cd48a]{color:#2ecc71}.stu-score.low[data-v-1d3cd48a]{color:#e74c3c}.answer[data-v-1d3cd48a]{background:#f8f9fb;border-radius:10px;padding:12px;font-size:13px;color:#555;line-height:1.6;white-space:pre-wrap;margin-bottom:12px}.media-box[data-v-1d3cd48a]{margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.preview-img[data-v-1d3cd48a]{width:100%;max-width:320px;border-radius:8px;cursor:pointer;display:block}.preview-audio[data-v-1d3cd48a],.preview-video[data-v-1d3cd48a]{width:100%;border-radius:8px}.audio-row[data-v-1d3cd48a]{display:flex;align-items:center;gap:8px;background:#f5f8ff;border:1px solid #e0e8ff;border-radius:10px;padding:12px 14px;cursor:pointer}.audio-row[data-v-1d3cd48a]:active{background:#eef2ff}.audio-icon[data-v-1d3cd48a]{font-size:18px;flex-shrink:0}.audio-text[data-v-1d3cd48a],.media-link[data-v-1d3cd48a]{font-size:13px;color:#4a6cf7}.ai-title[data-v-1d3cd48a]{font-size:13px;font-weight:600;color:#4a6cf7;margin-bottom:6px}.ai-comment[data-v-1d3cd48a]{font-size:13px;color:#555;line-height:1.6}.teacher-box[data-v-1d3cd48a]{background:#f0fbf4;border-radius:10px;padding:12px}.review-actions[data-v-1d3cd48a]{display:flex;flex-direction:column;gap:8px}.comment-chips[data-v-1d3cd48a]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-1d3cd48a]{padding:4px 10px;background:var(--brand-bg);color:var(--brand);border-radius:12px;font-size:11px;cursor:pointer}.score-input[data-v-1d3cd48a]{width:100px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;outline:none}.comment-input[data-v-1d3cd48a]{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;resize:none;outline:none}.audio-comment[data-v-1d3cd48a]{display:flex;flex-direction:column;gap:8px}.rec-btn[data-v-1d3cd48a]{padding:10px;background:#fff;color:#4a6cf7;border:1px solid #4a6cf7;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.rec-btn.recording[data-v-1d3cd48a]{background:#fdeef1;border-color:#e74c3c;color:#e74c3c}.btn[data-v-1d3cd48a]{padding:10px;background:#4a6cf7;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600}.empty[data-v-1d3cd48a]{text-align:center;color:#999;padding:40px}.placeholder[data-v-1d3cd48a]{height:60px}.page[data-v-6813d23e]{min-height:100vh;padding-bottom:80px}.add-icon[data-v-6813d23e]{font-size:22px;font-weight:600;color:var(--brand);cursor:pointer}.main-tabs[data-v-6813d23e]{display:flex;gap:8px;padding:12px 16px 4px}.mt[data-v-6813d23e]{flex:1;text-align:center;padding:9px;border-radius:12px;background:#fff;color:var(--text-secondary);font-size:14px}.mt.active[data-v-6813d23e]{background:var(--brand);color:#fff;font-weight:600}.filter[data-v-6813d23e]{display:flex;gap:8px;padding:10px 16px;overflow-x:auto;white-space:nowrap}.f-item[data-v-6813d23e]{padding:6px 14px;border-radius:16px;background:#fff;color:var(--text-secondary);font-size:13px;flex-shrink:0}.f-item.active[data-v-6813d23e]{background:var(--brand);color:#fff}.card[data-v-6813d23e]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 10px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.avatar[data-v-6813d23e]{width:44px;height:44px;background:var(--brand-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.info[data-v-6813d23e]{flex:1}.name[data-v-6813d23e]{font-size:15px;font-weight:600}.meta[data-v-6813d23e]{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap;align-items:center}.grade[data-v-6813d23e]{font-size:11px;color:var(--text-muted)}.class-tag[data-v-6813d23e]{font-size:11px;color:var(--brand);background:var(--brand-bg);padding:1px 8px;border-radius:6px}.class-tag.none[data-v-6813d23e]{color:var(--text-muted);background:#f0f1f5}.hour-tag[data-v-6813d23e]{font-size:11px;color:#2ecc71;background:#e8f7ef;padding:1px 8px;border-radius:6px}.username[data-v-6813d23e]{font-size:11px;color:var(--text-muted);margin-top:4px}.phone[data-v-6813d23e]{font-size:11px;color:var(--text-muted)}.kids-line[data-v-6813d23e]{font-size:11px;color:var(--text-muted);margin-top:5px;display:flex;gap:4px;flex-wrap:wrap;align-items:center}.no-kid[data-v-6813d23e]{color:var(--warning)}.kid-chip[data-v-6813d23e]{background:#fff4e6;color:#f39c12;padding:1px 8px;border-radius:6px}.arrow[data-v-6813d23e]{color:var(--text-muted);font-size:20px}.empty[data-v-6813d23e]{text-align:center;color:var(--text-muted);padding:40px}.placeholder[data-v-6813d23e]{height:60px}.fab[data-v-6813d23e]{position:fixed;bottom:72px;left:50%;transform:translate(-50%);padding:12px 24px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;border-radius:22px;font-size:14px;font-weight:600;box-shadow:0 4px 16px #4a6cf759;z-index:90}.mask[data-v-6813d23e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-6813d23e]{width:90%;max-width:420px;background:#fff;border-radius:20px;padding:20px;max-height:88vh;overflow-y:auto}.d-title[data-v-6813d23e]{font-size:17px;font-weight:700;margin-bottom:16px;text-align:center}.field[data-v-6813d23e]{margin-bottom:13px}.field label[data-v-6813d23e]{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--text-secondary)}.field input[data-v-6813d23e],.select[data-v-6813d23e]{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none;box-sizing:border-box}.field input[data-v-6813d23e]:focus{border-color:var(--brand)}.kid-select[data-v-6813d23e]{display:flex;flex-wrap:wrap;gap:8px}.kid-option[data-v-6813d23e]{padding:8px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:13px;color:var(--text-secondary)}.kid-option.checked[data-v-6813d23e]{border-color:var(--brand);background:var(--brand-bg);color:var(--brand);font-weight:600}.ko-class[data-v-6813d23e]{font-size:10px;opacity:.7}.btn-danger[data-v-6813d23e]{width:100%;margin-top:10px;padding:12px;background:#fff;color:var(--danger);border:1.5px solid var(--danger);border-radius:12px;font-size:14px;font-weight:600}.page[data-v-683cd6be]{min-height:100vh;padding-bottom:80px}.tabs[data-v-683cd6be]{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;white-space:nowrap}.tab[data-v-683cd6be]{padding:8px 14px;border-radius:18px;background:#fff;color:var(--text-secondary);font-size:13px;flex-shrink:0}.tab.active[data-v-683cd6be]{background:var(--brand);color:#fff;font-weight:600}.add-btn[data-v-683cd6be]{display:block;margin:0 16px 12px;padding:10px 16px;background:var(--brand);color:#fff;border-radius:10px;font-size:14px;font-weight:600}.card[data-v-683cd6be]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 10px;box-shadow:var(--shadow-sm);position:relative}.card.done[data-v-683cd6be]{background:#f9fdfb}.c-head[data-v-683cd6be]{display:flex;justify-content:space-between;align-items:center}.c-title[data-v-683cd6be]{font-size:15px;font-weight:600}.c-status[data-v-683cd6be]{font-size:11px;padding:2px 8px;border-radius:6px}.c-status.pending[data-v-683cd6be]{background:#fff4e6;color:#f39c12}.c-status.done[data-v-683cd6be]{background:#e8f7ef;color:#2ecc71}.c-time[data-v-683cd6be]{font-size:12px;color:var(--text-secondary);margin-top:6px}.c-meta-line[data-v-683cd6be]{font-size:12px;color:var(--text-secondary);margin-top:5px;line-height:1.5}.plan-progress[data-v-683cd6be]{margin-top:10px}.pp-bar[data-v-683cd6be]{height:6px;background:var(--border);border-radius:3px;overflow:hidden}.pp-fill[data-v-683cd6be]{height:100%;background:linear-gradient(90deg,#2ecc71,#27ae60);border-radius:3px}.pp-text[data-v-683cd6be]{font-size:11px;color:var(--text-muted);margin-top:5px}.weekday-row[data-v-683cd6be]{display:flex;gap:6px}.wd[data-v-683cd6be]{flex:1;text-align:center;padding:9px 0;border-radius:10px;background:var(--bg-page);font-size:13px;color:var(--text-secondary)}.wd.active[data-v-683cd6be]{background:var(--brand);color:#fff;font-weight:600}.row2[data-v-683cd6be]{display:flex;gap:8px}.row2[data-v-683cd6be]>*{flex:1;min-width:0}.plan-preview[data-v-683cd6be]{background:#e8f7ef;color:#1e8449;font-size:12px;padding:10px 12px;border-radius:10px;margin-bottom:14px;line-height:1.6}.c-meta[data-v-683cd6be]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-top:6px}.c-desc[data-v-683cd6be]{font-size:12px;color:var(--text-secondary);margin-top:3px}.c-count[data-v-683cd6be]{font-size:12px;color:var(--text-muted);margin-top:4px}.c-content[data-v-683cd6be]{font-size:14px;color:var(--text-primary);line-height:1.5}.done-info[data-v-683cd6be]{font-size:11px;color:#2ecc71;margin-top:6px}.c-actions[data-v-683cd6be]{margin-top:10px}.check-btn[data-v-683cd6be]{width:100%;padding:10px;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border-radius:10px;font-size:14px;font-weight:600}.revert-btn[data-v-683cd6be]{width:100%;padding:9px;background:#fff;color:var(--text-secondary);border:1px solid var(--border);border-radius:10px;font-size:13px}.hour-summary[data-v-683cd6be]{display:flex;margin:0 16px 12px;background:#fff;border-radius:var(--radius);padding:14px 0;box-shadow:var(--shadow-sm)}.hs-item[data-v-683cd6be]{flex:1;text-align:center}.hs-num[data-v-683cd6be]{font-size:20px;font-weight:700;color:var(--brand)}.hs-label[data-v-683cd6be]{font-size:11px;color:var(--text-muted);margin-top:3px}.h-row[data-v-683cd6be]{display:flex;align-items:center;gap:10px}.h-avatar[data-v-683cd6be]{width:38px;height:38px;background:var(--brand-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}.h-info[data-v-683cd6be]{flex:1}.h-name[data-v-683cd6be]{font-size:14px;font-weight:600}.h-class[data-v-683cd6be]{font-size:11px;color:var(--text-muted);margin-top:2px}.h-nums[data-v-683cd6be]{text-align:right}.h-remain[data-v-683cd6be]{display:block;font-size:15px;font-weight:700;color:#2ecc71}.h-remain.low[data-v-683cd6be]{color:var(--danger)}.h-detail[data-v-683cd6be]{font-size:10px;color:var(--text-muted)}.h-bar[data-v-683cd6be]{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:10px}.h-fill[data-v-683cd6be]{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-light));border-radius:3px}.del[data-v-683cd6be]{position:absolute;top:14px;right:16px;padding:4px 10px;background:#fff;color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:11px}.empty[data-v-683cd6be]{text-align:center;color:var(--text-muted);padding:24px;font-size:14px}.placeholder[data-v-683cd6be]{height:60px}.mask[data-v-683cd6be]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-683cd6be]{width:90%;max-width:420px;background:#fff;border-radius:20px;padding:20px;max-height:88vh;overflow-y:auto}.d-title[data-v-683cd6be]{font-size:17px;font-weight:700;margin-bottom:16px;text-align:center}.field[data-v-683cd6be]{margin-bottom:12px}.field label[data-v-683cd6be]{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text-secondary)}.field input[data-v-683cd6be],.field textarea[data-v-683cd6be],.select[data-v-683cd6be]{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none;resize:none;box-sizing:border-box}.file-tip[data-v-683cd6be]{font-size:12px;color:#2ecc71;margin-top:6px}.r-head[data-v-683cd6be]{display:flex;align-items:center;justify-content:space-between;gap:10px}.r-del[data-v-683cd6be]{padding:4px 10px;background:#fff;color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:11px;flex-shrink:0}.r-preview[data-v-683cd6be]{margin-top:10px}.r-audio[data-v-683cd6be],.r-video[data-v-683cd6be]{width:100%;border-radius:8px}.r-img[data-v-683cd6be]{width:100%;max-width:240px;border-radius:8px;display:block}.r-link[data-v-683cd6be]{font-size:13px;color:var(--brand)}.r-nourl[data-v-683cd6be]{font-size:12px;color:var(--text-muted);margin-top:8px}.page[data-v-314f499d]{min-height:100vh;padding-bottom:80px}.ov[data-v-314f499d]{display:flex;background:#fff;margin:16px;border-radius:14px;padding:18px 0}.ov-item[data-v-314f499d]{flex:1;text-align:center}.ov-num[data-v-314f499d]{font-size:22px;font-weight:700;color:#4a6cf7}.ov-label[data-v-314f499d]{font-size:11px;color:#999;margin-top:4px}.add-btn[data-v-314f499d]{display:block;width:calc(100% - 32px);margin:0 16px 14px;padding:13px;background:#4a6cf7;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600}.empty[data-v-314f499d]{text-align:center;color:#999;font-size:13px;padding:40px}.card[data-v-314f499d]{background:#fff;border-radius:14px;margin:0 16px 12px;padding:16px}.t-head[data-v-314f499d]{display:flex;align-items:center;justify-content:space-between;gap:8px}.t-left[data-v-314f499d]{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:1}.t-title[data-v-314f499d]{font-size:15px;font-weight:700}.t-tag[data-v-314f499d]{font-size:10px;color:#4a6cf7;background:#eef2ff;padding:2px 7px;border-radius:4px}.t-tag.opt[data-v-314f499d]{color:#9ca3af;background:#f3f4f6}.t-tag.off[data-v-314f499d]{color:#ef4444;background:#fef2f2}.t-rate[data-v-314f499d]{font-size:16px;font-weight:700}.t-rate.good[data-v-314f499d]{color:#10b981}.t-rate.mid[data-v-314f499d]{color:#f59e0b}.t-rate.bad[data-v-314f499d]{color:#ef4444}.t-desc[data-v-314f499d]{font-size:12px;color:#6b7280;margin-top:8px}.t-line[data-v-314f499d]{font-size:12px;color:#999;margin-top:6px}.t-line.media[data-v-314f499d]{color:#4a6cf7}.stu-media[data-v-314f499d]{padding:0 0 10px 26px}.sm-text[data-v-314f499d]{font-size:11px;color:#6b7280;line-height:1.5}.sm-link[data-v-314f499d]{font-size:11px;color:#4a6cf7;margin-top:4px;cursor:pointer}.stu-his[data-v-314f499d]{padding:0 0 10px 26px;font-size:11px;color:#999;cursor:pointer}.stu-card[data-v-314f499d]{background:#fafbff;border:1px solid #eef1f8;border-radius:10px;padding:12px 12px 10px;margin-top:10px}.stu-tags[data-v-314f499d]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.stu-tag[data-v-314f499d]{font-size:10px;padding:3px 9px;border-radius:10px}.stu-tag.media[data-v-314f499d]{color:#4a6cf7;background:#eef2ff}.stu-tag.cmt[data-v-314f499d]{color:#d97706;background:#fef3c7}.stu-tag.todo[data-v-314f499d]{color:#f59e0b;background:#fff7ed}.stu-tag.empty[data-v-314f499d]{color:#9ca3af;background:#f3f4f6}.stu-content[data-v-314f499d]{font-size:11px;color:#6b7280;line-height:1.5;margin-top:7px;background:#fff;border-radius:6px;padding:7px 9px}.stu-acts[data-v-314f499d]{display:flex;gap:7px;margin-top:8px}.stu-act[data-v-314f499d]{flex:1;padding:8px 0;border:none;border-radius:7px;background:#eef1f8;font-size:12px;font-weight:600;color:#4b5563;cursor:pointer}.stu-act.primary[data-v-314f499d]{background:#4a6cf7;color:#fff}.stu-act.danger[data-v-314f499d]{background:#fef2f2;color:#ef4444}.stu-acts.second[data-v-314f499d]{margin-top:5px}.history-list[data-v-314f499d]{max-height:300px;overflow-y:auto;margin-top:12px}.h-item[data-v-314f499d]{display:flex;align-items:center;justify-content:space-between;padding:9px 2px;border-bottom:1px solid #f5f6fa}.h-left[data-v-314f499d]{display:flex;align-items:center}.h-date[data-v-314f499d]{font-size:13px;font-weight:600;color:#1f2937}.h-status[data-v-314f499d]{font-size:11px;color:#d1d5db;margin-left:8px}.h-status.ok[data-v-314f499d]{color:#10b981}.h-view[data-v-314f499d]{font-size:10px;color:#4a6cf7;background:#eef2ff;padding:2px 6px;border-radius:4px;cursor:pointer}.h-view.plain[data-v-314f499d]{color:#d1d5db}.h-right[data-v-314f499d]{display:flex;align-items:center;gap:9px}.h-review[data-v-314f499d]{font-size:11px;color:#f59e0b;cursor:pointer}.h-review.done[data-v-314f499d]{color:#10b981}.h-del[data-v-314f499d]{font-size:11px;color:#ef4444;cursor:pointer}.h-cmt[data-v-314f499d]{margin:0 0 9px;padding:9px 10px;background:#fffbeb;border-left:3px solid #f59e0b;border-radius:6px}.h-cmt-head[data-v-314f499d]{font-size:11px;font-weight:700;color:#d97706}.h-cmt-text[data-v-314f499d]{font-size:11px;color:#4b5563;line-height:1.6;margin-top:4px}.h-cmt-media[data-v-314f499d]{display:flex;gap:7px;margin-top:6px}.h-cmt-btn[data-v-314f499d]{font-size:11px;color:#d97706;background:#fef3c7;padding:3px 9px;border-radius:10px;cursor:pointer}.mat-add-row[data-v-314f499d]{display:flex;gap:6px;margin-top:10px}.mat-add[data-v-314f499d]{flex:1;padding:8px 0;background:#f5f7ff;color:#4a6cf7;border:none;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer}.mat-input-row[data-v-314f499d]{display:flex;align-items:flex-end;gap:6px;margin-top:8px}.mat-input-row .f-textarea[data-v-314f499d]{flex:1;margin:0}.mat-save[data-v-314f499d]{padding:8px 14px;background:#4a6cf7;color:#fff;border:none;border-radius:7px;font-size:12px;cursor:pointer}.mat-list[data-v-314f499d]{max-height:280px;overflow-y:auto;margin-top:10px}.mat-empty[data-v-314f499d]{text-align:center;color:#999;padding:16px 0;font-size:12px}.mat-item[data-v-314f499d]{padding:8px 0;border-bottom:1px solid #f5f6fa}.mat-item-top[data-v-314f499d]{display:flex;align-items:flex-start;gap:6px}.mat-item-kind[data-v-314f499d]{flex-shrink:0;font-size:10px;color:#4a6cf7;background:#eef2ff;padding:1px 6px;border-radius:4px}.mat-item-text[data-v-314f499d]{flex:1;font-size:12px;color:#374151;line-height:1.5}.mat-item-media[data-v-314f499d]{flex-shrink:0;font-size:11px;color:#4a6cf7;cursor:pointer}.mat-item-bot[data-v-314f499d]{display:flex;justify-content:space-between;margin-top:4px}.mat-item-author[data-v-314f499d]{font-size:10px;color:#9ca3af}.mat-item-del[data-v-314f499d]{font-size:10px;color:#ef4444;cursor:pointer}.f-textarea[data-v-314f499d]{width:100%;box-sizing:border-box;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;outline:none;resize:none;font-family:inherit}.mat-row[data-v-314f499d]{display:flex;gap:8px;margin-top:8px}.mat-btn[data-v-314f499d]{flex:1;padding:9px 0;background:#f5f7ff;color:#4a6cf7;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer}.mat-btn.on[data-v-314f499d]{background:#e0e8ff}.mat-chip[data-v-314f499d]{margin-top:8px;background:#e8f7ef;border-radius:8px;padding:9px;text-align:center;font-size:12px;color:#10b981;cursor:pointer}.mat-media[data-v-314f499d]{position:relative;margin-top:8px}.mat-img[data-v-314f499d],.mat-video[data-v-314f499d]{width:100%;border-radius:8px}.mat-del[data-v-314f499d]{position:absolute;top:5px;right:5px;width:20px;height:20px;line-height:19px;text-align:center;background:#0000008c;color:#fff;border-radius:50%;font-size:14px;cursor:pointer}.rv-input[data-v-314f499d]{width:100%;box-sizing:border-box;background:#f5f6fa;border:none;border-radius:9px;padding:10px 12px;font-size:13px;color:#1f2937;margin-top:12px;outline:none;resize:none;font-family:inherit}.rv-row[data-v-314f499d]{display:flex;gap:8px;margin-top:10px}.rv-rec[data-v-314f499d]{flex:1;padding:11px 0;background:#f5f7ff;color:#4a6cf7;border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer}.rv-rec.rec[data-v-314f499d]{background:#fdeef1;color:#e74c3c}.rv-btn[data-v-314f499d]{flex:1;padding:11px 0;background:#f5f7ff;color:#4a6cf7;border:none;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer}.rv-chip[data-v-314f499d]{margin-top:8px;background:#e8f7ef;border-radius:8px;padding:9px;text-align:center;font-size:12px;color:#10b981;cursor:pointer}.rv-media[data-v-314f499d]{position:relative;margin-top:8px}.rv-img[data-v-314f499d],.rv-video[data-v-314f499d]{width:100%;border-radius:8px}.rv-del[data-v-314f499d]{position:absolute;top:5px;right:5px;width:20px;height:20px;line-height:19px;text-align:center;background:#0000008c;color:#fff;border-radius:50%;font-size:14px;cursor:pointer}.pm-text[data-v-314f499d]{font-size:13px;color:#4b5563;line-height:1.6;margin-top:12px}.pm-img[data-v-314f499d],.pm-video[data-v-314f499d]{width:100%;border-radius:10px;margin-top:12px}.pm-audio[data-v-314f499d]{width:100%;margin-top:12px}.pg[data-v-314f499d]{margin-top:12px}.pg-bar[data-v-314f499d]{height:6px;background:#eef0f5;border-radius:3px;overflow:hidden}.pg-in[data-v-314f499d]{height:100%;background:linear-gradient(90deg,#4a6cf7,#6a8cff);border-radius:3px}.pg-txt[data-v-314f499d]{font-size:11px;color:#999;margin-top:6px}.acts[data-v-314f499d]{display:flex;gap:8px;margin-top:12px}.act[data-v-314f499d]{flex:1;padding:8px 0;border-radius:8px;background:#f5f7ff;color:#4a6cf7;border:none;font-size:12px;font-weight:600}.act.primary[data-v-314f499d]{background:#4a6cf7;color:#fff}.act.remind[data-v-314f499d]{background:#fff7ed;color:#f59e0b}.act.danger[data-v-314f499d]{background:#fef2f2;color:#ef4444}.mask[data-v-314f499d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-314f499d]{width:88%;max-width:400px;max-height:86vh;overflow-y:auto;background:#fff;border-radius:16px;padding:20px;box-sizing:border-box}.dialog.wide[data-v-314f499d]{max-width:460px}.d-title[data-v-314f499d]{font-size:17px;font-weight:700;text-align:center}.d-sub[data-v-314f499d]{font-size:12px;color:#999;text-align:center;margin-top:4px}.f-label[data-v-314f499d]{display:block;font-size:12px;font-weight:600;color:#6b7280;margin:14px 0 6px}.dialog input[data-v-314f499d],.dialog select[data-v-314f499d]{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;box-sizing:border-box;outline:none;background:#f9fafb}.chip-row[data-v-314f499d]{display:flex;flex-wrap:wrap;gap:8px}.chip[data-v-314f499d]{padding:6px 12px;background:#f5f7ff;color:#4a6cf7;border-radius:14px;font-size:12px;cursor:pointer}.switch-row[data-v-314f499d]{display:flex;align-items:center;justify-content:space-between;margin:16px 0 4px}.sw[data-v-314f499d]{width:44px;height:24px;border-radius:12px;background:#e5e7eb;padding:2px;box-sizing:border-box;transition:background .2s}.sw.on[data-v-314f499d]{background:#4a6cf7}.sw-dot[data-v-314f499d]{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s}.sw.on .sw-dot[data-v-314f499d]{transform:translate(20px)}.btn-primary[data-v-314f499d]{width:100%;margin-top:18px;padding:12px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600}.btn-primary[data-v-314f499d]:disabled{opacity:.6}.btn-close[data-v-314f499d]{display:block;width:100%;margin-top:16px;padding:12px;background:#f3f4f6;color:#4b5563;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}.btn-close[data-v-314f499d]:hover{background:#e5e7eb}.sum-grid[data-v-314f499d]{display:flex;flex-wrap:wrap;margin-top:14px}.sg[data-v-314f499d]{width:50%;padding:10px 0;text-align:center}.sg-num[data-v-314f499d]{font-size:18px;font-weight:700;color:#4a6cf7}.sg-label[data-v-314f499d]{font-size:11px;color:#999;margin-top:3px}.sec-title[data-v-314f499d]{font-size:13px;font-weight:700;margin:18px 0 10px}.chart[data-v-314f499d]{display:flex;align-items:flex-end;justify-content:space-around;height:110px}.bar-col[data-v-314f499d]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.bar-val[data-v-314f499d]{font-size:9px;color:#999}.bar-wrap[data-v-314f499d]{height:70px;display:flex;align-items:flex-end;margin:3px 0}.bar[data-v-314f499d]{width:12px;background:linear-gradient(180deg,#6a8cff,#4a6cf7);border-radius:3px 3px 0 0}.bar-label[data-v-314f499d]{font-size:9px;color:#999}.stu-row[data-v-314f499d]{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f5f6fa}.stu-av[data-v-314f499d]{font-size:18px}.stu-info[data-v-314f499d]{flex:1}.stu-name[data-v-314f499d]{font-size:13px;font-weight:600}.stu-sub[data-v-314f499d]{font-size:10px;color:#999;margin-top:2px}.stu-today[data-v-314f499d]{font-size:10px;color:#f59e0b}.stu-today.ok[data-v-314f499d]{color:#10b981}.stu-rate[data-v-314f499d]{font-size:13px;font-weight:700}.stu-rate.good[data-v-314f499d]{color:#10b981}.stu-rate.mid[data-v-314f499d]{color:#f59e0b}.stu-rate.bad[data-v-314f499d]{color:#ef4444}.placeholder[data-v-314f499d]{height:60px}.page[data-v-362fd8ff]{min-height:100vh;padding-bottom:80px}.stats[data-v-362fd8ff]{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;margin:16px;border-radius:14px;padding:16px 0}.stat[data-v-362fd8ff]{text-align:center}.stat .num[data-v-362fd8ff]{font-size:20px;font-weight:700;color:#4a6cf7}.stat .label[data-v-362fd8ff]{font-size:11px;color:#999;margin-top:4px}.rate-card[data-v-362fd8ff]{margin:0 16px 16px;background:#fff;border-radius:14px;padding:16px}.rate-head[data-v-362fd8ff]{display:flex;justify-content:space-between;align-items:center}.rate-title[data-v-362fd8ff]{font-size:15px;font-weight:700}.rate-num[data-v-362fd8ff]{font-size:18px;font-weight:700;color:#2ecc71}.rate-bar[data-v-362fd8ff]{height:10px;background:#eef0f5;border-radius:5px;margin-top:14px;overflow:hidden}.rate-inner[data-v-362fd8ff]{height:100%;background:linear-gradient(90deg,#2ecc71,#34d399);border-radius:5px}.rate-tip[data-v-362fd8ff]{font-size:12px;color:#999;margin-top:10px;line-height:1.6}.section[data-v-362fd8ff]{padding:0 16px}.section-title[data-v-362fd8ff]{font-size:16px;font-weight:700;margin-bottom:12px}.rank[data-v-362fd8ff]{background:#fff;border-radius:12px;padding:12px 16px;margin-bottom:10px;display:flex;align-items:center;gap:12px}.rank-num[data-v-362fd8ff]{width:24px;height:24px;background:#eef0f5;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#666}.rank-num.top1[data-v-362fd8ff]{background:#fef3c7;color:#d97706}.rank-num.top2[data-v-362fd8ff]{background:#e5e7eb;color:#6b7280}.rank-num.top3[data-v-362fd8ff]{background:#fed7aa;color:#c2410c}.rank-avatar[data-v-362fd8ff]{font-size:22px}.rank-info[data-v-362fd8ff]{flex:1}.rank-name[data-v-362fd8ff]{font-size:14px;font-weight:600}.rank-sub[data-v-362fd8ff]{font-size:11px;color:#999;margin-top:2px}.rank-score[data-v-362fd8ff]{font-size:16px;font-weight:700;color:#2ecc71}.export[data-v-362fd8ff]{font-size:18px;cursor:pointer}.empty[data-v-362fd8ff]{text-align:center;color:var(--text-muted);padding:24px}.placeholder[data-v-362fd8ff]{height:60px}.page[data-v-ffc70f12]{min-height:100vh;padding-bottom:80px}.profile[data-v-ffc70f12]{background:linear-gradient(135deg,#4a6cf7,#6a8cff);padding:40px 20px;display:flex;align-items:center;gap:16px;color:#fff}.avatar[data-v-ffc70f12]{width:64px;height:64px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px}.name[data-v-ffc70f12]{font-size:20px;font-weight:700}.role[data-v-ffc70f12]{font-size:13px;opacity:.9;margin-top:4px}.list[data-v-ffc70f12]{margin:16px;background:#fff;border-radius:14px;overflow:hidden}.item[data-v-ffc70f12]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #f5f5f5;font-size:15px}.item[data-v-ffc70f12]:last-child{border-bottom:none}.arrow[data-v-ffc70f12]{color:#ccc}.logout[data-v-ffc70f12]{display:block;width:calc(100% - 32px);margin:0 16px;padding:14px;background:#fff;color:#e74c3c;border:none;border-radius:12px;font-size:15px;font-weight:600}.page[data-v-95a2b4b0]{min-height:100vh;padding-bottom:80px}.tabs[data-v-95a2b4b0]{display:flex;gap:8px;padding:12px 16px}.tab[data-v-95a2b4b0]{padding:8px 16px;border-radius:16px;background:#fff;color:#666;font-size:14px;cursor:pointer}.tab.active[data-v-95a2b4b0]{background:#4a6cf7;color:#fff}.section[data-v-95a2b4b0]{padding:0 16px}.section-title[data-v-95a2b4b0]{font-size:15px;font-weight:700;margin-bottom:16px}.field[data-v-95a2b4b0]{margin-bottom:14px}.field label[data-v-95a2b4b0]{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:#555}.field input[data-v-95a2b4b0],.select[data-v-95a2b4b0]{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;outline:none;box-sizing:border-box}.hint[data-v-95a2b4b0]{background:#fff8e6;color:#b7791f;font-size:12px;padding:10px 14px;border-radius:10px;margin-bottom:16px;line-height:1.6}.btn[data-v-95a2b4b0]{width:100%;padding:13px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600}.logout-icon[data-v-95a2b4b0]{font-size:17px;color:var(--danger);cursor:pointer}.placeholder[data-v-95a2b4b0]{height:20px}.page[data-v-00d40517]{min-height:100vh;padding-bottom:80px}.tabs[data-v-00d40517]{display:flex;gap:8px;padding:12px 16px}.tab[data-v-00d40517]{padding:8px 16px;border-radius:16px;background:#fff;color:#666;font-size:14px;cursor:pointer}.tab.active[data-v-00d40517]{background:#4a6cf7;color:#fff}.add-btn[data-v-00d40517]{display:block;margin:0 16px 12px;padding:10px 16px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600}.card[data-v-00d40517]{background:#fff;border-radius:12px;padding:14px 16px;margin:0 16px 10px;display:flex;justify-content:space-between;align-items:center}.word[data-v-00d40517]{font-size:16px;font-weight:700}.meaning[data-v-00d40517]{font-size:14px;color:#666;margin-top:2px}.meta[data-v-00d40517]{font-size:11px;color:#bbb;margin-top:4px}.del[data-v-00d40517]{padding:6px 14px;border:1px solid #e74c3c;color:#e74c3c;background:#fff;border-radius:8px;font-size:12px}.placeholder[data-v-00d40517]{height:20px}.mask[data-v-00d40517]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-00d40517]{width:90%;max-width:420px;background:#fff;border-radius:16px;padding:20px;max-height:85vh;overflow-y:auto}.d-title[data-v-00d40517]{font-size:17px;font-weight:700;margin-bottom:16px;text-align:center}.field[data-v-00d40517]{margin-bottom:12px}.field input[data-v-00d40517]{width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;outline:none;box-sizing:border-box}.btn[data-v-00d40517]{width:100%;padding:13px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600}.logout-icon[data-v-00d40517]{font-size:17px;color:var(--danger);cursor:pointer}.page[data-v-aa36c352]{min-height:100vh;padding-bottom:80px}.section[data-v-aa36c352]{padding:16px}.field[data-v-aa36c352]{margin-bottom:16px}.field label[data-v-aa36c352]{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-secondary)}.field input[data-v-aa36c352]{width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none;box-sizing:border-box}.field input[data-v-aa36c352]:focus{border-color:var(--brand)}.color-row[data-v-aa36c352]{display:flex;gap:8px}.color-input[data-v-aa36c352]{width:48px!important;height:42px;padding:2px!important;border-radius:8px!important}.color-text[data-v-aa36c352]{flex:1}.color-presets[data-v-aa36c352]{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.preset[data-v-aa36c352]{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 1px var(--border)}.preview-title[data-v-aa36c352]{font-size:14px;font-weight:700;margin:20px 0 10px}.preview[data-v-aa36c352]{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.p-header[data-v-aa36c352]{padding:30px;text-align:center;color:#fff}.p-logo[data-v-aa36c352]{font-size:44px}.p-name[data-v-aa36c352]{font-size:20px;font-weight:700;margin-top:8px}.p-footer[data-v-aa36c352]{background:#fff;padding:14px;text-align:center;font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px}.btn-primary[data-v-aa36c352]{margin-top:20px}.logout-icon[data-v-aa36c352]{font-size:17px;color:var(--danger);cursor:pointer}.placeholder[data-v-aa36c352]{height:20px}.page[data-v-3fdab68a]{min-height:100vh;padding-bottom:80px}.header[data-v-3fdab68a]{background:linear-gradient(135deg,var(--brand),var(--brand-light));padding:24px 20px 48px;color:#fff}.greet[data-v-3fdab68a]{font-size:22px;font-weight:700}.sub[data-v-3fdab68a]{font-size:13px;opacity:.9;margin-top:4px}.stats[data-v-3fdab68a]{display:flex;background:#fff;margin:-28px 16px 0;border-radius:var(--radius);padding:16px 0;box-shadow:var(--shadow);position:relative}.stat[data-v-3fdab68a]{flex:1;text-align:center}.stat .num[data-v-3fdab68a]{font-size:22px;font-weight:700;color:var(--brand)}.stat .label[data-v-3fdab68a]{font-size:12px;color:var(--text-muted);margin-top:4px}.card[data-v-3fdab68a]{background:#fff;border-radius:var(--radius);padding:16px;margin:16px;box-shadow:var(--shadow-sm)}.highlight[data-v-3fdab68a]{display:flex;align-items:center;gap:12px}.h-icon[data-v-3fdab68a]{font-size:28px}.h-text[data-v-3fdab68a]{font-size:15px;font-weight:600}.menu[data-v-3fdab68a]{margin:0 16px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.menu-title[data-v-3fdab68a]{padding:14px 16px;font-size:13px;color:var(--text-muted);border-bottom:1px solid var(--border)}.menu-item[data-v-3fdab68a]{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid var(--border);font-size:15px}.menu-item[data-v-3fdab68a]:last-child{border-bottom:none}.menu-item[data-v-3fdab68a]:active{background:#fafbfc}.mi-icon[data-v-3fdab68a]{font-size:20px}.arrow[data-v-3fdab68a]{margin-left:auto;color:var(--text-muted)}.account[data-v-3fdab68a]{display:flex;align-items:center;justify-content:space-between;margin:16px;background:#fff;border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm)}.acc-left[data-v-3fdab68a]{display:flex;align-items:center;gap:12px}.acc-avatar[data-v-3fdab68a]{width:42px;height:42px;background:var(--brand-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.acc-name[data-v-3fdab68a]{font-size:15px;font-weight:600}.acc-role[data-v-3fdab68a]{font-size:11px;color:var(--text-muted);margin-top:2px}.logout-btn[data-v-3fdab68a]{padding:8px 16px;background:#fff;color:var(--danger);border:1.5px solid var(--danger);border-radius:10px;font-size:13px;font-weight:600}.logout-btn[data-v-3fdab68a]:active{background:#fff5f5}.placeholder[data-v-3fdab68a]{height:20px}.page[data-v-61c2adc6]{min-height:100vh;padding-bottom:40px}.logout-icon[data-v-61c2adc6]{font-size:17px;color:var(--danger);cursor:pointer}.section[data-v-61c2adc6]{padding:16px}.tip[data-v-61c2adc6]{background:#e8f0ff;color:#3a56d4;font-size:12px;line-height:1.7;padding:12px 14px;border-radius:10px;margin-bottom:16px}.field[data-v-61c2adc6]{margin-bottom:16px}.field label[data-v-61c2adc6]{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-secondary)}.field input[data-v-61c2adc6]{width:100%;padding:11px 12px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none;box-sizing:border-box}.field input[data-v-61c2adc6]:focus{border-color:var(--brand)}.field-hint[data-v-61c2adc6]{font-size:11px;color:var(--text-muted);margin-top:6px}.switch-row[data-v-61c2adc6]{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:14px;box-shadow:var(--shadow-sm)}.switch-label[data-v-61c2adc6]{font-size:14px;font-weight:600}.switch-sub[data-v-61c2adc6]{font-size:11px;color:var(--text-muted);margin-top:3px}.switch[data-v-61c2adc6]{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}.switch input[data-v-61c2adc6]{opacity:0;width:0;height:0}.slider[data-v-61c2adc6]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:26px;transition:.25s;cursor:pointer}.slider[data-v-61c2adc6]:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s}.switch input:checked+.slider[data-v-61c2adc6]{background:var(--brand)}.switch input:checked+.slider[data-v-61c2adc6]:before{transform:translate(20px)}.status-box[data-v-61c2adc6]{margin-top:16px;background:#f8f9fb;border-radius:12px;padding:12px 14px}.sb-row[data-v-61c2adc6]{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary);padding:5px 0}.sb-row b.ok[data-v-61c2adc6]{color:#2ecc71}.sb-row b.warn[data-v-61c2adc6]{color:var(--warning)}.section-title[data-v-61c2adc6]{font-size:15px;font-weight:700;margin-bottom:10px}.bind-item[data-v-61c2adc6]{display:flex;align-items:center;background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:8px;box-shadow:var(--shadow-sm)}.b-info[data-v-61c2adc6]{flex:1}.b-name[data-v-61c2adc6]{font-size:14px;font-weight:600}.b-role[data-v-61c2adc6]{font-size:11px;color:var(--brand);background:var(--brand-bg);padding:1px 8px;border-radius:6px;font-weight:400;margin-left:4px}.b-meta[data-v-61c2adc6]{font-size:11px;color:var(--text-muted);margin-top:3px}.b-openid[data-v-61c2adc6]{font-size:10px;color:#b0b0b0;margin-top:2px;font-family:monospace}.unbind-btn[data-v-61c2adc6]{padding:6px 12px;background:#fff;color:var(--danger);border:1px solid var(--danger);border-radius:8px;font-size:12px}.empty-small[data-v-61c2adc6]{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.tpl-box[data-v-61c2adc6]{background:#fff;border-radius:12px;padding:14px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.tpl-head[data-v-61c2adc6]{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--brand)}.field-row[data-v-61c2adc6]{display:flex;gap:10px}.field-row .field[data-v-61c2adc6]{flex:1;margin-bottom:0}.test-row[data-v-61c2adc6]{display:flex;gap:10px;margin-top:12px}.btn-ghost[data-v-61c2adc6]{flex:1;padding:10px;background:#fff;color:var(--brand);border:1.5px solid var(--brand);border-radius:10px;font-size:13px;font-weight:600}.placeholder[data-v-61c2adc6]{height:20px}.page[data-v-da6337d3]{min-height:100vh;padding-bottom:40px}.logout-icon[data-v-da6337d3]{font-size:17px;color:var(--danger);cursor:pointer}.search-bar[data-v-da6337d3]{display:flex;gap:8px;padding:12px 16px 8px}.search-bar input[data-v-da6337d3]{flex:1;padding:10px 14px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none}.search-bar input[data-v-da6337d3]:focus{border-color:var(--brand)}.search-btn[data-v-da6337d3]{padding:0 18px;background:var(--brand);color:#fff;border-radius:12px;font-size:14px;font-weight:600}.filter[data-v-da6337d3]{display:flex;gap:8px;padding:4px 16px 10px;overflow-x:auto;white-space:nowrap}.f-item[data-v-da6337d3]{padding:6px 14px;border-radius:16px;background:#fff;color:var(--text-secondary);font-size:13px;flex-shrink:0}.f-item.active[data-v-da6337d3]{background:var(--brand);color:#fff}.count-tip[data-v-da6337d3]{font-size:12px;color:var(--text-muted);padding:0 16px 8px}.card[data-v-da6337d3]{display:flex;align-items:center;gap:12px;background:#fff;border-radius:var(--radius);padding:13px 16px;margin:0 16px 10px;box-shadow:var(--shadow-sm)}.avatar[data-v-da6337d3]{width:42px;height:42px;background:var(--brand-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.info[data-v-da6337d3]{flex:1;min-width:0}.name-row[data-v-da6337d3]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.name[data-v-da6337d3]{font-size:15px;font-weight:600}.role-tag[data-v-da6337d3]{font-size:10px;padding:1px 7px;border-radius:6px;font-weight:400}.role-tag.student[data-v-da6337d3]{background:#e8f7ef;color:#2ecc71}.role-tag.teacher[data-v-da6337d3]{background:var(--brand-bg);color:var(--brand)}.role-tag.parent[data-v-da6337d3]{background:#fff4e6;color:#f39c12}.role-tag.admin[data-v-da6337d3]{background:#f0ebff;color:#8e44ad}.wx-tag[data-v-da6337d3]{font-size:10px;padding:1px 7px;border-radius:6px;background:#e6f7ee;color:#07c160}.acc[data-v-da6337d3]{font-size:11px;color:var(--text-muted)}.meta2[data-v-da6337d3]{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--text-muted);margin-top:3px}.arrow[data-v-da6337d3]{color:var(--text-muted);font-size:20px}.empty[data-v-da6337d3]{text-align:center;color:var(--text-muted);padding:40px}.placeholder[data-v-da6337d3]{height:20px}.mask[data-v-da6337d3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog[data-v-da6337d3]{width:90%;max-width:420px;background:#fff;border-radius:20px;padding:20px;max-height:88vh;overflow-y:auto}.d-title[data-v-da6337d3]{font-size:17px;font-weight:700;text-align:center}.d-sub[data-v-da6337d3]{font-size:12px;color:var(--text-muted);text-align:center;margin:6px 0 16px}.field[data-v-da6337d3]{margin-bottom:13px}.field label[data-v-da6337d3]{display:block;font-size:13px;font-weight:600;margin-bottom:7px;color:var(--text-secondary)}.field input[data-v-da6337d3],.select[data-v-da6337d3]{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none;box-sizing:border-box}.field input[data-v-da6337d3]:focus{border-color:var(--brand)}.field-hint[data-v-da6337d3]{font-size:11px;color:var(--text-muted);margin-top:5px}.btn-danger[data-v-da6337d3]{width:100%;margin-top:10px;padding:12px;background:#fff;color:var(--danger);border:1.5px solid var(--danger);border-radius:12px;font-size:14px;font-weight:600}.page[data-v-80dfe27c]{min-height:100vh;padding-bottom:40px}.logout-icon[data-v-80dfe27c]{font-size:17px;color:var(--danger);cursor:pointer}.section[data-v-80dfe27c]{padding:16px}.section-title[data-v-80dfe27c]{font-size:15px;font-weight:700;margin-bottom:10px}.tip[data-v-80dfe27c]{background:#e8f0ff;color:#3a56d4;font-size:12px;line-height:1.7;padding:12px 14px;border-radius:10px;margin-bottom:16px}.card[data-v-80dfe27c]{background:#fff;border-radius:12px;padding:14px;box-shadow:var(--shadow-sm)}.overview[data-v-80dfe27c]{display:flex;gap:10px}.ov-item[data-v-80dfe27c]{flex:1;background:#fff;border-radius:12px;padding:14px 8px;text-align:center;box-shadow:var(--shadow-sm)}.ov-num[data-v-80dfe27c]{font-size:22px;font-weight:700;color:var(--brand)}.ov-label[data-v-80dfe27c]{font-size:12px;color:var(--text-secondary);margin-top:2px}.ov-sub[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);margin-top:2px}.ov-item.ok .ov-num[data-v-80dfe27c]{color:#2ecc71}.ov-item.warn .ov-num[data-v-80dfe27c]{color:var(--warning)}.row[data-v-80dfe27c]{display:flex;align-items:center;gap:8px}.row-label[data-v-80dfe27c]{font-size:14px;color:var(--text-secondary)}.num-input[data-v-80dfe27c]{width:70px;padding:8px 10px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;text-align:center;outline:none}.num-input[data-v-80dfe27c]:focus{border-color:var(--brand)}.row-unit[data-v-80dfe27c]{font-size:13px;color:var(--text-muted)}.hint[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);margin-top:8px;line-height:1.6}.btn-row[data-v-80dfe27c]{display:flex;gap:10px;margin-top:14px}.btn-ghost[data-v-80dfe27c]{flex:1;padding:11px;background:#fff;color:var(--brand);border:1.5px solid var(--brand);border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-danger[data-v-80dfe27c]{flex:1;padding:11px;background:var(--danger);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}.btn-ghost[data-v-80dfe27c]:disabled,.btn-danger[data-v-80dfe27c]:disabled{opacity:.5;cursor:not-allowed}.preview[data-v-80dfe27c]{margin-top:14px;border-top:1px dashed var(--border);padding-top:12px}.pv-head[data-v-80dfe27c]{font-size:13px;color:var(--text-primary)}.pv-head b[data-v-80dfe27c]{color:var(--danger)}.pv-meta[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);margin-top:4px}.pv-list[data-v-80dfe27c]{margin-top:8px;max-height:240px;overflow-y:auto}.pv-item[data-v-80dfe27c]{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid #f5f6fa}.pv-name[data-v-80dfe27c]{flex:1;font-size:11px;color:var(--text-secondary);font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-size[data-v-80dfe27c],.pv-time[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);flex-shrink:0}.pv-more[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);padding:8px 0;text-align:center}.pv-empty[data-v-80dfe27c]{font-size:12px;color:var(--text-muted);padding:12px 0;text-align:center}.switch-row[data-v-80dfe27c]{display:flex;align-items:center;justify-content:space-between}.switch-label[data-v-80dfe27c]{font-size:14px;font-weight:600}.switch-sub[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);margin-top:3px}.switch[data-v-80dfe27c]{position:relative;display:inline-block;width:46px;height:26px;flex-shrink:0}.switch input[data-v-80dfe27c]{opacity:0;width:0;height:0}.slider[data-v-80dfe27c]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:26px;transition:.25s;cursor:pointer}.slider[data-v-80dfe27c]:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.25s}.switch input:checked+.slider[data-v-80dfe27c]{background:var(--brand)}.switch input:checked+.slider[data-v-80dfe27c]:before{transform:translate(20px)}.month-row[data-v-80dfe27c]{display:flex;align-items:center;gap:8px;padding:6px 0}.m-key[data-v-80dfe27c]{font-size:12px;font-weight:600;width:62px}.m-count[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);width:52px}.m-size[data-v-80dfe27c]{font-size:11px;color:var(--text-muted);width:66px}.m-bar[data-v-80dfe27c]{flex:1;height:6px;background:#f0f2f7;border-radius:3px;overflow:hidden}.m-in[data-v-80dfe27c]{height:100%;background:linear-gradient(90deg,#4a6cf7,#6a8cff)}.orphan-item[data-v-80dfe27c]{padding:8px 0;border-bottom:1px solid #f5f6fa}.o-name[data-v-80dfe27c]{font-size:11px;color:var(--text-secondary);font-family:monospace;word-break:break-all}.o-meta[data-v-80dfe27c]{font-size:10px;color:var(--text-muted);margin-top:2px}.placeholder[data-v-80dfe27c]{height:20px}.home[data-v-7b2fbbef]{padding-bottom:80px}.header[data-v-7b2fbbef]{background:linear-gradient(135deg,var(--brand),var(--brand-light));padding:18px 20px 56px;display:flex;justify-content:space-between;align-items:center;color:#fff}.hello[data-v-7b2fbbef]{font-size:20px;font-weight:700}.sub[data-v-7b2fbbef]{font-size:13px;opacity:.9;margin-top:4px}.avatar[data-v-7b2fbbef]{width:46px;height:46px;background:#ffffff47;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px}.child-switch[data-v-7b2fbbef]{display:flex;gap:8px;padding:10px 16px 0;margin-top:-40px;position:relative;overflow-x:auto}.chip[data-v-7b2fbbef]{padding:7px 14px;border-radius:16px;background:#fff;font-size:13px;color:var(--text-secondary);box-shadow:var(--shadow-sm);white-space:nowrap}.chip.active[data-v-7b2fbbef]{background:var(--brand);color:#fff;font-weight:600}.child-card[data-v-7b2fbbef]{display:flex;justify-content:space-between;align-items:center;margin:12px 16px 0;background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.cc-left[data-v-7b2fbbef]{display:flex;align-items:center;gap:12px}.cc-avatar[data-v-7b2fbbef]{width:50px;height:50px;background:var(--brand-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.cc-name[data-v-7b2fbbef]{font-size:17px;font-weight:700}.cc-grade[data-v-7b2fbbef]{font-size:12px;color:var(--text-muted);margin-top:3px}.cc-hours[data-v-7b2fbbef]{text-align:right}.ch-num[data-v-7b2fbbef]{font-size:26px;font-weight:800;color:#2ecc71}.ch-num.low[data-v-7b2fbbef]{color:var(--danger)}.ch-label[data-v-7b2fbbef]{font-size:11px;color:var(--text-muted)}.hour-card[data-v-7b2fbbef]{margin:12px 16px;background:#fff;border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm)}.hc-head[data-v-7b2fbbef]{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:10px}.hc-num[data-v-7b2fbbef]{font-size:12px;color:var(--text-muted);font-weight:400}.hc-bar[data-v-7b2fbbef]{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.hc-fill[data-v-7b2fbbef]{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-light));border-radius:4px}.hc-foot[data-v-7b2fbbef]{text-align:right;font-size:12px;color:var(--brand);margin-top:8px}.stats[data-v-7b2fbbef]{display:flex;margin:0 16px;background:#fff;border-radius:var(--radius);padding:16px 0;box-shadow:var(--shadow-sm)}.stat[data-v-7b2fbbef]{flex:1;text-align:center}.num[data-v-7b2fbbef]{font-size:20px;font-weight:700;color:var(--brand)}.unit[data-v-7b2fbbef]{font-size:11px;font-weight:400;color:var(--text-muted)}.label[data-v-7b2fbbef]{font-size:11px;color:var(--text-muted);margin-top:4px}.notice[data-v-7b2fbbef]{display:flex;align-items:center;gap:8px;margin:12px 16px 0;background:#fff8e6;padding:12px 14px;border-radius:10px}.n-icon[data-v-7b2fbbef]{font-size:16px}.n-text[data-v-7b2fbbef]{flex:1;font-size:13px;color:#b7791f}.n-arrow[data-v-7b2fbbef]{color:#b7791f}.section[data-v-7b2fbbef]{padding:16px}.section-title[data-v-7b2fbbef]{display:flex;justify-content:space-between;font-size:15px;font-weight:700;margin-bottom:10px}.more[data-v-7b2fbbef]{font-size:12px;color:var(--text-muted);font-weight:400}.log-item[data-v-7b2fbbef]{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:8px;box-shadow:var(--shadow-sm)}.log-icon[data-v-7b2fbbef]{font-size:20px}.log-info[data-v-7b2fbbef]{flex:1}.log-title[data-v-7b2fbbef]{font-size:14px;font-weight:600}.log-time[data-v-7b2fbbef]{font-size:11px;color:var(--text-muted);margin-top:2px}.log-hours[data-v-7b2fbbef]{font-size:13px;font-weight:700;color:var(--warning)}.empty[data-v-7b2fbbef]{text-align:center;color:var(--text-muted);padding:60px 24px;font-size:14px}.empty-small[data-v-7b2fbbef]{text-align:center;color:var(--text-muted);padding:16px;font-size:13px}.placeholder[data-v-7b2fbbef]{height:60px}.page[data-v-4993555f]{min-height:100vh;padding-bottom:80px}.child-bar[data-v-4993555f]{display:flex;align-items:center;gap:8px;padding:12px 16px}.cb-avatar[data-v-4993555f]{font-size:20px}.cb-name[data-v-4993555f]{font-size:15px;font-weight:700}.filter-tabs[data-v-4993555f]{margin-left:auto;display:flex;gap:6px}.ft[data-v-4993555f]{padding:4px 12px;border-radius:14px;background:#fff;font-size:12px;color:var(--text-secondary)}.ft.active[data-v-4993555f]{background:var(--brand);color:#fff}.card[data-v-4993555f]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 12px;box-shadow:var(--shadow-sm)}.card-top[data-v-4993555f]{display:flex;justify-content:space-between;margin-bottom:8px}.type-badge[data-v-4993555f]{font-size:11px;background:var(--brand-bg);color:var(--brand);padding:2px 8px;border-radius:6px}.status[data-v-4993555f]{font-size:11px;color:var(--text-muted)}.status.reviewed[data-v-4993555f]{color:#2ecc71}.status.submitted[data-v-4993555f]{color:var(--warning)}.title[data-v-4993555f]{font-size:15px;font-weight:600;margin-bottom:4px}.content[data-v-4993555f]{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:8px}.meta[data-v-4993555f]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted)}.media[data-v-4993555f]{margin-top:10px}.media audio[data-v-4993555f],.media video[data-v-4993555f]{width:100%}.img[data-v-4993555f]{width:100%;max-height:220px;object-fit:cover;border-radius:8px}.comment[data-v-4993555f]{margin-top:10px;padding:10px;border-radius:10px}.comment.ai[data-v-4993555f]{background:#f5f8ff}.comment.teacher[data-v-4993555f]{background:#f0fbf4}.c-label[data-v-4993555f]{font-size:12px;font-weight:600;margin-bottom:4px}.ai .c-label[data-v-4993555f]{color:var(--brand)}.teacher .c-label[data-v-4993555f]{color:#2ecc71}.c-text[data-v-4993555f]{font-size:13px;color:var(--text-secondary);line-height:1.6}.empty[data-v-4993555f]{text-align:center;color:var(--text-muted);padding:40px}.placeholder[data-v-4993555f]{height:60px}.page[data-v-5adb8572]{min-height:100vh;padding-bottom:80px}.child-bar[data-v-5adb8572]{display:flex;align-items:center;gap:8px;padding:12px 16px}.cb-avatar[data-v-5adb8572]{font-size:20px}.cb-name[data-v-5adb8572]{font-size:15px;font-weight:700}.cb-class[data-v-5adb8572]{font-size:11px;color:var(--brand);background:var(--brand-bg);padding:2px 8px;border-radius:6px}.hour-card[data-v-5adb8572]{margin:0 16px 16px;background:linear-gradient(135deg,var(--brand),var(--brand-light));border-radius:var(--radius);padding:20px;color:#fff}.hc-nums[data-v-5adb8572]{display:flex;justify-content:space-around;margin-bottom:16px}.hc-item[data-v-5adb8572]{text-align:center}.hc-num[data-v-5adb8572]{font-size:28px;font-weight:800}.hc-num.used[data-v-5adb8572]{color:#ffe08a}.hc-num.total[data-v-5adb8572]{opacity:.9}.hc-label[data-v-5adb8572]{font-size:11px;opacity:.9;margin-top:4px}.hc-bar[data-v-5adb8572]{height:8px;background:#ffffff4d;border-radius:4px;overflow:hidden}.hc-fill[data-v-5adb8572]{height:100%;background:#fff;border-radius:4px}.hc-tip[data-v-5adb8572]{margin-top:12px;font-size:12px;background:#fff3;padding:8px 12px;border-radius:8px}.section-title[data-v-5adb8572]{font-size:15px;font-weight:700;margin:0 16px 10px}.log[data-v-5adb8572]{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:12px 14px;margin:0 16px 8px;box-shadow:var(--shadow-sm)}.log-icon[data-v-5adb8572]{font-size:20px}.log-info[data-v-5adb8572]{flex:1}.log-title[data-v-5adb8572]{font-size:14px;font-weight:600}.log-time[data-v-5adb8572]{font-size:11px;color:var(--text-muted);margin-top:2px}.log-hours[data-v-5adb8572]{font-size:15px;font-weight:700;color:var(--warning)}.empty[data-v-5adb8572]{text-align:center;color:var(--text-muted);padding:40px}.placeholder[data-v-5adb8572]{height:60px}.page[data-v-2239324c]{min-height:100vh;padding-bottom:80px}.child-bar[data-v-2239324c]{display:flex;align-items:center;gap:8px;padding:12px 16px}.cb-avatar[data-v-2239324c]{font-size:20px}.cb-name[data-v-2239324c]{font-size:15px;font-weight:700}.stats[data-v-2239324c]{display:flex;margin:0 16px 12px;background:#fff;border-radius:var(--radius);padding:16px 0;box-shadow:var(--shadow-sm)}.stat[data-v-2239324c]{flex:1;text-align:center}.num[data-v-2239324c]{font-size:20px;font-weight:700;color:var(--brand)}.label[data-v-2239324c]{font-size:11px;color:var(--text-muted);margin-top:4px}.chart-card[data-v-2239324c]{margin:0 16px 12px;background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.chart-title[data-v-2239324c]{font-size:15px;font-weight:700;margin-bottom:14px}.chart[data-v-2239324c]{display:flex;align-items:flex-end;justify-content:space-around;height:160px}.bar-col[data-v-2239324c]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.bar-val[data-v-2239324c]{font-size:11px;color:var(--text-muted);margin-bottom:4px}.bar[data-v-2239324c]{width:22px;background:linear-gradient(180deg,var(--brand-light),var(--brand));border-radius:6px 6px 0 0;min-height:2px}.bar-label[data-v-2239324c]{font-size:12px;color:var(--text-muted);margin-top:6px}.card[data-v-2239324c]{margin:0 16px 12px;background:#fff;border-radius:var(--radius);padding:16px;box-shadow:var(--shadow-sm)}.assess[data-v-2239324c]{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border)}.assess[data-v-2239324c]:first-of-type{border-top:none}.a-level[data-v-2239324c]{font-size:13px;font-weight:700;color:var(--brand);background:var(--brand-bg);padding:2px 10px;border-radius:6px}.a-score[data-v-2239324c]{font-size:13px;color:var(--warning);font-weight:600}.a-time[data-v-2239324c]{margin-left:auto;font-size:11px;color:var(--text-muted)}.comment[data-v-2239324c]{padding:10px 0;border-top:1px solid var(--border)}.comment[data-v-2239324c]:first-of-type{border-top:none}.c-head[data-v-2239324c]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.c-teacher[data-v-2239324c]{font-size:13px;font-weight:600}.c-course[data-v-2239324c]{font-size:11px;color:var(--brand);background:var(--brand-bg);padding:1px 8px;border-radius:6px}.c-time[data-v-2239324c]{margin-left:auto;font-size:11px;color:var(--text-muted)}.c-text[data-v-2239324c]{font-size:13px;color:var(--text-secondary);line-height:1.6}.empty-small[data-v-2239324c]{text-align:center;color:var(--text-muted);padding:16px;font-size:13px}.placeholder[data-v-2239324c]{height:60px}.page[data-v-d44c8b6b]{min-height:100vh;padding-bottom:80px}.head[data-v-d44c8b6b]{display:flex;align-items:center;justify-content:space-between;background:#fff;margin:16px;padding:20px;border-radius:14px}.h-title[data-v-d44c8b6b]{font-size:18px;font-weight:700}.h-sub[data-v-d44c8b6b]{font-size:12px;color:#999;margin-top:6px}.unread-dot[data-v-d44c8b6b]{min-width:24px;height:24px;border-radius:12px;background:#ef4444;color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;padding:0 8px}.msg[data-v-d44c8b6b]{background:#fff;border-radius:var(--radius);padding:14px 16px;margin:0 16px 10px;display:flex;gap:12px;box-shadow:var(--shadow-sm);cursor:pointer}.msg.unread[data-v-d44c8b6b]{border-left:3px solid var(--brand)}.avatar[data-v-d44c8b6b]{width:40px;height:40px;background:var(--brand-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.info[data-v-d44c8b6b]{flex:1}.top[data-v-d44c8b6b]{display:flex;align-items:center;justify-content:space-between}.title[data-v-d44c8b6b]{font-size:14px;font-weight:600}.m-badge[data-v-d44c8b6b]{font-size:11px;color:#ef4444}.content[data-v-d44c8b6b]{font-size:13px;color:var(--text-secondary);margin-top:4px;line-height:1.5}.time[data-v-d44c8b6b]{font-size:11px;color:var(--text-muted);margin-top:6px}.read-all[data-v-d44c8b6b]{text-align:center;font-size:14px;color:#4a6cf7;padding:20px 0;cursor:pointer}.empty[data-v-d44c8b6b]{text-align:center;padding:80px 24px}.empty-icon[data-v-d44c8b6b]{font-size:56px}.empty-text[data-v-d44c8b6b]{font-size:16px;color:var(--text-muted);margin-top:12px}.placeholder[data-v-d44c8b6b]{height:60px}.mask[data-v-d44c8b6b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.dialog-box[data-v-d44c8b6b]{width:85%;max-width:380px;background:#fff;border-radius:16px;padding:24px}.d-title[data-v-d44c8b6b]{font-size:17px;font-weight:700;text-align:center}.d-content[data-v-d44c8b6b]{font-size:14px;color:#555;line-height:1.6;margin:16px 0;white-space:pre-wrap}.d-btn[data-v-d44c8b6b]{width:100%;padding:12px;background:#4a6cf7;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600}.page[data-v-f56f008f]{min-height:100vh;padding-bottom:80px}.profile[data-v-f56f008f]{background:linear-gradient(135deg,var(--brand),var(--brand-light));padding:36px 20px;display:flex;align-items:center;gap:16px;color:#fff}.avatar[data-v-f56f008f]{width:62px;height:62px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px}.name[data-v-f56f008f]{font-size:19px;font-weight:700}.role[data-v-f56f008f]{font-size:12px;opacity:.9;margin-top:4px}.section[data-v-f56f008f]{margin:16px}.section-title[data-v-f56f008f]{font-size:14px;font-weight:700;margin-bottom:10px}.kid[data-v-f56f008f]{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:12px 14px;margin-bottom:8px;box-shadow:var(--shadow-sm)}.kid.active[data-v-f56f008f]{border:1.5px solid var(--brand)}.kid-avatar[data-v-f56f008f]{font-size:22px}.kid-info[data-v-f56f008f]{flex:1}.kid-name[data-v-f56f008f]{font-size:14px;font-weight:600}.kid-meta[data-v-f56f008f]{font-size:11px;color:var(--text-muted);margin-top:2px}.kid-hours[data-v-f56f008f]{font-size:12px;color:#2ecc71;font-weight:600}.kid-check[data-v-f56f008f]{color:var(--brand);font-weight:700}.list[data-v-f56f008f]{margin:0 16px;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.item[data-v-f56f008f]{display:flex;justify-content:space-between;align-items:center;padding:15px 16px;border-bottom:1px solid var(--border);font-size:15px}.item[data-v-f56f008f]:last-child{border-bottom:none}.arrow[data-v-f56f008f]{color:var(--text-muted)}.logout[data-v-f56f008f]{display:block;width:calc(100% - 32px);margin:16px;padding:14px;background:#fff;color:var(--danger);border-radius:var(--radius);font-size:15px;font-weight:600;box-shadow:var(--shadow-sm)}.empty-small[data-v-f56f008f]{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.page[data-v-81151bfe]{min-height:100vh;background:#f7f8fc;padding-bottom:40px}.tabs[data-v-81151bfe]{display:flex;gap:8px;padding:12px 16px;background:#fff}.tab[data-v-81151bfe]{flex:1;text-align:center;padding:10px 0;border-radius:10px;font-size:14px;color:#6b7280;cursor:pointer}.tab.active[data-v-81151bfe]{background:#eef2ff;color:#4a6cf7;font-weight:600}.content[data-v-81151bfe]{background:#fff;margin-top:8px;padding:20px 16px}h1[data-v-81151bfe]{font-size:20px;font-weight:700;margin:0 0 8px}.updated[data-v-81151bfe]{font-size:12px;color:#999;margin-bottom:16px}h2[data-v-81151bfe]{font-size:15px;font-weight:700;margin:20px 0 8px}p[data-v-81151bfe]{font-size:13px;color:#4b5563;line-height:1.85;margin:0 0 8px}.placeholder[data-v-81151bfe]{height:20px}
