body { margin: 0; background: var(--themeBaseColor); color: var(--themeTextColor); font: -webkit-control; } div { box-sizing: border-box; } div[tabindex="-1"]:focus { outline: 0; } .button { background: var(--themeBgColor); color: var(--themeTextColor); border: 1px solid var(--borders); user-select: none; padding: 8px; cursor: pointer; } .button:hover { border-color: var(--themeSelectedBgColor); } .button:focus { outline: none; border-color: var(--themeSelectedBgColor); } .button:active { background: var(--themeSelectedBgColor); position: relative; top: 1px; } .button:disabled { border-color: var(--unfocusedBorders); cursor: not-allowed; } .button-group { display: flex; justify-content: space-between; } .label { user-select: none; cursor: pointer; display: block; padding: 0.5rem 0; } .label-user-select { user-select: initial; cursor: text; } .label-passive { cursor: initial; } .checkbox { } .input { background: var(--themeUnfocusedBaseColor); color: var(--themeUnfocusedFgColor); border: 1px solid var(--borders); padding: 4px; } .input:hover { border-color: var(--themeSelectedBgColor); } .input:focus { outline: none; border-color: var(--themeSelectedBgColor); } .input[type="number"] { width: 64px; } .select { background: var(--themeUnfocusedBgColor); color: var(--themeUnfocusedFgColor); border: 1px solid var(--borders); padding: 4px; cursor: pointer; width: 100%; } .select:hover { border-color: var(--themeSelectedBgColor); } .select:focus { outline: none; border-color: var(--themeSelectedBgColor); } .peaks { position: absolute; top: 0; left: 0; bottom: 0; right: 0; pointer-events: none; } .view-wrapper.view-wrapper { background: transparent; position: absolute; top: 0; left: 0; right: 0; bottom: 0; } .view-wrapper .grid-dot { fill: var(--themeBgColor); } .view-wrapper .node { fill: var(--themeBgColor); stroke: var(--borders); } .view-wrapper .node.hovered { stroke: var(--themeSelectedBgColor); } .view-wrapper .node.targeted { stroke: var(--themeSelectedBgColor); } .view-wrapper .node.selected { fill: var(--themeSelectedBgColor); color: var(--themeSelectedFgColor); } .view-wrapper .edge-container:hover .edge { stroke: var(--themeSelectedBgColor); } .view-wrapper .edge-container:hover .volume-thumbnail-ruler-line { stroke: var(--themeSelectedBgColor); } .view-wrapper .graph .edge.selected { stroke: var(--themeSelectedBgColor); } #my-source-arrow-selected > .arrow, #my-sink-arrow-selected > .arrow { fill: var(--themeSelectedBgColor); } .view-wrapper .edge.edge { marker-end: none; } .view-wrapper .sourceOutput .edge-path { marker-end: url(#my-source-arrow); } .view-wrapper .sourceOutput .selected .edge-path { marker-end: url(#my-source-arrow-selected); } .view-wrapper .sinkInput .edge-path { marker-end: url(#my-sink-arrow); } .view-wrapper .sinkInput .selected .edge-path { marker-end: url(#my-sink-arrow-selected); } .view-wrapper .monitorSource { stroke-dasharray: 40; pointer-events: none; } .view-wrapper .monitorSource .edge-mouse-handler { pointer-events: none; } #edge-custom-container .edge-path { marker-end: none; stroke: var(--themeSelectedBgColor); } #edge-custom-container, #edge-custom-container .edge-mouse-handler { pointer-events: none; } .view-wrapper .graph .edge { stroke: var(--borders); } .view-wrapper .graph .arrow { fill: var(--borders); } .view-wrapper .edge-mouse-handler.edge-mouse-handler { opacity: 1; } .view-wrapper .edge-mouse-handler .edge-overlay-path { opacity: 0; } .view-wrapper .edge-mouse-handler .edge-text { opacity: 1; color: var(--themeTextColor); } .server-info { position: absolute; bottom: 0; right: 0; padding: 1rem; pointer-events: none; opacity: 0.5; } .log { position: absolute; bottom: 0; left: 0; padding: 1rem; overflow: hidden; pointer-events: none; } .log-item-error { color: var(--errorColor); } .log-item-transition-enter { opacity: 0.01; } .log-item-transition-enter.log-item-transition-enter-active { opacity: 1; transition: opacity .3s ease-in; } .log-item-transition-leave { opacity: 1; } .log-item-transition-leave.log-item-transition-leave-active { opacity: 0.01; transition: opacity 2s ease-out; } .panel { position: absolute; top: 0; bottom: 0; padding: 1rem; overflow: auto; } .cards { left: 0; } .preferences { right: 0; } .panel:not(.open) { pointer-events: none; } .panel:not(.open) .button { pointer-events: initial; } .panel.open { background: var(--themeBgColor); } .panel > hr { border: none; border-top: 1px solid var(--borders); } .top-left-on-screen-button-group .button { margin-right: 1rem; } .ReactModal__Overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content : center; } .ReactModal__Content { background: var(--themeBgColor); border: 1px solid var(--borders); padding: 1rem; width: 400px; } .view-wrapper .graph .edge-mouse-handler { stroke-width: 30px; } .node { cursor: pointer; } .graph foreignObject { overflow: visible; } .node-text, .edge-text { pointer-events: none; padding: 2; white-space: pre; background-repeat: no-repeat; background-size: 60%; background-position: center; } .node-text { display: flex; flex-direction: column; } .node-text > .node-main { flex-grow: 1; } .node-name { pointer-events: initial; user-select: none; overflow: hidden; text-overflow: ellipsis; } .node-name-icon { height: 1em; vertical-align: text-top; } .node-tunnel-info { text-align: right; } .volume-thumbnail-ruler-line { stroke-width: 2px; stroke: var(--borders); } .volume-thumbnail-volume-line { stroke-width: 2px; stroke: var(--successColor); } .volume-thumbnail-volume-line-warning { stroke: var(--warningColor) } .volume-thumbnail-volume-line-error { stroke: var(--errorColor) } .volume-thumbnail-muted .volume-thumbnail-volume-line { stroke: var(--borders) } .edge-text { pointer-events: none; } .volume-controls { background: var(--themeBgColor); border: 1px solid var(--borders); pointer-events: initial; padding: 2px; width: 308px; margin-left: -50%; } .node.selected .volume-controls { border-color: var(--themeSelectedBgColor); } .volume-slider-norm-mark, .volume-slider-base-mark { stroke: var(--borders); stroke-width: 1px; } .volume-slider-bg { stroke: var(--borders); stroke-width: 6px; stroke-linecap: round; } .volume-slider-fill { stroke: var(--successColor); stroke-width: 6px; stroke-linecap: round; } .volume-slider-handle { fill: var(--themeBgColor); stroke: var(--borders); stroke-width: 1px; } .volume-slider-handle:hover { stroke: var(--themeSelectedBgColor); }