/* V1.67Beta: semantic, queued system messaging with readable timing. */
html body:not(.maintenance-mode) > #toast.toast {
  --toast-accent: 97, 202, 219;
  --toast-duration: 1800ms;
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  top: max(60px, calc(env(safe-area-inset-top) + 18px)) !important;
  bottom: auto !important;
  z-index: 22000 !important;
  box-sizing: border-box !important;
  width: max-content !important;
  min-width: 210px !important;
  max-width: min(560px, calc(100vw - 28px)) !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 12px 22px 13px !important;
  overflow: hidden !important;
  pointer-events: none !important;
  border: 1px solid rgba(var(--toast-accent), 0.66) !important;
  border-radius: 10px !important;
  background:
    linear-gradient(100deg, rgba(var(--toast-accent), 0.13), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.97), rgba(228, 241, 243, 0.94)) !important;
  box-shadow:
    0 13px 30px rgba(6, 27, 34, 0.22),
    0 0 0 1px rgba(255, 255, 255, 0.68) inset,
    0 0 17px rgba(var(--toast-accent), 0.16) !important;
  color: #123b42 !important;
  -webkit-text-fill-color: #123b42 !important;
  text-shadow: 0 1px rgba(255, 255, 255, 0.7) !important;
  transform: translateX(-50%) !important;
  isolation: isolate !important;
  transition: top 180ms ease, opacity 150ms ease, filter 150ms ease !important;
}

html body:not(.maintenance-mode) > #toast.toast[hidden] {
  display: none !important;
}

html body:not(.maintenance-mode).audio-cue-caption-visible > #toast.toast {
  top: max(122px, calc(env(safe-area-inset-top) + 80px)) !important;
}

html body:not(.maintenance-mode) > #toast.toast::before,
html body:not(.maintenance-mode) > #toast.toast::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
}

html body:not(.maintenance-mode) > #toast.toast::before {
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 3px !important;
  background: rgb(var(--toast-accent)) !important;
  box-shadow: 0 0 10px rgba(var(--toast-accent), 0.62) !important;
}

html body:not(.maintenance-mode) > #toast.toast::after {
  left: 3px !important;
  right: auto !important;
  top: auto !important;
  bottom: 0 !important;
  width: calc(100% - 3px) !important;
  height: 3px !important;
  background: linear-gradient(90deg, rgb(var(--toast-accent)), rgba(var(--toast-accent), 0.3)) !important;
  box-shadow: 0 0 7px rgba(var(--toast-accent), 0.32) !important;
  transform: scaleX(1) !important;
  transform-origin: left center !important;
  animation: toast-queue-progress var(--toast-duration) linear both !important;
}

html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="success"] {
  --toast-accent: 211, 166, 56;
  color: #49340c !important;
  -webkit-text-fill-color: #49340c !important;
  border-color: rgba(var(--toast-accent), 0.68) !important;
  background:
    linear-gradient(100deg, rgba(var(--toast-accent), 0.16), transparent 40%),
    linear-gradient(145deg, rgba(255, 253, 238, 0.98), rgba(244, 228, 178, 0.94)) !important;
}

html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="danger"] {
  --toast-accent: 229, 91, 74;
  color: #551914 !important;
  -webkit-text-fill-color: #551914 !important;
  border-color: rgba(var(--toast-accent), 0.68) !important;
  background:
    linear-gradient(100deg, rgba(var(--toast-accent), 0.15), transparent 40%),
    linear-gradient(145deg, rgba(255, 247, 241, 0.98), rgba(249, 209, 196, 0.94)) !important;
}

html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="notice"] {
  --toast-accent: 73, 169, 208;
  color: #103b52 !important;
  -webkit-text-fill-color: #103b52 !important;
}

html body:not(.maintenance-mode) > #toast.toast.is-leaving {
  opacity: 0 !important;
  filter: brightness(1.08) !important;
  transform: translate(-50%, -4px) scale(0.99) !important;
}

html body:not(.maintenance-mode) > #toast.toast.is-preempted {
  transition-duration: 90ms !important;
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1) !important;
}

html body:not(.maintenance-mode) > #toast.toast.is-preempted::after {
  animation-play-state: paused !important;
  opacity: 0.28 !important;
}

html body:not(.maintenance-mode) > #toast.toast .toast-label {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  overflow-wrap: anywhere !important;
  font-size: clamp(13px, 1vw, 15px) !important;
  font-weight: 850 !important;
  line-height: 1.24 !important;
  letter-spacing: 0.025em !important;
  text-align: center !important;
}

html body:not(.maintenance-mode) > #toast.toast .toast-label::before {
  content: "" !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
  width: 14px !important;
  height: 14px !important;
  border: 1.5px solid rgb(var(--toast-accent)) !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgb(var(--toast-accent)) 0 2px, transparent 2.5px) !important;
  box-shadow: 0 0 7px rgba(var(--toast-accent), 0.3) !important;
}

html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="notice"] .toast-label::before {
  width: 11px !important;
  height: 11px !important;
  border-radius: 2px !important;
  background: linear-gradient(135deg, transparent 38%, rgb(var(--toast-accent)) 39% 61%, transparent 62%) !important;
  transform: rotate(45deg) !important;
}

html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="success"] .toast-label::before {
  width: 14px !important;
  height: 8px !important;
  border: 0 !important;
  border-left: 2px solid rgb(var(--toast-accent)) !important;
  border-bottom: 2px solid rgb(var(--toast-accent)) !important;
  border-radius: 1px !important;
  background: none !important;
  box-shadow: none !important;
  transform: translateY(-2px) rotate(-45deg) !important;
}

html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="danger"] .toast-label::before {
  content: "!" !important;
  display: grid !important;
  place-items: center !important;
  background: rgba(var(--toast-accent), 0.13) !important;
  color: rgb(var(--toast-accent)) !important;
  font: 900 11px/1 system-ui, sans-serif !important;
}

@keyframes toast-queue-progress {
  from { transform: scaleX(1); opacity: 0.92; }
  to { transform: scaleX(0); opacity: 0.38; }
}

@media (max-width: 720px) {
  html body:not(.maintenance-mode) > #toast.toast {
    top: max(54px, calc(env(safe-area-inset-top) + 12px)) !important;
    min-width: 178px !important;
    max-width: calc(100vw - 20px) !important;
    min-height: 42px !important;
    padding: 10px 16px 11px !important;
    border-radius: 9px !important;
  }

  html body:not(.maintenance-mode).audio-cue-caption-visible > #toast.toast {
    top: max(108px, calc(env(safe-area-inset-top) + 66px)) !important;
  }

  html body:not(.maintenance-mode) > #toast.toast .toast-label {
    font-size: 13px !important;
    gap: 7px !important;
  }
}

@media (forced-colors: active) {
  html body:not(.maintenance-mode) > #toast.toast {
    color: CanvasText !important;
    background: Canvas !important;
    border: 2px solid Highlight !important;
    box-shadow: none !important;
    text-shadow: none !important;
    forced-color-adjust: auto;
  }

  html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="notice"] {
    border-style: double !important;
  }

  html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="danger"] {
    border-style: dashed !important;
  }

  html body:not(.maintenance-mode) > #toast.toast::after {
    background: Highlight !important;
    box-shadow: none !important;
  }

  html body:not(.maintenance-mode) > #toast.toast .toast-label::before {
    border-color: CanvasText !important;
    background: none !important;
    box-shadow: none !important;
    color: CanvasText !important;
    forced-color-adjust: auto;
  }

  html body:not(.maintenance-mode) > #toast.toast[data-ui-toast-tone="success"] .toast-label::before {
    border-left-color: CanvasText !important;
    border-bottom-color: CanvasText !important;
  }
}

html body[data-vfx-quality="low"]:not(.maintenance-mode) > #toast.toast {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html body:not(.maintenance-mode) > #toast.toast,
  html body:not(.maintenance-mode) > #toast.toast::after,
  html body:not(.maintenance-mode) > #toast.toast.ui-toast-cue {
    animation: none !important;
    transition: none !important;
  }
}
