.th-toast-region {
  position: fixed;
  z-index: 9999;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  width: min(680px, calc(100vw - 24px));
  display: grid;
  gap: 10px;
  pointer-events: none;
}

.th-toast {
  pointer-events: none;
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: rgba(255, 255, 255, 0.96);
  color: #0f172a;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  animation: thToastIn 180ms ease-out;
}

.th-toast.is-error {
  background: rgba(254, 242, 242, 0.98);
  border-color: rgba(239, 68, 68, 0.25);
  color: #991b1b;
}

.th-toast.is-hiding {
  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 220ms ease, transform 220ms ease;
}

@keyframes thToastIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

