/* MOBILE VOID-SCROLL CONTRACT — gap kh8dj5208z2mg651a9km191mcs8f785p
   Linked from index.html (NOT the JS CSS graph) so these rules stay top-level
   even while style.css still carries the HELD unclosed brace (#4009). Soft
   quiet invent inventing merging that brace fix into this scroll cut.

   Outcomes:
     1) document mode keeps its scrollY (JS companion in Public.tsx)
     2) pull-down / rubber-band is not trapped by overscroll contain on both axes
     3) horizontal overflow is clipped — no sideways wiggle on the void
     4) transition lists exact properties (never the all keyword)
   Field-order cut (field < plate < type) is restated here so the FieldWake
   host cannot cover .pub-name / .pub-title / .pub-plain-anchor while the
   cascade after the broken brace remains unreachable.
   Title Case: The Reality Engineer
   tip ≠ Pass until Creator phone Witness after deploy build ID. */

/* Document-mode void: vertical chain free; horizontal clip only. */
html:not(.cine-on),
html:not(.cine-on) body {
  overflow-x: clip;
  overscroll-behavior-x: none;
  overscroll-behavior-y: auto;
  touch-action: pan-y;
}

/* Cinema still owns its stage — do not loosen its lock from this sheet. */
html.cine-on,
html.cine-on body {
  overscroll-behavior-y: none;
}

/* Soft quiet invent inventing 100vw shells that push past the clip. */
html:not(.cine-on) .pub-main,
html:not(.cine-on) .pub-main > section {
  max-inline-size: 100%;
  overflow-x: clip;
}

/* Named property transitions only — never the all keyword. */
@media (prefers-reduced-motion: no-preference) {
  html:not(.cine-on) .pub-main {
    transition:
      opacity 280ms var(--ease-standard, ease),
      transform 280ms var(--ease-standard, ease);
  }
}

/* Field < plate < type — paint order restated outside the broken brace. */
.pub-field-host {
  position: static;
}
html body .pub-field-wake {
  z-index: -1 !important;
  pointer-events: none !important;
}
html body .pub-hero[data-loom-magazine="hero"] .pub-avatar-field {
  z-index: 1 !important;
}
html body .pub-hero[data-loom-magazine="hero"] .pub-hero-lockup,
html body .pub-hero[data-loom-magazine="hero"] .pub-hero-statement,
html body .pub-hero[data-loom-magazine="hero"] .pub-hero-actions,
html body .pub-hero[data-loom-magazine="hero"] .pub-name,
html body .pub-hero[data-loom-magazine="hero"] .pub-title,
html body .pub-hero[data-loom-magazine="hero"] .pub-plain-anchor {
  position: relative;
  z-index: 2 !important;
}
