/* ============================================================
 * Solar Icons (480 Design · CC BY 4.0)
 * 所有 Solar SVG 统一基础样式：color: currentColor
 * 用法：<?= solar('home', ['size'=>20]) ?> 或 <?= icon('home-linear', ['size'=>24]) ?>
 * ============================================================ */

.icon-solar {
  display: inline-block;
  vertical-align: middle;
  color: currentColor;
  flex-shrink: 0;
  transition: color .18s ease, transform .18s ease;
}

.icon-solar svg,
.icon-solar > svg {
  display: block;
  width: inherit;
  height: inherit;
}

/* Size presets (配合 solar('name', ['size'=>18]) 使用) */
.icon-solar-sm svg { width: 14px; height: 14px; }
.icon-solar-md svg { width: 18px; height: 18px; }
.icon-solar-lg svg { width: 22px; height: 22px; }
.icon-solar-xl svg { width: 28px; height: 28px; }

/* 悬停动效 */
.icon-btn:hover .icon-solar { transform: scale(1.08); }
.icon-solar.is-rotated { transform: rotate(180deg); }

/* 深色背景上自动反色 */
.icon-solar.icon-inverse { color: #fff; }

/* 状态点 (dot-bold) 特殊处理 */
.icon-solar-dot-bold { color: currentColor; }

/* 与 .dot 配合：覆盖现有 chat.css 的状态点 */
.dot {
  width: 8px; height: 8px; border-radius: 50%;
  display: inline-block;
}
.dot-online   { background: var(--ok, #2fbf87); }
.dot-busy     { background: var(--warn, #e4a03c); }
.dot-offline  { background: #c0c7d6; }
