.ai-camera{width:min(850px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #bdd5d0;border-radius:20px;background:#f4faf8;color:#173c36;box-shadow:0 20px 80px #102d3c44;overflow:auto}.ai-camera::backdrop{background:#10273088}.ai-camera-head{position:sticky;top:0;z-index:4;background:#f4faf8;padding:16px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d7e4e0}.ai-camera-head strong{font-size:20px}.ai-camera button{background:white;color:#19463c;border:1px solid #accbc1;border-radius:10px;padding:10px 15px;cursor:pointer;font:inherit}.ai-camera button:disabled{opacity:.5}.ai-camera-head button{font-weight:700}.ai-camera-body{padding:20px}.ai-video{position:relative;background:#162c2e;border-radius:14px;overflow:hidden;aspect-ratio:4/3;max-height:48dvh;margin:auto;display:flex;justify-content:center}.ai-video video,.ai-video canvas{position:absolute;width:100%;height:100%;object-fit:contain;transform:scaleX(-1)}.ai-detected{position:absolute;bottom:12px;left:12px;color:white;background:#102d3bcc;padding:7px 12px;border-radius:20px;font-size:13px}.ai-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.ai-values>div{padding:12px;border:1px solid #d8e5df;border-radius:14px;background:white;text-align:center;display:flex;flex-direction:column;align-items:center}.ai-values strong{font-size:clamp(32px,7vw,55px);line-height:1.2;color:#126e5b}.ai-values span,.ai-values small{font-size:13px}.ai-values progress{width:90%;height:9px;margin:9px 0;accent-color:#168579}.ai-actions{display:flex;flex-wrap:wrap;gap:8px}.ai-actions #ai-start,.ai-actions #ai-connect{background:#176e5d;color:white}.ai-message{min-height:24px;font-size:14px}.ai-serial{font-size:13px;color:#47695f}.ai-camera details{font-size:13px;border-top:1px solid #cadcd5;padding-top:14px;line-height:1.8}.ai-camera summary{cursor:pointer;font-weight:700}.ai-camera button:focus-visible{outline:3px solid #177da9;outline-offset:2px}@media(max-width:520px){.ai-camera-body{padding:12px}.ai-values{gap:6px}.ai-values>div{padding:9px 3px}.ai-camera-head{padding:12px}.ai-actions button{flex:1}.ai-video{max-height:38dvh}}

.ai-calibration{background:#e7f2ec;border-radius:12px;padding:12px;margin-top:12px}.ai-calibration-status{font-size:14px;margin:0 0 9px;font-weight:600}.ai-calibration small{display:block;margin-top:8px;line-height:1.6;color:#335d50}.ai-calibration .ai-actions button{padding:8px 12px;font-size:13px}
