/* — threeui.shared.css —
   Shared styling used across ThreeUI components,
   including ThreeDPaper Original variant.
   SHA-256: EFE4447139F1358DD8E9BE68EDF6FA46CBEFBD1DE423A4D6C439CA61D2C8ECCF */

/* — shader-frame wrapper — */
.shader-frame{
  contain: layout;
  /* preserve canvas aspect; prevent content behind from leaking */
  overflow: hidden;
  position: relative;
}

/* — loading placeholder — */
[data-testid="three-paper-placeholder"]{
  width: 100%;
  aspect-ratio: 16 / 22;
  background: #0a0a0a;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #666;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.875rem;
}

/* — responsive: constrain max size — */
@media (max-width: 1024px){
  .shader-frame{
    max-width: 90vw;
    max-height: 90vh;
    margin: 0 auto;
  }
}

/* — high-contrast reduce-motion — */
@media (prefers-reduced-motion: reduce){
  .shader-frame *{
    animation-duration: 0.01s !important;
    transition-duration: 0.01s !important;
  }
}