.rb-root,
.rb-root * {
  box-sizing: border-box;
}

.rb-root {
  --rb-green: #55d692;
  --rb-green-deep: #174d36;
  --rb-panel: #0d1713;
  --rb-panel-soft: #14221c;
  --rb-border: rgba(145, 225, 182, 0.2);
  --rb-text: #f4f8f5;
  --rb-muted: #a9bbb1;
  --rb-cookie-offset: 0px;
  position: fixed;
  inset: auto 0 0 auto;
  z-index: 2147482000;
  color: var(--rb-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.rb-trigger {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(max(20px, env(safe-area-inset-bottom)) + var(--rb-cookie-offset));
  min-height: 54px;
  padding: 0 20px 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(174, 255, 211, 0.28);
  border-radius: 999px;
  background:
    radial-gradient(circle at 24% 18%, rgba(179, 255, 210, 0.24), transparent 28%),
    linear-gradient(135deg, #0c251b 0%, #174d36 48%, #2c825b 100%);
  box-shadow: 0 18px 48px rgba(3, 19, 12, 0.34), inset 0 1px 0 rgba(255,255,255,0.12);
  color: #fff;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  transition: bottom 460ms cubic-bezier(.22,.8,.3,1), transform 160ms ease, box-shadow 160ms ease;
}

.rb-closed-notice {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(max(20px, env(safe-area-inset-bottom)) + 66px + var(--rb-cookie-offset));
  width: min(310px, calc(100vw - 32px));
  display: flex;
  align-items: flex-start;
  transition: bottom 460ms cubic-bezier(.22,.8,.3,1), transform 180ms ease;
}
.rb-teaser {
  width: 100%;
  min-height: 55px;
  padding: 10px 13px;
  border: 1px solid rgba(145, 225, 182, .22);
  border-radius: 14px;
  background: rgba(10, 25, 18, .96);
  color: #e9f8ef;
  box-shadow: 0 14px 38px rgba(3, 19, 12, .3);
  font: inherit;
  font-size: .76rem;
  font-weight: 720;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease;
}
.rb-teaser span { display: block; padding-right: 22px; transition: opacity 180ms ease, transform 180ms ease; }
.rb-teaser span.rb-notice-changing { opacity: 0; transform: translateY(5px); }
.rb-teaser-dismiss { position: absolute; top: 6px; right: 6px; z-index: 1; width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 9px; background: transparent; color: #94aa9e; font: inherit; font-size: 18px; cursor: pointer; }
.rb-teaser-dismiss:hover { background: rgba(255,255,255,.08); color: #fff; }
.rb-teaser::after { content: ''; position: absolute; right: 25px; bottom: -7px; width: 12px; height: 12px; border-right: 1px solid rgba(145,225,182,.22); border-bottom: 1px solid rgba(145,225,182,.22); background: #0a1912; transform: rotate(45deg); }
.rb-teaser:hover { border-color: rgba(115,231,169,.42); }
.rb-teaser:focus-visible { outline: 3px solid rgba(115,231,169,.42); outline-offset: 2px; }
.rb-root.rb-open .rb-closed-notice { display: none; }
.rb-root.rb-cookie-drop .rb-trigger,
.rb-root.rb-cookie-drop .rb-closed-notice { animation: rb-cookie-settle 500ms cubic-bezier(.22,.8,.3,1); }
@keyframes rb-cookie-settle { 0% { transform: translateY(-10px); } 68% { transform: translateY(3px); } 100% { transform: translateY(0); } }

.rb-closed-wave .rb-trigger-mark svg { animation: rb-icon-wave .34s ease-in-out 4 alternate; }
.rb-closed-hop .rb-trigger-mark svg { animation: rb-icon-hop .64s cubic-bezier(.22,.8,.3,1) 2; }
.rb-closed-wiggle .rb-trigger-mark svg { animation: rb-icon-think .42s ease-in-out 3; }

.rb-trigger:hover { transform: translateY(-2px); box-shadow: 0 22px 54px rgba(3, 19, 12, 0.42), inset 0 1px 0 rgba(255,255,255,0.16); }
.rb-trigger:focus-visible,
.rb-icon-btn:focus-visible,
.rb-send:focus-visible,
.rb-chip:focus-visible,
.rb-action:focus-visible,
.rb-helpful button:focus-visible,
.rb-related button:focus-visible,
.rb-faq-toggle:focus-visible,
.rb-faq-select:focus-visible,
.rb-faq-question:focus-visible,
.rb-starter-nav:focus-visible,
.rb-starter-close:focus-visible,
.rb-starters:focus-visible,
.rb-modal button:focus-visible,
.rb-input:focus-visible { outline: 3px solid rgba(115, 231, 169, 0.42); outline-offset: 2px; }

.rb-trigger-mark,
.rb-avatar {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(145deg, #e7fff2 0%, #73e7a9 48%, #23845b 100%);
  color: #0d2b1f;
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.8), 0 7px 18px rgba(0,0,0,0.25);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 900;
}

.rb-panel {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: calc(max(20px, env(safe-area-inset-bottom)) + var(--rb-cookie-offset));
  width: min(420px, calc(100vw - 28px));
  height: min(650px, calc(100dvh - 40px - var(--rb-cookie-offset)));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--rb-border);
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 0%, rgba(75, 190, 127, 0.17), transparent 35%),
    linear-gradient(160deg, rgba(19, 39, 30, 0.985), rgba(8, 16, 13, 0.99));
  box-shadow: 0 30px 90px rgba(0,0,0,0.46), inset 0 1px 0 rgba(255,255,255,0.07);
  backdrop-filter: blur(18px);
  animation: rb-in 180ms ease-out;
  transition: bottom 460ms cubic-bezier(.22,.8,.3,1), height 460ms cubic-bezier(.22,.8,.3,1);
}

@keyframes rb-in { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: none; } }

.rb-root [hidden] { display: none !important; }

.rb-trigger-mark,
.rb-avatar { position: relative; overflow: visible; transform-origin: 50% 70%; animation: rb-icon-idle 3.2s ease-in-out infinite; }
.rb-trigger-mark::after,
.rb-avatar::after { content: '?'; position: absolute; right: -5px; top: -10px; color: #d5ffe7; font-family: Georgia, serif; font-size: 17px; font-weight: 900; text-shadow: 0 0 12px rgba(104,229,162,.75); opacity: 0; pointer-events: none; }
.rb-avatar svg { transform-origin: 50% 65%; will-change: transform; }
.rb-bot-thinking .rb-avatar svg { animation: rb-icon-think .9s ease-in-out infinite; }
.rb-bot-thinking .rb-avatar::after { animation: rb-icon-question 1.15s ease-out infinite; }
.rb-bot-wave .rb-avatar svg { animation: rb-icon-wave .34s ease-in-out 4 alternate; }
.rb-bot-hop .rb-avatar svg { animation: rb-icon-hop .64s cubic-bezier(.22,.8,.3,1) 2; }
.rb-bot-spin .rb-avatar svg { animation: rb-icon-spin 1.2s cubic-bezier(.4,.05,.25,1); }
@keyframes rb-icon-idle { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-3px) rotate(1deg); } }
@keyframes rb-icon-think { 0%,100% { transform: translateX(-2px) rotate(-3deg); } 50% { transform: translateX(3px) rotate(3deg); } }
@keyframes rb-icon-question { 0% { transform: translateY(7px) scale(.65); opacity: 0; } 28% { opacity: 1; } 100% { transform: translateY(-10px) scale(1.12) rotate(8deg); opacity: 0; } }
@keyframes rb-icon-wave { from { transform: rotate(0); } to { transform: rotate(-13deg) translateY(-2px); } }
@keyframes rb-icon-hop { 0%,100% { transform: translateY(0); } 40% { transform: translateY(-8px) scale(1.04); } 75% { transform: translateY(1px) scale(.98); } }
@keyframes rb-icon-spin { from { transform: rotateY(0); } to { transform: rotateY(360deg); } }

.rb-header {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 12px 10px 14px;
  border-bottom: 1px solid var(--rb-border);
  background: linear-gradient(110deg, rgba(52, 139, 96, 0.2), rgba(12, 28, 21, 0.16));
}

.rb-avatar { width: 40px; height: 40px; font-size: 25px; }
.rb-avatar svg, .rb-trigger-mark svg { width: 29px; height: 29px; overflow: visible; }
.rb-avatar svg rect, .rb-trigger-mark svg rect { fill: #123526; stroke: rgba(13,43,31,.7); stroke-width: 1.5; }
.rb-avatar svg circle, .rb-trigger-mark svg circle { fill: #d7ffe8; }
.rb-avatar svg path, .rb-trigger-mark svg path { fill: none; stroke: #d7ffe8; stroke-width: 2.4; stroke-linecap: round; }
.rb-heading { min-width: 0; flex: 1; }
.rb-heading strong { display: block; font-size: 1rem; letter-spacing: -0.01em; }
.rb-heading small { display: flex; align-items: center; gap: 6px; min-width: 0; margin-top: 2px; color: var(--rb-muted); font-size: .72rem; }
.rb-heading small span,
.rb-heading small a { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rb-heading small a { color: #bdebd1; font-weight: 700; text-decoration: none; text-underline-offset: 2px; }
.rb-heading small a:hover { color: #e4fff0; text-decoration: underline; }
.rb-heading small a:focus-visible { border-radius: 4px; outline: 2px solid rgba(115,231,169,.52); outline-offset: 2px; }
.rb-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--rb-green); box-shadow: 0 0 10px rgba(85,214,146,.7); }
.rb-header-actions { display: flex; gap: 5px; }
.rb-icon-btn {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--rb-muted);
  font: inherit;
  font-size: 19px;
  cursor: pointer;
}
.rb-icon-btn:hover { color: #fff; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.08); }

.rb-privacy {
  margin: 7px 10px 0;
  padding: 7px 9px;
  border: 1px solid rgba(110, 213, 158, .13);
  border-radius: 12px;
  background: rgba(70, 160, 112, .08);
  color: #bfd2c7;
  font-size: .68rem;
  line-height: 1.45;
  transition: opacity .24s ease, transform .24s ease, margin .24s ease, padding .24s ease;
}
.rb-privacy.rb-privacy-leave { opacity: 0; transform: translateY(-5px); }

.rb-primary-tools { display: grid; grid-template-columns: 1.35fr .8fr; gap: 7px; padding: 7px 10px 0; }
.rb-primary-tools button { min-height: 38px; padding: 7px 9px; border: 1px solid rgba(115,231,169,.22); border-radius: 11px; background: rgba(88,206,143,.09); color: #dff8ea; font: inherit; font-size: .69rem; font-weight: 800; cursor: pointer; }
.rb-primary-tools button:first-child { background: linear-gradient(145deg, rgba(89,214,149,.22), rgba(35,132,91,.16)); }
.rb-primary-tools button:hover { border-color: rgba(115,231,169,.48); background: rgba(88,206,143,.17); }
.rb-primary-tools .rb-chatbot-service { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 36px; text-align: left; color: #c9f4dc; background: linear-gradient(100deg, rgba(70,179,124,.14), rgba(72,117,190,.12)); }
.rb-primary-tools .rb-chatbot-service span { flex: 0 0 auto; font-size: 1rem; transition: transform .18s ease; }
.rb-primary-tools .rb-chatbot-service:hover span { transform: translateX(3px); }

.rb-messages {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 16px 14px 12px;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(112, 174, 140, .42) transparent;
  scroll-padding-block: 8px;
}
.rb-messages::-webkit-scrollbar { width: 7px; }
.rb-messages::-webkit-scrollbar-track { background: transparent; }
.rb-messages::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(112, 174, 140, .34); }

.rb-empty { min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 20px; opacity: .94; }
.rb-bot-illustration { display: block; width: min(180px, 58%); height: auto; filter: drop-shadow(0 18px 30px rgba(14, 100, 62, .28)); animation: rb-bot-float 3.4s ease-in-out infinite; }
.rb-empty-copy { max-width: 310px; margin: 0; color: #d9ece1; font-size: .9rem; font-weight: 720; line-height: 1.5; text-align: center; text-wrap: balance; }
@keyframes rb-bot-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

.rb-message { display: flex; margin: 0 0 12px; }
.rb-message-user { justify-content: flex-end; }
.rb-message-stack { display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: min(100%, 372px); }
.rb-user-message-stack { display: flex; justify-content: flex-end; max-width: 87%; }
.rb-bubble { max-width: 87%; padding: 10px 12px; border-radius: 16px; font-size: .88rem; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }
.rb-message-bot .rb-bubble { width: 100%; max-width: none; border: 1px solid rgba(255,255,255,.08); border-bottom-left-radius: 5px; background: rgba(255,255,255,.065); color: #edf5f0; box-shadow: 0 8px 22px rgba(0,0,0,.08); }
.rb-message-user .rb-bubble { border-bottom-right-radius: 5px; background: linear-gradient(135deg, #2c805a, #1d6245); color: #fff; }
.rb-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.rb-action {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  border: 1px solid rgba(115,231,169,.27);
  border-radius: 10px;
  color: #aef1cc;
  background: rgba(66, 158, 107, .1);
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
  font-family: inherit;
  cursor: pointer;
}
.rb-action:hover { background: rgba(66, 158, 107, .2); color: #d7ffe9; }

.rb-helpful { padding: 10px 11px; border: 1px solid rgba(115,231,169,.16); border-radius: 13px; background: rgba(72,151,108,.075); box-shadow: 0 8px 22px rgba(0,0,0,.06); white-space: normal; }
.rb-helpful > strong { display: block; color: #dbe9e1; font-size: .74rem; }
.rb-helpful-votes { display: flex; align-items: center; gap: 7px; margin-top: 7px; }
.rb-helpful-votes button { min-width: 70px; min-height: 34px; padding: 5px 11px; border: 1px solid rgba(115,231,169,.22); border-radius: 10px; background: rgba(255,255,255,.045); color: #e7f3ec; font: inherit; font-size: .74rem; font-weight: 750; cursor: pointer; }
.rb-helpful-votes button:hover,
.rb-helpful-votes button.active { border-color: #65d99c; background: rgba(65,154,105,.22); }
.rb-helpful-result { color: #aef1cc; font-size: .72rem; font-weight: 750; }
.rb-helpful-feedback { margin-top: 8px; padding: 0; border: 0; background: transparent; color: #aef1cc; font: inherit; font-size: .7rem; font-weight: 750; text-align: left; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rb-helpful-followup { display: block; margin-top: 10px; padding-top: 9px; border-top: 1px solid rgba(115,231,169,.13); color: #bfd2c7; font-size: .7rem; font-weight: 750; }
.rb-helpful-followup > span { display: block; margin-bottom: 6px; }
.rb-helpful-followup select { width: 100%; min-height: 40px; padding: 7px 34px 7px 10px; border: 1px solid rgba(115,231,169,.24); border-radius: 10px; outline: none; background: #15261e; color: #f1f8f4; font: inherit; font-size: 16px; cursor: pointer; }
.rb-helpful-followup select:focus-visible { border-color: #65d99c; box-shadow: 0 0 0 3px rgba(101,217,156,.18); }
.rb-related { padding: 10px 11px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; background: rgba(255,255,255,.035); box-shadow: 0 8px 22px rgba(0,0,0,.05); white-space: normal; }
.rb-related > span { display: block; margin-bottom: 7px; color: #b8ccc0; font-size: .7rem; font-weight: 750; }
.rb-related > div { display: flex; flex-wrap: wrap; gap: 6px; }
.rb-related button { min-height: 34px; padding: 6px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: rgba(255,255,255,.04); color: #cfe1d7; font: inherit; font-size: .7rem; line-height: 1.25; text-align: left; cursor: pointer; }
.rb-related button:hover { border-color: rgba(115,231,169,.32); color: #edfff5; }

.rb-thinking-bubble {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(255px, 86%);
  min-height: 82px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 48%, rgba(96, 224, 157, .18), transparent 34%),
    linear-gradient(130deg, rgba(255,255,255,.085), rgba(64,154,105,.08)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 10px 24px rgba(0,0,0,.12);
}
.rb-thinking-bubble::after {
  content: '';
  position: absolute;
  inset: -50% auto -50% -35%;
  width: 38%;
  transform: rotate(16deg);
  background: linear-gradient(90deg, transparent, rgba(157,247,199,.1), transparent);
  animation: rb-thinking-sheen 1.45s ease-in-out infinite;
  pointer-events: none;
}
.rb-thinking-scene { position: relative; flex: 0 0 72px; width: 72px; height: 62px; }
.rb-thinking-bot {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 72px;
  height: 62px;
  overflow: visible;
  filter: drop-shadow(0 8px 11px rgba(31,135,87,.28));
  transform-origin: 50% 86%;
  animation: rb-thinking-sway 1.15s cubic-bezier(.45,.05,.55,.95) infinite;
}
.rb-thinking-bot > rect:first-of-type { fill: url(#rbThinkingBody); stroke: rgba(218,255,234,.45); stroke-width: 1.2; }
.rb-thinking-bot > path:first-of-type { fill: none; stroke: #74dca3; stroke-width: 3; stroke-linecap: round; }
.rb-thinking-antenna { fill: #d2fce4; }
.rb-thinking-face { fill: #11261d; }
.rb-thinking-eye { fill: #d9ffe9; transform-box: fill-box; transform-origin: center; animation: rb-thinking-look 1.15s ease-in-out infinite; }
.rb-thinking-mouth { fill: none; stroke: #8ee8b7; stroke-width: 2.2; stroke-linecap: round; }
.rb-thinking-leg { fill: none; stroke: #4fbd82; stroke-width: 5; stroke-linecap: round; }
.rb-thinking-symbols { position: absolute; z-index: 2; inset: -7px 0 auto 0; height: 28px; pointer-events: none; }
.rb-thinking-symbols span {
  position: absolute;
  color: #b9f6d2;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 0 12px rgba(105,229,162,.55);
  opacity: 0;
  animation: rb-thinking-question 1.45s ease-out infinite;
}
.rb-thinking-symbols span:nth-child(1) { left: 10px; top: 9px; font-size: 13px; animation-delay: 0s; }
.rb-thinking-symbols span:nth-child(2) { left: 31px; top: 1px; font-size: 18px; animation-delay: .28s; }
.rb-thinking-symbols span:nth-child(3) { right: 7px; top: 11px; font-size: 12px; animation-delay: .56s; }
.rb-thinking-copy { position: relative; z-index: 1; flex: 1; min-width: 0; }
.rb-thinking-copy strong { display: block; color: #dff6e9; font-size: .76rem; line-height: 1.35; }
.rb-thinking-track { position: relative; display: block; width: 100%; height: 4px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }
.rb-thinking-track i { position: absolute; inset: 0 auto 0 0; width: 45%; border-radius: inherit; background: linear-gradient(90deg, transparent, #7ce3ab, #ccf9df, transparent); filter: drop-shadow(0 0 5px rgba(112,229,166,.6)); animation: rb-thinking-track 1.05s ease-in-out infinite; }
@keyframes rb-thinking-sway { 0%,100% { transform: translateX(-3px) rotate(-1.5deg); } 50% { transform: translateX(5px) rotate(1.8deg); } }
@keyframes rb-thinking-look { 0%,100% { transform: translateX(-1.2px) scaleY(1); } 45% { transform: translateX(1.4px) scaleY(1); } 52% { transform: translateX(1.4px) scaleY(.2); } 59% { transform: translateX(1.4px) scaleY(1); } }
@keyframes rb-thinking-question { 0% { transform: translateY(5px) scale(.65) rotate(-7deg); opacity: 0; } 25% { opacity: .95; } 72% { opacity: .72; } 100% { transform: translateY(-13px) scale(1.08) rotate(7deg); opacity: 0; } }
@keyframes rb-thinking-track { 0% { transform: translateX(-120%); opacity: .35; } 50% { opacity: 1; } 100% { transform: translateX(250%); opacity: .35; } }
@keyframes rb-thinking-sheen { 0%,18% { transform: translateX(0) rotate(16deg); opacity: 0; } 42% { opacity: 1; } 72%,100% { transform: translateX(420%) rotate(16deg); opacity: 0; } }

.rb-starter-section { flex: 0 0 auto; padding: 5px 8px 6px; border-top: 1px solid rgba(145,225,182,.12); background: rgba(6,15,11,.26); transition: padding-bottom 260ms ease; }
.rb-starter-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 1px 4px 32px; }
.rb-starter-heading strong { color: #b9cbc1; font-size: .62rem; letter-spacing: .035em; text-transform: uppercase; }
.rb-starter-tools { display: flex; align-items: center; gap: 6px; }
.rb-starter-count { color: #71877b; font-size: .64rem; font-variant-numeric: tabular-nums; }
.rb-starter-close { width: 30px; height: 26px; display: grid; place-items: center; padding: 0 0 4px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #82978c; font: inherit; font-size: 22px; line-height: 1; cursor: pointer; transition: color 160ms ease, background 160ms ease, transform 260ms ease; }
.rb-starter-close:hover { border-color: rgba(115,231,169,.2); background: rgba(255,255,255,.06); color: #fff; }
.rb-starter-carousel { max-height: 44px; display: grid; grid-template-columns: 28px minmax(0,1fr) 28px; align-items: center; gap: 5px; overflow: hidden; opacity: 1; transform: translateY(0); transition: max-height 280ms cubic-bezier(.22,.8,.3,1), opacity 180ms ease, transform 280ms cubic-bezier(.22,.8,.3,1); }
.rb-starter-section.rb-starter-collapsed { padding-bottom: 2px; }
.rb-starter-section.rb-starter-collapsed .rb-starter-carousel { max-height: 0; opacity: 0; pointer-events: none; transform: translateY(10px); }
.rb-faq { flex: 0 0 auto; border-top: 1px solid rgba(145,225,182,.13); background: rgba(6,15,11,.3); }
.rb-faq-toggle { width: 100%; min-height: 50px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 13px; border: 0; background: transparent; color: #eef8f2; font: inherit; text-align: left; cursor: pointer; }
.rb-faq-toggle:hover { background: rgba(81,174,123,.09); }
.rb-faq-toggle > span { min-width: 0; }
.rb-faq-toggle strong, .rb-faq-toggle small { display: block; }
.rb-faq-toggle strong { font-size: .78rem; letter-spacing: .02em; }
.rb-faq-toggle small { margin-top: 2px; color: #91a99c; font-size: .64rem; font-weight: 600; }
.rb-faq-toggle i { flex: 0 0 32px; width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border-radius: 9px; color: #a9d9bf; font-size: 0; font-style: normal; line-height: 1; text-align: center; }
.rb-faq-toggle i::before { content: ''; width: 9px; height: 9px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform 180ms ease; }
.rb-faq.rb-faq-open .rb-faq-toggle i::before { transform: rotate(-135deg); }
.rb-faq-panel { max-height: 0; padding: 0 10px; overflow: hidden; opacity: 0; transform: translateY(8px); transition: max-height 300ms cubic-bezier(.22,.8,.3,1), padding 300ms ease, opacity 180ms ease, transform 300ms cubic-bezier(.22,.8,.3,1); }
.rb-faq.rb-faq-open .rb-faq-panel { max-height: 285px; padding: 2px 10px 10px; opacity: 1; transform: translateY(0); }
.rb-faq-label { display: block; color: #a9bbb1; font-size: .65rem; font-weight: 750; }
.rb-faq-select { width: 100%; min-height: 40px; margin-top: 5px; padding: 8px 34px 8px 10px; border: 1px solid rgba(115,231,169,.24); border-radius: 10px; outline: 0; background: #10251b; color: #f2f8f4; font: inherit; font-size: 16px; }
.rb-faq-list { max-height: 184px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 8px; padding-right: 2px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(112,174,140,.42) transparent; }
.rb-faq-question { min-height: 38px; padding: 7px 9px; border: 1px solid rgba(115,231,169,.17); border-radius: 10px; background: rgba(255,255,255,.045); color: #dcebe3; font: inherit; font-size: .69rem; font-weight: 700; line-height: 1.3; text-align: left; cursor: pointer; }
.rb-faq-question:hover { border-color: rgba(115,231,169,.4); background: rgba(65,154,105,.14); color: #fff; }
.rb-starter-nav { width: 28px; height: 30px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(115,231,169,.2); border-radius: 9px; background: rgba(255,255,255,.055); color: #cde9d9; font: inherit; font-size: 19px; line-height: 1; cursor: pointer; }
.rb-starter-nav:hover:not(:disabled) { border-color: rgba(115,231,169,.44); background: rgba(65,154,105,.16); color: #fff; }
.rb-starter-nav:disabled { opacity: .28; cursor: default; }
.rb-starters { display: flex; gap: 6px; min-width: 0; padding: 1px 1px 4px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: rgba(112,174,140,.42) transparent; }
.rb-starters::-webkit-scrollbar { height: 5px; }
.rb-starters::-webkit-scrollbar-track { background: transparent; }
.rb-starters::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(112,174,140,.34); }
.rb-chip {
  flex: 0 0 auto;
  max-width: 190px;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
  color: #dce9e1;
  font: inherit;
  overflow: hidden;
  font-size: .68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  scroll-snap-align: start;
}
.rb-chip:hover { border-color: rgba(115,231,169,.35); background: rgba(65,154,105,.12); }

.rb-composer { padding: 8px 10px max(9px, env(safe-area-inset-bottom)); border-top: 1px solid var(--rb-border); background: rgba(5,12,9,.45); }
.rb-input-row { display: flex; align-items: flex-end; gap: 8px; }
.rb-input {
  width: 100%;
  min-height: 44px;
  max-height: 112px;
  resize: none;
  overflow-y: hidden;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  outline: none;
  background: rgba(255,255,255,.055);
  color: #fff;
  font: inherit;
  font-size: 16px;
  line-height: 1.35;
}
.rb-input::placeholder { color: #82988c; }
.rb-send {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(145deg, #62dda0, #2c8a60);
  color: #082419;
  font: inherit;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(24,116,75,.28);
}
.rb-send:disabled { opacity: .5; cursor: wait; }
.rb-composer small { display: block; margin-top: 4px; color: #82988c; font-size: .61rem; text-align: center; }
.rb-closed-notice-setting { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 3px 10px; color: #82988c; font-size: .61rem; cursor: pointer; }
.rb-closed-notice-setting input { width: 14px; height: 14px; margin: 0; accent-color: var(--rb-green); }
.rb-credit { padding: 4px 10px 6px; color: #71877b; font-size: .6rem; text-align: center; }

.rb-feedback-card { width: 100%; padding: 14px; border: 1px solid rgba(115,231,169,.18); border-radius: 16px; background: rgba(255,255,255,.06); }
.rb-feedback-card h3 { margin: 0 0 5px; color: #f4fbf7; font-size: 1rem; }
.rb-feedback-card > p { margin: 0 0 12px; color: #bfd0c6; font-size: .76rem; line-height: 1.5; }
.rb-feedback-card label { display: block; margin: 0 0 10px; color: #dce9e1; font-size: .73rem; font-weight: 750; }
.rb-feedback-card select,
.rb-feedback-card input[type="text"],
.rb-feedback-card input[type="email"],
.rb-feedback-card textarea { display: block; width: 100%; margin-top: 5px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: #15241d; color: #fff; font: inherit; font-size: 16px; }
.rb-feedback-card select,
.rb-feedback-card input[type="text"],
.rb-feedback-card input[type="email"] { min-height: 42px; padding: 8px 10px; }
.rb-feedback-card textarea { min-height: 108px; padding: 10px; resize: vertical; line-height: 1.4; }
.rb-feedback-card select:focus-visible,
.rb-feedback-card input[type="text"]:focus-visible,
.rb-feedback-card input[type="email"]:focus-visible,
.rb-feedback-card textarea:focus-visible { outline: 3px solid rgba(115,231,169,.32); outline-offset: 1px; border-color: #5bdc99; }
.rb-feedback-privacy { display: block; color: #92a79b; font-size: .65rem; line-height: 1.45; }
.rb-feedback-status { min-height: 18px; margin: 7px 0 0 !important; color: #ffd0d0 !important; font-weight: 700; }
.rb-feedback-actions { display: grid; grid-template-columns: .75fr 1.25fr; gap: 8px; margin-top: 10px; }
.rb-feedback-actions button { min-height: 42px; border-radius: 11px; font: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; }
.rb-feedback-cancel { border: 1px solid rgba(255,255,255,.15); background: transparent; color: #d6e3db; }
.rb-feedback-submit { border: 0; background: linear-gradient(145deg, #62dda0, #2c8a60); color: #082419; }
.rb-feedback-submit:disabled { opacity: .58; cursor: wait; }
.rb-quote-consent { display: grid !important; grid-template-columns: 18px 1fr; gap: 8px; align-items: start; margin: 10px 0 0 !important; color: #c6d5cc !important; font-size: .67rem !important; line-height: 1.45; font-weight: 600 !important; }
.rb-quote-consent input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: #54d391; }
.rb-quote-card { padding: 11px; border-radius: 14px; }
.rb-quote-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rb-quote-card h3 { font-size: .92rem; }
.rb-quote-card > p { margin-bottom: 8px; font-size: .7rem; }
.rb-quote-card label { margin-bottom: 7px; font-size: .69rem; }
.rb-quote-card select,
.rb-quote-card input[type="text"],
.rb-quote-card input[type="email"] { min-height: 38px; padding: 6px 9px; }
.rb-quote-card textarea { min-height: 72px; padding: 8px; }
.rb-quote-card .rb-feedback-privacy { font-size: .61rem; line-height: 1.38; }
.rb-quote-card .rb-quote-consent { margin-top: 7px !important; font-size: .62rem !important; line-height: 1.35; }
.rb-quote-card .rb-feedback-actions { margin-top: 7px; }
.rb-quote-card .rb-feedback-actions button { min-height: 38px; }
.rb-quote-mode .rb-privacy,
.rb-quote-mode .rb-primary-tools,
.rb-quote-mode .rb-faq,
.rb-quote-mode .rb-composer,
.rb-quote-mode .rb-closed-notice-setting,
.rb-quote-mode .rb-credit { display: none !important; }
.rb-quote-mode .rb-messages { padding-top: 10px; }
.rb-honey { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }

.rb-modal-backdrop { position: fixed; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(0,0,0,.66); backdrop-filter: blur(5px); z-index: 2147483000; }
.rb-modal { width: min(390px, 100%); padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: linear-gradient(155deg, #17241e, #0b120f); color: #fff; box-shadow: 0 25px 80px rgba(0,0,0,.55); }
.rb-modal h2 { margin: 0 0 8px; font-size: 1.15rem; }
.rb-modal p { margin: 0; color: #afc0b6; font-size: .86rem; line-height: 1.5; }
.rb-modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 20px; }
.rb-modal button { min-height: 43px; border-radius: 12px; font: inherit; font-weight: 800; cursor: pointer; }
.rb-cancel { border: 1px solid rgba(255,255,255,.18); background: #fff; color: #17211c; }
.rb-confirm { border: 1px solid #ef4444; background: #b91c1c; color: #fff; }

@media (max-width: 600px) {
  .rb-trigger { right: 12px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + var(--rb-cookie-offset)); min-height: 50px; padding-right: 16px; }
  .rb-closed-notice { right: 12px; bottom: calc(max(12px, env(safe-area-inset-bottom)) + 61px + var(--rb-cookie-offset)); width: min(290px, calc(100vw - 24px)); }
  .rb-teaser { font-size: .72rem; }
  .rb-trigger-mark { width: 34px; height: 34px; font-size: 21px; }
  .rb-panel { left: 0; right: 0; bottom: var(--rb-cookie-offset); width: auto; max-width: none; height: min(760px, calc(91dvh - var(--rb-cookie-offset))); border-radius: 22px 22px 0 0; border-bottom: 0; }
  .rb-heading small { font-size: .68rem; }
  .rb-privacy { font-size: .69rem; }
  .rb-messages { padding: 12px 10px 10px; }
  .rb-message-stack { width: 100%; }
  .rb-related > div { display: grid; grid-template-columns: 1fr; }
  .rb-related button { width: 100%; min-height: 38px; }
  .rb-helpful-votes button { min-height: 38px; }
  .rb-faq-list { grid-template-columns: 1fr; }
}

@media (max-width: 360px) {
  .rb-header { padding-inline: 9px; gap: 8px; }
  .rb-avatar { width: 36px; height: 36px; }
  .rb-icon-btn { width: 35px; height: 35px; }
  .rb-privacy { margin-inline: 8px; padding: 6px 8px; font-size: .64rem; }
  .rb-message-stack { gap: 7px; }
  .rb-helpful, .rb-related { padding: 9px; }
  .rb-quote-grid { grid-template-columns: 1fr; gap: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .rb-panel, .rb-trigger, .rb-closed-notice, .rb-teaser, .rb-bot-illustration, .rb-thinking-bubble::after, .rb-thinking-bot, .rb-thinking-eye, .rb-thinking-symbols span, .rb-thinking-track i, .rb-trigger-mark, .rb-avatar, .rb-avatar svg, .rb-avatar::after { animation: none; transition: none; }
  .rb-messages { scroll-behavior: auto; }
}
