/*
  v20.1 presentation profiles
  - desktop/TV: exact 1536×1024 source reference
  - portrait phone: perspective-rectified texture derived from the SAME source image
  - no arbitrary X/Y stretch: portrait asset is a planar homography of the source table
  - interactive coordinates are projected through the same homography
*/
#ambient-bg{
  position:absolute;inset:-8%;z-index:0;pointer-events:none;
  background:url("../assets/reference/prypec-reference.png") center/cover no-repeat;
  filter:blur(30px) brightness(.34) saturate(.78);transform:scale(1.09);opacity:.96;
}
#ambient-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 48%,rgba(122,77,29,.06),rgba(0,0,0,.40) 74%,#020201 100%),linear-gradient(to bottom,rgba(0,0,0,.08),rgba(0,0,0,.28))}
#viewport{
  position:absolute;inset:max(2px,env(safe-area-inset-top)) max(2px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(2px,env(safe-area-inset-left));
  z-index:1;overflow:hidden;touch-action:none;user-select:none;cursor:grab;contain:layout paint;background:#050403;
}
#viewport:active{cursor:grabbing}
#world{position:absolute;left:0;top:0;width:1536px;height:1024px;transform-origin:0 0;will-change:transform}
#reference-art,#interactive,#fx,#glass{position:absolute;inset:0;width:1536px;height:1024px;display:block}
#reference-art{z-index:1;opacity:1!important;visibility:visible!important;object-fit:fill;user-select:none;-webkit-user-drag:none;pointer-events:none;image-rendering:auto}
#interactive{z-index:2;pointer-events:none}#fx{z-index:3;pointer-events:none}
#glass{z-index:4;pointer-events:none;box-shadow:inset 0 0 1px rgba(255,220,155,.22)}
#world[data-presentation="portrait"] #reference-art{filter:brightness(1.05) contrast(1.03) saturate(1.02)}
@media (prefers-reduced-motion:reduce){#fx{display:none}}
