:root{--font-family-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-display:"Inter", system-ui, sans-serif;--font-family-mono:ui-monospace, "JetBrains Mono", "IBM Plex Mono", SFMono-Regular, Menlo, monospace;--font-family-cell:var(--font-family-sans);--color-accent:#5e6ad2;--color-accent-hover:#4d58c9;--color-accent-bg:#eef0fa;--color-accent-contrast:#fff;--color-bg:#fff;--color-bg-subtle:#f7f8fa;--color-bg-hover:#f4f5f8;--color-bg-selected:#eef0fa;--color-border:#e1e4e8;--color-border-strong:#c5cad3;--color-text:#0e1116;--color-text-muted:#6b7280;--color-text-subtle:#8c92a0;--color-success:#059669;--color-success-bg:#ecfdf5;--color-warning:#b86000;--color-warning-bg:#fffbeb;--color-warning-text:#b45309;--color-danger:#ef4444;--color-danger-bg:#fef2f2;--color-info:#3b82f6;--color-info-bg:#eff6ff;--header-letter-spacing:normal;--header-text-transform:none;--header-font-weight:var(--font-weight-semibold);--button-text-transform:none;--row-divider-color:var(--color-border);--shadow-effect:0 1px 2px #0f11160a;--shadow-effect-strong:0 12px 24px #0f11161f;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:13px;--font-size-md:14px;--font-size-lg:16px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height-tight:1.2;--line-height-normal:1.5;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-pill:999px;--shadow-sm:0 1px 2px #0f11160a;--shadow-md:0 4px 8px #0f111614;--shadow-lg:0 12px 24px #0f11161f;--row-height:30px;--control-height-sm:26px;--control-height-md:32px;--header-height:48px;--transition-fast:.12s ease;--transition-base:.18s ease;--z-dropdown:600;--z-sticky:500;--z-modal:1000;--z-popover:1100;--z-toast:1200;--color-focus-ring:var(--color-accent);--color-status-1:#546e7a;--color-status-2:#c05c00;--color-status-3:#0284c7;--color-status-4:#9333ea;--color-status-5:#16a34a;--color-status-6:#6b7280}:root[data-theme=industrial]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-family-sans:"IBM Plex Sans", system-ui, sans-serif;--font-family-display:"JetBrains Mono", ui-monospace, monospace;--font-family-mono:"JetBrains Mono", "IBM Plex Mono", ui-monospace, monospace;--font-family-cell:"JetBrains Mono", ui-monospace, monospace;--color-accent:#ffb020;--color-accent-hover:#ffc044;--color-accent-bg:#2a2008;--color-accent-contrast:#0a0a0a;--color-bg:#0a0a0a;--color-bg-subtle:#141414;--color-bg-hover:#1c1c1c;--color-bg-selected:#2a2008;--color-border:#262626;--color-border-strong:#3a3a3a;--color-text:#e8e6e0;--color-text-muted:#888;--color-text-subtle:#7a7a7a;--color-success:#4ade80;--color-success-bg:#0a2a14;--color-warning:#ffb020;--color-warning-bg:#2a2008;--color-warning-text:#ffb020;--color-danger:#ff4d4d;--color-danger-bg:#2a0a0a;--color-info:#60a5fa;--color-info-bg:#0a1830;--header-letter-spacing:.08em;--header-text-transform:uppercase;--header-font-weight:500;--button-text-transform:uppercase;--row-divider-color:#1a1a1a;--shadow-effect:none;--shadow-effect-strong:0 0 0 1px #3a3a3a;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-pill:0;--shadow-sm:none;--shadow-md:0 0 0 1px #262626;--shadow-lg:0 0 0 1px #3a3a3a;--row-height:28px;--control-height-sm:26px;--control-height-md:30px;--header-height:44px;--font-size-xs:10px;--font-size-sm:11px;--font-size-base:12px;--font-size-md:13px;--font-size-lg:15px;--z-dropdown:600;--z-sticky:500;--z-modal:1000;--z-popover:1100;--z-toast:1200;--color-focus-ring:#ffb020;--color-status-1:#78909c;--color-status-2:#ffb020;--color-status-3:#38bdf8;--color-status-4:#c084fc;--color-status-5:#4ade80;--color-status-6:#6b7280}:root[data-theme=editorial]{--font-family-sans:"Inter Tight", system-ui, sans-serif;--font-family-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-family-mono:"IBM Plex Mono", ui-monospace, monospace;--font-family-cell:"Inter Tight", system-ui, sans-serif;--color-accent:#7c2d2d;--color-accent-hover:#5c1f1f;--color-accent-bg:#f0e6da;--color-accent-contrast:#f5f1ea;--color-bg:#f5f1ea;--color-bg-subtle:#ebe6dc;--color-bg-hover:#e2dbcd;--color-bg-selected:#e2d1c2;--color-border:#c8bfaf;--color-border-strong:#9c9080;--color-text:#1a0f0a;--color-text-muted:#5c4a3e;--color-text-subtle:#8a7868;--color-success:#2d5a2d;--color-success-bg:#e8e8d6;--color-warning:#8b5a1a;--color-warning-bg:#f0e2c6;--color-warning-text:#6b3e0a;--color-danger:#8b1a1a;--color-danger-bg:#f2dcdc;--color-info:#1a3a6b;--color-info-bg:#dce2f0;--header-letter-spacing:-.01em;--header-text-transform:none;--header-font-weight:600;--button-text-transform:none;--row-divider-color:#d8cfc0;--shadow-effect:0 1px 0 #1a0f0a0f;--shadow-effect-strong:0 8px 32px #1a0f0a1a;--radius-sm:2px;--radius-md:2px;--radius-lg:3px;--radius-pill:999px;--shadow-sm:0 1px 0 #1a0f0a0f;--shadow-md:0 2px 8px #1a0f0a14;--shadow-lg:0 8px 32px #1a0f0a1a;--row-height:34px;--control-height-sm:28px;--control-height-md:34px;--header-height:56px;--font-size-base:14px;--font-size-md:15px;--z-dropdown:600;--z-sticky:500;--z-modal:1000;--z-popover:1100;--z-toast:1200;--color-focus-ring:#7c2d2d;--color-status-1:#576060;--color-status-2:#a0622a;--color-status-3:#2a5f7a;--color-status-4:#6b2d6b;--color-status-5:#2d5a2d;--color-status-6:#8a7868}:root[data-theme=brutalist]{--font-family-sans:"Space Mono", "IBM Plex Mono", ui-monospace, monospace;--font-family-display:"Space Mono", "IBM Plex Mono", ui-monospace, monospace;--font-family-mono:"IBM Plex Mono", ui-monospace, monospace;--font-family-cell:"IBM Plex Mono", ui-monospace, monospace;--color-accent:#000;--color-accent-hover:#1a1a1a;--color-accent-bg:#d4ff00;--color-accent-contrast:#d4ff00;--color-bg:#fff;--color-bg-subtle:#f5f5f0;--color-bg-hover:#d4ff00;--color-bg-selected:#d4ff00;--color-border:#000;--color-border-strong:#000;--color-text:#000;--color-text-muted:#2a2a2a;--color-text-subtle:#555;--color-success:#007a3d;--color-success-bg:#d4ff00;--color-warning:#c84a00;--color-warning-bg:#ffe0b0;--color-warning-text:#c84a00;--color-danger:#c8001a;--color-danger-bg:#ffb8b8;--color-info:#002080;--color-info-bg:#c8d8ff;--header-letter-spacing:0;--header-text-transform:uppercase;--header-font-weight:700;--button-text-transform:uppercase;--row-divider-color:#000;--shadow-effect:3px 3px 0 #000;--shadow-effect-strong:6px 6px 0 #000;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-pill:0;--shadow-sm:2px 2px 0 #000;--shadow-md:4px 4px 0 #000;--shadow-lg:6px 6px 0 #000;--row-height:32px;--control-height-sm:28px;--control-height-md:34px;--header-height:52px;--font-size-xs:10px;--font-size-sm:11px;--font-size-base:12px;--font-size-md:13px;--z-dropdown:600;--z-sticky:500;--z-modal:1000;--z-popover:1100;--z-toast:1200;--color-focus-ring:#d4ff00;--color-status-1:#000;--color-status-2:#c84a00;--color-status-3:#002080;--color-status-4:#8b005a;--color-status-5:#007a3d;--color-status-6:#555}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}*{scrollbar-color:var(--color-border-strong) var(--color-bg-subtle);scrollbar-width:thin}@supports not (scrollbar-color:auto){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-subtle)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill);border:2px solid var(--color-bg-subtle)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-theme=industrial] body{font-feature-settings:"cv02", "cv03", "cv04", "cv11";letter-spacing:.01em}:root[data-theme=industrial] .task-row td,:root[data-theme=industrial] .editable-cell-display,:root[data-theme=industrial] .editable-cell-readonly,:root[data-theme=industrial] .editable-cell-input{font-family:var(--font-family-cell);font-feature-settings:"tnum"}:root[data-theme=industrial] .task-table thead th{text-transform:var(--header-text-transform);letter-spacing:var(--header-letter-spacing);font-weight:var(--header-font-weight);font-size:var(--font-size-xs);color:var(--color-text-muted);border-bottom:1px solid var(--color-border-strong);background:var(--color-bg)}:root[data-theme=industrial] .task-row td{border-bottom:1px solid var(--row-divider-color)}:root[data-theme=industrial] .btn{text-transform:var(--button-text-transform);letter-spacing:.05em;font-weight:500}:root[data-theme=industrial] .vs-trigger,:root[data-theme=industrial] .view-switcher,:root[data-theme=industrial] .editable-cell-input{border-color:var(--color-border-strong)}:root[data-theme=editorial] .task-table thead th{font-family:var(--font-family-display);font-weight:var(--header-font-weight);font-size:var(--font-size-sm);color:var(--color-text-muted);border-bottom:1px solid var(--color-text);letter-spacing:var(--header-letter-spacing);background:0 0;font-style:italic}:root[data-theme=editorial] .task-row td{border-bottom:1px solid var(--row-divider-color)}:root[data-theme=editorial] .vs-trigger,:root[data-theme=editorial] .view-switcher{font-family:var(--font-family-display)}:root[data-theme=brutalist] body{font-family:var(--font-family-sans);letter-spacing:-.02em}:root[data-theme=brutalist] .task-row td,:root[data-theme=brutalist] .editable-cell-display,:root[data-theme=brutalist] .editable-cell-readonly,:root[data-theme=brutalist] .editable-cell-input{font-family:var(--font-family-cell)}:root[data-theme=brutalist] .task-table thead th{background:var(--color-text);color:var(--color-bg);text-transform:var(--header-text-transform);font-weight:var(--header-font-weight);letter-spacing:.05em;font-size:var(--font-size-xs);border-bottom:3px solid var(--color-text)}:root[data-theme=brutalist] .task-row td{border-bottom:2px solid var(--row-divider-color)}:root[data-theme=brutalist] .btn{text-transform:var(--button-text-transform);letter-spacing:.05em;border-width:2px;font-weight:700}:root[data-theme=brutalist] .btn--primary{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);box-shadow:3px 3px 0 var(--color-text)}:root[data-theme=brutalist] .btn--primary:not(:disabled):hover{box-shadow:4px 4px 0 var(--color-text);transform:translate(-1px,-1px)}:root[data-theme=brutalist] .btn--secondary,:root[data-theme=brutalist] .vs-trigger,:root[data-theme=brutalist] .view-switcher,:root[data-theme=brutalist] .editable-cell-input{border-width:2px;border-color:var(--color-text)}:root[data-theme=brutalist] .vs-trigger{box-shadow:3px 3px 0 var(--color-text)}.gantt-ctx-menu-item,.filterbar-popup-item{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:background var(--transition-fast)}.gantt-ctx-menu-item{font-size:var(--font-size-base)}.gantt-ctx-menu-item:hover,.filterbar-popup-item:hover{background:var(--color-bg-hover)}:where(button,[role=button],a,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--color-focus-ring,var(--color-accent));outline-offset:2px;border-radius:var(--radius-sm,4px)}:root[data-theme=brutalist] :where(button,[role=button],a,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline-offset:3px;outline-width:3px}.pt-page{background:var(--color-bg);height:100%;color:var(--color-text);font-family:var(--font-family-sans);font-size:var(--font-size-base);flex-direction:column;display:flex}.pt-toolbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;display:flex}.pt-btn{align-items:center;gap:var(--space-1);padding:0 var(--space-3);height:var(--control-height-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;white-space:nowrap;text-transform:var(--button-text-transform);transition:background var(--transition-fast), border-color var(--transition-fast);display:inline-flex}.pt-btn:not(:disabled):hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.pt-btn:disabled{opacity:.45;cursor:not-allowed}.pt-btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.pt-btn-primary:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.dev-toggle{align-items:center;gap:var(--space-1);padding:0 var(--space-2);height:var(--control-height-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-subtle);color:var(--color-text-subtle);font-size:var(--font-size-xs);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);margin-left:auto;display:inline-flex}.dev-toggle:hover,.dev-toggle[data-active=true]{background:var(--color-accent-bg);color:var(--color-accent);border-color:var(--color-accent)}.pt-table-wrap{flex:1;position:relative;overflow:auto}.pt-table{border-collapse:collapse;min-width:max-content;display:grid}.pt-header-row{display:contents}.pt-col-header{z-index:var(--z-sticky);align-items:center;gap:var(--space-1);padding:0 var(--space-3);height:var(--row-height);min-height:var(--row-height);background:var(--color-bg-subtle);border-bottom:2px solid var(--color-border-strong);border-right:1px solid var(--color-border);font-size:var(--font-size-sm);font-weight:var(--header-font-weight);color:var(--color-text-muted);letter-spacing:var(--header-letter-spacing);text-transform:var(--header-text-transform);cursor:default;-webkit-user-select:none;user-select:none;display:flex;position:sticky;top:0;overflow:hidden}.pt-col-header:first-child{border-left:none}.pt-col-header-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pt-col-header-menu{border-radius:var(--radius-sm);width:18px;height:18px;color:var(--color-text-subtle);cursor:pointer;font-size:var(--font-size-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:none}.pt-col-header:hover .pt-col-header-menu{display:flex}.pt-col-header-menu:hover{background:var(--color-bg-hover);color:var(--color-text)}.pt-col-header.dragging{opacity:.55;background:var(--color-bg-selected);border-color:var(--color-accent)}.pt-col-header.drag-over{background:var(--color-accent-bg);border-left:2px solid var(--color-accent)}.pt-resize-handle{cursor:col-resize;z-index:1;width:6px;height:100%;position:absolute;top:0;right:0}.pt-resize-handle:after{content:"";border-radius:var(--radius-pill);width:2px;height:60%;transition:background var(--transition-fast);background:0 0;position:absolute;top:20%;right:1px}.pt-resize-handle:hover:after,.pt-resize-handle.resizing:after{background:var(--color-accent)}.pt-col-header[data-has-desc]{position:relative}.pt-col-tooltip{top:calc(100% + var(--space-1));z-index:var(--z-popover);max-width:240px;padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-muted);text-transform:none;letter-spacing:normal;white-space:normal;word-break:break-word;pointer-events:none;display:none;position:absolute;left:0}.pt-col-header[data-has-desc]:hover .pt-col-tooltip{display:block}.pt-row{display:contents}.pt-row:hover .pt-cell{background:var(--color-bg-hover)}.pt-cell{height:var(--row-height);min-height:var(--row-height);padding:0 var(--space-3);border-bottom:1px solid var(--row-divider-color);border-right:1px solid var(--color-border);font-family:var(--font-family-cell);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);cursor:pointer;transition:background var(--transition-fast);align-items:center;display:flex;position:relative;overflow:hidden}.pt-cell:focus-within{outline:2px solid var(--color-focus-ring);outline-offset:-2px;z-index:1}.pt-cell.editing{background:var(--color-bg);outline:2px solid var(--color-accent);outline-offset:-2px;z-index:2;overflow:visible}.pt-cell-number{font-variant-numeric:tabular-nums;justify-content:flex-end}.pt-cell-url a{color:var(--color-accent);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.pt-cell-url a:hover{text-decoration:underline}.pt-select-pill{padding:0 var(--space-2);border-radius:var(--radius-pill);height:20px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;background:var(--color-accent-bg);color:var(--color-accent);border:1px solid #0000;align-items:center;display:inline-flex}.pt-cell-empty{color:var(--color-text-subtle);pointer-events:none;font-style:italic}.dev-copy-id-btn{border-radius:var(--radius-sm);width:14px;height:14px;color:var(--color-text-subtle);cursor:pointer;opacity:.4;vertical-align:middle;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:9px;line-height:1;display:inline-flex}.dev-copy-id-btn:hover{opacity:1;background:var(--color-accent-bg);color:var(--color-accent)}.pt-add-col-panel{width:320px;height:100%;z-index:var(--z-modal);background:var(--color-bg);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;right:0;overflow:hidden}.pt-add-col-panel>*{padding:var(--space-4)}.pt-add-col-panel>:not(:last-child){border-bottom:1px solid var(--color-border)}.pt-field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.pt-field label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.pt-field input,.pt-field select,.pt-field textarea{padding:0 var(--space-2);height:var(--control-height-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.pt-field input:focus,.pt-field select:focus,.pt-field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-bg);outline:none}.pt-field textarea{height:auto;min-height:64px;padding:var(--space-2);resize:vertical}.pt-wizard{justify-content:center;align-items:center;gap:var(--space-6);padding:var(--space-8);flex-direction:column;flex:1;display:flex}.pt-wizard-options{gap:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.pt-wizard-option{align-items:flex-start;gap:var(--space-2);width:200px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);flex-direction:column;display:flex}.pt-wizard-option:hover{border-color:var(--color-accent);background:var(--color-accent-bg);box-shadow:var(--shadow-sm)}.pt-wizard-option.selected{border-color:var(--color-accent);background:var(--color-accent-bg);box-shadow:0 0 0 2px var(--color-accent)}.pt-wizard-option-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.pt-wizard-option-desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.pt-toast{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed}.pt-toast-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);box-shadow:var(--shadow-md);font-size:var(--font-size-sm);color:var(--color-text);pointer-events:auto;max-width:320px;animation:pt-toast-in var(--transition-base) ease both;display:flex}.pt-toast-error{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger)}@keyframes pt-toast-in{0%{opacity:0;transform:translateY(var(--space-3))}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.pt-toast-item{animation:none}}
