/* S chat shared functional icon family.
 * 24×24 grid · 1.65px rounded strokes · optical field mostly 3..21.
 * Load after brand.css and styles.css. Every rule is scoped to the web UI.
 * Brand S, animation keyframes and shared mini-program assets stay untouched.
 * SVG files use alpha masks so existing purple/blue tints and active gradients survive.
 */
body.schat-ui :is(.icl, .tb-ic, .rail .ic, .ic[class*="ic-"]) {
  -webkit-mask-image: var(--ui-icon);
  mask-image: var(--ui-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
}
/* Legacy .ic-* resources used background-images; masks use current text color. */
body.schat-ui .ic[class*="ic-"] {
  background-image: none;
  background-color: currentColor;
}
body.schat-ui .icl-mail { --ui-icon: url("/web/icons/mail.svg"); }
body.schat-ui .icl-camera,
body.schat-ui .ic-camera { --ui-icon: url("/web/icons/camera.svg"); }
body.schat-ui .icl-file,
body.schat-ui .ic-file { --ui-icon: url("/web/icons/file.svg"); }
body.schat-ui .icl-scan,
body.schat-ui .ic-scan { --ui-icon: url("/web/icons/scan.svg"); }
body.schat-ui .icl-web,
body.schat-ui .ic-web { --ui-icon: url("/web/icons/web.svg"); }
body.schat-ui .icl-audio,
body.schat-ui .ic-audio { --ui-icon: url("/web/icons/audio.svg"); }
body.schat-ui .icl-image-gen,
body.schat-ui .ic-image-gen { --ui-icon: url("/web/icons/image-gen.svg"); }
body.schat-ui .icl-image-edit,
body.schat-ui .ic-image-edit { --ui-icon: url("/web/icons/image-edit.svg"); }
body.schat-ui .icl-library,
body.schat-ui .ic-library { --ui-icon: url("/web/icons/library.svg"); }
body.schat-ui .icl-send,
body.schat-ui .ic-send { --ui-icon: url("/web/icons/send.svg"); }
body.schat-ui .icl-plus,
body.schat-ui .ic-plus { --ui-icon: url("/web/icons/plus.svg"); }
body.schat-ui .icl-copy,
body.schat-ui .ic-copy { --ui-icon: url("/web/icons/copy.svg"); }
body.schat-ui .icl-back,
body.schat-ui .ic-back { --ui-icon: url("/web/icons/back.svg"); }
body.schat-ui .icl-chevron,
body.schat-ui .ic-chevron { --ui-icon: url("/web/icons/chevron.svg"); }
body.schat-ui .icl-share,
body.schat-ui .ic-share { --ui-icon: url("/web/icons/share.svg"); }
body.schat-ui .icl-clock,
body.schat-ui .ic-clock,
body.schat-ui .ic-history { --ui-icon: url("/web/icons/clock.svg"); }
body.schat-ui .icl-regen,
body.schat-ui .ic-regen { --ui-icon: url("/web/icons/regen.svg"); }
body.schat-ui .icl-speaker,
body.schat-ui .ic-speaker { --ui-icon: url("/web/icons/speaker.svg"); }
body.schat-ui .icl-mic,
body.schat-ui .ic-mic { --ui-icon: url("/web/icons/mic.svg"); }
body.schat-ui .icl-search,
body.schat-ui .ic-search { --ui-icon: url("/web/icons/search.svg"); }
body.schat-ui .icl-shield,
body.schat-ui .ic-shield { --ui-icon: url("/web/icons/shield.svg"); }
body.schat-ui .icl-sparkle,
body.schat-ui .ic-sparkle,
body.schat-ui .ic-star4 { --ui-icon: url("/web/icons/sparkle.svg"); }
body.schat-ui .icl-user,
body.schat-ui .ic-user { --ui-icon: url("/web/icons/user.svg"); }
body.schat-ui .icl-dots,
body.schat-ui .ic-dots { --ui-icon: url("/web/icons/dots.svg"); }
body.schat-ui .icl-chat,
body.schat-ui .ic-chat,
body.schat-ui .tb-chat,
body.schat-ui .tb-chat-on { --ui-icon: url("/web/icons/chat.svg"); }
body.schat-ui .icl-explore,
body.schat-ui .ic-explore,
body.schat-ui .tb-explore,
body.schat-ui .tb-explore-on { --ui-icon: url("/web/icons/explore.svg"); }
body.schat-ui .icl-image,
body.schat-ui .ic-image,
body.schat-ui .tb-image,
body.schat-ui .tb-image-on { --ui-icon: url("/web/icons/image.svg"); }
body.schat-ui .icl-more,
body.schat-ui .ic-more,
body.schat-ui .tb-more,
body.schat-ui .tb-more-on { --ui-icon: url("/web/icons/more.svg"); }
body.schat-ui .icl-incognito,
body.schat-ui .ic-incognito { --ui-icon: url("/web/icons/incognito.svg"); }
body.schat-ui .icl-phone,
body.schat-ui .ic-phone { --ui-icon: url("/web/icons/phone.svg"); }
/* A phone silhouette describes the desktop preview switch accurately. */
body.schat-ui #mpToggle .tb-more {
  --ui-icon: url("/web/icons/phone.svg");
  width: 18px;
  height: 18px;
  background-color: currentColor;
}

body.schat-ui .icl-close,
body.schat-ui .ic-close { --ui-icon: url("/web/icons/close.svg"); }

body.schat-ui .icl-trash,
body.schat-ui .ic-trash { --ui-icon: url("/web/icons/trash.svg"); }

body.schat-ui .icl-stop,
body.schat-ui .ic-stop { --ui-icon: url("/web/icons/stop.svg"); }

body.schat-ui .icl-download,
body.schat-ui .ic-download { --ui-icon: url("/web/icons/download.svg"); }
