.inline-edit-row{display:flex;gap:var(--space-3);align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);transition:all var(--transition-base);cursor:text}.inline-edit-row:focus-within{border-color:var(--accent)}.inline-edit-input{flex:1;background:transparent;border:none;font-size:.9rem;color:var(--text-primary);font-family:inherit;outline:none;box-shadow:none;min-width:0}.inline-edit-input:focus-visible{outline:none}.inline-edit-input::placeholder{color:var(--text-muted)}.tag-edit-input-short{position:relative;width:fit-content;max-width:320px}.tag-edit-input-short .inline-edit-input{width:180px;flex:none}.tag-suggestions-modal{position:absolute;top:100%;left:0;right:0;z-index:10;margin-top:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto}.subtasks-list .inline-subtask{padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-md);border-bottom:1px solid var(--border-subtle);user-select:none;-webkit-user-select:none}.subtasks-list .inline-subtask:last-child{border-bottom:none}.inline-edit-enter-hint{font-size:.72rem;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px 8px;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none;pointer-events:none}.inline-add-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:all var(--transition-base);padding:0}.inline-add-btn:hover{background:var(--accent);color:var(--bg-primary);border-color:var(--accent)}.inline-add-btn:active{transform:scale(.92)}.inline-subtask-title{user-select:none;-webkit-user-select:none;cursor:default}.subtasks-list .inline-subtask.completed .inline-subtask-title{text-decoration:line-through;color:var(--text-tertiary)}.subtask-edit{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:2px;opacity:0;transition:opacity .15s,color .15s}.inline-subtask:hover .subtask-edit{opacity:1}.subtask-edit:hover{color:var(--text-secondary)}.inline-subtask-edit-input{flex:1;min-width:0}.rdp-root{--rdp-accent-color: var(--accent);--rdp-accent-background-color: var(--accent-glow);--rdp-day-height: 30px;--rdp-day-width: 30px;--rdp-day_button-height: 28px;--rdp-day_button-width: 28px;--rdp-day_button-border-radius: 6px;--rdp-day_button-border: none;--rdp-nav_button-height: 24px;--rdp-nav_button-width: 24px;--rdp-nav-height: 2rem;font-family:inherit;color:var(--text-primary);font-size:.8rem}.rdp-month{gap:0;width:100%}.rdp-months{gap:0;max-width:none!important}.rdp-month_grid{margin:0 auto}.rdp-nav{gap:4px}.rdp-button_previous,.rdp-button_next{border:1px solid var(--border-default)!important;background:transparent!important;cursor:pointer;border-radius:6px;width:24px!important;height:24px!important;padding:0;display:inline-flex;align-items:center;justify-content:center}.rdp-button_previous:hover,.rdp-button_next:hover{background:var(--bg-hover)!important}.rdp-nav .rdp-chevron{fill:var(--text-tertiary)!important;width:12px;height:12px}.rdp-button_previous:hover .rdp-chevron,.rdp-button_next:hover .rdp-chevron{fill:var(--text-primary)!important}.rdp-weekday{color:var(--text-tertiary);font-size:.7rem;font-weight:500;padding-bottom:2px}.rdp-day button{color:var(--text-primary);border:none;background:transparent;cursor:pointer;border-radius:6px;font-size:.8rem}.rdp-day button:hover{background:var(--bg-hover)}.rdp-selected .rdp-day_button{background:var(--accent)!important;color:var(--gray-950)!important;font-weight:600}.rdp-today:not(.rdp-selected) .rdp-day_button{color:var(--accent);font-weight:600}.rdp-outside .rdp-day_button{color:var(--text-muted)}.rdp-disabled .rdp-day_button{color:var(--text-muted);opacity:.4;cursor:default}.rdp-month_caption{color:var(--text-primary);font-weight:600;font-size:.8rem;margin-bottom:2px}.rdp-dropdown_root .rdp-caption_label,.rdp-dropdown_root .rdp-chevron,.rdp-dropdown{display:none}.datepicker-dropdown-wrapper{position:relative;display:inline-block}.datepicker-dropdown-trigger{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8rem;font-weight:500;font-family:inherit;padding:3px 8px;cursor:pointer;outline:none!important;box-shadow:none!important;transition:border-color var(--transition-fast)}.datepicker-dropdown-trigger:hover{border-color:var(--border-strong)}.datepicker-dropdown-trigger--open,.datepicker-dropdown-trigger--open:hover{border-color:var(--accent)}.datepicker-dropdown-list{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:100%;max-height:182px;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:3px}.datepicker-dropdown-option{display:block;width:100%;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-family:inherit;padding:4px 6px;text-align:center;cursor:pointer;border-radius:4px;white-space:nowrap;transition:background var(--transition-fast)}.datepicker-dropdown-option:hover{background:var(--bg-hover);color:var(--text-primary)}.datepicker-dropdown-option--active{background:var(--accent-glow);color:var(--accent);font-weight:600}.datepicker-trigger{display:flex;align-items:center;gap:6px;width:100%;text-align:left;cursor:pointer;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:6px 10px;color:var(--text-primary);font-size:.8125rem;line-height:1.4;min-height:32px;transition:border-color var(--transition-fast)}.datepicker-trigger:hover{border-color:var(--border-strong)}.datepicker-trigger:focus{outline:none;border-color:var(--accent)}.datepicker-trigger--empty{color:var(--text-tertiary)}.datepicker-popover{position:fixed;z-index:var(--z-popover);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:10px;display:flex;flex-direction:column}.datepicker-footer{display:flex;align-items:center;gap:8px;padding:6px 0 0;border-top:1px solid var(--border-subtle);margin-top:4px}.datepicker-footer-right{display:flex;align-items:center;gap:4px;margin-left:auto}.datepicker-time-combo{position:relative;width:fit-content}.datepicker-time-input{background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8rem;font-weight:500;font-family:inherit;padding:3px 8px;width:62px;text-align:center;cursor:text;outline:none!important;box-shadow:none!important}.datepicker-time-input:hover{border-color:var(--border-strong)}.datepicker-time-input:focus{border-color:var(--accent)}.datepicker-time-list{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);width:74px;max-height:168px;overflow-y:auto;overscroll-behavior:contain;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:3px}.datepicker-time-option{display:block;width:100%;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-family:inherit;padding:4px 6px;text-align:center;cursor:pointer;border-radius:4px;transition:background var(--transition-fast)}.datepicker-time-option:hover{background:var(--bg-hover);color:var(--text-primary)}.datepicker-time-option--active{background:var(--accent-glow);color:var(--accent);font-weight:600}.datepicker-trash-btn{display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-tertiary);padding:3px;cursor:pointer;transition:all var(--transition-fast)}.datepicker-trash-btn:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--danger)}.datepicker-inline{display:flex;flex-direction:column;width:fit-content}.datepicker-quick-btn{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.68rem;padding:3px 8px;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.datepicker-quick-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.datepicker-quick-times{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px 0 4px;border-top:1px solid var(--border-subtle);margin-top:4px}.datepicker-quick-time{display:flex;align-items:center;gap:6px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:5px 8px;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);color:var(--text-tertiary)}.datepicker-quick-time-label{flex:1;font-size:.72rem;font-weight:500;color:var(--text-primary);text-align:left}.datepicker-quick-time-value{font-size:.65rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.datepicker-quick-time:hover{border-color:var(--border-strong);background:var(--bg-hover)}.datepicker-quick-time--active{border-color:var(--accent);background:var(--accent-glow)}.datepicker-quick-time--active .datepicker-quick-time-label,.datepicker-quick-time--active .datepicker-quick-time-value{color:var(--accent)}.time-select--large .datepicker-time-input{font-size:1rem;padding:var(--space-2) var(--space-3);width:80px}.time-select--large .datepicker-time-list{width:90px}.time-select--large .datepicker-time-option{font-size:.875rem;padding:var(--space-2)}.time-select--match-select .datepicker-time-input{padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.85rem;width:80px}.time-select--match-select .datepicker-time-input:hover{border-color:var(--border-strong);background:var(--bg-tertiary)}.time-select--match-select .datepicker-time-list{width:90px}.time-select--match-select .datepicker-time-option{font-size:.8rem;padding:var(--space-2)}.datepicker-time-list--down{bottom:auto;top:calc(100% + 4px)}.connection-banner__wrapper{position:fixed;top:.75rem;left:0;right:0;display:flex;justify-content:center;z-index:1200;pointer-events:none;animation:cb-slide-in .4s cubic-bezier(.34,1.4,.64,1) both}.app[data-tauri] .connection-banner__wrapper{top:calc(32px + .75rem)}.connection-banner{display:flex;align-items:center;gap:.5rem;padding:.45rem 1rem .45rem .55rem;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-full);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-subtle);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:auto;will-change:transform,opacity}.connection-banner--reconnecting{border-color:#d4a84340;box-shadow:var(--shadow-lg),0 0 12px #d4a84314,inset 0 1px #ffffff0a}.connection-banner--disconnected{border-color:#ef44444d;box-shadow:var(--shadow-lg),0 0 12px #ef44441a,inset 0 1px #ffffff0a}.connection-banner--restored{border-color:#4a9d6e4d;box-shadow:var(--shadow-lg),0 0 12px #4a9d6e1a,inset 0 1px #ffffff0a;animation:cb-restored-fade 3s ease-in-out both}.connection-banner__indicator{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;flex-shrink:0}.connection-banner--reconnecting .connection-banner__indicator{background:#d4a8431f}.connection-banner__pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:cb-pulse 1.8s ease-in-out infinite;box-shadow:0 0 6px #d4a84366}.connection-banner--disconnected .connection-banner__indicator{background:#ef44441f;color:var(--danger)}.connection-banner--restored .connection-banner__indicator{background:#4a9d6e26;color:var(--success)}.connection-banner__icon{width:14px;height:14px}.connection-banner__icon--check{animation:cb-check .35s cubic-bezier(.34,1.56,.64,1) .1s both}.connection-banner__text{font-size:.8rem;font-weight:500;letter-spacing:.005em;color:var(--text-secondary);white-space:nowrap}.connection-banner--reconnecting .connection-banner__text{color:var(--accent-light)}.connection-banner--disconnected .connection-banner__text{color:var(--danger-light)}.connection-banner--restored .connection-banner__text{color:var(--success-light)}.connection-banner__dots{display:flex;gap:3px;align-items:center;margin-left:-.15rem}.connection-banner__dot{width:3.5px;height:3.5px;border-radius:50%;background:var(--accent);opacity:.4;animation:cb-dot-bounce 1.4s ease-in-out infinite}.connection-banner__dot:nth-child(2){animation-delay:.15s}.connection-banner__dot:nth-child(3){animation-delay:.3s}@keyframes cb-slide-in{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cb-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 6px #d4a84366}50%{opacity:.5;transform:scale(.75);box-shadow:0 0 2px #d4a84333}}@keyframes cb-dot-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes cb-check{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes cb-restored-fade{0%,65%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.lp-legal-overlay{position:fixed;inset:0;z-index:1000;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.lp-legal-modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);max-width:640px;width:100%;max-height:80vh;display:flex;flex-direction:column}.lp-legal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 0}.lp-legal-header h2{font-size:20px;font-weight:700;margin:0}.lp-legal-header button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;transition:color var(--transition-base),background var(--transition-base)}.lp-legal-header button:hover{color:var(--text-primary);background:var(--bg-hover)}.lp-legal-updated{color:var(--text-muted);font-size:12px;padding:8px 24px 0;margin:0}.lp-legal-body{padding:20px 24px 24px;overflow-y:auto;flex:1}.lp-legal-body h3{font-size:15px;font-weight:600;margin:20px 0 6px;color:var(--text-primary)}.lp-legal-body h3:first-child{margin-top:0}.lp-legal-body p{font-size:14px;color:var(--text-secondary);line-height:1.65;margin:0}.modal.feedback-modal{max-width:640px;width:100%;height:auto}.feedback-modal textarea.form-input{min-height:150px;line-height:1.5}.feedback-char-count{text-align:right;font-size:.75rem;color:var(--text-muted);margin-top:var(--space-1)}.feedback-char-count--warning{color:var(--danger)}@media(max-width:520px){.feedback-modal{max-width:100%;margin:var(--space-4)}}.notification-bell{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.notification-bell:hover,.notification-bell.is-active{background:var(--bg-tertiary);color:var(--text-primary)}@keyframes bell-shake{0%,to{transform:rotate(0)}15%{transform:rotate(8deg)}30%{transform:rotate(-8deg)}45%{transform:rotate(5deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(2deg)}}.notification-bell.has-unread svg{animation:bell-shake .6s ease-in-out}.notification-bell-badge{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;border:2px solid var(--bg-secondary);background:var(--danger);color:#fff;font-size:.625rem;font-weight:700;line-height:1;pointer-events:none}@keyframes nc-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes nc-overlay-out{0%{opacity:1}to{opacity:0}}.notification-center-overlay{position:fixed;inset:0;z-index:998;background:var(--overlay-color);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:nc-overlay-in .28s cubic-bezier(.22,1,.36,1) both}.notification-center-overlay.is-closing{animation:nc-overlay-out .2s cubic-bezier(.4,0,.6,1) both}@keyframes nc-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes nc-slide-out{0%{transform:translate(0)}to{transform:translate(100%)}}.notification-center{position:fixed;top:0;right:0;bottom:0;width:380px;z-index:999;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border-default);box-shadow:var(--shadow-lg);animation:nc-slide-in .32s cubic-bezier(.22,1,.36,1) both;will-change:transform}.notification-center.is-closing{animation:nc-slide-out .24s cubic-bezier(.4,0,.6,1) both}.notification-center-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.notification-center-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.notification-center-header-actions{display:flex;align-items:center;gap:var(--space-2)}.notification-center-action-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);font-size:.75rem;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.notification-center-action-btn:hover{background:var(--bg-tertiary);color:var(--accent)}.notification-center-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.notification-center-close-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.notification-center-list{flex:1;overflow-y:auto;overscroll-behavior:contain}.notification-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--text-tertiary)}.notification-empty p{margin:0;font-size:.875rem}.notification-item{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-subtle)}.notification-item:hover{background:var(--bg-tertiary)}.notification-item.is-unread .notification-item-title{font-weight:600;color:var(--text-primary)}.notification-item.is-read .notification-item-title{font-weight:400;color:var(--text-secondary)}.notification-unread-dot{position:absolute;left:var(--space-2);top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.notification-item-icon{flex-shrink:0;font-size:1.25rem;line-height:1;margin-top:2px}.notification-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-item-title{font-size:.8125rem;line-height:1.4}.notification-item-body{font-size:.75rem;color:var(--text-tertiary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-item-time{font-size:.6875rem;color:var(--text-muted);margin-top:2px}.notification-item-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.notification-item:hover .notification-item-actions{opacity:1}.notification-action-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.notification-action-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.notification-action-btn--danger:hover{color:var(--danger)}.notification-snooze{position:relative}.notification-snooze-dropdown{position:absolute;top:100%;right:0;z-index:10;display:flex;flex-direction:column;min-width:100px;padding:var(--space-1);margin-top:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.notification-snooze-option{display:block;width:100%;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.75rem;text-align:left;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.notification-snooze-option:hover{background:var(--bg-tertiary);color:var(--text-primary)}@media(prefers-reduced-motion:reduce){.notification-center,.notification-center.is-closing,.notification-center-overlay,.notification-center-overlay.is-closing{animation-duration:1ms!important}}@media(max-width:480px){.notification-center{width:100%}.notification-item-actions{opacity:1}}.friends-bell{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.friends-bell:hover,.friends-bell.is-active{background:var(--bg-tertiary);color:var(--text-primary)}.friends-bell-badge{position:absolute;top:2px;right:2px;display:flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:999px;border:2px solid var(--bg-secondary);background:var(--accent);color:var(--gray-950);font-size:.625rem;font-weight:700;line-height:1;pointer-events:none}@keyframes fp-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes fp-overlay-out{0%{opacity:1}to{opacity:0}}.friends-overlay{position:fixed;inset:0;z-index:998;background:var(--overlay-color);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fp-overlay-in .28s cubic-bezier(.22,1,.36,1) both}.friends-overlay.is-closing{animation:fp-overlay-out .2s cubic-bezier(.4,0,.6,1) both}@keyframes fp-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fp-slide-out{0%{transform:translate(0)}to{transform:translate(100%)}}.friends-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;z-index:999;display:flex;flex-direction:column;background:var(--bg-secondary);border-left:1px solid var(--border-default);box-shadow:var(--shadow-lg);animation:fp-slide-in .32s cubic-bezier(.22,1,.36,1) both;will-change:transform}.friends-panel.is-closing{animation:fp-slide-out .24s cubic-bezier(.4,0,.6,1) both}.fp-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.fp-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.fp-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.fp-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:background .1s,color .1s}.fp-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.fp-my-profile{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.fp-my-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--gray-950);flex-shrink:0;box-shadow:0 0 0 2px var(--bg-tertiary),0 0 0 3px var(--accent-glow)}.fp-my-info{flex:1;min-width:0}.fp-my-name-row{display:flex;align-items:center;gap:8px}.fp-my-name{font-size:.88rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-my-streak{display:flex;align-items:center;gap:3px;font-size:.88rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;flex-shrink:0}.fp-my-streak .flame{font-size:.9rem;filter:drop-shadow(0 0 3px rgba(245,158,11,.5))}.fp-my-id{display:flex;align-items:center;gap:8px;margin-top:10px;padding:7px 14px;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.fp-my-id-label{font-size:.68rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em}.fp-my-id-code{font-size:.82rem;font-weight:700;color:var(--accent);letter-spacing:.04em;font-variant-numeric:tabular-nums}.fp-copy-btn{margin-left:auto;display:flex;align-items:center;gap:5px;padding:4px 10px;background:none;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:.68rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.fp-copy-btn:hover{background:var(--bg-elevated);color:var(--text-secondary);border-color:var(--border-strong)}.fp-copy-btn.copied{color:var(--success);border-color:#4a9d6e4d;background:#4a9d6e14}.fp-add-section{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.fp-add-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;background:none;border:1px dashed var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.fp-add-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.fp-add-form{display:flex;gap:8px;align-items:center}.fp-add-input{flex:1;padding:9px 14px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem;font-family:inherit;font-weight:500;letter-spacing:.03em;transition:border-color .15s}.fp-add-input:focus{outline:none;border-color:var(--accent)}.fp-add-input::placeholder{color:var(--text-tertiary);font-weight:400}.fp-add-submit{padding:9px 16px;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--gray-950);font-size:.8rem;font-weight:700;cursor:pointer;transition:background .15s;font-family:inherit;white-space:nowrap}.fp-add-submit:hover{background:var(--accent-light)}.fp-add-submit:disabled{opacity:.5;cursor:not-allowed}.fp-add-cancel{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:all .1s;flex-shrink:0}.fp-add-cancel:hover{background:var(--bg-tertiary);color:var(--text-primary)}.fp-content{flex:1;overflow-y:auto;overscroll-behavior:contain}.fp-content::-webkit-scrollbar{width:6px}.fp-content::-webkit-scrollbar-track{background:transparent}.fp-content::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:3px}.fp-content::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.fp-section-label{display:flex;align-items:center;gap:8px;padding:14px 20px 8px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary)}.fp-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--bg-elevated);font-size:.6rem;font-weight:700;color:var(--text-secondary)}.fp-section-count.accent{background:var(--accent-glow);color:var(--accent)}.fp-request{display:flex;align-items:center;gap:12px;padding:12px 20px;transition:background .1s}.fp-request:hover{background:var(--bg-tertiary)}.fp-request+.fp-request{border-top:1px solid var(--border-subtle)}.fp-avatar{width:38px;height:38px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--gray-950);flex-shrink:0;position:relative}.fp-avatar-gradient{box-shadow:0 0 0 2px var(--bg-secondary)}.fp-request-info{flex:1;min-width:0}.fp-request-name{font-size:.85rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.fp-request-name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-level-pill{display:inline-flex;align-items:center;padding:2px 8px;background:var(--bg-elevated);border-radius:var(--radius-full);font-size:.65rem;font-weight:700;color:var(--text-tertiary);letter-spacing:.02em;flex-shrink:0;white-space:nowrap}.fp-request-actions{display:flex;gap:6px;flex-shrink:0}.fp-accept-btn{padding:6px 16px;height:32px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--gray-950);font-size:.75rem;font-weight:700;cursor:pointer;transition:background .15s;font-family:inherit;white-space:nowrap;flex-shrink:0}.fp-accept-btn:hover{background:var(--accent-light)}.fp-reject-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all .15s;flex-shrink:0}.fp-reject-btn:hover{background:#ef444414;border-color:#ef444433;color:var(--danger)}.fp-divider{height:1px;background:var(--border-subtle);margin:0 20px}.fp-friend{display:flex;align-items:center;gap:12px;padding:10px 20px;transition:background .1s;position:relative;animation:fp-friend-fade-in .28s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(min(var(--i, 0),10)*50ms + 60ms)}.fp-friend:hover{background:var(--bg-tertiary)}@keyframes fp-friend-fade-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.fp-avatar-ring{width:42px;height:42px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;background:var(--bg-elevated);padding:2px}.fp-avatar-ring .fp-avatar{width:100%;height:100%;box-shadow:none}.fp-avatar-ring.completed{background:linear-gradient(135deg,var(--success),#3a8a5c);box-shadow:0 0 8px #4a9d6e33}.fp-avatar-ring.pending{background:var(--gray-700)}.fp-friend-info{flex:1;min-width:0}.fp-friend-name-row{display:flex;align-items:center;gap:6px}.fp-friend-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-friend-status-text{font-size:.7rem;color:var(--text-tertiary);margin-top:2px;display:flex;align-items:center;gap:4px}.fp-friend-status-text .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.fp-friend-status-text .dot.green{background:var(--success);box-shadow:0 0 4px #4a9d6e66}.fp-friend-status-text .dot.gray{background:var(--gray-600)}.fp-friend-stats{display:flex;align-items:center;gap:10px;flex-shrink:0;transition:opacity .1s}.fp-streak{display:flex;align-items:center;gap:3px;font-size:.82rem;font-weight:600;color:var(--text-secondary);font-variant-numeric:tabular-nums}.fp-streak .flame{font-size:.85rem;line-height:1}.fp-streak.hot .flame{filter:drop-shadow(0 0 3px rgba(245,158,11,.5))}.fp-streak.legendary .flame{filter:drop-shadow(0 0 5px rgba(245,158,11,.7)) drop-shadow(0 0 10px rgba(239,68,68,.3))}.fp-streak.legendary{color:var(--accent)}.fp-remove-btn{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all .12s;z-index:2}.fp-friend:hover .fp-remove-btn{opacity:1}.fp-remove-btn:hover{background:#ef44441a;border-color:#ef444433;color:var(--danger)}.fp-friend:hover .fp-friend-stats{opacity:0;pointer-events:none}.fp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 32px;text-align:center;gap:16px}.fp-empty-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-tertiary)}.fp-empty-title{font-size:.95rem;font-weight:600;color:var(--text-secondary)}.fp-empty-text{font-size:.8rem;color:var(--text-tertiary);line-height:1.6;max-width:260px}.fp-empty-code{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);margin-top:4px}.fp-empty-code span{font-size:1rem;font-weight:700;color:var(--accent);letter-spacing:.05em}.fp-empty-code button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all .1s}.fp-empty-code button:hover{background:var(--bg-elevated);color:var(--text-secondary)}.fp-loading{display:flex;align-items:center;justify-content:center;padding:40px 20px}.fp-loading-spinner{width:24px;height:24px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:fp-spin .6s linear infinite}@keyframes fp-spin{to{transform:rotate(360deg)}}@media(max-width:480px){.friends-panel{width:100vw}}@media(prefers-reduced-motion:reduce){.friends-overlay,.friends-overlay.is-closing,.friends-panel,.friends-panel.is-closing{animation-duration:1ms!important}.fp-friend{animation:none!important;opacity:1;transform:none}}.tag-manager{display:flex;flex-direction:column}.tag-manager-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);text-align:center}.tag-manager-empty-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.tag-manager-empty p{margin:0;font-weight:500;font-size:.9375rem;color:var(--text-secondary)}.tag-manager-empty span{font-size:.8125rem;color:var(--text-muted)}.tag-manager-list{display:flex;flex-direction:column;gap:6px}.tag-manager-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-fast);cursor:default}.tag-manager-row:hover{border-color:var(--border-default);background:var(--bg-elevated)}.tag-manager-row:focus-visible{outline:none;border-color:var(--accent);background:var(--bg-elevated)}.tag-manager-row:focus-visible .tag-manager-actions{opacity:1}.tag-manager-info{flex:1;display:flex;align-items:center;gap:var(--space-3);min-width:0}.tag-manager-count{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.tag-manager-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.tag-manager-row:hover .tag-manager-actions{opacity:1}.tag-manager-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:0}.tag-manager-action:hover{background:var(--accent-glow);color:var(--accent)}.tag-manager-action--active{color:var(--accent);background:var(--accent-glow)}.tag-manager-action--delete:hover{background:#ef44441f;color:var(--danger)}.tag-manager-action--save{color:var(--success)}.tag-manager-action--save:hover{background:#4a9d6e1f}.tag-manager-action--cancel{color:var(--text-muted)}.tag-manager-action--cancel:hover{background:var(--bg-elevated);color:var(--text-secondary)}.tag-manager-action:disabled{opacity:.4;cursor:not-allowed}.tag-manager-row--editing{border-color:var(--accent);background:var(--bg-elevated)}.tag-manager-chip--editing{border-color:currentColor;background:#ffffff0d}.tag-manager-chip-input,.tag-manager-chip-input:focus,.tag-manager-chip-input:focus-visible{background:transparent;border:none;outline:none;box-shadow:none;color:inherit;font:inherit;font-weight:500;padding:0;margin:0;min-width:2ch;caret-color:currentColor}.tag-manager-chip-input:disabled{opacity:.5;cursor:not-allowed}.tag-manager-edit-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.tag-manager-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:5px 11px;border-radius:5px;font-size:.8125rem;font-weight:500;background:transparent;border:1px solid;white-space:nowrap;flex-shrink:0}.tag-manager-chip[data-color="0"]{color:#d4908a;border-color:#d4908a59}.tag-manager-chip[data-color="1"]{color:#d4b06a;border-color:#d4b06a59}.tag-manager-chip[data-color="2"]{color:#7ec492;border-color:#7ec49259}.tag-manager-chip[data-color="3"]{color:#6dbcb8;border-color:#6dbcb859}.tag-manager-chip[data-color="4"]{color:#7eaadb;border-color:#7eaadb59}.tag-manager-chip[data-color="5"]{color:#a894d4;border-color:#a894d459}.tag-manager-chip[data-color="6"]{color:#cc8ab4;border-color:#cc8ab459}.tag-manager-chip[data-color="7"]{color:#b0a692;border-color:#b0a69259}.tag-manager-chip--clickable{cursor:pointer;transition:all var(--transition-fast)}.tag-manager-chip--clickable:hover{border-color:currentColor;background:#ffffff08}.tag-manager-color-anchor{position:relative}.tag-manager-color-popover{position:absolute;top:calc(100% + 6px);right:-4px;z-index:10;background:var(--gray-850);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:8px 10px;box-shadow:0 4px 16px #0006;display:flex;gap:6px;animation:tagColorPopIn .15s ease-out}@keyframes tagColorPopIn{0%{opacity:0;transform:translateY(-4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.tag-manager-color-swatch{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;padding:0;outline:none;transition:all .12s}.tag-manager-color-swatch:hover{transform:scale(1.2)}.tag-manager-color-swatch.active{border-color:#fff;box-shadow:0 0 0 2px #ffffff26}@media(max-width:640px){.tag-manager-actions,.tag-manager-handle{opacity:1}}.settings-view{display:flex;height:100%;background:var(--bg-primary)}.settings-sidebar{width:240px;min-width:240px;background:var(--gray-900);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:var(--space-5) var(--space-3)}.settings-sidebar-header{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2) var(--space-4);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.settings-back-btn{width:28px;height:28px;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.settings-back-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.settings-sidebar-title{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.settings-sidebar-version{margin-top:auto;padding:var(--space-3) var(--space-2) var(--space-1);border-top:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-2)}.settings-legal-buttons{display:flex;gap:var(--space-3)}.settings-sidebar-version__tag{font-size:.6875rem;font-weight:500;color:var(--accent);background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);padding:1px 6px;border-radius:4px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.settings-nav{flex:1;overflow-y:auto}.settings-nav-group{margin-bottom:var(--space-5)}.settings-nav-label{font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 var(--space-3);margin-bottom:var(--space-2)}.settings-nav-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-bottom:2px}.settings-nav-item:hover{background:var(--bg-tertiary)}.settings-nav-item.active{background:var(--accent-glow)}.settings-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.settings-nav-icon{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;margin-top:2px}.settings-nav-item.active .settings-nav-icon{color:var(--accent)}.settings-nav-content{display:flex;flex-direction:column;gap:1px}.settings-nav-title{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.settings-nav-item.active .settings-nav-title{color:var(--accent)}.settings-nav-desc{font-size:.6875rem;color:var(--text-muted)}.settings-nav-item.active .settings-nav-desc{color:var(--accent);opacity:.7}.settings-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.settings-top-bar{display:flex;align-items:center;padding:var(--space-5) var(--space-8);border-bottom:1px solid var(--border-subtle);background:var(--bg-primary)}.settings-top-left{display:flex;flex-direction:column;gap:2px}.settings-breadcrumb{font-size:.75rem;color:var(--text-muted)}.settings-page-title{font-size:1.375rem;font-weight:600;color:var(--text-primary)}.settings-scroll{flex:1;overflow-y:auto;padding:var(--space-6) var(--space-8)}.settings-page-subtitle{font-size:.875rem;color:var(--text-muted);margin-bottom:var(--space-6);max-width:600px}.settings-card{background:var(--gray-900);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.settings-card-section{padding:var(--space-5) var(--space-6)}.settings-card+.settings-card{margin-top:var(--space-5)}.settings-card-divider{height:1px;background:var(--border-subtle)}.settings-section-label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-4)}.settings-avatar-section{display:flex;align-items:center;gap:var(--space-5)}.settings-large-avatar{width:72px;height:72px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:var(--gray-950)}.settings-avatar-info{display:flex;flex-direction:column;gap:var(--space-1)}.settings-avatar-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.settings-avatar-level{font-size:.8125rem;color:var(--accent)}.settings-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);margin-bottom:var(--space-5)}.settings-form-grid:last-child{margin-bottom:0}.settings-form-field{display:flex;flex-direction:column;gap:var(--space-2)}.settings-form-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.settings-form-input,.settings-form-select{padding:var(--space-3) var(--space-4);background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color var(--transition-fast)}.settings-form-input:focus,.settings-form-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.settings-form-input:disabled{opacity:.5;cursor:not-allowed}.settings-form-hint{font-size:.6875rem;color:var(--text-muted)}.settings-form-hint--spaced{margin-top:var(--space-3)}.settings-linked-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;max-width:640px}.settings-linked-provider{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.settings-linked-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.settings-linked-email{flex:1;font-size:.8125rem;color:var(--text-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--space-3)}.settings-linked-email--muted{color:var(--text-muted);font-style:italic}.settings-linked-action{flex-shrink:0}.settings-btn--sm{padding:var(--space-1) var(--space-3);font-size:.75rem;min-height:28px}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:.8125rem;font-weight:500;font-family:inherit;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;min-height:36px}.settings-btn--secondary{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary)}.settings-btn--secondary:hover{border-color:var(--accent);color:var(--text-primary)}.settings-btn--primary{background:var(--accent);color:var(--gray-950)}.settings-btn--primary:hover:not(:disabled){background:var(--accent-light)}.settings-btn--primary:disabled{opacity:.5;cursor:not-allowed}.settings-btn-loading{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:settingsBtnSpin .6s linear infinite}@keyframes settingsBtnSpin{to{transform:rotate(360deg)}}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) 0}.settings-toggle-master{padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.settings-toggle-info{display:flex;flex-direction:column;gap:2px}.settings-toggle-label{font-size:.875rem;font-weight:500;color:var(--text-primary)}.settings-toggle-desc{font-size:.75rem;color:var(--text-tertiary)}.settings-toggle-desc--spaced{margin-bottom:var(--space-4)}.settings-card-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:2rem}.settings-toggle{position:relative;display:inline-flex;cursor:pointer}.settings-toggle input{position:absolute;opacity:0;width:0;height:0}.settings-toggle-track{width:36px;height:20px;background:var(--gray-700);border-radius:var(--radius-full);position:relative;transition:background var(--transition-fast)}.settings-toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--text-primary);border-radius:var(--radius-full);transition:transform var(--transition-fast)}.settings-toggle input:checked+.settings-toggle-track{background:var(--accent)}.settings-toggle input:checked+.settings-toggle-track:after{transform:translate(16px)}.settings-toggle input:focus-visible+.settings-toggle-track{box-shadow:0 0 0 3px var(--accent-glow)}.notif-category{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-3)}.notif-channels{display:flex;gap:var(--space-2);padding:var(--space-2) 0 var(--space-2)}.notif-channel-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border-default);border-radius:var(--radius-full);color:var(--text-tertiary);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast)}.notif-channel-btn:hover{border-color:var(--text-secondary);color:var(--text-secondary)}.notif-channel-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.notif-channel-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notif-divider{height:1px;background:var(--border-subtle);margin:var(--space-4) 0}.notif-quiet-hours,.notif-digest-time{padding:0 0 var(--space-2)}.notif-time-range{display:flex;align-items:center;gap:var(--space-3)}.notif-time-separator{color:var(--text-tertiary);font-size:.875rem}@media(max-width:768px){.settings-view{flex-direction:column}.settings-sidebar{width:100%;min-width:100%;border-right:none;border-bottom:1px solid var(--border-subtle);padding:var(--space-4)}.settings-nav{display:flex;gap:var(--space-2);overflow-x:auto}.settings-nav-group{display:flex;gap:var(--space-2);margin-bottom:0}.settings-nav-label{display:none}.settings-nav-item{flex-direction:column;align-items:center;text-align:center;padding:var(--space-2) var(--space-3);min-width:fit-content}.settings-nav-desc{display:none}.settings-scroll{padding:var(--space-4)}.settings-form-grid{grid-template-columns:1fr}.theme-selector{flex-direction:column}}.theme-selector{display:flex;gap:var(--space-2)}.theme-option{display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex:1;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.theme-option:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.theme-option.active{background:var(--accent);color:var(--selection-text);border-color:var(--accent)}.theme-option.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.theme-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.settings-card--danger{border-left:3px solid var(--danger);border-radius:3px var(--radius-lg) var(--radius-lg) 3px}.settings-section-label--danger{color:var(--danger)}.settings-btn--danger{background:transparent;color:var(--danger);border:1px solid var(--danger);width:auto}.settings-btn--danger:hover,.settings-btn--danger-filled{background:var(--danger);color:#fff}.settings-btn--danger-filled:hover:not(:disabled){background:color-mix(in srgb,var(--danger),black 15%)}.settings-btn--danger-filled:disabled{opacity:.5;cursor:not-allowed}.delete-account-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.delete-account-modal{background:var(--gray-900);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:85vh;overflow-y:auto}.delete-account-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-subtle)}.delete-account-title{display:flex;align-items:center;gap:var(--space-2);font-size:1rem;font-weight:600;color:var(--danger);margin:0}.delete-account-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.delete-account-close:hover{color:var(--text-primary)}.delete-account-body{padding:var(--space-5) var(--space-6)}.delete-account-step-title{font-size:.8125rem;font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-3)}.delete-account-step-title--success{color:var(--accent)}.delete-account-desc{font-size:.8125rem;color:var(--text-secondary);margin:0 0 var(--space-4);line-height:1.5}.delete-account-consequences{margin:0 0 var(--space-4);padding-left:var(--space-5);list-style:disc}.delete-account-consequences li{font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.delete-account-export{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.delete-account-export-hint{font-size:.75rem;color:var(--text-muted);margin:0}.delete-account-export-btn{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:none;color:var(--accent);font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;padding:0;white-space:nowrap;transition:opacity var(--transition-fast)}.delete-account-export-btn:hover:not(:disabled){opacity:.8}.delete-account-export-btn:disabled{opacity:.5;cursor:not-allowed}.delete-account-divider{height:1px;background:var(--border-subtle);margin-bottom:var(--space-4)}.delete-account-feedback{margin-bottom:var(--space-4)}.delete-account-feedback-title{font-size:.75rem;font-weight:500;color:var(--text-muted);margin:0 0 var(--space-3)}.delete-account-radios{display:flex;flex-direction:column;gap:var(--space-2)}.delete-account-radio{display:flex;align-items:center;gap:var(--space-2);font-size:.8125rem;color:var(--text-secondary);cursor:pointer}.delete-account-radio input[type=radio]{accent-color:var(--accent)}.delete-account-textarea{width:100%;margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.8125rem;font-family:inherit;resize:none;transition:border-color var(--transition-fast)}.delete-account-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.delete-account-input{padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color var(--transition-fast)}.delete-account-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.delete-account-input::placeholder{color:var(--text-muted)}.delete-account-field{display:flex;flex-direction:column;gap:var(--space-2)}.delete-account-field-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.delete-account-warning{display:flex;align-items:flex-start;gap:var(--space-3);background:rgba(var(--danger-rgb),.08);border:1px solid rgba(var(--danger-rgb),.2);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.delete-account-warning svg{color:var(--danger);flex-shrink:0;margin-top:2px}.delete-account-warning p{font-size:.8125rem;color:var(--danger);margin:0;line-height:1.5}.delete-account-error{display:block;font-size:.75rem;color:var(--danger);margin-top:var(--space-2)}.delete-account-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.deletion-banner{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-5);background:rgba(var(--warning-rgb),.12);border-bottom:1px solid rgba(var(--warning-rgb),.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app--has-deletion-banner{padding-top:36px}.deletion-banner-content{display:flex;align-items:center;gap:var(--space-2)}.deletion-banner-content svg{color:var(--warning);flex-shrink:0}.deletion-banner-text{font-size:.8125rem;font-weight:500;color:var(--warning)}.deletion-banner-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:transparent;border:1px solid rgba(var(--warning-rgb),.4);border-radius:var(--radius-md);color:var(--warning);font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.deletion-banner-btn:hover:not(:disabled){background:rgba(var(--warning-rgb),.15);border-color:var(--warning)}.deletion-banner-btn:disabled{opacity:.6;cursor:not-allowed}.milestone-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;background:var(--overlay-color);animation:milestoneIn .4s ease-out;cursor:pointer}.milestone-content{text-align:center;animation:milestoneScale .5s cubic-bezier(.34,1.56,.64,1)}.milestone-icon{font-size:4rem;margin-bottom:var(--space-4)}.milestone-value{font-size:3rem;font-weight:800;color:var(--accent);letter-spacing:-1px;margin-bottom:var(--space-2)}.milestone-label{font-size:1.1rem;color:var(--text-secondary);font-weight:500}@keyframes milestoneIn{0%{opacity:0}to{opacity:1}}@keyframes milestoneScale{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.milestone-overlay,.milestone-content{animation:none}}.update-notification{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-popover);width:min(260px,calc(100vw - var(--space-8)));padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px var(--border-subtle);animation:update-enter .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes update-enter{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.update-notification-close{position:absolute;top:var(--space-2);right:var(--space-2);display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.update-notification-close:hover{color:var(--text-primary);background:var(--bg-hover)}.update-notification-title{font-size:.875rem;font-weight:600;color:var(--text-primary);line-height:1.3;display:flex;align-items:center;gap:var(--space-2)}.update-notification--error .update-notification-title{color:var(--danger)}.update-notification-notes{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:.8125rem;line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.update-notification-actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.update-notification-btn{flex:1;padding:var(--space-2) var(--space-3);font-size:.8125rem;font-weight:600;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);letter-spacing:.01em}.update-notification-btn--primary{background:var(--accent);color:var(--gray-950)}.update-notification-btn--primary:hover{background:var(--accent-light)}.update-notification-btn--primary:active{transform:scale(.98)}.update-notification-btn--secondary{display:flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle)}.update-notification-btn--secondary:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-default)}.update-notification-meta{margin:var(--space-1) 0 0;font-size:.8125rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.update-notification--installing .update-notification-title{color:var(--accent)}.update-notification-spinner{width:16px;height:16px;border:2px solid var(--border-subtle);border-top-color:var(--accent);border-radius:50%;animation:update-spinner .8s linear infinite}@keyframes update-spinner{to{transform:rotate(360deg)}}.update-notification-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.update-notification-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.update-notification{animation:none}.update-notification-spinner{animation:none;border-top-color:var(--accent);opacity:.7}.update-notification-btn--primary:active{transform:none}}.confetti-overlay{position:fixed;inset:0;pointer-events:none;z-index:2500;overflow:hidden}@keyframes confettiFall{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:1}to{transform:translateY(110vh) translate(calc(var(--x) * .1 - 5vw)) rotate(var(--rotation));opacity:0}}.confetti-particle{position:absolute;top:-10px;left:var(--x);width:var(--size);height:var(--size);background:var(--color);border-radius:2px;animation:confettiFall 2s ease-in var(--delay) forwards}@media(prefers-reduced-motion:reduce){.confetti-overlay{display:none}}:root{--gray-950: #09090b;--gray-900: #18181b;--gray-850: #1f1f23;--gray-800: #27272a;--gray-700: #3f3f46;--gray-600: #52525b;--gray-500: #71717a;--gray-400: #a1a1aa;--gray-300: #d4d4d8;--gray-200: #e4e4e7;--gray-100: #f4f4f5;--accent: #d4a843;--accent-hover: #c49a3a;--accent-light: #e4be5a;--accent-dark: #b8922e;--accent-rgb: 212, 168, 67;--accent-glow: rgba(var(--accent-rgb), .15);--success: #4a9d6e;--success-rgb: 74, 157, 110;--success-light: #6ab587;--danger: #ef4444;--danger-rgb: 239, 68, 68;--danger-light: #fca5a5;--warning: #f59e0b;--warning-rgb: 245, 158, 11;--warning-light: #fcd34d;--info: #3b82f6;--info-rgb: 59, 130, 246;--info-light: #93c5fd;--purple: #8b5cf6;--purple-rgb: 139, 92, 246;--purple-light: #c4b5fd;--bg-primary: var(--gray-950);--bg-secondary: var(--gray-900);--bg-tertiary: var(--gray-850);--bg-elevated: var(--gray-800);--bg-hover: var(--gray-700);--text-primary: var(--gray-100);--text-secondary: var(--gray-400);--text-tertiary: var(--gray-500);--text-muted: var(--gray-600);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .15);--shadow-sm: 0 1px 2px 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-glow: 0 0 20px var(--accent-glow);--native-color-scheme: dark;--calendar-icon-filter: invert(.7);--overlay-color: rgba(0, 0, 0, .8);--inset-shadow-color: rgba(255, 255, 255, .05);--selection-text: var(--gray-950);--space-px-3: 3px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--z-modal-overlay: 1000;--z-dropdown: 1100;--z-popover: 1200;--sidebar-width: 260px;--sidebar-collapsed-width: 60px;--wc-btn-width: 46px;--wc-total-width: calc(var(--wc-btn-width) * 3);--transition-fast: .1s ease;--transition-base: .2s ease;--transition-slow: .3s ease}:root[data-theme=light]{--gray-950: #FAFAF9;--gray-900: #F5F5F4;--gray-850: #F0EFED;--gray-800: #E7E5E4;--gray-700: #D6D3D1;--gray-600: #A8A29E;--gray-500: #78716C;--gray-400: #57534E;--gray-300: #44403C;--gray-200: #292524;--gray-100: #1C1917;--accent: #9A7B2E;--accent-hover: #876B28;--accent-light: #B8922E;--accent-dark: #7A5F1F;--accent-rgb: 154, 123, 46;--accent-glow: rgba(var(--accent-rgb), .12);--success: #16794A;--success-rgb: 22, 121, 74;--success-light: #DCFCE7;--danger: #DC2626;--danger-rgb: 220, 38, 38;--danger-light: #FEE2E2;--warning: #D97706;--warning-rgb: 217, 119, 6;--warning-light: #FEF3C7;--info: #2563EB;--info-rgb: 37, 99, 235;--info-light: #DBEAFE;--purple: #7C3AED;--purple-rgb: 124, 58, 237;--purple-light: #EDE9FE;--border-subtle: rgba(0, 0, 0, .06);--border-default: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px var(--accent-glow);--native-color-scheme: light;--calendar-icon-filter: none;--overlay-color: rgba(0, 0, 0, .4);--inset-shadow-color: rgba(0, 0, 0, .03);--selection-text: #FFFFFF}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}#root{min-height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:var(--radius-full)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:var(--selection-text)}html,body{overscroll-behavior:none}*{scrollbar-width:thin;scrollbar-color:var(--gray-700) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}.app{display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:64px 1fr;height:100vh;overflow:hidden;transition:grid-template-columns .2s ease}.app--sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) 1fr}.header,.sidebar,.window-controls,.view-tabs,.sidebar-stats,.sidebar-nav{user-select:none;-webkit-user-select:none}.header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);z-index:100;min-width:0}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo-btn{background:none;border:none;cursor:pointer;padding:0;font-family:inherit;color:inherit}.logo-btn .logo-text{color:var(--text-primary)}.logo-icon{width:36px;height:36px;background:var(--accent);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--gray-950);font-weight:700}.logo-text{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.header-right{display:flex;align-items:center;gap:var(--space-4);min-width:0}.header-stats{display:flex;align-items:center;gap:var(--space-6)}.stat-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:.875rem}.stat-badge .icon{font-size:1rem}.stat-badge .value{font-weight:600;color:var(--accent)}.stat-badge .label{color:var(--text-tertiary);font-size:.75rem}@keyframes firePulse{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.15);filter:brightness(1.3)}}@keyframes fireGlow{0%,to{text-shadow:0 0 4px rgba(var(--warning-rgb),.3)}50%{text-shadow:0 0 8px rgba(var(--warning-rgb),.6)}}@keyframes fireLegendary{0%,to{transform:scale(1);text-shadow:0 0 6px rgba(var(--warning-rgb),.4)}50%{transform:scale(1.2);text-shadow:0 0 12px rgba(var(--warning-rgb),.8),0 0 20px rgba(var(--danger-rgb),.3)}}.stat-badge.streak-active .streak-icon{animation:firePulse 3s ease-in-out infinite}.stat-badge.streak-hot .streak-icon{animation:fireGlow 2s ease-in-out infinite}.stat-badge.streak-legendary .streak-icon{animation:fireLegendary 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.stat-badge.streak-active .streak-icon,.stat-badge.streak-hot .streak-icon,.stat-badge.streak-legendary .streak-icon{animation:none}}.level-container{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition-base)}.level-container:hover{background:var(--bg-tertiary)}.level-badge{font-weight:700;font-size:.85rem;color:var(--accent);white-space:nowrap}.level-badge-short{display:none}.xp-bar-inline{width:80px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;flex-shrink:0}.xp-fill-inline{height:100%;background:var(--accent);border-radius:2px;transition:width var(--transition-slow)}.xp-bar-inline.xp-near-level .xp-fill-inline{background:var(--accent-light)}.xp-text-inline{font-size:.7rem;color:var(--text-tertiary);white-space:nowrap;min-width:fit-content}@media(max-width:600px){.xp-text-inline{display:none}.xp-bar-inline{width:48px}}.user-menu-container{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-2);padding:6px 10px 6px 6px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.user-menu-trigger:hover{background:var(--bg-elevated);border-color:var(--border-default)}.user-avatar{width:28px;height:28px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--gray-950);font-size:.7rem;font-weight:700;letter-spacing:.03em;box-shadow:0 2px 4px #0003}.user-display-name{font-size:.8125rem;font-weight:500;color:var(--text-primary);max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chevron{color:var(--text-tertiary);transition:transform var(--transition-fast);flex-shrink:0}.user-chevron.open{transform:rotate(180deg)}.user-menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);min-width:220px;padding:6px;z-index:200;animation:menuFadeIn .12s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{display:flex;align-items:center;gap:10px;padding:8px}.user-info{flex:1;min-width:0}.user-name{font-weight:600;font-size:.8125rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.user-email{font-size:.6875rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.user-menu-divider{height:1px;background:var(--border-subtle);margin:6px 0}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:background var(--transition-fast);text-align:left}.user-menu-item:hover{background:var(--bg-tertiary)}.user-menu-item svg{color:var(--text-tertiary);flex-shrink:0}.user-menu-item:hover svg{color:var(--text-secondary)}.user-menu-item-danger{color:var(--danger)}.user-menu-item-danger:hover{background:rgba(var(--danger-rgb),.1)}.user-menu-item-danger svg{color:var(--danger)}.profile-menu{position:relative}.profile-trigger{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:0;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.profile-trigger:hover:not([aria-expanded=true]){transform:scale(1.05)}.profile-trigger:active:not([aria-expanded=true]){transform:scale(.98)}.profile-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark) 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 3px var(--accent-glow),0 4px 12px -2px #0000004d;transition:box-shadow var(--transition-fast)}.profile-trigger:hover .profile-avatar{box-shadow:0 0 0 2px var(--bg-secondary),0 0 0 4px var(--accent-glow),0 6px 16px -2px #0006}.profile-avatar-text{font-size:.875rem;font-weight:700;color:var(--gray-950);letter-spacing:.02em}.profile-avatar-lg{width:48px;height:48px}.profile-avatar-lg .profile-avatar-text{font-size:1rem}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:240px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--inset-shadow-color),var(--shadow-lg);z-index:200;overflow:hidden;animation:profileDropdownIn .15s ease-out}.header[data-tauri-drag-region] .profile-dropdown{right:calc(-1 * (var(--space-4) + var(--space-2) + var(--wc-total-width) - var(--space-6)))}@keyframes profileDropdownIn{0%{opacity:0}to{opacity:1}}.profile-dropdown-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-subtle)}.profile-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.profile-name{font-size:.9375rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-email{font-size:.75rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-dropdown-divider{height:1px;background:var(--border-subtle)}.profile-dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:none;color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.profile-dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.profile-dropdown-item svg{color:var(--text-tertiary);transition:color var(--transition-fast)}.profile-dropdown-item:hover svg{color:var(--text-secondary)}.profile-dropdown-item--danger{color:var(--danger)}.profile-dropdown-item--danger:hover{background:rgba(var(--danger-rgb),.1);color:var(--danger)}.profile-dropdown-item--danger svg{color:var(--danger)}.user-menu-settings{min-width:260px}.settings-header{display:flex;align-items:center;gap:8px;padding:6px 8px}.settings-back{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.settings-back:hover{background:var(--bg-tertiary);color:var(--text-primary)}.settings-title{font-weight:600;font-size:.8125rem;color:var(--text-primary)}.settings-field{padding:8px 10px}.settings-label{display:block;font-size:.6875rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.settings-input-row{display:flex;gap:6px}.settings-input{flex:1;padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.8125rem;transition:border-color var(--transition-fast)}.settings-input:focus{outline:none;border-color:var(--accent)}.settings-input::placeholder{color:var(--text-tertiary)}.settings-save{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--gray-950);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.settings-save:hover:not(:disabled){background:var(--accent-hover)}.settings-save:disabled{opacity:.5;cursor:not-allowed}.settings-value{font-size:.8125rem;color:var(--text-secondary);padding:8px 10px;background:var(--bg-primary);border-radius:var(--radius-sm)}.main-content{padding:var(--space-6);overflow-y:auto;overflow-x:hidden;background:var(--bg-primary)}.main-content--settings{padding:0;overflow:hidden}.app--no-sidebar{grid-template-columns:1fr}.app--no-sidebar .main-content{grid-column:1}.view-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.view-tab{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.view-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.view-tab.active{color:var(--accent);background:var(--accent-glow);border-color:var(--accent)}.task-options-wrapper{overflow:hidden;transition:max-height .2s ease,opacity .2s ease}.task-options-wrapper.expanded{max-height:200px;opacity:1;animation:allowOverflow 0s .2s forwards}.task-options-wrapper.collapsed{max-height:0;opacity:0;pointer-events:none}@keyframes allowOverflow{to{overflow:visible}}.logo-btn,.header-right,.profile-menu,.stat-badge,.level-container{-webkit-app-region:no-drag}.window-controls{display:flex;align-items:stretch;align-self:stretch;margin-left:var(--space-2);margin-right:calc(-1 * var(--space-6));-webkit-app-region:no-drag}.window-control-btn{display:flex;align-items:center;justify-content:center;width:var(--wc-btn-width);height:100%;background:transparent;border:none;border-radius:0;color:var(--gray-500);cursor:pointer;transition:color .12s ease;padding:0;position:relative}.window-control-btn:before{content:"";position:absolute;width:24px;height:24px;border-radius:var(--radius-sm);background:transparent;transition:background .12s ease}.window-control-btn:hover{color:var(--gray-200)}.window-control-btn:hover:before{background:var(--border-default)}.window-control-btn:active:before{background:var(--border-subtle)}.window-control-btn--close:hover{color:#e81123}.window-control-btn--close:hover:before{background:#e8112314}.window-control-btn--close:active:before{background:#e811230d}.window-control-btn:focus-visible,.profile-trigger:focus-visible,.logo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media(max-width:768px){.app{grid-template-columns:1fr}.header{padding:0 var(--space-4);gap:var(--space-3)}.logo-btn{transition:transform var(--transition-fast)}.logo-btn:active{transform:scale(.95)}.logo-icon{width:40px;height:40px}.logo-text{display:none}.header-stats{gap:var(--space-3)}.stat-badge .label,.level-badge-full{display:none}.level-badge-short{display:block;font-size:.8rem}.level-container .xp-bar-inline,.level-container .xp-text-inline{display:none}.level-container{padding:var(--space-1) var(--space-2);gap:0}.main-content{padding:var(--space-4)}}.view-transition{transition:opacity .15s ease,transform .15s ease}.view-transition.fade-out{opacity:0;transform:translateY(4px)}.view-transition.fade-in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.app,.view-transition{transition:none}.view-transition.fade-out{opacity:1;transform:none}}.lazy-loading-fallback{display:flex;align-items:center;justify-content:center;min-height:200px;width:100%}.lazy-loading-spinner{width:32px;height:32px;border:3px solid var(--bg-tertiary);border-top-color:var(--accent);border-radius:50%;animation:lazy-spin .8s linear infinite}@keyframes lazy-spin{to{transform:rotate(360deg)}}.chunk-error-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:200px;width:100%;color:var(--text-secondary);font-size:.875rem}.chunk-error-retry{padding:var(--space-2) var(--space-5);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:.8125rem;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.chunk-error-retry:hover{background:var(--bg-tertiary);border-color:var(--accent)}.chunk-error-retry:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-subtle);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-6);overflow:hidden}.sidebar-section{display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);padding:var(--space-2) var(--space-3)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);font-size:.9rem;font-weight:500;border:1px solid transparent;background:none;font-family:inherit;text-align:left;width:100%}.nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:var(--accent);border-color:var(--accent)}.nav-item .icon{font-size:1.1rem;width:20px;display:flex;justify-content:center}.nav-item.nav-item-text{padding-left:var(--space-4)}.nav-item .badge{margin-left:auto;background:var(--bg-elevated);padding:2px 8px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;color:var(--text-tertiary)}.sidebar--collapsed{padding:var(--space-4) var(--space-2);gap:var(--space-6);align-items:center;overflow:visible}.sidebar--collapsed .sidebar-section{align-items:center;width:100%}.sidebar--collapsed .nav-item{justify-content:center;padding:var(--space-3);gap:0}.sidebar--collapsed .nav-item .icon{width:auto}.sidebar--collapsed .nav-item .badge{display:none}.sidebar-collapse-toggle{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);margin-top:auto;background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-tertiary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;width:100%;white-space:nowrap;overflow:hidden}.sidebar-collapse-toggle:hover{background:var(--bg-tertiary);color:var(--text-secondary);border-color:var(--border-subtle)}.sidebar--collapsed .sidebar-collapse-toggle{justify-content:center}.pomodoro-collapsed-container{position:relative;display:flex;justify-content:center;width:100%}.pomodoro-collapsed-trigger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);position:relative}.pomodoro-collapsed-trigger:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.pomodoro-collapsed-trigger.running{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.pomodoro-collapsed-indicator{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--accent);border-radius:var(--radius-full);animation:pomoPulse 2s ease-in-out infinite}@keyframes pomoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.pomodoro-collapsed-popup{position:absolute;left:calc(100% + var(--space-2));top:50%;transform:translateY(-50%);z-index:var(--z-popover);min-width:200px;animation:popupFadeIn .15s ease-out}.pomodoro-collapsed-popup .pomodoro-widget{box-shadow:var(--shadow-lg);border:1px solid var(--border-default)}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}.pomodoro-collapsed-indicator,.pomodoro-collapsed-popup{animation:none}.pomo-time-display.running{transition:none}}.energy-selector{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4)}.energy-title{font-size:.8rem;color:var(--text-secondary);margin-bottom:var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.energy-options{display:flex;gap:var(--space-2)}.energy-btn{flex:1;padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.energy-btn:hover{background:var(--bg-hover)}.energy-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.pomodoro-widget{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-3);text-align:center}.pomodoro-label{font-size:.6rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-1);font-weight:600}.pomodoro-task{display:flex;align-items:center;justify-content:center;gap:var(--space-1);margin-bottom:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border-radius:var(--radius-sm)}.pomodoro-task-title{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.pomodoro-task-clear{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;display:flex;align-items:center;transition:color var(--transition-fast)}.pomodoro-task-clear:hover{color:var(--danger)}.pomodoro-task-picker{position:relative;width:100%;margin-bottom:var(--space-1)}.pomodoro-task-trigger{width:100%;display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.pomodoro-task-trigger:hover{border-color:var(--border-strong);background:var(--bg-tertiary)}.pomodoro-task-trigger span{flex:1;text-align:left}.pomodoro-task-trigger .rotated{transform:rotate(180deg)}.pomodoro-task-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);max-height:120px;overflow-y:auto}.pomodoro-task-option{width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;text-align:left;color:var(--text-primary);font-size:.8rem;font-family:inherit;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pomodoro-task-option:hover{background:var(--bg-tertiary)}.pomodoro-task-empty{padding:var(--space-3);text-align:center;color:var(--text-tertiary);font-size:.8rem}.pomo-time-display{display:inline-block;font-size:1.75rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--text-primary);-webkit-user-select:none;user-select:none;cursor:pointer;padding:var(--space-1) var(--space-3);margin:var(--space-1) 0;border-radius:var(--radius-md);transition:color var(--transition-fast);outline:none}.pomo-time-display:hover:not(.running){color:var(--accent)}.pomo-time-display:focus-visible:not(.running){outline:2px solid var(--accent);outline-offset:2px}.pomo-time-display.running{color:var(--accent);cursor:default}.pomodoro-controls{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.pomo-btn{flex:1;padding:var(--space-2);border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;letter-spacing:.01em}.pomo-btn.primary{background:var(--accent);color:var(--gray-950)}.pomo-btn.primary:hover{background:var(--accent-light)}.pomo-btn.secondary{background:var(--bg-elevated);color:var(--text-tertiary);border:1px solid var(--border-subtle)}.pomo-btn.secondary:hover{background:var(--bg-hover);color:var(--text-secondary);border-color:var(--border-default)}.pomodoro-time-container{position:relative}.pomodoro-time-editor{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);min-width:168px}.pomodoro-presets{display:flex;gap:var(--space-1);justify-content:center;margin-bottom:var(--space-2)}.pomodoro-preset-btn{min-width:32px;min-height:30px;padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.7rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.pomodoro-preset-btn:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--text-primary)}.pomodoro-preset-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.pomodoro-custom-row{display:flex;align-items:center;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.pomodoro-custom-input{width:52px;min-height:30px;padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.75rem;font-family:inherit;text-align:center;transition:border-color var(--transition-fast)}.pomodoro-custom-input:focus{outline:none;border-color:var(--accent)}.pomodoro-custom-input::placeholder{color:var(--text-tertiary)}.pomodoro-custom-label{color:var(--text-tertiary);font-size:.7rem;flex:1}.pomodoro-custom-confirm{min-width:30px;min-height:30px;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--gray-950);cursor:pointer;transition:all var(--transition-fast)}.pomodoro-custom-confirm:hover:not(:disabled){background:var(--accent-light)}.pomodoro-custom-confirm:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.sidebar-overlay,.sidebar-header-mobile,.sidebar-close-btn{display:none}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(300px,88vw);z-index:1000;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:0;gap:0;overflow-y:auto;background:linear-gradient(180deg,var(--gray-900) 0%,var(--gray-950) 100%);border-right:1px solid var(--border-subtle);box-shadow:4px 0 24px #00000080}.sidebar.sidebar--open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;inset:0;background:var(--overlay-color);z-index:999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;animation:fadeIn .2s ease forwards}@keyframes fadeIn{to{opacity:1}}.sidebar-header-mobile{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,rgba(var(--accent-rgb),.08) 0%,transparent 60%);border-bottom:1px solid var(--border-subtle)}.sidebar-title-mobile{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}.sidebar-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border-subtle);color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-md);transition:all .2s ease}.sidebar-close-btn:hover{background:var(--bg-tertiary);border-color:var(--border-default);color:var(--text-primary)}.sidebar-close-btn:active{transform:scale(.95)}.sidebar-section{padding:var(--space-4) var(--space-4);gap:var(--space-1)}.sidebar-section:first-of-type{padding-top:var(--space-5)}.sidebar-title{padding:0 var(--space-3) var(--space-2);font-size:.65rem;font-weight:600;letter-spacing:.12em;color:var(--text-tertiary);text-transform:uppercase}.nav-item{padding:var(--space-3) var(--space-3);margin-bottom:2px;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:1px solid transparent;transition:all .15s ease}.nav-item .icon{width:22px;opacity:.7;transition:opacity .15s ease}.nav-item:hover .icon{opacity:1}.nav-item.active{background:rgba(var(--accent-rgb),.12);border-color:rgba(var(--accent-rgb),.25);color:var(--accent);box-shadow:inset 0 1px rgba(var(--accent-rgb),.1)}.nav-item.active .icon{opacity:1}.nav-item .badge{background:var(--bg-tertiary);border:1px solid var(--border-subtle);padding:2px 8px;font-size:.7rem;font-weight:600;color:var(--text-secondary)}.nav-item.active .badge{background:rgba(var(--accent-rgb),.15);border-color:rgba(var(--accent-rgb),.3);color:var(--accent)}.sidebar-section+.sidebar-section{border-top:1px solid var(--border-subtle);margin-top:var(--space-2);padding-top:var(--space-4)}.pomodoro-widget{margin:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.pomo-btn.primary{box-shadow:0 2px 8px rgba(var(--accent-rgb),.25)}.pomodoro-preset-btn,.pomodoro-custom-confirm{min-width:40px;min-height:40px}.energy-selector,.sidebar-collapse-toggle{display:none}}.sidebar-section--bottom{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.nav-item--admin{background:rgba(var(--accent-rgb),.05);border:1px solid rgba(var(--accent-rgb),.15)}.nav-item--admin:hover{background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.25)}.nav-item--admin.active{background:var(--accent);color:var(--gray-950);border-color:var(--accent)}.nav-item--admin.active .icon{color:var(--gray-950)}.main-content--admin{padding:0}.custom-select{position:relative;display:flex;flex-direction:column}.custom-select-measure{display:flex;flex-direction:column;height:0;overflow:hidden;padding:0 var(--space-3);padding-right:calc(var(--space-3) + var(--space-2) + 14px);border-left:1px solid transparent;border-right:1px solid transparent;font-size:.85rem;font-family:inherit;pointer-events:none;visibility:hidden}.custom-select.select-sm .custom-select-measure{padding:0 var(--space-2);padding-right:calc(var(--space-2) + var(--space-2) + 14px);border-left:1px solid transparent;border-right:1px solid transparent;font-size:.8rem}.custom-select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-size:.85rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);text-align:left}.custom-select-trigger:hover{border-color:var(--border-strong);background:var(--bg-tertiary)}.custom-select-trigger:focus{outline:none}.custom-select-trigger:focus.open{border-color:var(--accent)}.custom-select-trigger.open{border-color:var(--accent)}.custom-select-trigger span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-trigger svg{flex-shrink:0;color:var(--text-tertiary);transition:transform var(--transition-fast)}.custom-select-trigger svg.rotated{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;max-height:200px;overflow-y:auto}.custom-select-option{display:block;width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;text-align:left;color:var(--text-primary);font-size:.85rem;font-family:inherit;cursor:pointer;transition:background var(--transition-fast);white-space:nowrap}.custom-select-option:hover{background:var(--bg-tertiary)}.custom-select-option.selected{color:var(--accent);background:var(--accent-glow)}.custom-select-option.highlighted{background:var(--bg-tertiary)}.custom-select.select-fit{width:fit-content}.custom-select.select-sm .custom-select-trigger,.custom-select.select-sm .custom-select-option{padding:var(--space-1) var(--space-2);font-size:.8rem}.search-bar{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.search-input-wrapper{flex:1;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:var(--space-3);color:var(--text-tertiary);pointer-events:none}.search-input{width:100%;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);padding-left:calc(var(--space-3) + 24px);color:var(--text-primary);font-family:inherit;font-size:.9rem;outline:none;transition:all var(--transition-fast)}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--text-tertiary)}.search-clear{position:absolute;right:var(--space-3);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.search-clear:hover{color:var(--text-primary);background:var(--bg-tertiary)}.sort-controls{display:flex;gap:var(--space-2)}.sort-select-wrapper{min-width:130px}.sort-select-wrapper .custom-select-trigger{background:var(--bg-secondary);padding:var(--space-3) var(--space-3)}.sort-select-wrapper .custom-select-trigger:hover{border-color:var(--accent)}.sort-order-btn{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.sort-order-btn:hover{border-color:var(--accent);color:var(--accent)}.sort-order-btn.asc svg{transform:rotate(180deg)}.search-bar-container{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-4)}.search-bar-container .search-bar{margin-bottom:0}.filter-toggle-btn{display:flex;align-items:center;gap:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3);color:var(--text-secondary);font-family:inherit;font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-toggle-btn:hover{border-color:var(--accent);color:var(--text-primary)}.filter-toggle-btn.active{border-color:var(--accent);background:var(--accent-glow)}.filter-toggle-btn.has-filters{color:var(--accent)}.filter-toggle-btn .chevron{transition:transform var(--transition-fast)}.filter-toggle-btn .chevron.open{transform:rotate(180deg)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;background:var(--accent);color:var(--bg-primary);font-size:.625rem;font-weight:700;line-height:1;border-radius:var(--radius-full);font-variant-numeric:tabular-nums}.filter-panel{display:flex;flex-wrap:wrap;gap:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4)}.filter-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:120px}.filter-group-tags{flex:1;min-width:200px}.filter-label{font-size:.75rem;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.filter-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-tag{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);color:var(--text-secondary);font-family:inherit;font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.filter-tag:hover{border-color:var(--accent);color:var(--text-primary)}.filter-tag.active{background:var(--accent);border-color:var(--accent);color:var(--bg-primary)}.clear-filters-btn{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;color:var(--text-tertiary);font-family:inherit;font-size:.8rem;cursor:pointer;padding:var(--space-2);margin-left:auto;align-self:flex-end;transition:all var(--transition-fast)}.clear-filters-btn:hover{color:var(--danger)}.view-loader{display:flex;justify-content:center;align-items:center;min-height:200px}.view-loader-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.grace-progress-track{width:60px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.grace-progress-fill{height:100%;background:var(--info);border-radius:2px;transition:width var(--transition-slow)}.grace-progress-text{font-size:.75rem;color:var(--text-tertiary);font-feature-settings:"tnum";min-width:24px;text-align:right}.task-input-container{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-4);border:1px solid var(--border-subtle);transition:all var(--transition-base);margin-bottom:var(--space-4)}.task-input-container:focus-within{border-color:var(--accent);box-shadow:var(--shadow-glow)}.task-input-row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.task-input{flex:1;background:transparent;border:none;font-size:1rem;color:var(--text-primary);font-family:inherit;outline:none}.task-input::placeholder{color:var(--text-muted)}.task-input-enter-hint{font-size:.72rem;color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:2px 8px;white-space:nowrap;flex-shrink:0;-webkit-user-select:none;user-select:none;pointer-events:none}.input-actions{display:flex;gap:var(--space-2);flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.icon-btn{padding:var(--space-2);background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap}.icon-btn:hover{background:var(--accent);color:var(--gray-950)}.add-btn{display:flex;align-items:center;padding:var(--space-2) var(--space-4);background:var(--accent);border:none;border-radius:var(--radius-full);color:var(--gray-950);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;flex-shrink:0;white-space:nowrap}.add-btn:hover{background:var(--accent-light);transform:translateY(-1px)}.task-input-subtasks-empty{font-size:.72rem;color:var(--text-muted);text-align:center;padding:var(--space-2) 0}.task-options-toggle{margin-left:auto}.task-options{display:flex;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);flex-wrap:wrap;align-items:flex-start}@media(max-width:900px){.task-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.task-options .option-group{flex-direction:column;align-items:stretch;gap:var(--space-1)}.task-options .option-group .custom-select,.task-options .option-group .option-select{width:100%}.task-options .option-group-tags{grid-column:1 / -1;flex-direction:column;align-items:stretch}.task-options .option-group-tags .tag-input-row{width:100%}.task-options .option-group-tags .tag-input-wrapper{flex:1}.task-options .option-group-tags .option-input-tag-simple{width:100%}.task-options-toggle{grid-column:1 / -1;justify-self:end}.advanced-card-details{grid-column:1 / -1}.advanced-settings-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.task-options{grid-template-columns:1fr}.task-options .option-group-tags{grid-column:auto}.task-options-toggle{grid-column:auto;justify-self:end}.advanced-settings-grid{grid-template-columns:1fr}}.task-advanced-panel{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--space-2);animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0}to{opacity:1}}.advanced-grid-layout{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:172px;gap:var(--space-2);max-width:1200px;padding-bottom:var(--space-6)}.advanced-card{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);display:flex;flex-direction:column;min-width:0;overflow:visible;clip:auto}.advanced-card-scrollable{overflow:hidden;clip:rect(0,auto,auto,0)}.advanced-card-details .advanced-description{flex:1;min-height:0}.advanced-setting .custom-select-trigger{padding:var(--space-2) var(--space-2);font-size:.8rem;height:var(--space-8)}.advanced-setting .custom-select-option{padding:var(--space-2) var(--space-2);font-size:.8rem}.advanced-setting .time-estimate-custom-input{font-size:.8rem;height:var(--space-8);padding:0 var(--space-2)}.advanced-setting .recurrence-wrapper{gap:var(--space-1)}.advanced-setting .recurrence-config-btn{border:none}.advanced-card-header{margin-bottom:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle)}.advanced-card-title{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);display:flex;align-items:center;gap:var(--space-2)}.advanced-count{background:var(--accent);color:var(--gray-950);font-size:.6rem;padding:1px 5px;border-radius:var(--radius-full);font-weight:700}.advanced-description{width:100%;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2);color:var(--text-primary);font-family:inherit;font-size:.8rem;resize:none;outline:none;transition:all var(--transition-fast);min-height:48px}.advanced-description:focus{border-color:var(--accent)}.advanced-description::placeholder{color:var(--text-muted)}.advanced-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-2);min-width:0}.advanced-setting{display:flex;flex-direction:column;gap:2px;min-width:0}.advanced-setting .custom-select,.advanced-setting .custom-select-trigger,.advanced-setting .advanced-date-input{width:100%;min-width:0;box-sizing:border-box}.advanced-setting-label{font-size:.68rem;color:var(--text-tertiary);font-weight:500}.advanced-date-input{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-2);color:var(--text-primary);font-family:inherit;font-size:.8rem;outline:none;transition:all var(--transition-fast);width:100%;color-scheme:var(--native-color-scheme);box-sizing:border-box}.advanced-date-input:focus{border-color:var(--accent)}.advanced-subtasks-list{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-2);flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-700) transparent}.advanced-subtasks-list::-webkit-scrollbar{width:3px}.advanced-subtasks-list::-webkit-scrollbar-track{background:transparent}.advanced-subtasks-list::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:2px}.advanced-subtask-item{display:flex;align-items:center;gap:var(--space-1);padding:3px var(--space-2);background:var(--bg-secondary);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.advanced-subtask-item:hover{background:var(--bg-elevated)}.advanced-subtask-bullet{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.advanced-subtask-text{flex:1;font-size:.78rem;color:var(--text-secondary)}.advanced-subtask-remove{background:none;border:none;padding:2px;cursor:pointer;color:var(--text-muted);display:flex;opacity:0;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.advanced-subtask-item:hover .advanced-subtask-remove{opacity:1}.advanced-subtask-remove:hover{color:var(--danger);background:rgba(var(--danger-rgb),.1)}.advanced-subtask-add{display:flex;gap:var(--space-1)}.advanced-subtask-input{flex:1;min-width:0;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2);color:var(--text-primary);font-family:inherit;font-size:.82rem;min-height:32px;outline:none;transition:all var(--transition-fast)}.advanced-subtask-input:focus{border-color:var(--accent)}.advanced-subtask-input::placeholder{color:var(--text-muted)}.advanced-subtask-add-btn{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--gray-950);padding:0 8px;min-height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-weight:600;flex-shrink:0}.advanced-subtask-add-btn:hover{background:var(--accent-light)}.advanced-card .reminder-picker{margin-top:0}@media(max-width:1100px){.advanced-grid-layout{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.task-advanced-panel{overflow-x:hidden}.advanced-grid-layout{grid-template-columns:1fr;grid-auto-rows:auto}.advanced-card:nth-child(1),.advanced-card:nth-child(2){min-height:auto}}@media(max-width:480px){.advanced-settings-grid{grid-template-columns:1fr}.advanced-card{padding:var(--space-2)}}.option-group{display:flex;align-items:center;gap:var(--space-2)}.option-group:first-child .custom-select{min-width:115px}.option-group .datepicker-trigger{min-width:155px}.option-label{font-size:.8rem;color:var(--text-tertiary)}.option-select{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-family:inherit;font-size:.85rem;cursor:pointer;outline:none;transition:all var(--transition-fast)}.option-select:hover{border-color:var(--border-strong);background:var(--bg-tertiary)}.option-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}input[type=date]::-webkit-calendar-picker-indicator{filter:var(--calendar-icon-filter);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=date]::-webkit-datetime-edit{color:var(--text-primary)}input[type=date]::-webkit-datetime-edit-fields-wrapper{color:var(--text-primary)}input[type=date]{color-scheme:var(--native-color-scheme)}.option-group-tags{position:relative;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tag-input-row{display:flex;gap:var(--space-2);align-items:center}.tag-chips-row{display:flex;flex-wrap:wrap;gap:var(--space-1)}.tag-chips-row:empty{display:none}.tag-input-wrapper{position:relative;flex:1;min-width:0}.option-input-tag-simple{width:160px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-2);color:var(--text-primary);font-family:inherit;font-size:.85rem}.option-input-tag-simple:focus{outline:none;border-color:var(--accent)}.tag-add-btn-simple{background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--gray-950);width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-fast)}.tag-add-btn-simple:hover{background:var(--accent-light)}.tag-suggestions-simple{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;max-height:200px;overflow-y:auto}.tag-option-group{flex:1;min-width:200px}.tag-input-inline{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);min-height:32px;flex:1;min-width:0;position:relative}.tag-chip-small{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;background:var(--bg-elevated);border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.tag-remove-small{background:none;border:none;padding:0;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;line-height:1}.tag-remove-small:hover{color:var(--danger)}.tag-input-wrapper-inline{flex:1;min-width:60px}.option-input-tag{background:transparent;border:none;outline:none;padding:var(--space-1);color:var(--text-primary);font-family:inherit;font-size:.85rem;flex:1;min-width:60px}.tag-suggestions-inline{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:100;max-height:200px;overflow-y:auto}.more-options-toggle{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;color:var(--text-tertiary);font-size:.8rem;font-family:inherit;cursor:pointer;padding:var(--space-1) 0;transition:color var(--transition-fast)}.more-options-toggle:hover{color:var(--text-secondary)}.more-options-badge{color:var(--accent);font-size:.75rem}.task-options-expanded{padding-top:var(--space-3);border-top:1px solid var(--border-subtle);margin-top:var(--space-2)}.expanded-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.expanded-group{display:flex;flex-direction:column;gap:var(--space-2)}.expanded-textarea{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2);font-size:.85rem;font-family:inherit;color:var(--text-primary);resize:vertical;min-height:60px}.expanded-textarea:focus{outline:none;border-color:var(--accent)}.subtask-count-inline{margin-left:var(--space-1);background:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-full);font-size:.7rem;color:var(--text-secondary)}.subtasks-preview{display:flex;flex-direction:column;gap:var(--space-1);max-height:100px;overflow-y:auto}.subtask-preview-item{display:flex;align-items:center;justify-content:space-between;background:var(--bg-tertiary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:.8rem;color:var(--text-secondary)}.subtask-preview-remove{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;display:flex;opacity:0;transition:all var(--transition-fast)}.subtask-preview-item:hover .subtask-preview-remove{opacity:1}.subtask-preview-remove:hover{color:var(--danger)}.subtask-add-row{display:flex;gap:var(--space-2)}.subtask-add-input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2);font-size:.8rem;font-family:inherit;color:var(--text-primary)}.subtask-add-input:focus{outline:none;border-color:var(--accent)}.subtask-add-btn{background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--gray-950);padding:var(--space-2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.subtask-add-btn:hover{background:var(--accent-light)}.time-estimate-picker{display:flex;align-items:center;gap:var(--space-1)}.time-estimate-picker .custom-select{flex:1;min-width:0}.time-estimate-edit-btn{background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-muted);padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.time-estimate-edit-btn:hover{color:var(--accent);border-color:var(--accent)}.time-estimate-custom{display:flex;align-items:center;gap:var(--space-1)}.time-estimate-custom-input{width:100%;background:var(--bg-elevated);border:1px solid var(--accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-family:inherit;font-size:.85rem;outline:none;box-shadow:0 0 0 2px var(--accent-glow);transition:all var(--transition-fast)}.time-estimate-custom-input::placeholder{color:var(--text-muted);font-size:.8rem}@media(max-width:640px){.expanded-row{grid-template-columns:1fr}.task-input-row{flex-wrap:wrap}.task-input{min-width:100%;margin-bottom:var(--space-2)}.input-actions{width:100%;justify-content:flex-end}}.task-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-subtle);display:flex;flex-direction:column;transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);cursor:pointer}.task-card-row{display:flex;align-items:flex-start;gap:var(--space-3)}.task-card:hover{border-color:var(--border-strong);transform:translate(4px);transition:border-color var(--transition-base),background var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.task-card--priority-high,.task-card--priority-medium{border-left:4px solid;border-radius:3px 10px 10px 3px}.task-card.completed{opacity:.6}.task-card.completed .task-title{text-decoration:line-through;color:var(--text-tertiary)}.task-card.overdue-mild{border-color:var(--warning);background:rgba(var(--warning-rgb),.05)}.task-card.overdue-mild:hover{border-color:var(--warning)}.task-card.overdue-severe{border-color:var(--danger);background:rgba(var(--danger-rgb),.05)}.task-card.overdue-severe:hover{border-color:var(--danger)}.task-card.overdue-mild.task-card--priority-high,.task-card.overdue-mild.task-card--priority-medium{border-left:1px solid var(--warning);border-radius:var(--radius-lg)}.task-card.overdue-severe.task-card--priority-high,.task-card.overdue-severe.task-card--priority-medium{border-left:1px solid var(--danger);border-radius:var(--radius-lg)}.task-checkbox{width:20px;height:20px;border:2px solid var(--gray-600);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;user-select:none;-webkit-user-select:none}.task-checkbox:hover{border-color:var(--accent)}.task-card.completed .task-checkbox{background:var(--accent);border-color:var(--accent)}.task-checkbox svg{width:12px;height:12px;color:var(--gray-950);opacity:0;transform:scale(0);transition:all var(--transition-fast)}.task-card.completed .task-checkbox svg{opacity:1;transform:scale(1)}.task-content{flex:1;min-width:0;cursor:pointer}.task-title{font-size:.95rem;font-weight:600;color:var(--text-primary);overflow-wrap:break-word;word-break:break-word}.task-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:5px}.task-meta-text{font-size:.7rem;color:var(--text-tertiary);margin-top:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.meta-sep{color:var(--gray-600)}.task-meta-text .overdue-mild{color:var(--warning)}.task-meta-text .overdue-severe{color:var(--danger)}.task-meta-text .today{color:var(--accent)}.task-energy{font-size:.75rem;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}.task-priority{display:flex;gap:3px}.task-actions{display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.task-card:hover .task-actions{opacity:1}.task-action-btn{padding:var(--space-2);background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.task-action-btn:hover{background:var(--accent);color:var(--gray-950)}.task-action-btn.delete:hover{background:var(--danger)}.task-list{display:flex;flex-direction:column;gap:var(--space-3)}.show-more-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3);margin-top:var(--space-3);background:var(--bg-secondary);border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.85rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.show-more-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.task-group{margin-bottom:var(--space-4)}.task-group-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.task-group-title{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.task-group-title.late-mild{color:var(--warning)}.task-group-title.late-severe{color:var(--danger)}.task-group-count{font-size:.75rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.task-group-estimate{font-size:.75rem;color:var(--accent);display:flex;align-items:center;gap:4px;margin-left:auto}.task-group-header--collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.task-group-header--collapsible:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.task-group-chevron{color:var(--text-tertiary);transition:transform .2s ease;flex-shrink:0}.task-group-chevron--expanded{transform:rotate(90deg)}.task-group-header--collapsible:hover .task-group-chevron{color:var(--accent)}.task-group-header-row{display:flex;align-items:center;gap:8px}.task-group-header-row .task-group-header{flex:1;min-width:0}.task-indicators{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;padding-left:var(--space-2)}.task-indicator{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.task-indicator--reminder{color:var(--accent);opacity:.7}.subtask-pill{display:inline-flex;align-items:center;gap:5px;cursor:pointer;padding:1px 6px;border-radius:var(--radius-full);transition:background-color var(--transition-fast);-webkit-user-select:none;user-select:none}.subtask-pill:hover{background:#ffffff0f}.subtask-pill:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.subtask-pill-track{width:24px;height:2px;background:var(--gray-700);border-radius:var(--radius-full);overflow:hidden;flex-shrink:0}.subtask-progress-fill{height:100%;background:var(--accent);border-radius:var(--radius-full);transition:width .3s cubic-bezier(.4,0,.2,1),background-color .3s ease;display:block}.subtask-pill.all-done .subtask-progress-fill{background:var(--success)}.subtask-pill.all-done .subtask-pill-track{box-shadow:0 0 4px rgba(var(--success-rgb),.3);animation:subtask-celebration .6s ease-out}@keyframes subtask-celebration{0%{box-shadow:0 0 rgba(var(--success-rgb),0)}40%{box-shadow:0 0 8px rgba(var(--success-rgb),.5)}to{box-shadow:0 0 4px rgba(var(--success-rgb),.3)}}.subtask-pill-text{font-size:.7rem;color:var(--text-tertiary);white-space:nowrap;display:inline-flex;align-items:center;gap:2px;font-variant-numeric:tabular-nums}.subtask-pill.all-done .subtask-pill-text{color:var(--success)}.subtask-done-check{color:var(--success);animation:subtask-check-pop .3s ease-out}@keyframes subtask-check-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}.task-subtask-indicator{display:inline-flex;align-items:center;gap:6px}.task-subtask-indicator.all-done{color:var(--success)}.task-subtask-indicator.all-done .subtask-progress-fill{background:var(--success)}.subtask-pill-track--compact{width:20px}@keyframes taskComplete{0%{opacity:1;transform:translate(0) scale(1)}50%{opacity:.8;transform:translate(4px) scale(.98)}to{opacity:.3;transform:translate(12px) scale(.96)}}@keyframes checkPop{0%{transform:scale(.8)}50%{transform:scale(1.3)}to{transform:scale(1)}}.task-card.completing{animation:taskComplete .4s ease forwards;pointer-events:none}.task-card.completing .task-checkbox{background:var(--accent)!important;border-color:var(--accent)!important;animation:checkPop .3s ease}.task-card.completing .task-checkbox svg{opacity:1!important;transform:scale(1)!important;color:var(--gray-950)!important}.task-subtasks-inline{display:flex;flex-direction:column;padding:0 0 0 calc(20px + var(--space-3));margin-top:var(--space-2);gap:1px;animation:subtask-expand .15s ease-out}@keyframes subtask-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.inline-subtask{display:flex;align-items:center;gap:8px;padding:3px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;color:var(--text-primary);transition:background-color var(--transition-fast),opacity var(--transition-fast);user-select:none;-webkit-user-select:none}.inline-subtask:hover{background:#ffffff0a}.inline-subtask.completed .subtask-checkbox,.inline-subtask.completed .inline-subtask-title{opacity:.5}.inline-subtask.completed .inline-subtask-title{color:var(--text-tertiary);text-decoration:line-through}.subtask-checkbox{width:16px;height:16px;border:1.5px solid var(--gray-600);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.subtask-checkbox:hover{border-color:var(--accent)}.subtask-checkbox:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.inline-subtask.completed .subtask-checkbox{background:var(--accent);border-color:var(--accent)}.inline-subtask.just-toggled .subtask-checkbox{animation:checkPop .3s ease}.subtask-checkbox svg{width:10px;height:10px;color:var(--gray-950);opacity:0;transform:scale(0);transition:all .15s ease}.inline-subtask.completed .subtask-checkbox svg{opacity:1;transform:scale(1)}.inline-subtask-title{line-height:1.3;min-width:0;overflow-wrap:break-word;word-break:break-word;user-select:none;-webkit-user-select:none;cursor:default}@media(prefers-reduced-motion:reduce){.task-card.completing{animation:none;opacity:.3}.task-card.completing .task-checkbox{animation:none}.task-group-chevron{transition:none}.task-subtasks-inline{animation:none}.subtask-chevrons-all{transition:none}.subtask-pill.all-done .subtask-pill-track,.subtask-done-check,.inline-subtask.just-toggled .subtask-checkbox{animation:none}.subtask-progress-fill{transition:none}.subtask-checkbox svg{transition:none}}.subtask-toggle-all{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.subtask-toggle-all:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-elevated)}.subtask-chevrons-all{transition:transform .2s ease}.subtask-chevrons-all.expanded{transform:rotate(90deg)}.reschedule-dropdown{position:relative;margin-left:auto}.reschedule-trigger{display:flex;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-family:inherit;color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.reschedule-trigger:hover{color:var(--accent);border-color:var(--accent);background:var(--bg-elevated)}.reschedule-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:50;min-width:180px;padding:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #0003}.reschedule-option{display:block;width:100%;padding:8px 12px;font-size:.8125rem;font-family:inherit;color:var(--text-primary);background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .1s ease}.reschedule-option:hover{background:var(--bg-hover)}.reschedule-option--muted{color:var(--text-tertiary)}.reschedule-divider{height:1px;margin:4px 8px;background:var(--border)}.kanban-view{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.kanban-column{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-3);min-height:400px;border:1px solid var(--border-subtle);display:flex;flex-direction:column;min-width:0}.kanban-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);margin-bottom:var(--space-3);border-radius:var(--radius-md);background:var(--bg-tertiary)}.kanban-title{font-weight:600;font-size:.9rem}.kanban-count{font-size:.8rem;background:var(--bg-elevated);padding:2px 8px;border-radius:var(--radius-full);color:var(--text-tertiary)}.kanban-tasks{display:flex;flex-direction:column;gap:var(--space-2);min-height:100px;flex-grow:1;padding:var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-fast)}.kanban-tasks.drag-over{background:var(--accent-glow);border:2px dashed var(--accent)}.kanban-task{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-3);border:1px solid var(--border-subtle);cursor:grab;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;touch-action:none;min-width:0;overflow:hidden}.kanban-task:hover{border-color:var(--border-strong);transform:translate(4px)}.kanban-task--priority-high,.kanban-task--priority-medium{border-left:4px solid;border-radius:3px 8px 8px 3px}.kanban-task:active{cursor:grabbing}.kanban-task.dragging{opacity:.4}.kanban-task-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.kanban-task-title{font-size:.9rem;flex:1;min-width:0}.kanban-task-delete{background:none;border:none;padding:var(--space-1);color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all var(--transition-fast);flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.kanban-task:hover .kanban-task-delete{opacity:1}.kanban-task-delete:hover{color:var(--danger);background:rgba(var(--danger-rgb),.1)}.kanban-task-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:4px}.kanban-task-meta-text{font-size:.7rem;color:var(--text-tertiary);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.kanban-task-meta-text .overdue-mild{color:var(--warning)}.kanban-task-meta-text .overdue-severe{color:var(--danger)}.kanban-task-meta-text .today{color:var(--accent)}.priority-high{color:var(--danger);font-weight:700;font-size:.8rem}.kanban-empty{color:var(--text-tertiary);font-size:.85rem;text-align:center;padding:var(--space-4)}.kanban-show-more{display:flex;align-items:center;justify-content:center;gap:var(--space-1);width:100%;padding:var(--space-2);margin-top:var(--space-2);background:var(--bg-tertiary);border:1px dashed var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.kanban-show-more:hover{background:var(--bg-elevated);border-color:var(--border-strong);color:var(--text-primary)}.kanban-show-older{width:100%;padding:var(--space-2) var(--space-3);background:none;border:1px dashed var(--border-subtle);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:.75rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);margin-top:var(--space-2)}.kanban-show-older:hover{color:var(--text-secondary);border-color:var(--text-tertiary)}.calendar-view{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-subtle)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.calendar-nav{display:flex;align-items:center;gap:var(--space-3)}.calendar-nav-btn{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.calendar-nav-btn:hover{background:var(--accent);color:var(--gray-950)}.calendar-month{font-size:1.25rem;font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.calendar-day-header{background:var(--bg-tertiary);padding:var(--space-3);text-align:center;font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase}.calendar-day{background:var(--bg-secondary);padding:var(--space-2);min-height:100px;min-width:0;overflow:hidden;transition:background var(--transition-fast)}.calendar-day:hover{background:var(--bg-tertiary)}.calendar-day.today{border:2px solid var(--accent)}.calendar-day.other-month{opacity:.3}.calendar-date{font-size:.85rem;font-weight:600;margin-bottom:var(--space-1)}.calendar-date.clickable{cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.calendar-date.clickable:hover{background:var(--accent);color:var(--gray-950)}.calendar-day.today .calendar-date{color:var(--accent)}.calendar-day.today .calendar-date.clickable:hover{color:var(--gray-950)}.calendar-task{font-size:.7rem;padding:3px 6px 3px 10px;border-radius:4px;margin-bottom:2px;max-width:100%;display:flex;align-items:center;gap:4px;background:var(--bg-tertiary);color:var(--text-primary);position:relative}.calendar-task-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-task-priority{color:var(--danger);font-weight:700;font-size:.75rem;flex-shrink:0}.calendar-task.clickable{cursor:pointer;transition:all var(--transition-fast)}.calendar-task.clickable:hover{background:var(--bg-elevated);transform:translate(2px)}.calendar-task--priority-high,.calendar-task--priority-medium{border-left:3px solid;border-radius:2px 4px 4px 2px;padding-left:7px}.calendar-task.completed{opacity:.45}.calendar-task.completed .calendar-task-title{text-decoration:line-through}.calendar-task-week.completed{opacity:.45}.calendar-task-week.completed .calendar-task-title{text-decoration:line-through}.calendar-day-task.completed{opacity:.45}.calendar-day-task.completed .calendar-day-task-title{text-decoration:line-through}.calendar-task-week{font-size:.75rem;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-primary);position:relative;display:flex;flex-direction:column;gap:4px}.calendar-task-week.clickable{cursor:pointer;transition:all var(--transition-fast)}.calendar-task-week.clickable:hover{background:var(--bg-hover);transform:translate(2px)}.calendar-task-week--priority-high,.calendar-task-week--priority-medium{border-left:3px solid;border-radius:2px 6px 6px 2px}.calendar-task-week-header{display:flex;align-items:center;gap:4px}.calendar-task-time{font-size:.65rem;font-weight:600;color:var(--accent);white-space:nowrap;flex-shrink:0}.calendar-day-task-header .calendar-task-time{font-size:.75rem}.calendar-task-week-tags{display:flex;gap:3px;flex-wrap:nowrap;overflow:hidden}.calendar-task-week-tags .tag{font-size:.6rem;padding:0 5px;white-space:nowrap}.calendar-task-week-overflow{font-size:.6rem;color:var(--text-tertiary);flex-shrink:0}.calendar-task-more{font-size:.65rem;color:var(--text-tertiary);padding:2px 6px}.calendar-controls{display:flex;align-items:center;gap:var(--space-3)}.calendar-view-toggle{display:flex;background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:2px}.view-toggle-btn{padding:var(--space-2) var(--space-3);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;font-size:.8rem;transition:all var(--transition-fast)}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn.active{background:var(--accent);color:var(--gray-950)}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.calendar-week-day{background:var(--bg-tertiary);border-radius:var(--radius-md);min-height:300px;min-width:0;overflow:hidden;display:flex;flex-direction:column}.calendar-week-day.today{border:1px solid var(--border-strong);box-shadow:inset 0 2px 0 0 var(--accent)}.calendar-week-header{padding:var(--space-3);border-bottom:1px solid var(--border-subtle);text-align:center}.calendar-week-header.clickable{cursor:pointer;transition:background var(--transition-fast)}.calendar-week-header.clickable:hover{background:var(--bg-hover)}.calendar-week-day-name{display:block;font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase}.calendar-week-day-num{display:block;font-size:1.25rem;font-weight:600;margin-top:var(--space-1)}.calendar-week-day.today .calendar-week-day-num{color:var(--accent)}.calendar-week-tasks{flex:1;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.calendar-task-week.dragging{opacity:.5}.calendar-day.drag-over,.calendar-week-day.drag-over,.calendar-day-view.drag-over{background:var(--accent-glow);border:2px dashed var(--accent)}.calendar-task.dragging{opacity:.5}.calendar-drop-hint{font-size:.75rem;color:var(--accent);text-align:center;padding:var(--space-4);border:2px dashed var(--accent);border-radius:var(--radius-md);background:var(--accent-glow);pointer-events:none}.calendar-empty{font-size:.75rem;color:var(--text-tertiary);text-align:center;padding:var(--space-4)}.calendar-day-view{background:var(--bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4);min-height:400px}.calendar-day-view.today{border:1px solid var(--border-strong);box-shadow:inset 0 2px 0 0 var(--accent)}.calendar-day-tasks{display:flex;flex-direction:column;gap:var(--space-3)}.calendar-day-task{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast)}.calendar-day-task:hover{border-color:var(--border-strong);transform:translateY(-2px)}.calendar-day-task--priority-high,.calendar-day-task--priority-medium{border-left:4px solid;border-radius:3px 10px 10px 3px}.calendar-day-task-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.calendar-day-task-title{font-weight:600}.calendar-day-task-desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--space-3)}.calendar-day-task-meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:.8rem}.calendar-day-task-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:4px}.calendar-day-task-meta-text{font-size:.7rem;color:var(--text-tertiary);display:flex;align-items:center;flex-wrap:wrap}.calendar-day-task-meta-text .task-priority-dots{display:inline-flex;gap:2px;margin-left:6px;align-items:center}.calendar-no-tasks{text-align:center;color:var(--text-tertiary);padding:var(--space-8)}.calendar-habits-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.calendar-habits-toggle:hover{border-color:var(--border-strong)}.calendar-habits-toggle.active{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.calendar-day-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-1)}.calendar-habits-indicator{display:flex;align-items:center;gap:2px;font-size:.65rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:1px 4px;border-radius:var(--radius-sm)}.calendar-habits-indicator svg{color:var(--accent)}.calendar-habits-indicator .all-done{color:var(--success)}.calendar-habits-section{display:flex;flex-direction:column;gap:2px;padding-bottom:var(--space-2);margin-bottom:var(--space-2);border-bottom:1px dashed var(--border-subtle)}.calendar-habit-item{display:flex;align-items:center;gap:var(--space-1);padding:2px 4px;font-size:.7rem;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.calendar-habit-item:hover{background:var(--bg-hover)}.calendar-habit-item svg{color:var(--accent);flex-shrink:0}.calendar-habit-item.completed{opacity:.6}.calendar-habit-item.completed span{text-decoration:line-through}.calendar-day-habits{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4)}.calendar-day-habits h4{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-3) 0}.calendar-day-habits h4 svg{color:var(--accent)}.calendar-day-habits-list{display:flex;flex-direction:column;gap:var(--space-2)}.calendar-day-habit{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.calendar-day-habit:hover{background:var(--bg-hover)}.calendar-day-habit.completed{opacity:.7}.calendar-day-habit.completed .habit-title{text-decoration:line-through;color:var(--text-tertiary)}.habit-check{width:20px;height:20px;border:2px solid var(--border-strong);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--text-primary);flex-shrink:0}.habit-check.checked{background:var(--accent);border-color:var(--accent);color:var(--gray-950)}.habit-info{display:flex;align-items:center;gap:var(--space-3)}.habit-title{font-size:.9rem;color:var(--text-primary)}@media(max-width:900px){.calendar-header{flex-wrap:wrap;gap:var(--space-3)}.calendar-nav{width:100%;justify-content:center}.calendar-controls{width:100%;justify-content:center;flex-wrap:wrap}.calendar-month{font-size:1rem}}@media(max-width:480px){.calendar-controls{gap:var(--space-2)}.view-toggle-btn,.calendar-habits-toggle,.calendar-nav-btn{padding:var(--space-1) var(--space-2);font-size:.75rem}}@media(max-width:768px){.calendar-week-grid{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2)}.calendar-week-grid>.calendar-week-day{min-width:100px}}.analytics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.stat-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border-subtle);text-align:center;transition:all var(--transition-base)}.stat-card:hover{transform:translateY(-4px);border-color:var(--accent)}.stat-card-icon{font-size:1.5rem;margin-bottom:var(--space-2)}.stat-card-value{font-size:2rem;font-weight:700;color:var(--accent);margin-bottom:var(--space-1)}.stat-card-label{font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.streak-display{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:var(--radius-lg);padding:var(--space-6);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-6);border:1px solid var(--border-subtle);margin-bottom:var(--space-6)}.streak-icon{font-size:3rem}.streak-info{justify-self:start}.analytics-streak-count{font-size:2.5rem;font-weight:700;color:var(--warning);line-height:1.2}.streak-label{color:var(--text-secondary)}.streak-best{text-align:right;justify-self:end}.streak-best-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase}.streak-best-value{font-size:1.25rem;font-weight:600;color:var(--text-secondary)}.streak-grace{text-align:right;justify-self:end;padding-left:var(--space-4);border-left:1px solid var(--border-subtle)}.streak-grace-header{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.streak-grace-header .shield-active{color:var(--info)}.streak-grace-header .shield-inactive{color:var(--info);opacity:.35}.streak-grace-value{font-size:1.25rem;font-weight:600;color:var(--info)}.streak-grace-value.grace-value-empty{color:var(--text-muted)}.streak-grace-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;margin-top:2px}.streak-grace-progress{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.charts-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.chart-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border-subtle)}.chart-title{font-size:1rem;font-weight:600;margin-bottom:var(--space-4)}.weekly-chart{display:flex;align-items:flex-end;justify-content:space-between;height:160px;padding-top:28px}.chart-bar-container{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1;transition:transform var(--transition-fast)}.chart-bar-container.is-today{transform:scale(1.05)}.chart-bar{width:28px;background:var(--accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:height var(--transition-slow);position:relative}.chart-bar.chart-bar-today{width:36px}.chart-bar:after{content:attr(data-value);position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:.8rem;font-weight:500;color:var(--text-tertiary)}.chart-bar.chart-bar-today:after{color:var(--accent);font-weight:700;font-size:.9rem}.chart-grace-marker{width:28px;display:flex;align-items:center;justify-content:center;color:var(--info);opacity:.5}.chart-bar-container.is-today .chart-grace-marker{width:36px}.chart-label-group{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.chart-label{font-size:.75rem;color:var(--text-tertiary);font-weight:500;letter-spacing:.02em}.chart-label-group.is-today .chart-label{color:var(--accent);font-weight:600}.chart-label-date{font-size:.7rem;color:var(--text-muted);font-feature-settings:"tnum"}.chart-label-group.is-today .chart-label-date{color:var(--text-secondary)}.category-chart{display:flex;flex-direction:column;gap:var(--space-3)}.category-item{display:flex;flex-direction:column;gap:var(--space-1)}.category-header{display:flex;align-items:center;gap:var(--space-2)}.category-color{width:10px;height:10px;border-radius:50%}.category-name{flex:1;font-size:.85rem;text-transform:capitalize}.category-value{font-size:.85rem;color:var(--text-secondary);font-weight:500}.category-bar{width:100%;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.category-fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.achievements-section{margin-top:var(--space-6)}.achievements-title{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-4)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.achievement-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-subtle);text-align:center;transition:all var(--transition-base)}.achievement-card.unlocked{border-color:var(--warning);background:rgba(var(--warning-rgb),.05)}.achievement-card.locked{opacity:.4}.achievement-card:hover{transform:scale(1.02)}.achievement-icon{font-size:2rem;margin-bottom:var(--space-2)}.achievement-card.locked .achievement-icon{filter:grayscale(1)}.achievement-name{font-weight:600;font-size:.9rem;margin-bottom:var(--space-1)}.achievement-desc{font-size:.75rem;color:var(--text-tertiary)}.achievements-view{padding:var(--space-4)}.achievements-overview{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.achievements-overview-left h2{font-size:1.75rem;font-weight:700;margin-bottom:var(--space-1)}.achievements-subtitle{color:var(--text-secondary);font-size:.9rem}.achievements-overview-right{display:flex;gap:var(--space-6)}.achievement-overview-stat{text-align:center}.achievement-overview-value{display:block;font-size:1.5rem;font-weight:700;color:var(--accent)}.achievement-overview-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.achievements-progress-bar{height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);margin-bottom:var(--space-6);overflow:hidden}.achievements-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:var(--radius-full);transition:width var(--transition-slow)}.achievements-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.achievement-stat{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border-subtle);text-align:center}.achievement-stat-value{font-size:1.5rem;font-weight:700;color:var(--accent);margin-bottom:var(--space-1)}.achievement-stat-label{font-size:.8rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.achievement-category{margin-bottom:var(--space-6)}.achievement-category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.achievement-category-title{display:flex;align-items:center;gap:var(--space-2);font-size:1.1rem;font-weight:600}.achievement-category-icon{font-size:1.25rem}.achievement-category-count{font-size:.9rem;color:var(--text-secondary)}.achievements-grid-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}.achievement-card-full{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-4);transition:all var(--transition-base)}.achievement-card-full.unlocked{border-color:var(--accent);background:var(--accent-glow)}.achievement-card-full.locked{opacity:.5}.achievement-card-full:hover{transform:translateY(-2px);border-color:var(--border-strong)}.achievement-card-full.unlocked:hover{border-color:var(--accent)}.achievement-icon-full{font-size:2rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:var(--radius-md)}.achievement-card-full.unlocked .achievement-icon-full{background:rgba(var(--accent-rgb),.2)}.achievement-card-full.locked .achievement-icon-full{filter:grayscale(1)}.achievement-info{flex:1;min-width:0}.achievement-name-full{font-weight:600;font-size:.95rem;margin-bottom:2px}.achievement-desc-full{font-size:.8rem;color:var(--text-secondary);margin-bottom:2px}.achievement-xp{font-size:.75rem;color:var(--accent);font-weight:600}.achievement-check{color:var(--success);font-size:1.25rem;font-weight:700;flex-shrink:0}.analytics-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.analytics-section-title svg{color:var(--accent)}.analytics-grid-3{grid-template-columns:repeat(3,1fr)}.chart-bar-habit{background:var(--success)}.chart-title{display:flex;align-items:center;gap:var(--space-2)}.chart-title svg{color:var(--warning)}.habit-leaderboard{display:flex;flex-direction:column;gap:var(--space-2)}.habit-leaderboard-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.habit-leaderboard-item:hover{background:var(--bg-hover);transform:translate(4px)}.habit-leaderboard-rank{font-size:.8rem;font-weight:700;color:var(--text-tertiary);width:24px}.habit-leaderboard-title{flex:1;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.habit-leaderboard-streak{display:flex;align-items:center;gap:var(--space-1);font-size:.9rem;font-weight:600;color:var(--warning)}.habit-leaderboard-empty{text-align:center;color:var(--text-tertiary);padding:var(--space-4);font-size:.85rem}.habit-highlight{display:flex;align-items:center;gap:var(--space-4);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border:1px solid var(--accent);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4)}.habit-highlight-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-glow);border-radius:var(--radius-md);color:var(--accent)}.habit-highlight-info{flex:1}.habit-highlight-title{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.habit-highlight-name{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.habit-highlight-streak{display:flex;align-items:center;gap:var(--space-2);font-size:1rem;font-weight:600;color:var(--warning)}.habit-highlight-streak svg{color:var(--warning)}.achievement-progress{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}.achievement-progress-bar{flex:1;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.achievement-progress-fill{height:100%;background:var(--text-tertiary);border-radius:2px;transition:width var(--transition-slow)}.achievement-card-full.near-complete .achievement-progress-fill{background:var(--accent)}.achievement-progress-text{font-size:.7rem;color:var(--text-tertiary);min-width:30px;text-align:right}.achievement-card-full.near-complete{opacity:.85;border-color:rgba(var(--accent-rgb),.3)}.analytics-empty-state{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-8);border:1px solid var(--border-subtle);text-align:center;color:var(--text-secondary);font-size:.95rem}.habit-view{padding:var(--space-4);width:100%}.habit-tabs{display:inline-flex;gap:2px;padding:3px;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.habit-tab{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:calc(var(--radius-lg) - 3px);color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.habit-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.habit-tab.active{background:var(--accent);color:var(--gray-950)}.habit-tab-count{font-size:.7rem;padding:1px 5px;background:#00000026;border-radius:var(--radius-full)}.habit-tab.active .habit-tab-count{background:#0003}.habit-next-day{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.7rem;color:var(--text-tertiary)}.habit-progress-header{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6);background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.habit-view .task-input-container{margin-bottom:var(--space-6)}.habit-view .icon-btn{padding:var(--space-2) var(--space-3);font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:var(--space-1)}.habit-view .add-btn:disabled{opacity:.5;cursor:not-allowed}.habit-options{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.habit-options-row{display:flex;gap:var(--space-4);flex-wrap:wrap;align-items:flex-end}.habit-options-row .option-group:first-child .custom-select{min-width:115px}.habit-templates-dropdown{margin-top:var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.habit-templates-header{padding:var(--space-2) var(--space-3);font-size:.75rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle)}.habit-templates-list{display:flex;flex-direction:column}.habit-template-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:none;border:none;border-bottom:1px solid var(--border-subtle);cursor:pointer;text-align:left;transition:background var(--transition-fast)}.habit-template-item:last-child{border-bottom:none}.habit-template-item:hover{background:var(--bg-hover)}.template-title{font-size:.9rem;color:var(--text-primary)}.template-category{font-size:.7rem;padding:2px 8px;border-radius:var(--radius-full)}.habit-days-option{flex:1;min-width:200px}.habit-day-selector-inline{display:flex;gap:2px}.habit-day-btn-sm{padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:.7rem;cursor:pointer;transition:all var(--transition-fast)}.habit-day-btn-sm:hover{background:var(--bg-hover);color:var(--text-secondary)}.habit-day-btn-sm.active{background:var(--accent);border-color:var(--accent);color:var(--gray-950)}.habit-progress-circle{position:relative;width:100px;height:100px;flex-shrink:0}.progress-ring{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--gray-800);stroke-width:3}.progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray var(--transition-slow)}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-number{display:block;font-size:1.25rem;font-weight:700;color:var(--text-primary)}.progress-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.habit-progress-info h2{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1) 0}.habit-progress-info p{font-size:.9rem;color:var(--text-secondary);margin:0}.habit-section{margin-bottom:var(--space-6)}.habit-section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.habit-section-header svg{color:var(--accent)}.habit-section-header h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.habit-section-count{font-size:.75rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.habit-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(350px,100%),1fr));gap:var(--space-3);align-items:stretch}.habit-list>.habit-card{height:100%}.habit-empty-state{text-align:center;padding:var(--space-8);color:var(--text-secondary);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px dashed var(--border-subtle);word-wrap:break-word;overflow-wrap:break-word}.habit-empty-state p{margin:0;word-wrap:break-word;overflow-wrap:break-word}.completed-section .habit-card{opacity:.7}.habit-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-3);transition:all var(--transition-base);min-height:80px;box-sizing:border-box}.habit-card:hover{border-color:var(--border-strong);transform:translate(4px)}.habit-card.completed{opacity:.6}.habit-card.completed .habit-title{text-decoration:line-through;color:var(--text-tertiary)}.habit-checkbox{width:28px;height:28px;border:2px solid var(--gray-600);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.habit-checkbox:hover{border-color:var(--accent);background:var(--accent-glow)}.habit-card.completed .habit-checkbox{background:var(--accent);border-color:var(--accent)}.habit-checkbox svg{width:12px;height:12px;color:var(--gray-950);opacity:0;transform:scale(0);transition:all var(--transition-fast)}.habit-card.completed .habit-checkbox svg{opacity:1;transform:scale(1)}.habit-content{flex:1;min-width:0;cursor:pointer}.habit-title{font-size:.95rem;font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1)}.habit-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.habit-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:var(--space-2);flex-shrink:0;align-self:stretch}.habit-actions{display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast)}.habit-card:hover .habit-actions{opacity:1}.habit-streak-row{display:flex;align-items:center;gap:var(--space-2)}.habit-streak{display:flex;flex-direction:row;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-lg)}.habit-streak svg{color:var(--gray-500);transition:color var(--transition-base);flex-shrink:0}.habit-streak svg.flame-active{color:#f97316}.streak-count{font-size:1.1rem;font-weight:700;color:var(--text-primary);line-height:1}.habit-grace-days{display:flex;align-items:center;gap:3px;padding:var(--space-1) var(--space-2);background:color-mix(in srgb,var(--info) 10%,transparent);border:1px solid color-mix(in srgb,var(--info) 20%,transparent);border-radius:var(--radius-md);cursor:default;transition:background var(--transition-fast),border-color var(--transition-fast)}.habit-grace-days svg.shield-active{color:var(--info);flex-shrink:0}.grace-days-count{font-size:.75rem;font-weight:600;color:var(--info);line-height:1}.habit-grace-days.grace-empty{background:var(--bg-tertiary);border-color:transparent}.habit-grace-days .shield-inactive{color:var(--info);opacity:.35;flex-shrink:0}.habit-grace-days.grace-empty .grace-days-count{color:var(--text-tertiary)}.habit-grace-days.grace-full{background:color-mix(in srgb,var(--info) 15%,transparent);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.habit-action-btn{padding:var(--space-2);background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.habit-action-btn:hover{background:var(--accent);color:var(--gray-950)}.habit-action-btn.delete:hover{background:var(--danger)}.habit-action-btn.undo:hover{background:var(--warning);color:var(--gray-950)}.habit-weekly-progress{font-size:.7rem;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-full)}.heatmap{background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);padding:var(--space-6);margin-bottom:var(--space-6);position:relative}.heatmap__header{margin-bottom:var(--space-5)}.heatmap__title-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.heatmap__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:-.01em}.heatmap__stats{display:flex;align-items:center;gap:var(--space-3)}.heatmap__stat{font-size:.8rem;color:var(--text-tertiary)}.heatmap__stat strong{color:var(--text-secondary);font-weight:600}.heatmap__stat-divider{width:1px;height:12px;background:var(--border-subtle)}.heatmap__graph{display:flex;gap:var(--space-2)}.heatmap__day-labels{display:flex;flex-direction:column;gap:4px;padding-top:24px;flex-shrink:0}.heatmap__day-label{height:16px;line-height:16px;font-size:.75rem;color:var(--text-tertiary);text-align:right;padding-right:var(--space-2);min-width:32px;font-feature-settings:"tnum";-webkit-user-select:none;user-select:none}.heatmap__scroll-container{flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:var(--space-3);scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.heatmap__scroll-container::-webkit-scrollbar{height:4px}.heatmap__scroll-container::-webkit-scrollbar-track{background:transparent}.heatmap__scroll-container::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:2px}.heatmap__weeks{display:inline-flex;gap:5px;padding-right:8px;padding-left:8px}.heatmap__week-column{display:flex;flex-direction:column;gap:2px}.heatmap__month-label{height:20px;font-size:.75rem;color:var(--text-tertiary);white-space:nowrap;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.heatmap__week{display:flex;flex-direction:column;gap:4px}.heatmap__cell{width:16px;height:16px;border-radius:3px;transition:transform .15s ease,box-shadow .15s ease;cursor:pointer;position:relative}.heatmap__cell:hover{transform:scale(1.3);z-index:10}.heatmap__cell--level--1{background:transparent;cursor:default}.heatmap__cell--level--1:hover{transform:none}.heatmap__cell--level-0{background:var(--gray-800);box-shadow:inset 0 0 0 1px var(--border-subtle)}.heatmap__cell--level-1{background:rgba(var(--accent-rgb),.35);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.1)}.heatmap__cell--level-2{background:var(--accent);box-shadow:inset 0 0 0 1px var(--border-default),0 0 8px var(--accent-glow)}.heatmap__cell--level-2:hover{box-shadow:inset 0 0 0 1px var(--border-strong),0 0 12px var(--accent-glow)}.heatmap__cell--grace-day{box-shadow:inset 0 0 0 2px var(--info)}.heatmap__cell--grace-day:hover{box-shadow:inset 0 0 0 2px var(--info),0 0 6px color-mix(in srgb,var(--info) 40%,transparent)}.heatmap__cell--legend{cursor:default}.heatmap__cell--legend:hover{transform:none}.heatmap__footer{display:flex;justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.heatmap__legend{display:flex;align-items:center;gap:var(--space-2)}.heatmap__legend-label{font-size:.7rem;color:var(--text-tertiary)}.heatmap__legend-divider{width:1px;height:12px;background:var(--border-subtle);margin:0 var(--space-1)}.heatmap__legend-cells{display:flex;gap:var(--space-px-3)}.heatmap__tooltip{position:fixed;background:var(--gray-800);color:var(--text-primary);font-size:.75rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);white-space:nowrap;z-index:1000;pointer-events:none;border:1px solid var(--border-default)}.heatmap__tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--gray-800)}.heatmap__tooltip--below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--gray-800)}@media(max-width:768px){.heatmap{padding:var(--space-4)}.heatmap__title-row{flex-direction:column;align-items:flex-start}.heatmap__stats{order:-1;margin-bottom:var(--space-1)}.heatmap__cell{width:12px;height:12px}.heatmap__week,.heatmap__weeks{gap:var(--space-px-3)}.heatmap__day-labels{padding-top:20px;gap:var(--space-px-3)}.heatmap__day-label{height:12px;line-height:12px;font-size:.65rem}.heatmap__month-label{font-size:.65rem;height:16px}}.habit-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-4)}.habit-stat-card{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:var(--space-4)}.stat-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) 0}.stat-label{font-size:.85rem;color:var(--text-secondary)}.stat-value{font-size:.85rem;font-weight:500;color:var(--text-primary)}.stat-value.streak{color:var(--accent)}.habit-day-selector{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-px-3)}.habit-day-btn{padding:5px 0;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.72rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-width:0;text-align:center}.habit-day-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.habit-day-btn.active{background:var(--accent);border-color:var(--accent);color:var(--gray-950)}.habit-stats-display{display:flex;gap:var(--space-3)}.habit-stat-item{flex:1;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.habit-stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.habit-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.habit-stat-value.streak{color:var(--accent)}.habit-stat-label--grace{display:inline-flex;align-items:center;gap:3px}.habit-stat-label--grace svg{color:var(--info)}.habit-stat-value--grace{color:var(--info)}.btn-primary{display:flex;align-items:center;gap:var(--space-2)}.habit-stats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.habit-history-toggle{background:none;border:none;color:var(--accent);font-size:.8rem;cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.habit-history-toggle:hover{background:var(--accent-glow)}.habit-history-calendar{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md)}.habit-history-grid{display:grid;grid-template-columns:repeat(14,1fr);gap:var(--space-px-3)}.habit-history-cell{aspect-ratio:1;background:var(--gray-800);border-radius:2px;transition:all var(--transition-fast)}.habit-history-cell:hover{transform:scale(1.2)}.habit-history-cell.completed{background:var(--accent)}.habit-history-cell.grace-day{box-shadow:inset 0 0 0 2px var(--info)}.habit-history-legend{display:flex;justify-content:space-between;margin-top:var(--space-2);font-size:.7rem;color:var(--text-tertiary)}.habit-created-date{font-size:.85rem;color:var(--text-secondary)}.habit-archived-section{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.habit-archived-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.habit-archived-header h3{display:flex;align-items:center;gap:var(--space-2);font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0}.habit-archived-toggle{background:none;border:none;color:var(--text-tertiary);font-size:.8rem;cursor:pointer;padding:var(--space-1) var(--space-2)}.habit-archived-toggle:hover{color:var(--text-primary)}.habit-archived-list{display:flex;flex-direction:column;gap:var(--space-2)}.habit-archived-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-subtle);opacity:.7}.habit-archived-item:hover{opacity:1}.habit-archived-info{display:flex;flex-direction:column;gap:var(--space-1)}.habit-archived-title{font-size:.9rem;color:var(--text-primary)}.habit-archived-meta{font-size:.75rem;color:var(--text-tertiary)}.habit-restore-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.habit-restore-btn:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}@media(max-width:768px){.habit-progress-header{flex-direction:column;text-align:center;gap:var(--space-4);padding:var(--space-4)}.habit-progress-info h2{font-size:1.25rem}.habit-actions{opacity:1}.habit-stats-display{flex-direction:column}.habit-list{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}.habit-empty-state{padding:var(--space-6)}.habit-options-row{flex-direction:column;align-items:stretch;gap:var(--space-3)}.habit-options-row .option-group{flex-direction:column;align-items:stretch;gap:var(--space-1)}.habit-options-row .tag-option-group,.habit-options-row .tag-input-row{width:100%}.habit-options-row .tag-input-inline{flex:1;min-width:0}.habit-days-option{min-width:0;width:100%}}@media(max-width:480px){.habit-view{padding:var(--space-3)}.habit-list{grid-template-columns:1fr}.habit-empty-state{padding:var(--space-4);font-size:.9rem}.habit-card{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3)}.habit-checkbox{order:1}.habit-content{order:2;flex:1 1 calc(100% - 40px);min-width:0}.habit-right{order:3;flex-direction:row;width:100%;justify-content:space-between;align-items:center}.habit-actions{opacity:1}.habit-meta{font-size:.65rem}.habit-meta .tag{padding:1px 6px}.habit-day-selector-inline{flex-wrap:wrap}}.modal-overlay{position:fixed;inset:0;background:var(--overlay-color);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-6)}.modal{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:0;max-width:1000px;width:100%;border:1px solid var(--border-subtle);animation:modalIn .2s ease-out;height:min(88vh,800px);height:min(88dvh,800px);max-height:calc(100vh - var(--space-6) * 2);max-height:calc(100dvh - var(--space-6) * 2);display:flex;flex-direction:column;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) var(--space-6) var(--space-4);margin-bottom:0;flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.modal-title{font-size:1.1rem;font-weight:600}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:var(--space-1);line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:var(--danger)}.shortcuts-modal{max-width:720px;height:auto;max-height:min(85vh,640px);max-height:min(85dvh,640px)}.shortcuts-header{padding:var(--space-5) var(--space-6) var(--space-4);border-bottom:1px solid var(--border-subtle);position:relative}.shortcuts-header:after{content:"";position:absolute;bottom:-1px;left:var(--space-6);width:40px;height:2px;background:var(--accent);border-radius:1px}.shortcuts-body{padding:var(--space-5) var(--space-6) var(--space-6);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-700) transparent}.shortcuts-body::-webkit-scrollbar{width:4px}.shortcuts-body::-webkit-scrollbar-track{background:transparent}.shortcuts-body::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:2px}.shortcuts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5) var(--space-8)}.shortcuts-section{display:flex;flex-direction:column}.shortcuts-category{font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle)}.shortcuts-list{display:flex;flex-direction:column}.shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:6px var(--space-2);margin:0 calc(var(--space-2) * -1);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.shortcut-row:hover{background:var(--bg-tertiary)}.shortcut-label{color:var(--text-secondary);font-size:.82rem;line-height:1.3;white-space:nowrap}.shortcut-row:hover .shortcut-label{color:var(--text-primary)}.shortcut-keys{display:flex;align-items:center;gap:4px;flex-shrink:0}.shortcut-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;font-family:ui-monospace,SF Mono,Cascadia Code,Segoe UI Mono,monospace;font-size:.7rem;font-weight:500;line-height:1;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;box-shadow:0 1px #ffffff0a,inset 0 1px #ffffff0f;text-align:center;-webkit-user-select:none;user-select:none}:root[data-theme=light] .shortcut-kbd{background:var(--bg-secondary);border-color:var(--border-strong);box-shadow:0 1px #00000012,inset 0 1px #ffffffb3}@media(max-width:640px){.shortcuts-modal{max-width:100%}.shortcuts-grid{grid-template-columns:1fr;gap:var(--space-4)}.shortcuts-body{padding:var(--space-4)}.shortcuts-header:after{left:var(--space-4)}}.date-input-row{display:flex;flex-direction:column;gap:var(--space-2)}.quick-dates{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quick-date-btn{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);color:var(--text-secondary);font-size:.8rem;font-family:inherit;cursor:pointer;transition:all var(--transition-fast)}.quick-date-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.quick-date-btn.clear{color:var(--danger)}.quick-date-btn.clear:hover{background:rgba(var(--danger-rgb),.1);border-color:var(--danger)}.subtask-count{font-weight:400;color:var(--text-tertiary);margin-left:var(--space-2)}.subtasks-list{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);min-height:80px;max-height:200px;flex:1 1 auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-700) transparent}.modal-column-left>.form-group:has(.subtasks-list){flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.modal-column-left>.form-group:has(.subtasks-list) .subtasks-list{flex:1 1 auto;max-height:none}.subtasks-list::-webkit-scrollbar{width:3px}.subtasks-list::-webkit-scrollbar-track{background:transparent}.subtasks-list::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:2px}.subtasks-empty-hint{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:.82rem;font-style:italic}.subtask-delete{background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;opacity:0;transition:all var(--transition-fast);margin-left:auto}.inline-subtask:hover .subtask-delete{opacity:1}.subtask-delete:hover{background:var(--danger);color:var(--gray-950)}.subtask-input-row,.tag-input-row{display:flex;align-items:stretch;gap:var(--space-2)}.tag-input-field{position:relative}.tag-input-field .form-input{width:100%}.modal-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-6);overflow-y:auto;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:var(--gray-700) transparent}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:2px}.modal-body-wide{gap:var(--space-4)}.form-group-full{width:100%}.modal-columns{display:grid;grid-template-columns:1fr 300px;gap:var(--space-5);flex:1 1 auto;min-height:0}.modal-column-left{display:flex;flex-direction:column;gap:var(--space-4);min-width:0;flex:1 1 auto;min-height:0}.modal-column-right{display:flex;flex-direction:column;gap:var(--space-4);padding-left:var(--space-5);border-left:1px solid var(--border-subtle)}.modal-columns--stacked{grid-template-columns:1fr;flex-shrink:0;min-height:auto}.modal-columns--stacked .modal-column-right{padding-left:0;border-left:none;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.modal-columns--stacked .modal-column-right .form-row{grid-template-columns:1fr}@media(max-width:768px){.modal-columns{grid-template-columns:1fr;flex-shrink:0;min-height:auto}.modal-column-right{padding-left:0;border-left:none;padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.modal-column-right .form-row{grid-template-columns:1fr 1fr}}@media(max-width:640px){.modal-overlay{padding:var(--space-2);align-items:flex-start}.modal{padding:0;max-height:calc(100vh - var(--space-4));max-height:calc(100dvh - var(--space-4));overflow:hidden;margin-top:var(--space-2)}.modal-header{position:relative;top:auto;padding:var(--space-3) var(--space-4);margin:0;background:var(--bg-secondary);z-index:10;border-bottom:1px solid var(--border-subtle)}.modal-body{padding:var(--space-4)}.modal-close{padding:var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-md)}.modal-actions{padding:var(--space-3) var(--space-4);flex-direction:column;gap:var(--space-2)}.modal-actions-left,.modal-actions-right{width:100%;justify-content:center}.modal-actions .btn{flex:1;justify-content:center}.form-row{grid-template-columns:1fr}}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-input{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);color:var(--text-primary);font-family:inherit;font-size:.95rem;outline:none;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--accent)}textarea.form-input{resize:none}.form-input-sm{padding:var(--space-2) var(--space-3);font-size:.85rem}.form-input-number{max-width:50%;-moz-appearance:textfield}.form-input-number::-webkit-inner-spin-button,.form-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.number-stepper{display:flex;align-items:center;gap:var(--space-1);max-width:50%}.number-stepper .form-input-number{max-width:unset;text-align:center;flex:1}.number-stepper-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.number-stepper-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent);color:var(--text-primary)}.number-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.recurrence-inline-label{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.recurrence-inline-days{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-px-3)}.recurrence-inline-days .habit-day-btn{min-width:0;padding:5px 0;font-size:.72rem;border-radius:var(--radius-sm)}.recurrence-inline-stepper{max-width:140px}.recurrence-inline-stepper .number-stepper-btn{width:26px;height:26px}.recurrence-inline-stepper .form-input-number{font-size:.8rem;padding:var(--space-1) var(--space-2)}.recurrence-wrapper{position:relative;display:flex;align-items:center;gap:var(--space-2);min-width:0}.recurrence-wrapper .custom-select{position:static}.recurrence-config-btn{width:26px;height:26px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-glow);border:1px solid rgba(var(--accent-rgb),.25);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;transition:all var(--transition-fast)}.recurrence-config-btn:hover,.recurrence-config-btn.active{background:rgba(var(--accent-rgb),.25);border-color:var(--accent)}.recurrence-popover{position:absolute;top:calc(100% + var(--space-2));left:0;min-width:260px;background:var(--gray-850);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px #0003;padding:var(--space-3);z-index:50;display:flex;flex-direction:column;gap:var(--space-3);animation:recurrencePopoverIn .15s ease-out}@keyframes recurrencePopoverIn{0%{opacity:0}to{opacity:1}}.recurrence-popover-section{display:flex;flex-direction:column;gap:var(--space-2)}.recurrence-popover-label{font-size:.7rem;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em}.recurrence-popover .habit-day-selector{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-px-3)}.recurrence-popover .habit-day-btn{min-width:0;padding:5px 0;font-size:.72rem;border-radius:var(--radius-sm)}.recurrence-popover .number-stepper{max-width:100%}.recurrence-popover .number-stepper-btn{width:26px;height:26px}.recurrence-popover .form-input-number{font-size:.8rem;padding:var(--space-1) var(--space-2)}.recurrence-popover-confirm{display:flex;align-items:center;justify-content:center;gap:var(--space-1);padding:5px var(--space-3);background:var(--accent);color:var(--gray-950);border:none;border-radius:var(--radius-full);font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.recurrence-popover-confirm:hover{background:var(--accent-light)}.modal-column-right input[type=date],.modal-column-right input[type=datetime-local],.modal-column-right input[type=time]{padding:var(--space-2) var(--space-3);font-size:.8rem;min-width:0;width:100%;max-width:100%;background:var(--bg-elevated);box-sizing:border-box;color-scheme:var(--native-color-scheme)}.modal input[type=date],.modal input[type=datetime-local],.modal input[type=time]{color-scheme:var(--native-color-scheme)}.modal-column-right .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.modal-column-right .form-row .form-group{min-width:0}.form-hint{font-size:.75rem;color:var(--text-tertiary);margin-top:var(--space-1)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.form-row input[type=date]{min-width:0;width:100%}.tags-container{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--space-2);margin-top:var(--space-2);min-height:64px;max-height:64px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--gray-700) transparent}.tag-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-radius:4px;font-size:.8rem;color:var(--text-secondary)}.tag-remove{background:none;border:none;padding:0;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast)}.tag-remove:hover{color:var(--danger)}.tag-input-wrapper{position:relative;display:flex;gap:var(--space-2)}.tag-input-wrapper .form-input{flex:1}.tag-add-btn{background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--gray-950);padding:var(--space-2) var(--space-3);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background var(--transition-fast);flex-shrink:0}.tag-add-btn:hover{background:var(--accent-light)}.tag-suggestions{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:10;max-height:150px;overflow-y:auto}.tag-suggestion{display:block;width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;text-align:left;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:background var(--transition-fast)}.tag-suggestion:hover,.tag-suggestion.highlighted{background:var(--bg-hover)}.modal-actions{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6);justify-content:space-between;align-items:center;flex-shrink:0;border-top:1px solid var(--border-subtle);margin-top:0}.modal-actions-left,.modal-actions-right{display:flex;gap:var(--space-3)}.btn{padding:var(--space-3) var(--space-5);border:none;border-radius:var(--radius-full);font-family:inherit;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--accent);color:var(--gray-950)}.btn-primary:hover{background:var(--accent-light)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-elevated)}.btn-success{background:var(--success);color:var(--gray-950);display:flex;align-items:center;gap:var(--space-2)}.btn-success:hover{filter:brightness(1.1)}.btn-danger{background:var(--bg-tertiary);color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-2)}.btn-danger:hover{background:rgba(var(--danger-rgb),.15);color:var(--danger)}.btn-archive{background:var(--bg-tertiary);color:var(--text-tertiary);display:flex;align-items:center;gap:var(--space-2)}.btn-archive:hover{background:rgba(var(--info-rgb),.15);color:var(--info)}.confirm-modal{max-width:420px;height:auto}.confirm-modal-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;padding:var(--space-2) 0}.confirm-modal-icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-modal-icon--danger{background:rgba(var(--danger-rgb),.15);color:var(--danger)}.confirm-modal-icon--warning{background:var(--accent-glow);color:var(--accent)}.confirm-modal-icon--info{background:color-mix(in srgb,var(--info) 15%,transparent);color:var(--info)}.confirm-modal-message{color:var(--text-secondary);line-height:1.5;margin:0}.confirm-modal .form-group{width:100%;text-align:left}.confirm-modal-actions{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-5);justify-content:flex-end}.btn-danger-solid{background:var(--danger);color:#fff;display:flex;align-items:center;gap:var(--space-2)}.btn-danger-solid:hover{background:color-mix(in srgb,var(--danger) 85%,black)}.btn-danger-solid:focus-visible{outline-color:var(--danger)}.btn-warning{background:var(--accent);color:var(--gray-950);display:flex;align-items:center;gap:var(--space-2)}.btn-warning:hover{background:var(--accent-hover)}.confirm-modal input[type=number]{-moz-appearance:textfield;appearance:textfield}.confirm-modal input[type=number]::-webkit-outer-spin-button,.confirm-modal input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.idle-timeout-modal{max-width:420px;height:auto;z-index:9999}.idle-timeout-modal .modal-header{justify-content:center;gap:var(--space-3)}.idle-timeout-modal .modal-header .modal-title{color:var(--accent-gold)}.idle-timeout-timer{font-size:2.5rem;font-weight:700;text-align:center;font-family:monospace;margin-bottom:var(--space-5)}.idle-timeout-timer--critical{color:var(--error)}.idle-timeout-timer--warning{color:var(--accent-gold)}.idle-timeout-hint{text-align:center;color:var(--text-muted);font-size:.9rem}.idle-timeout-message{text-align:center;margin-bottom:var(--space-4)}@keyframes onboardingFadeIn{0%{opacity:0}to{opacity:1}}@keyframes onboardingSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes onboardingPulse{0%,to{box-shadow:0 0 rgba(var(--accent-rgb),.3)}50%{box-shadow:0 0 0 8px rgba(var(--accent-rgb),0)}}@keyframes onboardingScaleIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes popupFadeIn{0%{opacity:0;transform:translateY(-50%) translate(-4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.onboarding-overlay{position:fixed;inset:0;background:var(--overlay-color);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-overlay);padding:var(--space-6);animation:onboardingFadeIn .3s ease-out}.onboarding-modal{position:relative;background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8);max-width:540px;width:100%;height:auto;text-align:center;animation:onboardingSlideUp .4s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-lg)}.onboarding-skip-all{position:absolute;top:var(--space-3);right:var(--space-3);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:color .15s,background-color .15s;z-index:1}.onboarding-skip-all:hover{color:var(--text-secondary);background-color:var(--bg-elevated)}.onboarding-skip-all:disabled{opacity:.5;cursor:not-allowed}.onboarding-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);animation:onboardingFadeIn .3s ease-out}.onboarding-step-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.3}.onboarding-step-subtitle{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0;max-width:400px}.onboarding-welcome{gap:var(--space-3)}.onboarding-welcome-logo{margin-bottom:var(--space-2);animation:onboardingScaleIn .5s cubic-bezier(.34,1.56,.64,1)}.onboarding-welcome-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.onboarding-primary-btn{width:100%;padding:var(--space-3) var(--space-5);background:var(--accent);border:none;border-radius:var(--radius-full);color:var(--gray-950);font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition-fast);margin-top:var(--space-2)}.onboarding-primary-btn:hover{background:var(--accent-light)}.onboarding-primary-btn:active{background:var(--accent-dark)}.onboarding-primary-btn:disabled{opacity:.6;cursor:not-allowed}.onboarding-personalization{gap:var(--space-3)}.onboarding-usecase-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);width:100%;margin-top:var(--space-2)}.onboarding-usecase-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);background:var(--bg-tertiary);border:2px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;font-family:inherit;transition:all var(--transition-base);text-align:center}.onboarding-usecase-card:hover{background:var(--bg-elevated);border-color:var(--border-default)}.onboarding-usecase-card.active{background:rgba(var(--accent-rgb),.08);border-color:var(--accent)}.onboarding-usecase-icon{color:var(--text-secondary);transition:color var(--transition-fast)}.onboarding-usecase-card.active .onboarding-usecase-icon{color:var(--accent)}.onboarding-usecase-label{font-size:.95rem;font-weight:600;color:var(--text-primary)}.onboarding-usecase-desc{font-size:.8rem;color:var(--text-tertiary);line-height:1.4}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;margin-top:var(--space-2)}.onboarding-skip-btn{padding:var(--space-3) var(--space-4);background:none;border:none;color:var(--text-tertiary);font-size:.9rem;font-family:inherit;cursor:pointer;transition:color var(--transition-fast)}.onboarding-skip-btn:hover{color:var(--text-secondary)}.onboarding-actions .onboarding-primary-btn{flex:1;margin-top:0}.onboarding-done{gap:var(--space-4)}.onboarding-done-icon{color:var(--success);animation:onboardingScaleIn .5s cubic-bezier(.34,1.56,.64,1)}.onboarding-dots{display:flex;gap:var(--space-2);justify-content:center;padding:var(--space-3) 0}.onboarding-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--bg-elevated);border:none;padding:0;transition:all var(--transition-base);cursor:default}.onboarding-dot.active{background:var(--accent);width:24px}.onboarding-dot.completed{background:var(--accent);opacity:.5}.onboarding-checklist{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3);font-size:.8rem}.onboarding-checklist-header{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-secondary)}.onboarding-checklist-title{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary)}.onboarding-checklist-progress-text{margin-left:auto;font-size:.7rem;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.onboarding-checklist-bar{height:3px;background:var(--bg-elevated);border-radius:var(--radius-full);margin-top:var(--space-2);overflow:hidden}.onboarding-checklist-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-dark),var(--accent),var(--accent-light));border-radius:var(--radius-full);transition:width .4s ease}.onboarding-checklist-items{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-3)}.onboarding-checklist-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;color:var(--text-secondary);font-size:.8rem;transition:opacity var(--transition-fast)}.onboarding-checklist-item.completed{opacity:.5;text-decoration:line-through}.onboarding-checklist-check{width:16px;height:16px;border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition-fast)}.onboarding-checklist-check.done{background:var(--accent);border-color:var(--accent);color:var(--gray-950)}.onboarding-checklist-label{flex:1;min-width:0}.onboarding-checklist-xp{font-size:.7rem;color:var(--accent);font-weight:600;white-space:nowrap}.onboarding-checklist--done{animation:onboardingFadeIn .3s ease-out}.onboarding-checklist-done-content{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) 0}.onboarding-checklist-done-icon{color:var(--accent);flex-shrink:0;animation:onboardingScaleIn .4s cubic-bezier(.34,1.56,.64,1)}.onboarding-checklist-done-text{display:flex;flex-direction:column;gap:2px}.onboarding-checklist--done .onboarding-checklist-title{font-size:.8rem;text-transform:none;letter-spacing:normal}.onboarding-checklist--done .onboarding-checklist-bar-fill{background:linear-gradient(90deg,var(--success),var(--success-light))}.onboarding-checklist-dismiss{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-3);padding:0;background:none;border:none;color:var(--text-tertiary);font-size:.7rem;font-family:inherit;cursor:pointer;transition:color var(--transition-fast)}.onboarding-checklist-dismiss:hover{color:var(--text-secondary)}.onboarding-checklist-collapsed-container{position:relative;display:flex;justify-content:center;width:100%}.onboarding-checklist-collapsed-trigger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;position:relative;transition:all var(--transition-base)}.onboarding-checklist-collapsed-trigger:hover{background:var(--bg-elevated);color:var(--text-primary);border-color:var(--border-default)}.onboarding-checklist-collapsed-trigger.has-progress{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.onboarding-checklist-collapsed-badge{position:absolute;top:-4px;right:-4px;background:var(--accent);color:var(--gray-950);font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:var(--radius-full);line-height:1.2;font-variant-numeric:tabular-nums}.onboarding-checklist-collapsed-popup{position:absolute;left:calc(100% + var(--space-2));top:50%;transform:translateY(-50%);z-index:var(--z-popover);animation:popupFadeIn .15s ease-out}.onboarding-checklist-collapsed-popup .onboarding-checklist{box-shadow:var(--shadow-lg);border:1px solid var(--border-default);min-width:240px}.onboarding-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;animation:onboardingFadeIn .4s ease-out;grid-column:1 / -1}.onboarding-empty-icon{color:var(--text-muted);opacity:.6}.onboarding-empty-title{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin:0}.onboarding-empty-subtitle{font-size:.9rem;color:var(--text-secondary);line-height:1.5;margin:0;max-width:360px}.onboarding-empty-action{margin-top:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--accent);border:none;border-radius:var(--radius-full);color:var(--gray-950);font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background var(--transition-fast);animation:onboardingPulse 2s ease-in-out 1s 1}.onboarding-empty-action:hover{background:var(--accent-light)}.onboarding-empty-action:active{background:var(--accent-dark)}@media(max-width:640px){.onboarding-overlay{padding:var(--space-3);align-items:flex-start;padding-top:var(--space-8)}.onboarding-modal{padding:var(--space-5);max-width:100%}.onboarding-welcome-title{font-size:1.4rem}.onboarding-step-title{font-size:1.25rem}.onboarding-usecase-grid{grid-template-columns:1fr;gap:var(--space-2)}.onboarding-usecase-card{padding:var(--space-3);flex-direction:row;text-align:left}.onboarding-usecase-desc{display:none}.onboarding-actions{flex-direction:column}.onboarding-actions .onboarding-primary-btn{order:-1}}@media(max-width:768px){.onboarding-checklist{margin:var(--space-3)}.onboarding-empty-state{padding:var(--space-8) var(--space-4)}}@media(prefers-reduced-motion:reduce){.onboarding-overlay,.onboarding-modal,.onboarding-step,.onboarding-welcome-logo,.onboarding-done-icon,.onboarding-empty-state{animation-duration:1ms!important}.onboarding-dot,.onboarding-usecase-card,.onboarding-checklist-bar-fill,.onboarding-checklist-check{transition-duration:1ms!important}.onboarding-empty-action,.onboarding-checklist-collapsed-popup{animation:none}}.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2);z-index:1001}.toast{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);animation:toastIn .3s ease-out;box-shadow:var(--shadow-lg)}@keyframes toastIn{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}.toast.success{border-color:var(--accent)}.toast.achievement{border-color:var(--warning)}.toast-icon{font-size:1.25rem}.toast-content{flex:1}.toast-title{font-weight:500;font-size:.9rem}.toast.level-up{border-color:var(--accent);background:linear-gradient(135deg,var(--bg-secondary),rgba(var(--accent-rgb),.08));animation:toastLevelUp .4s cubic-bezier(.34,1.56,.64,1);padding:var(--space-4) var(--space-5)}.toast.level-up .toast-icon{font-size:1.5rem}.toast.level-up .toast-title{font-size:1.05rem;color:var(--accent)}.toast-subtitle{font-size:.8rem;color:var(--text-tertiary);margin-top:2px}@keyframes toastLevelUp{0%{opacity:0;transform:translate(100px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}.toast.achievement .toast-title{color:var(--accent-light)}.toast-with-actions{flex-wrap:wrap;padding-bottom:var(--space-2)}.toast-actions{display:flex;gap:var(--space-2);margin-top:var(--space-2);width:100%}.toast-action-btn{padding:var(--space-1) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.toast-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toast-action-primary{background:var(--accent);border-color:var(--accent);color:var(--gray-950)}.toast-action-primary:hover{background:var(--accent-hover)}.toast-dismiss{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);align-self:flex-start;margin-top:var(--space-1);flex-shrink:0}.toast-dismiss:hover{background:var(--bg-elevated);color:var(--text-primary)}.toast.notification{border-color:var(--info)}.toast.notification .toast-title{color:var(--info-light)}.toast.undo-delete{position:relative;flex-wrap:nowrap;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + 3px);background:var(--bg-secondary);border:1px solid var(--border-default);overflow:hidden}.toast.undo-delete:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:100%;background:var(--accent);opacity:.6;animation:undoCountdown 10s linear forwards}@keyframes undoCountdown{0%{width:100%}to{width:0%}}.toast.undo-delete .toast-icon{display:none}.toast.undo-delete .toast-content{display:flex;align-items:center;gap:var(--space-3)}.toast.undo-delete .toast-title{font-size:.85rem;font-weight:400;color:var(--text-secondary);white-space:nowrap}.toast.undo-delete .toast-actions{margin-top:0;width:auto;flex-shrink:0}.toast.undo-delete .toast-action-primary{background:transparent;border-color:transparent;color:var(--accent-light);font-weight:600;font-size:.8rem;padding:var(--space-1) var(--space-2)}.toast.undo-delete .toast-action-primary:hover{background:rgba(var(--accent-rgb),.12);color:var(--accent)}.toast.undo-delete .toast-dismiss{margin-top:0;align-self:center;opacity:.35;width:20px;height:20px}.toast.undo-delete .toast-dismiss:hover{opacity:1}.tooltip-floating{z-index:var(--z-popover);padding:4px 8px;background:var(--gray-800);color:var(--text-primary);font-size:.75rem;line-height:1.3;font-weight:400;border-radius:var(--radius-sm);border:1px solid var(--border-default);box-shadow:var(--shadow-md);white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;transition:opacity var(--transition-fast)}@media(prefers-reduced-motion:reduce){.tooltip-floating{transition:none}}.empty-state{text-align:center;padding:var(--space-4) var(--space-6);color:var(--text-tertiary)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-3);opacity:.5}.empty-state-title{font-size:1rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-1)}.empty-state-desc{font-size:.875rem}.empty-state-cta{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all var(--transition-base)}.empty-state-cta:hover{border-color:var(--accent);color:var(--accent)}.shortcut{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;color:var(--text-tertiary)}.shortcut kbd{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:inherit;font-size:.7rem}@media(max-width:1200px){.analytics-grid,.kanban-view,.achievements-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.app{grid-template-columns:1fr}.header{padding:0 var(--space-4)}.notification-bell{display:none}.header-stats{gap:var(--space-2)}.header-stats .stat-badge{display:flex;padding:var(--space-1) var(--space-2);font-size:.8rem}.header-stats .stat-badge .label{display:none}.header-stats .level-container{display:flex;gap:0;padding:var(--space-1) var(--space-2)}.header-stats .level-badge-full{display:none}.header-stats .level-badge-short{display:block;font-size:.8rem}.header-stats .xp-bar-inline,.header-stats .xp-text-inline{display:none}.analytics-grid,.charts-row{grid-template-columns:1fr}.streak-display{grid-template-columns:auto 1fr auto}.streak-grace{grid-column:1 / -1;border-left:none;border-top:1px solid var(--border-subtle);padding-left:0;padding-top:var(--space-3);display:flex;align-items:center;gap:var(--space-3);text-align:left;justify-self:stretch}.streak-grace-header,.streak-grace-progress{justify-content:flex-start}.kanban-view{grid-template-columns:1fr}.kanban-column{min-height:120px}.view-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.view-tabs::-webkit-scrollbar{display:none}.view-tab{flex-shrink:0}.main-content{padding:var(--space-4)}.achievements-stats{grid-template-columns:repeat(2,1fr)}.achievements-grid-full{grid-template-columns:1fr}.achievements-overview{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.achievements-overview-right{gap:var(--space-4)}.search-bar{flex-wrap:wrap}.search-input-wrapper{min-width:100%;order:1}.filter-toggle-btn{order:2;flex:1}.sort-controls{order:3;flex:1;justify-content:flex-end}.sort-select-wrapper{min-width:0;flex:1;max-width:140px}}@media(max-width:480px){.search-bar{gap:var(--space-2)}.filter-toggle-btn,.sort-controls{flex:1 1 45%}.sort-select-wrapper{max-width:none}}.auth-modal-overlay{position:fixed;inset:0;background:var(--overlay-color);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.auth-modal-overlay>.window-controls{position:fixed;top:0;right:0;height:64px;margin-right:0;z-index:1001}.auth-modal{background:var(--bg-secondary);border-radius:16px;width:100%;max-width:400px;padding:2rem;box-shadow:0 25px 50px -12px #00000080}.auth-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.auth-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--bg-primary);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:color .15s,background .15s}.auth-back-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.auth-header .tenith-logo{justify-content:flex-start}.auth-language-switcher{display:flex;gap:.25rem;background:var(--bg-primary);border-radius:6px;padding:.25rem}.auth-language-btn{padding:.375rem .625rem;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s ease}.auth-language-btn:hover{color:var(--text-primary);background:var(--inset-shadow-color)}.auth-language-btn.active{background:var(--accent);color:var(--selection-text)}.auth-form h2{margin:0 0 .5rem;font-size:1.5rem;text-align:center}.auth-subtitle{color:var(--text-secondary);text-align:center;margin:0 0 1.5rem}.auth-field{margin-bottom:1rem}.auth-field label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-secondary)}.auth-field input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:1rem;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.auth-error{background:rgba(var(--danger-rgb),.1);border:1px solid rgba(var(--danger-rgb),.3);color:var(--danger);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.auth-submit{width:100%;padding:.875rem;background:var(--accent);color:var(--selection-text);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .1s;margin-top:.5rem}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-legal-notice{text-align:center;margin-top:1rem;margin-bottom:0;color:var(--text-muted);font-size:.75rem;line-height:1.5}.auth-legal-notice button{background:none;border:none;padding:0;font:inherit;color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.auth-legal-notice button:hover{color:var(--accent)}.auth-switch{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.875rem}.auth-switch button{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;padding:0}.auth-switch button:hover{text-decoration:underline}.auth-forgot-link{display:block;background:none;border:none;color:var(--text-secondary);font-size:.813rem;cursor:pointer;padding:0;margin-top:.5rem;text-align:right}.auth-forgot-link:hover{color:var(--accent);text-decoration:underline}.auth-verification-notice{display:flex;gap:.75rem;align-items:flex-start;background:linear-gradient(135deg,rgba(var(--warning-rgb),.08),rgba(var(--warning-rgb),.04));border:1px solid rgba(var(--warning-rgb),.2);border-radius:10px;padding:.875rem 1rem;margin-bottom:1.25rem}.auth-verification-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent-glow);border-radius:8px;color:var(--accent-light);flex-shrink:0}.auth-verification-content{flex:1;min-width:0}.auth-verification-title{margin:0 0 .25rem;font-size:.875rem;font-weight:600;color:var(--accent-light)}.auth-verification-text{margin:0;font-size:.813rem;color:var(--text-secondary);line-height:1.4}.auth-verification-resend{display:inline-flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--accent-light);font-size:.813rem;font-weight:500;cursor:pointer;padding:0;margin-top:.5rem;transition:opacity .2s}.auth-verification-resend:hover:not(:disabled){opacity:.8;text-decoration:underline}.auth-verification-resend:disabled{opacity:.5;cursor:not-allowed}.auth-info{display:flex;gap:1rem;align-items:flex-start;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.2);border-radius:8px;padding:1rem;margin-bottom:1rem;color:var(--text-primary)}.auth-info svg{flex-shrink:0;color:var(--accent)}.auth-info h3{margin:0 0 .25rem;font-size:1rem;font-weight:600}.auth-info p{margin:0;font-size:.875rem;color:var(--text-secondary)}.auth-info p+p{margin-top:.5rem}.auth-info-large{flex-direction:column;align-items:center;text-align:center;padding:1.5rem}.auth-info-large svg{margin-bottom:.5rem}.auth-success{background:rgba(var(--success-rgb),.1);border:1px solid rgba(var(--success-rgb),.3);color:var(--success);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.auth-token-page{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem 0}.auth-token-page h2{margin:1rem 0 .5rem}.auth-token-page .auth-subtitle{margin-bottom:1.5rem}.auth-token-page .auth-submit{margin-top:.5rem}.auth-token-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%}.auth-token-loading{background:rgba(var(--accent-rgb),.1);color:var(--accent)}.auth-token-loading svg{animation:auth-spin 1s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-token-success{background:linear-gradient(135deg,rgba(var(--accent-rgb),.12),rgba(var(--accent-rgb),.06));border:1px solid rgba(var(--accent-rgb),.25);color:var(--accent)}.auth-token-error{background:linear-gradient(135deg,#a1a1aa14,#a1a1aa0a);border:1px solid rgba(161,161,170,.2);color:var(--text-secondary)}.auth-status-icon{position:relative;width:48px;height:48px}.auth-status-icon-ring{position:absolute;inset:0;border-radius:50%;border:2px solid currentColor;opacity:.3}.auth-status-icon-inner{position:absolute;inset:8px;display:flex;align-items:center;justify-content:center}.auth-token-success .auth-status-icon-inner:before{content:"";width:18px;height:10px;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(-45deg) translateY(-2px)}.auth-token-error .auth-status-icon-inner:before{content:"";width:16px;height:16px;background:linear-gradient(currentColor,currentColor) center/2.5px 100%,linear-gradient(currentColor,currentColor) center/100% 2.5px;background-repeat:no-repeat;transform:rotate(45deg)}.auth-token-success .auth-status-icon{animation:auth-success-pop .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes auth-success-pop{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.auth-token-error .auth-status-icon{animation:auth-error-appear .3s ease-out forwards}@keyframes auth-error-appear{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.auth-divider{display:flex;align-items:center;gap:var(--spacing-md, .75rem);margin:1.25rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-default)}.auth-divider span{color:var(--text-muted);font-size:.813rem;text-transform:lowercase}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.75rem;border:1px solid var(--border-default);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.auth-google-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-default)}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.command-palette-overlay{position:fixed;inset:0;background:var(--overlay-color);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;justify-content:center;padding-top:20vh}.command-palette{width:560px;max-height:420px;background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:cp-appear .15s ease-out}@keyframes cp-appear{0%{opacity:0}to{opacity:1}}.cp-input-wrapper{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-default);gap:10px}.cp-input-wrapper svg{color:var(--text-tertiary);flex-shrink:0}.cp-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:15px;font-family:inherit}.cp-input::placeholder{color:var(--text-tertiary)}.cp-results{flex:1;overflow-y:auto;padding:8px}.cp-category-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);padding:8px 8px 4px}.cp-item{display:flex;align-items:center;padding:8px 10px;border-radius:8px;cursor:pointer;gap:10px;transition:background .1s}.cp-item:hover,.cp-item.active{background:var(--bg-tertiary)}.cp-item-icon{display:flex;align-items:center;color:var(--text-secondary);flex-shrink:0}.cp-item-label{flex:1;font-size:14px;color:var(--text-primary)}.cp-item-shortcut{display:flex;gap:4px}.cp-item-shortcut kbd{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg-primary);border:1px solid var(--border-default);color:var(--text-tertiary);font-family:inherit}.cp-item-category{font-size:12px;color:var(--text-tertiary);flex-shrink:0}.cp-empty{padding:24px;text-align:center;color:var(--text-tertiary);font-size:14px}.cp-footer{display:flex;align-items:center;gap:16px;padding:8px 16px;border-top:1px solid var(--border-default);font-size:11px;color:var(--text-tertiary)}.cp-footer kbd{font-size:11px;padding:1px 5px;border-radius:3px;background:var(--bg-primary);border:1px solid var(--border-default);font-family:inherit}@media(max-width:640px){.command-palette{width:calc(100vw - 32px);max-height:60vh}.command-palette-overlay{padding-top:10vh}}.reminder-picker{display:flex;flex-direction:column;gap:8px;margin-top:12px}.reminder-picker-header{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.reminder-list{display:flex;flex-wrap:wrap;gap:6px}.reminder-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:999px;font-size:.75rem;color:var(--text-secondary);line-height:1.4}.reminder-pill-text{white-space:nowrap}.reminder-pill-remove{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:0;margin-left:2px;border-radius:50%;transition:color .15s}.reminder-pill-remove:hover{color:var(--text-primary)}.reminder-add-wrapper{position:relative}.reminder-add-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:1px dashed var(--border-default);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:.75rem;cursor:pointer;transition:color .15s,border-color .15s}.reminder-add-btn:hover{color:var(--accent);border-color:var(--accent)}.reminder-add-btn:disabled{opacity:.5;cursor:not-allowed}.reminder-dropdown--portal{position:fixed;z-index:var(--z-dropdown);min-width:200px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:4px;box-shadow:var(--shadow-lg);animation:reminderDropdownIn .12s ease-out}@keyframes reminderDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.reminder-dropdown:not(.reminder-dropdown--portal){position:absolute;top:100%;left:0;z-index:50;margin-top:4px;min-width:200px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:4px;box-shadow:var(--shadow-lg)}.reminder-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8125rem;cursor:pointer;text-align:left;transition:background .15s,color .15s}.reminder-dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.reminder-dropdown-divider{height:1px;background:var(--border-subtle);margin:4px 0}.reminder-dropdown-hint{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;font-size:.75rem;color:var(--text-tertiary);line-height:1.4}.reminder-dropdown-hint svg{flex-shrink:0;margin-top:1px;color:var(--accent)}.reminder-custom-input{display:flex;align-items:center;gap:6px;padding:6px 8px}.reminder-custom-panel{position:fixed;z-index:var(--z-popover);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-lg);animation:reminderDropdownIn .12s ease-out;width:fit-content}.modal-column-right .reminder-picker{margin-top:0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.modal-column-right .reminder-picker-header{font-size:.8rem}.modal-column-right .reminder-add-btn{width:100%;justify-content:center}.modal-column-right .reminder-dropdown{right:0;left:auto;min-width:220px}.reminder-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px}.trash-view{padding:var(--space-2) 0}.trash-task-wrapper{display:flex;flex-direction:column}.trash-task-wrapper .task-card{pointer-events:none}.trash-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-1) var(--space-2)}.trash-task-days{font-size:.7rem;color:var(--text-tertiary);white-space:nowrap}.trash-action-btn{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.trash-action-restore:hover{background:rgba(var(--success-rgb),.1);border-color:var(--success);color:var(--success-light)}.trash-action-delete:hover{background:rgba(var(--danger-rgb),.1);border-color:var(--danger);color:var(--danger-light)}.trash-empty-btn{display:flex;align-items:center;gap:var(--space-1);font-size:.75rem;font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.trash-empty-btn:hover{background:rgba(var(--danger-rgb),.08);border-color:rgba(var(--danger-rgb),.3);color:var(--danger-light)}.trash-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);gap:var(--space-3)}.trash-empty-icon{color:var(--text-muted);opacity:.4}.trash-empty-text{font-size:.85rem;color:var(--text-tertiary);margin:0}.sidebar-trash-separator{height:1px;background:var(--border-subtle);margin:var(--space-2) var(--space-3)}.trash-badge{margin-left:auto;background:var(--bg-elevated);padding:2px 8px;border-radius:var(--radius-full);font-size:.7rem;color:var(--text-secondary);font-weight:500;border:1px solid var(--border-subtle);line-height:1.2}.sidebar--collapsed .trash-badge{display:none}.view-tabs-separator{width:100%;height:1px;background:var(--border-subtle);margin:var(--space-2) 0}@media(max-width:768px){.trash-task-actions{flex-wrap:wrap}}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes skeleton-fadeIn{0%{opacity:0}to{opacity:1}}.skeleton-wrapper{animation:skeleton-fadeIn .25s ease}.skeleton-bone{background:var(--bg-tertiary);position:relative;overflow:hidden;border-radius:var(--radius-sm);flex-shrink:0;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(#fff,#000)}.skeleton-bone:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--bg-elevated) 50%,transparent 100%);animation:skeleton-shimmer 1.8s var(--skel-delay, 0s) infinite;opacity:.6}.skeleton-bone--muted{opacity:.5}.app-skeleton__status{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding-top:var(--space-8)}@media(prefers-reduced-motion:reduce){.skeleton-wrapper{animation:none}.skeleton-bone:after{animation:none}}.tag{font-size:.65rem;padding:1px 7px;border-radius:4px;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary)}.tag-custom[data-color],.tag-chip[data-color],.tag-chip-small[data-color]{background:transparent;border:1px solid}.tag-custom[data-color="0"],.tag-chip[data-color="0"],.tag-chip-small[data-color="0"]{color:#d4908a;border-color:#d4908a59}.tag-custom[data-color="1"],.tag-chip[data-color="1"],.tag-chip-small[data-color="1"]{color:#d4b06a;border-color:#d4b06a59}.tag-custom[data-color="2"],.tag-chip[data-color="2"],.tag-chip-small[data-color="2"]{color:#7ec492;border-color:#7ec49259}.tag-custom[data-color="3"],.tag-chip[data-color="3"],.tag-chip-small[data-color="3"]{color:#6dbcb8;border-color:#6dbcb859}.tag-custom[data-color="4"],.tag-chip[data-color="4"],.tag-chip-small[data-color="4"]{color:#7eaadb;border-color:#7eaadb59}.tag-custom[data-color="5"],.tag-chip[data-color="5"],.tag-chip-small[data-color="5"]{color:#a894d4;border-color:#a894d459}.tag-custom[data-color="6"],.tag-chip[data-color="6"],.tag-chip-small[data-color="6"]{color:#cc8ab4;border-color:#cc8ab459}.tag-custom[data-color="7"],.tag-chip[data-color="7"],.tag-chip-small[data-color="7"]{color:#b0a692;border-color:#b0a69259}:root[data-theme=light] .tag-custom[data-color="0"],:root[data-theme=light] .tag-chip[data-color="0"],:root[data-theme=light] .tag-chip-small[data-color="0"]{color:#9b3b33;border-color:#9b3b334d;background:#9b3b330f}:root[data-theme=light] .tag-custom[data-color="1"],:root[data-theme=light] .tag-chip[data-color="1"],:root[data-theme=light] .tag-chip-small[data-color="1"]{color:#8a6820;border-color:#8a68204d;background:#8a68200f}:root[data-theme=light] .tag-custom[data-color="2"],:root[data-theme=light] .tag-chip[data-color="2"],:root[data-theme=light] .tag-chip-small[data-color="2"]{color:#2d7a45;border-color:#2d7a454d;background:#2d7a450f}:root[data-theme=light] .tag-custom[data-color="3"],:root[data-theme=light] .tag-chip[data-color="3"],:root[data-theme=light] .tag-chip-small[data-color="3"]{color:#1f7a75;border-color:#1f7a754d;background:#1f7a750f}:root[data-theme=light] .tag-custom[data-color="4"],:root[data-theme=light] .tag-chip[data-color="4"],:root[data-theme=light] .tag-chip-small[data-color="4"]{color:#2860a8;border-color:#2860a84d;background:#2860a80f}:root[data-theme=light] .tag-custom[data-color="5"],:root[data-theme=light] .tag-chip[data-color="5"],:root[data-theme=light] .tag-chip-small[data-color="5"]{color:#5b3fa0;border-color:#5b3fa04d;background:#5b3fa00f}:root[data-theme=light] .tag-custom[data-color="6"],:root[data-theme=light] .tag-chip[data-color="6"],:root[data-theme=light] .tag-chip-small[data-color="6"]{color:#943a70;border-color:#943a704d;background:#943a700f}:root[data-theme=light] .tag-custom[data-color="7"],:root[data-theme=light] .tag-chip[data-color="7"],:root[data-theme=light] .tag-chip-small[data-color="7"]{color:#655840;border-color:#6558404d;background:#6558400f}.task-card--priority-high,.kanban-task--priority-high,.calendar-task--priority-high,.calendar-task-week--priority-high,.calendar-day-task--priority-high{border-left-color:var(--danger)}.task-card--priority-medium,.kanban-task--priority-medium,.calendar-task--priority-medium,.calendar-task-week--priority-medium,.calendar-day-task--priority-medium{border-left-color:var(--warning)}.task-card--priority-high:hover,.kanban-task--priority-high:hover{border-left-color:var(--danger)}.task-card--priority-medium:hover,.kanban-task--priority-medium:hover{border-left-color:var(--warning)}
