@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--bg:#f5f2eb;--bg-grid:linear-gradient(120deg,#0b2f4f0f,#a7753c14);--panel:#fffaf2;--ink:#1d2128;--subtle:#5d6779;--line:#d5d8de;--line-strong:#718198;--accent:#0b4f79;--accent-muted:#e3edf5;--status-todo:#f8b95f;--status-progress:#6bb6dd;--status-review:#9c8fe0;--status-done:#74b581;--status-omit:#aeb5c0;--deadline-line:#d83a3a;--deadline-bg:#fff3f3;--timeline-hover-column:#1c5b8c1f;--timeline-today-column:#4c7c3026;--timeline-past-column:#6c738133;--surface:#fff;--text-on-accent:#f8fbff;--danger-border:#b84a4a;--danger-text:#7b2020;--danger-bg:#fdecec;--error-border:#cc6b6b;--error-bg:#fee;--error-text:#932d2d;--modal-backdrop:#0e141c75;--shadow-strong:#0000003d;--shadow-soft:#0003;--shadow-subtle:#00000026;--scroll-track:#d7dfeb;--scroll-thumb-start:#93a0b4;--scroll-thumb-end:#6f7f96;--scroll-thumb-hover-start:#8595ab;--scroll-thumb-hover-end:#5f6f87;--weekday-sun:#cc3a3a;--weekday-sat:#2f66d1;--deadline-label-ink:#8d1f1f;--lane-mine-bg:#dfeeff;--lane-mine-accent:#2b67d0;--lane-label-ink:#2c3340;--lane-mine-overlay:#215fd31a;--task-card-ink:#10212d;--task-card-border:#0003;--task-card-shadow:0 1px 2px #0000001f;--task-focus:#1d5fcf;--task-focus-ring:#1d5fcf33;--task-focus-shadow:#1d5fcf47;--task-link:#1f5ed6;--task-link-hover:#1748a6;--resize-handle:#0003;--loading-bg:#132734;--loading-ink:#fff;--input-bg:#fff;--input-ink:var(--ink);--unassigned-card-bg:color-mix(in oklab,#fff 86%,var(--accent-muted)14%);--unassigned-active-border:#1d5fcf;--unassigned-active-ring:#1d5fcf47;--mix-neutral:#fff}@supports (color:lab(0% 0 0)){:root{--task-card-border:lab(0% 0 0/.2)}}:root[data-theme=dark]{--bg:#121820;--bg-grid:linear-gradient(120deg,#548bbb2e,#9a764729);--panel:#1f2834;--ink:#e7edf7;--subtle:#adb9cc;--line:#3b4658;--line-strong:#7a8ba4;--accent:#7bb7e7;--accent-muted:#2a394b;--status-review:#7468ba;--status-omit:#7f8798;--deadline-line:#f18787;--deadline-bg:#4c2f31;--timeline-hover-column:#7bb7e738;--timeline-today-column:#7abe7833;--timeline-past-column:#060a1061;--surface:#141b24;--text-on-accent:#101a25;--danger-border:#e69595;--danger-text:#ffd7d7;--danger-bg:#4b2d31;--error-border:#e69595;--error-bg:#4b2d31;--error-text:#ffd7d7;--modal-backdrop:#05080cb3;--shadow-strong:#00000080;--shadow-soft:#00000073;--shadow-subtle:#0000005c;--scroll-track:#2b3646;--scroll-thumb-start:#647896;--scroll-thumb-end:#4f617c;--scroll-thumb-hover-start:#788ca9;--scroll-thumb-hover-end:#5d708c;--weekday-sun:#ff9191;--weekday-sat:#95b8ff;--deadline-label-ink:#ffd7d7;--lane-mine-bg:#293c50;--lane-mine-accent:#82b3e9;--lane-label-ink:#dbe5f4;--lane-mine-overlay:#5d95e933;--task-card-border:#ffffff3d;--task-card-shadow:0 1px 3px #0006;--task-focus:#93bbff;--task-focus-ring:#93bbff52;--task-focus-shadow:#93bbff66;--task-link:#8db8ff;--task-link-hover:#b0ceff;--resize-handle:#fff3;--loading-bg:#dde9fb;--loading-ink:#14253a;--input-bg:#161e29;--input-ink:#e7edf7;--unassigned-card-bg:color-mix(in oklab,#111924 82%,var(--accent-muted)18%);--unassigned-active-border:#93bbff;--unassigned-active-ring:#93bbff5c;--mix-neutral:#000}@supports (color:lab(0% 0 0)){:root[data-theme=dark]{--task-card-border:lab(100% -.0000298023 .0000119209/.24)}}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:var(--bg-grid),var(--bg);color:var(--ink);font-family:var(--font-geist-sans),"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}.appRoot{flex-direction:column;gap:12px;height:100vh;min-height:100vh;padding:20px;display:flex}.appFooter{justify-content:flex-end;align-items:center;padding:0 4px 2px;display:flex}.footerControls{align-items:center;gap:10px;display:inline-flex}.timelineZoomControl{border:1px solid var(--line-strong);background:color-mix(in oklab,var(--panel)86%,var(--mix-neutral)14%);color:var(--ink);border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:6px 10px;display:inline-flex}.timelineZoomLabel{color:var(--subtle);font-size:12px}.timelineZoomSelect{border:1px solid var(--line);background:var(--input-bg);color:var(--input-ink);cursor:pointer;border-radius:999px;min-width:78px;height:24px;padding:2px 8px;font-family:inherit;font-size:12px;font-weight:600}.timelineZoomSelect:focus-visible{outline:2px solid var(--task-focus);outline-offset:2px}.themeToggle{border:1px solid var(--line-strong);background:color-mix(in oklab,var(--panel)86%,var(--mix-neutral)14%);color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:6px 10px;transition:background .16s;display:inline-flex}.themeToggle:hover{background:color-mix(in oklab,var(--panel)66%,var(--accent-muted)34%)}.themeToggle:focus-visible{outline:2px solid var(--task-focus);outline-offset:2px}.themeToggleLabel{color:var(--subtle);font-size:12px}.themeToggleTrack{background:color-mix(in oklab,var(--line-strong)55%,var(--mix-neutral)45%);border-radius:999px;align-items:center;width:40px;height:22px;padding:2px;display:inline-flex}.themeToggleThumb{background:var(--surface);width:18px;height:18px;box-shadow:0 1px 2px var(--shadow-subtle);border-radius:999px;transition:transform .18s;transform:translate(0)}.themeToggleDark .themeToggleThumb{transform:translate(18px)}.themeToggleDark .themeToggleTrack{background:color-mix(in oklab,var(--accent)64%,var(--mix-neutral)36%)}.themeToggleState{font-size:12px;font-weight:600}.toolbar{background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.toolbarRow{flex-wrap:wrap;align-items:center;gap:12px;width:100%;display:flex}.toolbarGroup{align-items:center;gap:8px;display:flex}.toolbarIdentity{margin-left:auto}.viewerBadge{border:1px solid var(--line);background:color-mix(in oklab,var(--panel)80%,var(--accent-muted)20%);color:var(--subtle);border-radius:999px;align-items:center;padding:6px 10px;font-size:12px;display:inline-flex}.projectLabel{color:var(--subtle);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.projectSelect{border:1px solid var(--line-strong);background:var(--input-bg);color:var(--input-ink);border-radius:8px;min-width:200px;padding:6px 10px}.projectSelect:disabled{opacity:.7}.chip{border:1px solid var(--line-strong);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px}.chip:hover{background:color-mix(in oklab,var(--panel)70%,var(--accent-muted)30%)}.chip:disabled{opacity:.6;cursor:default}.chipActive{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.chipDanger{border-color:var(--danger-border);color:var(--danger-text)}.chipDanger:hover{background:var(--danger-bg)}.filterBlock{align-items:center;gap:10px;display:flex}.filterLabel{color:var(--subtle);letter-spacing:.04em;text-transform:uppercase;font-size:12px}.statusSet{flex-wrap:wrap;gap:8px;display:flex}.statusOption{align-items:center;gap:6px;font-size:13px;display:inline-flex}.searchInput{border:1px solid var(--line-strong);background:var(--input-bg);color:var(--input-ink);border-radius:8px;min-width:220px;padding:6px 10px}.windowLabel{color:var(--subtle);margin-left:0;font-size:13px}.toolbarWindowLabel{white-space:nowrap}.windowStartControl{align-items:center;gap:8px;display:inline-flex;position:relative}.windowStartDate{font-variant-numeric:tabular-nums}.windowCalendarButton{border:1px solid var(--line-strong);background:var(--input-bg);width:28px;height:28px;color:var(--input-ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.windowCalendarButton:hover{background:color-mix(in oklab,var(--panel)72%,var(--accent-muted)28%)}.windowCalendarButton:focus-visible{outline:2px solid var(--task-focus);outline-offset:2px}.windowCalendarButton svg{fill:currentColor;width:15px;height:15px}.windowCalendarInputHidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:0 auto auto 0}.deadlinePanel{background:color-mix(in oklab,var(--panel)92%,var(--mix-neutral)8%);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:12px;display:flex}.modalOverlay{z-index:80;background:var(--modal-backdrop);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.deadlineModal{width:min(920px,100vw - 24px);max-height:calc(100vh - 40px);box-shadow:0 12px 32px var(--shadow-strong);overflow:auto}.filterModal{width:min(540px,100vw - 24px)}.confirmModal{width:min(460px,100vw - 24px)}.confirmText{color:var(--ink);margin:0;font-size:14px}.deadlinePanelHeader{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.deadlineModalClose{margin-left:auto}.deadlinePanelTitle{margin:0;font-size:14px}.deadlinePanelSub{color:var(--subtle);font-size:12px}.deadlineCreateRow,.deadlineRow{grid-template-columns:minmax(140px,1fr) 160px auto auto;align-items:center;gap:8px;display:grid}.deadlineInput{border:1px solid var(--line-strong);background:var(--input-bg);color:var(--input-ink);border-radius:8px;padding:6px 10px}.deadlineList{flex-direction:column;gap:8px;display:flex}.deadlineEmpty{color:var(--subtle);margin:0;font-size:13px}.filterModalBody{flex-direction:column;gap:14px;display:flex}.filterBlockColumn{flex-direction:column;align-items:flex-start}.errorText{border:1px solid var(--error-border);background:var(--error-bg);color:var(--error-text);border-radius:10px;padding:8px 10px;font-size:14px}.toastViewport{z-index:120;pointer-events:none;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--error-border);background:var(--error-bg);min-width:min(680px,100vw - 24px);max-width:min(680px,100vw - 24px);color:var(--error-text);box-shadow:0 8px 20px var(--shadow-soft);pointer-events:auto;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.toastError{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}.toastClose{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 4px;font-size:18px;line-height:1}.workspace{flex:1;grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;display:grid}.timelineShell{min-width:0;min-height:0;display:flex;position:relative}.timeline{background:color-mix(in oklab,var(--panel)92%,var(--mix-neutral)8%);border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:color-mix(in oklab,var(--scroll-thumb-start)54%,var(--scroll-thumb-end)46%)color-mix(in oklab,var(--panel)82%,var(--scroll-track)18%);border-radius:14px;flex:1;min-height:0;position:relative;overflow:auto}.timelineControls{z-index:30;pointer-events:none;position:absolute;inset:auto 0 12px}.timeline::-webkit-scrollbar{width:12px;height:12px}.timeline::-webkit-scrollbar-track{background:color-mix(in oklab,var(--panel)82%,var(--scroll-track)18%);border-radius:999px}.timeline::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scroll-thumb-start),var(--scroll-thumb-end));border:2px solid color-mix(in oklab,var(--panel)82%,var(--scroll-track)18%);border-radius:999px}.timeline::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--scroll-thumb-hover-start),var(--scroll-thumb-hover-end))}.timeline::-webkit-scrollbar-corner{background:0 0}.timelineHeader{z-index:20;background:color-mix(in oklab,var(--panel)98%,var(--mix-neutral)2%);border-bottom:1px solid var(--line);min-height:46px;display:flex;position:sticky;top:0}.laneLabelHeader{z-index:30;border-right:1px solid var(--line);background:color-mix(in oklab,var(--panel)96%,var(--mix-neutral)4%);justify-content:center;align-items:center;width:184px;min-width:184px;padding:10px 12px;display:flex;position:sticky;left:0}.modeSwitch{width:100%;display:flex}.modeToggle{border:1px solid var(--line-strong);background:color-mix(in oklab,var(--panel)78%,var(--mix-neutral)22%);width:100%;min-width:140px;color:var(--ink);cursor:pointer;border-radius:999px;grid-template-columns:1fr 1fr;align-items:center;padding:2px;display:grid;position:relative}.modeToggle:focus-visible{outline:2px solid var(--task-focus);outline-offset:2px}.modeToggleLabel{z-index:1;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:5px 8px;font-size:11px;font-weight:700;transition:color .18s;position:relative}.modeToggleThumb{background:var(--accent);width:calc(50% - 2px);box-shadow:0 1px 2px var(--shadow-subtle);border-radius:999px;transition:transform .18s;position:absolute;top:2px;bottom:2px;left:2px}.modeToggleSection .modeToggleThumb{transform:translate(100%)}.modeToggle .modeToggleLabel{color:color-mix(in oklab,var(--ink)70%,var(--subtle)30%)}.modeToggle:not(.modeToggleSection) .modeToggleLabel:first-child,.modeToggle.modeToggleSection .modeToggleLabel:nth-child(2){color:var(--text-on-accent)}.modeChip{letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;font-size:11px}.dayHeader{display:flex;position:relative}.dayCell{border-left:1px solid var(--line);height:46px;color:var(--subtle);z-index:1;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex;position:relative}.dayCellDate{font-size:11px;line-height:1}.dayCellWeekday{opacity:.82;font-size:9px;line-height:1}.dayCellWeekdaySun{color:var(--weekday-sun);opacity:1}.dayCellWeekdaySat{color:var(--weekday-sat);opacity:1}.dayCellWeekdayHoliday{color:var(--weekday-sun);opacity:1}.dayCellHoliday{max-width:100%;color:var(--weekday-sun);white-space:nowrap;text-overflow:ellipsis;padding:0 3px;font-size:8px;line-height:1.1;overflow:hidden}.dayCellWeek{border-left:2px solid var(--line-strong);background:color-mix(in oklab,var(--accent-muted)42%,transparent 58%)}.timelineBody{position:relative}.dayColumnOverlay{pointer-events:none;z-index:0;position:absolute;top:0;bottom:0}.dayColumnToday{background:var(--timeline-today-column)}.dayColumnPast{background:var(--timeline-past-column)}.dayColumnHover{background:var(--timeline-hover-column)}.timelineColumnOverlay{pointer-events:none;z-index:1;position:absolute;top:0;bottom:0}.timelineColumnToday{background:var(--timeline-today-column)}.timelineColumnPast{background:var(--timeline-past-column);z-index:0}.timelineColumnHover{background:var(--timeline-hover-column)}.deadlineOverlay{pointer-events:none;z-index:24;position:absolute;top:0;bottom:0}.deadlineMarker{border-left:2px solid var(--deadline-line);position:absolute;top:0;bottom:0}.deadlineLabelInline{color:var(--deadline-label-ink);background:var(--deadline-bg);border:1px solid color-mix(in oklab,var(--deadline-line)30%,var(--mix-neutral)70%);white-space:nowrap;border-radius:999px;padding:2px 6px;font-size:11px;font-weight:600;position:absolute;top:-18px;left:4px}.laneRow{border-bottom:1px solid var(--line);display:flex}.laneRowMine .laneLabel{background:color-mix(in oklab,var(--lane-mine-bg)42%,var(--panel)58%);box-shadow:inset 3px 0 0 var(--lane-mine-accent)}.laneLabel{z-index:15;border-right:1px solid var(--line);background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);width:184px;min-width:184px;color:var(--lane-label-ink);padding:10px 12px;font-size:14px;font-weight:600;position:sticky;left:0}.laneLabelFiller{color:#0000}.laneTrack{position:relative}.laneTrackFiller{cursor:default}.laneRowMine .laneTrack:before{content:"";background:var(--lane-mine-overlay);pointer-events:none;z-index:0;position:absolute;inset:0}.laneGrid{display:flex;position:absolute;inset:0}.gridLine{border-left:1px solid var(--line);flex:none}.gridLineWeek{border-left:2px solid var(--line-strong)}.taskCard{height:26px;color:var(--task-card-ink);cursor:grab;border:1px solid var(--task-card-border);box-shadow:var(--task-card-shadow);-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex;position:absolute}.taskCard[data-task-title]:after{content:attr(data-task-title);border:1px solid var(--line-strong);background:color-mix(in oklab,var(--surface)90%,var(--panel)10%);max-width:min(440px,72vw);color:var(--ink);white-space:normal;word-break:break-word;box-shadow:0 6px 16px var(--shadow-soft);pointer-events:none;opacity:0;visibility:hidden;z-index:60;border-radius:8px;padding:6px 8px;font-size:12px;font-weight:500;line-height:1.35;transition:opacity 70ms linear,transform 70ms linear,visibility 0s linear 70ms;position:absolute;bottom:calc(100% + 6px);left:6px;transform:translateY(2px)}.taskCard[data-task-title]:hover:after,.taskCard[data-task-title]:focus-visible:after{opacity:1;visibility:visible;transition-delay:0s;transform:translateY(0)}.taskCard:active{cursor:grabbing}.taskCardEditing{z-index:6;outline:2px solid var(--task-focus);outline-offset:1px;box-shadow:0 0 0 2px var(--task-focus-ring),0 4px 14px var(--task-focus-shadow);animation:1.2s ease-in-out infinite alternate taskCardEditingPulse}.taskCardPlaceholder{opacity:.72;pointer-events:none;z-index:2;border-style:dashed}.taskCardDropPreview{opacity:.58;pointer-events:none;z-index:3;border-style:dashed}.taskTitle{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:0 6px 0 0;overflow:hidden}.taskSubtaskProgress{color:#1a202ce0;background:#ffffffa7;background:lab(100% -.0000298023 .0000119209/.655686);border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.2}.taskSubtaskProgressInline{margin-right:2px}.taskTitleLink{color:var(--task-link);text-underline-offset:2px;text-decoration:underline}.taskTitleLink:visited{color:var(--task-link)}.taskTitleLink:hover{color:var(--task-link-hover)}.taskStatusIcon{border-radius:3px;flex:0 0 12px;width:12px;height:12px;margin-left:2px;position:relative}.taskOwnerAvatar{text-transform:uppercase;border:1px solid #0000;border-radius:50%;flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:relative;overflow:hidden}.taskOwnerAvatarImage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.taskStatusIconTodo{background:#f4cb8b;border:1px solid #c8882e}.taskStatusIconProgress{background:#d9edf8;border:1px solid #2f84b0}.taskStatusIconProgress:after{content:"";border:1.5px solid #2f84b0;border-color:#2f84b0 #2f84b0 #9ecae1 #9ecae1;border-radius:50%;animation:.95s linear infinite taskStatusSpinner;position:absolute;inset:2px}.taskStatusIconReview{background:#e6e1ff;border:1px solid #6b5fb0}.taskStatusIconReview:after{content:"";background:#6b5fb0;border-radius:50%;width:7px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.taskStatusIconDone{background:#7ec69e;border:1px solid #3f8665}.taskStatusIconDone:after{content:"";transform-origin:50%;border-bottom:2px solid #f6fff9;border-right:2px solid #f6fff9;width:4px;height:7px;position:absolute;top:50%;left:50%;transform:translate(-50%,-58%)rotate(45deg)}.taskStatusIconOmit{background:#c5cbd4;border:1px solid #778090}.taskStatusIconOmit:after{content:"";transform-origin:50%;background:#4a5466;border-radius:999px;width:7px;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-25deg)}.taskStatusIconWarning{background:#ffd688;border:1px solid #c17815}.taskStatusIconWarning:after{content:"!";color:#7f3f00;justify-content:center;align-items:center;font-size:9px;font-weight:800;line-height:1;display:flex;position:absolute;inset:0}@keyframes taskStatusSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.resizeHandle{background:var(--resize-handle);align-self:stretch;width:6px}.resizeHandleLeft{border-top-left-radius:5px;border-bottom-left-radius:5px}.resizeHandleRight{border-top-right-radius:5px;border-bottom-right-radius:5px}.timelineBusyOverlay{z-index:36;background:color-mix(in oklab,var(--panel)70%,transparent 30%);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:14px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.timelineBusyIndicator{border:1px solid color-mix(in oklab,var(--line-strong)60%,transparent 40%);background:color-mix(in oklab,var(--loading-bg)76%,var(--panel)24%);color:var(--loading-ink);box-shadow:0 6px 16px var(--shadow-soft);border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.timelineBusySpinner{border:2px solid color-mix(in oklab,var(--loading-ink)26%,transparent 74%);border-top-color:var(--loading-ink);border-radius:999px;width:18px;height:18px;animation:.8s linear infinite taskStatusSpinner}.timelineBusyText{letter-spacing:.02em;font-size:12px;font-weight:600}.timelineShiftButton{z-index:26;border:1px solid var(--line-strong);background:color-mix(in oklab,var(--panel)90%,var(--mix-neutral)10%);width:42px;height:42px;color:var(--ink);cursor:pointer;box-shadow:0 2px 6px var(--shadow-subtle);pointer-events:auto;border-radius:999px;font-size:28px;line-height:1;position:absolute;bottom:12px}.timelineShiftButton:hover{background:color-mix(in oklab,var(--panel)70%,var(--accent-muted)30%)}.timelineShiftButtonPrev{left:194px}.timelineShiftButtonNext{right:10px}.timelineShiftButtonToday{width:auto;min-width:88px;height:42px;padding:0 18px;font-size:15px;font-weight:700;left:50%;transform:translate(-50%)}.workspaceCursorLayer{z-index:70;pointer-events:none;position:fixed;inset:0}.workspaceCursor{will-change:left,top;position:absolute;transform:translate(-2px,-2px)}.workspaceCursorArrow{width:14px;height:18px;color:var(--accent);fill:currentColor;filter:drop-shadow(0 2px 4px var(--shadow-soft));display:block}.workspaceCursorMeta{border:1px solid color-mix(in oklab,var(--line-strong)58%,transparent 42%);background:color-mix(in oklab,var(--surface)94%,var(--panel)6%);max-width:min(180px,100vw - 28px);box-shadow:0 4px 12px var(--shadow-soft);color:var(--ink);border-radius:999px;align-items:center;gap:4px;padding:2px 6px 2px 3px;display:inline-flex;position:absolute;top:8px;left:8px}.workspaceCursorMeta .taskOwnerAvatar{flex-basis:16px;width:16px;height:16px}.workspaceCursorName{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:700;line-height:1;overflow:hidden}.editor{background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex;position:relative}.sideRail{flex-direction:column;gap:12px;min-height:0;display:flex}.unassignedPanel{background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.unassignedPanelDropActive{border-color:var(--danger-border);background:color-mix(in oklab,var(--danger-bg)78%,var(--panel)22%);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--danger-border)28%,transparent 72%)}.unassignedTitle{margin:0;font-size:16px}.unassignedSub{color:var(--subtle);margin:0;font-size:12px}.unassignedEmpty{color:var(--subtle);margin:0;font-size:13px}.unassignedList{flex-direction:column;gap:8px;max-height:260px;padding-right:2px;display:flex;overflow:auto}.unassignedActions{justify-content:flex-end;margin-top:2px;display:flex}.unassignedCreateButton{letter-spacing:.04em;justify-content:center;min-width:120px}.unassignedCard{border:1px solid color-mix(in oklab,var(--line-strong)70%,transparent 30%);background:var(--unassigned-card-bg);cursor:grab;border-radius:10px;align-items:center;gap:8px;min-height:34px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.unassignedCard:active{cursor:grabbing}.unassignedCardEditing{border-color:var(--unassigned-active-border);box-shadow:inset 0 0 0 1px var(--unassigned-active-ring)}.overduePanel{background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.overdueTitle{margin:0;font-size:16px}.overdueSub{color:var(--subtle);margin:0;font-size:12px}.overdueEmpty{color:var(--subtle);margin:0;font-size:13px}.overdueList{flex-direction:column;gap:8px;max-height:260px;padding-right:2px;display:flex;overflow:auto}.overdueCard{border:1px solid color-mix(in oklab,var(--danger-border)66%,transparent 34%);background:color-mix(in oklab,var(--danger-bg)66%,var(--panel)34%);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-height:34px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.overdueCardEditing{border-color:var(--task-focus);box-shadow:inset 0 0 0 1px var(--task-focus-ring)}.overdueMeta{color:var(--danger-text);white-space:nowrap;font-size:11px}.myTasksPanel{background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.myTasksTitle{margin:0;font-size:16px}.myTasksSub{color:var(--subtle);margin:0;font-size:12px}.myTasksEmpty{color:var(--subtle);margin:0;font-size:13px}.myTasksList{flex-direction:column;gap:8px;max-height:260px;padding-right:2px;display:flex;overflow:auto}.myTasksCard{background:color-mix(in oklab,#deeff8 58%,var(--panel)42%);cursor:pointer;border:1px solid #2f84b07a;border:1px solid lab(51.6169% -14.7774 -31.1935/.48);border-radius:10px;align-items:center;gap:8px;min-height:34px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.myTasksCardEditing{border-color:var(--task-focus);box-shadow:inset 0 0 0 1px var(--task-focus-ring)}.myTasksMeta{color:color-mix(in oklab,#2f84b0 82%,var(--subtle)18%);white-space:nowrap;font-size:11px}.reviewPanel{background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.reviewTitle{margin:0;font-size:16px}.reviewSub{color:var(--subtle);margin:0;font-size:12px}.reviewEmpty{color:var(--subtle);margin:0;font-size:13px}.reviewList{flex-direction:column;gap:8px;max-height:260px;padding-right:2px;display:flex;overflow:auto}.reviewCard{background:color-mix(in oklab,#e8e3ff 58%,var(--panel)42%);cursor:pointer;border:1px solid #6b5fb085;border:1px solid lab(44.3857% 20.2452 -42.2204/.52);border-radius:10px;align-items:center;gap:8px;min-height:34px;padding:6px 8px;font-size:12px;font-weight:600;display:flex}.reviewCardEditing{border-color:var(--task-focus);box-shadow:inset 0 0 0 1px var(--task-focus-ring)}.reviewMeta{color:color-mix(in oklab,#6b5fb0 86%,var(--subtle)14%);white-space:nowrap;font-size:11px}.reviewDoneControl{color:var(--subtle);cursor:pointer;align-items:center;gap:4px;margin-left:2px;font-size:11px;display:inline-flex}.reviewDoneCheckbox{width:14px;height:14px;accent-color:var(--status-done);cursor:pointer}.reviewDoneCheckbox:disabled{cursor:default}.reviewDoneText{white-space:nowrap}.editorEdit{--editor-accent:#2b67d0;animation:.24s cubic-bezier(.2,.8,.2,1) both editorEnterEdit}.editorCreate{--editor-accent:#2f8a56;animation:.26s cubic-bezier(.2,.8,.2,1) both editorEnterCreate}.editorEdit,.editorCreate{box-shadow:inset 3px 0 0 var(--editor-accent),0 8px 18px color-mix(in oklab,var(--shadow-soft)30%,transparent 70%)}.editorPulse:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 color-mix(in oklab,var(--editor-accent)60%,transparent 40%);animation:.42s ease-out editorPulseGlow;position:absolute;inset:0}.editorTitle{margin:0;font-size:18px}.editorSub{color:var(--subtle);margin:0;font-size:12px}.editorField{color:var(--subtle);flex-direction:column;gap:4px;font-size:12px;display:flex}.subtaskEditor{border-top:1px solid color-mix(in oklab,var(--line-strong)40%,transparent 60%);flex-direction:column;gap:12px;padding-top:4px;display:flex}.subtaskEditorHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.subtaskEditorTitle{color:var(--ink);margin:0;font-size:14px}.subtaskEditorSub{color:var(--subtle);margin:2px 0 0;font-size:11px}.subtaskEditorHint{color:var(--subtle);margin:6px 0 0;font-size:11px}.subtaskWarnings{flex-direction:column;gap:8px;display:flex}.subtaskWarning{border:1px solid color-mix(in oklab,var(--error-border)72%,transparent 28%);background:color-mix(in oklab,var(--error-bg)78%,var(--panel)22%);color:var(--error-text);border-radius:10px;margin:0;padding:10px 12px;font-size:12px;line-height:1.45}.subtaskEditorLoading,.subtaskEditorEmpty{color:var(--subtle);margin:0;font-size:12px}.subtaskList{flex-direction:column;gap:10px;display:flex}.subtaskItem{border:1px solid color-mix(in oklab,var(--line-strong)55%,transparent 45%);background:color-mix(in oklab,var(--panel)96%,var(--mix-neutral)4%);border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:12px;padding:12px;display:grid}.subtaskItemCompleted{opacity:.82}.subtaskBody{flex-direction:column;gap:10px;min-width:0;display:flex}.subtaskBodyTop{align-items:flex-start;gap:10px;display:flex}.subtaskCheckbox{justify-content:center;align-items:center;margin-top:24px;display:inline-flex;position:relative}.subtaskCheckbox input{opacity:0;cursor:pointer;position:absolute;inset:0}.subtaskCheckboxMark{border:1px solid color-mix(in oklab,var(--line-strong)80%,transparent 20%);background:var(--input-bg);border-radius:6px;width:18px;height:18px;position:relative}.subtaskCheckbox input:checked+.subtaskCheckboxMark{background:color-mix(in oklab,var(--status-done)68%,white 32%);border-color:color-mix(in oklab,var(--status-done)88%,black 12%)}.subtaskCheckbox input:checked+.subtaskCheckboxMark:after{content:"";border-bottom:2px solid #f8fff9;border-right:2px solid #f8fff9;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(40deg)}.subtaskField{min-width:0;color:var(--subtle);flex-direction:column;gap:4px;font-size:12px;display:flex}.subtaskField span{font-size:11px}.subtaskFieldTitle{flex:auto}.subtaskTextArea,.subtaskMetaInput{border:1px solid var(--line-strong);background:var(--input-bg);width:100%;min-width:0;color:var(--input-ink);font:inherit;border-radius:10px;padding:8px 10px}.subtaskTextArea{resize:vertical;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.45}.subtaskMetaGrid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.subtaskItemCompleted .subtaskTextArea{color:var(--subtle);text-decoration:line-through}.subtaskDeleteButton{border:1px solid color-mix(in oklab,var(--danger)26%,var(--line-strong)74%);color:color-mix(in oklab,var(--danger)78%,var(--ink)22%);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.subtaskDeleteButton:disabled{cursor:not-allowed;opacity:.6}.subtaskCreateCard{border:1px dashed color-mix(in oklab,var(--line-strong)70%,transparent 30%);background:color-mix(in oklab,var(--panel)97%,var(--mix-neutral)3%);border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex}.subtaskCreateInput{min-height:74px}.subtaskCreateFooter{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.memberSelect{position:relative}.memberSelectTrigger{border:1px solid var(--line-strong);background:var(--input-bg);width:100%;min-height:40px;color:var(--input-ink);text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.memberSelectTrigger:focus-visible{outline:2px solid var(--task-focus);outline-offset:2px}.memberSelectTrigger:disabled{cursor:not-allowed;opacity:.7}.memberSelectTriggerValue{align-items:center;gap:10px;min-width:0;display:flex}.memberSelectTriggerText,.memberSelectOptionText{flex-direction:column;gap:2px;min-width:0;display:flex}.memberSelectTriggerPrimary,.memberSelectOptionPrimary{color:var(--input-ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.memberSelectTriggerSecondary,.memberSelectOptionSecondary{color:var(--subtle);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.memberSelectChevron{color:var(--subtle);flex:none;font-size:12px}.memberSelectPopover{z-index:30;border:1px solid var(--line-strong);background:color-mix(in oklab,var(--panel)94%,var(--mix-neutral)6%);border-radius:12px;padding:6px;position:absolute;inset:calc(100% + 6px) 0 auto;box-shadow:0 20px 40px #1118272e}.memberSelectList{flex-direction:column;gap:4px;max-height:260px;display:flex;overflow-y:auto}.memberSelectOption{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:8px;display:flex}.memberSelectOption:hover,.memberSelectOptionSelected{background:color-mix(in oklab,var(--accent-muted)28%,var(--panel)72%)}.memberSelectOptionCheck{color:var(--accent);margin-left:auto;font-weight:700}.memberSelectAvatar{border:1px solid var(--line-strong);background:color-mix(in oklab,var(--accent-muted)24%,var(--panel)76%);border-radius:999px;flex:none;place-items:center;width:28px;height:28px;display:grid;position:relative;overflow:hidden}.memberSelectAvatarFallback{color:var(--input-ink);font-size:12px;font-weight:700}.memberSelectAvatarImage{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.editorFieldUnassigned{color:color-mix(in oklab,#8a6a00 70%,var(--subtle)30%)}.editorField input,.editorField select,.editorField textarea{border:1px solid var(--line-strong);background:var(--input-bg);color:var(--input-ink);border-radius:8px;padding:6px 8px}.editorFieldUnassigned input,.editorFieldUnassigned select,.editorFieldUnassigned textarea,.editorFieldUnassigned .memberSelectTrigger{border-color:color-mix(in oklab,#f0b90b 72%,var(--line-strong)28%);background:color-mix(in oklab,#fff4bf 54%,var(--input-bg)46%)}.editorField textarea{min-height:70px}.editorActions{justify-content:flex-end;gap:8px;display:flex}@keyframes editorEnterEdit{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes editorEnterCreate{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes editorPulseGlow{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--editor-accent)62%,transparent 38%);opacity:1}to{opacity:0;box-shadow:0 0 0 12px #0000}}@keyframes taskCardEditingPulse{0%{box-shadow:0 0 0 2px color-mix(in oklab,var(--task-focus)32%,transparent 68%),0 4px 12px color-mix(in oklab,var(--task-focus)40%,transparent 60%)}to{box-shadow:0 0 0 2px color-mix(in oklab,var(--task-focus)48%,transparent 52%),0 8px 18px color-mix(in oklab,var(--task-focus)54%,transparent 46%)}}@media (prefers-reduced-motion:reduce){.editorEdit,.editorCreate,.editorPulse:after,.taskCardEditing{animation:none}}@media (min-width:1200px){.workspace{grid-template-columns:minmax(0,1fr) 360px}.sideRail{max-height:calc(100vh - 40px);position:sticky;top:14px;overflow:auto}}@media (max-width:700px){.appRoot{padding:10px}.toolbar{border-radius:10px}.searchInput{min-width:160px}.windowLabel{width:100%;margin-left:0}.appFooter{justify-content:center;padding:2px 0}.footerControls{flex-wrap:wrap;justify-content:center}.deadlineCreateRow,.deadlineRow{grid-template-columns:1fr}.subtaskBodyTop,.subtaskCreateFooter{flex-direction:column}.subtaskMetaGrid{grid-template-columns:1fr}.subtaskDeleteButton,.subtaskCreateFooter .chip{width:100%}.modalOverlay{padding:10px}.deadlineModal{width:100%;max-height:calc(100vh - 20px)}}
