.vocabulary-settings{width:min(520px,100vw - 24px);color:var(--text);border:1px solid var(--line-bright);background:#131315;border-radius:5px;box-shadow:0 24px 64px #00000075}.vocabulary-settings>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:0 12px;display:flex}.vocabulary-settings header>div:first-child{gap:3px;min-width:0;display:grid}.vocabulary-settings strong{font-size:13px}.vocabulary-settings span,.vocabulary-settings small{color:var(--muted);font-size:11px}.vocabulary-header-actions{align-items:center;gap:6px;display:flex}.secondary-tool{border:1px solid var(--line);min-height:32px;color:var(--text);cursor:pointer;white-space:nowrap;background:#131315;border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:12px;display:inline-flex}.secondary-tool:hover{border-color:var(--line-bright);background:#1c1c1e}.secondary-tool:disabled{opacity:.55;cursor:wait}.vocabulary-overview{padding:20px 16px 14px}.vocabulary-overview strong{color:var(--text);font-size:14px}.vocabulary-overview p{max-width:410px;color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.65}.vocabulary-library-status{border-left:2px solid var(--accent);background:#131315;gap:4px;margin:0 16px 16px;padding:11px 12px;display:grid}.vocabulary-library-status>span{color:#98989d}.vocabulary-library-status strong{color:#e5e5ea;font-size:12px}.vocabulary-library-status small{font-size:11px}.vocabulary-message{border-left:2px solid var(--accent);color:#9dcbff;background:#002e5c;margin:0 16px 16px;padding:8px 10px;font-size:12px}.spin{animation:.8s linear infinite vocabulary-spin}.vocabulary-autocomplete{width:100%;position:relative}.vocabulary-autocomplete input{width:100%}.vocabulary-suggestions{z-index:50;border:1px solid var(--line-bright);background:#131315;border-radius:4px;max-height:248px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow:auto;box-shadow:0 14px 34px #00000080}.vocabulary-suggestions li{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:5px 7px;font-size:13px;display:flex}.vocabulary-suggestions li.active,.vocabulary-suggestions li:hover{background:#002e5c}.vocabulary-suggestions small{color:var(--muted);white-space:nowrap;font-size:11px}.vocabulary-suggestion-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vocabulary-suggestion-name b{color:#007aff;font-weight:500}.vocabulary-suggestion-name>span{color:var(--text)}:root[data-theme=light] .vocabulary-settings,:root[data-theme=light] .secondary-tool{color:#1c1c1e;background:#fff}:root[data-theme=light] .vocabulary-library-status{background:#e8f2ff}:root[data-theme=light] .vocabulary-library-status strong{color:#002e5c}:root[data-theme=light] .vocabulary-suggestions{color:#1c1c1e;background:#fff;box-shadow:0 14px 34px #20363238}:root[data-theme=light] .vocabulary-suggestions li.active,:root[data-theme=light] .vocabulary-suggestions li:hover{background:#cce3ff}@keyframes vocabulary-spin{to{transform:rotate(360deg)}}@media (width<=560px){.vocabulary-settings{border-left:0;border-right:0;border-radius:0;width:100%}}@media (prefers-reduced-motion:reduce){.spin{animation:none}}.work-library{z-index:60;background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;width:min(720px,100vw - 24px);display:grid;position:fixed;top:112px;bottom:58px;right:12px;overflow:hidden;box-shadow:0 24px 64px #0000006b}.work-library>header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 10px 10px 12px;display:grid}.work-library-search{border:1px solid var(--line-bright);background:var(--bg);height:34px;color:var(--muted);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding:0 10px;display:grid}.work-library-search input{width:100%;color:var(--text);background:0 0;border:0;font-size:13px}.work-library-frequent,.work-library-templates{border-bottom:1px solid var(--line);color:var(--muted);grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:grid}.work-library-frequent>div{flex-wrap:wrap;gap:5px;display:flex}.work-library-frequent button,.work-library-templates button{border:1px solid var(--line-bright);background:var(--bg);height:26px;color:var(--text);cursor:pointer;border-radius:13px;padding:0 9px;font-size:12px}.work-library-frequent button:hover,.work-library-templates button:hover{border-color:var(--accent);color:var(--accent)}.work-library-frequent button.is-picked{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--text)}.work-library-templates{grid-template-columns:56px repeat(auto-fit,minmax(0,max-content))}.work-library-templates button{border-radius:8px;align-items:center;gap:6px;display:inline-flex}.work-library-templates button small{color:var(--muted);font-size:10px}.work-library-tabs{border-bottom:1px solid var(--line);gap:3px;padding:8px 12px;display:flex}.work-library-tabs button{height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12px}.work-library-tabs button:hover{background:var(--panel-raised);color:var(--text)}.work-library-tabs button.active{background:var(--accent);color:#fff}.work-library-browse{grid-template-columns:168px minmax(0,1fr);min-height:0;display:grid}.work-library-browse nav{border-right:1px solid var(--line);align-content:start;gap:2px;min-height:0;padding:6px;display:grid;overflow:auto}.work-library-browse nav button{height:30px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:grid}.work-library-browse nav button small{color:var(--muted);font-size:10px}.work-library-browse nav button:hover{background:var(--panel-raised)}.work-library-browse nav button.active{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--text)}.work-library-terms,.work-library-results{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-content:start;gap:2px 10px;min-height:0;padding:8px 10px;display:grid;overflow:auto}.work-library-terms label,.work-library-results label{min-height:28px;color:var(--text);cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:0 7px;font-size:12px;display:grid}.work-library-terms label:hover,.work-library-results label:hover{background:var(--panel-raised)}.work-library-terms label.is-picked,.work-library-results label.is-picked{background:color-mix(in srgb, var(--accent) 16%, transparent)}.work-library-terms input,.work-library-results input{accent-color:var(--accent);margin:0}.work-library-results{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.work-library-results small{color:var(--muted);font-size:10px}.work-library-empty{color:var(--muted);grid-column:1/-1;margin:12px 0;font-size:12px}.work-library>footer{border-top:1px solid var(--line);background:var(--bg);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.work-library>footer>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);font-size:11px;overflow:hidden}.work-library>footer>div{gap:6px;display:flex}.work-library>footer .primary-tool:disabled{opacity:.45;cursor:not-allowed}@media (width<=900px){.work-library{width:auto;top:96px;left:12px}.work-library-browse{grid-template-columns:132px minmax(0,1fr)}}.gc-editor{--gc-line:#2c2c2e;--gc-line-bright:#3a3a3c;--gc-accent:#0a84ff;--gc-task:#0a84ff;--gc-table-tail:#18181a;--gc-gantt-tail:#1b1b1e;color:#f2f2f7;background:#1c1c1e;grid-template-rows:56px 48px minmax(0,1fr) 46px;height:100dvh;min-height:100dvh;display:grid;overflow:hidden}.gc-editor button,.gc-editor input{font:inherit;letter-spacing:0}.gc-editor button{color:inherit}.gc-editor button:focus-visible,.gc-editor input:focus-visible{outline-offset:1px;outline:2px solid #409cff}.gc-header,.gc-toolbar,.gc-status{border-bottom:1px solid var(--gc-line);background:#26262a;align-items:center;display:flex}.gc-header{justify-content:space-between;padding:0 12px}.gc-brand{align-items:center;gap:9px;min-width:250px;display:flex}.gc-brand>div{gap:2px;display:grid}.gc-brand strong{font-size:14px}.gc-brand span,.gc-save{color:#aeaeb2;font-size:11px}.gc-save{align-items:center;gap:6px;display:flex}.gc-save i{background:var(--gc-accent);border-radius:50%;width:7px;height:7px}.gc-icon-tool{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;place-items:center;width:34px;height:34px;display:inline-grid}.gc-icon-tool:hover:not(:disabled){border-color:var(--gc-line);background:#1c1c1e}.gc-icon-tool:active:not(:disabled){transform:translateY(1px)}.gc-icon-tool:disabled{opacity:.32;cursor:not-allowed}.gc-chart-picker{position:relative}.gc-chart-picker>button{border:1px solid var(--gc-line);cursor:pointer;background:#2c2c2e;border-radius:7px;align-items:center;gap:9px;height:33px;padding:0 10px;font-size:12px;display:flex}.gc-chart-picker strong{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.gc-chart-menu{z-index:30;border:1px solid var(--gc-line);width:410px;box-shadow:0 15px 36px #0000009;background:#26262a;border-radius:10px;padding:7px;position:absolute;top:40px;left:50%;transform:translate(-50%)}.gc-chart-rows{max-height:260px;overflow:auto}.gc-chart-rows>div{border-bottom:1px solid #26262a;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:40px;display:grid}.gc-chart-rows>div.active{box-shadow:inset 2px 0 var(--gc-accent);background:#1c1c1e}.gc-chart-rows>div>button{text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;min-width:0;padding:0 8px;overflow:hidden}.gc-chart-rows span{display:flex}.gc-chart-rows .gc-icon-tool{width:27px;height:27px}.gc-chart-rows input,.gc-chart-menu form input{border:1px solid var(--gc-line-bright);color:#fff;background:#131315;width:100%;height:30px;padding:0 7px}.gc-chart-menu form{grid-template-columns:1fr 36px;gap:5px;padding-top:7px;display:grid}.gc-chart-menu form .gc-icon-tool{background:#0060c0;border-color:#007aff}.gc-toolbar{justify-content:space-between;padding:6px 11px}.gc-toolbar>div{gap:2px;display:flex}.gc-print{background:var(--gc-accent);color:#fff;cursor:pointer;border:0;border-radius:7px;align-items:center;gap:6px;height:34px;padding:0 13px;font-size:12px;font-weight:500;display:inline-flex}.gc-error{z-index:20;color:#ffd9d6;background:#3a100e;border:1px solid #d0342b;padding:8px 11px;font-size:12px;position:absolute;top:110px;right:12px}.gc-workspace{grid-template-columns:var(--gc-table-width,640px) minmax(520px,1fr);min-height:0;display:grid;overflow:hidden}.gc-table,.gc-gantt{min-width:0;overflow:hidden}.gc-table{border-right:1px solid var(--gc-line-bright)}.gc-table-title,.gc-timeline-summary{border-bottom:1px solid var(--gc-line);background:#26262a;justify-content:space-between;align-items:center;height:31px;padding:0 11px;font-size:12px;display:flex}.gc-table-title small,.gc-timeline-summary span{color:#98989d}.gc-table-head,.gc-task-row{grid-template-columns:72px minmax(205px,1fr) 62px 112px 112px 92px;display:grid}.gc-table-head{border-bottom:1px solid var(--gc-line-bright);color:#98989d;background:#26262a;height:72px;font-size:11px}.gc-table-head span{border-right:1px solid var(--gc-line);place-items:center;display:grid}.gc-table-scroll{height:calc(100% - 103px);overflow:auto}.gc-task-row{height:var(--gc-row-height);min-height:var(--gc-row-height);background:#1c1c1e;border-bottom:1px solid #2c2c2e}.gc-task-row:hover,.gc-task-row.selected{background:#2c2c2e}.gc-task-row.selected{box-shadow:inset 3px 0 var(--gc-accent)}.gc-task-row>span{border-right:1px solid #26262a;align-items:center;min-width:0;display:flex}.gc-task-row input{width:100%;min-width:0;height:calc(var(--gc-row-height) - 6px);color:#e5e5ea;background:0 0;border:0;font-size:12px}.gc-task-row input[type=date]{font-size:11px}.gc-handle{color:#8e8e93;justify-content:center;gap:1px}.gc-handle button{cursor:pointer;color:#98989d;background:0 0;border:0;place-items:center;width:18px;height:22px;padding:0;display:grid}.gc-handle button:disabled{opacity:.3}.gc-handle svg:first-child{color:#636366}.gc-gantt{background:#1c1c1e}.gc-timeline-summary strong{color:#c7c7cc;font:11px Consolas,monospace}.gc-gantt-scroll{scrollbar-color:#48484a #131315;height:calc(100% - 31px);overflow:auto}.gc-timeline{min-width:100%;position:relative}.gc-scale{color:#98989d;background:#26262a;border-bottom:1px solid #3a3a3c;height:24px;font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:flex}.gc-elapsed{position:relative}.gc-elapsed span{position:absolute;top:7px;transform:translate(3px)}.gc-months span,.gc-days span{white-space:nowrap;border-right:1px solid #004a93;flex:none;place-items:center;display:grid;overflow:hidden}.gc-months{color:#c7c7cc}.gc-bars{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#002e5c calc(100% - 1px)),linear-gradient(#0000 calc(100% - 1px),#26262a calc(100% - 1px))}.gc-bar-row{height:var(--gc-row-height);border-bottom:1px solid #26262a;position:relative}.gc-bar-row.selected,.gc-bar-row:hover{background:#007aff12}.gc-bar{top:calc((var(--gc-row-height) - 20px)/2);background:var(--gc-task);height:20px;box-shadow:none;border:0;border-radius:3px;position:absolute}.gc-bar.depth-2{height:16px;top:calc((var(--gc-row-height) - 16px)/2)}.gc-bar.depth-3{height:12px;top:calc((var(--gc-row-height) - 12px)/2)}.gc-bar span{box-sizing:border-box;color:#fff;width:max-content;min-width:calc(100% - 10px);text-shadow:none;cursor:grab;-webkit-user-select:none;user-select:none;align-items:center;padding:0 5px;font-size:11px;display:flex;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.gc-bar i{z-index:2;cursor:ew-resize;background:#fff9;width:5px;position:absolute;top:1px;bottom:1px}.gc-bar i:first-child{left:1px}.gc-bar i:last-child{right:1px}.gc-status{border-top:1px solid var(--gc-line);color:#98989d;border-bottom:0;gap:13px;padding:0 11px;font-size:11px;overflow:auto}.gc-status>div,.gc-status label{white-space:nowrap;align-items:center;gap:4px;display:flex}.gc-status button{border:1px solid var(--gc-line);cursor:pointer;background:#131315;border-radius:3px;min-width:34px;height:25px}.gc-status button.active{border-color:var(--gc-accent);color:#fff;background:#004a93}.gc-status input[type=number]{border:1px solid var(--gc-line);color:#fff;background:#131315;width:45px;height:25px}.gc-status input[type=range]{width:90px;accent-color:var(--gc-accent)}.gc-context{z-index:50;border:1px solid var(--gc-line);width:168px;box-shadow:0 12px 30px #0000009;background:#26262a;border-radius:9px;margin:0;padding:5px;position:fixed}.gc-context button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;font-size:12px;display:flex}.gc-context button:hover:not(:disabled){background:#26262a}.gc-context button:disabled{opacity:.35}.gc-context .danger{color:#ffa39d}@media (width<=900px){.gc-editor{grid-template-rows:auto auto minmax(520px,1fr) auto;height:auto;min-height:100dvh}.gc-header{flex-wrap:wrap;gap:5px;min-height:56px;padding:7px}.gc-brand{min-width:0}.gc-brand span,.gc-save{display:none}.gc-chart-picker{margin-left:auto}.gc-toolbar{overflow:auto}.gc-workspace{grid-template-columns:470px minmax(620px,1fr);overflow:auto}.gc-status{min-height:50px}.gc-chart-menu{width:auto;position:fixed;top:62px;left:8px;right:8px;transform:none}.gc-table-head,.gc-task-row{grid-template-columns:60px 205px 56px 106px 106px 82px}}@media (prefers-reduced-motion:reduce){.gc-editor *{scroll-behavior:auto!important;transition:none!important}}.gc-number .gc-handle{cursor:grab}.gc-number .gc-handle:active{cursor:grabbing}.gc-field-visibility{white-space:nowrap;position:relative}.gc-field-visibility summary{border:1px solid var(--gc-line);cursor:pointer;background:#131315;border-radius:3px;align-items:center;height:25px;padding:0 7px;list-style:none;display:flex}.gc-field-visibility summary::-webkit-details-marker{display:none}.gc-field-visibility[open]>div{z-index:25;border:1px solid var(--gc-line-bright);min-width:112px;box-shadow:0 10px 28px #0000008;background:#131315;gap:5px;padding:8px;display:grid;position:absolute;bottom:31px;right:0}.gc-field-visibility label{cursor:pointer;align-items:center;gap:6px;display:flex}.gc-field-visibility input{accent-color:var(--gc-accent);margin:0}.gc-status output{white-space:nowrap}.gc-save.saving i{background:#ff9f0a}.gc-save.failed{color:#ffa39d}.gc-save.failed i{background:#ff453a}.gc-save-retry{color:#ffd9d6;cursor:pointer;white-space:nowrap;background:#3a1210;border:1px solid #ff453a;border-radius:4px;align-items:center;gap:4px;height:24px;padding:0 8px;font-size:11px;display:inline-flex}.gc-save-retry:hover{color:#fff;background:#5a1a17}@media (width<=900px){.gc-header .gc-save.failed{flex-basis:100%;justify-content:flex-end;display:flex}}.shortcut-dialog{color:#e5e5ea;background:#131315;border:1px solid #48484a;border-radius:6px;flex-direction:column;width:min(720px,100%);max-height:min(84dvh,760px);padding:18px;display:flex;box-shadow:0 20px 60px #00000073}.shortcut-dialog>header{border-bottom:1px solid #2c2c2e;align-items:center;gap:10px;padding-bottom:12px;display:flex}.shortcut-dialog>header h2{flex:1;margin:0;font-size:15px;font-weight:650}.shortcut-dialog>header>button{color:#98989d;cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;width:30px;height:30px;display:grid}.shortcut-dialog>header>button:hover{color:#fff;background:#2c2c2e}.shortcut-groups{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px 24px;padding:14px 2px;display:grid;overflow:auto}.shortcut-groups h3{color:#8e8e93;letter-spacing:.04em;margin:0 0 6px;font-size:11px;font-weight:600}.shortcut-groups dl{gap:2px;margin:0;display:grid}.shortcut-groups dl>div{grid-template-columns:158px minmax(0,1fr);align-items:baseline;gap:10px;padding:4px 0;display:grid}.shortcut-groups dt{flex-wrap:wrap;align-items:center;gap:3px;margin:0;display:flex}.shortcut-groups dt>span{align-items:center;gap:3px;display:inline-flex}.shortcut-groups dt i{color:#636366;font-size:10px;font-style:normal}.shortcut-groups kbd{color:#f2f2f7;text-align:center;background:#1c1c1e;border:1px solid #48484a;border-bottom-width:2px;border-radius:4px;min-width:20px;padding:2px 6px;font:11px/1.4 Consolas,Cascadia Mono,monospace}.shortcut-groups dd{color:#c7c7cc;margin:0;font-size:12px;line-height:1.5}.shortcut-dialog>footer{border-top:1px solid #2c2c2e;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.shortcut-dialog>footer small{color:#8e8e93;font-size:11px}:root[data-theme=light] .shortcut-dialog{color:#1c1c1e;background:#fff;border-color:#c7c7cc}:root[data-theme=light] .shortcut-dialog>header,:root[data-theme=light] .shortcut-dialog>footer{border-color:#e5e5ea}:root[data-theme=light] .shortcut-groups kbd{color:#1c1c1e;background:#f2f2f7;border-color:#c7c7cc}:root[data-theme=light] .shortcut-groups dd{color:#48484a}:root[data-theme=light] .gc-save-retry{color:#a20009;background:#fff1f0;border-color:#d70015}.gc-task-row>span:not(.gc-name){text-align:center;justify-content:center}.gc-number{position:relative;justify-content:center!important}.gc-number b{color:#8e8e93;font:10px Consolas,monospace}.gc-number .gc-handle{touch-action:none;display:grid;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.gc-name .vocabulary-autocomplete{flex:1;min-width:0}.gc-name .vocabulary-suggestions{left:0;right:0}.gc-name .vocabulary-suggestions li,.gc-name .vocabulary-suggestions span{border:0}.gc-table-head,.gc-task-row{grid-template-columns:var(--gc-table-columns,72px minmax(205px,1fr) 62px 112px 112px 92px)}.gc-table-head span{-webkit-user-select:none;user-select:none;position:relative}.gc-column-resizer{z-index:3;cursor:col-resize;touch-action:none;width:8px;height:100%;position:absolute;top:0;right:-4px}.gc-column-resizer:after{content:"";background:0 0;width:1px;position:absolute;top:9px;bottom:9px;left:3px}.gc-column-resizer:hover:after,.gc-column-resizer.is-resizing:after{background:#409cff}.gc-editor.is-resizing-column{cursor:col-resize;-webkit-user-select:none;user-select:none}.gc-editor.is-resizing-column *{cursor:col-resize!important}.gc-task-row.depth-2 .gc-name{padding-left:18px}.gc-task-row.depth-3 .gc-name{padding-left:36px}.gc-task-row,.gc-bar-row{will-change:transform}.gc-task-row.is-row-dragging,.gc-bar-row.is-row-dragging{opacity:.35}.gc-task-row.is-drop-before,.gc-bar-row.is-drop-before{box-shadow:inset 0 2px #409cff}.gc-task-row.is-drop-after,.gc-bar-row.is-drop-after{box-shadow:inset 0 -2px #409cff}.gc-task-row.is-drop-target,.gc-bar-row.is-drop-target{background:#007aff1c}.gc-row-placeholder{height:var(--gc-row-height);min-height:var(--gc-row-height);box-sizing:border-box;background:#007aff14;border:1px dashed #409cff}.gc-row-placeholder:after{color:#409cff;content:"松开以放置任务";align-items:center;height:100%;padding-left:12px;font-size:11px;display:flex}.gc-bar-row.gc-row-placeholder:after{display:none}.gc-flip-animating{z-index:2;will-change:transform;position:relative}@media (prefers-reduced-motion:no-preference){.gc-task-row,.gc-bar-row{transition:background-color .16s,box-shadow .16s,opacity .16s}.gc-row-placeholder{animation:.85s ease-in-out infinite alternate gc-drop-pulse}}@keyframes gc-drop-pulse{0%{border-color:#0060c0}to{background:#007aff29;border-color:#64aeff}}@media (width<=900px){.gc-table-head,.gc-task-row{grid-template-columns:60px 205px 56px 106px 106px 82px}}.gc-context{max-height:calc(100dvh - 16px);overflow-y:auto}.gc-table-scroll{height:calc(100% - 31px);padding-bottom:15px;overflow:hidden auto}.gc-table-scroll:not(.is-draft-editing){padding-bottom:515px}.gc-gantt-scroll:not(.is-draft-editing){padding-bottom:500px}.gc-table-scroll{background:var(--gc-table-tail)}.gc-gantt-scroll{background:var(--gc-gantt-tail)}.gc-table-scroll.is-draft-editing{padding-bottom:275px;scroll-padding-bottom:0}.gc-gantt-scroll.is-draft-editing{padding-bottom:260px;scroll-padding-bottom:0}.gc-table-scroll.is-draft-editing,.gc-gantt-scroll.is-draft-editing{overflow-anchor:none}.gc-table-scroll{scrollbar-width:none;-ms-overflow-style:none}.gc-table-scroll::-webkit-scrollbar{width:0;height:0}.gc-drag-date-preview{z-index:90;pointer-events:none;border:1px solid var(--gc-accent);background:var(--gc-line);max-width:calc(100vw - 28px);color:inherit;white-space:nowrap;box-shadow:0 4px 12px color-mix(in srgb,var(--gc-line) 70%,transparent);border-radius:3px;padding:6px 8px;font:12px/1.25 Consolas,monospace;position:fixed}.gc-bar .gc-bar-label{justify-content:center}.gc-bar .gc-bar-label--left{justify-content:flex-start;left:0;transform:none}.gc-bar .gc-bar-label--right{justify-content:flex-end;left:auto;right:0;transform:none}:root[data-theme=light] .gc-editor{--gc-line:#d8d8dc;--gc-line-bright:#c7c7cc;--gc-accent:#007aff;--gc-task:#007aff;--gc-table-tail:#f4f5f7;--gc-gantt-tail:#f8f9fb;color:#1c1c1e;background:#f2f2f7}:root[data-theme=light] .gc-gantt-scroll{scrollbar-color:#aeaeb2 #e5e5ea}:root[data-theme=light] .gc-gantt-scroll::-webkit-scrollbar{width:12px;height:12px}:root[data-theme=light] .gc-gantt-scroll::-webkit-scrollbar-track{background:#e5e5ea}:root[data-theme=light] .gc-gantt-scroll::-webkit-scrollbar-thumb{background:#aeaeb2;border:3px solid #e5e5ea;border-radius:6px}:root[data-theme=light] .gc-gantt-scroll::-webkit-scrollbar-thumb:hover{background:#8e8e93}:root[data-theme=light] .gc-header,:root[data-theme=light] .gc-toolbar,:root[data-theme=light] .gc-status,:root[data-theme=light] .gc-table-title,:root[data-theme=light] .gc-timeline-summary{color:#1c1c1e;background:#fff}:root[data-theme=light] .gc-icon-tool{color:#48484a}:root[data-theme=light] .gc-icon-tool:hover:not(:disabled){color:#1c1c1e;background:#e5e5ea;border-color:#c7c7cc}:root[data-theme=light] .gc-chart-picker>button,:root[data-theme=light] .gc-chart-menu,:root[data-theme=light] .gc-context{color:#1c1c1e;background:#fff;box-shadow:0 12px 30px #48484a2b}:root[data-theme=light] .gc-chart-rows>div{border-color:#d8d8dc}:root[data-theme=light] .gc-chart-rows>div.active{background:#e5e5ea}:root[data-theme=light] .gc-table-head{color:#636366;background:#f2f2f7}:root[data-theme=light] .gc-task-row{color:#2c2c2e;background:#fff;border-color:#d8d8dc}:root[data-theme=light] .gc-task-row:hover,:root[data-theme=light] .gc-task-row.selected{background:#e5e5ea}:root[data-theme=light] .gc-task-row>span{border-color:#d8d8dc}:root[data-theme=light] .gc-task-row input{color:#1c1c1e}:root[data-theme=light] .gc-gantt{background:#fff}:root[data-theme=light] .gc-scale{color:#636366;background:#f2f2f7;border-color:#d8d8dc}:root[data-theme=light] .gc-months{color:#3a3a3c}:root[data-theme=light] .gc-months span,:root[data-theme=light] .gc-days span{border-color:#aeaeb2}:root[data-theme=light] .gc-bars{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#c7c7cc calc(100% - 1px)),linear-gradient(#0000 calc(100% - 1px),#d8d8dc calc(100% - 1px))}:root[data-theme=light] .gc-bar-row{border-color:#d8d8dc}:root[data-theme=light] .gc-bar-row.selected,:root[data-theme=light] .gc-bar-row:hover{background:#004a9312}:root[data-theme=light] .gc-bar span{color:#fff;text-shadow:none;font-weight:500}:root[data-theme=light] .gc-status button,:root[data-theme=light] .gc-status input[type=number],:root[data-theme=light] .gc-field-visibility summary,:root[data-theme=light] .gc-field-visibility[open]>div{color:#1c1c1e;background:#fff}.gc-task-row,.gc-bar-row,.gc-task-draft-row{box-sizing:border-box}.gc-task-row.depth-2,.gc-task-row.depth-3{border-top:0}.gc-task-row.group-start,.gc-bar-row.group-start,.gc-task-row.sibling-start,.gc-bar-row.sibling-start{border-top:1px solid var(--gc-line-bright)}.gc-task-row,.gc-bar-row{border-bottom:0}.gc-task-row+.gc-task-row,.gc-bar-row+.gc-bar-row,.gc-task-draft-row,.gc-task-draft-bar-row{border-top:1px solid var(--gc-line-bright)}.gc-editor{--gc-cell-editor-bg:#1c1c1e;--gc-cell-editor-border:#0a84ff;--gc-cell-editing-tint:#26262a}.gc-task-row .gc-cell-text{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;padding:0 7px;overflow:hidden}.gc-task-row .gc-cell-text:empty:after{color:#636366;content:"—"}.gc-task-row input{width:100%;min-width:0;height:calc(var(--gc-row-height) - 4px);border:1px solid var(--gc-cell-editor-border);background:var(--gc-cell-editor-bg);color:#e8f2ff;font-size:inherit;text-align:inherit;border-radius:2px;padding:0 6px}.gc-task-row input[type=date]{min-width:148px;font-size:inherit}.gc-task-row>span.is-editing{background:var(--gc-cell-editing-tint);z-index:5;position:relative}.gc-task-row>span.is-active-cell{box-shadow:inset 0 0 0 2px var(--gc-cell-editor-border)}.gc-table-scroll:focus{outline:none}.gc-table-scroll:focus-visible{outline:2px solid var(--gc-accent);outline-offset:-2px}.gc-derived-rate{color:#8e8e93;white-space:nowrap;font-size:10px}.gc-error{z-index:60;color:#ffd9d6;max-width:min(420px,100vw - 32px);box-shadow:0 10px 28px #0000007;background:#3a100e;border:1px solid #d0342b;border-left-width:3px;border-radius:3px;align-items:flex-start;gap:10px;padding:9px 10px 9px 12px;font-size:12px;line-height:1.5;display:flex;position:fixed;top:112px;right:14px}.gc-error button{width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;flex:0 0 20px;place-items:center;padding:0;font-size:15px;line-height:1;display:grid}.gc-error button:hover{background:#ffffff1f}@media (prefers-reduced-motion:no-preference){.gc-error{animation:.14s ease-out gc-error-in}}@keyframes gc-error-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}:root[data-theme=light] .gc-editor{--gc-cell-editor-bg:#fff;--gc-cell-editor-border:#007aff;--gc-cell-editing-tint:#e8f2ff}:root[data-theme=light] .gc-task-row input{background:var(--gc-cell-editor-bg);border-color:var(--gc-cell-editor-border);color:#131315}:root[data-theme=light] .gc-task-row .gc-cell-text:empty:after{color:#98989d}:root[data-theme=light] .gc-error{color:#7f2620;background:#fff0ef;border-color:#ff453a;box-shadow:0 10px 28px #48484a26}:root[data-theme=light] .gc-error button:hover{background:#0000000f}.gc-task-row.is-editing-row{z-index:8;position:relative}.gc-library-open{border:1px solid var(--gc-line-bright);height:22px;color:inherit;cursor:pointer;background:0 0;border-radius:11px;align-items:center;gap:5px;margin-left:10px;padding:0 8px;font-size:11px;display:inline-flex}.gc-library-open:hover{border-color:var(--gc-accent);color:var(--gc-accent)}.gc-table-title{gap:0}.gc-bulk-delete{color:#ff9f9a;cursor:pointer;background:0 0;border:1px solid #ff453a;border-radius:3px;align-items:center;gap:5px;height:22px;margin-left:auto;margin-right:6px;padding:0 8px;font-size:11px;display:inline-flex}.gc-bulk-delete:hover{background:#ff453a1f}.gc-selection-marquee{z-index:45;pointer-events:none;background:#007aff20;border:1px solid #409cff;position:fixed}.gc-editor.is-marquee-selecting .gc-table-scroll,.gc-editor.is-marquee-selecting .gc-task-row,.gc-editor.is-marquee-selecting .gc-task-row *{-webkit-user-select:none;user-select:none}.gc-editor.is-marquee-mode .gc-table-scroll{cursor:crosshair}.gc-editor.is-marquee-mode .gc-task-row,.gc-editor.is-marquee-mode .gc-task-row *{-webkit-user-select:none;user-select:none}.gc-selection-mode{border:1px solid var(--gc-line-bright);color:#b8b8be;cursor:pointer;background:0 0;border-radius:3px;align-items:center;gap:5px;height:22px;margin-left:10px;padding:0 8px;font-size:11px;display:inline-flex}.gc-selection-mode:hover,.gc-selection-mode.active{border-color:var(--gc-accent);color:#66b5ff;background:#007aff1a}.gc-selection-mode.active{box-shadow:inset 0 0 0 1px var(--gc-accent)}.gc-task-row:hover{background:#2c2c2e}.gc-task-row.selected{box-shadow:inset 3px 0 var(--gc-accent),inset 0 0 0 1px #1f6fae;background:#123452!important}.gc-bar-row.selected{box-shadow:inset 3px 0 var(--gc-accent);background:#007aff26!important}:root[data-theme=light] .gc-task-row:hover{background:#f2f2f7}:root[data-theme=light] .gc-task-row.selected{box-shadow:inset 3px 0 var(--gc-accent),inset 0 0 0 1px #8ec8ff;background:#dceeff!important}:root[data-theme=light] .gc-task-row.selected:hover{background:#d2e9ff!important}:root[data-theme=light] .gc-bar-row.selected{box-shadow:inset 3px 0 var(--gc-accent);background:#007aff1c!important}.gc-table-title{justify-content:flex-start;gap:0}.gc-table-tools{flex:1;align-items:center;gap:8px;min-width:0;margin-left:12px;display:flex}.gc-table-tools small{margin-left:auto}.gc-selection-mode{justify-content:center;width:96px;margin-left:0}.gc-bulk-delete{margin-left:0;margin-right:0}.gc-library-open{margin-left:0}.gc-task-draft-row{grid-template-columns:var(--gc-table-columns,72px minmax(205px,1fr) 62px 112px 112px 92px);height:var(--gc-row-height);min-height:var(--gc-row-height);color:#8e8e93;background:#18181a;border-bottom:1px solid #2c2c2e;display:grid}.gc-task-draft-row>span{border-right:1px solid #26262a;align-items:center;min-width:0;display:flex}.gc-task-draft-row:hover{background:#202024}.gc-draft-number{color:#636366;justify-content:center}.gc-draft-name{padding:0}.gc-draft-trigger{color:#8e8e93;text-align:left;width:100%;height:100%;font:inherit;cursor:text;background:0 0;border:0;padding:0 7px}.gc-draft-trigger:hover{color:#c7c7cc}.gc-draft-trigger:focus-visible{outline:2px solid var(--gc-cell-editor-border);outline-offset:-2px}.gc-task-draft-row .vocabulary-autocomplete{width:100%}.gc-task-draft-row input{width:100%;min-width:0;height:calc(var(--gc-row-height) - 4px);border:1px solid var(--gc-cell-editor-border);background:var(--gc-cell-editor-bg);color:#e8f2ff;font-size:inherit;text-align:inherit;border-radius:2px;padding:0 6px}.gc-task-draft-row.is-editing-row{z-index:8;position:relative}.gc-task-draft-bar-row{pointer-events:none;background:0 0}.gc-editor.is-marquee-mode .gc-task-draft-row,.gc-editor.is-marquee-mode .gc-task-draft-row *{cursor:text;-webkit-user-select:text;user-select:text}:root[data-theme=light] .gc-task-draft-row{color:#8e8e93;background:#fafafa;border-color:#d8d8dc}:root[data-theme=light] .gc-task-draft-row>span{border-color:#d8d8dc}:root[data-theme=light] .gc-task-draft-row:hover{background:#f2f2f7}:root[data-theme=light] .gc-draft-trigger{color:#8e8e93}:root[data-theme=light] .gc-draft-trigger:hover{color:#48484a}:root[data-theme=light] .gc-task-draft-row input{background:var(--gc-cell-editor-bg);border-color:var(--gc-cell-editor-border);color:#131315}.gc-task-row.selected{color:#172b3a;background:#e4f3fc!important;box-shadow:inset 3px 0 #1599e8!important}.gc-task-row.selected:hover{background:#d9effc!important}.gc-task-row.selected>span{border-color:#c8e0ed}.gc-task-row.selected .gc-cell-text{color:#172b3a}.gc-task-row .gc-name.is-editing input,.gc-task-row .gc-duration.is-editing input{font-weight:600}.gc-task-row.selected input{color:#172b3a;background:0 0!important;border-color:#0000!important}.gc-task-row.selected .gc-derived-rate{color:#526575}.gc-task-row>span.is-editing{background:0 0}.gc-editor .gc-task-row.selected input,.gc-editor .gc-task-row.selected input:focus,.gc-editor .gc-task-row.selected input:focus-visible{outline-offset:0;box-shadow:none;outline:none;border:0!important}.gc-editor .gc-task-row.selected .vocabulary-autocomplete input{height:100%;padding:0 7px;background:0 0!important}:root:not([data-theme=light]) .gc-task-row.selected{color:#eef8ff;background:#143b56!important;box-shadow:inset 3px 0 #0a84ff!important}:root:not([data-theme=light]) .gc-task-row.selected:hover{background:#194866!important}:root:not([data-theme=light]) .gc-task-row.selected>span{border-color:#28516c}:root:not([data-theme=light]) .gc-task-row.selected .gc-cell-text,:root:not([data-theme=light]) .gc-task-row.selected input{color:#eef8ff!important}.gc-editor .gc-task-draft-row input,.gc-editor .gc-task-draft-row input:focus,.gc-editor .gc-task-draft-row input:focus-visible{outline-offset:0;box-shadow:none;background:0 0;border-color:#0000;outline:none}:root{color:#f2f2f7;font-synthesis:none;--bg:#1c1c1e;--panel:#26262a;--panel-raised:#2c2c2e;--line:#2c2c2e;--line-bright:#3a3a3c;--text:#f2f2f7;--muted:#98989d;--accent:#0a84ff;--task:#0a84ff;--row-height:40px;background:#1c1c1e;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow:hidden}button,input,select{font:inherit;letter-spacing:0}button{color:inherit}button,select,input{outline:none}button:focus-visible,select:focus-visible,input:focus-visible{box-shadow:0 0 0 2px #131315, 0 0 0 4px var(--accent)}.app-loading-screen{background:var(--bg);min-height:100dvh;color:var(--text);place-items:center;padding:24px;display:grid}.app-loading-indicator{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:6px;justify-items:center;gap:10px;min-width:min(280px,100%);padding:28px 32px;display:grid;box-shadow:0 16px 42px #00000038}.app-loading-indicator span{border:2px solid #3a3a3c;border-top-color:var(--accent);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite app-loading-spin}.app-loading-indicator strong{font-size:14px;font-weight:600}.app-loading-indicator small{color:var(--muted);font-size:11px}@keyframes app-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.app-loading-indicator span{animation:none}}.crash-screen{background:var(--bg);min-height:100dvh;color:var(--text);place-items:center;padding:24px;display:grid;overflow:auto}.crash-card{border:1px solid var(--line);background:var(--panel);border-radius:6px;justify-items:start;gap:12px;width:min(560px,100%);padding:24px;display:grid;box-shadow:0 16px 42px #00000047}.crash-icon{color:#ff6961;background:#ff453a29;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.crash-card h1{margin:0;font-size:17px;font-weight:650}.crash-card>p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.crash-detail{border:1px solid var(--line);color:#aeaeb2;white-space:pre-wrap;word-break:break-word;background:#131315;border-radius:4px;max-width:100%;max-height:140px;margin:0;padding:10px 12px;font:12px/1.5 Consolas,Cascadia Mono,monospace;overflow:auto}.crash-actions{flex-wrap:wrap;gap:8px;display:flex}.crash-status{margin:0;font-size:12px}.crash-status.success{color:var(--accent)}.crash-status.failed{color:#ff6961}.editor-shell,.print-shell{background:var(--bg);min-height:100dvh}.editor-shell{grid-template-rows:56px 50px minmax(0,1fr) 46px;height:100dvh;display:grid}.app-header,.toolbar,.statusbar{border-bottom:1px solid var(--line);background:#131315;align-items:center;display:flex}.app-header{justify-content:space-between;padding:0 14px}.brand-block,.brand-block>div,.chart-switcher,.save-state,.tool-group,.print-actions{align-items:center;display:flex}.brand-block{gap:10px;min-width:280px}.brand-block>div{flex-direction:column;align-items:flex-start;gap:2px}.brand-block strong{font-size:14px;font-weight:650}.brand-block span,.chart-switcher>span{color:var(--muted);font-size:11px}.icon-button{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:4px;place-items:center;width:34px;height:34px;display:grid}.icon-button:hover{background:var(--panel-raised);border-color:var(--line-bright)}.chart-switcher{border:1px solid var(--line);background:var(--panel);border-radius:4px;height:34px}.chart-switcher-wrap{position:relative}.chart-switcher>span{text-transform:uppercase;padding:0 9px}.chart-switcher button{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:18px;height:100%;padding:0 10px;font-size:13px;display:flex}.chart-panel{z-index:30;border:1px solid var(--line-bright);background:#131315;border-radius:5px;width:390px;padding:8px;position:absolute;top:41px;left:50%;transform:translate(-50%);box-shadow:0 18px 46px #00000080}.chart-panel header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:34px;padding:0 6px 7px;display:flex}.chart-panel header strong{font-size:12px}.chart-panel header button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.chart-list{max-height:270px;overflow:auto}.chart-list-row{border-bottom:1px solid #26262a;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:42px;display:grid}.chart-list-row.active{box-shadow:inset 2px 0 var(--accent);background:#1c1c1e}.chart-list-row input{color:#fff;border:1px solid var(--line-bright);background:#131315;height:30px;margin:5px;padding:0 7px}.chart-select{color:#d8d8dc;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:8px;min-width:0;height:41px;padding:0 8px;display:flex;overflow:hidden}.chart-select span{color:#8e8e93;width:22px;font:10px Cascadia Mono,monospace}.chart-row-tools{gap:2px;padding-right:4px;display:flex}.chart-row-tools button,.new-chart-form button{color:#98989d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;width:28px;height:28px;display:grid}.chart-row-tools button:hover:not(:disabled),.new-chart-form button:hover{color:#fff;border-color:var(--line);background:var(--panel-raised)}.chart-row-tools button:disabled{opacity:.3;cursor:not-allowed}.new-chart-form{grid-template-columns:1fr 32px;gap:5px;padding-top:8px;display:grid}.new-chart-form input{color:#fff;border:1px solid var(--line);background:#131315;border-radius:3px;min-width:0;height:32px;padding:0 8px}.new-chart-form button{color:#fff;background:#004a93;border-color:#0060c0;width:32px;height:32px}.save-state{color:#aeaeb2;justify-content:flex-end;gap:7px;min-width:170px;font-size:12px}.save-state i{background:var(--accent);border-radius:50%;width:7px;height:7px}.toolbar{gap:4px;padding:6px 12px}.tool-group{gap:3px}.toolbar-spacer{flex:1}.tool-button,.primary-tool,.secondary-action{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:7px;height:34px;display:inline-flex}.tool-button{color:#c7c7cc;background:0 0;min-width:60px;padding:0 9px;font-size:12px}.tool-button:hover{background:var(--panel-raised);border-color:var(--line);color:#fff}.primary-tool{color:#fff;background:#0060c0;border-color:#007aff;padding:0 14px;font-size:13px;font-weight:600}.primary-tool:hover{background:#0060c0}.primary-tool:active,.tool-button:active,.icon-button:active{transform:translateY(1px)}.workspace{grid-template-columns:minmax(660px,52%) minmax(520px,1fr);min-height:0;display:grid;overflow:hidden}.table-pane,.gantt-pane{min-width:0;overflow:hidden}.table-pane{border-right:1px solid var(--line-bright)}.table-titlebar,.scale-summary{border-bottom:1px solid var(--line);background:#131315;justify-content:space-between;align-items:center;height:31px;padding:0 12px;font-size:12px;display:flex}.table-titlebar small,.scale-summary span{color:var(--muted)}.grid-row{grid-template-columns:58px minmax(220px,1fr) 64px 86px 86px 82px;width:100%;display:grid}.table-header{border-bottom:1px solid var(--line-bright);color:#aeaeb2;text-align:center;background:#131315;height:72px;font-size:11px}.table-header span{border-right:1px solid var(--line);place-items:center;display:grid}.task-row{height:var(--row-height);text-align:left;cursor:pointer;color:#c7c7cc;background:#131315;border:0;border-bottom:1px solid #26262a;padding:0}.task-row:hover,.task-row.is-selected{background:#1c1c1e}.task-row.is-selected{box-shadow:inset 3px 0 var(--accent)}.task-row>span{white-space:nowrap;text-overflow:ellipsis;border-right:1px solid #26262a;align-items:center;min-width:0;padding:0 8px;font-size:12px;display:flex;overflow:hidden}.task-row .wbs{color:#8e8e93;justify-content:center;font-family:Cascadia Mono,monospace}.task-row .task-name{color:#e5e5ea;font-weight:500}.gantt-pane{background:#131315}.scale-summary strong{color:#c7c7cc;font:11px Cascadia Mono,monospace}.timeline-scroll{scrollbar-color:#48484a #131315;height:calc(100% - 31px);overflow:auto}.timeline{min-width:100%;position:relative}.elapsed-scale,.month-scale,.day-scale{color:#0a84ff;background:#131315;border-bottom:1px solid #004a93;height:24px;font:10px Cascadia Mono,monospace;display:flex;position:relative}.elapsed-scale span{position:absolute;top:7px;transform:translate(4px)}.month-scale span,.day-scale span{white-space:nowrap;border-right:1px solid #004a93;flex:none;place-items:center;display:grid;overflow:hidden}.month-scale span{color:#c7c7cc}.gantt-body{background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#002e5c calc(100% - 1px)),linear-gradient(#0000 calc(100% - 1px),#26262a calc(100% - 1px))}.gantt-row{height:var(--row-height);cursor:pointer;border-bottom:1px solid #26262a;position:relative}.gantt-row:hover,.gantt-row.is-selected{background:#33b6a512}.row-index{display:none}.task-bar{background:var(--task);border:1px solid #ff6961;min-width:12px;height:20px;position:absolute;top:10px;box-shadow:0 2px 7px #7e131352}.task-bar.depth-2{height:16px;top:12px}.task-bar.depth-3{height:12px;top:14px}.task-bar span{color:#fff;text-shadow:0 1px 2px #4d1512;white-space:nowrap;pointer-events:none;font-size:11px;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.task-bar i{z-index:1;cursor:ew-resize;background:#ffffff8a;width:4px;position:absolute;top:1px;bottom:1px}.task-bar i:first-child{left:1px}.task-bar i:last-child{right:1px}.statusbar{border-top:1px solid var(--line);min-width:0;color:var(--muted);border-bottom:0;gap:18px;padding:0 12px;font-size:11px;overflow-x:auto}.statusbar>div,.statusbar label{white-space:nowrap;align-items:center;gap:5px;display:flex}.status-label{margin-right:4px}.statusbar button{border:1px solid var(--line);cursor:pointer;background:#131315;border-radius:3px;min-width:38px;height:26px;font-size:11px}.statusbar button.active{color:#fff;border-color:var(--accent);background:#004a93}.statusbar input[type=number]{color:#fff;border:1px solid var(--line);background:#131315;border-radius:3px;width:46px;height:26px;padding:0 5px}.statusbar input[type=range]{width:100px;accent-color:var(--accent)}.statusbar output{color:#c7c7cc;min-width:34px}.backup-warning{white-space:nowrap;color:#ffb340;margin-left:auto}.print-shell{color:#1c1c1e;background:#26262a;height:100dvh;overflow:hidden}.print-toolbar{z-index:10;height:58px;color:var(--text);border-bottom:1px solid var(--line);background:#131315;justify-content:space-between;align-items:center;padding:0 18px;display:flex;position:sticky;top:0}.print-toolbar>div:not(.print-actions){flex-direction:column;align-items:center;gap:2px;display:flex}.print-toolbar strong{font-size:14px}.print-toolbar span{color:var(--muted);font-size:11px}.secondary-action{color:var(--text);border-color:var(--line);background:0 0;padding:0 12px}.print-actions{gap:14px}.print-action-split{align-items:stretch;display:inline-flex;position:relative}.print-action-split .primary-tool{border-radius:4px 0 0 4px}.print-action-menu{position:static}.print-action-menu summary{color:#fff;cursor:pointer;background:#0060c0;border:1px solid #007aff;border-left-color:#ffffff59;border-radius:0 4px 4px 0;place-items:center;width:32px;height:34px;list-style:none;display:grid}.print-action-menu summary::-webkit-details-marker{display:none}.print-action-menu summary:hover,.print-action-menu[open] summary{background:#004a93}.print-action-menu>div{z-index:20;box-sizing:border-box;border:1px solid var(--line-bright);background:var(--panel);border-radius:4px;min-width:288px;padding:3px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 18px #00000029}.print-action-menu>div button{width:100%;min-height:32px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:flex-start;gap:8px;padding:7px 10px;font-size:13px;display:flex}.print-action-menu>div button svg{flex:none;margin-top:2px}.print-action-menu>div button span{gap:2px;display:grid}.print-action-menu>div button small{color:var(--muted);font-size:11px;line-height:1.45}.print-action-menu>div button:hover small,.print-action-menu>div button:focus-visible small{color:#d8ecff}.print-action-menu>div button:disabled{opacity:.45;cursor:not-allowed}.print-action-menu>div button:hover,.print-action-menu>div button:focus-visible{color:#fff;background:#0060c0;outline:0}.print-export-progress{color:#ffb340;white-space:nowrap;font-size:11px}.print-notice-bar{z-index:30;border:1px solid var(--line-bright);background:#131315;border-radius:6px;align-items:center;gap:8px;width:min(760px,100% - 36px);padding:6px 8px 6px 12px;display:flex;position:fixed;top:68px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #0006}.print-notice-bar .inline-notice{flex:1;min-width:0}.print-notice-bar>button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;font-size:17px;display:grid}.print-notice-bar>button:hover{background:var(--panel-raised);color:var(--text)}.print-preview-mode{border:1px solid var(--line);border-radius:4px;height:30px;display:inline-flex;overflow:hidden}.print-preview-mode button{border:0;border-right:1px solid var(--line);min-width:54px;color:var(--muted);cursor:pointer;background:0 0;padding:0 8px;font-size:11px}.print-preview-mode button:last-child{border-right:0}.print-preview-mode button:hover{background:var(--panel-raised);color:var(--text)}.print-preview-mode button.active{color:#fff;background:#004a93}.print-zoom-tools{border:1px solid var(--line);border-radius:4px;align-items:center;height:30px;display:inline-flex;overflow:hidden}.print-zoom-tools button{border:0;border-right:1px solid var(--line);width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;place-items:center;display:grid}.print-zoom-tools button:last-child{border-right:0;border-left:1px solid var(--line)}.print-zoom-tools button:hover{background:var(--panel-raised);color:var(--accent)}.print-zoom-value{min-width:58px;height:30px;color:var(--muted);justify-content:center;align-items:center;padding:0 4px;font:11px Cascadia Mono,monospace;display:inline-flex}.print-zoom-value input{width:42px;color:inherit;font:inherit;text-align:right;background:0 0;border:0;outline:0;padding:0}.print-zoom-value input:focus{color:var(--text)}.print-zoom-value span{padding-left:1px}.print-layout{grid-template-columns:250px minmax(0,1fr);height:calc(100dvh - 58px);min-height:0;display:grid}.print-settings{color:var(--text);border-right:1px solid var(--line);background:#131315;padding:18px}.print-settings h2{margin:0 0 18px;font-size:14px}.print-settings>label,.print-settings fieldset{color:var(--muted);border:0;flex-direction:column;gap:7px;margin:0 0 18px;padding:0;font-size:11px;line-height:1.4;display:flex}.print-settings legend{color:var(--text);margin:0 0 4px;padding:0;font-size:12px;font-weight:600}.print-settings select,.print-settings input{border:1px solid var(--line);color:#e5e5ea;background:#131315;border-radius:4px;height:32px;padding:0 8px}.print-timeline-settings>label{color:var(--muted);gap:5px;display:grid}.print-range-control{grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:8px;display:grid}.print-derived-hint{color:var(--muted);opacity:.85;overflow-wrap:break-word;font-size:10px;line-height:1.5}.print-settings>label.print-autofit-option{color:var(--text);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 7px;font-size:12px;display:grid}.print-autofit-option input{accent-color:var(--accent);margin:0}.print-autofit-option .print-derived-hint{grid-column:1/-1}.print-settings .print-range-control input[type=range]:disabled{opacity:.4;cursor:not-allowed}.print-settings .print-range-control input[type=range]{width:100%;height:18px;accent-color:var(--accent);padding:0}.print-range-control output{color:var(--text);text-align:right;white-space:nowrap;font:11px Cascadia Mono,monospace}.segmented{border:1px solid var(--line);border-radius:4px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.segmented.three-way{grid-template-columns:repeat(3,1fr)}.segmented button{cursor:pointer;background:#131315;border:0;height:32px}.segmented button.active{color:#fff;background:#004a93}.margin-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.margin-grid label{align-items:center;gap:5px;display:flex}.margin-grid input{width:100%}.print-title-block-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;display:grid}.print-title-block-options>label{min-width:0;color:var(--text);cursor:pointer;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:5px;line-height:1.25;display:grid}.print-title-block-options input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin:0;padding:0}.paper-stage{min-width:0;min-height:0;position:relative;overflow:hidden}.paper-canvas{grid-template-columns:var(--paper-preview-page-width);grid-auto-rows:var(--paper-preview-page-height);place-content:center;justify-items:start;gap:var(--paper-preview-gap);box-sizing:content-box;width:max-content;min-width:100%;min-height:100%;padding:24px;display:grid}.paper-canvas.is-paged{grid-template-columns:repeat(var(--print-page-columns), var(--paper-preview-page-width))}.paper-stage.is-pannable{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:contain;overflow:auto}.paper-stage.is-pannable .paper-canvas{padding:var(--paper-pan-gutter-y) var(--paper-pan-gutter-x);place-content:start;justify-items:start}.paper-stage.is-pannable.is-panning{cursor:grabbing}.paper-stage.is-actual-size .paper-placeholder{max-width:none;max-height:none}.paper-placeholder{max-width:none;max-height:none;aspect-ratio:var(--paper-ratio);transform:scale(var(--paper-preview-zoom,1));transform-origin:0 0;background:#fff;place-items:center;display:grid;position:relative;box-shadow:0 12px 34px #00000052}.print-svg{width:100%;height:100%}.print-svg text{stroke:none}.print-table-column-resizers{pointer-events:none;position:absolute;left:0;right:0}.print-table-column-resize-handle{z-index:2;cursor:col-resize;pointer-events:auto;touch-action:none;background:0 0;border:0;width:12px;margin-left:-6px;padding:0;position:absolute;top:-4px;bottom:-4px}.print-table-column-resize-handle:after{content:"";opacity:0;background:#004a93;width:2px;transition:opacity .16s,transform .16s;position:absolute;top:0;bottom:0;left:5px}.print-table-column-resize-handle:hover:after,.print-table-column-resize-handle:focus-visible:after,.print-table-column-resize-handle.is-active:after{opacity:1;transform:scaleX(1.35)}.print-table-column-resize-handle:focus-visible{outline-offset:1px;outline:2px solid #004a93}.print-table-column-resize-guide{z-index:4;pointer-events:none;filter:drop-shadow(0 0 1px #fffc);border-left:2px dashed #004a93;width:0;position:absolute;transform:translate(-1px)}.print-table-column-resize-guide span{color:#002e5c;white-space:nowrap;background:#fff;border:1px solid #004a93;border-radius:2px;padding:2px 5px;font:10px Microsoft YaHei UI,sans-serif;position:absolute;top:-22px;left:5px}.projects-shell{min-height:100dvh;color:var(--text);background:#131315;overflow:auto}.projects-header{border-bottom:1px solid var(--line);background:#131315;justify-content:space-between;align-items:center;height:58px;padding:0 24px;display:flex}.product-mark,.product-mark>div,.local-badge,.projects-actions,.project-name-cell,.project-row-actions,.projects-footer{align-items:center;display:flex}.product-mark{color:var(--accent);gap:10px}.product-mark>div{flex-direction:column;align-items:flex-start;gap:1px}.product-mark strong{color:#f2f2f7;font-size:14px}.product-mark span{color:var(--muted);font-size:10px}.local-badge{color:#aeaeb2;gap:7px;font-size:11px}.projects-content{width:min(1180px,100% - 40px);margin:0 auto;padding:36px 0 20px}.projects-titlebar{border-bottom:1px solid var(--line);justify-content:flex-end;align-items:flex-end;gap:24px;padding-bottom:24px;display:flex}.projects-titlebar p{color:var(--accent);text-transform:uppercase;margin:0 0 6px;font:11px Cascadia Mono,monospace}.projects-titlebar h1{letter-spacing:0;margin:0;font-size:26px;font-weight:650;line-height:1.25}.projects-titlebar>div>span{color:var(--muted);margin-top:7px;font-size:12px;display:block}.projects-actions{gap:8px}.file-input{display:none}.inline-notice{border:1px solid var(--line);background:#131315;border-radius:4px;align-items:center;gap:8px;min-height:38px;margin-top:14px;padding:8px 11px;font-size:12px;display:flex}.inline-notice.success{color:#9dcbff;border-color:#004a93}.inline-notice.error{color:#ffa39d;background:#3a100e;border-color:#7f2620}.inline-notice.info{color:#c7c7cc}.create-project-row{border:1px solid var(--line-bright);background:#131315;grid-template-columns:auto minmax(240px,1fr) auto auto;align-items:center;gap:9px;margin-top:14px;padding:12px;display:grid}.create-project-row label{color:#c7c7cc;font-size:12px}.create-project-row input,.project-name-cell input{border:1px solid var(--line-bright);color:#fff;background:#131315;border-radius:3px;height:34px;padding:0 9px}.create-project-dialog{background:#131315;border:1px solid #48484a;border-radius:6px;width:min(620px,100%);padding:20px;box-shadow:0 20px 60px #00000073}.create-project-dialog header,.create-project-dialog footer{justify-content:space-between;align-items:center;display:flex}.create-project-dialog h2{margin:0;font-size:16px}.create-dialog-close{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:22px;line-height:1}.create-dialog-close:hover{color:#fff}.create-project-fields{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.create-project-fields label{color:#aeaeb2;gap:6px;font-size:11px;display:grid}.create-project-fields input{border:1px solid var(--line-bright);color:#fff;background:#131315;border-radius:3px;width:100%;height:35px;padding:0 9px;transition:border-color .16s,box-shadow .16s}.create-project-fields input:hover{border-color:#636366}.create-project-fields input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px #0060c033}.create-project-dialog footer{justify-content:flex-end;gap:8px}.quick-chart-dialog{width:min(420px,100%)}.quick-chart-field{color:#aeaeb2;gap:6px;margin:20px 0;font-size:11px;display:grid}.quick-chart-field input{border:1px solid var(--line-bright);color:#fff;background:#131315;border-radius:3px;width:100%;height:35px;padding:0 9px;transition:border-color .16s,box-shadow .16s}.quick-chart-field input:hover{border-color:#636366}.quick-chart-field input:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px #0060c033}.project-list-heading,.project-row{grid-template-columns:minmax(280px,1.6fr) 140px 130px 180px;align-items:center;display:grid}.project-list-heading{color:#8e8e93;border-bottom:1px solid var(--line);text-transform:uppercase;height:42px;margin-top:18px;padding:0 14px;font-size:10px}.project-list{gap:12px;display:grid}.project-group{background:#131315;border:1px solid #2c2c2e;border-radius:6px;overflow:hidden}.project-row{color:#aeaeb2;background:#131315;min-height:72px;padding:0 14px;font-size:12px;position:relative}.project-row:hover{background:#131315}.project-name-cell{gap:8px;min-width:0}.project-name-details{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.project-expand-toggle{color:#8e8e93;cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;place-items:center;width:24px;height:30px;display:grid}.project-expand-toggle:hover{color:var(--accent);background:#1c1c1e}.project-open-icon{width:36px;height:36px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);cursor:pointer;border:0;border-radius:8px;place-items:center;display:grid}.project-name-button{cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:8px 0;display:flex}.project-name-button strong{color:#e5e5ea;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.project-chart-list{border-left:1px solid #3a3a3c;flex-direction:column;gap:2px;margin-left:8px;padding-left:9px;display:flex}.project-chart-list span{color:#8e8e93;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.project-chart-rows{background:#131315;border-top:1px solid #26262a;display:grid}.project-chart-row{color:#98989d;border-bottom:1px solid #1c1c1e;grid-template-columns:minmax(280px,1.6fr) 140px 130px 180px;align-items:center;min-height:30px;font-size:11px;transition:background-color .16s,box-shadow .16s;display:grid}.project-chart-row:last-child{border-bottom:0}.project-chart-row:hover,.project-chart-row:focus-within{box-shadow:inset 3px 0 0 var(--accent);background:#1c1c1e}.project-chart-link{max-width:calc(100% - 76px);color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;grid-column:1;margin-left:76px;padding:0;display:block;overflow:hidden}.project-chart-link:hover{color:inherit;text-decoration:none}.project-chart-task-count{color:#98989d;font-variant-numeric:tabular-nums;grid-column:2;font-size:11px}.project-chart-date{color:#8e8e93;font-variant-numeric:tabular-nums;grid-column:3;font-size:11px}.project-chart-actions{grid-column:4;justify-content:flex-end;gap:3px;padding-right:14px;display:flex}.project-chart-actions button{color:#8e8e93;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;width:28px;height:28px;display:grid}.project-chart-actions button:hover{color:#fff;border-color:var(--line);background:var(--panel-raised)}.project-chart-actions .danger-icon:hover{color:#ff6961;border-color:#7f2620}.project-chart-rename-input{border:1px solid var(--line-bright);color:#fff;background:#131315;border-radius:3px;grid-column:1;width:calc(100% - 76px);height:28px;margin-left:76px;padding:0 7px}.project-name-cell input{width:min(360px,100% - 48px)}.project-row-actions{justify-content:flex-end;gap:4px}.project-row-actions button{color:#98989d;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px;place-items:center;width:32px;height:32px;display:grid}.project-row-actions button:hover{color:#fff;border-color:var(--line);background:var(--panel-raised)}.project-row-actions .danger-icon:hover{color:#ff6961;border-color:#7f2620}.project-row-actions .more-action,.project-mobile-menu{display:none}.projects-empty{border-bottom:1px solid var(--line);color:#8e8e93;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:310px;display:flex}.projects-loading{border-bottom:1px solid var(--line);place-items:center;min-height:310px;display:grid}.projects-loading span{border:2px solid #3a3a3c;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite projects-loading-spin}@keyframes projects-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.projects-loading span{animation:none}}.empty-demo-heading{color:var(--accent);align-items:center;gap:8px;display:flex}.empty-demo-heading h2{color:#d8d8dc;margin:0;font-size:16px}.empty-demo-gantt{text-align:left;background:#131315;border:1px solid #2c2c2e;width:min(720px,100%)}.empty-demo-axis,.empty-demo-row{grid-template-columns:130px 1fr;align-items:center;display:grid}.empty-demo-axis{color:#8e8e93;border-bottom:1px solid #2c2c2e;grid-template-columns:130px repeat(4,1fr);min-height:30px;font-size:10px}.empty-demo-axis span{border-left:1px dotted #3a3a3c;padding:0 8px}.empty-demo-axis span:first-child{border-left:0}.empty-demo-row{border-bottom:1px solid #26262a;min-height:34px;font-size:11px}.empty-demo-row:last-child{border-bottom:0}.empty-demo-row>span{color:#aeaeb2;padding:0 10px}.empty-demo-track{background:repeating-linear-gradient(90deg,#0000 0 calc(25% - 1px),#2c2c2e calc(25% - 1px) 25%);border-left:1px dotted #3a3a3c;align-items:center;height:100%;display:flex}.empty-demo-bar{border-radius:2px;height:12px;margin-left:8px;display:block}.empty-demo-bar.teal{background:#0060c0}.empty-demo-bar.blue{background:#007aff}.empty-demo-bar.amber{background:#ff9f0a}.empty-demo-bar.red{background:#d0342b}.projects-footer{justify-content:center;padding:18px 2px;font-size:12px}.projects-backup-warning{color:#8e8e93;text-align:center;justify-content:center;align-items:center;gap:7px;max-width:860px;line-height:1.55;display:inline-flex}.projects-backup-warning.is-dirty{color:#ffb340}.projects-backup-warning svg{flex:none}.projects-backup-link{color:inherit;font:inherit;text-underline-offset:3px;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.project-dirty-badge{color:#ffb340;white-space:nowrap;cursor:help;background:#3d2800;border:1px solid #7a5200;border-radius:3px;align-self:flex-start;align-items:center;gap:4px;padding:1px 6px;font-size:10px;line-height:1.6;display:inline-flex}.projects-backup-link:hover{color:#ffe0a3}.projects-backup-link:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #ffb340}.projects-backup-link:disabled{opacity:.5;cursor:not-allowed}.dialog-backdrop{z-index:50;background:#020505c2;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.confirm-dialog{background:#131315;border:1px solid #48484a;border-radius:6px;width:min(430px,100%);padding:18px;box-shadow:0 20px 60px #00000073}.confirm-dialog header{grid-template-columns:34px 1fr 32px;align-items:center;gap:9px;display:grid}.confirm-dialog h2{margin:0;font-size:15px}.dialog-icon{color:#ffb340;background:#3d2800;border:1px solid #7a5200;border-radius:4px;place-items:center;width:32px;height:32px;display:grid}.confirm-dialog header button{color:#8e8e93;cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:30px;display:grid}.confirm-dialog p{color:#aeaeb2;margin:16px 0 20px;font-size:12px;line-height:1.7}.confirm-dialog footer{justify-content:flex-end;gap:8px;display:flex}.danger-action{color:#fff;cursor:pointer;background:#7f2620;border:1px solid #d0342b;border-radius:4px;height:34px;padding:0 14px}.metadata-dialog{background:#131315;border:1px solid #48484a;border-radius:6px;width:min(620px,100%);padding:18px;box-shadow:0 20px 60px #00000073}.metadata-dialog header,.metadata-dialog footer{justify-content:space-between;align-items:center;display:flex}.metadata-dialog h2{margin:0;font-size:15px}.metadata-dialog header button{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.metadata-fields{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 12px;display:grid}.metadata-fields label{color:#98989d;gap:6px;font-size:11px;display:grid}.metadata-fields input{border:1px solid var(--line);color:#fff;background:#131315;border-radius:3px;width:100%;height:34px;padding:0 8px}.metadata-dialog p{color:#636366;margin:0 0 18px;font-size:10px}.metadata-dialog footer{justify-content:flex-end;gap:8px}.metadata-field-visibility{border-top:1px solid var(--line);margin:0 0 14px;padding-top:12px}.metadata-field-visibility h3{color:var(--text);margin:0 0 8px;font-size:12px}.metadata-field-visibility>div{flex-wrap:wrap;gap:7px 14px;display:flex}.metadata-field-visibility label{color:#98989d;cursor:pointer;align-items:center;gap:5px;font-size:11px;display:inline-flex}.metadata-field-visibility input{accent-color:var(--accent);margin:0}.metadata-field-visibility input:disabled{cursor:not-allowed;opacity:.65}.project-history{border-top:1px solid var(--line);margin:0 0 14px;padding-top:12px}.project-history-heading h3{color:var(--text);margin:0;font-size:12px}.project-history-heading p{color:#636366;margin:4px 0 8px;font-size:10px}.project-history-empty{color:#636366;padding:8px 0;font-size:11px;display:block}.project-history-list{border:1px solid var(--line);background:var(--line);gap:1px;max-height:176px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.project-history-list li{background:#131315;justify-content:space-between;align-items:center;gap:12px;min-height:43px;padding:6px 8px;display:flex}.project-history-list div{gap:2px;min-width:0;display:grid}.project-history-list time{color:#c7c7cc;font-variant-numeric:tabular-nums;font-size:11px}.project-history-list small{color:#636366;font-size:10px}.project-history-list .secondary-action{flex:none;height:28px;padding:0 9px;font-size:11px}.project-history-list button:disabled{cursor:wait;opacity:.6}@media (width<=900px){body{overflow:auto}.editor-shell{grid-template-rows:auto auto minmax(520px,1fr) auto;min-width:0;height:auto}.app-header{flex-wrap:wrap;gap:8px;min-height:58px;padding:8px}.brand-block{min-width:0}.brand-block span,.save-state{display:none}.chart-switcher{margin-left:auto}.chart-switcher>span{display:none}.chart-panel{width:auto;position:fixed;top:66px;left:8px;right:8px;transform:none}.toolbar{overflow-x:auto}.tool-button{min-width:36px}.tool-button span{display:none}.workspace{grid-template-columns:420px minmax(620px,1fr);overflow:auto}.grid-row{grid-template-columns:48px 220px 58px 74px 74px 72px}.statusbar{min-height:52px}.backup-warning{display:none}.print-layout{grid-template-columns:1fr}.print-settings{display:none}.paper-stage{padding:14px}.print-toolbar{padding:0 8px}.print-toolbar>div:not(.print-actions),.print-actions>span{display:none}.projects-header{padding:0 14px}.local-badge span{display:none}.projects-content{width:calc(100% - 24px);padding-top:22px}.projects-titlebar{flex-direction:column;align-items:flex-start;gap:17px}.projects-actions{width:100%}.projects-actions button{flex:1}.project-list-heading{display:none}.project-list{margin-top:18px}.project-row{grid-template-columns:minmax(0,1fr) auto;gap:5px;min-height:94px;padding:12px 10px}.project-row>span{display:none}.project-row-actions .more-action{display:grid}.project-row-actions button:not(.more-action):not(.danger-icon){display:none}.project-chart-row{grid-template-columns:minmax(0,1fr) auto auto auto;min-height:30px}.project-chart-link{max-width:calc(100% - 56px);margin-left:56px}.project-chart-task-count{grid-column:2}.project-chart-actions{grid-column:4;padding-right:6px}.project-chart-actions button{width:25px;height:28px}.project-chart-rename-input{width:calc(100% - 56px);margin-left:56px}.project-mobile-menu{z-index:10;border:1px solid var(--line-bright);background:#131315;border-radius:4px;width:150px;padding:4px;display:grid;position:absolute;top:57px;right:10px;box-shadow:0 12px 26px #0006}.project-mobile-menu button{color:#c7c7cc;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;height:34px;padding:0 9px;display:flex}.project-mobile-menu button:hover{background:#26262a}.project-mobile-menu .danger-menu{color:#ffa39d}.create-project-row{grid-template-columns:1fr 1fr}.create-project-row label,.create-project-row input{grid-column:1/-1}.create-project-fields{grid-template-columns:1fr}.projects-backup-warning{text-align:center;align-items:center}.project-chart-date{grid-column:2;margin-right:10px}.metadata-fields{grid-template-columns:1fr}}@media print{@page{size:A3 landscape;margin:0}html,body,#root{width:auto;min-width:0;height:auto!important;min-height:0!important}body{background:#fff;overflow:visible}.print-toolbar,.print-settings,.theme-toggle,.print-notice-bar,.dialog-backdrop{display:none!important}.print-shell{background:#fff;overflow:visible;height:auto!important;min-height:0!important}.print-layout,.paper-stage{background:#fff;height:auto;min-height:0;padding:0;display:block}.paper-canvas{width:auto;min-width:0;min-height:0;padding:0;display:block}.paper-placeholder{max-height:none;box-shadow:none;break-inside:avoid-page;page-break-inside:avoid;margin:0;display:block;overflow:hidden;width:calc(var(--paper-width-mm) * 1mm)!important;height:calc(var(--paper-height-mm) * 1mm - .25mm)!important;transform:none!important}.print-svg{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;display:block!important}.print-table-column-resizers,.print-table-column-resize-guide{display:none!important}}:root[data-theme=light]{color:#1c1c1e;--bg:#f2f2f7;--panel:#fff;--panel-raised:#e5e5ea;--line:#d8d8dc;--line-bright:#c7c7cc;--text:#1c1c1e;--muted:#636366;--accent:#007aff;--task:#007aff;background:#f2f2f7}.theme-toggle{z-index:45;border:1px solid var(--line-bright);background:var(--panel);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:4px;place-items:center;display:grid;position:fixed;bottom:14px;right:14px;box-shadow:0 8px 24px #0003}.theme-toggle--toolbar{z-index:auto;width:34px;height:34px;box-shadow:none;background:0 0;border-color:#0000;flex:none;position:static;bottom:auto;right:auto}.theme-toggle:hover{background:var(--panel-raised)}.theme-toggle--toolbar:hover{border-color:var(--line)}:root[data-theme=light] .app-header,:root[data-theme=light] .toolbar,:root[data-theme=light] .statusbar,:root[data-theme=light] .projects-header,:root[data-theme=light] .print-toolbar{color:var(--text);background:#f2f2f7}:root[data-theme=light] .projects-shell{background:var(--bg)}:root[data-theme=light] .product-mark strong,:root[data-theme=light] .project-name-button strong,:root[data-theme=light] .projects-empty h2{color:#1c1c1e}:root[data-theme=light] .empty-demo-gantt{background:#f2f2f7;border-color:#c7c7cc}.empty-demo-gantt .empty-demo-axis{color:#636366;border-color:#c7c7cc}.empty-demo-gantt .empty-demo-row{border-color:#e5e5ea}.empty-demo-row>span{color:#48484a}.empty-demo-track{background:repeating-linear-gradient(90deg,#0000 0 calc(25% - 1px),#d8d8dc calc(25% - 1px) 25%);border-color:#c7c7cc}:root[data-theme=light] .project-row,:root[data-theme=light] .create-project-row,:root[data-theme=light] .confirm-dialog,:root[data-theme=light] .metadata-dialog,:root[data-theme=light] .chart-panel{color:var(--text);background:#fff}:root[data-theme=light] .metadata-dialog{border-color:#c7c7cc;box-shadow:0 20px 60px #20363238}:root[data-theme=light] .metadata-dialog header button{color:#48484a}:root[data-theme=light] .metadata-dialog header button:hover{color:#1c1c1e;background:#e5e5ea}:root[data-theme=light] .metadata-fields label,:root[data-theme=light] .metadata-logo,:root[data-theme=light] .metadata-field-visibility label,:root[data-theme=light] .project-history-list time{color:#48484a}:root[data-theme=light] .project-history-heading p,:root[data-theme=light] .project-history-empty,:root[data-theme=light] .project-history-list small{color:#636366}:root[data-theme=light] .project-history-list{background:#c7c7cc}:root[data-theme=light] .project-history-list li{background:#fff}:root[data-theme=light] .metadata-fields input,:root[data-theme=light] .metadata-logo>input{color:#1c1c1e;background:#fff;border-color:#aeaeb2}:root[data-theme=light] .metadata-dialog p,:root[data-theme=light] .metadata-logo small{color:#636366}:root[data-theme=light] .project-row:hover,:root[data-theme=light] .chart-list-row.active{background:#e5e5ea}:root[data-theme=light] .project-group{background:#fff;border-color:#c7c7cc}:root[data-theme=light] .project-chart-rows{background:#f2f2f7;border-color:#d8d8dc}:root[data-theme=light] .project-chart-row{color:#636366;border-color:#e5e5ea}:root[data-theme=light] .project-chart-row:hover,:root[data-theme=light] .project-chart-row:focus-within{background:#f2f2f7}:root[data-theme=light] .create-project-dialog{background:#fff;border-color:#c7c7cc;box-shadow:0 20px 60px #20363238}:root[data-theme=light] .create-project-fields input{color:#1c1c1e;background:#fff;border-color:#c7c7cc}:root[data-theme=light] .create-project-fields input:hover{border-color:#aeaeb2}:root[data-theme=light] .create-project-fields input:focus-visible{border-color:#007aff;box-shadow:0 0 0 2px #007aff29}:root[data-theme=light] .create-project-fields label{color:#48484a}:root[data-theme=light] .create-dialog-close:hover{color:#1c1c1e}:root[data-theme=light] .quick-chart-field{color:#48484a}:root[data-theme=light] .quick-chart-field input{color:#1c1c1e;background:#fff;border-color:#c7c7cc}:root[data-theme=light] .quick-chart-field input:hover{border-color:#aeaeb2}:root[data-theme=light] .quick-chart-field input:focus-visible{border-color:#007aff;box-shadow:0 0 0 2px #007aff29}:root[data-theme=light] .project-name-cell input,:root[data-theme=light] .project-chart-rename-input{color:#1c1c1e;caret-color:#004a93;background:#fff;border-color:#8e8e93;box-shadow:inset 0 0 0 1px #147e7214}:root[data-theme=light] .project-name-cell input:focus,:root[data-theme=light] .project-chart-rename-input:focus{outline-offset:1px;outline:2px solid #004a93}:root[data-theme=light] .projects-backup-warning{color:#7a5200}:root[data-theme=light] .projects-backup-link{color:#b37400}:root[data-theme=light] .projects-backup-link:hover{color:#7a5200}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] .segmented button,:root[data-theme=light] .print-shell{background:#e5e5ea}:root[data-theme=light] .print-settings{color:var(--text);background:#f2f2f7}:root[data-theme=light] .print-preview-mode button{color:#48484a}:root[data-theme=light] .print-preview-mode button:hover{color:#1c1c1e;background:#e5e5ea}:root[data-theme=light] .print-preview-mode button.active{color:#fff;background:#004a93}:root[data-theme=light] .print-zoom-tools button{color:#48484a}:root[data-theme=light] .print-zoom-tools button:hover{color:#004a93;background:#e5e5ea}:root[data-theme=light] .print-zoom-value,:root[data-theme=light] .print-settings>label,:root[data-theme=light] .print-settings fieldset,:root[data-theme=light] .print-timeline-settings>label{color:#48484a}:root[data-theme=light] .print-settings select,:root[data-theme=light] .print-settings input:not([type=range]):not([type=checkbox]){color:#1c1c1e;caret-color:#1c1c1e;background:#fff;border-color:#aeaeb2}:root[data-theme=light] .print-settings select option{color:#1c1c1e;background:#fff}:root[data-theme=light] .print-settings .segmented{border-color:#aeaeb2}:root[data-theme=light] .print-settings .segmented button{color:#48484a;background:#fff}:root[data-theme=light] .print-settings .segmented button:hover:not(.active){color:#1c1c1e;background:#e5e5ea}:root[data-theme=light] .print-settings .segmented button.active{color:#fff;background:#004a93}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.metadata-logo{color:#98989d;gap:7px;margin-bottom:12px;font-size:11px;display:grid}.metadata-logo-error{color:#ff6961;font-size:11px;font-weight:600}.metadata-logo>input{height:auto;padding:7px}.metadata-logo>span{align-items:center;gap:10px;display:flex}.metadata-logo img{object-fit:contain;border:1px solid var(--line);background:#fff;width:72px;height:42px}.metadata-logo .metadata-logo-delete{color:#ffa39d;cursor:pointer;background:#3a100e;border:1px solid #d0342b;border-radius:4px;justify-content:center;align-items:center;gap:6px;min-width:112px;height:34px;padding:0 12px;font-size:12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.metadata-logo .metadata-logo-delete:hover{color:#fff0ef;background:#4d1512;border-color:#ff453a}.metadata-logo .metadata-logo-delete:focus-visible{outline-offset:2px;outline:2px solid #ff6961}:root[data-theme=light] .metadata-logo .metadata-logo-delete{color:#7f2620;background:#fff0ef;border-color:#ff453a}:root[data-theme=light] .metadata-logo .metadata-logo-delete:hover{color:#7f2620;background:#ffd9d6;border-color:#d0342b}
