*{box-sizing:border-box}body{margin:0;background:#e9eef2;color:#203247;font:16px/1.5 Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:#186398;text-underline-offset:4px}.app{max-width:1800px;margin:auto}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:white;border-bottom:1px solid #d4dde5;gap:20px}.brand{display:flex;align-items:center;gap:15px}.mark{background:#123952;color:white;font-size:23px;padding:7px 11px;border-radius:5px}.brand b{display:block;font-size:14px;letter-spacing:1.5px}.brand small{display:block;font-size:13px;color:#667b8d}.download{font-size:14px;text-decoration:none;border:1px solid #becfdb;padding:10px 16px;border-radius:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:680px}.viewport{position:relative;min-width:0;overflow:hidden;background:#eff3f6}.title{position:absolute;top:28px;left:34px;pointer-events:none;z-index:1}.eyebrow{font-size:12px;font-weight:700;color:#53768f;letter-spacing:1.4px}h1{font-size:34px;line-height:1.15;font-weight:500;margin:10px 0}h2{font-size:23px;margin:7px 0;font-weight:500}.title p,.asidehead p{color:#667b8d;font-size:14px;margin:0}canvas{display:block;width:100%;height:680px;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}.views{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);display:flex;background:white;border:1px solid #ccd8e1;border-radius:7px;padding:4px;box-shadow:0 4px 16px #2032470c;gap:3px;white-space:nowrap}.views button{background:none;border:0;border-radius:4px;padding:8px 13px;color:#587083;font-size:13px}.views button.active{color:#fff;background:#173e59}.bottom{position:absolute;bottom:18px;left:28px;right:28px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#657b8d}aside{padding:28px 22px;background:white;border-left:1px solid #d4dde5}.asidehead{margin-bottom:22px}#groups{display:grid;gap:3px}.group{border:0;border-radius:5px;background:transparent;padding:9px 10px;text-align:left;display:flex;align-items:center;gap:10px;font-size:14px;color:#536a7c}.group span{font:12px monospace;color:#7890a1;width:20px}.group.active{background:#e9f2f8;color:#07568b;font-weight:700}.group:hover{background:#f0f5f8}.detail{margin-top:22px;padding-top:18px;border-top:1px solid #dbe3e9}.detail b{font-size:14px}.detail p{font-size:13px;color:#627787;margin:7px 0}.group:focus-visible,button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #1584cd;outline-offset:2px}footer{display:flex;gap:24px;align-items:center;border-top:1px solid #d4dde5;padding:18px 34px;background:#fff}footer p{margin:0;flex:1;font-size:12px;color:#6d7e8c;max-width:1000px}footer a{font-size:13px;white-space:nowrap}#error{position:absolute;top:45%;left:10%;right:10%;background:white;padding:24px}@media(min-width:1600px){canvas{height:780px}.workspace{min-height:780px}}@media(max-width:950px){.workspace{grid-template-columns:1fr}canvas{height:580px}aside{border-top:1px solid #d4dde5;border-left:0}#groups{grid-template-columns:repeat(3,1fr)}.detail{margin-top:15px}footer{flex-wrap:wrap}footer p{flex-basis:100%}}@media(max-width:600px){header{height:auto;padding:18px;flex-wrap:wrap}.brand b{font-size:12px}.brand small{font-size:12px}.download{font-size:13px;padding:6px 10px}.title{top:20px;left:20px}h1{font-size:28px}.title p{max-width:260px}canvas{height:490px}.views{bottom:62px}.views button{padding:8px;font-size:12px}.bottom{left:20px;right:20px;flex-direction:column;gap:0;font-size:12px}#groups{grid-template-columns:repeat(2,1fr)}footer{padding:20px}.eyebrow{font-size:12px}.workspace{min-height:0}}

.instrument-tag{position:absolute;transform:translate(-50%,-50%);font:700 12px Arial,sans-serif;padding:4px 7px;border:1px solid #97b4c7;border-radius:3px;background:#fffffff0;color:#14517a;pointer-events:none;box-shadow:0 2px 5px #183b5510}.instrument-tag:after{content:"";position:absolute;left:50%;top:100%;height:12px;border-left:1px solid #97b4c7}@media(max-width:600px){.instrument-tag{font-size:11px;padding:3px 4px}}

.signal-legend{margin-top:20px;padding:14px;background:#f3f6f8;border-radius:5px;font-size:13px}.signal-legend b,.signal-legend span,.signal-legend small{display:block}.signal-legend span{margin-top:7px}.signal-legend i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:8px}.signal-legend small{font-size:12px;color:#607889;margin-top:8px}

.instrument-tag{z-index:3}.instrument-tag:after{display:none}.instrument-leader{position:absolute;height:1px;background:#91acbd;transform-origin:0 50%;pointer-events:none;z-index:2}
