/* RestinBot premium-teemassa. Generoitu restinbot.css:stä: kiinteät värit korvattu
   --pm-*-teemamuuttujilla (tokenize_bot.py). Ladataan restinbot.css:n tilalle. */
.rb-root,
.rb-root * {
  box-sizing: border-box;
}

.rb-root {
  --rb-green: var(--pm-accent);
  --rb-green-deep: color-mix(in srgb,var(--pm-accent) 14%,var(--pm-raised));
  --rb-panel: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface));
  --rb-panel-soft: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface));
  --rb-border: color-mix(in srgb,var(--pm-accent) 20%,transparent);
  --rb-text: var(--pm-text);
  --rb-muted: var(--pm-muted);
  --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 color-mix(in srgb,var(--pm-accent-2) 28%,transparent);
  border-radius: 999px;
  background:
    radial-gradient(circle at 24% 18%, color-mix(in srgb,var(--pm-accent-2) 24%,transparent), transparent 28%),
    linear-gradient(135deg, color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 0%, color-mix(in srgb,var(--pm-accent) 14%,var(--pm-raised)) 48%, var(--pm-accent-deep) 100%);
  box-shadow: 0 18px 48px color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 34%,transparent), inset 0 1px 0 color-mix(in srgb,var(--pm-ink) 12%,transparent);
  color: var(--pm-ink);
  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 color-mix(in srgb,var(--pm-accent) 22%,transparent);
  border-radius: 14px;
  background: color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 96%,transparent);
  color: var(--pm-text);
  box-shadow: 0 14px 38px color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 30%,transparent);
  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: var(--pm-muted); font: inherit; font-size: 18px; cursor: pointer; }
.rb-teaser-dismiss:hover { background: color-mix(in srgb,var(--pm-ink) 8%,transparent); color: var(--pm-ink); }
.rb-teaser::after { content: ''; position: absolute; right: 25px; bottom: -7px; width: 12px; height: 12px; border-right: 1px solid color-mix(in srgb,var(--pm-accent) 22%,transparent); border-bottom: 1px solid color-mix(in srgb,var(--pm-accent) 22%,transparent); background: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)); transform: rotate(45deg); }
.rb-teaser:hover { border-color: color-mix(in srgb,var(--pm-accent) 42%,transparent); }
.rb-teaser:focus-visible { outline: 3px solid color-mix(in srgb,var(--pm-accent) 42%,transparent); 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 color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 42%,transparent), inset 0 1px 0 color-mix(in srgb,var(--pm-ink) 16%,transparent); }
.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 color-mix(in srgb,var(--pm-accent) 42%,transparent); 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, var(--pm-text) 0%, var(--pm-accent) 48%, var(--pm-accent-deep) 100%);
  color: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface));
  box-shadow: inset 0 1px 1px color-mix(in srgb,var(--pm-ink) 80%,transparent), 0 7px 18px color-mix(in srgb,var(--pm-shadow) 25%,transparent);
  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%, color-mix(in srgb,var(--pm-accent) 17%,transparent), transparent 35%),
    linear-gradient(160deg, color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 98.5%,transparent), color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 99%,transparent));
  box-shadow: 0 30px 90px color-mix(in srgb,var(--pm-shadow) 46%,transparent), inset 0 1px 0 color-mix(in srgb,var(--pm-ink) 7%,transparent);
  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: var(--pm-text); font-family: Georgia, serif; font-size: 17px; font-weight: 900; text-shadow: 0 0 12px color-mix(in srgb,var(--pm-accent) 75%,transparent); 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, color-mix(in srgb,var(--pm-accent-deep) 20%,transparent), color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 16%,transparent));
}

.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: color-mix(in srgb,var(--pm-accent) 14%,var(--pm-raised)); stroke: color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 70%,transparent); stroke-width: 1.5; }
.rb-avatar svg circle, .rb-trigger-mark svg circle { fill: var(--pm-text); }
.rb-avatar svg path, .rb-trigger-mark svg path { fill: none; stroke: var(--pm-text); 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: var(--pm-accent-2); font-weight: 700; text-decoration: none; text-underline-offset: 2px; }
.rb-heading small a:hover { color: var(--pm-text); text-decoration: underline; }
.rb-heading small a:focus-visible { border-radius: 4px; outline: 2px solid color-mix(in srgb,var(--pm-accent) 52%,transparent); outline-offset: 2px; }
.rb-status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--rb-green); box-shadow: 0 0 10px color-mix(in srgb,var(--pm-accent) 70%,transparent); }
.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: var(--pm-ink); background: color-mix(in srgb,var(--pm-ink) 7%,transparent); border-color: color-mix(in srgb,var(--pm-ink) 8%,transparent); }

.rb-privacy {
  margin: 7px 10px 0;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb,var(--pm-accent) 13%,transparent);
  border-radius: 12px;
  background: color-mix(in srgb,var(--pm-accent) 8%,transparent);
  color: var(--pm-text-2);
  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 color-mix(in srgb,var(--pm-accent) 22%,transparent); border-radius: 11px; background: color-mix(in srgb,var(--pm-accent) 9%,transparent); color: var(--pm-text); font: inherit; font-size: .69rem; font-weight: 800; cursor: pointer; }
.rb-primary-tools button:first-child { background: linear-gradient(145deg, color-mix(in srgb,var(--pm-accent) 22%,transparent), color-mix(in srgb,var(--pm-accent-deep) 16%,transparent)); }
.rb-primary-tools button:hover { border-color: color-mix(in srgb,var(--pm-accent) 48%,transparent); background: color-mix(in srgb,var(--pm-accent) 17%,transparent); }
.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: var(--pm-accent-2); background: linear-gradient(100deg, color-mix(in srgb,var(--pm-accent) 14%,transparent), 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: color-mix(in srgb,var(--pm-accent) 42%,transparent) 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: color-mix(in srgb,var(--pm-accent) 34%,transparent); }

.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 color-mix(in srgb,var(--pm-accent-deep) 28%,transparent)); animation: rb-bot-float 3.4s ease-in-out infinite; }
.rb-empty-copy { max-width: 310px; margin: 0; color: var(--pm-accent-2); 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 color-mix(in srgb,var(--pm-ink) 8%,transparent); border-bottom-left-radius: 5px; background: color-mix(in srgb,var(--pm-ink) 6.5%,transparent); color: var(--pm-text); box-shadow: 0 8px 22px color-mix(in srgb,var(--pm-shadow) 8%,transparent); }
.rb-message-user .rb-bubble { border-bottom-right-radius: 5px; background: linear-gradient(135deg, var(--pm-accent-deep), var(--pm-accent-deep)); color: var(--pm-ink); }
.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 color-mix(in srgb,var(--pm-accent) 27%,transparent);
  border-radius: 10px;
  color: var(--pm-accent-2);
  background: color-mix(in srgb,var(--pm-accent-deep) 10%,transparent);
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
  font-family: inherit;
  cursor: pointer;
}
.rb-action:hover { background: color-mix(in srgb,var(--pm-accent-deep) 20%,transparent); color: var(--pm-text); }

.rb-helpful { padding: 10px 11px; border: 1px solid color-mix(in srgb,var(--pm-accent) 16%,transparent); border-radius: 13px; background: color-mix(in srgb,var(--pm-accent-deep) 7.5%,transparent); box-shadow: 0 8px 22px color-mix(in srgb,var(--pm-shadow) 6%,transparent); white-space: normal; }
.rb-helpful > strong { display: block; color: var(--pm-accent-2); 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 color-mix(in srgb,var(--pm-accent) 22%,transparent); border-radius: 10px; background: color-mix(in srgb,var(--pm-ink) 4.5%,transparent); color: var(--pm-text); font: inherit; font-size: .74rem; font-weight: 750; cursor: pointer; }
.rb-helpful-votes button:hover,
.rb-helpful-votes button.active { border-color: var(--pm-accent); background: color-mix(in srgb,var(--pm-accent-deep) 22%,transparent); }
.rb-helpful-result { color: var(--pm-accent-2); font-size: .72rem; font-weight: 750; }
.rb-helpful-feedback { margin-top: 8px; padding: 0; border: 0; background: transparent; color: var(--pm-accent-2); 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 color-mix(in srgb,var(--pm-accent) 13%,transparent); color: var(--pm-text-2); 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 color-mix(in srgb,var(--pm-accent) 24%,transparent); border-radius: 10px; outline: none; background: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)); color: var(--pm-text); font: inherit; font-size: 16px; cursor: pointer; }
.rb-helpful-followup select:focus-visible { border-color: var(--pm-accent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--pm-accent) 18%,transparent); }
.rb-related { padding: 10px 11px; border: 1px solid color-mix(in srgb,var(--pm-ink) 8%,transparent); border-radius: 13px; background: color-mix(in srgb,var(--pm-ink) 3.5%,transparent); box-shadow: 0 8px 22px color-mix(in srgb,var(--pm-shadow) 5%,transparent); white-space: normal; }
.rb-related > span { display: block; margin-bottom: 7px; color: var(--pm-text-2); 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 color-mix(in srgb,var(--pm-ink) 10%,transparent); border-radius: 9px; background: color-mix(in srgb,var(--pm-ink) 4%,transparent); color: var(--pm-accent-2); font: inherit; font-size: .7rem; line-height: 1.25; text-align: left; cursor: pointer; }
.rb-related button:hover { border-color: color-mix(in srgb,var(--pm-accent) 32%,transparent); color: var(--pm-text); }

.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%, color-mix(in srgb,var(--pm-accent) 18%,transparent), transparent 34%),
    linear-gradient(130deg, color-mix(in srgb,var(--pm-ink) 8.5%,transparent), color-mix(in srgb,var(--pm-accent-deep) 8%,transparent)) !important;
  box-shadow: inset 0 1px 0 color-mix(in srgb,var(--pm-ink) 7%,transparent), 0 10px 24px color-mix(in srgb,var(--pm-shadow) 12%,transparent);
}
.rb-thinking-bubble::after {
  content: '';
  position: absolute;
  inset: -50% auto -50% -35%;
  width: 38%;
  transform: rotate(16deg);
  background: linear-gradient(90deg, transparent, color-mix(in srgb,var(--pm-accent-2) 10%,transparent), 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 color-mix(in srgb,var(--pm-accent-deep) 28%,transparent));
  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: color-mix(in srgb,var(--pm-text) 45%,transparent); stroke-width: 1.2; }
.rb-thinking-bot > path:first-of-type { fill: none; stroke: var(--pm-accent); stroke-width: 3; stroke-linecap: round; }
.rb-thinking-antenna { fill: var(--pm-text); }
.rb-thinking-face { fill: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)); }
.rb-thinking-eye { fill: var(--pm-text); transform-box: fill-box; transform-origin: center; animation: rb-thinking-look 1.15s ease-in-out infinite; }
.rb-thinking-mouth { fill: none; stroke: var(--pm-accent); stroke-width: 2.2; stroke-linecap: round; }
.rb-thinking-leg { fill: none; stroke: var(--pm-accent); 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: var(--pm-accent-2);
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 0 12px color-mix(in srgb,var(--pm-accent) 55%,transparent);
  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: var(--pm-text); 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: color-mix(in srgb,var(--pm-ink) 7%,transparent); }
.rb-thinking-track i { position: absolute; inset: 0 auto 0 0; width: 45%; border-radius: inherit; background: linear-gradient(90deg, transparent, var(--pm-accent), var(--pm-accent-2), transparent); filter: drop-shadow(0 0 5px color-mix(in srgb,var(--pm-accent) 60%,transparent)); 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 color-mix(in srgb,var(--pm-accent) 12%,transparent); background: color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 26%,transparent); 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: var(--pm-text-2); font-size: .62rem; letter-spacing: .035em; text-transform: uppercase; }
.rb-starter-tools { display: flex; align-items: center; gap: 6px; }
.rb-starter-count { color: var(--pm-faint); 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: var(--pm-muted); 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: color-mix(in srgb,var(--pm-accent) 20%,transparent); background: color-mix(in srgb,var(--pm-ink) 6%,transparent); color: var(--pm-ink); }
.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 color-mix(in srgb,var(--pm-accent) 13%,transparent); background: color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 30%,transparent); }
.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: var(--pm-text); font: inherit; text-align: left; cursor: pointer; }
.rb-faq-toggle:hover { background: color-mix(in srgb,var(--pm-accent) 9%,transparent); }
.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: var(--pm-muted); 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: var(--pm-accent); 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: var(--pm-muted); 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 color-mix(in srgb,var(--pm-accent) 24%,transparent); border-radius: 10px; outline: 0; background: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)); color: var(--pm-text); 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: color-mix(in srgb,var(--pm-accent) 42%,transparent) transparent; }
.rb-faq-question { min-height: 38px; padding: 7px 9px; border: 1px solid color-mix(in srgb,var(--pm-accent) 17%,transparent); border-radius: 10px; background: color-mix(in srgb,var(--pm-ink) 4.5%,transparent); color: var(--pm-accent-2); font: inherit; font-size: .69rem; font-weight: 700; line-height: 1.3; text-align: left; cursor: pointer; }
.rb-faq-question:hover { border-color: color-mix(in srgb,var(--pm-accent) 40%,transparent); background: color-mix(in srgb,var(--pm-accent-deep) 14%,transparent); color: var(--pm-ink); }
.rb-starter-nav { width: 28px; height: 30px; display: grid; place-items: center; padding: 0; border: 1px solid color-mix(in srgb,var(--pm-accent) 20%,transparent); border-radius: 9px; background: color-mix(in srgb,var(--pm-ink) 5.5%,transparent); color: var(--pm-accent-2); font: inherit; font-size: 19px; line-height: 1; cursor: pointer; }
.rb-starter-nav:hover:not(:disabled) { border-color: color-mix(in srgb,var(--pm-accent) 44%,transparent); background: color-mix(in srgb,var(--pm-accent-deep) 16%,transparent); color: var(--pm-ink); }
.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: color-mix(in srgb,var(--pm-accent) 42%,transparent) transparent; }
.rb-starters::-webkit-scrollbar { height: 5px; }
.rb-starters::-webkit-scrollbar-track { background: transparent; }
.rb-starters::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb,var(--pm-accent) 34%,transparent); }
.rb-chip {
  flex: 0 0 auto;
  max-width: 190px;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid color-mix(in srgb,var(--pm-ink) 10%,transparent);
  border-radius: 999px;
  background: color-mix(in srgb,var(--pm-ink) 4.5%,transparent);
  color: var(--pm-accent-2);
  font: inherit;
  overflow: hidden;
  font-size: .68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  scroll-snap-align: start;
}
.rb-chip:hover { border-color: color-mix(in srgb,var(--pm-accent) 35%,transparent); background: color-mix(in srgb,var(--pm-accent-deep) 12%,transparent); }

.rb-composer { padding: 8px 10px max(9px, env(safe-area-inset-bottom)); border-top: 1px solid var(--rb-border); background: color-mix(in srgb,color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)) 45%,transparent); }
.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 color-mix(in srgb,var(--pm-ink) 12%,transparent);
  border-radius: 13px;
  outline: none;
  background: color-mix(in srgb,var(--pm-ink) 5.5%,transparent);
  color: var(--pm-ink);
  font: inherit;
  font-size: 16px;
  line-height: 1.35;
}
.rb-input::placeholder { color: var(--pm-muted); }
.rb-send {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 13px;
  background: linear-gradient(145deg, var(--pm-accent), var(--pm-accent-deep));
  color: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface));
  font: inherit;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 20px color-mix(in srgb,var(--pm-accent-deep) 28%,transparent);
}
.rb-send:disabled { opacity: .5; cursor: wait; }
.rb-composer small { display: block; margin-top: 4px; color: var(--pm-muted); font-size: .61rem; text-align: center; }
.rb-closed-notice-setting { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 3px 10px; color: var(--pm-muted); 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: var(--pm-faint); font-size: .6rem; text-align: center; }

.rb-feedback-card { width: 100%; padding: 14px; border: 1px solid color-mix(in srgb,var(--pm-accent) 18%,transparent); border-radius: 16px; background: color-mix(in srgb,var(--pm-ink) 6%,transparent); }
.rb-feedback-card h3 { margin: 0 0 5px; color: var(--pm-text); font-size: 1rem; }
.rb-feedback-card > p { margin: 0 0 12px; color: var(--pm-text-2); font-size: .76rem; line-height: 1.5; }
.rb-feedback-card label { display: block; margin: 0 0 10px; color: var(--pm-accent-2); 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 color-mix(in srgb,var(--pm-ink) 14%,transparent); border-radius: 11px; background: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)); color: var(--pm-ink); 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 color-mix(in srgb,var(--pm-accent) 32%,transparent); outline-offset: 1px; border-color: var(--pm-accent); }
.rb-feedback-privacy { display: block; color: var(--pm-muted); 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 color-mix(in srgb,var(--pm-ink) 15%,transparent); background: transparent; color: var(--pm-text-2); }
.rb-feedback-submit { border: 0; background: linear-gradient(145deg, var(--pm-accent), var(--pm-accent-deep)); color: color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)); }
.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: var(--pm-text-2) !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: var(--pm-accent); }
.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: color-mix(in srgb,var(--pm-shadow) 66%,transparent); backdrop-filter: blur(5px); z-index: 2147483000; }
.rb-modal { width: min(390px, 100%); padding: 22px; border: 1px solid color-mix(in srgb,var(--pm-ink) 12%,transparent); border-radius: 20px; background: linear-gradient(155deg, color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface)), color-mix(in srgb,var(--pm-accent) 6%,var(--pm-surface))); color: var(--pm-ink); box-shadow: 0 25px 80px color-mix(in srgb,var(--pm-shadow) 55%,transparent); }
.rb-modal h2 { margin: 0 0 8px; font-size: 1.15rem; }
.rb-modal p { margin: 0; color: var(--pm-muted); 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 color-mix(in srgb,var(--pm-ink) 18%,transparent); background: var(--pm-ink); color: var(--pm-surface); }
.rb-confirm { border: 1px solid #ef4444; background: #b91c1c; color: var(--pm-ink); }

@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; }
}

/* ---- Käsin tehdyt korjaukset (build-premium-bot-css.py) ---- */
.rb-trigger{background:var(--pm-accent)!important;color:var(--pm-on-accent)!important;border-color:transparent!important;
  box-shadow:0 14px 34px -10px color-mix(in srgb,var(--pm-accent) 60%,transparent),inset 0 1px 0 color-mix(in srgb,#fff 25%,transparent)!important}
.rb-message-user .rb-bubble{background:var(--pm-accent)!important;color:var(--pm-on-accent)!important}
.rb-confirm{color:#fff!important}
.rb-panel{font-family:var(--pm-body)}

/* ════ v4: RestinBotin ulkoasun uudistus (sama ilme kuin premium-sivuilla: tasaiset pinnat, ohuet viivat, pillerit) ════ */
/* avausnappi ja vihjekupla */
.rb-trigger{min-height:48px!important;padding:0 18px 0 8px!important;gap:8px!important;font:600 14.5px/1 var(--pm-body)!important;letter-spacing:-.005em}
.rb-trigger-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--pm-on-accent) 12%,transparent)}
.rb-trigger-mark svg{width:24px!important;height:24px!important}
.rb-avatar svg rect,.rb-trigger-mark svg rect{fill:var(--pm-on-accent)!important;stroke:none!important}
.rb-avatar svg circle,.rb-trigger-mark svg circle{fill:var(--pm-accent)!important}
.rb-avatar svg path,.rb-trigger-mark svg path{stroke:var(--pm-on-accent)!important}
.rb-avatar svg path:first-of-type,.rb-trigger-mark svg path:first-of-type{stroke:var(--pm-accent)!important}
.rb-closed-notice{bottom:calc(max(20px,env(safe-area-inset-bottom)) + 60px + var(--rb-cookie-offset))!important}
.rb-teaser{min-height:0!important;padding:11px 38px 11px 14px!important;border:1px solid var(--pm-line-2)!important;border-radius:16px!important;
  background:var(--pm-raised)!important;color:var(--pm-text)!important;font:500 13.5px/1.45 var(--pm-body)!important;text-align:left;
  box-shadow:0 18px 40px -18px color-mix(in srgb,var(--pm-shadow) 80%,transparent)!important}
.rb-teaser::after{background:var(--pm-raised)!important;border-color:var(--pm-line-2)!important}
.rb-teaser-dismiss{color:var(--pm-muted)!important}
/* ikkuna */
.rb-panel{width:min(400px,calc(100vw - 24px))!important;border:1px solid var(--pm-line-2)!important;border-radius:22px!important;
  background:var(--pm-surface)!important;backdrop-filter:none!important;
  box-shadow:0 40px 90px -30px color-mix(in srgb,var(--pm-shadow) 90%,transparent),0 0 0 1px color-mix(in srgb,var(--pm-ink) 3%,transparent)!important}
.rb-header{gap:10px!important;padding:12px 10px 12px 14px!important;border-bottom:1px solid var(--pm-line)!important;background:var(--pm-raised)!important}
.rb-avatar{width:36px!important;height:36px!important;border-radius:12px!important;background:var(--pm-accent)!important;box-shadow:none!important;animation:none!important}
.rb-avatar::after{content:none!important}
.rb-avatar svg{width:24px!important;height:24px!important}
.rb-heading strong{font:600 15px/1.2 var(--pm-display)!important;letter-spacing:-.01em;color:var(--pm-text)!important}
.rb-heading small{margin-top:3px!important;color:var(--pm-muted)!important;font-size:12px!important;font-weight:500!important}
.rb-heading small a{color:var(--pm-accent)!important;font-weight:600!important}
.rb-status-dot{background:var(--pm-accent)!important;box-shadow:none!important}
.rb-icon-btn{width:34px!important;height:34px!important;border-radius:50%!important;color:var(--pm-muted)!important;font-size:18px!important}
.rb-icon-btn:hover{color:var(--pm-text)!important;background:color-mix(in srgb,var(--pm-ink) 6%,transparent)!important;border-color:transparent!important}
.rb-privacy{margin:10px 12px 0!important;padding:8px 10px!important;border:0!important;border-radius:10px!important;
  background:color-mix(in srgb,var(--pm-ink) 3.5%,transparent)!important;color:var(--pm-muted)!important;font-size:11.5px!important}
/* pikatoiminnot */
.rb-primary-tools{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px 12px 0!important}
.rb-primary-tools button{min-height:36px!important;padding:6px 10px!important;border:1px solid var(--pm-line-2)!important;border-radius:999px!important;
  background:transparent!important;color:var(--pm-text)!important;font:600 12.5px/1.2 var(--pm-body)!important}
.rb-primary-tools button:first-child{border-color:color-mix(in srgb,var(--pm-accent) 45%,transparent)!important;color:var(--pm-accent)!important;
  background:color-mix(in srgb,var(--pm-accent) 9%,transparent)!important}
.rb-primary-tools button:hover{border-color:var(--pm-accent)!important;background:color-mix(in srgb,var(--pm-accent) 14%,transparent)!important}
/* viestit */
.rb-messages{padding:14px 12px 10px!important}
.rb-message{margin:0 0 10px!important}
.rb-bubble{padding:11px 13px!important;font-size:14px!important;line-height:1.55!important}
.rb-message-bot .rb-bubble{border:1px solid var(--pm-line)!important;border-radius:16px 16px 16px 6px!important;background:var(--pm-raised)!important;color:var(--pm-text)!important}
.rb-message-user .rb-bubble{border-radius:16px 16px 6px 16px!important;font-weight:500}
/* viestin painikkeet: yksi per rivi, ensimmäinen on pääpainike */
.rb-actions{flex-direction:column!important;gap:6px!important;margin-top:12px!important}
.rb-action{width:100%;min-height:40px!important;justify-content:space-between;padding:8px 14px!important;border:1px solid var(--pm-line-2)!important;border-radius:12px!important;
  background:transparent!important;color:var(--pm-text)!important;font:600 13px/1.25 var(--pm-body)!important;text-align:left}
.rb-action:first-child{border-color:transparent!important;background:var(--pm-accent)!important;color:var(--pm-on-accent)!important}
.rb-action:hover{border-color:var(--pm-accent)!important;background:color-mix(in srgb,var(--pm-accent) 12%,transparent)!important;color:var(--pm-text)!important}
.rb-action:first-child:hover{background:color-mix(in srgb,var(--pm-accent) 88%,var(--pm-ink))!important;color:var(--pm-on-accent)!important}
/* palaute- ja lisäkysymyslaatikot hillitymmiksi */
.rb-helpful,.rb-related{padding:10px 12px!important;border:1px solid var(--pm-line)!important;border-radius:14px!important;background:transparent!important}
.rb-helpful>strong,.rb-related>span{color:var(--pm-muted)!important;font-size:12px!important;font-weight:600!important}
.rb-helpful-votes button{min-width:64px!important;min-height:32px!important;border:1px solid var(--pm-line-2)!important;border-radius:999px!important;
  background:transparent!important;color:var(--pm-text)!important;font:600 12.5px/1 var(--pm-body)!important}
.rb-helpful-votes button.active{border-color:var(--pm-accent)!important;background:color-mix(in srgb,var(--pm-accent) 14%,transparent)!important}
.rb-related button{min-height:32px!important;padding:5px 11px!important;border:1px solid var(--pm-line-2)!important;border-radius:999px!important;
  background:transparent!important;color:var(--pm-text-2)!important;font:500 12.5px/1.25 var(--pm-body)!important}
.rb-related button:hover{border-color:var(--pm-accent)!important;color:var(--pm-text)!important}
/* UKK ja ehdotukset */
.rb-faq,.rb-starter-section{border-top:1px solid var(--pm-line)!important;background:transparent!important}
.rb-faq-toggle{min-height:44px!important;padding:8px 12px 8px 14px!important;color:var(--pm-text)!important}
.rb-faq-toggle:hover{background:color-mix(in srgb,var(--pm-ink) 4%,transparent)!important}
.rb-faq-toggle strong{font:600 13px/1.2 var(--pm-body)!important;letter-spacing:0!important}
.rb-faq-toggle small{color:var(--pm-muted)!important;font-size:11.5px!important;font-weight:500!important}
.rb-faq-toggle i{color:var(--pm-muted)!important}
.rb-faq-select{border:1px solid var(--pm-line-2)!important;border-radius:12px!important;background:var(--pm-raised)!important;color:var(--pm-text)!important}
.rb-faq-question{border:1px solid var(--pm-line-2)!important;border-radius:12px!important;background:transparent!important;color:var(--pm-text-2)!important;font:500 12.5px/1.3 var(--pm-body)!important}
.rb-faq-question:hover{border-color:var(--pm-accent)!important;background:color-mix(in srgb,var(--pm-accent) 10%,transparent)!important;color:var(--pm-text)!important}
.rb-chip{border:1px solid var(--pm-line-2)!important;background:transparent!important;color:var(--pm-text-2)!important;font-size:12px!important}
.rb-chip:hover{border-color:var(--pm-accent)!important;color:var(--pm-text)!important}
/* kirjoituskenttä */
.rb-composer{padding:10px 12px 8px!important;border-top:1px solid var(--pm-line)!important;background:transparent!important}
.rb-input-row{align-items:center!important;gap:6px!important;padding:4px 4px 4px 14px;border:1px solid var(--pm-line-2);border-radius:999px;background:var(--pm-input);transition:border-color .15s,box-shadow .15s}
.rb-input-row:focus-within{border-color:color-mix(in srgb,var(--pm-accent) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--pm-accent) 14%,transparent)}
.rb-input{min-height:36px!important;padding:8px 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--pm-text)!important;outline:none!important}
.rb-input::placeholder{color:var(--pm-faint)!important}
.rb-send{width:36px!important;height:36px!important;border-radius:50%!important;background:var(--pm-accent)!important;color:var(--pm-on-accent)!important;box-shadow:none!important;font-size:17px!important}
.rb-composer small{margin-top:6px!important;color:var(--pm-faint)!important;font-size:11px!important}
.rb-closed-notice-setting{padding:2px 12px 0!important;color:var(--pm-faint)!important;font-size:11px!important}
.rb-closed-notice-setting input{accent-color:var(--pm-accent)!important}
.rb-credit{padding:3px 12px 9px!important;color:var(--pm-faint)!important;font-size:10.5px!important}
/* palaute- ja tarjouslomakkeet */
.rb-feedback-card{border:1px solid var(--pm-line)!important;border-radius:16px!important;background:var(--pm-raised)!important}
.rb-feedback-card select,.rb-feedback-card input[type="text"],.rb-feedback-card input[type="email"],.rb-feedback-card textarea{border:1px solid var(--pm-line-2)!important;border-radius:12px!important;background:var(--pm-input)!important;color:var(--pm-text)!important}
.rb-feedback-actions button{border-radius:999px!important}
.rb-feedback-submit{background:var(--pm-accent)!important;color:var(--pm-on-accent)!important}
/* puhelin: alhaalta nouseva arkki koko leveydellä, näppäimistövihje pois */
@media (max-width:600px){
  .rb-panel{width:auto!important;height:min(680px,calc(86dvh - var(--rb-cookie-offset)))!important;border-radius:22px 22px 0 0!important}
  .rb-composer small{display:none!important}
  .rb-trigger{min-height:46px!important}
  .rb-closed-notice{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 56px + var(--rb-cookie-offset))!important}
}
