/* Flowing desktop cursor. Existing labels keep the brand-red hover treatment. */
.has-cursor .bp-cursor-ribbon .bp-cursor-trail {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.has-cursor .bp-cursor-ribbon .bp-cursor-arrow {
  position:absolute;
  top:0;
  left:0;
  width:18px;
  height:24px;
  margin:-1px 0 0 -1px;
  will-change:transform;
  filter:drop-shadow(0 0 4px rgba(230,0,18,.5));
  transition:opacity .15s ease;
}
.has-cursor .bp-cursor-ribbon .bp-cursor-arrow svg {
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  fill:#e60012;
  stroke:#f6f7f9;
  stroke-width:1.1;
  stroke-linejoin:round;
}
.has-cursor .bp-cursor-ribbon.on-dark .bp-cursor-arrow svg {
  fill:#ff3345;
  stroke:#fff;
}
.has-cursor .bp-cursor-ribbon:not(.is-link):not(.is-text) .bp-cursor-ring {
  opacity:0;
}
.has-cursor .bp-cursor-ribbon .bp-cursor-ring {
  transition:opacity .18s ease,width .28s ease,height .28s ease,margin .28s ease,border-color .2s ease,background-color .2s ease,border-radius .2s ease;
}
.has-cursor .bp-cursor-ribbon.is-text .bp-cursor-arrow,
.has-cursor .bp-cursor-ribbon.is-labelled .bp-cursor-arrow {
  opacity:0;
}
.has-cursor .bp-cursor-ribbon.is-text .bp-cursor-trail {
  opacity:0;
}
