.r-float-button {
  --r-float-button-size: 32px;
  --r-float-button-width: var(--r-float-button-size);
  --r-float-button-padding-x: 0px;
  --r-float-button-border-radius: 9999px;
  --r-float-button-border-width: 2px;
  --r-float-button-border-style: solid;
  --r-float-button-border-color: var(--line-strong);
  --r-float-button-bg: var(--layer-panel);
  --r-float-button-bg-hover: var(--layer-panel);
  --r-float-button-text-color: var(--foreground-strong);
  --r-float-button-text-hover-color: var(--r-float-button-text-color);
  --r-float-button-text-disabled-color: var(--r-float-button-text-color);
  --r-float-button-box-shadow: var(--theme-shadow-md);
  --r-float-button-shadow-hover: var(--theme-shadow-lg);
  --r-float-button-shadow-active: var(--theme-shadow-sm);
  --r-float-button-transform-hover: translate(-1px, -1px);
  --r-float-button-transform-active: translate(0, 0);
  --r-float-button-outline: 2px solid var(--line-strong);
  --r-float-button-outline-offset: 2px;
  --r-float-button-font-size: 12px;
  --r-float-button-font-weight: 700;
  --r-float-button-desc-font-size: 10px;
  --r-float-button-icon-size: 16px;
  --r-float-button-opacity-disabled: .4;

  &.r-float-button--xs {
    --r-float-button-size: 24px;
    --r-float-button-icon-size: 12px;
    --r-float-button-font-size: 11px;
    --r-float-button-desc-font-size: 8px;
    --r-float-button-padding-x: 8px;
  }

  &.r-float-button--sm {
    --r-float-button-size: 28px;
    --r-float-button-icon-size: 14px;
    --r-float-button-font-size: 12px;
    --r-float-button-desc-font-size: 9px;
    --r-float-button-padding-x: 10px;
  }

  &.r-float-button--md {
    --r-float-button-size: 32px;
    --r-float-button-icon-size: 16px;
    --r-float-button-font-size: 12px;
    --r-float-button-desc-font-size: 10px;
    --r-float-button-padding-x: 12px;
  }

  &.r-float-button--lg {
    --r-float-button-size: 36px;
    --r-float-button-icon-size: 18px;
    --r-float-button-font-size: 14px;
    --r-float-button-desc-font-size: 11px;
    --r-float-button-padding-x: 14px;
  }

  &.r-float-button--with-text {
    --r-float-button-width: auto;
  }

  &.r-float-button--circle {
    --r-float-button-border-radius: 9999px;
  }

  &.r-float-button--pill {
    --r-float-button-border-radius: 9999px;
    --r-float-button-width: auto;
    padding-left: var(--r-float-button-padding-x);
    padding-right: var(--r-float-button-padding-x);
  }

  &.r-float-button--square {
    --r-float-button-border-radius: 0px;
  }

  &.r-float-button--default {
    --r-float-button-border-color: var(--line-strong);
    --r-float-button-bg: var(--layer-panel);
    --r-float-button-bg-hover: var(--layer-panel);
    --r-float-button-text-color: var(--foreground-strong);
  }

  &.r-float-button--primary {
    --r-float-button-border-color: var(--line-strong);
    --r-float-button-bg: var(--color-brutal-yellow, var(--primary-400));
    --r-float-button-bg-hover: var(--color-brutal-yellow, var(--primary-400));
    --r-float-button-text-color: var(--foreground-strong);
  }

  &.r-float-button--accent {
    --r-float-button-border-color: var(--line-strong);
    --r-float-button-bg: var(--color-brutal-pink, var(--accent-400));
    --r-float-button-bg-hover: var(--color-brutal-pink, var(--accent-400));
    --r-float-button-text-color: var(--foreground-strong);
  }

  &.r-float-button--outline {
    --r-float-button-border-color: var(--line-strong);
    --r-float-button-bg: var(--layer-panel);
    --r-float-button-bg-hover: var(--layer-panel);
    --r-float-button-text-color: var(--foreground-strong);
  }

  &.r-float-button--ghost {
    --r-float-button-border-color: transparent;
    --r-float-button-bg: transparent;
    --r-float-button-text-color: var(--foreground-strong);
    --r-float-button-box-shadow: none;
    --r-float-button-bg-hover: var(--fill-muted);
    --r-float-button-shadow-hover: var(--theme-shadow-sm);
  }

  &.r-float-button--warning {
    --r-float-button-border-color: var(--line-strong);
    --r-float-button-bg: var(--color-brutal-orange, var(--warning));
    --r-float-button-bg-hover: var(--color-brutal-orange, var(--warning));
    --r-float-button-text-color: var(--foreground-strong);
  }

  &.r-float-button--danger {
    --r-float-button-border-color: var(--line-strong);
    --r-float-button-bg: var(--color-brutal-red, var(--danger));
    --r-float-button-bg-hover: var(--color-brutal-red, var(--danger));
    --r-float-button-text-color: var(--foreground-strong);
  }

  &.r-float-button--elegant, :where([data-theme="elegant"]) & {
    --r-float-button-border-width: 1px;
    --r-float-button-font-weight: 500;
    --r-float-button-border-color: var(--line-muted);
    --r-float-button-bg: var(--layer-panel);
    --r-float-button-bg-hover: var(--fill-muted);
    --r-float-button-text-color: var(--foreground);
    --r-float-button-text-hover-color: var(--foreground);
    --r-float-button-box-shadow: var(--theme-shadow-md);
    --r-float-button-transform-hover: none;
    --r-float-button-transform-active: scale(.97);
    --r-float-button-shadow-hover: var(--theme-shadow-md);
    --r-float-button-shadow-active: var(--theme-shadow-md);
    --r-float-button-outline: 2px solid color-mix(in oklch, var(--primary-400) 80%, transparent);
    --r-float-button-outline-offset: 2px;
  }

  &.r-float-button--elegant.r-float-button--square.r-float-button--xs, :where([data-theme="elegant"]) &.r-float-button--square.r-float-button--xs, &.r-float-button--elegant.r-float-button--square.r-float-button--sm, :where([data-theme="elegant"]) &.r-float-button--square.r-float-button--sm {
    --r-float-button-border-radius: 4px;
  }

  &.r-float-button--elegant.r-float-button--square.r-float-button--md, :where([data-theme="elegant"]) &.r-float-button--square.r-float-button--md {
    --r-float-button-border-radius: 6px;
  }

  &.r-float-button--elegant.r-float-button--square.r-float-button--lg, :where([data-theme="elegant"]) &.r-float-button--square.r-float-button--lg {
    --r-float-button-border-radius: 8px;
  }

  &.r-float-button--elegant.r-float-button--default, :where([data-theme="elegant"]) &.r-float-button--default {
    --r-float-button-border-color: var(--line-muted);
    --r-float-button-bg: var(--layer-panel);
    --r-float-button-bg-hover: var(--fill-muted);
    --r-float-button-text-color: var(--foreground);
  }

  &.r-float-button--elegant.r-float-button--primary, :where([data-theme="elegant"]) &.r-float-button--primary {
    --r-float-button-border-color: transparent;
    --r-float-button-bg: var(--primary-400);
    --r-float-button-bg-hover: var(--primary-500);
    --r-float-button-text-color: var(--primary-950);
  }

  &.r-float-button--elegant.r-float-button--accent, :where([data-theme="elegant"]) &.r-float-button--accent {
    --r-float-button-border-color: transparent;
    --r-float-button-bg: var(--accent-400);
    --r-float-button-bg-hover: var(--accent-500);
    --r-float-button-text-color: var(--accent-950);
  }

  &.r-float-button--elegant.r-float-button--outline, :where([data-theme="elegant"]) &.r-float-button--outline {
    --r-float-button-border-color: var(--line-strong);
    --r-float-button-bg: var(--layer-panel);
    --r-float-button-bg-hover: var(--fill-muted);
    --r-float-button-text-color: var(--foreground);
  }

  &.r-float-button--elegant.r-float-button--ghost, :where([data-theme="elegant"]) &.r-float-button--ghost {
    --r-float-button-border-color: transparent;
    --r-float-button-bg: transparent;
    --r-float-button-bg-hover: var(--fill-muted);
    --r-float-button-text-color: var(--foreground);
    --r-float-button-box-shadow: none;
    --r-float-button-shadow-hover: var(--theme-shadow-sm);
  }

  &.r-float-button--elegant.r-float-button--warning, :where([data-theme="elegant"]) &.r-float-button--warning {
    --r-float-button-border-color: transparent;
    --r-float-button-bg: var(--warning);
    --r-float-button-bg-hover: var(--warning);
    --r-float-button-text-color: var(--warning-foreground);
  }

  &.r-float-button--elegant.r-float-button--danger, :where([data-theme="elegant"]) &.r-float-button--danger {
    --r-float-button-border-color: transparent;
    --r-float-button-bg: var(--danger);
    --r-float-button-bg-hover: var(--danger-hover);
    --r-float-button-text-color: var(--danger-foreground);
  }
}

.r-float-button {
  user-select: none;
  cursor: pointer;
  box-sizing: border-box;
  width: var(--r-float-button-width, var(--r-float-button-size));
  min-width: var(--r-float-button-size);
  height: var(--r-float-button-size);
  border-radius: var(--r-float-button-border-radius);
  border-width: var(--r-float-button-border-width);
  border-style: var(--r-float-button-border-style);
  border-color: var(--r-float-button-border-color);
  background-color: var(--r-float-button-bg);
  color: var(--r-float-button-text-color);
  box-shadow: var(--r-float-button-box-shadow);
  font-size: var(--r-float-button-font-size);
  font-weight: var(--r-float-button-font-weight);
  outline: none;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  padding: 0;
  transition: transform .15s cubic-bezier(.4, 0, .2, 1), box-shadow .15s cubic-bezier(.4, 0, .2, 1), background-color .15s cubic-bezier(.4, 0, .2, 1), border-color .15s cubic-bezier(.4, 0, .2, 1), color .15s cubic-bezier(.4, 0, .2, 1);
  display: inline-flex;
  position: relative;

  @media (prefers-reduced-motion: reduce) {
    transition: none;
  }

  &.r-float-button--with-text, &.r-float-button--pill {
    padding-left: var(--r-float-button-padding-x);
    padding-right: var(--r-float-button-padding-x);
  }

  &:hover:not(:disabled) {
    background-color: var(--r-float-button-bg-hover);
    color: var(--r-float-button-text-hover-color);
    box-shadow: var(--r-float-button-shadow-hover);
    transform: var(--r-float-button-transform-hover);
  }

  &:active:not(:disabled) {
    box-shadow: var(--r-float-button-shadow-active);
    transform: var(--r-float-button-transform-active);
  }

  &:focus-visible {
    outline: var(--r-float-button-outline);
    outline-offset: var(--r-float-button-outline-offset);
  }

  &:disabled {
    pointer-events: none;
    opacity: var(--r-float-button-opacity-disabled);
    cursor: not-allowed;
    color: var(--r-float-button-text-disabled-color);
  }

  & svg {
    pointer-events: none;
    width: var(--r-float-button-icon-size);
    height: var(--r-float-button-icon-size);
    flex-shrink: 0;
  }

  & > .r-float-button__content {
    white-space: nowrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
    display: inline-flex;

    &.r-float-button__content--with-desc {
      flex-direction: column;
      gap: 2px;
    }
  }

  &.r-float-button--square.r-float-button--with-desc {
    padding-top: 2px;
    padding-bottom: 2px;
  }

  & .r-float-button__text {
    white-space: nowrap;
    align-items: center;
    line-height: 1;
    display: inline-flex;
  }

  & .r-float-button__desc {
    font-size: var(--r-float-button-desc-font-size);
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.25;
    overflow: hidden;
  }
}

.r-float-button-group {
  --r-float-button-group-gap: 10px;
  user-select: none;
  box-sizing: border-box;
  align-items: center;
  gap: var(--r-float-button-group-gap);
  display: inline-flex;

  &.r-float-button-group--vertical {
    flex-direction: column;
  }

  &.r-float-button-group--horizontal {
    flex-direction: row;
  }

  &.r-float-button-group--attached {
    --r-float-button-group-gap: 0px;
    gap: 0;
  }

  &.r-float-button-group--attached.r-float-button-group--vertical > .r-float-button:not(:last-child) {
    border-bottom-width: 0;
  }

  &.r-float-button-group--attached.r-float-button-group--vertical > .r-float-button:not(:first-child):not(:last-child) {
    border-radius: 0;
  }

  &.r-float-button-group--attached.r-float-button-group--horizontal > .r-float-button:not(:last-child) {
    border-right-width: 0;
  }

  &.r-float-button-group--attached.r-float-button-group--horizontal > .r-float-button:not(:first-child):not(:last-child) {
    border-radius: 0;
  }

  &.r-float-button-group--attached.r-float-button-group--vertical.r-float-button-group--circle > .r-float-button:first-child:not(:last-child) {
    border-radius: 9999px 9999px 0 0;
  }

  &.r-float-button-group--attached.r-float-button-group--vertical.r-float-button-group--circle > .r-float-button:last-child:not(:first-child) {
    border-radius: 0 0 9999px 9999px;
  }

  &.r-float-button-group--attached.r-float-button-group--horizontal.r-float-button-group--circle > .r-float-button:first-child:not(:last-child) {
    border-radius: 9999px 0 0 9999px;
  }

  &.r-float-button-group--attached.r-float-button-group--horizontal.r-float-button-group--circle > .r-float-button:last-child:not(:first-child) {
    border-radius: 0 9999px 9999px 0;
  }

  &.r-float-button-group--attached.r-float-button-group--square:not(.r-float-button-group--elegant):not([data-theme="elegant"] *) > .r-float-button {
    border-radius: 0;
  }

  &.r-float-button-group--attached.r-float-button-group--vertical.r-float-button-group--square.r-float-button-group--elegant > .r-float-button:first-child:not(:last-child), :where([data-theme="elegant"]) &.r-float-button-group--attached.r-float-button-group--vertical.r-float-button-group--square > .r-float-button:first-child:not(:last-child) {
    border-radius: 6px 6px 0 0;
  }

  &.r-float-button-group--attached.r-float-button-group--vertical.r-float-button-group--square.r-float-button-group--elegant > .r-float-button:last-child:not(:first-child), :where([data-theme="elegant"]) &.r-float-button-group--attached.r-float-button-group--vertical.r-float-button-group--square > .r-float-button:last-child:not(:first-child) {
    border-radius: 0 0 6px 6px;
  }

  &.r-float-button-group--attached.r-float-button-group--horizontal.r-float-button-group--square.r-float-button-group--elegant > .r-float-button:first-child:not(:last-child), :where([data-theme="elegant"]) &.r-float-button-group--attached.r-float-button-group--horizontal.r-float-button-group--square > .r-float-button:first-child:not(:last-child) {
    border-radius: 6px 0 0 6px;
  }

  &.r-float-button-group--attached.r-float-button-group--horizontal.r-float-button-group--square.r-float-button-group--elegant > .r-float-button:last-child:not(:first-child), :where([data-theme="elegant"]) &.r-float-button-group--attached.r-float-button-group--horizontal.r-float-button-group--square > .r-float-button:last-child:not(:first-child) {
    border-radius: 0 6px 6px 0;
  }
}
.r-timeline {
  --r-timeline-icon-size: var(--r-timeline-custom-icon-size, 14px);
  --r-timeline-title-font-size: 14px;
  --r-timeline-content-font-size: 14px;
  --r-timeline-time-font-size: 12px;
  --r-timeline-line-height: 1.5;
  --r-timeline-item-inner-gap: 4px;
  --r-timeline-title-font-family: var(--font-heading);
  --r-timeline-title-font-weight: 700;
  --r-timeline-gap: 12px;
  --r-timeline-item-gap: 20px;
  --r-timeline-horizontal-item-gap: 40px;
  --r-timeline-line-width: 2px;
  --r-timeline-line-color: var(--line-strong);
  --r-timeline-marker-border-width: 2px;
  --r-timeline-marker-radius: 9999px;
  --r-timeline-marker-fill: 100%;
  --r-timeline-marker-border-color: var(--line-strong);
  --r-timeline-axis-offset: calc((var(--r-timeline-title-font-size) * var(--r-timeline-line-height) - var(--r-timeline-icon-size)) /
      2);

  &.r-timeline--lg {
    --r-timeline-icon-size: var(--r-timeline-custom-icon-size, 16px);
    --r-timeline-title-font-size: 16px;
    --r-timeline-content-font-size: 15px;
  }

  &.r-timeline--sm {
    --r-timeline-icon-size: var(--r-timeline-custom-icon-size, 12px);
    --r-timeline-title-font-size: 12px;
    --r-timeline-content-font-size: 12px;
    --r-timeline-item-gap: 16px;
    --r-timeline-line-height: 16px;
    --r-timeline-item-inner-gap: 2px;
    --r-timeline-axis-offset: calc((16px - var(--r-timeline-icon-size)) / 2);
  }

  &.r-timeline--horizontal {
    --r-timeline-axis-offset: 0px;
  }

  &.r-timeline--elegant, :where([data-theme="elegant"]) & {
    --r-timeline-icon-size: var(--r-timeline-custom-icon-size, 12px);
    --r-timeline-title-font-family: var(--font-sans);
    --r-timeline-title-font-weight: 500;
    --r-timeline-line-color: var(--line-muted);
    --r-timeline-marker-fill: 0%;
    --r-timeline-marker-border-color: initial;
  }

  &.r-timeline--elegant.r-timeline--lg, :where([data-theme="elegant"]) &.r-timeline--lg {
    --r-timeline-icon-size: var(--r-timeline-custom-icon-size, 14px);
  }
}

.r-timeline-item {
  --r-timeline-item-color: var(--foreground-hint);
  --r-timeline-item-fill: var(--layer-panel);

  &.r-timeline-item--information {
    --r-timeline-item-color: var(--info-strong);
    --r-timeline-item-fill: var(--info);
  }

  &.r-timeline-item--success {
    --r-timeline-item-color: var(--success-strong);
    --r-timeline-item-fill: var(--success);
  }

  &.r-timeline-item--warning {
    --r-timeline-item-color: var(--warning-strong);
    --r-timeline-item-fill: var(--warning);
  }

  &.r-timeline-item--danger {
    --r-timeline-item-color: var(--danger-strong);
    --r-timeline-item-fill: var(--danger);
  }

  &.r-timeline-item--accent {
    --r-timeline-item-color: var(--accent-strong);
    --r-timeline-item-fill: var(--accent-400);
  }

  &.r-timeline-item--color {
    --r-timeline-item-color: var(--r-timeline-custom-color);
    --r-timeline-item-fill: var(--r-timeline-custom-color);
  }
}

.r-timeline {
  line-height: var(--r-timeline-line-height);
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.r-timeline-item {
  gap: var(--r-timeline-gap);
  margin: 0;
  padding: 0;
  display: flex;
}

.r-timeline-item__axis {
  padding-top: var(--r-timeline-axis-offset);
  width: var(--r-timeline-icon-size);
  flex-direction: column;
  flex: none;
  align-items: center;
  display: flex;
}

.r-timeline-item__marker {
  background: color-mix(in oklch,
    var(--r-timeline-item-fill) var(--r-timeline-marker-fill),
    transparent);
  border: var(--r-timeline-marker-border-width) solid
    var(--r-timeline-marker-border-color, var(--r-timeline-item-color));
  border-radius: var(--r-timeline-marker-radius);
  box-sizing: border-box;
  height: var(--r-timeline-icon-size);
  width: var(--r-timeline-icon-size);
  flex: none;
}

.r-timeline-item__icon {
  color: var(--r-timeline-item-color);
  font-size: var(--r-timeline-icon-size);
  height: var(--r-timeline-icon-size);
  width: var(--r-timeline-icon-size);
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;

  & svg {
    width: 1em;
    height: 1em;
  }
}

.r-timeline-item__line {
  border-inline-start: var(--r-timeline-line-width) solid var(--r-timeline-line-color);
  margin-bottom: calc(var(--r-timeline-axis-offset) * -1);
  flex: 1;
}

.r-timeline-item--dashed > .r-timeline-item__axis > .r-timeline-item__line {
  border-style: dashed;
}

.r-timeline-item:last-child > .r-timeline-item__axis > .r-timeline-item__line {
  visibility: hidden;
}

.r-timeline-item__body {
  min-width: 0;
  padding-bottom: var(--r-timeline-item-gap);
  flex: 1;
}

.r-timeline-item:last-child > .r-timeline-item__body {
  padding-bottom: 0;
}

.r-timeline-title {
  color: var(--foreground-strong);
  font-family: var(--r-timeline-title-font-family);
  font-size: var(--r-timeline-title-font-size);
  font-weight: var(--r-timeline-title-font-weight);
  margin-bottom: var(--r-timeline-item-inner-gap);
}

.r-timeline-content {
  color: var(--foreground-muted);
  font-size: var(--r-timeline-content-font-size);
}

.r-timeline-time {
  color: var(--foreground-hint);
  font-size: var(--r-timeline-time-font-size);
  margin-top: var(--r-timeline-item-inner-gap);
}

.r-timeline--right > .r-timeline-item {
  text-align: end;
  flex-direction: row-reverse;
}

.r-timeline--horizontal {
  flex-direction: row;
}

.r-timeline--horizontal > .r-timeline-item {
  flex-direction: column;
  flex: none;

  & > .r-timeline-item__axis {
    height: var(--r-timeline-icon-size);
    flex-direction: row;
    width: auto;
    padding-top: 0;
  }

  & > .r-timeline-item__axis > .r-timeline-item__line {
    border-inline-start: 0;
    border-top: var(--r-timeline-line-width) solid var(--r-timeline-line-color);
    margin-bottom: 0;
  }

  &.r-timeline-item--dashed > .r-timeline-item__axis > .r-timeline-item__line {
    border-top-style: dashed;
  }

  & > .r-timeline-item__body {
    padding-bottom: 0;
    padding-inline-end: var(--r-timeline-horizontal-item-gap);
  }
}
.r-steps {
  --r-steps-indicator-size: 28px;
  --r-steps-indicator-font-size: 14px;
  --r-steps-icon-size: 14px;
  --r-steps-title-font-size: 15px;
  --r-steps-description-font-size: 14px;
  --r-steps-line-height: 1.5;
  --r-steps-gap: 10px;
  --r-steps-connector-gap: 12px;
  --r-steps-connector-min-width: 16px;
  --r-steps-vertical-item-gap: 20px;
  --r-steps-indicator-font-family: var(--font-heading);
  --r-steps-indicator-font-weight: 700;
  --r-steps-indicator-border-width: 2px;
  --r-steps-indicator-radius: 0px;
  --r-steps-title-font-family: var(--font-heading);
  --r-steps-title-font-weight: 700;
  --r-steps-connector-width: 2px;
  --r-steps-connector-color: var(--line-strong);
  --r-steps-connector-color-finish: var(--line-strong);
  --r-steps-focus-radius: 0px;
  --r-steps-focus-outline: 2px solid var(--line-strong);
  --r-steps-duration: .16s;
  --r-steps-easing: ease-out;
  --r-steps-indicator-color-wait: var(--task-status-closed);
  --r-steps-indicator-color-process: var(--task-status-in-progress);
  --r-steps-indicator-color-finish: var(--task-status-done);
  --r-steps-indicator-color-error: var(--color-brutal-red-400);
  --r-steps-indicator-border-color-wait: var(--line-strong);
  --r-steps-indicator-border-color-process: var(--line-strong);
  --r-steps-indicator-border-color-finish: var(--line-strong);
  --r-steps-indicator-border-color-error: var(--line-strong);
  --r-steps-indicator-border-color-hover: var(--line-strong);
  --r-steps-indicator-text-color-wait: var(--foreground-strong);
  --r-steps-indicator-text-color-process: var(--foreground-strong);
  --r-steps-indicator-text-color-finish: var(--foreground-strong);
  --r-steps-indicator-text-color-error: var(--foreground-strong);
  --r-steps-indicator-shadow-process: var(--theme-shadow-sm);
  --r-steps-indicator-shadow-hover: var(--theme-shadow-sm);
  --r-steps-title-color-wait: var(--foreground-muted);
  --r-steps-title-color-process: var(--foreground-strong);
  --r-steps-title-color-finish: var(--foreground-strong);
  --r-steps-title-color-error: var(--danger-strong);
  --r-steps-title-color-hover: var(--foreground-strong);
  --r-steps-title-color-disabled: var(--foreground-disabled);
  --r-steps-river-width: 12px;
  --r-steps-river-radius: 0px;
  --r-steps-river-border-width: 2px;
  --r-steps-river-border-color: var(--line-strong);
  --r-steps-river-bed-color: var(--warning-soft);
  --r-steps-river-pebble-color: var(--warning-muted);
  --r-steps-river-water-color: var(--info);
  --r-steps-river-water-deep-color: var(--info-hover);
  --r-steps-river-glint-color: var(--info-soft);
  --r-steps-river-error-color: var(--danger);
  --r-steps-river-flow-duration: 1.6s;
  --r-steps-river-rise-duration: 2.4s;
  --r-steps-river-overlap-start: 0px;
  --r-steps-river-overlap-end: 0px;
  --r-steps-traveler-size: 40px;
  --r-steps-traveler-advance-duration: 40s;
  --r-steps-traveler-advance: .7;
  --r-steps-traveler-advance-end: .92;
  --r-steps-traveler-arrive-duration: 1.2s;
  --r-steps-traveler-rest-duration: 1s;
  --r-steps-traveler-reach: 56px;

  &.r-steps--sm {
    --r-steps-indicator-size: 22px;
    --r-steps-indicator-font-size: 12px;
    --r-steps-icon-size: 12px;
    --r-steps-title-font-size: 14px;
    --r-steps-description-font-size: 13px;
    --r-steps-river-width: 10px;
  }

  &.r-steps--elegant, :where([data-theme="elegant"]) & {
    --r-steps-indicator-font-family: var(--font-sans);
    --r-steps-indicator-font-weight: 500;
    --r-steps-indicator-border-width: 1px;
    --r-steps-indicator-radius: 9999px;
    --r-steps-title-font-family: var(--font-sans);
    --r-steps-title-font-weight: 500;
    --r-steps-connector-width: 1px;
    --r-steps-connector-color: var(--line-muted);
    --r-steps-connector-color-finish: color-mix(in oklch,
      var(--task-status-done-strong) 35%,
      transparent);
    --r-steps-focus-radius: 6px;
    --r-steps-focus-outline: 2px solid color-mix(in oklch, var(--primary-400) 80%, transparent);
    --r-steps-duration: .2s;
    --r-steps-indicator-color-wait: transparent;
    --r-steps-indicator-color-process: var(--task-status-in-progress-soft);
    --r-steps-indicator-color-finish: var(--task-status-done-soft);
    --r-steps-indicator-color-error: var(--danger-soft);
    --r-steps-indicator-border-color-wait: var(--task-status-closed-strong);
    --r-steps-title-color-wait: var(--task-status-closed-strong);
    --r-steps-indicator-border-color-process: var(--task-status-in-progress-strong);
    --r-steps-indicator-border-color-finish: color-mix(in oklch,
      var(--task-status-done-strong) 35%,
      transparent);
    --r-steps-indicator-border-color-error: color-mix(in oklch,
      var(--danger-strong) 35%,
      transparent);
    --r-steps-indicator-border-color-hover: var(--task-status-closed-strong);
    --r-steps-indicator-text-color-wait: var(--task-status-closed-strong);
    --r-steps-indicator-text-color-process: var(--task-status-in-progress-strong);
    --r-steps-indicator-text-color-finish: var(--task-status-done-strong);
    --r-steps-indicator-text-color-error: var(--danger-strong);
    --r-steps-indicator-shadow-process: none;
    --r-steps-indicator-shadow-hover: none;
    --r-steps-title-color-hover: var(--primary-strong);
    --r-steps-river-width: 8px;
    --r-steps-river-radius: 9999px;
    --r-steps-river-border-width: 0px;
    --r-steps-river-bed-color: var(--task-status-closed-soft);
    --r-steps-river-pebble-color: color-mix(in oklch,
      var(--task-status-closed-strong) 25%,
      transparent);
    --r-steps-river-water-color: var(--info-muted);
    --r-steps-river-water-deep-color: var(--info);
    --r-steps-river-glint-color: oklch(100% 0 0 / .7);
    --r-steps-river-error-color: var(--danger-muted);
  }
}

.r-step {
  --r-step-indicator-color: var(--r-steps-indicator-color-wait);
  --r-step-indicator-border-color: var(--r-steps-indicator-border-color-wait);
  --r-step-indicator-text-color: var(--r-steps-indicator-text-color-wait);
  --r-step-indicator-shadow: none;
  --r-step-title-color: var(--r-steps-title-color-wait);
  --r-step-description-color: var(--foreground-hint);
  --r-step-connector-color: var(--r-steps-connector-color);

  &.r-step--process {
    --r-step-indicator-color: var(--r-steps-indicator-color-process);
    --r-step-indicator-border-color: var(--r-steps-indicator-border-color-process);
    --r-step-indicator-text-color: var(--r-steps-indicator-text-color-process);
    --r-step-indicator-shadow: var(--r-steps-indicator-shadow-process);
    --r-step-title-color: var(--r-steps-title-color-process);
    --r-step-description-color: var(--foreground-muted);
  }

  &.r-step--finish {
    --r-step-indicator-color: var(--r-steps-indicator-color-finish);
    --r-step-indicator-border-color: var(--r-steps-indicator-border-color-finish);
    --r-step-indicator-text-color: var(--r-steps-indicator-text-color-finish);
    --r-step-title-color: var(--r-steps-title-color-finish);
    --r-step-connector-color: var(--r-steps-connector-color-finish);
  }

  &.r-step--error {
    --r-step-indicator-color: var(--r-steps-indicator-color-error);
    --r-step-indicator-border-color: var(--r-steps-indicator-border-color-error);
    --r-step-indicator-text-color: var(--r-steps-indicator-text-color-error);
    --r-step-title-color: var(--r-steps-title-color-error);
    --r-step-description-color: var(--foreground-muted);
  }

  @media (hover: hover) {
    &.r-step--clickable:hover {
      --r-step-title-color: var(--r-steps-title-color-hover);
    }

    &.r-step--clickable.r-step--wait:hover {
      --r-step-indicator-border-color: var(--r-steps-indicator-border-color-hover);
    }

    &.r-step--clickable:not(.r-step--process):hover {
      --r-step-indicator-shadow: var(--r-steps-indicator-shadow-hover);
    }
  }

  &.r-step--disabled {
    --r-step-title-color: var(--r-steps-title-color-disabled);
  }
}

.r-steps {
  line-height: var(--r-steps-line-height);
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.r-step {
  min-width: 0;
  margin: 0;
  padding: 0;
  display: flex;
  position: relative;
}

.r-step__main {
  gap: var(--r-steps-gap);
  display: flex;
  position: relative;
}

.r-step__indicator {
  background: var(--r-step-indicator-color);
  border: var(--r-steps-indicator-border-width) solid var(--r-step-indicator-border-color);
  border-radius: var(--r-steps-indicator-radius);
  box-shadow: var(--r-step-indicator-shadow);
  box-sizing: border-box;
  color: var(--r-step-indicator-text-color);
  font-family: var(--r-steps-indicator-font-family);
  font-size: var(--r-steps-indicator-font-size);
  font-variant-numeric: tabular-nums;
  font-weight: var(--r-steps-indicator-font-weight);
  height: var(--r-steps-indicator-size);
  transition: background-color var(--r-steps-duration) var(--r-steps-easing),
    border-color var(--r-steps-duration) var(--r-steps-easing),
    box-shadow var(--r-steps-duration) var(--r-steps-easing),
    color var(--r-steps-duration) var(--r-steps-easing);
  width: var(--r-steps-indicator-size);
  flex: none;
  justify-content: center;
  align-items: center;
  line-height: 1;
  display: flex;

  & > svg {
    height: var(--r-steps-icon-size);
    width: var(--r-steps-icon-size);
    flex: none;
  }
}

.r-step__content {
  min-width: 0;
  padding-top: calc((var(--r-steps-indicator-size) - var(--r-steps-title-font-size) * var(--r-steps-line-height)) /
      2);
}

.r-step__title {
  color: var(--r-step-title-color);
  font-family: var(--r-steps-title-font-family);
  font-size: var(--r-steps-title-font-size);
  font-weight: var(--r-steps-title-font-weight);
  transition: color var(--r-steps-duration) var(--r-steps-easing);
  white-space: nowrap;
  display: block;
}

.r-step__description {
  color: var(--r-step-description-color);
  font-size: var(--r-steps-description-font-size);
  margin-top: 2px;
}

.r-step__status {
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.r-step__button {
  appearance: none;
  cursor: pointer;
  line-height: inherit;
  text-align: start;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;

  &:after {
    border-radius: var(--r-steps-focus-radius);
    content: "";
    position: absolute;
    inset: -4px;
  }

  &:focus-visible {
    outline: none;
  }

  &:focus-visible:after {
    outline: var(--r-steps-focus-outline);
  }

  &:disabled {
    cursor: not-allowed;
  }
}

.r-step__connector {
  border-color: var(--r-step-connector-color);
  transition: border-color var(--r-steps-duration) var(--r-steps-easing);
  border-style: solid;
  border-width: 0;
}

.r-step:last-child > .r-step__connector {
  display: none;
}

.r-steps--horizontal > .r-step {
  grid-template-columns: var(--r-steps-indicator-size) auto minmax(var(--r-steps-connector-min-width),
      1fr);
  flex: 1 1 0;
  align-content: start;
  display: grid;

  &:last-child {
    grid-template-columns: var(--r-steps-indicator-size) auto;
    flex: none;
  }

  & > .r-step__main, & > .r-step__main > .r-step__content {
    display: contents;
  }

  & > .r-step__main > .r-step__indicator {
    grid-area: 1 / 1;
  }

  & > .r-step__main > .r-step__content > .r-step__title {
    grid-area: 1 / 2;
    align-self: center;
    margin-inline-start: var(--r-steps-gap);
  }

  & > .r-step__main > .r-step__content > .r-step__description {
    grid-area: 2 / 2 / auto / -1;
    margin-inline-start: var(--r-steps-gap);
  }

  & > .r-step__connector {
    border-top-width: var(--r-steps-connector-width);
    margin-inline: var(--r-steps-connector-gap);
    grid-area: 1 / 3;
    align-self: center;
  }
}

@media (width < 40rem) {
  .r-steps--horizontal > .r-step {
    --r-steps-connector-gap: 6px;
    --r-steps-connector-min-width: 8px;
    grid-template-columns: var(--r-steps-indicator-size) minmax(0, 1fr);

    &:last-child {
      grid-template-columns: var(--r-steps-indicator-size) minmax(0, 1fr);
      flex: 1 1 0;
    }

    & > .r-step__main > .r-step__content {
      padding-inline-end: var(--r-steps-connector-gap);
      grid-area: 2 / 1 / auto / -1;
      padding-top: 6px;
      display: block;
    }

    & > .r-step__main > .r-step__content > .r-step__title, & > .r-step__main > .r-step__content > .r-step__description {
      margin-inline-start: 0;
    }

    & > .r-step__main > .r-step__content > .r-step__title {
      overflow-wrap: anywhere;
      white-space: normal;
    }

    & > .r-step__connector {
      grid-column: 2;
    }
  }
}

.r-steps--vertical {
  flex-direction: column;
}

.r-steps--vertical > .r-step {
  padding-bottom: var(--r-steps-vertical-item-gap);

  &:last-child {
    padding-bottom: 0;
  }

  & > .r-step__connector {
    border-inline-start-width: var(--r-steps-connector-width);
    bottom: 4px;
    inset-inline-start: calc((var(--r-steps-indicator-size) - var(--r-steps-connector-width)) / 2);
    top: calc(var(--r-steps-indicator-size) + 4px);
    position: absolute;
  }

  & > .r-step__main > .r-step__content > .r-step__title {
    white-space: normal;
  }
}

.r-step__indicator--custom {
  box-shadow: none;
  background: none;
  border: 0;
  border-radius: 0;
  transition: none;
  position: relative;
  overflow: visible;

  & > svg {
    width: 100%;
    height: 100%;
  }
}

.r-steps--river > .r-step {
  --r-step-river-fill: 0;
  --r-step-river-water-color: var(--r-steps-river-water-color);
  --r-step-river-water-deep-color: var(--r-steps-river-water-deep-color);
  --r-step-river-glint-color: var(--r-steps-river-glint-color);

  &.r-step--finish {
    --r-step-river-fill: 1;
  }
}

.r-steps--river > .r-step > .r-step__connector {
  background-color: var(--r-steps-river-bed-color);
  background-image: radial-gradient(circle at center,
    var(--r-steps-river-pebble-color) 1px,
    transparent 1.5px);
  border: var(--r-steps-river-border-width) solid var(--r-steps-river-border-color);
  border-radius: var(--r-steps-river-radius);
  box-sizing: border-box;
  background-size: 9px 5px;
  overflow: hidden;

  &:before {
    background-color: var(--r-step-river-water-color);
    content: "";
    clip-path: inset(0 calc(100% - var(--r-step-river-fill) * 100%) 0 0);
    transition: clip-path var(--r-steps-river-rise-duration) var(--r-steps-easing);
    background-repeat: repeat;
    position: absolute;
    inset: 0;
  }
}

.r-steps--river.r-steps--horizontal > .r-step > .r-step__connector {
  border-top-width: var(--r-steps-river-border-width);
  height: var(--r-steps-river-width);
  position: relative;

  &:before {
    background-image: linear-gradient(90deg,
        transparent 0 10px,
        var(--r-step-river-glint-color) 10px 18px,
        transparent 18px),
      linear-gradient(90deg,
        transparent 0 22px,
        var(--r-step-river-glint-color) 22px 26px,
        transparent 26px),
      linear-gradient(transparent 45%, var(--r-step-river-water-deep-color));
    background-position: 0 30%, 0 75%, 0 0;
    background-repeat: repeat-x, repeat-x, no-repeat;
    background-size: 32px 2px, 40px 1px, 100% 100%;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10' preserveAspectRatio='none'%3E%3Cpath d='M0 2.5Q4 0.5 8 2.5T16 2.5V10H0Z'/%3E%3C/svg%3E");
    mask-size: 16px 100%;
    mask-repeat: repeat-x;
  }
}

@media (width >= 40rem) {
  .r-steps--river.r-steps--horizontal > .r-step:not(:last-child) {
    flex: auto;
  }
}

.r-steps--river.r-steps--horizontal > .r-step--finish > .r-step__connector:before {
  mask-image: none;
}

.r-steps--river.r-steps--vertical > .r-step > .r-step__connector {
  border-block-width: 0;
  border-inline-start-width: var(--r-steps-river-border-width);
  bottom: calc(-1 * var(--r-steps-river-overlap-end));
  top: calc(var(--r-steps-indicator-size) - var(--r-steps-river-overlap-start));
  width: var(--r-steps-river-width);
  inset-inline-start: calc((var(--r-steps-indicator-size) - var(--r-steps-river-width)) / 2);

  &:before {
    background-image: linear-gradient(180deg,
        transparent 0 10px,
        var(--r-step-river-glint-color) 10px 18px,
        transparent 18px),
      linear-gradient(180deg,
        transparent 0 22px,
        var(--r-step-river-glint-color) 22px 26px,
        transparent 26px),
      linear-gradient(90deg, transparent 45%, var(--r-step-river-water-deep-color));
    clip-path: inset(0 0 calc(100% - var(--r-step-river-fill) * 100%) 0);
    background-position: 30% 0, 75% 0, 0 0;
    background-repeat: repeat-y, repeat-y, no-repeat;
    background-size: 2px 32px, 1px 40px, 100% 100%;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .r-steps--river.r-steps--horizontal > :is(.r-step--finish, .r-step--process) > .r-step__connector:before {
    animation: r-steps-river-flow var(--r-steps-river-flow-duration) linear infinite;
  }

  .r-steps--river.r-steps--vertical > :is(.r-step--finish, .r-step--process) > .r-step__connector:before {
    animation: r-steps-river-fall var(--r-steps-river-flow-duration) linear infinite;
  }

  .r-steps--river.r-steps--horizontal > .r-step--process > .r-step__connector:before {
    animation: r-steps-river-flow var(--r-steps-river-flow-duration) linear infinite,
      r-steps-river-rise var(--r-steps-river-rise-duration) var(--r-steps-easing) infinite;
  }

  .r-steps--river.r-steps--vertical > .r-step--process > .r-step__connector:before {
    animation: r-steps-river-fall var(--r-steps-river-flow-duration) linear infinite,
      r-steps-river-rise-down var(--r-steps-river-rise-duration) var(--r-steps-easing) infinite;
  }

  .r-steps--river.r-steps--horizontal > .r-step:dir(rtl) > .r-step__connector:before {
    animation-direction: reverse;
  }

  .r-steps--river.r-steps--horizontal > .r-step--process:dir(rtl) > .r-step__connector:before {
    animation-name: r-steps-river-flow, r-steps-river-rise-rtl;
    animation-direction: reverse, normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .r-steps--river > .r-step--process {
    --r-step-river-fill: .5;
  }
}

.r-steps--river > .r-step--error {
  --r-step-river-fill: .5;
  --r-step-river-water-color: var(--r-steps-river-error-color);
  --r-step-river-water-deep-color: var(--r-steps-river-error-color);
  --r-step-river-glint-color: transparent;
}

.r-steps--river.r-steps--horizontal > .r-step:dir(rtl) > .r-step__connector:before {
  clip-path: inset(0 0 0 calc(100% - var(--r-step-river-fill) * 100%));
}

@keyframes r-steps-river-flow {
  to {
    background-position: 64px 30%, 40px 75%, 0 0;
    mask-position: 32px 0;
  }
}

@keyframes r-steps-river-fall {
  to {
    background-position: 30% 64px, 75% 40px, 0 0;
  }
}

@keyframes r-steps-river-rise {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 1;
  }

  80% {
    clip-path: inset(0);
    opacity: 1;
  }

  to {
    clip-path: inset(0);
    opacity: 0;
  }
}

@keyframes r-steps-river-rise-rtl {
  from {
    clip-path: inset(0 0 0 100%);
    opacity: 1;
  }

  80% {
    clip-path: inset(0);
    opacity: 1;
  }

  to {
    clip-path: inset(0);
    opacity: 0;
  }
}

@keyframes r-steps-river-rise-down {
  from {
    clip-path: inset(0 0 100%);
    opacity: 1;
  }

  80% {
    clip-path: inset(0);
    opacity: 1;
  }

  to {
    clip-path: inset(0);
    opacity: 0;
  }
}

@property --r-step-traveler-pos {
  syntax: "<number>";
  inherits: true;
  initial-value: 0;
}

.r-steps--traveler > .r-step {
  --r-step-traveler-pos: 0;

  &:is([data-traveler="arrive"], [data-traveler="rest"]) {
    --r-step-traveler-pos: 1;
  }

  &[data-traveler="arrive"] {
    transition: --r-step-traveler-pos var(--r-steps-traveler-arrive-duration) var(--r-steps-easing);
  }
}

.r-steps--river.r-steps--traveler > .r-step > .r-step__connector:before, .r-steps--river.r-steps--traveler.r-steps--horizontal > .r-step:dir(rtl) > .r-step__connector:before {
  clip-path: none;
  mask-image: none;
}

@media (prefers-reduced-motion: no-preference) {
  .r-steps--river.r-steps--traveler.r-steps--horizontal > :is(.r-step--finish, .r-step--process) > .r-step__connector:before {
    animation: r-steps-river-flow var(--r-steps-river-flow-duration) linear infinite reverse;
  }

  .r-steps--river.r-steps--traveler.r-steps--horizontal > :is(.r-step--finish, .r-step--process):dir(rtl) > .r-step__connector:before {
    animation: r-steps-river-flow var(--r-steps-river-flow-duration) linear infinite;
  }

  .r-steps--river.r-steps--traveler.r-steps--vertical > :is(.r-step--finish, .r-step--process) > .r-step__connector:before {
    animation: r-steps-river-fall var(--r-steps-river-flow-duration) linear infinite reverse;
  }

  .r-steps--traveler > .r-step[data-traveler="live"]:is(.r-step--process, .r-step--error) {
    animation: r-steps-traveler-advance var(--r-steps-traveler-advance-duration) linear forwards;
  }

  .r-steps--traveler > .r-step--error[data-traveler="live"] {
    animation-play-state: paused;
  }
}

@media (prefers-reduced-motion: reduce) {
  .r-steps--traveler {
    --r-steps-traveler-arrive-duration: 0s;
    --r-steps-traveler-rest-duration: 0s;
  }

  .r-steps--traveler > .r-step[data-traveler="live"]:is(.r-step--process, .r-step--error) {
    --r-step-traveler-pos: .5;
  }
}

@keyframes r-steps-traveler-advance {
  from {
    --r-step-traveler-pos: 0;
    animation-timing-function: cubic-bezier(.25, .7, .35, 1);
  }

  10% {
    --r-step-traveler-pos: var(--r-steps-traveler-advance);
    animation-timing-function: cubic-bezier(.2, .5, .4, 1);
  }

  to {
    --r-step-traveler-pos: var(--r-steps-traveler-advance-end);
  }
}

.r-steps--river.r-steps--traveler.r-steps--horizontal > .r-step, .r-steps--river.r-steps--traveler.r-steps--horizontal > .r-step:last-child {
  grid-template-columns: minmax(var(--r-steps-connector-min-width), 1fr)
    var(--r-steps-indicator-size);
  flex: 1 1 0;

  & > .r-step__main > .r-step__indicator {
    grid-area: 1 / 2;
  }

  & > .r-step__main > .r-step__content {
    padding-inline-end: 0;
    text-align: end;
    grid-area: 2 / 2;
    justify-self: end;
    width: max-content;
    max-width: 14rem;
    padding-top: 6px;
    display: block;
  }

  & > .r-step__main > .r-step__content > .r-step__title, & > .r-step__main > .r-step__content > .r-step__description {
    margin-inline-start: 0;
  }

  & > .r-step__main > .r-step__content > .r-step__title {
    white-space: normal;
  }

  & > .r-step__connector {
    grid-area: 1 / 1;
    display: block;
  }
}

.r-steps--river.r-steps--traveler.r-steps--horizontal > .r-step:first-child {
  grid-template-columns: var(--r-steps-indicator-size);
  flex: none;
  padding-inline-start: calc(var(--r-steps-traveler-size) * .9);

  & > .r-step__main > .r-step__indicator, & > .r-step__main > .r-step__content {
    grid-column: 1;
  }

  & > .r-step__main > .r-step__content {
    text-align: start;
    justify-self: start;
  }

  & > .r-step__connector {
    display: none;
  }
}

.r-steps--river.r-steps--traveler.r-steps--vertical > .r-step {
  padding-bottom: 0;
  padding-top: var(--r-steps-traveler-reach);

  & > .r-step__connector {
    height: calc(var(--r-steps-traveler-reach) + var(--r-steps-river-overlap-start) +
        var(--r-steps-river-overlap-end));
    bottom: auto;
    top: calc(-1 * var(--r-steps-river-overlap-start));
    display: block;
  }

  &:first-child {
    padding-top: calc(var(--r-steps-traveler-size) * .9);
  }

  &:first-child > .r-step__connector {
    display: none;
  }
}

.r-step__traveler {
  pointer-events: none;
  z-index: 1;
  position: absolute;
}

.r-step__traveler-body {
  height: var(--r-steps-traveler-size);
  transition: opacity var(--r-steps-duration) var(--r-steps-easing);
  width: var(--r-steps-traveler-size);
  position: absolute;

  @starting-style {
    opacity: 0;
  }
}

.r-steps--traveler.r-steps--horizontal > .r-step > .r-step__traveler {
  height: 0;
  inset-inline: var(--r-steps-connector-gap);
  top: calc(var(--r-steps-indicator-size) / 2);
  grid-area: 1 / 1;

  & > .r-step__traveler-body {
    inset-inline-start: calc(var(--r-step-traveler-pos) * 100%);
    translate: calc(-30% - var(--r-step-traveler-pos) * 40%) -50%;
    top: 0;
  }

  &:dir(rtl) > .r-step__traveler-body {
    scale: -1 1;
    translate: calc(30% + var(--r-step-traveler-pos) * 40%) -50%;
  }
}

.r-steps--traveler.r-steps--vertical > .r-step > .r-step__traveler {
  height: calc(var(--r-steps-traveler-reach) + var(--r-steps-river-overlap-start));
  inset-inline-start: calc((var(--r-steps-indicator-size) - var(--r-steps-river-width)) / 2);
  top: calc(-1 * var(--r-steps-river-overlap-start));
  width: var(--r-steps-river-width);

  & > .r-step__traveler-body {
    inset-inline-start: 50%;
    top: calc(var(--r-step-traveler-pos) * 100%);
    rotate: 90deg;
    translate: -50% calc(-30% - var(--r-step-traveler-pos) * 40%);
  }

  &:dir(rtl) > .r-step__traveler-body {
    translate: 50% calc(-30% - var(--r-step-traveler-pos) * 40%);
  }
}

.r-steps--traveler.r-steps--horizontal > .r-step:first-child > .r-step__traveler {
  inset-inline: calc(var(--r-steps-traveler-size) * -.6) 100%;
}

.r-steps--traveler.r-steps--vertical > .r-step:first-child > .r-step__traveler {
  height: calc(var(--r-steps-traveler-size) * .6);
  top: calc(var(--r-steps-traveler-size) * .3);
}

@media (prefers-reduced-motion: reduce) {
  .r-step__indicator, .r-step__title, .r-step__connector, .r-step__connector:before, .r-steps--traveler > .r-step, .r-step__traveler-body {
    transition: none;
  }
}
.r-island-indicator {
  overflow: visible;
}

.r-island-indicator * {
  transform-box: view-box;
}

.r-island-indicator--wait {
  filter: saturate(.45);
}

.r-island-indicator__flag {
  transform-origin: 30.7px 11px;
}

.r-island-indicator__ring {
  opacity: .8;
  transform-origin: 24px 29px;
}

@media (prefers-reduced-motion: no-preference) {
  .r-island-indicator__flag {
    animation: 1.6s ease-in-out infinite alternate r-island-indicator-wave;
  }

  .r-island-indicator__ring {
    animation: 1.8s ease-out infinite r-island-indicator-ring;
  }
}

@keyframes r-island-indicator-wave {
  from {
    transform: skewY(-4deg) scaleX(.94);
  }

  to {
    transform: skewY(3deg) scaleX(1);
  }
}

@keyframes r-island-indicator-ring {
  from {
    opacity: .9;
    transform: scale(.9);
  }

  to {
    opacity: 0;
    transform: scale(1.12);
  }
}
.r-otter-indicator {
  overflow: visible;
}

.r-otter-indicator * {
  transform-box: view-box;
}

.r-otter-indicator__body {
  transform-origin: 24px 28px;
}

.r-otter-indicator__arm {
  transform-origin: 29px 27px;
}

.r-otter-indicator__ripple {
  opacity: 0;
  transform-origin: 6px 30.5px;
}

.r-otter-indicator__z {
  opacity: 0;
}

.r-otter-indicator__parcel--adrift {
  transform-origin: 6px 25px;
}

@media (prefers-reduced-motion: no-preference) {
  .r-otter-indicator__wave {
    animation: 1.2s linear infinite r-otter-indicator-wave;
  }

  .r-otter-indicator__wave--back {
    animation-duration: 2s;
  }

  .r-otter-indicator--process .r-otter-indicator__body {
    animation: 1.8s ease-in-out infinite alternate r-otter-indicator-bob;
  }

  .r-otter-indicator--process .r-otter-indicator__arm {
    animation: .9s ease-in-out infinite alternate r-otter-indicator-paddle;
  }

  .r-otter-indicator--process .r-otter-indicator__ripple {
    animation: 1.8s ease-out infinite r-otter-indicator-ripple;
  }

  .r-otter-indicator--process .r-otter-indicator__ripple--late {
    animation-delay: .9s;
  }

  .r-otter-indicator--finish .r-otter-indicator__wave {
    animation-duration: 3s;
  }

  .r-otter-indicator--finish .r-otter-indicator__body {
    animation: 3.2s ease-in-out infinite alternate r-otter-indicator-bob;
  }

  .r-otter-indicator--wait .r-otter-indicator__body {
    animation: 2.4s ease-in-out infinite alternate r-otter-indicator-breathe;
  }

  .r-otter-indicator--wait .r-otter-indicator__z {
    animation: 2.4s ease-out infinite r-otter-indicator-z;
  }

  .r-otter-indicator--wait .r-otter-indicator__z--late {
    animation-delay: 1.2s;
  }

  .r-otter-indicator--error .r-otter-indicator__body {
    animation: .18s linear infinite alternate r-otter-indicator-shiver;
  }

  .r-otter-indicator--error .r-otter-indicator__parcel--adrift {
    animation: 2s ease-in-out infinite alternate r-otter-indicator-drift;
  }
}

.r-otter-traveler__stroke {
  transform-origin: 29px 23px;
}

.r-otter-traveler__kick {
  transform-origin: 13px 27px;
}

.r-otter-traveler__spray {
  opacity: 0;
  transform-origin: 36px 14px;
}

@media (prefers-reduced-motion: no-preference) {
  .r-otter-traveler.r-otter-indicator--process .r-otter-indicator__body {
    animation: .9s ease-in-out infinite r-otter-traveler-surge;
  }

  .r-otter-traveler__stroke {
    animation: .9s ease-in-out infinite r-otter-traveler-stroke;
  }

  .r-otter-traveler__kick {
    animation: .45s ease-in-out infinite alternate r-otter-traveler-kick;
  }

  .r-otter-traveler__spray {
    animation: .9s ease-out infinite r-otter-traveler-spray;
  }
}

@keyframes r-otter-traveler-stroke {
  from {
    transform: rotate(-75deg);
  }

  55% {
    transform: rotate(40deg);
  }

  to {
    transform: rotate(-75deg);
  }
}

@keyframes r-otter-traveler-kick {
  from {
    transform: rotate(-25deg);
  }

  to {
    transform: rotate(20deg);
  }
}

@keyframes r-otter-traveler-spray {
  0%, 45% {
    opacity: 0;
    transform: translate(-1px, 1px) scale(.6);
  }

  60% {
    opacity: .95;
  }

  to {
    opacity: 0;
    transform: translate(2px, -2.5px) scale(1);
  }
}

@keyframes r-otter-traveler-surge {
  0%, 100% {
    transform: translateX(0) rotate(-1deg);
  }

  55% {
    transform: translateX(1.2px) rotate(1.5deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .r-otter-indicator__z {
    opacity: 1;
  }
}

@keyframes r-otter-indicator-bob {
  from {
    transform: translateY(-.6px) rotate(-3deg);
  }

  to {
    transform: translateY(1.2px) rotate(2deg);
  }
}

@keyframes r-otter-indicator-paddle {
  from {
    transform: rotate(-35deg);
  }

  to {
    transform: rotate(30deg);
  }
}

@keyframes r-otter-indicator-wave {
  to {
    transform: translateX(-12px);
  }
}

@keyframes r-otter-indicator-ripple {
  from {
    opacity: .8;
    transform: scale(.4);
  }

  to {
    opacity: 0;
    transform: scale(1.6);
  }
}

@keyframes r-otter-indicator-breathe {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(1.02, 1.05);
  }
}

@keyframes r-otter-indicator-z {
  from {
    opacity: 0;
    transform: translate(0);
  }

  30% {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate(4px, -7px);
  }
}

@keyframes r-otter-indicator-shiver {
  from {
    transform: translateX(-.4px);
  }

  to {
    transform: translateX(.4px);
  }
}

@keyframes r-otter-indicator-drift {
  from {
    transform: translate(0) rotate(-18deg);
  }

  to {
    transform: translate(-1.5px, 1.2px) rotate(-8deg);
  }
}
.r-combobox-select {
  min-width: 0;
  position: relative;
}

.r-combobox-select__control {
  box-sizing: border-box;
  border: 1px solid var(--line-muted);
  background: var(--layer-panel);
  min-width: 0;
  color: var(--foreground-strong);
  box-shadow: 0 1px 1px color-mix(in oklch, var(--ink) 5%, transparent);
  border-radius: .375rem;
  outline: 0;
  align-items: center;
  gap: .5rem;
  padding: .375rem .5rem;
  transition: background-color .15s, border-color .15s, box-shadow .15s;
  display: flex;
}

.r-combobox-select__control:focus-within {
  box-shadow: 0 0 0 1px var(--primary-400);
}

.r-combobox-select__input {
  box-sizing: border-box;
  width: 100%;
  min-width: 3rem;
  color: inherit;
  font: inherit;
  background: none;
  border: 0;
  outline: 0;
  flex: 1;
  padding: 0;
}

.r-combobox-select__input::placeholder {
  color: var(--foreground-placeholder);
}

.r-combobox-select__chips {
  border: 0;
  flex-wrap: wrap;
  flex: 1;
  align-items: center;
  gap: .25rem;
  min-width: 0;
  min-height: 2.25rem;
  padding: .25rem .5rem;
  display: flex;
}

.r-combobox-select__chip {
  background: var(--fill-muted);
  max-width: 100%;
  min-height: 1.5rem;
  color: var(--foreground-strong);
  border-radius: .25rem;
  align-items: center;
  gap: .25rem;
  padding: .125rem .375rem .125rem .5rem;
  font-size: .75rem;
  line-height: 1.25rem;
  display: inline-flex;
  overflow: hidden;
}

.r-combobox-select__control:not(:focus-within) .r-combobox-select__chip[data-overflow] {
  display: none;
}

.r-combobox-select__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  overflow: hidden;
}

.r-combobox-select__actions {
  flex: none;
  align-items: center;
  gap: .125rem;
  display: inline-flex;
}

.r-combobox-select__action, .r-combobox-select__remove {
  width: 1.5rem;
  height: 1.5rem;
  color: inherit;
  background: none;
  border: 0;
  outline: 0;
  flex: none;
  justify-content: center;
  align-items: center;
  padding: 0;
  transition: color .15s, background-color .15s;
  display: inline-flex;
}

.r-combobox-select__remove {
  width: 1.125rem;
  height: 1.125rem;
}

.r-combobox-select__action > svg, .r-combobox-select__remove > svg {
  pointer-events: none;
  width: .875rem;
  height: .875rem;
}

.r-combobox-select__action:hover, .r-combobox-select__remove:hover {
  background: var(--ink-4);
  color: var(--foreground);
}

.r-combobox-select__positioner {
  z-index: 50;
  isolation: isolate;
  outline: 0;
}

.r-combobox-select__popup {
  box-sizing: border-box;
  width: var(--anchor-width, max-content);
  min-width: 13.75rem;
  max-width: var(--available-width);
  max-height: min(var(--available-height), 24rem);
  background: var(--layer-popover);
  color: var(--foreground-strong);
  box-shadow: var(--theme-shadow-lg);
  border: 0;
  border-radius: .375rem;
  outline: 0;
  overflow: hidden;
}

.r-combobox-select__list {
  overscroll-behavior: contain;
  max-height: 16rem;
  padding-block: .25rem;
  scroll-padding-block: .25rem;
  overflow-y: auto;
}

.r-combobox-select__option {
  box-sizing: border-box;
  cursor: default;
  user-select: none;
  width: 100%;
  min-height: 2rem;
  color: var(--foreground-muted);
  outline: 0;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .375rem .75rem;
  font-size: .875rem;
  line-height: 1.5rem;
  transition: background-color .12s, color .12s;
  display: flex;
  overflow: hidden;
}

.r-combobox-select__option:hover, .r-combobox-select__option[data-highlighted] {
  background: var(--ink-4);
  color: var(--foreground);
}

.r-combobox-select__option[data-disabled] {
  pointer-events: none;
  color: var(--foreground-disabled);
}

.r-combobox-select__option > svg {
  pointer-events: none;
  flex: none;
  width: .875rem;
  height: .875rem;
}

.r-combobox-select__indicator {
  flex: none;
  justify-content: center;
  align-items: center;
  margin-inline-start: auto;
  display: inline-flex;
}

.r-combobox-select__indicator > svg {
  width: .875rem;
  height: .875rem;
}

.r-combobox-select__group-label {
  color: var(--foreground-strong);
  padding: .5rem .75rem .25rem;
  font-size: .6875rem;
  font-weight: 600;
  line-height: 1;
}

.r-combobox-select__message {
  color: var(--foreground-muted);
  text-align: center;
  padding: 1rem .75rem;
  font-size: .875rem;
  line-height: 1.25rem;
}

.r-combobox-select__overflow {
  color: var(--foreground-muted);
  font-size: .75rem;
}

.r-combobox-select__spinner {
  width: .875rem;
  height: .875rem;
  animation: .7s linear infinite r-combobox-select-spin;
}

.r-combobox-select--sm.r-combobox-select__control {
  min-height: 1.75rem;
  padding-block: .125rem;
  font-size: .75rem;
}

.r-combobox-select--sm .r-combobox-select__chips {
  min-height: 1.5rem;
  padding-block: .125rem;
}

.r-combobox-select--lg.r-combobox-select__control {
  padding-block: .625rem;
  font-size: .9375rem;
}

.r-combobox-select__control[data-status="error"] {
  border-color: var(--danger);
}

.r-combobox-select__control[data-status="warning"] {
  border-color: var(--warning);
}

.r-combobox-select--brutal.r-combobox-select__control {
  border: 2px solid var(--line-strong);
  box-shadow: var(--theme-shadow-sm);
  border-radius: 0;
  font-weight: 600;
}

.r-combobox-select--brutal.r-combobox-select__popup {
  border: 2px solid var(--line-strong);
  box-shadow: var(--theme-shadow-lg);
  border-radius: 0;
}

.r-combobox-select--brutal .r-combobox-select__option {
  border-bottom: 1px solid var(--ink-10);
  color: var(--foreground-strong);
  font-weight: 600;
}

.r-combobox-select--brutal .r-combobox-select__option:hover, .r-combobox-select--brutal .r-combobox-select__option[data-highlighted] {
  background: color-mix(in oklch, var(--color-brutal-yellow) 30%, transparent);
}

.r-combobox-select--brutal .r-combobox-select__option[data-disabled] {
  color: var(--foreground-disabled);
  cursor: not-allowed;
  background: none;
}

.r-combobox-select--brutal .r-combobox-select__chip {
  border: 1px solid var(--line-strong);
  background: var(--color-brutal-yellow);
  border-radius: 0;
  font-weight: 700;
}

@keyframes r-combobox-select-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .r-combobox-select *, .r-combobox-select__positioner {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}
