#rcw {

  all: initial;

  --rcw-green: #36543d;

  --rcw-cream: #f7f1e8;

  --rcw-ink: #101a2e;

  --rcw-red: #940d0b;

  --rcw-gap: 16px;

  position: fixed;

  right: max(var(--rcw-gap), env(safe-area-inset-right));

  bottom: calc(max(var(--rcw-gap), env(safe-area-inset-bottom)) + var(--rcw-keyboard, 0px));

  z-index: 2147482000;

  color: var(--rcw-ink);

  font: 16px/1.4 "DM Sans", system-ui, -apple-system, sans-serif;

  text-align: left;

  isolation: isolate;

}

#rcw *, #rcw *::before, #rcw *::after { box-sizing: border-box; }

/* Theme display rules must not reveal inactive steps or the dismissed launcher. */

#rcw[hidden], #rcw [hidden] { display: none !important; }

#rcw :where(button, input, select, textarea, a, label, p, h3, strong, small, b) {

  all: unset;

  box-sizing: border-box;

}

#rcw button, #rcw a { cursor: pointer; }

#rcw :is(button, a, input, select, textarea):focus-visible {

  outline: 2px solid #8b5919;

  outline-offset: 2px;

}

#rcw svg { display: block; flex: none; width: 1em; height: 1em; }

#rcw .rcw-launcher { position: relative; display: flex; align-items: center; gap: 11px; }

#rcw .rcw-hint {

  position: relative;

  min-height: 44px;
  padding: 10px 13px;

  max-width: calc(100vw - 120px);

  overflow-wrap: anywhere;

  background: #fff;

  border: 1px solid #e3dfda;

  border-radius: 15px;

  box-shadow: 0 5px 14px #211a1730;

  font-size: 14px;

  font-weight: 650;

}

#rcw .rcw-hint::after {

  content: "";

  position: absolute;

  top: calc(50% - 5px);

  right: -6px;

  width: 10px;

  height: 10px;

  background: #fff;

  border: solid #e3dfda;

  border-width: 1px 1px 0 0;

  transform: rotate(45deg);

}

#rcw .rcw-bubble {

  width: 64px;

  height: 64px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background: var(--rcw-green);

  color: #fff;

  box-shadow: 0 8px 22px #233b3750;

  font-size: 37px;

}

#rcw .rcw-bubble::after {

  content: "";

  position: absolute;

  bottom: 1px;

  right: 4px;

  width: 13px;

  height: 13px;

  border: 2px solid white;

  border-radius: 50%;

  background: #11ba37;

  pointer-events: none;

}

#rcw .rcw-hide {

  position: absolute;

  right: -3px;

  top: -6px;

  width: 30px;

  height: 30px;

  border-radius: 50%;

  background: #fff;

  box-shadow: 0 2px 9px #0003;

  text-align: center;

  font-size: 21px;

}

#rcw .rcw-hide::before { content: ""; position: absolute; inset: -6px; }

#rcw .rcw-panel {

  width: min(430px, calc(100vw - 2 * var(--rcw-gap)));

  max-height: calc(100vh - 2 * var(--rcw-gap));

  max-height: calc(var(--rcw-visible-height, 100dvh) - 2 * var(--rcw-gap) - env(safe-area-inset-bottom));

  display: flex;

  flex-direction: column;

  overflow: hidden;

  border-radius: 24px;

  background: linear-gradient(145deg, #fbf8f4, var(--rcw-cream));

  box-shadow: 0 9px 22px #251c2240, 0 2px 6px #251c2212;

}

#rcw .rcw-panel::after {

  content: "";

  flex: 0 0 23px;

  pointer-events: none;

  background: radial-gradient(ellipse 68% 280% at 93% 265%, #b6c39380 97%, transparent 98%),

    radial-gradient(ellipse 72% 280% at 2% 280%, #ebddb875 97%, transparent 98%);

}

#rcw .rcw-head {

  position: relative;

  flex: none;

  display: flex;

  align-items: center;

  gap: 9px;

  padding: 9px 10px 16px 19px;

  background: var(--rcw-green);

  color: #fff;

}

#rcw .rcw-head::after {

  content: "";

  position: absolute;

  bottom: -1px;

  left: 0;

  width: 100%;

  height: 14px;

  background: #fbf8f4;

  clip-path: polygon(0 100%, 5% 53%, 12% 25%, 20% 24%, 39% 58%, 51% 66%, 62% 50%, 82% 6%, 91% 3%, 97% 24%, 100% 52%, 100% 100%);

}

#rcw .rcw-head .rcw-icon { font-size: 34px; }

#rcw .rcw-head strong { flex: 1; font-size: clamp(17px, 5vw, 24px); font-weight: 750; line-height: 1.1; }

#rcw .rcw-head button { position: relative; z-index: 2; flex: none; width: 38px; min-height: 44px; text-align: center; font-size: 29px; line-height: 1; }

#rcw .rcw-head button:focus-visible { outline-color: #fff; outline-offset: -4px; border-radius: 9px; }

#rcw .rcw-body { min-height: 0; overflow: auto; overscroll-behavior: contain; padding: 12px 18px 4px; }

#rcw .rcw-step1 { padding-inline: 5px; }

#rcw .rcw-intro, #rcw .rcw-sub { display: block; text-align: center; font-weight: 550; }

#rcw .rcw-intro { margin: 3px 0 23px; }

#rcw .rcw-form { display: grid; gap: 15px; margin: 0 0 14px; }

#rcw .rcw-form label { display: block; min-width: 0; font-weight: 750; line-height: 1.25; color: #111615; }

#rcw .rcw-label { display: block; }

#rcw .rcw-label .rcw-icon { display: inline-block; vertical-align: -.19em; margin-right: 7px; color: var(--rcw-green); font-size: 19px; }

#rcw .rcw-label b { color: #aa1414; }

#rcw .rcw-form :is(input, select, textarea) {

  display: block;

  width: 100%;

  min-height: 44px;

  margin-top: 5px;

  padding: 8px 12px;

  border: 1px solid #d3cfcd;

  border-radius: 12px;

  background: #fff;

  color: var(--rcw-ink);

  font-size: 16px;

  font-weight: 400;

}

#rcw .rcw-form :is(input, textarea)::placeholder { color: #525563; opacity: 1; }

#rcw .rcw-form input[type="number"] { appearance: textfield; }

#rcw .rcw-form input::-webkit-inner-spin-button { appearance: none; }

#rcw .rcw-form select {

  padding-right: 29px;

  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%234c505a' stroke-width='2' d='m3 6 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 9px center;

}

#rcw .rcw-form textarea { min-height: 84px; resize: vertical; }

#rcw .rcw-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }

#rcw .rcw-next {

  display: flex;

  justify-content: center;

  align-items: center;

  gap: 10px;

  min-height: 46px;

  margin-top: 5px;

  border-radius: 14px;

  background: var(--rcw-green);

  color: #fff;

  font-size: 19px;

  font-weight: 750;

}

#rcw .rcw-step2 h3 { display: block; text-align: center; font-size: clamp(20px, 5vw, 25px); font-weight: 800; line-height: 1.12; }

#rcw .rcw-sub { font-size: 14px; margin: 5px 0 12px; }

#rcw .rcw-channel {

  display: grid;

  grid-template-columns: 54px minmax(0, 1fr) 22px;

  align-items: center;

  gap: 13px;

  width: 100%;

  margin-bottom: 8px;

  padding: 8px 14px;

  border: 1px solid #c6dfbe;

  border-radius: 16px;

  background: #edf5e5;

  color: #112717;

}

#rcw .rcw-ms { border-color: #bedcf4; background: #e7f2fb; color: var(--rcw-ink); }

#rcw .rcw-channel strong { display: block; font-size: 18px; font-weight: 800; line-height: 1.12; }

#rcw .rcw-channel small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.3; }

#rcw .rcw-channel .rcw-arrow { width: 22px; height: 22px; color: var(--rcw-green); }

#rcw .rcw-channel:disabled { opacity: .52; cursor: not-allowed; }

#rcw .rcw-brand { display: grid; place-items: center; width: 52px; height: 52px; }

#rcw .rcw-brand svg { width: 100%; height: 100%; }

#rcw .rcw-brand-ms { position: relative; border-radius: 50% 50% 50% 45%; background: radial-gradient(at 75% 0, #ff45a1, #8c29fa 32%, #096bfd 64%); }

#rcw .rcw-brand-ms::after { content: ""; position: absolute; bottom: -2px; left: 9px; border: 6px solid transparent; border-left-color: #096bfd; transform: rotate(12deg); }

#rcw .rcw-help { display: block; margin-top: 12px; padding: 11px; border: 1px solid #ef9693; border-radius: 16px; background: #ffedeb; color: var(--rcw-red); }

#rcw .rcw-help-copy { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 10px; }

#rcw .rcw-heart { width: 43px; height: 43px; color: #c71816; }

#rcw .rcw-help strong { display: block; padding-left: 10px; border-left: 1px solid #e67774; font-size: 15px; line-height: 1.25; font-weight: 780; }

#rcw .rcw-help-cta { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 42px; padding: 5px 10px; margin-top: 10px; border-radius: 24px; background: var(--rcw-red); color: #fff; text-align: center; font-size: 14px; font-weight: 750; }

#rcw .rcw-help small { display: block; text-align: center; margin-top: 5px; font-size: 12px; }

#rcw .rcw-privacy { display: block; margin: 6px auto 3px; text-align: center; font-size: 13px; color: #39414f; }

#rcw .rcw-privacy svg { display: inline-block; vertical-align: -.16em; }

#rcw .rcw-privacy a { display: inline; color: var(--rcw-green); text-decoration: underline; }

#rcw .rcw-back { display: block; min-height: 44px; color: var(--rcw-green); font-size: 13px; font-weight: 700; }

#rcw .rcw-error { display: block; margin-bottom: 7px; padding: 8px; background: #ffedeb; border-radius: 9px; color: var(--rcw-red); font-size: 14px; }

#rcw .rcw-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); pointer-events: none; }

#rcw .rcw-turnstile { text-align: center; }

#rcw .rcw-turnstile iframe { max-width: 100%; }

#rcw :is(.rcw-next, .rcw-bubble, .rcw-hint, .rcw-help, .rcw-channel:enabled):hover { filter: brightness(.96); }

@media (max-width: 480px) {

  #rcw { --rcw-gap: 10px; }

  #rcw .rcw-panel { border-radius: 19px; }

  #rcw .rcw-body { padding-inline: 12px; }

  #rcw .rcw-channel { grid-template-columns: 44px minmax(0, 1fr) 20px; gap: 9px; padding-inline: 9px; }

  #rcw .rcw-brand { width: 43px; height: 43px; }

  #rcw .rcw-help-copy { grid-template-columns: 34px 1fr; gap: 8px; }

  #rcw .rcw-heart { width: 32px; height: 32px; }

}

