:root{font-family:Arial,"Microsoft YaHei",sans-serif;color:#202a35;background:white;font-size:13px}*{box-sizing:border-box}body{margin:0}main{max-width:1800px;margin:auto;padding:20px 28px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #b7c4cf;padding-bottom:14px}h1{font-size:25px;margin:0;font-weight:600;letter-spacing:.2px}header p{margin:5px 0 0;color:#617181}.local{font-size:11px;border:1px solid #bccbd7;padding:6px 10px;color:#39556c}.controls{padding:12px 0;border-bottom:1px solid #ccd4dc}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:9px 0}label{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}button,input,select{font:inherit}button{padding:7px 12px;border:1px solid #9aaab8;border-radius:2px;color:#233a4d;background:#fff;cursor:pointer}button:hover{background:#f0f4f7;border-color:#315b7a}button:disabled{opacity:.45;cursor:default}.primary{background:#21557c;color:white;border-color:#21557c}.primary:hover{background:#184767}input[type=number],select{border:1px solid #abb7c2;border-radius:2px;padding:5px 6px;background:white}input[type=checkbox]{accent-color:#21557c}input[type=range]{width:150px;accent-color:#21557c}.short{width:64px}.shift{width:87px}.wave{width:99px}#traceSelector{max-width:310px;min-width:165px}strong{font-size:12px;font-weight:500;color:#a34324}.hint{font-size:12px;color:#697888}#status{padding:10px 1px;min-height:35px;color:#35586e}#status.error{color:#a51e24}#status.busy{color:#846119}.plotbox{position:relative;width:100%;border:1px solid #c5ced6}#plot{width:100%;height:clamp(420px,54vh,740px)}#crosshair{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}#crosshair line{stroke:#667e90;stroke-width:.7;stroke-dasharray:4 4}#dropHint{display:none;position:absolute;inset:0;background:rgba(246,249,252,.94);border:2px dashed #21557c;align-items:center;justify-content:center;font-size:22px;z-index:20;pointer-events:none}.dragging #dropHint{display:flex}footer{line-height:1.6;padding-top:12px;color:#546678}footer p{font-size:12px;margin-bottom:0}#summary{color:#273f54;overflow-wrap:anywhere}details{margin-top:8px;font-size:12px}summary{cursor:pointer}pre{max-height:280px;overflow:auto;border:1px solid #d8dfe5;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;font:12px Consolas,monospace}.export{margin-top:12px}#clear{color:#923b32;margin-left:8px}@media(max-width:750px){main{padding:12px}.local{display:none}.hint{width:100%}#plot{height:500px}button{padding:6px 9px}}
[hidden]{display:none!important}.dropdown{position:relative}.menu{position:absolute;top:calc(100% + 3px);left:0;z-index:40;background:white;border:1px solid #9aaab8;min-width:145px;padding:4px}.menu button{display:block;width:100%;border:0;text-align:left;border-radius:0}.dropdown>button[aria-expanded=true]{background:#edf3f7}

.curve-editor input[type=text]{width:260px;max-width:100%;border:1px solid #abb7c2;border-radius:2px;padding:6px 8px}#curveSelector{min-width:190px;max-width:330px}.curve-editor{padding:8px 10px;background:#f6f8fa;border:1px solid #d5dde5}@media(max-width:750px){.curve-editor label{max-width:100%;white-space:normal}.curve-editor input[type=text],#curveSelector{min-width:0;width:210px}}
