:root{color:#e2e8f0;background:#0f172a;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:#020617;height:100vh;margin:0;overflow:hidden}.app{grid-template-rows:1fr;grid-template-columns:minmax(320px,1fr) 360px;gap:1rem;height:100vh;padding:1rem;display:grid}.viewer{background:#111827;border:1px solid #334155;border-radius:.75rem;min-height:0;position:relative;overflow:hidden}#camera,#overlay{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}#overlay{pointer-events:none}.still-frame{object-fit:cover;width:100%;height:100%;display:none;position:absolute;inset:0;transform:scaleX(-1)}.still-frame.active{display:block}.still-frame.uploaded{transform:none}.prompt{inset-inline:1rem;color:#f8fafc;background:#0f172ad6;border:1px solid #94a3b880;border-radius:.5rem;margin:0;padding:.65rem .8rem;font-weight:600;position:absolute;bottom:1rem}.panel{background:#0f172a;border:1px solid #334155;border-radius:.75rem;min-height:0;padding:1rem;overflow-y:auto}.panel h1{margin:0 0 1rem;font-size:1.25rem}.panel h2{color:#cbd5e1;margin:1.35rem 0 .85rem;font-size:1rem}.controls{gap:.5rem;margin-bottom:.5rem;display:grid}.camera-select{gap:.35rem;font-weight:600;display:grid}.camera-select select{color:inherit;background:#0b1225;border:1px solid #334155;border-radius:.45rem;padding:.5rem}.capture-controls{flex-wrap:wrap;gap:.5rem;display:flex}.capture-controls button,.upload-label{color:inherit;cursor:pointer;text-align:center;background:#0b1225;border:1px solid #334155;border-radius:.45rem;flex:1;min-width:0;padding:.45rem .65rem;font-size:.875rem;font-weight:500}.capture-controls button:hover,.upload-label:hover{background:#1e293b;border-color:#475569}#upload-input{display:none}.panel dl{gap:.6rem;margin:0;display:grid}.panel dl>div{justify-content:space-between;gap:1rem;display:flex}.panel dt{color:#cbd5e1}.panel dd{text-align:right;color:#f8fafc;font-variant-numeric:tabular-nums;margin:0}.panel dd.measurement{max-width:15rem;font-size:.94rem}.panel dd.measurement[data-confidence=medium]{color:#fbbf24}.panel dd.measurement[data-confidence=low]{color:#cbd5e1;font-style:italic}details.advanced{border:1px solid #334155;border-radius:.5rem;margin-top:1.25rem;overflow:hidden}details.advanced>summary{cursor:pointer;color:#cbd5e1;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.95rem;font-weight:600;list-style:none;display:flex}details.advanced>summary::-webkit-details-marker{display:none}details.advanced>summary:before{content:"▶";font-size:.7rem;transition:transform .15s}details.advanced[open]>summary:before{transform:rotate(90deg)}details.advanced>dl{border-top:1px solid #334155;padding:.75rem}.error{color:#fda4af;margin:1rem 0 0;font-weight:600}.info-notes{border:1px solid #334155;border-radius:.5rem;margin-top:1.25rem;padding:.65rem .75rem .75rem}.info-notes h2{color:#cbd5e1;margin:0 0 .5rem;font-size:.95rem}.info-notes ul{gap:.4rem;margin:0;padding-left:1.1rem;display:grid}.info-notes li{color:#e2e8f0;font-size:.875rem;line-height:1.45}@media (width<=980px){body{height:auto;overflow:auto}.app{grid-template-rows:auto auto;grid-template-columns:1fr;height:auto;min-height:100vh}.viewer{height:60vh;min-height:280px}.panel{overflow-y:visible}}
