.model-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr); gap: 16px; min-height: 520px; margin: 16px 0 26px; }
.model-stage { position: relative; min-height: 520px; overflow: hidden; background: #e9edf0; border: 1px solid #cbd5d9; }
.model-stage canvas { width: 100%; height: 100%; display: block; touch-action: none; }
.model-markers { position: absolute; inset: 0; pointer-events: none; }
.model-marker { position: absolute; width: 26px; height: 26px; padding: 0; border-radius: 50%; border: 2px solid #fff; background: #063e53; color: #fff; font-weight: 700; transform: translate(-50%, -50%); pointer-events: auto; box-shadow: 0 2px 6px #152f3d66; }
.model-marker[hidden] { display: none; }
.model-sidebar { min-width: 0; overflow: auto; max-height: 700px; padding-right: 8px; }
.model-sidebar h3 { font-size: 1rem; margin: 20px 0 8px; }
.model-sidebar .actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.model-mesh-list { max-height: 240px; overflow: auto; border-top: 1px solid #d3dadd; border-bottom: 1px solid #d3dadd; padding: 8px 0; }
.model-mesh-list input[type=search] { width: 100%; }
.model-mesh-row { display: flex; align-items: center; gap: 8px; min-height: 32px; font-size: .85rem; overflow-wrap: anywhere; }
.selected-info { display: flex; flex-wrap: wrap; gap: 6px; }
.selected-info button.selected { border-color: #047784; background: #e5f5f3; }
.selected-info button.excluded { text-decoration: line-through; color: #6f7772; }
.model-toggle { display: flex; align-items: center; gap: 8px; margin: 8px 0; font-size: .85rem; }
.model-toggle input { width: 20px; min-height: 20px; }
.model-hotspot-row { padding: 10px 0; border-top: 1px solid #d3dadd; }
.model-hotspot-row .field { margin-bottom: 5px; }
.model-hotspot-row button { margin: 4px 6px 4px 0; }
.model-animation { display: flex; align-items: center; gap: 10px; }
.model-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid #d3dadd; padding: 10px 0; }
@media (max-width: 760px) { .model-layout { grid-template-columns: 1fr; }.model-stage { min-height: 360px; height: 52vh; }.model-sidebar { max-height: none; } }
