/* Hide the public page until the cookie session is checked, before first paint.
   Without JavaScript, the static presentation and its noscript note remain visible. */
#session-loading { display: none; }
html.session-pending body > #public-container[data-session-gated] { display: none; }
html.session-pending body > #session-loading:not([hidden]) { display: grid; min-height: 100svh; place-content: center; gap: 1rem; padding: 2rem; text-align: center; }
html.session-pending body > #session-loading { margin: 0; font: inherit; color: var(--color-text-main); background: var(--color-bg); }
html.session-pending #session-loading button { min-height: 44px; padding: .75rem 1.25rem; color: var(--color-primary-contrast); background: var(--color-primary); border: 0; border-radius: var(--radius-md); }
html.session-pending #session-loading button:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
html.session-pending #session-loading button:disabled { opacity: .65; cursor: wait; }
