/* ═══ SLAB CRITICAL — THE FLOOR UNDER A FAILED /nav.js ════════════════════════════════
   Linked from <head> on every page that renders the profile popover. It is deliberately
   TINY and it is deliberately NOT a stylesheet in the usual sense: nothing here describes
   how Slab looks. Everything here is a rule the app is UNSAFE without.

   WHY IT EXISTS. beeeeeb (deployed 2026-08-22) moved `.prof-pop`'s CSS out of eight pages'
   own <style> and into nav.js — the right move, because eight OTHER pages had never had a
   copy and rendered the menu as raw stacked text. But it left a cliff. The popover's
   MARKUP is still built by the page (or by slab-auth.js) whether or not nav.js ever
   answers, so the element is created unconditionally while its only hiding rule came over
   the network. On 2026-08-24 /nav.js failed on production and a 252px opaque list of names
   — "Signed in as Adrienne / A / Adrienne / Project Manager / Sign out" — unfurled inside
   the sidebar. Adrienne read it as a sign-in screen and spent real time believing Slab had
   signed her out.

   MEASURED, not decided. Chrome at 1280x860, /nav.js 404'd against a local copy of public/:
     without this file   .prof-pop  position:static  opacity:1   — .sb-bot 281px tall
     with it             .prof-pop  position:absolute opacity:0  — .sb-bot 65px
   65px is byte-for-byte the healthy geometry. `position` takes the panel out of the
   sidebar's flow, `opacity` makes it invisible, `pointer-events` stops an invisible panel
   from swallowing clicks meant for the rail underneath it. Three properties, three jobs.

   WHAT IS NOT HERE, AND WHY. Everything else nav.js styles is COSMETIC when it goes
   missing — hover colours, the dock, the collapsed rail — and the content column still
   scrolls without it, because `.cnt` is the scroller and it is declared in each page's own
   <style>. (`.sl{height:100vh;overflow:hidden}` means the DOCUMENT never scrolls, healthy
   or broken; that is not a symptom of this bug and must not be "fixed" here.) The panel's
   background, border, radius, shadow, transition and its `.open` state are nav.js's alone.

   NAV.JS IS STILL THE OWNER. This does not revert beeeeeb. nav.js still declares
   `.prof-pop` and its sheet is appended to <head> AFTER this link, so when nav.js loads its
   identical values win on source order, and `.prof-pop.open` outranks this on specificity
   either way. A healthy page opens its menu exactly as before — verified in a browser, not
   assumed.

   DEFAULT OFF, NOT DEFAULT ON. This hides; nav.js's `.open` class reveals. A page that
   loads nothing shows nothing, instead of showing everything and trusting a script to take
   it away.

   ⚠ ADDING A RULE HERE IS A DECISION, NOT A CONVENIENCE. The bar is: the app is
   MISLEADING or UNUSABLE without it when nav.js fails. "It would look nicer" is what grew
   the eight divergent copies this file replaces. test/nav-profile.test.js §6 fails if this
   grows appearance (background/border/shadow/padding/transition), and fails if it drifts
   out of step with nav.js or with index.html's inline copy of the same rule.          */

.prof-pop{position:absolute;opacity:0;pointer-events:none;}
