.record-editor-panel[data-v-57cf03a5]{margin-bottom:18px}.record-editor-grid[data-v-57cf03a5]{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:18px;align-items:start}.record-edit-form[data-v-57cf03a5]{display:grid;gap:13px}.record-link-tools[data-v-57cf03a5]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.record-linked-list[data-v-57cf03a5]{display:grid;gap:8px}.linked-todo-list[data-v-57cf03a5]{display:grid;gap:6px}.record-open-button[data-v-57cf03a5]{display:block;width:100%;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}.record-row-actions[data-v-57cf03a5]{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.record-preview-text[data-v-57cf03a5]{white-space:pre-wrap}.record-preview-todo-item[data-v-57cf03a5]{gap:8px}.record-preview-todo-item em[data-v-57cf03a5]{margin-left:auto;color:var(--faint);font-style:normal;font-size:12px}.link-button[data-v-57cf03a5]{border:0;background:transparent;color:#316c4a;cursor:pointer;padding:3px}.danger-text[data-v-57cf03a5]{color:#b84f45}@media (max-width: 900px){.record-editor-grid[data-v-57cf03a5],.record-link-tools[data-v-57cf03a5]{grid-template-columns:1fr}}.wheel-header[data-v-68ff587e],.wheel-toolbar[data-v-68ff587e],.wheel-actions[data-v-68ff587e],.inline-actions[data-v-68ff587e],.card-title-row[data-v-68ff587e],.entity-row[data-v-68ff587e],.history-row[data-v-68ff587e],.wheel-result[data-v-68ff587e],.wheel-management-grid[data-v-68ff587e],.inline-editor[data-v-68ff587e],.direct-tags[data-v-68ff587e]{display:flex;align-items:center}.wheel-header[data-v-68ff587e],.wheel-toolbar[data-v-68ff587e],.card-title-row[data-v-68ff587e],.entity-row[data-v-68ff587e],.history-row[data-v-68ff587e]{justify-content:space-between;gap:12px}.wheel-header[data-v-68ff587e]{align-items:flex-start}.wheel-subtitle[data-v-68ff587e],.hint[data-v-68ff587e]{margin:5px 0 0;color:var(--text-secondary,#66756c);font-size:.9rem}.wheel-actions[data-v-68ff587e],.inline-actions[data-v-68ff587e]{flex-wrap:wrap}.import-button[data-v-68ff587e]{cursor:pointer}.import-button input[data-v-68ff587e]{display:none}.wheel-notice[data-v-68ff587e]{margin:0 0 14px;padding:10px 13px;border-radius:9px;background:#edf6ef;color:#25613d}.wheel-layout[data-v-68ff587e]{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:18px}.wheel-side-stack[data-v-68ff587e]{display:grid;gap:18px}.wheel-stage-card[data-v-68ff587e]{text-align:center}.wheel-selector[data-v-68ff587e]{text-align:left;min-width:200px}.wheel-selector span[data-v-68ff587e]{display:block;margin-bottom:4px}.wheel-pointer[data-v-68ff587e]{position:relative;z-index:2;color:#e75d4d;font-size:28px;line-height:.5;margin-top:16px}.wheel-disc[data-v-68ff587e]{width:min(390px,86vw);height:min(390px,86vw);margin:-1px auto 14px;border:10px solid #f7faf8;border-radius:50%;background:var(--wheel-fill);box-shadow:0 8px 28px #193d2a29,inset 0 0 0 2px #1f533914;position:relative;transition:transform .56s cubic-bezier(.16,.85,.22,1)}.wheel-center[data-v-68ff587e]{position:absolute;inset:50% auto auto 50%;display:grid;place-items:center;width:82px;height:82px;border-radius:50%;background:#fff;color:#285940;font-weight:800;transform:translate(-50%,-50%);box-shadow:0 2px 9px #0000001f}.wheel-label[data-v-68ff587e]{position:absolute;left:calc(50% - 30px);top:calc(50% - 12px);width:60px;color:#24332a;font-size:.72rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wheel-result[data-v-68ff587e]{min-height:68px;justify-content:center;flex-direction:column;gap:3px}.wheel-result strong[data-v-68ff587e]{font-size:1.15rem}.wheel-result span[data-v-68ff587e],.history-row span[data-v-68ff587e],.entity-row em[data-v-68ff587e]{color:var(--text-secondary,#66756c);font-style:normal;font-size:.82rem}.wheel-spin[data-v-68ff587e]{min-width:180px}.direct-tags[data-v-68ff587e]{justify-content:center;flex-wrap:wrap;margin-top:15px;gap:7px;font-size:.85rem}.tag-chip[data-v-68ff587e]{border:1px solid color-mix(in srgb,var(--tag-color) 35%,white);background:color-mix(in srgb,var(--tag-color) 12%,white);color:#32483a;border-radius:999px;padding:5px 9px;cursor:pointer}.compact-form label[data-v-68ff587e]{display:block}.tag-checks[data-v-68ff587e]{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.tag-checks label[data-v-68ff587e]{display:inline-flex;gap:4px;align-items:center;padding:4px 7px;background:#f5f7f5;border-radius:7px;font-size:.84rem}.inline-editor[data-v-68ff587e]{gap:8px;flex-wrap:wrap;margin:10px 0 14px}.inline-editor input[data-v-68ff587e]:not([type=checkbox]){width:100px}.inline-editor input[data-v-68ff587e]:first-child{flex:1;min-width:130px}.entity-row[data-v-68ff587e],.history-row[data-v-68ff587e]{padding:9px 0;border-top:1px solid rgba(42,75,56,.1);text-align:left}.entity-row>span[data-v-68ff587e]:first-child,.history-row>div[data-v-68ff587e]{display:flex;align-items:center;gap:7px;min-width:0}.entity-row em[data-v-68ff587e]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.color-dot[data-v-68ff587e]{display:inline-block;width:10px;height:10px;border-radius:50%}.link-button[data-v-68ff587e]{border:0;background:transparent;color:#316c4a;cursor:pointer;padding:3px}.danger-text[data-v-68ff587e]{color:#b84f45}.wheel-management-grid[data-v-68ff587e]{align-items:start;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.library-card[data-v-68ff587e]{grid-column:1/-1}.library-form[data-v-68ff587e]{display:grid;grid-template-columns:minmax(160px,1fr) 90px auto;gap:8px;align-items:center;margin:10px 0}.library-form .tag-checks[data-v-68ff587e],.library-form .inline-actions[data-v-68ff587e]{grid-column:1/-1}.empty-state[data-v-68ff587e]{padding:12px 0}.history-card[data-v-68ff587e]{max-height:430px;overflow:auto}@media (max-width:850px){.wheel-layout[data-v-68ff587e],.wheel-management-grid[data-v-68ff587e]{grid-template-columns:1fr}.wheel-header[data-v-68ff587e]{flex-direction:column}.library-card[data-v-68ff587e]{grid-column:auto}.library-form[data-v-68ff587e]{grid-template-columns:1fr 90px auto}.wheel-disc[data-v-68ff587e]{width:min(350px,82vw);height:min(350px,82vw)}}@media (max-width:560px){.wheel-toolbar[data-v-68ff587e]{align-items:stretch;flex-wrap:wrap}.wheel-selector[data-v-68ff587e]{width:100%}.wheel-disc[data-v-68ff587e]{width:280px;height:280px}.wheel-label[data-v-68ff587e]{display:none}.library-form[data-v-68ff587e]{grid-template-columns:1fr 80px}.library-form>label[data-v-68ff587e]{grid-column:1/-1}.wheel-actions .btn[data-v-68ff587e]{font-size:.82rem}}:root{--bg: #f6f5f0;--bg-strong: #eae6da;--surface: #ffffff;--surface-soft: #faf8f2;--text: #17211b;--muted: #6a7069;--faint: #9ea099;--line: #e5e1d4;--accent: #216e4e;--accent-soft: rgba(33, 110, 78, .09);--accent-2: #2f80ed;--accent-3: #c45532;--warning: #b97706;--danger: #c63f36;--shadow: 0 14px 34px rgba(60, 55, 40, .09);--shadow-sm: 0 2px 8px rgba(60, 55, 40, .06);--radius: 10px;--radius-lg: 14px;--radius-pill: 999px}*{margin:0;padding:0;box-sizing:border-box}html{height:100%}body{height:100vh;min-height:100vh;background:linear-gradient(120deg,rgba(33,110,78,.06),transparent 30%),linear-gradient(240deg,rgba(47,128,237,.06),transparent 28%),var(--bg);color:var(--text);display:flex;overflow:hidden;font:14px/1.55 Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Segoe UI,sans-serif}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:36px}.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(47,128,237,.18);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(18px,4vw,48px) 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)}.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{background:var(--surface);border-radius:var(--radius-lg);width:min(760px,100%);max-width:calc(100vw - 28px);max-height:90vh;overflow-y:auto;overflow-x:hidden;padding:24px;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-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;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{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:800}.form-group input,.form-group select,.form-group textarea,.filter-bar input,.filter-bar select,.year-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)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover,.filter-bar input:hover,.filter-bar select:hover,.year-select:hover{border-color:#d6d0bd}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.filter-bar input:focus,.filter-bar select:focus,.year-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}.form-section-title{margin:18px 0 10px;color:var(--text);font-size:13px;font-weight:700}.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:248px;background:#ffffffdb;border-right:1px solid var(--line);padding:22px 14px;display:flex;flex-direction:column;flex-shrink:0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);min-height:0}.sidebar h2{padding:0 10px 18px;font-size:18px;line-height:1.25;color:var(--text);font-weight:750;border-bottom:1px solid var(--line);margin-bottom:14px}.sidebar h2:after{content:"Personal OS";display:block;margin-top:5px;font-size:11px;color:var(--faint);letter-spacing:.04em;text-transform:uppercase}.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:transparent;box-shadow:inset 2px 0 #216e4ed1}.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)}.sidebar-primary-action .btn{width:100%}.sidebar-primary-action .btn .sidebar-bottom{margin-top:10px;padding-top:0;border-top:none;flex:0 0 auto}.sidebar-primary-action .btn .sidebar-bottom summary{display:none;cursor:pointer;color:var(--muted);font-size:12px;font-weight:700;list-style:none}.sidebar-primary-action .btn .sidebar-bottom summary::-webkit-details-marker{display:none}.sidebar-primary-action .btn .sidebar-button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.sidebar-primary-action .btn .sidebar-button-row .btn{width:100%}.sidebar-primary-action .btn .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:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);gap:16px;margin-bottom:16px}.hero-panel{min-height:245px;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:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 18px #3c37281a;position:relative;overflow:hidden}.hero-panel:before{content:"";position:absolute;inset:18px auto 18px 0;width:4px;background:var(--accent);border-radius:0 999px 999px 0;pointer-events:none}.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}.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(4,minmax(0,1fr));gap:9px;margin-top:22px}.quick-create .btn{width:100%;background:#ffffffd1;color:var(--accent);border-color:#216e4e24;box-shadow:0 2px 7px #3c372812}.quick-create .btn:hover{background:var(--accent-soft);border-color:#216e4e38;color:var(--accent);transform:translateY(-1px)}.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-shell{display:grid;gap:16px}.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-placeholder,.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>div{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:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,.9fr);gap:14px;margin:16px 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-detail-view{display:grid;gap:10px;margin-bottom:14px}.todo-detail-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff,#fbf8ef);padding:14px;box-shadow:0 2px 8px #3c37280f}.todo-detail-card h3{font-size:18px;line-height:1.4;margin-bottom:10px;color:var(--text);overflow-wrap:anywhere}.todo-detail-meta{display:flex;flex-wrap:wrap;gap:7px}.todo-detail-meta span{display:inline-flex;align-items:center;min-height:24px;padding:2px 9px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:12px;font-weight:700}.todo-detail-note{margin-top:10px;color:#40564a;font-size:13px;line-height:1.7;white-space:normal;overflow-wrap:anywhere}.todo-detail-edit-panel{display:grid;gap:0}.todo-detail-edit-panel textarea{min-height:76px;resize:vertical}.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-meta{font-size:12px;color:var(--faint);white-space:nowrap}.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)}.sub-todos{margin-left:25px;margin-top:4px;border-left:2px solid var(--line);padding-left:10px}.todo-subtodo-item.is-viewing{padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffc7}.todo-subtodo-item.is-viewing input{cursor:pointer;accent-color:var(--accent)}.todo-subtodo-item.is-viewing .todo-text{cursor:default;color:var(--text)}.todo-subtodo-item.done .todo-text{color:var(--faint);text-decoration:line-through}.todo-expand{cursor:pointer;color:var(--faint);font-size:12px;-webkit-user-select:none;user-select:none;margin-right:4px}#page-todos{max-width:1120px}#page-todos .page-header{align-items:flex-end;margin-bottom:14px}#page-todos .page-title{font-size:26px;letter-spacing:-.02em}#page-todos .filter-bar{display:grid;grid-template-columns:auto minmax(145px,.8fr) auto minmax(145px,.8fr) repeat(4,minmax(130px,1fr));gap:9px;margin-bottom:14px;align-items:center;background:#ffffffc7;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px;box-shadow:0 2px 8px #3c37280d}#page-todos .filter-bar span{color:var(--muted)!important;font-size:12px!important;font-weight:700;white-space:nowrap}#page-todos .filter-bar input,#page-todos .filter-bar select{width:100%;min-width:0;background:#ffffffdb}.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-session-editor{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(92px,.8fr) minmax(92px,.8fr);gap:8px;margin-bottom:10px;min-width:0}.todo-session-editor input{min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius);outline:none}.todo-session-editor #todo-session-note{grid-column:1 / -1}.todo-session-editor .btn{grid-column:1 / -1;justify-self:end;min-height:30px;padding:5px 12px;border-radius:999px;font-size:12px}.todo-session-list{display:grid;gap:8px;margin-bottom:14px}.todo-session-empty{padding:10px 12px;border:1px dashed var(--line);border-radius:var(--radius-lg);color:var(--faint);font-size:12px;background:var(--surface-soft)}.todo-session-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fffffff2,#faf8f2eb);box-shadow:0 2px 8px #3c37280f;min-width:0}.todo-session-main{display:grid;gap:3px;min-width:0}.todo-session-main strong{font-size:13px;color:var(--text)}.todo-session-main span{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.todo-session-item .btn{min-height:25px;padding:3px 9px;border-radius:999px;font-size:11px;flex:0 0 auto}.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{display:grid;grid-template-columns:minmax(210px,1.3fr) repeat(4,minmax(128px,1fr)) minmax(128px,.8fr);gap:9px;margin-bottom:12px;align-items:center;background:#ffffffc7;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px;box-shadow:0 2px 8px #3c37280d}#page-records .filter-bar input,#page-records .filter-bar select{width:100%;min-width:0;background:#ffffffdb}#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}.type-日记,.type-日计划{background:#2f80ed;border-left-color:#2f80ed;--event-border: #2f80ed}.type-工作记录{background:#0f766e;border-left-color:#0f766e;--event-border: #0f766e}.type-灵感碎片{background:#e0a018;color:#1f1a10;border-left-color:#e0a018;--event-border: #e0a018}.type-周复盘,.type-月复盘,.type-年复盘{background:#7a5ac8;border-left-color:#7a5ac8;--event-border: #7a5ac8}.type-周计划,.type-月计划,.type-年度计划,.type-3年计划{background:#216e4e;border-left-color:#216e4e;--event-border: #216e4e}.type-终身愿景{background:#c45532;border-left-color:#c45532;--event-border: #c45532}.type-习惯打卡-全天{background:#718096;border-left-color:#718096;--event-border: #718096}.type-习惯打卡-晨间{background:#d97706;border-left-color:#d97706;--event-border: #d97706}.type-习惯打卡-午间{background:#ca8a04;border-left-color:#ca8a04;--event-border: #ca8a04}.type-习惯打卡-晚间,.type-习惯打卡-学习{background:#7a5ac8;border-left-color:#7a5ac8;--event-border: #7a5ac8}.type-习惯打卡-运动{background:#2f80ed;border-left-color:#2f80ed;--event-border: #2f80ed}.type-习惯打卡-工作{background:#b97706;border-left-color:#b97706;--event-border: #b97706}.type-习惯打卡-生活{background:#216e4e;border-left-color:#216e4e;--event-border: #216e4e}.type-待办,.type-待办计划,.type-待办截止,.type-待办执行{background:#d87863;border-left-color:#d87863;--event-border: #d87863}.type-习惯{background:#4f8b67;border-left-color:#4f8b67;--event-border: #4f8b67}.timeline-item[class*=type-]{background:var(--event-bg, rgba(255,255,255,.88));color:var(--text)}.timeline-item[class*=type-] .item-title{color:var(--text)}.timeline-item[class*=type-] .item-preview{color:var(--muted)}.timeline-item[class*=type-] .item-meta{color:var(--faint)}.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);border-bottom:1px solid var(--line);min-width:0}.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:172px;padding:10px;background:#ffffffc7}.calendar-cell.is-today{background:linear-gradient(180deg,#216e4e12,#ffffffc7)}.calendar-date{color:var(--text);font-weight:700;margin-bottom:8px;font-size:13px;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:6px}.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:7px 9px;margin-bottom:6px;font-size:12px}.calendar-event.is-done,.agenda-all-day-item.is-done,.agenda-event-block.is-done{opacity:.55}.calendar-more,.agenda-more{font-size:12px;color:var(--muted);font-weight:700;padding-top:2px}.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-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}.agenda-event-block.is-overlap{padding-left:5px;padding-right:4px}.agenda-more{padding:2px 6px 0}.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}.form-group textarea.is-preview{background:#f7faf8;color:#51665a;border-style:dashed}.form-group textarea.is-preview:focus{border-color:#d3ded7;box-shadow:none}.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:#9a6814;background:#fff5df;border-color:#efd7a8}.status-实践中{color:#285da8;background:#eaf2ff;border-color:#cbdcff}.status-已验证{color:#216e4e;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{color:var(--muted);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{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(150px,.7fr) minmax(190px,.9fr);gap:9px;margin-bottom:14px;align-items:center;background:#ffffffc7;border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px;box-shadow:0 2px 8px #3c37280d}#page-ideas .filter-bar input,#page-ideas .filter-bar select{width:100%;min-width:0;background:#ffffffdb}#page-ideas .mini-summary-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px;margin-bottom:14px}#page-ideas .mini-summary-card{min-height:72px;display:grid;align-content:center;background:#ffffffc7;border-radius:var(--radius-lg);box-shadow:0 2px 8px #3c37280d}#page-ideas .mini-summary-card strong{font-size:24px;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(280px,1fr));gap:14px}#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 0 auto;height:3px;background:var(--idea-mark)}#page-ideas .idea-card.status-待整理,#page-ideas .idea-card.status-未处理{--idea-tint: #fff8e8;--idea-mark: #d8a12d}#page-ideas .idea-card.status-待实践{--idea-tint: #fff3d7;--idea-mark: #c98216}#page-ideas .idea-card.status-实践中{--idea-tint: #edf5ff;--idea-mark: #3d82d6}#page-ideas .idea-card.status-已验证{--idea-tint: #edf8f0;--idea-mark: var(--accent)}#page-ideas .idea-card.status-已放弃{--idea-tint: #f1f2ee;--idea-mark: #9aa39c}#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-pool-list .empty-state{min-height:130px;display:grid;place-items:center;border-style:solid;border-radius:var(--radius-lg);background:linear-gradient(135deg,#ffffffd6,#faf8f2b8);color:var(--muted)}.material-random-panel,.global-search-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}.global-search-panel{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:10px}.global-search-panel input,.global-search-panel select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text)}.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(260px,1fr));gap:12px}.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-hero{display:flex;flex-direction:column;gap:14px;margin-bottom:8px}.fitness-overview-card{display:flex;justify-content:space-between;gap:20px;padding:20px 22px;border-radius:14px;background:linear-gradient(180deg,#fff,#f4f9f5);border:1px solid var(--line, #dfe7e1)}.fitness-overview-kicker{color:var(--accent, #216e4e);font-size:12px;font-weight:700}.fitness-overview-title{margin-top:8px;color:var(--text, #17211b);font-size:20px;font-weight:800;line-height:1.35;max-width:46ch}.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-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fitness-stat-card,.fitness-metric-card,.fitness-placeholder-card,.fitness-trend-card{background:var(--surface, #fff);border:1px solid var(--line, #dfe7e1);border-radius:12px}.fitness-stat-card{padding:14px 16px}.fitness-stat-label,.fitness-metric-condition,.fitness-stat-sub{color:var(--muted, #647269);font-size:12px}.fitness-stat-value{margin-top:8px;font-size:24px;font-weight:800;color:var(--text, #17211b);letter-spacing:-.02em}.fitness-stat-sub{margin-top:6px}.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{margin-top:22px;padding-top:4px}.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-metric-card{padding:14px 16px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.fitness-metric-card:hover{border-color:#c7d8ce;background:var(--surface-soft, #f8faf8)}.fitness-metric-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.fitness-metric-date{font-size:15px;font-weight:750;color:var(--text, #17211b)}.fitness-metric-primary{text-align:right}.fitness-metric-primary strong{display:block;font-size:20px;color:var(--accent, #216e4e);letter-spacing:-.02em}.fitness-metric-primary span,.fitness-chip{color:var(--muted, #647269);font-size:12px}.fitness-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fitness-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#216e4e12}.fitness-chip strong{color:var(--text, #17211b)}.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-list,.fitness-workout-list,.fitness-library-list,.fitness-plan-days-editor{display:grid;gap:12px}.fitness-plan-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.fitness-plan-card,.fitness-workout-card,.fitness-library-card,.fitness-plan-day-editor,.fitness-workout-exercise-editor{background:var(--surface, #fff);border:1px solid var(--line, #dfe7e1);border-radius:12px}.fitness-plan-card,.fitness-workout-card,.fitness-library-card{padding:16px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.fitness-plan-card:hover,.fitness-workout-card:hover,.fitness-library-card:hover{border-color:#c7d8ce;background:#fbfdfb}.fitness-plan-head,.fitness-plan-day-editor-head,.fitness-plan-editor-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.fitness-plan-editor-head{align-items:center;margin:4px 0 12px}.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-plan-primary{text-align:right;flex-shrink:0}.fitness-plan-primary strong{display:block;font-size:22px;color:var(--accent, #216e4e);letter-spacing:-.02em}.fitness-plan-primary span{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-plan-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line, #dfe7e1)}.fitness-plan-card-actions .btn{min-width:88px}.fitness-plan-editor-hint{margin-top:4px;color:var(--muted, #647269);font-size:12px;line-height:1.4}.fitness-plan-meta-panel{margin-bottom:14px;padding:14px;border:1px solid var(--line, #dfe7e1);border-radius:12px;background:var(--surface-soft, #f8faf8)}.fitness-plan-simple-editor{padding:14px;border:1px solid var(--line, #dfe7e1);border-radius:12px;background:var(--surface, #fff)}.fitness-form-block{margin-bottom:14px;padding:14px;border:1px solid var(--line, #dfe7e1);border-radius:12px;background:var(--surface-soft, #f8faf8)}.fitness-form-block-title{margin-bottom:12px;color:var(--text, #17211b);font-size:13px;font-weight:750}.fitness-form-block-title span{margin-left:6px;color:var(--faint, #97a29b);font-size:12px;font-weight:650}.fitness-icon-btn{min-width:36px;padding-left:0;padding-right:0;font-size:18px;line-height:1}.fitness-plan-days{display:grid;gap:8px;margin-top:12px}.fitness-plan-day-chip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#216e4e0f}.fitness-plan-day-main{min-width:0;flex:1}.fitness-plan-day-chip strong{display:block;margin-bottom:4px;color:#1f3d2f}.fitness-plan-day-chip span{color:#4d5f56;font-size:13px;line-height:1.5}.fitness-plan-day-editor,.fitness-workout-exercise-editor{padding:14px}.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-head,.fitness-plan-exercise-row{display:grid;grid-template-columns:minmax(0,1.6fr) 70px 90px 100px 40px;gap:8px;align-items:center}.fitness-plan-exercise-head{color:var(--muted, #647269);font-size:12px;font-weight:700;padding:0 2px}.fitness-plan-exercise-row input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line, #dfe7e1);border-radius:8px;background:#fff;color:var(--text, #17211b)}.fitness-plan-exercise-row input:focus{border-color:var(--accent-2, #2f80ed);outline:none}.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-row{display:flex;flex-wrap:wrap;gap: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-placeholder-grid{display:grid;grid-template-columns:1fr;gap:12px}.fitness-placeholder-card{padding:16px}.fitness-placeholder-card strong{display:block;margin-bottom:8px;color:#1f3d2f}.fitness-placeholder-card p{margin:0;color:#708178;font-size:13px;line-height:1.6}.fitness-empty.compact{padding:18px 0;color:#97a29b;font-size:13px}.body-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}.body-metric-grid .form-group{margin-bottom:0}.body-metric-grid-core{grid-template-columns:repeat(3,minmax(0,1fr))}.fitness-plan-modal .modal-header,.fitness-metric-modal .modal-header{align-items:flex-start}.fitness-workout-card.is-live{border-color:#d67a2059;box-shadow:0 10px 28px #d67a201f}.fitness-chip-live{background:#d67a201f;color:#b45a00}.fitness-history-hint{margin:6px 0 10px;color:#6b7c72;font-size:12px}.fitness-live-modal .modal-header{align-items:flex-start}#fitness-library-modal.active,#fitness-library-item-modal.active{z-index:140}.fitness-live-subtitle{margin-top:4px;color:#6b7c72;font-size:13px}.fitness-live-body{display:grid;gap:12px;margin-bottom:12px;max-height:min(58vh,640px);overflow:auto}.fitness-live-exercise{padding:12px 14px 10px;border:1px solid var(--line, #dfe7e1);border-radius:12px;background:var(--surface, #fff)}.fitness-live-exercise-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.fitness-live-exercise-copy{min-width:0;flex:1}.fitness-live-exercise-name{font-size:15px;font-weight:750;color:var(--text, #17211b)}.fitness-live-exercise-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:4px;color:var(--muted, #647269);font-size:12px;line-height:1.4}.fitness-live-history{color:#4d6a59;font-weight:650}.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-live-exercise-footer{display:flex;justify-content:flex-start;margin-top:8px}.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-summary-grid,.fitness-trend-grid,.fitness-placeholder-grid,.body-metric-grid{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.fitness-summary-grid,.fitness-trend-grid,.fitness-placeholder-grid,.body-metric-grid,.body-metric-grid-core,.fitness-plan-list{grid-template-columns:1fr}.fitness-overview-card,.fitness-metric-head,.fitness-plan-head,.fitness-plan-day-editor-head,.fitness-plan-editor-head,.fitness-header-actions,.fitness-live-exercise-head,.fitness-rest-timer-main{flex-direction:column}.fitness-overview-actions,.fitness-overview-secondary{width:100%;min-width:0}.fitness-overview-secondary{grid-template-columns:1fr 1fr}.fitness-metric-primary,.fitness-plan-primary{text-align:left}.fitness-plan-exercise-head{display:none}.fitness-plan-exercise-row{grid-template-columns:1fr 1fr}.fitness-plan-exercise-row input:first-child{grid-column:1 / -1}.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-key-row{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap}.ai-key-storage-status{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;background:#f2f7f4;border:1px solid #d8e4dc;color:#61756b;font-size:12px;font-weight:750}.ai-key-storage-status.is-warning{background:#fff7e7;border-color:#e8d18d;color:#8c6821}.ai-assistant-subtitle{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.5}.ai-mode-tabs{margin-bottom:14px}.ai-context-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);padding:13px;margin-bottom:14px}.ai-context-title{font-size:12px;color:var(--muted);font-weight:700;margin-bottom:9px;letter-spacing:.03em}.ai-context-panel select{width:100%;margin-bottom:10px}.ai-context-metrics{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.ai-context-metrics span{min-height:24px;padding:3px 9px;border-radius:999px;border:1px solid #d8e5dd;background:#fff;color:#456354;font-size:12px;font-weight:800}.ai-context-summary{color:#44554a;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.ai-action-row{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.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-run-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:999px;display:none}.ai-run-button.is-loading .ai-run-spinner{display:inline-block;animation:aiSpin .72s linear infinite}@keyframes aiSpin{to{transform:rotate(360deg)}}.ai-result-panel{margin-top:14px}.ai-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid #d8e5dd;border-radius:var(--radius);background:#fff;padding:13px;margin-bottom:10px}.ai-result-title{font-weight:700;color:var(--text);line-height:1.35}.ai-result-summary{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.ai-target-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ai-target-row span{padding:3px 9px;border:1px solid #d8e5dd;border-radius:999px;background:#f6faf7;color:#456354;font-size:12px;font-weight:800}.ai-result-list{display:grid;gap:9px}.ai-result-item{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px 13px;display:grid;gap:7px}.ai-result-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.ai-result-item-head .ai-result-select{flex:1 1 auto;min-width:0}.ai-result-item-head .btn{flex:0 0 auto}.ai-result-select{display:flex;align-items:flex-start;gap:8px;min-width:0;cursor:pointer}.ai-result-select input[type=checkbox]{width:17px;height:17px;margin:2px 0 0;accent-color:var(--accent);flex:0 0 auto;cursor:pointer}.ai-result-item strong{color:var(--text);line-height:1.45;overflow-wrap:anywhere}.ai-result-item span{color:var(--muted);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.ai-result-draft{gap:8px}.ai-result-draft label{display:grid;gap:5px;min-width:0}.ai-result-draft .ai-result-select{display:flex}.ai-result-draft label span{font-size:12px;color:var(--muted);font-weight:800}.ai-result-draft input:not([type=checkbox]),.ai-result-draft textarea,.ai-result-draft select{width:100%;border:1px solid #d8e4dc;border-radius:10px;background:#fbfdfb;color:var(--text);font-size:13px;line-height:1.55;padding:8px 10px;outline:none}.ai-result-draft textarea{resize:vertical}.ai-result-draft input:not([type=checkbox]):focus,.ai-result-draft textarea:focus,.ai-result-draft select:focus{border-color:#8bb79a;box-shadow:0 0 0 3px #8bb79a2e;background:#fff}.ai-result-draft-meta{display:grid;grid-template-columns:minmax(0,1fr) 110px 150px;gap:8px}.ai-capture-section-list{display:grid;gap:10px;margin-top:12px}.ai-capture-section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid #dfe8e2;border-radius:var(--radius);background:#ffffffe6}.ai-capture-section strong{display:block;color:var(--accent);font-size:13px;margin-bottom:5px}.ai-capture-section p{margin:0;color:#44554a;line-height:1.65;overflow-wrap:anywhere}.ai-capture-draft,.ai-capture-todo-draft input:not([type=checkbox]),.ai-capture-todo-draft textarea{width:100%;border:1px solid #d8e4dc;border-radius:10px;background:#fbfdfb;color:var(--text);font-size:13px;line-height:1.55;padding:8px 10px;outline:none;resize:vertical}.ai-capture-draft:focus,.ai-capture-todo-draft input:not([type=checkbox]):focus,.ai-capture-todo-draft textarea:focus{border-color:#8bb79a;box-shadow:0 0 0 3px #8bb79a2e;background:#fff}.ai-capture-todo-draft{gap:8px}.ai-capture-todo-draft label{display:grid;gap:5px;min-width:0}.ai-capture-todo-draft .ai-result-select{display:flex}.ai-capture-todo-draft label span{font-size:12px;color:var(--muted);font-weight:800}.ai-capture-todo-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.ai-capture-todo-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ai-capture-todo-dates label,.ai-result-draft .ai-capture-todo-dates label{display:grid;gap:5px;min-width:0}.ai-date-hint{margin-top:4px;font-size:12px;color:var(--muted);font-weight:700}.ai-capture-todo-draft.is-existing{border-color:#f0d9a8;background:linear-gradient(180deg,#fff8e6f2,#ffffffeb)}.ai-existing-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:#fff1d6e6;color:#8a5a00;font-size:12px;font-weight:700;line-height:1.4}@media (max-width: 720px){.ai-capture-todo-dates{grid-template-columns:1fr}}.ai-capture-todos{margin-top:12px}.diary-ai-section-list{display:grid;gap:10px;margin-top:12px}.diary-ai-section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;border:1px solid #dfe8e2;border-radius:var(--radius);background:#ffffffe0}.diary-ai-section strong{display:block;color:var(--accent);font-size:13px;margin-bottom:6px}.diary-ai-draft{min-height:92px}.diary-ai-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;flex-wrap:wrap}.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}.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}.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-view{display:none;min-width:0;max-width:100%}.habit-view.active{display:block;min-width:0;max-width:100%}.habit-center-header{align-items:flex-start}.habit-center-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:16px;margin-bottom:14px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(circle at 12% 12%,rgba(33,110,78,.1),transparent 34%),linear-gradient(135deg,#fffffff5,#faf8f2e6);box-shadow:var(--shadow)}.habit-center-eyebrow{margin-bottom:8px;color:#3b7453;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.habit-center-title-block h2{max-width:760px;margin:0;color:var(--text);font-size:clamp(22px,3vw,34px);line-height:1.16;letter-spacing:-.04em}.habit-center-title-block p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.7;font-weight:750}.habit-center-sync-note{align-self:stretch;display:grid;align-content:center;gap:6px;padding:14px 16px;border:1px solid #d9e6dd;border-radius:20px;background:#ffffffb8}.habit-center-sync-note strong{color:var(--accent);font-size:14px;font-weight:700}.habit-center-sync-note span{color:#607166;font-size:12px;line-height:1.7;font-weight:750}.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-card{display:grid;gap:16px;min-width:0;max-width:100%;overflow:hidden}.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-center-tabs{flex-wrap:wrap}.habit-center-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.habit-center-toolbar-actions input[type=date]{min-height:36px;min-width:150px;padding:7px 10px;border:1px solid #d3ded7;border-radius:var(--radius);background:#fff;color:var(--text);font-weight:800;outline:none}.habit-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.habit-section-head .section-title{margin-bottom:2px}.habit-section-sub{color:var(--muted);font-size:12px;line-height:1.6;font-weight:750}.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}.habit-analysis-matrix-head{margin:18px 0 8px;display:flex;justify-content:space-between;align-items:center}.habit-detail-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}.habit-matrix{width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.habit-matrix-grid{display:grid;grid-template-columns:160px repeat(30,36px);width:max-content;min-width:100%;box-sizing:border-box}.habit-matrix-cell{min-height:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);box-sizing:border-box}.habit-matrix-cell.name{justify-content:flex-start;padding:0 10px;font-weight:700;color:var(--text);background:var(--surface-soft);position:sticky;left:0;z-index:2;box-shadow:1px 0 0 var(--line);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-matrix-cell.head{font-weight:700;background:var(--surface-soft)}.habit-dot{width:16px;height:16px;border-radius:5px;background:#e3e9e5}.habit-dot.done{background:var(--accent);box-shadow:inset 0 0 0 2px #ffffff6b}.habit-diagnostics-guard{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:15px 16px;border:1px solid #cfe2d7;border-radius:18px;background:linear-gradient(135deg,#f6fbf7,#fffaf0)}.habit-diagnostics-guard strong,.habit-diagnostics-guard span{display:block}.habit-diagnostics-guard strong{color:var(--accent);font-size:14px;font-weight:700}.habit-diagnostics-guard span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.6;font-weight:750}.habit-diagnostics-pill{flex:0 0 auto;margin-top:0!important;padding:7px 10px;border:1px solid #c7dccf;border-radius:999px;background:#ffffffc7;color:var(--accent)!important;font-size:11px!important;font-weight:950!important;letter-spacing:.04em;text-transform:uppercase}.habit-diagnostics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.habit-diagnostics-metric{min-width:0;padding:13px 14px;border:1px solid #dce7df;border-radius:17px;background:#fff;box-shadow:0 10px 22px #233c2d0b}.habit-diagnostics-metric span,.habit-diagnostics-metric em{display:block;color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.habit-diagnostics-metric strong{display:block;margin:5px 0 3px;color:var(--text);font-size:22px;line-height:1.08;font-weight:700;overflow-wrap:anywhere}.habit-diagnostics-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;align-items:start}.habit-diagnostics-card{min-width:0;padding:15px;border:1px solid var(--line);border-radius:18px;background:#ffffffeb}.habit-diagnostics-issue-list,.habit-mapping-list{display:grid;gap:10px;margin-top:10px}.habit-diagnostics-ok{margin-top:10px;padding:18px;border:1px dashed #b8d9c4;border-radius:16px;background:#f7fbf8;color:var(--accent);font-size:13px;font-weight:700;text-align:center}.habit-diagnostics-issue{padding:12px;border:1px solid #d9e5dd;border-left-width:5px;border-radius:16px;background:var(--surface-soft)}.habit-diagnostics-issue.is-danger{border-left-color:#d85c4a;background:#fff8f5}.habit-diagnostics-issue.is-warning{border-left-color:#c28a2d;background:#fffaf0}.habit-diagnostics-issue.is-info{border-left-color:var(--accent);background:#f7fbf8}.habit-diagnostics-issue-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.habit-diagnostics-issue-head strong{color:var(--text);font-size:14px;font-weight:700}.habit-diagnostics-issue-head span{padding:4px 8px;border-radius:999px;background:#ffffffb8;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.habit-diagnostics-issue p,.habit-diagnostics-more{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.55;font-weight:750}.habit-diagnostics-detail-list{display:grid;gap:6px;margin-top:9px}.habit-diagnostics-detail{display:flex;gap:6px;flex-wrap:wrap;padding:7px;border-radius:12px;background:#ffffffc2}.habit-diagnostics-detail span{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:3px 7px;border-radius:999px;background:#eef5f0;color:#56665c;font-size:11px;font-weight:800;overflow-wrap:anywhere}.habit-diagnostics-detail b{color:var(--accent);font-weight:700}.habit-mapping-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid #dce7df;border-radius:16px;background:var(--surface-soft)}.habit-mapping-row strong,.habit-mapping-row span,.habit-mapping-target em,.habit-mapping-target b{display:block}.habit-mapping-row strong{color:var(--text);font-size:14px;font-weight:700}.habit-mapping-row span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.45;font-weight:750}.habit-mapping-target{text-align:right}.habit-mapping-target em{color:var(--accent);font-size:12px;font-style:normal;font-weight:700}.habit-mapping-target b{margin-top:3px;color:var(--text);font-size:20px;line-height:1;font-weight:700}.habit-snapshot-preview-card{grid-column:1 / -1}.habit-snapshot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.habit-snapshot-head span{flex:0 0 auto;padding:7px 10px;border:1px solid #c8ddd0;border-radius:999px;background:#f6fbf7;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.habit-snapshot-meta{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.45;font-weight:800}.habit-dualwrite-card,.habit-local-mirror-card{grid-column:1 / -1}.habit-local-mirror-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:12px}.habit-local-mirror-actions span,.habit-sync-actions span{color:var(--muted);font-size:12px;line-height:1.5;font-weight:750}.habit-sync-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.habit-sync-actions .btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.daily-sync-summary{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-top:12px;color:var(--muted);font-size:12px;font-weight:800}.daily-sync-actions{margin-top:14px}.migration-diagnostics-details{margin-top:16px;border-top:1px dashed var(--line);padding-top:12px}.migration-diagnostics-details>summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700;list-style:none;-webkit-user-select:none;user-select:none}.migration-diagnostics-details>summary::-webkit-details-marker{display:none}.migration-diagnostics-details>summary:before{content:"▸ ";color:var(--accent)}.migration-diagnostics-details[open]>summary:before{content:"▾ "}.migration-diagnostics-details>summary:hover{color:var(--text)}.habit-remote-preview{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.habit-remote-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.habit-remote-preview-head>div{min-width:0}.habit-remote-preview-head strong,.habit-remote-preview-head span,.habit-remote-preview-empty strong,.habit-remote-preview-empty span,.habit-remote-preview-verdict strong,.habit-remote-preview-verdict span,.habit-remote-risk strong,.habit-remote-risk span{display:block}.habit-remote-preview-head>div>strong{color:var(--text);font-size:14px;font-weight:700}.habit-remote-preview-head>div>span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5;font-weight:750;overflow-wrap:anywhere}.habit-remote-preview-empty,.habit-remote-preview-ok{margin-top:12px;padding:12px 14px;border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:12px;line-height:1.55;font-weight:750}.habit-remote-preview-empty strong{color:var(--text);font-size:13px;font-weight:700}.habit-remote-preview-empty span{margin-top:4px}.habit-remote-preview-empty.is-loading{color:#8a5a00;background:#fff7e8}.habit-remote-preview-empty.is-warning{color:#704d0c;background:#fff7e8}.habit-remote-preview-empty.is-danger{color:#8a2f17;background:#fff1e8}.habit-remote-preview-table-wrap{margin-top:12px;overflow-x:auto;border:1px solid var(--line);border-radius:12px}.habit-remote-preview-table{width:100%;min-width:760px;border-collapse:collapse;background:#fff;color:var(--text);font-size:12px}.habit-remote-preview-table th,.habit-remote-preview-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.habit-remote-preview-table thead th{background:var(--surface-soft);color:var(--muted);font-weight:700}.habit-remote-preview-table tbody th{font-weight:700}.habit-remote-preview-table tbody tr:last-child th,.habit-remote-preview-table tbody tr:last-child td{border-bottom:0}.habit-remote-preview-table code{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:700}.habit-remote-preview-verdict{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#f3f8f5}.habit-remote-preview-verdict strong{color:var(--accent);font-size:13px;font-weight:700}.habit-remote-preview-verdict span{color:var(--muted);font-size:11px;line-height:1.45;font-weight:750;text-align:right}.habit-remote-risk-list{display:grid;gap:8px;margin-top:10px}.habit-remote-risk{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.habit-remote-risk strong{color:var(--text);font-size:12px;font-weight:700}.habit-remote-risk span{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5;font-weight:750}.habit-remote-risk.is-warning{border-color:#ead3a1;background:#fffaf0}.habit-remote-risk.is-danger{border-color:#efc0ae;background:#fff5f1}.habit-remote-risk.is-info{border-color:#c8ddd0;background:#f6fbf7}.habit-remote-preview-ok{color:var(--accent);background:#f6fbf7;text-align:center}.habit-upload-guard{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.habit-upload-guard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.habit-upload-guard-head>div{min-width:0}.habit-upload-guard-head strong,.habit-upload-guard-head span{display:block}.habit-upload-guard-head>div>strong{color:var(--text);font-size:14px;font-weight:700}.habit-upload-guard-head>div>span{max-width:72ch;margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55;font-weight:750}.habit-upload-arm{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid #c7d9ce;border-radius:12px;background:#f6fbf7;cursor:pointer}.habit-upload-arm.is-disabled{cursor:not-allowed;opacity:.65}.habit-upload-arm input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--accent);flex:0 0 auto}.habit-upload-arm span,.habit-upload-arm strong,.habit-upload-arm small{display:block}.habit-upload-arm strong{color:var(--text);font-size:12px;font-weight:700}.habit-upload-arm small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5;font-weight:750}.habit-upload-blockers,.habit-upload-state-message,.habit-upload-caveat{margin-top:10px;padding:10px 12px;border-radius:12px;font-size:11px;line-height:1.55;font-weight:750}.habit-upload-blockers{border:1px solid #efc0ae;background:#fff5f1;color:#7b2d17}.habit-upload-blockers strong,.habit-upload-blockers span{display:block}.habit-upload-blockers span{margin-top:3px}.habit-upload-state-message{border:1px solid #c7d9ce;background:#f6fbf7;color:var(--text)}.habit-upload-guard.is-blocked .habit-upload-state-message,.habit-upload-guard.is-error .habit-upload-state-message,.habit-upload-guard.is-uncertain .habit-upload-state-message{border-color:#efc0ae;background:#fff5f1;color:#7b2d17}.habit-upload-guard.is-cancelled .habit-upload-state-message{border-color:#ead3a1;background:#fffaf0;color:#704d0c}.habit-upload-caveat{background:var(--surface-soft);color:var(--muted)}.habit-upload-caveat code{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700}.habit-consistency-grid,.habit-consistency-balance-list{display:grid;gap:8px;margin-top:12px}.habit-consistency-row,.habit-consistency-balance-row{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,.8fr)) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.habit-consistency-row.is-matched,.habit-consistency-balance-row.is-matched{border-left:3px solid var(--accent);background:#f7fbf8}.habit-consistency-row.is-drifted,.habit-consistency-balance-row.is-drifted{border-left:3px solid #c28a2d;background:#fffaf0}.habit-consistency-row strong,.habit-consistency-balance-row strong{color:var(--text);font-size:13px;font-weight:700}.habit-consistency-row span,.habit-consistency-balance-row span{color:var(--muted);font-size:12px;font-weight:750}.habit-consistency-row b,.habit-consistency-balance-row b{color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}.habit-dualwrite-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.habit-dualwrite-status.is-prepared{color:#1f6b4a;background:#e8f6ef;border:1px solid #b7dfc8}.habit-dualwrite-status.is-partial{color:#8a5a00;background:#fff7e8;border:1px solid #f0d39a}.habit-dualwrite-status.is-ready{color:#145c9e;background:#eaf4ff;border:1px solid #b7d7f5}.habit-dualwrite-status.is-blocked{color:#9a3412;background:#fff1e8;border:1px solid #f0c2a4}.habit-dualwrite-path-list{display:grid;gap:8px;margin-top:12px}.habit-dualwrite-path-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.habit-dualwrite-path-row.is-pending{border-left:3px solid #c28a2d}.habit-dualwrite-path-row.is-enabled{border-left:3px solid var(--accent);background:#f7fbf8}.habit-dualwrite-path-row strong,.habit-dualwrite-path-row span,.habit-dualwrite-path-row em{display:block}.habit-dualwrite-path-row strong{color:var(--text);font-size:13px;font-weight:700}.habit-dualwrite-path-row span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5;font-weight:750}.habit-dualwrite-path-row em{margin-top:6px;color:var(--faint);font-size:11px;font-style:normal;line-height:1.45;font-weight:750}.habit-dualwrite-path-row b{color:var(--accent);font-size:12px;font-weight:700;white-space:nowrap}.habit-dualwrite-next{display:grid;gap:6px;margin-top:12px;padding:12px 14px;border-radius:12px;background:#f4f8f5;border:1px dashed #c7d9ce;color:var(--muted);font-size:12px;line-height:1.55;font-weight:750}.habit-snapshot-preview{width:100%;min-height:340px;resize:vertical;padding:14px;border:1px solid #d7e5dc;border-radius:16px;background:#f9fcfa;color:#1b2a22;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;font-weight:650;box-shadow:inset 0 1px #ffffffd1;white-space:pre}.habit-snapshot-preview:focus{outline:none;border-color:#9cc7ad;box-shadow:0 0 0 3px #227e551f}.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-dialog{width:min(430px,100%);padding:18px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbf8)}.habit-note-dialog .modal-header{margin-bottom:12px}.habit-note-dialog .modal-title{font-size:17px;letter-spacing:-.02em}.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-skip-btn{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:#607166;font-size:13px;font-weight:700;cursor:pointer;line-height:1;white-space:nowrap}.habit-note-skip-btn:hover{color:var(--accent);background:#477e5a14}.habit-note-actions .btn{min-height:34px;padding:0 16px;border-radius:999px;font-size:13px}.habit-advanced{margin:4px 0 14px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#f8fbf8}.habit-advanced summary{cursor:pointer;color:var(--text);font-weight:700;list-style:none}.habit-advanced summary::-webkit-details-marker{display:none}.habit-advanced[open] summary{margin-bottom:12px}.habit-inline-toggle{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;color:var(--muted);font-weight:750}.habit-inline-toggle input{width:16px;height:16px;accent-color:var(--accent)}.habit-quick-list{display:grid;gap:10px}.habit-quick-card{padding:12px 14px;border-radius:18px;border:1px solid #d8e5dd;border-left:5px solid #8fbea2;background:#ffffffd6;box-shadow:0 8px 20px #233c2d0b}.habit-quick-card.compact{padding-block:11px}.habit-quick-card.done{border-color:#c3dccb;border-left-color:#216e4e;box-shadow:0 10px 22px #216e4e0f}.habit-quick-card.multi{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-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.habit-tabs[style*="display: none"]{margin-bottom:0}.habit-tab{padding:8px 13px;background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-size:14px;transition:.18s ease;line-height:1.4;font-weight:800}.habit-tab:hover{background:#fff}.habit-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.habit-tab.tag-全天.active{background:#718096;border-color:#718096}.habit-tab.tag-晨间.active{background:#d97706;border-color:#d97706}.habit-tab.tag-午间.active{background:#ca8a04;border-color:#ca8a04}.habit-tab.tag-晚间.active,.habit-tab.tag-学习.active{background:#7a5ac8;border-color:#7a5ac8}.habit-tab.tag-运动.active{background:#2f80ed;border-color:#2f80ed}.habit-tab.tag-工作.active{background:#b97706;border-color:#b97706}.habit-tab.tag-生活.active{background:#216e4e;border-color:#216e4e}.habit-rewards-panel{display:grid;gap:12px;margin-top:14px}.habit-wallet-card{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #d9e4dc;border-radius:var(--radius);background:linear-gradient(135deg,#fff,#f7fbf2);box-shadow:0 12px 30px #233c2d0f}.habit-wallet-label{color:var(--muted);font-size:12px;font-weight:700}.habit-wallet-value{font-size:34px;line-height:1;color:#8a6a10;font-weight:700}.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-wallet-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.habit-shop-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:12px}.habit-shop-section{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:#ffffffd1}.habit-shop-title{margin-bottom:10px;color:var(--text);font-size:15px;font-weight:700}.habit-reward-list,.habit-ledger-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-reward-main{min-width:0}.habit-reward-main strong,.habit-ledger-row strong{display:block;color:var(--text);font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.habit-reward-main span,.habit-ledger-row span{display:block;color:var(--faint);font-size:11px;font-weight:750}.habit-reward-main p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.habit-redeem-btn{min-height:34px;padding:0 12px;border:1px solid #eadb9e;border-radius:999px;background:#fff7df;color:#80620f;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.habit-redeem-btn:disabled{cursor:not-allowed;opacity:.45}.habit-ledger-row b{font-size:15px;white-space:nowrap}.habit-ledger-row.is-plus b{color:var(--accent)}.habit-ledger-row.is-minus b{color:var(--danger)}.habit-checkin-history{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden}.habit-history-head{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.habit-history-title{font-size:14px;font-weight:700;color:var(--text)}.habit-history-meta{margin-top:3px;font-size:12px;font-weight:750;color:var(--muted)}.habit-history-list{display:grid;max-height:360px;overflow:auto}.habit-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.habit-history-item:last-child{border-bottom:0}.habit-history-item.has-note{background:#fbfdf9}.habit-history-main{min-width:0}.habit-history-date{font-size:13px;font-weight:700;color:var(--text)}.habit-history-note{margin-top:5px;font-size:13px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.habit-history-item.has-note .habit-history-note{color:#52655b}.habit-history-empty{padding:18px 14px;color:var(--muted);font-size:13px;font-weight:750}.habit-inline-inputs{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(90px,1fr);gap:8px}.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-balance-list{display:flex;flex-wrap:wrap;gap:8px}.habit-balance-chip{display:inline-flex;align-items:baseline;gap:5px;min-height:32px;padding:0 11px;border-radius:999px;background:#fff7df;border:1px solid #eadb9e;color:#80620f;font-size:12px;font-weight:900}.habit-balance-chip b{font-size:16px}.habit-currency-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.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(--panel);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}.habit-currency-add{grid-template-columns:1fr}}.page-subtitle{margin-top:4px;color:var(--muted);font-size:13px;font-weight:650}.wheel-shell{display:grid;grid-template-columns:1fr;gap:22px;align-items:start}.wheel-stage,.wheel-panel{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>*,.wheel-panel>*{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,.wheel-panel .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,.wheel-panel .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,.wheel-panel .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-manage-modal{max-height:min(760px,calc(100vh - 40px));overflow:auto}.wheel-manage-modal .modal-header{margin-bottom:14px}.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-pill{display:inline-flex;align-items:center;justify-content:center;min-height:46px;max-width:100%;padding:0 18px;border-radius:18px;border:1px solid rgba(226,232,240,.94);background:#f8fafdeb;color:var(--text);font-size:clamp(20px,3vw,24px);font-weight:900;overflow-wrap:anywhere}.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-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.wheel-stage-stats.compact{max-width:560px;margin-inline:auto}.wheel-stage-stat{padding:14px 13px;border-radius:20px;border:1px solid rgba(225,231,240,.95);background:#ffffffe0;box-shadow:inset 0 1px #fffffff0}.wheel-stage-stat strong{display:block;color:var(--text);font-size:19px;font-weight:900;line-height:1.1}.wheel-stage-stat span{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.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 span:last-child{color:var(--muted)}.wheel-create-items-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.wheel-create-items-head label{margin-bottom:0}.wheel-create-items-head span{color:var(--muted);font-size:12px;font-weight:850}.wheel-create-items-editor{display:grid;gap:8px}.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-create-item-name{padding:8px 12px;font-size:15px;font-weight:800}.wheel-create-item-weight{padding:8px 10px;text-align:center}.wheel-create-item-remove{width:36px;height:36px;border:0;border-radius:12px;background:#d85c381a;color:#b9492d;font-size:22px;font-weight:900;cursor:pointer}.wheel-create-items-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}#wheel-batch-modal{z-index:130}#wheel-batch-text{width:100%;min-height:220px;padding:13px 14px;border:1px solid rgba(220,228,236,.96);border-radius:18px;background:#f8fafdf5;color:var(--text);line-height:1.6;resize:vertical}.wheel-create-tag-options{display:flex;flex-wrap:wrap;gap:8px}.wheel-create-tag-option{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 11px;border:1px solid rgba(225,231,240,.96);border-radius:999px;background:#f8fafdf5;color:var(--text);font-size:12px;font-weight:850;cursor:pointer}.wheel-create-tag-option input{accent-color:#d85c38}.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-empty,.wheel-result-card{padding:22px 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:10px}.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:18px}.wheel-panel{min-width:0;background:linear-gradient(180deg,#fff,#f9fbfd);box-shadow:0 20px 50px #233c2d14;max-width:980px;width:100%;margin:10px auto 0;padding:18px 20px 20px;border-radius:30px;position:relative;overflow:hidden;z-index:1}.wheel-stage .wheel-panel{max-width:none;margin:0 0 12px;padding:12px;border-radius:22px;background:#ffffffd6;box-shadow:0 12px 28px #233c2d12}.wheel-panel.collapsed{box-shadow:0 16px 36px #233c2d0f}.wheel-stage .wheel-panel.collapsed{box-shadow:0 10px 22px #233c2d0f}.wheel-panel-dock{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr) auto;gap:14px;align-items:center}.wheel-stage .wheel-panel-dock{grid-template-columns:auto minmax(0,1fr) auto}.wheel-panel-dock-copy{min-width:0}.wheel-panel-kicker{color:#d85c38;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.wheel-panel-title{margin-top:6px;color:var(--text);font-size:clamp(18px,2.4vw,24px);font-weight:900;line-height:1.2}.wheel-stage .wheel-panel-title{margin-top:2px;font-size:15px}.wheel-panel-copy{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.65}.wheel-stage .wheel-panel-copy{display:none}.wheel-panel-menu,.wheel-panel-summary{display:flex;gap:8px;flex-wrap:wrap}.wheel-panel-menu{justify-content:center}.wheel-panel-menu button{min-height:38px;padding:7px 12px;border:1px solid rgba(225,231,240,.96);border-radius:999px;background:#f6f8fcf5;color:#314238;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #ffffffe6;transition:.16s ease}.wheel-panel-menu button:hover{transform:translateY(-1px);border-color:#d85c3852;background:#fff7f3;color:#c64d2d}.wheel-panel-summary{justify-content:flex-end}.wheel-panel-stat{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 12px;border-radius:999px;border:1px solid rgba(225,231,240,.96);background:#f6f8fcf5;color:#51635a;font-size:12px;font-weight:850;white-space:nowrap}.wheel-panel-stat strong{color:var(--text);font-size:14px;font-weight:900}.wheel-panel-toggle{min-width:116px;min-height:42px;border-radius:16px;font-weight:850}.wheel-panel-content{margin-top:18px;padding-top:18px;border-top:1px solid rgba(227,233,240,.92)}.wheel-panel.collapsed .wheel-panel-content{display:none}.wheel-panel-toolbar{margin-bottom:18px;justify-content:flex-start}.wheel-tabs{overflow-x:auto;scrollbar-width:thin;padding-bottom:2px;margin:0}#wheel-panel-body{max-width:1040px;margin:0 auto}.wheel-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}.wheel-panel-head .card-title{margin-bottom:4px}.wheel-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.wheel-head-actions .btn{min-height:34px;padding:7px 12px;font-size:12px}.wheel-inline-form{display:grid;grid-template-columns:minmax(0,1fr) 82px auto;gap:10px;margin-bottom:12px}.wheel-inline-form.wide{grid-template-columns:minmax(0,1fr) auto}.wheel-copy-filter{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;margin-bottom:8px;scrollbar-width:thin}.wheel-copy-filter button{border:1px solid rgba(220,228,236,.96);background:#ffffffeb;color:var(--muted);border-radius:999px;min-height:32px;padding:5px 10px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:850;cursor:pointer}.wheel-copy-filter button.active{border-color:#2f7d6d4d;background:#2f7d6d1c;color:#1d5b4f}.wheel-inline-form.library-form{grid-template-columns:minmax(0,1fr) 74px auto auto}.wheel-library-ai-box{display:grid;gap:8px;margin:0 0 12px;padding:12px;border:1px solid rgba(224,231,239,.96);border-radius:18px;background:linear-gradient(180deg,#f6fafffa,#f8fafdeb)}.wheel-library-ai-status{color:var(--muted);font-size:12px;line-height:1.5}.wheel-library-ai-result{display:grid;gap:10px}.wheel-library-ai-result-head{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:850}.wheel-library-ai-result-head small{font-weight:650}.wheel-library-ai-tags{display:flex;flex-wrap:wrap;gap:8px}.wheel-library-ai-tag{display:inline-flex;align-items:flex-start;gap:7px;max-width:100%;min-height:34px;padding:7px 10px;border:1px solid rgba(220,228,236,.96);border-radius:14px;background:#fff;color:var(--text);cursor:pointer}.wheel-library-ai-tag.selected{border-color:#2f7d6d57;background:#2f7d6d14}.wheel-library-ai-tag input{margin-top:3px;accent-color:var(--accent)}.wheel-library-ai-tag-main{display:grid;gap:2px;min-width:0}.wheel-library-ai-tag-main strong{font-size:12px;font-weight:850}.wheel-library-ai-tag-main small{color:var(--muted);font-size:11px;line-height:1.4;font-weight:650}.wheel-library-batch-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-bottom:12px}.wheel-library-batch-side{display:grid;gap:8px;align-content:end}.wheel-library-batch-box textarea{min-width:0;width:100%;min-height:92px;padding:11px 13px;border:1px solid rgba(220,228,236,.96);border-radius:16px;background:#fffffff5;color:var(--text);line-height:1.55;resize:vertical;box-shadow:inset 0 1px #fffffff2}.wheel-library-batch-tag-panel{display:grid;gap:10px;margin-bottom:12px;padding:12px;border:1px solid rgba(224,231,239,.96);border-radius:18px;background:#f8fafdeb}.wheel-library-batch-tag-head{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:850}.wheel-library-batch-tag-group{display:grid;gap:7px}.wheel-library-batch-tags{display:flex;flex-wrap:wrap;gap:8px}.wheel-library-batch-tag{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:5px 10px;border:1px solid rgba(220,228,236,.96);border-radius:999px;background:#fff;color:var(--text);font-size:12px;font-weight:850;cursor:pointer}.wheel-library-batch-tag input{accent-color:var(--accent)}.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,.wheel-library-bulk-actions{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,.wheel-library-bulk-actions select{min-width:0;padding:8px 10px;border:1px solid rgba(220,228,236,.96);border-radius:13px;background:#fff;color:var(--text)}.wheel-library-bulk-actions{justify-content:flex-end;flex-wrap:wrap;gap:6px}.wheel-library-bulk-actions .wheel-mini-btn{min-height:32px;padding:0 10px}.wheel-library-select{display:inline-flex;align-items:center;padding-top:2px}.wheel-library-select input{width:16px;height:16px;accent-color:var(--accent)}.wheel-row.library.selected{border-color:#2f7d6d52;background:linear-gradient(180deg,#f8fffcfa,#f1faf6f0)}.wheel-inline-form.tags-form{grid-template-columns:minmax(130px,1fr) 74px minmax(120px,150px) auto auto;align-items:center}.wheel-tag-color-field{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:6px 10px;border:1px solid rgba(220,228,236,.96);border-radius:16px;background:#fffffff5}.wheel-tag-color-field input[type=color]{width:34px;height:28px;padding:0;border:0;background:transparent;cursor:pointer}.wheel-tag-color-field span{color:var(--muted);font-size:12px;font-weight:850;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.wheel-tag-color-chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 8px 0 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--tag-color, #216e4e) 28%,white);background:color-mix(in srgb,var(--tag-color, #216e4e) 12%,white);flex:0 0 auto}.wheel-tag-color-chip i{width:12px;height:12px;border-radius:999px;box-shadow:inset 0 0 0 1px #00000014}.wheel-tag-color-chip em{font-style:normal;color:#4d5d55;font-size:11px;font-weight:850;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.wheel-play-mode-tabs{width:fit-content;margin-bottom:14px}.wheel-filter-panel{display:grid;gap:8px;margin-bottom:14px;padding:12px;border:1px solid rgba(224,231,239,.96);border-radius:18px;background:#f8fafdeb}.wheel-filter-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.wheel-filter-toolbar span,.wheel-filter-toolbar strong{color:var(--muted);font-size:12px;font-weight:850}.wheel-filter-preview{color:var(--text);font-size:13px;line-height:1.5}.wheel-tag-group-block{display:grid;gap:10px;margin-bottom:12px}.wheel-tag-group-block.list-mode{margin-bottom:4px}.wheel-tag-group-title{color:var(--muted);font-size:12px;font-weight:900}.wheel-tag-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.wheel-stage-quick-tag.static{cursor:default}.wheel-chip em{margin-right:4px;font-style:normal;opacity:.68}.wheel-inline-form input,.wheel-inline-form select{min-width:0;width:100%;padding:11px 13px;border:1px solid rgba(220,228,236,.96);border-radius:16px;background:#fffffff5;color:var(--text);box-shadow:inset 0 1px #fffffff2}.wheel-list{display:grid;gap:12px;max-height:620px;overflow:auto;padding-right:4px}.wheel-list-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.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-tag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.wheel-tag-card{padding:16px;border:1px solid rgba(220,228,236,.94);border-radius:22px;background:linear-gradient(145deg,#fffffffa,#f7f9fdf0);box-shadow:0 16px 34px #233c2d12}.wheel-tag-card.selected{border-color:#c1d2f0fa;box-shadow:0 18px 38px #5c7cfa1f}.wheel-tag-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.wheel-tag-toggle input,.wheel-check-row input{width:16px;height:16px;accent-color:var(--accent);flex:0 0 auto}.wheel-tag-title{color:var(--text);font-size:15px;font-weight:900;overflow-wrap:anywhere}.wheel-tag-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.wheel-tag-meta span{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border-radius:999px;background:#eff4fb;color:#51635a;font-size:12px;font-weight:800}.wheel-tag-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.wheel-row{display:flex;align-items:center;gap:10px;padding:14px 15px;border:1px solid rgba(223,230,238,.96);border-radius:20px;background:linear-gradient(180deg,#fffffffa,#fafbfef0);box-shadow:0 12px 28px #233c2d0f;transition:.18s ease}.wheel-row:hover{transform:translateY(-1px);box-shadow:0 16px 34px #233c2d17}.wheel-row.library{align-items:flex-start}.wheel-check-row{cursor:pointer}.wheel-row-main{flex:1;min-width:0;display:grid;gap:4px}.wheel-row-main strong{color:var(--text);font-size:14px;font-weight:850;overflow-wrap:anywhere}.wheel-row-main small{color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.wheel-color-dot{width:16px;height:16px;border-radius:99px;flex:0 0 auto;box-shadow:inset 0 0 0 1px #00000014;border:1px solid rgba(255,255,255,.8)}.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,.wheel-panel{padding:18px;border-radius:24px}.wheel-stage-stats{grid-template-columns:1fr}.wheel-canvas-wrap{width:min(100%,360px)}.wheel-result-title{font-size:clamp(20px,6.2vw,26px);max-width:14em}.wheel-stage-stats,.wheel-stage-stats.compact{grid-template-columns:1fr;max-width:none}.wheel-panel-dock{grid-template-columns:1fr;align-items:stretch}.wheel-panel-menu,.wheel-panel-summary{justify-content:flex-start}.wheel-panel-toggle{width:100%}}@media (max-width: 640px){.wheel-inline-form,.wheel-inline-form.wide,.wheel-inline-form.library-form,.wheel-inline-form.tags-form,.wheel-library-batch-box,.wheel-library-toolbar,.wheel-create-item-row{grid-template-columns:1fr}.wheel-library-filter,.wheel-library-bulk-actions{align-items:stretch;flex-direction:column}.wheel-library-bulk-actions .wheel-mini-btn{width:100%}.wheel-panel-head{display:grid;align-items:stretch}.wheel-row{align-items:flex-start;flex-wrap:wrap}.wheel-row-main{flex-basis:calc(100% - 28px)}.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{box-shadow:inset 0 -3px 0 var(--accent)}.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,.today-grid,.command-center{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.habit-center-hero{grid-template-columns:1fr}.habit-center-sync-note{align-content:start}.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-center-toolbar-actions{justify-content:flex-start}.habit-library-row{min-width:820px}.habit-diagnostics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-diagnostics-layout{grid-template-columns:1fr}.todo-table{min-width:860px}#page-todos{overflow-x:auto}}@media (max-width: 640px){.page-header,.heatmap-header,.goal-card,.period-item{grid-template-columns:1fr;display:grid;align-items:stretch}.page-actions{justify-content:stretch}.page-actions .btn,.page-header .btn{width:100%}.summary-grid,.stats-grid,.type-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.habit-center-hero{padding:16px;border-radius:20px}.habit-center-title-block h2{font-size:22px}.habit-kpi-grid{grid-template-columns:1fr}.habit-kpi-card.wide{grid-column:auto}.habit-center-toolbar{gap:10px}.habit-center-tabs{width:100%;overflow-x:auto;justify-content:flex-start}.habit-center-tabs button{flex:0 0 auto}.habit-center-toolbar-actions{width:100%}.habit-center-toolbar-actions input[type=date],.habit-center-toolbar-actions select{flex:1 1 150px;max-width:none!important}.habit-diagnostics-guard{display:grid}.habit-diagnostics-pill{justify-self:flex-start}.habit-diagnostics-grid,.habit-mapping-row{grid-template-columns:1fr}.habit-mapping-target{text-align:left}.habit-dualwrite-path-row{grid-template-columns:1fr}.habit-dualwrite-path-row b{justify-self:flex-start}.habit-consistency-row,.habit-consistency-balance-row{grid-template-columns:1fr 1fr}.habit-consistency-row b,.habit-consistency-balance-row b{grid-column:1 / -1;justify-self:flex-start}.habit-remote-preview-head,.habit-remote-preview-verdict{display:grid}.habit-remote-preview-head .habit-dualwrite-status{justify-self:flex-start}.habit-remote-preview-verdict span{text-align:left}.habit-section-head{display:grid;grid-template-columns:1fr}.habit-section-head .btn{width:100%}.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}.todo-session-editor{grid-template-columns:1fr}.todo-session-item{align-items:stretch;flex-direction:column}.todo-session-item .btn{align-self:flex-start}.modal-action-row{align-items:stretch;flex-direction:column}.modal-action-right{justify-content:stretch}.modal-action-row .btn{width:100%}.global-search-panel,.idea-detail-grid,.search-result-item{grid-template-columns:1fr}.modal{padding:18px}.ai-result-head{flex-direction:column;align-items:stretch}.ai-result-head .btn{width:100%}.ai-result-draft-meta,.habit-wallet-card,.habit-shop-grid{grid-template-columns:1fr}.habit-wallet-actions{justify-content:stretch}.habit-wallet-actions .btn{flex:1 1 140px}.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}.habit-history-item{grid-template-columns:1fr;align-items:stretch}.habit-history-item .btn{width:100%;justify-content:center}.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}}#app,.vue-app-shell{width:100%;min-width:0;min-height:100%}.vue-app-shell{display:flex}.app-brand{color:inherit;text-decoration:none}.nav-item{text-decoration:none}.vue-main{flex:1}.migration-page{max-width:920px}.migration-kicker{margin-bottom:6px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.migration-stage{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border:1px solid rgba(33,110,78,.18);border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:800}.migration-card p,.migration-card li,.migration-grid p{color:var(--muted);line-height:1.8}.migration-card ul{display:grid;gap:8px;padding-left:20px}.migration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media (max-width: 980px){.vue-app-shell{display:block}}@media (max-width: 640px){.migration-grid{grid-template-columns:1fr}}
