.model-viewer {
  margin-block: 1.5rem;
  max-width: 960px;
}
.model-viewer canvas,
.model-viewer [data-viewer-control='poster'] {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
}
.model-viewer [hidden] {
  display: none !important;
}
.model-viewer canvas {
  touch-action: pan-y;
  cursor: grab;
}
.model-viewer canvas.dragging {
  cursor: grabbing;
}
.model-viewer .viewer-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-block: 1rem;
}
.model-viewer button {
  min-height: 44px;
  padding: 0.5rem 1rem;
  border: 1px solid currentColor;
  border-radius: 0.5rem;
  color: inherit;
  background: transparent;
  cursor: pointer;
}
.model-viewer button:disabled {
  opacity: 0.6;
  cursor: wait;
}
.model-viewer label {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 0.75rem;
  min-width: min(210px, 100%);
}
.model-viewer input {
  flex: 1;
  min-width: 60px;
  min-height: 44px;
  accent-color: #d9a441;
}
.model-viewer output {
  min-width: 4ch;
  font-variant-numeric: tabular-nums;
}
.model-viewer :focus-visible {
  outline: 3px solid #d9a441;
  outline-offset: 4px;
}
.model-viewer [role='status'] {
  font-size: 0.875rem;
}
.model-viewer picture img {
  display: block;
  width: 100%;
  height: auto;
}
