/**
 * Phase 16-0 — toast / inline alert (tokens only; logical inset positioning).
 */
.rastan-toast-host {
  position: fixed;
  inset-block-start: var(--spacing-md);
  inset-inline-end: var(--spacing-md);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--spacing-sm);
  max-inline-size: min(22rem, 100vw - var(--spacing-lg));
  pointer-events: none;
}

.rastan-toast-host > .rastan-toast {
  pointer-events: auto;
}

.rastan-toast {
  box-sizing: border-box;
  width: 100%;
  padding-block: var(--spacing-sm);
  padding-inline: var(--spacing-md);
  font-family: var(--font-family-sans);
  font-size: calc(var(--font-scale-base) * 0.95);
  line-height: 1.35;
  border-radius: var(--radius-md);
  border-width: 1px;
  border-style: solid;
  color: var(--color-text);
  background-color: var(--color-surface);
  border-color: var(--color-muted);
  box-shadow: 0 var(--spacing-xs) var(--spacing-sm) color-mix(in srgb, var(--color-text) 12%, transparent);
}

.rastan-toast__close {
  margin-block-start: var(--spacing-xs);
  padding-block: var(--spacing-xs);
  padding-inline: var(--spacing-sm);
  font-family: var(--font-family-sans);
  font-size: calc(var(--font-scale-base) * 0.85);
  color: var(--color-primary);
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  cursor: pointer;
}

.rastan-toast__close:hover {
  border-color: var(--color-muted);
}

.rastan-toast--success {
  border-color: var(--color-primary);
}

.rastan-toast--error {
  border-color: var(--color-danger);
}

.rastan-toast--warning {
  border-color: var(--color-muted);
}

.rastan-toast--info {
  border-color: var(--color-primary);
}
