/* Keep the end of the chat short: only the operator and legal links. */
.progress-tools{justify-content:flex-end}
.legal-footer{justify-content:center;gap:3px;padding:9px 12px 11px;background:#fff;border-top:1px solid #e2efec;color:#748c86}
.legal-footer>strong{font-size:11px;font-weight:600;width:100%;text-align:center}
.legal-footer nav{font-size:10px;justify-content:center;gap:16px;line-height:1.6}
.legal-footer nav a{min-height:24px;display:inline-flex;align-items:center;text-underline-offset:3px}

/* Soft appearance is visual only; choosing the next answer never waits for it. */
.soft-enter,.bot.ack.soft-enter{animation:chat-appear .34s ease-out both}
.reply.soft-enter{animation-delay:.04s}
.question-note.soft-enter{animation-delay:0s}
.answer.fresh{animation:none}
.typing{animation:chat-appear .18s ease-out both;min-height:42px}
.agent .hiyoppo-icon__art{width:100%;height:100%;object-fit:contain;border-radius:0;border:0;background:transparent}
.hiyoppo--icon{filter:none}
@keyframes chat-appear{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.soft-enter,.bot.ack.soft-enter,.typing{animation:none}}

/* Once the conversation starts, progress lives below the answers. */
:root{--progress-height:calc(74px + env(safe-area-inset-bottom,0px))}
html{scroll-padding-top:12px;scroll-padding-bottom:calc(var(--progress-height) + 16px)}
body.chat-started .app{padding-bottom:calc(var(--progress-height) + 12px)}
.progress-panel{
  position:fixed;inset:auto auto 0 50%;transform:translateX(-50%);
  width:100%;max-width:560px;min-height:74px;z-index:10;
  grid-template-columns:minmax(0,1fr) 102px;gap:10px;
  padding:9px 16px calc(9px + env(safe-area-inset-bottom,0px));
  background:#fff;border-top:1px solid #dceae7;border-bottom:0;
  box-shadow:0 -5px 20px #51776e0c;backdrop-filter:none;overflow:clip;
  transition:opacity .16s ease,visibility .16s ease;
}
.progress-panel>.progress-copy:first-child{
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto 14px;align-items:center;gap:6px 8px;
}
.progress-panel .progress-copy>strong{
  grid-column:1;grid-row:1;font-size:11px;line-height:1.5;
  margin:0;font-weight:600;overflow-wrap:anywhere;
}
.progress-panel .progress-tools{
  grid-column:2;grid-row:1;min-height:0;margin:0;gap:0;align-self:center;
}
.progress-panel .progress-tools .counter{font-size:10px;line-height:1.5}
.progress-panel .progress-tools #count{font-size:13px}
.progress-panel .progress-copy .track{grid-column:1/-1;grid-row:2;height:14px;margin:0}
.progress-panel #progress-garden{width:102px;height:48px}
.progress-panel .progress-garden{transform:scale(.73);transform-origin:0 0}
.current-turn{scroll-margin-top:12px;scroll-margin-bottom:calc(var(--progress-height) + 16px)}
.current-turn>.bot{top:8px}
body.chat-started .save-toast{bottom:calc(var(--progress-height) + 12px)}
body.keyboard-open .progress-panel{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:360px){
  .progress-panel{grid-template-columns:minmax(0,1fr) 98px;gap:8px;padding-left:12px;padding-right:12px}
  .progress-panel #progress-garden{width:98px;height:48px}
  .progress-panel .progress-garden{transform:scale(.70)}
}
@media(prefers-reduced-motion:reduce){.progress-panel{transition:none}}

/* Replies and questions share the same bubble style, as separate messages. */
#log .bot{background:#fff;border:1px solid #daefea;border-radius:4px 15px 15px 15px;padding:13px 15px;font-size:15px;line-height:1.8;font-weight:400;box-shadow:none;backdrop-filter:none}
@media(max-width:600px){#log .bot{font-size:14px;padding:12px 13px}}

/* Keep the chat background clear of decorative side vines. */
.vine-garden{display:none}
.registration-consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0 10px;font-size:14px;line-height:1.8;text-align:left}.registration-consent input{flex:none;width:20px;height:20px;margin-top:3px;accent-color:#43bda0}.registration-consent a{color:#33927b;text-decoration:underline;text-underline-offset:3px}.receipt{font-size:11px;overflow-wrap:anywhere;color:#576864}.next:disabled{opacity:.65;cursor:wait}

.registration-terms{font-size:12px;line-height:1.8;color:#576864;margin:18px 0 8px;text-align:center}.registration-terms a{color:#33927b;text-decoration:underline;text-underline-offset:3px}.continue-details{font-size:13px;font-weight:400;text-decoration:underline;text-underline-offset:4px;margin-top:12px}.continue-details:disabled{opacity:.6}
