:root,:root[data-theme=dark]{color-scheme:dark;--canvas: #0a0a0b;--base: #0d0d0f;--raised: #151517;--overlay: #1c1c1f;--sunken: #08080a;--line: #232326;--line-strong: #2f2f35;--text: #f2f2f3;--text-2: #a3a3a9;--text-3: #78787f;--text-4: #54545b;--accent: #e8b34a;--accent-fill: #e8b34a;--accent-on-fill: #17130a;--accent-hover: #f3c76a;--accent-soft: rgba(232, 179, 74, .13);--accent-ring: rgba(232, 179, 74, .45);--success: #4cc38a;--danger: #f0616d;--info: #6f9cf5;--success-soft: rgba(76, 195, 138, .14);--danger-soft: rgba(240, 97, 109, .14);--info-soft: rgba(111, 156, 245, .14);--shadow-pop: 0 8px 24px -6px rgba(0, 0, 0, .6), 0 2px 6px rgba(0, 0, 0, .4);--shadow-panel: 0 24px 64px -12px rgba(0, 0, 0, .7);--scrim: rgba(0, 0, 0, .55)}:root[data-theme=light]{color-scheme:light;--canvas: #fbfbfc;--base: #f4f4f6;--raised: #ffffff;--overlay: #ffffff;--sunken: #eeeef1;--line: #e6e6ea;--line-strong: #d3d3d9;--text: #131315;--text-2: #5a5a63;--text-3: #82828c;--text-4: #a8a8b2;--accent: #96650a;--accent-fill: #d99f27;--accent-on-fill: #17130a;--accent-hover: #7c5307;--accent-soft: rgba(214, 158, 38, .14);--accent-ring: rgba(214, 158, 38, .5);--success: #177d4e;--danger: #c62b39;--info: #2f5fbd;--success-soft: rgba(23, 125, 78, .11);--danger-soft: rgba(198, 43, 57, .1);--info-soft: rgba(47, 95, 189, .1);--shadow-pop: 0 8px 24px -8px rgba(19, 19, 21, .16), 0 2px 6px rgba(19, 19, 21, .06);--shadow-panel: 0 24px 64px -16px rgba(19, 19, 21, .22);--scrim: rgba(19, 19, 21, .32)}:root{--font: Inter, "SF Pro Text", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--t-display: 600 20px / 26px var(--font);--t-title: 600 15px / 21px var(--font);--t-body: 400 13.5px / 20px var(--font);--t-label: 500 12.5px / 17px var(--font);--t-meta: 450 12px / 16px var(--font);--t-micro: 550 11px / 14px var(--font);--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--sidebar-w: 248px;--topbar-h: 52px;--pane-w: 520px;--drawer-w: 620px;--gutter: 32px;--measure: 1040px;--measure-wide: 1240px;--ease: cubic-bezier(.2, .6, .35, 1);--fast: .12s;--base-dur: .18s}@media(min-width:1600px){:root{--pane-w: 620px}}@media(max-width:1100px){:root{--gutter: 20px}}@media(max-width:720px){:root{--gutter: 16px}}@media(prefers-reduced-motion:reduce){:root{--fast: 1ms;--base-dur: 1ms}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;background:var(--canvas);color:var(--text);font:var(--t-body);letter-spacing:-.011em;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,p,figure,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button,input,textarea,select{font:inherit;letter-spacing:inherit;color:inherit;margin:0}button{background:none;border:0;padding:0;cursor:pointer;text-align:inherit}button:disabled{cursor:not-allowed}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}svg{display:block;flex:none}img{max-width:100%}:focus{outline:none}:focus-visible{outline:3px solid var(--accent-ring);outline-offset:1px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft);color:var(--text)}time,kbd,.tabular{font-variant-numeric:tabular-nums}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border:1px solid var(--line);border-radius:var(--r-xs);background:var(--raised);color:var(--text-3);font:var(--t-micro);font-family:var(--mono)}code{font-family:var(--mono);font-size:.92em}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) 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:var(--line-strong);background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-4);background-clip:content-box}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid transparent;border-radius:var(--r-md);font:var(--t-label);letter-spacing:-.011em;white-space:nowrap;transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease),opacity var(--fast) var(--ease)}.btn:disabled{opacity:.45}.btn-primary{background:var(--accent-fill);color:var(--accent-on-fill);font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-primary:active:not(:disabled){filter:brightness(.96)}.btn-default{background:var(--raised);border-color:var(--line-strong);color:var(--text)}.btn-default:hover:not(:disabled){background:var(--overlay);border-color:var(--text-4)}.btn-quiet{background:transparent;color:var(--text-2)}.btn-quiet:hover:not(:disabled){background:var(--raised);color:var(--text)}.btn-danger{background:transparent;color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{height:28px;padding:0 10px}.btn-lg{height:40px;padding:0 18px;font-size:13.5px}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--r-sm);color:var(--text-3);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--raised);color:var(--text)}.icon-btn:disabled{opacity:.4}.icon-btn-danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.input,.select,.textarea{width:100%;height:32px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--raised);color:var(--text);font:var(--t-body);letter-spacing:-.011em;transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.textarea{height:auto;min-height:64px;padding:8px 10px;resize:vertical;line-height:20px}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--text-4)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--accent);outline:3px solid var(--accent-ring);outline-offset:-1px}.input:disabled,.select:disabled,.textarea:disabled{opacity:.5}.input-sm{height:28px;font:var(--t-label)}.input-narrow{width:96px}.select{appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,currentcolor 50%),linear-gradient(135deg,currentcolor 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size:4px 4px,4px 4px;background-repeat:no-repeat;color:var(--text);cursor:pointer}.select option{background:var(--overlay);color:var(--text)}input[type=color]{width:28px;height:28px;padding:0;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:none;cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:2px}input[type=color]::-webkit-color-swatch{border:none;border-radius:3px}input[type=date],input[type=datetime-local]{cursor:text}:root[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator,:root[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}.bare-input{width:100%;border:0;background:transparent;padding:4px 6px;margin:-4px -6px;border-radius:var(--r-sm);color:inherit;font:inherit;letter-spacing:inherit;transition:background-color var(--fast) var(--ease)}.bare-input:hover{background:var(--raised)}.bare-input:focus-visible{background:var(--raised);outline:3px solid var(--accent-ring);outline-offset:0}.bare-input::placeholder{color:var(--text-3)}.checkbox{display:inline-flex;align-items:center;gap:8px;font:var(--t-label);color:var(--text-2);cursor:pointer}.checkbox input{appearance:none;width:15px;height:15px;margin:0;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--raised);cursor:pointer;transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.checkbox input:checked{background:var(--accent-fill);border-color:var(--accent-fill)}.checkbox input:checked:after{content:"";display:block;width:4px;height:8px;margin:1px 0 0 4px;border:solid var(--accent-on-fill);border-width:0 1.8px 1.8px 0;transform:rotate(45deg)}.chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 7px;border-radius:var(--r-sm);background:var(--raised);color:var(--text-3);font:var(--t-meta);letter-spacing:-.006em;white-space:nowrap}.chip svg{color:var(--text-4)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.chip-danger svg{color:currentcolor}.chip-success{background:var(--success-soft);color:var(--success)}.chip-info{background:var(--info-soft);color:var(--info)}.status{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 7px 0 6px;border-radius:var(--r-sm);color:var(--text-2);font:var(--t-meta);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:var(--r-full);flex:none}button.status{transition:background-color var(--fast) var(--ease)}button.status:hover{background:var(--raised);color:var(--text)}.priority{font:var(--t-meta);text-transform:capitalize}.priority-urgent{color:var(--danger);font-weight:600}.priority-high{color:var(--danger)}.priority-normal{color:var(--text-2)}.priority-low{color:var(--text-3)}.priority-none{color:var(--text-4)}.due-over{color:var(--danger);font-weight:500}.due-today{color:var(--accent);font-weight:500}.avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--r-full);background:var(--overlay);border:1px solid var(--line);color:var(--text-2);font:var(--t-micro);font-style:normal;letter-spacing:0;flex:none}.avatar-primary{border-color:var(--accent);color:var(--accent)}.avatar-lg{width:40px;height:40px;font-size:14px}.avatar-stack{display:inline-flex;align-items:center;gap:3px}.author{display:inline-flex;align-items:center;gap:4px;font:var(--t-meta);color:var(--text-3)}.author-agent{color:var(--info)}.menu-scrim{position:fixed;inset:0;z-index:40;cursor:default}.menu{position:absolute;z-index:41;top:calc(100% + 6px);left:0;min-width:190px;max-height:340px;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--overlay);box-shadow:var(--shadow-pop);animation:pop var(--base-dur) var(--ease)}.menu-right{left:auto;right:0}.menu-up{top:auto;bottom:calc(100% + 6px)}@keyframes pop{0%{opacity:0;transform:translateY(-4px)}}.menu button,.menu-item{display:flex;align-items:center;gap:8px;width:100%;height:28px;padding:0 8px;border-radius:var(--r-sm);color:var(--text-2);font:var(--t-label);white-space:nowrap;transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.menu button:hover,.menu-item:hover{background:var(--raised);color:var(--text)}.menu button.active,.menu-item.active{color:var(--accent)}.menu button em,.menu-item em{margin-left:auto;color:var(--text-4);font:var(--t-meta);font-style:normal}.menu .menu-sep{height:1px;margin:4px 6px;background:var(--line)}.menu .menu-head{padding:6px 8px 4px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.menu-field{padding:4px}.popover-anchor{position:relative;display:inline-flex}.scrim{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--gutter);background:var(--scrim);animation:fade var(--base-dur) var(--ease)}@keyframes fade{0%{opacity:0}}.dialog{display:flex;flex-direction:column;width:min(100%,520px);max-height:min(86vh,780px);border:1px solid var(--line);border-radius:var(--r-xl);background:var(--raised);box-shadow:var(--shadow-panel);animation:rise var(--base-dur) var(--ease);overflow:hidden}.dialog:focus,.dialog:focus-visible{outline:none}.dialog-wide{width:min(100%,720px)}@keyframes rise{0%{opacity:0;transform:translateY(8px) scale(.99)}}.dialog-head{display:flex;align-items:flex-start;gap:16px;padding:20px 20px 16px;border-bottom:1px solid var(--line)}.dialog-head h2{font:var(--t-title);letter-spacing:-.021em}.dialog-head p{margin-top:3px;color:var(--text-3);font:var(--t-meta)}.dialog-head .icon-btn{margin-left:auto}.dialog-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:28px}.dialog-note{color:var(--text-3);font:var(--t-meta)}.section-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.section-head h3{font:var(--t-title);letter-spacing:-.021em}.section-head p,.section-head .count{color:var(--text-3);font:var(--t-meta)}.banner{display:flex;align-items:center;gap:12px;margin:0 var(--gutter) 12px;padding:9px 10px 9px 14px;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);border-radius:var(--r-md);background:var(--danger-soft);color:var(--danger);font:var(--t-label)}.banner span{flex:1}.banner .icon-btn{color:inherit}.form-error{color:var(--danger);font:var(--t-meta)}.empty{padding:40px var(--gutter);color:var(--text-3);font:var(--t-body);text-align:center}.empty-left{text-align:left;padding:28px 0}.empty-act{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.spinner{width:20px;height:20px;border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:var(--r-full);animation:spin .62s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-page{display:grid;place-items:center;min-height:100vh}.meter{display:block;width:100%;height:3px;border-radius:var(--r-full);background:var(--sunken);overflow:hidden}.meter i{display:block;height:100%;border-radius:inherit;background:var(--text-4);transition:width var(--base-dur) var(--ease)}.meter-over i{background:var(--danger)}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);height:100%;background:var(--canvas);--pane-open: 0px}@media(min-width:1360px){.app.has-pane{grid-template-columns:var(--sidebar-w) minmax(0,1fr) var(--pane-w);--pane-open: var(--pane-w)}}.app-scrim{display:none}.sidebar{display:flex;flex-direction:column;min-height:0;background:var(--base);border-right:1px solid var(--line)}.sidebar-brand{display:flex;align-items:center;gap:9px;height:var(--topbar-h);padding:0 12px 0 16px;flex:none}.brand-mark{display:grid;place-items:center;width:22px;height:22px;border-radius:var(--r-sm);background:var(--accent-fill);color:var(--accent-on-fill);flex:none}.brand-name{font:var(--t-label);font-weight:600;letter-spacing:-.021em;color:var(--text)}.sidebar-close{display:none;margin-left:auto}.sidebar-assistant{display:flex;align-items:center;gap:8px;height:34px;margin:2px 10px 12px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--raised);color:var(--text);font:var(--t-label);transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease)}.sidebar-assistant svg{color:var(--accent)}.sidebar-assistant:hover{background:var(--overlay);border-color:var(--text-4)}.sidebar-assistant.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:12px}.sidebar-nav{display:flex;flex-direction:column;gap:1px;padding:0 8px}.nav-item{position:relative;display:flex;align-items:center;gap:9px;height:30px;padding:0 8px;border-radius:var(--r-sm);color:var(--text-2);font:var(--t-label);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.nav-item>svg{color:var(--text-3);transition:color var(--fast) var(--ease)}.nav-item:hover{background:var(--raised);color:var(--text)}.nav-item:hover>svg{color:var(--text-2)}.nav-item.active{background:var(--raised);color:var(--text);font-weight:600}.nav-item.active>svg{color:var(--accent)}.nav-item.active:before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:2px;border-radius:var(--r-full);background:var(--accent)}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{color:var(--text-3);font:var(--t-meta);font-variant-numeric:tabular-nums}.sidebar-section{display:flex;align-items:center;gap:6px;height:28px;margin:20px 8px 2px;padding:0 8px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.sidebar-section .icon-btn{width:22px;height:22px;margin-left:auto;opacity:0;transition:opacity var(--fast) var(--ease)}.sidebar-section:hover .icon-btn,.sidebar-section .icon-btn:focus-visible{opacity:1}.tree-filter{display:flex;align-items:center;gap:7px;height:28px;margin:0 16px 4px;padding:0 6px 0 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--canvas);color:var(--text-4);transition:border-color var(--fast) var(--ease)}.tree-filter:focus-within{border-color:var(--accent);outline:3px solid var(--accent-ring);outline-offset:1px}.tree-filter input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:var(--t-label)}.tree-filter input:focus-visible{outline:none}.tree-filter input::placeholder{color:var(--text-3)}.tree-filter .icon-btn{width:20px;height:20px}.tree-hit{display:flex;align-items:center;gap:7px;padding-left:8px}.tree-hit-path{flex:none;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-4);font:var(--t-meta)}.sidebar-tree{display:flex;flex-direction:column;gap:1px;padding:0 8px}.tree-row{position:relative;display:flex;align-items:center;height:28px;padding-right:6px;border-radius:var(--r-sm);color:var(--text-2);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.tree-row:hover,.tree-row.active{background:var(--raised);color:var(--text)}.tree-row.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:2px;border-radius:var(--r-full);background:var(--accent)}.tree-row.dragging{opacity:.4}.tree-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.tree-row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.tree-row.drop-into{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tree-twist{display:grid;place-items:center;width:16px;height:16px;flex:none;border-radius:var(--r-xs);color:var(--text-4)}button.tree-twist:hover{background:var(--overlay);color:var(--text-2)}.tree-name{display:flex;align-items:center;gap:7px;flex:1;min-width:0;height:100%;color:inherit;font:var(--t-label)}.tree-name>svg{color:var(--text-4);flex:none}.tree-row.active .tree-name>svg{color:var(--accent)}.tree-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-count,.nav-count{display:inline-flex;align-items:center;gap:5px}.tree-count{color:var(--text-4);font:var(--t-meta);font-variant-numeric:tabular-nums;padding:0 2px}.late-dot{width:5px;height:5px;flex:none;border-radius:var(--r-full);background:var(--danger)}.tree-actions{display:flex;gap:1px;opacity:0;transition:opacity var(--fast) var(--ease)}.tree-row:hover .tree-actions,.tree-actions:focus-within{opacity:1}.tree-actions .icon-btn{width:22px;height:22px}.tree-compose{display:flex;align-items:center;gap:7px;height:28px;padding-right:6px;color:var(--text-3)}.tree-compose input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:var(--t-label)}.tree-compose input::placeholder{color:var(--text-4)}.tree-empty{padding:8px 16px 4px;color:var(--text-4);font:var(--t-meta)}.sidebar-foot{flex:none;padding:8px;border-top:1px solid var(--line)}.user-chip{position:relative;display:flex;align-items:center;gap:9px;width:100%;height:38px;padding:0 8px;border-radius:var(--r-md);color:var(--text-2);transition:background-color var(--fast) var(--ease)}.user-chip:hover{background:var(--raised)}.user-chip-text{flex:1;min-width:0;text-align:left}.user-chip-text b{display:block;color:var(--text);font:var(--t-label);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip-text small{display:block;color:var(--text-3);font:var(--t-meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{bottom:calc(100% + 6px);top:auto;left:0;right:0}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{display:flex;align-items:center;gap:10px;height:var(--topbar-h);flex:none;padding:0 var(--gutter);border-bottom:1px solid var(--line);background:var(--base)}.topbar-menu{display:none}.crumbs{display:flex;align-items:center;gap:4px;min-width:0;flex:1;color:var(--text-3);font:var(--t-label)}.crumbs button{padding:3px 5px;margin:-3px -5px;border-radius:var(--r-xs);color:var(--text-3);transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumbs button:hover{background:var(--raised);color:var(--text)}.crumbs i{color:var(--text-4);font-style:normal}.crumbs b{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-tail{display:flex;align-items:center;gap:6px;flex:none}.search-trigger{display:flex;align-items:center;gap:8px;width:200px;height:30px;padding:0 8px 0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--canvas);color:var(--text-3);font:var(--t-label);transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.search-trigger:hover{border-color:var(--text-4);color:var(--text-2)}.search-trigger span{flex:1;text-align:left}.running-timer{display:flex;align-items:center;height:30px;padding:0 4px 0 10px;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);border-radius:var(--r-md);background:var(--accent-soft)}.running-timer>button:first-child{display:flex;align-items:center;gap:8px;max-width:260px;color:var(--text);font:var(--t-label)}.running-pulse{width:6px;height:6px;border-radius:var(--r-full);background:var(--accent);flex:none;animation:pulse 2s var(--ease) infinite}@keyframes pulse{50%{opacity:.35}}.running-timer .running-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.running-timer time{color:var(--accent);font-family:var(--mono);font-size:12px;font-weight:500}.running-timer .icon-btn{width:22px;height:22px;margin-left:4px;color:var(--text-2)}.view{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.view-inner{width:min(100% - var(--gutter) * 2,var(--measure));margin:0 auto;padding:28px 0 96px}.view-wide .view-inner{width:min(100% - var(--gutter) * 2,var(--measure-wide))}.view-head{display:flex;align-items:flex-end;gap:20px;margin-bottom:24px}.view-eyebrow{display:block;margin-bottom:5px;color:var(--text-3);font:var(--t-meta)}.view-head h1{font:var(--t-display);letter-spacing:-.021em}.view-head p{margin-top:6px;max-width:62ch;color:var(--text-3);font:var(--t-body)}.view-head-tail{margin-left:auto;display:flex;align-items:center;gap:8px;flex:none}.view-head p.view-facts{display:flex;align-items:baseline;gap:8px;margin-top:6px;color:var(--text-3);font:var(--t-meta)}.view-facts>*+*:before{content:"·";margin-right:8px;color:var(--text-4)}.view-facts b{font-weight:550}.palette-scrim{position:fixed;inset:0;z-index:70;display:flex;justify-content:center;align-items:flex-start;padding:12vh var(--gutter) var(--gutter);background:var(--scrim);animation:fade var(--base-dur) var(--ease)}.palette{display:flex;flex-direction:column;width:min(100%,620px);max-height:62vh;border:1px solid var(--line);border-radius:var(--r-xl);background:var(--raised);box-shadow:var(--shadow-panel);animation:rise var(--base-dur) var(--ease);overflow:hidden}.palette-input{display:flex;align-items:center;gap:10px;height:48px;padding:0 12px 0 16px;border-bottom:1px solid var(--line);color:var(--text-3);flex:none}.palette-input input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:400 14px/20px var(--font)}.palette-input input::placeholder{color:var(--text-3)}.palette-input input:focus-visible{outline:none}.palette-results{flex:1;min-height:0;overflow-y:auto;padding:6px}.palette-heading{display:block;padding:10px 10px 5px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.palette-heading:first-child{padding-top:4px}.palette-row{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 10px;border-radius:var(--r-md);color:var(--text-2);text-align:left}.palette-row.active{background:var(--overlay);color:var(--text)}.palette-row>svg{color:var(--text-4);flex:none}.palette-row.active>svg{color:var(--accent)}.palette-row-text{flex:1;min-width:0}.palette-row-text b{display:block;font:var(--t-body);font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row-text small{display:block;color:var(--text-3);font:var(--t-meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row em{color:var(--text-4);font:var(--t-meta);font-style:normal;flex:none}.palette-empty{padding:24px 10px;color:var(--text-3);font:var(--t-body);text-align:center}.palette-foot{display:flex;gap:16px;padding:9px 16px;border-top:1px solid var(--line);color:var(--text-3);font:var(--t-meta);flex:none}.palette-foot span{display:inline-flex;align-items:center;gap:5px}.dock{position:fixed;bottom:20px;left:var(--sidebar-w);right:var(--pane-open);width:max-content;margin-inline:auto;z-index:50;display:flex;align-items:center;gap:8px;padding:7px 8px 7px 14px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--overlay);box-shadow:var(--shadow-panel);animation:rise var(--base-dur) var(--ease);max-width:calc(100% - 32px);flex-wrap:wrap}.dock b{font:var(--t-label);font-weight:600;white-space:nowrap}.dock .select,.dock .btn{height:28px}.dock .select{width:auto;min-width:104px;font:var(--t-label)}.dock-sep{width:1px;height:18px;background:var(--line)}.undo-toast{position:fixed;bottom:20px;left:var(--sidebar-w);right:var(--pane-open);width:max-content;margin-inline:auto;z-index:51;display:flex;align-items:center;gap:14px;padding:9px 8px 9px 16px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--overlay);box-shadow:var(--shadow-panel);color:var(--text-2);font:var(--t-label);animation:rise var(--base-dur) var(--ease);max-width:min(520px,calc(100% - 32px))}.undo-toast>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-toast .btn{height:26px;flex:none}.has-bulk .undo-toast{bottom:76px}@media(max-width:1000px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;z-index:80;width:284px;transform:translate(-100%);transition:transform var(--base-dur) var(--ease);box-shadow:var(--shadow-panel)}.sidebar-open{transform:none}.sidebar-close{display:inline-flex}.app-scrim{display:block;position:fixed;inset:0;z-index:79;background:var(--scrim);animation:fade var(--base-dur) var(--ease)}.topbar-menu{display:inline-flex}.search-trigger{width:30px;padding:0;justify-content:center;background:transparent;border-color:transparent}.search-trigger span,.search-trigger kbd{display:none}.dock,.undo-toast{left:0;right:0;max-width:calc(100% - 24px)}}@media(max-width:720px){.running-timer .running-name{display:none}.view-inner{padding-top:20px}.view-head{flex-direction:column;align-items:stretch;gap:14px}.view-head-tail{margin-left:0}}@media(hover:none){.tree-actions,.sidebar-section .icon-btn{opacity:1}}.add-row{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;margin-bottom:20px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:transparent;color:var(--text-3);transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.add-row:hover,.add-row:focus-within{border-color:var(--text-4);border-style:solid;background:var(--raised)}.add-row:focus-within{border-color:var(--accent)}.add-row>svg{color:var(--text-4);flex:none}.add-row input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:var(--t-body)}.add-row input::placeholder{color:var(--text-3)}.add-target{color:var(--text-3);font:var(--t-meta);white-space:nowrap}.add-row kbd{opacity:0;transition:opacity var(--fast) var(--ease)}.add-row:focus-within kbd{opacity:1}.groups{display:flex;flex-direction:column;gap:26px}.group-head{display:flex;align-items:center;gap:8px;height:24px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.group-head .count{color:var(--text-4);letter-spacing:0}.rows{border-top:1px solid var(--line)}.row{position:relative;display:flex;align-items:center;gap:10px;min-height:40px;padding:0 8px 0 6px;border-bottom:1px solid var(--line);cursor:pointer;transition:background-color var(--fast) var(--ease)}.row:hover{background:color-mix(in srgb,var(--raised) 60%,transparent)}.row.open{background:var(--accent-soft)}.row.checked{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.row.cursor:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:var(--r-full);background:var(--accent)}.row.dragging{opacity:.4}.row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.row.drop-into{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.row-check{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:var(--r-xs);color:var(--text-4);opacity:0;transition:opacity var(--fast) var(--ease),color var(--fast) var(--ease)}.row:hover .row-check,.row-check:focus-visible,.row-check-shown{opacity:1}.row-check:hover{color:var(--text-2)}.row.checked .row-check{opacity:1;color:var(--accent)}.row-mark{display:grid;place-items:center;width:16px;height:16px;flex:none;border:1px solid var(--line-strong);border-radius:var(--r-xs);background:var(--raised);color:transparent;transition:background-color var(--fast) var(--ease),border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.row-mark:hover{border-color:var(--success);color:var(--text-4)}.row.done .row-mark,.line.done .row-mark{background:var(--success);border-color:var(--success);color:#fff}.row-kind{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:var(--r-xs);color:var(--text-3);transition:color var(--fast) var(--ease)}.row-kind:hover{color:var(--accent)}.row-status{display:grid;place-items:center;width:20px;height:20px;flex:none;border-radius:var(--r-xs);transition:background-color var(--fast) var(--ease)}.row-status:hover{background:var(--overlay)}.row-body{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 0;flex-wrap:nowrap}.row-name{color:var(--text);font:var(--t-body);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.row.done .row-name{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--text-4)}.row-meta{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;margin-left:auto;flex:none}.row-path{color:var(--text-4);font:var(--t-meta);border-radius:var(--r-xs);padding:1px 4px;margin:-1px -4px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.row-path:hover{background:var(--overlay);color:var(--text-2)}.row-slot{color:var(--text-4);font:var(--t-meta);padding:2px 5px;margin:-2px -5px;border-radius:var(--r-xs);opacity:0;transition:opacity var(--fast) var(--ease),background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.row:hover .row-slot,.row-slot:focus-visible{opacity:1}.row-slot:hover{background:var(--overlay);color:var(--text-2)}.row-value{color:var(--text-3);font:var(--t-meta);padding:2px 5px;margin:-2px -5px;border-radius:var(--r-xs);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.row-value:hover{background:var(--overlay);color:var(--text)}.row-actions{display:flex;align-items:center;gap:4px;flex:none;margin-left:auto}.row-due{color:var(--text-3);font:var(--t-meta);white-space:nowrap}.row-timer{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-sm);color:var(--text-4);opacity:0;transition:opacity var(--fast) var(--ease),background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.row:hover .row-timer,.row-timer:focus-visible{opacity:1}.row-timer:hover{background:var(--overlay);color:var(--text)}.row-timer.running{opacity:1;color:var(--accent);background:var(--accent-soft)}@media(hover:none){.row-check,.row-slot,.row-timer{opacity:1}}@media(max-width:720px){.row{align-items:flex-start;padding:8px 4px 8px 2px}.row-check,.row-mark,.row-kind{margin-top:7px}.row-body{flex-direction:column;align-items:flex-start;gap:6px;padding:4px 0}.row-name{white-space:normal;overflow:visible}.row-meta{margin-left:0;flex-wrap:wrap}.row-path{display:none}.row-actions{margin-top:5px}}.brief{max-width:620px;margin-bottom:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raised);overflow:hidden}.brief-head{display:flex;align-items:center;gap:9px;width:100%;height:40px;padding:0 12px;color:var(--text-2);font:var(--t-label);transition:background-color var(--fast) var(--ease)}.brief-head:hover{background:var(--overlay)}.brief-head>svg:first-child{color:var(--accent)}.brief-head b{flex:1;text-align:left;color:var(--text);font-weight:600}.brief-body{padding:4px 16px 16px;border-top:1px solid var(--line)}.prose{color:var(--text-2);font:var(--t-body);line-height:22px;max-width:68ch}.prose>*+*{margin-top:12px}.prose h2,.prose h3,.prose h4,.prose h5{color:var(--text);font:var(--t-title);letter-spacing:-.021em;margin-top:22px}.prose h4,.prose h5{font-size:13.5px}.prose>*:first-child{margin-top:0}.prose strong{color:var(--text);font-weight:600}.prose ul,.prose ol{padding-left:20px}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-top:5px}.prose li::marker{color:var(--text-4)}.prose code{padding:1px 5px;border-radius:var(--r-xs);background:var(--sunken);color:var(--text)}.prose pre{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);overflow-x:auto}.prose pre code{padding:0;background:none;font-size:12px;line-height:19px}.prose blockquote{padding-left:14px;border-left:2px solid var(--line-strong);color:var(--text-3)}.prose hr{height:1px;border:0;background:var(--line);margin:20px 0}.settings-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;align-items:start}.settings-nav{display:flex;flex-direction:column;gap:1px;position:sticky;top:0}.settings-nav button{display:flex;align-items:center;gap:8px;height:30px;padding:0 9px;border-radius:var(--r-sm);color:var(--text-2);font:var(--t-label);text-align:left;transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.settings-nav button svg{flex:none;color:var(--text-4)}.settings-nav button:hover{background:var(--raised);color:var(--text)}.settings-nav button.active{background:var(--raised);color:var(--accent);font-weight:600}.settings-nav button.active svg{color:var(--accent)}.settings-pane{display:flex;flex-direction:column;align-items:stretch;gap:26px;min-width:0}.settings-pane-head{padding-bottom:14px;border-bottom:1px solid var(--line)}.settings-pane-head h2{font:var(--t-title);letter-spacing:-.012em}.settings-pane-head p{margin-top:4px;max-width:62ch;color:var(--text-3);font:var(--t-body)}.install-command{margin-bottom:10px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--canvas);color:var(--text-2);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:12px;line-height:19px;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.notes-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start}.notes-list{display:flex;flex-direction:column;gap:1px;position:sticky;top:0}.notes-group{display:flex;align-items:center;gap:6px;height:26px;margin-top:14px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.notes-group:first-child{margin-top:0}.notes-file{display:block;height:28px;padding:0 8px;border-radius:var(--r-sm);color:var(--text-2);font:var(--t-label);line-height:28px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.notes-file:hover{background:var(--raised);color:var(--text)}.notes-file.active{background:var(--raised);color:var(--accent);font-weight:600}.note-head{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.note-head h2{font:var(--t-display);letter-spacing:-.021em;text-transform:capitalize}.note-head span{display:block;margin-top:4px;color:var(--text-3);font:var(--t-meta)}.memo-day{margin-bottom:30px}.day-head{display:flex;align-items:baseline;gap:10px;height:24px;margin-bottom:10px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.day-head span{color:var(--text-4);letter-spacing:0}.memo{padding:14px 0;border-top:1px solid var(--line)}.memo-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.memo-head time{color:var(--text-3);font:var(--t-meta)}.memo-summary{max-width:74ch;color:var(--text);font:var(--t-body);line-height:21px}.memo-error{margin-top:6px;color:var(--danger);font:var(--t-meta)}.memo-items{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.memo-item{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--raised);color:var(--text-2);font:var(--t-meta)}.memo-item svg{color:var(--text-4)}.memo-item em{color:var(--text-4);font-style:normal}button.memo-item{transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}button.memo-item:hover{border-color:var(--text-4);color:var(--text)}.memo-transcript{max-width:84ch;margin-top:10px;padding-left:12px;border-left:2px solid var(--line);color:var(--text-3);font:var(--t-meta);line-height:19px}.memo-reveal{margin-top:5px;color:var(--text-3);font:var(--t-meta);text-decoration:underline;text-decoration-color:var(--line-strong)}.memo-reveal:hover{color:var(--text)}.memo-waiting{opacity:.7}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin-bottom:30px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);overflow:hidden}.stat{padding:14px 16px;background:var(--raised)}.stat span{display:block;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.stat b{display:block;margin:6px 0 2px;color:var(--text);font:var(--t-display);font-variant-numeric:tabular-nums;letter-spacing:-.021em}.stat small{color:var(--text-3);font:var(--t-meta)}.stat-warn b{color:var(--danger)}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:30px}.week-day{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--raised);color:var(--text-3);text-decoration:none;transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease)}a.week-day:hover{border-color:var(--text-4);text-decoration:none}.week-today{border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:var(--accent-soft)}.week-empty{opacity:.6}.week-day-name{font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.week-day-date{color:var(--text);font:var(--t-title);font-variant-numeric:tabular-nums}.week-today .week-day-date{color:var(--accent)}.week-bar{display:flex;align-items:flex-end;height:72px;width:100%;padding:0 32%}.week-bar i{display:block;width:100%;border-radius:var(--r-xs);background:var(--text-4);transition:height var(--base-dur) var(--ease)}.week-today .week-bar i{background:var(--accent)}.week-day-total{font:var(--t-meta);font-variant-numeric:tabular-nums}.entry{display:flex;align-items:center;gap:12px;min-height:38px;padding:6px 8px 6px 0;border-bottom:1px solid var(--line)}.entry-length{width:68px;flex:none;color:var(--text);font:var(--t-label);font-variant-numeric:tabular-nums}.entry-running{color:var(--accent)}.entry-overlap{flex:none;padding:1px 6px;border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text-2);font:var(--t-meta)}.day-elapsed{color:var(--text-2);font-style:normal}.entry-what{flex:1;min-width:0;color:var(--text-2);font:var(--t-meta)}.entry-what>button{color:var(--text);font:var(--t-body);border-radius:var(--r-xs);transition:color var(--fast) var(--ease)}.entry-what>button:hover{color:var(--accent)}.entry-path{margin-left:8px;color:var(--text-3);font:var(--t-meta);white-space:nowrap}.entry-when{display:block;margin-top:1px;color:var(--text-3);font:var(--t-meta);font-style:normal}.entry-actions{display:flex;gap:2px;flex:none;opacity:0;transition:opacity var(--fast) var(--ease)}.entry:hover .entry-actions,.entry-actions:focus-within{opacity:1}@media(hover:none){.entry-actions{opacity:1}}.entry-editor{padding:12px;border-bottom:1px solid var(--line);background:var(--raised)}.entry-editor form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.entry-editor label{display:flex;flex-direction:column;gap:5px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.entry-editor .input{width:auto}.week-nav{display:flex;align-items:center;gap:4px}.week-nav .select{margin-right:8px}@media(max-width:900px){.settings-layout{grid-template-columns:minmax(0,1fr);gap:20px}.settings-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:4px}.notes-layout{grid-template-columns:minmax(0,1fr);gap:20px}.notes-list{position:static;flex-direction:row;flex-wrap:wrap;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--line)}.notes-group{width:100%;margin-top:8px}.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}button.group-fold{width:100%;background:none;border:0;padding-inline:0;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}button.group-fold:hover span:first-child{color:var(--text-2)}.drawer-scrim{position:fixed;inset:0;z-index:90;background:var(--scrim);animation:fade var(--base-dur) var(--ease)}.drawer{position:fixed;inset:0 0 0 auto;z-index:91;display:flex;flex-direction:column;width:min(100%,var(--drawer-w));background:var(--raised);border-left:1px solid var(--line);box-shadow:var(--shadow-panel);animation:slide-in var(--base-dur) var(--ease)}.pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--raised);border-left:1px solid var(--line);animation:fade var(--base-dur) var(--ease)}@keyframes slide-in{0%{transform:translate(16px);opacity:0}}.drawer-bar{display:flex;align-items:center;gap:8px;height:var(--topbar-h);flex:none;padding:0 8px 0 16px;border-bottom:1px solid var(--line)}.drawer-bar .crumbs{font:var(--t-meta)}.drawer-bar-tail{display:flex;align-items:center;gap:2px;margin-left:auto;flex:none}.drawer:focus,.drawer:focus-visible{outline:none}.drawer-scroll{flex:1;min-height:0;overflow-y:auto;padding:20px 24px 64px;display:flex;flex-direction:column;gap:26px}.drawer-scroll>*{flex:none}.drawer-title{width:100%;border:0;background:transparent;padding:4px 6px;margin:-4px -6px;border-radius:var(--r-sm);color:var(--text);font:var(--t-display);letter-spacing:-.021em;resize:none;overflow:hidden;field-sizing:content;transition:background-color var(--fast) var(--ease)}.drawer-title:hover{background:var(--canvas)}.drawer-title:focus-visible{background:var(--canvas);outline:3px solid var(--accent-ring)}.props{display:grid;grid-template-columns:100px minmax(0,1fr);align-items:center;gap:4px 12px}.props dt{display:flex;align-items:center;gap:7px;height:30px;color:var(--text-3);font:var(--t-label)}.props dt svg{color:var(--text-4)}.props dd{display:flex;align-items:center;gap:8px;min-height:30px;min-width:0;flex-wrap:wrap}.props dd>.popover-anchor{max-width:100%;margin-left:-8px}.prop-button{display:inline-flex;align-items:center;gap:7px;height:28px;width:max-content;max-width:100%;padding:0 8px;border-radius:var(--r-sm);color:var(--text);font:var(--t-body);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.props dd>.prop-button{margin-left:-8px}.prop-add{margin:2px 0 0 -8px}.prop-add .menu svg{color:var(--text-3)}.prop-button:hover{background:var(--canvas)}.prop-button.empty{color:var(--text-3)}.prop-button>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prop-button em{color:var(--text-4);font:var(--t-meta);font-style:normal}.prop-hint{color:var(--text-3);font:var(--t-meta)}.prop-dates{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.prop-dates .input{width:auto;height:28px;font:var(--t-meta)}.prop-dates>span{color:var(--text-4)}.people-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.people-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px 0 4px;border-radius:var(--r-full);background:var(--canvas);color:var(--text-2);font:var(--t-meta)}.people-chip svg{color:var(--accent)}.people-watcher{padding-left:9px;color:var(--text-3)}.people-watcher svg{color:var(--text-4)}.people-menu{min-width:260px}.people-row{display:flex;align-items:center;gap:2px}.people-row>button:first-child{flex:1;min-width:0}.people-role{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:var(--r-sm);color:var(--text-4);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.people-role:hover:not(:disabled){background:var(--raised);color:var(--text-2)}.people-role.active{color:var(--accent)}.people-role:disabled{opacity:.35}.people-empty{padding:10px;color:var(--text-3);font:var(--t-meta)}.drawer-desc{width:100%;min-height:72px;border:0;background:transparent;padding:8px;margin:-8px;border-radius:var(--r-md);color:var(--text-2);font:var(--t-body);line-height:21px;resize:vertical;transition:background-color var(--fast) var(--ease)}.drawer-desc:hover{background:var(--canvas)}.drawer-desc:focus-visible{background:var(--canvas);color:var(--text);outline:3px solid var(--accent-ring)}.drawer-desc::placeholder{color:var(--text-3)}.panel{border-top:1px solid var(--line);padding-top:18px}.panel-head{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:10px;color:var(--text);font:var(--t-label);font-weight:600}.panel-head>svg:first-child{color:var(--text-4)}.panel-head .count{color:var(--text-3);font:var(--t-meta);font-weight:400}.panel-head .meter{width:60px;margin-left:auto;flex:none}button.panel-head{border-radius:var(--r-sm);padding:4px 6px;margin:-4px -6px 8px;transition:background-color var(--fast) var(--ease)}button.panel-head:hover{background:var(--canvas)}.line{display:flex;align-items:center;gap:10px;min-height:32px;padding:0 6px;margin:0 -6px;border-radius:var(--r-sm);transition:background-color var(--fast) var(--ease)}.line:hover{background:var(--canvas)}.line-name{flex:1;min-width:0;color:var(--text);font:var(--t-body);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line.done .line-name,.line.done .bare-input{color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--text-4)}.line time{color:var(--text-3);font:var(--t-meta);flex:none}.line .icon-btn{width:24px;height:24px;flex:none;opacity:0;transition:opacity var(--fast) var(--ease)}.line:hover .icon-btn,.line .icon-btn:focus-visible{opacity:1}@media(hover:none){.line .icon-btn{opacity:1}}.line-add{display:flex;align-items:center;gap:10px;height:32px;padding:0 6px;margin:0 -6px;border-radius:var(--r-sm);color:var(--text-4);transition:background-color var(--fast) var(--ease)}.line-add:focus-within{background:var(--canvas)}.line-add input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:var(--t-body)}.line-add input::placeholder{color:var(--text-3)}.checklist{margin-bottom:10px;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.checklist-head{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:var(--canvas);border-bottom:1px solid var(--line)}.checklist-head .bare-input{font:var(--t-label);font-weight:600;color:var(--text)}.checklist-head .icon-btn{width:24px;height:24px;opacity:0;transition:opacity var(--fast) var(--ease)}.checklist:hover .checklist-head .icon-btn,.checklist-head .icon-btn:focus-visible{opacity:1}.checklist-items{padding:4px 8px 6px}.checklist-new{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--text-3);font:var(--t-label);transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}button.checklist-new:hover{border-color:var(--text-4);color:var(--text)}.checklist-new input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:var(--t-body)}.log-form{display:flex;gap:8px;margin-bottom:10px}.log-form .input:first-child{width:84px;flex:none}.thread{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.event{display:flex;align-items:center;gap:8px;color:var(--text-3);font:var(--t-meta)}.event:before{content:"";width:5px;height:5px;border-radius:var(--r-full);background:var(--line-strong);flex:none}.event time{color:var(--text-4)}.comment{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--canvas)}.comment-agent{border-color:color-mix(in srgb,var(--info) 28%,transparent);background:var(--info-soft)}.comment header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.comment header time{color:var(--text-4);font:var(--t-meta)}.comment header .icon-btn{width:22px;height:22px;margin-left:auto;opacity:0;transition:opacity var(--fast) var(--ease)}.comment:hover header .icon-btn,.comment header .icon-btn:focus-visible{opacity:1}.comment p{color:var(--text);font:var(--t-body);line-height:21px;white-space:pre-wrap}.comment-form{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.comment-form .textarea{min-height:56px}.drawer-foot{display:flex;align-items:center;gap:8px;padding-top:18px;border-top:1px solid var(--line);color:var(--text-3);font:var(--t-meta)}.drawer-foot>div{margin-left:auto;display:flex;gap:4px}.quickadd .dialog-body{gap:16px;padding-top:16px}.quickadd-name{width:100%;border:0;background:transparent;color:var(--text);font:var(--t-title);letter-spacing:-.021em;padding:2px 0}.quickadd-name::placeholder{color:var(--text-3)}.field-row{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px}.field-row>span{color:var(--text-3);font:var(--t-label)}.field-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.segment{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--canvas);flex-wrap:wrap}.segment button{height:24px;padding:0 9px;border-radius:var(--r-sm);color:var(--text-3);font:var(--t-label);transition:background-color var(--fast) var(--ease),color var(--fast) var(--ease)}.segment button:hover{color:var(--text)}.segment button.active{background:var(--raised);color:var(--text);box-shadow:0 0 0 1px var(--line-strong)}.dest-button{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px 0 10px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--canvas);color:var(--text);font:var(--t-body);transition:border-color var(--fast) var(--ease)}.dest-button:hover{border-color:var(--text-4)}.dest-button>span{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest-menu{left:0;right:0;min-width:0}.dest-menu .input{margin-bottom:4px}.dest-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dest-path{margin-left:auto;color:var(--text-4);font:var(--t-meta);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:none}.quickadd-foot{display:flex;align-items:center;gap:16px;padding:14px 20px;border-top:1px solid var(--line);background:var(--canvas)}.quickadd-foot .btn-primary{margin-left:auto}.setting{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.setting:last-child{border-bottom:0}.setting-text{flex:1;min-width:0}.setting-text b{display:block;color:var(--text);font:var(--t-label);font-weight:600}.setting-text small{display:block;margin-top:2px;color:var(--text-3);font:var(--t-meta)}.setting-action{display:flex;align-items:center;gap:8px;flex:none}.theme-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme-choice button{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--canvas);color:var(--text-2);transition:border-color var(--fast) var(--ease),background-color var(--fast) var(--ease)}.theme-choice button:hover{border-color:var(--text-4)}.theme-choice button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.theme-choice svg{color:var(--text-3)}.theme-choice button.active svg{color:var(--accent)}.theme-choice b{display:block;font:var(--t-label);font-weight:600;color:var(--text)}.theme-choice small{display:block;color:var(--text-3);font:var(--t-meta)}.status-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}.status-row .input{flex:1;min-width:0}.status-row .select{width:104px;flex:none}.status-move{display:flex;gap:1px;flex:none}.status-move button{display:grid;place-items:center;width:22px;height:26px;border-radius:var(--r-xs);color:var(--text-4)}.status-move button:hover:not(:disabled){background:var(--canvas);color:var(--text)}.status-move button:disabled{opacity:.3}.default-toggle{height:24px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-full);color:var(--text-3);font:var(--t-micro);white-space:nowrap;flex:none;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.default-toggle:hover{border-color:var(--text-4);color:var(--text)}.default-toggle.on{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--accent-soft);color:var(--accent)}.identity{display:flex;align-items:center;gap:14px}.identity b{display:block;font:var(--t-title);letter-spacing:-.021em}.identity small{display:block;margin-top:2px;color:var(--text-3);font:var(--t-meta)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:1px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--line);overflow:hidden}.stat-grid .stat{padding:11px 12px}.stat-grid .stat b{margin:0 0 2px;font:var(--t-title)}.field-stack{display:flex;flex-direction:column;gap:12px}.field-stack label{display:flex;flex-direction:column;gap:5px}.field-stack label>span{color:var(--text-3);font:var(--t-label)}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form .input{flex:1;min-width:160px}.grant-picker{display:flex;flex-direction:column;gap:6px}.grant-picker>span{color:var(--text-3);font:var(--t-label)}.grant-group{display:flex;flex-direction:column;gap:9px;padding:11px 0;border-top:1px solid var(--line)}.grant-group h5{color:var(--text-4);font:var(--t-micro);letter-spacing:.05em;text-transform:uppercase}.grant-row{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.grant-row .checkbox{flex:none;margin-top:1px}.grant-row div{display:flex;flex-direction:column;gap:2px}.grant-row b{color:var(--text);font:var(--t-label)}.grant-row small{color:var(--text-3);font:var(--t-meta)}.grant-row-destructive b{color:var(--danger)}.member-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.member-row.inactive{opacity:.55}.member-row>div:first-child{flex:1;min-width:0}.member-row b{display:block;font:var(--t-label);font-weight:600}.member-row small{display:block;color:var(--text-3);font:var(--t-meta)}.member-tag{color:var(--text-3);font:var(--t-meta);text-transform:capitalize;flex:none}.code-block{padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--sunken);color:var(--text);font-family:var(--mono);font-size:12px;line-height:20px;white-space:pre-wrap;word-break:break-all;margin:0}.recovery-codes b{display:block;margin-bottom:4px;font:var(--t-label);font-weight:600}.recovery-codes p{margin-bottom:8px;color:var(--text-3);font:var(--t-meta)}.shortcuts{display:flex;flex-direction:column;gap:1px}.shortcut{display:flex;align-items:center;gap:16px;height:34px}.shortcut dt{display:flex;gap:4px;width:116px;flex:none}.shortcut dd{color:var(--text-2);font:var(--t-body)}@media(max-width:900px){.drawer{width:100%;border-left:0}.props{grid-template-columns:minmax(0,1fr);gap:0}.props dt{height:26px;margin-top:8px}.prop-button{margin-left:-8px}}.chat{display:grid;grid-template-columns:250px minmax(0,1fr);flex:1;min-height:0}.chat-threads{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:var(--canvas)}.chat-threads-head{display:flex;align-items:center;gap:8px;height:44px;flex:none;padding:0 8px 0 16px;color:var(--text-3);font:var(--t-micro);text-transform:uppercase;letter-spacing:.04em}.chat-threads-head .count{color:var(--text-4);letter-spacing:0}.chat-threads-close{display:none;margin-left:auto}.chat-new{display:flex;align-items:center;gap:8px;height:32px;margin:0 10px 10px;padding:0 10px;border:1px dashed var(--line-strong);border-radius:var(--r-md);color:var(--text-2);font:var(--t-label);transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.chat-new:hover{border-color:var(--accent);color:var(--text)}.chat-thread-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 12px;display:flex;flex-direction:column;gap:1px}.chat-thread{display:flex;align-items:flex-start;gap:9px;padding:8px;border-radius:var(--r-md);color:var(--text-2);text-align:left;transition:background-color var(--fast) var(--ease)}.chat-thread:hover,.chat-thread.active{background:var(--raised)}.chat-thread>span:first-child{display:grid;place-items:center;width:18px;height:18px;margin-top:1px;flex:none;color:var(--text-4)}.chat-thread.active>span:first-child{color:var(--accent)}.chat-thread-text{min-width:0;flex:1}.chat-thread-text b{display:block;color:var(--text);font:var(--t-label);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-thread-text small{display:block;margin-top:2px;color:var(--text-3);font:var(--t-meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-head{display:flex;align-items:center;gap:10px;height:44px;flex:none;padding:0 12px 0 20px;border-bottom:1px solid var(--line)}.chat-threads-toggle{display:none}.chat-head-text{flex:1;min-width:0}.chat-title{display:flex;align-items:center;gap:6px;max-width:100%;color:var(--text);font:var(--t-label);font-weight:600}.chat-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-title svg{color:var(--text-4);opacity:0;transition:opacity var(--fast) var(--ease)}.chat-title:hover svg{opacity:1}.chat-head-text small{display:block;color:var(--text-3);font:var(--t-meta)}.chat-head input{width:100%;border:0;background:transparent;color:var(--text);font:var(--t-label);font-weight:600}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:24px 0 8px}.chat-messages{width:min(100% - 40px,720px);margin:0 auto;display:flex;flex-direction:column;gap:20px}.chat-loading{padding:40px;color:var(--text-3);font:var(--t-body);text-align:center}.msg{display:flex;gap:12px}.msg-icon{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent)}.msg-body{min-width:0;flex:1}.msg-body time{display:block;margin-top:6px;color:var(--text-4);font:var(--t-meta)}.msg-user{justify-content:flex-end}.msg-user .msg-body{flex:0 1 auto;max-width:78%;padding:10px 14px;border-radius:var(--r-lg);border-top-right-radius:var(--r-xs);background:var(--raised);border:1px solid var(--line)}.msg-user p{color:var(--text);font:var(--t-body);line-height:21px;white-space:pre-wrap}.msg-user time{text-align:right}.msg-failed .msg-body{padding:12px 14px;border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:var(--r-md);background:var(--danger-soft)}.msg-failed .msg-icon{background:var(--danger-soft);color:var(--danger)}.msg-failed b{display:block;margin-bottom:3px;color:var(--text);font:var(--t-label);font-weight:600}.msg-failed p{color:var(--text-2);font:var(--t-meta);margin-bottom:10px}.msg-cancelled{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-3);font:var(--t-meta)}.msg-cancelled:before,.msg-cancelled:after{content:"";flex:1;height:1px;background:var(--line)}.working{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--raised)}.working-body{flex:1;min-width:0}.working b{display:block;color:var(--text);font:var(--t-label);font-weight:500}.working span{display:block;margin-top:2px;color:var(--text-3);font:var(--t-meta)}.orbit{display:flex;align-items:center;gap:4px;flex:none}.orbit i,.thinking i{width:5px;height:5px;border-radius:var(--r-full);background:var(--accent);animation:blink 1.3s var(--ease) infinite}.orbit i:nth-child(2),.thinking i:nth-child(2){animation-delay:.16s}.orbit i:nth-child(3),.thinking i:nth-child(3){animation-delay:.32s}@keyframes blink{0%,to{opacity:.25}40%{opacity:1}}.thinking{display:inline-flex;align-items:center;gap:3px}.thinking i{width:4px;height:4px}.chat-welcome{width:min(100% - 40px,560px);margin:6vh auto 0;text-align:center}.chat-welcome-mark{display:inline-grid;place-items:center;width:44px;height:44px;margin-bottom:16px;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--accent)}.chat-welcome h1{font:var(--t-display);letter-spacing:-.021em}.chat-welcome p{margin:8px auto 24px;max-width:46ch;color:var(--text-3);font:var(--t-body);line-height:21px}.chat-suggestions{display:flex;flex-direction:column;gap:6px}.chat-suggestions button{padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--raised);color:var(--text-2);font:var(--t-body);text-align:left;transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.chat-suggestions button:hover{border-color:var(--accent);color:var(--text)}.chat-composer{flex:none;padding:12px 0 16px;background:var(--canvas)}.chat-composer-inner{width:min(100% - 40px,720px);margin:0 auto}.chat-input{display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--raised);transition:border-color var(--fast) var(--ease)}.chat-input:focus-within{border-color:var(--accent)}.chat-input textarea{flex:1;min-width:0;max-height:160px;border:0;background:transparent;color:var(--text);font:var(--t-body);line-height:21px;padding:5px 0;resize:none}.chat-input textarea::placeholder{color:var(--text-3)}.chat-input textarea:disabled{opacity:.6}.chat-send{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:var(--r-md);background:var(--accent-fill);color:var(--accent-on-fill);transition:opacity var(--fast) var(--ease),filter var(--fast) var(--ease)}.chat-send:hover:not(:disabled){filter:brightness(1.06)}.chat-send:disabled{background:var(--overlay);color:var(--text-4)}.chat-stop{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:var(--r-md);border:1px solid var(--line-strong);color:var(--text-2);transition:border-color var(--fast) var(--ease),color var(--fast) var(--ease)}.chat-stop:hover{border-color:var(--danger);color:var(--danger)}.chat-hint{display:block;margin-top:7px;color:var(--text-4);font:var(--t-meta);text-align:center}@media(max-width:900px){.chat{grid-template-columns:minmax(0,1fr)}.chat-threads{position:absolute;inset:0 auto 0 0;z-index:30;width:274px;transform:translate(-100%);transition:transform var(--base-dur) var(--ease);box-shadow:var(--shadow-panel);background:var(--base)}.chat-threads-open{transform:none}.chat-threads-close,.chat-threads-toggle{display:inline-flex}}.auth{display:grid;place-items:center;min-height:100vh;padding:var(--gutter);background:var(--canvas)}.auth-card{width:min(100%,380px)}.auth-brand{display:flex;align-items:center;gap:9px;margin-bottom:26px}.auth-brand .brand-mark{width:26px;height:26px;border-radius:var(--r-md)}.auth-brand .brand-name{font-size:13.5px}.auth-card h1{font:var(--t-display);letter-spacing:-.021em}.auth-card>p{margin:7px 0 26px;color:var(--text-3);font:var(--t-body);line-height:20px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:6px;color:var(--text-2);font:var(--t-label)}.auth-form .input{height:40px}.auth-form .btn{margin-top:4px}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-4);font:var(--t-meta)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--line)}.auth-note{display:block;margin-top:22px;color:var(--text-4);font:var(--t-meta);text-align:center}.auth-card .form-error{display:block;margin-top:14px}.auth-card .btn-quiet{align-self:center}
