/* ═══════════════════════════════════════════════════════════════════════════════════════
   fs-consent-dock-0919.css — BEFORE-BETA-SMALLS-0919 · QUEUE ITEM 177
   "the composer bar covers all three cookie-consent buttons — a first visit cannot answer
    the card" (REWALK-FINAL-0919 fault N2)

   WHAT WAS MEASURED, not inherited (proof/reports/probe-177-base.json, 19 Sep, fresh context
   with NO fs_consent cookie, harness seat 1, isolated headless chromium):

     /maven-today  1280 light | 1440 light | 1280 dark | 1440 dark   — all four identical
       .fscc-card  z-index 1090   rect [570,694,340,186] @1280
       #mvdBar     z-index 2147482100  position fixed  rect [200,818,880,60] @1280
       elementFromPoint("Accept all")     -> input#mvdBarInput     NOT reachable
       elementFromPoint("Essentials only")-> input#mvdBarInput     NOT reachable
       elementFromPoint("Options")        -> input#mvdBarInput     NOT reachable
       elementFromPoint("×" dismiss)      -> button.fscc-x         reachable

   🔴 WHY RAISING THE CARD IS THE WRONG FIX, AND WHY THE BAR YIELDS INSTEAD.
   The card's own stylesheet declares z-index 2147483000 at line 8 — and then WO-COOKIEFIX-0827
   deliberately lowers it to 1090 at line 154, with the reason written beside it: *"Consent
   leaves the top of the z axis. It still paints above ALL page content, but now below the
   fixed top bar (1100) and the Maven panel (1150), and it can no longer out-stack any nav
   layer."*  That ruling exists because the card at the top of the z axis took the hit test
   away from up to nine rail icons (WO-NAVRAIL-0827).  Pushing .fscc-card back above
   2147482100 would re-open exactly that, estate-wide, to fix one page.

   So the composer bar stands down for as long as the card is up — which is the SAME motion
   the bar already performs when the drawer rises (_maven_drawer.php:412, `:root[data-mvd=…]`),
   with the same transition the bar already declares.  Nothing is dismissed, nothing is
   written, no consent is recorded or assumed, and the member's answer is what brings the bar
   back: `showCard()` and the dismiss handler both set `#fscc-root[hidden]`, so the selector
   stops matching on the same tick.  **Once the card is answered this file matches nothing.**

   NO JAVASCRIPT.  `:has()` on the card's own `hidden` attribute is the whole mechanism, and
   it is the estate's own idiom — fs-consent.b1374c55.css already ships `html:has(#mc-appchrome)`.
   A browser without :has() simply drops the rule and is exactly as it is today: this file can
   only ever REMOVE an overlap, never create one.

   WHERE IT LOADS: `_fs_cookie_consent.php`, immediately after `#fscc-style`, INSIDE the
   `if ($fsccShouldRender)` block.  A member who has already chosen is served no card markup,
   no card stylesheet and no this file — the bytes are not even fetched.

   SPECIFICITY, counted rather than assumed: the selector is (2 ids, 2 classes, 2 types) —
   `:has()` contributes its argument's (1,1,0) and `#mvdBar` the second id.  The strongest
   rule it must beat is `:root[data-mvd="rising"] .mvd-bar` at (0,3,0).  No `!important` is
   used anywhere in this file, and none is needed: nothing writes an inline style on #mvdBar
   (measured — fs-mvt-phone-0919.js only adds/removes the class `.mvdph-inflow`).
   ═══════════════════════════════════════════════════════════════════════════════════════ */

/* BEFORE-BETA-SMALLS-0919 BEGIN bbs-177-bar-yields */

/* `:not(.mvdph-inflow)` is the phone half: below 821 px fs-mvt-phone-0919.js takes the bar
   OUT of fixed positioning and into the flow (D2's fix), where it covers nothing and must not
   be translated. Measured at 390: all three consent buttons are already reachable there. */
html:has(#fscc-root:not([hidden])) body #mvdBar:not(.mvdph-inflow) {
  transform: translateX(-50%) translateY(120px);
  opacity: 0;
  pointer-events: none;
}

/* The grip is the bar's drag handle and sits ABOVE the bar's own box (top:-9px), so it would
   otherwise be the one 18×52 strip of the dock left hanging over the card. */
html:has(#fscc-root:not([hidden])) body #mvdBar:not(.mvdph-inflow) .mvd-grip {
  opacity: 0;
  pointer-events: none;
}

/* Someone who has asked for less motion gets the same clearance, instantly. The bar's own
   sheet already carries this block for its rise; this mirrors it for the yield. */
@media (prefers-reduced-motion: reduce) {
  html:has(#fscc-root:not([hidden])) body #mvdBar:not(.mvdph-inflow) {
    transition-duration: .001ms;
  }
}

/* BEFORE-BETA-SMALLS-0919 END bbs-177-bar-yields */
