@charset "UTF-8";:root{--color-cyan-500: #1c93cf;--color-cyan-300: #5fc4ec;--color-teal-500: #00b4d8;--color-blue-400: #4cc9f0;--color-gold-500: #ffb703;--color-red-400: #ff7b7b;--color-slate-400: #8f98a6;--color-teal-600: #15749f;--color-gold-600: #b8780a;--color-red-600: #d23f3f;--color-blue-600: #2563b8;--color-fg: #edf2f7;--color-fg-bright: #fbfdff;--color-fg-muted: #90a2bd;--ink-canvas: #08101c;--ink-900: #040a12;--ink-850: #070e17;--ink-800: #0a121f;--ink-750: #0e1828;--ink-700: #101b2a;--ink-650: #162335;--ink-600: #1f3047;--white-a02: rgba(255, 255, 255, .02);--white-a03: rgba(255, 255, 255, .03);--white-a035: rgba(255, 255, 255, .035);--white-a04: rgba(255, 255, 255, .04);--white-a05: rgba(255, 255, 255, .05);--white-a06: rgba(255, 255, 255, .06);--white-a08: rgba(255, 255, 255, .08);--white-a10: rgba(255, 255, 255, .1);--white-a12: rgba(255, 255, 255, .12);--white-a14: rgba(255, 255, 255, .14);--white-a15: rgba(255, 255, 255, .15);--white-a20: rgba(255, 255, 255, .2);--white-a50: rgba(255, 255, 255, .5);--black-a22: rgba(0, 0, 0, .22);--black-a28: rgba(0, 0, 0, .28);--black-a30: rgba(0, 0, 0, .3);--black-a32: rgba(0, 0, 0, .32);--cyan-a06: rgba(28, 147, 207, .06);--cyan-a07: rgba(28, 147, 207, .07);--cyan-a08: rgba(28, 147, 207, .08);--cyan-a10: rgba(28, 147, 207, .1);--cyan-a12: rgba(28, 147, 207, .12);--cyan-a14: rgba(28, 147, 207, .14);--cyan-a22: rgba(28, 147, 207, .22);--cyan-a24: rgba(28, 147, 207, .24);--cyan-a30: rgba(28, 147, 207, .3);--cyan-a34: rgba(28, 147, 207, .34);--cyan-a36: rgba(28, 147, 207, .36);--cyan-a55: rgba(28, 147, 207, .55);--teal-a08: rgba(0, 180, 216, .08);--teal-a24: rgba(0, 180, 216, .24);--teal-a28: rgba(0, 180, 216, .28);--gold-a08: rgba(255, 183, 3, .08);--gold-a15: rgba(255, 183, 3, .15);--gold-a18: rgba(255, 183, 3, .18);--gold-a24: rgba(255, 183, 3, .24);--gold-a32: rgba(255, 183, 3, .32);--gold-a90: rgba(255, 183, 3, .9);--red-a08: rgba(255, 123, 123, .08);--red-a10: rgba(255, 123, 123, .1);--red-a12: rgba(255, 123, 123, .12);--red-a20: rgba(255, 123, 123, .2);--red-a24: rgba(255, 123, 123, .24);--red-a36: rgba(255, 123, 123, .36);--blue-a10: rgba(76, 201, 240, .1);--blue-a24: rgba(76, 201, 240, .24);--preview-a08: rgba(139, 233, 253, .08);--surface-panel: rgba(10, 18, 31, .84);--surface-card: rgba(22, 35, 53, .88);--surface-card-hover: rgba(31, 48, 71, .96);--surface-input: rgba(7, 14, 23, .82);--surface-overlay: rgba(4, 10, 18, .62);--surface-modal: rgba(10, 18, 31, .96);--surface-dropdown: rgba(14, 24, 40, .98);--surface-floating: rgba(10, 18, 31, .58);--surface-popover: rgba(10, 18, 31, .96);--surface-frame: linear-gradient(180deg, rgba(16, 27, 42, .96), rgba(8, 14, 24, .94));--border-subtle: var(--white-a06);--border-default: var(--white-a08);--border-strong: var(--white-a14);--border-panel: rgba(180, 196, 220, .14);--border-focus: var(--cyan-a55);--text-primary: var(--color-fg);--text-bright: var(--color-fg-bright);--text-muted: var(--color-fg-muted);--text-danger: var(--color-red-400);--text-accent: var(--color-cyan-500);--text-on-accent: var(--color-fg);--accent: var(--color-cyan-500);--accent-strong: var(--color-teal-500);--accent-soft: var(--cyan-a12);--danger: var(--color-red-400);--danger-soft: var(--red-a10);--danger-border: var(--red-a24);--success: var(--color-blue-400);--success-soft: var(--blue-a10);--success-border: var(--blue-a24);--info: var(--color-cyan-500);--info-soft: var(--cyan-a12);--info-border: var(--cyan-a24);--warning: var(--color-gold-500);--warning-soft: var(--gold-a15);--warning-border: var(--gold-a32);--control-surface: var(--white-a05);--control-surface-hover: var(--white-a08);--field-border: var(--white-a10);--tab-surface: var(--white-a04);--scrollbar-thumb: var(--white-a12);--scrollbar-thumb-hover: var(--white-a20);--shadow-sm: 0 12px 40px var(--black-a30);--shadow-md: 0 18px 60px var(--black-a22);--shadow-lg: 0 24px 80px var(--black-a28);--shadow-modal: 0 28px 90px var(--black-a32);--gradient-accent: linear-gradient(135deg, var(--cyan-a22), var(--teal-a28));--gradient-accent-soft: linear-gradient(135deg, var(--cyan-a12), var(--teal-a08));--gradient-tool-active: linear-gradient(135deg, var(--cyan-a24), var(--gold-a18));--bg-app: radial-gradient(ellipse at 10% 10%, var(--cyan-a07) 0%, transparent 50%), radial-gradient(ellipse at 90% 90%, var(--gold-a08) 0%, transparent 50%), linear-gradient(180deg, #0b1422 0%, #060d17 100%);--radius-sm: 12px;--radius-md: 16px;--radius-lg: 22px;--radius-pill: 999px;--radius-badge: 10px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--font-ui: "Aptos", "Segoe UI", "Helvetica Neue", sans-serif;--font-mono: "Cascadia Code", "Consolas", "SFMono-Regular", monospace;--font-size-2xs: 10px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-base: 14px;--font-size-lg: 15px;--font-size-xl: 16px;--font-size-2xl: 18px;--font-size-3xl: 20px;--font-size-4xl: 24px;--font-size-5xl: 28px;--font-size-code: 12.5px;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.45;--line-height-normal: 1.5;--line-height-code: 1.6;--letter-spacing-wide: .04em;--letter-spacing-wider: .05em;--duration-fast: .12s;--duration-base: .14s;--ease-standard: ease;--control-pad-y: 6px;--control-pad-x: 12px;--control-pad-y-sm: 4px;--control-pad-x-sm: 8px;--control-pad-y-lg: 10px;--control-pad-x-lg: 18px;--control-font: var(--font-size-md);--z-popover: 10;--z-canvas-ui: 20;--z-overlay: 50;--z-dropdown: 100;--canvas-bg: var(--ink-canvas);--canvas-dot: rgba(237, 242, 247, .1);--node-fill: var(--white-a02);--node-stroke: var(--color-slate-400);--node-text: var(--color-fg);--edge-stroke: var(--color-slate-400);--edge-arrow: var(--color-slate-400);--selection-stroke: var(--color-cyan-500);--selection-fill: var(--cyan-a06);--focus-glow: var(--cyan-a30);--preview-stroke: var(--color-cyan-300);--preview-fill: var(--preview-a08);--cross-edge-stroke: var(--color-gold-500);--task-health-none: var(--text-muted);--task-health-on-track: var(--info);--task-health-due-soon: var(--warning);--task-health-overdue: var(--danger);--task-health-done: var(--success);--task-priority-low: var(--text-muted);--task-priority-medium: var(--text-primary);--task-priority-high: var(--warning);--task-priority-critical: var(--danger);--task-status-notstarted: var(--text-muted);--task-status-inprogress: var(--info);--task-status-blocked: var(--danger);--task-status-done: var(--success);--task-status-cancelled: var(--text-muted);--layer-color-1: #4cc9f0;--layer-color-2: #f72585;--layer-color-3: #7209b7;--layer-color-4: #3a0ca3;--layer-color-5: #4361ee;--layer-color-6: #4895ef;--layer-color-7: #560bad;--layer-color-8: #480ca8;--panel: var(--surface-panel);--panel-border: var(--border-panel);--card: var(--surface-card);--card-hover: var(--surface-card-hover);--text: var(--text-primary);--muted: var(--text-muted);--accent-cyan: var(--color-cyan-500);--accent-gold: var(--color-gold-500);--shadow: var(--shadow-lg)}:root[data-theme=light]{--surface-panel: rgba(244, 247, 251, .92);--surface-card: #ffffff;--surface-card-hover: #f4f7fb;--surface-input: #ffffff;--surface-overlay: rgba(15, 23, 38, .32);--surface-modal: #ffffff;--surface-dropdown: #ffffff;--surface-floating: rgba(244, 247, 251, .92);--surface-popover: #ffffff;--surface-frame: linear-gradient(180deg, #ffffff, #f1f5fa);--border-subtle: rgba(15, 23, 42, .06);--border-default: rgba(15, 23, 42, .1);--border-strong: rgba(15, 23, 42, .16);--border-panel: rgba(15, 23, 42, .1);--border-focus: rgba(21, 116, 159, .55);--text-primary: #1c2733;--text-bright: #0b1422;--text-muted: #5a6b80;--text-danger: var(--color-red-600);--text-accent: var(--color-teal-600);--text-on-accent: #0b1422;--accent-soft: var(--cyan-a12);--danger: var(--color-red-600);--success: var(--color-blue-600);--info: var(--color-teal-600);--warning: var(--color-gold-600);--control-surface: rgba(15, 23, 42, .04);--control-surface-hover: rgba(15, 23, 42, .08);--field-border: rgba(15, 23, 42, .14);--tab-surface: rgba(15, 23, 42, .03);--scrollbar-thumb: rgba(15, 23, 42, .18);--scrollbar-thumb-hover: rgba(15, 23, 42, .32);--shadow-sm: 0 8px 24px rgba(15, 23, 42, .1);--shadow-md: 0 14px 40px rgba(15, 23, 42, .1);--shadow-lg: 0 20px 50px rgba(15, 23, 42, .12);--shadow-modal: 0 24px 70px rgba(15, 23, 42, .18);--bg-app: #ffffff;--canvas-bg: #ffffff;--canvas-dot: rgba(15, 23, 42, .16);--node-fill: rgba(15, 23, 42, .02);--node-stroke: #6b7787;--node-text: #1c2733;--edge-stroke: #6b7787;--edge-arrow: #6b7787;--selection-stroke: var(--color-teal-600);--selection-fill: rgba(21, 116, 159, .1);--focus-glow: rgba(21, 116, 159, .3);--preview-stroke: var(--color-teal-600);--preview-fill: rgba(21, 116, 159, .1);--cross-edge-stroke: var(--color-gold-600)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%;overflow:hidden;font-family:var(--font-ui);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.panel{border:1px solid var(--border-panel);background:var(--surface-panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.panel--flush{border-radius:0;box-shadow:none}.panel-header{padding:var(--space-5) var(--space-5) var(--space-3);flex-shrink:0}.panel-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);color:var(--text-muted)}.panel-body{min-height:0;padding:0 var(--space-5) var(--space-5);overflow-y:auto;flex:1}.panel-body--compact{padding:0 var(--space-3) var(--space-3)}.panel-footer{padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border-subtle);flex-shrink:0}.panel-footer--bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3)}.panel-toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-badge);border:1px solid transparent;background:var(--control-surface);color:var(--text-muted);cursor:pointer;transition:background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.panel-toggle:hover{background:var(--control-surface-hover);border-color:var(--border-default);color:var(--text-primary)}.panel-toggle svg{width:16px;height:16px;display:block}.panel-tabs{display:flex;flex-wrap:wrap;gap:var(--space-1);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4)}.panel-tabs--top{padding:var(--space-3) var(--space-3) 0;margin-bottom:var(--space-3);flex-shrink:0}.panel-tab-button{appearance:none;border:none;background:none;border-radius:0;padding:var(--space-1) var(--space-2) var(--space-2);margin-bottom:-1px;border-bottom:2px solid transparent;font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);cursor:pointer;transition:border-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard);text-align:center}.panel-tab-button:hover{color:var(--text-primary)}.panel-tab-button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.button{appearance:none;border:1px solid var(--border-default);background:var(--control-surface);color:var(--text-primary);border-radius:var(--radius-pill);padding:var(--control-pad-y) var(--control-pad-x);cursor:pointer;font:inherit;font-size:var(--control-font);font-weight:var(--font-weight-semibold);transition:background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.button:hover:not(:disabled){background:var(--control-surface-hover);border-color:var(--border-strong);transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button .btn-icon{width:14px;height:14px;vertical-align:-2px;margin-right:2px}.button--accent{background:var(--gradient-accent);border-color:var(--cyan-a36)}.button--danger{color:var(--text-danger);border-color:var(--danger-border)}.button--danger:hover:not(:disabled){background:var(--red-a12);border-color:var(--red-a36)}.button--small{padding:var(--control-pad-y-sm) var(--control-pad-x-sm);font-size:var(--font-size-sm)}.button--lg{padding:var(--control-pad-y-lg) var(--control-pad-x-lg);font-size:var(--font-size-base)}.button--ghost{background:transparent;border-color:transparent}.button--ghost:hover:not(:disabled){background:var(--control-surface-hover);border-color:var(--border-default)}.button--link{background:transparent;border-color:transparent;border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);color:var(--text-accent)}.button--link:hover:not(:disabled){background:var(--control-surface-hover);border-color:transparent;transform:none}.button--link.button--danger{color:var(--text-danger)}.icon-button{appearance:none;display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;border:1px solid var(--border-default);background:var(--control-surface);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.icon-button:hover:not(:disabled){background:var(--control-surface-hover);border-color:var(--border-strong)}.icon-button:disabled{opacity:.45;cursor:not-allowed}.icon-button svg{width:16px;height:16px;display:block}.icon-button--tiny{width:22px;height:22px;border-color:transparent;background:none;color:var(--text-muted)}.icon-button--tiny svg{width:14px;height:14px}.icon-button--tiny:hover:not(:disabled){background:var(--control-surface-hover);border-color:transparent;color:var(--text-primary)}.icon-button--ghost{background:transparent;border-color:transparent}.icon-button--ghost:hover:not(:disabled){background:var(--control-surface-hover);border-color:var(--border-default)}.icon-button--active{background:var(--accent-soft);border-color:var(--cyan-a34);color:var(--text-accent)}.segmented{display:inline-flex;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border-default);background:var(--control-surface);border-radius:var(--radius-pill)}.segmented-option{appearance:none;border:none;background:transparent;color:var(--text-muted);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--control-pad-y-sm) var(--control-pad-x);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.segmented-option:hover{color:var(--text-primary)}.segmented-option.active{background:var(--gradient-accent);color:var(--text-primary)}.menu{position:absolute;top:calc(100% + var(--space-1));right:0;min-width:180px;padding:var(--space-1) 0;border-radius:var(--radius-sm);background:var(--surface-dropdown);border:1px solid var(--border-strong);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.menu-item{appearance:none;display:block;width:100%;text-align:left;background:none;border:none;padding:var(--space-2) var(--space-4);font:inherit;font-size:var(--font-size-md);color:var(--text-primary);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard)}.menu-item:hover{background:var(--control-surface-hover)}.badge{display:inline-block;font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);padding:var(--space-1) var(--space-2);border-radius:var(--radius-badge);background:var(--control-surface);color:var(--text-muted);border:1px solid var(--border-subtle)}.field-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-1)}.field-input,.field-textarea,.field-select{width:100%;border-radius:var(--radius-sm);border:1px solid var(--field-border);background:var(--surface-input);color:var(--text-primary);padding:var(--control-pad-y) var(--control-pad-x);font:inherit;font-size:var(--control-font);outline:none;transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}.field-input:focus,.field-textarea:focus,.field-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--cyan-a14)}.field-textarea{min-height:120px;resize:vertical;line-height:var(--line-height-tight)}.field-textarea-code{font-family:var(--font-mono);font-size:var(--font-size-code);line-height:var(--line-height-code);white-space:pre-wrap}.canvas-frame{width:100%;height:100%;position:relative;overflow:hidden;border-radius:calc(var(--radius-lg) + 2px);border:1px solid var(--border-default);background:radial-gradient(circle at top,var(--white-a05),transparent 35%),var(--surface-frame)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.modal-overlay{position:fixed;inset:0;background:var(--surface-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:var(--space-6);z-index:var(--z-overlay)}.modal-dialog{width:min(420px,100%);max-height:min(88vh,920px);border-radius:20px;border:1px solid var(--border-default);background:var(--surface-modal);box-shadow:var(--shadow-modal);padding:var(--space-5);display:grid;gap:var(--space-4);overflow-y:auto}.modal-dialog--large{width:min(980px,100%)}.modal-dialog--xl{width:min(1100px,80vw);height:min(780px,80vh);padding:0;gap:0;overflow:hidden}.modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-bright)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--control-pad-y) var(--space-3);border:1px solid var(--border-default);border-left-width:3px;border-radius:var(--radius-sm);background:var(--control-surface);color:var(--text-primary);font-size:var(--font-size-md);line-height:var(--line-height-tight)}.alert-icon{flex-shrink:0;font-size:var(--font-size-base);line-height:var(--line-height-tight)}.alert-content{flex:1;min-width:0}.alert-title{font-weight:var(--font-weight-semibold);margin-bottom:var(--space-1)}.alert--info{border-color:var(--info-border);border-left-color:var(--info);background:var(--info-soft)}.alert--success{border-color:var(--success-border);border-left-color:var(--success);background:var(--success-soft)}.alert--warning{border-color:var(--warning-border);border-left-color:var(--warning);background:var(--warning-soft)}.alert--danger{border-color:var(--danger-border);border-left-color:var(--danger);background:var(--danger-soft)}.alert--info .alert-icon{color:var(--info)}.alert--success .alert-icon{color:var(--success)}.alert--warning .alert-icon{color:var(--warning)}.alert--danger .alert-icon{color:var(--danger)}.data-table-scroll{flex:1;min-height:0;overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--font-size-md)}.data-table th,.data-table td{padding:var(--space-1) var(--space-2);text-align:left;vertical-align:middle}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-panel);font-weight:var(--font-weight-semibold);color:var(--text-muted);white-space:nowrap;border-bottom:1px solid var(--border-default)}.data-table tbody tr{border-bottom:1px solid var(--border-default)}.data-table tbody tr:hover{background:var(--control-surface)}.data-table tbody tr.selected>td{background:var(--cyan-a08)}.data-table .cell-nowrap{white-space:nowrap}.data-table .cell-wrap{white-space:normal}.data-table--compact{font-size:var(--font-size-sm)}.data-table--compact th,.data-table--compact td{padding:var(--space-1) var(--space-1)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--text-danger)}.text-small{font-size:var(--font-size-sm)}.text-center{text-align:center}.flex-row{display:flex;align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:var(--space-2)}.gap-12{gap:var(--space-3)}.gap-16{gap:var(--space-4)}.flex-1{flex:1}.w-full{width:100%}.scroll-y{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden}.mt-2{margin-top:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.sidenav{height:100%;min-height:0;border-right:1px solid var(--panel-border);background:var(--card);padding:var(--space-4) var(--space-3);overflow-y:auto}.sidenav-nav{display:flex;flex-direction:column;gap:var(--space-2)}.sidenav-item{display:block;padding:8px 12px;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);text-decoration:none;cursor:pointer;transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.sidenav-item:hover{background:var(--control-surface-hover);color:var(--text)}.sidenav-item--active{background:var(--cyan-a12);color:var(--accent-cyan)}.sidenav-item--active:hover{background:var(--cyan-a14);color:var(--accent-cyan)}
