:root { --textsize: 12pt; --section-color: #73a44d; --je-color: #73a44d; --border-radius: 5px; } html { box-sizing: border-box; margin: 0px; padding: 0px; font-family: "Roboto", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size: var(--textsize); } body { margin: 0px; padding: 0px; background-color: #444 !important; } *, *:before, *:after { box-sizing: inherit; } *:focus { outline: none; } [onClick] { cursor: pointer; } button { padding: 4px 8px; } .page { display: none; } .page.show { display: block; } .section { background-color: #fff; padding: 32px; border-radius: 8px; } #layout { display: grid; grid-template-areas: "menu menu" "navigation details"; grid-template-columns: min-content 1fr; grid-gap: 32px; padding: 32px; } #menu { grid-area: menu; grid-template-columns: repeat(100, min-content); grid-gap: 24px; align-items: center; } #menu.page { display: grid; padding: 16px 32px; } #menu .item { font-size: 1.1em; cursor: pointer; white-space: nowrap; user-select: none; } #menu .item.selected { font-weight: bold; } #logo img { height: 64px; margin-right: 32px; } #nodes { grid-area: navigation; width: min-content; } #editor-node { grid-area: details; grid-gap: 16px; grid-template-rows: min-content 1fr min-content; } #editor-node.show { display: grid; } #editor-node > div.ops { display: grid; grid-template-columns: min-content 1fr repeat(4, min-content); align-items: center; grid-gap: 8px; } #editor-node > div.ops #editor-node-name { font-weight: bold; } #editor-node > div.ops img { display: block; height: 32px; } #editor-node > div.ops img.highlight { filter: invert(0.7) sepia(0.5) hue-rotate(50deg) saturate(300%) brightness(0.85); } #types { grid-area: navigation; } #types .label { display: grid; grid-template-columns: 1fr min-content; align-items: center; } #types .label div:first-child { font-size: 1.5em; font-weight: bold; color: var(--section-color); margin-right: 8px; } #types .group { font-weight: bold; white-space: nowrap; margin-top: 32px; margin-bottom: 8px; color: var(--section-color); } #types .group:first-child { margin-top: 0px; } #types .type { display: grid; grid-template-columns: min-content 1fr; grid-gap: 8px; align-items: center; cursor: pointer; margin-bottom: 8px; } #types .type .img img { height: 24px; display: inline; } #types .type .title { white-space: nowrap; line-height: 24px; } #editor-type-schema { grid-area: details; } .node { display: grid; grid-template-columns: min-content min-content 100%; white-space: nowrap; user-select: none; } .node img { height: 24px; } .node.selected > .name { font-weight: bold; } .node.marked > .name { color: #a00; } .node.expanded > .children { display: block; } .node .expand-status { padding-left: 8px; padding-right: 8px; } .node .expand-status.leaf { width: 40px; } .node .expand-status.leaf img { display: none; } .node .expand-status img { cursor: pointer; } .node .type-icon { padding-right: 4px; } .node .type-icon img { filter: invert(0.7) sepia(0.5) hue-rotate(50deg) saturate(300%) brightness(0.85); } .node .name { margin-bottom: 8px; line-height: 24px; cursor: pointer; } .node .children { display: none; grid-column: 1 / -1; border-left: 1px solid #ccc; padding-left: 12px; margin-left: 19px; } select { font-size: 1em; border: 1px solid #bcc3ce; background: #fff; color: #444; padding: 4px; } select optgroup { color: #a22; } datalist div:before { display: block; content: 'group'; font-weight: bold; } dialog#create-type { min-width: 400px; } dialog#create-type > div { display: grid; grid-gap: 8px; } dialog::backdrop { background-color: rgba(0, 0, 0, 0.75); } select:focus { outline: 2px solid #888; outline-offset: -2px; } #connected-nodes > .label { display: grid; grid-template-columns: min-content min-content; align-items: center; color: var(--section-color); font-weight: bold; font-size: 1.25em; margin-bottom: 16px; } #connected-nodes > .label > img.add { height: 24px; cursor: pointer; margin-left: 8px; } #connected-nodes .connected-nodes { display: flex; align-items: start; flex-flow: row wrap; gap: 32px; } #connected-nodes .connected-nodes .type-group { display: grid; grid-template-columns: 24px 1fr; grid-gap: 8px; align-items: center; background-color: #f0f0f0; padding: 16px; } #connected-nodes .connected-nodes .type-group .type-name { font-weight: bold; grid-column: 1 / -1; } #connected-nodes .connected-nodes .type-group .type-icon, #connected-nodes .connected-nodes .type-group .node-name { cursor: pointer; } #connected-nodes .type-icon img { display: block; height: 24px; } #script-hooks .scripts-grid { display: flex; align-items: start; flex-flow: row wrap; gap: 32px; } #script-hooks .scripts-grid .header { font-weight: bold; margin-right: 8px; } #script-hooks .scripts-grid div { white-space: nowrap; } #script-hooks .scripts-grid .script-group { display: grid; grid-template-columns: repeat(3, min-content); align-items: center; grid-gap: 2px 0px; padding: 16px; background-color: #f0f0f0; } #script-hooks .scripts-grid .script-group-title { grid-column: 1 / -1; font-weight: bold; } #script-hooks .scripts-grid .script-unhook img, #script-hooks .scripts-grid .script-schedule img { display: block; height: 24px; cursor: pointer; } #script-hooks .scripts-grid .script-name, #script-hooks .scripts-grid .script-ssh { cursor: pointer; margin-right: 16px; } #script-hooks .scripts-grid .script-ssh { color: #555; } #script-hooks .scripts-grid .script-schedule.disabled { filter: invert(50%); } #script-hooks > .label { display: grid; grid-template-columns: min-content min-content; align-items: center; color: var(--section-color); font-weight: bold; font-size: 1.25em; margin-bottom: 8px; } #script-hooks > .label img.add { height: 24px; cursor: pointer; margin-left: 8px; } #select-node { padding: 32px; display: grid; grid-template-columns: min-content; grid-gap: 8px; justify-items: start; } #select-node > * { min-width: 300px; width: 100%; } #select-node .label { font-weight: bold; color: var(--section-color); } #select-node button { width: 100px !important; } #select-node .more-exist { color: #a44; } #select-node .search-results .node-table { display: flex; align-items: start; gap: 32px; } #select-node .search-results .node-table .group { margin-top: 16px; } #select-node .search-results .node-table .group .label { font-weight: bold; color: var(--section-color); margin-bottom: 8px; white-space: nowrap; } #select-node .search-results .node-table .group .children { display: grid; grid-template-columns: min-content 1fr; grid-gap: 8px; } #select-node .search-results .node-table .group .children .node { cursor: pointer; } #select-node .search-results .node-table .group .children img { cursor: pointer; height: 24px; } dialog#connection-data { padding: 24px; } dialog#connection-data .label { font-size: 1.25em; font-weight: bold; color: var(--section-color); } dialog#connection-data img { height: 32px; } dialog#connection-data textarea { margin-top: 16px; width: 300px; height: 200px; } dialog#connection-data div.button { text-align: center; margin-top: 8px; } #editor-type-schema .label { font-size: 1.25em; font-weight: bold; color: var(--section-color); } #editor-type-schema textarea { font-family: monospace; font-size: 0.85em; margin-top: 16px; width: 100%; height: calc(100% - 96px); min-height: calc(100vh - 380px); } #editor-type-schema img { height: 32px; } #editor-type-schema img.saving { filter: invert(0.7) sepia(0.5) hue-rotate(0deg) saturate(600%) brightness(0.75); } @keyframes example { 0% { opacity: 0%; } 50% { opacity: 0%; } 100% { opacity: 100%; } } .tooltip { position: relative; } .tooltip.left::after { right: 0px; } .tooltip.right::after { left: 0px; } .tooltip:hover::after { animation-name: example; animation-duration: 1s; white-space: nowrap; background-color: var(--section-color); box-shadow: 5px 5px 21px -4px rgba(0, 0, 0, 0.75); position: absolute; top: 48px; content: attr(data-tooltip); display: block; padding: 8px 16px; border-radius: 4px; color: #fff; z-index: 8192; } #scripts .label { display: grid; grid-template-columns: 1fr min-content; align-items: center; } #scripts .label div:first-child { font-size: 1.5em; font-weight: bold; color: var(--section-color); margin-right: 8px; } #scripts .group { font-weight: bold; margin-top: 32px; color: var(--section-color); } #scripts .group:first-child { margin-top: 0px; } #scripts .script { display: grid; grid-template-columns: min-content 1fr; grid-gap: 4px; align-items: center; user-select: none; cursor: pointer; } #scripts .script.selected { font-weight: bold; } #scripts .script img { display: block; height: 24px; } #scripts .script div { white-space: nowrap; } #editor-script > div { display: grid; grid-template-columns: 200px 1fr min-content; grid-gap: 16px; align-items: end; } #editor-script .label { margin-top: 16px; font-weight: bold; color: var(--section-color); } #editor-script .label:first-child { margin-top: 0px; } #editor-script input[type="text"] { width: 100%; } #editor-script textarea { width: 100%; height: 400px; font-family: monospace; font-size: 0.85em; } #editor-script button { margin-top: 8px; } #script-select-dialog { display: grid; grid-gap: 8px; padding: 32px; } #script-select-dialog > .header { font-weight: bold; color: var(--section-color); } #script-select-dialog .scripts .group { font-weight: bold; color: var(--section-color); margin-top: 16px; } #script-select-dialog .scripts .script { cursor: pointer; margin-top: 4px; } #script-hook-dialog { display: grid; grid-gap: 8px; padding: 32px; } #script-hook-dialog .top { display: grid; grid-template-columns: 1fr min-content; grid-gap: 16px; } #script-hook-dialog .top .header { font-size: 1.25em; font-weight: bold; color: var(--section-color); } #script-hook-dialog .top img { height: 32px; cursor: pointer; } #script-hook-dialog .label { font-weight: bold; margin-top: 16px; } #script-hook-dialog textarea { height: 50vh; width: 50vw; font-family: monospace; } #script-executions > .label { font-weight: bold; font-size: 1.5em; color: var(--section-color); white-space: nowrap; } #script-executions .executions { display: grid; grid-template-columns: repeat(11, min-content); grid-gap: 4px 32px; margin-top: 32px; align-items: center; } #script-executions .executions .header { font-weight: bold; } #script-executions .executions div { white-space: nowrap; } #script-executions .executions img { display: block; height: 24px; } #script-executions .executions .time { font-size: 0.9em; color: #555; } #script-executions .executions .source img, #script-executions .executions .data img, #script-executions .executions .env img, #script-executions .executions .stdout img, #script-executions .executions .stderr img { cursor: pointer; } #script-executions .executions .exitcode { text-align: right; } #script-executions .executions .exitcode div { padding: 2px 8px; width: 50px; border-radius: 4px; color: #fff; font-weight: bold; text-align: center; } #script-executions .executions .exitcode div.code-ok { background-color: #6f9753; } #script-executions .executions .exitcode div.code-error { background-color: #a12f2f; } #script-execution-value-dialog { display: grid; } #script-execution-value-dialog .top { display: grid; grid-template-columns: 1fr min-content; } #script-execution-value-dialog .top .header { font-size: 1.25em; font-weight: bold; color: var(--section-color); } #script-execution-value-dialog .top .copy { height: 32px; cursor: pointer; } #script-execution-value-dialog .top .copy.clicked { filter: invert(50%); } #script-execution-value-dialog .label { font-weight: bold; } #script-execution-value-dialog .value { margin-top: 16px; padding: 16px; border: 1px solid #ccc; border-radius: 4px; font-family: monospace; font-size: 0.9em; height: 75vh; width: 80vw; white-space: pre; overflow: scroll; }