/* ── ICM toggle button ────────────────────────────────────── */
.icm-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px 3px 6px;
  border-radius: 6px;
  border: 1px solid var(--border, #e2e8f0);
  background: transparent;
  color: var(--text-muted, #94a3b8);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  flex-shrink: 0;
  transition: color 150ms, border-color 150ms, background 150ms, box-shadow 150ms;
  font-family: inherit;
}

.icm-btn:hover {
  color: var(--text, #102040);
  border-color: var(--text-muted, #94a3b8);
  background: var(--bg, #f3f5f8);
}

.icm-icon { flex-shrink: 0; width: 14px; height: 14px; object-fit: contain; transition: transform 300ms ease; }

.icm-btn.icm-on { animation: icm-appear 200ms ease both; }

@keyframes icm-appear {
  from { opacity: 0.4; transform: scale(0.94); }
  to   { opacity: 1;   transform: scale(1); }
}

/* ── Light (default) active state ────────────────────────── */
.icm-btn.icm-on {
  color: #2563eb;
  border-color: rgba(37,99,235,0.5);
  background: rgba(37,99,235,0.07);
  box-shadow: 0 0 8px rgba(37,99,235,0.15), inset 0 0 6px rgba(37,99,235,0.05);
}
.icm-btn.icm-on .icm-icon {
  filter: drop-shadow(0 0 3px rgba(37,99,235,0.5));
  transform: rotate(22.5deg);
}

/* ── Dark theme ──────────────────────────────────────────── */
[data-theme="dark"] .icm-btn.icm-on {
  color: #3fb950;
  border-color: rgba(63,185,80,0.55);
  background: rgba(63,185,80,0.09);
  box-shadow: 0 0 10px rgba(63,185,80,0.2), inset 0 0 8px rgba(63,185,80,0.07);
}
[data-theme="dark"] .icm-btn.icm-on .icm-icon {
  filter: brightness(0) invert(1) drop-shadow(0 0 4px rgba(63,185,80,0.8));
  transform: rotate(22.5deg);
}
[data-theme="dark"] .icm-btn:not(.icm-on) .icm-icon {
  filter: brightness(0) invert(1) opacity(0.45);
}

/* ── Grey theme ──────────────────────────────────────────── */
[data-theme="grey"] .icm-btn.icm-on {
  color: #57ab5a;
  border-color: rgba(87,171,90,0.55);
  background: rgba(87,171,90,0.09);
  box-shadow: 0 0 10px rgba(87,171,90,0.2), inset 0 0 8px rgba(87,171,90,0.07);
}
[data-theme="grey"] .icm-btn.icm-on .icm-icon {
  filter: brightness(0) invert(1) drop-shadow(0 0 4px rgba(87,171,90,0.8));
  transform: rotate(22.5deg);
}
[data-theme="grey"] .icm-btn:not(.icm-on) .icm-icon {
  filter: brightness(0) invert(1) opacity(0.4);
}

/* ── Aurora theme ────────────────────────────────────────── */
[data-theme="aurora"] .icm-btn.icm-on {
  color: #c084fc;
  border-color: rgba(192,132,252,0.55);
  background: rgba(192,132,252,0.08);
  box-shadow: 0 0 12px rgba(192,132,252,0.22), inset 0 0 8px rgba(192,132,252,0.07);
}
[data-theme="aurora"] .icm-btn.icm-on .icm-icon {
  filter: brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(230deg)
          drop-shadow(0 0 5px rgba(192,132,252,0.9));
  transform: rotate(22.5deg);
}
[data-theme="aurora"] .icm-btn:not(.icm-on) .icm-icon {
  filter: brightness(0) invert(1) opacity(0.4);
}