/* Block 10A: mounted fields keep a single geometry in VIEW and EDIT. */
#app .inline-field {
 display:block!important;box-sizing:border-box!important;width:100%;max-width:100%;
 min-height:1.5em!important;height:auto;margin:0!important;padding:0!important;
 border:0!important;border-radius:0!important;background:transparent!important;
 color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;
 resize:none;overflow:hidden;white-space:pre-wrap;box-shadow:none!important;
}
#app .inline-field:read-only {cursor:text;outline:none}
#app .inline-field:read-only::placeholder {color:transparent}
#app .inline-field:not(:read-only):focus-visible {outline:1px solid var(--border-subtle);outline-offset:3px}
#app .inline-field.inline-title {font-size:20px;font-weight:600;line-height:1.3}
#app .common-media-card .inline-field {font-size:11px;line-height:1.4;margin-top:3px!important}
#app .look-description.inline-field {font-size:12px;line-height:1.5;margin-block:3px!important}
#app .look-subtitle.inline-field {font-size:11px;line-height:1.4;min-width:0}
#app .stable-empty-media {position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9}
#app .stable-empty-media>.add-media-card {position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;box-sizing:border-box}
#app .stable-empty-media>.add-media-card>summary {height:100%;display:flex;align-items:center;justify-content:center}
#app .stable-empty-media .add-media-options {position:absolute;inset:0;z-index:5;background:var(--bg-base)}
/* Trailing insertion cards do not resize existing tracks. Reserve scrollbar space. */
#workspace,.pane-body,.book-content,.element-inspector {scrollbar-gutter:stable}
#app .look-add-card {display:flex;align-items:center;justify-content:center;align-self:start;width:100%;height:64px;border:1px dashed var(--border-subtle);background:transparent;color:var(--text-secondary);font:inherit;cursor:pointer}
body:not(.editing) #app .look-add-card {display:none!important}
#app .look-book-card {position:relative}
#app .look-book-head {padding-right:34px!important}
#app .look-delete {position:absolute!important;top:8px;right:8px;margin:0!important}
/* Header action slots retain their width even when capabilities are hidden. */
body:not(.editing) .character-head-actions>.mode-edit-only,
body:not(.editing) .custom-look-picker.mode-edit-only {display:inline-flex!important;visibility:hidden;pointer-events:none}
#app .document-insertion-slot {display:grid;align-items:center;min-height:44px;margin:8px 0 0;position:relative}
#app .document-insertion-slot>* {grid-area:1/1;justify-self:start}
#app .document-insertion-slot>.add-document-control,#app .document-insertion-slot>.character-doc-drop {position:static!important;margin:0!important;width:170px!important;min-width:0!important;max-width:100%!important;height:44px!important;min-height:44px!important}
#app .document-empty-label {font-size:11px;color:var(--text-secondary)}
#app .character-docs-head {min-height:28px}
#app .location-status {position:relative!important;min-height:24px;box-sizing:border-box}
#app .location-status select {appearance:none;-webkit-appearance:none;display:block!important;min-width:0;width:100%;height:24px!important;min-height:24px!important;padding:0 20px 0 0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;color:inherit!important;font:inherit!important;opacity:1!important;text-decoration:none!important}
#app .location-status::after {content:'⌄';position:absolute;right:9px;top:50%;transform:translateY(-50%);pointer-events:none;color:inherit}
#app .location-status select:disabled {cursor:default;-webkit-text-fill-color:currentColor}
#app .shotlist.view-list:not(.special-shotlist) .shot-list-inline-actions {bottom:5px!important}
#app .special-filter>summary {width:180px;min-width:180px;max-width:180px;box-sizing:border-box;display:flex}
#app .special-filter>summary>span:not(.control-icon) {min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
#app .special-filter>div {left:0;right:auto}
#app .media-card-menu>div>button {border-bottom:0}
/* Reserve the shared gallery insertion slot so later card rows do not jump. */
#app .common-media-gallery>.add-media-card {display:block!important;min-height:44px!important}
body:not(.editing) #app .common-media-gallery>.add-media-card {visibility:hidden;pointer-events:none}
#app .location-map-field {position:relative;min-width:0;background-image:none!important;border-bottom-color:transparent!important}
#app .location-map-actions {position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:32px 36px;gap:4px;min-width:0}
#app .location-map-icon {flex:none}
#app .location-map-editor,#app .location-map-editor[open] {position:static;width:auto;min-width:0;flex:0 1 auto;max-width:100%}
#app .location-map-editor>input {position:absolute;right:0!important;left:auto!important;top:auto;bottom:0;width:100%!important;height:36px;min-width:0!important;max-width:100%!important;box-sizing:border-box;z-index:4;background:var(--bg-base)}

#app #workspace .inline-field {background:transparent!important;box-shadow:none!important;border-radius:0!important}

/* Pointer/programmatic focus must not paint a keyboard ring on navigation shells. */
#app #workspace:focus:not(:focus-visible) {outline:none}
#app #workspace:focus-visible {outline:1px solid var(--accent);outline-offset:-2px}
