/* 本地 SVG 图标（currentColor，无外部 CDN） */
.icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: no-repeat center / contain;
  mask: no-repeat center / contain;
}

.icon-copy { -webkit-mask-image: url('../icons/copy.svg'); mask-image: url('../icons/copy.svg'); }
.icon-heart { -webkit-mask-image: url('../icons/heart.svg'); mask-image: url('../icons/heart.svg'); }
.icon-heart-filled { -webkit-mask-image: url('../icons/heart-filled.svg'); mask-image: url('../icons/heart-filled.svg'); }
.icon-comment { -webkit-mask-image: url('../icons/comment.svg'); mask-image: url('../icons/comment.svg'); }
.icon-check { -webkit-mask-image: url('../icons/check.svg'); mask-image: url('../icons/check.svg'); }
.icon-sun { -webkit-mask-image: url('../icons/sun.svg'); mask-image: url('../icons/sun.svg'); }
.icon-moon { -webkit-mask-image: url('../icons/moon.svg'); mask-image: url('../icons/moon.svg'); }
.icon-search { -webkit-mask-image: url('../icons/search.svg'); mask-image: url('../icons/search.svg'); }
.icon-plus-circle { -webkit-mask-image: url('../icons/plus-circle.svg'); mask-image: url('../icons/plus-circle.svg'); }
.icon-refresh { -webkit-mask-image: url('../icons/refresh.svg'); mask-image: url('../icons/refresh.svg'); }
.icon-x { -webkit-mask-image: url('../icons/x.svg'); mask-image: url('../icons/x.svg'); }
.icon-alert-circle { -webkit-mask-image: url('../icons/alert-circle.svg'); mask-image: url('../icons/alert-circle.svg'); }
.icon-envelope { -webkit-mask-image: url('../icons/envelope.svg'); mask-image: url('../icons/envelope.svg'); }
.icon-lock { -webkit-mask-image: url('../icons/lock.svg'); mask-image: url('../icons/lock.svg'); }
.icon-eye { -webkit-mask-image: url('../icons/eye.svg'); mask-image: url('../icons/eye.svg'); }
.icon-eye-off { -webkit-mask-image: url('../icons/eye-off.svg'); mask-image: url('../icons/eye-off.svg'); }
.icon-user { -webkit-mask-image: url('../icons/user.svg'); mask-image: url('../icons/user.svg'); }
.icon-check-circle { -webkit-mask-image: url('../icons/check-circle.svg'); mask-image: url('../icons/check-circle.svg'); }
.icon-shield { -webkit-mask-image: url('../icons/shield.svg'); mask-image: url('../icons/shield.svg'); }
.icon-star-outline { -webkit-mask-image: url('../icons/star-outline.svg'); mask-image: url('../icons/star-outline.svg'); }
.icon-star-filled { -webkit-mask-image: url('../icons/star-filled.svg'); mask-image: url('../icons/star-filled.svg'); }
.icon-settings { -webkit-mask-image: url('../icons/settings.svg'); mask-image: url('../icons/settings.svg'); }
.icon-logout { -webkit-mask-image: url('../icons/logout.svg'); mask-image: url('../icons/logout.svg'); }
