.bottom-tab[data-v-6c8a00c9]{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:var(--tt-surface);border-top:1px solid var(--tt-line);padding-bottom:env(safe-area-inset-bottom);z-index:100}.tab[data-v-6c8a00c9]{display:grid;justify-items:center;gap:2px;padding:8px 0 6px;color:var(--tt-muted);text-decoration:none;font-size:12px;min-height:56px}.tab.active[data-v-6c8a00c9]{color:var(--tt-accent)}.icon-wrap[data-v-6c8a00c9]{position:relative;display:inline-flex}.dot[data-v-6c8a00c9]{position:absolute;top:-4px;right:-10px;background:var(--tt-danger);color:var(--tt-surface);border-radius:10px;padding:0 5px;font-size:10px;line-height:14px;font-style:normal;min-width:14px;text-align:center}.child-switcher[data-v-b3754048]{position:relative}.switcher-trigger[data-v-b3754048]{display:inline-flex;align-items:center;gap:4px;font-size:13px;min-height:32px;padding:6px 12px;background:var(--tt-accent-soft);color:var(--tt-accent-dark);border:0;border-radius:8px;cursor:pointer;max-width:110px;white-space:nowrap}.switcher-trigger span[data-v-b3754048]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switcher-trigger svg[data-v-b3754048]{flex-shrink:0;transition:transform .15s}.switcher-trigger svg.open[data-v-b3754048]{transform:rotate(180deg)}.switcher-overlay[data-v-b3754048]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:199;background:transparent}.switcher-dropdown[data-v-b3754048]{position:fixed;z-index:200;background:var(--tt-surface);border:1px solid var(--tt-line);border-radius:8px;box-shadow:0 4px 16px var(--tt-shadow);min-width:140px;max-height:240px;overflow-y:auto}.switcher-dropdown button[data-v-b3754048]{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;border:0;border-radius:0;background:transparent;color:var(--tt-ink);font-size:14px;text-align:left;cursor:pointer;min-height:40px}.switcher-dropdown button[data-v-b3754048]:hover,.switcher-dropdown button.active[data-v-b3754048]{background:var(--tt-paper)}.check[data-v-b3754048]{color:var(--tt-accent);font-weight:700;font-size:16px}.app-shell.with-tab{padding-bottom:64px}.sms-row[data-v-8db1f701]{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px}.ghost[data-v-8db1f701]{background:var(--tt-accent-soft);color:var(--tt-accent-dark);border:1px solid var(--tt-line)}.link-btn[data-v-8db1f701]{border:0;background:transparent;color:var(--tt-accent-dark);padding:0;margin-left:10px}.sms-row[data-v-668aa702]{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:8px}.ghost[data-v-668aa702]{background:var(--tt-accent-soft);color:var(--tt-accent-dark);border:1px solid var(--tt-line)}.phone-tip[data-v-668aa702]{color:var(--tt-muted);font-size:12px;font-weight:400;line-height:1.45}.editor-mask[data-v-67b6fa36]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;background:#0e1714b8;padding:16px;display:grid;align-items:center}.editor-dialog[data-v-67b6fa36]{width:min(720px,100%);max-height:calc(100vh - 32px);margin:0 auto;background:var(--tt-surface, #fffdf8);color:var(--tt-ink, #20332e);border:1px solid var(--tt-line, #dbe5dc);border-radius:18px;box-shadow:var(--tt-shadow, 0 18px 46px rgba(39, 63, 54, .18));padding:16px;display:grid;gap:14px}.editor-head[data-v-67b6fa36]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.editor-head-actions[data-v-67b6fa36]{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.editor-head-actions button[data-v-67b6fa36]{min-width:68px}.editor-dialog button[data-v-67b6fa36]{min-height:38px;padding:8px 12px;border:1px solid var(--tt-accent, var(--tt-green, #2f6c5b));border-radius:6px;background:var(--tt-accent, var(--tt-green, #2f6c5b));color:var(--tt-on-accent, #fffdf8);font:inherit;cursor:pointer}.editor-dialog button[data-v-67b6fa36]:disabled{opacity:.55;cursor:not-allowed}.editor-head strong[data-v-67b6fa36]{display:block;margin-bottom:4px;font-size:16px!important}.editor-head p[data-v-67b6fa36]{margin:0;color:var(--tt-muted, #7e8d86);line-height:1.5}.ghost-btn[data-v-67b6fa36]{background:var(--tt-surface-soft, #fafbf6);color:var(--tt-ink, #20332e);border:1px solid var(--tt-line, #dbe5dc)}.ghost-btn.active[data-v-67b6fa36]{background:var(--tt-accent-soft, var(--tt-green-soft, #e6f0e8));color:var(--tt-accent-dark, var(--tt-green-dark, #20493f));border-color:var(--tt-accent, var(--tt-green, #2f6c5b))}.editor-stage[data-v-67b6fa36]{position:relative;width:100%;min-height:min(54vh,440px);border-radius:16px;overflow:hidden;background:linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(45deg,rgba(255,255,255,.03) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.03) 75%),linear-gradient(180deg,#243630,#101a17);background-size:18px 18px,18px 18px,cover;background-position:0 0,9px 9px,center;touch-action:none}.editor-image[data-v-67b6fa36]{position:absolute;left:50%;top:50%;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:none}.editor-shade[data-v-67b6fa36]{position:absolute;background:#070c0b94;pointer-events:none}.crop-frame[data-v-67b6fa36]{position:absolute;border:2px solid rgba(255,255,255,.94);border-radius:18px;box-shadow:0 0 0 1px #00000024;touch-action:none;cursor:move}.crop-grid[data-v-67b6fa36]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(to right,transparent 33.333%,rgba(255,255,255,.22) 33.333%,rgba(255,255,255,.22) 34%,transparent 34%,transparent 66.666%,rgba(255,255,255,.22) 66.666%,rgba(255,255,255,.22) 67%,transparent 67%),linear-gradient(to bottom,transparent 33.333%,rgba(255,255,255,.22) 33.333%,rgba(255,255,255,.22) 34%,transparent 34%,transparent 66.666%,rgba(255,255,255,.22) 66.666%,rgba(255,255,255,.22) 67%,transparent 67%);pointer-events:none}.resize-handle[data-v-67b6fa36],.edge-handle[data-v-67b6fa36]{position:absolute;display:grid;place-items:center;border:0;background:transparent;padding:0;min-height:0}.resize-handle[data-v-67b6fa36]:after,.edge-handle[data-v-67b6fa36]:after{content:"";display:block;box-sizing:border-box;border:2px solid rgba(255,255,255,.96);background:#20332eeb}.resize-handle[data-v-67b6fa36]{width:38px;height:38px;border-radius:50%;cursor:nwse-resize}.resize-handle[data-v-67b6fa36]:after{width:16px;height:16px;border-radius:50%}.resize-handle.nw[data-v-67b6fa36]{left:0;top:0;transform:translate(-50%,-50%)}.resize-handle.ne[data-v-67b6fa36]{right:0;top:0;transform:translate(50%,-50%);cursor:nesw-resize}.resize-handle.sw[data-v-67b6fa36]{left:0;bottom:0;transform:translate(-50%,50%);cursor:nesw-resize}.resize-handle.se[data-v-67b6fa36]{right:0;bottom:0;transform:translate(50%,50%)}.edge-handle[data-v-67b6fa36]{border-radius:999px}.edge-handle[data-v-67b6fa36]:after{border-radius:999px}.edge-handle.n[data-v-67b6fa36],.edge-handle.s[data-v-67b6fa36]{left:50%;width:44px;height:32px;transform:translate(-50%);cursor:ns-resize}.edge-handle.n[data-v-67b6fa36]:after,.edge-handle.s[data-v-67b6fa36]:after{width:24px;height:8px}.edge-handle.n[data-v-67b6fa36]{top:-16px}.edge-handle.s[data-v-67b6fa36]{bottom:-16px}.edge-handle.e[data-v-67b6fa36],.edge-handle.w[data-v-67b6fa36]{top:50%;width:32px;height:44px;transform:translateY(-50%);cursor:ew-resize}.edge-handle.e[data-v-67b6fa36]:after,.edge-handle.w[data-v-67b6fa36]:after{width:8px;height:24px}.edge-handle.e[data-v-67b6fa36]{right:-16px}.edge-handle.w[data-v-67b6fa36]{left:-16px}.editor-loading[data-v-67b6fa36]{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#ffffffdb}.editor-controls[data-v-67b6fa36]{display:grid;gap:12px}.zoom-control[data-v-67b6fa36]{display:grid;gap:8px}.zoom-control span[data-v-67b6fa36]{color:var(--tt-muted, #7e8d86)}.aspect-row[data-v-67b6fa36],.tool-row[data-v-67b6fa36]{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:520px){.editor-mask[data-v-67b6fa36]{padding:0}.editor-dialog[data-v-67b6fa36]{width:100%;max-height:100vh;min-height:100vh;border-radius:0;padding:14px}.editor-stage[data-v-67b6fa36]{min-height:48vh}.editor-head[data-v-67b6fa36]{align-items:stretch;flex-direction:column}.editor-head-actions[data-v-67b6fa36]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.editor-head-actions button[data-v-67b6fa36]{width:100%;min-width:0}}.mobile-page[data-v-25a17847]{min-height:100vh;background:var(--tt-paper);color:var(--tt-ink);padding:18px 18px 40px}h1[data-v-25a17847]{margin:0 0 6px;font-size:24px}h2[data-v-25a17847]{margin:0 0 10px;font-size:18px}p[data-v-25a17847]{margin:0;color:var(--tt-muted)}section[data-v-25a17847]{background:var(--tt-surface);border:1px solid var(--tt-line);border-radius:8px;padding:14px;margin-top:14px;display:grid;gap:12px}label[data-v-25a17847]{display:grid;gap:6px;color:var(--tt-muted)}input[data-v-25a17847],select[data-v-25a17847]{border:1px solid var(--tt-line);border-radius:6px;padding:10px}button[data-v-25a17847]{border:0;background:var(--tt-accent);color:var(--tt-surface);border-radius:8px;padding:12px;cursor:pointer}button[data-v-25a17847]:disabled{background:var(--tt-muted);cursor:not-allowed}.choice-grid[data-v-25a17847]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.choice-btn[data-v-25a17847]{background:var(--tt-surface);color:var(--tt-ink);border:1px solid var(--tt-line);min-height:44px}.choice-btn.active[data-v-25a17847]{background:var(--tt-accent-soft);color:var(--tt-accent-dark);border-color:var(--tt-accent);font-weight:700}.hidden-input[data-v-25a17847]{display:none}.upload-entry-grid[data-v-25a17847]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.upload-entry[data-v-25a17847]{display:grid;gap:4px;text-align:left;min-height:78px;align-content:center}.upload-entry strong[data-v-25a17847]{font-size:16px}.upload-entry span[data-v-25a17847]{color:var(--tt-on-accent);font-size:12px;line-height:1.4;opacity:.86}.upload-entry.secondary[data-v-25a17847]{background:var(--tt-surface);color:var(--tt-ink);border:1px solid var(--tt-line)}.upload-entry.secondary span[data-v-25a17847]{color:var(--tt-muted)}.preview-section[data-v-25a17847]{gap:10px}.preview-grid[data-v-25a17847]{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.preview-item[data-v-25a17847]{border:1px solid var(--tt-line);border-radius:6px;overflow:hidden;display:grid;grid-template-columns:88px minmax(0,1fr);min-height:88px;background:var(--tt-surface)}.preview-thumb-button[data-v-25a17847]{position:relative;width:88px;min-height:88px;padding:0;border-radius:0;overflow:hidden;background:var(--tt-surface-soft)}.preview-thumb-button img[data-v-25a17847]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.preview-thumb-button span[data-v-25a17847]{position:absolute;right:4px;bottom:4px;border-radius:4px;padding:3px 6px;background:#000000a8;color:#fff;font-size:11px;line-height:1.2}.file-thumb[data-v-25a17847]{display:grid;place-items:center;width:88px;min-height:88px;background:var(--tt-accent-soft);color:var(--tt-accent-dark);font-weight:800}.preview-content[data-v-25a17847]{min-width:0;display:grid;align-content:space-between;gap:8px;padding:10px}.preview-item .file-info[data-v-25a17847]{min-width:0;font-size:12px}.preview-item .file-info strong[data-v-25a17847]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-item .file-info span[data-v-25a17847]{color:var(--tt-muted)}.preview-tools[data-v-25a17847]{display:flex;gap:6px;padding:0}.preview-tools button[data-v-25a17847]{min-height:34px;padding:7px 10px;font-size:12px;white-space:nowrap}.preview-edit-button[data-v-25a17847]{flex:1}.preview-remove-button[data-v-25a17847]{background:var(--tt-surface);color:var(--tt-danger);border:1px solid var(--tt-danger-line)}.error[data-v-25a17847]{margin-top:12px;background:var(--tt-danger-soft);border:1px solid var(--tt-danger-line);border-radius:8px;padding:10px 12px;color:var(--tt-danger)}.success[data-v-25a17847]{margin-top:12px;background:var(--tt-success-soft);border:1px solid var(--tt-success-line);border-radius:8px;padding:10px 12px;color:var(--tt-success)}.session-badge[data-v-25a17847]{width:max-content;margin:0;border-radius:999px;background:var(--tt-success-soft);color:var(--tt-success);padding:4px 10px;font-size:13px;font-weight:700}.session-panel p[data-v-25a17847]{color:var(--tt-danger);line-height:1.6}.chat-upload-panel[data-v-25a17847]{text-align:center}.chat-upload-panel p[data-v-25a17847]{line-height:1.6}.chat-upload-actions[data-v-25a17847]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chat-preview-card[data-v-25a17847]{display:grid;gap:10px}.chat-preview-tools[data-v-25a17847]{display:grid;padding:0}.chat-upload-preview[data-v-25a17847]{width:100%;max-height:52vh;object-fit:contain;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft)}.chat-upload-submit[data-v-25a17847]{width:100%}.chat-upload-tip[data-v-25a17847]{color:var(--tt-muted);font-size:12px}@media(max-width:420px){.upload-entry-grid[data-v-25a17847]{grid-template-columns:1fr}}.hero[data-v-33620495]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 0 4px}.hero>div[data-v-33620495]{min-width:0}.hero h1[data-v-33620495]{margin:0 0 4px;font-size:22px}.hero p[data-v-33620495]{margin:0;color:var(--tt-muted)}.hero-child[data-v-33620495]{width:auto;max-width:136px;min-height:36px;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:4px 9px 4px 4px;border:1px solid var(--tt-line);border-radius:999px;background:var(--tt-surface);color:var(--tt-ink);font-weight:700;font-size:13px}.hero-child span[data-v-33620495]:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-child .student-avatar[data-v-33620495]{width:28px;height:28px}section[data-v-33620495]{display:grid;gap:12px}.student-avatar[data-v-33620495]{display:grid;place-items:center;overflow:hidden;width:28px;height:28px;border-radius:50%;background:var(--tt-accent-soft);color:var(--tt-accent);font-weight:700;flex-shrink:0}.student-avatar img[data-v-33620495]{display:block;width:100%;height:100%;object-fit:cover}.student-avatar em[data-v-33620495]{font-style:normal;line-height:1}.entry[data-v-33620495]{display:grid;gap:4px;padding:14px;border-radius:10px;background:var(--tt-surface);border:1px solid var(--tt-line);color:var(--tt-ink);text-align:left;text-decoration:none;min-height:64px}.entry strong[data-v-33620495]{font-size:15px}.entry span[data-v-33620495]{color:var(--tt-muted);font-size:12px}.entry.primary[data-v-33620495]{background:linear-gradient(135deg,var(--tt-accent),var(--tt-accent));color:var(--tt-surface);border-color:transparent;justify-items:center;text-align:center}.empty-actions[data-v-33620495]{display:grid;gap:10px}.student-picker-mask[data-v-33620495]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:flex-end;justify-content:center;background:#0f172a52}.student-picker[data-v-33620495]{width:min(100%,430px);display:grid;gap:12px;padding:16px;border-radius:16px 16px 0 0;background:var(--tt-surface);box-shadow:0 -10px 30px #0f172a29}.student-picker-head[data-v-33620495]{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-picker-head h2[data-v-33620495]{margin:0;font-size:18px}.student-picker-close[data-v-33620495]{width:auto;min-height:32px;padding:6px 10px;border:0;background:var(--tt-line-soft);color:var(--tt-muted);border-radius:8px;font-size:13px}.student-picker-list[data-v-33620495]{display:grid;gap:8px}.student-picker-list button[data-v-33620495]{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-ink);text-align:left}.student-picker-list button.active[data-v-33620495]{border-color:var(--tt-accent);background:var(--tt-accent-soft)}.student-picker-name[data-v-33620495]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700}.student-picker-check[data-v-33620495]{flex-shrink:0;color:var(--tt-accent);font-size:13px;font-weight:700}.student-picker-manage[data-v-33620495]{display:block;padding:11px;border-radius:8px;background:var(--tt-surface-soft);color:var(--tt-accent);text-align:center;text-decoration:none;font-weight:700}.head[data-v-33620495]{display:flex;justify-content:space-between;align-items:center}.head h2[data-v-33620495]{margin:0}.more[data-v-33620495]{color:var(--tt-accent);font-size:13px;text-decoration:none}ul[data-v-33620495]{list-style:none;padding:0;margin:0;display:grid;gap:10px}ul li[data-v-33620495]{display:grid;gap:4px;padding-bottom:8px;border-bottom:1px solid var(--tt-line-soft)}ul li[data-v-33620495]:last-child{border-bottom:0}.empty[data-v-33620495]{color:var(--tt-muted)}.empty-card[data-v-33620495]{display:grid;gap:12px;background:var(--tt-surface);border:1px dashed var(--tt-line);border-radius:10px;padding:16px}.brief-card[data-v-33620495]{display:grid;gap:12px;padding:16px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.brief-card.tone-need_attention[data-v-33620495]{border-color:var(--tt-warning-line)}.brief-head[data-v-33620495]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.brief-head div[data-v-33620495]{display:grid;gap:4px;min-width:0}.brief-head span[data-v-33620495]{color:var(--tt-muted);font-size:13px}.brief-head strong[data-v-33620495]{font-size:20px;line-height:1.35}.brief-head small[data-v-33620495]{color:var(--tt-muted);font-size:12px}.brief-card p[data-v-33620495]{margin:0;color:var(--tt-muted);line-height:1.7}.brief-focus[data-v-33620495]{display:grid;gap:4px;padding:12px;background:var(--tt-accent-soft);border-radius:8px}.brief-focus strong[data-v-33620495]{color:var(--tt-accent-dark)}.brief-focus span[data-v-33620495]{color:var(--tt-muted);line-height:1.6}.status-pill[data-v-33620495]{flex-shrink:0;padding:4px 8px;border-radius:999px;background:var(--tt-accent-soft);color:var(--tt-accent);font-size:12px;font-style:normal}.status-pill.need_attention[data-v-33620495]{background:var(--tt-danger-soft);color:var(--tt-danger)}.status-pill.active[data-v-33620495]{background:var(--tt-success-soft);color:var(--tt-success)}.status-pill.unfinished[data-v-33620495]{background:var(--tt-warning-soft);color:var(--tt-warning)}.daily-card[data-v-33620495]{display:grid;gap:10px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.daily-head[data-v-33620495]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.daily-head>div[data-v-33620495]:first-child{display:grid;gap:2px;min-width:0}.daily-head span[data-v-33620495]{color:var(--tt-muted);font-size:13px}.daily-head strong[data-v-33620495]{overflow:hidden;font-size:16px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.daily-head small[data-v-33620495]{overflow:hidden;color:var(--tt-muted);font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.daily-actions[data-v-33620495]{display:flex;align-items:center;gap:6px;flex-shrink:0}.daily-actions button[data-v-33620495]{min-width:44px;min-height:28px;padding:0 8px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-accent-dark);font-size:12px;font-weight:700}.daily-actions button[data-v-33620495]:disabled{color:var(--tt-muted);background:var(--tt-line-soft)}.daily-card p[data-v-33620495]{margin:0;color:var(--tt-muted);line-height:1.55}.date-tabs[data-v-33620495]{display:grid;grid-auto-flow:column;grid-auto-columns:58px;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;-webkit-overflow-scrolling:touch}.date-tabs button[data-v-33620495]{min-width:58px;min-height:50px;display:grid;gap:3px;justify-items:center;align-content:center;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft);color:var(--tt-muted)}.date-tabs button.active[data-v-33620495]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark);box-shadow:inset 0 -2px 0 var(--tt-accent)}.date-tabs span[data-v-33620495]{font-size:12px;line-height:1.2;white-space:nowrap}.date-tabs strong[data-v-33620495]{font-size:15px;line-height:1.2}.daily-summary[data-v-33620495]{display:-webkit-box;overflow:hidden;font-size:13px;-webkit-box-orient:vertical;-webkit-line-clamp:2}.daily-modules[data-v-33620495]{display:grid;gap:6px}.daily-modules article[data-v-33620495]{display:grid;grid-template-columns:minmax(70px,.72fr) minmax(174px,1.55fr);align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--tt-line-soft);border-radius:8px;background:var(--tt-surface)}.daily-module-copy[data-v-33620495]{min-width:0}.daily-module-copy strong[data-v-33620495]{display:block;overflow:hidden;font-size:14px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.daily-module-copy span[data-v-33620495]{color:var(--tt-muted);font-size:12px;line-height:1.5}.daily-module-stats[data-v-33620495]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0}.daily-module-stats span[data-v-33620495]{display:grid;gap:1px;min-width:0;align-content:center;padding:3px 2px;border-radius:6px;background:var(--tt-surface-soft);text-align:center}.daily-module-stats strong[data-v-33620495]{overflow:hidden;color:var(--tt-ink);font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.daily-module-stats em[data-v-33620495]{color:var(--tt-muted);font-size:10px;font-style:normal;line-height:1.2;white-space:nowrap}.daily-follow[data-v-33620495]{gap:2px;padding:8px 10px}.daily-follow span[data-v-33620495]{display:-webkit-box;overflow:hidden;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.daily-detail-link[data-v-33620495]{width:100%;min-height:34px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-accent-dark);font-weight:700;font-size:13px}.module-grid[data-v-33620495]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:transparent;border:0;padding:0}.module-entry[data-v-33620495]{display:grid;gap:4px;min-height:64px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-ink);text-decoration:none}.module-entry[data-v-33620495]:last-child:nth-child(odd){grid-column:1 / -1}.module-entry span[data-v-33620495]{color:var(--tt-muted)}.report-card[data-v-999acb32]{display:grid;gap:12px;border:1px solid var(--tt-accent-soft);border-radius:10px;background:var(--tt-surface-soft)}.report-hero[data-v-999acb32]{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:12px;align-items:center}.report-hero span[data-v-999acb32]{color:var(--tt-muted);font-size:12px}.report-hero h2[data-v-999acb32]{margin:4px 0;color:var(--tt-ink)}.report-hero p[data-v-999acb32]{margin:0;color:var(--tt-muted);line-height:1.6}.report-hero>strong[data-v-999acb32]{width:60px;height:60px;display:grid;place-items:center;border-radius:999px;background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.report-grid[data-v-999acb32]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.report-grid div[data-v-999acb32]{display:grid;gap:3px;padding:8px;border-radius:8px;background:var(--tt-surface)}.report-grid span[data-v-999acb32]{color:var(--tt-muted);font-size:12px}.report-grid strong[data-v-999acb32]{color:var(--tt-ink);font-size:14px;overflow-wrap:anywhere}.weak-points[data-v-999acb32]{display:grid;gap:8px;padding-top:2px}.weak-points-head[data-v-999acb32]{display:flex;align-items:center;justify-content:space-between;gap:12px}.weak-points-head>strong[data-v-999acb32]{color:var(--tt-ink);font-size:14px}.weak-points-head a[data-v-999acb32]{color:var(--tt-accent-dark);font-weight:700;text-decoration:none}.weak-point-list[data-v-999acb32]{list-style:none;display:grid;gap:8px;margin:0;padding:0}.weak-point-list li[data-v-999acb32]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:62px;padding:10px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.weak-point-copy[data-v-999acb32]{display:grid;gap:3px;min-width:0}.weak-point-copy strong[data-v-999acb32]{color:var(--tt-ink);line-height:1.45;overflow-wrap:anywhere}.weak-point-copy span[data-v-999acb32]{color:var(--tt-muted)}.pending-code[data-v-999acb32]{max-width:92px;color:var(--tt-muted);line-height:1.4;text-align:right}.assign-course-button[data-v-999acb32],.assignment-status-link[data-v-999acb32]{display:inline-grid;place-items:center;min-height:34px;border-radius:6px;padding:7px 10px;font-weight:700;white-space:nowrap}.assign-course-button[data-v-999acb32]{background:var(--tt-accent);color:var(--tt-on-accent)}.assignment-status-link[data-v-999acb32]{background:var(--tt-accent-soft);color:var(--tt-accent-dark);text-decoration:none}.assignment-status-link[data-tone=completed][data-v-999acb32]{background:#e4f2e9;color:#22643e}.assignment-status-link[data-tone=warning][data-v-999acb32]{background:#fff0d8;color:#87551a}.assignment-status-link[data-tone=error][data-v-999acb32]{background:#fbe7e4;color:var(--tt-danger)}.assignment-message[data-v-999acb32]{margin:0;border-radius:6px;padding:9px 10px;background:#e4f2e9;color:#22643e;line-height:1.5}.parent-focus[data-v-999acb32]{display:grid;gap:4px;padding:10px;border-radius:8px;background:var(--tt-accent-soft)}.parent-focus strong[data-v-999acb32]{color:var(--tt-accent-dark)}.parent-focus p[data-v-999acb32]{margin:0;color:var(--tt-muted);line-height:1.6}.report-actions[data-v-999acb32]{list-style:none;padding:0;margin:0;display:grid;gap:8px}.report-actions li[data-v-999acb32]{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:start}.report-actions span[data-v-999acb32]{width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:var(--tt-surface);color:var(--tt-accent-dark);font-weight:700}.report-actions p[data-v-999acb32]{margin:0;color:var(--tt-muted);line-height:1.6}.report-actions p strong[data-v-999acb32]{margin-right:6px;color:var(--tt-ink)}.assignment-mask[data-v-999acb32]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:flex-end;justify-content:center;background:#121d246b}.assignment-panel[data-v-999acb32]{width:min(100%,480px);max-height:min(88vh,760px);display:grid;gap:14px;overflow-y:auto;border-radius:8px 8px 0 0;padding:18px;background:var(--tt-surface);box-shadow:0 -14px 36px #121d242e}.assignment-panel-head[data-v-999acb32]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assignment-panel-head>div[data-v-999acb32]{min-width:0}.assignment-panel-head span[data-v-999acb32]{color:var(--tt-accent-dark);font-size:12px;font-weight:700}.assignment-panel-head h2[data-v-999acb32]{margin:4px 0 0;color:var(--tt-ink);font-size:18px;line-height:1.4;overflow-wrap:anywhere}.panel-close[data-v-999acb32]{flex:0 0 auto;min-height:32px;padding:6px 9px;background:var(--tt-line-soft);color:var(--tt-muted)}.assignment-evidence[data-v-999acb32]{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px}.assignment-evidence div[data-v-999acb32]{display:grid;gap:3px;border:1px solid var(--tt-line);border-radius:8px;padding:9px}.assignment-evidence span[data-v-999acb32]{color:var(--tt-muted);font-size:12px}.assignment-evidence strong[data-v-999acb32]{color:var(--tt-ink);line-height:1.45;overflow-wrap:anywhere}.field-group[data-v-999acb32]{display:grid;gap:7px;color:var(--tt-ink);font-weight:700}.field-group>span[data-v-999acb32]{display:flex;justify-content:space-between;gap:8px}.field-group em[data-v-999acb32]{color:var(--tt-muted);font-style:normal;font-weight:400}.field-group textarea[data-v-999acb32]{min-height:66px;resize:vertical;line-height:1.5;font-weight:400}.field-group input[data-v-999acb32]{font-weight:400}.field-group small[data-v-999acb32]{justify-self:end;color:var(--tt-muted);font-weight:400}.duration-options[data-v-999acb32]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.due-options[data-v-999acb32]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.duration-options button[data-v-999acb32],.due-options button[data-v-999acb32]{min-height:36px;border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-muted)}.duration-options button.active[data-v-999acb32],.due-options button.active[data-v-999acb32]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.assignment-panel-error[data-v-999acb32]{margin:0;border-radius:6px;padding:9px 10px;background:#fff4f2;line-height:1.5}.submit-assignment[data-v-999acb32]{width:100%;min-height:44px;font-weight:700}.assignments-page[data-v-297f0c27]{display:grid;gap:12px}.assignment-overview[data-v-297f0c27]{display:grid;gap:14px;border-color:var(--tt-accent-soft)}.overview-head[data-v-297f0c27]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.overview-head>div[data-v-297f0c27]{min-width:0}.overview-head span[data-v-297f0c27]{color:var(--tt-accent-dark);font-weight:700}.overview-head h2[data-v-297f0c27]{margin:3px 0;color:var(--tt-ink)}.overview-head p[data-v-297f0c27]{margin:0;color:var(--tt-muted);line-height:1.5}.overview-actions[data-v-297f0c27]{display:flex;flex:0 0 auto;align-items:center;gap:8px}.create-button[data-v-297f0c27]{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:34px;padding:7px 12px;background:var(--tt-accent);color:var(--tt-on-accent);font-weight:700}.create-button span[data-v-297f0c27]{color:inherit;font-size:18px;line-height:1}.refresh-button[data-v-297f0c27]{flex:0 0 auto;min-height:34px;padding:7px 12px}.overview-stats[data-v-297f0c27]{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--tt-line);padding-top:12px}.overview-stats div[data-v-297f0c27]{display:grid;gap:2px;text-align:center}.overview-stats div+div[data-v-297f0c27]{border-left:1px solid var(--tt-line)}.overview-stats strong[data-v-297f0c27]{color:var(--tt-ink);font-size:18px!important}.overview-stats span[data-v-297f0c27]{color:var(--tt-muted)}.assignment-list-section[data-v-297f0c27]{display:grid;gap:12px;padding:0!important;border:0!important;background:transparent!important}.creation-message[data-v-297f0c27]{margin:0;border-radius:6px;padding:9px 10px;background:#e4f2e9;color:#22643e;line-height:1.5}.status-filters[data-v-297f0c27]{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.status-filters button[data-v-297f0c27]{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:34px;border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-muted)}.status-filters button.active[data-v-297f0c27]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.status-filters em[data-v-297f0c27]{font-style:normal;font-weight:700}.assignment-list[data-v-297f0c27]{display:grid;gap:10px}.assignment-card[data-v-297f0c27]{display:grid;gap:9px;min-height:166px;padding:14px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:inherit;text-decoration:none}.assignment-card[data-v-297f0c27]:active{border-color:var(--tt-accent);background:var(--tt-surface-soft)}.assignment-card-head[data-v-297f0c27],.assignment-card-foot[data-v-297f0c27],.assignment-meta[data-v-297f0c27]{display:flex;align-items:center;justify-content:space-between;gap:10px}.subject-label[data-v-297f0c27]{color:var(--tt-muted);font-weight:700}.status-label[data-v-297f0c27]{flex:0 0 auto;border-radius:4px;padding:4px 7px;font-weight:700}.status-label[data-tone=waiting][data-v-297f0c27],.status-label[data-tone=muted][data-v-297f0c27]{background:var(--tt-line-soft);color:var(--tt-muted)}.status-label[data-tone=running][data-v-297f0c27],.status-label[data-tone=ready][data-v-297f0c27]{background:#e7f0f6;color:#285c78}.status-label[data-tone=completed][data-v-297f0c27]{background:#e4f2e9;color:#22643e}.status-label[data-tone=warning][data-v-297f0c27]{background:#fff0d8;color:#87551a}.status-label[data-tone=error][data-v-297f0c27]{background:#fbe7e4;color:var(--tt-danger)}.assignment-title[data-v-297f0c27]{color:var(--tt-ink);line-height:1.45;overflow-wrap:anywhere}.assignment-card>p[data-v-297f0c27]{margin:0;color:var(--tt-muted);line-height:1.55}.assignment-meta[data-v-297f0c27]{justify-content:flex-start;flex-wrap:wrap;color:var(--tt-muted)}.assignment-meta span+span[data-v-297f0c27]:before{margin-right:8px;color:var(--tt-line);content:"|"}.assignment-meta .overdue[data-v-297f0c27]{color:var(--tt-danger);font-weight:700}.assignment-card-foot[data-v-297f0c27]{margin-top:auto;border-top:1px solid var(--tt-line-soft);padding-top:9px}.assignment-card-foot span[data-v-297f0c27]{min-width:0;overflow:hidden;color:var(--tt-muted);text-overflow:ellipsis;white-space:nowrap}.assignment-card-foot b[data-v-297f0c27]{flex:0 0 auto;color:var(--tt-accent-dark)}.list-state[data-v-297f0c27],.empty-state[data-v-297f0c27]{margin:0;padding:24px 16px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);text-align:center}.empty-state[data-v-297f0c27]{display:grid;gap:8px}.empty-state p[data-v-297f0c27]{margin:0;color:var(--tt-muted);line-height:1.6}.empty-state a[data-v-297f0c27]{color:var(--tt-accent-dark);font-weight:700;text-decoration:none}.custom-course-mask[data-v-297f0c27]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:flex-end;justify-content:center;background:#121d246b}.custom-course-panel[data-v-297f0c27]{width:min(100%,480px);max-height:min(92vh,820px);display:grid;gap:14px;overflow-y:auto;overscroll-behavior:contain;border-radius:8px 8px 0 0;padding:18px 18px max(18px,env(safe-area-inset-bottom));background:var(--tt-surface);box-shadow:0 -14px 36px #121d242e}.custom-course-head[data-v-297f0c27]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.custom-course-head>div[data-v-297f0c27]{min-width:0}.custom-course-head span[data-v-297f0c27]{color:var(--tt-accent-dark);font-size:12px;font-weight:700}.custom-course-head h2[data-v-297f0c27]{margin:4px 0 0;color:var(--tt-ink);font-size:18px;line-height:1.4}.panel-close[data-v-297f0c27]{flex:0 0 auto;min-width:34px;min-height:34px;padding:6px;background:var(--tt-line-soft);color:var(--tt-muted);font-size:20px;line-height:1}.field-group[data-v-297f0c27]{display:grid;gap:7px;color:var(--tt-ink);font-weight:700}.field-group>span[data-v-297f0c27]{display:flex;justify-content:space-between;gap:8px}.field-group em[data-v-297f0c27]{color:var(--tt-muted);font-style:normal;font-weight:400}.field-group select[data-v-297f0c27],.field-group input[data-v-297f0c27],.field-group textarea[data-v-297f0c27]{width:100%;min-width:0;font-weight:400}.field-group textarea[data-v-297f0c27]{min-height:66px;resize:vertical;line-height:1.5}.field-group small[data-v-297f0c27]{justify-self:end;color:var(--tt-muted);font-weight:400}.subject-picker[data-v-297f0c27]{display:grid;gap:5px;width:100%;min-width:0}.subject-picker-trigger[data-v-297f0c27]{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;min-height:42px;border:1px solid var(--tt-line);border-radius:8px;padding:9px 38px 9px 12px;background:var(--tt-surface);color:var(--tt-ink);text-align:left;font-weight:400}.subject-picker-trigger[data-v-297f0c27]:after{position:absolute;right:14px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;content:"";transform:translateY(-2px) rotate(45deg);transition:transform .16s ease}.subject-picker.open .subject-picker-trigger[data-v-297f0c27]{border-color:var(--tt-accent);box-shadow:0 0 0 2px var(--tt-accent-soft)}.subject-picker.open .subject-picker-trigger[data-v-297f0c27]:after{transform:translateY(2px) rotate(225deg)}.subject-picker-options[data-v-297f0c27]{display:grid;gap:2px;width:100%;max-width:100%;max-height:220px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--tt-line);border-radius:8px;padding:4px;background:var(--tt-surface);box-shadow:0 8px 22px #121d241f}.subject-picker-option[data-v-297f0c27]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;min-height:40px;border:0;border-radius:6px;padding:9px 10px;background:transparent;color:var(--tt-ink);text-align:left;font-weight:400}.subject-picker-option span[data-v-297f0c27]{min-width:0;overflow-wrap:anywhere}.subject-picker-option.active[data-v-297f0c27]{background:var(--tt-accent-soft);color:var(--tt-accent-dark);font-weight:700}.subject-picker-option b[data-v-297f0c27]{color:var(--tt-accent-dark)}.knowledge-search[data-v-297f0c27]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.knowledge-search button[data-v-297f0c27]{min-width:64px;min-height:40px;background:var(--tt-accent-soft);color:var(--tt-accent-dark);font-weight:700}.knowledge-options[data-v-297f0c27]{display:grid;gap:7px;max-height:230px;overflow-y:auto;overscroll-behavior:contain}.knowledge-options button[data-v-297f0c27]{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;border:1px solid var(--tt-line);padding:9px 10px;background:var(--tt-surface);color:var(--tt-ink);text-align:left}.knowledge-options button.active[data-v-297f0c27]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.knowledge-options button>span[data-v-297f0c27]{display:grid;gap:3px;min-width:0}.knowledge-options strong[data-v-297f0c27]{line-height:1.4;overflow-wrap:anywhere}.knowledge-options small[data-v-297f0c27]{justify-self:start;color:var(--tt-muted);font-size:12px}.knowledge-options b[data-v-297f0c27]{flex:0 0 auto;color:var(--tt-accent-dark)}.knowledge-state[data-v-297f0c27]{margin:0;border-radius:6px;padding:10px;background:var(--tt-line-soft);color:var(--tt-muted);font-weight:400;line-height:1.5;text-align:center}.duration-options[data-v-297f0c27]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.due-options[data-v-297f0c27]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.duration-options button[data-v-297f0c27],.due-options button[data-v-297f0c27]{min-height:36px;border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-muted)}.duration-options button.active[data-v-297f0c27],.due-options button.active[data-v-297f0c27]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.submit-error[data-v-297f0c27]{margin:0;border-radius:6px;padding:9px 10px;background:#fff4f2;line-height:1.5}.submit-course[data-v-297f0c27]{width:100%;min-height:44px;background:var(--tt-accent);color:var(--tt-on-accent);font-weight:700}@media(max-width:380px){.overview-head[data-v-297f0c27]{display:grid}.overview-actions[data-v-297f0c27]{width:100%}.overview-actions button[data-v-297f0c27]{flex:1 1 0}}.assignment-detail-page[data-v-731a7780]{display:grid;gap:12px;padding-bottom:28px}.detail-state[data-v-731a7780]{margin-top:18px;text-align:center}.detail-hero[data-v-731a7780]{display:grid;gap:8px;border-color:var(--tt-accent-soft)}.detail-hero-head[data-v-731a7780],.result-head[data-v-731a7780]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.detail-hero-head>span[data-v-731a7780]:first-child,.result-head span[data-v-731a7780]{color:var(--tt-accent-dark);font-weight:700}.detail-hero h2[data-v-731a7780],.detail-hero p[data-v-731a7780],.result-head h3[data-v-731a7780]{margin:0}.detail-hero p[data-v-731a7780]{color:var(--tt-muted);line-height:1.6}.detail-hero .overdue-notice[data-v-731a7780]{color:var(--tt-danger);font-weight:700}.status-label[data-v-731a7780]{flex:0 0 auto;border-radius:4px;padding:4px 7px;font-weight:700}.status-label[data-tone=waiting][data-v-731a7780],.status-label[data-tone=muted][data-v-731a7780]{background:var(--tt-line-soft);color:var(--tt-muted)}.status-label[data-tone=running][data-v-731a7780],.status-label[data-tone=ready][data-v-731a7780]{background:#e7f0f6;color:#285c78}.status-label[data-tone=completed][data-v-731a7780]{background:#e4f2e9;color:#22643e}.status-label[data-tone=warning][data-v-731a7780]{background:#fff0d8;color:#87551a}.status-label[data-tone=error][data-v-731a7780]{background:#fbe7e4;color:var(--tt-danger)}.action-error[data-v-731a7780],.action-message[data-v-731a7780]{margin:0;padding:10px 12px;border-radius:8px;background:var(--tt-surface)}.progress-section[data-v-731a7780],.detail-section[data-v-731a7780],.result-section[data-v-731a7780],.failure-section[data-v-731a7780],.action-section[data-v-731a7780]{display:grid;gap:12px}.progress-section h3[data-v-731a7780],.detail-section h3[data-v-731a7780],.failure-section h3[data-v-731a7780]{margin:0}.progress-list[data-v-731a7780]{display:grid;gap:0;margin:0;padding:0;list-style:none}.progress-list li[data-v-731a7780]{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:8px;min-height:52px}.progress-list li[data-v-731a7780]:not(:last-child):before{position:absolute;top:18px;bottom:-1px;left:7px;width:2px;background:var(--tt-line);content:""}.progress-dot[data-v-731a7780]{position:relative;z-index:1;width:16px;height:16px;margin-top:1px;border:3px solid var(--tt-surface);border-radius:50%;background:var(--tt-line);box-shadow:0 0 0 1px var(--tt-line)}.progress-list li[data-state=done] .progress-dot[data-v-731a7780]{background:var(--tt-success);box-shadow:0 0 0 1px var(--tt-success)}.progress-list li[data-state=current] .progress-dot[data-v-731a7780]{background:#2e6f94;box-shadow:0 0 0 1px #2e6f94}.progress-list li[data-state=warning] .progress-dot[data-v-731a7780]{background:#b67624;box-shadow:0 0 0 1px #b67624}.progress-list li[data-state=error] .progress-dot[data-v-731a7780]{background:var(--tt-danger);box-shadow:0 0 0 1px var(--tt-danger)}.progress-list div[data-v-731a7780]{display:grid;gap:3px;padding-bottom:12px}.progress-list small[data-v-731a7780]{color:var(--tt-muted);line-height:1.5}.detail-list[data-v-731a7780]{display:grid;gap:0;margin:0}.detail-list>div[data-v-731a7780]{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--tt-line-soft)}.detail-list dt[data-v-731a7780]{color:var(--tt-muted)}.detail-list dd[data-v-731a7780]{margin:0;color:var(--tt-ink);line-height:1.55;overflow-wrap:anywhere}.result-section[data-v-731a7780]{border-color:#cae2d3;background:#f5faf7}.result-head>strong[data-v-731a7780]{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#deefe4;color:#22643e;font-size:18px!important}.result-head h3[data-v-731a7780]{margin-top:4px}.result-grid[data-v-731a7780]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-grid div[data-v-731a7780]{display:grid;gap:3px;padding:9px;border:1px solid #dceae1;border-radius:6px;background:var(--tt-surface)}.result-grid span[data-v-731a7780],.result-section>p[data-v-731a7780]{color:var(--tt-muted)}.result-section>p[data-v-731a7780],.failure-section p[data-v-731a7780]{margin:0;line-height:1.6}.failure-section[data-v-731a7780]{border-color:#f0c9c4;background:#fff8f7}.failure-section p[data-v-731a7780]{color:var(--tt-danger);overflow-wrap:anywhere}.action-section[data-v-731a7780]{grid-template-columns:repeat(2,minmax(0,1fr))}.action-section button[data-v-731a7780]{width:100%}.danger-action[data-v-731a7780]{color:var(--tt-danger)!important}.back-link[data-v-731a7780]{grid-column:1 / -1;display:grid;place-items:center;min-height:40px;color:var(--tt-accent-dark);font-weight:700;text-decoration:none}.stem[data-v-684a967c],.analysis[data-v-684a967c],.summary[data-v-684a967c],.feedback[data-v-684a967c]{white-space:pre-wrap}.source[data-v-684a967c]{color:var(--tt-muted);font-size:.85em}.vocabulary-report[data-v-684a967c]{display:grid;gap:16px}.report-metrics[data-v-684a967c]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.report-metrics div[data-v-684a967c]{display:grid;gap:4px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft)}.report-metrics span[data-v-684a967c]{color:var(--tt-muted);font-size:12px}.report-metrics strong[data-v-684a967c]{font-size:18px}.word-group[data-v-684a967c],.parent-suggestion[data-v-684a967c]{display:grid;gap:8px}.word-group h3[data-v-684a967c],.parent-suggestion h3[data-v-684a967c]{margin:0;font-size:15px}.word-list[data-v-684a967c]{display:flex;flex-wrap:wrap;gap:8px}.word-list span[data-v-684a967c]{padding:6px 9px;border-radius:6px;background:var(--tt-surface-soft);color:var(--tt-ink)}.weak-words .word-list span[data-v-684a967c]{color:var(--tt-danger);background:var(--tt-danger-soft)}.mastered-words .word-list span[data-v-684a967c]{color:var(--tt-success);background:var(--tt-success-soft)}.parent-suggestion[data-v-684a967c]{padding:12px;border-left:3px solid var(--tt-accent);background:var(--tt-accent-soft)}.parent-suggestion p[data-v-684a967c]{margin:0;color:var(--tt-muted);line-height:1.6}.daily-learning-page[data-v-5038b03f]{gap:12px}.daily-card[data-v-5038b03f]{display:grid;gap:12px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.daily-head[data-v-5038b03f]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.daily-head div[data-v-5038b03f]{display:grid;gap:3px;min-width:0}.daily-head span[data-v-5038b03f]{color:var(--tt-muted);font-size:12px;line-height:1.5}.daily-head strong[data-v-5038b03f]{font-size:18px;line-height:1.35}p[data-v-5038b03f]{margin:0;color:var(--tt-muted);line-height:1.65}.date-controls[data-v-5038b03f]{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;gap:8px;align-items:center}.date-controls button[data-v-5038b03f],.date-controls input[data-v-5038b03f]{min-height:38px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-muted);font-size:13px}.date-controls button[data-v-5038b03f]{font-weight:700}.date-controls button[data-v-5038b03f]:disabled{color:var(--tt-muted);background:var(--tt-surface-soft)}.date-controls input[data-v-5038b03f]{padding:0 8px}.day-summary[data-v-5038b03f]{display:grid;gap:6px;padding:11px 12px;border-left:3px solid var(--tt-accent);background:var(--tt-surface-soft)}.summary-title[data-v-5038b03f]{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary-title strong[data-v-5038b03f]{color:var(--tt-accent-dark);font-size:13px}.summary-title span[data-v-5038b03f]{color:var(--tt-muted);font-size:11px}.day-summary p[data-v-5038b03f]{color:var(--tt-muted);font-size:13px;line-height:1.7}.daily-projects[data-v-5038b03f]{display:grid;gap:10px}.daily-projects article[data-v-5038b03f]{display:grid;gap:10px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.module-detail-button[data-v-5038b03f]{width:100%;min-height:36px;border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-accent-dark);font-weight:700}.daily-metrics[data-v-5038b03f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.daily-metrics div[data-v-5038b03f]{display:grid;gap:3px;min-height:58px;align-content:center;padding:9px;border:1px solid var(--tt-line-soft);border-radius:8px;background:var(--tt-surface-soft);text-align:center}.daily-metrics span[data-v-5038b03f]{color:var(--tt-muted);font-size:12px}.daily-metrics strong[data-v-5038b03f]{font-size:15px}.analysis-strip[data-v-5038b03f]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--tt-line)}.analysis-strip>div[data-v-5038b03f]{display:grid;gap:4px;min-width:0;padding:11px}.analysis-strip>div+div[data-v-5038b03f]{border-left:1px solid var(--tt-line)}.analysis-strip span[data-v-5038b03f],.analysis-strip small[data-v-5038b03f]{color:var(--tt-muted);font-size:11px;line-height:1.45}.analysis-strip strong[data-v-5038b03f]{color:var(--tt-ink);font-size:15px}.analysis-strip strong.trend-up[data-v-5038b03f]{color:var(--tt-success)}.analysis-strip strong.trend-down[data-v-5038b03f]{color:var(--tt-danger)}.module-title[data-v-5038b03f]{display:grid;gap:4px;min-width:0}.module-title strong[data-v-5038b03f]{color:var(--tt-ink);font-size:15px;line-height:1.35}.module-title span[data-v-5038b03f]{color:var(--tt-muted);font-size:12px;line-height:1.55}.module-stat-row[data-v-5038b03f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.module-stat-row div[data-v-5038b03f]{display:grid;gap:3px;min-height:46px;align-content:center;padding:7px 5px;border-radius:8px;background:var(--tt-surface-soft);text-align:center}.module-stat-row strong[data-v-5038b03f]{color:var(--tt-ink);font-size:15px;line-height:1.2}.module-stat-row span[data-v-5038b03f]{color:var(--tt-muted);font-size:12px;line-height:1.2}.weak-tags[data-v-5038b03f]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.weak-tags>strong[data-v-5038b03f]{width:100%;color:var(--tt-muted);font-size:11px}.weak-tags span[data-v-5038b03f],.weak-tags button[data-v-5038b03f]{padding:3px 7px;border:1px solid var(--tt-warning-line);border-radius:999px;color:var(--tt-warning);background:var(--tt-warning-soft);font-size:11px;line-height:1.45}.weak-tags button[data-v-5038b03f]{min-height:0;font-family:inherit;cursor:pointer}.weak-tags button[data-v-5038b03f]:hover{border-color:var(--tt-warning);background:var(--tt-surface)}.weak-tags.mastered span[data-v-5038b03f],.weak-tags.mastered button[data-v-5038b03f]{border-color:var(--tt-success-line);color:var(--tt-success);background:var(--tt-success-soft)}.weak-tags.focus span[data-v-5038b03f],.weak-tags.focus button[data-v-5038b03f]{border-color:var(--tt-line);color:var(--tt-accent-dark);background:var(--tt-accent-soft)}.assignment-message[data-v-5038b03f]{padding:9px 10px;border-radius:6px;background:var(--tt-success-soft);color:var(--tt-success);font-size:12px}.assignment-message.error[data-v-5038b03f]{background:var(--tt-danger-soft);color:var(--tt-danger)}.knowledge-panel[data-v-5038b03f]{display:grid;gap:10px;padding-top:2px}.section-title[data-v-5038b03f]{display:grid;gap:2px}.section-title span[data-v-5038b03f]{color:var(--tt-muted);font-size:11px}.section-title strong[data-v-5038b03f]{color:var(--tt-ink);font-size:15px}.knowledge-list[data-v-5038b03f]{display:grid;gap:9px}.knowledge-list>div[data-v-5038b03f]{display:grid;grid-template-columns:minmax(92px,1.2fr) minmax(80px,1fr) 38px;gap:8px;align-items:center}.knowledge-list>div>div[data-v-5038b03f]:first-child{display:grid;gap:2px;min-width:0}.knowledge-list strong[data-v-5038b03f]{overflow:hidden;color:var(--tt-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.knowledge-list span[data-v-5038b03f],.knowledge-list em[data-v-5038b03f]{color:var(--tt-muted);font-size:11px;font-style:normal}.knowledge-list em[data-v-5038b03f]{text-align:right}.mastery-track[data-v-5038b03f]{height:6px;overflow:hidden;background:var(--tt-line-soft)}.mastery-track i[data-v-5038b03f]{display:block;height:100%;background:var(--tt-accent)}.analysis-points[data-v-5038b03f]{display:grid;gap:8px;padding:10px 12px;background:var(--tt-surface-soft)}.analysis-points div[data-v-5038b03f]{display:grid;gap:3px}.analysis-points strong[data-v-5038b03f]{color:var(--tt-muted);font-size:12px}.analysis-points span[data-v-5038b03f]{color:var(--tt-muted);font-size:12px;line-height:1.55}.parent-note[data-v-5038b03f]{border:0;background:var(--tt-accent-soft)}.parent-note[data-v-5038b03f]{display:grid;gap:3px;padding:10px;border-radius:8px}.parent-note strong[data-v-5038b03f]{color:var(--tt-accent-dark)}.parent-note span[data-v-5038b03f]{color:var(--tt-muted);line-height:1.6}.state-pill[data-v-5038b03f]{flex-shrink:0;padding:4px 8px;border-radius:999px;font-style:normal;color:var(--tt-accent);background:var(--tt-accent-soft);font-size:12px}.state-pill.done[data-v-5038b03f]{color:var(--tt-success);background:var(--tt-success-soft)}.state-pill.warn[data-v-5038b03f]{color:var(--tt-danger);background:var(--tt-danger-soft)}.assignment-mask[data-v-5038b03f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:flex-end;justify-content:center;background:#121d246b}.assignment-panel[data-v-5038b03f]{width:min(100%,480px);max-height:min(88vh,720px);display:grid;gap:14px;overflow-y:auto;border-radius:8px 8px 0 0;padding:18px;background:var(--tt-surface);box-shadow:0 -14px 36px #121d242e}.assignment-panel-head[data-v-5038b03f]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.assignment-panel-head>div[data-v-5038b03f]{min-width:0}.assignment-panel-head span[data-v-5038b03f]{color:var(--tt-accent-dark);font-size:12px;font-weight:700}.assignment-panel-head h2[data-v-5038b03f]{margin:4px 0 0;color:var(--tt-ink);font-size:18px;line-height:1.4;overflow-wrap:anywhere}.panel-close[data-v-5038b03f]{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;padding:0;background:var(--tt-line-soft);color:var(--tt-muted);font-size:20px}.assignment-evidence[data-v-5038b03f]{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:8px}.assignment-evidence div[data-v-5038b03f]{display:grid;gap:3px;min-width:0;border:1px solid var(--tt-line);border-radius:8px;padding:9px}.assignment-evidence span[data-v-5038b03f]{color:var(--tt-muted);font-size:12px}.assignment-evidence strong[data-v-5038b03f]{color:var(--tt-ink);line-height:1.45;overflow-wrap:anywhere}.field-group[data-v-5038b03f]{display:grid;gap:7px;color:var(--tt-ink);font-weight:700}.field-group>span[data-v-5038b03f]{display:flex;justify-content:space-between;gap:8px}.field-group em[data-v-5038b03f]{color:var(--tt-muted);font-style:normal;font-weight:400}.field-group textarea[data-v-5038b03f]{min-height:66px;resize:vertical;line-height:1.5;font-weight:400}.field-group input[data-v-5038b03f]{font-weight:400}.duration-options[data-v-5038b03f]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.duration-options button[data-v-5038b03f]{min-height:36px;border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-muted)}.duration-options button.active[data-v-5038b03f]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.assignment-panel-error[data-v-5038b03f]{padding:9px 10px;border-radius:6px;background:var(--tt-danger-soft);line-height:1.5}.submit-assignment[data-v-5038b03f]{width:100%;min-height:44px;font-weight:700}@media(max-width:360px){.daily-metrics[data-v-5038b03f]{grid-template-columns:repeat(2,minmax(0,1fr))}}.class-notes-page[data-v-00cff5f5]{gap:12px}.summary-grid[data-v-00cff5f5]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--tt-line);background:var(--tt-surface)}.summary-grid div[data-v-00cff5f5]{display:grid;gap:3px;min-width:0;padding:10px 4px;text-align:center;border-right:1px solid var(--tt-line)}.summary-grid div[data-v-00cff5f5]:last-child{border-right:0}.summary-grid span[data-v-00cff5f5]{color:var(--tt-muted);font-size:11px}.summary-grid strong[data-v-00cff5f5]{font-size:18px}.filters[data-v-00cff5f5]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segments[data-v-00cff5f5]{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--tt-line);border-radius:8px;overflow:hidden}.segments button[data-v-00cff5f5]{min-height:36px;padding:7px 4px;border-radius:0;border-right:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-muted);font-size:12px}.segments button[data-v-00cff5f5]:last-child{border-right:0}.segments button.active[data-v-00cff5f5]{background:var(--tt-accent);color:var(--tt-on-accent)}.trend-band[data-v-00cff5f5]{display:grid;gap:10px;padding:12px;border:1px solid var(--tt-line);background:var(--tt-surface)}.trend-band header[data-v-00cff5f5]{display:flex;justify-content:space-between;gap:10px}.trend-band header span[data-v-00cff5f5]{color:var(--tt-muted);font-size:11px;text-align:right}.trend-bars[data-v-00cff5f5]{height:82px;display:flex;align-items:end;gap:6px}.trend-bars>div[data-v-00cff5f5]{height:100%;flex:1;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px;justify-items:center}.trend-bars i[data-v-00cff5f5]{width:100%;max-width:22px;height:100%;display:flex;align-items:end;background:var(--tt-surface-soft)}.trend-bars b[data-v-00cff5f5]{width:100%;background:var(--tt-accent);min-height:0}.trend-bars span[data-v-00cff5f5]{font-size:10px;color:var(--tt-muted)}.note-list[data-v-00cff5f5]{list-style:none;display:grid;gap:10px;margin:0;padding:0}.note-list li[data-v-00cff5f5]{display:grid;gap:10px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);cursor:pointer}.note-head[data-v-00cff5f5]{display:flex;justify-content:space-between;gap:10px}.note-head>div[data-v-00cff5f5]{display:grid;gap:3px;min-width:0}.note-head strong[data-v-00cff5f5]{font-size:15px}.note-head span[data-v-00cff5f5]{color:var(--tt-muted);font-size:12px}.note-head em[data-v-00cff5f5]{flex-shrink:0;align-self:start;padding:4px 7px;border-radius:999px;font-size:11px;font-style:normal}.note-head em.done[data-v-00cff5f5]{background:var(--tt-success-soft);color:var(--tt-success)}.note-head em.warn[data-v-00cff5f5]{background:var(--tt-warning-soft);color:var(--tt-warning)}.note-head em.normal[data-v-00cff5f5]{background:var(--tt-surface-soft);color:var(--tt-muted)}.note-list p[data-v-00cff5f5]{margin:0;color:var(--tt-muted);line-height:1.65}.tag-row[data-v-00cff5f5]{display:grid;grid-template-columns:54px minmax(0,1fr);gap:4px 7px;padding:8px;border-left:3px solid}.tag-row strong[data-v-00cff5f5]{grid-row:1/span 3;font-size:12px}.tag-row span[data-v-00cff5f5]{font-size:12px;line-height:1.5}.tag-row.good[data-v-00cff5f5]{border-color:var(--tt-success);background:var(--tt-success-soft)}.tag-row.improve[data-v-00cff5f5]{border-color:var(--tt-warning);background:var(--tt-warning-soft)}.note-foot[data-v-00cff5f5]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--tt-muted);font-size:12px}.note-foot small[data-v-00cff5f5]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.note-foot em[data-v-00cff5f5]{color:var(--tt-accent);font-style:normal}.empty-card[data-v-00cff5f5]{padding:28px 12px;border:1px dashed var(--tt-line);text-align:center}@media(max-width:360px){.summary-grid[data-v-00cff5f5]{grid-template-columns:repeat(2,1fr)}.summary-grid div[data-v-00cff5f5]:nth-child(2){border-right:0}.summary-grid div[data-v-00cff5f5]:nth-child(-n+2){border-bottom:1px solid var(--tt-line)}.note-foot[data-v-00cff5f5]{grid-template-columns:1fr auto}.note-foot small[data-v-00cff5f5]{grid-column:1/-1;grid-row:2;text-align:left}}.note-detail-page[data-v-f74a28c1]{gap:12px}.note-head[data-v-f74a28c1]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--tt-line)}.note-head>div[data-v-f74a28c1]{display:grid;gap:4px;min-width:0}.note-head span[data-v-f74a28c1]{color:var(--tt-muted);font-size:12px}.note-head h1[data-v-f74a28c1]{margin:0;font-size:21px;line-height:1.35;overflow-wrap:anywhere}.note-head em[data-v-f74a28c1]{flex-shrink:0;padding:5px 8px;border-radius:999px;font-size:11px;font-style:normal}.note-head em.done[data-v-f74a28c1]{background:var(--tt-success-soft);color:var(--tt-success)}.note-head em.warn[data-v-f74a28c1]{background:var(--tt-warning-soft);color:var(--tt-warning)}.note-head em.normal[data-v-f74a28c1]{background:var(--tt-surface-soft);color:var(--tt-muted)}.sync-time[data-v-f74a28c1]{margin:-5px 0 0;color:var(--tt-muted);font-size:11px}.score-band[data-v-f74a28c1]{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;border:1px solid var(--tt-line);background:var(--tt-surface)}.score-band div[data-v-f74a28c1]{display:grid;gap:4px;min-height:74px;place-content:center;text-align:center}.score-band span[data-v-f74a28c1]{color:var(--tt-muted);font-size:12px}.score-band strong[data-v-f74a28c1]{font-size:17px}.score-band i[data-v-f74a28c1]{color:var(--tt-accent);font-style:normal}.summary-section[data-v-f74a28c1],.compare-grid>div[data-v-f74a28c1],.final-note[data-v-f74a28c1],.feedback-section[data-v-f74a28c1]{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--tt-line)}h2[data-v-f74a28c1]{margin:0;font-size:15px}.summary-section p[data-v-f74a28c1],.compare-grid p[data-v-f74a28c1],.next-action p[data-v-f74a28c1],.parent-suggestion p[data-v-f74a28c1]{margin:0;color:var(--tt-muted);line-height:1.7}.compare-grid[data-v-f74a28c1]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare-grid>div[data-v-f74a28c1]{padding:11px;border:1px solid}.compare-grid .good[data-v-f74a28c1]{border-color:var(--tt-success-line);background:var(--tt-success-soft)}.compare-grid .improve[data-v-f74a28c1]{border-color:var(--tt-warning-line);background:var(--tt-warning-soft)}.compare-grid ul[data-v-f74a28c1]{display:grid;gap:6px;margin:0;padding-left:18px}.compare-grid li[data-v-f74a28c1]{line-height:1.55}.next-action[data-v-f74a28c1]{display:grid;gap:7px;padding:12px;border-left:3px solid var(--tt-accent);background:var(--tt-surface-soft)}.next-action>div[data-v-f74a28c1]{display:flex;justify-content:space-between}.next-action span[data-v-f74a28c1],.next-action em[data-v-f74a28c1]{color:var(--tt-muted);font-size:12px;font-style:normal}.final-note pre[data-v-f74a28c1]{max-height:420px;overflow:auto;margin:0;padding:11px;background:var(--tt-surface-soft);white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.7}.parent-suggestion[data-v-f74a28c1]{display:grid;gap:6px;padding:12px;background:var(--tt-accent-soft)}.feedback-section>div[data-v-f74a28c1]:first-child{display:grid;gap:3px}.feedback-section>div:first-child span[data-v-f74a28c1]{color:var(--tt-muted);font-size:12px}.feedback-actions[data-v-f74a28c1]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.feedback-actions button[data-v-f74a28c1]{padding:8px 4px;background:var(--tt-surface);border:1px solid var(--tt-line);color:var(--tt-accent-dark);font-size:12px}.feedback-actions button.active[data-v-f74a28c1]{background:var(--tt-accent-soft);border-color:var(--tt-accent);color:var(--tt-accent-dark)}.feedback-message[data-v-f74a28c1]{margin:0;color:var(--tt-accent);font-size:12px}.privacy-note[data-v-f74a28c1]{margin:0;color:var(--tt-muted);font-size:12px;line-height:1.6}.back-button[data-v-f74a28c1]{width:100%;background:var(--tt-surface);border:1px solid var(--tt-line);color:var(--tt-accent-dark);font-weight:700}@media(max-width:360px){.compare-grid[data-v-f74a28c1],.feedback-actions[data-v-f74a28c1]{grid-template-columns:1fr}}.tutor-detail-page[data-v-57e8c21e]{gap:12px}.lesson-head[data-v-57e8c21e]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--tt-line)}.lesson-head>div[data-v-57e8c21e]{display:grid;gap:5px;min-width:0}.lesson-head span[data-v-57e8c21e],.lesson-head p[data-v-57e8c21e]{color:var(--tt-muted);font-size:12px}.lesson-head h1[data-v-57e8c21e]{margin:0;font-size:21px;line-height:1.35;overflow-wrap:anywhere}.lesson-head p[data-v-57e8c21e]{margin:0}.state-pill[data-v-57e8c21e]{flex-shrink:0;max-width:118px;padding:5px 8px;border-radius:999px;background:var(--tt-surface-soft);color:var(--tt-muted);font-size:12px;font-style:normal;text-align:center}.state-pill.done[data-v-57e8c21e]{background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.state-pill.warn[data-v-57e8c21e]{background:var(--tt-warning-soft, #fff4dc);color:var(--tt-warning, #8a5b00)}.score-grid[data-v-57e8c21e]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--tt-line)}.score-grid div[data-v-57e8c21e]{display:grid;gap:3px;min-height:66px;place-content:center;text-align:center}.score-grid div[data-v-57e8c21e]:nth-child(odd){border-right:1px solid var(--tt-line)}.score-grid div[data-v-57e8c21e]:nth-child(-n+2){border-bottom:1px solid var(--tt-line)}.score-grid strong[data-v-57e8c21e]{font-size:21px}.score-grid span[data-v-57e8c21e]{color:var(--tt-muted);font-size:12px}.summary-band[data-v-57e8c21e],.ability-section[data-v-57e8c21e],.parent-note[data-v-57e8c21e]{display:grid;gap:11px;padding:13px 0;border-bottom:1px solid var(--tt-line)}.section-title[data-v-57e8c21e],.fact-row[data-v-57e8c21e],.review-band[data-v-57e8c21e]{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title span[data-v-57e8c21e]{color:var(--tt-accent-dark);font-size:12px;font-weight:700}.summary-band p[data-v-57e8c21e],.parent-note p[data-v-57e8c21e]{margin:0;color:var(--tt-muted);line-height:1.7}.fact-row[data-v-57e8c21e]{padding-top:8px;border-top:1px solid var(--tt-line-soft)}.fact-row span[data-v-57e8c21e],.review-band span[data-v-57e8c21e]{color:var(--tt-muted);font-size:12px}.ability-section>div[data-v-57e8c21e]{display:grid;gap:8px}.ability-section h2[data-v-57e8c21e]{margin:0;font-size:15px}.tag-list[data-v-57e8c21e]{display:flex;flex-wrap:wrap;gap:7px}.tag-list span[data-v-57e8c21e]{max-width:100%;padding:5px 8px;border-radius:5px;overflow-wrap:anywhere;font-size:12px}.tag-list.mastered span[data-v-57e8c21e]{background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.tag-list.weak span[data-v-57e8c21e]{background:var(--tt-warning-soft, #fff4dc);color:var(--tt-warning, #8a5b00)}.tag-list em[data-v-57e8c21e]{color:var(--tt-muted);font-size:12px;font-style:normal}.review-band[data-v-57e8c21e]{padding:12px;border-left:3px solid var(--tt-accent);background:var(--tt-surface-soft)}.parent-note strong[data-v-57e8c21e]{font-size:14px}.privacy-note[data-v-57e8c21e]{margin:0;color:var(--tt-muted);font-size:12px;line-height:1.65}.back-button[data-v-57e8c21e]{width:100%;min-height:42px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-accent-dark);font-weight:700}.xiaot-list-page[data-v-1330f5aa]{gap:12px}.overview-band[data-v-1330f5aa]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--tt-line);background:var(--tt-surface)}.overview-band div[data-v-1330f5aa]{display:grid;gap:4px;min-width:0;min-height:66px;place-content:center;padding:8px;text-align:center}.overview-band div+div[data-v-1330f5aa]{border-left:1px solid var(--tt-line)}.overview-band span[data-v-1330f5aa]{color:var(--tt-muted);font-size:12px}.overview-band strong[data-v-1330f5aa]{overflow-wrap:anywhere;font-size:16px}.filter-controls[data-v-1330f5aa]{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(132px,.75fr);gap:9px 10px;padding:10px 0;border-top:1px solid var(--tt-line);border-bottom:1px solid var(--tt-line)}.filter-controls label[data-v-1330f5aa]{display:grid;gap:5px;min-width:0;color:var(--tt-muted);font-weight:700}.filter-controls input[data-v-1330f5aa]{width:100%;min-width:0;height:38px;box-sizing:border-box;border:1px solid var(--tt-line);border-radius:7px;background:var(--tt-surface);color:var(--tt-ink);padding:0 9px}.filter-controls input[data-v-1330f5aa]:focus{outline:2px solid var(--tt-accent-soft);border-color:var(--tt-accent)}.filter-controls input[type=search][data-v-1330f5aa]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.filter-result[data-v-1330f5aa]{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:24px;color:var(--tt-muted)}.filter-result button[data-v-1330f5aa]{min-width:48px;min-height:28px;padding:3px 8px;border:1px solid var(--tt-line);border-radius:6px;background:var(--tt-surface);color:var(--tt-accent-dark);font-weight:700}.filter-tabs[data-v-1330f5aa]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft)}.filter-tabs button[data-v-1330f5aa]{min-height:36px;border:0;border-radius:6px;background:transparent;color:var(--tt-muted);font-weight:700}.filter-tabs button.active[data-v-1330f5aa]{background:var(--tt-surface);color:var(--tt-accent-dark);box-shadow:0 1px 4px #1c30291a}.summary-list[data-v-1330f5aa]{display:grid;gap:10px;margin:0;padding:0;list-style:none}.summary-list li[data-v-1330f5aa]{display:grid;gap:10px;padding:13px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);cursor:pointer}.item-head[data-v-1330f5aa]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.item-head>div[data-v-1330f5aa]{display:grid;gap:4px;min-width:0}.item-head strong[data-v-1330f5aa]{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.item-head span[data-v-1330f5aa]{color:var(--tt-muted);font-size:12px}.item-head em[data-v-1330f5aa]{flex:0 0 auto;padding:4px 7px;border-radius:5px;background:var(--tt-success-soft);color:var(--tt-success);font-size:12px;font-style:normal}.item-head em.followup[data-v-1330f5aa]{background:var(--tt-warning-soft);color:var(--tt-warning)}.summary-list p[data-v-1330f5aa]{margin:0;color:var(--tt-muted);line-height:1.65}.item-meta[data-v-1330f5aa]{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--tt-muted);font-size:12px}.more[data-v-1330f5aa]{color:var(--tt-accent);font-size:13px;font-weight:700}.privacy-note[data-v-1330f5aa]{margin:0;color:var(--tt-muted);font-size:12px;line-height:1.65}@media(max-width:360px){.filter-controls[data-v-1330f5aa]{grid-template-columns:minmax(0,1fr)}.filter-result[data-v-1330f5aa]{grid-column:1}}.xiaot-detail-page[data-v-f4bf82df]{gap:12px}.session-head[data-v-f4bf82df]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--tt-line)}.session-head>div[data-v-f4bf82df]{display:grid;gap:5px;min-width:0}.session-head span[data-v-f4bf82df],.session-head p[data-v-f4bf82df]{color:var(--tt-muted);font-size:12px}.session-head h1[data-v-f4bf82df]{margin:0;font-size:21px;line-height:1.35;overflow-wrap:anywhere}.session-head p[data-v-f4bf82df]{margin:0}.session-head em[data-v-f4bf82df]{flex:0 0 auto;padding:5px 8px;border-radius:5px;background:var(--tt-success-soft);color:var(--tt-success);font-size:12px;font-style:normal}.session-head em.followup[data-v-f4bf82df]{background:var(--tt-warning-soft);color:var(--tt-warning)}.metric-strip[data-v-f4bf82df]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--tt-line)}.metric-strip div[data-v-f4bf82df]{display:grid;gap:3px;min-height:64px;place-content:center;text-align:center}.metric-strip div+div[data-v-f4bf82df]{border-left:1px solid var(--tt-line)}.metric-strip strong[data-v-f4bf82df]{font-size:20px}.metric-strip span[data-v-f4bf82df]{color:var(--tt-muted);font-size:12px}.result-section[data-v-f4bf82df],.ability-section[data-v-f4bf82df],.highlight-section[data-v-f4bf82df],.snippet-section[data-v-f4bf82df],.parent-note[data-v-f4bf82df]{display:grid;gap:11px;padding:13px 0;border-bottom:1px solid var(--tt-line)}.section-title[data-v-f4bf82df]{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title span[data-v-f4bf82df]{color:var(--tt-accent-dark);font-size:12px;font-weight:700}.result-section p[data-v-f4bf82df],.parent-note p[data-v-f4bf82df]{margin:0;color:var(--tt-muted);line-height:1.7}.summary-pair[data-v-f4bf82df]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--tt-line)}.summary-pair>div[data-v-f4bf82df]{display:grid;gap:6px;min-width:0;padding:11px}.summary-pair>div+div[data-v-f4bf82df]{border-left:1px solid var(--tt-line)}.summary-pair span[data-v-f4bf82df]{color:var(--tt-accent-dark);font-size:12px;font-weight:700}.summary-pair p[data-v-f4bf82df]{margin:0;color:var(--tt-muted);line-height:1.6;overflow-wrap:anywhere}.ability-section>div[data-v-f4bf82df]{display:grid;gap:8px}.ability-section h2[data-v-f4bf82df],.highlight-section h2[data-v-f4bf82df]{margin:0;font-size:15px}.tag-list[data-v-f4bf82df]{display:flex;flex-wrap:wrap;gap:7px}.tag-list span[data-v-f4bf82df]{max-width:100%;padding:5px 8px;border-radius:5px;overflow-wrap:anywhere;font-size:12px}.tag-list.mastered span[data-v-f4bf82df]{background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.tag-list.weak span[data-v-f4bf82df]{background:var(--tt-warning-soft);color:var(--tt-warning)}.tag-list em[data-v-f4bf82df]{color:var(--tt-muted);font-size:12px;font-style:normal}.highlight-section ul[data-v-f4bf82df]{display:grid;gap:7px;margin:0;padding-left:18px;color:var(--tt-muted);line-height:1.55}.snippet-list[data-v-f4bf82df]{display:grid;gap:8px}.snippet-list blockquote[data-v-f4bf82df]{display:grid;gap:4px;margin:0;padding:9px 10px;border-left:3px solid var(--tt-line);background:var(--tt-surface-soft)}.snippet-list blockquote.student[data-v-f4bf82df]{border-left-color:var(--tt-accent)}.snippet-list strong[data-v-f4bf82df]{font-size:12px}.snippet-list p[data-v-f4bf82df]{margin:0;color:var(--tt-muted);line-height:1.6;overflow-wrap:anywhere}.parent-note[data-v-f4bf82df]{padding:12px;border:0;border-left:3px solid var(--tt-accent);background:var(--tt-accent-soft)}.privacy-note[data-v-f4bf82df]{margin:0;color:var(--tt-muted);font-size:12px;line-height:1.65}.back-button[data-v-f4bf82df]{width:100%;min-height:42px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-accent-dark);font-weight:700}@media(max-width:360px){.summary-pair[data-v-f4bf82df]{grid-template-columns:1fr}.summary-pair>div+div[data-v-f4bf82df]{border-left:0;border-top:1px solid var(--tt-line)}}.daily-card[data-v-c2961b98]{display:grid;gap:12px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.daily-head[data-v-c2961b98]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.daily-head div[data-v-c2961b98]{display:grid;gap:3px;min-width:0}.daily-head span[data-v-c2961b98]{color:var(--tt-muted);font-size:12px}.daily-head strong[data-v-c2961b98]{font-size:16px;line-height:1.35}.daily-card p[data-v-c2961b98]{margin:0;color:var(--tt-muted);line-height:1.6}.date-tabs[data-v-c2961b98]{display:grid;grid-auto-flow:column;grid-auto-columns:60px;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;-webkit-overflow-scrolling:touch}.date-tabs button[data-v-c2961b98]{min-width:60px;min-height:54px;display:grid;gap:3px;justify-items:center;align-content:center;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft);color:var(--tt-muted)}.date-tabs button.active[data-v-c2961b98]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark);box-shadow:inset 0 -2px 0 var(--tt-accent)}.date-tabs span[data-v-c2961b98]{font-size:12px;line-height:1.2;white-space:nowrap}.date-tabs strong[data-v-c2961b98]{font-size:15px;line-height:1.2}.daily-metrics[data-v-c2961b98]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.daily-metrics div[data-v-c2961b98]{display:grid;gap:3px;padding:10px;border:1px solid var(--tt-line-soft);border-radius:8px;background:var(--tt-surface-soft);text-align:center}.daily-metrics span[data-v-c2961b98]{color:var(--tt-muted);font-size:12px}.daily-metrics strong[data-v-c2961b98]{font-size:14px}.daily-modules[data-v-c2961b98]{display:grid;gap:8px}.daily-modules article[data-v-c2961b98]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--tt-line-soft);border-radius:8px;background:var(--tt-surface)}.daily-modules article div[data-v-c2961b98]{display:grid;gap:3px;min-width:0}.daily-modules strong[data-v-c2961b98]{font-size:14px}.daily-modules span[data-v-c2961b98]{color:var(--tt-muted);font-size:12px;line-height:1.5}.daily-modules em[data-v-c2961b98]{flex-shrink:0;min-width:40px;color:var(--tt-accent-dark);font-style:normal;font-weight:700;text-align:right}.daily-detail-link[data-v-c2961b98]{width:100%;min-height:38px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-accent-dark);font-weight:700}.practice-summary[data-v-c2961b98]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.practice-summary div[data-v-c2961b98]{display:grid;gap:4px;padding:10px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft);text-align:center}.practice-summary span[data-v-c2961b98]{color:var(--tt-muted)}.practice-summary strong[data-v-c2961b98]{font-size:16px}ul[data-v-c2961b98]{list-style:none;padding:0;margin:0;display:grid;gap:10px}.practice-list li[data-v-c2961b98]{display:grid;gap:10px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);cursor:pointer}.practice-head[data-v-c2961b98]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.practice-head div[data-v-c2961b98]{display:grid;gap:3px;min-width:0}.practice-head strong[data-v-c2961b98]{font-size:15px}.practice-head span[data-v-c2961b98]{color:var(--tt-muted)}.state-pill[data-v-c2961b98]{flex-shrink:0;padding:4px 8px;border-radius:999px;font-style:normal;color:var(--tt-accent);background:var(--tt-accent-soft)}.state-pill.done[data-v-c2961b98]{color:var(--tt-success);background:var(--tt-success-soft)}.state-pill.warn[data-v-c2961b98]{color:var(--tt-danger);background:var(--tt-danger-soft)}li p[data-v-c2961b98]{margin:0;color:var(--tt-muted);line-height:1.6}.parent-note[data-v-c2961b98]{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--tt-accent-soft)}.parent-note strong[data-v-c2961b98]{color:var(--tt-accent-dark)}.parent-note span[data-v-c2961b98]{color:var(--tt-muted);line-height:1.6}.more[data-v-c2961b98]{color:var(--tt-accent);font-size:13px;font-style:normal}.sprint-summary[data-v-1d2a6d0e]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sprint-summary div[data-v-1d2a6d0e]{display:grid;gap:4px;padding:10px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft);text-align:center}.sprint-summary span[data-v-1d2a6d0e]{color:var(--tt-muted)}.sprint-summary strong[data-v-1d2a6d0e]{font-size:16px}ul[data-v-1d2a6d0e]{list-style:none;padding:0;margin:0;display:grid;gap:10px}.sprint-list li[data-v-1d2a6d0e]{display:grid;gap:10px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.sprint-head[data-v-1d2a6d0e]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sprint-head div[data-v-1d2a6d0e]{display:grid;gap:3px;min-width:0}.sprint-head strong[data-v-1d2a6d0e]{font-size:15px}.sprint-head span[data-v-1d2a6d0e]{color:var(--tt-muted)}.state-pill[data-v-1d2a6d0e]{flex-shrink:0;padding:4px 8px;border-radius:999px;font-style:normal;color:var(--tt-accent);background:var(--tt-accent-soft)}.state-pill.done[data-v-1d2a6d0e]{color:var(--tt-success);background:var(--tt-success-soft)}.state-pill.warn[data-v-1d2a6d0e]{color:var(--tt-danger);background:var(--tt-danger-soft)}li p[data-v-1d2a6d0e]{margin:0;color:var(--tt-muted);line-height:1.6}.parent-note[data-v-1d2a6d0e]{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--tt-accent-soft)}.parent-note strong[data-v-1d2a6d0e]{color:var(--tt-accent-dark)}.parent-note span[data-v-1d2a6d0e]{color:var(--tt-muted);line-height:1.6}.parent-plan-page[data-v-c3bd1b20]{color:var(--tt-ink)}.notice[data-v-c3bd1b20]{position:sticky;top:56px;z-index:20;margin:8px 0 0;border:1px solid var(--tt-line);border-radius:8px;padding:10px 12px;background:var(--tt-surface);box-shadow:var(--tt-shadow)}.notice.info[data-v-c3bd1b20]{border-color:var(--tt-line);color:var(--tt-accent-dark)}.notice.success[data-v-c3bd1b20]{border-color:var(--tt-success-line);background:var(--tt-success-soft);color:var(--tt-success)}.notice.error[data-v-c3bd1b20]{border-color:var(--tt-danger-line);background:var(--tt-danger-soft);color:var(--tt-danger)}.plan-overview[data-v-c3bd1b20]{gap:14px!important}.plan-controls[data-v-c3bd1b20]{display:grid;grid-template-columns:minmax(150px,1fr) auto;gap:10px;align-items:end}.plan-controls label[data-v-c3bd1b20]{gap:5px}.control-actions[data-v-c3bd1b20],.request-actions[data-v-c3bd1b20],.generate-dialog footer[data-v-c3bd1b20]{display:flex;gap:8px}.control-actions button[data-v-c3bd1b20],.request-actions button[data-v-c3bd1b20]{white-space:nowrap}.plan-stats[data-v-c3bd1b20]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-stats article[data-v-c3bd1b20],.subject-list article[data-v-c3bd1b20],.task-list li[data-v-c3bd1b20]{border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.plan-stats article[data-v-c3bd1b20]{display:grid;gap:4px;min-height:86px;align-content:center;padding:12px}.plan-stats span[data-v-c3bd1b20],.plan-stats em[data-v-c3bd1b20],.plan-meta[data-v-c3bd1b20],.task-head span[data-v-c3bd1b20],.subject-list span[data-v-c3bd1b20],.request-meta[data-v-c3bd1b20]{color:var(--tt-muted);font-style:normal}.plan-stats strong[data-v-c3bd1b20]{font-size:22px!important;line-height:1.1}.generation-card[data-v-c3bd1b20],.plan-card[data-v-c3bd1b20],.empty-card[data-v-c3bd1b20]{display:grid;gap:12px}.generation-head[data-v-c3bd1b20],.plan-head[data-v-c3bd1b20],.task-head[data-v-c3bd1b20],.section-head[data-v-c3bd1b20],.subject-list article[data-v-c3bd1b20]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.generation-head>div[data-v-c3bd1b20],.plan-head div[data-v-c3bd1b20],.task-head div[data-v-c3bd1b20],.subject-list article div[data-v-c3bd1b20]{display:grid;gap:4px;min-width:0}.generation-head h2[data-v-c3bd1b20],.generation-head p[data-v-c3bd1b20],.plan-head h2[data-v-c3bd1b20],.section-head h2[data-v-c3bd1b20],.plan-head p[data-v-c3bd1b20],.empty-card p[data-v-c3bd1b20],.task-list p[data-v-c3bd1b20]{margin:0}.generation-head p[data-v-c3bd1b20],.plan-head p[data-v-c3bd1b20],.empty-card p[data-v-c3bd1b20],.task-list p[data-v-c3bd1b20]{color:var(--tt-muted);line-height:1.6}.plan-meta[data-v-c3bd1b20],.request-meta[data-v-c3bd1b20]{display:flex;flex-wrap:wrap;gap:6px 12px}.status-pill[data-v-c3bd1b20],.state-pill[data-v-c3bd1b20],.request-pill[data-v-c3bd1b20]{flex-shrink:0;padding:4px 8px;border-radius:999px;background:var(--tt-accent-soft);color:var(--tt-accent);font-style:normal;white-space:nowrap}.request-pill.pending[data-v-c3bd1b20],.request-pill.running[data-v-c3bd1b20],.status-pill.paused[data-v-c3bd1b20],.state-pill.pending[data-v-c3bd1b20],.state-pill.in_progress[data-v-c3bd1b20]{background:var(--tt-warning-soft);color:var(--tt-warning)}.request-pill.success[data-v-c3bd1b20],.state-pill.done[data-v-c3bd1b20]{background:var(--tt-success-soft);color:var(--tt-success)}.request-pill.error[data-v-c3bd1b20]{background:var(--tt-danger-soft);color:var(--tt-danger)}.request-pill.muted[data-v-c3bd1b20],.state-pill.skipped[data-v-c3bd1b20],.status-pill.archived[data-v-c3bd1b20]{background:var(--tt-line-soft);color:var(--tt-muted)}.generation-progress[data-v-c3bd1b20]{height:8px;overflow:hidden;border-radius:999px;background:var(--tt-line-soft)}.generation-progress i[data-v-c3bd1b20]{display:block;height:100%;min-width:3px;border-radius:inherit;background:var(--tt-accent);transition:width .25s ease}.generation-progress i.active[data-v-c3bd1b20]{background:linear-gradient(90deg,var(--tt-accent),var(--tt-warning),var(--tt-accent));background-size:200% 100%;animation:progress-shimmer-c3bd1b20 1.4s linear infinite}.generation-steps[data-v-c3bd1b20]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.generation-step[data-v-c3bd1b20]{display:grid;gap:4px;min-width:0;border:1px solid var(--tt-line);border-radius:8px;padding:9px;background:var(--tt-surface-soft)}.generation-step span[data-v-c3bd1b20]{color:var(--tt-muted)}.generation-step.done[data-v-c3bd1b20]{border-color:var(--tt-success-line);background:var(--tt-success-soft)}.generation-step.active[data-v-c3bd1b20]{border-color:var(--tt-warning-line);background:var(--tt-warning-soft)}.generation-step.error[data-v-c3bd1b20]{border-color:var(--tt-danger-line);background:var(--tt-danger-soft)}.request-error[data-v-c3bd1b20]{margin:0;border:1px solid var(--tt-danger-line);border-radius:8px;padding:10px;background:var(--tt-danger-soft);color:var(--tt-danger);overflow-wrap:anywhere}.danger-btn[data-v-c3bd1b20]{background:var(--tt-danger-soft);color:var(--tt-danger)}.section-head[data-v-c3bd1b20]{align-items:center}.section-head span[data-v-c3bd1b20]{color:var(--tt-muted)}.task-list[data-v-c3bd1b20],.subject-list[data-v-c3bd1b20]{display:grid;gap:10px;padding:0;margin:0;list-style:none}.task-list li[data-v-c3bd1b20]{display:grid;gap:10px;padding:12px}.parent-note[data-v-c3bd1b20]{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--tt-accent-soft)}.parent-note strong[data-v-c3bd1b20]{color:var(--tt-accent-dark)}.parent-note span[data-v-c3bd1b20]{color:var(--tt-muted);line-height:1.6}.subject-list article[data-v-c3bd1b20]{align-items:center;padding:12px}.subject-list em[data-v-c3bd1b20]{color:var(--tt-accent);font-style:normal;font-weight:700}.dialog-backdrop[data-v-c3bd1b20]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#0f172a7a}.generate-dialog[data-v-c3bd1b20]{width:min(680px,100%);max-height:min(88vh,760px);overflow-y:auto;display:grid;gap:14px;border:1px solid var(--tt-line);border-radius:8px;padding:16px;background:var(--tt-surface);color:var(--tt-ink);box-shadow:var(--tt-shadow)}.generate-dialog header[data-v-c3bd1b20]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.generate-dialog header h2[data-v-c3bd1b20],.generate-dialog header p[data-v-c3bd1b20],.existing-plan-alert p[data-v-c3bd1b20],.generate-summary[data-v-c3bd1b20]{margin:0}.generate-dialog header p[data-v-c3bd1b20],.existing-plan-alert p[data-v-c3bd1b20],.existing-plan-alert span[data-v-c3bd1b20]{color:var(--tt-muted)}.icon-btn[data-v-c3bd1b20]{width:36px;min-height:36px;padding:0;border-radius:50%;background:var(--tt-line-soft);color:var(--tt-ink);font-size:22px!important}.existing-plan-alert[data-v-c3bd1b20]{display:grid;gap:6px;border:1px solid var(--tt-warning-line);border-radius:8px;padding:11px;background:var(--tt-warning-soft)}.existing-plan-alert.locked[data-v-c3bd1b20]{border-color:var(--tt-danger-line);background:var(--tt-danger-soft)}.form-grid[data-v-c3bd1b20]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subject-picker[data-v-c3bd1b20],.source-picker[data-v-c3bd1b20]{display:grid;gap:8px;min-width:0;margin:0;border:0;padding:0}.subject-picker legend[data-v-c3bd1b20],.source-picker legend[data-v-c3bd1b20]{margin-bottom:8px;padding:0;color:var(--tt-muted)}.subject-picker>div[data-v-c3bd1b20],.source-picker[data-v-c3bd1b20]{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-picker>div[data-v-c3bd1b20]{display:grid;gap:8px}.check-chip[data-v-c3bd1b20],.source-picker label[data-v-c3bd1b20]{display:flex;align-items:center;gap:6px;min-width:0;border:1px solid var(--tt-line);border-radius:8px;padding:8px;background:var(--tt-surface-soft);color:var(--tt-ink)}.check-chip input[data-v-c3bd1b20],.source-picker input[data-v-c3bd1b20]{width:16px;height:16px;flex:0 0 16px;margin:0;padding:0}.note-field[data-v-c3bd1b20]{display:grid;gap:6px}.generate-summary[data-v-c3bd1b20]{border-left:3px solid var(--tt-accent);padding-left:10px;color:var(--tt-muted);line-height:1.5}.generate-dialog footer[data-v-c3bd1b20]{justify-content:flex-end}@keyframes progress-shimmer-c3bd1b20{to{background-position:-200% 0}}@media(max-width:640px){.plan-controls[data-v-c3bd1b20]{grid-template-columns:1fr}.control-actions button[data-v-c3bd1b20]{flex:1}.generation-steps[data-v-c3bd1b20],.form-grid[data-v-c3bd1b20]{grid-template-columns:1fr}.dialog-backdrop[data-v-c3bd1b20]{align-items:end;padding:0}.generate-dialog[data-v-c3bd1b20]{width:100%;max-height:92vh;border-right:0;border-bottom:0;border-left:0;border-radius:8px 8px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.generate-dialog footer button[data-v-c3bd1b20]{flex:1}}.work-summary[data-v-8f619b8b]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.work-summary div[data-v-8f619b8b]{display:grid;gap:4px;padding:10px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft);text-align:center}.work-summary span[data-v-8f619b8b]{color:var(--tt-muted)}.work-summary strong[data-v-8f619b8b]{font-size:16px}.filters[data-v-8f619b8b]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filters button[data-v-8f619b8b],.filters input[data-v-8f619b8b]{border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-muted);border-radius:999px;padding:7px 10px;font-size:13px}.filters button.active[data-v-8f619b8b]{background:var(--tt-accent);border-color:var(--tt-accent);color:var(--tt-surface)}ul[data-v-8f619b8b]{list-style:none;padding:0;margin:0;display:grid;gap:10px}.work-list li[data-v-8f619b8b]{display:grid;gap:10px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);cursor:pointer}.work-head[data-v-8f619b8b]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.work-head div[data-v-8f619b8b]{display:grid;gap:3px;min-width:0}.work-head strong[data-v-8f619b8b]{font-size:15px}.work-head span[data-v-8f619b8b]{color:var(--tt-muted)}.state-pill[data-v-8f619b8b]{flex-shrink:0;padding:4px 8px;border-radius:999px;font-style:normal;color:var(--tt-accent);background:var(--tt-accent-soft)}.state-pill.warn[data-v-8f619b8b]{color:var(--tt-danger);background:var(--tt-danger-soft)}.state-pill.muted[data-v-8f619b8b]{color:var(--tt-muted);background:var(--tt-line-soft)}li p[data-v-8f619b8b]{margin:0;color:var(--tt-muted);line-height:1.6}.parent-note[data-v-8f619b8b]{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--tt-accent-soft)}.parent-note strong[data-v-8f619b8b]{color:var(--tt-accent-dark)}.parent-note span[data-v-8f619b8b]{color:var(--tt-muted);line-height:1.6}.report-card[data-v-8f619b8b]{display:grid;gap:7px;padding:10px;border:1px solid var(--tt-accent-soft);border-radius:8px;background:var(--tt-surface-soft)}.report-head[data-v-8f619b8b]{display:flex;align-items:center;justify-content:space-between;gap:10px}.report-head strong[data-v-8f619b8b]{color:var(--tt-ink);font-size:14px}.report-head span[data-v-8f619b8b]{flex-shrink:0;color:var(--tt-accent-dark);font-weight:700}.report-card p[data-v-8f619b8b]{color:var(--tt-muted);font-size:13px}.report-metrics[data-v-8f619b8b]{display:flex;flex-wrap:wrap;gap:6px}.report-metrics span[data-v-8f619b8b]{padding:3px 7px;border-radius:999px;background:var(--tt-surface);color:var(--tt-muted);font-size:12px}.more[data-v-8f619b8b]{color:var(--tt-accent);font-size:13px;font-style:normal}section[data-v-2653abdb]{display:grid;gap:12px}.secondary-link[data-v-2653abdb]{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:8px;background:var(--tt-accent-soft);color:var(--tt-accent-dark);text-decoration:none}section[data-v-0f0e2f58]{display:grid;gap:12px}.secondary-link[data-v-0f0e2f58]{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:8px;background:var(--tt-accent-soft);color:var(--tt-accent-dark);text-decoration:none}.code-input[data-v-0f0e2f58]{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px}.scan-button[data-v-0f0e2f58]{display:grid;place-items:center;min-height:42px;padding:0;border-radius:8px;background:var(--tt-accent-soft);color:var(--tt-accent)}.scan-button svg[data-v-0f0e2f58],.close-button svg[data-v-0f0e2f58]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.scanner-mask[data-v-0f0e2f58]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;align-items:end;padding:16px;background:#1018289e}.scanner-panel[data-v-0f0e2f58]{display:grid;gap:12px;width:100%;max-width:520px;margin:0 auto;padding:14px;border-radius:8px;background:var(--tt-surface)}.scanner-panel header[data-v-0f0e2f58]{display:flex;align-items:center;justify-content:space-between}.scanner-panel strong[data-v-0f0e2f58]{font-size:16px}.close-button[data-v-0f0e2f58]{display:grid;place-items:center;width:36px;min-height:36px;padding:0;border-radius:50%;background:transparent;color:var(--tt-muted)}.scanner-view[data-v-0f0e2f58]{position:relative;display:grid;place-items:center;overflow:hidden;min-height:260px;border-radius:8px;background:var(--tt-ink)}.scanner-view video[data-v-0f0e2f58]{width:100%;height:320px;object-fit:cover}.scan-frame[data-v-0f0e2f58]{position:absolute;width:min(68vw,220px);aspect-ratio:1;border:2px solid var(--tt-surface);border-radius:8px;box-shadow:0 0 0 999px #10182857}.scanner-view p[data-v-0f0e2f58]{position:absolute;right:12px;bottom:12px;left:12px;margin:0;color:var(--tt-surface);font-size:13px;line-height:1.5;text-align:center}section[data-v-27941557]{display:grid;gap:12px}section h2[data-v-27941557]{margin:0;font-size:16px}.head[data-v-27941557]{display:flex;justify-content:space-between;align-items:center}.relation-list[data-v-27941557]{display:grid;gap:10px;padding:0;margin:0;list-style:none}.relation-list li[data-v-27941557]{display:grid;gap:8px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface-soft)}.relation-list span[data-v-27941557]{color:var(--tt-muted);font-size:13px}.form-grid[data-v-27941557]{display:grid;gap:8px}.button-row[data-v-27941557]{display:flex;gap:8px;flex-wrap:wrap}.button-row button[data-v-27941557]{width:auto}.button-row .danger[data-v-27941557]{color:var(--tt-danger);border-color:var(--tt-danger-line)}.empty[data-v-27941557]{color:var(--tt-muted)}.profile[data-v-1229235e]{position:relative;display:flex;align-items:center;gap:14px;padding:18px 48px 4px 4px}.avatar[data-v-1229235e]{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--tt-accent),var(--tt-accent));color:var(--tt-surface);display:grid;place-items:center;font-size:22px;font-weight:700}.profile h1[data-v-1229235e]{margin:0 0 2px;font-size:20px}.profile p[data-v-1229235e]{margin:0;color:var(--tt-muted);font-size:13px}.settings-link[data-v-1229235e]{position:absolute;top:22px;right:4px;display:grid;place-items:center;width:36px;min-height:36px;border-radius:50%;color:var(--tt-muted);text-decoration:none}.settings-link[data-v-1229235e]:active{background:var(--tt-surface-soft);color:var(--tt-accent)}.settings-link svg[data-v-1229235e]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}section[data-v-1229235e]{display:grid;gap:12px}section h2[data-v-1229235e]{margin:0;font-size:16px}section h3[data-v-1229235e]{margin:0;font-size:14px}.head[data-v-1229235e]{display:flex;justify-content:space-between;align-items:center}.child-action-list[data-v-1229235e]{display:grid;gap:10px}.child-action[data-v-1229235e]{display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;padding:12px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);color:var(--tt-ink);text-decoration:none}.child-action[data-v-1229235e]:active{background:var(--tt-surface-soft)}.child-action strong[data-v-1229235e]{display:block;font-size:15px;line-height:1.4}.child-action em[data-v-1229235e]{display:block;margin-top:2px;color:var(--tt-muted);font-size:12px;font-style:normal}.child-icon[data-v-1229235e]{display:grid;place-items:center;width:42px;height:42px;border-radius:8px}.child-icon svg[data-v-1229235e],.chevron[data-v-1229235e]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.child-icon.create[data-v-1229235e]{background:var(--tt-accent-soft);color:var(--tt-accent)}.child-icon.bind[data-v-1229235e]{background:var(--tt-success-soft);color:var(--tt-success)}.child-icon.list[data-v-1229235e]{background:var(--tt-warning-soft);color:var(--tt-warning)}.chevron[data-v-1229235e]{width:18px;height:18px;color:var(--tt-muted)}.settings-page[data-v-e781bb69]{padding-top:14px}section[data-v-e781bb69]{display:grid;gap:12px}section h2[data-v-e781bb69]{margin:0}.account-row[data-v-e781bb69]{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px}.account-avatar[data-v-e781bb69]{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--tt-accent);color:var(--tt-on-accent);font-weight:700}.account-row strong[data-v-e781bb69],.account-row span[data-v-e781bb69]{display:block}.account-row span[data-v-e781bb69]{margin-top:2px;color:var(--tt-muted)}.theme-grid[data-v-e781bb69]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.theme-option[data-v-e781bb69]{display:grid;grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:9px;min-height:64px;padding:9px;border:1px solid var(--tt-line);background:var(--tt-surface);color:var(--tt-ink);text-align:left}.theme-option.active[data-v-e781bb69]{border-color:var(--tt-accent);background:var(--tt-accent-soft)}.theme-swatch[data-v-e781bb69]{width:30px;height:30px;border:1px solid var(--tt-line);border-radius:50%;background:linear-gradient(135deg,var(--theme-surface) 0 50%,var(--theme-accent) 51% 100%);box-shadow:inset 0 0 0 3px var(--tt-surface)}.theme-copy[data-v-e781bb69]{display:grid;min-width:0;gap:2px}.theme-copy strong[data-v-e781bb69]{color:var(--tt-ink);line-height:1.3}.theme-copy em[data-v-e781bb69]{color:var(--tt-muted);font-size:11px;font-style:normal;line-height:1.35}.theme-check[data-v-e781bb69]{color:var(--tt-accent-dark);font-size:16px;font-weight:700;text-align:center}.danger[data-v-e781bb69]{color:var(--tt-danger)}@media(max-width:380px){.theme-grid[data-v-e781bb69]{grid-template-columns:1fr}}.message-page[data-v-c42bc516]{min-height:calc(100vh - 64px);padding:0 0 16px;background:var(--tt-paper)}.message-nav[data-v-c42bc516]{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:48px 1fr 76px;align-items:center;min-height:52px;padding:6px 12px;background:var(--tt-surface);border-bottom:1px solid var(--tt-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-nav .nav-back[data-v-c42bc516]{width:40px;height:40px}.message-nav h1[data-v-c42bc516]{margin:0;overflow:hidden;color:var(--tt-ink);font-size:17px;font-weight:700;line-height:1.3;text-align:center;text-overflow:ellipsis;white-space:nowrap}.read-all[data-v-c42bc516]{min-height:34px;padding:0;border-radius:0;background:transparent;color:var(--tt-accent);font-size:13px;font-weight:500}.read-all[data-v-c42bc516]:disabled{color:var(--tt-muted);opacity:1}.message-overview[data-v-c42bc516]{padding:14px 16px 8px}.message-overview>div[data-v-c42bc516]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface)}.message-overview strong[data-v-c42bc516]{color:var(--tt-ink);font-size:15px}.message-overview span[data-v-c42bc516]{flex-shrink:0;color:var(--tt-muted);font-size:12px}.message-filters[data-v-c42bc516]{display:flex;gap:8px;padding:0 16px 12px;overflow-x:auto}.message-filters button[data-v-c42bc516]{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--tt-line);border-radius:999px;background:var(--tt-surface);color:var(--tt-muted);white-space:nowrap;font-size:12px;flex-shrink:0}.message-filters button.active[data-v-c42bc516]{border-color:var(--tt-accent);background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.message-filters em[data-v-c42bc516]{font-style:normal;font-weight:700}.message-list[data-v-c42bc516]{margin:0;padding:0 0 8px;list-style:none;background:var(--tt-surface);border-top:1px solid var(--tt-line);border-bottom:1px solid var(--tt-line)}.message-item[data-v-c42bc516]{position:relative;display:grid;grid-template-columns:18px 1fr;gap:4px;min-height:84px;padding:14px 16px 14px 12px;cursor:pointer}.message-item+.message-item[data-v-c42bc516]:before{content:"";position:absolute;top:0;right:16px;left:34px;border-top:1px solid var(--tt-line-soft)}.message-item.unread[data-v-c42bc516]{background:var(--tt-surface-soft)}.message-item[data-v-c42bc516]:active{background:var(--tt-accent-soft)}.status-dot[data-v-c42bc516]{width:8px;height:8px;margin:7px auto 0;border-radius:50%}.status-dot.visible[data-v-c42bc516]{background:var(--tt-danger)}.message-item article[data-v-c42bc516]{min-width:0}.message-item header[data-v-c42bc516]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.message-head[data-v-c42bc516]{display:grid;gap:3px;min-width:0}.message-item strong[data-v-c42bc516]{min-width:0;color:var(--tt-ink);font-size:15px;font-weight:700;line-height:1.45}.message-category[data-v-c42bc516]{color:var(--tt-muted);font-size:12px;line-height:1.4}.message-item time[data-v-c42bc516]{flex-shrink:0;color:var(--tt-muted);font-size:12px;line-height:22px;white-space:nowrap}.message-item p[data-v-c42bc516]{margin:6px 0 0;color:var(--tt-muted);font-size:14px;line-height:1.55}.message-state[data-v-c42bc516]{margin:24px 16px;padding:24px 16px;border:1px solid var(--tt-line);border-radius:8px;background:var(--tt-surface);text-align:center}*{box-sizing:border-box}:root,.app-shell{--tt-paper: #f5f2ea;--tt-surface: #fffdf8;--tt-surface-soft: #fafbf6;--tt-ink: #20332e;--tt-muted: #7e8d86;--tt-accent: #2f6c5b;--tt-accent-dark: #20493f;--tt-accent-soft: #e6f0e8;--tt-on-accent: #fffdf8;--tt-line: #dbe5dc;--tt-line-soft: #edf0ea;--tt-success: #067647;--tt-success-soft: #ecfdf3;--tt-success-line: #abefc6;--tt-warning: #b54708;--tt-warning-soft: #fff7ed;--tt-warning-line: #fed7aa;--tt-danger: #b42318;--tt-danger-soft: #fef3f2;--tt-danger-line: #fecdca;--tt-shadow: 0 10px 28px rgba(39, 63, 54, .1)}:root[data-theme=ocean],.app-shell[data-theme=ocean]{--tt-paper: #eef6ff;--tt-surface: #f8fbff;--tt-surface-soft: #edf6ff;--tt-ink: #172033;--tt-muted: #62708a;--tt-accent: #2563eb;--tt-accent-dark: #1d3f77;--tt-accent-soft: #dbeafe;--tt-on-accent: #f8fbff;--tt-line: #cdddf1;--tt-line-soft: #e4eefb;--tt-shadow: 0 10px 28px rgba(37, 99, 235, .12)}:root[data-theme=sunset],.app-shell[data-theme=sunset]{--tt-paper: #fff4e8;--tt-surface: #fffaf5;--tt-surface-soft: #fff2e5;--tt-ink: #382519;--tt-muted: #8a6d5b;--tt-accent: #d86435;--tt-accent-dark: #7a341d;--tt-accent-soft: #ffe2cf;--tt-on-accent: #fffaf5;--tt-line: #ead6c8;--tt-line-soft: #f1dfd2;--tt-shadow: 0 10px 28px rgba(154, 75, 39, .13)}:root[data-theme=graphite],.app-shell[data-theme=graphite]{color-scheme:dark;--tt-paper: #111827;--tt-surface: #18212f;--tt-surface-soft: #202b3a;--tt-ink: #eef5f4;--tt-muted: #a8b6c7;--tt-accent: #5eead4;--tt-accent-dark: #ccfbf1;--tt-accent-soft: rgba(20, 184, 166, .2);--tt-on-accent: #102a2a;--tt-line: #334155;--tt-line-soft: #2b384c;--tt-success: #6ee7b7;--tt-success-soft: rgba(16, 185, 129, .16);--tt-success-line: rgba(110, 231, 183, .38);--tt-warning: #facc6b;--tt-warning-soft: rgba(245, 158, 11, .16);--tt-warning-line: rgba(250, 204, 107, .4);--tt-danger: #fb8b74;--tt-danger-soft: rgba(239, 111, 91, .16);--tt-danger-line: rgba(251, 139, 116, .4);--tt-shadow: 0 14px 36px rgba(0, 0, 0, .34)}html,body,#app{min-height:100%;margin:0}.app-shell{min-height:100vh;background:var(--tt-paper);color:var(--tt-ink)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;background:var(--tt-paper);color:var(--tt-ink);transition:background-color .18s ease,color .18s ease}a,button,input,select,textarea{font:inherit}button,a{min-height:40px}button{border:0;border-radius:8px;background:var(--tt-accent);color:var(--tt-on-accent);padding:10px 14px;cursor:pointer}button:disabled{opacity:.65;cursor:not-allowed}button.secondary,.secondary{background:var(--tt-accent-soft);color:var(--tt-accent-dark)}input,select,textarea{width:100%;border:1px solid var(--tt-line);border-radius:8px;padding:10px 12px;background:var(--tt-surface);color:var(--tt-ink)}label{display:grid;gap:6px;color:var(--tt-muted)}.mobile-page,.auth-page{width:min(960px,100%);margin:0 auto;padding:12px 18px 18px}.nav-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;padding:0 16px;height:48px;background:var(--tt-surface);border-bottom:1px solid var(--tt-line)}.nav-back{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0;border:0;border-radius:50%;background:transparent;color:var(--tt-ink);cursor:pointer;flex-shrink:0}.nav-back:active{background:var(--tt-surface-soft)}.nav-title{flex:1;min-width:0;overflow:hidden}.nav-title h1{margin:0;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-title p{margin:0;font-size:12px;color:var(--tt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.nav-actions button{font-size:13px;min-height:32px;padding:6px 12px}.mobile-page>section,.auth-panel{margin-top:14px;background:var(--tt-surface);border:1px solid var(--tt-line);border-radius:8px;padding:16px}.mobile-page>section.page-stack{display:grid;gap:12px;margin-top:12px;padding:0;border:0;border-radius:0;background:transparent}.auth-page{min-height:100vh;display:grid;align-items:center}.auth-panel{display:grid;gap:14px}.topbar,.head,.button-row,.top-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.top-actions,.button-row{flex-wrap:wrap;justify-content:flex-start}.badge{background:var(--tt-danger);color:var(--tt-surface);border-radius:10px;padding:0 6px;margin-left:4px;font-size:.75em}.qr-img{display:block;margin:8px 0;width:220px;max-width:100%}.top-actions a,.actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:10px 14px;border-radius:8px;background:var(--tt-accent-soft);color:var(--tt-accent-dark);text-decoration:none}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button{background:var(--tt-accent-soft);color:var(--tt-accent-dark)}.segmented button.active{background:var(--tt-accent);color:var(--tt-on-accent)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.summary div,.daily-card,.code-box,.relation-list li{border:1px solid var(--tt-line);border-radius:8px;padding:12px;background:var(--tt-surface-soft)}.code-box{display:grid;gap:6px;margin-top:12px}.code-box strong{font-size:28px;letter-spacing:3px}.relation-list{display:grid;gap:10px;padding:0;list-style:none}.relation-list li{display:grid;gap:8px}.relation-list li.active{border-color:var(--tt-accent)}.data-grid article{border:1px solid var(--tt-line);border-radius:8px;padding:12px;background:var(--tt-surface)}.compact{display:grid;gap:8px;padding-left:18px}.compact p{margin:4px 0 0;color:var(--tt-muted)}.error{color:var(--tt-danger)}.message{color:var(--tt-success)}.empty,.muted{color:var(--tt-muted)}@media(max-width:640px){.topbar,.head{align-items:stretch;flex-direction:column}.summary{grid-template-columns:1fr}}body,.mobile-page,.auth-page{font-size:12px}.mobile-page h1,.mobile-page h2,.mobile-page h3,.mobile-page h4,.mobile-page h5,.mobile-page h6,.auth-page h1,.auth-page h2,.auth-page h3,.auth-page h4,.auth-page h5,.auth-page h6,.nav-title h1,.mobile-page strong,.auth-page strong{font-size:14px!important}.mobile-page p,.mobile-page span,.mobile-page em,.mobile-page small,.mobile-page li,.mobile-page label,.mobile-page input,.mobile-page select,.mobile-page textarea,.mobile-page button,.mobile-page a,.mobile-page time,.auth-page p,.auth-page span,.auth-page em,.auth-page small,.auth-page li,.auth-page label,.auth-page input,.auth-page select,.auth-page textarea,.auth-page button,.auth-page a,.auth-page time,.nav-title p,.nav-actions button,.bottom-tab .tab{font-size:12px!important}
