/* Model view previews reuse existing presentation images and labels. */
.model-visual [data-model-stage]>.image-button{aspect-ratio:4/3;display:grid;place-items:center;background:var(--soft)}
.model-visual [data-model-stage]>.image-button>img{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain}
.model-visual [data-model-stage]>figcaption{min-height:3.2em}
.model-view-controls.model-view-previews{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.model-view-controls.model-view-previews button{display:flex;align-items:center;gap:10px;flex:1 1 150px;max-width:240px;min-height:66px;padding:8px;text-align:left}
.model-view-previews .model-view-preview{display:block;flex-shrink:0;width:64px;height:48px;background:var(--soft);overflow:hidden}
.model-view-previews .model-view-preview img{width:100%;height:100%;object-fit:contain}
.model-view-previews .model-view-label{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.model-view-controls.model-view-previews button:hover{border-color:var(--ink)}
.model-view-controls.model-view-previews button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.model-view-controls.model-view-previews button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:440px){
 .model-view-controls.model-view-previews button{flex:1 1 0;min-width:0;max-width:none;flex-direction:column;justify-content:flex-start;gap:7px;padding:8px 5px;text-align:center;font-size:.8125rem;line-height:1.35}
 .model-view-previews .model-view-preview{width:76px;max-width:100%;height:auto;aspect-ratio:3/2}
}
