/* Practical instruments, generous type and touch targets. */
.smart-panel{min-width:0;display:flex;flex-wrap:wrap;align-content:start;gap:16px;font-size:17px;line-height:1.75}.smart-panel>.field,.smart-panel>p,.smart-panel>svg,.smart-panel>video,.smart-panel>canvas,.smart-panel>.camera-frame,.smart-panel>.device-label,.smart-panel>.ruler-scroll,.smart-panel>.calibration{width:100%;margin:0}.smart-panel button,.file-pick{min-height:48px;padding:11px 17px;border:1px solid #bcc9d6;border-radius:4px;background:white;color:#162b42;font-size:16px;font-weight:650;cursor:pointer}.smart-panel [data-start]{background:#20364e;color:#fff;border-color:#20364e}.smart-panel button:disabled{opacity:.55;cursor:wait}.smart-panel input[type=range]{width:100%;min-height:44px;padding:0;accent-color:#2563eb}.smart-panel input[type=color]{height:64px;min-height:64px;padding:5px;cursor:pointer}.device-label{font-size:13px;font-weight:700;color:#3a5878;letter-spacing:.2px}.device-status{padding:14px 16px;background:#f0f5fa;border-left:3px solid #607b98;color:#233f5c;font-size:15px;overflow-wrap:anywhere}.device-note{font-size:14px;color:#53697e}.file-pick{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.file-pick input{width:100%;max-width:100%;font-size:14px}.smart-panel video,.smart-panel canvas{max-width:100%;border-radius:4px;background:#f3f6fa}.smart-panel video{max-height:420px;object-fit:cover}.mirror-video{transform:scaleX(-1)}.camera-frame{overflow:hidden;border-radius:4px}.camera-frame video{display:block;width:100%;transform-origin:center}.smart-panel canvas[hidden],.smart-panel video[hidden],#screen-light[hidden]{display:none}.smart-panel #image-canvas{cursor:crosshair;touch-action:manipulation}.smart-layout .result-value{overflow-wrap:anywhere;word-break:break-word;font-size:clamp(25px,3vw,38px)}.smart-layout .result-panel{align-self:start}.smart-panel #signal-art{height:145px}.level-art,.compass-art{position:relative;flex-basis:100%;width:190px;max-width:190px;height:190px;margin:15px auto 5px;border:2px solid #8ca2b9;border-radius:50%;background:repeating-radial-gradient(circle,#f6f9fc 0 25px,#cfdbe7 26px 27px)}.level-art:before,.level-art:after{content:'';position:absolute;background:#a3b5c7;left:50%;top:0;width:1px;height:100%}.level-art:after{transform:rotate(90deg)}#level-bubble{position:absolute;width:30px;height:30px;left:calc(50% - 15px);top:calc(50% - 15px);border:2px solid #2563eb;background:#90bded;border-radius:50%;z-index:1}.compass-art{background:#f7f9fc}.compass-art span{position:absolute;font-size:15px;font-weight:700}.compass-art span:nth-child(1){top:3px;left:calc(50% - 6px);color:#bd3434}.compass-art span:nth-child(2){right:7px;top:calc(50% - 12px)}.compass-art span:nth-child(3){bottom:3px;left:calc(50% - 5px)}.compass-art span:nth-child(4){left:7px;top:calc(50% - 12px)}#compass-needle{position:absolute;inset:20px;text-align:center;font-size:95px;line-height:135px;color:#bd3434;transform-origin:center}.calibration,.ruler-scroll{overflow-x:auto;padding:20px 0;overscroll-behavior-x:contain;border:1px solid #d4dde7;background:#f8fafc}.calibration #cal-line{display:block;margin:0 10px;height:14px;border:2px solid #20364e;border-top:0;position:relative}.calibration #cal-line:after{content:'85.60 mm';display:block;text-align:center;position:absolute;top:15px;width:100%;font-size:12px}.calibration{padding-bottom:35px}.ruler-scroll{padding:12px 0 0}.ruler-scroll svg{display:block;max-width:none}#screen-light{position:fixed;inset:0;z-index:1000;background:white;display:flex;justify-content:center;align-items:center}#screen-light button{position:absolute;bottom:40px;background:#fff;color:#121b25;border:2px solid #121b25;padding:17px 24px}.qr-actions{margin-top:20px}.qr-actions a{font-size:16px;color:#1b4d84;text-decoration:underline;overflow-wrap:anywhere}.sensor-info{margin-top:32px;background:#f2f6fa;border-top:2px solid #20364e;padding:25px}.sensor-info h2{font-size:23px;margin:0 0 12px}.sensor-info p{font-size:16px;line-height:1.9;margin:0 0 10px}.sensor-info a{font-size:16px;color:#27547f;text-decoration:underline}.tool-page .form-panel input,.tool-page .form-panel select,.tool-page .form-panel textarea{min-width:0;max-width:100%;font-size:18px}.tool-page .result-row{gap:14px}.tool-page .result-row>b{overflow-wrap:anywhere;text-align:right}.tool-page .form-actions{flex-wrap:wrap}.tool-page .example-inputs b{overflow-wrap:anywhere}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:3px solid #4d8fd1;outline-offset:3px}
@media(max-width:640px){.smart-panel{gap:14px;font-size:16px}.smart-panel button,.file-pick{font-size:15px}.smart-layout .result-value{font-size:29px}.smart-layout .result-panel{padding:23px 20px}.tool-page .result-row{font-size:15px;align-items:start}.tool-page .result-row>span{min-width:0;flex:1}.tool-page .result-row>b{min-width:0;flex:1.25}.sensor-info{padding:21px}.sensor-info h2{font-size:21px}.tool-page .field{font-size:16px}.example-heading{flex-wrap:wrap;gap:12px}.form-actions>button{flex:1 1 130px;min-height:48px}.smart-panel .file-pick{max-width:100%;min-width:0}.smart-panel input[type=file]{min-width:0}.tool-page .source-box a{overflow-wrap:anywhere}.smart-panel #signal-art{height:115px}}
.calc-keypad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0}.calc-keypad button{min-height:53px;border:1px solid #cdd8e3;border-radius:4px;background:#f5f8fb;color:#162b42;font-size:20px;font-weight:650}.calc-keypad button:nth-child(4n){background:#20364e;color:white}.calc-keypad button:active{background:#d6e3ef}.calc-keypad button:nth-child(-n+2){color:#9f3030}
.field[hidden]{display:none!important}
