/* ============================================================
   Nova FX · blogfx2.css — second-pass polish for blog.html
   Decluttered pass: cursor spotlight, entrance, hover depth.
     .bl2-spot   cursor spotlight layer over .bl-grid
     .bl2-in     staggered grid entrance (JS sets delay)
   ============================================================ */

/* ---- 1 · cursor spotlight over the guide grid (tight + faint) ---- */
.bl-grid{position:relative}
.bl2-spot{position:absolute;inset:-1px;pointer-events:none;z-index:2;
  opacity:0;transition:opacity .5s;border-radius:22px;
  background:radial-gradient(260px 260px at var(--sx,50%) var(--sy,50%),
    rgba(56,140,255,.05),rgba(56,140,255,0) 65%)}
.bl-grid:hover .bl2-spot{opacity:1}
@media (hover:none){.bl2-spot{display:none}}

/* ---- 2 · declutter overrides for blogfx.css dressing ----
   .bl-feat::after     kills the sweeping sheen band on the featured card
   .ifx-live::before   keeps the ifx-beam border beam, at half strength
   .bl-art-bg          giant rotated watermark glyph faded to a whisper */
.bl-feat::after{content:none}
.bl-feat.ifx-beam.ifx-live::before{opacity:.5}
.bl-art-bg{opacity:.035}
.bl-post:hover .bl-art-bg{transform:rotate(-8deg)}

/* ---- 3 · staggered entrance ---- */
.bl-grid .card{transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .55s,
  border-color .3s,box-shadow .3s}
.bl-grid.bl2-armed .card:not(.bl2-in){opacity:0;transform:translateY(26px) scale(.985)}
.bl-grid .card.bl2-in{opacity:1}
@media (prefers-reduced-motion:reduce){
  .bl-grid .card{transition:none!important}
  .bl2-spot,.bl-chip,.bl-chip::after,.bl-read svg{transition:none}
}

/* ---- 4 · read link arrow nudge + card lift ---- */
.bl-post .bl-read svg,.bl-feat .bl-read svg{transition:transform .28s cubic-bezier(.2,.8,.2,1)}
.bl-post:hover .bl-read svg,.bl-feat:hover .bl-read svg{transform:translateX(4px)}
.bl-post{transition:transform .4s cubic-bezier(.2,.8,.2,1),border-color .3s,box-shadow .4s}
.bl-post:hover{transform:translateY(-4px);
  box-shadow:0 18px 44px rgba(3,10,30,.55),0 0 0 1px rgba(94,164,255,.22)}

/* ---- 5 · filter chip ink pulse ---- */
.bl-chip{position:relative;overflow:hidden;transition:color .25s,border-color .25s}
.bl-chip::after{content:'';position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(60px 24px at 50% 120%,rgba(56,140,255,.18),transparent 70%);
  opacity:0;transition:opacity .3s}
.bl-chip:hover::after{opacity:1}
.bl-chip.on{box-shadow:0 4px 18px rgba(47,107,255,.28),inset 0 0 0 1px rgba(140,190,255,.25)}
