.system-scene-viewport { background: #080f11; }
.system-panorama { font-family: Arial, "Noto Sans SC", sans-serif; }
.system-panorama text { fill: #d5e6e1; }
.system-title { font-size: 22px; font-weight: 500; letter-spacing: -.4px; }
.system-subtitle { font-size: 13px; fill: #91aaa3 !important; }
.system-layer-label { font-size: 11px; letter-spacing: 1.4px; fill: #91aaa3 !important; }
.system-control-panel { fill: #14221c; stroke: #41553b; }
.system-control-layer .system-layer-label { fill: #c5e29a !important; }
.system-os-core { fill: #a6d672; stroke: #cefc91; }
.system-os-pin { fill: none; stroke: #94bd64; stroke-width: 1.3; }
.system-os-inner { fill: #263c26; }
.system-os-name { font-size: 21px; fill: #dcf5bb !important; }
.system-control-chip { fill: #182a22; stroke: #4d6544; }
.system-chip-text { font-size: 13px; fill: #d6e9bf !important; letter-spacing: .7px; }
.system-chip-index { font: 10px var(--font-mono, monospace); fill: #93ad75 !important; }
.system-control-signal { fill: none; stroke: #a3cf71; stroke-width: 1.2; stroke-dasharray: 2 5; }
.system-signal-main { opacity: .42; pointer-events: none; }
.system-signal-dot { fill: #b8ef7e; }
.system-physical-panel { fill: #0b1719; stroke: #2e4545; }
.system-aggregate { font-size: 10px; fill: #8fc0be !important; }
.system-device-title { font-size: 16px; font-weight: 500; }
.system-device-detail { font-size: 12px; fill: #8da8a0 !important; }
.system-generation .scene-device, .system-demand .scene-device { filter: drop-shadow(0 5px 9px #0005); }
.system-wire-glow { fill: none; stroke: #84d4d4; stroke-width: 8; opacity: .06; }
.system-wire { fill: none; stroke: #7fb7b9; stroke-width: 1.5; }
.system-wire-pulse { fill: none; stroke: #d7fff5; stroke-width: 2; stroke-dasharray: 3 24; animation: system-line-flow 4s linear infinite; opacity: .72; }
.system-bus-glow { fill: none; stroke: #75e7e3; stroke-width: 21; opacity: .05; }
.system-bus { fill: none; stroke: url(#system-bus); stroke-width: 3; }
.system-bus-track { fill: none; stroke: #4b7979; stroke-width: 1; }
.system-bus-label rect { fill: #122427; stroke: #5b8580; }
.system-bus-label text { font-size: 13px; fill: #d1f5e7; }
.system-bus-label .system-bus-sub { font-size: 9px; fill: #98b7ad; }
.system-bus-port { fill: #0d1e20; stroke: #bce7df; stroke-width: 1.5; }
.system-network-box { fill: #1f393a; stroke: #83b7b0; }
.system-small-wire { stroke: #8baea4; fill: none; stroke-width: 1.5; }
.system-network-core { fill: #c0e39a; stroke: #718f6b; }
.system-region { cursor: pointer; outline: none; }
.system-region-hit { fill: #102223; stroke: #365557; transition: fill .2s, stroke .2s; }
.system-region circle { fill: #79a5a3; }
.system-region-name { font-size: 12px; }
.system-region-number { font-size: 11px; fill: #a2c6c2 !important; }
.system-region:hover .system-region-hit, .system-region:focus-visible .system-region-hit { fill: #1e3933; stroke: #b9e68d; stroke-width: 2; }
.system-region-selected .system-region-hit { fill: #20362c; stroke: #a6d375; }
.system-region-selected circle { fill: #c5f58c; }
.system-region-selected .system-region-name { fill: #dbf2b7 !important; }
.system-market-panel { fill: #1a1d18; stroke: #5e5238; }
.system-market-layer .system-layer-label { fill: #d6bc8f !important; }
.system-market-disclaimer { font-size: 9px; fill: #b8a17e !important; letter-spacing: .25px; }
.system-market-title { font-size: 13px; font-weight: 500; fill: #e5d6ba !important; }
.system-market-detail { font-size: 11px; fill: #bdac8b !important; }
.system-market-quantity { font-size: 22px; letter-spacing: -.7px; fill: #f3d8a4 !important; }
.system-market-price { font-size: 17px; fill: #e3c595 !important; }
.system-market-clearing rect { fill: #23281f; stroke: #6d6747; }
.system-market-link, .system-market-os-link { fill: none; stroke: #d7ad6e; stroke-width: 1.4; stroke-dasharray: 8 6; marker-end: url(#system-market-arrow); }
.system-market-os-link { opacity: .4; }
.system-contract { fill: #2d2f22; stroke: #c2a675; }
.system-contract-rule { stroke: #ab956c; }
.system-contract-tick { stroke: #d9d29b; stroke-width: 2; fill: none; }
.system-settlement-note { font-size: 10px; fill: #baa98b !important; }
.system-legend text { font-size: 11px; fill: #9db3ab; }
.system-legend path { stroke-width: 1.7; }
.system-legend-physical { stroke: #a7d8d7; }
.system-legend-control { stroke: #b8da83; stroke-dasharray: 2 4; }
.system-legend-market { stroke: #d7ad6e; stroke-dasharray: 8 5; }
.system-legend .system-legend-concept { font-size: 10px; fill: #7f9890; }
.system-physical-layer, .system-control-layer, .system-market-layer { transition: opacity .35s ease; }
.system-layer-market .system-physical-layer { opacity: .48; }
.system-layer-market .system-control-layer { opacity: .8; }
.system-layer-market .system-market-panel { fill: #26291d; stroke: #d2b171; stroke-width: 1.5; }
.system-layer-market .system-market-link, .system-layer-market .system-market-os-link { opacity: 1; animation: system-trade-flow 6s linear infinite; }
.system-layer-market .system-market-clearing rect { fill: #333726; stroke: #d2bc84; }
.system-layer-market .system-wire-pulse { animation: none; opacity: .2; }
@keyframes system-line-flow { to { stroke-dashoffset: -54; } }
@keyframes system-trade-flow { to { stroke-dashoffset: -84; } }
@media (max-width: 1050px) { .system-scene-viewport .system-panorama { min-width: 960px; } }
@media (prefers-reduced-motion: reduce) {
  .system-panorama * { animation: none !important; transition: none !important; }
}
