:root{--ink:#f4f4f4;--muted:#9a9a9a;--muted-2:#767676;--surface:#121212;--panel:#1a1a1a;--line:#2a2a2a;--line-strong:#3a3a3a;--green:#f4f4f4;--shadow:none;--hover:#242424;--active:#292929;--ctl-h:32px;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:10px;--accent-blue:#9ebbe4;--accent-gold:#d7bd73;--accent-red:#d6908d;--accent-green:#6f9e6f;--amber-line:#b9913a;--amber-fill:#d7bd7324;--fill-active:#332d1d;--shadow-row:0 1px 2px #00000040;color:var(--ink);background:var(--surface);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--surface)}body{min-width:320px;margin:0}#root{min-height:100vh}.app-shell{width:min(1480px,100vw - 40px);margin:0 auto;padding:46px 0 56px}.topbar,.brand-block,.project-toolbar,.project-summary,.goal-toolbar,.goal-meta,.goal-meta span,.subtask-toolbar,.subtask-meta,.done-toggle,.delete-button,.task-detail-toggle,.drag-handle,.detail-add-button,.detail-kind-button,.detail-line-row,.detail-url-field{align-items:center;display:flex}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding-bottom:16px}.brand-block{gap:10px}.brand-text{flex-direction:column;gap:1px;min-width:0;display:flex}.brand-mark{border-radius:var(--r-md);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.brand-mark:hover{color:var(--ink);background:var(--hover)}h1,h2,p{margin:0}h1{color:var(--ink);font-size:22px;font-weight:700;line-height:1.1}.board-count{color:var(--muted);white-space:nowrap;font-size:11px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.topbar-user{color:var(--muted);white-space:nowrap;margin-right:2px;font-size:13px}.seg{border:1px solid var(--line);border-radius:var(--r-md);height:var(--ctl-h);align-items:stretch;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0 12px;font-size:13px;display:inline-flex}.seg button+button{border-left:1px solid var(--line)}.seg button:hover{color:var(--ink);background:var(--hover)}.seg button.is-active{background:var(--active);color:var(--ink);font-weight:650}.seg.seg-sm{width:100%;height:28px}.seg.seg-sm button{flex:1;justify-content:center;padding:0 8px;font-size:12px}.pill-btn{height:var(--ctl-h);border:1px solid var(--line);border-radius:var(--r-md);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.pill-btn:hover{color:var(--ink);background:var(--hover)}.pill-btn.is-on{border-color:var(--line-strong);color:var(--ink)}.hdr-menu{display:inline-flex;position:relative}.hdr-menu-backdrop{z-index:40;position:fixed;inset:0}.hdr-menu-panel{z-index:41;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--panel);gap:4px;width:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.hdr-menu-label{color:var(--muted);letter-spacing:.04em;padding:2px 2px 0;font-size:11px;font-weight:700}.hdr-menu-sep{background:var(--line);height:1px;margin:4px 0}.hdr-menu-item{border-radius:var(--r-sm);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:6px;font-size:13px;display:flex}.hdr-menu-item:hover{background:var(--hover)}.hdr-menu-text{flex:1}.hdr-check{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--surface);border-radius:4px;flex:none;place-items:center;display:grid}.hdr-check.is-on{background:var(--ink);border-color:var(--ink)}.hdr-menu-count{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 6px;font-size:11px}button,input{font:inherit}button{cursor:pointer}input{border:1px solid var(--line);width:100%;min-width:0;min-height:36px;color:var(--ink);background:#1d1d1d;border-radius:9px;outline:none;padding:8px 11px}input::placeholder{color:#8a8a8a}input:focus{border-color:#686868;box-shadow:0 0 0 3px #ffffff0f}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.subtask-add-button{border:1px solid var(--line-strong);min-height:36px;color:var(--ink);background:var(--active);border-radius:9px;justify-content:center;align-items:center;gap:6px;font-weight:650;display:inline-flex}.project-toolbar{color:var(--muted);justify-content:flex-start;gap:0;margin-bottom:6px;font-size:13px;font-weight:650}.project-add-button{width:28px;min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.project-add-button:hover{color:var(--ink);background:0 0}.project-list{gap:28px;display:grid}.focus-breadcrumb{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:10px;display:flex}.crumb-sep{color:#8a8a8a;flex:none}.crumb{max-width:220px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:650;overflow:hidden}button.crumb:hover,.crumb.is-current{color:var(--ink);background:var(--hover)}.complete-button,.row-menu-button{border-radius:var(--r-sm);width:22px;height:22px;min-height:22px;color:var(--muted-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-self:start;align-items:center;padding:0;display:inline-flex}.complete-button:hover,.row-menu-button:hover{color:var(--ink);background:var(--hover)}.row-menu{align-self:start;display:inline-flex;position:relative}.row-menu-backdrop{z-index:49;position:fixed;inset:0}.row-menu-pop{z-index:50;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--panel);gap:2px;width:200px;padding:6px;display:grid;box-shadow:0 12px 32px #00000073}.row-menu-pop-item{border-radius:var(--r-sm);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:7px 8px;font-size:13px;display:flex}.row-menu-pop-item:hover{background:var(--hover)}.row-menu-pop-item.is-danger{color:var(--accent-red)}.row-menu-pop-confirm{gap:8px;padding:4px 4px 2px;display:grid}.row-menu-pop-confirm-text{color:var(--muted);font-size:12px;line-height:1.4}.row-menu-pop-confirm-actions{gap:6px;display:flex}.row-menu-pop-confirm-actions .row-menu-pop-item{border:1px solid var(--line);justify-content:center}.invite{display:inline-flex}.invite-button{color:var(--muted-2);cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;justify-content:center;align-items:center;padding:1px;display:inline-flex}.invite-button:hover{color:var(--accent-green);background:var(--hover)}.invite-pop{z-index:50;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--panel);gap:8px;width:244px;padding:12px;display:grid;box-shadow:0 12px 32px #00000073}.invite-pop-title{color:var(--ink);font-size:13px;font-weight:700}.invite-pop-note{color:var(--muted);font-size:11px;line-height:1.5}.invite-pop-status{color:var(--muted);padding:2px 0;font-size:12px}.invite-pop-status.is-error{color:var(--accent-red)}.invite-retry{color:var(--accent-blue);cursor:pointer;background:0 0;border:0;margin-left:6px;font-size:12px;text-decoration:underline}.invite-pop-actions{gap:6px;display:flex}.invite-primary,.invite-secondary{height:var(--ctl-h);border-radius:var(--r-md);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:650;display:inline-flex}.invite-primary{color:#fff;background:#06c755;border:0}.invite-secondary{border:1px solid var(--line-strong);color:var(--ink);background:0 0}.invite-secondary:hover{background:var(--hover)}.invite-pop-link{color:var(--muted);background:var(--hover);border-radius:var(--r-sm);text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;padding:6px 8px;font-size:11px;overflow:hidden}.invite-advanced{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-self:start;padding:2px 0;font-size:11px;text-decoration:underline}.invite-advanced:hover{color:var(--ink)}.invite-pop-foot{flex-wrap:wrap;gap:12px;display:flex}.access-list{gap:10px;display:grid}.access-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);gap:8px;padding:10px 12px;display:grid}.access-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.access-scope{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.access-role{color:var(--muted);border:1px solid var(--line);border-radius:999px;flex:none;padding:1px 9px;font-size:11px}.access-role.is-editor{color:var(--accent-gold);border-color:var(--amber-line);background:var(--amber-fill)}.access-people{flex-wrap:wrap;gap:6px;display:flex}.access-person{color:var(--ink);background:var(--hover);border-radius:var(--r-sm);align-items:center;gap:4px;padding:3px 8px;font-size:12px;display:inline-flex}.access-pending{color:var(--muted-2);font-size:12px}.access-revoke-trigger{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-self:end;padding:2px 0;font-size:12px;text-decoration:underline}.access-revoke-trigger:hover{color:var(--accent-red)}.access-confirm{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.access-confirm-text{color:var(--muted);margin-right:auto;font-size:12px}.access-confirm-actions{gap:6px;display:flex}.access-revoke{border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);cursor:pointer;background:0 0;padding:4px 12px;font-size:12px}.access-revoke:hover{background:var(--hover)}.access-revoke.is-danger{color:var(--accent-red);border-color:var(--accent-red)}.complete-button.is-active{color:var(--ink)}.project-block.is-completed,.goal-row.is-completed,.project-block.is-hidden,.goal-row.is-hidden{filter:saturate(.6)brightness(.72);transition:filter .12s}.project-block.is-completed:hover,.goal-row.is-completed:hover,.project-block.is-hidden:hover,.goal-row.is-hidden:hover{filter:none}.project-block{gap:8px;display:grid}.project-summary{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(320px,1fr) auto 22px 22px 22px;align-items:start;gap:14px;padding:4px 2px 10px;display:grid}.project-toggle{margin-top:0}.project-title-block{gap:1px;min-width:0;display:grid}.project-title-input,.project-description-input{text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:4px;min-width:0;padding:0;overflow:hidden}.project-title-input{min-height:24px;color:var(--ink);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.3}.project-description-input{min-height:18px;color:var(--muted-2);font-size:12px;line-height:1.35}.project-title-input:focus,.project-description-input:focus{background:var(--hover);box-shadow:none}.count-badge{width:auto;height:22px;color:var(--muted);white-space:nowrap;background:0 0;justify-content:center;place-self:start end;align-items:center;gap:6px;font-size:12px;font-weight:650;display:flex}.count-badge span{color:var(--ink);line-height:1}.count-badge small{color:var(--muted);font-size:12px;font-weight:650;line-height:1}.project-goals{gap:10px;display:grid}.drag-handle{border-radius:var(--r-sm);width:22px;height:22px;min-height:22px;color:var(--muted-2);cursor:grab;touch-action:none;opacity:0;background:0 0;border:0;justify-content:center;align-self:start;padding:0;transition:opacity .12s}.project-summary:hover .drag-handle,.goal-summary:hover .drag-handle,.subtask-row:hover .drag-handle,.drag-handle:focus-visible{opacity:1}.drag-handle:hover{color:var(--ink)}.drag-handle:active{cursor:grabbing}.is-dragging{opacity:.4}.is-drop-target{background:var(--hover)}.icon-button:hover{background:#333}.goal-toolbar{color:var(--muted);justify-content:flex-start;gap:0;margin-bottom:6px;padding-left:14px;font-size:13px;font-weight:650}.goal-add-button{width:28px;min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.goal-add-button:hover{color:var(--ink);background:0 0}.goal-list{border-left:1px solid var(--line);gap:4px;padding-left:12px;display:grid}.goal-row{border-radius:var(--r-md);background:0 0;border:0;overflow:hidden}.goal-summary{grid-template-columns:32px minmax(40px,1fr) minmax(0,70px) minmax(0,144px) minmax(0,68px) 22px 22px 22px;align-items:start;gap:14px;min-height:0;padding:6px 8px;display:grid;position:relative}.icon-button{border-radius:var(--r-md);width:28px;height:22px;color:var(--muted);background:0 0;border:1px solid #0000;flex:0 0 28px;place-items:center;margin-top:0;display:grid}.goal-title-block{gap:2px;min-width:0;display:grid}.goal-title-line,.meta-field{min-width:0}.title-input{border-radius:var(--r-xs);min-width:0;min-height:22px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.title-input:focus,.inline-meta-input:focus,.inline-date-button:focus-visible{background:var(--hover);box-shadow:none}.description-input,.subtask-description-input,.subtask-title-input,.inline-meta-input,.detail-line-input,.detail-kind-button{min-height:19px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:0;line-height:1.35}.description-input{color:var(--muted-2);text-overflow:ellipsis;font-size:12px;overflow:hidden}.description-input:focus,.subtask-title-input:focus,.subtask-description-input:focus,.detail-line-input:focus{background:var(--hover);box-shadow:none}.goal-meta{min-width:0;color:var(--muted);font-size:12px;font-weight:600;display:contents}.goal-meta span,.subtask-meta{white-space:nowrap;gap:6px;min-width:0}.goal-meta span:first-child{text-overflow:ellipsis;overflow:hidden}.goal-meta span{min-height:25px;padding-top:1px}.inline-meta-input,.inline-date-button{text-overflow:ellipsis;width:100%;color:var(--muted);font-size:12px;font-weight:600;overflow:hidden}.inline-date-picker{width:100%;min-width:0;display:block;position:relative}.inline-date-button{border-radius:var(--r-xs);color:#c9c9c9;text-align:left;background:0 0;border:0;min-width:100px;min-height:19px;padding:0 4px;line-height:1.35;display:block}.inline-date-button.is-overdue{color:var(--accent-red)}.inline-date-button.is-today{color:var(--accent-gold)}.native-date-input{opacity:0;pointer-events:none;border:0;width:1px;min-width:1px;height:1px;min-height:1px;padding:0;position:absolute;inset:0}.date-range-field{align-items:center;gap:3px;display:inline-flex}.inline-date-picker.is-compact{width:auto;min-width:0;display:inline-block}.inline-date-button.is-compact{white-space:nowrap;width:auto;min-width:0;padding:1px 4px}.inline-date-button.is-compact.is-empty{color:#8a8a8a;border-radius:5px;font-weight:700}.inline-date-button.is-compact.is-empty:hover{color:var(--ink);background:var(--hover)}.date-range-sep{color:#8a8a8a;flex:none;font-size:11px}.delete-button{color:#757575;background:0 0;border:0;border-radius:4px;justify-content:center;width:22px;min-height:22px;padding:0}.delete-button:hover{color:var(--accent-red);background:0 0}.subtask-panel{background:0 0;padding:2px 8px 8px 48px;position:relative}.subtask-toolbar{color:var(--muted);justify-content:flex-start;gap:0;font-size:12px;font-weight:650;position:absolute;top:20px;left:18px}.subtask-add-button{width:20px;min-height:20px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:0}.subtask-add-button:hover{color:var(--ink);background:0 0}.subtask-list{gap:0;display:grid}.subtask-item{border-top:1px solid var(--line);background:0 0}.subtask-item:first-child{border-top:0}.subtask-row{grid-template-columns:26px 18px minmax(130px,1fr) minmax(240px,360px) 20px 22px;align-items:start;gap:8px;min-height:34px;padding:6px 0;display:grid}.subtask-metabar{flex-wrap:wrap;place-self:start;align-items:center;gap:2px 10px;min-width:0;display:flex}.subtask-metabar .subtask-meta{width:auto;min-width:0}.subtask-metabar .inline-meta-input{width:4.5em;min-width:2.5em}.subtask-metabar .date-range-field{min-width:144px}.subtask-metabar .subtask-pills{margin-top:0}.done-toggle{color:#8a8a8a;background:0 0;border:0;border-radius:0;flex:0 0 24px;justify-content:center;width:24px;height:22px;padding:0}.done-toggle.checked{color:var(--ink);background:0 0}.task-detail-toggle{color:#8c8c8c;background:0 0;border:0;border-radius:4px;justify-content:center;width:18px;height:22px;padding:0}.task-detail-toggle:hover{color:var(--ink);background:0 0}.subtask-copy{gap:1px;min-width:0;display:grid}.subtask-title-input,.subtask-description-input{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.subtask-title-input{color:var(--ink);font-size:14px;font-weight:500;line-height:1.3}.subtask-title-input.is-done{color:#8a8a8a;text-decoration:line-through}.subtask-description-input{color:var(--muted-2);font-size:12px}.subtask-meta{min-width:0;color:var(--muted);text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.subtask-delete-button{width:22px;min-height:22px}.subtask-detail{gap:6px;margin:-1px 28px 8px 38px;display:grid}.subtask-checklist{gap:2px;display:grid}.subtask-check-row{grid-template-columns:22px minmax(0,1fr) 18px 20px;align-items:center;gap:8px;min-height:28px;display:grid}.subtask-check-input{min-width:0;color:var(--ink);background:0 0;border:0;border-radius:4px;padding:2px 4px;font-size:13px}.subtask-check-input:focus{background:var(--hover);box-shadow:none}.subtask-check-input.is-done{color:var(--muted);text-decoration:line-through}.subtask-progress{width:fit-content;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;margin-top:2px;padding:1px 6px;font-size:11px;display:inline-flex}.subtask-progress:hover{color:var(--ink);background:var(--hover)}.subtask-pills{flex-wrap:wrap;align-items:center;gap:6px;margin-top:3px;display:flex}.subtask-pills .subtask-progress{margin-top:0}.state-pill{border:1px solid var(--line);color:gray;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;width:fit-content;padding:1px 9px;font-size:11px;line-height:1.7;display:inline-flex}.state-pill:hover{color:var(--ink);border-color:var(--line-strong)}.state-pill .state-dot{opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px}.state-pill.is-active{border-color:var(--amber-line);background:var(--amber-fill);color:var(--accent-gold)}.state-pill.is-active .state-dot{opacity:1}.subtask-pills .state-pill:not(.is-active),.mt-row .state-pill:not(.is-active){opacity:0;transition:opacity .12s}.subtask-item:hover .subtask-pills .state-pill:not(.is-active),.subtask-pills .state-pill:not(.is-active):focus-visible,.mt-row:hover .state-pill:not(.is-active),.mt-row .state-pill:not(.is-active):focus-visible{opacity:1}@media (hover:none){.subtask-pills .state-pill:not(.is-active),.mt-row .state-pill:not(.is-active){opacity:.5}}.detail-notify-btn{border-radius:var(--r-xs);width:24px;min-height:22px;color:var(--muted-2);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:6px;padding:0;display:inline-flex}.detail-notify-btn:hover{color:var(--ink)}.detail-notify-btn.is-on{color:var(--accent-green)}.detail-line-list{gap:0;display:grid}.detail-line-row{border-top:1px solid #ffffff0f;grid-template-columns:22px minmax(0,1fr) 18px 20px;align-items:center;gap:8px;min-height:28px;display:grid}.detail-line-row.is-link{grid-template-columns:22px clamp(150px,22vw,260px) minmax(0,1fr) 18px 20px}.detail-line-row:first-child{border-top:0}.detail-kind-button,.detail-add-button{background:0 0;border:0;border-radius:4px;justify-content:center;padding:0}.detail-kind-button{color:#8a8a8a;width:22px;min-height:24px}.detail-kind-button.is-link,.detail-add-button.is-link{color:var(--accent-blue)}.detail-kind-button.is-issue,.detail-add-button.is-issue{color:var(--accent-red)}.detail-kind-button.is-idea,.detail-add-button.is-idea{color:var(--accent-gold)}.detail-kind-button.is-subtask,.detail-add-button.is-subtask{color:#8fb89a}.detail-kind-button:hover,.detail-add-button:hover{color:var(--ink);background:0 0}.detail-line-input{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:12px;line-height:1.35;overflow:hidden}.detail-link-label-input{color:var(--ink)}.detail-url-field{min-width:0}.detail-url-input{color:var(--accent-blue)}.detail-delete-button{width:20px;min-height:20px}.detail-add-strip{gap:4px;min-height:24px;display:flex}.detail-add-button{gap:1px;width:30px;min-height:22px}.empty-note{color:var(--muted);padding:8px 0;font-size:13px}@media (width<=920px){.app-shell{width:min(100vw - 24px,1480px);padding-top:28px}.topbar{flex-direction:column;align-items:flex-start}.board-count{white-space:normal}.goal-summary{padding:10px 12px}.project-summary{grid-template-columns:30px minmax(220px,1fr) auto 22px 22px 22px;gap:10px}.subtask-panel{padding-left:52px}.subtask-toolbar{left:26px}}@media (width<=640px){h1{font-size:23px}.view-switcher button{padding:0 10px}.view-switcher button:not(.is-active) span{display:none}.project-summary{grid-template-columns:30px minmax(0,1fr) auto 22px 22px 22px}.project-summary>.count-badge{grid-area:1/3}.project-summary>.complete-button{grid-area:1/4}.project-summary>.row-menu{grid-area:1/5}.project-summary>.drag-handle{grid-area:1/6}.subtask-panel{padding-left:12px}.subtask-toolbar{margin-bottom:3px;position:static}.subtask-row{grid-template-columns:24px 18px minmax(0,1fr) 22px;row-gap:2px}.subtask-row>.done-toggle{grid-area:1/1}.subtask-row>.task-detail-toggle{grid-area:1/2}.subtask-row>.subtask-copy{grid-area:1/3}.subtask-row>.subtask-delete-button{grid-area:1/4}.subtask-row>.drag-handle{display:none}.subtask-row>.subtask-metabar{grid-area:2/3/auto/-1}.subtask-detail{margin-left:34px;margin-right:22px}}@media (width<=430px){.goal-summary{grid-template-columns:30px minmax(0,1fr) auto 22px 22px 22px}.goal-meta{flex-wrap:wrap;grid-column:2/-1;display:flex}.goal-summary>.count-badge{grid-area:1/3}.goal-summary>.complete-button{grid-area:1/4}.goal-summary>.row-menu{grid-area:1/5}.goal-summary>.drag-handle{grid-area:1/6}}.calendar{margin-top:8px}.cal-toolbar{align-items:center;gap:10px;margin-bottom:12px;display:flex}.cal-nav{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.cal-nav:hover{color:var(--ink);background:var(--hover)}.cal-month{text-align:center;min-width:9.5em;margin:0;font-size:17px;font-weight:700}.cal-today{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;margin-left:auto;padding:5px 12px;font-size:13px}.cal-today:hover{color:var(--ink);background:var(--hover)}.cal-weekdays{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px;display:grid}.cal-wd{text-align:center;color:var(--muted);padding:2px 0;font-size:11px}.cal-wd.is-sun{color:var(--accent-red)}.cal-wd.is-sat{color:var(--accent-blue)}.cal-grid{gap:4px;display:grid}.cal-week{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-cell{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-direction:column;gap:3px;min-height:92px;padding:4px;display:flex;overflow:hidden}.cal-cell.is-other-month{opacity:.55;background:0 0}.cal-cell.is-drop{border-color:var(--line-strong);background:#2a2a2a}.cal-daynum{color:var(--muted);text-align:center;border-radius:999px;align-self:flex-start;min-width:18px;font-size:11px;line-height:1.4}.cal-daynum.is-today{background:var(--ink);color:#111;font-weight:700}.cal-items{flex-direction:column;gap:2px;min-height:0;display:flex}.cal-chip{color:var(--ink);border-left:2px solid var(--accent-blue);touch-action:none;-webkit-user-select:none;user-select:none;background:#2b3340;border-radius:5px;align-items:center;gap:3px;padding:1px 4px;font-size:11px;line-height:1.5;display:flex}.cal-chip.is-goal{border-left-color:var(--accent-gold);background:#3a3326}.cal-chip.is-active{background:var(--fill-active);border-left-color:var(--accent-gold)}.cal-chip:focus-visible{outline:2px solid var(--accent-blue);outline-offset:1px}.cal-chip.is-draggable{cursor:grab}.cal-chip.is-dragging{opacity:.5}.cal-chip.is-done .cal-chip-label{color:var(--muted);text-decoration:line-through}.cal-chip-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cal-chip-check{color:#8c8c8c;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.cal-chip-check.is-done{color:var(--ink)}@media (width<=640px){.cal-cell{border-radius:6px;min-height:64px;padding:2px}.cal-chip{padding:1px 3px;font-size:10px}.cal-month{min-width:8em;font-size:15px}}.cal-filter{margin-bottom:10px}.cal-filter-toggle{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;display:inline-flex}.cal-filter-toggle:hover{color:var(--ink);background:var(--hover)}.cal-filter-count{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 6px;font-size:11px}.cal-filter-panel{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:1px;max-height:320px;margin-top:6px;padding:8px;display:grid;overflow:auto}.cal-filter-row{align-items:center;gap:6px;padding:3px 2px;display:flex}.cal-filter-row.is-goal{padding-left:26px}.cal-filter-check{color:#6f6f6f;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.cal-filter-check.is-on{color:var(--ink)}.cal-filter-check.is-partial{color:#8a8a8a;opacity:.7}.cal-filter-expand{width:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.cal-filter-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.cal-filter-row.is-goal .cal-filter-name{color:var(--muted);font-size:12px}.completed{gap:16px;margin-top:8px;display:grid}.cmp-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cmp-title{margin:0;font-size:17px;font-weight:700}.cmp-filter{gap:6px;display:grid}.cmp-filter-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cmp-filter-reset{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px;text-decoration:underline}.cmp-filter-reset:hover{color:var(--ink)}.cmp-filter-panel{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:12px;padding:10px;display:grid}.cmp-filter-section{gap:6px;display:grid}.cmp-filter-heading{color:var(--muted);letter-spacing:.04em;font-size:11px;font-weight:700}.cmp-chips{flex-wrap:wrap;gap:6px;display:flex}.cmp-chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:12px}.cmp-chip.is-on{border-color:var(--line-strong);background:var(--active);color:var(--ink)}.cmp-filter-section .cal-filter-panel{background:0 0;border:0;max-height:260px;padding:0}.view-empty{color:var(--muted);padding:28px 0;font-size:14px}.cmp-group{gap:2px;display:grid}.cmp-group-header{border-bottom:1px solid var(--line);align-items:center;gap:8px;margin-bottom:4px;padding:4px 2px;display:flex}.cmp-group-label{color:var(--ink);font-size:13px;font-weight:700}.cmp-count{color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 7px;font-size:11px}.cmp-row{align-items:center;gap:8px;padding:3px 2px;display:flex}.cmp-check{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.cmp-check:hover{background:var(--hover)}.cmp-check.is-readonly{color:#6f6f6f;cursor:default}.cmp-item{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;flex-wrap:wrap;flex:1;align-items:baseline;gap:8px;padding:3px 6px;display:flex}.cmp-item:hover{background:var(--hover)}.cmp-item-title{color:var(--muted);font-size:14px;text-decoration:line-through}.cmp-item-ctx{color:#6f6f6f;font-size:11px}.mytasks{gap:16px;margin-top:8px;display:grid}.cmp-group-label.is-overdue{color:var(--accent-red)}.cmp-group-label.is-today{color:var(--accent-gold)}.mt-row{align-items:center;gap:8px;padding:3px 2px;display:flex}.mt-check{color:var(--muted-2);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.mt-check:hover{background:var(--hover);color:var(--accent-green)}.mt-check.is-readonly{color:#5a5a5a;cursor:default}.mt-main{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:4px 6px;display:flex}.mt-title,.mt-ctx{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mt-main:hover{background:var(--hover)}.mt-title{color:var(--ink);font-size:14px}.mt-ctx{color:#8a8a8a;font-size:11px}.mt-due{color:var(--muted);white-space:nowrap;flex:none;font-size:12px}.mt-due.is-overdue{color:var(--accent-red)}.mt-due.is-today{color:var(--accent-gold)}.mine-seg{width:auto}.dg-dot{background:var(--muted-2);border-radius:50%;flex:none;width:8px;height:8px}.dg-dot.is-in_progress{background:var(--accent-gold)}.dg-dot.is-review{background:var(--accent-blue)}.dg-dot.is-todo{background:var(--muted-2)}.dg-dot.is-done{background:var(--accent-green)}.dg-ctx{align-items:center;gap:4px;display:inline-flex}.dg-label.is-in_progress{color:var(--accent-gold)}.dg-label.is-review{color:var(--accent-blue)}.dg-label.is-done{color:var(--muted)}.cmp-group.is-done-group{opacity:.55}.gantt{gap:10px;margin-top:8px;display:grid}.gantt-toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.gantt-hint{color:var(--muted);font-size:11px}.gantt-scroll{border:1px solid var(--line);background:var(--surface);border-radius:10px;max-height:70vh;position:relative;overflow:auto}.gantt-grid{position:relative}.gantt-head{z-index:3;background:var(--surface);border-bottom:1px solid var(--line-strong);display:flex;position:sticky;top:0}.gantt-corner{z-index:4;background:var(--surface);border-right:1px solid var(--line-strong);flex:none;position:sticky;left:0}.gantt-axis{flex-direction:column;flex:none;display:flex}.gantt-axis-months{flex:1;position:relative}.gantt-month{color:var(--ink);border-left:1px solid var(--line-strong);white-space:nowrap;align-items:center;padding-left:6px;font-size:11px;font-weight:650;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.gantt-axis-sub{border-top:1px solid var(--line);height:18px;position:relative}.gantt-tick{color:var(--muted);border-left:1px solid var(--line);justify-content:center;align-items:center;font-size:10px;display:flex;position:absolute;top:0;bottom:0}.gantt-tick.is-weekend{color:#c98a8a;background:#ffffff05}.gantt-row{box-sizing:border-box;display:flex}.gantt-label{z-index:2;background:var(--surface);border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line);box-sizing:border-box;flex:none;align-items:center;gap:4px;padding:0 8px;display:flex;position:sticky;left:0}.gantt-label.is-project{font-weight:700}.gantt-label.is-goal{padding-left:18px}.gantt-label.is-task{padding-left:38px}.gantt-label-text{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;overflow:hidden}.gantt-label.is-task .gantt-label-text{color:var(--muted);font-size:12px}.gantt-label-text.is-done{color:#6f6f6f;text-decoration:line-through}.gantt-twisty{width:16px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.gantt-track{border-bottom:1px solid var(--line);flex:none;position:relative}.gantt-today{z-index:1;pointer-events:none;background:#d77;width:1px;position:absolute;top:0;bottom:0}.gantt-rollup{pointer-events:none;border-radius:3px;height:6px;position:absolute;top:50%;transform:translateY(-50%)}.gantt-rollup.is-project{background:#4a5568;height:8px}.gantt-rollup.is-goal{background:#5a6b85}.gantt-bar{border-left:2px solid var(--accent-blue);touch-action:none;-webkit-user-select:none;user-select:none;z-index:1;background:#2b3340;border-radius:5px;align-items:center;height:16px;display:flex;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.gantt-bar.is-editable{cursor:grab}.gantt-bar:focus-visible,.gantt-ms:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.gantt-bar.is-dragging{opacity:.75;cursor:grabbing}.gantt-bar.is-done{border-left-color:var(--accent-green);background:#232a23}.gantt-bar.is-active{background:var(--fill-active);border-left-color:var(--accent-gold)}.gantt-bar-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);pointer-events:none;flex:1;padding:0 6px;font-size:11px;overflow:hidden}.gantt-bar.is-done .gantt-bar-label{color:var(--muted);text-decoration:line-through}.gantt-handle{cursor:ew-resize;z-index:2;touch-action:none;width:7px;position:absolute;top:0;bottom:0}.gantt-handle.is-left{left:0}.gantt-handle.is-right{right:0}.gantt-ms{background:var(--accent-blue);touch-action:none;-webkit-user-select:none;user-select:none;z-index:1;border-radius:2px;width:12px;height:12px;margin-left:-6px;position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.gantt-ms.is-editable{cursor:grab}.gantt-ms.is-dragging{opacity:.75}.gantt-ms.is-done{background:var(--accent-green)}.gantt-ms.is-active{background:var(--accent-gold)}.gantt-nodate{color:#8a8a8a;font-size:10px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}@media (hover:none){.drag-handle{opacity:.55}}@media (pointer:coarse){.done-toggle,.task-detail-toggle,.complete-button,.row-menu-button,.drag-handle,.subtask-delete-button,.delete-button{position:relative}.done-toggle:before,.task-detail-toggle:before,.complete-button:before,.row-menu-button:before,.drag-handle:before,.subtask-delete-button:before,.delete-button:before{content:"";position:absolute;inset:-4px}.detail-add-strip{gap:8px}.detail-add-button{width:34px;min-height:34px}.subtask-check-row{min-height:36px}.gantt-handle{width:16px}}
