/* ============================================================
   THE PAGE WAITS TO BE SEEN, 2026-09-18
   ============================================================
   Ritu: "When I paste the URL, the front door flashes for a split second
   before the sign-in page appears."

   MEASURED at 1440 with the session call taking 300ms: the product was on
   screen for 316ms before the sign-in covered it, and 12ms when the call
   answered instantly. assets/js/desk-gate.js is deferred, so it cannot run
   before the page has painted. A snippet in the head sets the attribute below
   before anything is drawn and that file clears it, whichever way the answer
   goes.

   A SHEET OF ITS OWN, and that is not fussiness. This repo forbids inline
   <style> in a built page (test_*_onboarding: no_inline_style) and holds inline
   CSS to tokens only, which is right: styles belong in stylesheets. The one
   sheet every gated surface already shares is icons.css, and a rule about
   whether a page may be seen has no business living in the icon set. It is one
   link and about 150 bytes, cached after the first load.

   THE GROUND IS THE READER'S OWN. The theme snippet above this one has already
   stamped data-theme, so a night reader waits on night paper rather than on
   white. The tokens are read first and the literals are only the fallback for
   the moment before the surface's own sheet has loaded.
   ============================================================ */
html[data-gate="pending"] body { visibility: hidden; }
html[data-gate="pending"] { background: var(--paper, #F2F0EA); }
html[data-theme="night"][data-gate="pending"] { background: var(--paper, #16171A); }
