.gantt-core-theme,.gantt-core-standalone,.gantt-core-header,.gantt-core-canvas{--gantt-core-line: #e2e8f0;--gantt-core-grid-line: #f1f5f9;--gantt-core-nonworking-band: #f1f5f9;--gantt-core-today: #365b9d;--gantt-core-text: #334155;--gantt-core-muted: #94a3b8;--gantt-core-panel: #ffffff}.gantt-core-standalone{color:var(--gantt-core-text);background:var(--gantt-core-panel);font-family:var(--gf-font-sans, "Inter Variable", Inter, ui-sans-serif, system-ui, sans-serif)}.gantt-core-standalone-layout{display:flex;min-width:0}.gantt-core-standalone-layout>.gantt-core-viewport{width:auto;min-width:0;flex:1 1 auto}.gantt-core-viewport{position:relative;width:100%}.gantt-core-scrollable{overflow:auto}.gantt-core-timeline-content{min-width:100%;position:relative}.gantt-core-readonly-banner{min-height:42px;display:flex;align-items:center;gap:16px;padding:0 20px;border-bottom:1px solid var(--gantt-core-line);background:#f8fafc}.gantt-core-readonly-title{display:inline-flex;align-items:center;gap:7px;color:#475569;font-size:11px;font-weight:700}.gantt-core-readonly-legend{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px;color:#475569;font-size:11px}.gantt-core-readonly-legend-item{display:inline-flex;align-items:center;gap:6px}.gantt-core-readonly-symbol{display:inline-block;flex:0 0 auto;background:#365b9d}.gantt-core-readonly-symbol-phase{width:18px;height:7px;border-radius:1px}.gantt-core-readonly-symbol-task{width:18px;height:9px;border-radius:3px;background:#b20000}.gantt-core-readonly-symbol-milestone{width:9px;height:9px;transform:rotate(45deg);background:#9b111e}.gantt-core-readonly-panel{position:relative;z-index:7;flex:0 0 250px;width:250px;border-right:1px solid var(--gantt-core-line);background:#fff}.gantt-core-readonly-panel-header{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border-bottom:1px solid var(--gantt-core-line);color:#64748b;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gantt-core-readonly-panel-header span{height:32px;display:flex;align-items:center}.gantt-core-readonly-duration-heading{color:#94a3b8;letter-spacing:0;text-transform:none}.gantt-core-readonly-panel-row{box-sizing:border-box;display:flex;align-items:center;gap:7px;padding-right:10px;border-bottom:1px solid var(--gantt-core-grid-line);overflow:hidden;white-space:nowrap}.gantt-core-readonly-kind{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:#cbd5e1}.gantt-core-readonly-kind-group{width:3px;height:14px;border-radius:2px;background:var(--gantt-core-row-color)}.gantt-core-readonly-kind-milestone{width:8px;height:8px;border-radius:0;transform:rotate(45deg);background:var(--gantt-core-row-color)}.gantt-core-readonly-label{min-width:0;overflow:hidden;color:#334155;font-size:13px;font-weight:500;line-height:1;text-overflow:ellipsis}.gantt-core-readonly-panel-row[data-gantt-core-row-kind=group] .gantt-core-readonly-label,.gantt-core-readonly-panel-row[data-gantt-core-row-kind=milestone] .gantt-core-readonly-label{color:#0f172a}.gantt-core-readonly-panel-row[data-gantt-core-row-kind=group] .gantt-core-readonly-label{font-weight:800}.gantt-core-readonly-panel-row[data-gantt-core-row-kind=milestone] .gantt-core-readonly-label{font-weight:700}.gantt-core-readonly-duration{min-width:34px;margin-left:auto;flex:0 0 auto;color:#64748b;font-size:10.5px;font-weight:600;line-height:1;text-align:right}.gantt-core-readonly-footer{display:flex;align-items:center;gap:16px;padding:10px 20px;border-top:1px solid var(--gantt-core-line);background:#f8fafc;color:#475569;font-size:11px}.gantt-core-header{height:64px;position:relative;background:#fff;border-bottom:1px solid var(--gantt-core-line);-webkit-user-select:none;-moz-user-select:none;user-select:none}.gantt-core-header-groups{height:32px;position:relative;border-bottom:1px solid var(--gantt-core-line)}.gantt-core-header-group{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--gantt-core-line);font-size:11px;font-weight:700;letter-spacing:.08em;color:#1e293b;white-space:nowrap;overflow:hidden}.gantt-core-header-columns{height:32px;position:relative}.gantt-core-header-column{box-sizing:border-box;position:absolute;top:0;height:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid var(--gantt-core-grid-line);color:#64748b;font-size:10px;font-weight:600;line-height:1.05;white-space:nowrap;overflow:hidden}.gantt-core-header-primary{line-height:1.05}.gantt-core-header-secondary{color:#cbd5e1;font-size:9px;font-weight:400;line-height:1.05;text-transform:uppercase}.gantt-core-today-pill{position:absolute;z-index:3;bottom:5px;transform:translate(-50%);border-radius:999px;background:var(--gantt-core-today);padding:2px 10px;color:#fff;font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 1px 3px #0f172a33}.gantt-core-canvas{position:relative;isolation:isolate;background:#fff;overflow-anchor:none}.gantt-core-grid,.gantt-core-dependencies,.gantt-core-dependency-hits{position:absolute;inset:0;pointer-events:none}.gantt-core-dependency-hits{pointer-events:auto;z-index:4;overflow:visible}.gantt-core-grid-column{position:absolute;top:0;bottom:0;border-right:1px solid var(--gantt-core-grid-line);box-sizing:border-box}.gantt-core-nonworking{background:var(--gantt-core-nonworking-band)}.gantt-core-grid-row{position:absolute;left:0;right:0;border-bottom:1px solid var(--gantt-core-grid-line)}.gantt-core-state-row{position:absolute;left:0;right:0;pointer-events:none}.gantt-core-critical-row{background:#fee2e299}.gantt-core-contains-critical-row{background:#fef2f273}.gantt-core-today-line{position:absolute;top:0;bottom:0;z-index:5;border-left:1px solid rgb(54 91 157 / .65);pointer-events:none}.gantt-core-dependencies{z-index:2;overflow:visible}.gantt-core-bar-container{--gantt-core-bar-color: #7690bd;position:absolute;z-index:6;height:24px;min-height:24px;border-radius:2px;box-sizing:border-box;background:var(--gantt-core-bar-color);color:#fff;cursor:grab;min-width:2px;box-shadow:inset 0 0 0 1px #0f172a0a}.gantt-core-bar-container:focus-visible,.gantt-core-selected{outline:2px solid #365b9d;outline-offset:2px}.gantt-core-bar-container:active{cursor:grabbing}.gantt-core-bar-container.gantt-core-static{cursor:default}.gantt-core-bar-container.gantt-core-critical{background:#ef4444}.gantt-core-bar-container.gantt-core-contains-critical{border-left:2px dashed #ef4444}.gantt-core-bar-container.gantt-core-viewed{box-shadow:0 0 0 3px #365b9d73,inset 0 0 0 1px #0f172a0a}.gantt-core-bar-container.gantt-core-locked{cursor:not-allowed;opacity:.8;box-shadow:0 0 0 2px #f59e0b}.gantt-core-bar-container.gantt-core-dragging{z-index:50}.gantt-core-bar-fill{position:absolute;inset:0 auto 0 0;background:#0f172a29;border-radius:inherit;pointer-events:none}.gantt-core-bar-label{position:absolute;inset:0;z-index:2;padding:0 8px;overflow:hidden;line-height:24px;color:#fff;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 1px rgb(15 23 42 / .18);pointer-events:none}.gantt-core-companions{position:absolute;left:calc(100% + 8px);top:-2px;z-index:5;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;pointer-events:none}.gantt-core-bar-container.gantt-core-label-before .gantt-core-companions{right:calc(100% + 8px);left:auto}.gantt-core-outside-label{color:#475569;font-size:11px;font-weight:600;line-height:20px;white-space:nowrap}.gantt-core-outside-label small{color:#94a3b8;font-size:10px;font-weight:400}.gantt-core-group{height:24px;min-height:24px;background:transparent;box-shadow:none}.gantt-core-group-rail{position:absolute;top:8px;left:0;right:0;height:8px;border-radius:0;overflow:hidden;background:color-mix(in srgb,var(--gantt-core-bar-color) 72%,white)}.gantt-core-group-rail:before,.gantt-core-group-rail:after{content:"";position:absolute;top:0;z-index:1;width:0;height:0;border-top:5px solid var(--gantt-core-bar-color)}.gantt-core-group-rail:before{left:0;border-right:5px solid transparent}.gantt-core-group-rail:after{right:0;border-left:5px solid transparent}.gantt-core-group-label{position:absolute;left:0;bottom:calc(50% + 8px);display:inline-flex;align-items:center;gap:8px;color:#475569;font-size:12px;white-space:nowrap}.gantt-core-group-label strong{font-weight:700}.gantt-core-group-label small{border-radius:3px;background:#ffffffa6;padding:1px 4px;color:#94a3b8;font-size:10px;font-weight:400}.gantt-core-row-icons{position:absolute;z-index:3;right:calc(100% + 8px);top:2px;display:inline-flex;gap:4px;font-size:11px;font-weight:800;color:#f59e0b;pointer-events:none}.gantt-core-row-icons span{display:grid;place-items:center;min-width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 3px #0f172a2e}.gantt-core-row-icons span+span{color:#ef4444}.gantt-core-assignees{display:inline-flex;align-items:center;pointer-events:auto}.gantt-core-avatar{width:22px;height:22px;margin-left:-5px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid #fff;border-radius:999px;color:#fff;font-size:8px;font-weight:800;box-sizing:border-box}.gantt-core-avatar:first-child{margin-left:0}.gantt-core-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.gantt-core-avatar-overflow{background:#e2e8f0;color:#475569}.gantt-core-resize-handle,.gantt-core-progress-handle,.gantt-core-connector{position:absolute;z-index:10;border:0;background:transparent;padding:0;opacity:0;transition:opacity .14s ease}.gantt-core-bar-container:hover .gantt-core-resize-handle,.gantt-core-bar-container:hover .gantt-core-progress-handle,.gantt-core-bar-container:hover .gantt-core-connector,.gantt-core-selected .gantt-core-resize-handle{opacity:1}.gantt-core-resize-handle{top:0;bottom:0;width:10px;cursor:col-resize}.gantt-core-resize-start{left:-3px}.gantt-core-resize-end{right:-3px}.gantt-core-resize-handle:after{content:"";position:absolute;top:6px;bottom:6px;width:3px;border-radius:99px;background:#ffffffe6}.gantt-core-resize-start:after{left:3px}.gantt-core-resize-end:after{right:3px}.gantt-core-progress-handle{bottom:-10px;width:0;height:0;transform:translate(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:6px solid #475569;cursor:ew-resize}.gantt-core-connector{top:50%;width:11px;height:11px;transform:translateY(-50%);border:2px solid #fff;border-radius:999px;background:#365b9d;box-shadow:0 1px 4px #0f172a40;cursor:crosshair}.gantt-core-connector-left{left:-15px}.gantt-core-connector-right{right:-15px}.gantt-core-milestone-wrap{position:absolute;z-index:20;width:24px;height:24px}.gantt-core-milestone-guide{position:absolute;z-index:1;border-left:2px dashed;opacity:.6;pointer-events:none}.gantt-core-milestone{position:absolute;top:0;left:0;z-index:2;width:24px;height:24px;min-width:24px;min-height:24px;display:grid;place-items:center;color:var(--gantt-core-bar-color, #365b9d);cursor:pointer}.gantt-core-milestone.gantt-core-viewed{border-radius:4px;box-shadow:0 0 0 3px #365b9d73}.gantt-core-milestone.gantt-core-locked{cursor:not-allowed;opacity:.8}.gantt-core-milestone.gantt-core-static{cursor:default}.gantt-core-milestone-label{position:absolute;left:28px;top:2px;display:inline-flex;align-items:center;gap:8px;color:#475569;font-size:11px;white-space:nowrap}.gantt-core-milestone-wrap.gantt-core-label-before .gantt-core-milestone-label{right:28px;left:auto}.gantt-core-milestone-label strong{font-weight:700}.gantt-core-milestone-label small{border-radius:3px;background:#ffffffa6;padding:1px 4px;color:#94a3b8;font-size:10px;font-weight:400}.gantt-core-milestone-circle{width:14px;height:14px;border-radius:50%;background:currentColor}.gantt-core-milestone-diamond{width:14px;height:14px;transform:rotate(45deg);background:currentColor}.gantt-core-milestone-star,.gantt-core-milestone-flag,.gantt-core-milestone-check{color:currentColor;font-size:21px;line-height:1}.gantt-core-milestone-flag{font-size:23px}.gantt-core-milestone-check{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:currentColor;color:#fff;font-size:12px;font-weight:900}.gantt-core-drag-guide{position:absolute;top:-16px;bottom:-16px;width:0;border-left:1px dashed rgb(54 91 157 / .5);pointer-events:none}.gantt-core-drag-guide-start{left:0}.gantt-core-drag-guide-end{right:0}.gantt-core-drag-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:60;transform:translate(-50%);border-radius:4px;background:#1e293b;padding:4px 8px;color:#fff;font-size:11px;line-height:1.2;white-space:nowrap;box-shadow:0 4px 12px #0f172a40;pointer-events:none}.gantt-core-dependency-menu{position:fixed;z-index:200;min-width:190px;overflow:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a2e}.gantt-core-dependency-menu-title{padding:8px 12px 4px;color:#94a3b8;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.gantt-core-dependency-menu button{display:block;width:100%;border:0;padding:8px 12px;background:#fff;color:#334155;text-align:left;font:inherit;font-size:12px;cursor:pointer}.gantt-core-dependency-menu button:hover{background:#f8fafc}.gantt-core-dependency-menu .gantt-core-dependency-delete{margin-top:3px;border-top:1px solid #f1f5f9;color:#e11d48}.detail-hero-glow[data-astro-cid-rinh55hk]{background:radial-gradient(circle,#b200000f,#fff0 70%)}.detail-display-title[data-astro-cid-rinh55hk]{color:#0a0a0a;font-family:var(--gf-font-sans);font-size:clamp(2.375rem,4.8vw,3.75rem);font-weight:900;letter-spacing:-.038em;line-height:1;text-wrap:balance}.detail-meta-row[data-astro-cid-rinh55hk]{align-items:baseline;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;justify-content:space-between;padding:.6875rem 0}.detail-meta-row[data-astro-cid-rinh55hk] dt[data-astro-cid-rinh55hk]{color:#475569;font-size:13px}.detail-meta-row[data-astro-cid-rinh55hk] dd[data-astro-cid-rinh55hk]{color:#0a0a0a;font-size:14px;font-weight:700;text-align:right}.detail-intro[data-astro-cid-rinh55hk] p{margin:0 0 18px}.detail-intro[data-astro-cid-rinh55hk] h2{color:#0a0a0a;margin:0 0 14px}.detail-intro[data-astro-cid-rinh55hk] p:last-child{margin-bottom:0}.detail-related-card[data-astro-cid-rinh55hk]{box-shadow:0 1px 2px #0a0a0a0a;transition:border-color .15s,box-shadow .15s,transform .15s}.detail-related-card[data-astro-cid-rinh55hk]:hover{border-color:#cbd5e1;box-shadow:0 12px 32px -26px #0a0a0a61;transform:translateY(-3px)}.detail-preview-bar[data-astro-cid-rinh55hk]{background:linear-gradient(to right,transparent 0 var(--bar-left),var(--bar-color) var(--bar-left) calc(var(--bar-left) + var(--bar-width)),transparent calc(var(--bar-left) + var(--bar-width)) 100%)}.detail-cta-glow[data-astro-cid-rinh55hk]{background:radial-gradient(ellipse at 50% 0%,#b200001c,#fff0 70%)}@media(max-width:639px){.detail-display-title[data-astro-cid-rinh55hk]{font-size:clamp(2.25rem,10vw,3rem)}}
