.stats-bar[data-v-ef5e0068]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#fff;border-bottom:1px solid var(--color-grey-border)}.stats-date[data-v-ef5e0068]{font-size:13px;color:var(--color-text-secondary);margin-bottom:7px}.stats-row[data-v-ef5e0068]{display:flex;align-items:flex-end;gap:22px}.stat[data-v-ef5e0068]{display:flex;flex-direction:column}.stat-num[data-v-ef5e0068]{font-size:21px;color:var(--color-pink-deep);font-weight:600;line-height:1.1}.stat-unit[data-v-ef5e0068]{font-size:12px;color:var(--color-text-light);font-weight:400}.stat-label[data-v-ef5e0068]{font-size:11px;color:var(--color-text-light);margin-top:3px}.stats-actions[data-v-ef5e0068]{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.seg[data-v-ef5e0068]{display:flex;background:var(--color-grey-bg);border-radius:var(--radius-md);padding:2px}.seg-item[data-v-ef5e0068]{padding:4px 13px;font-size:12px;color:var(--color-text-light);border-radius:6px;cursor:pointer}.seg-item.on[data-v-ef5e0068]{background:#fff;color:var(--color-pink-deep);box-shadow:0 1px 4px #0000000f}.action-icons[data-v-ef5e0068]{display:flex;align-items:center;gap:4px}.note-btn[data-v-ef5e0068],.report-btn[data-v-ef5e0068]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer}.note-icon[data-v-ef5e0068]{width:16px;height:14px;border:1px solid var(--color-grey-icon);border-radius:3px;position:relative}.note-icon[data-v-ef5e0068]:after{content:"";position:absolute;left:3px;top:3.5px;width:7px;height:1.5px;background:var(--color-grey-icon);box-shadow:0 3.5px 0 var(--color-grey-icon)}.report-icon[data-v-ef5e0068]{width:16px;height:16px;border:1px solid var(--color-grey-icon);border-radius:3px;position:relative}.report-icon[data-v-ef5e0068]:after{content:"";position:absolute;left:3px;bottom:2.5px;width:1.5px;height:5px;background:var(--color-grey-icon);box-shadow:3.5px -1.5px 0 var(--color-grey-icon),7px -3.5px 0 var(--color-grey-icon)}.mask[data-v-65798316]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:800;display:flex;align-items:flex-end;background:#42424200;opacity:0;pointer-events:none;transition:opacity .2s,background .2s}.mask.show[data-v-65798316]{opacity:1;pointer-events:auto;background:#42424259}.panel[data-v-65798316]{width:100%;background:#fff;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:15px 15px calc(15px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .25s ease}.mask.show .panel[data-v-65798316]{transform:translateY(0)}.panel-head[data-v-65798316]{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.panel-title[data-v-65798316]{font-size:15px;color:var(--color-text);font-weight:600}.rest-toggle[data-v-65798316]{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:var(--color-grey-bg);color:var(--color-text-light);font-size:12px;cursor:pointer}.rest-toggle.on[data-v-65798316]{background:var(--color-pink-light);color:var(--color-pink-deep)}.rest-toggle .dot[data-v-65798316]{width:7px;height:7px;border-radius:50%;background:var(--color-text-light)}.rest-toggle.on .dot[data-v-65798316]{background:var(--color-pink-deep)}.note-input[data-v-65798316]{width:100%;min-height:80px;padding:11px;border:none;resize:none;background:var(--color-grey-bg);border-radius:var(--radius-md);font-size:14px;color:var(--color-text);line-height:1.55}.note-input[data-v-65798316]::placeholder{color:var(--color-text-light)}.hint[data-v-65798316]{font-size:11px;color:var(--color-text-light);margin-top:6px;padding:0 3px}.panel-foot[data-v-65798316]{display:flex;gap:11px;margin-top:13px}.btn[data-v-65798316]{flex:1;text-align:center;padding:11px 0;border-radius:var(--radius-md);font-size:14px;cursor:pointer}.btn.ghost[data-v-65798316]{background:var(--color-grey-bg);color:var(--color-text-secondary)}.btn.primary[data-v-65798316]{background:var(--color-pink);color:#fff}.mask[data-v-b5187aab]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:#42424200;opacity:0;pointer-events:none;transition:opacity .2s,background .2s}.mask.show[data-v-b5187aab]{opacity:1;pointer-events:auto;background:#42424280}.wrap[data-v-b5187aab]{width:330px;max-width:100%;max-height:80vh;display:flex;flex-direction:column;transform:scale(.92);transition:transform .25s ease}.mask.show .wrap[data-v-b5187aab]{transform:scale(1)}.top-close[data-v-b5187aab]{color:#fff;font-size:14px;padding:8px 16px;background:#ffffff2e;border-radius:20px;margin-bottom:10px;align-self:flex-end;cursor:pointer}.card-scroll[data-v-b5187aab]{flex:1;min-height:0;overflow-y:auto}.card[data-v-b5187aab]{width:100%;background:#fff;border-radius:var(--radius-lg);padding:8px;box-shadow:0 6px 24px #0000002e}.canvas[data-v-b5187aab]{display:block;margin:0 auto}.actions[data-v-b5187aab]{display:flex;gap:10px;margin-top:12px}.act[data-v-b5187aab]{flex:1;text-align:center;padding:11px 0;border-radius:var(--radius-md);font-size:14px;background:#ffffffeb;color:var(--color-text-secondary);cursor:pointer}.act.primary[data-v-b5187aab]{background:var(--color-pink);color:#fff}.mask[data-v-d7def8b9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:850;display:flex;align-items:center;justify-content:center;padding:24px;background:#42424200;opacity:0;pointer-events:none;transition:opacity .2s,background .2s}.mask.show[data-v-d7def8b9]{opacity:1;pointer-events:auto;background:#42424266}.edit-panel[data-v-d7def8b9]{width:100%;max-width:310px;background:#fff;border-radius:var(--radius-lg);padding:17px;transform:scale(.9);transition:transform .25s ease}.mask.show .edit-panel[data-v-d7def8b9]{transform:scale(1)}.edit-title[data-v-d7def8b9]{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:12px}.edit-input[data-v-d7def8b9]{width:100%;box-sizing:border-box;padding:11px;border:none;background:var(--color-grey-bg);border-radius:var(--radius-md);font-size:14px;color:var(--color-text)}.edit-input[data-v-d7def8b9]::placeholder{color:var(--color-text-light)}.goal-row[data-v-d7def8b9]{display:flex;align-items:center;gap:8px}.goal-input[data-v-d7def8b9]{width:60px;flex:0 0 auto}.goal-unit[data-v-d7def8b9]{font-size:12px;color:var(--color-text-light)}.edit-label[data-v-d7def8b9]{font-size:12px;color:var(--color-text-light);margin:13px 0 8px}.icon-grid[data-v-d7def8b9]{display:flex;flex-wrap:wrap;gap:9px}.icon-item[data-v-d7def8b9]{width:41px;height:41px;border-radius:var(--radius-md);background:var(--color-grey-bg);display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-item.on[data-v-d7def8b9]{background:var(--color-pink-light);box-shadow:inset 0 0 0 1.5px var(--color-pink)}.icon-img[data-v-d7def8b9]{width:22px;height:22px;background-repeat:no-repeat;background-position:center;background-size:contain}.edit-foot[data-v-d7def8b9]{display:flex;gap:8px;margin-top:17px}.edit-foot .btn[data-v-d7def8b9]{flex:1;text-align:center;padding:11px 0;border-radius:var(--radius-md);font-size:14px;cursor:pointer}.btn.danger[data-v-d7def8b9]{flex:0 0 80px;background:#ffebee;color:#e53935}.btn.ghost[data-v-d7def8b9]{background:var(--color-grey-bg);color:var(--color-text-secondary)}.btn.primary[data-v-d7def8b9]{background:var(--color-pink);color:#fff}.page[data-v-a5dcdb9d]{display:flex;flex-direction:column;height:100%;background:var(--color-bg)}.matrix-scroll[data-v-a5dcdb9d]{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.matrix-container[data-v-a5dcdb9d]{display:flex;flex-direction:row;align-items:flex-start}.left-panel[data-v-a5dcdb9d]{width:110px;flex:0 0 110px;background:#fff;border-right:1px solid var(--color-grey-border)}.header-spacer[data-v-a5dcdb9d]{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-text-light);border-bottom:1px solid var(--color-grey-border);background:#fff}.exercise-row[data-v-a5dcdb9d]{display:flex;align-items:center;gap:6px;padding:0 7px;border-bottom:1px solid var(--color-grey-border);background:#fff;overflow:hidden;position:relative;will-change:transform;touch-action:pan-y;cursor:pointer}.exercise-row.is-dragging[data-v-a5dcdb9d]{box-shadow:0 5px 14px #00000029;background:var(--color-pink-light);z-index:10;opacity:.98}.ex-icon[data-v-a5dcdb9d]{width:26px;height:26px;border-radius:50%;flex:0 0 auto;background-color:var(--color-grey-bg);background-repeat:no-repeat;background-position:center;background-size:17px 17px}.ex-name[data-v-a5dcdb9d]{flex:1;min-width:0;font-size:13px;color:var(--color-text);word-break:break-all;line-height:1.4}.drag-handle[data-v-a5dcdb9d]{width:7px;height:11px;flex:0 0 auto;background-image:radial-gradient(circle,var(--color-grey-icon) .8px,transparent 1px);background-size:3px 4px;background-repeat:repeat;opacity:.6}.add-row[data-v-a5dcdb9d]{display:flex;align-items:center;gap:4px;padding:0 8px;color:var(--color-text-light);border-bottom:1px solid var(--color-grey-border);cursor:pointer}.add-plus[data-v-a5dcdb9d]{font-size:17px;color:var(--color-pink-deep);line-height:1}.add-text[data-v-a5dcdb9d]{font-size:12px}.right-panel[data-v-a5dcdb9d]{flex:1;min-width:0;overflow:hidden;background:#fff}.right-scroll[data-v-a5dcdb9d]{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.matrix-inner[data-v-a5dcdb9d]{display:flex;flex-direction:column}.date-header[data-v-a5dcdb9d]{display:flex;flex-direction:row;border-bottom:1px solid var(--color-grey-border)}.date-cell[data-v-a5dcdb9d]{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;cursor:pointer;touch-action:pan-x}.date-cell .d[data-v-a5dcdb9d]{font-size:13px;color:var(--color-text)}.date-cell .w[data-v-a5dcdb9d]{font-size:9px;color:var(--color-text-light);margin-top:1px}.date-cell.is-today .d[data-v-a5dcdb9d]{color:var(--color-pink-deep);font-weight:600}.date-cell.is-rest[data-v-a5dcdb9d]{background:var(--color-grey-bg)}.date-cell.is-focus[data-v-a5dcdb9d]{background:var(--color-pink)}.date-cell.is-focus .d[data-v-a5dcdb9d]{color:#fff;font-weight:600}.date-cell.is-focus .w[data-v-a5dcdb9d]{color:#ffffffd9}.pencil[data-v-a5dcdb9d]{position:absolute;top:4px;right:4px;width:5px;height:5px;border-left:1px solid var(--color-grey-icon);border-bottom:1px solid var(--color-grey-icon);transform:rotate(-45deg);opacity:.45}.matrix-row[data-v-a5dcdb9d]{display:flex;flex-direction:row;border-bottom:1px solid var(--color-grey-border)}.cell[data-v-a5dcdb9d]{flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--color-grey-border);cursor:pointer}.cell.is-today-col[data-v-a5dcdb9d]{background:#f8bbd01a}.cell.rest[data-v-a5dcdb9d]{background:var(--color-grey-bg)}.check[data-v-a5dcdb9d]{width:22px;height:22px;border-radius:6px;border:1px solid var(--color-grey-border);background:#fff;position:relative}.cell.done .check[data-v-a5dcdb9d]{background:var(--color-pink);border-color:var(--color-pink-deep)}.cell.partial .check[data-v-a5dcdb9d]{background:var(--color-pink-light);border-color:var(--color-pink)}.cell.done .check[data-v-a5dcdb9d]:after{content:"";position:absolute;left:7px;top:6px;width:6px;height:3.5px;border-left:1.5px solid #fff;border-bottom:1.5px solid #fff;transform:rotate(-45deg)}.cell.rest .check[data-v-a5dcdb9d]{background:transparent;border-style:dashed;border-color:#d6d6d6}.rest-banner[data-v-a5dcdb9d]{padding:10px 14px;background:var(--color-grey-bg);color:var(--color-text-light);font-size:13px;border-bottom:1px solid var(--color-grey-border)}.today-row[data-v-a5dcdb9d]{display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--color-grey-border);background:#fff;transition:background .15s;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:pan-y}.today-row.all-done[data-v-a5dcdb9d]{background:#fff8fa}.today-info[data-v-a5dcdb9d]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.today-ex-name[data-v-a5dcdb9d]{font-size:14px;color:var(--color-text);word-break:break-all;line-height:1.4}.today-hint[data-v-a5dcdb9d]{font-size:11px;color:var(--color-text-light)}.today-progress[data-v-a5dcdb9d]{width:40px;height:40px;flex:0 0 auto;border-radius:50%;border:1.5px solid var(--color-grey-border);background:#fff;display:flex;flex-direction:row;align-items:center;justify-content:center;transition:background .18s,border-color .18s}.today-progress.partial[data-v-a5dcdb9d]{border-color:var(--color-pink-deep);background:var(--color-pink-light)}.today-progress.done[data-v-a5dcdb9d]{background:var(--color-pink);border-color:var(--color-pink-deep)}.today-progress.rest[data-v-a5dcdb9d]{border-style:dashed;border-color:#d6d6d6}.today-count[data-v-a5dcdb9d]{font-size:14px;font-weight:600;color:var(--color-text);line-height:1}.today-progress.partial .today-count[data-v-a5dcdb9d]{color:var(--color-pink-deep)}.today-progress.done .today-count[data-v-a5dcdb9d]{color:#fff}.today-goal[data-v-a5dcdb9d]{font-size:10px;color:var(--color-text-light);margin-left:.5px}.today-progress.done .today-goal[data-v-a5dcdb9d]{color:#fffc}.drag-capture[data-v-a5dcdb9d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;background:transparent;touch-action:none}.empty[data-v-a5dcdb9d]{padding:50px 24px;text-align:center;color:var(--color-text-light);font-size:13px;display:flex;flex-direction:column;align-items:center}.empty-icon[data-v-a5dcdb9d]{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:var(--color-pink-light);position:relative}.empty-icon[data-v-a5dcdb9d]:after{content:"+";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--color-pink-deep);font-weight:300}.toast-layer[data-v-df01ec20]{position:fixed;top:40%;left:0;right:0;z-index:2000;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast[data-v-df01ec20]{background:#424242e6;color:#fff;font-size:13px;padding:9px 18px;border-radius:8px;max-width:70%;text-align:center}.toast-enter-active[data-v-df01ec20],.toast-leave-active[data-v-df01ec20]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-df01ec20],.toast-leave-to[data-v-df01ec20]{opacity:0;transform:translateY(6px)}.confirm-mask[data-v-df01ec20]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1900;display:flex;align-items:center;justify-content:center;padding:40px;background:#42424266}.confirm-box[data-v-df01ec20]{width:100%;max-width:300px;background:#fff;border-radius:var(--radius-lg);padding:20px 18px 14px}.confirm-title[data-v-df01ec20]{font-size:16px;font-weight:600;color:var(--color-text);text-align:center;margin-bottom:10px}.confirm-content[data-v-df01ec20]{font-size:14px;color:var(--color-text-secondary);line-height:1.5;text-align:center;margin-bottom:18px}.confirm-foot[data-v-df01ec20]{display:flex;gap:12px}.cbtn[data-v-df01ec20]{flex:1;text-align:center;padding:10px 0;border-radius:var(--radius-md);font-size:14px;cursor:pointer}.cbtn.ghost[data-v-df01ec20]{background:var(--color-grey-bg);color:var(--color-text-secondary)}.cbtn.primary[data-v-df01ec20]{background:var(--color-pink);color:#fff}.cbtn.danger[data-v-df01ec20]{background:#ffebee;color:#e53935}.mask[data-v-0814b7f8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#42424200;opacity:0;pointer-events:none;transition:opacity .2s,background .2s}.mask.show[data-v-0814b7f8]{opacity:1;pointer-events:auto;background:#42424273}.login-panel[data-v-0814b7f8]{width:100%;max-width:300px;background:#fff;border-radius:var(--radius-lg);padding:22px 18px;transform:scale(.9);transition:transform .25s ease}.mask.show .login-panel[data-v-0814b7f8]{transform:scale(1)}.login-title[data-v-0814b7f8]{font-size:18px;font-weight:600;color:var(--color-text);text-align:center}.login-sub[data-v-0814b7f8]{font-size:12px;color:var(--color-text-light);text-align:center;margin:8px 0 18px;line-height:1.5}.login-input[data-v-0814b7f8]{width:100%;box-sizing:border-box;padding:12px;border:none;background:var(--color-grey-bg);border-radius:var(--radius-md);font-size:14px;margin-bottom:12px}.login-input[data-v-0814b7f8]::placeholder{color:var(--color-text-light)}.login-btn[data-v-0814b7f8]{margin-top:4px;text-align:center;padding:12px 0;border-radius:var(--radius-md);background:var(--color-pink);color:#fff;font-size:15px;cursor:pointer}.login-btn.disabled[data-v-0814b7f8]{opacity:.6;pointer-events:none}.login-switch[data-v-0814b7f8]{margin-top:16px;text-align:center;font-size:13px;color:var(--color-text-light)}.login-switch span[data-v-0814b7f8]{color:var(--color-pink-deep);cursor:pointer}.app-shell[data-v-c53d41d0]{max-width:420px;margin:0 auto;height:100%;display:flex;flex-direction:column;background:#fff;box-shadow:0 0 24px #0000000f}.app-bar[data-v-c53d41d0]{flex:0 0 auto;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--color-pink-light);padding-top:env(safe-area-inset-top)}.app-title[data-v-c53d41d0]{font-size:16px;font-weight:600;color:var(--color-text)}.account[data-v-c53d41d0]{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px}.account-login[data-v-c53d41d0]{color:var(--color-pink-deep);background:#fff;padding:5px 12px;border-radius:999px}.account-name[data-v-c53d41d0]{color:var(--color-text-secondary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-dot[data-v-c53d41d0]{width:8px;height:8px;border-radius:50%;background:#a5d6a7}.sync-dot.active[data-v-c53d41d0]{background:var(--color-pink-deep);animation:pulse-c53d41d0 1s infinite}@keyframes pulse-c53d41d0{0%,to{opacity:1}50%{opacity:.3}}.app-body[data-v-c53d41d0]{flex:1;min-height:0}:root{--color-pink-light: #fce4ec;--color-pink: #f8bbd0;--color-pink-deep: #f48fb1;--color-bg: #fafbfc;--color-grey-bg: #f5f5f5;--color-grey-border: #eceff1;--color-grey-icon: #b0bec5;--color-text: #424242;--color-text-secondary: #555555;--color-text-light: #9e9e9e;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;background:#eef0f2;color:var(--color-text);font-family:-apple-system,PingFang SC,Helvetica Neue,Helvetica,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}#app{height:100%}input,textarea,button{font-family:inherit;color:inherit;outline:none}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
