@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#22241f;font-synthesis:none;letter-spacing:0;background:#f4f5f0;font-family:DM Sans,Noto Sans SC,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#dce2dc;background:#1e2825;flex-direction:column;width:240px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 8px 25px;font-size:21px;font-weight:700;display:flex}.brand-mark{color:#1e2825;background:#d7e958;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.main-nav{border-bottom:1px solid #34403c;gap:5px;padding-bottom:25px;display:grid}.nav-item{color:#aeb8b3;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:11px;height:42px;padding:0 12px;font-size:14px;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#303d38}.project-head{color:#84908a;text-transform:uppercase;letter-spacing:1.1px;justify-content:space-between;align-items:center;padding:24px 8px 10px;font-size:11px;font-weight:700;display:flex}.icon-button{width:32px;height:32px;color:inherit;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.project-head .icon-button{width:26px;height:26px}.project-list{gap:4px;display:grid}.project-item{color:#abb5b0;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;width:100%;height:40px;padding:0 9px;font-size:13px;display:grid;position:relative}.project-item:hover,.project-item.selected{color:#fff;background:#303d38}.project-dot{border-radius:2px;width:7px;height:7px}.project-count{color:#77827d;font-size:11px}.pet-preview{background:#27332f;border:1px solid #3a4943;border-radius:8px;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;margin-top:auto;padding:12px 10px;display:grid}.pet-face{color:#26312d;background:#d7e958;border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.pet-preview strong,.pet-preview span{display:block}.pet-preview strong{color:#f3f5f1;font-size:11px}.pet-preview span{color:#7f8d86;margin-top:3px;font-size:9px}.pet-preview>svg{color:#d7e958}.settings{margin-top:10px}main{grid-column:2;width:100%;min-width:0;max-width:1500px;margin:0 auto;padding:35px 48px 55px}.topbar{justify-content:space-between;align-items:flex-start;margin-bottom:31px;display:flex}.date-label{color:#747a73;font-size:12px;font-weight:600}.topbar h1{letter-spacing:0;margin:5px 0 0;font-size:27px;line-height:1.25}.top-actions{align-items:center;gap:12px;display:flex}.avatar{color:#28312d;background:#d7e958;border-radius:50%;place-items:center;width:36px;height:36px;font-size:12px;font-weight:700;display:grid}.project-banner{background:#fff;border:1px solid #e6e8e1;border-radius:8px;grid-template-columns:auto minmax(240px,1fr) auto 220px;align-items:center;gap:20px;min-height:148px;padding:27px 29px;display:grid;box-shadow:0 5px 16px #1c241f09}.project-symbol{color:#fff;border-radius:8px;place-items:center;width:58px;height:58px;font-size:25px;display:grid}.eyebrow,.section-kicker{color:#858b84;letter-spacing:1.2px;font-size:10px;font-weight:700}.banner-copy h2{margin:4px 0 5px;font-size:20px}.banner-copy p{color:#7a8079;margin:0;font-size:12px}.deadline{border-left:1px solid #e5e7e1;padding:0 28px}.deadline span,.project-progress span{color:#858b84;margin-bottom:6px;font-size:10px;display:block}.deadline strong{font-size:15px}.project-progress>div:first-child{justify-content:space-between;align-items:center;display:flex}.project-progress strong{font-size:15px}.progress-track{background:#eceee8;border-radius:4px;height:6px;overflow:hidden}.progress-track i{border-radius:4px;height:100%;transition:width .3s;display:block}.dashboard-grid{grid-template-columns:minmax(0,1fr) 285px;gap:22px;margin-top:22px;display:grid}.today-panel,.upcoming-panel,.week-panel{background:#fff;border:1px solid #e5e7e0;border-radius:8px}.today-panel{padding:24px}.section-head{justify-content:space-between;align-items:center;display:flex}.section-head h3{margin:4px 0 0;font-size:18px}.primary-button{color:#fff;background:#222d29;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;height:37px;padding:0 15px;font-size:12px;font-weight:600;display:inline-flex}.stats-row{background:#f6f7f3;border:1px solid #ebede7;border-radius:7px;grid-template-columns:repeat(3,1fr);margin:21px 0 8px;display:grid}.stat{border-right:1px solid #e3e6df;padding:13px 17px}.stat:last-child{border:0}.stat span{color:#888e87;font-size:10px;display:block}.stat strong{font-size:19px}.stat small{color:#7d837c;font-size:10px;font-weight:500}.task-list{margin-top:12px}.task-row{border-bottom:1px solid #eceee8;grid-template-columns:30px 1fr 100px 32px;align-items:center;gap:7px;min-height:78px;display:grid}.task-row:last-child{border:0}.check-button{color:#adb3ac;background:0 0;border:0;place-items:center;width:24px;height:24px;padding:0;display:grid}.task-row.done .check-button{color:#26312d;background:#d7e958;border-radius:50%}.task-row.done .task-main strong{color:#929891;text-decoration:line-through}.task-main strong{font-size:13px;font-weight:600}.task-meta{color:#8c928b;align-items:center;gap:12px;margin-top:6px;font-size:9px;display:flex}.task-meta span{align-items:center;gap:4px;display:flex}.priority{border-radius:3px;padding:3px 6px}.p-高{color:#ce5b42;background:#fff0ec}.p-中{color:#3f7d70;background:#edf5f2}.p-低{color:#767b75;background:#f1f1ef}.actual-input{color:#8a9089;grid-template-columns:auto 42px auto;align-items:center;gap:3px;font-size:9px;display:grid}.actual-input input{text-align:center;color:#343934;background:#fafbf8;border:1px solid #dfe2dc;border-radius:4px;width:42px;padding:5px;font-size:11px}.right-rail{align-content:start;gap:16px;display:grid}.adjust-panel{color:#fff;background:#26332e;border-radius:8px;padding:19px}.adjust-title{align-items:center;gap:10px;display:flex}.spark-icon{color:#27312d;background:#d7e958;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.adjust-title span,.adjust-title strong{display:block}.adjust-title div>span{color:#9eaaa4;text-transform:uppercase;letter-spacing:1px;font-size:9px}.adjust-title strong{margin-top:2px;font-size:13px}.adjust-panel p{color:#bdc6c1;margin:16px 0;font-size:11px;line-height:1.7}.adjust-panel button{color:#d7e958;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:11px;font-weight:700;display:flex}.upcoming-panel{padding:18px}.section-head.compact h3{margin:0;font-size:14px}.upcoming-list{margin-top:10px}.upcoming-row{border-bottom:1px solid #eceee9;grid-template-columns:43px 1fr;gap:10px;padding:12px 0;display:grid}.upcoming-row:last-child{border:0}.day-tag{color:#69706a;background:#f0f2ed;border-radius:4px;place-items:center;height:21px;font-size:9px;display:grid}.upcoming-row strong,.upcoming-row div>span{display:block}.upcoming-row strong{font-size:11px}.upcoming-row div>span{color:#929891;margin-top:4px;font-size:9px}.week-panel{justify-content:space-between;align-items:end;padding:17px 18px;display:flex}.week-panel span,.week-panel strong{display:block}.week-panel span{color:#8b918b;font-size:9px}.week-panel strong{margin-top:4px;font-size:12px}.week-bars{align-items:end;gap:6px;width:94px;height:42px;display:flex}.week-bars i{background:#dfe3dc;border-radius:2px 2px 0 0;width:8px}.week-bars i.current{background:#d7e958}.empty-state{text-align:center;color:#9aa099;padding:45px 0}.empty-state svg{margin:auto}.empty-state p{font-size:12px}.empty-state button{color:#3c7267;background:0 0;border:0;font-size:11px;font-weight:700}.muted{color:#929891;font-size:11px}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#161c1961;place-items:center;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:min(400px,100vw - 32px);padding:28px;position:relative;box-shadow:0 18px 60px #00000026}.modal .close{position:absolute;top:16px;right:16px}.modal h3{margin:7px 0 24px;font-size:20px}.modal label span{margin-bottom:8px;font-size:11px;font-weight:600;display:block}.modal label input{border:1px solid #dfe2dc;border-radius:6px;outline:none;width:100%;height:44px;padding:0 12px}.modal .primary-button{width:100%;height:42px;margin-top:18px}.toast{color:#fff;z-index:20;background:#222d29;border-radius:6px;align-items:center;gap:7px;padding:11px 16px;font-size:11px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}@media (width<=1000px){.app-shell{grid-template-columns:200px 1fr}.sidebar{width:200px}main{padding:28px 25px}.project-banner{grid-template-columns:auto 1fr auto}.project-progress{grid-column:2/4}.dashboard-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.week-panel{grid-column:1/3}}@media (width<=720px){.app-shell{display:block}.sidebar{grid-template-columns:1fr auto;align-items:center;width:100%;height:auto;padding:15px;display:grid;position:static}.brand{padding:0}.main-nav,.project-head,.project-list,.pet-preview,.settings{display:none}main{padding:22px 15px}.topbar{margin-bottom:22px}.topbar h1{font-size:23px}.project-banner{grid-template-columns:auto 1fr;gap:15px;padding:20px}.project-symbol{width:48px;height:48px}.deadline{border:0;grid-column:1/2;padding:0}.project-progress{grid-column:2/3}.dashboard-grid{display:block}.today-panel{padding:18px}.right-rail{grid-template-columns:1fr;margin-top:16px;display:grid}.week-panel{grid-column:auto}.stats-row{grid-template-columns:repeat(3,1fr)}.stat{padding:11px 8px}.stat strong{font-size:16px}.task-row{grid-template-columns:28px 1fr 76px;min-height:84px}.task-row>.icon-button{display:none}.actual-input{grid-template-columns:auto 38px}.actual-input>span:last-child{display:none}.actual-input input{width:38px}.project-banner p{display:none}}.app-shell{min-height:100vh;display:block}.app-shell main{grid-column:auto;max-width:1240px;padding:26px 36px 55px}.topbar{align-items:center;margin-bottom:18px}.topbar-brand{align-items:center;gap:10px;display:flex}.topbar-brand strong{font-size:18px}.topbar-brand .brand-mark{width:29px;height:29px;padding:0}.topbar-brand .date-label{border-left:1px solid #dfe2dc;margin-left:10px;padding-left:20px;font-weight:500}.project-tabs{scrollbar-width:none;align-items:center;gap:6px;margin-bottom:16px;display:flex;overflow-x:auto}.project-tabs::-webkit-scrollbar{display:none}.project-tab{color:#747b74;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;align-items:center;gap:8px;height:35px;padding:0 11px;font-size:12px;display:flex}.project-tab:hover{background:#ebece7}.project-tab.selected{color:#fff;background:#222d29}.project-tab .project-count{color:inherit;opacity:.62}.add-project-button{color:#737a73;background:0 0;border:1px dashed #cdd1ca;border-radius:6px;flex:none;place-items:center;width:35px;height:35px;display:grid}.add-project-button:hover{background:#fff;border-style:solid}.project-banner{margin-top:0}@media (width<=1000px){.app-shell main{padding:24px 25px 48px}}@media (width<=720px){.app-shell main{padding:15px}.topbar{margin-bottom:14px}.topbar-brand .date-label{margin-left:3px;padding-left:10px;font-size:10px}.project-tabs{margin:0 -15px 14px;padding:0 15px}.project-tab{height:33px}.project-banner{margin-top:0}}.type-sans{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.type-system{font-family:DM Sans,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.font-compact{font-size:14px}.font-large{font-size:17px}.topbar{min-height:36px}.topbar>.date-label{color:#555d56;font-size:13px}.font-menu-wrap{position:relative}.font-menu{z-index:8;background:#fff;border:1px solid #dfe2dc;border-radius:7px;width:238px;padding:15px;position:absolute;top:42px;right:0;box-shadow:0 12px 35px #1c231f24}.font-menu-title{align-items:center;gap:7px;margin-bottom:15px;font-size:12px;font-weight:700;display:flex}.font-menu label{margin-top:12px;display:block}.font-menu label>span{color:#7d847d;margin-bottom:7px;font-size:10px;display:block}.setting-options{background:#f0f2ed;border-radius:5px;padding:3px;display:flex}.setting-options button{color:#707770;background:0 0;border:0;border-radius:4px;flex:1;height:29px;font-size:11px}.setting-options button.selected{color:#252b27;background:#fff;box-shadow:0 1px 4px #00000014}.project-banner{grid-template-columns:auto minmax(220px,1fr) auto 220px;min-height:112px;padding:20px 24px}.project-symbol{width:48px;height:48px;font-size:21px}.compact-stats{color:#7d847d;align-items:center;gap:22px;height:42px;margin:12px 0;font-size:10px;display:flex}.compact-stats span{align-items:baseline;gap:5px;display:flex}.compact-stats strong{color:#29302b;font-size:14px}.planner-workspace{background:#fff;border:1px solid #e3e6df;border-radius:8px;grid-template-columns:285px minmax(0,1fr);min-height:480px;display:grid;overflow:hidden}.task-sidebar{background:#fafbf8;border-right:1px solid #e3e6df}.workspace-heading{border-bottom:1px solid #e8eae5;justify-content:space-between;align-items:center;height:69px;padding:0 18px;display:flex}.workspace-heading h3{margin:2px 0 0;font-size:15px}.side-task-list{display:grid}.side-task{border-bottom:1px solid #e8eae5;grid-template-columns:20px 27px minmax(0,1fr);align-items:center;height:72px;padding:0 10px 0 3px;transition:opacity .15s,background .15s,transform .15s;display:grid}.sidebar-add-task{color:#53615a;text-align:left;background:0 0;border:0;border-bottom:1px solid #e8eae5;align-items:center;gap:7px;width:100%;height:46px;padding:0 18px;font-size:10px;font-weight:600;display:flex}.drag-handle{color:#aeb5ae;cursor:grab;touch-action:none;background:0 0;border:0;place-items:center;width:20px;height:40px;padding:0;display:grid}.drag-handle:active{cursor:grabbing}.side-task.dragging,.gantt-bar.dragging{opacity:.35}.side-task strong,.side-task span{display:block}.side-task strong{white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.side-task span{color:#8b928b;margin-top:6px;font-size:9px}.side-task.done strong{color:#949a94;text-decoration:line-through}.side-task.done .check-button{color:#26312d;background:#d7e958;border-radius:50%}.priority-dot{border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.visual-planner{min-width:0}.view-switch{background:#f0f2ed;border-radius:5px;padding:3px;display:flex}.view-switch button{color:#737a73;background:0 0;border:0;border-radius:4px;align-items:center;gap:5px;height:30px;padding:0 10px;font-size:10px;display:flex}.view-switch button.selected{color:#26302b;background:#fff;box-shadow:0 1px 4px #00000014}.gantt{overflow-x:auto}.gantt-days{border-bottom:1px solid #e8eae5;grid-template-columns:repeat(7,minmax(78px,1fr));height:45px;margin-left:0;display:grid}.gantt-days span{color:#838a83;border-right:1px solid #eff0ec;justify-content:center;align-items:center;gap:5px;font-size:9px;display:flex}.gantt-days small{font-size:9px}.gantt-days .today{color:#bd563f;background:#fff7f4;font-weight:700}.gantt-body{min-width:546px}.gantt-row{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#eff0ec 1px);background-size:14.2857% 100%;border-bottom:1px solid #eceee9;grid-template-columns:repeat(7,1fr);align-items:center;height:72px;display:grid;position:relative}.today-line{background:#eea18e;width:1px;position:absolute;top:0;bottom:0}.gantt-bar{color:#315a51;white-space:nowrap;z-index:1;cursor:grab;touch-action:none;background:#dfe9e6;border-radius:4px;align-items:center;gap:4px;height:30px;margin:0 5px;padding:0 7px;font-size:9px;font-weight:600;display:flex;position:relative;overflow:hidden}.gantt-bar:active{cursor:grabbing}.gantt-bar>svg{z-index:1;color:#75968e;flex:none;position:relative}.gantt-bar i{opacity:.45;background:#9bc4b9;position:absolute;inset:0 auto 0 0}.schedule-view{padding:8px 22px}.schedule-row{grid-template-columns:48px 14px 1fr;align-items:center;min-height:72px;display:grid}.schedule-row time{color:#868d86;font-size:10px}.schedule-row>span{background:#d7e958;border-radius:50%;width:8px;height:8px;position:relative}.schedule-row>span:after{content:"";background:#dfe2dc;width:1px;height:64px;position:absolute;top:8px;left:4px}.schedule-row:last-child>span:after{display:none}.schedule-row strong,.schedule-row small{display:block}.schedule-row strong{font-size:12px}.schedule-row small{color:#8c938c;margin-top:4px;font-size:9px}@media (width<=820px){.project-banner{grid-template-columns:auto 1fr auto}.project-progress{grid-column:2/4}.planner-workspace{grid-template-columns:230px minmax(500px,1fr);overflow-x:auto}.compact-stats{margin-left:3px}}@media (width<=620px){.project-banner{grid-template-columns:auto 1fr}.deadline{border:0;grid-column:1;padding:0}.project-progress{grid-column:2}.planner-workspace{display:block;overflow:visible}.task-sidebar{border-bottom:1px solid #e3e6df;border-right:0}.side-task-list{grid-template-columns:1fr 1fr}.side-task{min-width:0}.visual-planner{overflow-x:auto}.visual-planner>.workspace-heading,.gantt{min-width:560px}.compact-stats{gap:14px}.font-menu{right:-45px}.banner-copy p{display:none}}.toggle-setting{border-top:1px solid #eceee9;justify-content:space-between;align-items:center;padding-top:11px;display:flex!important}.toggle-setting>span{margin:0!important}.toggle-setting input{accent-color:#26332e}.planner-workspace{grid-template-columns:var(--sidebar-width) 7px minmax(0,1fr)}.task-sidebar{border-right:0;min-width:0}.column-resizer{cursor:col-resize;z-index:2;background:#f5f6f2;border:0;border-left:1px solid #e3e6df;border-right:1px solid #e3e6df;place-items:center;width:7px;padding:0;display:grid}.column-resizer span{opacity:0;background:#cbd0c9;border-radius:2px;width:2px;height:36px;transition:opacity .15s}.column-resizer:hover span,.is-resizing .column-resizer span{opacity:1}.is-resizing,.is-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.gantt-row{background-image:none}.gantt.show-grid .gantt-row{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#eff0ec 1px);background-size:14.2857% 100%}.density-compact .side-task,.density-compact .gantt-row,.density-compact .workspace-heading{height:58px}.density-compact .schedule-row{min-height:58px}@media (width<=820px){.planner-workspace{grid-template-columns:var(--sidebar-width) 7px minmax(500px,1fr)}}@media (width<=620px){.planner-workspace{grid-template-columns:minmax(210px,var(--sidebar-width)) 7px minmax(500px,1fr);display:grid;overflow-x:auto}.task-sidebar{border-bottom:0}.side-task-list{grid-template-columns:1fr;display:grid}.column-resizer{display:grid}.visual-planner{overflow:visible}.visual-planner>.workspace-heading,.gantt{min-width:0}}.task-axis-spacer{color:#969d96;border-bottom:1px solid #e8eae5;align-items:center;height:45px;padding:0 18px;font-size:9px;display:flex}.planner-controls{align-items:center;gap:7px;display:flex}.scale-switch{background:#f0f2ed;border-radius:5px;align-items:center;height:36px;padding:3px;display:flex}.scale-switch button{color:#737a73;background:0 0;border:0;border-radius:4px;width:30px;height:30px;font-size:10px}.density-compact .task-axis-spacer{height:45px}@media (width<=720px){.workspace-heading{padding:0 12px}.planner-controls{gap:4px}.scale-switch button{width:27px}.view-switch button{padding:0 7px}}.compact-stats{gap:0}.bar-resize-handle{cursor:ew-resize;touch-action:none;background:0 0;width:8px;top:0;bottom:0;z-index:3!important;position:absolute!important}.gantt-bar:hover .bar-resize-handle:after{content:"";background:#66857d;border-radius:2px;width:2px;position:absolute;top:8px;bottom:8px;left:3px}.gantt-bar .bar-label{z-index:1;text-overflow:ellipsis;position:relative;overflow:hidden}.gantt-bar.dragging{opacity:.55}.gantt-days,.gantt-body{min-width:var(--timeline-min-width,546px)}.gantt-days{grid-template-columns:repeat(var(--header-columns,7),minmax(58px,1fr))}.gantt-row{grid-template-columns:repeat(var(--timeline-units,7),1fr)}.gantt.show-grid .gantt-row{background-size:calc(100% / var(--header-columns,7)) 100%}.bar-resize-handle{width:12px}.bar-resize-handle.start{left:-1px}.bar-resize-handle.end{right:-1px}.gantt-bar:hover .bar-resize-handle:after{left:5px}.task-edit-trigger{text-align:left;min-width:0;color:inherit;background:0 0;border:0;padding:12px 0}.task-edit-trigger:hover strong{text-underline-offset:3px;text-decoration:underline}.gantt-bar{text-align:left;cursor:pointer;border:0}.gantt-bar:hover{filter:brightness(.96);box-shadow:0 0 0 2px #305d5221}.gantt-bar>span{z-index:1;text-overflow:ellipsis;position:relative;overflow:hidden}.schedule-row{text-align:left;width:100%;color:inherit;background:0 0;border:0;padding:0}.schedule-row:hover{background:#f8f9f5}.schedule-row:hover strong{text-underline-offset:3px;text-decoration:underline}.task-editor{width:min(470px,100vw - 32px)}.editor-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:15px;display:grid}.task-editor select{color:#303630;background:#fff;border:1px solid #dfe2dc;border-radius:6px;width:100%;height:44px;padding:0 10px}.task-editor .primary-button{margin-top:20px}@media (width<=480px){.editor-grid{grid-template-columns:1fr}}.priority-options{background:#f0f2ed;border-radius:6px;grid-template-columns:repeat(3,1fr);gap:4px;height:44px;padding:4px;display:grid}.priority-options button{color:#686f69;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.priority-options button.selected{color:#242b27;background:#fff;box-shadow:0 1px 4px #0000001a}.priority-color{border-radius:50%;width:8px;height:8px;display:block}.priority-color-高{background:#b93f2b}.priority-color-中{background:#df755f}.priority-color-低{background:#efb2a5}.editor-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.task-editor .editor-actions .primary-button{width:100%;height:42px;margin:0}.delete-task-button{color:#a94432;background:#fff;border:1px solid #e1c2ba;border-radius:6px;justify-content:center;align-items:center;gap:7px;height:42px;font-size:11px;font-weight:600;display:flex}.delete-task-button:hover{background:#fff5f2;border-color:#d89a8c}@media (width<=480px){.editor-actions{grid-template-columns:1fr 1fr}}.sidebar-add-task{border-right:1px solid #e8eae5;justify-content:center;width:46px;margin-left:8px;padding:0}.font-compact{--ui-font-scale:.88}.font-normal{--ui-font-scale:1}.font-large{--ui-font-scale:1.18}.app-shell .topbar>.date-label{font-size:calc(13px * var(--ui-font-scale))}.app-shell .compact-stats{font-size:calc(10px * var(--ui-font-scale))}.app-shell .compact-stats strong{font-size:calc(14px * var(--ui-font-scale))}.app-shell .section-kicker{font-size:calc(10px * var(--ui-font-scale))}.app-shell .workspace-heading h3{font-size:calc(15px * var(--ui-font-scale))}.app-shell .task-axis-spacer{font-size:calc(9px * var(--ui-font-scale))}.app-shell .side-task strong{font-size:calc(11px * var(--ui-font-scale))}.app-shell .side-task span{font-size:calc(9px * var(--ui-font-scale))}.app-shell .scale-switch button,.app-shell .view-switch button{font-size:calc(10px * var(--ui-font-scale))}.app-shell .gantt-days span,.app-shell .gantt-days small,.app-shell .gantt-bar{font-size:calc(9px * var(--ui-font-scale))}.app-shell .schedule-row time{font-size:calc(10px * var(--ui-font-scale))}.app-shell .schedule-row strong{font-size:calc(12px * var(--ui-font-scale))}.app-shell .schedule-row small{font-size:calc(9px * var(--ui-font-scale))}.app-shell .font-menu-title{font-size:calc(12px * var(--ui-font-scale))}.app-shell .font-menu label>span{font-size:calc(10px * var(--ui-font-scale))}.app-shell .setting-options button{font-size:calc(11px * var(--ui-font-scale))}.app-shell .modal h3{font-size:calc(20px * var(--ui-font-scale))}.app-shell .modal label>span{font-size:calc(11px * var(--ui-font-scale))}.app-shell .modal input,.app-shell .modal select{font-size:calc(13px * var(--ui-font-scale))}.app-shell .priority-options button,.app-shell .delete-task-button,.app-shell .primary-button{font-size:calc(11px * var(--ui-font-scale))}:root{color:#302833;background:#f8f4f8}body{background:#f8f4f8}.app-shell main{color:#302833}.planner-workspace{background:#fffafd;border-color:#e8dfe9;box-shadow:0 7px 24px #52345b0b}.task-sidebar{background:#fdf9fc}.workspace-heading,.task-axis-spacer,.side-task,.gantt-days,.gantt-row{border-color:#ece3ed}.section-kicker,.task-axis-spacer,.side-task span,.gantt-days span,.schedule-row time,.schedule-row small,.compact-stats{color:#8a7b8d}.column-resizer{background:#f5eef6;border-color:#e7dce9}.column-resizer span{background:#bda9c1}.scale-switch,.view-switch,.setting-options,.priority-options{background:#f2ebf3}.scale-switch button,.view-switch button,.setting-options button{color:#756779}.scale-switch button.selected{color:#fff;background:#65476f}.view-switch button.selected,.setting-options button.selected,.priority-options button.selected{color:#4f3858;background:#fff;box-shadow:0 1px 5px #55375e21}.gantt-days .today{color:#b84e78;background:#fff0f6}.today-line{background:#df84aa}.gantt-bar{color:#654b68;background:#eadfec}.gantt-bar i{background:#d59ab8}.gantt-bar>svg{color:#a17499}.gantt-bar.done{color:#614b68;background:#eee4f3}.side-task.drag-over,.gantt-row.drag-over{background:#f6edf7;box-shadow:inset 0 2px #a66eaa}.check-button,.drag-handle{color:#b8a9bb}.primary-button{background:#65476f}.primary-button:hover{background:#75517f}.icon-button:hover{background:#f0e7f1}.icon-button.active{background:#eadfec}.font-menu,.modal{border-color:#e5d9e7;box-shadow:0 16px 45px #462a4f29}.modal-backdrop{background:#34253957}.modal label input,.task-editor select{background:#fffafd;border-color:#ded2e1}.modal label input:focus{border-color:#a56ca6}.sidebar-add-task{color:#76577e;background:0 0;border:0!important}.sidebar-add-task:hover{color:#583b62;background:#f3eaf4}.gantt{scrollbar-color:#bda8c1 #f3edf4}.toast{background:#5d4266}.priority-高{background:#b84970}.priority-中{background:#d27d9d}.priority-低{background:#ddaebf}.planner-workspace,.task-sidebar,.visual-planner,.workspace-heading,.task-axis-spacer,.side-task,.gantt-days,.gantt-row,.schedule-view{background-color:#fff}.schedule-row>span{background:#c66a9c}.schedule-row>span:after{background:#ead9e6}.side-task.done .check-button,.task-row.done .check-button{color:#fff;background:#d28ab5}.add-task-modal{padding-top:58px}.add-task-modal .close{top:14px;right:16px}
