/* ═══════════════════════════════════════════════════════════════════════════
   LIVE BRIGHTER rev4 — #nights coverflow CONFORMANCE + REPAIR LAYER (BRI-539)
   Additive. Enqueue AFTER live-brighter-rev3-02-page-styles.css.
   rev3 files untouched; rollback = delete this file.

   rev3 is the healthiest package in the sweep lineage: float keyframes are
   DEFINED (no R1), pos-0 tilt vars carry ,0deg fallbacks (no R2), and motion
   is gated ON behind prefers-reduced-motion: no-preference per the rev34
   policy (no R3). The .bnl-ncard family keeps its own media-led geometry per
   the adapt-dimensions / standardize-chrome rule. Three defects remain, all
   fixed here by later cascade:

   D-A · No @property registration for --bnl-ry/--bnl-rx. Unregistered custom
         properties do not interpolate — the idle float steps discretely
         between keyframe poses instead of floating. Registered below.
   D-B · The idle float runs on ALL pointers. CSS animations override inline
         styles, so while bnl-card-float animates --bnl-ry/--bnl-rx on the
         front card, the rev3 driver's pointer-tilt writes are dead on
         desktop — same conflict the Deck rev16 neutralizer fixes. Canon:
         idle float is a coarse-pointer treat. Neutralized on fine pointers.
   D-C · Six cards ship data-pos 0–5 but the rev3 stylesheet defines
         transforms only for 0, ±1, ±2, ±3. Before the driver's first
         render() normalizes positions, cards at data-pos 4 and 5 paint
         untransformed at full size over the stage. Back-stack rule extended.

   Accepted page-local deviation (no fix, logged): driver tilt pitch is
   (0.5-py)*9 vs the canonical *8 — inside family variance, and this lane
   never edits shipped JS.
   ═══════════════════════════════════════════════════════════════════════════ */

/* D-A — registration makes the float interpolable (harmless site-wide) */
@property --bnl-ry { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@property --bnl-rx { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@property --bnl-fy { syntax: '<length>'; inherits: false; initial-value: 0px; }

/* D-B — idle float becomes coarse-pointer-only; the rev3 pointer-tilt
   driver owns the front card wherever a fine pointer exists */
@media (hover: hover) and (pointer: fine) {
  #nights .bnl-rot__item[data-pos="0"] { animation: none; }
  #nights .bnl-rot__shadow { animation: none; }
}

/* D-C — first-paint guard: cards 5 and 6 (data-pos 4/5) join the back
   stack until the driver's first render() reassigns signed positions */
#nights .bnl-rot__item[data-pos="4"],
#nights .bnl-rot__item[data-pos="5"] {
  transform: translateX(0) translateZ(-360px) rotateY(-9deg) rotateX(3.5deg) scale(.82);
  opacity: .14; filter: blur(2.5px); z-index: 1;
}
