:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tum-blue-brand: #3070b3;--tum-blue-dark: #072140;--tum-blue-dark-1: #0a2d57;--tum-blue-dark-2: #0e396e;--tum-blue-dark-3: #114584;--tum-blue-dark-4: #14519a;--tum-blue-dark-5: #165db1;--tum-blue-light: #5e94d4;--tum-blue-light-dark: #9abce4;--tum-blue-light-2: #c2d7ef;--tum-blue-light-3: #d7e4f4;--tum-blue-light-4: #e3eefa;--tum-blue-light-5: #f0f5fa;--tum-yellow: #fed702;--tum-yellow-dark: #cbab01;--tum-yellow-1: #fede34;--tum-yellow-2: #fee667;--tum-yellow-3: #feee9a;--tum-yellow-4: #fef6cd;--tum-orange: #f7811e;--tum-orange-dark: #d99208;--tum-orange-1: #f9bf4e;--tum-orange-2: #fad080;--tum-orange-3: #fce2b0;--tum-orange-4: #fef4e1;--tum-pink: #b55ca5;--tum-pink-dark: #9b468d;--tum-pink-1: #c680bb;--tum-pink-2: #d6a4ce;--tum-pink-3: #e6c7e1;--tum-pink-4: #f6eaf4;--tum-blue-bright: #8f81ea;--tum-blue-bright-dark: #6955e2;--tum-blue-bright-1: #b6acf1;--tum-blue-bright-2: #c9c2f5;--tum-blue-bright-3: #dcd8f9;--tum-blue-bright-4: #efedfc;--tum-red: #ea7237;--tum-red-dark: #d95117;--tum-red-1: #ef9067;--tum-red-2: #f3b295;--tum-red-3: #f6c2ac;--tum-red-4: #fbeada;--tum-green: #9fba36;--tum-green-dark: #7d922a;--tum-green-1: #b6ce55;--tum-green-2: #c7d97d;--tum-green-3: #d8e5a4;--tum-green-4: #e9f1cb;--tum-grey-1: #20252a;--tum-grey-2: #333a41;--tum-grey-3: #475058;--tum-grey-4: #6a757e;--tum-grey-7: #dde2e6;--tum-grey-8: #ebecef;--tum-grey-9: #fbf9fa;--tum-white: #ffffff;--brand-blue: var(--tum-blue-brand);--tum-blue: var(--tum-blue-dark-5);--light-blue: var(--tum-blue-light);--lighter-blue: var(--tum-blue-light-dark);--black: var(--tum-grey-1);--white: var(--tum-white);--accent-orange: var(--tum-orange);--accent-green: var(--tum-green);--light-gray: var(--tum-grey-7);--ink: var(--tum-grey-1);--muted: color-mix(in srgb, var(--tum-grey-3) 82%, transparent);--line: color-mix(in srgb, var(--tum-blue-brand) 18%, transparent);--soft: color-mix(in srgb, var(--tum-blue-light-4) 78%, transparent);--soft-2: color-mix(in srgb, var(--tum-blue-light-2) 70%, transparent);--primary: var(--tum-blue-brand);--primary-hover: var(--tum-blue-dark-4);--fg: var(--ink);--fg-muted: var(--muted);--fg-inverse: var(--white);--bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-blue-light-5) 96%, transparent) 0%, color-mix(in srgb, var(--tum-blue-light-4) 82%, transparent) 34%, color-mix(in srgb, var(--tum-grey-9) 94%, transparent) 100% );--page-bg: var(--tum-blue-light-5);--canvas-bg: color-mix(in srgb, var(--tum-white) 78%, var(--tum-blue-light-5) 22%);--canvas-dot: color-mix(in srgb, var(--tum-blue-light) 22%, transparent);--palette-bg: color-mix(in srgb, var(--tum-white) 88%, transparent);--sidebar-bg: color-mix(in srgb, var(--tum-white) 88%, transparent);--panel-bg: color-mix(in srgb, var(--tum-white) 90%, transparent);--panel-bg-strong: color-mix(in srgb, var(--tum-white) 97%, transparent);--buttonbar-bg: color-mix(in srgb, var(--tum-white) 94%, transparent);--panel-border: var(--line);--border: var(--line);--panel-fg: var(--fg);--surface-raised: 0 16px 40px color-mix(in srgb, var(--tum-blue-dark-1) 12%, transparent);--surface-soft: 0 10px 24px color-mix(in srgb, var(--tum-blue-dark-3) 8%, transparent);--surface-medium: 0 8px 18px color-mix(in srgb, var(--tum-blue-dark-1) 6%, transparent);--surface-node: 0 10px 24px color-mix(in srgb, var(--tum-blue-dark-1) 12%, transparent);--surface-node-selected: 0 18px 34px color-mix(in srgb, var(--tum-blue-dark-1) 16%, transparent);--surface-modal: 0 20px 60px color-mix(in srgb, var(--black) 25%, transparent);--surface-popover: 0 4px 10px color-mix(in srgb, var(--black) 20%, transparent);--button-bg: var(--primary);--button-fg: var(--white);--button-border: var(--primary);--button-hover-border: var(--primary-hover);--btn-secondary-bg: color-mix(in srgb, var(--tum-white) 90%, transparent);--btn-secondary-fg: var(--primary);--btn-secondary-border: color-mix(in srgb, var(--tum-blue-brand) 22%, transparent);--input-bg: color-mix(in srgb, var(--tum-white) 92%, transparent);--input-fg: var(--ink);--input-border: color-mix(in srgb, var(--tum-blue-dark-4) 22%, transparent);--input-hover-border: var(--primary);--accent: var(--primary);--accent-hover: var(--primary-hover);--terminal-bg: var(--tum-blue-dark);--terminal-err-bg: color-mix(in srgb, var(--tum-red-dark) 28%, var(--tum-blue-dark) 72%);--terminal-fg: var(--tum-blue-light-5);--terminal-line-fg: var(--tum-blue-light-5);--terminal-line-err-fg: var(--tum-red-3);--terminal-shell-bg: color-mix(in srgb, var(--tum-white) 94%, transparent);--terminal-shell-border: color-mix(in srgb, var(--tum-blue-dark-4) 16%, transparent);--terminal-side-bg: color-mix(in srgb, var(--tum-white) 97%, transparent);--terminal-title-fg: var(--tum-blue-dark-1);--terminal-muted-fg: var(--tum-grey-4);--terminal-runlist-hover-bg: color-mix(in srgb, var(--tum-blue-brand) 7%, transparent);--run-list-active-bg: color-mix(in srgb, var(--tum-blue-brand) 12%, transparent);--status-running-fg: var(--accent);--status-running-bg: color-mix(in srgb, var(--tum-blue-brand) 12%, transparent);--status-running-border: color-mix(in srgb, var(--tum-blue-brand) 26%, transparent);--status-ok-fg: var(--tum-green-dark);--status-ok-bg: color-mix(in srgb, var(--tum-green) 18%, transparent);--status-ok-border: color-mix(in srgb, var(--tum-green) 36%, transparent);--status-aborted-fg: var(--tum-orange-dark);--status-aborted-bg: color-mix(in srgb, var(--tum-orange) 14%, transparent);--status-aborted-border: color-mix(in srgb, var(--tum-orange) 32%, transparent);--status-error-fg: var(--tum-red-dark);--status-error-bg: color-mix(in srgb, var(--tum-red) 14%, transparent);--status-error-border: color-mix(in srgb, var(--tum-red) 32%, transparent);--node-component-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-white) 98%, transparent), color-mix(in srgb, var(--tum-blue-light-4) 86%, transparent) );--node-component-border: color-mix(in srgb, var(--tum-blue-brand) 30%, transparent);--node-component-title: var(--tum-blue-dark-2);--node-component-badge: var(--tum-blue-dark-5);--node-component-accent: var(--tum-blue-light);--node-dataset-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-white) 98%, transparent), color-mix(in srgb, var(--tum-orange-4) 92%, transparent) );--node-dataset-border: color-mix(in srgb, var(--tum-orange) 26%, transparent);--node-dataset-title: var(--tum-blue-dark-1);--node-dataset-badge: var(--tum-orange-dark);--node-dataset-accent: var(--tum-orange);--module-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-white) 94%, transparent), color-mix(in srgb, var(--tum-blue-light-5) 94%, transparent) );--module-border: color-mix(in srgb, var(--tum-blue-brand) 22%, transparent);--edge: color-mix(in srgb, var(--tum-blue-dark-3) 32%, transparent);--edge-selected: var(--tum-blue-dark-4);--handle: var(--primary);--handle-hover: var(--tum-blue-dark-3);--ring: color-mix(in srgb, var(--tum-blue-brand) 16%, transparent);--selection: color-mix(in srgb, var(--tum-blue-light-dark) 24%, transparent);--shadow-soft: 0 12px 32px color-mix(in srgb, var(--tum-blue-dark-1) 10%, transparent);--overlay-bg: color-mix(in srgb, var(--black) 35%, transparent);--overlay-bg-strong: color-mix(in srgb, var(--black) 45%, transparent);--overlay-hero-bg: linear-gradient( 180deg, color-mix(in srgb, var(--black) 24%, transparent) 0%, color-mix(in srgb, var(--black) 58%, transparent) 100% );--text-subtle: var(--tum-grey-4);--text-warning: var(--tum-orange-dark);--text-danger: var(--tum-red-dark);--text-danger-strong: var(--tum-red-dark);--input-invalid-border: var(--tum-red);--text-inverse-soft: var(--tum-blue-light-4);--drag-card-bg: linear-gradient(180deg, var(--tum-white), var(--tum-blue-light-5));--drag-card-dataset-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-white) 98%, transparent), color-mix(in srgb, var(--tum-green-4) 70%, var(--tum-blue-light-5) 30%) );--search-bg: color-mix(in srgb, var(--tum-white) 92%, var(--tum-blue-light-5) 8%);--search-fg: var(--tum-grey-2);--search-action-bg: color-mix(in srgb, var(--tum-blue-light-3) 78%, var(--tum-white) 22%);--palette-heading-fg: var(--tum-blue-dark-1);--palette-card-fg: var(--tum-grey-2);--palette-meta-fg: var(--tum-grey-4);--palette-empty-fg: color-mix(in srgb, var(--tum-grey-4) 78%, transparent);--handle-outline: color-mix(in srgb, var(--tum-white) 94%, transparent);--handle-shadow: 0 3px 8px color-mix(in srgb, var(--tum-blue-dark-1) 18%, transparent);--selection-stage-border: color-mix(in srgb, var(--tum-blue-brand) 32%, transparent);--selection-stage-bg: color-mix(in srgb, var(--tum-white) 12%, transparent);--module-chip-bg: color-mix(in srgb, var(--tum-white) 94%, transparent);--module-chip-shadow: 0 10px 20px color-mix(in srgb, var(--tum-blue-dark-1) 12%, transparent);--danger-panel-bg: color-mix(in srgb, var(--tum-red-dark) 60%, var(--panel-bg) 40%);--danger-panel-border: color-mix(in srgb, var(--tum-red) 55%, var(--panel-border) 45%);--stream-shell-bg: var(--panel-bg-strong);--stream-shell-border: var(--panel-border);--stream-shell-divider: color-mix(in srgb, var(--panel-border) 70%, transparent);--stream-running-border: var(--tum-blue-light-dark);--stream-running-bg: var(--tum-blue-light-3);--stream-running-fg: var(--tum-blue-dark-4);--stream-error-border: var(--tum-red-3);--stream-error-bg: var(--tum-red-4);--stream-error-fg: var(--tum-red-dark);--stream-done-border: var(--tum-green-2);--stream-done-bg: var(--tum-green-4);--stream-done-fg: var(--tum-green-dark);--upload-progress-fill: color-mix(in srgb, var(--tum-blue-brand) 28%, transparent);--ansi-fg-30: var(--tum-grey-1);--ansi-fg-31: var(--tum-red);--ansi-fg-32: var(--tum-green);--ansi-fg-33: var(--tum-yellow-dark);--ansi-fg-34: var(--tum-blue-brand);--ansi-fg-35: var(--tum-pink);--ansi-fg-36: var(--tum-blue-light);--ansi-fg-37: var(--tum-grey-8);--ansi-fg-90: var(--tum-grey-4);--ansi-fg-91: var(--tum-red-1);--ansi-fg-92: var(--tum-green-1);--ansi-fg-93: var(--tum-yellow-2);--ansi-fg-94: var(--tum-blue-light);--ansi-fg-95: var(--tum-pink-1);--ansi-fg-96: var(--tum-blue-light-dark);--ansi-fg-97: var(--tum-grey-9);--ansi-bg-40: var(--tum-grey-1);--ansi-bg-41: var(--tum-red-dark);--ansi-bg-42: var(--tum-green-dark);--ansi-bg-43: var(--tum-orange-dark);--ansi-bg-44: var(--tum-blue-dark-3);--ansi-bg-45: var(--tum-pink-dark);--ansi-bg-46: var(--tum-blue-dark-2);--ansi-bg-47: var(--tum-grey-8);--ansi-bg-100: var(--tum-grey-3);--ansi-bg-101: var(--tum-red-dark);--ansi-bg-102: var(--tum-green-dark);--ansi-bg-103: var(--tum-yellow-dark);--ansi-bg-104: var(--tum-blue-dark-4);--ansi-bg-105: var(--tum-pink-dark);--ansi-bg-106: var(--tum-blue-dark-2);--ansi-bg-107: var(--tum-grey-9);--module-hue-0: #1f9d8a;--module-hue-1: #2f6db3;--module-hue-2: #ca7b1b;--module-hue-3: #3b9f3b;--module-hue-4: #b24f4f;--module-hue-5: #6e4bb6;--module-hue-6: #5f7f1f;--module-hue-7: #3d8ca8;--module-hue-8: #8f5e2a;--module-hue-9: #4e6ea8}:root[data-theme=dark]{color-scheme:dark;--fg: var(--tum-blue-light-4);--fg-muted: color-mix(in srgb, var(--tum-blue-light-4) 74%, transparent);--bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-blue-dark) 100%, transparent) 0%, color-mix(in srgb, var(--tum-blue-dark-1) 98%, transparent) 32%, color-mix(in srgb, var(--tum-blue-dark-2) 98%, transparent) 100% );--page-bg: var(--tum-blue-dark);--canvas-bg: color-mix(in srgb, var(--tum-blue-dark) 84%, var(--tum-blue-dark-1) 16%);--canvas-dot: color-mix(in srgb, var(--tum-blue-light-dark) 16%, transparent);--palette-bg: color-mix(in srgb, var(--tum-blue-dark-1) 84%, transparent);--sidebar-bg: color-mix(in srgb, var(--tum-blue-dark-1) 84%, transparent);--panel-bg: color-mix(in srgb, var(--tum-blue-dark) 92%, transparent);--panel-bg-strong: color-mix(in srgb, var(--tum-blue-dark) 96%, transparent);--buttonbar-bg: color-mix(in srgb, var(--tum-blue-dark) 92%, transparent);--panel-border: color-mix(in srgb, var(--tum-blue-light-dark) 20%, transparent);--border: color-mix(in srgb, var(--tum-blue-light-dark) 20%, transparent);--panel-fg: var(--fg);--surface-raised: 0 22px 44px color-mix(in srgb, var(--tum-blue-dark) 30%, transparent);--surface-soft: 0 14px 28px color-mix(in srgb, var(--tum-blue-dark) 24%, transparent);--button-bg: color-mix(in srgb, var(--tum-blue-light-2) 88%, var(--tum-blue-light-dark) 12%);--button-fg: var(--tum-blue-dark);--button-border: color-mix(in srgb, var(--tum-blue-light-dark) 40%, transparent);--button-hover-border: color-mix(in srgb, var(--tum-blue-light-dark) 60%, transparent);--btn-secondary-bg: color-mix(in srgb, var(--tum-blue-dark-3) 74%, var(--tum-blue-dark-1) 26%);--btn-secondary-fg: var(--fg);--btn-secondary-border: color-mix(in srgb, var(--tum-blue-light-dark) 26%, transparent);--btn-secondary-hover-bg: color-mix(in srgb, var(--tum-blue-dark-4) 72%, var(--tum-blue-dark-1) 28%);--input-bg: color-mix(in srgb, var(--tum-blue-light-3) 60%, var(--tum-blue-dark-2) 40%);--input-fg: var(--fg);--input-border: color-mix(in srgb, var(--tum-blue-light-dark) 32%, transparent);--input-hover-border: var(--lighter-blue);--accent: var(--lighter-blue);--accent-hover: var(--tum-blue-light-dark);--terminal-bg: color-mix(in srgb, var(--tum-blue-dark) 88%, var(--black) 12%);--terminal-err-bg: color-mix(in srgb, var(--tum-red-dark) 32%, var(--tum-blue-dark) 68%);--terminal-fg: var(--tum-blue-light-5);--terminal-shell-bg: color-mix(in srgb, var(--tum-blue-dark) 92%, transparent);--terminal-shell-border: color-mix(in srgb, var(--tum-blue-light-dark) 18%, transparent);--terminal-side-bg: color-mix(in srgb, var(--tum-blue-dark) 94%, transparent);--terminal-title-fg: var(--tum-blue-light-4);--terminal-muted-fg: color-mix(in srgb, var(--tum-blue-light-4) 70%, transparent);--terminal-runlist-hover-bg: color-mix(in srgb, var(--tum-blue-light-2) 8%, transparent);--run-list-active-bg: color-mix(in srgb, var(--tum-blue-light-2) 12%, transparent);--search-fg: var(--tum-white);--palette-heading-fg: var(--tum-white);--palette-card-fg: var(--tum-blue-light-5);--palette-meta-fg: color-mix(in srgb, var(--tum-blue-light-4) 72%, transparent);--palette-empty-fg: color-mix(in srgb, var(--tum-blue-light-3) 74%, transparent);--drag-card-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-blue-dark-3) 64%, transparent), color-mix(in srgb, var(--tum-blue-dark-1) 88%, transparent) );--drag-card-dataset-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-green) 10%, var(--tum-blue-dark-2) 90%), color-mix(in srgb, var(--tum-blue-dark-1) 92%, transparent) );--search-bg: color-mix(in srgb, var(--tum-blue-dark-3) 74%, var(--tum-blue-dark-1) 26%);--search-action-bg: color-mix(in srgb, var(--tum-blue-dark-4) 76%, var(--tum-blue-dark-2) 24%);--module-chip-bg: color-mix(in srgb, var(--tum-blue-dark-3) 82%, var(--tum-blue-dark-1) 18%);--module-chip-shadow: 0 12px 24px color-mix(in srgb, var(--tum-blue-dark) 34%, transparent);--node-component-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-blue-dark-3) 62%, transparent), color-mix(in srgb, var(--tum-blue-dark-1) 88%, transparent) );--node-component-border: color-mix(in srgb, var(--tum-blue-light-dark) 28%, transparent);--node-component-title: var(--tum-blue-light-4);--node-component-badge: var(--tum-blue-light-4);--node-component-accent: var(--tum-blue-light-dark);--node-dataset-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-orange) 12%, var(--tum-blue-dark-2) 88%), color-mix(in srgb, var(--tum-blue-dark-1) 90%, transparent) );--node-dataset-border: color-mix(in srgb, var(--tum-orange-1) 34%, transparent);--node-dataset-title: var(--tum-blue-light-4);--node-dataset-badge: var(--tum-orange-3);--node-dataset-accent: var(--tum-orange-1);--module-bg: linear-gradient( 180deg, color-mix(in srgb, var(--tum-blue-dark-3) 38%, transparent), color-mix(in srgb, var(--tum-blue-dark-1) 78%, transparent) );--module-border: color-mix(in srgb, var(--tum-blue-light-dark) 24%, transparent);--edge: color-mix(in srgb, var(--tum-blue-light-dark) 46%, transparent);--edge-selected: var(--lighter-blue);--handle: var(--lighter-blue);--handle-hover: var(--tum-blue-light-4);--ring: color-mix(in srgb, var(--tum-blue-light-dark) 32%, transparent);--selection: color-mix(in srgb, var(--tum-blue-light-dark) 18%, transparent);--shadow-soft: 0 14px 34px color-mix(in srgb, var(--tum-blue-dark) 28%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark}}html,body{height:100%;width:100%;overflow-x:hidden}body{margin:0;background:var(--page-bg);color:var(--fg);font-family:inherit;font-size:16px;line-height:1.65;letter-spacing:0;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{min-height:44px;border-radius:10px;border:1px solid var(--button-border);background:var(--button-bg);color:var(--button-fg);cursor:pointer;padding:10px 18px;font-weight:750;font:inherit;transition:border-color .16s,background-color .16s,color .16s}button:hover{border-color:var(--button-hover-border);background:var(--accent-hover)}button:disabled{opacity:.56;cursor:not-allowed}.app-sidebar{background:var(--palette-bg);border-right:1px solid var(--panel-border);color:var(--fg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.canvas-wrap{background:var(--canvas-bg)}.panel{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--shadow-soft);color:var(--fg);border-radius:18px}.console{background:var(--panel-bg);border-top:1px solid var(--panel-border)}.console pre{background:var(--terminal-bg);color:var(--terminal-fg)}.console pre.err{background:var(--terminal-err-bg)}.run-list-item--active{background:var(--run-list-active-bg)}.run-list-item:hover{background:var(--terminal-runlist-hover-bg)}.run-status-pill{border:1px solid transparent}.run-status-pill--running{color:var(--status-running-fg);background:var(--status-running-bg);border-color:var(--status-running-border)}.run-status-pill--ok{color:var(--status-ok-fg);background:var(--status-ok-bg);border-color:var(--status-ok-border)}.run-status-pill--aborted{color:var(--status-aborted-fg);background:var(--status-aborted-bg);border-color:var(--status-aborted-border)}.run-status-pill--error{color:var(--status-error-fg);background:var(--status-error-bg);border-color:var(--status-error-border)}.rf-edge{stroke:var(--edge)!important}.rf-edge.selected{stroke:var(--edge-selected)!important}.rf-handle{background:var(--handle)!important;border:1px solid var(--panel-bg)!important}.rf-handle:hover{background:var(--handle-hover)!important}.rf-selection{background:var(--selection)!important}.react-flow__controls{overflow:hidden;background:var(--panel-bg-strong)!important;border:1px solid var(--panel-border)!important;border-radius:14px!important;box-shadow:var(--surface-soft)}.react-flow__controls-button{background:transparent!important;color:var(--fg)!important;border-bottom:1px solid var(--panel-border)!important}.react-flow__controls-button:hover{background:var(--soft)!important;border-color:var(--button-hover-border)!important}.react-flow__controls-button svg{fill:currentColor!important}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.25rem;color:var(--fg)}input[type=text],input[type=number],input[type=password],input[type=email],select,textarea{width:100%;padding:.55rem .75rem;min-height:44px;border-radius:10px;border:1px solid var(--input-border);background:var(--input-bg);color:var(--input-fg);font:inherit;line-height:1.4;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}input::placeholder,textarea::placeholder{color:var(--fg-muted);opacity:.7}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--input-hover-border, var(--accent));box-shadow:0 0 0 3px var(--ring)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' fill='none' stroke='currentColor' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 8l4 4 4-4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;background-size:1rem;padding-right:2rem}hr{border:0;border-top:1px solid var(--panel-border);margin:0}html,body,#root{width:100%;height:100%;margin:0;padding:0}#root{max-width:none;text-align:initial;overflow-x:hidden}:root{--shell-sidebar-divider: color-mix(in srgb, var(--panel-border) 92%, transparent);--shell-sidebar-highlight: color-mix(in srgb, var(--tum-white) 10%, transparent);--shell-topbar-bg: var(--panel-bg-strong);--shell-topbar-border: var(--panel-border);--shell-topbar-control-bg: var(--input-bg);--shell-topbar-control-border: var(--input-border);--shell-topbar-label-fg: var(--fg-muted);--shell-topbar-select-fg: var(--input-fg);--shell-banner-bg: var(--panel-bg);--shell-banner-fg: var(--fg-muted);--shell-note-bg: var(--panel-bg);--shell-note-fg: var(--fg-muted);--shell-inspector-bg: var(--panel-bg);--shell-inspector-highlight: color-mix(in srgb, var(--tum-white) 8%, transparent)}:root[data-theme=dark]{--shell-sidebar-highlight: color-mix(in srgb, var(--tum-blue-light-2) 12%, transparent);--shell-topbar-bg: color-mix(in srgb, var(--tum-blue-dark) 94%, transparent);--shell-topbar-control-bg: color-mix(in srgb, var(--tum-blue-light-2) 52%, var(--tum-grey-4) 48%);--shell-topbar-control-border: color-mix(in srgb, var(--tum-blue-light-dark) 22%, transparent);--shell-topbar-label-fg: var(--tum-blue-light-4);--shell-topbar-select-fg: var(--tum-white);--shell-banner-bg: color-mix(in srgb, var(--tum-blue-dark-1) 88%, transparent);--shell-banner-fg: color-mix(in srgb, var(--tum-blue-light-3) 72%, transparent);--shell-note-bg: color-mix(in srgb, var(--tum-blue-dark) 94%, transparent);--shell-note-fg: color-mix(in srgb, var(--tum-blue-light-3) 72%, transparent);--shell-inspector-bg: color-mix(in srgb, var(--tum-blue-dark) 96%, transparent);--shell-inspector-highlight: color-mix(in srgb, var(--tum-blue-light-2) 12%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--shell-sidebar-highlight: color-mix(in srgb, var(--tum-blue-light-2) 12%, transparent);--shell-topbar-bg: color-mix(in srgb, var(--tum-blue-dark) 94%, transparent);--shell-topbar-control-bg: color-mix(in srgb, var(--tum-blue-light-2) 52%, var(--tum-grey-4) 48%);--shell-topbar-control-border: color-mix(in srgb, var(--tum-blue-light-dark) 22%, transparent);--shell-topbar-label-fg: var(--tum-blue-light-4);--shell-topbar-select-fg: var(--tum-white);--shell-banner-bg: color-mix(in srgb, var(--tum-blue-dark-1) 88%, transparent);--shell-banner-fg: color-mix(in srgb, var(--tum-blue-light-3) 72%, transparent);--shell-note-bg: color-mix(in srgb, var(--tum-blue-dark) 94%, transparent);--shell-note-fg: color-mix(in srgb, var(--tum-blue-light-3) 72%, transparent);--shell-inspector-bg: color-mix(in srgb, var(--tum-blue-dark) 96%, transparent);--shell-inspector-highlight: color-mix(in srgb, var(--tum-blue-light-2) 12%, transparent)}}.app-shell{display:flex;height:100vh;width:100vw;overflow:hidden;background:radial-gradient(circle at top left,color-mix(in srgb,var(--tum-blue-light) 10%,transparent),transparent 24%),radial-gradient(circle at bottom right,color-mix(in srgb,var(--tum-orange) 5%,transparent),transparent 20%),var(--bg)}.app-sidebar{position:relative;box-shadow:inset -1px 0 0 var(--shell-sidebar-divider)}.app-sidebar:before,.app-inspector:before{content:"";position:sticky;top:0;display:block;height:0}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;overflow-x:hidden}.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;border-bottom:1px solid var(--shell-topbar-border);background:var(--shell-topbar-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:none}.app-topbar__controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.app-topbar__controls label{display:flex;gap:8px;align-items:center;padding:6px 12px;border:1px solid var(--shell-topbar-control-border);border-radius:10px;background:var(--shell-topbar-control-bg)}.app-topbar__controls strong{color:var(--shell-topbar-label-fg);font-size:12px;font-weight:800;letter-spacing:.01em;text-transform:none}.app-topbar__controls select{min-height:36px;border:none;background:transparent;box-shadow:none;padding-block:6px;color:var(--shell-topbar-select-fg);font-weight:600}.app-topbar__controls select:focus{box-shadow:none}.app-topbar__actions{display:flex;gap:8px;align-items:center}.app-topbar__actions button{min-width:38px;min-height:38px;padding:0 12px;border-radius:8px;box-shadow:none}.app-banner{padding:8px 14px;border-bottom:1px solid var(--panel-border);background:var(--shell-banner-bg);color:var(--shell-banner-fg);font-size:12px}.app-banner--success{background:linear-gradient(90deg,color-mix(in srgb,var(--tum-green) 16%,transparent),color-mix(in srgb,var(--tum-white) 70%,transparent));color:var(--tum-green-dark)}.app-investigation-note{margin:12px;padding:12px 14px;border:1px solid var(--panel-border);border-radius:8px;background:var(--shell-note-bg);color:var(--shell-note-fg);font-size:12px;line-height:1.5}.app-canvas{flex:1;min-height:0;position:relative}.app-inspector{background:var(--shell-inspector-bg);display:flex;flex-direction:column;flex:1;min-height:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 1px 0 0 var(--shell-inspector-highlight)}.app-sidepanels{display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--panel-border);background:var(--shell-inspector-bg)}.app-inspector__header{padding:12px 14px;border-bottom:1px solid var(--panel-border);display:flex;align-items:center;gap:8px}.app-inspector__body{flex:1;min-height:0;overflow-y:auto;padding:14px}.app-performance{border-top:1px solid var(--panel-border);background:var(--terminal-side-bg);box-shadow:inset 1px 0 0 var(--shell-inspector-highlight);display:flex;flex-direction:column;min-height:0}.app-performance__header{padding:12px 14px;border-bottom:1px solid var(--panel-border);display:flex;align-items:center;gap:8px}.app-performance__body{flex:1;min-height:0;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:16px}.react-flow__attribution{background:transparent!important;color:var(--fg-muted)!important}.react-flow__minimap{border-radius:8px!important;overflow:hidden;box-shadow:none}.project-home{min-height:100vh;position:relative;overflow:hidden;color:var(--fg);background:var(--bg)}.project-home__backdrop{position:absolute;inset:0;background:radial-gradient(circle at top left,rgba(152,198,234,.18),transparent 32%),radial-gradient(circle at right center,rgba(100,160,200,.14),transparent 28%),linear-gradient(180deg,#ffffff,var(--bg))}.project-home__shell{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:clamp(32px,6vw,56px) 0;display:grid;gap:28px}.project-home__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:22px;border-bottom:1px solid var(--line)}.project-home__identity h1{margin:8px 0 10px;max-width:780px;color:var(--primary);font-size:clamp(42px,6vw,68px);line-height:1.02;max-width:14ch}.project-home__identity p,.project-home__main-head p,.project-home__empty-copy p,.project-home__summary-note,.project-home__loading{color:var(--fg-muted)}.project-home__eyebrow,.project-home__section-kicker{text-transform:uppercase;letter-spacing:0;font-size:13px;font-weight:800;color:var(--primary)}.project-home__header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.project-home__user{min-width:220px;padding:14px 16px;border-radius:16px;background:var(--panel-bg-strong);border:1px solid var(--panel-border);display:grid;gap:6px;box-shadow:var(--surface-soft)}.project-home__user-label,.project-home__summary-grid span,.project-home__org-picker span,.project-home__project-meta,.project-home__project-role{font-size:.78rem;color:var(--fg-muted)}.project-home__user-label{letter-spacing:.08em;text-transform:uppercase}.project-home__ghost,.project-home__secondary,.project-home__project-card{border-radius:14px;border:1px solid var(--panel-border);background:var(--panel-bg-strong);color:var(--fg)}.project-home__ghost:hover,.project-home__secondary:hover,.project-home__project-card:hover{border-color:var(--primary-hover)}.project-home__content{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.9fr);gap:24px;align-items:start}.project-home__main,.project-home__summary{background:var(--panel-bg-strong);border-radius:20px;border:1px solid var(--panel-border);box-shadow:var(--surface-raised);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-home__main{padding:30px;display:grid;gap:22px}.project-home__summary{padding:24px;display:grid;gap:18px;position:sticky;top:24px}.project-home__main-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.project-home__main-head h2,.project-home__empty-copy h3{margin:8px 0 10px;color:var(--primary);font-size:clamp(29px,3.8vw,44px);line-height:1.12}.project-home__primary{align-self:start;background:var(--primary);color:var(--fg-inverse);border-radius:12px;border:1px solid var(--primary);min-width:168px;min-height:44px;font-weight:700;box-shadow:var(--shadow-soft)}.project-home__primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.project-home__primary:disabled{opacity:.55;cursor:not-allowed}.project-home__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.project-home__list-toolbar,.project-home__list-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--fg-muted);font-size:.92rem}.project-home__inline-action{min-height:38px;border-radius:12px;border:1px solid var(--panel-border);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);padding:8px 14px;font-weight:600}.project-home__inline-action:hover{border-color:var(--primary-hover);background:var(--btn-secondary-hover-bg, var(--soft));color:var(--primary-hover)}.project-home__project-card{padding:18px;text-align:left;display:grid;gap:16px;min-height:168px}.project-home__project-card--active{border-color:#00529347;background:linear-gradient(135deg,rgba(152,198,234,.18),transparent 72%),var(--panel-bg);box-shadow:var(--shadow-soft)}.project-home__project-card--active:hover{border-color:var(--primary)}.project-home__project-topline,.project-home__project-meta{display:flex;justify-content:space-between;gap:12px;align-items:center}.project-home__project-role{text-transform:uppercase;letter-spacing:.08em}.project-home__project-name{font-size:1.2rem;font-weight:700;line-height:1.15}.project-home__empty{display:grid;gap:18px;padding:28px;border-radius:18px;background:var(--soft);border:1px solid var(--panel-border)}.project-home__empty-actions{display:flex;gap:12px;flex-wrap:wrap}.project-home__secondary{min-height:44px;padding-inline:20px;background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border)}.project-home__ghost:hover,.project-home__secondary:hover{background:var(--btn-secondary-hover-bg, var(--soft));color:var(--primary-hover)}.project-home__summary-grid{display:grid;gap:14px}.project-home__summary-grid div{display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--panel-border)}.project-home__summary-grid strong{font-size:1.2rem}.project-home__summary-note{line-height:1.5}.project-home__org-picker{display:grid;gap:8px}.project-home__org-picker select{width:100%;min-width:280px}.project-home__loading,.project-home__error{padding:14px 16px;border-radius:14px}.project-home__loading{background:var(--soft)}.project-home__error{background:var(--status-error-bg);color:var(--status-error-fg);border:1px solid var(--status-error-border)}.project-home__management{display:grid;gap:12px;padding:16px;border:1px solid var(--panel-border);border-radius:16px;background:var(--soft)}.project-home__management-copy{color:var(--fg-muted);font-size:.92rem;line-height:1.5}.project-home__actions{display:grid;gap:10px}@media(max-width:980px){.project-home__shell{width:calc(100% - 32px);padding:24px 0}.project-home__header,.project-home__main-head{grid-template-columns:1fr;display:grid}.project-home__content{grid-template-columns:1fr}.project-home__summary{position:static}}@media(max-width:640px){.project-home__shell{width:calc(100% - 32px);padding:18px 0}.project-home__main,.project-home__summary{border-radius:18px;padding:20px}.project-home__header-actions,.project-home__empty-actions,.project-home__user,.project-home__ghost,.project-home__secondary,.project-home__primary{width:100%}}
