/* ============================================================================
   BSS MARK — component styles.
   Everything here is scoped to .bssmark so the mark can be dropped into a hero,
   a loader, an empty state or a 64px corner without touching the host page.
   ========================================================================= */

.bssmark{
  position:relative;
  display:block;
  touch-action:none;          /* the object owns the gesture, not the scroller */
  cursor:grab;
  -webkit-user-select:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.bssmark.is-grabbed{ cursor:grabbing }
.bssmark:focus-visible{ outline:1px solid rgba(255,255,255,.5); outline-offset:14px }

.bssmark-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}

/* ---------------------------------------------------------- no webgl ------ */
/* The DNA asset masked out of a chrome ramp with the hero colour raking
   across it. Not a placeholder: a legitimate flat version of the same mark. */
.bssmark-fallback{
  position:absolute;
  inset:8%;
  --bssmark-hero:#DDE8FF;
  background:
    radial-gradient(58% 44% at 24% 18%, rgba(255,255,255,.98), rgba(255,255,255,0) 62%),
    radial-gradient(70% 50% at 78% 74%, color-mix(in srgb, var(--bssmark-hero) 80%, white) , rgba(0,0,0,0) 66%),
    linear-gradient(168deg,
      #ffffff 0%, #b9c2cc 13%, #6e7a86 26%, #eef2f6 39%,
      #58626d 54%, #d6dde4 68%, #39414a 82%, #9aa5b0 100%);
  -webkit-mask:url("mark-dna.png") center/contain no-repeat;
  mask:url("mark-dna.png") center/contain no-repeat;
  filter:saturate(1.15) contrast(1.06);
}
.bssmark-fallback::after{
  content:"";
  position:absolute;
  inset:-22%;
  background:radial-gradient(closest-side, color-mix(in srgb, var(--bssmark-hero) 55%, transparent), transparent 72%);
  filter:blur(38px);
  opacity:.42;
  z-index:-1;
}

@supports not (background: color-mix(in srgb, red, blue)){
  .bssmark-fallback{
    background:linear-gradient(168deg,
      #ffffff 0%, #b9c2cc 13%, #6e7a86 26%, #eef2f6 39%,
      #58626d 54%, #d6dde4 68%, #39414a 82%, #9aa5b0 100%);
  }
}
