/*!********************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/autocomplete-palette.css ***!
  \********************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.autocomplete-palette {
    position: absolute;
    left: 20px;
    top: 20px;
    width: 400px;
}

/*!**********************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/@vscode/codicons/dist/codicon.css ***!
  \**********************************************************************************************************/
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/

@font-face {
	font-family: "codicon";
	font-display: block;
	src: url(1486698f10561040d3f7.ttf?c7330ef9199d97dc5b8aae3449a5dc27) format("truetype");
}

.codicon[class*='codicon-'] {
	font: normal normal normal 16px/1 codicon;
	display: inline-block;
	text-decoration: none;
	text-rendering: auto;
	text-align: center;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

/*---------------------
 *  Modifiers
 *-------------------*/

@keyframes codicon-spin {
	100% {
		transform:rotate(360deg);
	}
}

.codicon-sync.codicon-modifier-spin,
.codicon-loading.codicon-modifier-spin,
.codicon-gear.codicon-modifier-spin {
	/* Use steps to throttle FPS to reduce CPU usage */
	animation: codicon-spin 1.5s steps(30) infinite;
}

.codicon-modifier-disabled {
	opacity: 0.5;
}

.codicon-modifier-hidden {
	opacity: 0;
}

/* custom speed & easing for loading icon */
.codicon-loading {
	animation-duration: 1s !important;
	animation-timing-function: cubic-bezier(0.53, 0.21, 0.29, 0.67) !important;
}

/*---------------------
 *  Icons
 *-------------------*/

.codicon-add:before { content: "\ea60" }
.codicon-plus:before { content: "\ea60" }
.codicon-gist-new:before { content: "\ea60" }
.codicon-repo-create:before { content: "\ea60" }
.codicon-lightbulb:before { content: "\ea61" }
.codicon-light-bulb:before { content: "\ea61" }
.codicon-repo:before { content: "\ea62" }
.codicon-repo-delete:before { content: "\ea62" }
.codicon-gist-fork:before { content: "\ea63" }
.codicon-repo-forked:before { content: "\ea63" }
.codicon-git-pull-request:before { content: "\ea64" }
.codicon-git-pull-request-abandoned:before { content: "\ea64" }
.codicon-record-keys:before { content: "\ea65" }
.codicon-keyboard:before { content: "\ea65" }
.codicon-tag:before { content: "\ea66" }
.codicon-git-pull-request-label:before { content: "\ea66" }
.codicon-tag-add:before { content: "\ea66" }
.codicon-tag-remove:before { content: "\ea66" }
.codicon-person:before { content: "\ea67" }
.codicon-person-follow:before { content: "\ea67" }
.codicon-person-outline:before { content: "\ea67" }
.codicon-person-filled:before { content: "\ea67" }
.codicon-source-control:before { content: "\ea68" }
.codicon-mirror:before { content: "\ea69" }
.codicon-mirror-public:before { content: "\ea69" }
.codicon-star:before { content: "\ea6a" }
.codicon-star-add:before { content: "\ea6a" }
.codicon-star-delete:before { content: "\ea6a" }
.codicon-star-empty:before { content: "\ea6a" }
.codicon-comment:before { content: "\ea6b" }
.codicon-comment-add:before { content: "\ea6b" }
.codicon-alert:before { content: "\ea6c" }
.codicon-warning:before { content: "\ea6c" }
.codicon-search:before { content: "\ea6d" }
.codicon-search-save:before { content: "\ea6d" }
.codicon-log-out:before { content: "\ea6e" }
.codicon-sign-out:before { content: "\ea6e" }
.codicon-log-in:before { content: "\ea6f" }
.codicon-sign-in:before { content: "\ea6f" }
.codicon-eye:before { content: "\ea70" }
.codicon-eye-unwatch:before { content: "\ea70" }
.codicon-eye-watch:before { content: "\ea70" }
.codicon-circle-filled:before { content: "\ea71" }
.codicon-primitive-dot:before { content: "\ea71" }
.codicon-close-dirty:before { content: "\ea71" }
.codicon-debug-breakpoint:before { content: "\ea71" }
.codicon-debug-breakpoint-disabled:before { content: "\ea71" }
.codicon-debug-hint:before { content: "\ea71" }
.codicon-terminal-decoration-success:before { content: "\ea71" }
.codicon-primitive-square:before { content: "\ea72" }
.codicon-edit:before { content: "\ea73" }
.codicon-pencil:before { content: "\ea73" }
.codicon-info:before { content: "\ea74" }
.codicon-issue-opened:before { content: "\ea74" }
.codicon-gist-private:before { content: "\ea75" }
.codicon-git-fork-private:before { content: "\ea75" }
.codicon-lock:before { content: "\ea75" }
.codicon-mirror-private:before { content: "\ea75" }
.codicon-close:before { content: "\ea76" }
.codicon-remove-close:before { content: "\ea76" }
.codicon-x:before { content: "\ea76" }
.codicon-repo-sync:before { content: "\ea77" }
.codicon-sync:before { content: "\ea77" }
.codicon-clone:before { content: "\ea78" }
.codicon-desktop-download:before { content: "\ea78" }
.codicon-beaker:before { content: "\ea79" }
.codicon-microscope:before { content: "\ea79" }
.codicon-vm:before { content: "\ea7a" }
.codicon-device-desktop:before { content: "\ea7a" }
.codicon-file:before { content: "\ea7b" }
.codicon-more:before { content: "\ea7c" }
.codicon-ellipsis:before { content: "\ea7c" }
.codicon-kebab-horizontal:before { content: "\ea7c" }
.codicon-mail-reply:before { content: "\ea7d" }
.codicon-reply:before { content: "\ea7d" }
.codicon-organization:before { content: "\ea7e" }
.codicon-organization-filled:before { content: "\ea7e" }
.codicon-organization-outline:before { content: "\ea7e" }
.codicon-new-file:before { content: "\ea7f" }
.codicon-file-add:before { content: "\ea7f" }
.codicon-new-folder:before { content: "\ea80" }
.codicon-file-directory-create:before { content: "\ea80" }
.codicon-trash:before { content: "\ea81" }
.codicon-trashcan:before { content: "\ea81" }
.codicon-history:before { content: "\ea82" }
.codicon-clock:before { content: "\ea82" }
.codicon-folder:before { content: "\ea83" }
.codicon-file-directory:before { content: "\ea83" }
.codicon-symbol-folder:before { content: "\ea83" }
.codicon-logo-github:before { content: "\ea84" }
.codicon-mark-github:before { content: "\ea84" }
.codicon-github:before { content: "\ea84" }
.codicon-terminal:before { content: "\ea85" }
.codicon-console:before { content: "\ea85" }
.codicon-repl:before { content: "\ea85" }
.codicon-zap:before { content: "\ea86" }
.codicon-symbol-event:before { content: "\ea86" }
.codicon-error:before { content: "\ea87" }
.codicon-stop:before { content: "\ea87" }
.codicon-variable:before { content: "\ea88" }
.codicon-symbol-variable:before { content: "\ea88" }
.codicon-array:before { content: "\ea8a" }
.codicon-symbol-array:before { content: "\ea8a" }
.codicon-symbol-module:before { content: "\ea8b" }
.codicon-symbol-package:before { content: "\ea8b" }
.codicon-symbol-namespace:before { content: "\ea8b" }
.codicon-symbol-object:before { content: "\ea8b" }
.codicon-symbol-method:before { content: "\ea8c" }
.codicon-symbol-function:before { content: "\ea8c" }
.codicon-symbol-constructor:before { content: "\ea8c" }
.codicon-symbol-boolean:before { content: "\ea8f" }
.codicon-symbol-null:before { content: "\ea8f" }
.codicon-symbol-numeric:before { content: "\ea90" }
.codicon-symbol-number:before { content: "\ea90" }
.codicon-symbol-structure:before { content: "\ea91" }
.codicon-symbol-struct:before { content: "\ea91" }
.codicon-symbol-parameter:before { content: "\ea92" }
.codicon-symbol-type-parameter:before { content: "\ea92" }
.codicon-symbol-key:before { content: "\ea93" }
.codicon-symbol-text:before { content: "\ea93" }
.codicon-symbol-reference:before { content: "\ea94" }
.codicon-go-to-file:before { content: "\ea94" }
.codicon-symbol-enum:before { content: "\ea95" }
.codicon-symbol-value:before { content: "\ea95" }
.codicon-symbol-ruler:before { content: "\ea96" }
.codicon-symbol-unit:before { content: "\ea96" }
.codicon-activate-breakpoints:before { content: "\ea97" }
.codicon-archive:before { content: "\ea98" }
.codicon-arrow-both:before { content: "\ea99" }
.codicon-arrow-down:before { content: "\ea9a" }
.codicon-arrow-left:before { content: "\ea9b" }
.codicon-arrow-right:before { content: "\ea9c" }
.codicon-arrow-small-down:before { content: "\ea9d" }
.codicon-arrow-small-left:before { content: "\ea9e" }
.codicon-arrow-small-right:before { content: "\ea9f" }
.codicon-arrow-small-up:before { content: "\eaa0" }
.codicon-arrow-up:before { content: "\eaa1" }
.codicon-bell:before { content: "\eaa2" }
.codicon-bold:before { content: "\eaa3" }
.codicon-book:before { content: "\eaa4" }
.codicon-bookmark:before { content: "\eaa5" }
.codicon-debug-breakpoint-conditional-unverified:before { content: "\eaa6" }
.codicon-debug-breakpoint-conditional:before { content: "\eaa7" }
.codicon-debug-breakpoint-conditional-disabled:before { content: "\eaa7" }
.codicon-debug-breakpoint-data-unverified:before { content: "\eaa8" }
.codicon-debug-breakpoint-data:before { content: "\eaa9" }
.codicon-debug-breakpoint-data-disabled:before { content: "\eaa9" }
.codicon-debug-breakpoint-log-unverified:before { content: "\eaaa" }
.codicon-debug-breakpoint-log:before { content: "\eaab" }
.codicon-debug-breakpoint-log-disabled:before { content: "\eaab" }
.codicon-briefcase:before { content: "\eaac" }
.codicon-broadcast:before { content: "\eaad" }
.codicon-browser:before { content: "\eaae" }
.codicon-bug:before { content: "\eaaf" }
.codicon-calendar:before { content: "\eab0" }
.codicon-case-sensitive:before { content: "\eab1" }
.codicon-check:before { content: "\eab2" }
.codicon-checklist:before { content: "\eab3" }
.codicon-chevron-down:before { content: "\eab4" }
.codicon-chevron-left:before { content: "\eab5" }
.codicon-chevron-right:before { content: "\eab6" }
.codicon-chevron-up:before { content: "\eab7" }
.codicon-chrome-close:before { content: "\eab8" }
.codicon-chrome-maximize:before { content: "\eab9" }
.codicon-chrome-minimize:before { content: "\eaba" }
.codicon-chrome-restore:before { content: "\eabb" }
.codicon-circle-outline:before { content: "\eabc" }
.codicon-circle:before { content: "\eabc" }
.codicon-debug-breakpoint-unverified:before { content: "\eabc" }
.codicon-terminal-decoration-incomplete:before { content: "\eabc" }
.codicon-circle-slash:before { content: "\eabd" }
.codicon-circuit-board:before { content: "\eabe" }
.codicon-clear-all:before { content: "\eabf" }
.codicon-clippy:before { content: "\eac0" }
.codicon-close-all:before { content: "\eac1" }
.codicon-cloud-download:before { content: "\eac2" }
.codicon-cloud-upload:before { content: "\eac3" }
.codicon-code:before { content: "\eac4" }
.codicon-collapse-all:before { content: "\eac5" }
.codicon-color-mode:before { content: "\eac6" }
.codicon-comment-discussion:before { content: "\eac7" }
.codicon-credit-card:before { content: "\eac9" }
.codicon-dash:before { content: "\eacc" }
.codicon-dashboard:before { content: "\eacd" }
.codicon-database:before { content: "\eace" }
.codicon-debug-continue:before { content: "\eacf" }
.codicon-debug-disconnect:before { content: "\ead0" }
.codicon-debug-pause:before { content: "\ead1" }
.codicon-debug-restart:before { content: "\ead2" }
.codicon-debug-start:before { content: "\ead3" }
.codicon-debug-step-into:before { content: "\ead4" }
.codicon-debug-step-out:before { content: "\ead5" }
.codicon-debug-step-over:before { content: "\ead6" }
.codicon-debug-stop:before { content: "\ead7" }
.codicon-debug:before { content: "\ead8" }
.codicon-device-camera-video:before { content: "\ead9" }
.codicon-device-camera:before { content: "\eada" }
.codicon-device-mobile:before { content: "\eadb" }
.codicon-diff-added:before { content: "\eadc" }
.codicon-diff-ignored:before { content: "\eadd" }
.codicon-diff-modified:before { content: "\eade" }
.codicon-diff-removed:before { content: "\eadf" }
.codicon-diff-renamed:before { content: "\eae0" }
.codicon-diff:before { content: "\eae1" }
.codicon-diff-sidebyside:before { content: "\eae1" }
.codicon-discard:before { content: "\eae2" }
.codicon-editor-layout:before { content: "\eae3" }
.codicon-empty-window:before { content: "\eae4" }
.codicon-exclude:before { content: "\eae5" }
.codicon-extensions:before { content: "\eae6" }
.codicon-eye-closed:before { content: "\eae7" }
.codicon-file-binary:before { content: "\eae8" }
.codicon-file-code:before { content: "\eae9" }
.codicon-file-media:before { content: "\eaea" }
.codicon-file-pdf:before { content: "\eaeb" }
.codicon-file-submodule:before { content: "\eaec" }
.codicon-file-symlink-directory:before { content: "\eaed" }
.codicon-file-symlink-file:before { content: "\eaee" }
.codicon-file-zip:before { content: "\eaef" }
.codicon-files:before { content: "\eaf0" }
.codicon-filter:before { content: "\eaf1" }
.codicon-flame:before { content: "\eaf2" }
.codicon-fold-down:before { content: "\eaf3" }
.codicon-fold-up:before { content: "\eaf4" }
.codicon-fold:before { content: "\eaf5" }
.codicon-folder-active:before { content: "\eaf6" }
.codicon-folder-opened:before { content: "\eaf7" }
.codicon-gear:before { content: "\eaf8" }
.codicon-gift:before { content: "\eaf9" }
.codicon-gist-secret:before { content: "\eafa" }
.codicon-gist:before { content: "\eafb" }
.codicon-git-commit:before { content: "\eafc" }
.codicon-git-compare:before { content: "\eafd" }
.codicon-compare-changes:before { content: "\eafd" }
.codicon-git-merge:before { content: "\eafe" }
.codicon-github-action:before { content: "\eaff" }
.codicon-github-alt:before { content: "\eb00" }
.codicon-globe:before { content: "\eb01" }
.codicon-grabber:before { content: "\eb02" }
.codicon-graph:before { content: "\eb03" }
.codicon-gripper:before { content: "\eb04" }
.codicon-heart:before { content: "\eb05" }
.codicon-home:before { content: "\eb06" }
.codicon-horizontal-rule:before { content: "\eb07" }
.codicon-hubot:before { content: "\eb08" }
.codicon-inbox:before { content: "\eb09" }
.codicon-issue-reopened:before { content: "\eb0b" }
.codicon-issues:before { content: "\eb0c" }
.codicon-italic:before { content: "\eb0d" }
.codicon-jersey:before { content: "\eb0e" }
.codicon-json:before { content: "\eb0f" }
.codicon-bracket:before { content: "\eb0f" }
.codicon-kebab-vertical:before { content: "\eb10" }
.codicon-key:before { content: "\eb11" }
.codicon-law:before { content: "\eb12" }
.codicon-lightbulb-autofix:before { content: "\eb13" }
.codicon-link-external:before { content: "\eb14" }
.codicon-link:before { content: "\eb15" }
.codicon-list-ordered:before { content: "\eb16" }
.codicon-list-unordered:before { content: "\eb17" }
.codicon-live-share:before { content: "\eb18" }
.codicon-loading:before { content: "\eb19" }
.codicon-location:before { content: "\eb1a" }
.codicon-mail-read:before { content: "\eb1b" }
.codicon-mail:before { content: "\eb1c" }
.codicon-markdown:before { content: "\eb1d" }
.codicon-megaphone:before { content: "\eb1e" }
.codicon-mention:before { content: "\eb1f" }
.codicon-milestone:before { content: "\eb20" }
.codicon-git-pull-request-milestone:before { content: "\eb20" }
.codicon-mortar-board:before { content: "\eb21" }
.codicon-move:before { content: "\eb22" }
.codicon-multiple-windows:before { content: "\eb23" }
.codicon-mute:before { content: "\eb24" }
.codicon-no-newline:before { content: "\eb25" }
.codicon-note:before { content: "\eb26" }
.codicon-octoface:before { content: "\eb27" }
.codicon-open-preview:before { content: "\eb28" }
.codicon-package:before { content: "\eb29" }
.codicon-paintcan:before { content: "\eb2a" }
.codicon-pin:before { content: "\eb2b" }
.codicon-play:before { content: "\eb2c" }
.codicon-run:before { content: "\eb2c" }
.codicon-plug:before { content: "\eb2d" }
.codicon-preserve-case:before { content: "\eb2e" }
.codicon-preview:before { content: "\eb2f" }
.codicon-project:before { content: "\eb30" }
.codicon-pulse:before { content: "\eb31" }
.codicon-question:before { content: "\eb32" }
.codicon-quote:before { content: "\eb33" }
.codicon-radio-tower:before { content: "\eb34" }
.codicon-reactions:before { content: "\eb35" }
.codicon-references:before { content: "\eb36" }
.codicon-refresh:before { content: "\eb37" }
.codicon-regex:before { content: "\eb38" }
.codicon-remote-explorer:before { content: "\eb39" }
.codicon-remote:before { content: "\eb3a" }
.codicon-remove:before { content: "\eb3b" }
.codicon-replace-all:before { content: "\eb3c" }
.codicon-replace:before { content: "\eb3d" }
.codicon-repo-clone:before { content: "\eb3e" }
.codicon-repo-force-push:before { content: "\eb3f" }
.codicon-repo-pull:before { content: "\eb40" }
.codicon-repo-push:before { content: "\eb41" }
.codicon-report:before { content: "\eb42" }
.codicon-request-changes:before { content: "\eb43" }
.codicon-rocket:before { content: "\eb44" }
.codicon-root-folder-opened:before { content: "\eb45" }
.codicon-root-folder:before { content: "\eb46" }
.codicon-rss:before { content: "\eb47" }
.codicon-ruby:before { content: "\eb48" }
.codicon-save-all:before { content: "\eb49" }
.codicon-save-as:before { content: "\eb4a" }
.codicon-save:before { content: "\eb4b" }
.codicon-screen-full:before { content: "\eb4c" }
.codicon-screen-normal:before { content: "\eb4d" }
.codicon-search-stop:before { content: "\eb4e" }
.codicon-server:before { content: "\eb50" }
.codicon-settings-gear:before { content: "\eb51" }
.codicon-settings:before { content: "\eb52" }
.codicon-shield:before { content: "\eb53" }
.codicon-smiley:before { content: "\eb54" }
.codicon-sort-precedence:before { content: "\eb55" }
.codicon-split-horizontal:before { content: "\eb56" }
.codicon-split-vertical:before { content: "\eb57" }
.codicon-squirrel:before { content: "\eb58" }
.codicon-star-full:before { content: "\eb59" }
.codicon-star-half:before { content: "\eb5a" }
.codicon-symbol-class:before { content: "\eb5b" }
.codicon-symbol-color:before { content: "\eb5c" }
.codicon-symbol-constant:before { content: "\eb5d" }
.codicon-symbol-enum-member:before { content: "\eb5e" }
.codicon-symbol-field:before { content: "\eb5f" }
.codicon-symbol-file:before { content: "\eb60" }
.codicon-symbol-interface:before { content: "\eb61" }
.codicon-symbol-keyword:before { content: "\eb62" }
.codicon-symbol-misc:before { content: "\eb63" }
.codicon-symbol-operator:before { content: "\eb64" }
.codicon-symbol-property:before { content: "\eb65" }
.codicon-wrench:before { content: "\eb65" }
.codicon-wrench-subaction:before { content: "\eb65" }
.codicon-symbol-snippet:before { content: "\eb66" }
.codicon-tasklist:before { content: "\eb67" }
.codicon-telescope:before { content: "\eb68" }
.codicon-text-size:before { content: "\eb69" }
.codicon-three-bars:before { content: "\eb6a" }
.codicon-thumbsdown:before { content: "\eb6b" }
.codicon-thumbsup:before { content: "\eb6c" }
.codicon-tools:before { content: "\eb6d" }
.codicon-triangle-down:before { content: "\eb6e" }
.codicon-triangle-left:before { content: "\eb6f" }
.codicon-triangle-right:before { content: "\eb70" }
.codicon-triangle-up:before { content: "\eb71" }
.codicon-twitter:before { content: "\eb72" }
.codicon-unfold:before { content: "\eb73" }
.codicon-unlock:before { content: "\eb74" }
.codicon-unmute:before { content: "\eb75" }
.codicon-unverified:before { content: "\eb76" }
.codicon-verified:before { content: "\eb77" }
.codicon-versions:before { content: "\eb78" }
.codicon-vm-active:before { content: "\eb79" }
.codicon-vm-outline:before { content: "\eb7a" }
.codicon-vm-running:before { content: "\eb7b" }
.codicon-watch:before { content: "\eb7c" }
.codicon-whitespace:before { content: "\eb7d" }
.codicon-whole-word:before { content: "\eb7e" }
.codicon-window:before { content: "\eb7f" }
.codicon-word-wrap:before { content: "\eb80" }
.codicon-zoom-in:before { content: "\eb81" }
.codicon-zoom-out:before { content: "\eb82" }
.codicon-list-filter:before { content: "\eb83" }
.codicon-list-flat:before { content: "\eb84" }
.codicon-list-selection:before { content: "\eb85" }
.codicon-selection:before { content: "\eb85" }
.codicon-list-tree:before { content: "\eb86" }
.codicon-debug-breakpoint-function-unverified:before { content: "\eb87" }
.codicon-debug-breakpoint-function:before { content: "\eb88" }
.codicon-debug-breakpoint-function-disabled:before { content: "\eb88" }
.codicon-debug-stackframe-active:before { content: "\eb89" }
.codicon-circle-small-filled:before { content: "\eb8a" }
.codicon-debug-stackframe-dot:before { content: "\eb8a" }
.codicon-terminal-decoration-mark:before { content: "\eb8a" }
.codicon-debug-stackframe:before { content: "\eb8b" }
.codicon-debug-stackframe-focused:before { content: "\eb8b" }
.codicon-debug-breakpoint-unsupported:before { content: "\eb8c" }
.codicon-symbol-string:before { content: "\eb8d" }
.codicon-debug-reverse-continue:before { content: "\eb8e" }
.codicon-debug-step-back:before { content: "\eb8f" }
.codicon-debug-restart-frame:before { content: "\eb90" }
.codicon-debug-alt:before { content: "\eb91" }
.codicon-call-incoming:before { content: "\eb92" }
.codicon-call-outgoing:before { content: "\eb93" }
.codicon-menu:before { content: "\eb94" }
.codicon-expand-all:before { content: "\eb95" }
.codicon-feedback:before { content: "\eb96" }
.codicon-git-pull-request-reviewer:before { content: "\eb96" }
.codicon-group-by-ref-type:before { content: "\eb97" }
.codicon-ungroup-by-ref-type:before { content: "\eb98" }
.codicon-account:before { content: "\eb99" }
.codicon-git-pull-request-assignee:before { content: "\eb99" }
.codicon-bell-dot:before { content: "\eb9a" }
.codicon-debug-console:before { content: "\eb9b" }
.codicon-library:before { content: "\eb9c" }
.codicon-output:before { content: "\eb9d" }
.codicon-run-all:before { content: "\eb9e" }
.codicon-sync-ignored:before { content: "\eb9f" }
.codicon-pinned:before { content: "\eba0" }
.codicon-github-inverted:before { content: "\eba1" }
.codicon-server-process:before { content: "\eba2" }
.codicon-server-environment:before { content: "\eba3" }
.codicon-pass:before { content: "\eba4" }
.codicon-issue-closed:before { content: "\eba4" }
.codicon-stop-circle:before { content: "\eba5" }
.codicon-play-circle:before { content: "\eba6" }
.codicon-record:before { content: "\eba7" }
.codicon-debug-alt-small:before { content: "\eba8" }
.codicon-vm-connect:before { content: "\eba9" }
.codicon-cloud:before { content: "\ebaa" }
.codicon-merge:before { content: "\ebab" }
.codicon-export:before { content: "\ebac" }
.codicon-graph-left:before { content: "\ebad" }
.codicon-magnet:before { content: "\ebae" }
.codicon-notebook:before { content: "\ebaf" }
.codicon-redo:before { content: "\ebb0" }
.codicon-check-all:before { content: "\ebb1" }
.codicon-pinned-dirty:before { content: "\ebb2" }
.codicon-pass-filled:before { content: "\ebb3" }
.codicon-circle-large-filled:before { content: "\ebb4" }
.codicon-circle-large:before { content: "\ebb5" }
.codicon-circle-large-outline:before { content: "\ebb5" }
.codicon-combine:before { content: "\ebb6" }
.codicon-gather:before { content: "\ebb6" }
.codicon-table:before { content: "\ebb7" }
.codicon-variable-group:before { content: "\ebb8" }
.codicon-type-hierarchy:before { content: "\ebb9" }
.codicon-type-hierarchy-sub:before { content: "\ebba" }
.codicon-type-hierarchy-super:before { content: "\ebbb" }
.codicon-git-pull-request-create:before { content: "\ebbc" }
.codicon-run-above:before { content: "\ebbd" }
.codicon-run-below:before { content: "\ebbe" }
.codicon-notebook-template:before { content: "\ebbf" }
.codicon-debug-rerun:before { content: "\ebc0" }
.codicon-workspace-trusted:before { content: "\ebc1" }
.codicon-workspace-untrusted:before { content: "\ebc2" }
.codicon-workspace-unknown:before { content: "\ebc3" }
.codicon-terminal-cmd:before { content: "\ebc4" }
.codicon-terminal-debian:before { content: "\ebc5" }
.codicon-terminal-linux:before { content: "\ebc6" }
.codicon-terminal-powershell:before { content: "\ebc7" }
.codicon-terminal-tmux:before { content: "\ebc8" }
.codicon-terminal-ubuntu:before { content: "\ebc9" }
.codicon-terminal-bash:before { content: "\ebca" }
.codicon-arrow-swap:before { content: "\ebcb" }
.codicon-copy:before { content: "\ebcc" }
.codicon-person-add:before { content: "\ebcd" }
.codicon-filter-filled:before { content: "\ebce" }
.codicon-wand:before { content: "\ebcf" }
.codicon-debug-line-by-line:before { content: "\ebd0" }
.codicon-inspect:before { content: "\ebd1" }
.codicon-layers:before { content: "\ebd2" }
.codicon-layers-dot:before { content: "\ebd3" }
.codicon-layers-active:before { content: "\ebd4" }
.codicon-compass:before { content: "\ebd5" }
.codicon-compass-dot:before { content: "\ebd6" }
.codicon-compass-active:before { content: "\ebd7" }
.codicon-azure:before { content: "\ebd8" }
.codicon-issue-draft:before { content: "\ebd9" }
.codicon-git-pull-request-closed:before { content: "\ebda" }
.codicon-git-pull-request-draft:before { content: "\ebdb" }
.codicon-debug-all:before { content: "\ebdc" }
.codicon-debug-coverage:before { content: "\ebdd" }
.codicon-run-errors:before { content: "\ebde" }
.codicon-folder-library:before { content: "\ebdf" }
.codicon-debug-continue-small:before { content: "\ebe0" }
.codicon-beaker-stop:before { content: "\ebe1" }
.codicon-graph-line:before { content: "\ebe2" }
.codicon-graph-scatter:before { content: "\ebe3" }
.codicon-pie-chart:before { content: "\ebe4" }
.codicon-bracket-dot:before { content: "\ebe5" }
.codicon-bracket-error:before { content: "\ebe6" }
.codicon-lock-small:before { content: "\ebe7" }
.codicon-azure-devops:before { content: "\ebe8" }
.codicon-verified-filled:before { content: "\ebe9" }
.codicon-newline:before { content: "\ebea" }
.codicon-layout:before { content: "\ebeb" }
.codicon-layout-activitybar-left:before { content: "\ebec" }
.codicon-layout-activitybar-right:before { content: "\ebed" }
.codicon-layout-panel-left:before { content: "\ebee" }
.codicon-layout-panel-center:before { content: "\ebef" }
.codicon-layout-panel-justify:before { content: "\ebf0" }
.codicon-layout-panel-right:before { content: "\ebf1" }
.codicon-layout-panel:before { content: "\ebf2" }
.codicon-layout-sidebar-left:before { content: "\ebf3" }
.codicon-layout-sidebar-right:before { content: "\ebf4" }
.codicon-layout-statusbar:before { content: "\ebf5" }
.codicon-layout-menubar:before { content: "\ebf6" }
.codicon-layout-centered:before { content: "\ebf7" }
.codicon-target:before { content: "\ebf8" }
.codicon-indent:before { content: "\ebf9" }
.codicon-record-small:before { content: "\ebfa" }
.codicon-error-small:before { content: "\ebfb" }
.codicon-terminal-decoration-error:before { content: "\ebfb" }
.codicon-arrow-circle-down:before { content: "\ebfc" }
.codicon-arrow-circle-left:before { content: "\ebfd" }
.codicon-arrow-circle-right:before { content: "\ebfe" }
.codicon-arrow-circle-up:before { content: "\ebff" }
.codicon-layout-sidebar-right-off:before { content: "\ec00" }
.codicon-layout-panel-off:before { content: "\ec01" }
.codicon-layout-sidebar-left-off:before { content: "\ec02" }
.codicon-blank:before { content: "\ec03" }
.codicon-heart-filled:before { content: "\ec04" }
.codicon-map:before { content: "\ec05" }
.codicon-map-horizontal:before { content: "\ec05" }
.codicon-fold-horizontal:before { content: "\ec05" }
.codicon-map-filled:before { content: "\ec06" }
.codicon-map-horizontal-filled:before { content: "\ec06" }
.codicon-fold-horizontal-filled:before { content: "\ec06" }
.codicon-circle-small:before { content: "\ec07" }
.codicon-bell-slash:before { content: "\ec08" }
.codicon-bell-slash-dot:before { content: "\ec09" }
.codicon-comment-unresolved:before { content: "\ec0a" }
.codicon-git-pull-request-go-to-changes:before { content: "\ec0b" }
.codicon-git-pull-request-new-changes:before { content: "\ec0c" }
.codicon-search-fuzzy:before { content: "\ec0d" }
.codicon-comment-draft:before { content: "\ec0e" }
.codicon-send:before { content: "\ec0f" }
.codicon-sparkle:before { content: "\ec10" }
.codicon-insert:before { content: "\ec11" }
.codicon-mic:before { content: "\ec12" }
.codicon-thumbsdown-filled:before { content: "\ec13" }
.codicon-thumbsup-filled:before { content: "\ec14" }
.codicon-coffee:before { content: "\ec15" }
.codicon-snake:before { content: "\ec16" }
.codicon-game:before { content: "\ec17" }
.codicon-vr:before { content: "\ec18" }
.codicon-chip:before { content: "\ec19" }
.codicon-piano:before { content: "\ec1a" }
.codicon-music:before { content: "\ec1b" }
.codicon-mic-filled:before { content: "\ec1c" }
.codicon-repo-fetch:before { content: "\ec1d" }
.codicon-copilot:before { content: "\ec1e" }
.codicon-lightbulb-sparkle:before { content: "\ec1f" }
.codicon-robot:before { content: "\ec20" }
.codicon-sparkle-filled:before { content: "\ec21" }
.codicon-diff-single:before { content: "\ec22" }
.codicon-diff-multiple:before { content: "\ec23" }
.codicon-surround-with:before { content: "\ec24" }
.codicon-share:before { content: "\ec25" }
.codicon-git-stash:before { content: "\ec26" }
.codicon-git-stash-apply:before { content: "\ec27" }
.codicon-git-stash-pop:before { content: "\ec28" }
.codicon-vscode:before { content: "\ec29" }
.codicon-vscode-insiders:before { content: "\ec2a" }
.codicon-code-oss:before { content: "\ec2b" }
.codicon-run-coverage:before { content: "\ec2c" }
.codicon-run-all-coverage:before { content: "\ec2d" }
.codicon-coverage:before { content: "\ec2e" }
.codicon-github-project:before { content: "\ec2f" }
.codicon-map-vertical:before { content: "\ec30" }
.codicon-fold-vertical:before { content: "\ec30" }
.codicon-map-vertical-filled:before { content: "\ec31" }
.codicon-fold-vertical-filled:before { content: "\ec31" }
.codicon-go-to-search:before { content: "\ec32" }
.codicon-percentage:before { content: "\ec33" }
.codicon-sort-percentage:before { content: "\ec33" }
.codicon-attach:before { content: "\ec34" }
.codicon-go-to-editing-session:before { content: "\ec35" }
.codicon-edit-session:before { content: "\ec36" }
.codicon-code-review:before { content: "\ec37" }
.codicon-copilot-warning:before { content: "\ec38" }
.codicon-python:before { content: "\ec39" }
.codicon-copilot-large:before { content: "\ec3a" }
.codicon-copilot-warning-large:before { content: "\ec3b" }
.codicon-keyboard-tab:before { content: "\ec3c" }
.codicon-copilot-blocked:before { content: "\ec3d" }
.codicon-copilot-not-connected:before { content: "\ec3e" }
.codicon-flag:before { content: "\ec3f" }
.codicon-lightbulb-empty:before { content: "\ec40" }
.codicon-symbol-method-arrow:before { content: "\ec41" }
.codicon-copilot-unavailable:before { content: "\ec42" }
.codicon-repo-pinned:before { content: "\ec43" }
.codicon-keyboard-tab-above:before { content: "\ec44" }
.codicon-keyboard-tab-below:before { content: "\ec45" }
.codicon-git-pull-request-done:before { content: "\ec46" }
.codicon-mcp:before { content: "\ec47" }
.codicon-extensions-large:before { content: "\ec48" }
.codicon-layout-panel-dock:before { content: "\ec49" }
.codicon-layout-sidebar-left-dock:before { content: "\ec4a" }
.codicon-layout-sidebar-right-dock:before { content: "\ec4b" }
.codicon-copilot-in-progress:before { content: "\ec4c" }
.codicon-copilot-error:before { content: "\ec4d" }
.codicon-copilot-success:before { content: "\ec4e" }
.codicon-chat-sparkle:before { content: "\ec4f" }
.codicon-search-sparkle:before { content: "\ec50" }
.codicon-edit-sparkle:before { content: "\ec51" }
.codicon-copilot-snooze:before { content: "\ec52" }
.codicon-send-to-remote-agent:before { content: "\ec53" }
.codicon-comment-discussion-sparkle:before { content: "\ec54" }
.codicon-chat-sparkle-warning:before { content: "\ec55" }
.codicon-chat-sparkle-error:before { content: "\ec56" }
.codicon-collection:before { content: "\ec57" }
.codicon-new-collection:before { content: "\ec58" }
.codicon-thinking:before { content: "\ec59" }
.codicon-build:before { content: "\ec5a" }
.codicon-comment-discussion-quote:before { content: "\ec5b" }
.codicon-cursor:before { content: "\ec5c" }
.codicon-eraser:before { content: "\ec5d" }
.codicon-file-text:before { content: "\ec5e" }
.codicon-quotes:before { content: "\ec60" }
.codicon-rename:before { content: "\ec61" }
.codicon-run-with-deps:before { content: "\ec62" }
.codicon-debug-connected:before { content: "\ec63" }
.codicon-strikethrough:before { content: "\ec64" }
.codicon-open-in-product:before { content: "\ec65" }
.codicon-index-zero:before { content: "\ec66" }
.codicon-agent:before { content: "\ec67" }
.codicon-edit-code:before { content: "\ec68" }
.codicon-repo-selected:before { content: "\ec69" }
.codicon-skip:before { content: "\ec6a" }
.codicon-merge-into:before { content: "\ec6b" }
.codicon-git-branch-changes:before { content: "\ec6c" }
.codicon-git-branch-staged-changes:before { content: "\ec6d" }
.codicon-git-branch-conflicts:before { content: "\ec6e" }
.codicon-git-branch:before { content: "\ec6f" }
.codicon-git-branch-create:before { content: "\ec6f" }
.codicon-git-branch-delete:before { content: "\ec6f" }
.codicon-search-large:before { content: "\ec70" }
.codicon-terminal-git-bash:before { content: "\ec71" }
.codicon-window-active:before { content: "\ec72" }
.codicon-forward:before { content: "\ec73" }
.codicon-download:before { content: "\ec74" }
.codicon-clockface:before { content: "\ec75" }
.codicon-unarchive:before { content: "\ec76" }
.codicon-session-in-progress:before { content: "\ec77" }
.codicon-collection-small:before { content: "\ec78" }
.codicon-vm-small:before { content: "\ec79" }
.codicon-cloud-small:before { content: "\ec7a" }
.codicon-git-fetch:before { content: "\f101" }
.codicon-vm-pending:before { content: "\f102" }

/*!************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/glsp-sprotty.css ***!
  \************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2019-2023 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

:root {
    --glsp-error-foreground: red;
    --glsp-warning-foreground: yellow;
    --glsp-info-foreground: lightblue;
    --glsp-issue-background: rgb(255 255 255 / 85%);
}

.sprotty {
    padding: 0px;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.sprotty svg text::selection {
    background: none;
}

.sprotty-hidden {
    display: block;
    position: absolute;
    width: 0px;
    height: 0px;
}

.sprotty-popup {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    position: absolute;
    background: white;
    border-radius: 5px;
    border: 1px solid;
    max-width: 400px;
    min-width: 100px;
    z-index: 1;
    pointer-events: none;
}

.sprotty-popup > div {
    margin: 10px;
}

.sprotty-popup-closed {
    display: none;
}

.sprotty-resize-handle {
    /* radius does not work in Firefox */
    r: 5px;
    fill: #1d80d1;
    stroke: none;
    z-index: 1000;
}

.sprotty-resize-handle.selected {
    fill: #1d80d1;
}

.sprotty-resize-handle.active {
    fill: #1d80d1;
}

.sprotty-edge {
    fill: none;
    stroke-width: 1.5px;
}

.sprotty-edge.selected {
    stroke-width: 1.5px;
}

.sprotty-edge.mouseover:not(.selected) path {
    stroke-width: 1.5px;
}

.sprotty-node:not(.selected) {
    stroke-width: 0px;
}

.sprotty-node.mouseover:not(.selected),
.sprotty-edge.mouseover:not(.selected) {
    opacity: 60%;
}

.sprotty-node.selected,
.sprotty-edge.selected {
    stroke: #1d80d1;
    stroke-width: 1.5px;
}

.sprotty-edge.mouseover:not(.selected) .arrow,
.sprotty-edge.selected .arrow {
    stroke-dashoffset: none;
    stroke-dasharray: none;
}

.sprotty .node-creation-mode {
    cursor: copy;
}

.sprotty .overlap-forbidden-mode {
    cursor: not-allowed;
}

.sprotty .default-mode {
    cursor: default;
}

.sprotty .edge-modification-not-allowed-mode {
    cursor: no-drop;
}

.sprotty .edge-creation-select-source-mode {
    cursor: pointer;
}

.sprotty .edge-creation-select-target-mode,
.sprotty .edge-reconnect-select-target-mode {
    cursor: crosshair;
}

.sprotty .edge-check-pending-mode {
    cursor: wait;
}

.sprotty .move-mode {
    cursor: move;
}

.sprotty .resize-nesw-mode {
    cursor: nesw-resize;
}

.sprotty .resize-nwse-mode {
    cursor: nwse-resize;
}

.sprotty .resize-nw-mode {
    cursor: nw-resize;
}

.sprotty .resize-w-mode {
    cursor: n-resize;
}

.sprotty .resize-ne-mode {
    cursor: ne-resize;
}

.sprotty .resize-e-mode {
    cursor: e-resize;
}

.sprotty .resize-se-mode {
    cursor: se-resize;
}

.sprotty .resize-s-mode {
    cursor: s-resize;
}

.sprotty .resize-sw-mode {
    cursor: sw-resize;
}

.sprotty .resize-w-mode {
    cursor: w-resize;
}

.sprotty .element-deletion-mode {
    cursor: pointer;
}

.sprotty .marquee-mode {
    cursor: crosshair;
}

.sprotty-node.marquee {
    fill: lightgray;
    opacity: 0.2;
}

.sprotty-edge > .sprotty-routing-handle {
    r: 5px;
    fill: #1d80d1;
    stroke: none;
    z-index: 1000;
}

.sprotty-edge > .sprotty-routing-handle[data-kind='line'] {
    opacity: 0.35;
}

.sprotty-edge > .sprotty-routing-handle.selected {
    fill: #1d80d1;
}

.sprotty-edge > .sprotty-routing-handle.mouseover {
    stroke: #1d80d1a1;
    stroke-width: 1;
}

.sprotty-missing {
    stroke-width: 1;
    stroke: #f00;
    fill: #f00;
    font-size: 14pt;
    text-anchor: middle;
}

.sprotty g .movement-not-allowed > .sprotty-node {
    stroke: var(--glsp-error-foreground);
    stroke-width: 1.5px;
}

.sprotty .sprotty-resize-handle.movement-not-allowed {
    stroke: var(--glsp-error-foreground);
    fill: var(--glsp-error-foreground);
}

.sprotty .error > .sprotty-node {
    filter: drop-shadow(0px 0px 2px var(--glsp-error-foreground));
}

.sprotty .warning > .sprotty-node {
    filter: drop-shadow(0px 0px 2px var(--glsp-warning-foreground));
}

.sprotty .info > .sprotty-node {
    filter: drop-shadow(0px 0px 2px var(--glsp-info-foreground));
}

.sprotty svg {
    border-style: solid;
    border-width: 1px;
    border-color: #bbb;
    user-select: none;
}

.sprotty text {
    stroke-width: 0;
    stroke: #000;
    fill: #000;
    font-family: sans-serif;
    font-size: 8pt;
    text-anchor: middle;
}

.glsp-projection {
    width: 40%;
    opacity: 1;
}

.sprotty.sprotty-hidden .sprotty-projection-bar {
    visibility: hidden;
}

.sprotty-projection-bar.vertical.bordered-projection-bar {
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 100%;
}

.sprotty-projection-bar.horizontal.bordered-projection-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 100%;
}

.sprotty-projection-bar.horizontal .sprotty-projection,
.sprotty-projection-bar.horizontal .sprotty-viewport {
    position: absolute;
    height: 100%;
    top: 0;
}

.sprotty-projection-bar.vertical .sprotty-projection,
.sprotty-projection-bar.vertical .sprotty-viewport {
    position: absolute;
    width: 100%;
    left: 0;
}

.projection-scroll-bar {
    position: absolute;
    background: transparent;
    background-color: #aaa;
    z-index: 1;
    opacity: 0.3;
    transition: opacity 0.8s linear;
}

.sprotty-viewport {
    z-index: 1;
    border-style: solid;
    border-width: 2px;
}

.bordered-projection-bar {
    border-left: 1px solid rgba(212, 212, 212, 0.2);
    border-top: 1px solid rgba(212, 212, 212, 0.2);
    fill: transparent;
}

.ui-extension.hidden {
    display: none;
    opacity: 0;
}

/*!************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/key-shortcut.css ***!
  \************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.keyboard-shortcuts-menu {
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #ededee;
    margin-bottom: 20px;
    position: absolute;
    display: flex;
    flex-direction: column;
    bottom: 0;
    right: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    line-height: 1.5;
    font-size: 16px;
    z-index: 9999;
    width: 400px;
    max-height: 512px;
    box-shadow:
        0 4px 8px 0 rgba(0, 0, 0, 0.2),
        0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.keyboard-shortcuts-menu h3 {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    margin-bottom: 10px;
    padding: 10px;
}

.keyboard-shortcuts-menu kbd {
    background-color: #e4e1e1;
    border: 1px solid #ccc;
    border-radius: 3px;
    box-shadow:
        0 1px 0 rgba(0, 0, 0, 0.2),
        inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    color: #333;
    display: inline-block;
    font-size: 0.85em;
    font-weight: 600;
    line-height: 1;
    padding: 2px 4px;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    white-space: nowrap;
}

.keyboard-shortcuts-menu kbd:active {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
}

.keyboard-shortcuts-container {
    display: flex;
    flex-direction: column;
    max-height: 100%;
    padding: 10px;
    padding-top: 3px;
    overflow: auto;
    right: 40px;
    top: 25px;
    text-align: left;
    display: block;
    z-index: 1000;
    color: black;
}

.shortcut-entry-container {
    display: flex;
    justify-content: space-between;
    margin-right: 10px;
}

#key-shortcut-close-btn {
    position: absolute;
    top: 14px;
    right: 5px;
    font-size: 16px;
    font-weight: bold;
    background: #cccccc;
    border: none;
    cursor: pointer;
}

.column-title {
    text-align: left;
}

.menu-header {
    padding: 0.4em;
    text-align: left;
    background: #cccccc;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.shortcut-table thead th {
    border-bottom: 2px solid #000;
}

/*!***************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/command-palette.css ***!
  \***************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2019-2021 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.command-palette {
    position: fixed;
    transition: opacity 0.3s linear;
    box-shadow:
        0 4px 8px 0 rgba(0, 0, 0, 0.2),
        0 6px 20px 0 rgba(0, 0, 0, 0.19);
    overflow: visible;
}

.command-palette-suggestions {
    background: white;
    z-index: 1000;
    overflow: auto;
    box-sizing: border-box;
    border: 1px solid rgba(60, 60, 60, 0.6);
    box-shadow:
        0 4px 8px 0 rgba(0, 0, 0, 0.2),
        0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.command-palette-suggestions .icon {
    padding-right: 0.3em;
    display: flex;
    align-self: center;
}

.command-palette-suggestions em {
    font-weight: bold;
    font-style: normal;
}

.command-palette-suggestions > div {
    padding: 0 4px;
    display: flex;
}

.command-palette-suggestions .group {
    background: #eee;
}

.command-palette-suggestions > div:hover:not(.group),
.command-palette-suggestions > div.selected {
    cursor: pointer;
}

.command-palette-suggestions > div:hover:not(.group) {
    background: #e0e0e0;
}

.command-palette-suggestions > div.selected {
    background: #bbdefb;
}

/*!**********************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/decoration.css ***!
  \**********************************************************************************************/
/********************************************************************************
 * Copyright (c) 2020-2021 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.sprotty-issue-background {
    fill: var(--glsp-issue-background);
    background-color: var(--glsp-issue-background);
}

.sprotty-issue.sprotty-error {
    fill: var(--glsp-error-foreground);
    background-color: var(--glsp-error-foreground);
}

.sprotty-issue.sprotty-warning {
    fill: var(--glsp-warning-foreground);
    background-color: var(--glsp-warning-foreground);
}

.sprotty-issue.sprotty-info {
    fill: var(--glsp-info-foreground);
    background-color: var(--glsp-info-foreground);
}

/*!******************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/search.css ***!
  \******************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023-2025 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

:root {
    --glsp-search-highlight: #130bf7;
}

.search-hidden {
    opacity: 0.4;
}

.search-highlighted .sprotty-node {
    stroke-width: 1.5px;
    stroke-width: 2px;
    stroke-dashoffset: 5;
    stroke-dasharray: 5, 5;
    stroke-linecap: round;
    stroke: var(--glsp-search-highlight);
}

.sprotty-edge.search-highlighted,
.sprotty-edge.search-highlighted .sprotty-edge.arrow {
    fill: var(--glsp-search-highlight);
    stroke: var(--glsp-search-highlight);
}

/*!**************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/status-overlay.css ***!
  \**************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.sprotty-status {
    position: absolute;
    top: 5px;
    left: 10px;
    display: flex;
    align-items: center;
}

.sprotty-status .fatal {
    color: var(--glsp-error-foreground);
}

.sprotty-status .error {
    color: var(--glsp-error-foreground);
}

.sprotty-status .warning {
    color: var(--glsp-warning-foreground);
}

.sprotty-status .info {
    color: var(--glsp-info-foreground);
}

.sprotty-error {
    fill: var(--glsp-issue-background);
    color: var(--glsp-error-foreground);
}

.sprotty-warning {
    fill: var(--glsp-issue-background);
    color: var(--glsp-warning-foreground);
}

.sprotty-info {
    fill: var(--glsp-issue-background);
    color: var();
}

.sprotty-infoRow .codicon {
    margin-right: 8px;
}
.sprotty-status .ok {
    visibility: hidden;
}

.sprotty-status-message {
    visibility: hidden;
    padding-left: 10px;
}

.sprotty-status-message.fatal {
    visibility: visible;
    padding-left: 10px;
}

.sprotty-status:hover .sprotty-status-message {
    visibility: visible;
}

/*!************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/tool-palette.css ***!
  \************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2019-2021 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

/* Css for main container */
.tool-palette {
    position: absolute;
    right: 45px;
    top: 35px;
    text-align: center;
    width: fit-content;
    display: block;
    z-index: 1000;
    border-style: solid;
    border-width: 0px;
    border-color: #bbb;
    border-radius: 5px;
    color: black;
    user-select: none;
    /* supported by Chrome and Opera */
    -webkit-user-select: none;
    /* Safari */
    -khtml-user-select: none;
    /* Konqueror HTML */
    -moz-user-select: none;
    /* Firefox */
    -ms-user-select: none;
    /* Internet Explorer/Edge */

    box-shadow:
        4px 0 4px 0 rgba(0, 0, 0, 0.2),
        0 4px 4px 0 rgba(0, 0, 0, 0.19);
    font-size: 14px;
}

/* Css for header compartment */

.palette-header {
    padding: 0.4em;
    text-align: left;
    background: rgb(151, 160, 165);
    border: 1px solid rgba(60, 60, 60, 0.6);
    border-bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.header-icon {
    display: none;
    align-items: center;
}

.header-tools {
    display: flex;
    align-items: center;
    gap: 3px;
}

.header-tools i {
    border: 1px solid transparent;
    padding: 0.15em;
    margin-right: 0.15em;
}

.header-tools i:hover {
    background: #dfdfdf;
}

.header-tools .clicked {
    background: #bddaef;
    border: 1px solid rgba(60, 60, 60, 0.6);
}

/*Css for palette body compartment */

.palette-body {
    background: rgba(100, 100, 100, 0.2);
    border: 1px solid rgba(60, 60, 60, 0.6);
}

.tool-group {
    text-align: left;
    background: #ededee;
}

.group-header {
    background: rgb(187, 193, 196);
    display: flex;
    align-items: center;
}

.group-header:hover {
    background: rgb(187, 193, 196);
}

.group-header i {
    padding: 0.4em;
}

.tool-button {
    background: rgb(252, 253, 253);
    padding: 0.4em;
    display: flex;
    align-items: center;
}

.tool-button i {
    margin-right: 0.4em;
}

.tool-button:hover {
    background: rgb(220, 223, 224);
}

.tool-button.clicked {
    background: rgb(163, 201, 219);
}

.tool-button.collapsed {
    display: none;
}

.collapsible-palette {
    overflow: auto;
    transition: max-height 0.2s ease-out;
}

.minimize-palette-button {
    position: absolute;
    right: 20px;
    top: 35px;
    z-index: 1000;
    color: rgb(58, 63, 65);
}

.minimize-palette-button .codicon::before {
    font-size: 20px;
}

.search-input {
    box-sizing: border-box;
    background: rgb(252, 253, 253);
    color: black;
    border: 1px solid rgb(187, 193, 196);
    padding: 4px;
    width: 100%;
    margin: 3px 0;
}

/*!*************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/change-bounds.css ***!
  \*************************************************************************************************/
.sprotty-resize-handle[data-kind='top-left'] {
    cursor: nw-resize;
}

.sprotty-resize-handle[data-kind='top'] {
    cursor: n-resize;
}

.sprotty-resize-handle[data-kind='top-right'] {
    cursor: ne-resize;
}

.sprotty-resize-handle[data-kind='right'] {
    cursor: e-resize;
}

.sprotty-resize-handle[data-kind='bottom-right'] {
    cursor: se-resize;
}

.sprotty-resize-handle[data-kind='bottom'] {
    cursor: s-resize;
}

.sprotty-resize-handle[data-kind='bottom-left'] {
    cursor: sw-resize;
}

.sprotty-resize-handle[data-kind='left'] {
    cursor: w-resize;
}

.sprotty-resize-handle.resize-not-allowed {
    fill: var(--glsp-error-foreground);
}

.sprotty g .resize-not-allowed > .sprotty-node {
    stroke: var(--glsp-error-foreground);
    stroke-width: 1.5px;
}

/*!*************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/ghost-element.css ***!
  \*************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.ghost-element {
    /* we are a true ghost so we do not want to be used as a target for any mouse event */
    pointer-events: none;
    opacity: 0.8;
}

.ghost-element.hidden {
    width: 0;
    height: 0;
    visibility: hidden;
}

.sprotty-node.insert-indicator:not(.selected) {
    pointer-events: none;
    fill: none;
    stroke: black; /* same color as default color for edges */
    stroke-width: 1.5px;
}

/*!**********************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/navigation.css ***!
  \**********************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

:root {
    --glsp-navigation-highlight: rgba(136, 68, 68, 0.2);
}

.sprotty-edge.navigable-element {
    stroke: var(--glsp-navigation-highlight);
}

.sprotty-edge.navigable-element .sprotty-edge.arrow {
    fill: var(--glsp-navigation-highlight);
    stroke: var(--glsp-navigation-highlight);
}

/*!*********************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/keyboard-tool-palette.css ***!
  \*********************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.accessibility-tool-palette .header-tools i {
    position: relative;
}

.accessibility-tool-palette .tool-button .key-shortcut,
.accessibility-tool-palette .header-tools .key-shortcut {
    display: none;
    position: absolute;

    border-radius: 50%;
    width: 0.5rem;
    height: 0.5rem;
    padding: 0.5rem;

    background: #fff;
    border: 2px solid #666;
    color: black;
    text-align: center;

    font:
        bold 0.8rem Arial,
        sans-serif;
    line-height: 0.5rem;
}

.accessibility-tool-palette .tool-button .key-shortcut {
    left: -2rem;
}

.accessibility-tool-palette .header-tools .key-shortcut {
    top: -2.5rem;
    right: -0.3rem;
}

.accessibility-show-shortcuts:focus-within .header-tools .key-shortcut,
.accessibility-show-shortcuts:focus-within .tool-button .key-shortcut {
    display: block;
}

.accessibility-tool-palette.collapsible-palette {
    overflow: visible;
}

.accessibility-tool-palette.collapsible-palette + .minimize-palette-button {
    top: 50px;
}

/*!********************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/keyboard.css ***!
  \********************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.grid-container {
    display: grid;
    position: absolute;
    top: 0.5rem;
    bottom: 0.5rem;
    left: 0.5rem;
    right: 0.5rem;
    grid-template-columns: auto auto auto;
}

.grid-container.grid-visible {
    opacity: 0.7;
    visibility: visible;
}

.grid-container.grid-hidden {
    opacity: 0;
    visibility: hidden;
}

.grid-container:focus {
    opacity: 1;
}

.grid-item {
    border: 1px solid rgba(0, 0, 0, 0.6);
    padding: 1rem;
    /* Fix overlapping borders */
    margin: 0 -1px -1px 0;
}

.grid-item-number {
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0.5rem;

    background: #fff;
    border: 2px solid #666;
    color: black;
    text-align: center;

    font:
        bold 1.3rem Arial,
        sans-serif;
}

/*!*****************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/toast.css ***!
  \*****************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/
.toast {
    position: absolute;
    bottom: 48px; /* same as top of toolbar by default */
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 1rem;
    left: 40px; /* same as right of toolbar by default */
}

.toast-column-left {
    grid-column: 1 / span 1;
}

.toast-column-center {
    grid-column: 2 / span 1;
}

.toast-column-right {
    grid-column: 3 / span 1;
}

.toast-container {
    display: inline-block;
    min-width: 256px;
    max-width: 516px;
    background-color: #ccc;
    color: #000;
    padding: 0.5rem;
}

/*!*****************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/debug.css ***!
  \*****************************************************************************************/
/********************************************************************************
 * Copyright (c) 2024 Axon Ivy AG and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.debug-bounds:has(> .debug-bounds-decoration) {
    fill-opacity: 0.5;
}

.debug-bounds-decoration {
    fill: none;
    stroke: black;
    stroke-width: 1px;
}

/*!****************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/grid.css ***!
  \****************************************************************************************/
/********************************************************************************
 * Copyright (c) 2024 Axon Ivy AG and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.grid-background .sprotty-graph,
.grid-background.sprotty-graph {
    --grid-stroke-width: calc(1px * var(--grid-background-zoom));
    --grid-stroke-width-half: calc(var(--grid-stroke-width) / 2);
    --grid-color: rgba(0, 0, 0, 0.1);
    background-image: linear-gradient(to right, var(--grid-color) var(--grid-stroke-width), transparent var(--grid-stroke-width)),
        linear-gradient(to bottom, var(--grid-color) var(--grid-stroke-width), transparent var(--grid-stroke-width));
    background-size: var(--grid-background-width) var(--grid-background-height);
    background-position: calc(var(--grid-background-x) - var(--grid-stroke-width-half))
        calc(var(--grid-background-y) - var(--grid-stroke-width-half));
}

/*!************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../packages/client/css/helper-lines.css ***!
  \************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2023 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.helper-line {
    pointer-events: none;
    stroke: #1d80d1;
    stroke-width: 1;
    opacity: 1;
}

.selection-bounds {
    pointer-events: none;
    fill: blue;
    fill-opacity: 0.05;
    stroke-linejoin: miter;
    stroke-linecap: round;
    stroke: darkblue;
    stroke-width: 0.5;
    stroke-dasharray: 2;
}

/*!****************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/balloon-css/balloon.min.css ***!
  \****************************************************************************************************/
button[data-balloon]{overflow:visible}[data-balloon]{position:relative;cursor:pointer}[data-balloon]:after{filter:alpha(opacity=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all 0.18s ease-out 0.18s;-moz-transition:all 0.18s ease-out 0.18s;-ms-transition:all 0.18s ease-out 0.18s;-o-transition:all 0.18s ease-out 0.18s;transition:all 0.18s ease-out 0.18s;font-family:sans-serif !important;font-weight:normal !important;font-style:normal !important;text-shadow:none !important;font-size:12px !important;background:rgba(17,17,17,0.9);border-radius:4px;color:#fff;content:attr(data-balloon);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[data-balloon]:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,17,17,0.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;filter:alpha(opacity=0);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";-moz-opacity:0;-khtml-opacity:0;opacity:0;pointer-events:none;-webkit-transition:all 0.18s ease-out 0.18s;-moz-transition:all 0.18s ease-out 0.18s;-ms-transition:all 0.18s ease-out 0.18s;-o-transition:all 0.18s ease-out 0.18s;transition:all 0.18s ease-out 0.18s;content:'';position:absolute;z-index:10}[data-balloon]:hover:before,[data-balloon]:hover:after,[data-balloon][data-balloon-visible]:before,[data-balloon][data-balloon-visible]:after{filter:alpha(opacity=100);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";-moz-opacity:1;-khtml-opacity:1;opacity:1;pointer-events:auto}[data-balloon]:not([data-balloon-pos]):after{bottom:100%;left:50%;margin-bottom:11px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon]:not([data-balloon-pos]):before{bottom:100%;left:50%;margin-bottom:5px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon]:not([data-balloon-pos]):hover:after,[data-balloon]:not([data-balloon-pos])[data-balloon-visible]:after{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon]:not([data-balloon-pos]):hover:before,[data-balloon]:not([data-balloon-pos])[data-balloon-visible]:before{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon].font-awesome:after{font-family:FontAwesome, sans-serif !important}[data-balloon][data-balloon-break]:after{white-space:pre}[data-balloon][data-balloon-blunt]:before,[data-balloon][data-balloon-blunt]:after{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;transition:none}[data-balloon][data-balloon-pos="up"]:after{bottom:100%;left:50%;margin-bottom:11px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos="up"]:before{bottom:100%;left:50%;margin-bottom:5px;-webkit-transform:translate(-50%, 10px);-moz-transform:translate(-50%, 10px);-ms-transform:translate(-50%, 10px);transform:translate(-50%, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos="up"]:hover:after,[data-balloon][data-balloon-pos="up"][data-balloon-visible]:after{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos="up"]:hover:before,[data-balloon][data-balloon-pos="up"][data-balloon-visible]:before{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos="up-left"]:after{bottom:100%;left:0;margin-bottom:11px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos="up-left"]:before{bottom:100%;left:5px;margin-bottom:5px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos="up-left"]:hover:after,[data-balloon][data-balloon-pos="up-left"][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos="up-left"]:hover:before,[data-balloon][data-balloon-pos="up-left"][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos="up-right"]:after{bottom:100%;right:0;margin-bottom:11px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos="up-right"]:before{bottom:100%;right:5px;margin-bottom:5px;-webkit-transform:translate(0, 10px);-moz-transform:translate(0, 10px);-ms-transform:translate(0, 10px);transform:translate(0, 10px);-webkit-transform-origin:top;-moz-transform-origin:top;-ms-transform-origin:top;transform-origin:top}[data-balloon][data-balloon-pos="up-right"]:hover:after,[data-balloon][data-balloon-pos="up-right"][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos="up-right"]:hover:before,[data-balloon][data-balloon-pos="up-right"][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down']:after{left:50%;margin-top:11px;top:100%;-webkit-transform:translate(-50%, -10px);-moz-transform:translate(-50%, -10px);-ms-transform:translate(-50%, -10px);transform:translate(-50%, -10px)}[data-balloon][data-balloon-pos='down']:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,17,17,0.9%29%22%20transform%3D%22rotate%28180 18 6%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:50%;margin-top:5px;top:100%;-webkit-transform:translate(-50%, -10px);-moz-transform:translate(-50%, -10px);-ms-transform:translate(-50%, -10px);transform:translate(-50%, -10px)}[data-balloon][data-balloon-pos='down']:hover:after,[data-balloon][data-balloon-pos='down'][data-balloon-visible]:after{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos='down']:hover:before,[data-balloon][data-balloon-pos='down'][data-balloon-visible]:before{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);transform:translate(-50%, 0)}[data-balloon][data-balloon-pos='down-left']:after{left:0;margin-top:11px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-left']:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,17,17,0.9%29%22%20transform%3D%22rotate%28180 18 6%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;left:5px;margin-top:5px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-left']:hover:after,[data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-left']:hover:before,[data-balloon][data-balloon-pos='down-left'][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-right']:after{right:0;margin-top:11px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-right']:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,17,17,0.9%29%22%20transform%3D%22rotate%28180 18 6%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");background-size:100% auto;width:18px;height:6px;right:5px;margin-top:5px;top:100%;-webkit-transform:translate(0, -10px);-moz-transform:translate(0, -10px);-ms-transform:translate(0, -10px);transform:translate(0, -10px)}[data-balloon][data-balloon-pos='down-right']:hover:after,[data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:after{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='down-right']:hover:before,[data-balloon][data-balloon-pos='down-right'][data-balloon-visible]:before{-webkit-transform:translate(0, 0);-moz-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}[data-balloon][data-balloon-pos='left']:after{margin-right:11px;right:100%;top:50%;-webkit-transform:translate(10px, -50%);-moz-transform:translate(10px, -50%);-ms-transform:translate(10px, -50%);transform:translate(10px, -50%)}[data-balloon][data-balloon-pos='left']:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,17,17,0.9%29%22%20transform%3D%22rotate%28-90 18 18%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;margin-right:5px;right:100%;top:50%;-webkit-transform:translate(10px, -50%);-moz-transform:translate(10px, -50%);-ms-transform:translate(10px, -50%);transform:translate(10px, -50%)}[data-balloon][data-balloon-pos='left']:hover:after,[data-balloon][data-balloon-pos='left'][data-balloon-visible]:after{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='left']:hover:before,[data-balloon][data-balloon-pos='left'][data-balloon-visible]:before{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='right']:after{left:100%;margin-left:11px;top:50%;-webkit-transform:translate(-10px, -50%);-moz-transform:translate(-10px, -50%);-ms-transform:translate(-10px, -50%);transform:translate(-10px, -50%)}[data-balloon][data-balloon-pos='right']:before{background:no-repeat url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http://www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,17,17,0.9%29%22%20transform%3D%22rotate%2890 6 6%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E");background-size:100% auto;width:6px;height:18px;left:100%;margin-left:5px;top:50%;-webkit-transform:translate(-10px, -50%);-moz-transform:translate(-10px, -50%);-ms-transform:translate(-10px, -50%);transform:translate(-10px, -50%)}[data-balloon][data-balloon-pos='right']:hover:after,[data-balloon][data-balloon-pos='right'][data-balloon-visible]:after{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-pos='right']:hover:before,[data-balloon][data-balloon-pos='right'][data-balloon-visible]:before{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);transform:translate(0, -50%)}[data-balloon][data-balloon-length='small']:after{white-space:normal;width:80px}[data-balloon][data-balloon-length='medium']:after{white-space:normal;width:150px}[data-balloon][data-balloon-length='large']:after{white-space:normal;width:260px}[data-balloon][data-balloon-length='xlarge']:after{white-space:normal;width:380px}@media screen and (max-width: 768px){[data-balloon][data-balloon-length='xlarge']:after{white-space:normal;width:90vw}}[data-balloon][data-balloon-length='fit']:after{white-space:normal;width:100%}

/*!***************************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/sprotty/css/edit-label.css ***!
  \***************************************************************************************************/
/********************************************************************************
 * Copyright (c) 2019-2020 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.label-edit input, .label-edit textarea {
    background: rgba(255, 255, 255, 0.5);
    border-radius: 5px;
    border: 0;
    width: 99%;
    height: 99%;
}

.label-edit input:focus, .label-edit textarea:focus {
    outline: none;
    outline-offset: 0px;
}

.label-edit {
    border-left: 1px dotted gray;
}

.label-edit.validation-warning {
    color: orange;
    border-left: 1px dotted orange;
}

.label-edit.validation-error {
    color: red;
    border-left: 1px dotted red;
}
/*!**************************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!../workflow-glsp/css/diagram.css ***!
  \**************************************************************************************/
/********************************************************************************
 * Copyright (c) 2019-2022 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.sprotty-graph {
    font-size: 14pt;
    border: none;
    height: 100%;
}

.sprotty-text {
    font-size: 11pt;
    text-anchor: middle;
}

.sprotty-node {
    stroke-width: 0;
    font-weight: 600;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.12)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.06));
}

.sprotty-label {
    stroke-width: 0;
    fill: #1e293b;
    font-weight: inherit;
    text-align: inherit;
    font-size: 100%;
    user-select: none;
}

.sprotty-label.heading {
    font-weight: 500;
    font-size: 0.65em;
    fill: rgba(255, 255, 255, 0.82);
    letter-spacing: 0.02em;
}

.task .sprotty-label,
.category .sprotty-label {
    fill: #ffffff;
}

.task .sprotty-label.heading,
.category .sprotty-label.heading {
    fill: rgba(255, 255, 255, 0.82);
}

.icon path {
    stroke-width: 0;
    fill: rgba(255, 255, 255, 0.95);
}

.icon .icon-background {
    fill: transparent;
}

.task.automated > .sprotty-node {
    fill: #2d8a9a;
}

.task.manual > .sprotty-node {
    fill: #c27856;
}

.category > .sprotty-node {
    fill: #5478a8;
}

.category .category > .sprotty-node {
    stroke: #3f6290;
    fill: #6a8fbe;
    stroke-width: 1;
}

.sprotty-edge.weighted.low:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted.low:not(.selected, .navigable-element, .search-highlighted) .arrow {
    stroke: #7088c0;
}

.sprotty-edge.weighted.low:not(.selected, .navigable-element, .search-highlighted) .arrow {
    fill: #7088c0;
}

.sprotty-edge.weighted:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted:not(.selected, .navigable-element, .search-highlighted) .arrow,
.sprotty-edge.weighted.medium:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted.medium:not(.selected, .navigable-element, .search-highlighted) .arrow {
    stroke: #5570b5;
}

.sprotty-edge.weighted:not(.selected, .navigable-element, .search-highlighted) .arrow,
.sprotty-edge.weighted.medium:not(.selected, .navigable-element, .search-highlighted) .arrow {
    fill: #5570b5;
}

.sprotty-edge.weighted.high:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted.high:not(.selected, .navigable-element, .search-highlighted) .arrow {
    stroke: #3a58a8;
}

.sprotty-edge.weighted.high:not(.selected, .navigable-element, .search-highlighted) .arrow {
    fill: #3a58a8;
}

.sprotty-comp {
    stroke: transparent;
    fill: transparent;
}

.label-edit input {
    margin-top: -3px;
    margin-left: -3px;
}

/*!**********************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/themes.css ***!
  \**********************************************************************/
/********************************************************************************
 * Copyright (c) 2026 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

/*
 * Theme layer: all tokens, keyed on data-mode (light/dark) and data-theme (5 families).
 * Each family's --selection sits outside its node palette so selected outlines stay visible.
 */

/* ---------- Cross-theme constants ---------- */

:root {
    --font-mono: 'JetBrains Mono', ui-monospace, monospace;
    --node-label: #ffffff;
    --handle: var(--selection);
    --handle-ring: var(--card-bg);
    --danger: #e11d48;
    --warning: #f59e0b;
    --info: var(--accent);
}

/* ---------- Mode neutrals ---------- */

:root,
[data-mode='light'] {
    color-scheme: light;

    /* neutral surfaces carry a few percent of the family accent for a cohesive tint */
    --app-bg: color-mix(in srgb, var(--accent) 7%, #e9edf2);
    --card-bg: color-mix(in srgb, var(--accent) 3%, #ffffff);
    --card-border: rgba(15, 23, 42, 0.07);
    --card-shadow: 0 1px 3px rgba(2, 6, 23, 0.08), 0 18px 44px -18px rgba(2, 6, 23, 0.22);
    --hairline: rgba(15, 23, 42, 0.07);

    --canvas-bg: color-mix(in srgb, var(--accent) 5%, #f5f7fa);
    --grid-line: rgba(15, 23, 42, 0.055);

    --surface: rgba(255, 255, 255, 0.86);
    --surface-solid: color-mix(in srgb, var(--accent) 3%, #ffffff);
    --surface-sunken: rgba(15, 23, 42, 0.04);
    --surface-hover: rgba(15, 23, 42, 0.05);
    --surface-active: rgba(15, 23, 42, 0.08);
    --overlay-border: rgba(15, 23, 42, 0.09);
    --overlay-shadow: 0 8px 32px rgba(2, 6, 23, 0.12), 0 2px 6px rgba(2, 6, 23, 0.05);
    --blur: 16px;

    --text-1: #0f172a;
    --text-2: #475569;
    --text-3: #94a3b8;
    --text-4: #b4bdca;

    --node-fill: #e2e8f0;
    --node-stroke: #cbd5e1;
    --node-poly-fill: #cbd5e1;
    --node-poly-stroke: #94a3b8;
    --node-fork: #334155;
    --diagram-label: #1e293b;
    --edge: #64748b;
}

[data-mode='dark'] {
    color-scheme: dark;

    /* tinted a touch more for a richer colored-dark feel */
    --app-bg: color-mix(in srgb, var(--accent) 10%, #0a0d13);
    --card-bg: color-mix(in srgb, var(--accent) 7%, #11151e);
    --card-border: rgba(255, 255, 255, 0.08);
    --card-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 22px 50px -18px rgba(0, 0, 0, 0.7);
    --hairline: rgba(255, 255, 255, 0.07);

    --canvas-bg: color-mix(in srgb, var(--accent) 8%, #0c1017);
    --grid-line: rgba(255, 255, 255, 0.045);

    --surface: rgba(24, 30, 41, 0.84);
    --surface-solid: color-mix(in srgb, var(--accent) 8%, #181e29);
    --surface-sunken: rgba(255, 255, 255, 0.045);
    --surface-hover: rgba(255, 255, 255, 0.07);
    --surface-active: rgba(255, 255, 255, 0.11);
    --overlay-border: rgba(255, 255, 255, 0.1);
    --overlay-shadow: 0 12px 40px rgba(0, 0, 0, 0.55), 0 2px 6px rgba(0, 0, 0, 0.4);
    --blur: 18px;

    --text-1: #e7eaf0;
    --text-2: #9aa4b3;
    --text-3: #6b7585;
    --text-4: #4d5664;

    --node-fill: #232b39;
    --node-stroke: #344052;
    --node-poly-fill: #2a3344;
    --node-poly-stroke: #3d4a5e;
    --node-fork: #8a93a3;
    --diagram-label: #cbd5e1;
    --edge: #6b7585;
}

/* ---------- Family identity ---------- */

:root,
[data-theme='tide'] {
    --font-body: 'Outfit', 'Segoe UI', system-ui, sans-serif;
    --font-display: 'Outfit', 'Segoe UI', system-ui, sans-serif;

    --accent: #0ea5b7;
    --accent-strong: #0b8c9c;
    --accent-soft: rgba(14, 165, 183, 0.12);
    --accent-on: #ffffff;
    --accent-glow: rgba(14, 165, 183, 0.34);
    --logo: #0ea5b7;
    --atmosphere: radial-gradient(900px 620px at 10% -5%, rgba(14, 165, 183, 0.14), transparent 60%),
        radial-gradient(820px 600px at 102% 104%, rgba(84, 112, 184, 0.13), transparent 55%);

    --node-automated: #0d9aac;
    --node-manual: #f0795a;
    --node-category: #5470b8;
    --node-category-nested: #6f8fce;
    --node-category-nested-stroke: #3f5fa0;
    --edge-low: #9db4dc;
    --edge-medium: #5570b5;
    --edge-high: #3a58a8;

    --selection: #7c5cff;
    --selection-glow: rgba(124, 92, 255, 0.45);
}

[data-theme='graphite'] {
    --font-body: 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
    --font-display: 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;

    --accent: #3b9eff;
    --accent-strong: #5cb0ff;
    --accent-soft: rgba(59, 158, 255, 0.16);
    --accent-on: #051321;
    --accent-glow: rgba(59, 158, 255, 0.45);
    --logo: #3b9eff;
    --atmosphere: radial-gradient(1000px 720px at 0% -8%, rgba(59, 158, 255, 0.14), transparent 60%),
        radial-gradient(900px 700px at 104% 106%, rgba(47, 159, 176, 0.1), transparent 55%);

    --node-automated: #3187d4;
    --node-manual: #2f9fb0;
    --node-category: #5b82c5;
    --node-category-nested: #6f95d6;
    --node-category-nested-stroke: #3f63a0;
    --edge-low: #8fa6cf;
    --edge-medium: #5a78bd;
    --edge-high: #3d5fb0;

    --selection: #fb5fa0;
    --selection-glow: rgba(251, 95, 160, 0.45);
}

[data-theme='ember'] {
    --font-body: 'Outfit', 'Segoe UI', system-ui, sans-serif;
    --font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;

    --accent: #c2410c;
    --accent-strong: #9a3412;
    --accent-soft: rgba(194, 65, 12, 0.12);
    --accent-on: #fff7ed;
    --accent-glow: rgba(194, 65, 12, 0.34);
    --logo: #c2410c;
    --atmosphere: radial-gradient(900px 620px at 8% -5%, rgba(194, 65, 12, 0.14), transparent 60%),
        radial-gradient(820px 600px at 104% 106%, rgba(202, 138, 4, 0.16), transparent 55%);

    --node-automated: #c2410c;
    --node-manual: #4f7d6e;
    --node-category: #a16207;
    --node-category-nested: #bd7e1f;
    --node-category-nested-stroke: #825009;
    --edge-low: #c2b08f;
    --edge-medium: #a3814a;
    --edge-high: #c2410c;

    --selection: #0ea5e9;
    --selection-glow: rgba(14, 165, 233, 0.45);
}

[data-theme='orchid'] {
    --font-body: 'Sora', 'Segoe UI', system-ui, sans-serif;
    --font-display: 'Sora', 'Segoe UI', system-ui, sans-serif;

    --accent: #d946ef;
    --accent-strong: #e879f9;
    --accent-soft: rgba(217, 70, 239, 0.18);
    --accent-on: #11061a;
    --accent-glow: rgba(217, 70, 239, 0.5);
    --logo: #d946ef;
    --atmosphere: radial-gradient(1000px 720px at 14% -8%, rgba(217, 70, 239, 0.18), transparent 60%),
        radial-gradient(900px 700px at 104% 108%, rgba(34, 206, 192, 0.13), transparent 55%);

    --node-automated: #d437e8;
    --node-manual: #22cec0;
    --node-category: #7c7cf0;
    --node-category-nested: #9a9af6;
    --node-category-nested-stroke: #5b5be0;
    --edge-low: #7c6f9e;
    --edge-medium: #a855f7;
    --edge-high: #d946ef;

    --selection: #f5b313;
    --selection-glow: rgba(245, 179, 19, 0.5);
}

[data-theme='verdant'] {
    --font-body: 'Outfit', 'Segoe UI', system-ui, sans-serif;
    --font-display: 'Bricolage Grotesque', 'Segoe UI', system-ui, sans-serif;

    --accent: #10b981;
    --accent-strong: #0e9f6e;
    --accent-soft: rgba(16, 185, 129, 0.14);
    --accent-on: #04231a;
    --accent-glow: rgba(16, 185, 129, 0.4);
    --logo: #10b981;
    --atmosphere: radial-gradient(940px 660px at 10% -6%, rgba(16, 185, 129, 0.14), transparent 60%),
        radial-gradient(840px 620px at 104% 106%, rgba(44, 122, 158, 0.13), transparent 55%);

    --node-automated: #0e9f6e;
    --node-manual: #d08700;
    --node-category: #2c7a9e;
    --node-category-nested: #3b93b8;
    --node-category-nested-stroke: #236781;
    --edge-low: #8fb8a6;
    --edge-medium: #3f8f6e;
    --edge-high: #0e7a52;

    --selection: #8b5cf6;
    --selection-glow: rgba(139, 92, 246, 0.46);
}

/* ---------- GLSP semantic-color bridge ---------- */

:root {
    --glsp-error-foreground: var(--danger, #e11d48);
    --glsp-warning-foreground: var(--warning, #f59e0b);
    --glsp-info-foreground: var(--info, #0ea5b7);
    --glsp-navigation-highlight: var(--accent-glow, rgba(14, 165, 183, 0.25));
    --glsp-search-highlight: var(--accent, #0ea5b7);
}

/* ---------- Theme-switcher swatch gradients ---------- */
.theme-swatch[data-theme='tide'],
.theme-option[data-theme='tide'] .theme-option-swatch {
    background: linear-gradient(135deg, #0ea5b7 0%, #5470b8 55%, #f0795a 100%);
}
.theme-swatch[data-theme='graphite'],
.theme-option[data-theme='graphite'] .theme-option-swatch {
    background: linear-gradient(135deg, #3b9eff 0%, #2f9fb0 55%, #fb5fa0 100%);
}
.theme-swatch[data-theme='ember'],
.theme-option[data-theme='ember'] .theme-option-swatch {
    background: linear-gradient(135deg, #c2410c 0%, #a16207 55%, #4f7d6e 100%);
}
.theme-swatch[data-theme='orchid'],
.theme-option[data-theme='orchid'] .theme-option-swatch {
    background: linear-gradient(135deg, #d946ef 0%, #7c7cf0 55%, #22cec0 100%);
}
.theme-swatch[data-theme='verdant'],
.theme-option[data-theme='verdant'] .theme-option-swatch {
    background: linear-gradient(135deg, #10b981 0%, #2c7a9e 55%, #d08700 100%);
}

/*!****************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/tool-palette.css ***!
  \****************************************************************************/
/********************************************************************************
 * Copyright (c) 2026 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

/* Tool palette re-skin. */

.tool-palette {
    font-family: var(--font-body);
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    box-shadow: none;
    color: var(--text-1);
    font-size: 13px;
    right: 40px;
    top: 32px;
}

.tool-palette.collapsible-palette {
    overflow-x: visible;
    overflow-y: clip;
}

.palette-header {
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--overlay-border);
    border-bottom: 1px solid var(--hairline);
    border-radius: 12px 12px 0 0;
    padding: 8px 10px;
}

.header-icon {
    color: var(--text-2);
    font-weight: 600;
    font-size: 12px;
}

.header-tools {
    gap: 2px;
}

.header-tools i {
    border: 1px solid transparent;
    border-radius: 6px;
    padding: 5px;
    margin-right: 1px;
    color: var(--text-2);
}

.header-tools i:hover {
    background: var(--surface-hover);
    color: var(--text-1);
}

.header-tools .clicked {
    background: var(--accent-soft);
    border: 1px solid transparent;
    color: var(--accent);
}

.palette-body {
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--overlay-border);
    border-top: none;
    border-radius: 0 0 12px 12px;
    box-shadow: var(--overlay-shadow);
    padding: 4px 0;
}

.tool-group {
    background: transparent;
}

.group-header {
    background: var(--surface-sunken);
    color: var(--text-2);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 6px 12px;
    border-bottom: 1px solid var(--hairline);
    margin-top: 2px;
}

.group-header:hover {
    background: var(--surface-hover);
}

.group-header i {
    padding: 0.2em;
    color: var(--text-2);
    font-size: 12px;
}

.tool-button {
    background: transparent;
    padding: 6px 12px 6px 24px;
    border-radius: 6px;
    margin: 1px 4px;
    color: var(--text-1);
    font-size: 13px;
    position: relative;
}

.tool-button i {
    color: var(--text-2);
    margin-right: 8px;
    display: inline-flex;
    align-items: center;
}

.tool-button:hover {
    background: var(--surface-hover);
}

.tool-button.clicked {
    background: var(--accent-soft);
    color: var(--accent);
}

.tool-button.clicked i {
    color: var(--accent);
}

.search-input {
    background: var(--surface-sunken);
    border: 1px solid var(--overlay-border);
    border-radius: 6px;
    padding: 6px 8px;
    font-family: inherit;
    color: var(--text-1);
    font-size: 13px;
}

.search-input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 2px var(--accent-glow);
}

.minimize-palette-button .codicon::before {
    font-size: 18px;
}

.accessibility-tool-palette .tool-button .key-shortcut,
.accessibility-tool-palette .header-tools .key-shortcut {
    background: var(--surface-solid);
    border: 1.5px solid var(--overlay-border);
    color: var(--text-2);
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 0.7rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

.accessibility-show-shortcuts:focus-within .header-tools .key-shortcut,
.accessibility-show-shortcuts:focus-within .tool-button .key-shortcut {
    display: flex;
    align-items: center;
    justify-content: center;
}

.minimize-palette-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--overlay-border);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    color: var(--text-2);
    cursor: pointer;
}

.minimize-palette-button:hover {
    color: var(--text-1);
    background: var(--surface-hover);
}

.minimize-palette-button .codicon::before {
    font-size: 16px;
}

/*!*******************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/command-palette.css ***!
  \*******************************************************************************/
/********************************************************************************
 * Copyright (c) 2024 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/
.command-palette.validation.error,
.command-palette.validation.warning {
    font-size: 10pt;
}

.command-palette.validation .validation-decorator {
    position: absolute;
    padding: 5px;
    border-radius: 5px 5px 0px 0px;
    color: white;
    display: flex;
    align-items: flex-start;
    /* let error decoration fade in */
    -webkit-animation: fadein 0.3s;
    -moz-animation: fadein 0.3s;
    -ms-animation: fadein 0.3s;
    -o-animation: fadein 0.3s;
    animation: fadein 0.3s;
}

.command-palette.validation .validation-decorator span {
    margin-right: 5px;
}

.command-palette.validation.error input,
.command-palette.validation.error input:focus {
    color: var(--glsp-error-foreground);
    outline-color: var(--glsp-error-foreground);
}

.command-palette.validation.error .validation-decorator.error {
    border: 1px solid var(--glsp-error-foreground);
    background-color: var(--glsp-error-foreground);
}

.command-palette.validation.warning input,
.command-palette.validation.warning input:focus {
    outline-color: var(--glsp-warning-foreground);
}

.command-palette.validation.warning .validation-decorator.warning {
    border: 1px solid var(--glsp-warning-foreground);
    background-color: var(--glsp-warning-foreground);
    color: black;
}

/* --- Container, input & suggestions --- */

.command-palette {
    font-family: var(--font-body);
    border-radius: 10px;
    box-shadow: var(--overlay-shadow);
    overflow: hidden;
}

.command-palette input {
    font-family: var(--font-body);
    font-size: 14px;
    padding: 10px 14px;
    border: none;
    border-bottom: 1px solid var(--hairline);
    outline: none;
    color: var(--text-1);
    background: var(--surface-solid);
}

.command-palette input::placeholder {
    color: var(--text-3);
}

.command-palette-suggestions {
    background: var(--surface-solid);
    border: none;
    border-radius: 0 0 10px 10px;
    box-shadow: none;
    font-size: 13px;
    color: var(--text-2);
}

.command-palette-suggestions > div {
    padding: 6px 14px;
}

.command-palette-suggestions .group {
    background: var(--surface-sunken);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-2);
    padding: 6px 14px;
}

.command-palette-suggestions > div:hover:not(.group) {
    background: var(--surface-hover);
}

.command-palette-suggestions > div.selected {
    background: var(--accent-soft);
    color: var(--accent);
}

/*!****************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/context-menu.css ***!
  \****************************************************************************/
/********************************************************************************
 * Copyright (c) 2026 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

.glsp-context-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

.glsp-context-menu {
    position: fixed;
    min-width: 160px;
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--overlay-border);
    border-radius: 8px;
    padding: 4px 0;
    box-shadow: var(--overlay-shadow);
    font-family: var(--font-body);
    font-size: 13px;
    z-index: 1001;
}

.glsp-context-menu-item {
    display: flex;
    align-items: center;
    padding: 6px 12px;
    cursor: pointer;
    color: var(--text-1);
    user-select: none;
    position: relative;
}

.glsp-context-menu-item:hover {
    background: var(--surface-hover);
}

.glsp-context-menu-item.disabled {
    color: var(--text-3);
    cursor: default;
    pointer-events: none;
}

.glsp-context-menu-indicator {
    width: 16px;
    font-size: 11px;
    text-align: center;
    flex-shrink: 0;
    color: var(--text-2);
}

.glsp-context-menu-label {
    flex: 1;
}

.glsp-context-menu-chevron {
    font-size: 10px;
    color: var(--text-3);
    margin-left: 8px;
}

.glsp-context-menu-separator {
    height: 1px;
    margin: 4px 0;
    background: var(--hairline);
}

/* Submenus */
.glsp-context-menu-submenu {
    display: none;
    position: absolute;
    left: 100%;
    top: -4px;
}

.glsp-context-menu-item.has-submenu:hover > .glsp-context-menu-submenu {
    display: block;
}

/*!*************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/shortcuts.css ***!
  \*************************************************************************/
/********************************************************************************
 * Copyright (c) 2026 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

/* Keyboard grid + keyboard-shortcuts overlay. */

/* --- Keyboard Grid Overlay --- */

.grid-item {
    border-color: var(--overlay-border);
}

.grid-item-number {
    background: var(--surface-solid);
    border: 1.5px solid var(--overlay-border);
    color: var(--text-2);
    font-family: var(--font-mono);
    font-weight: 600;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- Keyboard Shortcuts Overlay --- */

.keyboard-shortcuts-menu {
    font-family: var(--font-body);
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--overlay-border);
    border-radius: 12px;
    box-shadow: var(--overlay-shadow);
    color: var(--text-1);
    font-size: 13px;
    line-height: 1.5;
}

.keyboard-shortcuts-menu h3 {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-1);
    padding: 12px 16px;
    margin: 0;
    border-bottom: 1px solid var(--hairline);
}

.keyboard-shortcuts-container {
    padding: 8px 16px 16px;
    color: var(--text-2);
    font-size: 13px;
}

.menu-header {
    background: var(--surface-sunken);
    padding: 6px 16px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-2);
    border-bottom: 1px solid var(--hairline);
}

.shortcut-entry-container {
    padding: 3px 0;
    color: var(--text-2);
    font-size: 13px;
}

.column-title {
    font-weight: 700;
    color: var(--text-1);
    font-size: 13px;
    padding-top: 8px;
}

.keyboard-shortcuts-menu kbd {
    background: var(--surface-sunken);
    border: 1px solid var(--overlay-border);
    border-radius: 4px;
    color: var(--text-2);
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 500;
    padding: 2px 6px;
    box-shadow: none;
    text-shadow: none;
}

#key-shortcut-close-btn {
    top: 10px;
    right: 10px;
    background: transparent;
    color: var(--text-3);
    font-size: 18px;
    border-radius: 6px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#key-shortcut-close-btn:hover {
    background: var(--surface-hover);
    color: var(--text-2);
}

.shortcut-table thead th {
    border-bottom: 1px solid var(--overlay-border);
    font-weight: 600;
    color: var(--text-2);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/*!************************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/feedback.css ***!
  \************************************************************************/
/********************************************************************************
 * Copyright (c) 2026 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

/* Transient feedback UI: toasts, autocomplete palette, sprotty popups. */

/* --- Toast --- */

.toast {
    left: 20px;
    bottom: 20px;
}

.toast-container {
    font-family: var(--font-body);
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    color: var(--text-1);
    border: 1px solid var(--overlay-border);
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 12px;
    box-shadow: var(--overlay-shadow);
}

/* --- Autocomplete Palette --- */

.autocomplete-palette {
    font-family: var(--font-body);
}

.autocomplete-palette input {
    font-family: var(--font-body);
    font-size: 14px;
    padding: 10px 14px;
    border: 1px solid var(--overlay-border);
    border-radius: 10px;
    outline: none;
    color: var(--text-1);
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    box-shadow: var(--overlay-shadow);
}

.autocomplete-palette input:focus {
    border-color: var(--accent);
    box-shadow:
        var(--overlay-shadow),
        0 0 0 2px var(--accent-glow);
}

/* --- Sprotty Popup (Tooltip) --- */

.sprotty-popup {
    font-family: var(--font-body);
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--overlay-border);
    border-radius: 8px;
    box-shadow: var(--overlay-shadow);
    color: var(--text-2);
    font-size: 12px;
    padding: 8px 12px;
}

/*!***********************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/diagram.css ***!
  \***********************************************************************/
/********************************************************************************
 * Copyright (c) 2019-2021 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

/*
 * Diagram/SVG styling. Colors resolve to theme tokens from themes.css; this only
 * re-skins the base @eclipse-glsp/client and workflow-glsp styles. Overlay
 * components live in the sibling files imported below (kept first for cascade order).
 */

.sprotty svg {
    border: none;
}

.sprotty-graph {
    font-family: var(--font-body);
}

.sprotty-text {
    font-family: var(--font-body);
}

.sprotty-graph,
.grid-background {
    background: var(--canvas-bg);
}

.grid-background .sprotty-graph,
.grid-background.sprotty-graph {
    /* feed the themed grid line color into the base grid.css variable */
    --grid-color: var(--grid-line);
}

/* --- Nodes & Edges --- */

.sprotty-node {
    fill: var(--node-fill);
    stroke: var(--node-stroke);
    transition:
        filter 0.18s ease,
        opacity 0.18s ease;
}

.sprotty-edge {
    stroke: var(--edge);
    stroke-linecap: round;
    stroke-linejoin: round;
}

.sprotty-edge.arrow {
    fill: var(--edge);
}

.sprotty-edge.selected {
    stroke: var(--selection);
}

.sprotty-edge.selected > .arrow {
    fill: var(--selection);
    stroke: var(--selection);
}

.forkOrJoin > .sprotty-node {
    fill: var(--node-fork);
}

.forkOrJoin > .sprotty-node.selected {
    stroke: var(--selection);
}

polygon.sprotty-node {
    fill: var(--node-poly-fill);
    stroke: var(--node-poly-stroke);
    stroke-width: 1.25;
}

/* --- Selection & Hover Feedback --- */

/* thin --card-bg separator drop-shadow + colored glow, so the outline always reads */
.sprotty-node.selected {
    stroke: var(--selection);
    stroke-width: 2px;
    filter: drop-shadow(0 0 1px var(--card-bg)) drop-shadow(0 0 0 2px var(--selection-glow)) drop-shadow(0 6px 16px var(--selection-glow));
}

.sprotty-node.mouseover:not(.selected) {
    opacity: 92%;
    filter: drop-shadow(0 4px 12px color-mix(in srgb, var(--accent) 28%, transparent)) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.12));
}

.sprotty-edge.mouseover:not(.selected) {
    stroke: var(--accent);
    opacity: 85%;
}

.sprotty-edge.mouseover:not(.selected) > .arrow {
    fill: var(--accent);
    stroke: var(--accent);
}

/* --- Resize & Routing Handles --- */

.sprotty-resize-handle,
.sprotty-edge > .sprotty-routing-handle {
    fill: var(--handle);
    stroke: var(--handle-ring);
    stroke-width: 1.5px;
    transition: r 0.12s ease;
}

.sprotty-resize-handle.selected,
.sprotty-resize-handle.active,
.sprotty-edge > .sprotty-routing-handle.selected {
    fill: var(--handle);
    r: 6px;
}

.sprotty-resize-handle.movement-not-allowed,
.sprotty-resize-handle.resize-not-allowed {
    fill: var(--glsp-error-foreground);
    stroke: var(--handle-ring);
}

.sprotty-edge > .sprotty-routing-handle.mouseover {
    stroke: var(--accent);
    stroke-width: 1.5;
}

.sprotty-node.marquee {
    fill: var(--accent);
    opacity: 0.16;
}

/* --- Diagram Labels --- */

.sprotty-graph .sprotty-label:not(.heading) {
    fill: var(--diagram-label);
}

/* --- Workflow Node Theming (re-skins workflow-glsp node fills) --- */

.task.automated > .sprotty-node {
    fill: var(--node-automated);
}

.task.manual > .sprotty-node {
    fill: var(--node-manual);
}

.category > .sprotty-node {
    fill: var(--node-category);
}

.category .category > .sprotty-node {
    fill: var(--node-category-nested);
    stroke: var(--node-category-nested-stroke);
    stroke-width: 1;
}

.task .sprotty-label,
.category .sprotty-label {
    fill: var(--node-label);
}

.task .sprotty-label.heading,
.category .sprotty-label.heading {
    fill: color-mix(in srgb, var(--node-label) 82%, transparent);
}

.icon path {
    fill: color-mix(in srgb, var(--node-label) 95%, transparent);
}

.sprotty-edge.weighted.low:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted.low:not(.selected, .navigable-element, .search-highlighted) .arrow {
    stroke: var(--edge-low);
}

.sprotty-edge.weighted.low:not(.selected, .navigable-element, .search-highlighted) .arrow {
    fill: var(--edge-low);
}

.sprotty-edge.weighted:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted:not(.selected, .navigable-element, .search-highlighted) .arrow,
.sprotty-edge.weighted.medium:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted.medium:not(.selected, .navigable-element, .search-highlighted) .arrow {
    stroke: var(--edge-medium);
}

.sprotty-edge.weighted:not(.selected, .navigable-element, .search-highlighted) .arrow,
.sprotty-edge.weighted.medium:not(.selected, .navigable-element, .search-highlighted) .arrow {
    fill: var(--edge-medium);
}

.sprotty-edge.weighted.high:not(.selected, .navigable-element, .search-highlighted),
.sprotty-edge.weighted.high:not(.selected, .navigable-element, .search-highlighted) .arrow {
    stroke: var(--edge-high);
}

.sprotty-edge.weighted.high:not(.selected, .navigable-element, .search-highlighted) .arrow {
    fill: var(--edge-high);
}

/* --- Projection / Minimap Bars --- */

.bordered-projection-bar {
    border-color: var(--hairline);
}

.sprotty-viewport {
    border-width: 1px;
    border-color: var(--node-stroke);
}

.sprotty-projection-bar.horizontal.bordered-projection-bar {
    height: 12px;
}

.sprotty-projection-bar.vertical.bordered-projection-bar {
    width: 12px;
}

.projection-scroll-bar {
    background-color: var(--text-3);
    border-radius: 3px;
}

.glsp-projection {
    background-color: var(--text-3);
    border-radius: 2px;
    opacity: 0.7;
}

.glsp-projection.sprotty-issue.sprotty-error {
    background-color: var(--glsp-error-foreground);
    opacity: 1;
}

.glsp-projection.sprotty-issue.sprotty-warning {
    background-color: var(--glsp-warning-foreground);
    opacity: 1;
}

.glsp-projection.sprotty-issue.sprotty-info {
    background-color: var(--glsp-info-foreground);
    opacity: 1;
}

/*!*******************************************************************!*\
  !*** css ../../node_modules/css-loader/dist/cjs.js!./css/app.css ***!
  \*******************************************************************/
/********************************************************************************
 * Copyright (c) 2026 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/

/*
 * Application frame: shell, card, title bar, theme switcher, canvas, footer.
 * Single CSS entry point — imports the theme layer and the diagram styling.
 */

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    width: 100%;
    height: 100%;
    overflow: hidden;
    font-family: var(--font-body);
    color: var(--text-1);
    background: var(--app-bg);
    -webkit-font-smoothing: antialiased;
    transition:
        background 0.4s ease,
        color 0.4s ease;
}

/* --- App Shell + Atmosphere --- */

.app-shell {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 14px;
}

.app-shell::before {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--atmosphere);
    transition: background 0.4s ease;
    pointer-events: none;
}

.app-card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-width: 1600px;
    max-height: 920px;
    border-radius: 14px;
    overflow: hidden;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    box-shadow: var(--card-shadow);
    transition:
        background 0.4s ease,
        border-color 0.4s ease,
        box-shadow 0.4s ease;
    /* `backwards` not `both`: a lingering transform would offset position:fixed overlays */
    animation: card-in 0.5s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

@keyframes card-in {
    from {
        opacity: 0;
        transform: translateY(8px) scale(0.992);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

/* --- Card Header (Title Bar) --- */

.card-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 13px 22px;
    border-bottom: 1px solid var(--hairline);
    flex-shrink: 0;
    position: relative;
    /* keep the header (and its theme dropdown) above the diagram tool palette */
    z-index: 30;
}

.app-logo svg {
    display: block;
    height: 30px;
    width: auto;
}

.app-logo svg path {
    fill: var(--logo);
    transition: fill 0.4s ease;
}

.app-divider {
    width: 1px;
    height: 20px;
    background: var(--hairline);
}

.app-title {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--text-1);
    letter-spacing: -0.01em;
}

.app-badge {
    font-family: var(--font-mono);
    font-size: 9.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--accent);
    background: var(--accent-soft);
    padding: 3px 7px;
    border-radius: 4px;
}

.app-spacer {
    flex: 1;
}

.app-links {
    display: flex;
    align-items: center;
    gap: 2px;
}

.app-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-3);
    text-decoration: none;
    padding: 5px 9px;
    border-radius: 6px;
    transition:
        color 0.15s,
        background 0.15s;
}

.app-link:hover {
    color: var(--text-2);
    background: var(--surface-hover);
}

.app-link svg {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
}

/* --- Title Bar Menu Bar --- */

.app-menubar {
    display: flex;
    align-items: center;
    gap: 2px;
}

.menubar-item {
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-2);
    background: transparent;
    border: none;
    padding: 5px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition:
        color 0.15s,
        background 0.15s;
}

.menubar-item:hover,
.menubar-item.active {
    color: var(--text-1);
    background: var(--surface-active);
}

/* --- Title Bar Toolbar --- */

.title-bar-toolbar {
    display: flex;
    align-items: center;
    gap: 2px;
    margin-right: 6px;
}

.toolbar-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: var(--text-3);
    cursor: pointer;
    transition:
        color 0.15s,
        background 0.15s;
}

.toolbar-btn:hover {
    color: var(--text-1);
    background: var(--surface-hover);
}

.toolbar-btn:active {
    background: var(--surface-active);
}

.toolbar-btn svg {
    width: 14px;
    height: 14px;
}

.dirty-indicator {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: transparent;
    margin-right: 4px;
    transition:
        background 0.2s,
        box-shadow 0.2s;
}

.dirty-indicator.active {
    background: var(--warning);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--warning) 22%, transparent);
}

/* --- Theme Switcher --- */

.theme-switcher {
    position: relative;
}

.theme-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-2);
    background: var(--surface-sunken);
    border: 1px solid var(--hairline);
    padding: 5px 8px 5px 7px;
    border-radius: 8px;
    cursor: pointer;
    transition:
        color 0.15s,
        background 0.15s,
        border-color 0.15s;
}

.theme-trigger:hover {
    color: var(--text-1);
    background: var(--surface-hover);
    border-color: var(--overlay-border);
}

.theme-swatch {
    width: 16px;
    height: 16px;
    border-radius: 5px;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
    flex-shrink: 0;
}

.theme-trigger .theme-mode-glyph {
    width: 13px;
    height: 13px;
    color: var(--text-3);
}

.theme-trigger .theme-caret {
    width: 9px;
    height: 9px;
    color: var(--text-3);
    transition: transform 0.2s ease;
}

.theme-switcher.open .theme-caret {
    transform: rotate(180deg);
}

.theme-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 250px;
    background: var(--surface);
    backdrop-filter: blur(var(--blur));
    -webkit-backdrop-filter: blur(var(--blur));
    border: 1px solid var(--overlay-border);
    border-radius: 12px;
    box-shadow: var(--overlay-shadow);
    padding: 6px;
    z-index: 100;
    opacity: 0;
    transform: translateY(-6px) scale(0.98);
    transform-origin: top right;
    pointer-events: none;
    transition:
        opacity 0.16s ease,
        transform 0.16s ease;
}

.theme-switcher.open .theme-menu {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}

.theme-menu-label {
    font-size: 9.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--text-3);
    padding: 6px 8px 5px;
}

/* Light / dark segmented toggle */
.mode-toggle {
    display: flex;
    gap: 4px;
    padding: 2px;
    margin: 0 4px 4px;
    background: var(--surface-sunken);
    border-radius: 9px;
}

.mode-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-3);
    background: transparent;
    border: none;
    padding: 6px 0;
    border-radius: 7px;
    cursor: pointer;
    transition:
        color 0.13s,
        background 0.13s,
        box-shadow 0.13s;
}

.mode-btn svg {
    width: 14px;
    height: 14px;
}

.mode-btn:hover {
    color: var(--text-1);
}

.mode-btn.active {
    color: var(--accent);
    background: var(--card-bg);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

.theme-option {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    text-align: left;
    font-family: inherit;
    background: transparent;
    border: none;
    border-radius: 9px;
    padding: 8px;
    cursor: pointer;
    color: var(--text-1);
    transition: background 0.13s;
}

.theme-option:hover {
    background: var(--surface-hover);
}

.theme-option-swatch {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12);
    position: relative;
}

.theme-option-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.theme-option-name {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.theme-option-desc {
    font-size: 11px;
    color: var(--text-3);
}

.theme-option-check {
    margin-left: auto;
    width: 16px;
    height: 16px;
    color: var(--accent);
    opacity: 0;
    flex-shrink: 0;
}

.theme-option.selected .theme-option-check {
    opacity: 1;
}

.theme-option.selected .theme-option-name {
    color: var(--accent);
}

/* --- Diagram Canvas --- */

.card-canvas {
    flex: 1;
    position: relative;
    background: var(--canvas-bg);
    min-height: 0;
    transition: background 0.4s ease;
    /* own stacking context so the tool palette stays below the header dropdown */
    z-index: 1;
}

#sprotty {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

#sprotty svg {
    width: 100%;
    height: 100%;
}

/* --- Card Footer (Shortcuts) --- */

.card-footer {
    flex-shrink: 0;
    border-top: 1px solid var(--hairline);
}

.shortcuts-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 22px;
    font-size: 12px;
    font-weight: 500;
    color: var(--text-3);
    cursor: pointer;
    user-select: none;
}

.shortcuts-toggle:hover {
    color: var(--text-2);
}

.shortcuts-chevron {
    display: inline-block;
    font-size: 9px;
    transition: transform 0.2s ease;
}

.shortcuts-chevron.open {
    transform: rotate(90deg);
}

.shortcuts-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.25s ease;
}

.shortcuts-panel.open {
    max-height: 240px;
}

.shortcuts-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 28px;
    padding: 0 22px 14px;
}

.shortcuts-section {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.shortcuts-section-title {
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-3);
    padding-bottom: 2px;
}

.shortcut-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    color: var(--text-2);
    line-height: 1.6;
}

.shortcut-item kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    padding: 2px 5px;
    font-family: var(--font-mono);
    font-size: 9px;
    font-weight: 500;
    color: var(--text-2);
    background: var(--surface-sunken);
    border: 1px solid var(--hairline);
    border-radius: 4px;
    white-space: nowrap;
}

:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 1px;
}


/*# sourceMappingURL=bundle.css.map*/