.floating-assistant-button {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 90;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 3.5rem;
  padding: 0.8rem 1.15rem;
  border: 1px solid rgba(96, 165, 250, 0.35);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.96) 0%, rgba(2, 6, 23, 0.98) 100%);
  box-shadow: 0 18px 40px rgba(2, 6, 23, 0.3);
  color: #f8fafc;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.floating-assistant-button:hover,
.floating-assistant-button:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(125, 211, 252, 0.6);
  box-shadow: 0 24px 44px rgba(2, 6, 23, 0.36);
  color: #ffffff;
}

.floating-assistant-button:focus-visible {
  outline: 3px solid rgba(125, 211, 252, 0.4);
  outline-offset: 3px;
}

.floating-assistant-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(59, 130, 246, 0.16);
  color: #7dd3fc;
  font-size: 1rem;
}

.floating-assistant-button__text {
  white-space: nowrap;
}

@media (max-width: 575.98px) {
  .floating-assistant-button {
    right: 0.85rem;
    bottom: 0.85rem;
    padding: 0.78rem 1rem;
    min-height: 3.25rem;
  }
}
