/**
 * 自定义图标库扩展
 * 为Bootstrap Icons添加自定义图标
 */

/* bi-grplnk 图标 - 使用伪元素和CSS绘制 */
.bi-grplnk::before {
  /* 基础设置，继承Bootstrap Icons的基本样式 */
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -0.125em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  
  /* 自定义图标内容 - 使用SVG数据URI */
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='31.949' height='31.949' viewBox='0 0 1536 1536'%3E%3Cimage id='%E5%9B%BE%E5%B1%82_1' data-name='%E5%9B%BE%E5%B1%82 1' y='4' width='1464' height='1525' xlink:href='data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAeCAYAAADQBxWhAAACs0lEQVRIia2XW4hOURTHf77vGLkMQ7lkjFtNuUukxAseaEopRkkRhZJSk8sL4UFeyDzxpMyQFyRSlPqaFyKlkMTItSj6jHEZjYzRyjrTnt3Zl/Pxr1Pft/de+3/22mv91zoDSqUSkagGFgFzgSnAKGAg8AP4CLQD94E7oe2SCD4h2g6sUqIQXgAXgJPAm6y1Bc8GY4FzwG1gUyShYCqwD3gOHMpDugJ4AmyIJMqCuP4gcBcYFyJdC9wARv4DoYmFwAOg1kW6QO8jBt+AD8DXiLVj9JqG2aRVwM2A8Stgv759nfHMB/bolbgwEbhqkx4HajxGMl8PHAHuAZ+Bn0CnpsoxYIYreIBHGtF9pHLROz2ETcBu4FfAE4LDwGZrTF5kDnARI099hGeBExFkJs4Ai1VIGoHX5mRKus5h3AVsyUmYYmvGmHj2d6IXXO8wbIl0qY3lwCxgMNAB3NJUlKBrSzRNXLhS4Skl0CZpOrXrCa8Do4F3iYq3C48Dm08DjmaMf9fclFMuA4bqbykOPYknTb4AnwKk4q7V4YP3R8Gjv71y6QH7rryEQLmgcpaF6v+ov/0gpG89c9MD9kMqIU1UwlyQwu1rLUSLW62xXuOFGrOM0nblvV3zFBLywys5DTAbeJgxXk6D6LLDUO71dIWkTulMSZs9xiKDu3ISblRV8pI+Ay55NmnW0lYVSdjiW2Dm6LZAXjappB3QIp7edRGYAKwBroUIMQIpxUrVyBh0aiFPNAiLDpuXuqZO/5dtNZKGbEck6QgV9VoPYYfW6kHmYFazfUpP0erZLBZLxZsq/n1w6e55YGYOV9vo1sZAWs+91lzR1+E/BRpUlSRAeiLIZI20NyKf0sqOB9Zba2pivmWEUB4JhCXAPGCyfmaI+6VgSA8kciotrKnlcihpW6SO/gV0/wFgVYN7zJeGHwAAAABJRU5ErkJggg=='/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1em;
  height: 1em;
}

/* 图标大小变体 */
.bi-grplnk.bi-lg {
  font-size: 1.25em;
}

.bi-grplnk.bi-xl {
  font-size: 1.5em;
}

.bi-grplnk.bi-2x {
  font-size: 2em;
}

/* 适配不同颜色主题 */
.text-primary .bi-grplnk::before,
.text-primary.bi-grplnk::before {
  filter: invert(34%) sepia(95%) saturate(1946%) hue-rotate(205deg) brightness(97%) contrast(101%);
}

.text-success .bi-grplnk::before,
.text-success.bi-grplnk::before {
  filter: invert(62%) sepia(88%) saturate(415%) hue-rotate(84deg) brightness(93%) contrast(87%);
}

.text-danger .bi-grplnk::before,
.text-danger.bi-grplnk::before {
  filter: invert(21%) sepia(83%) saturate(3184%) hue-rotate(343deg) brightness(94%) contrast(92%);
}

/* 动画效果 */
.bi-grplnk.animate {
  animation: grplnk-pulse 1.5s infinite;
}

@keyframes grplnk-pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

/* 中国国旗图标 */
.bi-flag-cn::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23de2910'/%3E%3Cg fill='%23ffde00'%3E%3Cpath d='M5,5 L6.5,8 L10,8.5 L7.5,10.5 L8,14 L5,12 L2,14 L2.5,10.5 L0,8.5 L3.5,8 L5,5'/%3E%3Cpath d='M10.5,3 L11,4 L12,4 L11.25,4.75 L11.5,6 L10.5,5.25 L9.5,6 L9.75,4.75 L9,4 L10,4 L10.5,3'/%3E%3Cpath d='M13,6 L13.5,7 L14.5,7 L13.75,7.75 L14,9 L13,8.25 L12,9 L12.25,7.75 L11.5,7 L12.5,7 L13,6'/%3E%3Cpath d='M13,11 L13.5,12 L14.5,12 L13.75,12.75 L14,14 L13,13.25 L12,14 L12.25,12.75 L11.5,12 L12.5,12 L13,11'/%3E%3Cpath d='M10.5,14 L11,15 L12,15 L11.25,15.75 L11.5,17 L10.5,16.25 L9.5,17 L9.75,15.75 L9,15 L10,15 L10.5,14'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.5em;
  height: 1em;
  vertical-align: -0.125em;
}

/* 美国国旗图标 */
.bi-flag-us::before {
  display: inline-block;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='16' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23fff'/%3E%3Crect width='30' height='1.54' fill='%23b22234' y='0'/%3E%3Crect width='30' height='1.54' fill='%23b22234' y='3.08'/%3E%3Crect width='30' height='1.54' fill='%23b22234' y='6.16'/%3E%3Crect width='30' height='1.54' fill='%23b22234' y='9.24'/%3E%3Crect width='30' height='1.54' fill='%23b22234' y='12.32'/%3E%3Crect width='30' height='1.54' fill='%23b22234' y='15.4'/%3E%3Crect width='30' height='1.54' fill='%23b22234' y='18.48'/%3E%3Crect width='12' height='10.77' fill='%233c3b6e'/%3E%3Cg fill='%23fff'%3E%3Cpath d='M1,1 L1.5,2 L2.5,2 L1.75,2.75 L2,4 L1,3.25 L0,4 L0.25,2.75 L-0.5,2 L0.5,2 L1,1'/%3E%3Cpath d='M3,1 L3.5,2 L4.5,2 L3.75,2.75 L4,4 L3,3.25 L2,4 L2.25,2.75 L1.5,2 L2.5,2 L3,1'/%3E%3Cpath d='M5,1 L5.5,2 L6.5,2 L5.75,2.75 L6,4 L5,3.25 L4,4 L4.25,2.75 L3.5,2 L4.5,2 L5,1'/%3E%3Cpath d='M7,1 L7.5,2 L8.5,2 L7.75,2.75 L8,4 L7,3.25 L6,4 L6.25,2.75 L5.5,2 L6.5,2 L7,1'/%3E%3Cpath d='M9,1 L9.5,2 L10.5,2 L9.75,2.75 L10,4 L9,3.25 L8,4 L8.25,2.75 L7.5,2 L8.5,2 L9,1'/%3E%3Cpath d='M11,1 L11.5,2 L12.5,2 L11.75,2.75 L12,4 L11,3.25 L10,4 L10.25,2.75 L9.5,2 L10.5,2 L11,1'/%3E%3Cpath d='M2,4 L2.5,5 L3.5,5 L2.75,5.75 L3,7 L2,6.25 L1,7 L1.25,5.75 L0.5,5 L1.5,5 L2,4'/%3E%3Cpath d='M4,4 L4.5,5 L5.5,5 L4.75,5.75 L5,7 L4,6.25 L3,7 L3.25,5.75 L2.5,5 L3.5,5 L4,4'/%3E%3Cpath d='M6,4 L6.5,5 L7.5,5 L6.75,5.75 L7,7 L6,6.25 L5,7 L5.25,5.75 L4.5,5 L5.5,5 L6,4'/%3E%3Cpath d='M8,4 L8.5,5 L9.5,5 L8.75,5.75 L9,7 L8,6.25 L7,7 L7.25,5.75 L6.5,5 L7.5,5 L8,4'/%3E%3Cpath d='M10,4 L10.5,5 L11.5,5 L10.75,5.75 L11,7 L10,6.25 L9,7 L9.25,5.75 L8.5,5 L9.5,5 L10,4'/%3E%3Cpath d='M1,7 L1.5,8 L2.5,8 L1.75,8.75 L2,10 L1,9.25 L0,10 L0.25,8.75 L-0.5,8 L0.5,8 L1,7'/%3E%3Cpath d='M3,7 L3.5,8 L4.5,8 L3.75,8.75 L4,10 L3,9.25 L2,10 L2.25,8.75 L1.5,8 L2.5,8 L3,7'/%3E%3Cpath d='M5,7 L5.5,8 L6.5,8 L5.75,8.75 L6,10 L5,9.25 L4,10 L4.25,8.75 L3.5,8 L4.5,8 L5,7'/%3E%3Cpath d='M7,7 L7.5,8 L8.5,8 L7.75,8.75 L8,10 L7,9.25 L6,10 L6.25,8.75 L5.5,8 L6.5,8 L7,7'/%3E%3Cpath d='M9,7 L9.5,8 L10.5,8 L9.75,8.75 L10,10 L9,9.25 L8,10 L8.25,8.75 L7.5,8 L8.5,8 L9,7'/%3E%3Cpath d='M11,7 L11.5,8 L12.5,8 L11.75,8.75 L12,10 L11,9.25 L10,10 L10.25,8.75 L9.5,8 L10.5,8 L11,7'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.5em;
  height: 1em;
  vertical-align: -0.125em;
} 