/* Prime Creation // CLEAN ROOM shared morphology policy
   PrimeLayout publishes diagnostics only.
   prime-viewport-contract.css alone owns the physical page rectangle and all page-scroll CSS.
   This file owns content composition only. */

:root{
  --prime-layout-gutter:clamp(.65rem,2.6cqw,2.4rem);
  --prime-layout-gap:clamp(.62rem,1.6cqw,1.45rem);
  --prime-layout-gap-wide:clamp(.9rem,3.2cqw,3.6rem);
  --prime-layout-reading:72rem;
}

[data-prime-layout-config]{--prime-layout-columns:repeat(auto-fit,minmax(min(100%,var(--prime-layout-min,14rem)),1fr));display:grid;grid-template-columns:var(--prime-layout-columns);gap:var(--prime-layout-gap);align-items:stretch;min-width:0;max-width:100%}
[data-prime-layout-config]>*{min-width:0;max-width:100%}
[data-prime-layout-config="stack"]{--prime-layout-columns:minmax(0,1fr)}
[data-prime-layout-config="pair"]{--prime-layout-columns:minmax(0,.85fr) minmax(0,1.15fr)}
[data-prime-layout-config="editorial"]{--prime-layout-columns:minmax(0,.72fr) minmax(0,1.28fr)}
[data-prime-layout-config="balanced"]{--prime-layout-columns:repeat(2,minmax(0,1fr))}
[data-prime-layout-config="cards"]{--prime-layout-min:15rem}
[data-prime-layout-config="dense"]{--prime-layout-min:11rem;--prime-layout-gap:clamp(.5rem,1cqw,.9rem)}

html[data-prime-viewport-authority] #main[data-app-shell]>[data-prime-viewport-module]{--prime-page-gutter:var(--prime-layout-gutter);--prime-page-gap:var(--prime-layout-gap)}
html[data-prime-viewport-authority] #main[data-app-shell]>[data-prime-viewport-module] :where(*){min-width:0}
html[data-prime-viewport-authority] #main[data-app-shell]>[data-prime-viewport-module] :where(img,video,canvas,svg,iframe){max-width:100%}
html[data-prime-form-factor="phone"] #main[data-app-shell]>[data-prime-viewport-module]{--prime-layout-gutter:clamp(.62rem,3.8cqw,1.1rem);--prime-layout-gap-wide:clamp(.8rem,4.5cqw,1.6rem)}
html[data-prime-form-factor="phone"] :is(.button,button:not(.prime-deck-initialize),input,select,textarea){max-width:100%}
html[data-prime-height-tier="short"][data-prime-orientation="landscape"] #main[data-app-shell]>[data-prime-viewport-module]{--prime-layout-gutter:clamp(.5rem,1.8cqw,1.2rem);--prime-layout-gap:clamp(.45rem,1.05cqw,.8rem);--prime-layout-gap-wide:clamp(.6rem,1.7cqw,1.3rem)}
@media(pointer:coarse){html[data-prime-viewport-authority] :where(.button,button:not(.prime-deck-initialize),input[type="button"],input[type="submit"],select){min-height:44px}}

/* RECEPTOR-FIRST GATE CONTRACT
   Gate state may isolate pages, but may never hide body-root viewport chrome. */
html:not([data-prime-gate-controls="online"]){background:#020509!important}
html:not([data-prime-gate-controls="online"]) body.prime-v2{background:#020509!important;overflow:hidden!important}
html:not([data-prime-gate-controls="online"]) body.prime-v2>#main[data-app-shell]{visibility:visible!important;opacity:1!important;pointer-events:auto!important;user-select:auto!important}
html:not([data-prime-gate-controls="online"]) body.prime-v2>#main[data-app-shell]>#top[data-prime-receptor="true"]{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;content-visibility:visible!important}
html:not([data-prime-gate-controls="online"]) body.prime-v2>#main[data-app-shell]>.app-window:not(#top){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;content-visibility:hidden!important}
html:not([data-prime-gate-controls="online"]) body.prime-v2>#main[data-app-shell]>:not(#top):not(.app-window){visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html:not([data-prime-gate-controls="online"]) #primeBrandIntro,
html:not([data-prime-gate-controls="online"]) .prime-site-transition,
html:not([data-prime-gate-controls="online"]) [data-prime-transition-overlay]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
html[data-prime-gate-controls="online"] body.prime-v2>#main[data-app-shell]{visibility:visible!important;opacity:1!important;pointer-events:auto!important}

/* No overflow, overscroll, scroll-padding, scroll behavior, snap, anchoring,
   momentum, touch-pan, page position, page dimensions, or safe-area geometry is defined here. */
