/* One framing surface for role, persona and world images. */
.lm-photo-frame-mask{--photo-width:360px;--photo-preview-height:min(42vh,320px);--world-photo-preview-ratio:1;--photo-space:16px;--photo-control:40px;--photo-font:13px;--photo-title:16px;--photo-shade:rgba(110,116,124,.2);--photo-blur:4px;--photo-surface:var(--lm-app-surface,var(--t-card,#fff));--photo-input:var(--lm-app-input,var(--t-input,#f7f7f7));--photo-text:var(--lm-app-text,var(--t-text,#53575d));--photo-muted:var(--lm-app-muted,var(--t-muted,#8a8e95));--photo-line:var(--lm-app-border,var(--t-border,#e9ebee));--photo-radius:var(--lm-app-radius-dialog,16px);--photo-control-radius:var(--lm-app-radius-control,10px);--photo-shadow:var(--lm-app-shadow,0 8px 28px rgba(0,0,0,.06));--photo-focus:var(--lm-app-focus,#a5adb6);--photo-z:2147483003;position:fixed;inset:0;z-index:var(--photo-z);display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:var(--photo-space);background:var(--photo-shade);backdrop-filter:blur(var(--photo-blur));-webkit-backdrop-filter:blur(var(--photo-blur));font-size:var(--photo-font);color:var(--photo-text)}
.lm-photo-frame-mask .world-photo-editor{width:min(var(--photo-width),100%);max-height:100%;display:flex;flex-direction:column;background:var(--photo-surface);border:1px solid var(--photo-line);border-radius:var(--photo-radius);overflow:hidden;box-shadow:var(--photo-shadow)}
.lm-photo-frame-mask .world-photo-editor header{display:flex;align-items:center;justify-content:space-between;flex:none;padding:var(--photo-space);font-size:var(--photo-title);border-bottom:1px solid var(--photo-line)}
.lm-photo-frame-mask .world-photo-editor button,.lm-photo-frame-mask .world-photo-choose{min-height:var(--photo-control);background:var(--photo-input);color:var(--photo-text);border:1px solid var(--photo-line);border-radius:var(--photo-control-radius);font:inherit;padding:0 var(--photo-space);cursor:pointer}.lm-photo-frame-mask .world-photo-editor header [data-photo-close]{display:grid;place-items:center;flex:none;width:var(--photo-control);height:var(--photo-control);line-height:1;margin:0;padding:0;border:0;border-radius:0;background:transparent}
.lm-photo-frame-mask .world-photo-editor-body{min-height:0;overflow-y:auto;padding:var(--photo-space);display:flex;flex-direction:column;gap:var(--photo-space)}.lm-photo-frame-mask .world-photo-editor-body>*{flex:none}.lm-photo-frame-mask .world-photo-preview{position:relative;align-self:center;min-height:0;width:min(100%,calc(var(--photo-preview-height) * var(--world-photo-preview-ratio)));aspect-ratio:var(--world-photo-preview-ratio);overflow:hidden;background:var(--photo-input);touch-action:none}.lm-photo-frame-mask .world-photo-preview img{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;object-fit:cover;display:block}
.lm-photo-frame-mask .world-photo-editor label{display:flex;align-items:center;justify-content:space-between;gap:var(--photo-space)}.lm-photo-frame-mask .world-photo-editor input{min-width:0;flex:1;accent-color:var(--photo-focus)}.lm-photo-frame-mask .world-photo-editor footer{flex:none;padding:var(--photo-space);border-top:1px solid var(--photo-line)}.lm-photo-frame-mask .world-photo-editor footer{display:flex;gap:8px}.lm-photo-frame-mask [data-photo-save]{flex:1}.lm-photo-frame-mask [data-photo-diagnostic]{flex:none}.lm-photo-frame-mask :disabled{opacity:.5;cursor:default}

.lm-photo-image-clip{display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit}.lm-photo-image-clip>img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover}

.lm-photo-frame-mask .world-photo-editor .world-photo-choose{position:relative;overflow:hidden;justify-content:center;box-sizing:border-box}.lm-photo-frame-mask .world-photo-choose input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.lm-photo-frame-mask.photo-saving .world-photo-choose{opacity:.5;cursor:default}
.lm-photo-frame-mask .world-photo-preview-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--photo-muted);text-align:center;padding:var(--photo-space);box-sizing:border-box}.lm-photo-frame-mask .world-photo-preview [hidden]{display:none}
