.sidebar[data-v-e952405c]{height:100vh;max-height:100vh;overflow:hidden}.nav-list[data-v-e952405c]{flex:1 1 auto;min-height:0;overflow-y:auto}.nav-group+.nav-group[data-v-e952405c]{margin-top:13px}.nav-group-title[data-v-e952405c]{margin:0 10px 5px;color:var(--faint);font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.12em}.nav-group-items[data-v-e952405c]{display:grid;gap:1px}.nav-item[data-v-e952405c] .sidebar-line-icon{width:19px;height:19px;flex:0 0 auto}.sidebar-primary-action[data-v-e952405c],.sidebar-bottom[data-v-e952405c]{flex:0 0 auto}.sidebar-ai-row[data-v-e952405c]{margin-bottom:4px}.sidebar-icon-btn[data-v-e952405c]{display:inline-flex;align-items:center;justify-content:flex-start;gap:6px}.sidebar-button-row .sidebar-icon-btn[data-v-e952405c]{padding-inline:11px}.sidebar-icon-btn>span[data-v-e952405c]:first-child{flex:0 0 auto;width:1.15em;text-align:center;font-size:13px;line-height:1}@media(min-width:641px)and (max-width:980px){.sidebar[data-v-e952405c]{height:auto;max-height:none;overflow:visible}.nav-list[data-v-e952405c]{overflow-x:auto;overflow-y:hidden}.nav-group[data-v-e952405c]{flex:0 0 auto}.nav-group+.nav-group[data-v-e952405c]{margin-top:0}.nav-group-title[data-v-e952405c]{margin:0 8px 4px}.nav-group-items[data-v-e952405c]{display:flex;gap:3px}.nav-item.is-pending[data-v-e952405c]{border-color:#216e4e38;box-shadow:none}}.nav-item.is-pending[data-v-e952405c]{background:#ffffffad;color:var(--accent);border-color:#216e4e38;box-shadow:0 1px 2px #216e4e14}.nav-item-spinner[data-v-e952405c]{margin-left:auto;width:13px;height:13px;flex:0 0 auto;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.75;animation:nav-item-spin-e952405c .62s linear infinite}@keyframes nav-item-spin-e952405c{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.nav-item-spinner[data-v-e952405c]{animation:nav-item-spinner-pulse-e952405c 1.4s ease-in-out infinite}@keyframes nav-item-spinner-pulse-e952405c{50%{opacity:.28}}}.snapshot-help[data-v-e952405c]{padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#f6faf7;color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:14px}.snapshot-storage-notice[data-v-e952405c]{display:grid;gap:4px;margin:0 0 12px;padding:10px 12px;border:1px solid #d7e6dc;border-radius:12px;background:#f8fcf9;color:var(--muted);font-size:12px;line-height:1.6}.snapshot-storage-notice strong[data-v-e952405c]{color:var(--text);font-size:13px}.snapshot-storage-notice.is-warning[data-v-e952405c]{border-color:#e7cf92;background:#fff9e8;color:#735b22}.snapshot-storage-notice.is-danger[data-v-e952405c]{border-color:#e2b4b4;background:#fdf0f0;color:#8a2f2f}.snapshot-persist-btn[data-v-e952405c]{align-self:flex-start;margin-top:6px;min-height:36px;padding:4px 12px;font-size:12px}.critical-failure-log[data-v-e952405c]{display:grid;gap:8px;margin:0 0 12px}.critical-failure-item[data-v-e952405c]{padding:10px 12px;border:1px solid #e9b9ad;border-radius:12px;background:#fff4f1;color:#7d2f1e;font-size:12px;line-height:1.55}.critical-failure-item strong[data-v-e952405c]{display:block;color:#5f2115;font-size:13px}.snapshot-list[data-v-e952405c]{display:grid;gap:10px;max-height:48vh;overflow:auto;padding-right:2px}.snapshot-item[data-v-e952405c]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff}.snapshot-main[data-v-e952405c]{min-width:0}.snapshot-title[data-v-e952405c]{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-weight:700;color:var(--text);margin-bottom:4px;overflow-wrap:anywhere}.snapshot-version-pill[data-v-e952405c]{display:inline-flex;align-items:center;min-height:21px;padding:1px 8px;border-radius:999px;background:#e3f0e8;color:var(--accent);font-size:12px;font-weight:700}.snapshot-meta[data-v-e952405c]{color:var(--faint);font-size:12px;line-height:1.5}.snapshot-relation[data-v-e952405c]{margin-top:4px;color:#607267;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.snapshot-actions[data-v-e952405c]{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.snapshot-empty[data-v-e952405c]{padding:18px;text-align:center;color:var(--faint);border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft)}.snapshot-preview[data-v-e952405c]{margin-bottom:12px}.snapshot-preview-card[data-v-e952405c]{border:1px solid #cfe0d5;border-radius:16px;background:linear-gradient(135deg,#fffffff5,#eff8f2eb);padding:13px;box-shadow:0 12px 26px #2c4b3614}.snapshot-preview-head[data-v-e952405c]{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:9px}.snapshot-version[data-v-e952405c]{font-weight:700;color:var(--text);overflow-wrap:anywhere}.snapshot-preview-stats[data-v-e952405c]{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.snapshot-preview-stats span[data-v-e952405c]{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;background:#edf6f0;color:#456354;font-size:12px;font-weight:800}.snapshot-preview-head-actions[data-v-e952405c]{display:flex;gap:6px;flex-shrink:0}.snapshot-browser[data-v-e952405c]{margin-top:10px;border-top:1px dashed #cedbd3;padding-top:10px}.snapshot-browser-bar[data-v-e952405c]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.snapshot-browser-tabs[data-v-e952405c]{display:flex;flex-wrap:wrap;gap:6px}.snapshot-browser-tab[data-v-e952405c]{min-height:28px;padding:3px 11px;border:1px solid #cfe0d5;border-radius:999px;background:#fff;color:#456354;font-size:12px;font-weight:800;cursor:pointer}.snapshot-browser-tab.active[data-v-e952405c]{background:#456354;border-color:#456354;color:#fff}.snapshot-browser-search[data-v-e952405c]{flex:1 1 180px;min-width:140px;min-height:30px;padding:4px 10px;border:1px solid #cfe0d5;border-radius:999px;background:#fff;font-size:12px}.snapshot-browser-panes[data-v-e952405c]{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:10px;align-items:start}.snapshot-browser-items[data-v-e952405c]{display:flex;flex-direction:column;gap:5px;max-height:min(46vh,520px);overflow-y:auto;padding-right:2px}.snapshot-browser-item[data-v-e952405c]{display:flex;flex-direction:column;gap:2px;width:100%;padding:7px 9px;border:1px solid #dfeae3;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.snapshot-browser-item.active[data-v-e952405c]{border-color:#456354;background:#edf6f0}.snapshot-browser-item-head[data-v-e952405c]{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.snapshot-browser-item-date[data-v-e952405c]{color:var(--muted);font-size:11px;font-weight:800}.snapshot-browser-item-title[data-v-e952405c]{color:var(--text);font-size:13px;font-weight:800;overflow-wrap:anywhere}.snapshot-browser-item-excerpt[data-v-e952405c]{color:var(--muted);font-size:12px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.snapshot-browser-body[data-v-e952405c]{min-width:0;max-height:min(46vh,520px);overflow-y:auto;padding:10px 12px;border:1px solid #dfeae3;border-radius:14px;background:#fff}.is-focus .snapshot-browser-items[data-v-e952405c],.is-focus .snapshot-browser-body[data-v-e952405c]{max-height:calc(100vh - 210px)}.is-focus .snapshot-browser-text[data-v-e952405c]{font-size:14px}.snapshot-browser-body-head[data-v-e952405c]{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;margin-bottom:4px}.snapshot-browser-body-head strong[data-v-e952405c]{color:var(--text);font-size:14px;overflow-wrap:anywhere}.snapshot-browser-body-meta[data-v-e952405c]{display:flex;flex-wrap:wrap;gap:4px 10px;margin-bottom:8px;color:var(--muted);font-size:12px}.snapshot-browser-section+.snapshot-browser-section[data-v-e952405c]{margin-top:10px;border-top:1px dashed #e4ede8;padding-top:8px}.snapshot-browser-section h4[data-v-e952405c]{margin:0 0 3px;color:#456354;font-size:12px;font-weight:800}.snapshot-browser-text[data-v-e952405c]{color:var(--text);font-size:13px;line-height:1.75;overflow-wrap:anywhere}.snapshot-browser-empty[data-v-e952405c]{color:var(--muted);font-size:12px;padding:6px 2px}@media(max-width:720px){.snapshot-browser-panes[data-v-e952405c]{grid-template-columns:minmax(0,1fr)}.snapshot-browser-items[data-v-e952405c]{max-height:190px}.is-focus .snapshot-browser-items[data-v-e952405c]{max-height:26vh}.is-focus .snapshot-browser-body[data-v-e952405c]{max-height:52vh}}.snapshot-footer-actions[data-v-e952405c]{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}@media(max-width:640px){.snapshot-item[data-v-e952405c]{grid-template-columns:1fr}.snapshot-actions[data-v-e952405c]{justify-content:flex-start}}.m-save-alert[data-v-e952405c]{display:none}@media(max-width:640px){.m-save-alert[data-v-e952405c]{position:fixed;z-index:105;right:var(--m-gutter, 18px);bottom:calc(var(--m-bottom-bar, 58px) + var(--m-3, 12px));left:var(--m-gutter, 18px);display:grid;gap:var(--m-2, 8px);padding:var(--m-3, 12px);border:1px solid rgba(198,63,54,.34);border-radius:var(--m-r-md, 14px);background:#fff5f4;box-shadow:var(--m-shadow-raised, 0 2px 6px rgba(52, 48, 34, .07), 0 16px 32px -12px rgba(52, 48, 34, .16))}.m-save-alert-text[data-v-e952405c]{color:#8a2f28;font-size:var(--m-callout, 13.5px);font-weight:700;line-height:var(--m-callout-lh, 1.45)}.m-save-alert-actions[data-v-e952405c]{display:flex;gap:var(--m-2, 8px)}.m-save-alert-btn[data-v-e952405c]{flex:1 1 0;min-height:44px;padding:0 var(--m-2, 8px);border:1px solid rgba(198,63,54,.3);border-radius:var(--m-r-sm, 10px);background:#fff;color:#8a2f28;font:inherit;font-size:var(--m-caption, 12px);font-weight:700}.m-save-alert-btn.is-primary[data-v-e952405c]{border-color:transparent;background:var(--m-danger, #c63f36);color:#fff}.m-save-alert-btn[data-v-e952405c]:disabled{opacity:.6}}.app-release-notice[data-v-4562d09e]{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:900;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;width:min(92vw,460px);padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:0 10px 28px #0f17202e}.app-release-text[data-v-4562d09e]{color:var(--text);font-size:13px;line-height:1.5}.app-release-text strong[data-v-4562d09e]{font-weight:800}.app-release-actions[data-v-4562d09e]{display:flex;flex-wrap:wrap;gap:8px}.app-release-actions .btn[data-v-4562d09e]{padding:6px 12px;font-size:13px}@media(min-width:641px){.app-release-notice[data-v-4562d09e]{bottom:24px}}.image-lightbox[data-v-0ad5b42d]{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;padding:20px;place-items:center;background:#101412b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.image-lightbox-inner[data-v-0ad5b42d]{display:flex;flex-direction:column;max-width:100%;max-height:100%;gap:10px;align-items:center}.image-lightbox-img[data-v-0ad5b42d]{max-width:min(1200px,100%);max-height:calc(100vh - 96px);border-radius:10px;box-shadow:0 24px 68px #00000073;cursor:zoom-out;object-fit:contain}.image-lightbox-bar[data-v-0ad5b42d]{display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:100%;color:#ffffffe0;font-size:13px}.image-lightbox-name[data-v-0ad5b42d]{min-width:0;overflow-wrap:anywhere;font-weight:600}.image-lightbox-raw[data-v-0ad5b42d]{color:#fff;text-decoration:underline}.image-lightbox-close[data-v-0ad5b42d]{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:50%;background:#ffffff2e;color:#fff;font-size:20px;line-height:1;cursor:pointer}.image-lightbox-close[data-v-0ad5b42d]:hover{background:#ffffff4d}.image-lightbox-enter-active[data-v-0ad5b42d],.image-lightbox-leave-active[data-v-0ad5b42d]{transition:opacity .16s ease-out}.image-lightbox-enter-active .image-lightbox-inner[data-v-0ad5b42d],.image-lightbox-leave-active .image-lightbox-inner[data-v-0ad5b42d]{transition:transform .16s ease-out}.image-lightbox-enter-from[data-v-0ad5b42d],.image-lightbox-leave-to[data-v-0ad5b42d]{opacity:0}.image-lightbox-enter-from .image-lightbox-inner[data-v-0ad5b42d],.image-lightbox-leave-to .image-lightbox-inner[data-v-0ad5b42d]{transform:scale(.97)}@media(prefers-reduced-motion:reduce){.image-lightbox-enter-active .image-lightbox-inner[data-v-0ad5b42d],.image-lightbox-leave-active .image-lightbox-inner[data-v-0ad5b42d]{transition:none}.image-lightbox-enter-from .image-lightbox-inner[data-v-0ad5b42d],.image-lightbox-leave-to .image-lightbox-inner[data-v-0ad5b42d]{transform:none}}@media(max-width:640px){.image-lightbox[data-v-0ad5b42d]{padding:12px}.image-lightbox-img[data-v-0ad5b42d]{max-height:calc(100vh - 110px)}}.m-sheet-scrim[data-v-1a3854da]{display:none}@media(max-width:640px){.m-sheet-scrim[data-v-1a3854da]{position:fixed;z-index:80;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;background:#1e221c52;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.m-sheet[data-v-1a3854da]{width:100%;max-height:82dvh;overflow-y:auto;padding:var(--m-2) var(--m-gutter) max(var(--m-5),env(safe-area-inset-bottom,0px));border-radius:var(--m-r-xl) var(--m-r-xl) 0 0;background:var(--m-surface);box-shadow:var(--m-shadow-raised);outline:none}.m-sheet-grip[data-v-1a3854da]{width:36px;height:4px;margin:var(--m-2) auto var(--m-4);border-radius:var(--m-r-pill);background:var(--m-line)}.m-sheet-group+.m-sheet-group[data-v-1a3854da]{margin-top:var(--m-5)}.m-sheet-group-title[data-v-1a3854da]{margin:0 0 var(--m-3);color:var(--m-faint);font-size:var(--m-micro);font-weight:700;letter-spacing:.08em}.m-sheet-grid[data-v-1a3854da]{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:var(--m-2)}.m-sheet-item[data-v-1a3854da]{display:flex;min-height:76px;flex-direction:column;align-items:center;justify-content:center;gap:var(--m-2);border-radius:var(--m-r-md);background:var(--m-surface-sunken);color:var(--m-text);text-decoration:none;transition:transform var(--m-fast) var(--m-ease)}.m-sheet-item[data-v-1a3854da]:active{transform:scale(.96)}.m-sheet-item-icon[data-v-1a3854da]{display:grid;width:24px;height:24px;place-items:center;color:var(--m-accent)}.m-sheet-item-icon svg[data-v-1a3854da]{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.m-sheet-item-label[data-v-1a3854da]{font-size:var(--m-caption);font-weight:600;letter-spacing:var(--m-caption-ls)}.m-sheet-rows[data-v-1a3854da]{display:grid;gap:var(--m-2);margin-top:var(--m-5)}.m-sheet-row[data-v-1a3854da]{display:flex;width:100%;min-height:52px;align-items:center;gap:var(--m-3);padding:0 var(--m-3);border:0;border-radius:var(--m-r-md);background:var(--m-surface-sunken);color:var(--m-text);font-family:var(--m-font-sans);text-align:left;text-decoration:none;transition:transform var(--m-fast) var(--m-ease)}.m-sheet-row[data-v-1a3854da]:active{transform:scale(.98)}.m-sheet-row .m-sheet-item-label[data-v-1a3854da]{flex:1;font-size:var(--m-body)}.m-sheet-row-arrow svg[data-v-1a3854da]{width:18px;height:18px;fill:none;stroke:var(--m-faint);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.m-sheet-row--sync[data-v-1a3854da]{padding:0;gap:0}.m-sheet-row--sync[data-v-1a3854da]:active{transform:none}.m-sheet-row-main[data-v-1a3854da]{display:flex;flex:1 1 auto;min-width:0;align-items:center;gap:var(--m-3);padding:var(--m-2) var(--m-3);border:0;border-radius:var(--m-r-md);background:none;color:inherit;font-family:var(--m-font-sans);text-align:left;transition:transform var(--m-fast) var(--m-ease)}.m-sheet-row-main[data-v-1a3854da]:active{transform:scale(.98)}.m-sheet-row-text[data-v-1a3854da]{display:grid;flex:1 1 auto;min-width:0;gap:1px}.m-sheet-row-sub[data-v-1a3854da]{color:var(--m-faint);font-size:var(--m-caption);line-height:var(--m-caption-lh);letter-spacing:var(--m-caption-ls);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.m-sheet-row-sub.is-busy[data-v-1a3854da]{color:var(--m-accent)}.m-sheet-row-sub.is-dirty[data-v-1a3854da]{color:#8c6821}.m-sheet-row-sub.is-error[data-v-1a3854da]{color:var(--m-danger)}.m-sheet-sync-now[data-v-1a3854da]{flex:0 0 auto;align-self:stretch;min-width:68px;padding:0 var(--m-3);border:0;border-left:1px solid var(--m-line-soft);background:none;color:var(--m-accent);font-family:var(--m-font-sans);font-size:var(--m-caption);font-weight:700;letter-spacing:var(--m-caption-ls);transition:opacity var(--m-fast) var(--m-ease)}.m-sheet-sync-now[data-v-1a3854da]:disabled{color:var(--m-faint)}.m-sheet-sync-now[data-v-1a3854da]:active:not(:disabled){opacity:.55}.m-sheet-enter-active[data-v-1a3854da],.m-sheet-leave-active[data-v-1a3854da]{transition:opacity var(--m-base) var(--m-ease)}.m-sheet-enter-active .m-sheet[data-v-1a3854da],.m-sheet-leave-active .m-sheet[data-v-1a3854da]{transition:transform var(--m-base) var(--m-ease)}.m-sheet-enter-from[data-v-1a3854da],.m-sheet-leave-to[data-v-1a3854da]{opacity:0}.m-sheet-enter-from .m-sheet[data-v-1a3854da],.m-sheet-leave-to .m-sheet[data-v-1a3854da]{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.m-sheet-enter-from .m-sheet[data-v-1a3854da],.m-sheet-leave-to .m-sheet[data-v-1a3854da],.m-sheet-item[data-v-1a3854da]:active,.m-sheet-row[data-v-1a3854da]:active,.m-sheet-row-main[data-v-1a3854da]:active{transform:none}}.m-sync-pill[data-v-1e5b71b2]{display:none}@media(max-width:640px){.m-sync-pill[data-v-1e5b71b2]{position:fixed;z-index:44;left:var(--m-gutter);bottom:calc(var(--m-bottom-bar) + var(--m-4));max-width:calc(100% - var(--m-gutter) * 2 - var(--m-fab-size) - var(--m-3));display:inline-flex;align-items:center;gap:var(--m-2);min-height:44px;padding:0 var(--m-4) 0 var(--m-3);border:1px solid var(--m-line);border-radius:var(--m-r-pill);background:#ffffffd1;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);color:var(--m-text);font:inherit;font-size:var(--m-caption);font-weight:700;letter-spacing:var(--m-caption-ls);box-shadow:var(--m-shadow-raised);transition:transform var(--m-fast) var(--m-ease),box-shadow var(--m-fast) var(--m-ease)}.m-sync-pill[data-v-1e5b71b2]:active:not(:disabled){transform:scale(.95);box-shadow:var(--m-shadow-card)}.m-sync-pill[data-v-1e5b71b2]:disabled{opacity:1}.m-sync-pill-dot[data-v-1e5b71b2]{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:var(--m-muted)}.m-sync-pill-text[data-v-1e5b71b2]{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.m-sync-pill.is-busy .m-sync-pill-dot[data-v-1e5b71b2],.m-sync-pill.is-synced .m-sync-pill-dot[data-v-1e5b71b2]{background:var(--m-accent)}.m-sync-pill.is-dirty .m-sync-pill-dot[data-v-1e5b71b2]{background:var(--m-warning)}.m-sync-pill.is-error .m-sync-pill-dot[data-v-1e5b71b2]{background:var(--m-danger)}.m-sync-pill.is-busy .m-sync-pill-dot[data-v-1e5b71b2]{animation:m-sync-pill-pulse-1e5b71b2 1.1s ease-in-out infinite}.m-sync-pill.is-dirty[data-v-1e5b71b2]{color:#8c6821}.m-sync-pill.is-error[data-v-1e5b71b2]{color:var(--m-danger);border-color:#c63f3652}.m-sync-pill-enter-active[data-v-1e5b71b2],.m-sync-pill-leave-active[data-v-1e5b71b2]{transition:opacity var(--m-base) var(--m-ease),transform var(--m-base) var(--m-ease)}.m-sync-pill-enter-from[data-v-1e5b71b2],.m-sync-pill-leave-to[data-v-1e5b71b2]{opacity:0;transform:translateY(8px) scale(.94)}}@keyframes m-sync-pill-pulse-1e5b71b2{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.m-sync-pill[data-v-1e5b71b2],.m-sync-pill-enter-active[data-v-1e5b71b2],.m-sync-pill-leave-active[data-v-1e5b71b2]{transition:opacity .2s ease}.m-sync-pill[data-v-1e5b71b2]:active:not(:disabled){transform:none}.m-sync-pill-enter-from[data-v-1e5b71b2],.m-sync-pill-leave-to[data-v-1e5b71b2]{transform:none}.m-sync-pill.is-busy .m-sync-pill-dot[data-v-1e5b71b2]{animation:none}}.m-tabbar[data-v-c824d70c]{display:none}@media(max-width:640px){.m-tabbar[data-v-c824d70c]{position:fixed;z-index:40;right:0;bottom:0;left:0;display:flex;height:var(--m-bottom-bar);align-items:stretch;padding:0 var(--m-1) env(safe-area-inset-bottom,0px);background:#f7f6f1d1;box-shadow:var(--m-shadow-chrome);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.m-tab[data-v-c824d70c]{display:flex;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:0;border:0;background:none;color:var(--m-faint);font-family:var(--m-font-sans);text-decoration:none;transition:color var(--m-fast) var(--m-ease)}.m-tab-label[data-v-c824d70c]{font-size:var(--m-micro);line-height:var(--m-micro-lh);font-weight:600;letter-spacing:var(--m-micro-ls)}.m-tab-icon[data-v-c824d70c]{position:relative;display:grid;width:24px;height:24px;place-items:center}.m-tab-badge[data-v-c824d70c]{position:absolute;top:0;right:-1px;width:7px;height:7px;border-radius:50%;background:var(--m-warning);box-shadow:0 0 0 2px #f7f6f1eb}.m-tab-badge.is-error[data-v-c824d70c]{background:var(--m-danger)}.m-tab-icon svg[data-v-c824d70c]{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--m-fast) var(--m-ease)}.m-tab.router-link-active[data-v-c824d70c],.m-tab.is-open[data-v-c824d70c],.m-tab.is-pending[data-v-c824d70c]{color:var(--m-accent)}.m-tab.is-pending .m-tab-icon svg[data-v-c824d70c]{opacity:.3}.m-tab-spinner[data-v-c824d70c]{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.85;animation:m-tab-spin-c824d70c .62s linear infinite}@keyframes m-tab-spin-c824d70c{to{transform:rotate(360deg)}}.m-tab.router-link-active .m-tab-icon svg[data-v-c824d70c]{stroke-width:2}.m-tab:active .m-tab-icon svg[data-v-c824d70c]{transform:scale(.88)}@media(prefers-reduced-transparency:reduce){.m-tabbar[data-v-c824d70c]{background:var(--m-ground);backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.m-tab[data-v-c824d70c],.m-tab-icon svg[data-v-c824d70c]{transition:none}.m-tab:active .m-tab-icon svg[data-v-c824d70c]{transform:none}.m-tab-spinner[data-v-c824d70c]{animation:m-tab-spinner-pulse-c824d70c 1.4s ease-in-out infinite}@keyframes m-tab-spinner-pulse-c824d70c{50%{opacity:.3}}}}.app-nav-progress[data-v-3c349f55]{position:fixed;z-index:110;top:env(safe-area-inset-top,0px);right:0;left:0;height:2px;overflow:hidden;pointer-events:none}.app-nav-progress[data-v-3c349f55]:before{content:"";display:block;width:38%;height:100%;border-radius:0 2px 2px 0;background:var(--accent);animation:app-nav-progress-slide-3c349f55 .9s ease-in-out infinite}@keyframes app-nav-progress-slide-3c349f55{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media(prefers-reduced-motion:reduce){.app-nav-progress[data-v-3c349f55]:before{width:100%;animation:app-nav-progress-pulse-3c349f55 1.4s ease-in-out infinite}@keyframes app-nav-progress-pulse-3c349f55{50%{opacity:.25}}}.m-fab[data-v-3c349f55]{display:none}@media(max-width:640px){.m-fab[data-v-3c349f55]{position:fixed;z-index:45;right:var(--m-gutter);bottom:calc(var(--m-bottom-bar) + var(--m-4));display:grid;width:52px;height:52px;place-items:center;border:0;border-radius:var(--m-r-pill);background:var(--m-accent);color:#fff;box-shadow:0 2px 6px #17513a3d,0 12px 26px -8px #17513a6b;transition:transform var(--m-fast) var(--m-ease),box-shadow var(--m-fast) var(--m-ease)}.m-fab svg[data-v-3c349f55]{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.m-fab[data-v-3c349f55]:active{transform:scale(.92);box-shadow:0 1px 3px #17513a3d,0 6px 14px -6px #17513a66}}@media(prefers-reduced-motion:reduce){.m-fab[data-v-3c349f55]{transition:none}.m-fab[data-v-3c349f55]:active{transform:none}}:root{--bg: #f4f2eb;--surface: #ffffff;--surface-raised: rgba(255, 255, 255, .94);--surface-soft: #faf8f2;--text: #17211b;--muted: #606a63;--faint: #858b85;--line: #dedacd;--accent: #216e4e;--accent-soft: rgba(33, 110, 78, .09);--accent-2: #2f80ed;--focus-ring: rgba(47, 128, 237, .22);--warning: #b97706;--danger: #c63f36;--shadow: 0 10px 28px rgba(50, 47, 38, .08);--shadow-sm: 0 2px 8px rgba(50, 47, 38, .06);--space-3: 12px;--space-4: 16px;--space-5: 20px;--control-height: 40px;--control-height-compact: 36px;--radius: 11px;--radius-lg: 16px;--radius-pill: 999px}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background:radial-gradient(circle at 8% 0%,rgba(33,110,78,.055),transparent 28%),radial-gradient(circle at 96% 8%,rgba(47,128,237,.045),transparent 24%),var(--bg);color:var(--text);display:flex;overflow:hidden;font:14px/1.6 Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Segoe UI,sans-serif;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}.btn{padding:8px 13px;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:700;transition:transform .16s ease,box-shadow .18s ease,background .18s ease,color .18s ease,border-color .18s ease;outline:none;min-height:var(--control-height-compact)}.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 18px #216e4e2e}.btn-primary:hover{background:#19583e;transform:translateY(-1px);box-shadow:0 12px 24px #216e4e38}.btn-primary:active{transform:translateY(0);box-shadow:0 6px 14px #216e4e2e}.btn-secondary{background:var(--surface);color:var(--muted);border-color:var(--line);box-shadow:var(--shadow-sm)}.btn-secondary:hover{color:var(--text);border-color:#d6d0bd;background:var(--surface-soft)}.btn-danger{background:#fff4f2;color:var(--danger);border-color:#f4d1cb;box-shadow:var(--shadow-sm)}.btn-danger:hover{background:#ffe6e1}.main{flex:1;min-width:0;height:100vh;overflow-y:auto;scrollbar-gutter:stable;padding:28px clamp(20px,3.5vw,46px) 52px}.page{display:none;max-width:1260px;margin:0 auto;animation:pageIn .22s ease}.page.active{display:block}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.page-title{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.01em}.page-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.card{background:#fffffff0;border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:var(--shadow);border:1px solid var(--line)}.card-title{font-size:15px;font-weight:650;color:var(--text);margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-title{font-size:12px;color:var(--faint);margin-bottom:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.segmented{display:inline-flex;gap:4px;padding:4px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius)}.segmented button{border:none;background:transparent;color:var(--muted);border-radius:7px;padding:7px 12px;cursor:pointer;font-weight:700;transition:color .18s ease,background .18s ease}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-sm)}.segmented button>.segmented-count{display:inline-block;margin-left:6px;padding:0 6px;border-radius:var(--radius-pill);background:color-mix(in srgb,currentColor 13%,transparent);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;line-height:17px;vertical-align:1px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1419166b;display:none;align-items:center;justify-content:center;z-index:100;padding:18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-overlay.active{display:flex}.modal{--modal-pad: 24px;--modal-pad-bottom: var(--modal-pad);background:var(--surface);border-radius:var(--radius-lg);width:min(760px,100%);max-width:calc(100vw - 28px);max-height:90vh;display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.7);box-shadow:0 24px 68px #3c372838}.modal-sm{width:min(520px,100%)}.modal-md{width:min(700px,100%)}.modal-lg{width:min(880px,100%)}.modal.snapshot-modal.is-focus{width:min(1180px,calc(100vw - 24px));max-height:calc(100vh - 24px)}.modal-header{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:var(--modal-pad) var(--modal-pad) 14px;gap:14px}.modal-title{font-size:18px;font-weight:700;color:var(--text)}.close-btn{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-pill);width:34px;height:34px;cursor:pointer;color:var(--muted);line-height:1;transition:color .18s ease,background .18s ease,border-color .18s ease}.close-btn:hover{color:var(--text);background:#fff;border-color:#d6d0bd}.form-group{margin-bottom:15px}.form-group label,.form-group .form-group-caption{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:800}.form-group input:not([type=checkbox]):not([type=radio]),.form-group select,.form-group textarea,.filter-bar input,.filter-bar select{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);font-size:14px;outline:none;transition:border-color .18s ease,background .18s ease;background:#fff;color:var(--text)}input[type=checkbox],input[type=radio]{width:17px;height:17px;flex:0 0 auto;accent-color:var(--accent)}.form-group input:not([type=checkbox]):not([type=radio]):hover,.form-group select:hover,.form-group textarea:hover,.filter-bar input:hover,.filter-bar select:hover{border-color:#d6d0bd}.form-group input:not([type=checkbox]):not([type=radio]):focus,.form-group select:focus,.form-group textarea:focus,.filter-bar input:focus,.filter-bar select:focus{border-color:var(--accent-2)}.form-group textarea{min-height:150px;resize:vertical;line-height:1.7}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mini-link{margin-top:7px;border:none;background:transparent;color:var(--accent-2);font-size:12px;font-weight:800;cursor:pointer;padding:0}.mini-link:hover{color:var(--accent)}.save-status{font-size:12px;color:var(--faint);text-align:right;margin-top:8px}.empty-state{text-align:center;padding:36px 16px;color:var(--faint);font-size:13px;border:1px dashed var(--line);border-radius:var(--radius);background:#ffffff85}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--surface-soft);border-radius:999px}::-webkit-scrollbar-thumb{background:#b5b09e;border-radius:999px;border:2px solid var(--surface-soft)}::-webkit-scrollbar-thumb:hover{background:#9c9787}.sidebar{width:260px;background:#faf9f5eb;border-right:1px solid var(--line);padding:var(--space-5) var(--space-3) var(--space-3);display:flex;flex-direction:column;flex-shrink:0;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);min-height:0}.app-brand{display:flex;align-items:center;gap:10px;margin:0 2px var(--space-4);padding:0 8px var(--space-4);border-bottom:1px solid var(--line)}.sidebar h2{padding:0;margin:0;border:0;font-size:17px;line-height:1.25;color:var(--text);font-weight:750;letter-spacing:-.01em}.nav-item{padding:11px 12px;margin:3px 0;cursor:pointer;transition:.18s ease;color:var(--muted);display:flex;align-items:center;gap:10px;border-radius:var(--radius);border:1px solid transparent;font-weight:650}.nav-item:hover{background:var(--surface-soft);color:var(--text)}.nav-item.active{background:#ffffffad;color:var(--accent);border-color:#216e4e38;box-shadow:0 1px 2px #216e4e14}.nav-item.active:hover{background:var(--accent-soft)}.nav-list{min-height:0;overflow-y:auto;padding-right:3px}.sidebar-primary-action{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);flex:0 0 auto}.sidebar-primary-action .btn{width:100%}.sidebar-bottom{margin-top:10px;padding-top:0;border-top:none;flex:0 0 auto}.sidebar-bottom summary{display:none;cursor:pointer;color:var(--muted);font-size:12px;font-weight:700;list-style:none}.sidebar-bottom summary::-webkit-details-marker{display:none}.sidebar-button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.sidebar-button-row .btn{width:100%}.sidebar-button-row-compact .btn{min-height:34px;padding-inline:10px}#page-dashboard{max-width:1180px}#page-dashboard .page-header{align-items:flex-end;margin-bottom:20px}#page-dashboard .page-title{font-size:26px;letter-spacing:-.02em}.today-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.95fr);gap:16px}.dashboard-hero{display:block;margin-bottom:var(--space-4)}.hero-panel{min-height:0;background:radial-gradient(circle at 88% 76%,rgba(33,110,78,.2),transparent 30%),linear-gradient(135deg,#fffdf7,#fbf5e9 54%,#eef5ed);color:var(--text);border:none;border-radius:var(--radius-lg);padding:24px 28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 18px #3c37281a;position:relative;overflow:hidden;isolation:isolate}.hero-panel:after{content:"";position:absolute;right:26px;bottom:22px;width:118px;height:118px;border:1px solid rgba(33,110,78,.13);border-radius:50%;pointer-events:none;z-index:-1}.hero-date{font-size:13px;color:var(--muted);font-weight:700}.hero-title{font-size:clamp(28px,3.6vw,42px);font-weight:700;line-height:1.12;max-width:720px;margin:14px 0 12px;letter-spacing:-.025em;overflow-wrap:anywhere;text-wrap:balance}.hero-meta{color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}.hero-meta span{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:var(--radius-pill);background:#ffffffa8;border:1px solid rgba(33,110,78,.1)}.quick-create{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:var(--space-5)}.quick-create .btn{width:100%;background:#ffffffc2;color:var(--muted);border-color:#216e4e1f;box-shadow:none}.quick-create .btn:hover{background:var(--accent-soft);border-color:#216e4e38;color:var(--accent);transform:translateY(-1px)}.quick-create .quick-create-primary{grid-column:span 2;background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 18px #216e4e2b}.quick-create .quick-create-primary:hover{background:#19583e;color:#fff;border-color:#19583e}.summary-grid{display:grid;grid-template-columns:1fr;gap:10px}.summary-card{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffffb8;border:1px solid rgba(229,225,212,.92);border-radius:var(--radius);padding:13px 14px;box-shadow:0 2px 7px #3c37280d}.summary-card:hover{background:#ffffffeb}.summary-value{font-size:25px;line-height:1;font-weight:700;color:var(--accent)}.summary-label{margin-top:0;font-size:12px;color:var(--muted);font-weight:700;text-align:right}.record-preview-top{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#fffdf7,#f6f0e4)}.record-preview-title{font-size:24px;font-weight:700;color:var(--text);margin:12px 0 10px;line-height:1.35}.record-preview-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px}.record-preview-meta span{padding:6px 10px;border-radius:999px;background:#ffffffb8;border:1px solid var(--line)}.record-preview-content,.record-preview-todos{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:18px;box-shadow:0 2px 8px #3c37280f}.record-preview-heading{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:12px;letter-spacing:.03em}.record-preview-section{padding:14px 0;border-top:1px solid #eee9dc}.record-preview-section:first-child{padding-top:0;border-top:none}.record-preview-section h4{font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}.record-preview-text{font-size:14px;color:#425247;line-height:1.9;white-space:normal;word-break:break-word}.record-preview-empty{color:var(--faint)}.record-preview-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.record-preview-todo-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px dashed #eee9dc;color:var(--text);font-size:14px}.record-preview-todo-item:first-of-type{border-top:none;padding-top:0}.record-preview-todo-item.done{color:var(--faint);text-decoration:line-through}.record-preview-dot{width:10px;height:10px;border-radius:999px;background:#d8d2bf;flex:0 0 auto}.record-preview-todo-item.done .record-preview-dot{background:var(--accent)}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;min-width:0}.today-grid>section{min-width:0}.section-title-row .section-title{margin-bottom:0;min-width:0;white-space:nowrap}.timeline-title-row{margin-bottom:14px}.timeline-title-row .card-title{margin-bottom:0}.mini-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:9px;margin-bottom:14px}.mini-summary-card{padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7}.mini-summary-card strong{display:block;color:var(--accent);font-size:20px;line-height:1}.mini-summary-card span{display:block;margin-top:6px;color:var(--muted);font-size:12px;font-weight:700}.command-center{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);margin:var(--space-4) 0}.command-card,.tag-center-card{padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffc7;box-shadow:0 2px 8px #3c37280f}.command-card-head,.tag-center-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.command-card-head p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55}.command-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.command-metric{display:grid;gap:5px;padding:12px 9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,transform .16s ease}.command-metric:hover{background:var(--surface-soft);border-color:#216e4e2e;transform:translateY(-1px)}.command-metric strong{color:var(--accent);font-size:24px;line-height:1}.command-metric span{color:var(--muted);font-size:12px;font-weight:700}.command-list{display:grid;gap:8px}.command-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7;cursor:pointer;transition:background .18s ease,border-color .18s ease}.command-row:hover{background:var(--surface-soft);border-color:#216e4e2e}.command-row span{min-width:0;color:var(--text);font-size:13px;font-weight:700;overflow-wrap:anywhere}.command-row strong{color:var(--accent)}.command-materials{display:grid;gap:9px}.modal-action-row{margin-top:16px;display:flex;gap:10px;align-items:center;justify-content:space-between}.modal-action-right{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.todo-date-presets{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}.todo-date-presets button{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:999px;min-height:26px;padding:3px 10px;font-size:12px;font-weight:700;cursor:pointer;transition:.16s ease}.todo-date-presets button:hover{background:var(--accent-soft);border-color:#216e4e2e;color:var(--accent);transform:translateY(-1px)}.todo-list{list-style:none}.todo-item{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:14px;min-width:0}.todo-item input[type=checkbox]{width:17px;height:17px;cursor:pointer;accent-color:var(--accent);flex:0 0 auto}.todo-item.done .todo-text{text-decoration:line-through;color:var(--faint)}.todo-text{flex:1;cursor:pointer;min-width:0;overflow-wrap:anywhere}.todo-text small{display:block;margin-top:3px;color:var(--faint);font-size:12px;font-weight:650}.todo-pool-hint{margin-top:8px;color:var(--faint);font-size:12px}.todo-add{display:flex;gap:8px;margin-top:10px}.todo-add input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);font-size:13px;outline:none}.todo-add input:focus{border-color:var(--accent-2)}#page-todos{max-width:1120px}#page-todos .page-title{font-size:26px;letter-spacing:-.02em}#page-todos .filter-bar span{color:var(--muted)!important;font-size:12px!important;font-weight:700;white-space:nowrap}.todo-table{width:100%;background:#ffffffc7;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #3c37280f;border:1px solid var(--line);border-collapse:separate;border-spacing:0}.todo-table th,.todo-table td{padding:13px 14px;text-align:left;font-size:13px;border-bottom:1px solid var(--line);vertical-align:middle}.todo-table th{background:#fbf8ef;font-weight:700;color:var(--muted);font-size:12px}.todo-table tr:last-child td{border-bottom:none}.todo-table tbody tr{transition:background .16s ease}.todo-table tbody tr:hover td{background:#faf8f2ad}.todo-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer}.todo-title-cell{cursor:pointer;font-weight:700;color:var(--text);overflow-wrap:anywhere;line-height:1.45}.todo-title-cell:hover{color:var(--accent)}.todo-title-cell.is-done{text-decoration:line-through;color:var(--faint);font-weight:650}.todo-title-meta{margin-top:5px;color:var(--faint);font-size:12px;font-weight:650;text-decoration:none}.todo-due,.todo-urgency{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap;flex:0 0 auto}.todo-due{background:#eef5f0;color:#446052}.todo-due-none{background:#f1f3ef;color:#788176}.todo-urgency-urgent{background:#ffe9df;color:#b13c13}.todo-urgency-high{background:#fff3d2;color:#956000}.todo-urgency-medium{background:#eaf4ff;color:#2564a8}.todo-urgency-low{background:#eef5f0;color:#547060}.tag{display:inline-flex;align-items:center;min-height:22px;padding:1px 8px;border-radius:999px;font-size:12px;background:#f0eee6;color:var(--muted);font-weight:700}.tag-健身{background:#e8f4ff;color:#1e68bc}.tag-学习{background:#f1ecff;color:#6d4bc2}.tag-工作{background:#fff5e5;color:#9a5b03}.tag-生活{background:#eaf6ee;color:#216e4e}#page-records{max-width:1120px}#page-records .page-header{align-items:flex-end;margin-bottom:14px}#page-records .page-title{font-size:26px;letter-spacing:-.02em}#page-records .filter-bar{margin-bottom:12px}#page-records .calendar-toolbar{margin-bottom:16px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff9e;box-shadow:0 2px 8px #3c37280a}#record-view-title{min-width:90px;color:var(--text);font-size:13px;font-weight:700;text-align:center}#all-records{display:grid;gap:18px}.timeline-group{position:relative;margin-bottom:2px;padding-left:4px}.timeline-date{position:sticky;top:0;z-index:1;display:inline-flex;align-items:center;gap:8px;min-height:30px;margin-bottom:9px;padding:5px 11px;border:1px solid var(--line);border-radius:var(--radius-pill);background:#ffffffd1;color:var(--accent);font-size:13px;font-weight:700;box-shadow:0 2px 8px #3c37280d}.timeline-date:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.record-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px;align-items:stretch;margin-bottom:9px}.record-time{color:var(--muted);font-size:12px;font-weight:700;padding:16px 10px 0 0;text-align:right;font-variant-numeric:tabular-nums;border-right:1px solid var(--line)}.timeline-item{position:relative;background:var(--event-bg, rgba(255,255,255,.88));border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:0;border:1px solid var(--line);box-shadow:0 2px 8px #3c37280f;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .16s ease;color:var(--event-ink, var(--text))}.timeline-item:before{content:"";position:absolute;inset:12px auto 12px -1px;width:1px;background:var(--event-border, rgba(33,110,78,.45))}.timeline-item:hover{transform:translateY(-1px);background:#fff;border-color:#216e4e2e}.item-type{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;font-size:12px;background:var(--event-border, #718096);color:#fff;margin-right:8px;font-weight:700;vertical-align:middle}.item-title{font-size:15px;font-weight:700;display:inline;color:var(--text);line-height:1.45}.item-meta{margin-top:8px;display:flex;gap:7px;flex-wrap:wrap;color:var(--faint);font-size:12px}.item-meta span{display:inline-flex;align-items:center;min-height:22px;padding:1px 8px;border-radius:var(--radius-pill);background:#faf8f2b8;border:1px solid rgba(229,225,212,.74)}.item-preview{margin-top:9px;max-width:78ch;color:var(--muted);font-size:13px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#page-records #all-records .empty-state{min-height:120px;display:grid;place-items:center;border-style:solid;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffffd6,#faf8f2b8);color:var(--muted)}.calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.record-calendar,.agenda-shell{background:#ffffffc7;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 2px 8px #3c37280f}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr))}.calendar-head,.calendar-cell{border-right:1px solid var(--line);min-width:0}.calendar-head{border-bottom:1px solid var(--line)}.calendar-head,.agenda-head,.agenda-corner,.agenda-day-head{background:#fbf8ef}.calendar-head{padding:11px 12px;color:var(--muted);font-size:12px;font-weight:700}.calendar-cell{min-height:88px;padding:8px;background:#ffffffc7}.calendar-cell.is-today{background:linear-gradient(180deg,#216e4e12,#ffffffc7)}.calendar-date{color:var(--text);font-weight:700;margin-bottom:6px;font-size:12px;display:flex;justify-content:space-between;align-items:center;gap:8px}.calendar-date small{color:var(--faint);font-weight:700}.calendar-cell-body{display:grid;gap:3px}.calendar-event,.agenda-all-day-item,.agenda-event-block{background:var(--event-bg, rgba(250,248,242,.84));color:var(--event-ink, var(--text));border:1px solid var(--event-border, rgba(33,110,78,.2));border-radius:8px;box-shadow:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event{padding:3px 6px;margin-bottom:0;border:0;border-radius:4px}.calendar-cell-body .calendar-event{font-size:11px;line-height:1.45}.calendar-event.is-done{opacity:.6;text-decoration:line-through}.agenda-all-day-item.is-done,.agenda-event-block.is-done{opacity:.55}.calendar-more{font-size:12px;color:var(--muted);font-weight:700;padding-top:2px}.calendar-more-short{display:none}.agenda-shell{--agenda-hour-height: 60px}.agenda-head{display:grid;border-bottom:1px solid var(--line)}.agenda-corner{border-right:1px solid var(--line)}.agenda-day-head{min-width:0;padding:11px 12px;border-right:1px solid var(--line)}.agenda-week .agenda-head,.agenda-week .agenda-all-day,.agenda-week .agenda-body{min-width:860px}.agenda-week .agenda-day-head{text-align:center;padding:10px 8px}.agenda-week .agenda-day-label{margin-bottom:4px}.agenda-week .agenda-day-number{font-size:15px}.agenda-week .agenda-all-day-cell{min-height:58px;padding:5px}.agenda-week .agenda-all-day-item{font-size:11px;padding:4px 6px}.agenda-week .agenda-day-column:nth-child(2n){background:#faf8f26b}.agenda-day-head.is-today{background:linear-gradient(180deg,#216e4e1a,#faf8f2db)}.agenda-day-head:last-child{border-right:none}.agenda-day-label{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:6px}.agenda-day-number{font-size:16px;font-weight:700;color:var(--text);line-height:1}.agenda-day-extra{font-size:12px;color:var(--accent);margin-left:7px;font-weight:700}.agenda-all-day{display:grid;border-bottom:1px solid var(--line);background:#ffffffc7}.agenda-all-day-label{border-right:1px solid var(--line);background:#ffffffb8;color:var(--muted);font-size:12px;font-weight:700;padding:12px 10px}.agenda-all-day-cell{min-height:68px;padding:6px;border-right:1px solid var(--line);background:#ffffffb8;display:grid;align-content:start;gap:4px}.agenda-all-day-cell:last-child{border-right:none}.agenda-all-day-item{padding:5px 7px;font-size:12px;font-weight:700}.agenda-body{display:grid;grid-template-columns:72px minmax(0,1fr);background:#ffffffc7}.agenda-time-axis{border-right:1px solid var(--line);background:#ffffffb8}.agenda-hour-label{height:var(--agenda-hour-height);border-top:1px solid #eee9dc;text-align:right;padding:3px 10px 0 0;font-size:12px;color:var(--faint);font-weight:700;font-variant-numeric:tabular-nums}.agenda-columns{position:relative;min-width:0;background:#ffffffc7}.agenda-columns-grid{display:grid;position:relative}.agenda-day-column{position:relative;min-height:calc(var(--agenda-hour-height) * 18);border-right:1px solid var(--line);background:#ffffff80}.agenda-day-column.is-today{background:#ffffff80}.agenda-day-column:last-child{border-right:none}.agenda-hour-slot{height:var(--agenda-hour-height);border-top:1px solid #eee9dc}.agenda-event-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.agenda-event-block{position:absolute;left:4px;padding:5px 7px;pointer-events:auto;opacity:.92}.agenda-event-block:hover{opacity:1;background:#fff}.agenda-event-time{font-size:10px;color:#314538ad;font-weight:700;margin-bottom:1px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-event-title{font-size:12px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-event-meta{margin-top:2px;font-size:10px;color:#314538b8;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-week .agenda-event-meta,.agenda-event-block.is-short .agenda-event-meta{display:none}.agenda-event-block.is-short{padding-top:3px;padding-bottom:3px}.agenda-event-block.is-short .agenda-event-time{display:none}.type-section{margin-bottom:20px}.type-section h4{font-size:12px;color:var(--muted);margin-bottom:10px;font-weight:700;letter-spacing:.04em}.type-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.type-card{padding:15px 10px;background:var(--surface-soft);border-radius:var(--radius);text-align:center;cursor:pointer;transition:.18s ease;border:1px solid var(--line)}.type-card:hover{background:#fff;border-color:#bfd1c5;transform:translateY(-1px);box-shadow:0 10px 24px #233c2d14}.type-card .icon{font-size:22px;margin-bottom:5px}.type-card .name{font-size:13px;color:var(--text);font-weight:800}.template-select{display:flex;gap:8px;align-items:center;margin-bottom:12px}.template-select select{flex:1;min-width:0;padding:8px 10px;border:1px solid #d3ded7;border-radius:var(--radius);font-size:13px;outline:none}.template-editor{display:none;margin:12px 0 16px;border:1px solid #cfe0d5;border-radius:var(--radius);background:linear-gradient(135deg,#f7fbf7,#eef7f1);padding:12px}.template-editor.active{display:block}.template-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.template-editor-title{font-size:13px;font-weight:700;color:var(--accent)}.template-editor-meta{margin-top:3px;font-size:12px;color:var(--muted);line-height:1.6}.template-editor-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.template-editor-actions button{border:1px solid #c9d9cf;background:#ffffffbf;color:var(--accent);border-radius:999px;padding:5px 10px;font-size:12px;font-weight:750;cursor:pointer}.template-editor-actions button:hover{background:#fff;box-shadow:0 5px 14px #40674e1f}.template-field{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;overflow:hidden;box-shadow:0 8px 18px #3e59450d}.template-field summary{cursor:pointer;padding:10px 12px;font-weight:700;color:var(--text);list-style:none}.template-field summary::-webkit-details-marker{display:none}.template-field summary:after{content:"展开";float:right;color:var(--faint);font-size:12px;font-weight:750}.template-field[open] summary:after{content:"收起"}.template-field textarea{width:calc(100% - 24px);margin:0 12px 12px;min-height:72px;border:1px solid #d3ded7;border-radius:var(--radius);padding:9px 10px;resize:vertical;outline:none;line-height:1.65}.idea-fields{display:none;padding:13px;margin:4px 0 14px;border:1px solid #d4e3d9;border-radius:var(--radius);background:linear-gradient(135deg,#fffcf4eb,#f3faf6eb)}.idea-fields.active{display:block}.idea-fields textarea{min-height:78px}.idea-badge-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:8px}.idea-status-badge,.tag-pill,.material-type{display:inline-flex;align-items:center;min-height:23px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid #d8e5dd;background:#f6faf7;color:#4d6358}.idea-status-badge{color:#216e4e;background:#eaf5ee;border-color:#cfe3d5}.status-待整理{color:#8a5f00;background:#fbf1d3;border-color:#e7d59a}.status-待实践{color:#9a6814;background:#fff5df;border-color:#efd7a8}.status-实践中{color:#285da8;background:#eaf2ff;border-color:#cbdcff}.status-已验证{color:#1c6e43;background:#e7f5ec;border-color:#c7dfcf}.status-已放弃{color:#79837e;background:#f1f4f2;border-color:#dbe3de}.tag-pill{color:#5d4f1a;background:#fff8e6;border-color:#efe0b5}.idea-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.idea-detail-grid div{display:grid;gap:4px;padding:10px;border:1px solid #e0e9e3;border-radius:var(--radius);background:#ffffffbf}.idea-detail-grid .wide{grid-column:1 / -1}.idea-detail-grid strong{color:var(--text);font-size:12px}.idea-detail-grid span{color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.idea-detail-grid.compact{grid-template-columns:1fr}.idea-grid,.material-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.idea-card,.material-card{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffe0;box-shadow:0 12px 26px #233c2d0e}.idea-card-head,.material-card-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:9px}.idea-card h3{margin-bottom:8px;color:var(--text);font-size:16px;line-height:1.45;overflow-wrap:anywhere}.idea-card-preview,.material-content{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.idea-card-preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;text-overflow:ellipsis;max-height:5.1em;color:#2d3a33;font-size:14px;font-weight:650}.idea-card-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:12px}#page-ideas{max-width:1120px}#page-ideas .page-header{align-items:flex-end;margin-bottom:14px}#page-ideas .page-title{font-size:26px;letter-spacing:-.02em}#page-ideas .page-subtitle{max-width:68ch;margin-top:4px;color:var(--muted);line-height:1.65}#page-ideas .filter-bar{margin-bottom:14px}#page-ideas .mini-summary-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin-bottom:14px}#page-ideas .mini-summary-card{min-height:68px;display:grid;align-content:center;background:#ffffffc7;border-radius:var(--radius-lg);box-shadow:0 2px 8px #3c37280d;color:inherit;font:inherit}#page-ideas button.mini-summary-card{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;text-align:left}#page-ideas .mini-summary-card strong{font-size:22px;color:var(--accent)}#page-ideas .mini-summary-card span{color:var(--muted);font-weight:700}#page-ideas .idea-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}#page-ideas .idea-card{--idea-tint: rgba(250,248,242,.74);--idea-mark: rgba(33,110,78,.38);min-height:210px;display:flex;flex-direction:column;position:relative;padding:18px 16px 16px;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(255,255,255,.94),var(--idea-tint));box-shadow:0 2px 8px #3c37280f;transition:transform .16s ease,border-color .18s ease,background .18s ease;overflow:hidden}#page-ideas .idea-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:var(--idea-mark)}#page-ideas .idea-card.status-待整理{--idea-tint: #fdf3d7;--idea-mark: #c99a26}#page-ideas .idea-card.status-待实践{--idea-tint: #fdeecf;--idea-mark: #b9760e}#page-ideas .idea-card.status-实践中{--idea-tint: #e8f1ff;--idea-mark: #3a7bd0}#page-ideas .idea-card.status-已验证{--idea-tint: #e6f5ea;--idea-mark: #3f9a63}#page-ideas .idea-card.status-已放弃{--idea-tint: #eef0ec;--idea-mark: #a3aca5}#page-ideas .idea-card.status-已放弃{opacity:.8}#page-ideas .idea-card.status-已验证 h3,#page-ideas .idea-card.status-已放弃 h3{color:#5c6b63}#page-ideas .idea-card.status-已放弃 h3{text-decoration:line-through;text-decoration-color:#7a868099}#page-ideas .idea-card.status-已验证 .idea-card-preview,#page-ideas .idea-card.status-已放弃 .idea-card-preview{color:#66746c;font-weight:550}#page-ideas .idea-card.status-已验证:hover,#page-ideas .idea-card.status-已放弃:hover{opacity:1}#page-ideas .idea-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--idea-mark) 32%,var(--line));background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--idea-tint) 82%,#fff))}#page-ideas .idea-card-head{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:12px}#page-ideas .idea-card h3{margin:0 0 10px;font-size:17px;line-height:1.45;letter-spacing:-.01em}#page-ideas .idea-card-preview{color:#3a453f;font-size:14px;font-weight:600;line-height:1.75}#page-ideas .idea-card-actions{margin-top:auto;padding-top:14px;justify-content:flex-start}#page-ideas .idea-card-actions .btn{min-height:32px;padding:6px 10px;border-radius:var(--radius-pill);font-size:12px}#page-ideas .idea-status-badge{display:inline-flex;align-items:center;gap:4px}#page-ideas .idea-status-badge:before{font-size:10px;line-height:1}#page-ideas .idea-status-badge.status-待整理:before{content:"◯"}#page-ideas .idea-status-badge.status-待实践:before{content:"→"}#page-ideas .idea-status-badge.status-实践中:before{content:"●"}#page-ideas .idea-status-badge.status-已验证:before{content:"✓"}#page-ideas .idea-status-badge.status-已放弃:before{content:"✕"}#page-ideas .idea-kpi-card strong{display:inline-flex;align-items:center;gap:6px}#page-ideas .kpi-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#b9c4bd}#page-ideas .kpi-dot.dot-kpi-unprocessed,#page-ideas .kpi-dot.dot-kpi-待整理{background:#c99a26}#page-ideas .kpi-dot.dot-kpi-待实践{background:#b9760e}#page-ideas .kpi-dot.dot-kpi-实践中{background:#3a7bd0}#page-ideas .kpi-dot.dot-kpi-已验证{background:#3f9a63}#page-ideas .kpi-dot.dot-kpi-已放弃{background:#a3aca5}#page-ideas .idea-view-bar{display:flex;justify-content:flex-end;margin:-2px 0 10px}#page-ideas .idea-view-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:999px;background:#ffffffb8}#page-ideas .idea-view-switch button{border:0;padding:4px 12px;border-radius:999px;background:transparent;color:var(--muted);font-size:12px;font-weight:750;cursor:pointer;transition:background .15s ease,color .15s ease}#page-ideas .idea-view-switch button.is-active{background:#fff;color:var(--accent);box-shadow:0 1px 4px #233c2d1f}#page-ideas .idea-group+.idea-group{margin-top:18px}#page-ideas .idea-group-title{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:10px;padding:0;border:0;background:transparent;color:var(--text);font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;text-align:left}#page-ideas .idea-group-title:not(.is-toggleable){cursor:default}#page-ideas .group-dot{width:9px;height:9px;border-radius:50%;background:#b9c4bd}#page-ideas .group-dot.dot-待整理{background:#c99a26}#page-ideas .group-dot.dot-待实践{background:#b9760e}#page-ideas .group-dot.dot-实践中{background:#3a7bd0}#page-ideas .group-dot.dot-已收尾{background:#3f9a63}#page-ideas .idea-group-count{min-width:22px;padding:1px 8px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:11px;font-weight:750;text-align:center}#page-ideas .idea-group-caret{margin-left:auto;color:var(--faint);font-size:11px;transition:transform .18s ease}#page-ideas .idea-group.is-collapsed .idea-group-caret{transform:rotate(-90deg)}.material-random-panel{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7}.tag-picker{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0 12px}.tag-check{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 9px;border:1px solid #dbe6de;border-radius:999px;background:#fff;color:var(--text);font-size:12px;font-weight:800;cursor:pointer}.tag-check input{accent-color:var(--accent)}.material-card.compact{background:#fbfdfb}.material-card-head{color:var(--faint);font-size:12px;font-weight:750}.material-content{color:var(--text);font-weight:760}.material-meta{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.search-group{margin-bottom:18px}.search-group-title{margin-bottom:8px;color:var(--text);font-weight:700}.search-result-list{display:grid;gap:9px}.search-result-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffdb;cursor:pointer;transition:.18s ease}.search-result-item:hover{transform:translateY(-1px);border-color:#c7d9ce;box-shadow:0 12px 24px #233c2d12}.search-result-main{min-width:0}.search-result-main strong{display:block;color:var(--text);overflow-wrap:anywhere}.search-result-main span,.search-result-main p{display:block;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55;overflow-wrap:anywhere}.tag-center-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}#page-tags .mini-summary-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin-bottom:14px}.tag-center-head strong{color:var(--accent);font-size:24px;line-height:1}.tag-center-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tag-center-counts button{display:grid;gap:5px;padding:10px;border:1px solid #dfe8e2;border-radius:var(--radius);background:#fff;cursor:pointer;text-align:left}.tag-center-counts strong{color:var(--accent);font-size:20px;line-height:1}.tag-center-counts span{color:var(--muted);font-size:12px;font-weight:800}.tag-center-preview{display:grid;gap:5px;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.55}.goal-card{background:var(--surface);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow);border:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center}.goal-info h4{font-size:15px;margin-bottom:5px;font-weight:700}.goal-info p{font-size:12px;color:var(--muted)}.goal-card .progress-bar{width:220px;margin-top:8px}.fitness-page-header{align-items:flex-start}.fitness-overview-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.fitness-meta-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#216e4e14;color:#365647;font-size:12px;font-weight:650}.fitness-overview-note{margin-top:12px;color:var(--muted, #647269);font-size:13px}.fitness-overview-actions{display:flex;flex-direction:column;gap:8px;min-width:200px;flex-shrink:0}.fitness-overview-actions>.btn{width:100%}.fitness-overview-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.fitness-trend-card{background:var(--surface, #fff);border:1px solid var(--line, #dfe7e1);border-radius:12px}.fitness-trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fitness-trend-card{padding:16px}.fitness-sparkline-wrap{margin-top:10px}.fitness-sparkline{width:100%;height:84px;color:#216e4e;background:linear-gradient(180deg,#216e4e14,#216e4e03);border-radius:12px}.fitness-sparkline-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;color:#708178;font-size:12px}.fitness-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.fitness-section-sub{margin-top:4px;color:var(--muted, #647269);font-size:12px;line-height:1.4}.fitness-metric-list{display:grid;gap:10px}.fitness-inline-check{display:inline-flex;align-items:flex-start;gap:8px;max-width:64ch;margin-top:8px;color:var(--text, #17211b);font-size:13px;line-height:1.45}.fitness-inline-check input{flex:0 0 auto;margin-top:2px}.fitness-metric-note{margin-top:10px;color:#4d5f56;font-size:13px;line-height:1.5}.fitness-header-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.fitness-plan-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fitness-plan-name{font-size:16px;font-weight:750;color:var(--text, #17211b)}.fitness-plan-meta{margin-top:5px;color:var(--muted, #647269);font-size:12px}.fitness-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#216e4e1a;color:var(--accent, #216e4e)}.fitness-status-badge.status-paused{background:#b977061f;color:var(--warning, #b97706)}.fitness-status-badge.status-archived{background:#6472691f;color:var(--muted, #647269)}.fitness-exercise-tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.fitness-exercise-tag{display:inline-flex;align-items:center;max-width:100%;padding:5px 10px;border-radius:999px;background:#eef5f0;color:#2b4638;font-size:12px;font-weight:650;line-height:1.3}.fitness-exercise-tag.is-empty{color:var(--faint, #97a29b);background:var(--surface-soft, #f8faf8)}.fitness-exercise-tag.is-more{background:transparent;border:1px dashed #c7d5cc;color:var(--muted, #647269)}.fitness-icon-btn{min-width:36px;padding-left:0;padding-right:0;font-size:18px;line-height:1}.fitness-workout-set-list{display:grid;gap:8px;margin-top:12px}.fitness-workout-set-head,.fitness-workout-set-row{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(0,1fr) auto auto;gap:8px;align-items:center}.fitness-workout-set-head{color:#708178;font-size:12px}.fitness-set-index{color:#1f3d2f;font-weight:700;text-align:center}.fitness-check-chip.compact{padding:6px 8px}.fitness-plan-exercise-list{display:grid;gap:10px}.fitness-plan-exercise-card{padding:12px;border:1px solid var(--line, #dfe7e1);border-radius:12px;background:var(--surface-soft, #f8faf8)}.fitness-plan-exercise-card-head{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;align-items:center;margin-bottom:10px}.fitness-plan-exercise-card-head input{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line, #dfe7e1);border-radius:8px;background:#fff;color:var(--text, #17211b);font-size:15px;font-weight:700}.fitness-plan-exercise-card-head input:focus{border-color:var(--accent-2, #2f80ed);outline:none}.fitness-plan-set-table{display:grid;gap:6px}.fitness-plan-set-head,.fitness-plan-set-row{display:grid;grid-template-columns:32px 96px 84px 40px;gap:8px;align-items:center;width:fit-content;max-width:100%}.fitness-plan-set-head{color:var(--muted, #647269);font-size:12px;font-weight:700;padding:0 2px}.fitness-plan-set-row{padding:4px 0}.fitness-plan-set-row .fitness-live-field input{min-height:36px;padding:6px 28px 6px 8px;font-size:14px}.fitness-plan-day-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fitness-plan-day-actions.compact{margin-top:8px}.fitness-check-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#216e4e14;color:#1f3d2f;font-size:13px;cursor:pointer}.fitness-check-chip input{margin:0}.fitness-empty.compact{padding:18px 0;color:#97a29b;font-size:13px}.fitness-live-set-table{display:grid;gap:6px}.fitness-live-set-head{display:grid;grid-template-columns:32px 96px 84px 72px;gap:8px;align-items:center;justify-content:start;width:fit-content;max-width:100%;padding:0 2px;color:var(--muted, #647269);font-size:12px;font-weight:700}.fitness-live-set-row{display:grid;grid-template-columns:32px 96px 84px 72px;gap:8px;align-items:center;justify-content:start;width:fit-content;max-width:100%;padding:6px 8px;border-radius:10px;background:var(--surface-soft, #f8faf8);border:1px solid transparent}.fitness-live-set-row.is-done{background:#216e4e14;border-color:#216e4e24}.fitness-live-set-row .fitness-set-index{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;margin:0 auto;border-radius:999px;background:#e8f1eb;color:var(--accent, #216e4e);font-size:13px;font-weight:750}.fitness-live-set-row.is-done .fitness-set-index{background:var(--accent, #216e4e);color:#fff}.fitness-live-field{position:relative;width:100%;min-width:0}.fitness-live-field input{width:100%;min-height:40px;padding:8px 28px 8px 8px;border:1px solid var(--line, #dfe7e1);border-radius:8px;background:#fff;color:var(--text, #17211b);font-size:15px;font-weight:700;text-align:center;-moz-appearance:textfield}.fitness-live-field input::-webkit-outer-spin-button,.fitness-live-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.fitness-live-field input:focus{border-color:var(--accent-2, #2f80ed);outline:none}.fitness-live-unit{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--faint, #97a29b);font-size:11px;font-weight:650;pointer-events:none}.fitness-live-done-btn{min-width:72px;min-height:40px;padding:0 10px;border-radius:999px;font-size:13px}.fitness-set-suggestion{grid-column:2 / 4;margin-top:-2px;color:var(--faint, #97a29b);font-size:11px;line-height:1.3;white-space:nowrap}.fitness-rest-timer{display:none;margin-bottom:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#216e4e1f,#d67a201f);border:1px solid rgba(33,110,78,.14)}.fitness-rest-timer.active{display:block}.fitness-rest-timer-main{display:flex;justify-content:space-between;gap:12px;align-items:center}.fitness-rest-timer-kicker{font-size:12px;color:#5d7266}.fitness-rest-timer-clock{font-size:28px;font-weight:700;letter-spacing:.04em;color:#1d3b2c}.fitness-rest-timer-actions{display:flex;flex-wrap:wrap;gap:6px}.fitness-rest-timer-track{margin-top:10px;height:6px;border-radius:999px;background:#ffffffb3;overflow:hidden}.fitness-rest-timer-fill{height:100%;background:linear-gradient(90deg,#216e4e,#d67a20);transition:width .3s linear}@media(max-width:980px){.fitness-trend-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.fitness-trend-grid{grid-template-columns:1fr}.section-title-row .fitness-header-actions,.fitness-rest-timer-main{flex-direction:column}.fitness-overview-actions,.fitness-overview-secondary{width:100%;min-width:0}.fitness-plan-set-head,.fitness-plan-set-row{grid-template-columns:28px 88px 76px 36px;gap:6px;width:100%}.fitness-live-set-head,.fitness-live-set-row{grid-template-columns:28px 88px 76px 64px;gap:6px;width:100%;justify-content:stretch}.fitness-live-set-row{padding:6px}.fitness-live-field input{min-height:38px;padding-right:26px;font-size:14px}.fitness-live-done-btn{min-width:64px;min-height:38px;padding:0 8px}.fitness-set-suggestion{grid-column:2 / 4;white-space:normal}}.ai-settings-note{padding:12px 13px;border:1px solid #d9e5de;border-radius:var(--radius);background:#f6faf7;color:var(--muted);font-size:13px;line-height:1.65;margin-bottom:14px}.ai-settings-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;margin-bottom:14px;color:var(--text);font-weight:700;cursor:pointer}.ai-settings-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);gap:14px}.ai-settings-grid .form-group{min-width:0}.ai-key-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;flex-wrap:wrap}.ai-settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.ai-settings-actions .btn{min-width:96px}@media(max-width:560px){.ai-settings-grid{grid-template-columns:1fr;gap:0}.ai-settings-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ai-settings-actions .btn{width:100%;min-width:0}}.ai-run-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:110px}.ai-run-button:disabled{cursor:wait;opacity:.88;transform:none}.ai-pick-list{display:grid;gap:10px;margin-top:12px;align-items:start}@media(min-width:860px){.ai-pick-list--split{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-pick-list--split>.ai-pick:first-child{grid-column:1 / -1}}.ai-pick-group{display:grid;gap:8px;min-width:0}.ai-pick-group-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ai-pick-group-name{font-size:13px;font-weight:700;color:var(--text)}.ai-pick-group--muted .ai-pick-group-name{color:var(--muted)}.ai-pick-group-body{display:grid;gap:10px;min-width:0}.ai-pick-group-hint,.ai-pick-evidence{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}.ai-pick{display:grid;gap:8px;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.ai-pick.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 0 var(--accent)}.ai-pick.is-flagged:not(.is-selected){border-color:#b9770661;background:#b977060d}.ai-pick.is-created{border-color:#7fbf97;background:linear-gradient(180deg,#f2fbf5,#e8f5ed);box-shadow:inset 3px 0 #4fa677;animation:ai-pick-created-pop .5s ease}@keyframes ai-pick-created-pop{0%{transform:scale(1)}40%{transform:scale(1.015)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ai-pick.is-created{animation:none}}.ai-pick.is-created .ai-pick-name{color:#216e4e}.ai-pick-done-flag{flex:0 0 auto;padding:2px 8px;border-radius:var(--radius-pill);background:#2fa16624;color:#216e4e;font-size:11px;font-weight:800;line-height:1.7;white-space:nowrap}.ai-pick-head{display:flex;align-items:center;gap:10px;min-width:0;margin:-11px -13px 0;padding:11px 13px 1px}.ai-pick-toggle{display:flex;align-items:center;gap:9px;flex:1 1 auto;min-width:0;min-height:28px;cursor:pointer;-webkit-user-select:none;user-select:none}.ai-pick-toggle input[type=checkbox]{flex:0 0 auto;width:19px;height:19px;margin:0;accent-color:var(--accent);cursor:pointer}.ai-pick-name{min-width:0;color:var(--text);font-size:14px;font-weight:800;line-height:1.4;overflow-wrap:anywhere}.ai-pick.is-selected .ai-pick-name,.ai-pick-toggle:hover .ai-pick-name{color:var(--accent)}.ai-pick-flag{flex:0 0 auto;padding:2px 8px;border:1px solid rgba(185,119,6,.32);border-radius:var(--radius-pill);background:#b977061a;color:#8c6821;font-size:11px;font-weight:800;line-height:1.7;white-space:nowrap}.ai-pick-head>.btn{flex:0 0 auto}.ai-pick-head>.ai-pick-name{flex:1 1 auto;cursor:pointer}.ai-pick-field{display:grid;gap:5px;min-width:0}.ai-pick-field>label,.ai-pick-field>span{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.02em}.ai-pick-field input:not([type=checkbox]),.ai-pick-field textarea,.ai-pick-field select{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background-color:var(--surface);color:var(--text);font:inherit;font-size:13.5px;line-height:1.6;outline:none}.ai-pick-field input:not([type=checkbox]):focus,.ai-pick-field textarea:focus,.ai-pick-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ai-pick-field--title input{font-size:14.5px;font-weight:700}.ai-grow{display:grid;min-width:0}.ai-grow:after{content:attr(data-grow-value) " ";visibility:hidden;white-space:pre-wrap}.ai-pick-field .ai-grow>textarea,.ai-pick-field .ai-grow:after{grid-area:1 / 1 / 2 / 2;box-sizing:border-box;width:100%;min-width:0;min-height:42px;max-height:240px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);font:inherit;font-size:13.5px;line-height:1.6;overflow-wrap:anywhere}.ai-pick-field .ai-grow>textarea{resize:none;overflow-y:auto}.ai-pick-field .ai-grow:after{border-color:transparent;overflow:hidden}.ai-pick-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ai-pick-chip{padding:3px 9px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--muted);font-size:11.5px;font-weight:750;white-space:nowrap}.ai-pick.is-selected .ai-pick-chip{background:var(--surface)}.ai-pick-more{padding:3px 9px;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--accent);font:inherit;font-size:11.5px;font-weight:800;cursor:pointer}.ai-pick-more:hover{border-color:var(--accent);background:var(--accent-soft)}.ai-pick-more:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ai-pick-meta>.ai-pick-more{margin-left:auto}.ai-pick.is-handled{opacity:.58}.ai-pick-state{margin-left:auto;color:var(--muted);font-size:11.5px;font-weight:800}.ai-pick-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:9px;padding-top:2px}.ai-pick-sub{margin:0;color:var(--muted);font-size:12.5px;line-height:1.65;overflow-wrap:anywhere}.ai-pick-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.ai-pick-count{color:var(--muted);font-size:12.5px;font-weight:750}.ai-pick-count strong{color:var(--accent);font-weight:800}.ai-pick-notice{flex:1 1 100%;margin:0;font-size:12.5px;font-weight:700;line-height:1.6;overflow-wrap:anywhere}.ai-pick-notice.is-info{color:#216e4e}.ai-pick-notice.is-warning{color:#a4501a}.ai-pick-bar>.btn{margin-left:auto}@media(max-width:700px){.ai-pick{padding:10px 11px}.ai-pick-head{margin:-10px -11px 0;padding:10px 11px 1px}.ai-pick-field .ai-grow>textarea,.ai-pick-field .ai-grow:after{min-height:48px;font-size:16px}.ai-pick-fields{grid-template-columns:minmax(0,1fr)}.ai-pick-meta>.ai-pick-more{width:100%;margin-left:0}.ai-pick-bar>.btn{width:100%;margin-left:0}}.sync-status-stack{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;white-space:nowrap}.sync-status-inline{padding:4px 8px;border:1px solid #dbe6de;border-radius:999px;background:#ffffffa8;color:var(--muted);font-size:11px;font-weight:800;line-height:1.35;max-width:88px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-status-inline.is-error{border-color:#efc6ba;background:#fff7f4;color:#b7432c}.sync-status{font-size:12px;color:var(--faint);line-height:1.55;margin-top:8px;min-height:34px;max-height:76px;overflow-y:auto;overflow-wrap:anywhere}.sync-status.is-error{color:#c24c34}.local-save-warning{display:none;gap:8px;margin-top:10px;padding:10px;border:1px solid #e7b9ad;border-radius:12px;background:#fff5f1;color:#9c3826;font-size:12px;line-height:1.5}.local-save-warning.active{display:grid}.local-save-warning-actions{display:flex;gap:6px;flex-wrap:wrap}.local-save-warning-actions .btn{min-height:30px;padding:4px 8px;font-size:12px}.sync-modal-status{margin:12px 0 14px;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:#f6faf7;color:var(--muted);font-size:13px;line-height:1.6;min-height:42px;white-space:pre-line}.sync-modal-status.is-error{border-color:#efc6ba;background:#fff7f4;color:#b7432c}.content-sync-note{display:none;margin:-2px 0 8px;padding:9px 11px;border-radius:var(--radius);background:#f4faf5;border:1px solid #d5e5d9;color:#51715a;font-size:12px;line-height:1.6}.content-sync-note.active{display:block}.habit-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) minmax(220px,1.45fr);gap:10px;margin-bottom:14px}.habit-kpi-card{min-width:0;padding:14px;border:1px solid #dce7df;border-radius:18px;background:#ffffffd6;box-shadow:0 10px 24px #233c2d0d}.habit-kpi-card span,.habit-kpi-card em{display:block;color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.habit-kpi-card strong{display:block;margin:4px 0 3px;color:var(--accent);font-size:24px;line-height:1.08;font-weight:700;overflow-wrap:anywhere}.habit-kpi-card.wide strong{font-size:18px;line-height:1.25}.habit-center-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.habit-library-table{overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}.habit-library-row{display:grid;grid-template-columns:minmax(170px,1.25fr) minmax(140px,1fr) 88px 88px minmax(140px,.95fr) minmax(150px,auto);min-width:900px;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);color:#53665b;font-size:13px;font-weight:750}.habit-library-row:last-child{border-bottom:0}.habit-library-row.head{background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:700}.habit-library-name{display:grid;gap:2px;min-width:0}.habit-library-name strong{color:var(--text);font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-library-name em{color:var(--faint);font-size:12px;font-style:normal;font-weight:800}.habit-library-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.habit-library-actions .btn{min-height:30px;padding:5px 10px;border-radius:999px;font-size:12px}.period-item{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:14px;align-items:center;padding:13px 14px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:9px;cursor:pointer;transition:.18s ease}.period-item:hover{background:#fff;transform:translateY(-1px)}.period-info h4{font-size:14px;font-weight:800;margin-bottom:4px}.period-info p{font-size:12px;color:var(--muted)}.progress-bar{height:7px;background:#e9efe9;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#59ad79);transition:.3s;border-radius:inherit}.habit-note-field{margin-bottom:10px}.habit-note-field textarea{min-height:96px;border-radius:16px;padding:13px 14px;border-color:#cbded1;background:#fff;resize:vertical;font-size:14px;line-height:1.7}.habit-note-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.habit-note-toggle{display:inline-flex;align-items:center;gap:7px;color:#607166;font-size:12px;font-weight:800;cursor:pointer}.habit-note-toggle input{width:16px;height:16px;accent-color:var(--accent)}.habit-note-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.habit-note-actions .btn{min-height:34px;padding:0 16px;border-radius:999px;font-size:13px}.habit-quick-list{display:grid;gap:10px}.habit-quick-card{padding:12px 14px;border-radius:18px;border:1px solid #d8e5dd;background:#ffffffd6;box-shadow:0 8px 20px #233c2d0b}.habit-quick-card.compact{padding-block:11px}.habit-quick-card.done{border-color:#9cc9ad;background:linear-gradient(180deg,#f2fbf5,#e8f5ed);box-shadow:0 10px 22px #216e4e17}.habit-quick-card.just-checked{animation:habit-checked-pop .55s ease;border-color:#7fbf97;box-shadow:0 0 0 3px #2fa1662e,0 10px 22px #216e4e1a}@keyframes habit-checked-pop{0%{transform:scale(1)}38%{transform:scale(1.03)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.habit-quick-card.just-checked{animation:none}}.habit-quick-checked{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:21px;height:21px;border-radius:999px;background:#216e4e;color:#fff;font-size:12px;font-weight:900;box-shadow:0 3px 8px #216e4e47}.habit-quick-card.multi:not(.done){background:#fafdfae6}.habit-quick-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0}.habit-quick-main{min-width:0;flex:1 1 auto;overflow:hidden}.habit-quick-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.habit-quick-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.35}.habit-quick-tag,.habit-quick-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.habit-quick-tag{background:#e9f3ed;color:var(--accent);border:1px solid #cce0d2}.habit-quick-status.is-pending{background:#f4ede2;color:#9b6a17;border:1px solid #ead4ac}.habit-quick-status.is-active{background:#e8f1ff;color:#2563eb;border:1px solid #c8d8ff}.habit-quick-status.is-done{background:#e5f4ea;color:#216e4e;border:1px solid #bed7c7}.habit-quick-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.habit-quick-meta span{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;background:#f2f7f4;border:1px solid #dde8e1;color:#607166;font-size:10px;font-weight:750}.habit-quick-meta span.is-points,.habit-quick-meta span.is-penalty{background:#fff7df;border-color:#eadb9e;color:#8a6a10}.habit-quick-note-inline{margin-top:5px;color:#597064;font-size:12px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habit-quick-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;justify-content:flex-end;align-items:center;max-width:100%}.habit-quick-actions.compact{gap:6px;flex:0 1 auto}.habit-quick-btn{min-height:34px;padding:0 12px;border-radius:999px;border:1px solid #cad8cf;background:#fff;color:var(--text);font-size:13px;font-weight:700;line-height:1;cursor:pointer;transition:.18s ease;white-space:nowrap}.habit-quick-btn:hover{transform:translateY(-1px);box-shadow:0 10px 18px #233c2d14}.habit-quick-btn.primary{background:linear-gradient(180deg,#2d815d,#216e4e);border-color:#216e4e;color:#fff}.habit-quick-btn.secondary{background:#eef5f1;border-color:#c8d9cf;color:var(--accent)}.habit-quick-btn.ghost{background:transparent;border-color:#d4ddd7;color:#5d6d65}.habit-wallet-stats{display:flex;flex-wrap:wrap;gap:7px}.habit-wallet-stats span{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;background:#fff7df;border:1px solid #eadb9e;color:#80620f;font-size:12px;font-weight:700}.habit-reward-list{display:grid;gap:8px}.habit-reward-card,.habit-ledger-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e1e9e3;border-radius:var(--radius);background:#fff}.habit-ledger-row strong{display:block;color:var(--text);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-ledger-row span{display:block;color:var(--faint);font-size:11px;font-weight:750}.habit-milestone-editor{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.habit-milestone-head,.habit-milestone-row{display:grid;grid-template-columns:minmax(84px,1fr) minmax(72px,.8fr) minmax(76px,.9fr) minmax(72px,.8fr) minmax(76px,.9fr);gap:8px;align-items:center}.habit-milestone-head{color:var(--faint);font-size:11px;font-weight:850}.habit-milestone-row label{display:flex;align-items:center;gap:6px;color:var(--text);font-size:12px;font-weight:850}.habit-milestone-row input{min-width:0}.habit-currency-list{display:flex;flex-wrap:wrap;gap:8px;min-height:36px}.habit-currency-pill{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12px;font-weight:850}@media(max-width:640px){.habit-milestone-editor{overflow-x:auto}.habit-milestone-head,.habit-milestone-row{min-width:560px}}.page-subtitle{margin-top:4px;color:var(--muted);font-size:13px;font-weight:650}.wheel-stage{border-radius:28px;padding:24px;border:1px solid rgba(223,231,225,.88)}.wheel-stage{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;background:linear-gradient(180deg,#fffffffa,#f7f9fcf5 55%,#fbfcfffa);box-shadow:0 24px 64px #233c2d1f;max-width:860px;margin:0 auto}.wheel-stage:before,.wheel-stage:after{content:"";position:absolute;pointer-events:none}.wheel-stage:before{inset:-80px auto auto -90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,154,118,.22),transparent 68%)}.wheel-stage:after{right:-70px;bottom:-90px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(92,124,250,.16),transparent 70%)}.wheel-stage>*{position:relative;z-index:1}.wheel-mode-bar{width:100%;position:relative;z-index:50;display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;gap:14px;margin-bottom:12px;align-items:center}.wheel-stage .segmented{padding:6px;border:1px solid rgba(219,225,233,.9);border-radius:20px;background:#f5f7fbf0;box-shadow:inset 0 1px #ffffffeb}.wheel-stage .segmented button{min-height:42px;padding:10px 14px;border-radius:14px;background:transparent;color:#6a756f;font-size:13px;font-weight:850}.wheel-stage .segmented button.active{background:#fff;color:var(--text);box-shadow:0 12px 24px #233c2d1a}#wheel-selector{width:100%;padding:12px 14px;border:1px solid rgba(219,225,233,.92);border-radius:18px;background:#fffffff0;color:var(--text);font-weight:800;box-shadow:inset 0 1px #fffffff2}.wheel-action-menu-wrap{position:relative;justify-self:end;z-index:30}.wheel-action-menu-button{min-height:42px;padding:10px 16px;border-radius:16px;font-weight:900}.wheel-action-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:40;width:178px;padding:8px;border:1px solid rgba(222,229,238,.96);border-radius:18px;background:#fffffffa;box-shadow:0 18px 42px #233c2d29}.wheel-action-menu button{width:100%;min-height:36px;padding:8px 10px;border:0;border-radius:12px;background:transparent;color:var(--text);font-size:13px;font-weight:850;text-align:left;cursor:pointer}.wheel-action-menu button:hover{background:#f6f8fb;color:#c64d2d}.wheel-stage-summary{width:100%;margin-bottom:8px}.wheel-stage-card{padding:20px;border:1px solid rgba(220,228,236,.92);border-radius:26px;background:linear-gradient(135deg,#fffffff7,#f8faffed);box-shadow:0 18px 42px #233c2d14}.wheel-stage-card.hero{text-align:center}.wheel-stage-card.compact{padding:14px 16px;border-radius:20px;box-shadow:0 10px 24px #233c2d0f}.wheel-stage-card.active{border-color:#c8d9f4f5;background:linear-gradient(135deg,#fffffffa,#f4f8fff0)}.wheel-stage-card-top{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.wheel-stage-card.compact .wheel-stage-card-top{justify-content:center;margin-bottom:6px}.wheel-stage-badge{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border-radius:999px;background:#fef1ed;color:#d85c38;font-size:11px;font-weight:900;letter-spacing:.04em}.wheel-stage-badge.muted{background:#eef2f8;color:#647269}.wheel-stage-title{margin-top:14px;color:var(--text);font-size:clamp(22px,3vw,28px);font-weight:900;line-height:1.24}.wheel-stage-card.compact .wheel-stage-title{margin-top:0;font-size:clamp(22px,3.4vw,34px)}.wheel-stage-title .wheel-chip{vertical-align:middle;min-height:28px;padding-inline:11px;font-size:12px}.wheel-stage-copy{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.75;max-width:42ch;margin-inline:auto}.wheel-stage-card.compact .wheel-stage-copy{margin-top:4px;line-height:1.5}.wheel-stage-quick-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.wheel-stage-quick-tag{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:6px 12px;border-radius:999px;border:1px solid rgba(221,228,236,.96);background:#ffffffeb;color:var(--text);font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease;box-shadow:0 8px 20px #233c2d0d}.wheel-stage-quick-tag:hover{transform:translateY(-1px);box-shadow:0 12px 24px #233c2d14}.wheel-stage-quick-tag.active{border-color:var(--tag-color, #216e4e);background:color-mix(in srgb,var(--tag-color, #216e4e) 14%,white);color:var(--tag-color, #216e4e)}.wheel-stage-quick-tag.active span:last-child{color:var(--tag-color, #216e4e);opacity:.78}.wheel-stage-quick-tag span:last-child{color:var(--muted)}.wheel-create-item-row{display:grid;grid-template-columns:minmax(0,1fr) 88px 40px;gap:8px;align-items:center;padding:8px;border:1px solid rgba(220,228,236,.96);border-radius:16px;background:#f8fafdf5}.wheel-create-item-row input{width:100%;min-height:40px;border:0;border-radius:12px;background:#ffffffd1;color:var(--text)}.wheel-canvas-wrap{position:relative;width:min(100%,420px);margin:10px auto;aspect-ratio:1;display:grid;place-items:center;cursor:pointer;order:5;touch-action:none;-webkit-user-select:none;user-select:none}.wheel-canvas-wrap.dragging{cursor:grabbing}.wheel-canvas-wrap:before,.wheel-canvas-wrap:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.wheel-canvas-wrap:before{top:8px;right:8px;bottom:8px;left:8px;background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.5),transparent 42%),radial-gradient(circle at 50% 62%,rgba(23,33,27,.08),transparent 72%);box-shadow:inset 0 0 0 2px #fffffff5,0 22px 52px #233c2d1f}.wheel-canvas-wrap:after{top:28px;right:28px;bottom:28px;left:28px;border:1px solid rgba(255,255,255,.78);box-shadow:inset 0 0 0 1px #17211b08}#wheel-canvas{position:relative;z-index:1;width:100%;height:100%;filter:drop-shadow(0 20px 30px rgba(35,60,45,.12));cursor:pointer;touch-action:none}.wheel-pointer{position:absolute;top:4px;left:50%;width:30px;height:38px;transform:translate(-50%);clip-path:polygon(50% 100%,0 0,100% 0);background:linear-gradient(180deg,#161f1b,#2c3d33);filter:drop-shadow(0 6px 12px rgba(23,33,27,.22));pointer-events:none;z-index:2}.wheel-pointer:after{content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;transform:translate(-50%);border-radius:50%;background:#161f1b}.wheel-stage-hint{max-width:34ch;min-height:22px;margin:0 auto 12px;color:var(--muted);font-size:12px;font-weight:760;line-height:1.6;text-align:center;order:6}.wheel-result{width:100%;min-height:148px;margin:2px 0 6px;order:3}.wheel-result-card{padding:16px 20px;border:1px solid rgba(220,228,236,.94);border-radius:26px;background:linear-gradient(180deg,#fffffffa,#f7f9fdf0);box-shadow:0 18px 42px #233c2d14;text-align:center}.wheel-result-card.pending{background:linear-gradient(180deg,#fffffff0,#f8fafde6)}.wheel-result-card.pending.compact{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:9px 14px;border-radius:16px;box-shadow:0 8px 18px #233c2d0a}.wheel-result-card.pending.compact .wheel-result-kicker{letter-spacing:0}.wheel-result-card.pending.compact .wheel-result-title{margin:0;font-size:16px;line-height:1.2}.wheel-result-card.pending.compact .wheel-result-note{margin:0;font-size:12px;line-height:1.3}.wheel-result-kicker{color:#d85c38;font-size:12px;font-weight:900;letter-spacing:.08em}.wheel-result-title{margin:8px auto 0;max-width:18em;color:var(--text);font-size:clamp(22px,3.2vw,30px);font-weight:900;line-height:1.28;overflow-wrap:anywhere;word-break:break-word}.wheel-result-note,.wheel-hint{color:var(--muted);font-size:13px;line-height:1.72}.wheel-result-note{max-width:35ch;margin:10px auto 0}.wheel-result-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.wheel-result-meta-item{display:inline-flex;align-items:center;min-height:28px;padding:4px 11px;border-radius:999px;border:1px solid rgba(226,232,240,.96);background:#f9fafdf0;color:#57655d;font-size:12px;font-weight:800}.wheel-actions,.wheel-result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.wheel-actions{width:100%;max-width:520px;padding:10px;border-radius:22px;border:1px solid rgba(223,231,239,.96);background:#f5f7fbf0;box-shadow:inset 0 1px #ffffffeb;order:4}.wheel-actions .btn,.wheel-result-actions .btn{min-height:44px;padding:10px 18px;border-radius:16px;font-size:13px;font-weight:850}.wheel-actions .btn-primary{flex:1 1 240px;min-height:52px;font-size:18px;font-weight:900;border-radius:18px}.wheel-actions .btn-secondary{flex:0 0 auto;min-width:112px;border-radius:18px}.wheel-result-actions{margin-top:12px}.wheel-library-toolbar{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);gap:10px;align-items:center;margin-bottom:12px;padding:10px;border:1px solid rgba(224,231,239,.96);border-radius:18px;background:#f8fafdeb}.wheel-library-filter{display:flex;align-items:center;gap:8px;min-width:0}.wheel-library-filter span,.wheel-select-all-row span{color:var(--muted);font-size:12px;font-weight:850;white-space:nowrap}.wheel-library-filter select{min-width:0;padding:8px 10px;border:1px solid rgba(220,228,236,.96);border-radius:13px;background:#fff;color:var(--text)}.wheel-chip em{margin-right:4px;font-style:normal;opacity:.68}.wheel-list-mode-filter{min-width:180px}.wheel-list-stack{display:grid;gap:10px;max-height:560px;overflow:auto;padding-right:4px}.wheel-list-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid rgba(224,231,239,.96);border-radius:18px;background:#fffffff5;box-shadow:0 8px 22px #16201b0a}.wheel-list-card.selected{border-color:#2f7d6d57;background:linear-gradient(180deg,#f1f9f6fa,#fffffffa)}.wheel-list-card-main{display:grid;gap:8px;min-width:0;flex:1 1 220px}.wheel-list-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wheel-list-card-title strong{font-size:15px;font-weight:900;color:var(--text)}.wheel-list-card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:12px;font-weight:700}.wheel-list-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#2f7d6d1a;color:#1d5b4f;font-size:11px;font-weight:850}.wheel-list-badge.current{background:#2f7d6d29}.wheel-list-card-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.wheel-mini-btn{border:1px solid rgba(220,228,236,.96);background:#f8fafcf5;color:var(--muted);border-radius:999px;min-height:32px;padding:5px 10px;font-size:12px;font-weight:850;cursor:pointer;white-space:nowrap;transition:.18s ease}.wheel-mini-btn:hover{color:var(--text);background:#fff}.wheel-mini-btn.primary{color:#1e6a69;border-color:#b6ded7f5;background:#ecf9f6f0}.wheel-mini-btn.primary:hover{background:#f5fdfbfa}.wheel-mini-btn.danger{color:var(--danger);border-color:#f5d2cdf5;background:#fff7f5f5}.wheel-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.wheel-chip{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;background:color-mix(in srgb,var(--chip-color, #216e4e) 13%,white);color:var(--chip-color, #216e4e);font-size:11px;font-weight:850;border:1px solid color-mix(in srgb,var(--chip-color, #216e4e) 24%,white)}.wheel-chip.muted{--chip-color: #87948d}.btn:disabled,.btn[disabled]{opacity:.58;cursor:not-allowed;transform:none}@media(max-width:720px){.wheel-mode-bar{grid-template-columns:1fr}.wheel-action-menu-wrap{justify-self:stretch}.wheel-action-menu-button{width:100%}.wheel-action-menu{left:0;right:auto;width:100%}}@media(max-width:720px){.wheel-stage{padding:18px;border-radius:24px}.wheel-canvas-wrap{width:min(100%,360px)}.wheel-result-title{font-size:clamp(20px,6.2vw,26px);max-width:14em}}@media(max-width:640px){.wheel-library-toolbar,.wheel-create-item-row{grid-template-columns:1fr}.wheel-library-filter{align-items:stretch;flex-direction:column}.wheel-mini-btn{margin-top:2px}.wheel-actions,.wheel-result-actions{flex-direction:column}.wheel-actions .btn,.wheel-result-actions .btn{width:100%}}@media(max-width:980px){body{display:block;height:auto;overflow:auto;overflow-x:hidden}.sidebar{width:100%;display:block;position:relative;top:auto;z-index:1;padding:10px 12px;border-right:none;border-bottom:1px solid var(--line);overflow:visible}.sidebar h2{margin-bottom:8px;padding:0 4px 8px;font-size:16px}.sidebar h2:after{display:none}.nav-list{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:0 0 6px;margin:0 -2px;scrollbar-width:thin}.nav-item{display:inline-flex;flex:0 0 auto;width:auto;margin:0;padding:8px 10px;white-space:nowrap}.nav-item.active{border-color:#216e4e38;box-shadow:none}.sidebar-bottom{margin-top:6px;padding-top:8px;display:block}.sidebar-primary-action{margin-top:6px;padding-top:8px}.sidebar-primary-action .btn{min-height:34px;padding:7px 10px}.sidebar-bottom summary{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:30px;padding:5px 7px 5px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffffc2}.sync-status-stack{flex:0 1 auto}.sync-status-inline{max-width:82px;padding:3px 6px;font-size:10px}.sidebar-bottom[open]{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.1fr) minmax(0,1.1fr);gap:6px;align-items:start}.sidebar-bottom[open] summary{grid-column:1 / -1}.sidebar-button-row{margin-top:0;gap:6px}.sidebar-button-row .btn{min-height:32px;padding:6px 8px;font-size:12px}.sync-status{grid-column:1 / -1;min-height:0;max-height:none;margin-top:0;font-size:11px;line-height:1.45}.main{width:100%;height:auto;overflow:visible;padding:18px 14px 38px}.page,.card,.hero-panel{max-width:100%}.dashboard-hero{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.today-grid,.command-center,.habit-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-kpi-card.wide{grid-column:1 / -1}.habit-center-toolbar{align-items:stretch}.habit-library-row{min-width:820px}.habit-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.todo-table{min-width:860px}#page-todos{overflow-x:auto}}@media(max-width:640px){.page-header,.goal-card,.period-item{grid-template-columns:1fr;display:grid;align-items:stretch}.page-actions{justify-content:stretch}.page-actions:not(.sync-config-actions):not(.sync-resource-actions) .btn,.page-header .btn{width:100%}.summary-grid,.type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.today-grid,.command-center,.habit-kpi-grid{grid-template-columns:1fr}.habit-kpi-card.wide{grid-column:auto}.habit-center-toolbar{gap:10px}.habit-diagnostics-pill{justify-self:flex-start}.habit-diagnostics-grid,.form-row,.quick-create{grid-template-columns:1fr}.filter-bar input,.filter-bar select{width:100%}.todo-item{align-items:flex-start;flex-wrap:wrap}.todo-text{flex-basis:calc(100% - 34px)}.todo-actions{width:100%;padding-left:26px;justify-content:flex-start}.section-title-row{align-items:center}.todo-pool-toolbar{gap:3px}.todo-pool-toolbar .btn{padding-inline:5px;font-size:10px}.modal-action-row{align-items:stretch;flex-direction:column}.modal-action-right{justify-content:stretch}.modal-action-row:not(.ai-settings-actions) .btn{width:100%}.global-search-panel,.idea-detail-grid,.search-result-item{grid-template-columns:1fr}.modal{--modal-pad: 18px}.habit-quick-head{flex-direction:column;align-items:stretch}.habit-quick-status{align-self:flex-start}.habit-quick-actions{justify-content:flex-start;flex-wrap:wrap;width:100%}.habit-quick-btn{width:auto;padding-inline:12px}.sidebar-button-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-bottom[open]{grid-template-columns:1fr 1fr}.card-title{display:block}.record-row{grid-template-columns:48px minmax(0,1fr);gap:8px}.calendar-grid{grid-template-columns:repeat(7,minmax(96px,1fr));overflow-x:auto}}html,body{height:100%}#app,.vue-app-shell{width:100%;min-width:0;height:100%;min-height:100%}.vue-app-shell{display:flex;height:100vh;min-height:100vh;overflow:hidden}.vue-app-shell>.sidebar{height:100vh;max-height:100vh;min-height:0;overflow:hidden}.vue-app-shell>.sidebar .nav-list{flex:1 1 auto;min-height:0;overflow-y:auto}.vue-app-shell>.sidebar .sidebar-primary-action,.vue-app-shell>.sidebar .sidebar-bottom{flex:0 0 auto}.app-brand{color:inherit;text-decoration:none}.nav-item{text-decoration:none}.vue-main{flex:1;min-width:0;height:100vh;overflow-y:auto;background:transparent}@media(max-width:980px){.vue-app-shell{display:block;min-height:0;overflow:visible}.vue-app-shell>.sidebar{height:auto;max-height:none;overflow:visible}.vue-app-shell>.sidebar .nav-list{overflow-x:auto;overflow-y:hidden}.vue-main{height:auto;overflow:visible}}.todo-page-summary{margin-top:4px;color:var(--muted);font-size:13px}#page-todos .page-header{align-items:flex-end;margin-bottom:12px}#page-todos .todo-create-modal{margin-bottom:0}#page-todos .todo-create-modal .todo-detail-section{margin-top:8px}#page-todos .todo-create-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}@media(min-width:641px){#page-todos .todo-legacy-filters{grid-template-columns:auto minmax(145px,.8fr) auto minmax(145px,.8fr) repeat(4,minmax(130px,1fr))}}#page-todos .todo-legacy-filters .todo-filter-label,#page-todos .todo-legacy-filters .todo-filter-sep{color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}#page-todos .todo-legacy-filters .app-control,#page-todos .todo-legacy-filters input[type=date]{width:100%;min-width:0}.todo-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.todo-list-pane{min-width:0;overflow-x:auto}#page-todos .todo-table th,#page-todos .todo-table td{padding:13px 14px;font-size:13px}#page-todos .todo-table th{font-size:12px;letter-spacing:0}#page-todos .todo-table input[type=checkbox]{width:17px;height:17px}.todo-table tbody tr.selected td{background:var(--accent-soft)}#page-todos .todo-title-cell{cursor:pointer;font-weight:700;color:var(--text);overflow-wrap:anywhere;line-height:1.45}#page-todos .todo-title-cell:hover{color:var(--accent)}#page-todos .todo-title-cell.is-done{text-decoration:line-through;color:var(--faint);font-weight:650}#page-todos .todo-title-meta{margin-top:5px;color:var(--faint);font-size:12px;font-weight:650;overflow-wrap:anywhere}#page-todos .todo-subtodo-count{margin-left:4px;color:#999;font-size:12px;font-weight:650}#page-todos .todo-linked-cell{font-size:12px;color:#666;overflow-wrap:anywhere}.todo-dashboard-link{padding:0;border:0;background:transparent;color:inherit;text-align:left;font-weight:inherit}.todo-dashboard-link:hover{color:var(--accent)}.todo-dashboard-link:focus-visible{outline:3px solid rgba(47,128,237,.18);outline-offset:3px;border-radius:4px}.todo-detail-panel{min-width:0;--modal-pad: 16px}.todo-detail-modal{width:min(520px,100%)}.todo-detail-meta-list{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 0}.todo-detail-meta-list span{padding:3px 8px;border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:700}.todo-detail-copy{margin-top:12px;max-width:70ch;color:var(--muted);line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.todo-detail-form{padding-top:14px}.todo-detail-form textarea{min-height:88px;resize:vertical}.todo-detail-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.todo-detail-section h3{margin:0;color:var(--text);font-size:14px}.todo-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.todo-section-heading>span{color:var(--faint);font-size:12px;font-weight:700}.todo-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.todo-detail-row,.todo-check-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:36px;padding:6px 0}.todo-detail-row input[type=text],.todo-detail-row input:not([type]){width:100%;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:var(--radius);color:var(--text)}.todo-check-row{grid-template-columns:auto minmax(0,1fr);cursor:pointer}.todo-check-row.done span{color:var(--faint);text-decoration:line-through}.todo-check-row input,.todo-detail-row input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent)}.todo-inline-add{display:flex;gap:8px;margin-top:8px}.todo-inline-add input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);color:var(--text)}.todo-session-form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.todo-session-form input{min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:var(--radius);color:var(--text)}.todo-session-form input[aria-label=执行备注],.todo-session-form button{grid-column:1 / -1}.todo-session-form button{justify-self:end}.todo-session-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}.todo-session-row>div{display:grid;gap:2px;min-width:0}.todo-session-row strong{color:var(--text);font-size:12px}.todo-session-row span{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.todo-detail-panel .link-button{padding:3px 4px;border:0;border-radius:4px;background:transparent;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer}.todo-detail-panel .link-button:hover{background:var(--surface-soft)}.todo-detail-panel .link-button:focus-visible{outline:3px solid rgba(47,128,237,.18);outline-offset:1px}.todo-detail-panel .danger-text{color:var(--danger)}.todo-record-link-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.todo-record-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid var(--line)}.todo-record-link{display:grid;gap:2px;width:100%;padding:9px 0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.todo-record-link:hover span{color:var(--accent)}.todo-record-link small{color:var(--faint)}.todo-record-lock{color:var(--faint);font-size:12px;white-space:nowrap}.todo-detail-empty{margin:0;padding:9px 0;color:var(--faint);font-size:12px}.todo-create-modal{width:min(680px,calc(100vw - 36px))}.todo-create-modal form{display:grid;gap:14px}.todo-create-modal .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.todo-create-modal .form-group{display:grid;gap:6px;min-width:0;margin:0}.todo-create-modal .form-group>label,.todo-create-modal .form-group>span{color:var(--muted);font-size:12px;font-weight:800}.todo-create-modal input,.todo-create-modal select,.todo-create-modal textarea{box-sizing:border-box;width:100%;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);font:inherit;font-size:14px;outline:none}.todo-create-modal .todo-date-presets{display:flex;flex-wrap:wrap;gap:8px}.todo-create-modal .todo-date-presets button{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--accent);font-weight:750;cursor:pointer}.todo-create-modal .todo-inline-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.todo-create-modal .todo-create-actions{justify-content:flex-end}.record-create-todos{display:grid;gap:10px;margin-top:2px;padding:14px 16px;border:1px solid #dbe7df;border-radius:var(--radius);background:#f7fbf7}.record-create-todos .record-preview-heading{margin:0;color:var(--accent);font-size:13px;font-weight:800}.record-create-todos .record-preview-empty{margin:0;color:var(--muted);font-size:14px}.record-create-todos .linked-todo-list{display:grid;gap:7px}.record-create-todos .record-preview-todo-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.record-create-todos .record-preview-todo-item em{color:var(--faint);font-size:12px;font-style:normal}.record-link-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.record-link-tools input{box-sizing:border-box;width:100%;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font:inherit}.todo-save-status{margin:12px 0 0;color:var(--accent);font-size:12px;font-weight:700}.calendar-event,.agenda-all-day-item,.agenda-event-block{font:inherit;text-align:left}.calendar-event,.agenda-all-day-item{width:100%}.record-diary-ai{display:grid;gap:12px;margin:16px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.record-diary-ai-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.record-diary-ai-head>div{min-width:0}.record-diary-ai-head p{margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.record-diary-ai-status{margin:0;color:var(--accent);font-size:12px;font-weight:750;line-height:1.5}.record-diary-ai-status.error{color:var(--danger)}.record-diary-ai-result{display:grid;gap:14px;min-width:0}.record-diary-ai-summary{display:grid;gap:4px;padding:10px 12px;background:var(--surface-soft);color:var(--text)}.record-diary-ai-summary span{color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.record-diary-ai-todos{display:grid;gap:10px;padding-top:4px}.record-proofread{display:grid;gap:8px;margin:10px 0 0;padding:12px 0 0;border-top:1px dashed var(--line)}.record-proofread-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:10px}.record-proofread-note{margin:0;color:var(--muted);font-size:12px;line-height:1.6;overflow-wrap:anywhere}.record-proofread-note.error{color:var(--danger)}.record-proofread-list{display:grid;gap:8px;min-width:0}.record-proofread-quote{margin:0;color:var(--text);font-size:12.5px;line-height:1.7;overflow-wrap:anywhere}.record-proofread-quote span{color:var(--muted)}.record-proofread-quote mark{border-radius:3px;padding:0 2px;background:var(--accent-soft);color:var(--text);font-weight:800}.record-create-modal{width:min(880px,100%)}.record-create-modal.modal-sm{width:min(520px,100%)}.record-create-modal.modal-lg{width:min(880px,100%)}.record-create-jump-date{display:inline-flex;align-items:center;gap:8px;margin-left:4px}.record-create-jump-label{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.record-create-jump-date input{box-sizing:border-box;padding:5px 8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);font:inherit;font-size:13px}.record-create-type-groups{display:grid;gap:18px}.record-create-type-group{display:grid;gap:9px}.record-create-type-group h3{margin:0;color:var(--muted);font-size:12px}.record-create-modal .type-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.record-create-modal .type-card.record-create-type-option{min-width:0;min-height:78px;padding:14px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);color:var(--text);font:inherit;display:grid;justify-items:center;gap:5px;cursor:pointer;transition:.18s ease}.record-create-modal .type-card.record-create-type-option .icon{font-size:22px;line-height:1}.record-create-modal .type-card.record-create-type-option .name{font-size:13px;font-weight:800}.record-create-modal .type-card.record-create-type-option:hover{border-color:#bfd1c5;background:#fff;color:var(--accent);transform:translateY(-1px);box-shadow:0 10px 24px #233c2d14}.record-create-type-option:focus-visible{outline:3px solid rgba(47,128,237,.18);outline-offset:2px}.record-create-form{display:grid;gap:13px;min-width:0}.record-create-form .form-group{display:grid;gap:6px;min-width:0;margin:0}.record-create-form .form-group>span,.record-create-form .form-group>label{color:var(--muted);font-size:12px;font-weight:800}.record-create-form .form-group input,.record-create-form .form-group select,.record-create-form .form-group textarea{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);outline:none;background:#fff;color:var(--text);font:inherit;font-size:14px}.record-create-form .form-group textarea{min-height:150px;resize:vertical;line-height:1.7}.record-create-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.record-create-template-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.record-create-template-toolbar select{flex:1;min-width:0}.record-create-modal .record-template-editor{display:block;margin:12px 0 16px;border:1px solid #cfe0d5;border-radius:var(--radius);background:linear-gradient(135deg,#f7fbf7,#eef7f1);padding:12px}.record-create-modal .record-template-editor-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.record-create-modal .record-template-field{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:8px;overflow:hidden;box-shadow:0 8px 18px #3e59450d}.record-create-modal .record-template-field summary{cursor:pointer;padding:10px 12px;font-weight:700;color:var(--text);list-style:none}.record-create-modal .record-template-field summary::-webkit-details-marker{display:none}.record-create-modal .record-template-field summary:after{content:"展开";float:right;color:var(--faint);font-size:12px;font-weight:750}.record-create-modal .record-template-field[open] summary:after{content:"收起"}.record-create-modal .record-template-field .markdown-block-editor{padding:0 12px 12px}.record-create-modal .record-template-field textarea{min-width:0;min-height:72px;border:1px solid #d3ded7;border-radius:var(--radius);padding:9px 10px;resize:vertical;outline:none;line-height:1.65}.record-create-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:4px}.record-create-footer .form-actions{margin:0}.record-create-status{min-height:20px;color:var(--accent);font-size:12px;font-weight:750}#page-fitness .fitness-body-field-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}#page-fitness .fitness-body-field-grid .form-group{min-width:0}#page-fitness .fitness-body-field-grid input{width:100%;min-width:0}#page-fitness .fitness-body-metric-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}#page-fitness .fitness-body-metric-row>div{display:grid;gap:4px;min-width:0}#page-fitness .fitness-body-metric-row strong,#page-fitness .fitness-body-metric-row span{min-width:0;overflow-wrap:anywhere}#page-fitness .fitness-metric-chip-row{display:flex;flex-wrap:wrap;gap:5px}#page-fitness .fitness-metric-chip-row span{padding:3px 7px;border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:700}#page-fitness .fitness-plan-browse-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:var(--radius)}#page-fitness .fitness-plan-browse-main{min-width:0}#page-fitness .fitness-plan-browse-main .fitness-plan-meta{display:block}#page-fitness .fitness-plan-browse-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}#page-fitness .vue-fitness-rest-timer{display:block;margin-top:12px}#page-fitness .vue-fitness-set-suggestion{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;overflow-wrap:anywhere;white-space:normal}@media(max-width:1040px){.todo-workspace{grid-template-columns:minmax(0,1fr)}}@media(max-width:1180px)and (min-width:641px){#page-todos .todo-legacy-filters{grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr)}#page-todos .todo-legacy-filters .app-select{grid-column:1 / -1}}@media(max-width:640px){.todo-create-modal .form-row,.record-link-tools{grid-template-columns:minmax(0,1fr)}#page-todos .todo-legacy-filters .todo-filter-sep{display:none}.todo-detail-panel{--modal-pad: 13px}.todo-session-form{grid-template-columns:minmax(0,1fr)}.todo-session-form input,.todo-session-form input[aria-label=执行备注],.todo-session-form button{grid-column:1}.todo-session-form button{justify-self:stretch}.todo-inline-add,.record-diary-ai-head{align-items:stretch;flex-direction:column}.record-diary-ai-head .btn{align-self:flex-start}.record-create-overlay{align-items:flex-end;padding:0}.record-create-modal{width:100%;max-width:100vw;max-height:94vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;--modal-pad: 14px}.record-create-modal .type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.record-create-form .form-row,.record-create-template-toolbar{grid-template-columns:minmax(0,1fr)}.record-create-modal .record-template-editor-head{flex-direction:column}.record-create-type-option{flex:1 1 calc(50% - 8px);min-width:0}.record-create-footer{align-items:stretch;flex-direction:column}.record-create-footer .form-actions{display:grid;grid-template-columns:1fr 1fr}#page-fitness .fitness-body-metric-row{grid-template-columns:minmax(0,1fr);align-items:stretch}#page-fitness .fitness-body-metric-row .btn{justify-self:start}#page-fitness .fitness-plan-browse-row{grid-template-columns:1fr;align-items:stretch}#page-fitness .fitness-plan-browse-actions{justify-content:flex-start}#page-fitness .fitness-rest-timer-main{align-items:stretch;flex-direction:column}}.app-filter-bar{display:grid;gap:10px;align-items:center;min-width:0;margin-bottom:14px}.app-filter-bar--panel{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.app-filter-bar--plain{padding:0;border:0;background:transparent;box-shadow:none}.app-filter-bar--search-filter{grid-template-columns:minmax(0,1fr) minmax(160px,220px)}.app-filter-bar--search-filter-action{grid-template-columns:minmax(0,1fr) minmax(160px,220px) auto}.app-filter-bar>*,.app-search-input,.app-search-input>input{min-width:0}.app-search-input{position:relative;width:100%}.app-search-input>input{width:100%}.app-search-input.has-value>input{padding-right:38px}.app-search-input input[type=search]::-webkit-search-cancel-button{display:none}.app-search-clear{position:absolute;top:50%;right:7px;z-index:1;display:inline-grid;width:26px;height:26px;padding:0;place-items:center;transform:translateY(-50%);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--muted);pointer-events:none;opacity:0;cursor:pointer;font:inherit;font-size:18px;line-height:1;transition:background .18s ease,color .18s ease,opacity .18s ease}.app-search-clear.is-visible{pointer-events:auto;opacity:1}.app-search-clear:hover{background:var(--surface-soft);color:var(--text)}.app-search-clear:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.app-control{width:100%;min-width:0;min-height:var(--control-height);padding:9px 11px;border:1px solid var(--line);border-radius:var(--radius);outline:none;background:var(--surface);color:var(--text);font:inherit;font-size:14px;transition:border-color .18s ease,background .18s ease}.app-control--compact{min-height:var(--control-height-compact);padding:7px 9px;font-size:13px}.app-control::placeholder{color:var(--muted);opacity:1}.app-control:hover:not(:disabled){border-color:#c9c4b3}.app-control:focus{border-color:var(--accent-2)}.app-control:focus-visible{box-shadow:none}.app-control:disabled{background:var(--surface-soft);color:var(--faint);cursor:not-allowed;opacity:.78}.app-filter-bar .app-control{width:100%}.app-filter-bar>.btn{min-height:40px;align-self:stretch}.page-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.metric-card{display:grid;gap:4px;min-width:0;padding:12px 14px;border:1px solid rgba(33,110,78,.1);border-radius:var(--radius-lg);background:var(--accent-soft)}.metric-card>span,.metric-card>em{color:var(--faint, #7a8b80);font-size:12px;font-style:normal}.metric-card>strong{color:#216e4e;font-size:1.35rem}.app-badge{display:inline-flex;padding:3px 7px;border-radius:var(--radius-pill);background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:700}.app-badge--bordered{padding:5px 9px;border:1px solid var(--line)}.modal-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:var(--modal-pad) var(--modal-pad) var(--modal-pad-bottom)}.modal-header+.modal-body{padding-top:0}.modal-footer{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:14px var(--modal-pad) var(--modal-pad-bottom)}.modal-sticky-actions{position:sticky;bottom:calc(var(--modal-pad-bottom) * -1);z-index:2;margin-inline:calc(var(--modal-pad) * -1);margin-bottom:calc(var(--modal-pad-bottom) * -1);padding:12px var(--modal-pad) var(--modal-pad-bottom);background:var(--surface)}.modal.is-scrollable>.modal-header{border-bottom:1px solid var(--line)}.modal.is-scrollable>.modal-footer,.modal.is-scrollable .modal-sticky-actions{border-top:1px solid var(--line)}.empty-state-title,.empty-state-description{display:block}.empty-state-description{margin-top:4px;color:var(--muted)}.empty-state-actions{margin-top:12px}.notice{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f6faf7;color:var(--muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.notice.is-success{border-color:#d7e6dc;background:#f8fcf9;color:var(--accent)}.notice.is-warning{border-color:#e7cf92;background:#fff9e8;color:#735b22}.notice.is-danger{border-color:#efc6ba;background:#fff7f4;color:#b7432c}@media(min-width:641px)and (max-width:700px){.page-header{flex-wrap:wrap}.page-header>div:first-child{min-width:0;flex:1 1 12rem}.page-header-actions{width:auto;flex:0 1 auto}}@media(max-width:700px){.app-filter-bar--search-filter,.app-filter-bar--search-filter-action{grid-template-columns:minmax(0,1fr)}.app-filter-bar--search-filter-action>.btn{width:100%}}@media(prefers-reduced-motion:reduce){.app-search-clear,.app-control{transition:none}}.markdown-body{min-width:0;color:inherit;overflow-wrap:anywhere;line-height:1.75}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body pre,.markdown-body table{margin:0 0 12px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:0 0 10px;color:var(--text);line-height:1.35}.markdown-body h1{font-size:1.35em}.markdown-body h2{font-size:1.2em}.markdown-body h3{font-size:1.08em}.markdown-body h4{font-size:1em}.markdown-body ul,.markdown-body ol{padding-left:1.5em}.markdown-body li+li{margin-top:4px}.markdown-body blockquote{padding:8px 12px;border-left:3px solid var(--accent);color:var(--muted);background:var(--surface-soft)}.markdown-body hr{margin:16px 0;border:0;border-top:1px solid var(--line)}.markdown-body a{color:var(--accent);overflow-wrap:anywhere}.markdown-body code{padding:2px 5px;border-radius:4px;background:var(--surface-soft);font:inherit;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-body pre{max-width:100%;padding:12px;border-radius:6px;overflow-x:auto;background:#f3f6f3}.markdown-body pre code{padding:0;background:transparent;white-space:pre}.markdown-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.markdown-body th,.markdown-body td{padding:7px 10px;border:1px solid var(--line);text-align:left}.markdown-body th{background:var(--surface-soft)}.markdown-body img{display:block;max-width:100%;max-height:420px;height:auto;margin:4px 0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);cursor:zoom-in}.markdown-body img:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.markdown-body img+br,.markdown-body br:has(+img){display:none}.markdown-body--compact{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.markdown-body--compact img{display:inline-block;max-height:56px;margin:2px 6px 2px 0;vertical-align:middle}.markdown-editor-preview img{max-height:300px}.markdown-editor-preview.is-composed{max-height:46vh;overflow-y:auto;overscroll-behavior:contain}.markdown-block-editor{display:flex;flex-direction:column;gap:8px;min-width:0}.markdown-block-editor textarea{width:100%;margin:0}.markdown-block-image{padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft)}.markdown-block-image .markdown-body img{max-height:260px;margin:0}.markdown-block-image-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.markdown-block-image-name{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:12px;font-weight:600}.markdown-empty{color:var(--muted)}.markdown-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 10px;margin:-4px 0 6px}.markdown-editor-toolbar .link-button,.markdown-block-image-bar .link-button{padding:3px 6px;border:0;border-radius:4px;background:transparent;color:var(--accent);font-weight:700;cursor:pointer}.markdown-editor-toolbar .link-button:hover,.markdown-block-image-bar .link-button:hover{background:var(--bg)}.markdown-editor-toolbar .link-button:focus-visible,.markdown-block-image-bar .link-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.markdown-editor-toolbar .link-button[disabled]{color:var(--muted);cursor:default}.markdown-editor-preview{min-height:168px;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft)}textarea.is-drop-target{border-color:var(--accent);background:var(--surface-soft);box-shadow:inset 0 0 0 1px var(--accent)}.markdown-field-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 10px;margin:0}.markdown-stamp-btn{padding:5px 12px;font-size:12px;white-space:nowrap}@media(max-width:640px){:root{--m-font-sans: "PingFang SC", "HarmonyOS Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, "Segoe UI", sans-serif;--m-font-serif: "Source Han Serif SC", "Noto Serif SC", "Songti SC", ui-serif, Georgia, serif;--m-display: 27px;--m-display-lh: 1.16;--m-display-ls: -.022em;--m-title: 20px;--m-title-lh: 1.26;--m-title-ls: -.015em;--m-headline: 16px;--m-headline-lh: 1.34;--m-headline-ls: -.008em;--m-body: 15px;--m-body-lh: 1.5;--m-callout: 13.5px;--m-callout-lh: 1.45;--m-caption: 12px;--m-caption-lh: 1.4;--m-caption-ls: .01em;--m-micro: 10.5px;--m-micro-lh: 1.3;--m-micro-ls: .02em;--m-1: 4px;--m-2: 8px;--m-3: 12px;--m-4: 16px;--m-5: 20px;--m-6: 24px;--m-8: 32px;--m-gutter: 18px;--m-r-sm: 10px;--m-r-md: 14px;--m-r-lg: 18px;--m-r-xl: 24px;--m-r-pill: 999px;--m-ground: #f7f6f1;--m-surface: #ffffff;--m-surface-soft: #fbfaf5;--m-surface-sunken: rgba(33, 110, 78, .035);--m-line: var(--line);--m-line-soft: rgba(229, 225, 212, .62);--m-text: var(--text);--m-muted: var(--muted);--m-faint: var(--faint);--m-accent: var(--accent);--m-accent-soft: var(--accent-soft);--m-accent-ink: #17513a;--m-on-accent: #ffffff;--m-warning: var(--warning);--m-danger: var(--danger);--m-shadow-chip: 0 1px 2px rgba(52, 48, 34, .05);--m-shadow-card: 0 1px 2px rgba(52, 48, 34, .04), 0 8px 20px -8px rgba(52, 48, 34, .1);--m-shadow-raised: 0 2px 6px rgba(52, 48, 34, .07), 0 16px 32px -12px rgba(52, 48, 34, .16);--m-shadow-chrome: 0 -1px 0 rgba(229, 225, 212, .9), 0 -10px 28px -14px rgba(52, 48, 34, .14);--m-scrim: rgba(30, 34, 28, .32);--m-tabbar-h: 58px;--m-bottom-bar: calc(var(--m-tabbar-h) + env(safe-area-inset-bottom, 0px));--m-safe-top: env(safe-area-inset-top, 0px);--m-top-bar: calc(var(--m-4) + var(--m-safe-top));--m-fab-size: 52px;--m-fab-clear: calc(var(--m-bottom-bar) + var(--m-fab-size) + var(--m-4) * 2);--m-ease: cubic-bezier(.32, .72, 0, 1);--m-fast: .14s;--m-base: .24s}body{background:var(--m-ground);color:var(--m-text);font-family:var(--m-font-sans);font-size:var(--m-body);line-height:var(--m-body-lh);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.vue-app-shell a{text-decoration:none}.vue-app-shell button,.vue-app-shell a,.modal-overlay button,.modal-overlay a{-webkit-tap-highlight-color:transparent}.vue-app-shell button:not(.m-inline),.vue-app-shell a[class*=tab],.vue-app-shell a[class*=btn],.modal-overlay button:not(.m-inline),.modal-overlay a[class*=btn]{min-height:44px}.vue-app-shell input:not([type=checkbox]):not([type=radio]):not([type=range]),.vue-app-shell select,.vue-app-shell textarea,.modal-overlay input:not([type=checkbox]):not([type=radio]):not([type=range]),.modal-overlay select,.modal-overlay textarea{font-size:16px}.empty-state{padding:var(--m-6) var(--m-4);border:0;border-radius:var(--m-r-md);background:var(--m-surface-sunken);color:var(--m-faint);font-size:var(--m-callout);line-height:var(--m-callout-lh)}.empty-state--compact{padding:var(--m-4) var(--m-3)}.empty-state-title{display:block;color:var(--m-muted);font-size:var(--m-callout);font-weight:600}.empty-state-description{display:block;margin-top:var(--m-1);font-size:var(--m-caption)}@media(prefers-reduced-transparency:reduce){:root{--m-surface: #ffffff}}}@media(max-width:640px){.page-header{display:flex;align-items:center;gap:var(--m-3);margin-bottom:var(--m-4)}.page-header>div:first-child{min-width:0;flex:1 1 auto}.page-header .page-title{min-width:0;margin:0;font-size:var(--m-title);font-weight:700;line-height:var(--m-title-lh);letter-spacing:var(--m-title-ls)}.page-header .page-subtitle,.section-hint{display:none}.page-header .page-actions,.page-header .page-header-actions{display:flex;width:auto;flex:0 0 auto;gap:var(--m-2)}.vue-main .page .card{padding:var(--m-4);border:0;border-radius:var(--m-r-lg);background:var(--m-surface);box-shadow:var(--m-shadow-card)}.vue-main .page .card+.card,.vue-main .page>section+section,.vue-main .page>article+article{margin-top:var(--m-4)}.vue-main .page .card .card-title,.vue-main .page .card .section-title-row h2,.vue-main .page .card .section-title-row h3,.vue-main .page .section-title{margin:0 0 var(--m-2);color:var(--m-muted);font-size:var(--m-micro);font-weight:700;line-height:var(--m-micro-lh);letter-spacing:.08em}.vue-main .page .section-title-row{display:flex;align-items:baseline;gap:var(--m-2)}.vue-main .page .section-title-row>div:first-child{min-width:0;flex:1 1 auto}.vue-main .page .summary-grid,.vue-main .page .mini-summary-grid,.vue-main .page .habit-kpi-grid,.vue-main .page .fitness-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;gap:0;margin-bottom:var(--m-4);padding:var(--m-3) var(--m-2);border:0;border-radius:var(--m-r-lg);background:var(--m-surface);box-shadow:var(--m-shadow-card);overflow:visible}.vue-main .page .summary-grid>*,.vue-main .page .mini-summary-grid>*,.vue-main .page .habit-kpi-grid>*,.vue-main .page .fitness-kpi-grid>*{display:grid;min-height:0;gap:1px;padding:0 var(--m-2);border:0;border-radius:0;background:none;box-shadow:none;text-align:left}.vue-main .page .summary-grid>*+*,.vue-main .page .mini-summary-grid>*+*,.vue-main .page .habit-kpi-grid>*+*,.vue-main .page .fitness-kpi-grid>*+*{border-left:1px solid var(--m-line-soft)}.vue-main .page .summary-grid>*:nth-child(n+4),.vue-main .page .mini-summary-grid>*:nth-child(n+4),.vue-main .page .habit-kpi-grid>*:nth-child(n+4),.vue-main .page .fitness-kpi-grid>*:nth-child(n+4){display:none}.vue-main .page .summary-grid>*>span,.vue-main .page .mini-summary-grid>*>span,.vue-main .page .habit-kpi-grid>*>span,.vue-main .page .fitness-kpi-grid>*>span{order:-1;color:var(--m-faint);font-size:var(--m-micro);font-weight:700;letter-spacing:.06em;overflow-wrap:anywhere}.vue-main .page .summary-grid>*>strong,.vue-main .page .mini-summary-grid>*>strong,.vue-main .page .habit-kpi-grid>*>strong,.vue-main .page .fitness-kpi-grid>*>strong{color:var(--m-text);font-size:19px;font-weight:700;line-height:1.2;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.vue-main .page .summary-grid>*>em,.vue-main .page .mini-summary-grid>*>em,.vue-main .page .habit-kpi-grid>*>em,.vue-main .page .fitness-kpi-grid>*>em{display:none}.vue-main .page .card .summary-grid,.vue-main .page .card .mini-summary-grid,.vue-main .page .card .habit-kpi-grid,.vue-main .page .card .fitness-kpi-grid{margin:var(--m-3) 0 0;padding:var(--m-3) 0 0;border-top:1px solid var(--m-line-soft);border-radius:0;background:none;box-shadow:none}.vue-main .page .card .summary-grid>*:first-child,.vue-main .page .card .mini-summary-grid>*:first-child,.vue-main .page .card .habit-kpi-grid>*:first-child,.vue-main .page .card .fitness-kpi-grid>*:first-child{padding-left:0}.vue-main .page .segmented{display:flex;width:100%;min-height:0;gap:var(--m-1);padding:3px;border:0;border-radius:var(--m-r-pill);background:var(--m-surface-sunken);overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;scrollbar-width:none;-webkit-overflow-scrolling:touch}.vue-main .page .segmented::-webkit-scrollbar{display:none}.vue-main .page .segmented>button{min-height:34px;flex:0 0 auto;padding:0 10px;border:0;border-radius:var(--m-r-pill);background:none;color:var(--m-muted);font-family:inherit;font-size:var(--m-caption);font-weight:600;letter-spacing:var(--m-caption-ls);white-space:nowrap;transition:color var(--m-fast) var(--m-ease)}.vue-main .page .segmented>button.active,.vue-main .page .segmented>button[aria-selected=true]{background:var(--m-surface);color:var(--m-accent-ink);box-shadow:var(--m-shadow-chip)}.vue-main .page .btn{display:inline-flex;width:auto;min-height:44px;align-items:center;justify-content:center;gap:var(--m-1);padding:0 var(--m-3);border-radius:var(--m-r-sm);font-family:inherit;font-size:var(--m-caption);font-weight:600;letter-spacing:var(--m-caption-ls);white-space:nowrap;transition:transform var(--m-fast) var(--m-ease)}.vue-main .page .btn:active:not(:disabled){transform:scale(.97)}.vue-main .page .habit-quick-btn:active:not(:disabled){transform:scale(.97)}.vue-main .page .btn:disabled,.vue-main .page .habit-quick-btn:disabled{opacity:.4;cursor:default}.vue-main .page .page-header .btn{width:auto;padding:0 var(--m-1);border:0;background:none;box-shadow:none;color:var(--m-accent-ink);font-weight:600}.vue-main .page .page-header .btn:active:not(:disabled){opacity:.5;transform:none}.vue-main .page .filter-bar,.vue-main .page .record-filter-bar,.vue-main .page .todo-legacy-filters,.vue-main .page .material-filter-bar,.vue-main .page .idea-filter-bar,.vue-main .page .global-search-panel{gap:var(--m-2);padding:var(--m-2);border:0;border-radius:var(--m-r-md);background:var(--m-surface-sunken);box-shadow:none}.vue-main .page .app-filter-bar--collapsed:not(.app-filter-bar--peek){padding:0 var(--m-2)}.vue-main .page .app-filter-bar--collapsible{grid-template-columns:repeat(2,minmax(0,1fr))}.vue-main .page .app-filter-bar--collapsible>.filter-bar-toggle,.vue-main .page .app-filter-bar--collapsible>.app-search-input,.vue-main .page .app-filter-bar--collapsible>.btn,.vue-main .page .app-filter-bar--collapsible>select:nth-of-type(odd):last-of-type,.vue-main .page .filter-bar-grid>.app-search-input,.vue-main .page .filter-bar-grid>.btn,.vue-main .page .filter-bar-grid>select:nth-of-type(odd):last-of-type{grid-column:1 / -1}.vue-main .page .app-filter-bar--collapsible>.app-search-input,.vue-main .page .app-filter-bar--collapsible>.btn,.vue-main .page .filter-bar-grid>.app-search-input,.vue-main .page .filter-bar-grid>.btn{order:3}.vue-main .page .app-filter-bar>.app-control,.vue-main .page .app-filter-bar>input,.vue-main .page .app-filter-bar>select,.vue-main .page .app-filter-bar>.app-search-input,.vue-main .page .filter-bar-grid>.app-control,.vue-main .page .filter-bar-grid>input,.vue-main .page .filter-bar-grid>select,.vue-main .page .filter-bar-grid>.app-search-input{min-height:44px}.vue-main .page .app-filter-bar>.app-control,.vue-main .page .app-filter-bar>input,.vue-main .page .app-filter-bar>.app-search-input,.vue-main .page .filter-bar-grid>.app-control,.vue-main .page .filter-bar-grid>input,.vue-main .page .filter-bar-grid>.app-search-input{border:0;border-radius:var(--m-r-sm);background:var(--m-surface)}.vue-main .page .app-filter-bar>.app-control:focus,.vue-main .page .app-filter-bar>input:focus,.vue-main .page .app-filter-bar>.app-search-input:focus-within,.vue-main .page .filter-bar-grid>.app-control:focus,.vue-main .page .filter-bar-grid>input:focus,.vue-main .page .filter-bar-grid>.app-search-input:focus-within{outline:2px solid var(--m-accent);outline-offset:-2px}.vue-main .page .app-filter-bar--floating{position:relative;display:block;padding:0;border-radius:0;background:none}.vue-main .page .filter-bar-chiprow{position:relative;z-index:32;display:flex;min-height:44px;align-items:center;gap:var(--m-1);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.vue-main .page .filter-bar-chiprow::-webkit-scrollbar{display:none}.vue-main .page .filter-bar-chiprow>*{flex:0 0 auto}.vue-main .page .app-filter-bar--floating .filter-bar-toggle,.vue-main .page .filter-bar-chip,.vue-main .page .filter-bar-clear{display:inline-flex;min-height:36px;align-items:center;gap:var(--m-1);padding:0 var(--m-3);border:0;border-radius:var(--m-r-pill);font-size:var(--m-callout);line-height:1}.vue-main .page .app-filter-bar--floating .filter-bar-toggle{box-shadow:inset 0 0 0 1px var(--m-line);background:var(--m-surface);color:var(--m-text);font-weight:600}.vue-main .page .app-filter-bar--floating.app-filter-bar--open .filter-bar-toggle{box-shadow:inset 0 0 0 1px var(--m-accent);color:var(--m-accent-ink)}.vue-main .page .filter-bar-badge{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:var(--m-r-pill);background:var(--m-accent);color:var(--m-on-accent);font-size:var(--m-micro);font-weight:700}.vue-main .page .filter-bar-chip{background:var(--m-accent-soft);color:var(--m-accent-ink);font-weight:600}.vue-main .page .filter-bar-chip-value{white-space:nowrap}.vue-main .page .filter-bar-chip-x{color:var(--m-accent);font-size:var(--m-micro);opacity:.75}.vue-main .page .filter-bar-clear{padding:0 var(--m-2);background:none;color:var(--m-faint);text-decoration:underline}.vue-main .page .filter-bar-scrim{position:fixed;z-index:30;top:0;right:0;bottom:0;left:0;background:var(--m-scrim)}.vue-main .page .filter-bar-panel{position:absolute;z-index:31;top:calc(100% + var(--m-1));right:0;left:0;max-height:62vh;padding:var(--m-3);overflow-y:auto;border-radius:var(--m-r-lg);background:var(--m-surface);box-shadow:var(--m-shadow-raised)}.vue-main .page .filter-bar-grid{display:grid;gap:var(--m-2);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.vue-main .page .filter-bar-foot{position:sticky;bottom:0;display:flex;gap:var(--m-2);margin-top:var(--m-3);padding-top:var(--m-2);background:var(--m-surface)}.vue-main .page .filter-bar-foot>.btn{flex:1 1 0;min-height:44px;justify-content:center}.vue-main .page .filter-bar-foot>.btn-primary{flex:1.6 1 0}.vue-main .page .form-field{display:grid;gap:var(--m-1);min-width:0}.vue-main .page .form-field>span{color:var(--m-faint);font-size:var(--m-micro);font-weight:700;letter-spacing:.06em}.vue-main .page .form-field input,.vue-main .page .form-field select,.vue-main .page .form-field textarea,.vue-main .page .form-field .app-control{min-height:44px;border-radius:var(--m-r-sm);font-size:16px}.vue-main .page .form-actions{display:flex;gap:var(--m-2);margin-top:var(--m-1)}.vue-main .page .form-actions .btn{flex:1 1 auto}@media(prefers-reduced-motion:reduce){.vue-main .page .btn:active:not(:disabled){transform:none}}}@media(max-width:640px){html,body,#app{width:100%;min-height:100%}body{overflow-x:hidden}.vue-app-shell{display:flex;width:100%;height:auto;min-height:100dvh;flex-direction:column;padding-bottom:var(--m-fab-clear);overflow:visible;background:var(--m-ground)}.vue-app-shell>.sidebar{display:none}.vue-main{width:100%;height:auto;flex:0 0 auto;padding:0;overflow:visible}.vue-main>*{padding:var(--m-top-bar) var(--m-gutter) 0}#page-dashboard{max-width:none}#page-dashboard>.page-header{display:none}#page-dashboard>.notice{margin:0 0 var(--m-3)}.dashboard-hero{display:block;margin-bottom:var(--m-4)}.hero-panel{min-height:0;padding:var(--m-5) var(--m-5) var(--m-4);border:0;border-radius:var(--m-r-xl);background:radial-gradient(220px 160px at 108% 106%,var(--m-accent-soft),transparent 70%),var(--m-surface);box-shadow:var(--m-shadow-card)}.hero-panel:after{display:none}.hero-date{color:var(--m-faint);font-size:var(--m-micro);font-weight:700;letter-spacing:.08em}#page-dashboard .hero-title,#page-dashboard .hero-title-button{max-width:none;margin:var(--m-2) 0 0;padding:0;font-family:var(--m-font-serif);font-size:23px;font-weight:600;line-height:1.34;letter-spacing:-.015em;color:var(--m-text);text-align:left}.hero-meta{display:flex;flex-wrap:wrap;gap:var(--m-2);margin-top:var(--m-4)}.hero-meta span{min-height:0;padding:var(--m-1) var(--m-3);border:0;border-radius:var(--m-r-pill);background:var(--m-surface-sunken);color:var(--m-accent-ink);font-size:var(--m-caption);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:var(--m-caption-ls)}.quick-create,.command-center,.dashboard-floating-todos,#page-dashboard .dashboard-periods,#page-dashboard .dashboard-timeline,.dashboard-main-grid>section[aria-label=无截止待办池]{display:none}.todo-pool-hint,.dashboard-today-todos:after,.dashboard-today-habits:after{display:none}.dashboard-main-grid,.today-grid{display:block}.dashboard-main-grid>section{margin-top:var(--m-4)}.dashboard-main-grid>section:first-child{margin-top:0}.dashboard-today-overview{padding:var(--m-4) var(--m-4) var(--m-2);border:0;border-radius:var(--m-r-lg);background:var(--m-surface);box-shadow:var(--m-shadow-card)}.dashboard-today-overview>.card-title{display:none}.dashboard-today-overview .section-title{margin:0 0 var(--m-2);color:var(--m-muted);font-size:var(--m-micro);font-weight:700;letter-spacing:.08em}.dashboard-today-habits{margin-top:var(--m-5);padding-top:0}#page-dashboard .dashboard-today-overview .todo-list,#page-dashboard .dashboard-habit-list{display:grid;max-height:none;gap:0;margin-top:0;padding-right:0;overflow:visible}#page-dashboard .dashboard-today-overview .todo-item,#page-dashboard .dashboard-habit-item{min-height:56px;align-items:center;padding:var(--m-3) 0;border:0;border-top:1px solid var(--m-line-soft);border-radius:0;background:none;box-shadow:none}#page-dashboard .dashboard-today-overview .todo-item:first-child,#page-dashboard .dashboard-habit-item:first-child{border-top:0}#page-dashboard .dashboard-today-overview .todo-item:not(.dashboard-habit-item){display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:var(--m-3);flex-wrap:nowrap}#page-dashboard .dashboard-today-overview .todo-check{width:21px;height:21px}#page-dashboard .dashboard-today-todos .todo-item:not(.dashboard-habit-item) .todo-actions{display:none}#page-dashboard .dashboard-today-overview .todo-text{min-width:0;margin:-4px 0;padding:4px 0;font-size:var(--m-callout);font-weight:500;line-height:var(--m-callout-lh);text-align:left}#page-dashboard .dashboard-today-overview .todo-text small{display:block;margin-top:1px;color:var(--m-faint);font-size:var(--m-caption);font-weight:400;line-height:var(--m-caption-lh)}#page-dashboard .dashboard-today-overview .todo-urgency{min-height:0;padding:2px var(--m-2);border-radius:var(--m-r-pill);font-size:var(--m-micro);font-weight:700;letter-spacing:var(--m-micro-ls);white-space:nowrap}#page-dashboard .dashboard-habit-item .habit-quick-head{display:flex;align-items:center;gap:var(--m-3)}#page-dashboard .dashboard-habit-item .habit-quick-main{min-width:0;flex:1 1 auto}#page-dashboard .dashboard-habit-item .habit-quick-open{width:100%;margin:-4px 0;padding:4px 0;text-align:left}#page-dashboard .dashboard-habit-item .habit-quick-title{overflow:hidden;font-size:var(--m-callout);font-weight:500;line-height:var(--m-callout-lh);text-overflow:ellipsis;white-space:nowrap}#page-dashboard .dashboard-habit-item .habit-quick-tag,#page-dashboard .dashboard-habit-item .habit-quick-status,#page-dashboard .dashboard-habit-item .habit-quick-meta>*:nth-child(n+3),#page-dashboard .dashboard-habit-item .habit-quick-btn.secondary{display:none}#page-dashboard .dashboard-habit-item .habit-quick-meta{display:flex;gap:var(--m-2);margin-top:1px;color:var(--m-faint);font-size:var(--m-caption);line-height:var(--m-caption-lh);font-variant-numeric:tabular-nums}#page-dashboard .dashboard-habit-item .habit-quick-meta>*{min-height:0;padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:inherit;font-weight:400;line-height:inherit}#page-dashboard .dashboard-habit-item .habit-quick-meta>*+*:before{margin-right:var(--m-2);content:"·"}#page-dashboard .dashboard-habit-item .habit-quick-actions{flex:0 0 auto}#page-dashboard .dashboard-habit-item .habit-quick-btn{min-width:56px;min-height:34px;padding:0 var(--m-3);border-radius:var(--m-r-sm);font-size:var(--m-caption);font-weight:600}#page-dashboard .dashboard-todo-group+.dashboard-todo-group{margin-top:var(--m-3)}#page-dashboard .dashboard-todo-group-head{margin-bottom:0;font-size:var(--m-caption)}#page-dashboard .dashboard-todo-more{min-height:44px;font-size:var(--m-caption)}#page-dashboard .dashboard-monthly-list{gap:var(--m-2)}#page-dashboard .dashboard-monthly-item{min-height:44px;padding:var(--m-2) var(--m-3);border-radius:var(--m-r-md);font-size:var(--m-callout);font-weight:500;line-height:var(--m-callout-lh)}#page-dashboard .dashboard-monthly-rest{min-height:44px;margin-top:0;font-size:var(--m-caption)}.dashboard-today-overview .empty-state{padding:var(--m-5) 0 var(--m-6);background:none;text-align:center}}@media(max-width:640px){.vue-main>*{min-width:0}#page-todos{overflow-x:visible}#page-todos .todo-workspace{display:block}#page-todos .todo-list-pane{overflow-x:visible}#page-todos .todo-phone-status{margin-bottom:var(--m-3)}#page-todos .todo-legacy-filters{margin:0 0 var(--m-3)}#page-todos .todo-legacy-filters .todo-filter-label{grid-column:1 / -1;align-self:end;color:var(--m-faint);font-size:var(--m-micro);font-weight:700;letter-spacing:var(--m-micro-ls)}#page-todos .empty-state{padding:var(--m-8) var(--m-4);background:none;text-align:center}#page-todos .todo-sync-status-card,#page-habits .habit-header-actions .btn-secondary{display:none}#page-habits .habit-header-actions .btn-secondary.habit-header-keep{display:inline-flex}#page-habits .habit-center-kpis,#page-habits .habit-realm-bar{display:none}#page-habits .habit-wallet-admin{margin:-4px 0 12px}#page-habits .habit-center-kpis>*:nth-child(2),#page-habits .habit-center-kpis>*:nth-child(5){display:none}#page-habits .habit-center-kpis>*:nth-child(4){display:grid}#page-habits .habit-center-toolbar{position:sticky;top:var(--m-safe-top);z-index:8;display:grid;gap:var(--m-2);margin:0 calc(var(--m-gutter) * -1) var(--m-4);padding:var(--m-2) var(--m-gutter);border:0;background:color-mix(in srgb,var(--m-ground) 88%,transparent);backdrop-filter:blur(14px) saturate(180%);-webkit-backdrop-filter:blur(14px) saturate(180%)}#page-habits .habit-today-panel{padding:0;border:0;border-radius:0;background:none;box-shadow:none}#page-habits .habit-today-panel>.section-title-row{display:none}#page-habits .habit-quick-list,#page-habits .habit-group-items{display:grid;gap:var(--m-2)}#page-habits .habit-quick-card{min-height:64px;padding:var(--m-3);border:0;border-radius:16px;background:var(--m-surface, #fff);box-shadow:none}#page-habits .habit-quick-checked,#page-habits .habit-quick-tag,#page-habits .habit-quick-status,#page-habits .habit-quick-meta,#page-habits .habit-quick-note-inline,#page-habits .habit-quick-total,#page-habits .habit-strip,#page-habits .habit-quick-actions,#page-habits .habit-correction-panel{display:none}#page-habits .habit-quick-head{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--m-3)}#page-habits .habit-quick-main{min-width:0;flex:1 1 auto}#page-habits .habit-quick-title-row{display:flex;align-items:center;gap:var(--m-2);min-width:0}#page-habits .habit-quick-title{overflow:hidden;font-size:var(--m-headline, 17px);font-weight:600;line-height:var(--m-callout-lh);text-overflow:ellipsis;white-space:nowrap}#page-records .record-create-action{display:none}#page-records .record-filter-bar{margin:0 0 var(--m-3)}#page-records .calendar-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--m-2);margin:0 0 var(--m-4);padding:0;border:0;border-radius:0;background:none;box-shadow:none}#page-records .calendar-toolbar .record-view-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:var(--m-1);margin:0}#page-records .calendar-toolbar .record-view-nav strong{min-width:0;color:var(--m-text);font-size:var(--m-callout);font-weight:600;text-align:center}#page-records .calendar-toolbar .record-view-nav .btn{width:auto;min-height:44px;padding:0;border:0;background:none;box-shadow:none;color:var(--m-accent-ink);font-weight:600}#page-records .calendar-toolbar .record-view-nav .btn:first-child,#page-records .calendar-toolbar .record-view-nav .btn:nth-child(3){font-size:21px;line-height:1}#page-records .calendar-toolbar .record-view-nav .btn:last-child{padding:0 0 0 var(--m-3);font-size:var(--m-caption)}#page-records .empty-state{padding:var(--m-8) var(--m-4);background:none;text-align:center}#page-records .record-calendar,#page-records .agenda-shell{border:0;border-radius:var(--m-r-lg);background:var(--m-surface);box-shadow:var(--m-shadow-card)}#page-records .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:visible;padding:var(--m-2) var(--m-1) var(--m-3)}#page-records .calendar-head{padding:var(--m-1) 0 var(--m-2);border:0;background:none;color:var(--m-faint);font-size:var(--m-micro);font-weight:600;text-align:center}#page-records .calendar-cell{min-height:0;padding:4px 5px 6px;border:0;border-right:1px solid var(--m-line-soft);background:none;display:grid;align-content:start}#page-records .calendar-cell-tap{order:-1}#page-records .calendar-cell.is-today{background:none}#page-records .calendar-cell .calendar-date{display:none}#page-records .calendar-cell .calendar-cell-body{display:grid;gap:2px}#page-records .calendar-cell-body .calendar-event{padding:2px 4px;border-radius:3px;font-size:10px;line-height:1.5}#page-records .calendar-cell-body .calendar-event-time{display:none}#page-records .calendar-more{font-size:10px;padding-top:1px}#page-records .calendar-more-full{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#page-records .calendar-more-short{display:inline}#page-records .calendar-cell-tap{display:grid;width:100%;min-height:40px;justify-items:center;align-content:center;gap:3px;padding:var(--m-1) 0;border:0;border-radius:var(--m-r-sm);background:none;color:var(--m-text);font-size:var(--m-callout);font-variant-numeric:tabular-nums}#page-records .calendar-cell-tap:active{background:var(--m-surface-sunken)}#page-records .calendar-cell.is-today .calendar-cell-tap .calendar-cell-tap-day{border-radius:var(--m-r-pill);background:var(--m-accent);color:var(--m-on-accent);font-weight:600}#page-records .calendar-cell-tap-day{display:grid;width:28px;height:28px;place-items:center;line-height:1}#page-records .calendar-cell:not(.is-today) .calendar-cell-tap{color:var(--m-text)}#page-records .agenda-shell{--agenda-axis: 46px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}#page-records .agenda-body{grid-template-columns:var(--agenda-axis) minmax(0,1fr)}#page-records .agenda-week .agenda-head,#page-records .agenda-week .agenda-all-day,#page-records .agenda-week .agenda-body{min-width:calc(var(--agenda-axis) + 60px * 7)}#page-records .agenda-hour-label{padding:2px var(--m-1) 0 0;font-size:var(--m-micro);font-weight:500}#page-records .agenda-day-head{padding:var(--m-2) var(--m-1);text-align:center}#page-records .agenda-day-label{margin-bottom:2px;font-size:var(--m-micro);font-weight:600}#page-records .agenda-day-number{font-size:var(--m-callout);font-variant-numeric:tabular-nums}#page-records .agenda-week .agenda-day-extra{display:none}#page-records .agenda-day-extra{margin-left:var(--m-1);font-size:var(--m-micro)}#page-records .agenda-all-day-label{padding:var(--m-2) var(--m-1);font-size:var(--m-micro);font-weight:600;line-height:1.3}#page-records .agenda-all-day-cell{min-height:40px}#page-records .agenda-all-day-item,#page-records .agenda-event-block{padding:3px 5px;border-radius:var(--m-r-sm);font-size:var(--m-micro);line-height:var(--m-micro-lh)}#page-records .agenda-week .agenda-all-day-item{height:8px;padding:0;border-radius:var(--m-r-pill);color:transparent;overflow:hidden}#page-records .agenda-event-time,#page-records .agenda-event-title,#page-records .agenda-event-meta{font-size:var(--m-micro);font-weight:500}#page-records .agenda-week .agenda-event-time,#page-records .agenda-event-block.is-short .agenda-event-time,#page-records .agenda-event-block.is-short .agenda-event-meta,#page-tags .tag-summary,#page-search .search-summary{display:none}#page-goals .goal-summary-grid>*:nth-child(2){display:none}#page-goals .goal-summary-grid>*:nth-child(4){display:grid}#page-goals .goal-grid{display:grid;gap:var(--m-2)}#page-tags .tag-center-grid{gap:var(--m-2)}#page-goals .goal-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--m-1) var(--m-3);margin-bottom:0;padding:var(--m-3);border:0;border-radius:var(--m-r-md);background:var(--m-surface);box-shadow:var(--m-shadow-card)}#page-goals .goal-info{display:contents}#page-goals .goal-info h4,#page-goals .goal-info p{grid-column:1 / -1}#page-goals .goal-info h4{margin-bottom:0;font-size:var(--m-headline);line-height:var(--m-headline-lh);letter-spacing:var(--m-headline-ls)}#page-goals .goal-info p{color:var(--m-muted);font-size:var(--m-caption);line-height:var(--m-caption-lh)}#page-goals .goal-card .progress-bar{width:auto;margin-top:var(--m-1)}#page-goals .goal-progress{margin-top:var(--m-1);font-size:var(--m-headline);font-variant-numeric:tabular-nums}#page-tags .tag-center-card,#page-search .search-result-item,#page-materials .material-card,#page-ideas .idea-card{padding:var(--m-3);border-radius:var(--m-r-md)}#page-tags .tag-center-preview,#page-search .search-result-item p{display:none}#page-fitness .page-header{flex-wrap:wrap}#page-fitness .page-header .fitness-header-actions{width:100%;flex:1 0 100%;justify-content:flex-start;margin-left:calc(var(--m-1) * -1)}#page-fitness .fitness-coach-card,#page-fitness .fitness-overview-hero .fitness-kicker,#page-fitness .fitness-overview-hero .section-hint,#page-fitness .fitness-overview-hero .fitness-overview-note{display:none}#page-fitness .fitness-overview-hero{min-height:0;padding:14px}#page-fitness .fitness-overview-meta>*:nth-child(1),#page-fitness .fitness-overview-meta>*:nth-child(3),#page-fitness .fitness-overview-meta>*:nth-child(4){display:none}#page-fitness .fitness-overview-hero .section-title-row{flex-wrap:wrap}#page-fitness .fitness-overview-actions{flex:1 0 100%;margin-top:var(--m-3)}#page-fitness .fitness-overview-secondary{display:grid;grid-template-columns:1fr 1fr}#page-fitness .fitness-trend-grid,#page-fitness .fitness-trend-summary{display:none}#page-ideas .idea-view-bar{margin-bottom:8px}#page-ideas .idea-card-actions .btn{min-height:32px;padding:6px 8px;font-size:11px}#page-materials .material-filter-bar,#page-ideas .idea-filter-bar,#page-search .global-search-panel{display:grid}#page-wheel .wheel-library-toolbar{gap:var(--m-2)}#page-habits .habit-center-toolbar{align-items:stretch}#page-habits .habit-center-toolbar .habit-section-back{width:100%;justify-content:flex-start}#page-habits>section.card .section-title-row,#page-habits .habit-wallet-panel>.section-title-row{flex-direction:column;align-items:stretch;gap:var(--m-3)}#page-habits>section.card .section-title-row>button,#page-habits .habit-wallet-panel>.section-title-row>button{width:100%;justify-content:center}#page-habits .habit-wallet-panel>.section-title-row>div:last-child{display:grid;gap:var(--m-2)}#page-habits .habit-wallet-total{justify-self:start;width:100%;box-sizing:border-box}#page-habits .habit-wallet-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--m-2)}#page-habits .habit-wallet-stats span{min-width:0;overflow-wrap:anywhere}#page-habits .habit-wallet-admin,#page-habits .habit-diagnostics-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--m-2)}#page-habits .habit-wallet-admin .btn,#page-habits .habit-diagnostics-actions .btn{width:100%;justify-content:center}#page-habits .habit-management-table{overflow:visible}#page-habits .habit-management-table .habit-library-row.head{display:none}#page-habits .habit-management-table .habit-library-row:not(.head){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--m-2) var(--m-3);min-width:0;margin-bottom:var(--m-3);padding:var(--m-3);border:0;border-radius:var(--m-r-md, 12px);background:var(--m-surface, #fff);box-shadow:var(--m-shadow-card)}#page-habits .habit-management-table .habit-library-row:not(.head)>span{min-width:0;overflow-wrap:anywhere}#page-habits .habit-management-table .habit-library-row:not(.head)>.habit-library-name,#page-habits .habit-management-table .habit-library-row:not(.head)>span:nth-child(2),#page-habits .habit-management-table .habit-library-row:not(.head)>.habit-library-actions{grid-column:1 / -1}#page-habits .habit-management-table .habit-library-row:not(.head)>span:nth-child(3):before,#page-habits .habit-management-table .habit-library-row:not(.head)>span:nth-child(4):before,#page-habits .habit-management-table .habit-library-row:not(.head)>span:nth-child(5):before{display:block;margin-bottom:2px;color:var(--m-faint);font-size:var(--m-micro);font-weight:700}#page-habits .habit-management-table .habit-library-row:not(.head)>span:nth-child(3):before{content:"今日"}#page-habits .habit-management-table .habit-library-row:not(.head)>span:nth-child(4):before{content:"连续"}#page-habits .habit-management-table .habit-library-row:not(.head)>span:nth-child(5):before{content:"最后操作"}#page-habits .habit-library-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--m-2)}#page-habits .habit-library-actions .btn{width:100%;justify-content:center}#page-habits .habit-diagnostics-grid,#page-habits .habit-readiness-grid,#page-habits .cultivation-quick-stats,#page-habits .cultivation-realm-stats,#page-habits .cultivation-decay-stats{grid-template-columns:repeat(2,minmax(0,1fr))}#page-habits .habit-diagnostics-actions{align-items:stretch}#page-habits .habit-diagnostics-issue,#page-habits .habit-repair-preview,#page-habits .habit-debt-row{overflow-wrap:anywhere}#page-habits .cultivation-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#page-habits section[aria-labelledby=habit-sync-title] .section-title-row{align-items:stretch}#page-habits section[aria-labelledby=habit-sync-title] .sync-status-row{align-items:flex-start;gap:var(--m-2)}#page-habits section[aria-labelledby=habit-sync-title] .sync-status-meta{flex-wrap:wrap;justify-content:flex-start}.habit-section-sheet{display:grid;gap:var(--m-2)}.habit-section-entry{min-height:48px;padding:12px;border-radius:var(--m-r-sm, 8px)}.habit-editor-modal .habit-editor-form,.habit-editor-modal .habit-advanced-grid,.habit-editor-modal .habit-reward-form{grid-template-columns:minmax(0,1fr)}.habit-editor-modal .habit-milestone-row{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-editor-modal .habit-milestone-row label{grid-column:1 / -1}.habit-editor-modal .modal-action-row,.habit-currency-modal .modal-action-row,.habit-point-adjust-modal .modal-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.habit-editor-modal .modal-action-right{display:contents}}@media(max-width:640px){#page-wheel{padding-bottom:14px}#page-wheel .wheel-header{margin-bottom:8px}#page-wheel .wheel-header .page-title{font-size:18px}#page-wheel .wheel-header .wheel-header-actions,#page-wheel .wheel-header .wheel-action-menu-wrap,#page-wheel .wheel-notice{display:none}#page-wheel .wheel-focus-shell{max-width:none;margin:0 -18px 12px;padding:12px 14px 16px;min-height:0;border:0;border-radius:0;background:var(--m-surface-soft);box-shadow:0 4px 16px #3c2a140d}#page-wheel .wheel-focus-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-bottom:10px}#page-wheel .wheel-focus-toolbar .wheel-mode-pills{grid-column:1 / -1;order:2;width:100%;min-height:34px;overflow-x:auto}#page-wheel .wheel-focus-toolbar .wheel-selector{order:1}#page-wheel .wheel-focus-toolbar .wheel-selector select{min-height:44px;padding-block:0;border-radius:10px;font-size:16px}#page-wheel .wheel-focus-toolbar .wheel-action-menu-wrap{display:block;width:auto;order:1}#page-wheel .wheel-focus-toolbar .wheel-action-menu-button{width:auto;min-width:58px;min-height:44px;padding:0 var(--m-2);border-radius:10px;font-size:var(--m-caption)}#page-wheel .wheel-focus-stage{display:flex;flex-direction:column;gap:7px}#page-wheel .wheel-focus-copy{display:contents}#page-wheel .wheel-stage-summary{order:1}#page-wheel .wheel-stage-card.hero.compact{display:grid;gap:5px;padding:0 2px;border:0;background:transparent;box-shadow:none;text-align:left}#page-wheel .wheel-stage-card-top{display:none}#page-wheel .wheel-stage-title,#page-wheel .wheel-mode-title{max-width:none;font-size:19px;line-height:1.25}#page-wheel .wheel-stage-copy{display:none}#page-wheel .wheel-stage-quick-tags{display:flex;flex-wrap:nowrap;justify-content:flex-start;max-width:100%;margin-top:4px;overflow-x:auto}#page-wheel .wheel-stage-quick-tag{flex:0 0 auto;min-height:28px;padding:5px 8px;border-radius:9px;font-size:10px}#page-wheel .wheel-focus-canvas{order:2;padding-top:0}#page-wheel .wheel-canvas-wrap{width:min(68vw,250px);height:min(68vw,250px);flex:0 0 auto}#page-wheel .wheel-pointer{top:-2px;font-size:19px}#page-wheel .wheel-center-label{display:grid;place-items:center;position:absolute;inset:50% auto auto 50%;width:58px;height:58px;transform:translate(-50%,-50%);border:4px solid rgba(255,255,255,.9);border-radius:50%;background:var(--m-surface-soft);color:var(--m-accent-ink);font-size:12px;font-weight:800;box-shadow:0 4px 14px #3c2a141f;pointer-events:none}#page-wheel .wheel-center-hint{display:none}#page-wheel .wheel-center-text{color:inherit;font-size:12px;font-weight:800}#page-wheel .wheel-stage-hint{display:none}#page-wheel .wheel-focus-actions{order:3;display:grid;grid-template-columns:minmax(0,1fr);gap:7px;max-width:none;padding:0;border:0;background:transparent;box-shadow:none}#page-wheel .wheel-focus-actions .wheel-spin{min-height:44px;padding:10px 14px;border-radius:12px;font-size:13px;font-weight:800}#page-wheel .wheel-focus-actions .btn-secondary{display:none}#page-wheel .wheel-result{order:4;min-height:0}#page-wheel .wheel-result-card.pending{display:none}#page-wheel .wheel-result-card{display:grid;gap:5px;padding:12px;border-radius:14px}#page-wheel .wheel-result-note{display:none}#page-wheel .wheel-result-title{font-size:18px}#page-wheel .wheel-result-actions{display:flex;justify-content:flex-start;gap:6px}#page-wheel .wheel-result-actions .btn{min-height:30px;padding:6px 9px;font-size:11px}#page-wheel .wheel-result-meta{display:none}#page-wheel .wheel-empty-shell{min-height:0;padding-block:24px}#page-wheel .wheel-empty-copy .wheel-subtitle{display:none}#page-wheel .wheel-empty-copy .btn{min-height:36px}}@media(min-width:641px){.calendar-cell-tap{display:none}}@media(max-width:640px){body{overscroll-behavior-x:none}.filter-bar-toggle{display:flex;align-items:center;justify-content:space-between;padding:0 var(--m-1);border:0;background:none;color:var(--m-accent-ink);cursor:pointer;font-size:var(--m-caption);font-weight:600;letter-spacing:var(--m-caption-ls);text-align:left}.filter-bar-toggle:after{content:"›";color:var(--m-muted);font-size:17px;line-height:1;transform:rotate(90deg);transition:transform var(--m-fast) var(--m-ease)}.filter-bar-toggle[aria-expanded=true]:after{transform:rotate(-90deg)}.app-filter-bar--collapsible>*{order:2}.app-filter-bar--peek>*:first-child{order:0}.app-filter-bar--collapsible>.filter-bar-toggle{order:1}.app-filter-bar--collapsed.app-filter-bar--peek>*:not(:first-child):not(.filter-bar-toggle),.app-filter-bar--collapsed:not(.app-filter-bar--peek)>*:not(.filter-bar-toggle){display:none}.close-btn{width:44px;height:44px;flex:0 0 44px}.modal-overlay{align-items:flex-end;padding:0}.modal-overlay .modal{--modal-pad: 16px;--modal-pad-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) ;width:100%;max-width:none;max-height:min(88dvh,760px);margin:0;border-radius:22px 22px 0 0;border:0;box-shadow:0 -12px 34px #2a26222e}.modal-overlay .modal-header{padding:14px var(--modal-pad) 10px}.modal-overlay .modal-title{font-size:17px}.modal-overlay .form-group{margin-bottom:11px}.modal-overlay .form-group input:not([type=checkbox]):not([type=radio]),.modal-overlay .form-group select,.modal-overlay .form-group textarea{min-height:44px;padding:9px 10px;font-size:16px}.modal-overlay .form-group textarea{min-height:96px}.modal-overlay .modal-action-right{display:flex;flex:1}.modal-action-row{gap:var(--m-2)}.modal-action-row .btn{min-width:0}.modal-overlay .modal-action-right .btn{flex:1}.app-search-clear{width:38px;height:38px;right:2px}.sync-resource-panel .sync-resource-heading{display:flex;flex-direction:row;align-items:center;gap:var(--m-2)}.sync-resource-panel .sync-resource-heading>div:first-child{min-width:0;flex:1 1 auto}.sync-resource-panel .card-title{margin-bottom:0}.sync-resource-panel .sync-resource-heading>div:first-child>span{display:block;color:var(--m-faint);font-size:var(--m-micro);line-height:var(--m-micro-lh)}.sync-resource-panel .sync-resource-mode{flex:0 0 auto;align-self:center;padding:3px var(--m-2);border:0;border-radius:var(--m-r-pill);background:var(--m-surface-sunken);color:var(--m-muted);font-size:var(--m-micro);font-weight:700}.sync-resource-panel .sync-resource-toolbar,.sync-resource-panel .sync-resource-arm{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:var(--m-2);margin-top:var(--m-2);padding:var(--m-2) 0 0;border-top:1px solid var(--m-line-soft)}.sync-resource-panel .sync-resource-toggle{min-height:44px;gap:var(--m-3);color:var(--m-text);font-size:var(--m-callout)}.sync-resource-panel .sync-resource-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--m-2);margin-top:0}.sync-resource-panel .sync-resource-actions .btn,.sync-resource-panel .sync-resource-arm .btn{width:100%}.todo-detail-panel .link-button,.history-row-actions .link-button,.entity-row>span:last-child .link-button{min-width:38px;min-height:34px;padding:8px 6px}input[type=checkbox]{width:19px;height:19px}#page-wheel .wheel-header:after{display:none}#page-wheel .wheel-result{display:block;overflow:visible}@media(prefers-reduced-motion:reduce){.filter-bar-toggle:after{transition:none}}}
