@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg: #000000;--surface: #0a0a0a;--surface2: #111111;--surface3: #181818;--border: #1e1e1e;--border2: #2a2a2a;--text: #eeeeee;--text-muted: #666666;--text-dim: #333333;--accent: #4f8ef7;--accent-dim: rgba(79,142,247,.12);--green: #34d399;--amber: #f59e0b;--red: #f87171;--radius: 10px;--sidebar-w: 220px;--font: "IBM Plex Sans", sans-serif;--mono: "IBM Plex Mono", monospace}[data-theme=light]{--bg: #f5f5f5;--surface: #ffffff;--surface2: #f0f0f0;--surface3: #e8e8e8;--border: #e0e0e0;--border2: #d0d0d0;--text: #111111;--text-muted: #777777;--text-dim: #bbbbbb;--accent-dim: rgba(79,142,247,.1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;-webkit-font-smoothing:antialiased}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem .75rem;gap:.25rem;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:.55rem;padding:0 .5rem 1rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.brand-icon{font-size:1rem;color:var(--accent)}.brand-name{font-size:.95rem;font-weight:700;letter-spacing:.2px}.theme-toggle{margin-left:auto;background:none;border:none;cursor:pointer;font-size:.9rem;padding:.15rem;opacity:.6;transition:opacity .15s}.theme-toggle:hover{opacity:1}.nav{display:flex;flex-direction:column;gap:.1rem}.nav-btn{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border-radius:7px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:.82rem;font-weight:500;text-align:left;transition:background .12s,color .12s;width:100%}.nav-btn:hover{background:var(--surface2);color:var(--text)}.nav-btn.active{background:var(--accent-dim);color:var(--accent)}.nav-icon{font-size:.9rem;width:16px;text-align:center;flex-shrink:0}.nav-count{margin-left:auto;font-size:.68rem;font-family:var(--mono);background:var(--surface2);color:var(--text-muted);padding:.1rem .4rem;border-radius:99px;font-weight:600}.nav-btn.active .nav-count{background:var(--accent-dim);color:var(--accent)}.overdue-alert{font-size:.72rem;font-weight:600;color:var(--red);background:#f8717112;border:1px solid rgba(248,113,113,.18);border-radius:6px;padding:.35rem .6rem;margin:.2rem 0}.timer-alert{font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(79,142,247,.2);border-radius:6px;padding:.35rem .6rem;margin:.2rem 0}.sidebar-section-label{font-size:.63rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;padding:.6rem .5rem .25rem;font-family:var(--mono)}.sidebar-tags{display:flex;flex-direction:column;gap:.1rem}.tag-nav-btn{display:flex;align-items:center;gap:.5rem;padding:.38rem .6rem;border-radius:7px;border:none;background:none;color:var(--text-muted);cursor:pointer;font-family:var(--font);font-size:.78rem;font-weight:500;text-align:left;width:100%;transition:background .12s,color .12s}.tag-nav-btn:hover,.tag-nav-btn.active{background:var(--surface2);color:var(--text)}.tag-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sidebar-progress{padding-top:.75rem;border-top:1px solid var(--border);margin-top:auto;padding-bottom:.25rem}.progress-label-row{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-muted);margin-bottom:.45rem;font-weight:500}.progress-bar{height:3px;background:var(--border2);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .4s ease}.sidebar-actions{display:flex;flex-direction:column;gap:.1rem;margin-top:.5rem}.sidebar-action-btn{background:none;border:none;color:var(--text-muted);font-family:var(--font);font-size:.78rem;font-weight:500;padding:.38rem .6rem;border-radius:7px;cursor:pointer;text-align:left;transition:background .12s,color .12s}.sidebar-action-btn:hover{background:var(--surface2);color:var(--text)}.clear-btn{margin-top:.5rem;width:100%;padding:.45rem;background:none;border:1px solid var(--border);border-radius:7px;color:var(--text-muted);font-family:var(--font);font-size:.75rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.clear-btn:hover{border-color:#f8717166;color:var(--red)}.sign-out-btn{color:var(--text-dim)!important;margin-top:auto}.sign-out-btn:hover{color:var(--red)!important}.main{flex:1;display:flex;flex-direction:column;padding:2rem 2.5rem 3rem;max-width:820px;overflow-y:auto}.main-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}.main-header h1{font-size:1.4rem;font-weight:700;letter-spacing:-.4px}.header-sub{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.header-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.search-input{padding:.38rem .75rem;font-family:var(--font);font-size:.82rem;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s;width:190px}.search-input::placeholder{color:var(--text-dim)}.search-input:focus{border-color:var(--accent)}.sort-select,.recur-select{padding:.35rem .65rem;font-family:var(--font);font-size:.78rem;border:1px solid var(--border);border-radius:7px;background:var(--surface2);color:var(--text-muted);outline:none;cursor:pointer;transition:border-color .15s;color-scheme:dark}.sort-select:focus,.recur-select:focus{border-color:var(--accent);color:var(--text)}.stats-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1.25rem}.stats-title{font-size:.63rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-family:var(--mono)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.stat-card{background:var(--surface2);border-radius:8px;padding:.75rem;display:flex;flex-direction:column;gap:.2rem;border:1px solid var(--border)}.stat-val{font-size:1.5rem;font-weight:700;color:var(--text);line-height:1;font-family:var(--mono)}.stat-lbl{font-size:.68rem;font-weight:500;color:var(--text-muted)}.stat-lbl.overdue{color:var(--red)}.add-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .15s}.add-section:focus-within{border-color:var(--border2)}.main-input{width:100%;background:transparent;border:none;padding:.25rem 0;font-family:var(--font);font-size:.95rem;font-weight:500;color:var(--text);outline:none}.main-input::placeholder{color:var(--text-dim)}.notes-input{width:100%;background:transparent;border:none;padding:.25rem 0;font-family:var(--font);font-size:.82rem;color:var(--text-muted);outline:none;resize:none;line-height:1.5}.notes-input::placeholder{color:var(--text-dim)}.add-row{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.priority-select{display:flex;gap:.25rem}.pri-btn{display:flex;align-items:center;gap:.3rem;padding:.28rem .55rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap}.pri-btn.small{padding:.2rem .4rem;font-size:.7rem}.pri-btn:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dot);opacity:.4;transition:opacity .12s;flex-shrink:0}.pri-btn:hover{border-color:var(--border2);color:var(--text)}.pri-btn.active{border-color:var(--border2);color:var(--text);background:var(--surface2)}.pri-btn.active:before{opacity:1}.date-input{padding:.28rem .6rem;font-family:var(--font);font-size:.75rem;font-weight:500;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);outline:none;cursor:pointer;transition:border-color .15s;color-scheme:dark}.date-input:focus{border-color:var(--accent);color:var(--text)}.add-btn{padding:.38rem .9rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-family:var(--font);font-size:.8rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap;margin-left:auto}.add-btn:hover{opacity:.88}.add-btn:active{transform:scale(.97)}.tag-edit-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.tag-list{display:flex;flex-wrap:wrap;gap:.25rem}.tag{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:600;padding:.15rem .45rem;border-radius:99px;background:color-mix(in srgb,var(--tc) 10%,transparent);border:1px solid color-mix(in srgb,var(--tc) 25%,transparent);color:var(--tc)}.tag.small{font-size:.64rem;padding:.1rem .35rem}.tag-remove{background:none;border:none;color:inherit;cursor:pointer;font-size:.8rem;line-height:1;padding:0;opacity:.5}.tag-remove:hover{opacity:1}.tag-input{padding:.25rem .5rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font-family:var(--font);font-size:.75rem;outline:none;width:110px}.tag-input::placeholder{color:var(--text-dim)}.tag-input:focus{border-color:var(--accent)}.tag-suggest{padding:.15rem .45rem;border:1px solid var(--border);border-radius:99px;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:.72rem;cursor:pointer;transition:all .12s}.tag-suggest:hover{border-color:var(--accent);color:var(--accent)}.todo-list{display:flex;flex-direction:column;gap:.3rem}.todo-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .15s,background .15s;position:relative;overflow:hidden}.todo-item:hover{border-color:var(--border2);background:var(--surface2)}.todo-item.priority-high{border-left:2px solid #f87171}.todo-item.priority-medium{border-left:2px solid #f59e0b}.todo-item.priority-low{border-left:2px solid #34d399}.todo-item.completed{opacity:.38}.todo-item.completed:hover{opacity:.55}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--text-muted)}.todo-item.timer-active{border-color:#4f8ef759;background:#4f8ef708}.todo-main-row{display:flex;align-items:center;gap:.65rem;padding:.7rem .85rem}.drag-handle{color:var(--text-dim);cursor:grab;font-size:.9rem;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 1px;transition:color .12s;opacity:0}.drag-handle:active{cursor:grabbing}.todo-item:hover .drag-handle{opacity:1;color:var(--text-muted)}.check-btn{width:17px;height:17px;min-width:17px;border-radius:50%;border:1.5px solid var(--border2);background:transparent;cursor:pointer;transition:all .15s;position:relative;flex-shrink:0}.check-btn.small{width:14px;height:14px;min-width:14px}.check-btn.checked{background:var(--accent);border-color:var(--accent)}.check-btn.checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.6rem;color:#fff;line-height:1}.check-btn:hover:not(.checked){border-color:var(--accent)}.todo-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.todo-top-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.todo-text{font-size:.875rem;font-weight:500;line-height:1.4;word-break:break-word}.todo-meta{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin-top:.1rem}.priority-badge{display:flex;align-items:center;gap:.25rem;font-size:.68rem;font-weight:500;color:var(--text-muted)}.priority-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--dot);flex-shrink:0}.due-date{font-size:.68rem;font-weight:500;color:var(--text-muted);font-family:var(--mono)}.due-date.overdue{color:var(--red)}.subtask-count{font-size:.68rem;font-weight:500;color:var(--text-muted);font-family:var(--mono)}.recur-badge{font-size:.63rem;font-weight:600;color:var(--accent);background:var(--accent-dim);padding:.12rem .4rem;border-radius:99px;font-family:var(--mono)}.timer-running-badge{font-size:.65rem;font-weight:600;color:var(--accent);background:var(--accent-dim);padding:.12rem .4rem;border-radius:99px;font-family:var(--mono)}.item-actions{display:flex;gap:.15rem;opacity:0;transition:opacity .15s;flex-shrink:0}.todo-item:hover .item-actions{opacity:1}.expand-btn,.edit-btn,.delete-btn,.archive-btn{background:none;border:none;color:var(--text-dim);font-size:.8rem;cursor:pointer;padding:.2rem .35rem;border-radius:5px;line-height:1;transition:all .12s}.expand-btn:hover{color:var(--text-muted);background:var(--surface3)}.edit-btn:hover{color:var(--accent);background:var(--accent-dim)}.delete-btn:hover{color:var(--red);background:#f8717114}.archive-btn{opacity:0}.todo-item:hover .archive-btn{opacity:1}.archive-btn:hover{color:var(--text-muted);background:var(--surface3)}.todo-expanded{border-top:1px solid var(--border);padding:.75rem .85rem .85rem 2.85rem;display:flex;flex-direction:column;gap:.65rem}.notes-display{font-size:.8rem;color:var(--text-muted);line-height:1.6;background:var(--surface2);border-radius:7px;padding:.5rem .7rem;white-space:pre-wrap;border:1px solid var(--border)}.subtasks-section{display:flex;flex-direction:column;gap:.3rem}.subtasks-label{font-size:.63rem;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:.1rem;font-family:var(--mono)}.subtask-item{display:flex;flex-direction:column;padding:.45rem .7rem;background:var(--surface2);border:1px solid var(--border);border-radius:7px;transition:border-color .12s}.subtask-item:hover{border-color:var(--border2)}.subtask-item.completed{opacity:.38}.subtask-item.completed .todo-text{text-decoration:line-through}.subtask-item.timer-active{border-color:#4f8ef74d}.subtask-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.add-subtask-row{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;margin-top:.15rem}.edit-section{flex:1;display:flex;flex-direction:column;gap:.45rem}.edit-section.compact{flex:1}.edit-input{width:100%;background:var(--surface2);border:1px solid var(--accent);border-radius:7px;padding:.4rem .65rem;font-family:var(--font);font-size:.85rem;font-weight:500;color:var(--text);outline:none}.edit-row{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}.edit-actions{display:flex;gap:.35rem;justify-content:flex-end}.save-btn{padding:.3rem .75rem;background:var(--accent);color:#fff;border:none;border-radius:6px;font-family:var(--font);font-size:.78rem;font-weight:600;cursor:pointer;transition:opacity .15s}.save-btn:hover{opacity:.85}.cancel-btn{padding:.3rem .75rem;background:none;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;font-family:var(--font);font-size:.78rem;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s}.cancel-btn:hover{color:var(--text);border-color:var(--border2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;color:var(--text-dim);gap:.75rem}.empty-icon{font-size:2rem;opacity:.2}.empty-state p{font-size:.82rem;font-weight:500}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.4rem;z-index:9999}.toast{display:flex;align-items:center;gap:.65rem;background:var(--surface2);border:1px solid var(--border2);border-radius:9px;padding:.6rem .85rem;font-size:.82rem;color:var(--text);box-shadow:0 4px 20px #00000080;animation:slideInToast .2s ease;max-width:320px}@keyframes slideInToast{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.toast-undo{background:none;border:none;color:var(--accent);font-family:var(--font);font-size:.78rem;font-weight:600;cursor:pointer;margin-left:auto;padding:0}.toast-undo:hover{text-decoration:underline}.xp-bar-wrap{position:fixed;bottom:0;left:var(--sidebar-w);right:0;padding:.5rem 1.5rem;background:linear-gradient(to top,var(--bg) 60%,transparent);display:flex;align-items:center;gap:.75rem;z-index:10;pointer-events:none}.xp-level-badge{font-size:.65rem;font-weight:700;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(79,142,247,.25);padding:.2rem .5rem;border-radius:99px;white-space:nowrap;font-family:var(--mono)}.xp-bar{flex:1;height:3px;background:var(--border);border-radius:99px;overflow:hidden;max-width:200px}.xp-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .5s ease}.xp-label{font-size:.65rem;font-weight:500;color:var(--text-muted);font-family:var(--mono);white-space:nowrap}.shortcuts-hint{font-size:.7rem;color:var(--text-dim);display:flex;gap:.75rem;flex-wrap:wrap}.kbd{display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);border:1px solid var(--border2);border-radius:4px;padding:.1rem .35rem;font-family:var(--mono);font-size:.68rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--surface);border:1px solid var(--border2);border-radius:14px;padding:1.5rem;width:100%;max-width:480px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0009;display:flex;flex-direction:column;gap:1rem;animation:modalEnter .2s ease}@keyframes modalEnter{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.modal-title{font-size:1rem;font-weight:700}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:.15rem;border-radius:4px;transition:color .15s}.modal-close:hover{color:var(--text)}.shortcuts-modal{max-width:400px}.shortcut-row{display:flex;align-items:center;justify-content:space-between;font-size:.82rem;color:var(--text-muted);padding:.35rem 0;border-bottom:1px solid var(--border)}.shortcut-row:last-child{border-bottom:none}.task-timer{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem}.timer-mode-tabs{display:flex;gap:.25rem;margin-bottom:.85rem}.timer-tab{flex:1;padding:.3rem .45rem;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-family:var(--font);font-size:.72rem;font-weight:600;cursor:pointer;transition:all .12s;white-space:nowrap;text-align:center}.timer-tab:hover:not(:disabled){border-color:var(--border2);color:var(--text)}.timer-tab.active{background:var(--accent-dim);border-color:#4f8ef766;color:var(--accent)}.timer-tab:disabled{opacity:.35;cursor:not-allowed}.timer-body{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.timer-ring-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.timer-display{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.timer-time{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);font-family:var(--mono)}.timer-phase-label{font-size:.55rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-family:var(--mono)}.timer-controls{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:140px}.timer-btns{display:flex;gap:.35rem}.timer-btn{flex:1;padding:.4rem .7rem;border:none;border-radius:7px;font-family:var(--font);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .12s}.timer-btn.start{background:var(--accent);color:#fff}.timer-btn.start:hover{opacity:.88}.timer-btn.stop{background:#f8717126;color:var(--red);border:1px solid rgba(248,113,113,.25)}.timer-btn.stop:hover{background:#f8717140}.timer-btn.reset{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.timer-btn.reset:hover:not(:disabled){border-color:var(--border2);color:var(--text)}.timer-btn:disabled{opacity:.3;cursor:not-allowed}.timer-toggle-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-family:var(--font);font-size:.72rem;font-weight:500;padding:.2rem .5rem;cursor:pointer;transition:all .12s}.timer-toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.timer-toggle-btn.pulsing{border-color:#4f8ef766;color:var(--accent)}.timer-toggle-btn.small{font-size:.68rem;padding:.15rem .4rem}.timer-label{font-size:.72rem;font-weight:500;color:var(--text-muted)}.countdown-setup{display:flex;align-items:center;gap:.45rem}.countdown-input{width:60px;padding:.28rem .45rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--mono);font-size:.88rem;font-weight:600;outline:none;text-align:center}.countdown-input:focus{border-color:var(--accent)}.pomodoro-hint{font-size:.72rem;color:var(--text-muted);line-height:1.4}.confetti-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:99999;overflow:hidden}.confetti-piece{position:absolute;top:-20px;border-radius:2px;animation:confettiFall 2.8s ease-in forwards}@keyframes confettiFall{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}80%{opacity:1}to{transform:translateY(110vh) rotate(720deg) scale(.5);opacity:0}}.confetti-msg{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);font-size:1.3rem;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);background:#0009;padding:.6rem 1.25rem;border-radius:10px;animation:msgPop .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none}@keyframes msgPop{0%{transform:translate(-50%,-50%) scale(.5)}to{transform:translate(-50%,-50%) scale(1)}}.mini-confetti-wrap{position:fixed;pointer-events:none;z-index:99998;transform:translate(-50%,-50%)}.mini-confetti-piece{position:absolute;top:0;left:50%;border-radius:2px;animation:miniFall 2.2s ease-out forwards;animation-delay:var(--delay, 0s);opacity:0}@keyframes miniFall{0%{transform:translate(var(--dx, 0px)) translateY(0) rotate(0);opacity:1}60%{opacity:1}to{transform:translate(var(--dx, 0px)) translateY(80px) rotate(360deg);opacity:0}}.mini-reward-popup{position:absolute;top:-48px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;animation:rewardPop 2.2s ease-out forwards;white-space:nowrap}@keyframes rewardPop{0%{transform:translate(-50%) translateY(0) scale(.5);opacity:0}15%{transform:translate(-50%) translateY(-10px) scale(1);opacity:1}70%{opacity:1}to{transform:translate(-50%) translateY(-30px);opacity:0}}.mini-reward-xp{font-size:.82rem;font-weight:800;color:var(--accent);text-shadow:0 1px 4px rgba(0,0,0,.8);font-family:var(--mono)}.mini-reward-msg{font-size:.68rem;font-weight:600;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}.badge-unlock-overlay{position:fixed;top:1.5rem;right:1.5rem;z-index:9998;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.badge-unlock-card{background:var(--surface2);border:1px solid rgba(79,142,247,.35);border-radius:10px;padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;box-shadow:0 8px 24px #00000080;animation:badgeSlide .35s cubic-bezier(.34,1.56,.64,1);max-width:260px}@keyframes badgeSlide{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.badge-icon{font-size:1.5rem}.badge-text{display:flex;flex-direction:column;gap:.1rem}.badge-title{font-size:.82rem;font-weight:700;color:var(--text)}.badge-desc{font-size:.72rem;color:var(--text-muted)}.achievements-modal{max-width:520px}.achievements-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.achievement-card{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.75rem .5rem;background:var(--surface2);border:1px solid var(--border);border-radius:9px;text-align:center;transition:border-color .15s}.achievement-card.unlocked{border-color:#4f8ef74d}.achievement-icon{font-size:1.5rem;line-height:1}.achievement-card.locked .achievement-icon{opacity:.2;filter:grayscale(1)}.achievement-title{font-size:.68rem;font-weight:700;color:var(--text)}.achievement-desc{font-size:.62rem;color:var(--text-muted);line-height:1.3}.achievement-card.locked .achievement-title,.achievement-card.locked .achievement-desc{color:var(--text-dim)}.brain-dump-modal{max-width:500px;width:90vw}.brain-dump-hint{font-size:.82rem;color:var(--text-muted);line-height:1.5}.brain-dump-textarea{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;font-family:var(--font);font-size:.88rem;color:var(--text);outline:none;resize:vertical;line-height:1.7;transition:border-color .15s}.brain-dump-textarea::placeholder{color:var(--text-dim)}.brain-dump-textarea:focus{border-color:var(--accent)}.focus-modal{max-width:520px}.focus-task-display{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.focus-task-text{font-size:1.15rem;font-weight:700;line-height:1.4}.focus-task-meta{display:flex;gap:.5rem;flex-wrap:wrap}.focus-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.85rem}.focus-task-select{display:flex;flex-direction:column;gap:.35rem}.focus-task-option{display:flex;align-items:center;gap:.65rem;padding:.6rem .85rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .12s;font-size:.85rem}.focus-task-option:hover{border-color:var(--accent)}.focus-task-option.active{border-color:var(--accent);background:var(--accent-dim)}.time-progress-section{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.4rem}.time-progress-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem}.time-progress-title{font-size:.63rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;font-family:var(--mono)}.time-progress-right{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.time-progress-val{font-size:.85rem;font-weight:700;color:var(--text);font-family:var(--mono)}.time-progress-val.over-goal{color:var(--amber)}.time-goal-label{font-weight:400;color:var(--text-muted);font-size:.78rem}.goal-edit-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-family:var(--font);font-size:.68rem;font-weight:600;padding:.15rem .45rem;cursor:pointer;transition:all .12s}.goal-edit-btn:hover{border-color:var(--accent);color:var(--accent)}.goal-input-row{display:flex;align-items:center;gap:.3rem}.goal-input-label{font-size:.75rem;color:var(--text-muted);font-weight:500}.time-progress-bar-wrap{display:flex;align-items:center;gap:.5rem}.time-progress-bar{flex:1;height:4px;background:var(--border);border-radius:99px;overflow:hidden}.time-progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .5s ease}.time-progress-fill.over-goal{background:var(--amber)}.time-progress-pct{font-size:.68rem;font-weight:700;color:var(--text-muted);min-width:30px;text-align:right;font-family:var(--mono)}.time-breakdown{display:flex;align-items:center;gap:.35rem;font-size:.68rem;color:var(--text-dim)}.time-breakdown-item{font-weight:500}.time-breakdown-sep{color:var(--text-dim)}.time-logged{font-size:.68rem;color:var(--text-muted);font-family:var(--mono)}.subtask-main-row{display:flex;align-items:center;gap:.55rem;width:100%}.subtask-top-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.subtask-timer-wrap{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--border)}.templates-modal{max-width:480px}.templates-grid{display:flex;flex-direction:column;gap:.4rem}.template-card{display:flex;align-items:center;gap:.65rem;padding:.65rem .85rem;background:var(--surface2);border:1px solid var(--border);border-radius:9px;transition:border-color .12s}.template-card:hover{border-color:var(--accent)}.template-icon{font-size:1.3rem;line-height:1}.template-info{flex:1;display:flex;flex-direction:column;gap:.12rem}.template-name{font-size:.85rem;font-weight:700;color:var(--text)}.template-meta{font-size:.7rem;color:var(--text-muted)}.template-actions{display:flex;align-items:center;gap:.3rem}.weekly-modal{max-width:520px;max-height:85vh;overflow-y:auto}.weekly-subtitle{font-size:.78rem;color:var(--text-muted);margin-top:-.5rem;margin-bottom:1rem}.weekly-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-bottom:1.25rem}.weekly-stat{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:.6rem;text-align:center;display:flex;flex-direction:column;gap:.15rem}.weekly-stat-val{font-size:1.2rem;font-weight:800;color:var(--text);font-family:var(--mono)}.weekly-stat-lbl{font-size:.62rem;color:var(--text-muted);font-weight:600}.weekly-section-title{font-size:.63rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin:.65rem 0 .35rem;font-family:var(--mono)}.weekly-chart{display:flex;gap:.35rem;align-items:flex-end;height:72px;margin-bottom:.25rem}.weekly-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;height:100%}.weekly-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.weekly-bar{width:100%;min-height:3px;background:var(--accent);border-radius:3px 3px 0 0;transition:height .5s ease}.weekly-bar-label{font-size:.58rem;color:var(--text-dim);font-weight:600;font-family:var(--mono)}.weekly-bar-count{font-size:.58rem;color:var(--accent);font-weight:700;font-family:var(--mono)}.weekly-badges{display:flex;flex-wrap:wrap;gap:.35rem}.weekly-badge{display:flex;align-items:center;gap:.25rem;background:var(--accent-dim);border:1px solid rgba(79,142,247,.2);padding:.2rem .55rem;border-radius:99px;font-size:.75rem;font-weight:600;color:var(--text)}.weekly-tasks{display:flex;flex-direction:column;gap:.3rem}.weekly-task-item{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--text-muted)}.weekly-task-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.weekly-more{font-size:.72rem;color:var(--text-dim);font-style:italic}.archive-modal{max-width:580px;width:90vw;max-height:82vh;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem}.archive-hint{font-size:.75rem;color:var(--text-dim);background:var(--surface2);border-radius:6px;padding:.35rem .7rem}.archive-controls{display:flex;gap:.45rem;align-items:center}.archive-empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;color:var(--text-dim);font-size:.82rem;text-align:center}.archive-empty span{font-size:2rem;opacity:.3}.archive-list{display:flex;flex-direction:column;gap:.35rem;max-height:400px;overflow-y:auto;padding-right:2px}.archive-item{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.6rem .85rem;background:var(--surface2);border:1px solid var(--border);border-radius:8px;transition:border-color .12s}.archive-item:hover{border-color:var(--border2)}.archive-item-left{display:flex;align-items:flex-start;gap:.55rem;flex:1;min-width:0}.archive-priority-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}.archive-item-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.archive-item-text{font-size:.85rem;font-weight:500;color:var(--text-muted);text-decoration:line-through;word-break:break-word}.archive-item-meta{display:flex;flex-wrap:wrap;gap:.25rem;font-size:.67rem;color:var(--text-dim);font-weight:500}.archive-expires{font-weight:600;color:var(--text-dim);font-family:var(--mono)}.archive-expires.urgent{color:var(--amber)}.archive-item-actions{display:flex;gap:.25rem;align-items:center;flex-shrink:0}.archive-count{display:inline-flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--text-muted);font-size:.65rem;font-weight:700;padding:.05rem .35rem;border-radius:99px;margin-left:.25rem;font-family:var(--mono)}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#000000f2;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:1rem}.auth-modal{background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:2.25rem 1.75rem;width:100%;max-width:360px;box-shadow:0 24px 60px #000000b3;display:flex;flex-direction:column;gap:.9rem}.auth-brand{display:flex;align-items:center;gap:.5rem;justify-content:center;margin-bottom:.15rem}.auth-brand-icon{font-size:1.2rem;color:var(--accent)}.auth-brand-name{font-size:1rem;font-weight:700}.auth-title{font-size:1.25rem;font-weight:700;color:var(--text);text-align:center;margin:0}.auth-subtitle{font-size:.8rem;color:var(--text-muted);text-align:center;line-height:1.5;margin-top:-.3rem}.auth-error{background:#f8717114;border:1px solid rgba(248,113,113,.25);color:var(--red);border-radius:8px;padding:.55rem .8rem;font-size:.78rem;line-height:1.4}.auth-info{background:#34d39914;border:1px solid rgba(52,211,153,.25);color:var(--green);border-radius:8px;padding:.55rem .8rem;font-size:.78rem;line-height:1.4}.auth-fields{display:flex;flex-direction:column;gap:.55rem}.auth-input{background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:.65rem .85rem;color:var(--text);font-family:var(--font);font-size:.85rem;width:100%;outline:none;transition:border-color .15s}.auth-input:focus{border-color:var(--accent)}.auth-input::placeholder{color:var(--text-dim)}.auth-submit{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:.7rem;font-family:var(--font);font-size:.88rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,transform .1s}.auth-submit:hover:not(:disabled){background:#3a7de8;transform:translateY(-1px)}.auth-submit:disabled{opacity:.45;cursor:not-allowed}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.auth-switch{font-size:.78rem;color:var(--text-muted);text-align:center}.auth-switch-btn{background:none;border:none;color:var(--accent);font-size:.78rem;cursor:pointer;padding:0;font-family:var(--font);font-weight:600}.auth-switch-btn:hover{text-decoration:underline}.hamburger{display:none;position:fixed;top:.85rem;left:.85rem;z-index:180;background:var(--surface);border:1px solid var(--border2);border-radius:8px;padding:.45rem .6rem;cursor:pointer;color:var(--text);font-size:1rem;line-height:1;box-shadow:0 2px 12px #0006;transition:background .12s}.hamburger:hover{background:var(--surface2)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:160}@media (max-width: 900px){:root{--sidebar-w: 200px}.main{padding:1.5rem}.stats-grid,.weekly-stats-grid{grid-template-columns:repeat(2,1fr)}.search-input{width:150px}}@media (max-width: 680px){.hamburger{display:flex;align-items:center;justify-content:center}.sidebar{position:fixed;left:0;top:0;height:100vh;z-index:170;transform:translate(-100%);transition:transform .25s ease;box-shadow:4px 0 24px #00000080;background:var(--surface);width:var(--sidebar-w);min-width:var(--sidebar-w);overflow-y:auto}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.main{padding:3.75rem 1rem 2rem;max-width:100%}.main-header{flex-direction:column;align-items:flex-start;gap:.65rem;margin-bottom:1rem}.main-header h1{font-size:1.2rem}.header-controls{width:100%;flex-wrap:wrap}.search-input{flex:1;min-width:0;width:auto}.sort-select{flex:1;min-width:0}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.45rem}.stat-val{font-size:1.2rem}.add-section{padding:.85rem}.add-row{flex-wrap:wrap;gap:.35rem}.add-btn{width:100%;justify-content:center;padding:.6rem}.todo-main-row{gap:.45rem;padding:.65rem .75rem}.item-actions{opacity:1}.check-btn{width:20px;height:20px;min-width:20px}.priority-select{flex-wrap:wrap;gap:.25rem}.pri-btn{flex:1;justify-content:center;min-height:34px}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:90vh;padding:1.25rem 1rem;margin:0}.archive-modal,.weekly-modal,.brain-dump-modal,.focus-modal{width:100%;max-width:100%;border-radius:16px 16px 0 0;max-height:90vh}.auth-modal{margin:1rem;padding:1.6rem 1.2rem;border-radius:14px;max-width:calc(100vw - 2rem)}.weekly-stats-grid{grid-template-columns:repeat(2,1fr)}.achievements-grid{grid-template-columns:repeat(2,1fr)!important;gap:.45rem}.xp-bar-wrap{left:0;padding:.45rem 1rem}.sidebar-progress{display:none}}@media (max-width: 380px){body{font-size:13px}.main{padding:3.5rem .75rem 2rem}.main-header h1{font-size:1.05rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.35rem}.stat-val{font-size:1.05rem}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;background:#000000f7;display:flex;align-items:center;justify-content:center;padding:1rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.onboarding-card{background:var(--surface);border:1px solid var(--border2);border-radius:18px;padding:2.25rem 1.75rem;width:100%;max-width:420px;box-shadow:0 24px 80px #000000b3;animation:ob-enter .35s cubic-bezier(.34,1.56,.64,1)}@keyframes ob-enter{0%{opacity:0;transform:scale(.93) translateY(14px)}to{opacity:1;transform:scale(1) translateY(0)}}.onboarding-step{display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center}.onboarding-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.onboarding-logo-icon{font-size:1.1rem;color:var(--accent)}.onboarding-logo-name{font-size:.9rem;font-weight:700;color:var(--text-muted)}.onboarding-emoji{font-size:2.75rem;line-height:1;animation:ob-bounce .5s cubic-bezier(.34,1.56,.64,1)}@keyframes ob-bounce{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.onboarding-title{font-size:1.25rem;font-weight:700;color:var(--text);line-height:1.3;margin:0}.onboarding-subtitle{font-size:.85rem;color:var(--text-muted);line-height:1.6;margin:0;max-width:320px}.onboarding-hint{font-size:.78rem;color:var(--text-dim);background:var(--surface2);border-radius:7px;padding:.45rem .8rem;margin:0}.onboarding-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:.7rem .9rem;color:var(--text);font-family:var(--font);font-size:.95rem;outline:none;transition:border-color .15s;text-align:center}.onboarding-input:focus{border-color:var(--accent)}.onboarding-input::placeholder{color:var(--text-dim)}.onboarding-error{font-size:.78rem;color:var(--red);margin:-.4rem 0}.onboarding-btn{width:100%;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:.75rem 1rem;font-family:var(--font);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s}.onboarding-btn:hover{background:#3a7de8;transform:translateY(-1px)}.onboarding-skip{background:none;border:none;color:var(--text-dim);font-family:var(--font);font-size:.78rem;cursor:pointer;padding:0;transition:color .15s}.onboarding-skip:hover{color:var(--text-muted)}.onboarding-features{display:flex;flex-direction:column;gap:.65rem;width:100%;text-align:left}.onboarding-feature{display:flex;align-items:flex-start;gap:.75rem;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:.75rem .9rem}.onboarding-feature-icon{font-size:1.3rem;flex-shrink:0;line-height:1;margin-top:1px}.onboarding-feature-title{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:.18rem}.onboarding-feature-desc{font-size:.75rem;color:var(--text-muted);line-height:1.5}.onboarding-tour-progress{display:flex;gap:.35rem;align-items:center}.onboarding-tour-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);transition:background .2s,transform .2s}.onboarding-tour-dot.active{background:var(--accent);transform:scale(1.3)}@media (max-width: 680px){.onboarding-card{padding:1.75rem 1.25rem;border-radius:14px}.onboarding-title{font-size:1.1rem}.onboarding-emoji{font-size:2.25rem}}.ai-focus-fab{position:fixed;bottom:1.75rem;right:1.75rem;z-index:200;display:flex;align-items:center;gap:.45rem;padding:.6rem 1.1rem;background:linear-gradient(135deg,#4f8ef7,#a78bfa);color:#fff;border:none;border-radius:2rem;font-family:var(--font);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 4px 20px #4f8ef773;transition:transform .2s ease,box-shadow .2s ease;animation:ai-fab-pulse 3s ease-in-out infinite;letter-spacing:.2px}.ai-focus-fab:hover{transform:translateY(-3px);box-shadow:0 8px 30px #4f8ef799,0 0 0 6px #4f8ef71a;animation:none}.ai-focus-fab.open{background:var(--surface2);box-shadow:0 2px 10px #0000004d;animation:none}@keyframes ai-fab-pulse{0%,to{box-shadow:0 4px 20px #4f8ef773,0 0 #4f8ef74d}50%{box-shadow:0 4px 20px #4f8ef773,0 0 0 8px #4f8ef700}}.ai-fab-icon{font-size:.95rem;line-height:1}.ai-fab-label{font-size:.82rem}.ai-focus-panel{position:fixed;bottom:5.25rem;right:1.75rem;z-index:199;width:340px;background:var(--surface);border:1px solid var(--border2);border-radius:16px;padding:1.25rem;box-shadow:0 0 0 1px #4f8ef71f,0 12px 50px #00000080;display:flex;flex-direction:column;gap:.85rem;animation:ai-slide-up .2s cubic-bezier(.34,1.56,.64,1)}@keyframes ai-slide-up{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-focus-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.ai-focus-title{font-size:.975rem;font-weight:700;color:var(--text);margin:0}.ai-focus-sub{font-size:.72rem;color:var(--text-muted);margin-top:.2rem}.ai-refresh-btn{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:7px;padding:.25rem .55rem;cursor:pointer;font-size:1rem;flex-shrink:0;transition:color .15s,border-color .15s;line-height:1}.ai-refresh-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:#4f8ef714}.ai-refresh-btn:disabled{opacity:.35;cursor:not-allowed}.ai-refresh-spinning{display:inline-block;animation:spin .65s linear infinite}.ai-loading{display:flex;align-items:center;gap:.75rem;color:var(--text-muted);font-size:.82rem;padding:.4rem 0}.ai-spinner{width:18px;height:18px;flex-shrink:0;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}.ai-error-box{display:flex;align-items:flex-start;gap:.6rem;background:#f8717114;border:1px solid rgba(248,113,113,.25);border-radius:10px;padding:.75rem;font-size:.8rem;color:var(--red)}.ai-error-box p{flex:1;line-height:1.4}.ai-retry-btn{background:none;border:1px solid var(--red);color:var(--red);border-radius:6px;padding:.2rem .5rem;cursor:pointer;font-size:.75rem;white-space:nowrap;flex-shrink:0}.ai-retry-btn:hover{background:#f871711f}.ai-empty{text-align:center;padding:.75rem 0;color:var(--text-muted);font-size:.82rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.ai-empty-icon{font-size:1.75rem}.ai-task-card{display:flex;gap:.7rem;background:var(--surface2);border:1px solid var(--border);border-radius:11px;padding:.85rem;transition:border-color .15s}.ai-task-card:hover{border-color:var(--border2)}.ai-rank-0{border-left:2px solid #f59e0b}.ai-rank-1{border-left:2px solid #9ca3af}.ai-rank-2{border-left:2px solid #b45309}.ai-task-medal{font-size:1.25rem;flex-shrink:0;line-height:1.3}.ai-task-body{display:flex;flex-direction:column;gap:.3rem;min-width:0}.ai-task-top{display:flex;align-items:center;gap:.45rem}.ai-priority-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ai-task-text{font-size:.865rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.ai-task-due{font-size:.7rem;color:var(--text-muted)}.ai-task-due.overdue{color:var(--red);font-weight:600}.ai-task-progress{font-size:.7rem;color:var(--text-muted)}.ai-task-tag{font-size:.68rem;color:var(--accent);background:#4f8ef71a;padding:.1rem .4rem;border-radius:4px}.ai-task-reason{font-size:.75rem;color:var(--text-muted);font-style:italic;line-height:1.45;margin-top:.1rem}.ai-focus-footer{font-size:.72rem;color:var(--text-dim);text-align:center;border-top:1px solid var(--border);padding-top:.6rem}@media (max-width: 420px){.ai-focus-panel{right:.75rem;left:.75rem;width:auto}.ai-focus-fab{right:.75rem;bottom:1rem}}
