:root{--bg: #f5f7fa;--bg-card: #ffffff;--bg-hover: #eef1f6;--text: #1a1d26;--text-muted: #6b7280;--border: #e2e6ed;--accent: #4f6ef7;--accent-hover: #3d5ce0;--accent-light: #eef2ff;--danger: #ef4444;--danger-light: #fef2f2;--warning: #f59e0b;--warning-light: #fffbeb;--success: #10b981;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--radius: 10px;--radius-sm: 6px;--priority-high: #ef4444;--priority-medium: #f59e0b;--priority-low: #10b981;--font: "Segoe UI", system-ui, -apple-system, sans-serif}[data-theme=dark]{--bg: #16161e;--bg-card: #24283b;--bg-elevated: #1a1b26;--bg-hover: #2a2f42;--text: #c8cad4;--text-muted: #8b90a5;--border: rgba(255, 255, 255, .08);--accent: #4f5a96;--accent-hover: #5c68a8;--accent-light: rgba(79, 90, 150, .15);--accent-text: #9aa8d4;--danger: #f87171;--danger-light: rgba(248, 113, 113, .12);--warning: #fbbf24;--warning-light: rgba(251, 191, 36, .12);--success: #34d399;--shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .45)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}[data-theme=dark] *{scrollbar-color:#4b5563 transparent}[data-theme=dark] ::-webkit-scrollbar-thumb{background-color:#4b5563}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background-color:#6b7280}html,body{height:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;transition:background .2s,color .2s}#root{height:100%;overflow:hidden}.app-layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.app-main{flex:1;min-width:0;max-width:1200px;margin:0 auto;padding:24px 20px 48px;width:100%;overflow-y:auto;overflow-x:hidden}.app-main--calendar{flex:1;max-width:none;margin:0;padding:24px 2px 48px 20px}.view-panel{opacity:1;transition:opacity .28s ease-in-out}.view-panel--fading{opacity:0}.app{max-width:860px;margin:0 auto;padding:24px 20px 48px}.workspace-sidebar{position:sticky;top:0;align-self:flex-start;flex-shrink:0;width:220px;height:100vh;height:100dvh;background:var(--bg-card);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;padding:16px 12px;gap:0;overflow:hidden;z-index:20}.workspace-sidebar--expanded{width:220px}.workspace-sidebar__user{position:relative;margin-bottom:14px}.workspace-sidebar__user-chip{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer;font-family:inherit;color:var(--text);transition:background .15s,box-shadow .15s}.workspace-sidebar__user-chip:hover{background:var(--bg-hover);box-shadow:var(--shadow)}.workspace-sidebar__user-name{font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-sidebar__user-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:6px;z-index:120}.workspace-sidebar__create{width:100%;padding:14px 16px;font-size:1.05rem;font-weight:700;border-radius:12px;white-space:nowrap;box-shadow:var(--shadow-lg)}.workspace-sidebar__create:hover{transform:translateY(-1px);box-shadow:0 8px 22px #4f6ef747}.workspace-sidebar__divider{height:0;border:none;border-top:1px dashed var(--border);margin:14px 0;flex-shrink:0}.workspace-sidebar__divider--footer{margin-top:auto}.workspace-sidebar__footer{width:100%;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.workspace-sidebar__footer-btn{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-family:inherit;color:var(--text-muted);transition:background .15s,color .15s}.workspace-sidebar__footer-btn:hover{background:var(--bg-hover);color:var(--text)}.workspace-sidebar__footer-btn-icon{flex-shrink:0;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.95rem;background:var(--bg-hover)}.workspace-sidebar__view-toggle{width:100%;margin-top:4px}.workspace-sidebar__view-toggle .view-toggle__btn{flex:1;text-align:center}.team-modal .team-panel{padding:0}.team-modal .team-panel__heading{display:none}.workspace-sidebar__avatar--emoji{background:var(--bg-hover);font-size:1.1rem}.team-panel{display:flex;flex-direction:column;gap:14px;padding:4px 4px 8px}.team-panel__heading{font-size:.9rem;font-weight:700;color:var(--text);padding:0 4px}.team-panel__section{display:flex;flex-direction:column;gap:8px}.team-panel__section-title{font-size:.78rem;font-weight:600;color:var(--text-muted);padding:0 4px}.team-panel__hint{font-size:.72rem;color:var(--text-muted);line-height:1.4;padding:0 4px}.team-panel__back{align-self:flex-start;background:none;border:none;color:var(--accent);font-family:inherit;font-size:.82rem;font-weight:500;cursor:pointer;padding:4px 4px 8px;border-radius:var(--radius-sm)}.team-panel__back:hover{background:var(--accent-light)}.team-panel__hero{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.team-panel__hero-avatar{flex-shrink:0;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;color:#fff}.team-panel__hero-avatar--emoji{background:var(--bg-hover);font-size:1.4rem}.team-panel__hero-title{font-size:.95rem;font-weight:700;line-height:1.3}.team-panel__hero-meta{font-size:.72rem;color:var(--text-muted);margin-top:2px}.team-panel__code-box{padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center}.team-panel__code{font-family:ui-monospace,Cascadia Code,monospace;font-size:.85rem;font-weight:600;letter-spacing:.08em;color:var(--accent)}.team-panel__actions{display:flex;flex-wrap:wrap;gap:6px}.team-panel__toggle{display:flex;align-items:flex-start;gap:8px;font-size:.78rem;color:var(--text);line-height:1.4;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.team-panel__toggle input{margin-top:2px;accent-color:var(--accent)}.team-panel__list{list-style:none;display:flex;flex-direction:column;gap:6px}.team-panel__list-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem}.team-panel__list-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.team-panel__list-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-panel__list-meta{font-size:.72rem;color:var(--text-muted)}.team-panel__manage-btn{flex-shrink:0;font-size:.75rem!important;padding:4px 8px!important}.team-panel__danger{width:100%;color:var(--danger)!important;border:1px solid var(--border)}.team-panel__danger:hover{background:var(--danger-light)!important}.team-panel__msg{font-size:.78rem;color:var(--success);padding:0 4px}.team-panel__err{font-size:.78rem;color:var(--danger);padding:0 4px}.team-avatar-picker{display:flex;flex-wrap:wrap;gap:6px}.team-avatar-picker__item{padding:0;border:2px solid transparent;border-radius:var(--radius-sm);background:none;cursor:pointer;transition:border-color .15s}.team-avatar-picker__item:hover{border-color:var(--border)}.team-avatar-picker__item--active{border-color:var(--accent)}.team-avatar-picker__preview{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-size:.8rem;font-weight:700;color:#fff}.team-avatar-picker__preview--emoji{background:var(--bg-hover);font-size:1rem}.team-panel .settings-add-category{flex-direction:column}.team-panel .settings-add-category input,.team-panel .settings-add-category .btn{width:100%}.workspace-sidebar__toggle{align-self:flex-end;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:4px;border-radius:var(--radius-sm)}.workspace-sidebar__toggle:hover{background:var(--bg-hover)}.workspace-sidebar__nav{display:flex;flex-direction:column;gap:6px;width:100%;flex:1;min-height:0;overflow-y:auto}.workspace-sidebar__item{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font-family:inherit;color:var(--text-muted);transition:background .15s}.workspace-sidebar__item:hover{background:var(--bg-hover)}.workspace-sidebar__item--active{background:var(--accent-light);color:var(--accent)}.workspace-sidebar__avatar{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff}.workspace-sidebar__avatar--personal{background:var(--bg-hover);font-size:1rem}.workspace-sidebar__label{font-size:.82rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-sidebar__badge{position:absolute;top:8px;right:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center}.header__workspace{font-size:.75rem;color:var(--text-muted);margin-top:2px}.invite-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:16px;background:var(--accent-light);border:1px solid var(--accent);border-radius:var(--radius);font-size:.85rem}.invite-banner__btn{flex-shrink:0;padding:6px 12px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:inherit;font-size:.8rem;cursor:pointer}.team-settings__block{margin-bottom:16px}.team-settings__back{background:none;border:none;color:var(--accent);font-family:inherit;font-size:.85rem;cursor:pointer;margin-bottom:12px;padding:0}.team-settings__code-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}.team-settings__code{font-family:ui-monospace,monospace;font-size:.9rem;padding:6px 10px;background:var(--bg);border-radius:var(--radius-sm);letter-spacing:.05em}.team-settings__toggle{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer}.team-settings__leave{margin-top:8px;color:var(--danger)}.team-settings__msg{color:var(--success);font-size:.8rem;margin-top:8px}.team-settings__err{color:var(--danger);font-size:.8rem;margin-top:8px}.team-card-list,.team-member-list,.team-invite-list{list-style:none;display:flex;flex-direction:column;gap:8px}.team-card,.team-member-item,.team-invite-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem}.team-card__name,.team-member-item__name{font-weight:600}.team-card__meta,.team-member-item__role,.team-invite-item__from{font-size:.75rem;color:var(--text-muted);display:block}.team-invite-item__actions{display:flex;gap:6px;flex-shrink:0}.participant-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.participant-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:20px;font-size:.8rem;cursor:pointer;background:var(--bg-card)}.participant-chip:has(input:checked){border-color:var(--accent);background:var(--accent-light)}.participant-chip input{accent-color:var(--accent)}.participant-chip--locked{opacity:.72;cursor:default;border-color:var(--border);background:var(--bg)}.participant-chip--locked:has(input:checked){border-color:var(--border);background:var(--bg)}.participant-chip--locked input:disabled{cursor:default}.todo-form__hint{font-size:.75rem;color:var(--text-muted);margin-top:4px}.todo-item__creator,.todo-item__participants{padding:2px 8px;border-radius:10px;background:var(--bg-hover);font-size:.7rem}.todo-item__participants--all{color:var(--text-muted)}@media(max-width:640px){html,body,#root,.app-layout{height:auto;min-height:100vh;min-height:100dvh;overflow:auto}.app-layout{flex-direction:column}.workspace-sidebar,.workspace-sidebar--expanded{position:relative;width:100%;height:auto;min-height:auto;border-right:none;border-bottom:1px solid var(--border);padding:12px}.app-main--calendar{overflow-y:auto;min-height:60vh}.calendar-days{grid-template-rows:none;height:auto}.calendar-day{min-height:116px;height:auto}.workspace-sidebar__nav{flex:none;max-height:160px}.workspace-sidebar__divider--footer{margin-top:12px}}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.header__actions{display:flex;align-items:center;gap:10px}.user-menu{position:relative}.user-chip{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border:1px solid var(--border);border-radius:20px;background:var(--bg-card);cursor:pointer;font-family:inherit;font-size:.85rem;color:var(--text);transition:background .15s,box-shadow .15s}.user-chip:hover{background:var(--bg-hover);box-shadow:var(--shadow)}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:8px;z-index:100}.user-dropdown__info{padding:10px 12px;border-bottom:1px solid var(--border);margin-bottom:4px}.user-dropdown__name{font-weight:600;font-size:.9rem}.user-dropdown__hint{font-size:.75rem;color:var(--text-muted);margin-top:2px}.user-dropdown__btn{width:100%;padding:10px 12px;border:none;background:none;text-align:left;font-family:inherit;font-size:.85rem;color:var(--danger);cursor:pointer;border-radius:8px}.user-dropdown__btn:hover{background:var(--danger-light)}.auth-screen{height:100vh;height:100dvh;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth-card{width:100%;max-width:380px;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:36px 32px;box-shadow:var(--shadow-lg)}.auth-card__logo{width:56px;height:56px;margin:0 auto 16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:700}.auth-card__title{text-align:center;font-size:1.4rem;font-weight:700;margin-bottom:4px;letter-spacing:-.02em}.auth-card__sub{text-align:center;font-size:.85rem;color:var(--text-muted);margin-bottom:24px}.auth-tabs{display:flex;background:var(--bg);border-radius:10px;padding:3px;margin-bottom:20px}.auth-tab{flex:1;padding:8px;border:none;background:transparent;border-radius:8px;font-family:inherit;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.auth-tab--active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px #00000014;font-weight:500}.auth-field{margin-bottom:14px}.auth-field label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:6px;font-weight:500}.auth-field input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.95rem;box-sizing:border-box}.auth-field input:focus{outline:none;border-color:var(--accent)}.auth-submit{width:100%;padding:12px;border:none;border-radius:12px;background:var(--accent);color:#fff;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;margin-top:6px}.auth-submit:hover{background:var(--accent-hover)}.auth-error{color:var(--danger);font-size:.8rem;text-align:center;margin-top:12px}.auth-success{color:var(--success);font-size:.8rem;text-align:center;margin-top:12px}.auth-hint{text-align:center;font-size:.75rem;color:var(--text-muted);margin-top:16px}.header__brand{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.header__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent);color:#fff;border-radius:var(--radius);font-size:1.2rem;font-weight:700}.header__title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.theme-toggle{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:44px;height:44px;font-size:1.2rem;cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background:var(--bg-hover)}.settings-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:44px;height:44px;font-size:1.15rem;cursor:pointer;transition:background .15s,border-color .15s;display:flex;align-items:center;justify-content:center}.settings-btn:hover{background:var(--bg-hover)}.settings-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:20px;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-panel{width:100%;max-width:420px;max-height:85vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:20px}.settings-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.settings-panel__title{font-size:1.1rem;font-weight:700}.settings-panel__close{background:none;border:none;font-size:1.1rem;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.settings-panel__close:hover{background:var(--bg-hover);color:var(--text)}.settings-tabs{display:flex;background:var(--bg);border-radius:10px;padding:3px;margin-bottom:16px}.settings-tab{flex:1;padding:8px;border:none;background:transparent;border-radius:8px;font-family:inherit;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.settings-tab--active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px #00000014;font-weight:500}.settings-section{display:flex;flex-direction:column;gap:14px}.settings-hint{font-size:.78rem;color:var(--text-muted);line-height:1.4}.settings-subtitle{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}.settings-category-list{list-style:none;display:flex;flex-direction:column;gap:6px}.settings-category-list--scroll{max-height:220px;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.settings-category-list--scroll::-webkit-scrollbar{width:6px}.settings-category-list--scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.settings-panel--wide{max-width:440px}.settings-category-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem}.settings-category-item--default{color:var(--text-muted)}.settings-category-remove{background:none;border:none;color:var(--danger);font-family:inherit;font-size:.78rem;cursor:pointer;padding:2px 6px;border-radius:4px}.settings-category-remove:hover{background:var(--danger-light)}.settings-empty{font-size:.8rem;color:var(--text-muted);padding:8px 0}.settings-add-category{display:flex;gap:8px;margin-top:4px}.settings-add-category input{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:inherit;font-size:.9rem}.language-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.language-picker--auth{margin-bottom:20px}.language-picker__label{font-size:.85rem;font-weight:500;color:var(--text)}.theme-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.theme-picker__label{font-size:.85rem;font-weight:500;color:var(--text)}.theme-picker__toggle{flex-shrink:0}.theme-picker__toggle .view-toggle__btn{min-width:44px;padding:7px 14px;font-size:1rem;line-height:1}.settings-manage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.settings-manage-row__label{font-size:.85rem;font-weight:500;color:var(--text)}.settings-manage-row__btn{flex-shrink:0;min-width:72px;padding:7px 14px;font-size:.85rem}.settings-sub-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a59}.settings-sub-panel{width:min(100%,400px);max-height:min(88vh,640px);overflow-y:auto;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.settings-sub-panel__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.settings-sub-panel__title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.language-picker select{flex:1;max-width:160px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:.85rem}.btn--create-task{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}[data-theme=dark] .workspace-sidebar__create:hover{box-shadow:0 8px 22px #4f5a9659}[data-theme=dark] .workspace-sidebar,[data-theme=dark] .calendar-unscheduled-sidebar{background:var(--bg-elevated)}.view-toggle{display:flex;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow)}.view-toggle__btn{border:none;border-radius:999px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.82rem;padding:7px 14px;cursor:pointer}.view-toggle__btn--active{background:var(--accent);color:#fff}.todo-form-modal{max-width:720px;position:relative}.todo-form-modal__close{position:absolute;top:14px;right:14px;z-index:2}.todo-form-shell .todo-form__header{display:block;margin-bottom:12px}.todo-form-modal .todo-form__header{display:block;padding-right:36px}.todo-form-panel{transition:opacity .22s ease,transform .22s ease}.todo-form-panel--fade-out{opacity:0;transform:translateY(6px)}.todo-form-panel--fade-in{opacity:1;transform:translateY(0)}.todo-form__textarea--ai{min-height:240px;font-size:.95rem;line-height:1.6;resize:vertical}.todo-form__row--split{display:flex;gap:10px;align-items:center}.todo-form__error{color:var(--danger);font-size:.82rem;margin:0 0 8px}.ai-parse-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;width:100%;padding:8px 0 4px}.ai-parse-dino{width:min(100%,520px);display:flex;flex-direction:column;gap:8px}.ai-parse-dino__hud{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.82rem;color:var(--text-muted)}.ai-parse-dino__mode{font-size:.72rem;padding:2px 8px;border-radius:999px;background:#4f6ef71f;color:var(--accent);font-weight:600}.ai-parse-dino__canvas-wrap{position:relative}.ai-parse-dino__game-over{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f172a8c;border-radius:12px;color:#fff;font-size:1.35rem;font-weight:800;letter-spacing:.08em;animation:ai-game-over-pop .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ai-game-over-pop{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.settings-section--minigame{padding-top:0;border-top:none}.settings-minigame-row{display:flex;flex-direction:column;gap:8px}.settings-minigame-row__label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.settings-minigame-toggle{width:100%}.settings-minigame-toggle .view-toggle__btn{flex:1;font-size:.82rem}.settings-minigame-check{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none}.settings-minigame-check input{width:16px;height:16px;accent-color:var(--accent)}.ai-parse-dino__status{color:var(--accent);font-weight:600}.ai-parse-dino__elapsed{margin-left:auto;font-variant-numeric:tabular-nums}.ai-parse-dino__score{font-weight:600;color:#c58a00}.ai-parse-dino__canvas{width:100%;height:auto;border-radius:12px;background:#b8e4ff;border:2px solid rgba(74,154,66,.35);box-shadow:inset 0 0 0 2px #ffffff59;cursor:pointer;touch-action:manipulation;image-rendering:pixelated}[data-theme=dark] .ai-parse-dino__canvas{background:#1a3040;border-color:#6fbf5c66;box-shadow:inset 0 0 0 2px #ffffff0f}.ai-parse-dino__hint{margin:0;text-align:center;font-size:.78rem;color:var(--text-muted)}.ai-parse-loader__stage{width:72px;height:72px;display:flex;align-items:center;justify-content:center}.ai-parse-loader__ring{width:72px;height:72px;transform:rotate(-90deg)}.ai-parse-loader__track{fill:none;stroke:#4f6ef726;stroke-width:6}.ai-parse-loader__progress{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;stroke-dasharray:163.36;stroke-dashoffset:163.36;animation:ai-ring-fill 1.05s cubic-bezier(.4,0,.2,1) forwards}.ai-parse-loader__check{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#0ea5e9);color:#fff;font-size:1.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0ea5e959;animation:ai-check-pop .45s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes ai-ring-fill{to{stroke-dashoffset:0}}@keyframes ai-check-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.todo-form-modal .todo-form{box-shadow:none;border:none;padding:0;margin-bottom:0}.todo-form-modal .todo-form__header{display:block}.calendar-unscheduled-sidebar{position:sticky;top:0;align-self:flex-start;flex-shrink:0;width:220px;height:100vh;height:100dvh;background:var(--bg-card);border-left:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;padding:16px 12px;overflow:hidden;z-index:20}.calendar-unscheduled-sidebar__content{width:100%;height:100%;display:flex;flex-direction:column;gap:8px;overflow:hidden;min-height:0}.calendar-unscheduled-sidebar__title{font-size:.82rem;font-weight:700;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-unscheduled-sidebar__hint{font-size:.72rem;color:var(--text-muted);line-height:1.4;padding:0 6px}.calendar-unscheduled-sidebar__list{display:flex;flex-direction:column;gap:8px;padding:4px 2px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.calendar-unscheduled-sidebar__pager{flex-shrink:0;margin-top:auto;padding-top:8px}.calendar-unscheduled-sidebar__empty{color:var(--text-muted);font-size:.76rem;padding:8px 6px}.calendar-view{display:block;width:100%}.calendar-board{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden}.calendar-board__toolbar{display:flex;align-items:center;justify-content:center;gap:18px;padding:16px 18px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,var(--bg-card),var(--bg));position:relative;z-index:4}.calendar-board__nav{width:34px;height:34px;border:none;border-radius:50%;background:var(--accent);color:#fff;font-size:1.35rem;line-height:1;cursor:pointer;transition:background .15s ease}[data-theme=dark] .calendar-board__nav{background:#3b426b;color:var(--accent-text)}[data-theme=dark] .calendar-board__nav:hover{background:#4f5a96}.calendar-board__title{min-width:180px;text-align:center;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.calendar-board__title span{margin-right:8px;color:var(--text-muted)}.calendar-board__title strong{font-size:1.35rem;color:var(--accent)}[data-theme=dark] .calendar-board__title strong{color:var(--accent-text)}.calendar-grid__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.calendar-grid__weekday{padding:10px 8px;background:var(--accent);color:#fff;text-align:center;font-size:.74rem;font-weight:700}[data-theme=dark] .calendar-grid__weekday{background:var(--bg-elevated);color:var(--accent-text);border-bottom:1px solid var(--border)}.calendar-days-wrap{overflow:hidden;width:100%}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%}.calendar-days-wrap--leave-next .calendar-days,.calendar-days-wrap--leave-prev .calendar-days{animation-duration:.22s;animation-timing-function:ease;animation-fill-mode:forwards}.calendar-days-wrap--enter-next .calendar-days,.calendar-days-wrap--enter-prev .calendar-days{animation-duration:.3s;animation-timing-function:ease;animation-fill-mode:forwards}.calendar-days-wrap--leave-next .calendar-days{animation-name:calendar-leave-next}.calendar-days-wrap--leave-prev .calendar-days{animation-name:calendar-leave-prev}.calendar-days-wrap--enter-next .calendar-days{animation-name:calendar-enter-next}.calendar-days-wrap--enter-prev .calendar-days{animation-name:calendar-enter-prev}@keyframes calendar-leave-next{to{opacity:0}}@keyframes calendar-leave-prev{to{opacity:0}}@keyframes calendar-enter-next{0%{opacity:0}to{opacity:1}}@keyframes calendar-enter-prev{0%{opacity:0}to{opacity:1}}.calendar-day{min-width:0;min-height:116px;padding:8px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-card);transition:background-color .2s ease;overflow:hidden}.calendar-day:hover{background:#f8fafc}[data-theme=dark] .calendar-day{border-right:none;border-bottom:1px solid var(--border)}[data-theme=dark] .calendar-day:hover{background:#ffffff0a}.calendar-day--muted{background:var(--bg);color:var(--text-muted)}.calendar-day--today{box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-light)}.calendar-day__header{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px}.calendar-day__actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .2s ease}.calendar-day:hover .calendar-day__actions,.calendar-day__actions:has(.calendar-day__sort--active){opacity:1}.calendar-day__sort,.calendar-day__add{width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease}.calendar-day__sort{font-size:.82rem;font-weight:700}.calendar-day__add{font-size:1rem}.calendar-day__sort:hover,.calendar-day__sort--active,.calendar-day__add:hover{background:var(--bg-hover);color:var(--accent)}[data-theme=dark] .calendar-board{border-color:var(--border);box-shadow:var(--shadow-lg)}[data-theme=dark] .calendar-board__toolbar{background:var(--bg-elevated);border-bottom-color:var(--border)}[data-theme=dark] .calendar-day{background:var(--bg-card)}[data-theme=dark] .calendar-day--muted{background:#1e2130;color:var(--text-muted)}[data-theme=dark] .calendar-day--today{background:#4f5a961f;box-shadow:inset 0 0 0 1px #9aa8d459}[data-theme=dark] .calendar-day__number{color:var(--text)}.calendar-day__number{font-size:.78rem;font-weight:700;text-align:left}.calendar-day__items{display:flex;flex-direction:column;gap:5px;min-width:0}.calendar-task{width:100%;max-width:100%;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:6px;border:1px solid var(--border);border-left:4px solid var(--priority-medium);border-radius:8px;background:var(--bg);color:var(--text);padding:5px 7px;font-family:inherit;font-size:.72rem;text-align:left;cursor:grab;transition:transform .15s ease,box-shadow .15s ease}.calendar-task:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}[data-theme=dark] .calendar-task:hover{box-shadow:0 4px 8px #00000040}[data-theme=dark] .calendar-task{border:none;border-radius:4px;background:#9aa8d41f;color:var(--accent-text)}[data-theme=dark] .calendar-task--high{background:#f8717133;color:#fca5a5}[data-theme=dark] .calendar-task--medium{background:#fbbf2433;color:#fcd34d}[data-theme=dark] .calendar-task--low{background:#48bb7833;color:#9ae6b4}[data-theme=dark] .calendar-unscheduled-sidebar .calendar-task--high{background:#f8717133;color:#fca5a5}[data-theme=dark] .calendar-unscheduled-sidebar .calendar-task--medium{background:#fbbf2433;color:#fcd34d}[data-theme=dark] .calendar-unscheduled-sidebar .calendar-task--low{background:#48bb7833;color:#9ae6b4}[data-theme=dark] .calendar-task--done{opacity:.55}.calendar-task:active{cursor:grabbing}.calendar-task--ghost{opacity:.45}.calendar-task--dragging-source{box-shadow:0 8px 18px #0000001f}.calendar-task-wrap{position:relative;min-width:0}.calendar-task__drop-line{height:2px;background:var(--accent);border-radius:2px;margin:2px 0;flex-shrink:0}.calendar-task__drop-line--empty{margin:4px 0}.calendar-day--drop-target .calendar-day__items{min-height:28px}.calendar-day__pager{display:flex;align-items:center;justify-content:center;gap:2px;margin-top:2px;padding-top:2px;min-width:0;max-width:100%}.calendar-day__pager-nav{width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.85rem;line-height:1;cursor:pointer;flex-shrink:0}.calendar-day__pager-nav:hover:not(:disabled){background:var(--bg-hover);color:var(--text)}.calendar-day__pager-nav:disabled{opacity:.35;cursor:default}.calendar-day__pager-pages{display:flex;align-items:center;gap:2px}.calendar-day__pager-page{min-width:20px;height:20px;padding:0 4px;border:none;border-radius:5px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:.68rem;font-weight:600;line-height:1;cursor:pointer}.calendar-day__pager-page:hover{background:var(--bg-hover);color:var(--text)}.calendar-day__pager-page--active{background:var(--accent-light);color:var(--accent)}[data-theme=dark] .calendar-day__pager-page--active{background:#4f5a9647;color:var(--accent-text)}.calendar-date-picker{position:relative}.calendar-board__title-btn{border:none;background:transparent;cursor:pointer;font-family:inherit;padding:4px 8px;border-radius:8px;transition:background .15s ease}.calendar-board__title-btn:hover,.calendar-board__title-btn--open{background:var(--bg-hover)}.calendar-board__title-btn strong{font-size:1.35rem;color:var(--accent)}[data-theme=dark] .calendar-board__title-btn strong{color:var(--accent-text)}.calendar-date-picker__dropdown{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:30;width:min(320px,92vw);padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg)}.calendar-date-picker__toolbar{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px}.calendar-date-picker__title{border:none;background:transparent;font-family:inherit;font-size:.95rem;font-weight:700;color:var(--text);cursor:pointer;padding:4px 8px;border-radius:6px}.calendar-date-picker__title:hover{background:var(--bg-hover)}.calendar-date-picker__nav{width:28px;height:28px;border:none;border-radius:50%;background:var(--bg);color:var(--accent);font-size:1.1rem;line-height:1;cursor:pointer}.calendar-date-picker__nav:hover{background:var(--bg-hover)}.calendar-date-picker__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.calendar-date-picker__grid--years{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-date-picker__cell{border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.8rem;padding:10px 6px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.calendar-date-picker__cell:hover{background:var(--bg-hover)}.calendar-date-picker__cell--active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.calendar-day-sort{position:fixed;z-index:190;max-height:320px;overflow:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:10px}.calendar-day-sort__header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.78rem}.calendar-day-sort__header strong{color:var(--text)}.calendar-day-sort__header span{color:var(--text-muted);white-space:nowrap}.calendar-day-sort__hint{margin:0 0 8px;font-size:.68rem;color:var(--text-muted);line-height:1.4}.calendar-day-sort__list{display:flex;flex-direction:column;gap:5px}.calendar-day-overflow{position:fixed;z-index:180;width:240px;max-height:280px;overflow:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);padding:10px}.calendar-day-overflow__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.78rem;color:var(--text-muted)}.calendar-day-overflow__list{list-style:none;display:flex;flex-direction:column;gap:6px}.calendar-day-overflow__item{width:100%;display:flex;align-items:center;gap:8px;border:none;border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:.8rem;text-align:left;padding:8px 10px;cursor:pointer}.calendar-day-overflow__item:hover{background:var(--bg-hover)}.calendar-day-overflow__item--done{opacity:.6;text-decoration:line-through}.calendar-day-overflow__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.calendar-day-overflow__dot--high{background:var(--priority-high)}.calendar-day-overflow__dot--medium{background:var(--priority-medium)}.calendar-day-overflow__dot--low{background:var(--priority-low)}.calendar-task-preview{position:fixed;z-index:190;width:260px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transform:translateY(5px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.calendar-task-preview--visible{opacity:1;transform:translateY(0)}.calendar-task-preview__header{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:.88rem}.calendar-task-preview__dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.calendar-task-preview__dot--high{background:var(--priority-high)}.calendar-task-preview__dot--medium{background:var(--priority-medium)}.calendar-task-preview__dot--low{background:var(--priority-low)}.calendar-task-preview__desc{font-size:.78rem;color:var(--text-muted);line-height:1.45;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.calendar-task-preview__footer{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem;color:var(--text-muted)}.calendar-task-preview__follow-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent-light);color:var(--accent);font-size:.65rem;font-weight:700;line-height:1;flex-shrink:0}[data-theme=dark] .calendar-task-preview__follow-badge{background:#4f5a9647;color:var(--accent-text)}.calendar-task-preview__category{min-width:0}.calendar-task span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.calendar-task--high{border-left-color:var(--priority-high)}.calendar-task--medium{border-left-color:var(--priority-medium)}.calendar-task--low{border-left-color:var(--priority-low)}.calendar-task--done{opacity:.6;text-decoration:line-through;border-left-color:#7dd3fc!important}.calendar-task--floating{background:var(--bg-card);box-shadow:var(--shadow)}.task-detail-modal{position:relative;width:min(560px,92vw);max-height:85vh;overflow-y:auto;background:var(--bg-card);border-radius:18px;box-shadow:var(--shadow-lg);padding:20px 24px 24px}.task-detail-modal--high{border-top:3px solid var(--priority-high)}.task-detail-modal--medium{border-top:3px solid var(--priority-medium)}.task-detail-modal--low{border-top:3px solid var(--priority-low)}.task-detail-modal__topbar{display:flex;justify-content:flex-end;margin-bottom:8px}.task-detail-modal__close{width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;transition:background .15s ease}.task-detail-modal__close:hover{background:var(--bg-hover)}.task-detail-modal__hero{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.task-detail-modal__checkbox{flex-shrink:0;width:28px;height:28px;border:2px solid var(--border);border-radius:50%;background:var(--bg-card);color:#fff;font-size:.85rem;cursor:pointer;transition:border-color .15s,background .15s}.task-detail-modal__checkbox:hover{border-color:var(--accent)}.task-detail-modal__checkbox--checked{background:var(--success);border-color:var(--success)}.task-detail-modal__title{flex:1;font-size:1.35rem;font-weight:700;line-height:1.35;display:flex;align-items:flex-start;gap:10px}.task-detail-modal__title--done{text-decoration:line-through;opacity:.65}.task-detail-modal__priority-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;margin-top:8px}.task-detail-modal__priority-dot--high{background:var(--priority-high)}.task-detail-modal__priority-dot--medium{background:var(--priority-medium)}.task-detail-modal__priority-dot--low{background:var(--priority-low)}.task-detail-modal__tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.task-detail-modal__tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;background:var(--bg);border:1px solid var(--border);font-size:.78rem;color:var(--text-muted)}.task-detail-modal__tag--high{color:var(--priority-high);border-color:#ef444440;background:#ef444414}.task-detail-modal__tag--medium{color:var(--priority-medium);border-color:#f59e0b40;background:#f59e0b14}.task-detail-modal__tag--low{color:var(--priority-low);border-color:#10b98140;background:#10b98114}.task-detail-modal__description{font-size:.92rem;line-height:1.6;color:var(--text-muted);margin-bottom:20px;white-space:pre-wrap}[data-theme=dark] .task-detail-modal__description{color:#9ca3af}.task-detail-modal__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.task-detail-modal__icon-btn{width:38px;height:38px;border:none;border-radius:10px;background:var(--bg);font-size:1rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.task-detail-modal__icon-btn:hover{background:var(--bg-hover);transform:translateY(-1px)}.task-detail-modal__icon-btn--active,.task-detail-modal__icon-btn--has{background:var(--accent-light);color:var(--accent)}.task-detail-modal__icon-btn--danger:hover{background:var(--danger-light)}.task-detail-modal__form{display:flex;flex-direction:column;gap:16px}.task-detail-modal__title-input{width:100%;border:none;border-bottom:2px solid var(--border);background:transparent;color:var(--text);font-family:inherit;font-size:1.25rem;font-weight:700;padding:8px 4px;outline:none;transition:border-color .15s ease}.task-detail-modal__title-input:focus{border-bottom-color:var(--accent)}.task-detail-modal__notes-input{width:100%;border:none;border-radius:10px;background:#f3f4f6;color:var(--text);font-family:inherit;font-size:.9rem;padding:12px 14px;resize:vertical;outline:none;transition:background .15s ease}[data-theme=dark] .task-detail-modal__notes-input{background:#ffffff0f}.task-detail-modal__edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.task-detail-modal__field{display:flex;flex-direction:column;gap:6px}.task-detail-modal__field-label{font-size:.72rem;color:var(--text-muted);font-weight:500}.task-detail-modal__field select,.task-detail-modal__field input[type=date]{width:100%;padding:9px 10px;border:none;border-radius:8px;background:#f3f4f6;color:var(--text);font-family:inherit;font-size:.85rem;outline:none}[data-theme=dark] .task-detail-modal__field select,[data-theme=dark] .task-detail-modal__field input[type=date]{background:#ffffff0f}.task-detail-modal__edit-footer{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.month-stats{display:flex;flex-direction:column;gap:16px}.month-nav{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.month-nav__btn{width:36px;height:36px;border:none;border-radius:50%;background:var(--bg);color:var(--accent);font-size:1.4rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.month-nav__btn:hover:not(:disabled){background:var(--bg-hover)}.month-nav__btn:disabled{opacity:.3;cursor:default}.month-nav__label{font-size:1rem;font-weight:600;letter-spacing:-.02em}.month-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--bg);border-radius:14px;padding:14px 10px}.month-summary__card{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.month-summary__value{font-size:1.5rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.month-summary__label{font-size:.68rem;color:var(--text-muted);font-weight:500}.chart-legend{display:flex;justify-content:center;gap:16px;font-size:.72rem;color:var(--text-muted)}.chart-legend__item{display:flex;align-items:center;gap:5px}.chart-legend__dot{display:inline-block;width:8px;height:8px;border-radius:50%}.chart-legend__dot--added{background:#007aff}.chart-legend__dot--active{background:#ff9500}.chart-legend__dot--completed{background:#34c759}.chart-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 6px;scrollbar-width:thin}.chart-scroll::-webkit-scrollbar{height:6px}.chart-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.chart-bars{display:flex;align-items:flex-end;gap:3px;min-width:min-content;height:118px;padding-top:8px}.chart-day{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:20px;flex-shrink:0}.chart-day__bars{display:flex;align-items:flex-end;gap:2px;height:88px}.chart-bar{width:5px;border-radius:3px 3px 0 0;min-height:2px;transition:height .2s ease}.chart-bar--added{background:#007aff}.chart-bar--active{background:#ff9500}.chart-bar--completed{background:#34c759}.chart-day__label{font-size:.62rem;color:var(--text-muted);font-variant-numeric:tabular-nums}[data-theme=dark] .chart-bar--added{background:#0a84ff}[data-theme=dark] .chart-bar--active{background:#ff9f0a}[data-theme=dark] .chart-bar--completed{background:#30d158}.stats-panel{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);transition:border-color .15s}.stat-card--overdue{border-color:var(--danger);background:var(--danger-light)}.stat-card__icon{font-size:1.3rem}.stat-card__value{display:block;font-size:1.4rem;font-weight:700;line-height:1.2}.stat-card__label{display:block;font-size:.75rem;color:var(--text-muted)}.todo-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}.todo-form__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.todo-form__title{font-size:1rem;font-weight:600}.todo-form__row{margin-bottom:12px}.todo-form__row--inline{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:start}.todo-form__row--actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:0}.todo-form__input,.todo-form__textarea,.todo-form__field select,.todo-form__field input[type=date],.todo-form__new-category input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:inherit;font-size:.9rem;transition:border-color .15s;box-sizing:border-box}.todo-form__field select,.todo-form__field input[type=date]{height:42px;min-height:42px}.todo-form__input:focus,.todo-form__textarea:focus,.todo-form__field select:focus,.todo-form__field input[type=date]:focus,.todo-form__new-category input:focus{outline:none;border-color:var(--accent)}.todo-form__textarea{resize:vertical;min-height:72px}.todo-form__field{display:flex;flex-direction:column;gap:4px;min-width:0}.todo-form__label{font-size:.75rem;color:var(--text-muted);font-weight:500}.todo-form__checkbox{display:flex;align-items:center;gap:6px;font-size:.875rem;cursor:pointer;padding-bottom:10px}.todo-form__new-category{display:flex;gap:8px;align-items:center}.todo-form__new-category input{width:160px}.btn{padding:8px 16px;border-radius:var(--radius-sm);font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn--ghost:hover{background:var(--bg-hover);color:var(--text)}.search-bar{position:relative;margin-bottom:16px}.search-bar__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem;pointer-events:none}.search-bar__input{width:100%;padding:10px 36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:.9rem;box-shadow:var(--shadow);transition:border-color .15s}.search-bar__input:focus{outline:none;border-color:var(--accent)}.search-bar__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:4px}.filter-bar{margin-bottom:16px}.filter-bar__tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.filter-tab{padding:6px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);font-family:inherit;font-size:.8rem;cursor:pointer;transition:all .15s}.filter-tab:hover{background:var(--bg-hover);color:var(--text)}.filter-tab--active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-bar__controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.filter-control{display:flex;align-items:center;gap:6px;font-size:.8rem}.filter-control__label{color:var(--text-muted);white-space:nowrap}.filter-control select{padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-family:inherit;font-size:.8rem}.sort-order-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);font-size:1rem;cursor:pointer;transition:background .15s}.sort-order-btn:hover{background:var(--bg-hover)}.todo-list{list-style:none;display:flex;flex-direction:column;gap:12px}.todo-list>li{min-width:0}.todo-item{display:flex;align-items:flex-start;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.todo-item:hover{box-shadow:var(--shadow-lg)}.todo-item--completed{opacity:.65}.todo-item--completed .todo-item__title{text-decoration:line-through;color:var(--text-muted)}.todo-item--overdue{border-color:var(--danger);background:var(--danger-light)}.todo-item--pinned{border-color:var(--accent)}.todo-item__status-bar{position:absolute;left:0;top:0;bottom:0;width:4px}.todo-item__status-bar--completed{background:#7dd3fc}.todo-item__status-bar--active{background:#fde047}.todo-item__status-bar--week{background:#f59e0b}.todo-item__status-bar--overdue{background:#ef4444}.todo-item__checkbox{flex-shrink:0;width:22px;height:22px;border:2px solid var(--border);border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;transition:all .15s;margin-top:2px}.todo-item__checkbox:hover{border-color:var(--accent)}.todo-item__checkbox--checked{background:var(--accent);border-color:var(--accent)}.todo-item__content{flex:1;min-width:0;position:relative}.todo-item--editing{border-color:var(--accent)}.todo-item--editing .todo-item__toolbar{display:none}.todo-item--editing .todo-item__inline-form{width:100%}.todo-item__toolbar{display:flex;align-items:flex-start;gap:4px;flex-shrink:0}.todo-item__tool-btn{min-width:28px;height:28px;padding:0 6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center}.todo-item__follow-btn:hover,.todo-item__follow-btn--active,.todo-item__follow-btn--has,.todo-item__participants-btn:hover,.todo-item__participants-btn--active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.todo-item__participants-btn{font-size:.9rem}.participants-modal{width:100%;max-width:400px;max-height:85vh;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.participants-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border)}.participants-modal__header--compact{justify-content:flex-end;padding:10px 12px 0;border-bottom:none}.participants-modal__header-main{min-width:0}.participants-modal__title{font-size:1.05rem;font-weight:700}.participants-modal__subtitle{font-size:.8rem;color:var(--text-muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participants-modal__body{padding:16px 20px;overflow-y:auto}.participants-modal__hint{font-size:.78rem;color:var(--text-muted);line-height:1.4;margin-bottom:10px}.participants-modal__mode{font-size:.78rem;font-weight:500;color:var(--accent);margin-bottom:10px}.participants-modal__list{list-style:none;display:flex;flex-direction:column;gap:6px}.participants-modal__list-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem}.participants-modal__list-item--all{color:var(--text-muted);justify-content:center}.participants-modal__role{font-size:.72rem;color:var(--text-muted)}.participants-modal__footer{padding:12px 20px 16px;border-top:1px solid var(--border)}.participants-modal__footer .btn{width:100%}.todo-item__inline-form{display:flex;flex-direction:column;gap:8px}.todo-item__inline-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:start}.todo-item__inline-field{display:flex;flex-direction:column;gap:4px;min-width:0}.todo-item__inline-label{font-size:.75rem;color:var(--text-muted)}.todo-item__inline-row select,.todo-item__inline-row input[type=date]{width:100%;height:42px;min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:inherit;font-size:.85rem;box-sizing:border-box}.todo-item__inline-actions{display:flex;gap:8px}.followup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:210;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.followup-modal{width:100%;max-width:520px;max-height:min(640px,88vh);display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden}.followup-modal__header{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid var(--border)}.followup-modal__header-main{min-width:0;flex:1}.followup-modal__title{font-size:1.05rem;font-weight:700;line-height:1.35;word-break:break-word}.followup-modal__subtitle{margin-top:4px;font-size:.78rem;color:var(--text-muted)}.followup-modal__close{flex-shrink:0;background:none;border:none;font-size:1.1rem;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm)}.followup-modal__close:hover{background:var(--bg-hover);color:var(--text)}.followup-modal__body{flex:1;min-height:0;overflow-y:auto;padding:16px 20px;scrollbar-width:thin}.followup-modal__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:160px;text-align:center;color:var(--text-muted);font-size:.85rem}.followup-modal__empty-icon{font-size:2rem;opacity:.5}.followup-comments{list-style:none;display:flex;flex-direction:column;gap:16px;margin:0}.followup-comment{display:flex;gap:12px;align-items:flex-start}.followup-comment__avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;font-weight:700}.followup-comment__main{flex:1;min-width:0}.followup-comment__meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-bottom:4px}.followup-comment__author{font-size:.82rem;font-weight:600;color:var(--text)}.followup-comment__time{font-size:.72rem;color:var(--text-muted)}.followup-comment__delete{margin-left:auto;background:none;border:none;color:var(--text-muted);font-family:inherit;font-size:.75rem;line-height:1;cursor:pointer;padding:2px 5px;border-radius:4px;opacity:0;transition:opacity .15s}.followup-comment:hover .followup-comment__delete{opacity:1}.followup-comment__delete:hover{color:var(--danger);background:var(--danger-light)}@media(hover:none){.followup-comment__delete{opacity:1}}.followup-comment__content{font-size:.88rem;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text)}.followup-modal__footer{flex-shrink:0;display:flex;flex-direction:column;gap:10px;padding:14px 20px 18px;border-top:1px solid var(--border);background:var(--bg)}.followup-modal__input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.45;resize:none;max-height:120px;overflow-y:auto}.followup-modal__input:focus{outline:none;border-color:var(--accent)}.followup-modal__actions{display:flex;justify-content:flex-end}.todo-item__header{display:flex;align-items:center;gap:6px}.todo-item__title{font-size:.95rem;font-weight:600;word-break:break-word}.todo-item__pin-badge{font-size:.8rem}.todo-item__description{font-size:.85rem;color:var(--text-muted);margin-top:4px;white-space:pre-wrap;word-break:break-word}.todo-item__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:.75rem}.todo-item__priority-label{padding:2px 8px;border-radius:10px;font-weight:500}.todo-item__priority-label--high{background:#ef444426;color:var(--priority-high)}.todo-item__priority-label--medium{background:#f59e0b26;color:var(--priority-medium)}.todo-item__priority-label--low{background:#10b98126;color:var(--priority-low)}.todo-item__category{padding:2px 8px;border-radius:10px;background:var(--accent-light);color:var(--accent)}.date-bubble{padding:3px 10px;border-radius:12px;font-weight:600;font-size:.75rem}.date-bubble--red{background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.35)}.date-bubble--orange{background:#f59e0b26;color:#d97706;border:1px solid rgba(245,158,11,.35)}.date-bubble--green{background:#10b98126;color:#059669;border:1px solid rgba(16,185,129,.35)}.date-bubble--gray{background:#6b72801f;color:#6b7280;border:1px solid rgba(107,114,128,.25)}[data-theme=dark] .date-bubble--red{color:#f87171}[data-theme=dark] .date-bubble--orange{color:#fbbf24}[data-theme=dark] .date-bubble--green{color:#34d399}[data-theme=dark] .date-bubble--gray{color:#9ca3af}.show-completed-switch{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:118px;height:34px;padding:3px 6px;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);box-shadow:var(--shadow);font-family:inherit;cursor:pointer;transform-origin:center right;overflow:hidden;transition:transform .22s cubic-bezier(.4,0,.2,1),opacity .22s cubic-bezier(.4,0,.2,1),max-width .22s cubic-bezier(.4,0,.2,1),margin .22s cubic-bezier(.4,0,.2,1),border-color .2s;max-width:140px}.show-completed-switch__fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transform-origin:left center;transform:scaleX(0);transition:transform .34s cubic-bezier(.4,0,.2,1),background .28s ease;pointer-events:none;z-index:0}.show-completed-switch__thumb{position:absolute;top:50%;left:4px;width:26px;height:26px;border-radius:50%;transform:translateY(-50%);transition:left .34s cubic-bezier(.4,0,.2,1),background .28s ease,box-shadow .28s ease,opacity .28s ease;pointer-events:none;z-index:2}.show-completed-switch__label{position:relative;z-index:1;font-size:.78rem;font-weight:500;white-space:nowrap;transition:color .28s ease,padding .34s ease}.show-completed-switch--off .show-completed-switch__fill{transform:scaleX(0)}.show-completed-switch--off .show-completed-switch__thumb{left:4px;opacity:1;background:#6b728061;box-shadow:0 0 0 1px #6b728024}.show-completed-switch--off .show-completed-switch__label{color:#6b7280;padding-left:22px;padding-right:6px}.show-completed-switch--off{border-color:#6b728040}.show-completed-switch--on .show-completed-switch__fill{transform:scaleX(1);background:linear-gradient(90deg,#38bdf8d1,#0ea5e9eb)}.show-completed-switch--on .show-completed-switch__thumb{left:calc(100% - 30px);opacity:.92;background:#ffffffb8;box-shadow:0 1px 4px #0284c759}.show-completed-switch--on .show-completed-switch__label{color:#fff;padding-left:10px;padding-right:24px;text-shadow:0 1px 2px rgba(2,132,199,.25)}.show-completed-switch--on{border-color:#0ea5e9a6}.show-completed-switch--hidden{transform:scale(0);opacity:0;max-width:0;min-width:0;padding-left:0;padding-right:0;margin-left:-10px;pointer-events:none}.show-completed-switch--visible{transform:scale(1);opacity:1;max-width:140px;margin-left:0;pointer-events:auto}.show-completed-switch:hover{box-shadow:var(--shadow-lg)}[data-theme=dark] .show-completed-switch--off .show-completed-switch__thumb{background:#9ca3af6b;box-shadow:0 0 0 1px #9ca3af2e}[data-theme=dark] .show-completed-switch--off .show-completed-switch__label{color:#9ca3af}[data-theme=dark] .show-completed-switch--on .show-completed-switch__fill{background:linear-gradient(90deg,#38bdf8b8,#0ea5e9e0)}[data-theme=dark] .show-completed-switch--on .show-completed-switch__thumb{background:#ffffffa6;box-shadow:0 1px 5px #0ea5e973}[data-theme=dark] .show-completed-switch--on .show-completed-switch__label{color:#f0f9ff;text-shadow:0 1px 3px rgba(3,105,161,.45)}[data-theme=dark] .show-completed-switch--on{border-color:#38bdf88c}.celebrate-particle{position:fixed;z-index:9999;pointer-events:none;font-size:1.1rem;animation:celebrate-fly .9s ease-out forwards}@keyframes celebrate-fly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.4)}}.todo-item__checkbox--celebrate{animation:checkbox-pop .4s ease}@keyframes checkbox-pop{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.todo-item__action{background:var(--bg-card);border:1px solid var(--border);opacity:.85;font-size:1rem;padding:0 4px;transition:opacity .15s,background .15s,border-color .15s}.todo-item__action:hover{opacity:1;background:var(--bg-hover)}.todo-item__action--delete:hover{background:var(--danger-light)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state__icon{font-size:2.5rem;display:block;margin-bottom:12px}.empty-state__text{font-size:.95rem}.category-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.category-stat{padding:4px 12px;border-radius:20px;background:var(--bg-card);border:1px solid var(--border);font-size:.8rem;color:var(--text-muted)}.category-stat strong{color:var(--text);margin-left:4px}@media(max-width:700px){.stats-panel{grid-template-columns:repeat(3,1fr)}.stat-card:nth-child(4),.stat-card:nth-child(5){grid-column:span 1}.btn--create-task{padding:18px 36px;font-size:1.35rem}.todo-list,.task-detail-modal__edit-grid{grid-template-columns:1fr}.calendar-unscheduled-sidebar{position:relative;width:100%;height:auto;border-left:none;border-top:1px solid var(--border)}.calendar-unscheduled-sidebar__list{flex:none;max-height:240px;overflow-y:auto}.app-layout--calendar{flex-direction:column}.app-main--calendar{padding-right:2px}.calendar-days,.calendar-grid__weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}}@media(max-width:480px){.app{padding:16px 12px 32px}.stats-panel{grid-template-columns:repeat(2,1fr)}.todo-form__row--inline,.todo-item__inline-row{grid-template-columns:1fr}.todo-item__toolbar{flex-direction:column}}@keyframes anim-ambient-glow{0%,to{transform:translate(0) scale(1);opacity:.45}33%{transform:translate(4%,-3%) scale(1.06);opacity:.55}66%{transform:translate(-3%,4%) scale(.96);opacity:.4}}@keyframes anim-page-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes anim-auth-enter{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes anim-header-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes anim-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes anim-settings-overlay{0%{opacity:0}to{opacity:1}}@keyframes anim-settings-panel{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes anim-todo-enter{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes anim-detail-expand{0%{opacity:0;max-height:0;transform:translateY(-6px)}to{opacity:1;max-height:400px;transform:translateY(0)}}@keyframes anim-dropdown-enter{0%{opacity:0;transform:translateY(-6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes anim-empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes anim-month-switch{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes anim-chart-bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes anim-theme-flip{0%{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes anim-search-glow{0%,to{box-shadow:var(--shadow)}50%{box-shadow:0 0 0 3px #4f6ef726,var(--shadow)}}body:before,body:after{content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0;filter:blur(80px);animation:anim-ambient-glow 18s ease-in-out infinite}body:before{width:420px;height:420px;top:-120px;right:-80px;background:radial-gradient(circle,rgba(79,110,247,.18),transparent 70%)}body:after{width:360px;height:360px;bottom:-100px;left:-60px;background:radial-gradient(circle,rgba(118,75,162,.14),transparent 70%);animation-delay:-9s}#root,.app{position:relative;z-index:1}.auth-screen{animation:anim-page-enter .5s cubic-bezier(.22,1,.36,1) both}.auth-card{animation:anim-auth-enter .6s cubic-bezier(.22,1,.36,1) .08s both}.app--login-enter,.app-layout--login-enter .app-main{animation:anim-page-enter .55s cubic-bezier(.22,1,.36,1) both}.app--login-enter .header{animation:anim-header-enter .5s cubic-bezier(.22,1,.36,1) .05s both}.app--login-enter .stats-panel .stat-card{animation:anim-fade-up .45s cubic-bezier(.22,1,.36,1) both}.app--login-enter .stats-panel .stat-card:nth-child(1){animation-delay:.08s}.app--login-enter .stats-panel .stat-card:nth-child(2){animation-delay:.12s}.app--login-enter .stats-panel .stat-card:nth-child(3){animation-delay:.16s}.app--login-enter .stats-panel .stat-card:nth-child(4){animation-delay:.2s}.app--login-enter .stats-panel .stat-card:nth-child(5){animation-delay:.24s}.stat-card{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.app--login-enter .todo-form,.app--login-enter .search-bar,.app--login-enter .filter-bar{animation:anim-fade-up .5s cubic-bezier(.22,1,.36,1) .15s both}.settings-overlay{animation:anim-settings-overlay .25s ease both}.settings-panel{animation:anim-settings-panel .4s cubic-bezier(.22,1,.36,1) both}.todo-item{transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,border-color .2s ease}.app--login-enter .todo-item{animation:anim-todo-enter .4s cubic-bezier(.22,1,.36,1) both}.app--login-enter .todo-list>li:nth-child(1) .todo-item{animation-delay:.02s}.app--login-enter .todo-list>li:nth-child(2) .todo-item{animation-delay:.05s}.app--login-enter .todo-list>li:nth-child(3) .todo-item{animation-delay:.08s}.app--login-enter .todo-list>li:nth-child(4) .todo-item{animation-delay:.11s}.app--login-enter .todo-list>li:nth-child(5) .todo-item{animation-delay:.14s}.app--login-enter .todo-list>li:nth-child(6) .todo-item{animation-delay:.17s}.app--login-enter .todo-list>li:nth-child(7) .todo-item{animation-delay:.2s}.app--login-enter .todo-list>li:nth-child(8) .todo-item{animation-delay:.23s}.todo-item:hover:not(.todo-item--editing){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.followup-overlay{animation:anim-settings-overlay .25s ease both}.followup-modal{animation:anim-settings-panel .4s cubic-bezier(.22,1,.36,1) both}.user-dropdown{animation:anim-dropdown-enter .28s cubic-bezier(.22,1,.36,1) both;transform-origin:top right}.empty-state__icon{animation:anim-empty-float 3s ease-in-out infinite}.app--login-enter .month-stats{animation:anim-month-switch .35s cubic-bezier(.22,1,.36,1) both}.app--login-enter .chart-bar{transform-origin:bottom center;animation:anim-chart-bar-grow .5s cubic-bezier(.22,1,.36,1) both}.app--login-enter .chart-day:nth-child(odd) .chart-bar{animation-delay:.02s}.app--login-enter .chart-day:nth-child(2n) .chart-bar{animation-delay:.05s}.theme-toggle{transition:transform .2s ease,background .15s}.theme-toggle:active,.settings-btn:active,.btn:active,.filter-tab:active,.auth-tab:active{transform:scale(.94);transition:transform .1s ease}.theme-toggle--spin{animation:anim-theme-flip .4s cubic-bezier(.22,1,.36,1) both}.filter-tab{transition:background .25s ease,color .25s ease,transform .2s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.filter-tab--active{transform:scale(1.04)}.filter-tab:hover:not(.filter-tab--active){transform:translateY(-1px)}.search-bar__input:focus{animation:anim-search-glow 2s ease-in-out infinite}.settings-tab,.settings-period-tab,.month-nav__btn{transition:background .2s ease,color .2s ease,transform .2s cubic-bezier(.22,1,.36,1)}.settings-tab--active,.settings-period-tab--active{transform:scale(1.02)}.auth-tab{transition:all .25s cubic-bezier(.22,1,.36,1)}.auth-tab--active{transform:scale(1.02)}.btn,.auth-submit{transition:background .2s ease,transform .15s cubic-bezier(.22,1,.36,1),box-shadow .2s ease}.btn--primary:hover,.auth-submit:hover{transform:translateY(-1px);box-shadow:0 4px 14px #4f6ef740}.month-summary__card{transition:transform .25s ease}.month-summary__card:hover{transform:scale(1.04)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
