/* =========================================================
   BETTORTOKEN — ARENA LAYER v1
   Sports-broadcast telemetry ambience for every page hero,
   plus a site-wide polish pack. Additive; delete this file
   and bt-arena.js to revert.
   ========================================================= */

/* ---------- telemetry canvas (mounted by bt-arena.js) ---------- */
.bt-arena-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity 1.2s ease 0.15s;
}
.bt-arena-canvas.is-live { opacity: 1; }
.bt-arena-host { position: relative; }
/* keep hero content above telemetry */
.bt-arena-host > .bt-container,
.bt-arena-host > div:not(.bt-arena-canvas):not(.bt-hero-ambient) {
  position: relative;
  z-index: 1;
}

/* =========================================================
   SITE-WIDE POLISH PACK
   ========================================================= */

/* brand text selection */
::selection { background: rgba(2, 92, 189, 0.85); color: #fff; }
::-moz-selection { background: rgba(2, 92, 189, 0.85); color: #fff; }

/* branded scrollbar (WebKit + Firefox) */
html { scrollbar-color: #025CBD #04122B; scrollbar-width: thin; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: #04122B; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #025CBD, #012F6B);
  border-radius: 6px;
  border: 2px solid #04122B;
}
::-webkit-scrollbar-thumb:hover { background: #B38E5D; }

/* accessible, on-brand focus ring */
a:focus-visible, button:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid #E8C97A;
  outline-offset: 3px;
  border-radius: 3px;
}

/* nav links: telemetry-style underline sweep */
.bt-nav-links a { position: relative; }
.bt-nav-links a::after {
  content: "";
  position: absolute;
  left: 0; right: 100%; bottom: -3px;
  height: 1.5px;
  background: linear-gradient(90deg, #0EA5E9, #E8C97A);
  transition: right 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (prefers-reduced-motion: no-preference) {
  .bt-nav-links a:hover::after,
  .bt-nav-links a:focus-visible::after { right: 0; }
}

/* headline emphasis on dark heroes: quiet champagne tint (site-wide echo
   of the homepage treatment, no animation — restraint off the homepage) */
section[class*="-hero"] h1 em { color: #E8C97A; }

/* generic media/link imagery: gentle lift on hover where pointer is fine */
@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
  a .bt-card-illus, a .bt-card-svg, a .bt-card-svg-doc {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  }
  a:hover .bt-card-illus, a:hover .bt-card-svg, a:hover .bt-card-svg-doc {
    transform: translateY(-3px);
  }
}

/* ---------- CHUNKER Live Read (homepage hero tactical board) ---------- */
.bt-lf-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  transition: opacity 1.3s ease 0.15s;
  -webkit-mask-image:
    linear-gradient(100deg, rgba(0,0,0,0.34) 0%, rgba(0,0,0,0.58) 34%, #000 58%),
    linear-gradient(180deg, rgba(0,0,0,0.45) 0%, #000 26%);
  mask-image:
    linear-gradient(100deg, rgba(0,0,0,0.34) 0%, rgba(0,0,0,0.58) 34%, #000 58%),
    linear-gradient(180deg, rgba(0,0,0,0.45) 0%, #000 26%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.bt-lf-canvas.is-live { opacity: 0.92; }
.bt-home-hero.bt-lf-active .bt-hero-ambient { opacity: 0.04 !important; }
.bt-home-hero.bt-lf-active .bt-field-canvas { display: none; }
