:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#08111a;color:#dce8ed;font-size:13px}*{box-sizing:border-box}body{margin:0}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:#aebfc9;background:#112331;border:1px solid #284050;border-radius:5px;padding:9px 12px;cursor:pointer}button:hover{background:#203a49;color:#fff}button:focus-visible,summary:focus-visible{outline:2px solid #54e4cb;outline-offset:3px}header{height:66px;border-bottom:1px solid #23303d;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.brand{font-size:14px;letter-spacing:1.5px;text-decoration:none;color:#e3edf1;font-weight:bold}.brand span{color:#62dac6}.brand small{font-size:9px;font-weight:normal;letter-spacing:1px;color:#758997;margin-left:30px}.badge{font-size:9px;letter-spacing:1.5px;border:1px solid #35424d;padding:7px 10px;color:#96a9b5}main{display:grid;grid-template-columns:minmax(0,1fr) 355px;min-height:calc(100vh - 66px)}.stage{position:relative;min-height:720px;background:radial-gradient(ellipse at 50% 58%,#192e3c 0%,#0b1621 64%);overflow:hidden}.intro{position:absolute;left:35px;top:32px;pointer-events:none;z-index:2}.eyebrow{font-size:9px;letter-spacing:2px;color:#64d5c0}h1{font-size:41px;letter-spacing:-2px;margin:12px 0}h1 span{color:#738c9e;font-weight:normal}.intro p{font-size:13px;color:#90a7b6;margin:0}#viewport{position:absolute;inset:0;touch-action:none}#viewport canvas{width:100%;height:100%;display:block}.viewtools{position:absolute;top:160px;left:35px;display:flex;gap:6px}.viewtools button{font-size:10px;padding:7px 10px;background:#0d202bcc}.legend{position:absolute;bottom:72px;left:35px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.legend span{font-size:12px;display:flex;gap:7px;align-items:center}.legend i{background:var(--c);height:7px;width:7px;border-radius:50%;box-shadow:0 0 12px var(--c)}.legend small{font-size:10px;color:#6c879a}.stagefoot{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:20px 28px;border-top:1px solid #203340;font-size:9px;color:#7894a4;letter-spacing:.3px}.stagefoot b{color:#55dcc6;font-size:9px}aside{padding:25px 24px;background:#0d1923;border-left:1px solid #273540}.paneltitle{display:flex;justify-content:space-between;font-size:10px;font-weight:bold;letter-spacing:1.6px}.live{color:#5cddc5;font-size:9px}.kpis{display:flex;gap:20px;margin:25px 0 28px}.kpis small{font-size:8px;letter-spacing:1px;color:#8198a8;display:block;margin-bottom:9px}.kpis strong{font-size:26px;font-weight:normal;letter-spacing:-1px}.kpis em{font-size:10px;letter-spacing:0;color:#7d95a6;font-style:normal}.sectionlabel{font-size:9px;letter-spacing:1px;color:#7e98a8;border-top:1px solid #263743;padding-top:16px;margin-bottom:17px}.sectionlabel span{float:right;color:#9fc0cf;letter-spacing:0}.control{margin-bottom:17px}.control label{display:flex;justify-content:space-between;font-size:11px;color:#adbfca}.control output{font-family:monospace;color:#deebee}input[type=range]{width:100%;accent-color:#54d9c2;height:3px;margin:12px 0 0;cursor:pointer}.actions{display:flex;gap:8px;margin:21px 0 25px}.primary{background:#48c6b0;color:#081c22;border-color:#48c6b0;flex:1;font-weight:bold}.primary:hover{background:#6be5d1;color:#081c22}#hist{display:block;width:100%;height:95px;background:#09141d;border-bottom:1px solid #365363}.axis{display:flex;justify-content:space-between;color:#647f91;font-size:8px;margin:7px 0 14px}#species{display:flex;gap:10px;justify-content:space-between;font-family:monospace;font-size:11px;margin-bottom:20px}.presets{display:flex;gap:5px;flex-wrap:wrap}.presets button{font-size:9px;padding:7px}details{border-top:1px solid #263743;margin-top:20px;padding-top:15px;color:#829cae;font-size:11px;line-height:1.65}summary{color:#b6cbd7;cursor:pointer}footer{display:flex;justify-content:space-between;font-size:8px;color:#58778a;letter-spacing:1px;margin-top:24px}#error{position:absolute;top:40%;left:10%;right:10%;padding:30px;background:#401e20;z-index:10}@media(max-width:950px){main{grid-template-columns:minmax(0,1fr) 310px}aside{padding:25px 18px}h1{font-size:32px}.brand small{display:none}.stagefoot span:last-child{display:none}.viewtools{flex-wrap:wrap;right:15px}.legend small{width:100%}}@media(max-width:680px){header{padding:0 17px}.badge{font-size:7px}main{display:block}.stage{height:640px;min-height:0}aside{border-left:0;border-top:1px solid #273540}.intro{left:20px;top:25px}.viewtools{left:20px;top:140px}.legend{left:20px}.kpis{justify-content:space-between}.control{margin-bottom:23px}}
