/**
 * Do not edit directly, this file was auto-generated.
 */
@layer jokul.components {
  .jkl-toast-region {
    z-index: 10000;
    background: transparent;
    display: flex;
    justify-content: center;
    position: fixed;
    bottom: var(--jkl-unit-30);
    right: 0;
    left: 0;
    width: 100%;
    pointer-events: none;
  }
  .jkl-toast-region__toasts {
    min-width: 18rem;
    pointer-events: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--jkl-unit-20);
  }
  .jkl-toast-region--left {
    justify-content: flex-start;
    left: var(--jkl-unit-30);
  }
  .jkl-toast {
    --background-color: var(--jkl-color-background-container);
    --text-color: var(--jkl-color-text-default);
    --border-color: transparent;
    --jkl-toast-padding: var(--jkl-unit-20);
    color: var(--text-color);
    background-color: var(--background-color);
    border: 1px solid var(--border-color);
    border-radius: var(--jkl-border-radius-s);
    box-sizing: border-box;
    align-items: start;
    overflow: hidden;
    width: clamp(15em, 100%, min(30rem, 85vw));
    padding: var(--jkl-toast-padding);
    position: relative;
    font: var(--jkl-text-style-paragraph-medium);
  }
  .jkl-toast__progress {
    position: absolute;
    inset: 0 0 auto;
  }
  .jkl-toast .jkl-countdown {
    --track-color: transparent;
    --bar-color: var(--jkl-color-background-contrast);
    border-radius: 0;
  }
  @media screen and (forced-colors: active) {
    .jkl-toast__icon {
      stroke: CanvasText;
    }
    .jkl-toast__icon svg, .jkl-toast__icon path {
      stroke: CanvasText;
    }
  }
  .jkl-toast:not(:has(.jkl-toast__title)) .jkl-toast__icon {
    margin-block-start: 0.0625rem;
  }
  .jkl-toast:has(.jkl-toast__title) .jkl-toast__icon {
    margin-block-start: 0;
  }
  .jkl-toast__content {
    flex-grow: 1;
    flex-basis: 100vw;
  }
  .jkl-toast__action {
    margin-top: var(--jkl-unit-15);
  }
  .jkl-toast__title {
    font: var(--jkl-text-style-heading-5);
  }
  .jkl-toast__dismiss-button {
    background-color: transparent;
    padding: 0;
    color: inherit;
  }
  @media screen and (forced-colors: active) {
    .jkl-toast__dismiss-button {
      stroke: ButtonText;
    }
    .jkl-toast__dismiss-button svg, .jkl-toast__dismiss-button path {
      stroke: ButtonText;
    }
  }
  @media screen and (forced-colors: active) {
    .jkl-toast__dismiss-button {
      background-color: ButtonFace;
    }
  }
  .jkl-toast__dismiss-button::after {
    --tap-size: 44px;
    content: "";
    position: absolute;
    inset: calc((var(--tap-size) - 100%) / 2 * -1);
  }
  .jkl-toast--info {
    --background-color: var(--jkl-color-info-background-container);
    --text-color: var(--jkl-color-info-text-default);
    --border-color: var(--jkl-color-info-border-subdued);
  }
  .jkl-toast--info .jkl-countdown {
    --bar-color: var(--jkl-color-info-background-contrast);
  }
  .jkl-toast--info .jkl-toast__icon {
    color: var(--jkl-color-info-background-contrast);
  }
  .jkl-toast--warning {
    --background-color: var(--jkl-color-warning-background-container);
    --text-color: var(--jkl-color-warning-text-default);
    --border-color: var(--jkl-color-warning-border-subdued);
  }
  .jkl-toast--warning .jkl-countdown {
    --bar-color: var(--jkl-color-warning-background-contrast);
  }
  .jkl-toast--warning .jkl-toast__icon {
    color: var(--jkl-color-warning-background-contrast);
  }
  .jkl-toast--error {
    --background-color: var(--jkl-color-error-background-container);
    --text-color: var(--jkl-color-error-text-default);
    --border-color: var(--jkl-color-error-border-subdued);
  }
  .jkl-toast--error .jkl-countdown {
    --bar-color: var(--jkl-color-error-background-contrast);
  }
  .jkl-toast--error .jkl-toast__icon {
    color: var(--jkl-color-error-background-contrast);
  }
  .jkl-toast--success {
    --background-color: var(--jkl-color-success-background-container);
    --text-color: var(--jkl-color-success-text-default);
    --border-color: var(--jkl-color-success-border-subdued);
  }
  .jkl-toast--success .jkl-countdown {
    --bar-color: var(--jkl-color-success-background-contrast);
  }
  .jkl-toast--success .jkl-toast__icon {
    color: var(--jkl-color-success-background-contrast);
  }
  @media screen and (forced-colors: active) {
    .jkl-toast {
      border: 2px solid CanvasText;
    }
    .jkl-toast--info {
      border-style: dotted;
    }
    .jkl-toast--warning {
      border-style: dashed;
    }
    .jkl-toast--error {
      border-style: double;
      border-width: 4px;
    }
  }
  .jkl-toast[data-animation=entering],
  .jkl-toast[data-animation=queued] {
    animation: jkl-entering-u5hz0hc var(--jkl-motion-timing-polite) var(--jkl-motion-easing-entrance) forwards;
  }
  .jkl-toast[data-animation=exiting] {
    animation: jkl-exiting-u5hz0hq var(--jkl-motion-timing-productive) var(--jkl-motion-easing-exit) forwards;
  }
  @keyframes jkl-entering-u5hz0hc {
    from {
      opacity: 0;
      transform: translate3d(0, 50%, 0);
    }
    to {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
  @keyframes jkl-exiting-u5hz0hq {
    from {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
    to {
      opacity: 0;
      transform: translate3d(0, 50%, 0);
    }
  }
}