/*
  Local Bootstrap Icons (SVG mask technique).
  Keeps existing markup like: <i class="bi bi-terminal"></i>
*/
.bi {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;

  /* Use an SVG mask so the icon inherits currentColor */
  -webkit-mask-image: var(--bi-mask);
  mask-image: var(--bi-mask);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

/* Icon mappings */
.bi-arrow-repeat { --bi-mask: url('/vendor/bootstrap-icons/svg/arrow-repeat.svg'); }
.bi-arrow-right { --bi-mask: url('/vendor/bootstrap-icons/svg/arrow-right.svg'); }
.bi-box-arrow-up-right { --bi-mask: url('/vendor/bootstrap-icons/svg/box-arrow-up-right.svg'); }
.bi-braces { --bi-mask: url('/vendor/bootstrap-icons/svg/braces.svg'); }
.bi-bug { --bi-mask: url('/vendor/bootstrap-icons/svg/bug.svg'); }
.bi-calendar-check { --bi-mask: url('/vendor/bootstrap-icons/svg/calendar-check.svg'); }
.bi-chat-dots { --bi-mask: url('/vendor/bootstrap-icons/svg/chat-dots.svg'); }
.bi-check-circle { --bi-mask: url('/vendor/bootstrap-icons/svg/check-circle.svg'); }
.bi-compass { --bi-mask: url('/vendor/bootstrap-icons/svg/compass.svg'); }
.bi-cpu { --bi-mask: url('/vendor/bootstrap-icons/svg/cpu.svg'); }
.bi-diagram-3 { --bi-mask: url('/vendor/bootstrap-icons/svg/diagram-3.svg'); }
.bi-envelope { --bi-mask: url('/vendor/bootstrap-icons/svg/envelope.svg'); }
.bi-fire { --bi-mask: url('/vendor/bootstrap-icons/svg/fire.svg'); }
.bi-gear { --bi-mask: url('/vendor/bootstrap-icons/svg/gear.svg'); }
.bi-git { --bi-mask: url('/vendor/bootstrap-icons/svg/git.svg'); }
.bi-globe { --bi-mask: url('/vendor/bootstrap-icons/svg/globe.svg'); }
.bi-graph-up { --bi-mask: url('/vendor/bootstrap-icons/svg/graph-up.svg'); }
.bi-hdd-network { --bi-mask: url('/vendor/bootstrap-icons/svg/hdd-network.svg'); }
.bi-heart { --bi-mask: url('/vendor/bootstrap-icons/svg/heart.svg'); }
.bi-journal-text { --bi-mask: url('/vendor/bootstrap-icons/svg/journal-text.svg'); }
.bi-life-preserver { --bi-mask: url('/vendor/bootstrap-icons/svg/life-preserver.svg'); }
.bi-lightning-charge { --bi-mask: url('/vendor/bootstrap-icons/svg/lightning-charge.svg'); }
.bi-lock { --bi-mask: url('/vendor/bootstrap-icons/svg/lock.svg'); }
.bi-moon-stars { --bi-mask: url('/vendor/bootstrap-icons/svg/moon-stars.svg'); }
.bi-person { --bi-mask: url('/vendor/bootstrap-icons/svg/person.svg'); }
.bi-person-badge { --bi-mask: url('/vendor/bootstrap-icons/svg/person-badge.svg'); }
.bi-rocket-takeoff { --bi-mask: url('/vendor/bootstrap-icons/svg/rocket-takeoff.svg'); }
.bi-shield-check { --bi-mask: url('/vendor/bootstrap-icons/svg/shield-check.svg'); }
.bi-shield-lock { --bi-mask: url('/vendor/bootstrap-icons/svg/shield-lock.svg'); }
.bi-sliders { --bi-mask: url('/vendor/bootstrap-icons/svg/sliders.svg'); }
.bi-stars { --bi-mask: url('/vendor/bootstrap-icons/svg/stars.svg'); }
.bi-sun { --bi-mask: url('/vendor/bootstrap-icons/svg/sun.svg'); }
.bi-terminal { --bi-mask: url('/vendor/bootstrap-icons/svg/terminal.svg'); }
