/* Prime Creation // viewport-only spatial field v5
   Sensor motion belongs to viewport authority only. Routed pages, book reader,
   gallery rails, players, controls, images, and all child boxes remain spatial-neutral. */
:root{--prime-spatial-intensity:1}
html.prime-mobile-spatial #main[data-app-shell]{perspective:clamp(760px,90vw,1500px);transform-style:preserve-3d}
html.prime-mobile-spatial #main[data-app-shell]>.pc-spatial-viewport-field{
  position:absolute!important;
  inset:-4%!important;
  z-index:0!important;
  display:block!important;
  overflow:hidden!important;
  pointer-events:none!important;
  contain:strict!important;
  transform-style:preserve-3d;
  perspective:clamp(760px,90vw,1500px);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease;
}
html.prime-mobile-spatial #main[data-app-shell]>.pc-spatial-viewport-field[data-active="true"]{opacity:1;visibility:visible}
html.prime-mobile-spatial .pc-spatial-viewport-plane{
  position:absolute;
  inset:-8%;
  display:block;
  pointer-events:none;
  border-radius:10%;
  transform-origin:50% 50%;
  backface-visibility:hidden;
  will-change:transform;
}
html.prime-mobile-spatial .pc-spatial-viewport-far{
  opacity:.28;
  background:radial-gradient(circle at 22% 28%,rgba(83,220,255,.16),transparent 28%),radial-gradient(circle at 78% 72%,rgba(123,88,255,.14),transparent 30%),repeating-radial-gradient(circle at 50% 50%,rgba(120,232,255,.035) 0 1px,transparent 1px 54px);
  transform:translate3d(calc(var(--pc-spatial-x,0px)*-.18),calc(var(--pc-spatial-y,0px)*-.18),-70px) rotateX(calc(var(--pc-spatial-pitch,0deg)*-.05)) rotateY(calc(var(--pc-spatial-roll,0deg)*-.05)) scale(1.08);
}
html.prime-mobile-spatial .pc-spatial-viewport-mid{
  opacity:.22;
  background:radial-gradient(ellipse 42% 34% at 52% 46%,rgba(119,236,255,.13),transparent 70%),linear-gradient(115deg,transparent 25%,rgba(255,255,255,.035) 48%,transparent 72%);
  transform:translate3d(calc(var(--pc-spatial-x,0px)*.26),calc(var(--pc-spatial-y,0px)*.22),12px) rotateX(calc(var(--pc-spatial-pitch,0deg)*.08)) rotateY(calc(var(--pc-spatial-roll,0deg)*.08)) rotateZ(calc(var(--pc-spatial-yaw,0deg)*.025)) scale(1.035);
}
html.prime-mobile-spatial .pc-spatial-viewport-near{
  opacity:.18;
  background:radial-gradient(ellipse 26% 30% at 48% 48%,rgba(213,250,255,.12),transparent 72%),radial-gradient(circle at 66% 35%,rgba(102,226,255,.12),transparent 20%);
  transform:translate3d(calc(var(--pc-spatial-x,0px)*.54),calc(var(--pc-spatial-y,0px)*.48),36px) rotateX(calc(var(--pc-spatial-pitch,0deg)*.14)) rotateY(calc(var(--pc-spatial-roll,0deg)*.14)) rotateZ(calc(var(--pc-spatial-yaw,0deg)*.05)) scale(1.018);
}
html.prime-mobile-spatial [data-pc-spatial-style="stereo"].pc-spatial-viewport-field::before,
html.prime-mobile-spatial [data-pc-spatial-style="depth"].pc-spatial-viewport-field::before{
  content:"";
  position:absolute;
  inset:7%;
  border:1px solid rgba(134,239,255,.09);
  border-radius:clamp(1rem,3vw,2.4rem);
  box-shadow:calc(var(--pc-spatial-disparity,1%)*-1) 0 36px rgba(255,60,112,.055),var(--pc-spatial-disparity,1%) 0 36px rgba(54,224,255,.075),inset 0 0 70px rgba(72,220,255,.025);
  pointer-events:none;
}
html.prime-mobile-spatial [data-pc-spatial-style="depth"] .pc-spatial-viewport-far{opacity:.38;transform:translate3d(calc(var(--pc-spatial-x,0px)*-.22),calc(var(--pc-spatial-y,0px)*-.2),-92px) scale(1.11)}
html.prime-mobile-spatial [data-pc-spatial-style="depth"] .pc-spatial-viewport-mid{opacity:.29;transform:translate3d(calc(var(--pc-spatial-x,0px)*.34),calc(var(--pc-spatial-y,0px)*.29),20px) scale(1.045)}
html.prime-mobile-spatial [data-pc-spatial-style="depth"] .pc-spatial-viewport-near{opacity:.23;transform:translate3d(calc(var(--pc-spatial-x,0px)*.68),calc(var(--pc-spatial-y,0px)*.58),54px) scale(1.012)}
html.prime-mobile-spatial [data-pc-spatial-style="lenticular"] .pc-spatial-viewport-plane{transition:transform 80ms steps(6,end)}
html.prime-mobile-spatial [data-pc-spatial-style="parallax"] .pc-spatial-viewport-far{transform:translate3d(calc(var(--pc-spatial-x,0px)*-.3),calc(var(--pc-spatial-y,0px)*-.26),-72px) scale(1.1)}
html.prime-mobile-spatial [data-pc-spatial-style="parallax"] .pc-spatial-viewport-mid{transform:translate3d(calc(var(--pc-spatial-x,0px)*.46),calc(var(--pc-spatial-y,0px)*.4),16px) scale(1.04)}
html.prime-mobile-spatial [data-pc-spatial-style="parallax"] .pc-spatial-viewport-near{transform:translate3d(calc(var(--pc-spatial-x,0px)*.86),calc(var(--pc-spatial-y,0px)*.72),40px) scale(1.015)}

/* Hard contract: legacy per-page/per-image spatial artifacts never render. */
html[data-prime-spatial-authority="viewport-only"] :is(.pc-spatial-eye,.pc-spatial-depth-plane,.pc-spatial-section-field,.pc-spatial-reader-field){display:none!important}
html[data-prime-spatial-authority="viewport-only"] #main[data-app-shell]>.app-window{perspective:none!important;transform-style:flat!important}

html[data-prime-spatial-tier="low"] #main[data-app-shell]>.pc-spatial-viewport-field{display:none!important}
@media(prefers-reduced-motion:reduce){html.prime-mobile-spatial #main[data-app-shell]>.pc-spatial-viewport-field{display:none!important}}
