@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+TC:wght@400;500;600;700&display=swap";.sidebar[data-v-b3cdba0c]{width:240px;min-width:240px;background:var(--color-sidebar-bg);border-right:1px solid var(--color-divider);display:flex;flex-direction:column;padding:0;overflow-y:auto;transition:background .3s ease;z-index:50}.brand[data-v-b3cdba0c]{display:flex;align-items:center;gap:10px;padding:18px 16px 14px;border-bottom:1px solid var(--color-divider)}.brand-logo[data-v-b3cdba0c]{color:var(--color-accent);display:flex}.brand-name[data-v-b3cdba0c]{font-size:1.125rem;font-weight:700;color:var(--color-text-main);flex:1;letter-spacing:-.02em}.theme-toggle[data-v-b3cdba0c]{width:32px;height:32px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:background .2s,color .2s}.theme-toggle[data-v-b3cdba0c]:hover{background:var(--color-hover-bg);color:var(--color-accent)}.close-mobile-btn[data-v-b3cdba0c]{display:none;width:32px;height:32px;border-radius:var(--radius-sm);align-items:center;justify-content:center;color:var(--color-text-secondary)}.nav-section[data-v-b3cdba0c]{padding:10px 8px;flex:0 0 auto}.nav-item[data-v-b3cdba0c]{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);text-decoration:none;color:var(--color-text-secondary);margin-bottom:2px;cursor:pointer;transition:background .15s ease,color .15s ease;font-size:.9rem;font-weight:500}.nav-item.hide-on-mobile[data-v-b3cdba0c]{display:flex}.nav-item[data-v-b3cdba0c]:hover{background:var(--color-hover-sidebar);color:var(--color-text-main)}.nav-item.is-active[data-v-b3cdba0c],.nav-item.router-link-active[data-v-b3cdba0c]{background:var(--color-accent-light);color:var(--color-accent)}.nav-icon[data-v-b3cdba0c]{display:flex;align-items:center;flex-shrink:0}.nav-label[data-v-b3cdba0c]{line-height:1}.tags-section[data-v-b3cdba0c]{padding:8px;flex:1}.section-header[data-v-b3cdba0c]{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;margin-bottom:4px}.section-title[data-v-b3cdba0c]{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary)}.add-tag-btn[data-v-b3cdba0c]{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);transition:background .2s,color .2s}.add-tag-btn[data-v-b3cdba0c]:hover{background:var(--color-hover-bg);color:var(--color-accent)}.add-tag-form[data-v-b3cdba0c]{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:10px;margin:0 4px 8px;display:flex;flex-direction:column;gap:10px}.add-tag-form input[type=text][data-v-b3cdba0c]{font-size:.875rem;width:100%;padding:4px 0;border-bottom:1px solid var(--color-divider);color:var(--color-text-main)}.color-picker[data-v-b3cdba0c]{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.color-dot[data-v-b3cdba0c]{width:18px;height:18px;border-radius:50%;border:2px solid transparent;transition:transform .15s}.color-dot[data-v-b3cdba0c]:hover{transform:scale(1.15)}.color-dot.active[data-v-b3cdba0c]{box-shadow:0 0 0 2px var(--color-bg-white),0 0 0 4px var(--color-accent)}.custom-color-input[data-v-b3cdba0c]{width:20px;height:20px;padding:0;border:none;border-radius:4px;cursor:pointer;background:none}.form-actions[data-v-b3cdba0c]{display:flex;justify-content:flex-end;gap:6px}.btn-cancel[data-v-b3cdba0c]{padding:4px 10px;border-radius:var(--radius-xs);color:var(--color-text-secondary);font-size:.8rem;transition:background .2s}.btn-cancel[data-v-b3cdba0c]:hover{background:var(--color-hover-bg)}.btn-submit[data-v-b3cdba0c]{padding:4px 10px;border-radius:var(--radius-xs);background:var(--color-accent);color:#fff;font-size:.8rem;transition:background .2s}.btn-submit[data-v-b3cdba0c]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-submit[data-v-b3cdba0c]:disabled{opacity:.4;cursor:not-allowed}.tag-list[data-v-b3cdba0c]{display:flex;flex-direction:column}.tag-item[data-v-b3cdba0c]{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;font-size:.875rem;color:var(--color-text-secondary)}.tag-item[data-v-b3cdba0c]:hover{background:var(--color-hover-sidebar);color:var(--color-text-main)}.tag-dot[data-v-b3cdba0c]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tag-name[data-v-b3cdba0c]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-tags[data-v-b3cdba0c]{font-size:.8rem;color:var(--color-text-tertiary);padding:8px 12px;font-style:italic}.sidebar-footer[data-v-b3cdba0c]{border-top:1px solid var(--color-divider);padding:10px 8px}.user-btn[data-v-b3cdba0c]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.user-btn[data-v-b3cdba0c]:hover{background:var(--color-hover-sidebar)}.avatar[data-v-b3cdba0c]{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.avatar-img[data-v-b3cdba0c]{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.user-info[data-v-b3cdba0c]{display:flex;flex-direction:column}.user-name[data-v-b3cdba0c]{font-size:.875rem;font-weight:600;color:var(--color-text-main);line-height:1.3}.user-status[data-v-b3cdba0c]{font-size:.7rem;color:var(--color-text-tertiary)}@media (max-width: 900px){.sidebar[data-v-b3cdba0c]{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-lg);z-index:50;width:280px}.sidebar.is-open[data-v-b3cdba0c]{transform:translate(0)}.close-mobile-btn[data-v-b3cdba0c]{display:flex}.nav-item.hide-on-mobile[data-v-b3cdba0c]{display:none}}.mobile-bottom-nav[data-v-4a0eb53f]{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--color-bg-white);border-top:1px solid var(--color-divider);padding:0 12px;z-index:40;align-items:center;justify-content:space-around;box-shadow:0 -4px 12px #0000000d}.nav-item[data-v-4a0eb53f]{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--color-text-tertiary);text-decoration:none;transition:color .2s,transform .1s;flex:1}.nav-item[data-v-4a0eb53f]:active{transform:scale(.92)}.nav-item.is-active[data-v-4a0eb53f]{color:var(--color-accent)}.nav-icon[data-v-4a0eb53f]{display:flex;align-items:center;justify-content:center}.nav-label[data-v-4a0eb53f]{font-size:.65rem;font-weight:600}.fab-btn[data-v-4a0eb53f]{width:48px;height:48px;background:var(--color-accent);color:#fff;border-radius:16px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-accent);margin-bottom:12px;transition:transform .2s,background .2s;margin-left:8px}.fab-btn[data-v-4a0eb53f]:active{transform:scale(.9) translateY(4px);background:var(--color-accent-hover)}@media (max-width: 900px){.mobile-bottom-nav[data-v-4a0eb53f]{display:flex}}.widget-panel[data-v-88cde781]{width:280px;min-width:280px;background:var(--color-bg);border-left:1px solid var(--color-divider);overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:12px}.widget[data-v-88cde781]{padding:14px;background:var(--color-widget-bg)}.widget-header[data-v-88cde781]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.widget-title[data-v-88cde781]{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary)}.cal-nav[data-v-88cde781]{display:flex;align-items:center;gap:6px}.cal-btn[data-v-88cde781]{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:background .2s}.cal-btn[data-v-88cde781]:hover{background:var(--color-hover-bg);color:var(--color-text-main)}.cal-month[data-v-88cde781]{font-size:.75rem;font-weight:600;color:var(--color-text-main);white-space:nowrap}.cal-grid[data-v-88cde781]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-weekday[data-v-88cde781]{text-align:center;font-size:.65rem;font-weight:600;color:var(--color-text-tertiary);padding:2px 0 4px;letter-spacing:.04em}.cal-day[data-v-88cde781]{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.75rem;border-radius:50%;color:var(--color-text-secondary);cursor:default;transition:background .15s,color .15s;line-height:1;gap:1px}.cal-day[data-v-88cde781]:not(.is-empty){cursor:pointer}.cal-day[data-v-88cde781]:not(.is-empty):hover{background:var(--color-hover-bg);color:var(--color-text-main)}.cal-day.is-today[data-v-88cde781]{background:var(--color-accent);color:#fff;font-weight:700}.cal-day.is-today[data-v-88cde781]:hover{background:var(--color-accent-hover)}.cal-day.is-selected[data-v-88cde781]:not(.is-today){background:var(--color-accent-light);color:var(--color-accent);font-weight:600}.cal-day.is-empty[data-v-88cde781]{cursor:default;pointer-events:none}.task-dot[data-v-88cde781]{position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6}.is-today .task-dot[data-v-88cde781]{background:#fffc}.day-tasks[data-v-88cde781]{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-divider)}.day-tasks-header[data-v-88cde781]{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.day-tasks-empty[data-v-88cde781]{font-size:.75rem;color:var(--color-text-tertiary);font-style:italic}.day-task-item[data-v-88cde781]{display:flex;align-items:center;gap:7px;padding:3px 0;font-size:.8rem;color:var(--color-text-main)}.day-task-dot[data-v-88cde781]{width:6px;height:6px;border-radius:50%;background:var(--color-accent);flex-shrink:0}.day-task-dot.completed[data-v-88cde781]{background:var(--color-success)}.is-done[data-v-88cde781]{text-decoration:line-through;color:var(--color-text-tertiary)}.refresh-btn[data-v-88cde781]{width:24px;height:24px;border-radius:6px;color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.refresh-btn[data-v-88cde781]:hover{background:var(--color-hover-bg);color:var(--color-accent)}.quote-body[data-v-88cde781]{padding:0 2px}.quote-mark[data-v-88cde781]{font-size:2.5rem;line-height:.8;color:var(--color-accent);opacity:.4;font-family:Georgia,serif;margin-bottom:4px}.quote-text[data-v-88cde781]{font-size:.875rem;line-height:1.6;color:var(--color-text-main);font-style:italic;margin-bottom:8px}.quote-author[data-v-88cde781]{font-size:.75rem;color:var(--color-text-tertiary);font-weight:500}.stats-grid[data-v-88cde781]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.stat-item[data-v-88cde781]{text-align:center;padding:8px 4px;background:var(--color-surface);border-radius:var(--radius-sm)}.stat-value[data-v-88cde781]{font-size:1.5rem;font-weight:700;color:var(--color-text-main);line-height:1.2}.stat-value.accent[data-v-88cde781]{color:var(--color-accent)}.stat-label[data-v-88cde781]{font-size:.65rem;color:var(--color-text-tertiary);margin-top:2px;line-height:1.3}.progress-bar-wrap[data-v-88cde781]{display:flex;align-items:center;gap:8px}.progress-bar[data-v-88cde781]{flex:1;height:6px;background:var(--color-divider);border-radius:999px;overflow:hidden}.progress-fill[data-v-88cde781]{height:100%;background:var(--color-accent);border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-label[data-v-88cde781]{font-size:.7rem;color:var(--color-text-secondary);white-space:nowrap}.clock-card[data-v-88cde781]{text-align:center;padding:16px 14px}.clock-time[data-v-88cde781]{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;color:var(--color-text-main);line-height:1}.clock-date[data-v-88cde781]{font-size:.75rem;color:var(--color-text-secondary);margin-top:6px}.fade-enter-active[data-v-88cde781],.fade-leave-active[data-v-88cde781]{transition:opacity .2s ease}.fade-enter-from[data-v-88cde781],.fade-leave-to[data-v-88cde781]{opacity:0}@media (max-width: 1100px){.widget-panel[data-v-88cde781]{display:none}}.time-picker[data-v-e95bc235]{padding-top:12px}.time-header[data-v-e95bc235]{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:12px}.selected-time-display[data-v-e95bc235]{margin-left:auto;color:var(--color-accent);background:var(--color-accent-light);padding:2px 8px;border-radius:4px}.time-selectors[data-v-e95bc235]{display:flex;align-items:center;justify-content:center;gap:8px;height:100px;margin-bottom:12px}.time-column[data-v-e95bc235]{flex:1;height:100%;overflow-y:auto;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xs);border:1px solid var(--color-divider)}.time-separator[data-v-e95bc235]{font-weight:800;color:var(--color-text-tertiary)}.time-option[data-v-e95bc235]{padding:8px 0;text-align:center;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.time-option[data-v-e95bc235]:hover{background:var(--color-hover-bg);color:var(--color-text-main)}.time-option.active[data-v-e95bc235]{background:var(--color-accent-light);color:var(--color-accent);font-weight:700}.quick-times[data-v-e95bc235]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quick-times button[data-v-e95bc235]{padding:4px 0;font-size:.7rem;font-weight:600;border-radius:4px;border:1px solid var(--color-divider);color:var(--color-text-secondary);transition:all .15s}.quick-times button[data-v-e95bc235]:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.scroll-bar[data-v-e95bc235]::-webkit-scrollbar{width:4px}.scroll-bar[data-v-e95bc235]::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:10px}.custom-date-picker[data-v-f99317ea]{background:var(--color-bg-white);border-radius:var(--radius-md);border:1px solid var(--color-divider);padding:16px;width:280px;box-shadow:var(--shadow-lg);-webkit-user-select:none;user-select:none;animation:fadeIn .2s ease-out}.picker-header[data-v-f99317ea]{margin-bottom:16px}.quick-actions[data-v-f99317ea]{display:flex;gap:8px}.quick-actions button[data-v-f99317ea]{flex:1;padding:6px;font-size:.8rem;font-weight:600;border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-text-secondary);transition:all .2s}.quick-actions button.active[data-v-f99317ea]{background:var(--color-accent);color:#fff}.quick-actions button.clear-btn[data-v-f99317ea]{color:var(--color-alert-red)}.quick-actions button.clear-btn[data-v-f99317ea]:hover{background:var(--color-alert-red-light)}.calendar-container[data-v-f99317ea]{margin-bottom:16px}.month-nav[data-v-f99317ea]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.current-month[data-v-f99317ea]{font-size:.9rem;font-weight:700;color:var(--color-text-main)}.nav-btn[data-v-f99317ea]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--color-text-secondary)}.nav-btn[data-v-f99317ea]:hover{background:var(--color-hover-bg);color:var(--color-text-main)}.calendar-grid[data-v-f99317ea]{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.weekday-label[data-v-f99317ea]{text-align:center;font-size:.7rem;font-weight:700;color:var(--color-text-tertiary);padding-bottom:8px}.day-btn[data-v-f99317ea]{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;border-radius:50%;cursor:pointer;transition:all .15s;color:var(--color-text-main)}.day-btn[data-v-f99317ea]:hover{background:var(--color-hover-bg)}.day-btn.other-month[data-v-f99317ea]{color:var(--color-text-tertiary);opacity:.4}.day-btn.is-today[data-v-f99317ea]{color:var(--color-accent);font-weight:800;box-shadow:inset 0 0 0 1px var(--color-accent-light)}.day-btn.is-selected[data-v-f99317ea]{background:var(--color-accent)!important;color:#fff!important}.time-picker-section[data-v-f99317ea]{padding-top:16px;border-top:1px solid var(--color-divider)}.time-header[data-v-f99317ea]{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;color:var(--color-text-secondary);margin-bottom:12px}.selected-time-display[data-v-f99317ea]{margin-left:auto;color:var(--color-accent);background:var(--color-accent-light);padding:2px 8px;border-radius:4px}.time-selectors[data-v-f99317ea]{display:flex;align-items:center;justify-content:center;gap:8px;height:100px;margin-bottom:12px}.time-column[data-v-f99317ea]{flex:1;height:100%;overflow-y:auto;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-xs);border:1px solid var(--color-divider)}.time-separator[data-v-f99317ea]{font-weight:800;color:var(--color-text-tertiary)}.time-option[data-v-f99317ea]{padding:8px 0;text-align:center;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s}.time-option[data-v-f99317ea]:hover{background:var(--color-hover-bg);color:var(--color-text-main)}.time-option.active[data-v-f99317ea]{background:var(--color-accent-light);color:var(--color-accent);font-weight:700}.quick-times[data-v-f99317ea]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quick-times button[data-v-f99317ea]{padding:4px 0;font-size:.7rem;font-weight:600;border-radius:4px;border:1px solid var(--color-divider);color:var(--color-text-secondary);transition:all .15s}.quick-times button[data-v-f99317ea]:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.scroll-bar[data-v-f99317ea]::-webkit-scrollbar{width:4px}.scroll-bar[data-v-f99317ea]::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:10px}.picker-footer[data-v-f99317ea]{margin-top:16px;padding-top:12px;border-top:1px solid var(--color-divider);display:flex;justify-content:flex-end}.confirm-btn[data-v-f99317ea]{padding:8px 20px;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}.confirm-btn[data-v-f99317ea]:hover{background:var(--color-accent-hover);transform:translateY(-1px)}@media (max-width: 480px){.custom-date-picker[data-v-f99317ea]{width:100%;max-width:300px}}.task-detail-panel[data-v-618b1626]{width:320px;background-color:var(--color-bg-white);border-left:1px solid var(--color-divider);display:flex;flex-direction:column;height:100%;flex-shrink:0;outline:none;box-shadow:var(--shadow-md);z-index:60}.panel-header[data-v-618b1626]{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-divider)}.panel-title[data-v-618b1626]{font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary)}.close-btn[data-v-618b1626]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xs);color:var(--color-text-secondary);font-size:1.125rem;transition:background .2s}.close-btn[data-v-618b1626]:hover{background-color:var(--color-hover-bg);color:var(--color-text-main)}.panel-content[data-v-618b1626]{padding:20px 20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;flex:1}.title-section[data-v-618b1626]{min-height:40px}.title-display[data-v-618b1626]{font-size:1.125rem;font-weight:600;margin:0;cursor:text;line-height:1.4;padding:4px 0;border-bottom:2px solid transparent;transition:border-color .2s}.title-display[data-v-618b1626]:hover{border-bottom-color:var(--color-divider)}.title-input[data-v-618b1626]{font-size:1.125rem;font-weight:600;width:100%;padding:4px 0;border-bottom:2px solid var(--color-accent)}.divider[data-v-618b1626]{height:1px;background:var(--color-divider)}.detail-row[data-v-618b1626]{display:flex;align-items:flex-start;gap:12px}.row-label[data-v-618b1626]{width:64px;color:var(--color-text-tertiary);font-size:.8rem;padding-top:7px;font-weight:500}.row-value[data-v-618b1626]{flex:1;position:relative}.date-display-btn[data-v-618b1626]{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-xs);font-size:.9rem;color:var(--color-text-secondary);background:var(--color-surface);transition:all .2s;width:100%}.date-display-btn[data-v-618b1626]:hover{background:var(--color-hover-bg);color:var(--color-text-main)}.date-display-btn.has-date[data-v-618b1626]{color:var(--color-accent);background:var(--color-accent-light);font-weight:500}.picker-popover[data-v-618b1626]{position:absolute;top:100%;right:0;z-index:100;margin-top:8px}.popover-backdrop[data-v-618b1626]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1}.popover-content[data-v-618b1626]{filter:drop-shadow(var(--shadow-lg))}.tags-wrapper[data-v-618b1626]{display:flex;flex-wrap:wrap;gap:6px;padding-top:4px;position:relative}.tag-capsule[data-v-618b1626]{padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:500}.tag-adder[data-v-618b1626]{position:relative}.add-tag-inline[data-v-618b1626]{width:24px;height:24px;border-radius:50%;border:1.5px dashed var(--color-text-tertiary);color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s}.add-tag-inline[data-v-618b1626]:hover{border-style:solid;color:var(--color-accent);border-color:var(--color-accent)}.tag-menu[data-v-618b1626]{position:absolute;top:100%;left:0;margin-top:6px;background:var(--color-bg-white);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:6px 0;width:180px;z-index:10}.tag-option[data-v-618b1626]{display:flex;align-items:center;gap:8px;padding:7px 14px;cursor:pointer;font-size:.85rem;transition:background .15s}.tag-option[data-v-618b1626]:hover{background-color:var(--color-hover-bg)}.tag-color-dot[data-v-618b1626]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.notes-section[data-v-618b1626]{flex:1;display:flex}.notes-input[data-v-618b1626]{width:100%;height:100%;min-height:150px;resize:none;font-size:.9rem;line-height:1.7;background:transparent;color:var(--color-text-main);border-radius:var(--radius-sm);padding:8px;border:1px solid transparent;transition:border-color .2s,background .2s}.notes-input[data-v-618b1626]:focus{border-color:var(--color-divider);background:var(--color-surface)}.notes-input[data-v-618b1626]::placeholder{color:var(--color-text-tertiary)}@media (max-width: 768px){.task-detail-panel[data-v-618b1626]{position:fixed;bottom:0;left:0;width:100%;height:70vh;border-left:none;border-top:1px solid var(--color-divider);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);z-index:60}.picker-popover[data-v-618b1626]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);right:auto}.popover-backdrop[data-v-618b1626]{background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}.fade-enter-active[data-v-618b1626],.fade-leave-active[data-v-618b1626]{transition:opacity .2s}.fade-enter-from[data-v-618b1626],.fade-leave-to[data-v-618b1626]{opacity:0}.app-root[data-v-b552ca9e]{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.auth-loading[data-v-b552ca9e]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px;font-size:1rem;color:var(--color-text-secondary);background:var(--color-bg)}.loading-spinner[data-v-b552ca9e]{width:36px;height:36px;border-radius:50%;border:3px solid var(--color-divider);border-top-color:var(--color-accent);animation:spin-b552ca9e .8s linear infinite}@keyframes spin-b552ca9e{to{transform:rotate(360deg)}}.app-container[data-v-b552ca9e]{display:flex;flex:1;overflow:hidden;position:relative;background:var(--color-bg)}.mobile-header[data-v-b552ca9e]{display:none;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-divider);background:var(--color-bg-white);gap:8px;position:sticky;top:0;z-index:30;height:60px}.hamburger-btn[data-v-b552ca9e]{color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);transition:background .2s;margin-left:-4px}.hamburger-btn[data-v-b552ca9e]:hover{background:var(--color-hover-bg);color:var(--color-accent)}.mobile-brand[data-v-b552ca9e]{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}.brand-logo[data-v-b552ca9e]{color:var(--color-accent);display:flex}.mobile-title[data-v-b552ca9e]{font-weight:800;font-size:1.25rem;color:var(--color-text-main);letter-spacing:-.03em}.header-spacer[data-v-b552ca9e]{width:40px}.sidebar-overlay[data-v-b552ca9e]{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40}.main-content[data-v-b552ca9e]{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;min-width:0}.page-enter-active[data-v-b552ca9e]{transition:opacity .28s ease,transform .28s cubic-bezier(.4,0,.2,1)}.page-leave-active[data-v-b552ca9e]{transition:opacity .18s ease,transform .18s cubic-bezier(.4,0,.2,1)}.page-enter-from[data-v-b552ca9e]{opacity:0;transform:translateY(10px)}.page-leave-to[data-v-b552ca9e]{opacity:0;transform:translateY(-6px)}.slide-panel-enter-active[data-v-b552ca9e],.slide-panel-leave-active[data-v-b552ca9e]{transition:transform .3s cubic-bezier(.4,0,.2,1)}.slide-panel-enter-from[data-v-b552ca9e],.slide-panel-leave-to[data-v-b552ca9e]{transform:translate(100%)}.slide-widget-enter-active[data-v-b552ca9e],.slide-widget-leave-active[data-v-b552ca9e]{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.slide-widget-enter-from[data-v-b552ca9e],.slide-widget-leave-to[data-v-b552ca9e]{transform:translate(32px);opacity:0}@media (max-width: 900px){.app-container[data-v-b552ca9e]{flex-direction:column;padding-bottom:64px}.mobile-header[data-v-b552ca9e]{display:flex}.sidebar-overlay[data-v-b552ca9e]{display:block}.slide-panel-enter-from[data-v-b552ca9e],.slide-panel-leave-to[data-v-b552ca9e]{transform:translateY(100%)}}.global-add-modal-overlay[data-v-b552ca9e]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-end}.global-add-modal[data-v-b552ca9e]{width:100%;background:var(--color-bg-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:20px 24px 40px;animation:slideUp-b552ca9e .3s cubic-bezier(.4,0,.2,1);box-shadow:0 -8px 24px #00000026;max-height:90vh;overflow-y:auto}.modal-header[data-v-b552ca9e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3[data-v-b552ca9e]{font-size:1.125rem;font-weight:700;color:var(--color-text-main)}.modal-header button[data-v-b552ca9e]{color:var(--color-text-secondary);font-size:.9375rem;font-weight:500}.modal-body[data-v-b552ca9e]{display:flex;flex-direction:column;gap:16px}.modal-input-area[data-v-b552ca9e]{display:flex;align-items:center;gap:12px;background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:8px 16px;transition:border-color .2s}.modal-input-area[data-v-b552ca9e]:focus-within{border-color:var(--color-accent);background:var(--color-bg-white)}.input-main-col[data-v-b552ca9e]{flex:1;display:flex;flex-direction:column;gap:4px}.input-main-col input[data-v-b552ca9e]{font-size:1.0625rem;padding:8px 0;color:var(--color-text-main)}.modal-date-badge[data-v-b552ca9e]{display:inline-flex;align-items:center;gap:4px;background:var(--color-accent-light);color:var(--color-accent);font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:6px;align-self:flex-start}.modal-date-toggle[data-v-b552ca9e]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-tertiary);transition:all .2s}.modal-date-toggle.active[data-v-b552ca9e]{color:var(--color-accent);background:var(--color-accent-light)}.modal-submit-btn[data-v-b552ca9e]{width:40px;height:40px;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s}.modal-submit-btn[data-v-b552ca9e]:disabled{opacity:.3;transform:scale(.95)}.modal-picker-wrap[data-v-b552ca9e]{display:flex;justify-content:center}.expand-enter-active[data-v-b552ca9e],.expand-leave-active[data-v-b552ca9e]{transition:all .3s ease;overflow:hidden;max-height:400px}.expand-enter-from[data-v-b552ca9e],.expand-leave-to[data-v-b552ca9e]{opacity:0;max-height:0}@keyframes slideUp-b552ca9e{0%{transform:translateY(100%)}to{transform:translateY(0)}}:root{--color-bg: #f4f1ee;--color-bg-white: #ffffff;--color-sidebar-bg: #ffffff;--color-widget-bg: #ffffff;--color-surface: #f9f8f7;--color-text-main: #1a1a1a;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-divider: #e8e4e0;--color-hover-bg: #f0ede9;--color-hover-sidebar: #f5f3f0;--color-accent: #7c6fcd;--color-accent-light: #ede9ff;--color-accent-hover: #6b5dc0;--color-btn-black: #1a1a1a;--color-btn-black-hover: #333333;--color-alert-red: #e53e3e;--color-alert-red-light: #fed7d7;--color-success: #38a169;--color-warning: #d97706;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .06);--shadow-accent: 0 4px 16px rgba(124, 111, 205, .25);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px}[data-theme=dark]{--color-bg: #0f0f10;--color-bg-white: #1a1a1e;--color-sidebar-bg: #141417;--color-widget-bg: #1a1a1e;--color-surface: #1e1e24;--color-text-main: #f0eff0;--color-text-secondary: #9ca3af;--color-text-tertiary: #6b7280;--color-divider: #2a2a35;--color-hover-bg: #24242e;--color-hover-sidebar: #1e1e26;--color-accent: #9d8fef;--color-accent-light: #2a2540;--color-accent-hover: #b3a6f5;--color-btn-black: #e0e0e4;--color-btn-black-hover: #ffffff;--color-alert-red: #fc8181;--color-alert-red-light: #2d1515;--color-success: #68d391;--color-warning: #f6ad55;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-accent: 0 4px 16px rgba(157, 143, 239, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{margin:0;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--color-text-main);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}#app{display:flex;height:100vh;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-divider);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}button{background:none;border:none;cursor:pointer;font-family:inherit;color:inherit;-webkit-tap-highlight-color:transparent}input,textarea{font-family:inherit;border:none;outline:none;background:none;color:inherit}a{text-decoration:none;color:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes floatUp{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-18px) scale(1.03)}to{transform:translateY(0) scale(1)}}@keyframes bounceSoft{0%,to{transform:translateY(0)}30%{transform:translateY(-12px)}60%{transform:translateY(-5px)}80%{transform:translateY(-8px)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.fade-in{animation:fadeIn .3s ease forwards}.stagger-1{animation-delay:.05s!important}.stagger-2{animation-delay:.1s!important}.stagger-3{animation-delay:.15s!important}.stagger-4{animation-delay:.2s!important}.stagger-5{animation-delay:.25s!important}.card{background:var(--color-bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-divider);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}
