:root{font-family:system-ui,sans-serif;color:#193b49;background:#edf3f5;--teal:#087b78}*{box-sizing:border-box}body{margin:0;height:100dvh;display:flex;flex-direction:column;overflow:hidden}header,nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border-bottom:1px solid #d3e0e4;padding:11px 18px;flex:none}header h1{font-size:22px;margin:0;flex:1}header img{object-fit:contain}a{color:var(--teal)}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #bdd1d7;border-radius:7px;background:#fff;color:#244e5e;padding:9px 12px}button.primary{background:var(--teal);color:#fff}button:disabled{opacity:.5}nav label{display:flex;align-items:center;gap:7px;margin:0}nav select{width:auto;margin:0}nav strong{margin-left:auto}main{display:grid;grid-template-columns:260px minmax(500px,1fr) 330px;gap:12px;padding:12px;flex:1;min-height:0}aside,section{background:#fff;border-radius:12px;padding:15px;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}h2{font-size:18px;margin:0 0 12px}h3{font-size:14px;margin:18px 0 8px}p,li{line-height:1.55}label{display:block;margin:12px 0;font-size:12px}input,select{display:block;width:100%;min-width:0;margin-top:5px;padding:8px;border:1px solid #bed1d7;border-radius:6px;background:#fff}input[type=range]{padding:0;accent-color:var(--teal)}output{display:block;font-weight:700;color:var(--teal);margin-top:3px}.scene{background:#102b3a;border-radius:12px;overflow:auto}.scene svg{display:block;width:100%;min-width:720px}.running .mixer{animation:mix 1s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes mix{to{transform:rotate(360deg)}}.cards,.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.cards div,.kpis div{background:#eef6f5;border-radius:7px;padding:9px;font-size:10px}.cards strong,.kpis strong{display:block;color:var(--teal);font-size:16px;margin-top:4px}.kpis{grid-template-columns:1fr 1fr}.kpis strong{font-size:18px}.composition{width:100%;border-collapse:collapse;font-size:11px}.composition th,.composition td{padding:6px;border-bottom:1px solid #dce8eb;text-align:right}.composition th:first-child,.composition td:first-child{text-align:left}.swatch{height:58px;border-radius:8px;border:1px solid #adc4cd;margin:8px 0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 2px #000;font-weight:700}.hint,details{font-size:11px;color:#536f7b}.notice{padding:10px;border-left:4px solid #d69a33;background:#fff3d8;font-size:12px}.notice.critical{border-color:#c93c2e;background:#ffe4df;color:#80291d}.plot{border:1px solid #d2e1e5;border-radius:8px;overflow:auto;background:#fafcfd}.plot svg{display:block;width:100%}.controls fieldset{border:1px solid #d4e2e6;border-radius:8px;padding:10px;margin:12px 0}.controls legend{font-size:12px;font-weight:700}.controls .pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stream-table{font-size:10px;width:100%;border-collapse:collapse}.stream-table th,.stream-table td{padding:5px;border-bottom:1px solid #dbe7ea;text-align:right}.stream-table th:first-child,.stream-table td:first-child{text-align:left}.bar{height:8px;border-radius:5px;background:#dce8eb;overflow:hidden}.bar span{display:block;height:100%;background:var(--teal)}#journal{padding-left:18px;font-size:11px;max-height:180px;overflow:auto}.source-list a{display:block;margin:6px 0}.stage-hidden{display:none}.right-dashboard{position:sticky;top:-15px;background:#fff;z-index:2;padding-top:1px;padding-bottom:4px;border-bottom:1px solid #d8e5e8}@media(max-width:1150px){main{grid-template-columns:230px minmax(430px,1fr)}.controls{grid-column:1/-1;max-height:70dvh}body{height:auto;min-height:100dvh;overflow:auto}main{overflow:visible}.right-dashboard{position:static}}@media(max-width:760px){header h1{font-size:17px}main{display:block;padding:8px}aside,section{max-height:80dvh;margin-bottom:10px}.scene svg{min-width:680px}.cards{grid-template-columns:1fr 1fr}nav strong{width:100%;margin:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
