/**
 * @license
 * Copyright 2019 Kevin Verdieck, originally developed at Palantir Technologies, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */.mosaic{height:100%;width:100%}.mosaic,.mosaic>*{box-sizing:border-box}.mosaic .mosaic-zero-state{position:absolute;top:6px;right:6px;bottom:6px;left:6px;width:auto;height:auto;z-index:1}.mosaic-root{position:absolute;top:3px;right:3px;bottom:3px;left:3px}.mosaic-split{position:absolute;z-index:1;touch-action:none}.mosaic-split:hover{background:#000}.mosaic-split .mosaic-split-line{position:absolute}.mosaic-split.-row{margin-left:-3px;width:6px;cursor:ew-resize}.mosaic-split.-row .mosaic-split-line{top:0;bottom:0;left:3px;right:3px}.mosaic-split.-column{margin-top:-3px;height:6px;cursor:ns-resize}.mosaic-split.-column .mosaic-split-line{top:3px;bottom:3px;left:0;right:0}.mosaic-tile{position:absolute;margin:3px}.mosaic-tile>*{height:100%;width:100%}.mosaic-drop-target{position:relative}.mosaic-drop-target.drop-target-hover .drop-target-container{display:block}.mosaic-drop-target.mosaic>.drop-target-container .drop-target.left{right:calc(100% - 10px)}.mosaic-drop-target.mosaic>.drop-target-container .drop-target.right{left:calc(100% - 10px)}.mosaic-drop-target.mosaic>.drop-target-container .drop-target.bottom{top:calc(100% - 10px)}.mosaic-drop-target.mosaic>.drop-target-container .drop-target.top{bottom:calc(100% - 10px)}.mosaic-drop-target .drop-target-container{position:absolute;top:0;right:0;bottom:0;left:0;display:none}.mosaic-drop-target .drop-target-container.-dragging{display:block}.mosaic-drop-target .drop-target-container .drop-target{position:absolute;top:0;right:0;bottom:0;left:0;background:#0003;border:2px solid black;opacity:0;z-index:5}.mosaic-drop-target .drop-target-container .drop-target.left{right:70%}.mosaic-drop-target .drop-target-container .drop-target.right{left:70%}.mosaic-drop-target .drop-target-container .drop-target.bottom{top:70%}.mosaic-drop-target .drop-target-container .drop-target.top{bottom:70%}.mosaic-drop-target .drop-target-container .drop-target.drop-target-hover{opacity:1}.mosaic-drop-target .drop-target-container .drop-target.drop-target-hover.left{right:50%}.mosaic-drop-target .drop-target-container .drop-target.drop-target-hover.right{left:50%}.mosaic-drop-target .drop-target-container .drop-target.drop-target-hover.bottom{top:50%}.mosaic-drop-target .drop-target-container .drop-target.drop-target-hover.top{bottom:50%}.mosaic-window,.mosaic-preview{position:relative;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 0 1px #0003}.mosaic-window .mosaic-window-toolbar,.mosaic-preview .mosaic-window-toolbar{z-index:4;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;height:30px;background:#fff;box-shadow:0 1px 1px #0003}.mosaic-window .mosaic-window-toolbar.draggable,.mosaic-preview .mosaic-window-toolbar.draggable{cursor:move}.mosaic-window .mosaic-window-title,.mosaic-preview .mosaic-window-title{display:flex;align-items:center;height:100%;padding-left:15px;flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;min-height:18px}.mosaic-window .mosaic-window-controls,.mosaic-preview .mosaic-window-controls{display:flex;height:100%}.mosaic-window .mosaic-window-controls .separator,.mosaic-preview .mosaic-window-controls .separator{height:20px;border-left:1px solid black;margin:5px 4px}.mosaic-window .mosaic-window-body,.mosaic-preview .mosaic-window-body{position:relative;flex:1;height:0;background:#fff;z-index:1;overflow:hidden}.mosaic-window .mosaic-window-additional-actions-bar,.mosaic-preview .mosaic-window-additional-actions-bar{position:absolute;top:30px;right:0;bottom:initial;left:0;height:0;overflow:hidden;background:#fff;justify-content:flex-end;display:flex;z-index:3}.mosaic-window .mosaic-window-additional-actions-bar .bp4-button,.mosaic-preview .mosaic-window-additional-actions-bar .bp4-button{margin:0}.mosaic-window .mosaic-window-additional-actions-bar .bp4-button:after,.mosaic-preview .mosaic-window-additional-actions-bar .bp4-button:after{display:none}.mosaic-window .mosaic-window-body-overlay,.mosaic-preview .mosaic-window-body-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background:#fff;display:none;z-index:2}.mosaic-window.additional-controls-open .mosaic-window-additional-actions-bar,.mosaic-preview.additional-controls-open .mosaic-window-additional-actions-bar{height:30px}.mosaic-window.additional-controls-open .mosaic-window-body-overlay,.mosaic-preview.additional-controls-open .mosaic-window-body-overlay{display:block}.mosaic-window .mosaic-preview,.mosaic-preview .mosaic-preview{height:100%;width:100%;position:absolute;z-index:0;border:1px solid black;max-height:400px}.mosaic-window .mosaic-preview .mosaic-window-body,.mosaic-preview .mosaic-preview .mosaic-window-body{display:flex;flex-direction:column;align-items:center;justify-content:center}.mosaic-window .mosaic-preview h4,.mosaic-preview .mosaic-preview h4{margin-bottom:10px}.mosaic:not(.mosaic-blueprint-theme) .mosaic-default-control.close-button:before{content:"Close"}.mosaic:not(.mosaic-blueprint-theme) .mosaic-default-control.split-button:before{content:"Split"}.mosaic:not(.mosaic-blueprint-theme) .mosaic-default-control.replace-button:before{content:"Replace"}.mosaic:not(.mosaic-blueprint-theme) .mosaic-default-control.expand-button:before{content:"Expand"}.mosaic.mosaic-blueprint-theme{background:#abb3bf}.mosaic.mosaic-blueprint-theme .mosaic-zero-state{background:#e5e8eb;border-radius:2px;box-shadow:0 0 0 1px #11141826}.mosaic.mosaic-blueprint-theme .mosaic-zero-state .default-zero-state-icon{font-size:120px}.mosaic.mosaic-blueprint-theme .mosaic-split:hover{background:none}.mosaic.mosaic-blueprint-theme .mosaic-split:hover .mosaic-split-line{box-shadow:0 0 0 1px #4c90f0}.mosaic.mosaic-blueprint-theme.mosaic-drop-target .drop-target-container .drop-target,.mosaic.mosaic-blueprint-theme .mosaic-drop-target .drop-target-container .drop-target{background:#8abbff33;border:2px solid #4c90f0;transition:opacity .1s;border-radius:2px}.mosaic.mosaic-blueprint-theme .mosaic-window,.mosaic.mosaic-blueprint-theme .mosaic-preview{box-shadow:0 0 0 1px #11141826;border-radius:2px}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-toolbar,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-toolbar{box-shadow:0 1px 1px #11141826;border-top-right-radius:2px;border-top-left-radius:2px}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-toolbar.draggable:hover,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-toolbar.draggable:hover{background:linear-gradient(to bottom,#fff,#f6f7f9)}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-toolbar.draggable:hover .mosaic-window-title,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-toolbar.draggable:hover .mosaic-window-title{color:#111418}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-title,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-title{font-weight:600;color:#404854}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-controls .separator,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-controls .separator{border-left:1px solid #dce0e5}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-controls .bp4-button,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-controls .bp4-button,.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-controls .bp4-button:before,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-controls .bp4-button:before{color:#738091}.mosaic.mosaic-blueprint-theme .mosaic-window .default-preview-icon,.mosaic.mosaic-blueprint-theme .mosaic-preview .default-preview-icon{font-size:72px}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-body,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-body{border-top-width:0;background:#f6f7f9;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-additional-actions-bar,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-additional-actions-bar{transition:height .25s;box-shadow:0 1px 1px #11141826}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-additional-actions-bar .bp4-button,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-additional-actions-bar .bp4-button,.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-window-additional-actions-bar .bp4-button:before,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-window-additional-actions-bar .bp4-button:before{color:#738091}.mosaic.mosaic-blueprint-theme .mosaic-window.additional-controls-open .mosaic-window-toolbar,.mosaic.mosaic-blueprint-theme .mosaic-preview.additional-controls-open .mosaic-window-toolbar{box-shadow:0 1px 0 0 0 0 1px #11141826}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-preview,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-preview{border:1px solid #8f99a8}.mosaic.mosaic-blueprint-theme .mosaic-window .mosaic-preview h4,.mosaic.mosaic-blueprint-theme .mosaic-preview .mosaic-preview h4{color:#404854}.mosaic.mosaic-blueprint-theme.bp4-dark{background:#252a31}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-zero-state{background:#383e47;box-shadow:inset 0 0 0 1px #fff3}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-split:hover .mosaic-split-line{box-shadow:0 0 0 1px #2d72d2}.mosaic.mosaic-blueprint-theme.bp4-dark.mosaic-drop-target .drop-target-container .drop-target,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-drop-target .drop-target-container .drop-target{background:#215db033;border-color:#2d72d2}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window-toolbar,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window-additional-actions-bar{background:#383e47;box-shadow:0 1px 1px #11141866}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview{box-shadow:inset 0 0 0 1px #fff3}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-toolbar.draggable:hover,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-toolbar.draggable:hover{background:linear-gradient(to bottom,#404854,#383e47)}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-toolbar.draggable:hover .mosaic-window-title,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-toolbar.draggable:hover .mosaic-window-title{color:#fff}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-title,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-title{color:#dce0e5}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-controls .separator,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-controls .separator{border-color:#5f6b7c}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-controls .bp4-button,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-controls .bp4-button,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-controls .bp4-button:before,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-controls .bp4-button:before{color:#abb3bf}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-body,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-body{background:#252a31}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-additional-actions-bar .bp4-button,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-additional-actions-bar .bp4-button,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-window-additional-actions-bar .bp4-button:before,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-window-additional-actions-bar .bp4-button:before{color:#c5cbd3}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window.additional-controls-open .mosaic-window-toolbar,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview.additional-controls-open .mosaic-window-toolbar{box-shadow:inset 0 0 0 1px #fff3}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-preview,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-preview{border-color:#5f6b7c}.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-window .mosaic-preview h4,.mosaic.mosaic-blueprint-theme.bp4-dark .mosaic-preview .mosaic-preview h4{color:#edeff2}:root{--bg: #000000;--panel-bg: #0a0a0a;--border: #1f1a0a;--amber: #ff8c00;--amber-dim: #b36b00;--amber-faint: #5c3a00;--label: #b36b00;--input: #ffffff;--up: #00c805;--down: #ff433d;--flat: #9a9a9a;--highlight: #1a1a00;--yellow-key: #ffd500;--selection: #332600;--mono: "IBM Plex Mono", "Berkeley Mono", "Cascadia Mono", Consolas, "Courier New", monospace}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;width:100%;background:var(--bg);color:var(--amber);font-family:var(--mono);font-size:12px;overflow:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#050505}::-webkit-scrollbar-thumb{background:#2a2207;border:1px solid #000}::-webkit-scrollbar-thumb:hover{background:var(--amber-faint)}button{font-family:var(--mono);cursor:pointer}.app{display:flex;flex-direction:column;height:100%;width:100%}.workspace-host{flex:1;position:relative;min-height:0}.panel{display:flex;flex-direction:column;height:100%;background:var(--panel-bg);overflow:hidden}.panel-header{display:flex;align-items:center;gap:8px;padding:2px 8px;background:#120e03;border-bottom:1px solid var(--border);font-size:11px;color:var(--amber);white-space:nowrap;-webkit-user-select:none;user-select:none}.panel-header .sym{color:var(--yellow-key);font-weight:700}.panel-header .fn{color:var(--amber)}.panel-header .hint{color:var(--label);margin-left:auto}.panel-body{flex:1;min-height:0;overflow:auto;position:relative}.label{color:var(--label)}.up{color:var(--up)}.down{color:var(--down)}.flat{color:var(--flat)}.mono{font-variant-numeric:tabular-nums}@keyframes flashUp{0%{background:#00c80559}to{background:transparent}}@keyframes flashDown{0%{background:#ff433d59}to{background:transparent}}.flash-up{animation:flashUp .6s ease-out}.flash-down{animation:flashDown .6s ease-out}.command-bar{display:flex;align-items:center;gap:8px;height:30px;padding:0 10px;background:#0d0a02;border-bottom:1px solid var(--amber-faint)}.command-bar .prompt{color:var(--yellow-key);font-weight:700}.command-bar input{flex:1;background:transparent;border:none;outline:none;color:var(--input);font-family:var(--mono);font-size:13px;letter-spacing:.5px;text-transform:uppercase}.command-bar .go{color:var(--amber-dim);font-size:11px}.autocomplete{position:absolute;top:30px;left:90px;z-index:100;background:#0d0a02;border:1px solid var(--amber-faint);min-width:360px;max-height:320px;overflow:auto}.autocomplete .ac-row{display:flex;gap:10px;padding:3px 10px;cursor:pointer}.autocomplete .ac-row.active,.autocomplete .ac-row:hover{background:var(--highlight)}.autocomplete .ac-mnemonic{color:var(--yellow-key);width:56px;font-weight:700}.autocomplete .ac-name{color:var(--amber)}.autocomplete .ac-cat{margin-left:auto;color:var(--label)}.status-bar{display:flex;align-items:center;gap:16px;height:22px;padding:0 10px;background:#0d0a02;border-top:1px solid var(--amber-faint);font-size:11px;color:var(--label)}.status-bar .seg{display:flex;gap:6px;align-items:center}.status-bar .dot{width:7px;height:7px;border-radius:50%;display:inline-block}.status-bar .dot.on{background:var(--up);box-shadow:0 0 5px var(--up)}.status-bar .dot.off{background:var(--down)}.status-bar .spacer{margin-left:auto}table.grid{width:100%;border-collapse:collapse;font-size:12px}table.grid th{text-align:right;color:var(--label);font-weight:400;padding:2px 8px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--panel-bg)}table.grid th.l,table.grid td.l{text-align:left}table.grid td{text-align:right;padding:2px 8px;border-bottom:1px solid #100d04;font-variant-numeric:tabular-nums}table.grid tr:hover td{background:var(--highlight)}.login{display:flex;align-items:center;justify-content:center;height:100%;background:radial-gradient(circle at 50% 30%,#140f04,#000 70%)}.login-box{width:380px;border:1px solid var(--amber-faint);background:#0a0801;padding:28px 30px}.login-box h1{margin:0 0 2px;font-size:22px;letter-spacing:3px;color:var(--amber)}.login-box .tag{color:var(--label);font-size:11px;margin-bottom:22px}.login-box label{display:block;color:var(--label);font-size:11px;margin:12px 0 3px}.login-box input{width:100%;background:#000;border:1px solid var(--amber-faint);color:var(--input);font-family:var(--mono);font-size:13px;padding:7px 9px;outline:none}.login-box input:focus{border-color:var(--amber)}.login-box button{width:100%;margin-top:20px;background:var(--amber);color:#000;border:none;padding:9px;font-weight:700;font-size:13px;letter-spacing:1px}.login-box button:hover{background:#ffa733}.login-box .err{color:var(--down);font-size:11px;margin-top:12px;min-height:14px}.login-box .hint{color:var(--amber-faint);font-size:10px;margin-top:18px;line-height:1.5}.pad{padding:10px 12px}.kv{display:grid;grid-template-columns:150px 1fr;gap:2px 12px;font-size:12px}.kv .k{color:var(--label)}.kv .v{color:var(--amber)}.section-title{color:var(--yellow-key);font-size:11px;letter-spacing:1px;margin:10px 0 4px;border-bottom:1px solid var(--border);padding-bottom:2px}.chip{display:inline-block;border:1px solid var(--amber-faint);color:var(--amber);padding:1px 6px;margin:2px 4px 2px 0;cursor:pointer;font-size:11px}.chip:hover{background:var(--highlight)}.empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--amber-faint);font-size:12px;text-align:center;padding:20px}input.range-input,select.range-input{background:#000;border:1px solid var(--amber-faint);color:var(--input);font-family:var(--mono);padding:2px 6px}select.range-input{cursor:pointer}.toast-host{position:absolute;right:12px;bottom:30px;z-index:1000;display:flex;flex-direction:column;gap:8px;width:320px;pointer-events:none}.toast{pointer-events:auto;background:#140d02;border:1px solid var(--amber);box-shadow:0 0 12px #ff8c0040;cursor:pointer;animation:toastIn .18s ease-out}@keyframes toastIn{0%{transform:translate(16px);opacity:0}to{transform:translate(0);opacity:1}}.toast-head{display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--border)}.toast-sym{color:var(--yellow-key);font-weight:700}.toast-tag{color:#000;background:var(--amber);padding:0 5px;font-size:10px;font-weight:700}.toast-x{margin-left:auto;color:var(--label);cursor:pointer}.toast-x:hover{color:var(--amber)}.toast-body{padding:6px 8px;color:var(--amber);font-size:12px}.port-summary{display:flex;flex-wrap:wrap;gap:2px 18px;padding:4px 10px 6px;border-bottom:1px solid var(--border);background:#060400}.port-stat{min-width:92px}.port-stat-label{font-size:9px;letter-spacing:.06em}.port-stat-value{font-size:13px;color:var(--amber)}.port-stat-value.up{color:var(--up)}.port-stat-value.down{color:var(--down)}.port-stat-sub{font-size:10px;opacity:.85}.port-sector{display:flex;align-items:center;gap:8px;padding:2px 0;font-size:11px}.port-sector-label{width:150px;color:var(--amber-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.port-sector-bar{flex:1;height:8px;background:#100a00;border:1px solid var(--border);position:relative}.port-sector-fill{display:block;height:100%;background:var(--amber);box-shadow:0 0 6px #ff8c004d}.port-sector-pct{width:48px;text-align:right}.mosaic{background:var(--bg)!important}.mosaic-root{top:0;left:0;right:0;bottom:0}.mosaic-tile{margin:2px}.mosaic-window,.mosaic-preview{border:1px solid var(--border)}.mosaic-window .mosaic-window-toolbar{height:auto;background:transparent;padding:0;display:block}.mosaic-window .mosaic-window-toolbar .panel-header{width:100%}.mosaic-window .mosaic-window-body{background:var(--panel-bg)}.mosaic-window.panel-active{outline:1px solid #3a2c00}.mosaic-split:hover .mosaic-split-line{box-shadow:0 0 0 1px var(--amber-faint)}.mosaic-split .mosaic-split-line{box-shadow:0 0 0 1px #000}.mosaic-drop-target .drop-target-container .drop-target{background:#ff8c002e;border:1px solid var(--amber)}
