:root{font:13px/1.45 system-ui,-apple-system,sans-serif;color:#253144;background:#f5f6f8;color-scheme:light;--border:#dce0e5;--muted:#637085;--green:#16775b}
*{box-sizing:border-box}body{margin:0}main{max-width:1800px;margin:auto;padding:16px 22px}button,input,select{font:inherit;color:inherit}button,select,input{border:1px solid #cbd1d9;border-radius:5px;background:white;padding:7px 10px;min-height:34px}button{cursor:pointer;white-space:nowrap}button:hover:not(:disabled){background:#edf1f5;border-color:#9ca9b9}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover:not(:disabled){background:#105c46;border-color:#105c46}.danger{color:#b3262c;border-color:#dbb8bb}.danger:hover:not(:disabled){background:#fff0f0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #19856a;outline-offset:2px}label{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}input[type=number]{width:78px}select{padding-right:25px}.toolbar,.tools,.command-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.toolbar{min-height:45px;padding-bottom:12px}.toolbar #address{width:72px}.spacer{flex:1}.muted{color:var(--muted)}.mono,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.state:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#9ba6b4;margin:0 8px 1px 0}.state.connected:before{background:#168260}#rate{font-variant-numeric:tabular-nums;color:var(--muted)}#rate.slow{color:#aa5b0e}#message{margin:0 0 10px;padding:9px 12px;border-radius:5px;background:#e6f1ec}#message.error{background:#fbe8e8;color:#98272c}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:14px}.tabs button{border:0;background:none;border-radius:0;padding:10px 18px;margin-bottom:-1px;color:var(--muted);border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:600}.tabs button:hover:not(:disabled){background:#edf0f3}section>.tools{margin-bottom:12px}#values{font-size:12px}section[hidden]{display:none}.live-plots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:420px;gap:12px}.live-plots.with-magnetic{grid-template-columns:repeat(3,minmax(0,1fr))}.plot{background:white;border:1px solid var(--border);border-radius:6px;min-width:0;overflow:hidden;padding:8px}.uplot{font:11px system-ui,sans-serif}.u-title{font:500 13px system-ui,sans-serif;text-align:left;margin:1px 0 8px 12px}.u-legend{font-size:11px;text-align:left;margin-left:10px}.u-legend th{font-weight:500}.u-inline .u-value{width:55px}.cal-plots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:360px;gap:12px}.progress-row{display:flex;align-items:center;gap:12px;margin:12px 0;min-height:18px}.progress-row output{font-size:12px;color:var(--muted)}progress{width:240px;height:7px;accent-color:var(--green);border:0}#summary{min-height:432px}#session-data{padding:12px 0;margin:0;white-space:pre-wrap;font-size:12px}.firmware-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:1100px}fieldset{border:1px solid var(--border);border-radius:6px;background:#fff;padding:18px;display:flex;align-items:flex-start;flex-direction:column;gap:18px;min-width:0}legend{font-weight:600;padding:0 6px}fieldset label>select{min-width:150px}.pins{display:flex;gap:12px;flex-wrap:wrap}.pins label{flex-direction:column;align-items:flex-start;gap:5px}.pins label>select{min-width:110px}#firmware{min-height:432px}#firmware-file{max-width:100%}#flash-log{max-height:160px}#board{min-width:220px}.commands{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}#control-form{gap:9px;font-size:12px;margin-bottom:12px}#control-form input{width:67px;padding:6px 8px}#control-form #target{width:95px}.command-row{flex-wrap:nowrap}.command-row input{min-width:0;flex:1}.log{background:#fff;border:1px solid var(--border);border-radius:5px;height:102px;overflow:auto;margin:10px 0 0;padding:8px 10px;font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;color:#546174}#flash-log{height:106px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.u-select{background:#16826022}
@media(min-height:1000px){.live-plots{grid-template-rows:560px}.cal-plots{grid-template-rows:440px}#summary,#firmware{min-height:572px}}
@media(max-width:800px){main{padding:10px}.toolbar{gap:7px}.tabs button{flex:1;padding:10px 6px}.live-plots,.live-plots.with-magnetic{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:280px}.cal-plots{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:320px}.firmware-grid{grid-template-columns:1fr}.toolbar .spacer{display:none}#motor{flex:1}#values{width:100%}#control-form{gap:7px}#control-form label{gap:4px}.command-row input::placeholder{color:transparent}}
.drive-row,.gains-row{width:100%;gap:12px}.drive-row{margin-bottom:3px}.key-control{margin-left:8px}input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--green);margin:0}.inactive{color:#9aa2af}.inactive input{background:#eceff3;border-color:#e0e4e9;color:#a3aab5}#control-form #target{width:108px}#target-unit-text{color:var(--muted);margin-left:-5px}#control-form #target-unit[hidden]{display:none}input:disabled,select:disabled{cursor:default}

.u-legend .raw .u-marker{border-radius:50%}.u-legend .cross .u-marker{border:0!important;background:none!important;position:relative}.u-legend .cross .u-marker:after{content:"×";position:absolute;font-size:17px;line-height:12px;left:0;top:-1px}.u-legend .circle .u-marker{border-radius:50%;border:0!important;background:currentColor!important}.u-legend .triangle .u-marker{border:0!important;background:currentColor!important;clip-path:polygon(50% 0,100% 100%,0 100%)}

#aux{min-height:432px}#aux fieldset{max-width:950px}#aux-slider{width:100%;padding:0;accent-color:var(--green)}#aux-pulse{width:90px}
