/* Dedicated, on-demand model preview. */
.model-page { padding-block: var(--space-md) var(--space-lg); }
.model-back { display: inline-block; padding-block: var(--space-sm); color: var(--color-text-light); }
.model-heading { margin-block: var(--space-md); }
.marimba-section-title { font-family: var(--font-serif); font-size: var(--fs-2xl); line-height: var(--lh-snug); }
.model-title-note { display: block; margin-top: var(--space-xs); font: var(--fs-base)/var(--lh-body) var(--font-sans); color: var(--color-text-light); }
.marimba-text { max-width: var(--w-reading); margin-top: var(--space-sm); }
.model-stage { position: relative; aspect-ratio: 8 / 5; background: var(--color-white); isolation: isolate; }
.model-poster, .model-mount { position: absolute; inset: 0; width: 100%; height: 100%; }
.model-poster { object-fit: contain; z-index: 1; }
.model-stage.is-ready .model-poster { visibility: hidden; }
.model-mount model-viewer { display: block; width: 100%; height: 100%; touch-action: pan-y; --poster-color: transparent; }
.model-start-wrap { position: absolute; z-index: 2; inset: auto var(--space-sm) var(--space-md); display: flex; justify-content: center; }
.model-start { min-height: var(--space-ml); box-shadow: var(--shadow-sm); }
.model-start[aria-disabled="true"] { cursor: progress; }
.model-toolbar { display: flex; flex-wrap: wrap; gap: var(--space-sm); align-items: center; padding: var(--space-sm) 0; border-bottom: 1px solid var(--color-paper-line); }
.model-control-group { display: flex; gap: var(--space-xs); }
.model-toolbar button { display: inline-flex; align-items: center; justify-content: center; min-width: var(--space-ml); min-height: var(--space-ml); padding: var(--space-xs); background: var(--color-photo-cream); color: var(--color-rose-deep); border: 1px solid var(--color-paper-line); border-radius: var(--radius-xs); }
.model-toolbar button:hover { background: var(--color-bg-alt); border-color: var(--color-rose-deep); }
.model-toolbar .model-reset { margin-left: auto; padding-inline: var(--space-sm); font-size: var(--fs-sm); }
.model-message { margin-top: var(--space-sm); max-width: var(--w-reading); font-size: var(--fs-sm); color: var(--color-text-light); }
.model-status:empty { display: none; }
.model-help { margin-top: var(--space-xs); }
.model-caption { margin-top: var(--space-xs); font-size: var(--fs-xs); color: var(--color-text-muted); }
.marimba-model [hidden] { display: none !important; }
@media (max-width: 600px) {
    .model-stage { aspect-ratio: 1 / 1; }
    .model-start-wrap { bottom: var(--space-sm); }
    .model-toolbar { gap: var(--space-xs); }
    .model-control-group { gap: var(--space-2xs); }
    .model-toolbar .model-reset { margin-left: 0; }
}
@media print {
    .model-mount, .model-toolbar, .model-start-wrap, .model-message { display: none !important; }
    .model-stage .model-poster { visibility: visible; }
}