:root{--text:#6b6375;--text-h:#1a1a2e;--bg:#f0f2f5;--surface:#ffffffd9;--surface-border:#ffffff80;--border:#e2e4e9;--accent:#6366f1;--accent-light:#818cf8;--accent-bg:#6366f11a;--danger:#ef4444;--danger-bg:#ef44441a;--success:#22c55e;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 20px #00000014;--shadow-lg:0 8px 40px #0000001f;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", monospace;--radius:12px;--radius-sm:8px;--radius-xs:6px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 20%,#6366f114 0%,#0000 50%),radial-gradient(at 80% 20%,#818cf80f 0%,#0000 50%);min-height:100vh;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f1f5f9;--bg:#0b0d15;--surface:#161823e6;--surface-border:#ffffff0f;--border:#2a2d3e;--accent:#818cf8;--accent-bg:#818cf81f;--danger-bg:#ef444426;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 20px #0006;--shadow-lg:0 8px 40px #00000080;background-image:radial-gradient(at 20%,#6366f10f 0%,#0000 50%),radial-gradient(at 80% 20%,#818cf80a 0%,#0000 50%)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent);color:#fff}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}kbd{background:var(--accent-bg);border:1px solid var(--border);color:var(--text-h);border-radius:4px;padding:1px 6px;font-family:inherit;font-size:11px;display:inline-block}@keyframes slideInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes checkmark{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.todo-skeleton{max-width:520px;margin:48px auto;padding:0 16px}.skeleton-header{flex-direction:column;align-items:center;gap:8px;margin-bottom:32px;display:flex}.skeleton-title{background:var(--border);border-radius:8px;width:180px;height:28px}.skeleton-subtitle{background:var(--border);border-radius:4px;width:100px;height:14px}.skeleton-form{gap:8px;margin-bottom:16px;display:flex}.skeleton-input{border-radius:var(--radius);background:var(--border);flex:1;height:48px}.skeleton-btn{border-radius:var(--radius);background:var(--border);width:72px;height:48px}.skeleton-list{border-radius:var(--radius);background:var(--border);height:200px}.todo-loading{min-height:200px;color:var(--text);justify-content:center;align-items:center;font-size:14px;display:flex}.todo-container{max-width:640px;margin:0 auto;padding:40px 16px 32px;animation:.5s fadeIn}.todo-header{text-align:center;margin-bottom:24px;animation:.6s fadeIn}.todo-title{color:var(--text-h);letter-spacing:-1px;background:linear-gradient(135deg, var(--accent), var(--accent-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:32px;font-weight:800}.todo-subtitle{color:var(--text);margin-top:2px;font-size:13px;font-weight:500;display:block}.todo-tabs{background:var(--surface);border-radius:var(--radius);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);gap:4px;margin-bottom:20px;padding:4px;display:flex}.todo-tab{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s;display:flex}.todo-tab:hover{color:var(--text-h);background:var(--accent-bg)}.todo-tab.active{background:var(--accent);color:#fff}.todo-form{margin-bottom:16px}.todo-form-main{gap:8px;display:flex;position:relative}.todo-input{border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--text-h);outline:none;flex:1;padding:12px 16px;font-family:inherit;font-size:15px;transition:border-color .2s,box-shadow .2s}.todo-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-bg)}.todo-input::placeholder{color:var(--text);opacity:.5}.todo-btn{border-radius:var(--radius);background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s}.todo-btn:hover:not(:disabled){box-shadow:0 4px 16px var(--accent-bg);transform:translateY(-2px)}.todo-btn:active:not(:disabled){transform:translateY(0)}.todo-btn:disabled{opacity:.4;cursor:not-allowed}.todo-error{color:var(--danger);margin:0;font-size:13px;animation:.2s fadeIn;position:absolute;bottom:-22px;left:0}.todo-form-options{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px;animation:.2s slideInUp;display:flex}.priority-picker{align-items:center;gap:4px;display:flex}.priority-picker.compact{gap:2px}.priority-label{color:var(--text);margin-right:4px;font-size:12px;font-weight:500}.priority-options{gap:4px;display:flex}.priority-btn{cursor:pointer;width:28px;height:28px;color:var(--text);opacity:.4;background:0 0;border:2px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:700;transition:all .15s;display:flex}.priority-btn:hover{opacity:.8;border-color:var(--p-color)}.priority-btn.active{opacity:1;border-color:var(--p-color);background:color-mix(in srgb, var(--p-color) 15%, transparent)}.priority-option{cursor:pointer;color:var(--text);background:0 0;border:2px solid #0000;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;display:flex}.priority-option:hover{border-color:var(--p-color)}.priority-option.active{border-color:var(--p-color);background:var(--p-bg);color:var(--p-color)}.priority-icon{font-size:13px;font-weight:700}.date-picker-wrapper{position:relative}.date-picker-btn{border:2px solid var(--border);cursor:pointer;color:var(--text);white-space:nowrap;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:flex}.date-picker-btn:hover{border-color:var(--accent)}.date-picker-btn.has-date{border-color:var(--accent);background:var(--accent-bg)}.date-picker-text{color:var(--text-h);font-size:12px}.date-picker-placeholder{opacity:.6;font-size:12px}.date-picker-clear{opacity:.5;cursor:pointer;margin-left:2px;font-size:10px}.date-picker-clear:hover{opacity:1}.date-picker-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:200px;margin-top:4px;padding:8px;animation:.15s scaleIn;position:absolute;top:100%;left:0}.date-picker-quick{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.date-quick-btn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:12px;transition:all .15s}.date-quick-btn:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.date-picker-cal{display:flex}.date-input{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:6px;flex:1;padding:6px 10px;font-family:inherit;font-size:13px}.tag-input-wrapper{flex:1;min-width:140px;position:relative}.tag-chips{border:2px solid var(--border);cursor:text;background:0 0;border-radius:6px;flex-wrap:wrap;gap:4px;padding:4px 8px;transition:border-color .15s;display:flex}.tag-chips:focus-within{border-color:var(--accent)}.tag-chip{background:var(--accent-bg);color:var(--accent);border-radius:4px;align-items:center;gap:3px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.tag-chip-remove{cursor:pointer;color:var(--accent);opacity:.6;background:0 0;border:none;padding:0;font-size:10px;line-height:1}.tag-chip-remove:hover{opacity:1}.tag-input{min-width:60px;color:var(--text-h);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-family:inherit;font-size:13px}.tag-suggestions{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);margin-top:2px;position:absolute;top:100%;left:0;right:0;overflow:hidden}.tag-suggestion{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;padding:6px 10px;font-family:inherit;font-size:13px;transition:background .1s;display:block}.tag-suggestion:hover{background:var(--accent-bg);color:var(--accent)}.batch-bar{background:var(--accent);color:#fff;border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:12px;padding:8px 12px;animation:.2s slideInUp;display:flex}.batch-count{font-size:13px;font-weight:600}.batch-actions{flex:1;justify-content:flex-end;align-items:center;gap:4px;display:flex}.batch-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:12px;transition:background .15s;display:flex}.batch-btn:hover{background:#fff3}.batch-delete:hover{background:#ffffff40}.batch-cancel{background:0 0;border-color:#0000}.batch-priority{margin:0 4px}.batch-priority .priority-btn{color:#fff}.todo-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.todo-filter-group{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);gap:2px;padding:2px;display:flex}.todo-filter-btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.todo-filter-btn:hover{color:var(--text-h);background:var(--accent-bg)}.todo-filter-btn.active{background:var(--accent);color:#fff}.todo-sort-select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;outline:none;padding:4px 10px;font-family:inherit;font-size:12px}.search-bar{margin-bottom:12px;position:relative}.search-icon{color:var(--text);opacity:.5;pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-h);background:0 0;outline:none;padding:10px 36px;font-family:inherit;font-size:13px;transition:border-color .15s}.search-input:focus{border-color:var(--accent)}.search-clear{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:13px;transition:background .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-clear:hover{background:var(--accent-bg);color:var(--accent)}.todo-list-wrapper{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--surface-border);border-radius:var(--radius);box-shadow:var(--shadow-md);min-height:80px;padding:16px;animation:.4s scaleIn}.todo-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.todo-list-footer{border-top:1px solid var(--border);color:var(--text);justify-content:center;gap:12px;margin-top:4px;padding-top:12px;font-size:12px;display:flex}.todo-item{border-radius:var(--radius-sm);animation:.3s slideInUp;animation-delay:var(--stagger-delay,0s);touch-action:none;background:0 0;align-items:flex-start;gap:6px;padding:10px 10px 10px 6px;transition:background .2s,box-shadow .2s;display:flex;position:relative}.todo-item:hover{background:var(--accent-bg)}.todo-item.selected{background:var(--accent-bg);outline:1px solid var(--accent)}.todo-select-btn{border:2px solid var(--border);cursor:pointer;color:#fff;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;font-size:12px;font-weight:700;transition:all .15s;display:flex}.todo-select-btn:hover{border-color:var(--accent)}.todo-select-btn.selected{background:var(--accent);border-color:var(--accent)}.todo-drag-handle{cursor:grab;color:var(--text);opacity:.2;background:0 0;border:none;flex-shrink:0;align-items:center;margin-top:4px;padding:4px 2px;line-height:1;transition:opacity .2s;display:flex}.todo-item:hover .todo-drag-handle{opacity:.5}.todo-priority-indicator{border-radius:2px;flex-shrink:0;align-self:stretch;width:3px;margin-top:4px;margin-bottom:4px;transition:opacity .2s}.todo-priority-indicator.completed{opacity:.3}.todo-label{cursor:pointer;flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.todo-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:2px}.todo-content{flex:1;min-width:0}.todo-text{color:var(--text-h);word-break:break-word;cursor:text;padding:2px 0;font-size:15px;line-height:1.4}.todo-item.completed .todo-text{opacity:.55;text-decoration:line-through}.todo-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.todo-priority-badge{letter-spacing:.5px;background:color-mix(in srgb, var(--p-color) 15%, transparent);color:var(--p-color);border-radius:4px;padding:1px 6px;font-size:10px;font-weight:700}.todo-due{color:var(--text);background:var(--accent-bg);border-radius:4px;padding:1px 6px;font-size:11px}.todo-due.overdue{color:var(--danger);background:var(--danger-bg)}.todo-tag{background:var(--accent-bg);color:var(--accent);border-radius:4px;padding:1px 6px;font-size:11px}.todo-subtask-count{color:var(--text);opacity:.7;font-size:11px}.todo-edit-input{border:2px solid var(--accent);background:var(--surface);width:100%;color:var(--text-h);border-radius:6px;outline:none;padding:6px 10px;font-family:inherit;font-size:15px}.todo-actions{opacity:0;flex-shrink:0;gap:2px;transition:opacity .2s;display:flex}.todo-item:hover .todo-actions,.todo-item:focus-within .todo-actions{opacity:1}.todo-action-btn{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 6px;line-height:1;transition:background .2s,color .2s;display:flex}.todo-action-btn:hover{background:var(--accent-bg);color:var(--accent)}.todo-delete{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 6px;line-height:1;transition:background .2s,color .2s,transform .2s;display:flex}.todo-delete:hover{background:var(--danger-bg);color:var(--danger);transform:scale(1.15)}.todo-expand-btn svg{transition:transform .2s}.todo-expanded{grid-column:1/-1;width:100%;padding:8px 0 0;animation:.2s slideInUp}.todo-expanded-row{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.subtask-list{margin-top:4px}.subtask-items{flex-direction:column;gap:2px;margin:0 0 4px;padding:0;list-style:none;display:flex}.subtask-item{border-radius:4px;align-items:center;gap:6px;padding:4px 8px;transition:background .15s;display:flex}.subtask-item:hover{background:var(--accent-bg)}.subtask-label{cursor:pointer;color:var(--text-h);flex:1;align-items:center;gap:6px;font-size:13px;display:flex}.subtask-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.subtask-item.completed .subtask-label span{opacity:.5;text-decoration:line-through}.subtask-remove{cursor:pointer;color:var(--text);opacity:.4;background:0 0;border:none;padding:2px;font-size:10px;transition:opacity .15s}.subtask-remove:hover{opacity:1;color:var(--danger)}.subtask-form{gap:4px;display:flex}.subtask-input{border:1px solid var(--border);color:var(--text-h);background:0 0;border-radius:4px;outline:none;flex:1;padding:4px 8px;font-family:inherit;font-size:13px}.subtask-input:focus{border-color:var(--accent)}.subtask-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:14px;font-weight:700;transition:opacity .15s}.subtask-add-btn:disabled{opacity:.4;cursor:not-allowed}.todo-empty-state{text-align:center;padding:40px 20px;animation:.6s fadeIn}.todo-empty-icon-wrap{width:64px;height:64px;color:var(--text);opacity:.25;margin:0 auto 12px}.todo-empty-text{color:var(--text-h);margin:0 0 6px;font-size:15px;font-weight:600}.todo-empty-hint{color:var(--text);margin:0;font-size:13px}.todo-footer{margin-top:12px;animation:.5s fadeIn}.todo-footer-bar{justify-content:space-between;align-items:center;gap:12px;padding:8px 4px;display:flex}.todo-count{color:var(--text);font-size:13px;font-weight:500}.todo-footer-actions{align-items:center;gap:4px;display:flex}.todo-backups{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:4px;padding:8px;animation:.2s slideInUp;display:flex}.todo-backup-item{border-radius:4px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:13px;display:flex}.todo-backup-item:hover{background:var(--accent-bg)}.theme-selector{position:relative}.theme-toggle{opacity:.6}.theme-toggle:hover{opacity:1}.theme-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:130px;margin-bottom:4px;padding:4px;animation:.15s scaleIn;position:absolute;bottom:100%;right:0}.theme-option{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px 10px;font-family:inherit;font-size:13px;transition:background .15s;display:flex}.theme-option:hover{background:var(--accent-bg)}.theme-option.active{background:var(--accent-bg);color:var(--accent);font-weight:600}.theme-swatch{border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:16px;height:16px}.stats-empty{text-align:center;color:var(--text);padding:40px 20px}.stats-dashboard{animation:.4s fadeIn}.stats-cards{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px;display:grid}.stat-card{border-radius:var(--radius-sm);text-align:center;background:var(--surface);border:1px solid var(--surface-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 10px}.stat-card-value{color:var(--text-h);font-size:24px;font-weight:800;display:block}.stat-card-label{color:var(--text);margin-top:2px;font-size:11px;font-weight:500;display:block}.stat-card-total{border-top:3px solid var(--accent)}.stat-card-active{border-top:3px solid var(--accent-light)}.stat-card-done{border-top:3px solid var(--success)}.stat-card-rate{border-top:3px solid var(--accent)}.stats-alerts{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.stat-alert{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;font-weight:600}.stat-alert.overdue{background:var(--danger-bg);color:var(--danger)}.stat-alert.today{background:var(--accent-bg);color:var(--accent)}.stat-alert.high-priority{color:#f97316;background:#f9731626}.stats-section{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);margin-bottom:20px;padding:16px}.stats-section-title{color:var(--text-h);margin:0 0 12px;font-size:14px;font-weight:700}.stats-weekly-chart{align-items:flex-end;gap:6px;height:100px;display:flex}.stat-week-bar-wrap{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.stat-week-bar{background:linear-gradient(to top, var(--accent), var(--accent-light));border-radius:4px 4px 0 0;width:100%;max-width:32px;min-height:4px;transition:height .5s;animation:.5s backwards barGrow;position:relative}.stat-week-val{color:var(--text);white-space:nowrap;font-size:10px;font-weight:700;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.stat-week-label{color:var(--text);font-size:10px}.stat-bars{flex-direction:column;gap:6px;display:flex}.stat-bar-group{align-items:center;gap:8px;display:flex}.stat-bar-label{color:var(--text);min-width:48px;font-size:12px}.stat-bar-track{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.stat-bar-fill{border-radius:4px;height:100%;transition:width .5s}.stat-bar-value{color:var(--text-h);text-align:right;min-width:20px;font-size:12px;font-weight:600}.stats-tags{flex-wrap:wrap;gap:6px;display:flex}.stats-tag{background:var(--accent-bg);color:var(--accent);border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:flex}.stats-tag-count{background:var(--accent);color:#fff;border-radius:3px;padding:0 5px;font-size:10px;font-weight:700}.stats-footer{color:var(--text);background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);justify-content:center;gap:16px;padding:12px;font-size:12px;display:flex}.toast{background:var(--text-h);color:var(--bg);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:100;white-space:nowrap;align-items:center;gap:12px;padding:10px 18px;font-size:14px;font-weight:500;animation:.3s toastIn;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-text{text-overflow:ellipsis;max-width:240px;overflow:hidden}.toast-undo{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:opacity .2s}.toast-undo:hover{opacity:.85}.todo-help-modal{z-index:200;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.todo-help-backdrop{background:#0006;position:absolute;inset:0}.todo-help-content{background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--surface-border);border-radius:var(--radius);width:90%;max-width:340px;box-shadow:var(--shadow-lg);padding:24px 28px;animation:.2s scaleIn;position:relative}.todo-help-title{color:var(--text-h);margin:0 0 16px;font-size:18px;font-weight:700}.todo-help-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.todo-help-list li{color:var(--text);align-items:center;gap:8px;font-size:14px;display:flex}.todo-help-content .todo-btn{width:100%}.progress-bar{margin-bottom:16px}.progress-bar-track{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:2px;height:100%;transition:width .5s}.progress-bar-label{color:var(--text);justify-content:space-between;margin-top:4px;font-size:12px;display:flex}.confetti-canvas{pointer-events:none;z-index:150;position:fixed;inset:0}.onboarding-overlay{z-index:300;background:#00000080;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.onboarding-modal{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--surface-border);border-radius:calc(var(--radius) * 1.5);width:90%;max-width:380px;box-shadow:var(--shadow-lg);text-align:center;padding:36px 32px;animation:.3s scaleIn}.onboarding-icon{margin-bottom:20px}.onboarding-title{color:var(--text-h);margin:0 0 8px;font-size:20px;font-weight:800}.onboarding-desc{color:var(--text);margin:0 0 24px;font-size:14px;line-height:1.6}.onboarding-dots{justify-content:center;gap:6px;margin-bottom:24px;display:flex}.onboarding-dot{background:var(--border);border-radius:50%;width:8px;height:8px;transition:all .2s}.onboarding-dot.active{background:var(--accent);border-radius:4px;width:24px}.onboarding-actions{justify-content:center;gap:8px;display:flex}.onboarding-skip{border-radius:var(--radius);color:var(--text);cursor:pointer;background:0 0;border:none;padding:8px 16px;font-family:inherit;font-size:14px}.onboarding-skip:hover{background:var(--accent-bg);color:var(--text-h)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.todo-container{padding:24px 12px}.todo-title{font-size:26px}.stats-cards{grid-template-columns:repeat(2,1fr)}.todo-form-options,.todo-expanded-row{flex-direction:column}.todo-toolbar{flex-direction:column;align-items:stretch}.todo-filter-group{justify-content:center}.todo-footer-bar{text-align:center;flex-direction:column;align-items:stretch}.todo-footer-actions{flex-wrap:wrap;justify-content:center}.batch-bar{flex-wrap:wrap}.batch-actions{flex-wrap:wrap;justify-content:center}.todo-item{padding:8px 6px}.todo-meta{gap:4px}.todo-priority-badge{font-size:9px}.todo-due{font-size:10px}.toast{left:12px;right:12px;transform:none}}@media (width<=400px){.todo-container{padding:16px 8px}.todo-title{font-size:22px}.todo-input{padding:10px 12px;font-size:14px}.todo-btn{padding:10px 16px;font-size:14px}.stat-card{padding:10px 6px}.stat-card-value{font-size:20px}}@keyframes paletteScaleIn{0%{opacity:0;transform:scale(.92)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.command-palette-overlay{z-index:500;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:flex-start;padding-top:15vh;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.command-palette-modal{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--surface-border);border-radius:calc(var(--radius) * 1.2);width:100%;max-width:600px;box-shadow:var(--shadow-lg), 0 24px 64px #0000004d;animation:.2s paletteScaleIn;overflow:hidden}.command-palette-input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-h);background:0 0;outline:none;padding:16px 16px 16px 44px;font-family:inherit;font-size:16px}.command-palette-input::placeholder{color:var(--text);opacity:.5}.command-palette-input-wrap{position:relative}.command-palette-input-wrap:before{content:"🔍";opacity:.5;pointer-events:none;font-size:15px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.command-palette-list{max-height:320px;margin:0;padding:4px;list-style:none;overflow-y:auto}.command-palette-group{color:var(--text);opacity:.5;text-transform:uppercase;letter-spacing:.5px;padding:6px 8px 2px;font-size:11px;font-weight:700}.command-palette-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-h);justify-content:space-between;align-items:center;padding:10px 12px;font-size:14px;transition:background .1s;display:flex}.command-palette-item:hover,.command-palette-item.highlighted{background:var(--accent-bg);color:var(--accent)}.command-palette-item-left{align-items:center;gap:10px;display:flex}.command-palette-item-icon{text-align:center;opacity:.7;flex-shrink:0;width:20px;font-size:14px}.command-palette-kbd{background:var(--bg);border:1px solid var(--border);color:var(--text);opacity:.7;border-radius:4px;flex-shrink:0;padding:2px 6px;font-family:inherit;font-size:11px}.command-palette-empty{text-align:center;color:var(--text);opacity:.6;padding:32px;font-size:14px}@keyframes boardCardIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.board-container{grid-template-columns:repeat(4,1fr);gap:12px;min-height:400px;animation:.4s fadeIn;display:grid}.board-column{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;display:flex;overflow:hidden}.board-column-header{color:var(--text-h);border-bottom:1px solid var(--border);border-left:3px solid var(--accent);justify-content:space-between;align-items:center;padding:12px 12px 10px;font-size:13px;font-weight:700;display:flex}.board-column-header[data-priority=high]{border-left-color:#ef4444}.board-column-header[data-priority=medium]{border-left-color:#f59e0b}.board-column-header[data-priority=low]{border-left-color:#22c55e}.board-column-count{background:var(--accent-bg);color:var(--accent);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.board-card{background:var(--bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;animation:.3s backwards boardCardIn;animation-delay:var(--stagger-delay,0s);margin:6px 8px;padding:10px 12px;transition:transform .15s,box-shadow .15s}.board-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.board-card-priority{border-radius:2px;width:100%;height:3px;margin-bottom:8px}.board-card-priority[data-priority=high]{background:#ef4444}.board-card-priority[data-priority=medium]{background:#f59e0b}.board-card-priority[data-priority=low]{background:#22c55e}.board-card-priority[data-priority=none]{background:var(--border)}.board-card-meta{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.board-card-tags{flex-wrap:wrap;gap:3px;margin-top:6px;display:flex}.board-card-subtasks{color:var(--text);opacity:.6;margin-top:4px;font-size:11px}.calendar-container{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-md);padding:16px;animation:.4s fadeIn}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.calendar-nav{align-items:center;gap:8px;display:flex}.calendar-nav-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.calendar-nav-btn:hover{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.calendar-month-label{color:var(--text-h);font-size:15px;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;color:var(--text);flex-direction:column;justify-content:flex-start;align-items:center;padding:4px;font-size:13px;transition:background .15s;display:flex;position:relative}.calendar-day:hover{background:var(--accent-bg)}.calendar-day-today{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent);font-weight:700}.calendar-day-selected{background:var(--accent);color:#fff;font-weight:700}.calendar-day-dots{gap:2px;margin-top:2px;display:flex;position:absolute;bottom:4px}.calendar-dot{border-radius:50%;flex-shrink:0;width:4px;height:4px}.calendar-tasks{border-top:1px solid var(--border);margin-top:12px;padding-top:12px;animation:.2s slideInUp}.calendar-task-item{border-radius:var(--radius-sm);color:var(--text-h);align-items:center;gap:8px;padding:8px 10px;font-size:13px;transition:background .15s;display:flex}.calendar-task-item:hover{background:var(--accent-bg)}@keyframes focusFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.focus-overlay{z-index:400;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#000000bf;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.focus-container{text-align:center;width:90%;max-width:500px;animation:.4s focusFade}.focus-task-text{color:#fff;margin-bottom:32px;font-size:28px;font-weight:700;line-height:1.3}.focus-checkbox{cursor:pointer;color:#fff;background:0 0;border:3px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:24px;font-size:20px;transition:all .2s;display:inline-flex}.focus-checkbox:hover{border-color:var(--accent);background:var(--accent)}.focus-meta{color:#fff9;justify-content:center;gap:12px;margin-bottom:24px;font-size:13px;display:flex}.focus-subtasks{color:#ffffff80;margin-bottom:24px;font-size:13px}.focus-notes{border-radius:var(--radius-sm);color:#fff9;text-align:left;background:#ffffff0d;border:1px solid #ffffff1a;min-height:48px;margin-bottom:32px;padding:12px;font-size:13px}.focus-nav{justify-content:center;gap:16px;display:flex}.focus-nav button{border-radius:var(--radius);color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;padding:10px 24px;font-family:inherit;font-size:14px;transition:all .2s}.focus-nav button:hover{background:var(--accent);border-color:var(--accent)}.focus-counter{color:#fff6;margin-top:16px;font-size:12px}@keyframes fabPulse{0%,to{box-shadow:0 4px 16px var(--accent-bg)}50%{box-shadow:0 4px 28px var(--accent), 0 0 0 8px color-mix(in srgb, var(--accent) 15%, transparent)}}.quick-add-fab{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;cursor:pointer;z-index:100;width:56px;height:56px;box-shadow:0 4px 16px var(--accent-bg);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:28px;font-weight:300;transition:transform .2s;display:flex;position:fixed;bottom:24px;right:24px}.quick-add-fab:hover{animation:1.5s infinite fabPulse;transform:scale(1.08)}.quick-add-fab:active{transform:scale(.95)}.quick-add-modal{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--surface-border);border-radius:calc(var(--radius) * 1.2);width:320px;box-shadow:var(--shadow-lg);z-index:100;padding:16px;animation:.2s scaleIn;position:fixed;bottom:92px;right:24px}.quick-add-input{border:2px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text-h);background:0 0;outline:none;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .2s}.quick-add-input:focus{border-color:var(--accent)}.quick-add-input::placeholder{color:var(--text);opacity:.5}.quick-add-feedback{color:var(--success);margin-top:8px;font-size:13px;font-weight:600;animation:.2s fadeIn}.gamification-bar{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--surface-border);border-radius:var(--radius);align-items:center;gap:12px;margin-bottom:16px;padding:8px 14px;animation:.3s slideInUp;display:flex}.gamification-level{background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:flex}.gamification-points{color:var(--text-h);white-space:nowrap;font-size:13px;font-weight:600}.gamification-progress{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.gamification-progress-fill{background:linear-gradient(90deg, var(--accent), var(--accent-light));border-radius:3px;height:100%;transition:width .5s}.gamification-badges{flex-shrink:0;gap:4px;display:flex}.gamification-badge{background:var(--bg);border:1px solid var(--border);cursor:default;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:transform .15s;display:flex;position:relative}.gamification-badge:hover{transform:scale(1.15)}.gamification-badge-icon{font-size:14px}.gamification-badge-tooltip{background:var(--text-h);color:var(--bg);white-space:nowrap;pointer-events:none;opacity:0;border-radius:4px;margin-bottom:6px;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.gamification-badge:hover .gamification-badge-tooltip{opacity:1}.view-switcher{background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border);gap:2px;padding:2px;display:flex}.view-switcher-btn{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.view-switcher-btn:hover{color:var(--text-h);background:var(--accent-bg)}.view-switcher-btn.active{background:var(--accent);color:#fff}.todo-recurring-badge{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);letter-spacing:.3px;white-space:nowrap;border-radius:10px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.todo-star-btn{cursor:pointer;color:var(--text);opacity:.5;background:0 0;border:none;border-radius:4px;align-items:center;padding:4px 6px;line-height:1;transition:all .15s;display:flex}.todo-star-btn:hover{opacity:.8;background:var(--accent-bg)}.todo-star-btn.starred{color:var(--accent);opacity:1;animation:.2s scaleIn}.todo-notes-section{margin-top:8px}.todo-notes-section textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:100%;min-height:60px;color:var(--text-h);resize:vertical;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .2s}.todo-notes-section textarea:focus{border-color:var(--accent)}.todo-notes-section textarea::placeholder{color:var(--text);opacity:.5}.streak-display{color:var(--accent);align-items:center;gap:4px;padding:2px 8px;font-size:13px;font-weight:700;display:inline-flex}.streak-number{font-variant-numeric:tabular-nums}.streak-label{color:var(--text);opacity:.7;font-size:11px;font-weight:500}.todo-help-list li kbd{background:var(--bg);border:1px solid var(--border);color:var(--text);text-align:center;border-radius:4px;min-width:20px;padding:2px 6px;font-family:inherit;font-size:11px;display:inline-block}@keyframes swipeHint{0%,to{transform:translate(0)}50%{transform:translate(-8px)}}@media (width<=600px){.board-container{grid-template-columns:1fr;gap:8px}.board-column{min-height:auto}.board-column-header{border-left-width:3px}.calendar-container{padding:12px}.calendar-day{font-size:12px}.focus-task-text{font-size:22px}.focus-checkbox{width:40px;height:40px}.quick-add-fab{width:52px;height:52px;font-size:26px;bottom:16px;right:16px}.quick-add-modal{width:auto;left:12px;right:12px}.gamification-bar{flex-wrap:wrap;gap:8px}.gamification-badges{justify-content:center;width:100%}.todo-item{min-height:44px}.todo-action-btn,.todo-delete{min-width:44px;min-height:44px}.priority-btn{min-width:36px;min-height:36px}.priority-option,.date-picker-btn,.todo-filter-btn,.todo-tab{min-height:44px}.todo-item.swiping{animation:.6s swipeHint}.quick-add-modal,.date-picker-dropdown,.tag-suggestions{border-radius:var(--radius) var(--radius) 0 0;animation:.3s slideInUp;box-shadow:0 -8px 32px #0000004d}.command-palette-overlay{padding-top:8vh;padding-left:8px;padding-right:8px}.command-palette-modal{max-width:100%}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.swipe-container{border-radius:var(--radius-sm);touch-action:pan-y;position:relative;overflow:hidden}.swipe-content{z-index:2;will-change:transform;background:var(--surface);transition:transform .3s cubic-bezier(.25,.46,.45,.94);position:relative}.swipe-action-left,.swipe-action-right{z-index:1;opacity:0;justify-content:center;align-items:center;width:80px;transition:opacity .2s;display:flex;position:absolute;top:0;bottom:0}.swipe-action-left{background:var(--danger,#ef4444);color:#fff;border-radius:var(--radius-sm) 0 0 var(--radius-sm);left:0}.swipe-action-right{background:var(--success,#22c55e);color:#fff;border-radius:0 var(--radius-sm) var(--radius-sm) 0;right:0}.swipe-action-icon{font-size:20px;font-weight:700}.swipe-container.swiped-left .swipe-action-left,.swipe-container.swiped-right .swipe-action-right{opacity:1}.bottom-sheet-overlay{z-index:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;animation:.2s fadeIn;position:fixed;inset:0}.bottom-sheet-panel{background:var(--surface);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--surface-border);transform-origin:bottom;border-radius:16px 16px 0 0;flex-direction:column;max-height:80vh;animation:.3s cubic-bezier(.25,.46,.45,.94) slideUp;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 32px #0003}.bottom-sheet-handle{cursor:grab;justify-content:center;align-items:center;padding:12px 0 8px;display:flex}.bottom-sheet-handle-bar{background:var(--border);border-radius:2px;width:40px;height:4px}.bottom-sheet-title{color:var(--text-h);border-bottom:1px solid var(--border);padding:0 16px 12px;font-size:16px;font-weight:700}.bottom-sheet-body{flex:1;padding:16px;overflow-y:auto}.bottom-sheet-close{background:var(--accent-bg);width:32px;height:32px;color:var(--text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:background .15s,color .15s;display:flex;position:absolute;top:16px;right:16px}.bottom-sheet-close:hover{background:var(--danger-bg);color:var(--danger)}.notification-settings{flex-direction:column;gap:16px;padding:16px;display:flex}.notification-toggle{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:12px;display:flex}.notification-toggle-label{color:var(--text-h);font-size:14px;font-weight:600}.notification-status{text-transform:capitalize;border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.notification-status.granted{background:color-mix(in srgb, var(--success,#22c55e) 15%, transparent);color:var(--success,#22c55e)}.notification-status.denied{background:color-mix(in srgb, var(--danger,#ef4444) 15%, transparent);color:var(--danger,#ef4444)}.notification-status.default{background:var(--accent-bg);color:var(--accent)}.notification-option{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:13px;transition:all .15s;display:flex}.notification-option:hover{background:var(--accent-bg);border-color:var(--accent)}.notification-option.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}.notification-upcoming{flex-direction:column;gap:6px;display:flex}.notification-upcoming-item{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.notification-upcoming-item:hover{background:var(--accent-bg)}.templates-container{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.template-card{background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--surface-border);border-radius:var(--radius);padding:16px;transition:transform .2s,box-shadow .2s}.template-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.template-name{color:var(--text-h);margin-bottom:8px;font-size:14px;font-weight:700}.template-tasks{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.template-tasks li{color:var(--text);background:var(--accent-bg);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:12px;overflow:hidden}.template-actions{gap:6px;margin-top:12px;display:flex}.template-create-btn{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:6px;min-height:120px;padding:14px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex}.template-create-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.heatmap-container{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:16px}.heatmap-grid{gap:3px;display:flex}.heatmap-month{flex-direction:column;gap:2px;display:flex}.heatmap-label{color:var(--text);opacity:.6;text-align:right;min-width:24px;padding-right:6px;font-size:10px}.heatmap-day{flex-direction:column;gap:3px;display:flex}.heatmap-cell{background:var(--border);cursor:pointer;border-radius:2px;width:12px;height:12px;transition:all .15s}.heatmap-cell:hover{outline:2px solid var(--accent);outline-offset:-1px;transform:scale(1.3)}.heatmap-cell.level-1{background:color-mix(in srgb, var(--accent) 25%, var(--border))}.heatmap-cell.level-2{background:color-mix(in srgb, var(--accent) 50%, var(--border))}.heatmap-cell.level-3{background:color-mix(in srgb, var(--accent) 75%, var(--border))}.heatmap-cell.level-4{background:var(--accent)}.heatmap-tooltip{z-index:100;background:var(--text-h);color:var(--bg);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-md);border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600;position:absolute}.heatmap-tooltip:after{content:"";border:4px solid #0000;border-top-color:var(--text-h);position:absolute;top:100%;left:50%;transform:translate(-50%)}.heatmap-legend{justify-content:flex-end;align-items:center;gap:4px;margin-top:12px;display:flex}.heatmap-legend-label{color:var(--text);opacity:.6;margin-right:4px;font-size:10px}.heatmap-legend-cell{border-radius:2px;width:12px;height:12px}.heatmap-stats{border-top:1px solid var(--border);color:var(--text);gap:16px;margin-top:12px;padding-top:12px;font-size:12px;display:flex}.heatmap-stat-value{color:var(--text-h);font-weight:700}.share-card-container{flex-direction:column;align-items:center;gap:16px;display:flex}.share-card{aspect-ratio:320/200;border-radius:var(--radius);background:linear-gradient(135deg, var(--accent), var(--accent-light));color:#fff;width:320px;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:space-between;padding:20px;display:flex;position:relative;overflow:hidden}.share-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff1a,#0000);position:absolute;inset:0}.share-card-stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.share-card-stat-value{font-size:20px;font-weight:800;display:block}.share-card-stat-label{opacity:.8;text-transform:uppercase;letter-spacing:.5px;font-size:10px;display:block}.share-card-badges{justify-content:center;gap:8px;display:flex}.share-card-badge{font-size:18px}.share-card-watermark{opacity:.6;text-align:right;font-size:10px}.share-card-actions{justify-content:center;gap:8px;display:flex}.share-card-btn{border-radius:var(--radius-sm);background:var(--surface);color:var(--text-h);cursor:pointer;border:none;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex}.share-card-btn:hover{background:var(--accent-bg);color:var(--accent);transform:translateY(-1px)}@media print{.share-card-actions{display:none}.share-card{box-shadow:none;border:1px solid var(--border)}}.language-picker{position:relative}.language-picker-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 10px;font-family:inherit;font-size:12px;transition:all .15s;display:flex}.language-picker-btn:hover{border-color:var(--accent);color:var(--accent)}.language-picker-dropdown{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);min-width:140px;margin-top:4px;padding:4px;animation:.15s scaleIn;position:absolute;top:100%;right:0}.language-option{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;width:100%;padding:8px 12px;font-family:inherit;font-size:13px;transition:background .1s;display:flex}.language-option:hover{background:var(--accent-bg)}.language-option.active{background:var(--accent-bg);color:var(--accent);font-weight:600}[dir=rtl] .todo-form-main,[dir=rtl] .todo-toolbar,[dir=rtl] .todo-footer-bar,[dir=rtl] .batch-bar,[dir=rtl] .todo-expanded-row,[dir=rtl] .todo-item,[dir=rtl] .todo-actions{flex-direction:row-reverse}[dir=rtl] .todo-input,[dir=rtl] .search-input{text-align:right}[dir=rtl] .todo-label{flex-direction:row-reverse}[dir=rtl] .todo-action-btn,[dir=rtl] .todo-delete{margin-left:0;margin-right:4px}[dir=rtl] .search-icon{left:auto;right:12px}[dir=rtl] .search-input{padding-left:36px;padding-right:36px}[dir=rtl] .search-clear{left:8px;right:auto}[dir=rtl] .language-picker-dropdown,[dir=rtl] .theme-dropdown{left:0;right:auto}[dir=rtl] .date-picker-dropdown{left:auto;right:0}[dir=rtl] .todo-filter-btn,[dir=rtl] .todo-tab,[dir=rtl] .board-column-header,[dir=rtl] .board-card,[dir=rtl] .calendar-task-item,[dir=rtl] .template-tasks li,[dir=rtl] .notification-upcoming-item,[dir=rtl] .tag-chip{text-align:right}[dir=rtl] .todo-text,[dir=rtl] .todo-title,[dir=rtl] .focus-task-text{font-size:1.05em}@media (width<=600px){.todo-item{min-height:48px}.todo-action-btn,.todo-delete{min-width:48px;min-height:48px}.todo-select-btn{min-width:40px;min-height:40px}.todo-filter-btn{min-height:48px;padding:8px 16px}.todo-tab{min-height:48px}.priority-btn{min-width:40px;min-height:40px}.priority-option,.date-picker-btn{min-height:48px}.subtask-add-btn{min-width:44px;min-height:44px}.bottom-sheet-panel{border-radius:16px 16px 0 0;left:0;right:0}.swipe-action-left,.swipe-action-right{width:100px}.board-container{grid-template-columns:1fr;gap:8px}.board-column{min-height:auto}.calendar-day{padding:2px;font-size:11px}.heatmap-container{overflow-x:auto}.heatmap-grid{min-width:580px}.share-card{width:100%;max-width:320px}.templates-container{grid-template-columns:1fr}.template-create-btn{min-height:80px}}
