:root {
  --rw-helper-accent: #ff3854;
  --rw-helper-accent-soft: rgba(255, 56, 84, 0.16);
  --rw-helper-glass: rgba(5, 5, 9, 0.76);
  --rw-helper-panel: rgba(24, 28, 36, 0.86);
  --rw-helper-border: rgba(255, 255, 255, 0.14);
  --rw-helper-text: #ffffff;
  --rw-helper-muted: #b9c0cc;
  --rw-helper-steel: #dce6f5;
  --rw-helper-shadow: 0 22px 58px rgba(0, 0, 0, 0.42);
}

.rw-helper {
  bottom: max(1rem, env(safe-area-inset-bottom));
  color: var(--rw-helper-text);
  font-family: "Google Sans Flex", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  left: 0;
  position: fixed;
  z-index: 70;
}

.rw-helper__sr {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.rw-helper__toggle,
.rw-helper__panel {
  -webkit-backdrop-filter: blur(18px) saturate(1.24);
  backdrop-filter: blur(18px) saturate(1.24);
  border: 1px solid var(--rw-helper-border);
  box-shadow: var(--rw-helper-shadow);
}

.rw-helper__toggle {
  align-items: center;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 56, 84, 0.1), rgba(139, 209, 255, 0.04)),
    var(--rw-helper-glass);
  border-left: 0;
  border-radius: 0 0.55rem 0.55rem 0;
  color: var(--rw-helper-steel);
  cursor: pointer;
  display: inline-flex;
  height: 3.1rem;
  justify-content: flex-end;
  opacity: 0;
  padding: 0 0.88rem 0 1.6rem;
  transform: translateX(-1.18rem);
  transition:
    opacity 220ms ease-in-out,
    transform 220ms ease-in-out,
    background-color 180ms ease-in-out,
    border-color 180ms ease-in-out,
    box-shadow 180ms ease-in-out;
  width: 4.35rem;
}

.rw-helper__toggle:not([hidden]) {
  opacity: 0.78;
}

.rw-helper__toggle:hover,
.rw-helper__toggle:focus-visible,
.rw-helper__toggle[aria-expanded="true"] {
  border-color: rgba(255, 56, 84, 0.38);
  box-shadow:
    0 20px 52px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(255, 56, 84, 0.12) inset;
  color: #ffffff;
  opacity: 1;
  outline: none;
  transform: translateX(0);
}

.rw-helper__toggle-mark {
  align-items: center;
  border-left: 2px solid var(--rw-helper-accent);
  display: inline-flex;
  font-size: 0.94rem;
  font-weight: 900;
  height: 1.35rem;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  min-width: 1.6rem;
  padding-left: 0.48rem;
}

.rw-helper__panel {
  animation: rw-helper-slide-in 260ms ease-in-out both;
  background:
    radial-gradient(circle at 16% 0%, rgba(255, 56, 84, 0.18), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(139, 209, 255, 0.1), transparent 30%),
    linear-gradient(135deg, rgba(24, 28, 36, 0.92), rgba(5, 5, 9, 0.88)),
    var(--rw-helper-panel);
  border-radius: 0.5rem;
  margin-left: 0.78rem;
  padding: 1rem;
  transform-origin: left bottom;
  width: min(calc(100vw - 1.55rem), 20.5rem);
}

.rw-helper__header {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  margin-bottom: 0.6rem;
}

.rw-helper__header h2 {
  color: var(--rw-helper-text);
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
  margin: 0;
}

.rw-helper__close {
  align-items: center;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.45rem;
  color: var(--rw-helper-muted);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.2rem;
  height: 2rem;
  justify-content: center;
  line-height: 1;
  padding: 0;
  transition:
    background-color 160ms ease-in-out,
    border-color 160ms ease-in-out,
    color 160ms ease-in-out;
  width: 2rem;
}

.rw-helper__close:hover,
.rw-helper__close:focus-visible {
  background: var(--rw-helper-accent-soft);
  border-color: rgba(255, 56, 84, 0.4);
  color: #ffffff;
  outline: none;
}

.rw-helper__message {
  color: var(--rw-helper-muted);
  font-size: 0.88rem;
  line-height: 1.45;
  margin: 0 0 0.9rem;
}

.rw-helper__actions {
  display: grid;
  gap: 0.55rem;
  grid-template-columns: 1fr 1fr;
}

.rw-helper__action {
  align-items: center;
  background: rgba(255, 255, 255, 0.055);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.45rem;
  color: var(--rw-helper-text);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.82rem;
  font-weight: 850;
  justify-content: center;
  min-height: 2.55rem;
  padding: 0.64rem 0.72rem;
  transition:
    background-color 180ms ease-in-out,
    border-color 180ms ease-in-out,
    color 180ms ease-in-out,
    transform 180ms ease-in-out;
}

.rw-helper__action:hover,
.rw-helper__action:focus-visible {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 56, 84, 0.44);
  color: #ffffff;
  outline: none;
  transform: translateY(-1px);
}

.rw-helper__action--choice {
  color: var(--rw-helper-steel);
}

.rw-helper__action.is-active {
  background: var(--rw-helper-accent-soft);
  border-color: rgba(255, 56, 84, 0.55);
  box-shadow: 0 0 0 3px rgba(255, 56, 84, 0.1);
  color: #ffffff;
}

.rw-helper__status {
  color: var(--rw-helper-steel);
  font-size: 0.76rem;
  font-weight: 800;
  margin: 0.8rem 0 0;
  min-height: 1rem;
}

html.rw-large-text {
  font-size: 106.25%;
}

html.rw-high-contrast {
  filter: contrast(1.12) saturate(1.04);
}

html.rw-high-contrast body {
  background: #000000;
}

@keyframes rw-helper-slide-in {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 640px) {
  .rw-helper {
    bottom: max(0.72rem, env(safe-area-inset-bottom));
  }

  .rw-helper__toggle {
    height: 2.9rem;
    width: 4rem;
  }

  .rw-helper__panel {
    width: min(calc(100vw - 1.2rem), 19.5rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rw-helper__toggle,
  .rw-helper__panel,
  .rw-helper__action,
  .rw-helper__close {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}
