.panel[data-v-64b94267]{position:fixed;top:0;right:0;bottom:0;width:348px;max-width:88vw;background:var(--white);border-left:1px solid var(--green-line);box-shadow:-6px 0 28px #0f2b1c17;z-index:90;display:flex;flex-direction:column}.panel-head[data-v-64b94267]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--green-line);flex-shrink:0}.panel-title[data-v-64b94267]{display:flex;align-items:center;gap:8px;font-size:14.5px;color:var(--ink-2)}.panel-title b[data-v-64b94267]{font-weight:600}.badge[data-v-64b94267]{background:var(--green);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 5px}.btn.icon[data-v-64b94267]{padding:5px;display:flex}.panel-body[data-v-64b94267]{flex:1;overflow-y:auto;padding:12px;display:grid;gap:9px;align-content:start}.rem[data-v-64b94267]{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;border:1px solid var(--green-line);border-radius:var(--radius-sm);background:#fcfefd;padding:12px 13px;cursor:pointer;transition:all .15s}.rem[data-v-64b94267]:hover{border-color:var(--green);transform:translate(-2px);box-shadow:0 2px 8px #0f2b1c12}.rem.read[data-v-64b94267]{opacity:.52}.rem-icon[data-v-64b94267]{flex-shrink:0;margin-top:1px;color:var(--green)}.rem.warn .rem-icon[data-v-64b94267],.rem.danger .rem-icon[data-v-64b94267]{color:#b8862f}.rem-main[data-v-64b94267]{flex:1;min-width:0;display:grid;gap:3px}.rem-title[data-v-64b94267]{font-size:13px;color:var(--ink);font-weight:500}.rem-body[data-v-64b94267]{font-size:11.5px;color:var(--muted);line-height:1.5}.rem-act[data-v-64b94267]{font-size:11px;color:var(--green);flex-shrink:0;align-self:center;white-space:nowrap}.slide-enter-active[data-v-64b94267],.slide-leave-active[data-v-64b94267]{transition:transform .22s ease,opacity .22s}.slide-enter-from[data-v-64b94267],.slide-leave-to[data-v-64b94267]{transform:translate(100%);opacity:.4}.helptip[data-v-35d7c98c]{position:relative;display:inline-flex}.helptip-btn[data-v-35d7c98c]{width:20px;height:20px;border-radius:50%;border:1px solid var(--green-line);background:#fff;color:var(--muted);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:all .15s}.helptip-btn[data-v-35d7c98c]:hover,.helptip-btn.on[data-v-35d7c98c]{color:var(--green);border-color:var(--green);background:var(--green-soft)}.helptip-popup{position:fixed;z-index:220;width:300px;max-width:80vw;background:#fff;border:1px solid var(--green-line);border-radius:10px;box-shadow:0 10px 32px #0f2b1c2e;padding:12px 14px;font-size:12px;color:var(--ink);line-height:1.7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.overlay[data-v-e70928f5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#14281c6b;display:flex;align-items:center;justify-content:center;z-index:90;padding:20px}.modal[data-v-e70928f5]{background:#fff;border-radius:14px;width:min(640px,100%);max-height:86vh;display:flex;flex-direction:column;box-shadow:0 18px 50px #142d1e38;overflow:hidden}.head[data-v-e70928f5]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--green-line)}.head h2[data-v-e70928f5]{margin:0;font-size:16px;color:var(--ink-2)}.closebtn[data-v-e70928f5]{border:none;background:transparent;color:var(--muted);cursor:pointer;width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center}.closebtn[data-v-e70928f5]:hover{background:var(--green-soft);color:var(--green)}.body[data-v-e70928f5]{padding:16px 20px 20px;overflow-y:auto}.lead[data-v-e70928f5]{margin:0 0 14px;font-size:12.5px;color:var(--muted);line-height:1.6}.tpl-list[data-v-e70928f5]{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.tpl-row[data-v-e70928f5]{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid var(--green-line);background:#fbfdfb;border-radius:10px;padding:10px 14px;cursor:pointer;font-family:inherit;transition:border-color .15s}.tpl-row[data-v-e70928f5]:hover{border-color:var(--green)}.tpl-name[data-v-e70928f5]{font-size:13.5px;font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:6px}.tpl-badge[data-v-e70928f5]{font-style:normal;font-size:10px;font-weight:500;padding:1px 7px;border-radius:999px;background:#eef4fb;color:#234a72;border:1px solid #cfe0f0}.tpl-badge.custom[data-v-e70928f5]{background:var(--green-soft);color:var(--green);border-color:var(--green-line)}.tpl-badge.edited[data-v-e70928f5]{background:#fdf6e7;color:#9a6b13;border-color:#eed9a8}.tpl-desc[data-v-e70928f5]{font-size:12px;color:var(--muted)}.newbtn[data-v-e70928f5]{display:flex;align-items:center;gap:6px;width:100%;justify-content:center;border:1.5px dashed var(--green-mid);background:#fcfefd;color:var(--green);font-size:13px;font-weight:600;font-family:inherit;padding:11px;border-radius:10px;cursor:pointer}.newbtn[data-v-e70928f5]:hover{border-color:var(--green);background:var(--green-soft)}.edit-head[data-v-e70928f5]{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.field-inline[data-v-e70928f5]{display:flex;align-items:center;gap:10px}.field-inline label[data-v-e70928f5]{flex-shrink:0;width:72px;font-size:12.5px;color:var(--ink-2)}.field-inline input[data-v-e70928f5]{flex:1;min-width:0}.builtin-tip[data-v-e70928f5]{font-size:12px;color:var(--muted)}.section-title[data-v-e70928f5]{font-size:12.5px;font-weight:600;color:var(--ink-2);margin:12px 0 8px}.edit-table[data-v-e70928f5]{display:flex;flex-direction:column;gap:6px}.edit-row[data-v-e70928f5]{display:flex;gap:6px;align-items:center}.edit-row input[data-v-e70928f5]{border:1px solid var(--green-line);border-radius:8px;background:#fff;font-family:inherit;font-size:13px;color:var(--ink);padding:7px 10px}.edit-row input.t[data-v-e70928f5]{width:132px;flex-shrink:0}.edit-row input.w[data-v-e70928f5]{flex:1;min-width:0}.edit-row input[data-v-e70928f5]:focus{outline:none;border-color:var(--green)}.edit-row .del[data-v-e70928f5]{border:none;background:transparent;color:#b9c3bb;width:26px;height:26px;border-radius:7px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.edit-row .del[data-v-e70928f5]:hover{color:#c25a4a;background:#faeeec}.addrow[data-v-e70928f5]{border:1.5px dashed var(--green-line);background:transparent;color:var(--green);font-size:12.5px;font-family:inherit;padding:7px;border-radius:8px;cursor:pointer}.addrow[data-v-e70928f5]:hover{border-color:var(--green);background:var(--green-soft)}.foot[data-v-e70928f5]{display:flex;align-items:center;gap:8px;margin-top:18px}.foot .spacer[data-v-e70928f5]{flex:1}.foot .danger[data-v-e70928f5]{border:1px solid #eed9a8;background:#fdf6e7;color:#9a6b13;font-size:12.5px;font-family:inherit;padding:8px 14px;border-radius:9px;cursor:pointer}.foot .danger[data-v-e70928f5]:hover{background:#fbeccb}.foot .ghost[data-v-e70928f5],.foot .primary[data-v-e70928f5]{font-size:13px;font-family:inherit;padding:8px 18px;border-radius:9px;cursor:pointer}.foot .ghost[data-v-e70928f5]{border:1px solid var(--green-line);background:#fff;color:var(--ink-2)}.foot .primary[data-v-e70928f5]{border:1px solid var(--green);background:var(--green);color:#fff;font-weight:600}.fade-enter-active[data-v-e70928f5],.fade-leave-active[data-v-e70928f5]{transition:opacity .16s}.fade-enter-from[data-v-e70928f5],.fade-leave-to[data-v-e70928f5]{opacity:0}.time-cell[data-v-be01a905]{position:relative;display:flex;align-items:center}.time-cell .cell-input[data-v-be01a905]{padding-right:20px;min-width:0}.time-btn[data-v-be01a905]{position:absolute;right:1px;border:none;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;padding:2px 3px;border-radius:4px}.time-btn[data-v-be01a905]:hover{color:var(--green);background:var(--green-soft)}tr.drop-target td[data-v-be01a905]{background:var(--green-soft)!important}tr.drop-target td[data-v-be01a905]:first-child{box-shadow:inset 2px 0 0 var(--green)}.tp-floating{position:fixed;z-index:9999}.tp-floating .panel-list{max-height:192px;overflow-y:auto;scrollbar-width:thin}.tp-floating .time-opt{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--ink);font-family:inherit;font-size:11.5px;padding:5px 8px;border-radius:5px;cursor:pointer;line-height:1.4}.tp-floating .time-opt:hover{background:var(--green-soft)}.tp-floating .time-opt.cur{color:var(--green);font-weight:600;background:var(--green-soft)}.tp-panel{position:absolute;z-index:9999;background:#fff;border:1px solid var(--green-line);border-radius:9px;box-shadow:0 8px 24px #142d1e29;width:104px;padding:3px}.tp-panel .panel-tabs{display:flex;gap:2px;padding:2px;border-bottom:1px solid var(--green-line);margin-bottom:3px}.tp-panel .panel-tab{flex:1;border:none;background:transparent;color:var(--muted);font-family:inherit;font-size:11px;padding:3px 0;border-radius:5px;cursor:pointer}.tp-panel .panel-tab.on{background:var(--green-soft);color:var(--green);font-weight:600}.tp-panel .panel-list{max-height:192px;overflow-y:auto;scrollbar-width:thin}.tp-panel .time-opt{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--ink);font-family:inherit;font-size:11.5px;padding:5px 8px;border-radius:5px;cursor:pointer;line-height:1.4}.tp-panel .time-opt:hover{background:var(--green-soft)}.tp-panel .time-opt.cur{color:var(--green);font-weight:600;background:var(--green-soft)}.check-cell[data-v-33f2154d]{position:relative;display:inline-flex}.mini-tools[data-v-33f2154d]{position:absolute;top:-7px;right:-4px;display:inline-flex;gap:2px;z-index:3;opacity:.3;transition:opacity .12s}.check-cell:hover .mini-tools[data-v-33f2154d]{opacity:1}.mini[data-v-33f2154d]{width:18px;height:18px;border:1px solid var(--green-line);background:#fff;color:var(--muted);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.mini[data-v-33f2154d]:hover{color:var(--green);border-color:var(--green)}.mini.danger[data-v-33f2154d]:hover{color:#c25a4a;border-color:#e2b3aa;background:#fdf1ef}.check.renaming[data-v-33f2154d]{display:inline-flex;align-items:center;gap:6px;cursor:default}.check.renaming input[data-v-33f2154d]{border:1px solid var(--green);border-radius:7px;background:#fff;font-family:inherit;font-size:12px;color:var(--ink);padding:5px 8px;width:130px}.check.renaming input[data-v-33f2154d]:focus{outline:none}.td-todos[data-v-54cbb82d]{display:flex;flex-direction:column;gap:8px}.td-list[data-v-54cbb82d]{display:flex;flex-direction:column;gap:6px}.todo-row[data-v-54cbb82d]{display:flex;align-items:flex-start;gap:6px}.todo-row.dragging[data-v-54cbb82d]{opacity:.45}.todo-row .check[data-v-54cbb82d]{flex:1;min-width:0;text-align:left;align-items:flex-start;height:auto;min-height:32px;cursor:grab}.todo-row .check[data-v-54cbb82d]:active{cursor:grabbing}.todo-row .check .txt[data-v-54cbb82d]{white-space:normal;word-break:break-all;line-height:1.5}.todo-tag[data-v-54cbb82d]{font-style:normal;font-size:10px;color:#234a72;background:#eef4fb;border:1px solid #cfe0f0;border-radius:999px;padding:1px 7px;flex-shrink:0}.todo-tag.urgent[data-v-54cbb82d]{color:#c2452f;background:#fdf1ef;border-color:#f0d5d0}.todo-tag.ddl[data-v-54cbb82d]{color:#7a5a12;background:#fdf6e7;border-color:#ecd9ae}.sched-btn[data-v-54cbb82d]{border:1px dashed var(--green-line);background:#fff;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;flex-shrink:0;margin-top:4px}.sched-btn[data-v-54cbb82d]:hover{color:var(--green);border-color:var(--green);background:var(--green-soft)}.sched-mark[data-v-54cbb82d]{font-size:10px;color:var(--green);background:var(--green-soft);border-radius:999px;padding:2px 7px;flex-shrink:0;margin-top:8px;white-space:nowrap}.td-empty[data-v-54cbb82d]{margin:0;font-size:12.5px;color:var(--muted);padding:6px 2px}.td-done[data-v-54cbb82d]{display:flex;flex-direction:column;gap:4px;padding-top:4px;border-top:1px dashed var(--green-line)}.done-row[data-v-54cbb82d]{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.done-row svg[data-v-54cbb82d]{color:var(--green);flex-shrink:0}.done-row .txt[data-v-54cbb82d]{flex:1;min-width:0;text-decoration:line-through;text-decoration-color:#b9c3bb}.undo-mini[data-v-54cbb82d]{border:none;background:transparent;color:#b9c3bb;cursor:pointer;display:inline-flex;padding:3px;border-radius:5px}.undo-mini[data-v-54cbb82d]:hover{color:var(--green)}.td-add[data-v-54cbb82d]{display:flex;gap:8px}.td-add input[data-v-54cbb82d]{flex:1;min-width:0;border:1px dashed var(--green-mid);border-radius:8px;background:#fff;font-family:inherit;font-size:12.5px;color:var(--ink);padding:7px 10px}.td-add input[data-v-54cbb82d]:focus{outline:none;border-style:solid;border-color:var(--green)}.ddl-input[data-v-54cbb82d]{flex:0 0 96px!important;min-width:0;border:1px dashed var(--green-line);border-radius:8px;background:#fff;font-family:inherit;font-size:12px;color:var(--ink-2);padding:7px 6px!important}.td-foot[data-v-54cbb82d]{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11.5px;color:var(--muted)}.overdue-link[data-v-54cbb82d]{color:#c98a1b}.linkbtn[data-v-54cbb82d]{border:none;background:transparent;color:var(--green);font-family:inherit;font-size:11.5px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:0}.linkbtn[data-v-54cbb82d]:hover{text-decoration:underline}.ai-btn[data-v-cc801725]{display:flex;align-items:center;gap:12px;width:100%;border:1.5px dashed var(--green-mid);background:#fcfefd;border-radius:var(--radius);padding:16px 18px;cursor:pointer;text-align:left;transition:all .16s}.ai-btn[data-v-cc801725]:hover:not(:disabled){border-color:var(--green);background:#f7fbf8}.ai-btn[data-v-cc801725]:disabled{opacity:.7;cursor:wait}.ai-ic[data-v-cc801725]{color:var(--green);flex-shrink:0}.ai-tx[data-v-cc801725]{min-width:0}.ai-main[data-v-cc801725]{display:block;font-size:13.5px;font-weight:500;color:var(--ink-2)}.ai-sub[data-v-cc801725]{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.45}.ai-out[data-v-cc801725]{display:block}.ai-verdict[data-v-cc801725]{font-size:14px;font-weight:600;color:var(--ink-2);line-height:1.5}.ai-insight[data-v-cc801725]{display:flex;align-items:flex-start;gap:6px;margin-top:7px;font-size:12px;color:var(--amber);line-height:1.5}.ai-insight svg[data-v-cc801725]{flex-shrink:0;margin-top:3px}.ai-line[data-v-cc801725]{display:flex;gap:8px;font-size:12.5px;line-height:1.5}.ai-k[data-v-cc801725]{color:var(--muted);flex-shrink:0;width:52px;font-size:12px}.ai-v[data-v-cc801725]{color:var(--ink);min-width:0}.ai-enc[data-v-cc801725]{margin-top:12px;padding:10px 12px;background:var(--green-soft);border:1px solid var(--green-line);border-radius:var(--radius-sm);font-size:12.5px;color:var(--ink-2);line-height:1.55}.btn.primary[data-v-cc801725]{flex-shrink:0}.ai-todo[data-v-cc801725]{width:100%;text-align:left;cursor:pointer;font-family:inherit}.ai-todo .txt[data-v-cc801725]{flex:1;min-width:0}.ai-track[data-v-cc801725]{font-size:10.5px;padding:1px 7px;border-radius:999px;background:#eef4fb;color:#234a72;border:1px solid #cfe0f0;flex-shrink:0}.chip[data-v-1bc32519]{display:inline-block;font-size:11.5px;padding:2px 9px;border-radius:999px;border:1px solid}.chip.good[data-v-1bc32519]{color:#14532d;background:#e8f2ea;border-color:#a8d0b2}.chip.mid[data-v-1bc32519]{color:#6b4f16;background:#fdf7e8;border-color:#e8d5a4}.chip.bad[data-v-1bc32519]{color:#7a2f2f;background:#fbecec;border-color:#e8b8b8}textarea[data-v-1bc32519]{min-height:56px}.num-cell[data-v-023e3778]{white-space:nowrap;font-variant-numeric:tabular-nums}.bar[data-v-023e3778]{height:7px;background:var(--green-soft);border-radius:4px;overflow:hidden;min-width:60px}.bar-fill[data-v-023e3778]{height:100%;background:var(--green);border-radius:4px}textarea[data-v-023e3778]{min-height:54px}.link-hint[data-v-d98a6fc0]{display:flex;align-items:center;gap:6px;margin:8px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}.link-hint svg[data-v-d98a6fc0]{flex-shrink:0;color:var(--green)}.filterbar[data-v-d98a6fc0]{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--green-line);flex-wrap:wrap}.fbtn[data-v-d98a6fc0]{border:1px solid var(--green-mid);background:#fff;border-radius:999px;padding:4px 12px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .14s}.fbtn[data-v-d98a6fc0]:hover{border-color:var(--green);color:var(--ink-2)}.fbtn.on[data-v-d98a6fc0]{background:var(--ink-2);border-color:var(--ink-2);color:#fff}.todolist[data-v-d98a6fc0]{list-style:none;margin:0;padding:0}.todo[data-v-d98a6fc0]{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid var(--green-line);transition:background .14s}.todo[data-v-d98a6fc0]:hover{background:#fbfdfb}.todo.overdue[data-v-d98a6fc0]{background:#fdfaf3}.todo.overdue[data-v-d98a6fc0]:hover{background:#fbf5e8}.todo.done[data-v-d98a6fc0]{opacity:.55}.todo.done .todo-text[data-v-d98a6fc0]{text-decoration:line-through}.todo.editing[data-v-d98a6fc0]{background:var(--green-soft)}.tick[data-v-d98a6fc0]{width:20px;height:20px;flex-shrink:0;border:1.6px solid var(--green-mid);background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .14s}.tick[data-v-d98a6fc0]:hover{border-color:var(--green);transform:scale(1.1)}.tick.on[data-v-d98a6fc0]{background:var(--green);border-color:var(--green)}.todo-main[data-v-d98a6fc0]{flex:1;cursor:pointer;min-width:0}.todo-text[data-v-d98a6fc0]{font-size:13.5px;color:var(--ink);line-height:1.5;word-break:break-word}.todo-meta[data-v-d98a6fc0]{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.tag[data-v-d98a6fc0]{font-size:10.5px;padding:1px 7px;border-radius:999px;background:var(--green-soft);color:var(--ink-2);border:1px solid var(--green-line);white-space:nowrap}.tag.danger[data-v-d98a6fc0]{background:#fbecec;color:#8a3030;border-color:#e8bcbc}.tag.track[data-v-d98a6fc0]{background:#eef4fb;color:#234a72;border-color:#cfe0f0}.tag.today[data-v-d98a6fc0]{background:var(--green);color:#fff;border-color:var(--green)}.tag.note[data-v-d98a6fc0]{background:#f6f4ee;color:#6a6350;border-color:#e4dfd0;max-width:220px;overflow:hidden;text-overflow:ellipsis}.iconbtn[data-v-d98a6fc0]{border:1px solid transparent;background:transparent;width:28px;height:28px;border-radius:6px;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .14s}.iconbtn[data-v-d98a6fc0]:hover{background:var(--green-soft);color:var(--ink-2);border-color:var(--green-line)}.iconbtn.danger[data-v-d98a6fc0]:hover{background:#fbecec;color:#8a3030;border-color:#e8bcbc}.clearbar[data-v-d98a6fc0]{padding:10px 16px;display:flex;justify-content:flex-end}.prio[data-v-9a9c9837]{display:flex;flex-direction:column;gap:16px}.prio-head[data-v-9a9c9837]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.head-text h2[data-v-9a9c9837]{margin:0 0 6px;font-size:19px;color:var(--ink-2)}.head-text p[data-v-9a9c9837]{margin:0;font-size:13px;color:var(--muted)}.add-btn[data-v-9a9c9837]{display:inline-flex;align-items:center;gap:6px;border:none;background:var(--green);color:#fff;font-family:inherit;font-size:13px;font-weight:600;padding:9px 18px;border-radius:10px;cursor:pointer}.add-btn[data-v-9a9c9837]:hover{background:var(--green-mid)}.form-grid[data-v-9a9c9837]{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.field[data-v-9a9c9837]{display:flex;flex-direction:column;gap:4px}.field.span2[data-v-9a9c9837]{grid-column:span 2}.field label[data-v-9a9c9837]{font-size:12px;color:var(--ink-2);font-weight:600}.field .hint[data-v-9a9c9837]{font-weight:400;color:var(--muted);margin-left:4px}.field input[data-v-9a9c9837],.field select[data-v-9a9c9837]{border:1px solid var(--green-line);border-radius:8px;background:#fff;font-family:inherit;font-size:13px;color:var(--ink);padding:7px 10px}.field input[data-v-9a9c9837]:focus,.field select[data-v-9a9c9837]:focus{outline:none;border-color:var(--green)}.form-foot[data-v-9a9c9837]{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.btn[data-v-9a9c9837]{font-family:inherit;font-size:13px;padding:8px 18px;border-radius:9px;cursor:pointer}.btn.ghost[data-v-9a9c9837]{border:1px solid var(--green-line);background:#fff;color:var(--ink-2)}.btn.primary[data-v-9a9c9837]{border:1px solid var(--green);background:var(--green);color:#fff;font-weight:600}.rank-list[data-v-9a9c9837]{display:flex;flex-direction:column;gap:12px}.rank-card[data-v-9a9c9837]{background:#fff;border:1px solid var(--green-line);border-left:4px solid var(--green);border-radius:12px;padding:14px 16px}.rank-card.tone-danger[data-v-9a9c9837]{border-left-color:#c2452f}.rank-card.tone-warn[data-v-9a9c9837]{border-left-color:#c98a1b}.rank-card.tone-mid[data-v-9a9c9837]{border-left-color:#3a7d5c}.rank-card.tone-low[data-v-9a9c9837]{border-left-color:#9fb3a5}.rank-top[data-v-9a9c9837]{display:flex;align-items:center;gap:12px}.rank-no[data-v-9a9c9837]{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--green-soft);border:1px solid var(--green-line);color:var(--green);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.rank-title[data-v-9a9c9837]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rank-title b[data-v-9a9c9837]{font-size:14.5px;color:var(--ink-2)}.rank-meta[data-v-9a9c9837]{font-size:11.5px;color:var(--muted)}.rank-score[data-v-9a9c9837]{flex-shrink:0;text-align:right}.rank-score em[data-v-9a9c9837]{display:block;font-style:normal;font-size:24px;font-weight:700;color:var(--green);line-height:1.1}.tone-danger .rank-score em[data-v-9a9c9837]{color:#c2452f}.tone-warn .rank-score em[data-v-9a9c9837]{color:#c98a1b}.rank-score span[data-v-9a9c9837]{font-size:11px;color:var(--muted)}.dims[data-v-9a9c9837]{display:flex;gap:10px;margin:12px 0 10px;flex-wrap:wrap}.dim[data-v-9a9c9837]{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.dim-name[data-v-9a9c9837]{flex-shrink:0}.dim-bar[data-v-9a9c9837]{width:52px;height:6px;background:#eef3ee;border-radius:99px;overflow:hidden}.dim-bar i[data-v-9a9c9837]{display:block;height:100%;background:var(--green-mid);border-radius:99px}.reasons[data-v-9a9c9837]{list-style:none;margin:0 0 4px;padding:10px 12px;background:var(--green-soft);border-radius:9px;display:flex;flex-direction:column;gap:5px}.reasons li[data-v-9a9c9837]{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;color:var(--ink-2);line-height:1.55}.reasons svg[data-v-9a9c9837]{flex-shrink:0;margin-top:3px;color:var(--green)}.rank-actions[data-v-9a9c9837]{display:flex;gap:6px;margin-top:10px}.act[data-v-9a9c9837]{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--green-line);background:#fff;color:var(--ink-2);font-family:inherit;font-size:12px;padding:5px 12px;border-radius:8px;cursor:pointer}.act[data-v-9a9c9837]:hover{border-color:var(--green);color:var(--green)}.act.danger[data-v-9a9c9837]:hover{border-color:#e2b3aa;color:#c25a4a}.edit-panel[data-v-9a9c9837]{margin-top:12px;padding-top:12px;border-top:1px dashed var(--green-line)}.empty[data-v-9a9c9837]{text-align:center;padding:60px 20px;color:var(--muted)}.empty svg[data-v-9a9c9837]{opacity:.5;margin-bottom:12px}.empty p[data-v-9a9c9837]{font-size:13px;line-height:1.7;margin:0}.missed-list[data-v-9a9c9837],.done-list[data-v-9a9c9837]{display:flex;flex-direction:column;gap:8px}.missed-row[data-v-9a9c9837]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#fdf6ee;border:1px solid #f0e2c8;border-radius:9px}.missed-main[data-v-9a9c9837]{display:flex;flex-direction:column;gap:2px;min-width:0}.missed-main b[data-v-9a9c9837]{font-size:13px;color:var(--ink-2)}.missed-main span[data-v-9a9c9837]{font-size:11.5px;color:#9a6b13}.missed-actions[data-v-9a9c9837]{display:flex;gap:6px;flex-shrink:0}.done-row[data-v-9a9c9837]{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:13px;color:var(--muted)}.done-row svg[data-v-9a9c9837]{color:var(--green);flex-shrink:0}.done-name[data-v-9a9c9837]{flex:1;min-width:0;text-decoration:line-through;text-decoration-color:#b9c3bb}.ms[data-v-476cf0a2]{display:flex;flex-direction:column;gap:16px}.ms-head[data-v-476cf0a2]{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.head-text h2[data-v-476cf0a2]{margin:0 0 6px;font-size:19px;color:var(--ink-2)}.head-text p[data-v-476cf0a2]{margin:0;font-size:13px;color:var(--muted)}.head-actions[data-v-476cf0a2]{display:flex;gap:8px;flex-wrap:wrap}.ai-btn[data-v-476cf0a2]{display:inline-flex;align-items:center;gap:6px;border:1.5px dashed var(--green-mid);background:#fcfefd;color:var(--green);font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;border-radius:10px;cursor:pointer}.ai-btn[data-v-476cf0a2]:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}.ai-btn[data-v-476cf0a2]:disabled{opacity:.5;cursor:default}.add-btn[data-v-476cf0a2]{display:inline-flex;align-items:center;gap:6px;border:none;background:var(--green);color:#fff;font-family:inherit;font-size:13px;font-weight:600;padding:8px 18px;border-radius:10px;cursor:pointer}.add-btn[data-v-476cf0a2]:hover{background:var(--green-mid)}.ai-error[data-v-476cf0a2]{display:flex;align-items:center;gap:6px;margin:0;font-size:12.5px;color:#c2452f;background:#fdf1ef;border:1px solid #f0d5d0;border-radius:9px;padding:8px 12px}.statbar[data-v-476cf0a2]{display:flex;gap:20px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--green-line);border-radius:12px;padding:14px 18px}.stat[data-v-476cf0a2]{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px}.stat em[data-v-476cf0a2]{font-style:normal;font-size:24px;font-weight:700;color:var(--green);line-height:1.1}.stat span[data-v-476cf0a2]{font-size:11px;color:var(--muted)}.catbar[data-v-476cf0a2]{flex:1;min-width:180px;display:flex;flex-direction:column;gap:4px}.cat-row[data-v-476cf0a2]{display:flex;align-items:center;gap:8px;font-size:11px}.cat-label[data-v-476cf0a2]{width:30px;flex-shrink:0;font-weight:600}.cat-track[data-v-476cf0a2]{flex:1;height:6px;background:#eef3ee;border-radius:99px;overflow:hidden}.cat-track i[data-v-476cf0a2]{display:block;height:100%;border-radius:99px}.cat-n[data-v-476cf0a2]{width:20px;text-align:right;color:var(--muted)}.story[data-v-476cf0a2]{display:flex;flex-direction:column;gap:10px}.story-headline[data-v-476cf0a2]{font-size:17px;font-weight:700;color:var(--ink-2)}.story-body[data-v-476cf0a2]{margin:0;font-size:13.5px;color:var(--ink-2);line-height:1.8}.story-spark[data-v-476cf0a2]{display:flex;align-items:center;gap:7px;background:var(--green-soft);border-radius:9px;padding:9px 12px;font-size:12.5px;color:var(--ink-2)}.story-spark svg[data-v-476cf0a2]{flex-shrink:0;color:var(--green)}.ai-parse[data-v-476cf0a2]{display:flex;flex-direction:column;gap:10px}.ai-parse textarea[data-v-476cf0a2]{border:1px solid var(--green-line);border-radius:9px;background:#fff;font-family:inherit;font-size:13.5px;color:var(--ink);padding:10px 12px;resize:vertical;line-height:1.6}.ai-parse textarea[data-v-476cf0a2]:focus{outline:none;border-color:var(--green)}.ai-parse-foot[data-v-476cf0a2]{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-parse-foot .hint[data-v-476cf0a2]{font-size:11.5px;color:var(--muted)}.parse-result[data-v-476cf0a2]{display:flex;flex-direction:column;gap:10px}.parse-head[data-v-476cf0a2]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.parse-head b[data-v-476cf0a2]{font-size:14.5px;color:var(--ink-2)}.imp-badge[data-v-476cf0a2]{font-size:10px;font-weight:600;padding:1px 8px;border-radius:999px;border:1px solid}.imp-badge.imp1[data-v-476cf0a2]{color:#5a7a68;background:#eef4ee;border-color:#cfe2d2}.imp-badge.imp2[data-v-476cf0a2]{color:#234a72;background:#eef4fb;border-color:#cfe0f0}.imp-badge.imp3[data-v-476cf0a2]{color:#9a6b13;background:#fdf6e7;border-color:#eed9a8}.cat-badge[data-v-476cf0a2]{font-size:11px;font-weight:600}.parse-detail[data-v-476cf0a2]{margin:0;font-size:13px;color:var(--ink-2);line-height:1.7}.parse-meta[data-v-476cf0a2]{font-size:11.5px;color:var(--muted)}.parse-foot[data-v-476cf0a2],.form-foot[data-v-476cf0a2]{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.btn[data-v-476cf0a2]{font-family:inherit;font-size:13px;padding:8px 18px;border-radius:9px;cursor:pointer}.btn.ghost[data-v-476cf0a2]{border:1px solid var(--green-line);background:#fff;color:var(--ink-2)}.btn.primary[data-v-476cf0a2]{border:1px solid var(--green);background:var(--green);color:#fff;font-weight:600}.form-grid[data-v-476cf0a2]{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.field[data-v-476cf0a2]{display:flex;flex-direction:column;gap:4px}.field.span2[data-v-476cf0a2]{grid-column:span 2}.field label[data-v-476cf0a2]{font-size:12px;color:var(--ink-2);font-weight:600}.field .hint[data-v-476cf0a2]{font-weight:400;color:var(--muted);margin-left:4px}.field input[data-v-476cf0a2],.field select[data-v-476cf0a2]{border:1px solid var(--green-line);border-radius:8px;background:#fff;font-family:inherit;font-size:13px;color:var(--ink);padding:7px 10px}.field input[data-v-476cf0a2]:focus,.field select[data-v-476cf0a2]:focus{outline:none;border-color:var(--green)}.recall[data-v-476cf0a2]{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.recall-date[data-v-476cf0a2]{font-size:11.5px;color:var(--muted)}.recall-title[data-v-476cf0a2]{font-size:15px;font-weight:700;color:var(--ink-2)}.recall-detail[data-v-476cf0a2]{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}.timeline[data-v-476cf0a2]{display:flex;flex-direction:column;gap:20px}.tl-month-head[data-v-476cf0a2]{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px dashed var(--green-line)}.tl-month-name[data-v-476cf0a2]{font-size:15px;font-weight:700;color:var(--ink-2)}.tl-month-count[data-v-476cf0a2]{font-size:11.5px;color:var(--muted)}.tl-item[data-v-476cf0a2]{position:relative;padding-left:22px;margin-bottom:10px}.tl-dot[data-v-476cf0a2]{position:absolute;left:4px;top:16px;width:9px;height:9px;border-radius:50%;background:var(--green-mid);border:2px solid #fff;box-shadow:0 0 0 1px var(--green-line)}.tl-item.imp2 .tl-dot[data-v-476cf0a2]{background:#4a7fb5}.tl-item.imp3 .tl-dot[data-v-476cf0a2]{background:#c98a1b;width:11px;height:11px;left:3px}.tl-card[data-v-476cf0a2]{background:#fff;border:1px solid var(--green-line);border-radius:11px;padding:12px 14px}.tl-item.imp3 .tl-card[data-v-476cf0a2]{border-color:#eed9a8;background:#fffdf5}.tl-head[data-v-476cf0a2]{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tl-head b[data-v-476cf0a2]{font-size:14px;color:var(--ink-2)}.tl-date[data-v-476cf0a2]{margin-left:auto;font-size:11.5px;color:var(--muted)}.tl-detail[data-v-476cf0a2]{margin:6px 0 0;font-size:12.5px;color:var(--muted);line-height:1.65}.tl-actions[data-v-476cf0a2]{display:flex;gap:6px;margin-top:10px}.act[data-v-476cf0a2]{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--green-line);background:#fff;color:var(--ink-2);font-family:inherit;font-size:12px;padding:5px 12px;border-radius:8px;cursor:pointer}.act[data-v-476cf0a2]:hover{border-color:var(--green);color:var(--green)}.act.danger[data-v-476cf0a2]:hover{border-color:#e2b3aa;color:#c25a4a}.edit-panel[data-v-476cf0a2]{margin-top:12px;padding-top:12px;border-top:1px dashed var(--green-line)}.empty[data-v-476cf0a2]{text-align:center;padding:60px 20px;color:var(--muted)}.empty svg[data-v-476cf0a2]{opacity:.5;margin-bottom:12px}.empty p[data-v-476cf0a2]{font-size:13px;line-height:1.7;margin:0}.filterbar[data-v-e299e789]{display:flex;gap:6px;padding:12px 16px;border-bottom:1px solid var(--green-line)}.fbtn[data-v-e299e789]{border:1px solid var(--green-mid);background:#fff;border-radius:999px;padding:4px 12px;font-size:12px;color:var(--muted);cursor:pointer;transition:all .14s}.fbtn[data-v-e299e789]:hover{border-color:var(--green);color:var(--ink-2)}.fbtn.on[data-v-e299e789]{background:var(--ink-2);border-color:var(--ink-2);color:#fff}.review[data-v-e299e789]{display:grid;gap:13px}.review-head[data-v-e299e789]{display:flex;gap:6px;flex-wrap:wrap}.tag-line[data-v-e299e789]{font-size:11px;padding:2px 9px;border-radius:999px;background:var(--green-soft);color:var(--ink-2);border:1px solid var(--green-line)}.tag-line.danger[data-v-e299e789]{background:#fbecec;color:#8a3030;border-color:#e8bcbc}.flash[data-v-e299e789]{border:1.5px dashed var(--green-mid);background:#fcfefd;border-radius:var(--radius);padding:30px 22px;cursor:pointer;display:block;width:100%;text-align:center;transition:all .2s;min-height:150px}.flash[data-v-e299e789]:hover{border-color:var(--green);background:#f8fcf9;transform:translateY(-1px)}.flash-face[data-v-e299e789]{display:grid;gap:10px;place-items:center}.flash-label[data-v-e299e789]{font-size:11px;color:var(--muted);letter-spacing:.08em}.flash-text[data-v-e299e789]{font-size:17px;color:var(--ink-2);line-height:1.6;font-weight:500}.flash-face.back .flash-text[data-v-e299e789]{color:var(--green)}.flash-hint[data-v-e299e789]{font-size:11px;color:var(--muted);opacity:.75}.scores[data-v-e299e789]{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}.score[data-v-e299e789]{border:1px solid var(--green-mid);background:#fff;border-radius:var(--radius-sm);padding:10px 6px;font-size:12.5px;cursor:pointer;transition:all .14s}.score[data-v-e299e789]:hover{transform:translateY(-2px);box-shadow:0 3px 10px #0f2b1c1a}.score[data-v-e299e789]:active{transform:translateY(0)}.score.bad[data-v-e299e789]{color:#8a3030;border-color:#e8bcbc;background:#fdf7f7}.score.bad[data-v-e299e789]:hover{background:#fbecec}.score.mid[data-v-e299e789]{color:#6b4f16;border-color:#e8d5a4;background:#fdfaf1}.score.mid[data-v-e299e789]:hover{background:#fbf3e0}.score.good[data-v-e299e789]{color:var(--ink-2);border-color:var(--green-mid);background:#f7fbf8}.score.great[data-v-e299e789]{color:#fff;border-color:var(--green);background:var(--green)}.score.great[data-v-e299e789]:hover{background:var(--ink-2)}.tipline[data-v-e299e789]{font-size:12px;color:var(--muted);text-align:center}.duelist[data-v-e299e789]{display:grid;gap:9px}.dueitem[data-v-e299e789]{display:flex;align-items:center;gap:12px;border:1px solid var(--green-line);border-radius:var(--radius-sm);background:#fcfefd;padding:12px 14px;cursor:pointer;text-align:left;transition:all .15s;width:100%}.dueitem[data-v-e299e789]:hover{border-color:var(--green);background:#f7fbf8;transform:translate(2px)}.due-main[data-v-e299e789]{flex:1;min-width:0}.due-front[data-v-e299e789]{font-size:13.5px;color:var(--ink);margin-bottom:5px}.due-meta[data-v-e299e789]{display:flex;gap:5px;flex-wrap:wrap}.due-go[data-v-e299e789]{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--green);flex-shrink:0}.cardlist[data-v-e299e789]{list-style:none;margin:0;padding:0}.citem[data-v-e299e789]{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--green-line);transition:background .14s}.citem[data-v-e299e789]:hover{background:#fbfdfb}.bar-outer[data-v-e299e789]{width:8px;height:44px;background:var(--green-soft);border-radius:4px;display:flex;align-items:flex-end;flex-shrink:0;overflow:hidden}.bar-inner[data-v-e299e789]{width:100%;background:var(--green);border-radius:4px;transition:height .3s}.bar-inner.mid[data-v-e299e789]{background:#b8a24a}.bar-inner.low[data-v-e299e789]{background:#c97a6a}.citem-main[data-v-e299e789]{flex:1;min-width:0}.citem-front[data-v-e299e789]{font-size:13.5px;color:var(--ink);margin-bottom:4px}.citem-meta[data-v-e299e789]{display:flex;gap:5px;flex-wrap:wrap}.chip[data-v-e299e789]{font-size:10.5px;padding:1px 7px;border-radius:999px;background:#f4f7f4;color:var(--muted);border:1px solid var(--green-line);white-space:nowrap}.chip.danger[data-v-e299e789]{background:#fbecec;color:#8a3030;border-color:#e8bcbc}.chip.today[data-v-e299e789]{background:var(--green);color:#fff;border-color:var(--green)}.iconbtn[data-v-e299e789]{border:1px solid transparent;background:transparent;width:28px;height:28px;border-radius:6px;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .14s;flex-shrink:0}.iconbtn.danger[data-v-e299e789]:hover{background:#fbecec;color:#8a3030;border-color:#e8bcbc}.bar-outer.tall[data-v-e299e789]{width:100%;height:10px;margin-top:4px}.bar-fill-wide[data-v-e299e789]{height:100%;background:var(--green);border-radius:5px;transition:width .4s}code[data-v-e299e789]{background:var(--green-soft);padding:1px 5px;border-radius:4px;font-size:11.5px}.cheer[data-v-f0db53c3]{display:flex;align-items:center;gap:12px;border-radius:var(--radius);padding:15px 20px;margin-bottom:18px;font-size:14.5px;font-weight:500;border:1px solid}.cheer.info[data-v-f0db53c3]{background:#eef4fb;color:#234a72;border-color:#cfe0f0}.cheer.good[data-v-f0db53c3]{background:var(--green-soft);color:var(--ink-2);border-color:var(--green-line)}.cheer.warn[data-v-f0db53c3]{background:#fdf7e8;color:#6b4f16;border-color:#e8d5a4}.lvl[data-v-f0db53c3]{display:flex;gap:16px;align-items:center}.lvl-badge[data-v-f0db53c3]{width:74px;height:74px;flex-shrink:0;border-radius:50%;background:var(--ink-2);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.lvl-num[data-v-f0db53c3]{font-size:24px;font-weight:600;line-height:1}.lvl-name[data-v-f0db53c3]{font-size:11px;opacity:.85}.lvl-bar[data-v-f0db53c3]{height:8px;background:var(--green-soft);border-radius:4px;overflow:hidden}.lvl-fill[data-v-f0db53c3]{height:100%;background:var(--green);border-radius:4px;transition:width .5s}.verdict[data-v-f0db53c3]{display:inline-block;font-size:13px;font-weight:600;padding:4px 14px;border-radius:999px;border:1px solid}.verdict.great[data-v-f0db53c3]{background:var(--green);color:#fff;border-color:var(--green)}.verdict.good[data-v-f0db53c3]{background:var(--green-soft);color:var(--ink-2);border-color:var(--green-mid)}.verdict.mid[data-v-f0db53c3]{background:#fdfaf1;color:#6b4f16;border-color:#e8d5a4}.verdict.bad[data-v-f0db53c3]{background:#fbecec;color:#8a3030;border-color:#e8bcbc}.sum-line[data-v-f0db53c3]{display:flex;align-items:flex-start;gap:7px;font-size:12.5px;color:var(--ink);line-height:1.5}.sum-line svg[data-v-f0db53c3]{color:var(--green);flex-shrink:0;margin-top:3px}.sum-gap[data-v-f0db53c3]{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:#8a6a20;line-height:1.5}.sum-gap svg[data-v-f0db53c3]{flex-shrink:0;margin-top:3px}.gap-label[data-v-f0db53c3]{font-size:11.5px;color:var(--muted);margin:0 0 4px;font-weight:500}.wsum[data-v-f0db53c3]{display:grid;gap:7px}.wsum-row[data-v-f0db53c3]{display:flex;justify-content:space-between;align-items:baseline;font-size:12.5px;color:var(--muted);gap:10px}.wsum-row b[data-v-f0db53c3]{color:var(--ink-2);font-size:14px;font-weight:600;white-space:nowrap}.funnel[data-v-f0db53c3]{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}.funnel .arrow[data-v-f0db53c3]{color:var(--green-mid);font-style:normal}.funnel .hi[data-v-f0db53c3]{color:var(--green);font-weight:600}.goal-row[data-v-f0db53c3]{display:flex;align-items:center;gap:8px;font-size:12px}.goal-label[data-v-f0db53c3]{width:56px;flex-shrink:0;color:var(--muted)}.goal-bar[data-v-f0db53c3]{flex:1;height:6px;background:var(--green-soft);border-radius:3px;overflow:hidden;min-width:30px}.goal-fill[data-v-f0db53c3]{height:100%;background:var(--green);border-radius:3px;transition:width .5s}.goal-num[data-v-f0db53c3]{font-size:11.5px;color:var(--ink-2);font-weight:500;white-space:nowrap;min-width:34px;text-align:right}.btn.full[data-v-f0db53c3]{width:100%;justify-content:center;display:flex}.badges[data-v-f0db53c3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(184px,1fr));gap:10px}.badge[data-v-f0db53c3]{display:flex;align-items:center;gap:10px;border:1px solid var(--green-line);border-radius:var(--radius-sm);padding:11px 13px;background:#fafbfa;opacity:.55;transition:all .16s}.badge.on[data-v-f0db53c3]{opacity:1;background:var(--green-soft);border-color:var(--green-mid)}.badge-dot[data-v-f0db53c3]{width:11px;height:11px;border-radius:50%;background:var(--green-mid);flex-shrink:0}.badge.on .badge-dot[data-v-f0db53c3]{background:var(--green);box-shadow:0 0 0 3px #1a7a4a24}.badge-body[data-v-f0db53c3]{min-width:0}.badge-name[data-v-f0db53c3]{font-size:13px;font-weight:500;color:var(--ink)}.badge-desc[data-v-f0db53c3]{font-size:11px;color:var(--muted);line-height:1.4}.switchrow[data-v-dd542ed5]{display:flex;align-items:center;gap:12px;border:1px solid var(--green-line);border-radius:var(--radius-sm);padding:12px 14px;background:#fcfefd;transition:border-color .15s}.switchrow[data-v-dd542ed5]:hover{border-color:var(--green)}.switch-ic[data-v-dd542ed5]{color:var(--green);flex-shrink:0}.switch-main[data-v-dd542ed5]{flex:1;min-width:0}.switch-title[data-v-dd542ed5]{font-size:13.5px;color:var(--ink);font-weight:500}.switch-sub[data-v-dd542ed5]{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.45}.switch[data-v-dd542ed5]{width:42px;height:24px;flex-shrink:0;border-radius:999px;border:1px solid var(--green-mid);background:#fff;position:relative;cursor:pointer;transition:all .2s;padding:0}.switch.on[data-v-dd542ed5]{background:var(--green);border-color:var(--green)}.knob[data-v-dd542ed5]{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.34,1.4,.64,1);box-shadow:0 1px 2px #00000024}.switch.on .knob[data-v-dd542ed5]{transform:translate(18px)}.kindtag[data-v-dd542ed5]{font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--green-soft);color:var(--ink-2);border:1px solid var(--green-line);white-space:nowrap}.btn.full[data-v-dd542ed5]{width:100%;justify-content:center;display:flex}.shell[data-v-c650b0b1]{display:flex;min-height:100vh;background:#f7faf7}.sidenav[data-v-c650b0b1]{position:sticky;top:0;height:100vh;width:216px;flex-shrink:0;background:#fff;border-right:1px solid var(--green-line);display:flex;flex-direction:column;z-index:60}.side-brand[data-v-c650b0b1]{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid var(--green-line)}.side-brand[data-v-c650b0b1] .brand-mark{width:30px;height:30px;flex-shrink:0}.side-brand-text b[data-v-c650b0b1]{display:block;font-size:15px;font-weight:600;letter-spacing:.02em;line-height:1.2}.side-brand-text span[data-v-c650b0b1]{display:block;font-size:10.5px;color:var(--muted);line-height:1.3}.side-nav[data-v-c650b0b1]{flex:1;overflow-y:auto;padding:12px 10px;display:flex;flex-direction:column;gap:14px;scrollbar-width:thin}.side-group-label[data-v-c650b0b1]{font-size:10.5px;color:#8ea08f;letter-spacing:.08em;padding:0 10px 4px;font-weight:600}.side-item[data-v-c650b0b1]{width:100%;display:flex;align-items:center;gap:9px;border:none;background:transparent;color:var(--ink-2);font-family:inherit;font-size:13px;padding:9px 10px;border-radius:9px;cursor:pointer;transition:background .14s,color .14s;text-align:left;min-height:40px}.side-item svg[data-v-c650b0b1]{flex-shrink:0;color:#8ea08f;transition:color .14s}.side-item[data-v-c650b0b1]:hover{background:var(--green-soft)}.side-item:hover svg[data-v-c650b0b1]{color:var(--green)}.side-item.on[data-v-c650b0b1]{background:var(--green);color:#fff;font-weight:600}.side-item.on svg[data-v-c650b0b1]{color:#fff}.side-item.on .pill[data-v-c650b0b1]{background:#ffffff38;color:#fff}.side-item.on .pill.warn[data-v-c650b0b1]{background:#fff;color:#c0392b}.side-item-label[data-v-c650b0b1]{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pill[data-v-c650b0b1]{background:var(--green-soft);color:var(--ink-2);font-size:10.5px;min-width:17px;height:17px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-weight:600;flex-shrink:0}.pill.warn[data-v-c650b0b1]{background:#fbecec;color:#8a3030}.side-foot[data-v-c650b0b1]{padding:12px 16px 14px;border-top:1px solid var(--green-line)}.side-mask[data-v-c650b0b1],.mobilebar[data-v-c650b0b1]{display:none}.content[data-v-c650b0b1]{flex:1;min-width:0;display:flex;flex-direction:column}.histbtn[data-v-c650b0b1]{border:1px solid var(--green-line);background:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;color:var(--ink-2);display:flex;align-items:center;justify-content:center;transition:all .15s}.histbtn[data-v-c650b0b1]:hover:not(:disabled){border-color:var(--green);color:var(--green)}.histbtn[data-v-c650b0b1]:disabled{opacity:.35;cursor:default}.bell[data-v-c650b0b1]{position:relative;border:1px solid var(--green-line);background:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;color:var(--ink-2);display:flex;align-items:center;justify-content:center;transition:all .15s}.bell[data-v-c650b0b1]:hover{border-color:var(--green);background:var(--green-soft)}.bell[data-v-c650b0b1]:active{transform:scale(.93)}.bell.on[data-v-c650b0b1]{background:var(--ink-2);border-color:var(--ink-2);color:#fff}.bell.has .dotbadge[data-v-c650b0b1]{position:absolute;top:-5px;right:-5px;background:#c0392b;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;font-weight:600}.page-head[data-v-c650b0b1]{margin:22px 0 4px;padding-left:2px}.page-head-main[data-v-c650b0b1]{display:flex;align-items:center;gap:8px}.page-head h1[data-v-c650b0b1]{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em;color:var(--ink-2);line-height:1.25}.page-head .sub[data-v-c650b0b1]{margin:4px 0 0;font-size:12.5px;color:var(--muted)}.savestate[data-v-c650b0b1]{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted);white-space:nowrap}.savedot[data-v-c650b0b1]{width:6px;height:6px;border-radius:50%;background:var(--green-mid);transition:background .2s}.savestate.saving .savedot[data-v-c650b0b1]{background:#e0b24a;animation:pulse-c650b0b1 .9s ease-in-out infinite}.savestate.saved .savedot[data-v-c650b0b1]{background:var(--green)}.savestate.clouderr[data-v-c650b0b1]{color:var(--amber)}.savestate.clouderr .savedot[data-v-c650b0b1]{background:var(--amber)}@keyframes pulse-c650b0b1{0%,to{opacity:1}50%{opacity:.3}}.toolbar[data-v-c650b0b1]{margin-bottom:16px;gap:10px}.tabpane[data-v-c650b0b1]{animation:paneIn-c650b0b1 .18s ease-out}@keyframes paneIn-c650b0b1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.btn.icon[data-v-c650b0b1]{padding:6px;display:flex}.datepick[data-v-c650b0b1]{width:158px}.hint[data-v-c650b0b1]{font-size:11px;color:var(--muted)}.toast[data-v-c650b0b1]{position:fixed;bottom:26px;left:50%;transform:translate(-50%);background:var(--ink-2);color:#fff;font-size:13px;padding:10px 22px;border-radius:999px;box-shadow:0 8px 28px #0f2b1c42;z-index:120;display:flex;align-items:center;gap:8px;max-width:88vw}.toast.warn[data-v-c650b0b1]{background:#8a6a20}.toast svg[data-v-c650b0b1]{flex-shrink:0}.fade-enter-active[data-v-c650b0b1],.fade-leave-active[data-v-c650b0b1]{transition:opacity .15s ease}.fade-enter-from[data-v-c650b0b1],.fade-leave-to[data-v-c650b0b1]{opacity:0}.toast-enter-active[data-v-c650b0b1],.toast-leave-active[data-v-c650b0b1]{transition:opacity .2s ease,transform .2s ease}.toast-enter-from[data-v-c650b0b1],.toast-leave-to[data-v-c650b0b1]{opacity:0;transform:translate(-50%,12px)}@media(prefers-reduced-motion:reduce){[data-v-c650b0b1]{animation:none!important;transition:none!important}}@media(max-width:1100px){.sidenav[data-v-c650b0b1]{width:190px}}@media(max-width:900px){.sidenav[data-v-c650b0b1]{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .22s ease;box-shadow:6px 0 28px #0f2b1c1f}.sidenav.open[data-v-c650b0b1]{transform:translate(0)}.side-mask[data-v-c650b0b1]{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#14281e59;z-index:55}.content[data-v-c650b0b1]{padding-top:0}.mobilebar[data-v-c650b0b1]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--green-line);position:sticky;top:0;z-index:40}.hambtn[data-v-c650b0b1]{width:38px;height:38px;border:1px solid var(--green-line);background:#fff;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3.5px;cursor:pointer;flex-shrink:0}.hambtn .bar[data-v-c650b0b1]{width:15px;height:1.8px;background:var(--ink-2);border-radius:2px;transition:transform .18s,opacity .18s}.hambtn.on .bar[data-v-c650b0b1]:nth-child(1){transform:translateY(5.3px) rotate(45deg)}.hambtn.on .bar[data-v-c650b0b1]:nth-child(2){opacity:0}.hambtn.on .bar[data-v-c650b0b1]:nth-child(3){transform:translateY(-5.3px) rotate(-45deg)}.mobilebar-title[data-v-c650b0b1]{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobilebar-actions[data-v-c650b0b1]{display:flex;align-items:center;gap:7px}.pc-only[data-v-c650b0b1]{display:none!important}.pc-only.hide-mobile[data-v-c650b0b1]{display:flex!important}.page-head[data-v-c650b0b1]{margin:14px 0 2px}.page-head h1[data-v-c650b0b1]{font-size:20px}.page-head .sub[data-v-c650b0b1]{font-size:11.5px}.pc-date[data-v-c650b0b1]{display:none}}@media(max-width:480px){.datepick[data-v-c650b0b1]{flex:1;width:120px}.savestate[data-v-c650b0b1]{display:none}.page-head h1[data-v-c650b0b1]{font-size:18px}}:root{--ink: #0f2b1c;--ink-2: #14532d;--green: #1a7a4a;--green-soft: #e8f2ea;--green-mid: #c3ddc8;--green-line: #d9e8dc;--paper: #f4f7f4;--white: #ffffff;--muted: #6b7f72;--amber: #b8862f;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(15, 43, 28, .06), 0 6px 20px rgba(15, 43, 28, .04)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:PingFang SC,Microsoft YaHei,Hiragino Sans GB,system-ui,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.topbar{position:sticky;top:0;z-index:50;background:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--green-line)}.topbar-inner{max-width:1160px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:30px;height:30px;flex-shrink:0}.brand-text b{display:block;font-size:15px;font-weight:600;letter-spacing:.02em;line-height:1.2}.brand-text span{display:block;font-size:11px;color:var(--muted);line-height:1.3}.nav{display:flex;gap:2px;margin-left:auto;flex-wrap:wrap}.nav button{border:none;background:transparent;padding:6px 13px;border-radius:999px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background .14s,color .14s}.nav button:hover{background:var(--green-soft);color:var(--ink-2)}.nav button.on{background:var(--ink-2);color:#fff;font-weight:500}.topbar-date{font-size:12px;color:var(--muted);padding-left:16px;border-left:1px solid var(--green-line);white-space:nowrap}.topbar-date b{display:block;font-size:13px;color:var(--ink);font-weight:500}.page{max-width:1160px;margin:0 auto;padding:28px 24px 72px}.page-head{margin-bottom:22px}.page-head h1{margin:0;font-size:30px;font-weight:700;letter-spacing:-.01em;color:var(--ink-2);line-height:1.25}.page-head .sub{margin:6px 0 0;color:var(--muted);font-size:13px}.principle{display:flex;align-items:center;gap:14px;background:var(--green-soft);border:1px solid var(--green-line);border-radius:var(--radius);padding:16px 20px;margin-bottom:22px}.principle svg{flex-shrink:0}.principle-text{font-size:15px;font-weight:600;color:var(--ink-2)}.principle-text em{font-style:normal;font-weight:400;font-size:13px;color:var(--muted);margin-left:10px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2-1{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr)}@media(max-width:480px){.datepick{flex:1}.savestate{display:none}}@media(max-width:900px){.grid-2,.grid-3,.grid-2-1{grid-template-columns:minmax(0,1fr)}.page{padding:16px 12px 60px}.page-head h1{font-size:22px}.topbar-inner{flex-wrap:wrap;row-gap:6px}.topbar-date{padding-left:10px}.nav{order:3;flex-basis:100%}.nav button{padding:6px 10px;font-size:12.5px}}.card{background:var(--white);border:1px solid var(--green-line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-head{display:flex;align-items:center;gap:10px;padding:14px 18px}.card-head.bordered{border-bottom:1px solid var(--green-line)}.card>.card-head>.num{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--ink-2);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.card-title{font-size:16px;font-weight:600;color:var(--ink);letter-spacing:-.005em}.card-title.small{font-size:14px}.card-note{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);text-align:right;line-height:1.35;flex-shrink:0}.card-note svg{flex-shrink:0}.card-body{padding:16px 18px 20px}.card-body.flush{padding:0}.field{margin-bottom:13px}.field:last-child{margin-bottom:0}.field>label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:5px}.field .hint{font-weight:400;color:var(--muted);font-size:12px}input[type=text],input[type=number],input[type=date],textarea,select{width:100%;border:1px solid var(--green-mid);background:#fcfefd;border-radius:var(--radius-sm);padding:8px 11px;outline:none;transition:border-color .14s,background .14s}input:focus,textarea:focus,select:focus{border-color:var(--green);background:#fff}textarea{resize:vertical;min-height:62px;line-height:1.6}textarea.tall{min-height:88px}select{cursor:pointer}.numrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stack{display:grid;gap:10px}.idx-input{display:flex;align-items:center;gap:10px}.idx-input .idx{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--ink-2);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;justify-content:center}.idx-input.ghost .idx{background:var(--green-soft);color:var(--ink-2)}table{width:100%;border-collapse:collapse}th,td{border:1px solid var(--green-line);padding:9px 11px;text-align:left;font-size:13px;vertical-align:middle}th{background:var(--green-soft);font-weight:600;color:var(--ink-2);white-space:nowrap}tbody tr:nth-child(2n){background:#fbfdfb}td.k{background:#fbfdfb;font-weight:500;color:var(--ink-2);white-space:nowrap;width:1%}td input{border-color:transparent;background:transparent;padding:3px 5px;border-radius:5px}td input:hover{border-color:var(--green-mid)}td input:focus{background:#fff}.table-wrap{overflow-x:auto}td.tiny,th.tiny{width:46px;text-align:center}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:9px}.checks.narrow{grid-template-columns:repeat(auto-fit,minmax(112px,1fr))}.check{display:flex;align-items:center;gap:9px;border:1px solid var(--green-mid);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;background:#fcfefd;-webkit-user-select:none;user-select:none;transition:border-color .14s,background .14s}.check:hover{border-color:var(--green)}.check.on{background:var(--green-soft);border-color:var(--green)}.check .box{width:17px;height:17px;flex-shrink:0;border:1.6px solid var(--green-mid);border-radius:5px;display:flex;align-items:center;justify-content:center;background:#fff}.check.on .box{background:var(--green);border-color:var(--green)}.check .txt{font-size:13px;color:var(--ink)}.check.on .txt{color:var(--ink-2);font-weight:500}.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.mode{text-align:left;border:1.5px solid var(--green-mid);background:#fff;border-radius:var(--radius);padding:13px 14px;cursor:pointer;transition:border-color .14s,background .14s}.mode:hover{border-color:var(--green)}.mode.on{border-color:var(--ink-2);background:var(--green-soft)}.mode b{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px}.mode.on b{color:var(--ink-2)}.mode span{display:block;font-size:11.5px;color:var(--muted);line-height:1.45}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px}.metric{background:#fcfefd;border:1px solid var(--green-mid);border-radius:var(--radius-sm);padding:11px 12px}.metric label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:3px}.metric input{border:none;background:transparent;padding:0;font-size:19px;font-weight:600;color:var(--ink-2);width:100%}.metric input:focus{background:transparent}.metric .unit{font-size:11px;color:var(--muted);font-weight:400;margin-left:2px}.tips{list-style:none;margin:0;padding:0;display:grid;gap:10px}.tips li{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink);line-height:1.55}.tips li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:7px}.tips.plain li:before{background:var(--green-mid)}.banner{display:flex;align-items:center;gap:12px;background:var(--green-soft);border:1px solid var(--green-line);border-radius:var(--radius);padding:15px 20px;margin-top:26px}.banner .line{flex:1;height:1px;background:var(--green-mid)}.banner p{margin:0;font-size:15px;font-weight:600;color:var(--ink-2);text-align:center}.alert{display:flex;align-items:flex-start;gap:11px;background:#fdf7e8;border:1px solid #e8d5a4;border-radius:var(--radius);padding:13px 16px;font-size:13px;color:#6b4f16;line-height:1.55}.alert svg{flex-shrink:0;margin-top:2px}.alert b{font-weight:600}.calbar{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:thin;mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%)}.calbar::-webkit-scrollbar{height:5px}.calbar::-webkit-scrollbar-thumb{background:var(--green-mid);border-radius:3px}.calday{flex-shrink:0;width:44px;border:1px solid var(--green-line);border-radius:var(--radius-sm);background:#fff;padding:6px 3px 5px;text-align:center;cursor:pointer;transition:border-color .14s,background .14s}.calday:hover{border-color:var(--green)}.calday.today{border-color:var(--ink-2);background:var(--green-soft)}.calday.sel{border-color:var(--ink-2);background:var(--ink-2)}.calday.sel .dow,.calday.sel .num{color:#fff}.calday .dow{font-size:10.5px;color:var(--muted);display:block;line-height:1.2}.calday .num{font-size:15px;font-weight:600;color:var(--ink);display:block;line-height:1.35}.calday .dot{width:4px;height:4px;border-radius:50%;background:var(--green);margin:2px auto 0}.calday{position:relative}.calday .dot{position:absolute;top:4px;right:4px;width:5px;height:5px;min-width:0;margin:0;padding:0}.calday .dow{padding-top:3px}.calday.sel .dot{background:#8fd0a6}.calday .dot.empty{background:transparent}.heat{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.heat-cell{aspect-ratio:1;border-radius:5px;border:1px solid var(--green-line);background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted);cursor:pointer}.heat-cell.l1{background:#d6e9da;color:var(--ink-2)}.heat-cell.l2{background:#a8d0b2;color:var(--ink-2)}.heat-cell.l3{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}.heat-cell.pad{border:none;background:transparent;cursor:default}.heat-cell.pad:hover{background:transparent}.heat-cell:hover:not(.pad){border-color:var(--green)}.legend{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted);margin-top:12px}.legend .sw{width:13px;height:13px;border-radius:4px;border:1px solid var(--green-line)}.minibars{display:flex;align-items:flex-end;gap:5px;height:78px;padding-top:6px}.minibar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;height:100%}.minibar .col{width:100%;background:var(--green-soft);border:1px solid var(--green-mid);border-radius:4px 4px 0 0;min-height:3px;position:relative}.minibar .col>i{position:absolute;inset:auto 0 0 0;background:var(--green);border-radius:0 0 3px 3px;display:block}.minibar .lb{font-size:10.5px;color:var(--muted);white-space:nowrap}.row{display:flex;align-items:center;gap:10px}.row.wrap{flex-wrap:wrap}.spacer{flex:1}.muted{color:var(--muted)}.tiny-note{font-size:11.5px;color:var(--muted);line-height:1.5;margin:10px 0 0}.divider{height:1px;background:var(--green-line);margin:14px 0}.btn{border:1px solid var(--green-mid);background:#fff;border-radius:var(--radius-sm);padding:7px 14px;cursor:pointer;font-size:13px;color:var(--ink-2);transition:border-color .14s,background .14s;white-space:nowrap}.btn:hover{border-color:var(--green);background:var(--green-soft)}.btn.primary{background:var(--ink-2);border-color:var(--ink-2);color:#fff}.btn.primary:hover{background:var(--green);border-color:var(--green)}.btn.ghost{border-color:transparent;background:transparent;color:var(--muted);padding:5px 9px}.btn.ghost:hover{background:var(--green-soft);color:var(--ink-2)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.empty{padding:26px 16px;text-align:center;color:var(--muted);font-size:13px}.scroll-x{overflow-x:auto}button,.check,.mode,.calday,.heat-cell,.review,.flash,.todo-main,.dueitem{-webkit-tap-highlight-color:transparent}button:not(:disabled){transition:transform .1s cubic-bezier(.34,1.4,.64,1),background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}button:not(:disabled):active{transform:scale(.95)}button:disabled{opacity:.45;cursor:not-allowed}input,textarea,select{transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}input:focus,textarea:focus,select:focus{border-color:var(--green);background:#fff;box-shadow:0 0 0 3px #1a7a4a1a}input::placeholder,textarea::placeholder{color:#9aab9f}.check.on .box{animation:pop .22s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.24)}to{transform:scale(1)}}.card{transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.card:hover{box-shadow:0 2px 6px #0f2b1c12,0 10px 28px #0f2b1c0f}tbody tr{transition:background-color .13s ease}tbody tr:hover{background:#f4faf6}.metric{transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.metric:hover{border-color:var(--green);background:#f7fbf8;transform:translateY(-1px)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c9dbcd;border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:#a8c4ad;background-clip:content-box}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:4px}.skeleton{background:linear-gradient(90deg,var(--green-soft) 25%,#f0f6f1 37%,var(--green-soft) 63%);background-size:400% 100%;animation:shimmer 1.3s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}input:focus-visible,textarea:focus-visible{outline:none}.flash-update{animation:flashUp .4s ease}@keyframes flashUp{0%{background:#1a7a4a24}to{background:transparent}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.card:hover,.metric:hover{transform:none}}@media print{.topbar,.toolbar,.calbar,.toast,.banner,button{display:none!important}.card{break-inside:avoid;box-shadow:none}body{background:#fff}}.cell-input{width:100%;border:none;background:transparent;font-family:inherit;font-size:13px;color:var(--ink);padding:4px 6px;border-radius:6px}.row-del{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#b9c3bb;border-radius:6px;cursor:pointer}.block-actions{padding:10px 14px;border-top:1px dashed var(--green-line)}.empty-tip{font-size:12.5px;color:var(--muted);text-align:center;padding:18px 10px;line-height:1.6}.must-row{display:flex;align-items:center;gap:10px}.legacy-checks{margin-top:10px}.habit-add{display:flex;gap:8px;margin-top:12px}.blocks-table{table-layout:fixed;width:100%}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px 2px}.tools-hint{font-size:11px;color:var(--muted)}.density{display:inline-flex;gap:4px}.density-btn{border:1px solid var(--green-line);background:transparent;color:var(--muted);font-size:11px;font-family:inherit;padding:3px 10px;border-radius:999px;cursor:pointer}td.k .cell-input{font-weight:600;font-size:12.5px}td.k{min-width:86px}.col-grip{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;z-index:2}.th-label{pointer-events:none}.idx{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--green-soft);border:1px solid var(--green-line);color:var(--green);font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}@media(max-width:767px){html{font-size:15px}.topbar-inner{flex-wrap:wrap;gap:8px 12px;padding:10px 14px}.brand{order:1}.topbar-right{order:2;margin-left:auto;gap:8px}.nav{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 20px),transparent 100%)}.topbar-date{display:none}.savestate{font-size:10.5px}.page{padding:16px 14px 56px}.page-head h1{font-size:22px}.page-head .sub{font-size:12.5px}.principle,.alert{padding:12px 14px;font-size:12.5px}.toolbar{flex-wrap:wrap;gap:8px}.datepick{width:140px}.hint{display:none}.calday{width:40px;padding:5px 2px 4px}.calday .num{font-size:13.5px}.card-head{padding:12px 14px}.card-body{padding:14px 14px 16px}.card-title{font-size:15px}.metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.blocks-table,.table-wrap table{table-layout:auto}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tools-hint,.col-grip{display:none}.density{flex-wrap:wrap}.banner{padding:12px 14px}.banner p{font-size:13px}}
