.fc-add-source-btn {
  all: revert;
  position: fixed; bottom: 24px; right: 24px; z-index: 2147483647;
  padding: 10px 16px; border-radius: 999px; border: none;
  background: rgb(20, 23, 26); color: rgb(244, 186, 122);
  font: 500 14px/1.2 system-ui, sans-serif;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4); cursor: pointer;
  transition: transform 100ms ease, background 150ms ease, color 150ms ease;
}
.fc-add-source-btn:hover { transform: translateY(-1px); }
.fc-add-source-btn:disabled { opacity: 0.6; cursor: wait; }

/* state colors map to the FC palette: parchment-on-slate base,
   accent-orange for new, sage for already-subscribed, amber-warning for
   artist-exists-but-source-missing. All readable on the dark base. */
.fc-add-source-btn--new {
  background: rgb(20, 23, 26); color: rgb(244, 186, 122);
}
.fc-add-source-btn--artist-match {
  background: rgb(28, 23, 16); color: rgb(255, 200, 120);
  border: 1px solid rgb(180, 130, 60);
}
.fc-add-source-btn--source-match {
  background: rgb(18, 28, 20); color: rgb(140, 220, 160);
  border: 1px solid rgb(80, 160, 100);
}

.fc-toast {
  all: revert;
  position: fixed; bottom: 84px; right: 24px; z-index: 2147483647;
  max-width: 360px; padding: 12px 16px; border-radius: 8px;
  background: rgb(20, 23, 26); color: rgb(232, 228, 216);
  font: 14px/1.4 system-ui, sans-serif;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  animation: fc-toast-in 200ms ease;
}
.fc-toast--success { border-left: 3px solid rgb(244, 186, 122); }
.fc-toast--error   { border-left: 3px solid rgb(220, 80, 80); }
@keyframes fc-toast-in {
  from { transform: translateY(20px); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
