*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{overflow-x:clip;scrollbar-gutter:stable}body{min-height:100vh;min-height:100dvh;overflow-x:clip;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--fs-md);line-height:1.45}button,input,textarea{color:inherit;font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:var(--primary-soft-strong)}@media (pointer: fine){*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:var(--r-full);background-color:var(--scroll-thumb);background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}}#app{width:100%;padding:0 var(--s-4) var(--s-6)}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--border);background:var(--bg)}#workspace-nav{display:flex;gap:3px;margin-bottom:var(--s-4);padding:3px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);scrollbar-width:none}#workspace-nav::-webkit-scrollbar{display:none}#workspace-nav button{flex:0 0 auto;padding:7px 14px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-base);font-weight:600}#workspace-nav button:hover{color:var(--text);background:var(--surface-2)}#workspace-nav button.active{border-color:var(--primary-soft-strong);background:var(--primary-soft);color:var(--primary)}#workspace-nav button span:not(:empty){margin-left:3px;color:inherit;font-size:var(--fs-xs)}@supports (backdrop-filter: blur(1px)){header{background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%)}}h1{color:var(--primary);font-size:var(--fs-xl);font-weight:700;letter-spacing:-.025em}#ver{color:var(--text-muted);font-size:var(--fs-xs);font-weight:400;letter-spacing:0}.header-actions{display:flex;align-items:center;gap:var(--s-1)}.header-btn,#logout{min-width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-1);color:var(--text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.header-btn{display:inline-flex;align-items:center;justify-content:center;padding:0}#logout{padding:0 var(--s-3);font-size:var(--fs-base);font-weight:500}.header-btn:hover,#logout:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.header-btn.active{border-color:var(--primary-soft-strong);background:var(--primary-soft);color:var(--primary)}#toast{position:fixed;bottom:var(--s-5);left:50%;z-index:200;display:flex;align-items:center;gap:var(--s-4);max-width:calc(100vw - 32px);padding:10px var(--s-4);transform:translate(-50%);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--elev-3);color:var(--text-dim);font-size:var(--fs-base);animation:toast-in .16s ease-out}#toast-action{border:0;background:transparent;color:var(--primary);cursor:pointer;font-size:inherit;font-weight:650}#toast-action:hover{color:var(--primary-hover)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.note-card{--note-accent: transparent;--note-tint: transparent;border:1px solid var(--border);border-radius:var(--r-md);background:linear-gradient(var(--note-tint),var(--note-tint)),var(--surface-1);box-shadow:inset 3px 0 0 var(--note-accent),var(--elev-1)}.note-card.pinned{border-color:var(--primary-soft-strong)}body.trash-mode #create-bar,body.trash-mode #labels-bar,body.trash-mode #search-wrap,body.trash-mode #search-btn,body.archive-mode #create-bar,body.today-mode #create-bar,body.today-mode #labels-bar,body.today-mode #search-wrap,body.today-mode #search-btn,body.tasks-mode #create-bar,body.tasks-mode #labels-bar,body.tasks-mode #search-wrap,body.tasks-mode #search-btn{display:none}.trash-note{cursor:default}.trash-note:hover{transform:none}.trash-actions{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-3)}.trash-actions button,.create-actions button,.modal-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:34px;padding:0 var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-dim);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.trash-actions button:hover,.create-actions button:hover,.modal-actions button:hover{border-color:var(--border-strong);background:var(--surface-3);color:var(--text)}.modal-actions button.active{border-color:var(--primary-soft-strong);background:var(--primary-soft);color:var(--primary)}.trash-permanent:hover,#modal-delete:hover{border-color:color-mix(in srgb,var(--danger) 45%,transparent)!important;background:var(--danger-soft)!important;color:var(--danger)!important}.trash-meta{margin-top:var(--s-2);color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.empty-grid{grid-column:1 / -1;padding:64px var(--s-4);color:var(--text-muted);text-align:center}.dashboard{display:grid;grid-column:1 / -1;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-4)}.dashboard-section{grid-column:span 6;min-width:0;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--elev-1)}.dashboard-section.wide,.dashboard-section.wide.today-done{grid-column:1 / -1}.dashboard-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3);color:var(--text);font-size:var(--fs-md);font-weight:650}.dashboard-title small{color:var(--text-muted);font-size:var(--fs-xs);font-weight:500}.dashboard-empty{padding:var(--s-3) 0;color:var(--text-muted);font-size:var(--fs-base)}.today-heading{display:flex;grid-column:1 / -1;align-items:flex-end;justify-content:space-between;gap:var(--s-4);padding:var(--s-2) 2px var(--s-1)}.today-heading-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.today-date{color:var(--text);font-size:clamp(20px,2vw,28px);font-weight:700;letter-spacing:-.025em;text-transform:capitalize}.today-summary{color:var(--text-muted);font-size:var(--fs-base)}.daily-plan-action,.daily-plan-open{flex:0 0 auto;min-height:38px;padding:8px 14px;border:1px solid var(--primary-soft-strong);border-radius:var(--r-sm);background:var(--primary-soft);color:var(--primary);cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:650;transition:background .15s ease,border-color .15s ease}.daily-plan-action:hover,.daily-plan-open:hover{border-color:var(--primary);background:var(--primary-soft-strong)}.daily-plan-action:disabled{cursor:wait;opacity:.6}.daily-plan{padding:var(--s-3) var(--s-4);border-color:var(--primary-soft-strong);box-shadow:inset 3px 0 0 var(--primary),var(--elev-1)}.daily-plan.empty{display:flex;align-items:center;justify-content:space-between;min-height:88px}.daily-plan-empty-copy{display:flex;min-width:0;flex-direction:column;gap:3px}.daily-plan-empty-copy strong{color:var(--text);font-size:var(--fs-md)}.daily-plan-empty-copy span{color:var(--text-muted);font-size:var(--fs-sm)}.daily-plan-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:0 var(--s-2) var(--s-2)}.daily-plan-head>span{display:flex;min-width:0;flex-direction:column;gap:2px}.daily-plan-head strong{color:var(--text);font-size:var(--fs-md)}.daily-plan-head small{color:var(--text-muted);font-size:var(--fs-xs)}.daily-plan-items{border-top:1px solid var(--border)}.today-task-group+.today-task-group{margin-top:var(--s-4)}.today-task-group-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3);padding:0 var(--s-2) 6px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.today-task-group-title small{color:inherit;font-size:inherit;font-weight:500}.today-task-group.is-overdue .today-task-group-title{color:var(--danger)}.today-task-group.is-today .today-task-group-title{color:var(--primary)}.today-task{display:flex;align-items:flex-start;gap:var(--s-2);width:100%;padding:9px var(--s-2);border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-dim);font:inherit;text-align:left}@media (hover: hover){.today-task:hover{background:var(--surface-2)}}.today-task{align-items:center;min-height:48px}.today-task{padding-left:calc(var(--s-2) + var(--today-indent, 0) * 18px)}.today-task+.today-task{border-top:1px solid var(--border);border-radius:0}.today-task-main{flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.today-task-text{display:block;color:var(--text);font-size:var(--fs-base)}.today-task-note{display:block;margin-top:2px;color:var(--text-muted);font-size:var(--fs-xs)}.today-task-due{flex:0 0 auto;padding:2px 7px;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-muted);white-space:nowrap;font-size:var(--fs-xs)}.today-task.waiting .today-task-text{color:var(--text-dim)}.today-task-waiting{flex:0 0 auto;padding:2px 7px;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-muted);white-space:nowrap;font-size:var(--fs-xs);font-weight:650}.today-task-waiting.review-due{background:var(--primary-soft);color:var(--primary)}.today-task-waiting.review-overdue{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.today-task-group.is-waiting .today-task-group-title{color:var(--text-dim)}.today-task.overdue .today-task-due{color:var(--danger)}.today-task-edit{flex:0 0 auto;width:28px;height:28px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer}.today-task-edit:hover{background:var(--primary-soft);color:var(--primary)}.today-list{position:relative;border-top:1px solid var(--border)}.today-unit+.today-unit{border-top:1px solid var(--border)}.today-unit .today-task+.today-task{border-top:0}.today-task.dragging{opacity:.3}.today-task.drop-inside{border-radius:var(--r-sm);background:var(--primary-soft);box-shadow:inset 0 0 0 1.5px var(--primary)}.today-task.drop-invalid{border-radius:var(--r-sm);box-shadow:inset 0 0 0 1.5px var(--danger)}.today-drop-line{position:absolute;right:var(--s-2);z-index:3;height:2px;border-radius:var(--r-full);background:var(--primary);pointer-events:none}.today-drop-line:before{content:"";position:absolute;top:-3px;left:-4px;width:8px;height:8px;border-radius:var(--r-full);background:var(--primary)}.today-drag-ghost{max-height:180px;overflow:hidden;opacity:.92;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);box-shadow:var(--elev-3)}.today-drag,.today-drag-space{flex:0 0 auto;width:16px}.attention,.attention-space{flex:0 0 auto;width:22px}.attention{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0;border:0;border-radius:var(--r-full);background:transparent}button.attention{cursor:pointer}.attention svg{width:16px;height:16px;transition:transform .12s ease}button.attention:hover svg{transform:scale(1.12)}.attention-ring{fill:none;stroke:var(--primary);stroke-width:1.6}.attention-fill{fill:var(--primary)}.attention-0 .attention-ring{stroke:var(--text-muted);stroke-dasharray:2.2 2.4;opacity:.6}button.attention-0:hover .attention-ring{opacity:1}.attention-1 .attention-ring{opacity:.8}.history-row .attention,.history-row .attention-space{height:22px}.task-status-options.task-attention-options{grid-template-columns:repeat(4,1fr)}.task-attention-options .attention{width:16px;height:16px}.task-attention-options button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 6px;font-size:var(--fs-sm);white-space:nowrap}.task-attention-options svg{flex:0 0 auto;width:14px;height:14px}.today-drag{display:inline-flex;align-items:center;justify-content:center;align-self:stretch;color:var(--text-muted);cursor:grab;opacity:.55;touch-action:none;-webkit-user-select:none;user-select:none}.today-task:hover .today-drag{opacity:1}.today-task.is-selected{background:var(--primary-soft)}.today-task.is-selected .today-drag{color:var(--primary);opacity:1}.today-selection{display:flex;align-items:center;gap:var(--s-2);min-width:0;color:var(--primary);font-size:var(--fs-xs)}.today-selection[hidden]{display:none}.today-selection button{flex:0 0 auto;padding:3px 10px;border:1px solid var(--primary-soft-strong);border-radius:var(--r-full);background:var(--primary-soft);color:var(--primary);font:inherit;font-weight:650;cursor:pointer}.today-drag-count{position:absolute;top:-8px;left:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-full);background:var(--primary);color:var(--bg);font-size:var(--fs-xs);font-weight:700;line-height:22px;text-align:center}.today-drag-ghost:has(.today-drag-count){overflow:visible}.today-rest{padding-top:0;padding-bottom:var(--s-2)}.today-rest .today-later{margin-top:0;border-top:0}.today-task-promote,.today-task-tomorrow{flex:0 0 auto;min-height:28px;padding:0 9px;border:1px solid var(--border);border-radius:var(--r-full);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.today-task-tomorrow:hover,.today-task-promote:hover{border-color:var(--primary-soft-strong);background:var(--primary-soft);color:var(--primary)}.today-task-promote{border-color:var(--primary-soft-strong);color:var(--primary)}.quick-add{display:flex;grid-column:1 / -1;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-3);padding:var(--s-2) var(--s-3) var(--s-2) var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--elev-1)}.quick-add:focus-within{border-color:var(--primary-soft-strong);box-shadow:0 0 0 3px var(--primary-soft),var(--elev-1)}.quick-add-icon{flex:0 0 auto;color:var(--primary);font-size:22px;font-weight:500;line-height:1}#quick-add-text{flex:1 1 220px;min-width:0;min-height:40px;padding:0;border:0;background:transparent;color:var(--text);outline:none;font:inherit;font-size:var(--fs-md)}#quick-add-text::placeholder{color:var(--text-muted)}.quick-add-options{display:flex;flex:0 0 auto;align-items:center;gap:var(--s-2)}.quick-add-chip,.quick-add-submit{min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-full);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:600}.quick-add-chip:hover{color:var(--text)}.quick-add-chip.active,.quick-add-submit{border-color:var(--primary-soft-strong);background:var(--primary-soft);color:var(--primary)}.quick-add-submit:hover{border-color:var(--primary);background:var(--primary-soft-strong)}.today-task.done .today-task-text{color:var(--text-muted);text-decoration:line-through}.today-task-time{flex:0 0 auto;color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}div.today-task-main{cursor:default}.today-task-input{cursor:text}.today-collapse,.today-collapse-space{flex:0 0 auto;width:16px}.today-collapse{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:16px;line-height:1;transform:rotate(90deg);transition:transform .15s ease,color .15s ease}.today-collapse.is-collapsed{transform:none;color:var(--primary)}.today-collapse:hover{color:var(--primary)}.today-task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s-2);margin-top:2px}.today-task-meta .today-task-note{margin-top:0}.today-task-link{padding:0;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-xs);text-align:left}.today-task-link:hover{color:var(--primary);text-decoration:underline}.today-task-meta .today-task-link{display:inline-flex;align-items:center;gap:4px;max-width:100%}.today-task-link svg{flex:0 0 auto;width:12px;height:12px}.today-task-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-label{display:inline-flex;align-items:center;padding:1px 7px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-dim);font-size:var(--fs-xs);line-height:1.5}.today-filter{grid-column:1 / -1;margin-top:calc(-1 * var(--s-2))}.task-filter-labels{display:flex;flex-wrap:wrap;gap:6px}.task-filter-labels .label-pill{padding:4px 11px;font-size:var(--fs-sm)}.modal-task{display:flex;align-items:flex-start;gap:var(--s-2);padding:5px 0}.modal-task .hand-cb{flex:0 0 auto}.modal-task-copy{min-width:0}.modal-task-text{display:block;color:var(--text);font-size:var(--fs-base)}.modal-task.done .modal-task-text{color:var(--text-muted);text-decoration:line-through}.modal-task-meta{display:block;color:var(--text-muted);font-size:var(--fs-xs)}.today-task.is-editing{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--primary-soft-strong);border-radius:var(--r-sm)}.today-task-input{display:block;width:100%;min-height:1.45em;padding:0;border:0;background:transparent;color:var(--text);outline:none;overflow:hidden;resize:none;font:inherit;font-size:var(--fs-base);line-height:1.45}.today-task-input::-webkit-resizer{display:none}.today-task-input:focus,.today-task-input:focus-visible{outline:none;box-shadow:none}.today-task.is-draft .hand-cb{opacity:.45}.today-task.done .today-task-input{color:var(--text-muted);text-decoration:line-through}.today-editbar{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px}.today-subtask-space{width:28px}.task-details-dates{margin:0 0 var(--s-3);color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.today-editbar button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-md)}.today-editbar button:hover{background:var(--primary-soft);color:var(--primary)}.today-editbar .today-delete:hover{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.today-editbar svg{width:16px;height:16px}.today-clear{display:flex;flex-direction:column;align-items:center;gap:3px;padding:var(--s-5) var(--s-4);color:var(--primary);text-align:center}.today-clear span{font-size:var(--fs-md);font-weight:650}.today-clear small{color:var(--text-muted);font-size:var(--fs-sm)}.today-later{margin-top:var(--s-3);border-top:1px solid var(--border)}.today-later>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) var(--s-2) var(--s-1);color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);font-weight:600;list-style:none}.today-later>summary::-webkit-details-marker{display:none}.today-later>summary:before{content:"›";margin-right:6px;color:var(--primary);transition:transform .15s ease}.today-later[open]>summary:before{transform:rotate(90deg)}.today-later>summary span{flex:1}.today-later>summary small{font-size:var(--fs-xs);font-weight:500}.today-later .today-task-group{margin-top:var(--s-3)}#create-bar{position:relative;max-width:760px;margin:0 auto var(--s-5);padding:var(--s-3) var(--s-4);transition:border-color .15s ease,box-shadow .15s ease}#create-bar:hover,#create-bar:focus-within{border-color:var(--border-strong);box-shadow:var(--elev-2)}.create-header{display:flex;align-items:center;gap:var(--s-1)}#create-title,#modal-title,.create-body textarea,#modal textarea,#modal-add-item input,.check-item .item-text{border:0;background:transparent;color:var(--text);outline:none}#create-title{flex:1;min-width:0;padding:7px 0;font-size:var(--fs-md);font-weight:550}#create-bar:has(#create-body[hidden]),#create-bar:has(#create-body[hidden]) #create-title{cursor:pointer}.type-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.type-btn:hover{border-color:var(--border);background:var(--surface-2);color:var(--text)}.type-btn.active{border-color:var(--primary-soft-strong);background:var(--primary-soft);color:var(--primary)}.create-body textarea,#modal textarea{width:100%;margin-top:var(--s-2);resize:none;font-family:inherit;font-size:var(--fs-md);line-height:1.5}.create-actions,.modal-actions{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-3)}#notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s-3)}.grid-note{position:relative;min-width:0;padding:var(--s-4);cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.grid-note:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:inset 3px 0 0 var(--note-accent),var(--elev-2)}.grid-note.dragging{opacity:0}body.grid-dragging,body.grid-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.grid-note .note-title{margin-bottom:var(--s-1);color:var(--text);font-size:var(--fs-md);font-weight:650;letter-spacing:-.01em;overflow-wrap:anywhere}.grid-note .note-content{max-height:220px;overflow:hidden;color:var(--text-dim);font-size:var(--fs-base);line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.grid-note .pin-badge{float:right;margin-left:var(--s-2);color:var(--primary);opacity:.85}.check-item{--item-indent: 0;position:relative;display:flex;align-items:center;gap:6px;overflow:hidden;padding:3px 0 3px calc(var(--item-indent) * 18px);color:var(--text-dim);font-size:var(--fs-base)}.check-item[hidden]{display:none}.grid-note .check-item{align-items:flex-start;cursor:pointer}.grid-note .check-item span{cursor:pointer;line-height:1.5}.hand-cb{flex-shrink:0;box-sizing:content-box;overflow:visible;color:var(--text-muted);cursor:pointer}.hand-cb .checkbox-box{fill:transparent;stroke:currentColor;stroke-width:1.7;vector-effect:non-scaling-stroke}.hand-cb.is-checked{color:var(--primary)}.hand-cb.is-checked .checkbox-box{fill:var(--primary);stroke:var(--primary)}.hand-cb .checkbox-check{fill:none;stroke:var(--bg);stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.hand-cb-click:hover:not(.is-checked){color:var(--text-dim)}.hand-cb.is-static{cursor:inherit}#modal .hand-cb,#create-bar .hand-cb{margin:-.1rem 0 -.6rem -.25rem;padding:.6rem .75rem .6rem .25rem}.check-item.done .item-label,.check-item.done .item-text{text-decoration:line-through;opacity:.5}.check-item.carried{color:var(--text-muted)}.check-item.carried .item-label,.check-item.carried .item-text{opacity:.58}.check-item.carried .item-text[readonly]{cursor:default}.check-item.waiting:not(.done) .item-label,.check-item.waiting:not(.done) .item-text{color:var(--text-dim)}.grid-carried,.grid-waiting,.item-carried-link{flex:0 0 auto;border:0;border-radius:var(--r-full);background:var(--surface-3);color:var(--text-muted);white-space:nowrap;font:inherit;font-size:var(--fs-xs)}.grid-carried,.grid-waiting{padding:2px 7px}.item-carried-link{margin-top:1px;padding:5px 8px;cursor:pointer}.item-carried-link:hover{background:var(--primary-soft);color:var(--primary)}.drag-handle,.item-delete,.item-collapse,.item-outdent,.item-indent{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:34px;min-height:34px;padding:4px;border:0;background:transparent;color:var(--text-muted);opacity:.7}.item-indent-controls{display:flex;flex:0 0 auto;text-decoration:none}.item-collapse,.item-outdent,.item-indent{min-width:26px;min-height:34px;cursor:pointer;font-size:19px;line-height:1}.item-collapse{width:22px;min-width:22px;visibility:hidden}.item-collapse.has-children{visibility:visible}.item-collapse span,.grid-collapse{display:inline-block;transition:transform .15s ease}.item-collapse.expanded span,.grid-collapse.expanded{transform:rotate(90deg)}.item-collapse:disabled{opacity:0}.item-indent:disabled,.item-outdent:disabled{cursor:default;opacity:.2}.grid-collapse{flex:0 0 14px;width:14px;color:var(--text-muted);font-size:17px;line-height:1.2;text-align:center}.drag-handle{cursor:grab;font-size:20px;-webkit-user-select:none;user-select:none}.item-delete{cursor:pointer}.drag-handle:hover,.item-delete:hover,.item-collapse:hover:not(:disabled),.item-outdent:hover:not(:disabled),.item-indent:hover:not(:disabled){color:var(--text);opacity:1}.item-delete:hover{color:var(--danger)}.item-subtask{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:30px;min-height:34px;padding:4px;border:0;background:transparent;color:var(--text-muted);cursor:pointer;opacity:.7}.item-subtask:hover:not(:disabled){color:var(--primary);opacity:1}.item-subtask:disabled{cursor:default;opacity:.2}.check-item.done .item-subtask,.check-item.carried .item-subtask{visibility:hidden}#modal .check-item .item-subtask{margin-top:-.1rem}.subtask-progress{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.subtask-progress[hidden]{display:none}.subtask-progress-track{position:relative;width:64px;height:5px;overflow:hidden;border-radius:var(--r-full);background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--border)}.subtask-progress-fill{--p: 0;position:absolute;top:0;bottom:0;left:0;width:calc(var(--p) * 100%);overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,var(--primary-press),var(--primary));transition:width .7s cubic-bezier(.22,1,.36,1),background-color .3s ease}.subtask-progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);opacity:0;transform:translate(-100%)}.subtask-progress.is-rising .subtask-progress-fill:after{animation:subtask-sheen .9s ease-out .25s}@keyframes subtask-sheen{0%{opacity:1;transform:translate(-100%)}to{opacity:0;transform:translate(100%)}}.subtask-progress-label{min-width:3.4ch;text-align:right}.subtask-progress.is-complete .subtask-progress-fill{background:var(--ok)}.subtask-progress.is-complete .subtask-progress-label{color:var(--ok)}.check-item .subtask-progress{margin-top:5px;margin-left:4px}.today-task-meta .subtask-progress{margin-block:3px}.check-item.dragging{opacity:0}body.item-dragging,body.item-dragging *{cursor:grabbing!important}.check-item .item-text{flex:1;min-width:0;padding:0 0 5px;resize:none;overflow:hidden;font-family:inherit;font-size:var(--fs-md);line-height:1.5;overflow-wrap:anywhere}.check-item .item-text::-webkit-resizer{display:none}#modal .check-item,#create-bar .check-item{align-items:flex-start}#modal .check-item .drag-handle,#create-bar .check-item .drag-handle,#modal .check-item .item-delete,#create-bar .check-item .item-delete,#modal .check-item .item-collapse,#create-bar .check-item .item-collapse,#modal .check-item .item-outdent,#create-bar .check-item .item-outdent,#modal .check-item .item-indent,#create-bar .check-item .item-indent{margin-top:-.1rem}#modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--s-2);background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html:has(#modal-overlay:not([hidden]),#app-dialog-overlay:not([hidden]),#task-details-overlay:not([hidden]),#comments-overlay:not([hidden])){overflow:hidden}#modal-overlay,#app-dialog-overlay,#task-details-overlay,#comments-overlay,#comments-list,.modal-body,#app-dialog,#task-details,#link-suggestions{overscroll-behavior:contain}.task-comments-btn{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:3px;min-width:30px;height:28px;padding:0 6px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-xs);font-weight:650;font-variant-numeric:tabular-nums;opacity:.6}.task-comments-btn svg{width:17px;height:17px}.task-comments-btn.has-comments{color:var(--primary);opacity:1}.task-comments-btn:hover{background:var(--primary-soft);color:var(--primary);opacity:1}#comments-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:290;display:flex;align-items:center;justify-content:center;padding:var(--s-4);background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#comments-overlay[hidden]{display:none}#comments-dialog{display:flex;width:min(100%,680px);max-height:min(88vh,900px);flex-direction:column;overflow:hidden;border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--elev-3);animation:app-dialog-in .14s ease-out}.comments-head{display:flex;flex-shrink:0;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5) var(--s-3);border-bottom:1px solid var(--border)}.comments-heading{min-width:0}.comments-kicker{color:var(--primary);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}#comments-title{margin-top:2px;color:var(--text);font-size:var(--fs-lg);font-weight:650;letter-spacing:-.015em;line-height:1.3}#comments-sub{color:var(--text-muted);font-size:var(--fs-xs)}#comments-close{flex:0 0 auto;width:32px;height:32px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer}#comments-close:hover{background:var(--surface-2);color:var(--text)}#comments-list{flex:1 1 auto;overflow-y:auto;padding:var(--s-2) var(--s-5);scrollbar-width:thin}.comments-empty{padding:var(--s-5) 0;color:var(--text-muted);font-size:var(--fs-base);text-align:center}.comment{padding:var(--s-3) 0}.comment+.comment{border-top:1px solid var(--border)}.comment-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);margin-bottom:4px}.comment-time{color:var(--text-muted);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.comment-actions{display:inline-flex;gap:2px;opacity:.7}.comment:hover .comment-actions{opacity:1}.comment-actions button{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer}.comment-actions button svg{width:15px;height:15px}.comment-actions button:hover{background:var(--primary-soft);color:var(--primary)}.comment-actions .comment-delete:hover{background:var(--danger-soft);color:var(--danger)}#comments-composer{flex-shrink:0;padding:var(--s-3) var(--s-5) var(--s-4);border-top:1px solid var(--border);background:var(--surface-1)}.comments-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-2)}.comments-hint{margin-right:auto;color:var(--text-muted);font-size:var(--fs-xs)}.comments-actions button{min-height:34px;padding:0 var(--s-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-dim);cursor:pointer;font:inherit;font-weight:600}.comments-actions button:hover{border-color:var(--border-strong);color:var(--text)}.comments-actions .comment-post,.comments-actions .comment-save{border-color:var(--primary);background:var(--primary);color:var(--bg)}.comments-actions .comment-post:hover,.comments-actions .comment-save:hover{border-color:var(--primary-hover);background:var(--primary-hover);color:var(--bg)}.rich{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);transition:border-color .15s ease,box-shadow .15s ease}.rich:focus-within{border-color:var(--primary-soft-strong);box-shadow:0 0 0 3px var(--primary-soft)}.rich-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:4px;border-bottom:1px solid var(--border)}.rich-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-md)}.rich-toolbar button:hover{background:var(--surface-3);color:var(--text)}.rich-toolbar button.active{background:var(--primary-soft);color:var(--primary)}.rich-editor{position:relative;min-height:96px;max-height:40vh;overflow-y:auto;padding:var(--s-3);outline:none;cursor:text}.rich-editor.is-empty:before{content:attr(data-placeholder);position:absolute;color:var(--text-muted);pointer-events:none}.rich-content{color:var(--text);font-size:var(--fs-md);line-height:1.55;overflow-wrap:anywhere}.rich-content>:first-child{margin-top:0}.rich-content>:last-child{margin-bottom:0}.rich-content p,.rich-content div{margin:0 0 .45em}.rich-content ul,.rich-content ol{margin:.2em 0 .55em;padding-left:1.4em}.rich-content li{margin:.15em 0}.rich-content li::marker{color:var(--primary)}.rich-content a{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.rich-content blockquote{margin:.3em 0 .6em;padding:2px 0 2px 12px;border-left:3px solid var(--primary-soft-strong);color:var(--text-dim)}.rich-content code{padding:1px 5px;border-radius:4px;background:var(--surface-3);color:var(--text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.88em}.rich-content pre{margin:.3em 0 .6em;padding:8px 10px;overflow-x:auto;border-radius:var(--r-sm);background:var(--surface-3)}.rich-content strong,.rich-content b{color:var(--text);font-weight:700}.comment .rich{margin-top:2px}#modal{width:100%;max-width:520px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;padding:0;border-color:var(--border-strong);box-shadow:inset 3px 0 0 var(--note-accent),var(--elev-3)}.modal-head{position:relative;flex-shrink:0;padding:20px 20px var(--s-2)}.modal-body{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:0 20px}.modal-foot{flex-shrink:0;padding:var(--s-3) 20px 20px;border-top:1px solid var(--border)}#modal-close{position:absolute;top:var(--s-3);right:var(--s-3);z-index:1;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:20px;line-height:1}#modal-close:hover{border-color:var(--border);background:var(--surface-2);color:var(--text)}#modal-title{width:calc(100% - 44px);padding:3px 0;font-size:var(--fs-lg);font-weight:650;letter-spacing:-.015em}#modal-add-item input{width:100%;margin-top:var(--s-1);padding:var(--s-2) 0;font-size:var(--fs-md)}#create-title::placeholder,#modal-title::placeholder,.create-body textarea::placeholder,#modal textarea::placeholder,#modal-add-item input::placeholder,.check-item textarea::placeholder,#search::placeholder{color:var(--text-muted);opacity:1}.modal-actions{justify-content:flex-end}#app-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:var(--s-4);background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#app-dialog{width:min(100%,420px);padding:var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--elev-3);animation:app-dialog-in .14s ease-out}#app-dialog-title{color:var(--text);font-size:var(--fs-lg);font-weight:650;letter-spacing:-.015em}#app-dialog-message{margin-top:var(--s-2);color:var(--text-dim);font-size:var(--fs-base);line-height:1.5}#app-dialog-input{width:100%;margin-top:var(--s-4);padding:10px var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}#app-dialog-input:hover{border-color:var(--border-strong)}#app-dialog-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.app-dialog-actions{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}.app-dialog-actions button{min-width:88px;height:36px;padding:0 var(--s-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-dim);cursor:pointer;font-weight:600;transition:background .15s ease,border-color .15s ease,color .15s ease}#app-dialog-cancel:hover{border-color:var(--border-strong);background:var(--surface-3);color:var(--text)}#app-dialog-confirm{border-color:var(--primary);background:var(--primary);color:var(--bg)}#app-dialog-confirm:hover{border-color:var(--primary-hover);background:var(--primary-hover)}#app-dialog-confirm.is-danger{border-color:var(--danger);background:var(--danger);color:var(--bg)}#app-dialog-confirm.is-danger:hover{border-color:color-mix(in srgb,var(--danger) 82%,white);background:color-mix(in srgb,var(--danger) 82%,white)}#app-dialog-confirm:disabled{border-color:var(--border);background:var(--surface-2);color:var(--text-muted);cursor:not-allowed}#task-details-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:var(--s-4);background:#000000b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#task-details{width:min(100%,500px);max-height:calc(100vh - 2 * var(--s-4));overflow-y:auto;padding:var(--s-5);border:1px solid var(--border-strong);border-radius:var(--r-lg);background:var(--surface-1);box-shadow:var(--elev-3);animation:app-dialog-in .14s ease-out}.task-details-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-4)}#task-details-title{color:var(--text);font-size:var(--fs-lg);font-weight:650;letter-spacing:-.015em}#task-details-close{width:32px;height:32px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer}#task-details-close:hover{background:var(--surface-2);color:var(--text)}.task-status-field{margin:0 0 var(--s-4);padding:0;border:0}.task-status-field legend,.task-details-grid label{color:var(--text-muted);font-size:var(--fs-xs);font-weight:650}.task-status-options{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;margin-top:7px;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.task-status-options button{min-height:36px;border:0;border-radius:calc(var(--r-sm) - 2px);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-weight:650}.task-status-options button:hover{color:var(--text)}.task-status-options button.active{background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}.task-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);margin-top:var(--s-3)}.task-details-grid+.task-details-grid{padding-top:var(--s-3);border-top:1px solid var(--border)}.task-details-grid label{display:flex;min-width:0;flex-direction:column;gap:7px}.task-details-grid .task-details-wide{grid-column:1 / -1}.task-details-grid p.task-details-wide{margin:calc(-1 * var(--s-1)) 0 0;color:var(--text-muted);font-size:var(--fs-xs)}.task-details-grid input,.task-details-grid select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);outline:none;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.task-details-grid input:hover,.task-details-grid select:hover{border-color:var(--border-strong)}.task-details-grid input:focus,.task-details-grid select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.task-details-section{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--border)}.task-details-label{margin-bottom:7px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:650}.task-chip-row{display:flex;flex-wrap:wrap;align-items:center;gap:5px}.task-chip-row .label-chip{margin:0}.task-details-hint{color:var(--text-muted);font-size:var(--fs-xs)}.task-note-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 4px 3px 9px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-dim);font-size:var(--fs-sm)}.task-note-chip svg{flex:0 0 auto;width:12px;height:12px;color:var(--text-muted)}.task-note-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-note-chip button{width:22px;height:22px;border:0;border-radius:var(--r-full);background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-xs)}.task-note-chip button:hover{background:var(--surface-3);color:var(--danger)}.task-note-search{position:relative;margin-top:var(--s-2)}#task-note-input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);outline:none;font:inherit}#task-note-input:focus{border-color:var(--primary-soft-strong);box-shadow:0 0 0 3px var(--primary-soft)}#task-note-results{position:absolute;top:calc(100% + 4px);right:0;left:0;z-index:2;padding:4px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);box-shadow:var(--elev-2)}#task-note-results button{display:flex;width:100%;align-items:center;gap:var(--s-2);padding:7px 9px;border:0;border-radius:calc(var(--r-sm) - 2px);background:transparent;color:var(--text-dim);cursor:pointer;font:inherit;text-align:left}#task-note-results button:hover,#task-note-results button.active{background:var(--primary-soft);color:var(--primary)}.tasks-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3)}.segmented{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2)}.segmented button{min-height:30px;padding:0 12px;border:0;border-radius:calc(var(--r-sm) - 2px);background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button.active{background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent)}.stat-tiles{display:grid;grid-column:1 / -1;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-4)}.stat-tile{display:flex;min-width:0;flex-direction:column;gap:4px;padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--elev-1)}.stat-label{color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}.stat-value{color:var(--text);font-size:var(--fs-2xl);font-weight:650;letter-spacing:-.02em;line-height:1.15}.stat-detail{color:var(--text-muted);font-size:var(--fs-xs)}.chart-wrap{position:relative;width:100%}.completion-chart{display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1}.chart-tick{fill:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.chart-bar{fill:var(--primary);transition:fill .12s ease}.chart-col.is-hover .chart-bar{fill:var(--primary-hover)}.chart-hit{fill:transparent;cursor:default}.chart-tooltip{position:absolute;z-index:2;display:flex;flex-direction:column;gap:1px;padding:6px 10px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-3);box-shadow:var(--elev-2);color:var(--text-dim);font-size:var(--fs-xs);pointer-events:none;transform:translate(-50%,-100%);white-space:nowrap}.chart-tooltip strong{color:var(--text);font-size:var(--fs-md)}.chart-tooltip span{color:var(--text-muted)}.chart-table{margin-top:var(--s-2);color:var(--text-muted);font-size:var(--fs-xs)}.chart-table summary{cursor:pointer}.chart-table summary:hover{color:var(--text)}.chart-table table,.area-table{width:100%;margin-top:var(--s-2);border-collapse:collapse;font-size:var(--fs-sm)}.chart-table th,.chart-table td,.area-table th,.area-table td{padding:6px 4px;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums}.chart-table th:first-child,.chart-table td:first-child,.area-table th:first-child,.area-table td:first-child{text-align:left}.area-table th,.chart-table th{color:var(--text-muted);font-weight:600}.area-table td{color:var(--text-dim)}.area-table td:first-child{color:var(--text)}.tasks-history-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--s-2)}.tasks-history-head .dashboard-title{flex:1}.history-row{padding-left:var(--s-2)}.history-row .hand-cb{flex:0 0 auto}.history-row.done .today-task-text{color:var(--text-muted);text-decoration:line-through}.task-details-actions{display:flex;justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-5)}.task-details-actions button{min-width:88px;height:36px;padding:0 var(--s-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text-dim);cursor:pointer;font-weight:600}#task-details-cancel:hover{border-color:var(--border-strong);background:var(--surface-3);color:var(--text)}#task-details-save{border-color:var(--primary);background:var(--primary);color:var(--bg)}#task-details-save:hover{border-color:var(--primary-hover);background:var(--primary-hover)}@keyframes app-dialog-in{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.btn-icon{display:inline-flex;align-items:center;gap:6px}.btn-icon svg{vertical-align:middle}.color-row{display:flex;flex-wrap:wrap;gap:var(--s-2)}.color-chip{position:relative;width:24px;height:24px;padding:0;border:1px solid var(--border-strong);border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 4px var(--surface-1);transition:border-color .15s ease,transform .15s ease}.color-chip:hover{border-color:var(--text-dim);transform:scale(1.06)}.color-chip.selected{border:2px solid var(--primary)}.color-chip.default{background:var(--surface-2)}.color-chip.default:after{content:"";position:absolute;top:50%;right:4px;left:4px;height:1px;transform:rotate(-45deg);background:var(--text-muted)}#search-wrap{position:relative;max-width:760px;margin:0 auto var(--s-3)}#search-wrap .search-icon{position:absolute;top:50%;left:var(--s-3);transform:translateY(-50%);color:var(--text-muted);pointer-events:none}#search{width:100%;padding:10px 76px 10px 40px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text);outline:none;font-size:var(--fs-md);transition:border-color .15s ease,box-shadow .15s ease}#search-status{position:absolute;top:50%;right:var(--s-3);transform:translateY(-50%);color:var(--text-muted);font-size:var(--fs-xs);pointer-events:none}#search:hover{border-color:var(--border-strong)}#search:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.labels-bar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:var(--s-3)}.label-pill,.label-chip{border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-1);color:var(--text-dim);cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease}.label-pill{padding:5px var(--s-3);font-size:var(--fs-base)}.label-pill:hover,.label-chip:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.label-pill.active,.label-chip.active{border-color:var(--primary-soft-strong);background:var(--primary-soft);color:var(--primary)}.label-pill-add{color:var(--text-muted)}.modal-labels{margin-top:var(--s-3)}.modal-labels-title{margin-bottom:6px;color:var(--text-muted);font-size:var(--fs-sm);font-weight:600}.label-chip{margin:0 4px 5px 0;padding:4px 10px;font-size:var(--fs-sm)}#modal-done-section{margin-top:var(--s-2);padding-top:var(--s-1);border-top:1px solid var(--border)}#modal-done-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:var(--s-2) 0;border:0;background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-sm);text-align:left}#modal-done-toggle:hover{color:var(--text-dim)}#modal-done-toggle .chevron{flex-shrink:0;transition:transform .15s ease}#modal-done-toggle.expanded .chevron{transform:rotate(90deg)}.note-link{color:inherit;text-decoration:underline;text-decoration-color:var(--text-muted);text-decoration-style:dotted;text-underline-offset:2px}.note-link:hover{color:var(--primary-hover);text-decoration-style:solid}.wiki-link{display:inline;padding:0 2px;border:0;border-radius:3px;background:var(--primary-soft);color:var(--primary-hover);cursor:pointer;font:inherit;line-height:inherit;text-align:inherit}.wiki-link:hover{background:var(--primary-soft-strong)}.wiki-link-unresolved{padding:0 2px;border-bottom:1px dashed var(--text-muted);color:var(--text-dim)}#modal-source,#modal-markers,#modal-tasks,#modal-knowledge,#modal-history{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--border)}.source-link{display:inline-flex;align-items:center;gap:6px;max-width:100%;color:var(--primary-hover);font-size:var(--fs-base);text-decoration:none}.source-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-link:hover{text-decoration:underline}.marker-row,.history-row{display:flex;align-items:flex-start;gap:var(--s-2);padding:8px var(--s-2);border-radius:var(--r-sm);color:var(--text-dim)}.marker-row:hover,.history-row:hover{background:var(--surface-2)}.marker-kind{flex:0 0 auto;color:var(--primary);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase}.marker-row.resolved{opacity:.55}.marker-text,.history-copy{flex:1;min-width:0}.marker-action,.history-restore{flex:0 0 auto;padding:3px 7px;border:1px solid var(--border);border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;font-size:var(--fs-xs)}.marker-action:hover,.history-restore:hover{border-color:var(--primary-soft-strong);color:var(--primary)}.history-time{display:block;color:var(--text-muted);font-size:var(--fs-xs)}.history-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-base)}.knowledge-group+.knowledge-group{margin-top:var(--s-3)}.knowledge-title{margin-bottom:6px;color:var(--text-muted);font-size:var(--fs-sm);font-weight:650}.knowledge-link{display:flex;align-items:flex-start;gap:var(--s-2);width:100%;padding:7px var(--s-2);border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-dim);cursor:pointer;text-align:left}.knowledge-link:hover{background:var(--surface-2);color:var(--text)}.knowledge-link svg{flex:0 0 auto;margin-top:2px;color:var(--primary)}.knowledge-link-copy{min-width:0}.knowledge-link-name{display:block;font-size:var(--fs-base);font-weight:600}.knowledge-link-context{display:block;margin-top:2px;overflow:hidden;color:var(--text-muted);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.knowledge-archived{margin-left:5px;color:var(--text-muted);font-size:var(--fs-xs);font-weight:500}#link-suggestions{position:fixed;z-index:350;width:min(360px,calc(100vw - 24px));max-height:240px;overflow-y:auto;padding:5px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--elev-3)}.link-suggestion{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);width:100%;padding:8px 10px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-dim);cursor:pointer;text-align:left}.link-suggestion:hover,.link-suggestion.active{background:var(--primary-soft);color:var(--text)}.link-suggestion small{color:var(--text-muted)}.modal-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px var(--s-3);margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--border);color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.modal-meta:empty{display:none}.modal-meta span{white-space:nowrap}.modal-meta span[title]{cursor:help}.grid-note .progress-badge{float:right;margin-left:6px;padding:2px 7px;border:1px solid var(--border);border-radius:var(--r-full);background:var(--surface-2);color:var(--text-muted);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;line-height:1.35}.grid-labels{display:flex;flex-wrap:wrap;gap:5px;margin-top:var(--s-2)}.grid-label{padding:2px 7px;border:1px solid var(--border);border-radius:var(--r-full);background:color-mix(in srgb,var(--surface-2) 82%,transparent);color:var(--text-muted);font-size:var(--fs-xs)}.grid-label.more{opacity:.7}@media (min-width: 768px){#app{padding-right:var(--s-5);padding-left:var(--s-5)}#notes-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}#modal{max-width:min(92vw,980px)}.modal-head{padding:var(--s-5) var(--s-5) var(--s-2)}.modal-body{padding:0 var(--s-5)}.modal-foot{padding:var(--s-3) var(--s-5) var(--s-5)}}@media (min-width: 1200px){#modal{max-width:min(90vw,1200px)}}@media (max-width: 480px){#app{padding-right:var(--s-3);padding-left:var(--s-3)}header{gap:var(--s-2)}h1{font-size:20px}#logout{padding:0 10px}#notes-grid{grid-template-columns:1fr}.dashboard-section{grid-column:1 / -1}.today-heading{align-items:stretch;flex-direction:column;gap:var(--s-3)}.daily-plan-action{width:100%}.daily-plan-head{flex-wrap:wrap;align-items:flex-start}.today-task{flex-wrap:wrap}.today-task-main{flex-basis:calc(100% - 102px)}.today-task{gap:6px}.today-drag,.today-drag-space{width:14px}.attention,.attention-space{width:20px}.task-status-options.task-attention-options{grid-template-columns:repeat(2,1fr)}.today-collapse,.today-collapse-space{width:12px}.today-task-main+*{margin-left:auto}.quick-add{padding-left:var(--s-3)}.quick-add-options{width:100%;padding-left:28px}.quick-add-submit{margin-left:auto}#workspace-nav{margin-right:calc(-1 * var(--s-3));margin-left:calc(-1 * var(--s-3));border-right:0;border-left:0;border-radius:0}.modal-actions{flex-wrap:wrap}#modal-overlay{padding:var(--s-1)}#modal{max-width:100%;max-height:92vh;border-radius:var(--r-lg)}#task-details-overlay{align-items:flex-end;padding:var(--s-2)}#task-details{max-height:92vh;overflow-y:auto;padding:var(--s-4)}.task-details-grid{grid-template-columns:1fr}.task-details-grid .task-details-wide{grid-column:auto}.task-details-actions button{flex:1}#comments-overlay{align-items:flex-end;padding:var(--s-2)}#comments-dialog{max-height:94vh}.comments-head,#comments-list,#comments-composer{padding-right:var(--s-3);padding-left:var(--s-3)}.comments-hint{display:none}.stat-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.stat-tile{padding:var(--s-3)}.stat-value{font-size:var(--fs-xl)}.tasks-filters .segmented{width:100%}.tasks-filters .segmented button{flex:1;padding:0 6px}.check-item{gap:3px;padding-left:calc(var(--item-indent) * 12px)}.item-collapse{width:18px;min-width:18px}.item-outdent,.item-indent{min-width:24px;padding-right:2px;padding-left:2px}.check-item{flex-wrap:wrap;row-gap:4px}.check-item .item-text{flex:1 1 calc(100% - 64px)}#modal .check-item,#create-bar .check-item{justify-content:flex-end}.check-item .item-text+.subtask-progress{margin-top:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body.phone-mode #create-bar,body.phone-mode #labels-bar,body.phone-mode #search-wrap,body.phone-mode #search-btn{display:none}
