/* NEXUS — IconButton
   三档尺寸（28 / 34 / 38），三档图标尺寸（14 / 16 / 20），笔画由图标集统一 1.5。
   默认无可见边框；hover 只改变表面颜色，不同时改边框、图标色与位置。 */

.icon-btn {
  --icon-btn-size: var(--icon-btn);
  --icon-size: var(--icon-sm);

  display: inline-grid;
  place-items: center;
  width: var(--icon-btn-size);
  height: var(--icon-btn-size);
  flex: none;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  background: transparent;
  color: var(--color-text-mute);
  cursor: pointer;
  transition:
    background-color var(--dur-fast) var(--ease-out),
    border-color var(--dur-fast) var(--ease-out),
    color var(--dur-fast) var(--ease-out);
}

.icon-btn svg {
  width: var(--icon-size);
  height: var(--icon-size);
}

/* hover 只给一层轻微表面，颜色与边框保持不动 */
.icon-btn:hover {
  background: var(--control-hover);
}

.icon-btn:active {
  background: var(--control-active);
}

.icon-btn:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

/* 开关态（置顶 / 主题）需要明确但不喧闹 */
.icon-btn.is-on {
  color: var(--color-ice);
  border-color: var(--color-ice-line);
  background: var(--color-ice-ghost);
}
.icon-btn.is-on:hover {
  background: var(--accent-hover);
}

.icon-btn:disabled,
.icon-btn[aria-disabled='true'] {
  opacity: 0.4;
  cursor: default;
}
.icon-btn:disabled:hover {
  background: transparent;
}

.icon-btn--sm {
  --icon-btn-size: var(--icon-btn-sm);
  --icon-size: var(--icon-xs);
}

.icon-btn--lg {
  --icon-btn-size: var(--icon-btn-lg);
  --icon-size: var(--icon-lg);
}
