/* ════════════════════════════════════════════════════════════════════════
   BOUNTY CHAN — GLOBAL CYBERPUNK GAME SHELL  ·  illumination layer
   shared across every page · all layers are fixed + pointer-events:none
   colors locked: cyan #00f0ff · magenta #ff2d9b · void #05060a
   z-index map (must stay below tab bar @ 9000 and below interactive UI):
     bc-ambient   : 0     (behind everything — drifts under content)
     bc-frame      : 9      (HUD frame — under content layers @10+, never blocks)
     bc-atmos      : 60     (scanlines/grain/aberration — pure decoration, no input)
     bc-tabglow   : 8990   (halo just under the tab bar @ 9000)
     bc-cursor    : 9500   (reticle — over tab bar, but pointer-events:none)
     bc-transition : 99990  (brief glitch wipe — removes itself)
   ════════════════════════════════════════════════════════════════════════ */

:root{
  --bc-shell-cyan: #00f0ff;
  --bc-shell-magenta: #ff2d9b;
  --bc-shell-void: #05060a;
}

/* every shell layer: fixed, non-interactive, GPU-friendly */
.bc-shell{
  position: fixed;
  pointer-events: none !important;
  inset: 0;
  margin: 0;
  border: 0;
  will-change: opacity;
  -webkit-user-select: none;
  user-select: none;
}

/* ─────────────────────────────────────────────────────────────────────────
   1 · ILLUMINATION — HUD frame, edge glow, bloom/vignette
   ───────────────────────────────────────────────────────────────────────── */

/* ambient sits at the very bottom so content reads on top of it */
#bc-ambient{ z-index: 0; }
#bc-ambient canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }

/* perspective neon floor grid — faint, drifts toward horizon */
#bc-grid{
  z-index: 0;
  background-image:
    linear-gradient(to right,  rgba(0,240,255,.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,240,255,.05) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: linear-gradient(to top, #000 0%, rgba(0,0,0,.35) 26%, transparent 52%);
          mask-image: linear-gradient(to top, #000 0%, rgba(0,0,0,.35) 26%, transparent 52%);
  transform: perspective(420px) rotateX(64deg) scale(2.4);
  transform-origin: bottom center;
  opacity: .5;
  animation: bcGridDrift 12s linear infinite;
}
@keyframes bcGridDrift{ from{ background-position: 0 0; } to{ background-position: 0 46px; } }

/* slow volumetric haze — two soft radial blooms breathing */
#bc-haze{
  z-index: 0;
  background:
    radial-gradient(60% 42% at 18% 8%,  rgba(0,240,255,.10), transparent 62%),
    radial-gradient(54% 40% at 84% 92%, rgba(255,45,155,.09), transparent 60%);
  opacity: .8;
  animation: bcHaze 16s ease-in-out infinite alternate;
}
@keyframes bcHaze{ from{ opacity:.55; transform:translate3d(0,0,0) scale(1); }
                   to{   opacity:.9;  transform:translate3d(0,-1.4%,0) scale(1.04); } }

/* global bloom + vignette so the whole screen feels lit, not flat */
#bc-bloom{
  z-index: 9;
  background:
    radial-gradient(120% 80% at 50% -8%, rgba(0,240,255,.07), transparent 46%),
    radial-gradient(120% 90% at 50% 108%, rgba(255,45,155,.06), transparent 48%);
  box-shadow:
    inset 0 0 200px rgba(0,0,0,.55),
    inset 0 0 60px  rgba(0,240,255,.045);
  mix-blend-mode: screen;
  opacity: .9;
}

/* the lit HUD FRAME — thin breathing edge-glow + animated corner brackets */
#bc-frame{ z-index: 9; }
#bc-frame .bc-edge{
  position:absolute; inset: 9px;
  border: 1px solid rgba(0,240,255,.16);
  border-radius: 6px;
  box-shadow:
    0 0 14px rgba(0,240,255,.14),
    inset 0 0 22px rgba(0,240,255,.06),
    inset 0 0 90px rgba(0,240,255,.03);
  animation: bcEdgeBreathe 5.5s ease-in-out infinite;
}
@keyframes bcEdgeBreathe{
  0%,100%{ box-shadow: 0 0 12px rgba(0,240,255,.12), inset 0 0 18px rgba(0,240,255,.05), inset 0 0 80px rgba(0,240,255,.025); border-color: rgba(0,240,255,.13); }
  50%{     box-shadow: 0 0 22px rgba(0,240,255,.22), inset 0 0 30px rgba(0,240,255,.09), inset 0 0 110px rgba(0,240,255,.05); border-color: rgba(0,240,255,.24); }
}
/* corner brackets — L-shapes, alternating cyan/magenta, gently pulsing */
#bc-frame .bc-corner{ position:absolute; width: 34px; height: 34px; opacity:.9; }
#bc-frame .bc-corner::before, #bc-frame .bc-corner::after{ content:''; position:absolute; background: var(--bc-shell-cyan); box-shadow: 0 0 8px rgba(0,240,255,.8); }
#bc-frame .bc-corner::before{ width:34px; height:2px; }
#bc-frame .bc-corner::after{  width:2px;  height:34px; }
#bc-frame .bc-tl{ top:9px;  left:9px;  animation: bcCorner 4.2s ease-in-out infinite; }
#bc-frame .bc-tr{ top:9px;  right:9px; animation: bcCorner 4.2s ease-in-out infinite .6s; }
#bc-frame .bc-bl{ bottom:9px;left:9px; animation: bcCorner 4.2s ease-in-out infinite 1.2s; }
#bc-frame .bc-br{ bottom:9px;right:9px; animation: bcCorner 4.2s ease-in-out infinite 1.8s; }
#bc-frame .bc-tl::before{ top:0; left:0; } #bc-frame .bc-tl::after{ top:0; left:0; }
#bc-frame .bc-tr::before{ top:0; right:0;} #bc-frame .bc-tr::after{ top:0; right:0; }
#bc-frame .bc-bl::before{ bottom:0; left:0;} #bc-frame .bc-bl::after{ bottom:0; left:0; }
#bc-frame .bc-br::before{ bottom:0; right:0;} #bc-frame .bc-br::after{ bottom:0; right:0; }
/* magenta accent on the two opposite corners */
#bc-frame .bc-tr::before, #bc-frame .bc-tr::after,
#bc-frame .bc-bl::before, #bc-frame .bc-bl::after{ background: var(--bc-shell-magenta); box-shadow: 0 0 8px rgba(255,45,155,.8); }
@keyframes bcCorner{ 0%,100%{ opacity:.55; filter:brightness(1); } 50%{ opacity:1; filter:brightness(1.5); } }

/* extra glow halo BEHIND the bottom tab bar so it reads ILLUMINATED */
#bc-tabglow{
  z-index: 8990;            /* directly under the tab bar (9000) */
  inset: auto 0 0 0;
  height: 220px;
  background:
    radial-gradient(70% 130% at 50% 118%, rgba(0,240,255,.20), transparent 64%),
    radial-gradient(46% 120% at 50% 122%, rgba(255,45,155,.14), transparent 60%);
  filter: blur(6px);
  opacity: .92;
  animation: bcTabGlow 4.4s ease-in-out infinite;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
@keyframes bcTabGlow{ 0%,100%{ opacity:.7; } 50%{ opacity:1; } }

/* ─────────────────────────────────────────────────────────────────────────
   3 · ATMOSPHERE — scanlines, film grain, chromatic-aberration edge tint
   ───────────────────────────────────────────────────────────────────────── */
#bc-atmos{ z-index: 60; }
#bc-atmos .bc-scan{
  position:absolute; inset:0; opacity:.26;
  background: repeating-linear-gradient(to bottom,
    rgba(0,0,0,0) 0px, rgba(0,0,0,0) 2px,
    rgba(0,0,0,.22) 3px, rgba(0,0,0,0) 4px);
  mix-blend-mode: multiply;
}
/* a single bright scan sweep slowly travelling down the screen */
#bc-atmos .bc-sweep{
  position:absolute; left:0; right:0; height: 120px; top:-160px;
  background: linear-gradient(to bottom, transparent, rgba(0,240,255,.05) 45%, rgba(0,240,255,.09) 50%, transparent);
  animation: bcSweep 7.5s linear infinite;
}
@keyframes bcSweep{ from{ transform: translateY(0); } to{ transform: translateY(calc(100vh + 200px)); } }
/* fine animated film grain */
#bc-atmos .bc-grain{
  position:absolute; inset:-50%; opacity:.05;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: bcGrain .55s steps(3) infinite;
}
@keyframes bcGrain{
  0%{transform:translate(0,0)} 25%{transform:translate(-3%,2%)}
  50%{transform:translate(2%,-2%)} 75%{transform:translate(-2%,-1%)} 100%{transform:translate(1%,2%)}
}
/* subtle chromatic-aberration edge tint — premium, not gimmicky */
#bc-atmos .bc-aber{
  position:absolute; inset:0;
  box-shadow:
    inset 2px 0 0 rgba(255,45,155,.05),
    inset -2px 0 0 rgba(0,240,255,.05);
  -webkit-mask-image: radial-gradient(circle at center, transparent 58%, #000 100%);
          mask-image: radial-gradient(circle at center, transparent 58%, #000 100%);
  opacity:.7;
}

/* ─────────────────────────────────────────────────────────────────────────
   4 · PAGE TRANSITIONS — NEURAL JACK-IN
   leaving  : circuit shutters slam shut to a blazing energy core (.bc-jack-in)
   arriving : core flares, shutters part to reveal the page     (.bc-jack-open)
   ───────────────────────────────────────────────────────────────────────── */
#bc-transition{
  z-index: 99990;
  pointer-events: none !important;
  opacity: 0; visibility: hidden;
  background: transparent;
}
#bc-transition.bc-jack-hold,
#bc-transition.bc-jack-in,
#bc-transition.bc-jack-open{ opacity:1; visibility:visible; }

/* the two shutters — circuit-etched void panels */
#bc-transition .bc-tx-shutter{
  position:absolute; left:0; right:0; height:50.6%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64l28 16v32H0v-32z' fill='none' stroke='rgba(0,240,255,.10)' stroke-width='1'/%3E%3C/svg%3E"),
    repeating-linear-gradient(90deg, transparent 0 46px, rgba(0,240,255,.04) 46px 47px),
    var(--bc-shell-void);
  will-change: transform;
}
/* hex-mesh energize pulse while the gate is live */
#bc-transition.bc-jack-in .bc-tx-shutter::before,
#bc-transition.bc-jack-hold .bc-tx-shutter::before{
  content:''; position:absolute; inset:0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97'%3E%3Cpath d='M28 0l28 16v32L28 64 0 48V16zM28 64l28 16v32H0v-32z' fill='none' stroke='rgba(0,240,255,.35)' stroke-width='1'/%3E%3C/svg%3E");
  animation: bcHexPulse 1.1s ease-in-out infinite;
  -webkit-mask-image: linear-gradient(to bottom, transparent 30%, #000 100%);
          mask-image: linear-gradient(to bottom, transparent 30%, #000 100%);
}
#bc-transition .bc-tx-bot::before{ transform: scaleY(-1); }
@keyframes bcHexPulse{ 0%,100%{opacity:.25} 50%{opacity:.8} }
#bc-transition .bc-tx-top{ top:0;    transform: translate3d(0,-102%,0); }
#bc-transition .bc-tx-bot{ bottom:0; transform: translate3d(0,102%,0); }
/* charged rims facing the seam */
#bc-transition .bc-tx-top::after,
#bc-transition .bc-tx-bot::after{
  content:''; position:absolute; left:0; right:0; height:2px;
  background: linear-gradient(90deg, transparent, var(--bc-shell-cyan) 18%, #eaffff 50%, var(--bc-shell-magenta) 82%, transparent);
  box-shadow: 0 0 18px rgba(0,240,255,.85), 0 0 50px rgba(0,240,255,.35);
}
#bc-transition .bc-tx-top::after{ bottom:0; }
#bc-transition .bc-tx-bot::after{ top:0; }
/* seam-glow wash on the inner third of each shutter */
#bc-transition .bc-tx-top::before,
#bc-transition .bc-tx-bot::before{
  content:''; position:absolute; left:0; right:0; height:34%;
  background: linear-gradient(to bottom, transparent, rgba(0,240,255,.07));
}
#bc-transition .bc-tx-top::before{ bottom:0; }
#bc-transition .bc-tx-bot::before{ top:0; transform: scaleY(-1); }

/* closed states */
#bc-transition.bc-jack-in  .bc-tx-top,
#bc-transition.bc-jack-hold .bc-tx-top{ transform: translate3d(0,0,0); }
#bc-transition.bc-jack-in  .bc-tx-bot,
#bc-transition.bc-jack-hold .bc-tx-bot{ transform: translate3d(0,0,0); }
/* slam shut — ease-in, mass behind it */
#bc-transition.bc-jack-in .bc-tx-shutter{
  transition: transform .26s cubic-bezier(.7,0,.84,0);
}
/* part open — expo-out reveal */
#bc-transition.bc-jack-open .bc-tx-top{ transform: translate3d(0,-102%,0); }
#bc-transition.bc-jack-open .bc-tx-bot{ transform: translate3d(0,102%,0); }
#bc-transition.bc-jack-open .bc-tx-shutter{
  transition: transform .46s cubic-bezier(.16,1,.3,1);
}

/* the energy core — center line that flares at the moment of contact */
#bc-transition .bc-tx-core{
  position:absolute; left:0; right:0; top:50%; height:2px; margin-top:-1px;
  background: linear-gradient(90deg, transparent, var(--bc-shell-cyan) 12%, #eaffff 50%, var(--bc-shell-cyan) 88%, transparent);
  box-shadow: 0 0 22px rgba(0,240,255,.95), 0 0 70px rgba(0,240,255,.45), 0 0 140px rgba(255,45,155,.25);
  transform: scaleX(0); opacity:0;
}
#bc-transition.bc-jack-in .bc-tx-core{
  transform: scaleX(1); opacity:1;
  transition: transform .18s cubic-bezier(.16,1,.3,1) .14s, opacity .08s ease .14s;
}
#bc-transition.bc-jack-hold .bc-tx-core{ transform: scaleX(1); opacity:1; }
#bc-transition.bc-jack-open .bc-tx-core{
  transform: scaleX(1); opacity:0;
  transition: opacity .55s ease .08s;
}
/* traveling spark riding the core */
#bc-transition .bc-tx-core::after{
  content:''; position:absolute; top:50%; width:72px; height:6px;
  transform: translateY(-50%); border-radius:3px;
  background: radial-gradient(closest-side, #fff, rgba(0,240,255,0) 75%);
  filter: blur(1px);
  animation: bcTxSpark 1.4s linear infinite;
}
@keyframes bcTxSpark{ 0%{ left:-8% } 100%{ left:104% } }

/* fx canvas — light streaks + sparks, transition-time only */
#bc-transition .bc-tx-fx{ position:absolute; inset:0; width:100%; height:100%; }

/* shockwave rings — fire on the seal moment */
#bc-transition .bc-tx-ring{
  position:absolute; left:50%; top:50%; width:120px; height:34px; margin:-17px 0 0 -60px;
  border:1.5px solid rgba(0,240,255,.85); border-radius:50%;
  box-shadow: 0 0 24px rgba(0,240,255,.6), inset 0 0 14px rgba(0,240,255,.35);
  opacity:0; transform: scale(.2);
}
#bc-transition.bc-sealing .bc-tx-ring.r1{ animation: bcRing .55s cubic-bezier(.16,1,.3,1) forwards; }
#bc-transition.bc-sealing .bc-tx-ring.r2{ animation: bcRing .7s cubic-bezier(.16,1,.3,1) .08s forwards; border-color: rgba(255,45,155,.7); }
@keyframes bcRing{ 0%{ opacity:.95; transform:scale(.2) } 100%{ opacity:0; transform:scale(9) } }

/* white double-flash on arrival */
#bc-transition .bc-tx-flash{ position:absolute; inset:0; background:#eaffff; opacity:0; pointer-events:none; }
#bc-transition.bc-flashing .bc-tx-flash{ animation: bcFlash .42s steps(1) forwards; }
@keyframes bcFlash{ 0%{opacity:.16} 18%{opacity:0} 30%{opacity:.09} 42%{opacity:0} 100%{opacity:0} }

/* the boot ritual — uplink lines, bottom-left */
#bc-transition .bc-tx-boot{
  position:absolute; left:18px; bottom:calc(20px + env(safe-area-inset-bottom,0px));
  font-family: ui-monospace,'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:.14em;
  color: rgba(0,240,255,.85); text-align:left; line-height:1.9; opacity:0; transition:opacity .3s;
  text-shadow: 0 0 8px rgba(0,240,255,.5);
}
#bc-transition .bc-tx-boot div{ opacity:0; transform:translateX(-8px); transition:all .14s cubic-bezier(.16,1,.3,1); }
#bc-transition .bc-tx-boot div.on{ opacity:1; transform:none; }
#bc-transition .bc-tx-boot div:last-child{ color:#eaffff; }

/* seal glitch — the whole gate tears sideways for a beat */
#bc-transition.bc-sealing .bc-tx-top{ animation: bcTear .16s steps(2) 1; }
#bc-transition.bc-sealing .bc-tx-bot{ animation: bcTearB .16s steps(2) 1; }
@keyframes bcTear{ 0%{ transform:translate3d(0,0,0) } 50%{ transform:translate3d(-7px,0,0) } 100%{ transform:translate3d(0,0,0) } }
@keyframes bcTearB{ 0%{ transform:translate3d(0,0,0) } 50%{ transform:translate3d(7px,0,0) } 100%{ transform:translate3d(0,0,0) } }

/* ── HER — jacked into the system, materializing in the arrival rush ── */
#bc-transition .bc-tx-her{
  position:absolute; left:50%; top:50%;
  width:min(46vh, 78vw); aspect-ratio: 9/16;
  transform: translate(-50%,-50%) scale(.94);
  background: url('jackin.jpg?v=2') center/cover no-repeat;
  opacity:0; pointer-events:none;
  mix-blend-mode: screen;            /* she glows out of the void */
  filter: saturate(1.18) contrast(1.05);
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 7%, #000 93%, transparent 100%);
          mask-image: linear-gradient(180deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
/* scanline shimmer riding her hologram */
#bc-transition .bc-tx-her::after{
  content:''; position:absolute; inset:0;
  background: repeating-linear-gradient(0deg, rgba(0,0,0,.28) 0 2px, transparent 2px 5px);
  mix-blend-mode: multiply;
}
/* leaving: a faint ghost of her behind the seal */
#bc-transition.bc-jack-in .bc-tx-her{
  opacity:.35; transform: translate(-50%,-50%) scale(.97);
  transition: opacity .22s ease .12s, transform .3s cubic-bezier(.16,1,.3,1) .12s;
}
/* arriving: she MATERIALIZES — glitch-in, then rushes toward you as the gate parts */
#bc-transition.bc-jack-hold .bc-tx-her{
  opacity:.95; transform: translate(-50%,-50%) scale(1);
  transition: opacity .26s ease .04s, transform .5s cubic-bezier(.16,1,.3,1);
  animation: bcHerGlitch .34s steps(3) 1;
}
#bc-transition.bc-jack-open .bc-tx-her{
  opacity:0; transform: translate(-50%,-50%) scale(1.14);
  transition: opacity .42s ease .05s, transform .6s cubic-bezier(.16,1,.3,1);
}
@keyframes bcHerGlitch{
  0%{ filter:saturate(1.18) contrast(1.05) hue-rotate(0deg); transform:translate(-50.6%,-50%) scale(.98); }
  33%{ filter:saturate(1.6) contrast(1.2) hue-rotate(8deg); transform:translate(-49.4%,-50.2%) scale(.99); }
  66%{ filter:saturate(1.18) contrast(1.05) hue-rotate(-6deg); transform:translate(-50.3%,-49.8%) scale(1); }
}

/* readouts — label above the seam, scrambling status below */
#bc-transition .bc-tx-label{
  position:absolute; left:50%; top:13%; transform:translateX(-50%);
  font-family: ui-monospace, "JetBrains Mono", monospace;
  font-size: 11px; letter-spacing:.34em; text-transform:uppercase;
  color: var(--bc-shell-cyan); text-shadow: 0 0 12px rgba(0,240,255,.7);
  opacity:.95; white-space:nowrap;
  animation: bcTxLabel .12s steps(2) infinite;
}
@keyframes bcTxLabel{
  0%{ text-shadow:0 0 12px rgba(0,240,255,.7); }
  50%{ text-shadow:2px 0 0 rgba(255,45,155,.85), -2px 0 0 rgba(0,240,255,.85); }
  100%{ text-shadow:0 0 14px rgba(0,240,255,.9); }
}
#bc-transition .bc-tx-status{
  position:absolute; left:50%; top:calc(13% + 22px); transform:translateX(-50%);
  font-family: ui-monospace, "JetBrains Mono", monospace;
  font-size: 9px; letter-spacing:.26em;
  color: rgba(0,240,255,.55); white-space:nowrap;
}
/* segmented charge cells under the label */
#bc-transition .bc-tx-cells{
  position:absolute; left:50%; top:calc(13% + 40px); transform:translateX(-50%);
  width:132px; height:5px;
  background: repeating-linear-gradient(90deg, rgba(0,240,255,.14) 0 8px, transparent 8px 11px);
  overflow:hidden;
}
#bc-transition .bc-tx-cells::after{
  content:''; position:absolute; inset:0;
  background: repeating-linear-gradient(90deg, var(--bc-shell-cyan) 0 8px, transparent 8px 11px);
  box-shadow: 0 0 10px rgba(0,240,255,.7);
  transform: translateX(-100%);
}
#bc-transition.bc-jack-in .bc-tx-cells::after,
#bc-transition.bc-jack-hold .bc-tx-cells::after{
  transform: translateX(0);
  transition: transform .30s steps(12);
}

/* boot-in flash — a quick reverse pulse on first paint */
#bc-bootflash{
  z-index: 99980;
  background: radial-gradient(circle at 50% 50%, rgba(0,240,255,.14), transparent 60%);
  opacity: 0;
  animation: bcBootFlash 1.05s cubic-bezier(.16,1,.3,1) forwards;
}
@keyframes bcBootFlash{ 0%{ opacity:.9; transform:scale(1.06); } 100%{ opacity:0; transform:scale(1); } }

/* ─────────────────────────────────────────────────────────────────────────
   5 · NEON CURSOR — reticle + trailing glow (desktop fine-pointer only)
   ───────────────────────────────────────────────────────────────────────── */
#bc-cursor, #bc-cursor-trail{ z-index: 2147483000; } /* DevXBT ref 981294816: cursor sank UNDER popups (modals 9600-9999) while cursor:none hid the native — ride above EVERYTHING */
#bc-cursor{
  width: 26px; height: 26px; left:0; top:0;
  transform: translate(-50%,-50%);
  opacity: 0;
  transition: opacity .2s ease, width .15s ease, height .15s ease;
}
#bc-cursor::before, #bc-cursor::after{
  content:''; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
}
/* ring */
#bc-cursor::before{
  width: 22px; height: 22px; border:1.5px solid rgba(0,240,255,.85); border-radius:50%;
  box-shadow: 0 0 10px rgba(0,240,255,.6), inset 0 0 6px rgba(0,240,255,.35);
}
/* center dot */
#bc-cursor::after{
  width:3px; height:3px; border-radius:50%;
  background: var(--bc-shell-magenta); box-shadow: 0 0 8px var(--bc-shell-magenta);
}
#bc-cursor.bc-hot::before{ border-color: var(--bc-shell-magenta); box-shadow: 0 0 14px rgba(255,45,155,.8), inset 0 0 6px rgba(255,45,155,.4); }
#bc-cursor.bc-down{ width:18px; height:18px; }
#bc-cursor-trail{
  width: 8px; height: 8px; left:0; top:0;
  transform: translate(-50%,-50%);
  border-radius:50%;
  background: radial-gradient(circle, rgba(0,240,255,.5), transparent 70%);
  filter: blur(3px);
  opacity:0;
  transition: opacity .25s ease;
}
/* on fine pointers we hide the native cursor body-wide; JS adds .bc-cursor-on */
html.bc-cursor-on, html.bc-cursor-on *{ cursor: none !important; }

/* ─────────────────────────────────────────────────────────────────────────
   REDUCED MOTION — calm static illuminated frame, no motion, no trail
   ───────────────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  #bc-grid, #bc-haze, #bc-bloom, #bc-frame .bc-edge,
  #bc-frame .bc-corner, #bc-tabglow,
  #bc-atmos .bc-sweep, #bc-atmos .bc-grain,
  #bc-bootflash{
    animation: none !important;
  }
  #bc-atmos .bc-sweep{ display:none !important; }
  #bc-bootflash{ display:none !important; }
  #bc-cursor-trail{ display:none !important; }
  /* keep the frame lit but steady */
  #bc-frame .bc-edge{ box-shadow: 0 0 16px rgba(0,240,255,.16), inset 0 0 24px rgba(0,240,255,.06); border-color: rgba(0,240,255,.18); }
  #bc-transition{ transition: none !important; }
}
