.frame-controls .field-label { display:block; margin-bottom:7px; }
.frame-controls .photo-note { margin:8px 0; }
.frame-zoom-row { display:grid; grid-template-columns:minmax(0,1fr) 86px; gap:9px; align-items:end; margin:12px 0; }
.frame-field { display:flex; flex-direction:column; gap:7px; min-width:0; color:#778399; font-size:10px; line-height:1.5; }
.frame-field input { min-width:0; width:100%; font-variant-numeric:tabular-nums; }
.frame-field input[type="range"] { min-height:44px; padding:0; accent-color:var(--blue); }
.frame-coordinate-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; align-items:end; margin-bottom:12px; }
.frame-radius-row { display:flex; align-items:center; gap:10px; margin:9px 0; }
.frame-radius-row>.frame-field { flex:1; }
.frame-radius-row output { min-width:32px; text-align:right; font-size:11px; color:#647087; }
.frame-controls .background-status { margin-top:9px; }
.frame-overlay { position:absolute; z-index:3; pointer-events:none; }
.frame-drag-surface { position:absolute; pointer-events:auto; cursor:grab; touch-action:none; background:transparent; outline:1.5px dashed #345cff; outline-offset:-1px; }
.frame-drag-surface.is-dragging { cursor:grabbing; }
.frame-drag-surface:focus-visible { outline:3px solid #345cff; outline-offset:2px; }
.frame-floating { z-index:5; }
.frame-floating button { flex:1; }
.frame-controls [hidden],.frame-overlay[hidden],.frame-floating[hidden] { display:none!important; }
