:root{}
.grassai-root{
  --grass-width:580px;
  --grass-height:520px;
  --grass-box-width:min(100%, max(580px, var(--grass-width)));
  --grass-bg:var(--grass-bg, transparent);
  display:flex !important;
  justify-content:center !important;
  align-items:stretch !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:0 !important;
  border:0 !important;
  box-sizing:border-box !important;
  line-height:1.35 !important;
  text-align:left !important;
  isolation:isolate;
}
.grassai-root,
.grassai-root *{box-sizing:border-box !important;}
.grassai-root[data-position="inline"]{margin-left:auto !important;margin-right:auto !important;}
.grassai-root .grassai-cta{display:none !important;}

.grassai-box{
  position:relative !important;
  margin:0 auto !important;
  padding:0 !important;
  border:1px solid var(--grass-border, rgba(0,0,0,.12)) !important;
  border-radius:16px !important;
  overflow:hidden !important;
  background:var(--grass-surface, #fff) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.08) !important;
  display:flex !important;
  flex-direction:column !important;
  width:var(--grass-box-width) !important;
  min-width:0 !important;
  max-width:100% !important;
  height:var(--grass-height) !important;
  min-height:var(--grass-height) !important;
  max-height:var(--grass-height) !important;
  transform:none !important;
}
.grassai-box[hidden]{display:none !important;}
.grassai-start[hidden]{display:none !important;}

.grassai-header{
  display:grid !important;
  grid-template-columns:1fr 44px !important;
  align-items:center !important;
  column-gap:14px !important;
  padding:16px 18px !important;
  border-bottom:1px solid var(--grass-border, rgba(0,0,0,.10)) !important;
  background:rgba(0,0,0,.02) !important;
  flex:0 0 auto !important;
  width:100% !important;
  min-height:74px !important;
}
.grassai-header__title{
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  font-size:16px !important;
  font-weight:700 !important;
  color:var(--grass-text,#111) !important;
  line-height:1.2 !important;
  text-align:left !important;
}
.grassai-close{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  max-width:44px !important;
  max-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  border:1px solid var(--grass-border, rgba(0,0,0,.12)) !important;
  background:#fff !important;
  color:#111 !important;
  cursor:pointer !important;
  font-size:18px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-indent:0 !important;
  text-align:center !important;
  box-shadow:none !important;
}

.grassai-start{
  display:grid !important;
  place-content:center !important;
  justify-items:center !important;
  row-gap:16px !important;
  flex:1 1 auto !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:34px 56px !important;
  text-align:center !important;
}
.grassai-start__text{
  display:block !important;
  width:100% !important;
  max-width:455px !important;
  margin:0 auto !important;
  padding:0 !important;
  font-size:16px !important;
  font-weight:400 !important;
  color:var(--grass-muted,#666) !important;
  line-height:1.42 !important;
  text-align:center !important;
  white-space:normal !important;
}
.grassai-start__btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto !important;
  padding:12px 28px !important;
  border-radius:12px !important;
  border:1px solid var(--grass-border, rgba(0,0,0,.12)) !important;
  background:var(--grass-accent,#111) !important;
  color:var(--grass-accent-contrast,#fff) !important;
  cursor:pointer !important;
  font-weight:700 !important;
  min-width:190px !important;
  min-height:44px !important;
  line-height:1.2 !important;
  text-align:center !important;
  box-shadow:0 10px 25px rgba(0,0,0,.10) !important;
  transition:transform .12s ease, box-shadow .12s ease !important;
}
.grassai-start__btn:hover{transform:translateY(-1px) !important;box-shadow:0 12px 28px rgba(0,0,0,.13) !important;}

.grassai-messages{
  padding:16px !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  width:100% !important;
  text-align:left !important;
}
.grassai-messages[hidden],
.grassai-inputbar[hidden],
.grassai-footer[hidden]{display:none !important;}
.grassai-msgrow{
  display:flex !important;
  align-items:flex-end !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.grassai-msgrow--ai{justify-content:flex-start !important;}
.grassai-msgrow--me{justify-content:flex-end !important;}
.grassai-chat-avatar{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  flex:0 0 58px !important;
  border-radius:999px !important;
  object-fit:cover !important;
  border:1px solid rgba(0,0,0,.12) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.10) !important;
  background:#f3edea !important;
}
.grassai-msgrow--me .grassai-chat-avatar{display:none !important;}
.grassai-msg{
  display:block !important;
  margin:0 !important;
  padding:11px 13px !important;
  border-radius:14px !important;
  border:1px solid var(--grass-border, rgba(0,0,0,.10)) !important;
  background:#fff !important;
  color:var(--grass-text,#111) !important;
  animation:grassaiFadeIn .22s ease both !important;
  line-height:1.5 !important;
  font-size:14px !important;
  font-weight:400 !important;
  text-align:left !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  min-width:0 !important;
}
.grassai-msgrow--ai .grassai-msg{max-width:calc(100% - 68px) !important;}
.grassai-msgrow--me .grassai-msg{max-width:84% !important;}
.grassai-msg--ai{background:rgba(0,0,0,.03) !important;}
.grassai-msg--me{align-self:flex-end !important;background:rgba(0,0,0,.08) !important;}
.grassai-msg--form,
.grassai-msg--choices{
  width:calc(100% - 68px) !important;
  max-width:calc(100% - 68px) !important;
  padding:14px !important;
}

.grassai-lead-form{display:flex !important;flex-direction:column !important;gap:10px !important;width:100% !important;margin:0 !important;padding:0 !important;}
.grassai-field{display:flex !important;flex-direction:column !important;gap:6px !important;width:100% !important;margin:0 !important;padding:0 !important;}
.grassai-field__label{display:block !important;font-size:12px !important;font-weight:700 !important;color:#111 !important;line-height:1.3 !important;margin:0 !important;padding:0 !important;}
.grassai-field__input{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:42px !important;
  margin:0 !important;
  padding:11px 12px !important;
  border-radius:12px !important;
  border:1px solid rgba(0,0,0,.16) !important;
  outline:none !important;
  background:#fff !important;
  color:#111 !important;
  line-height:1.35 !important;
  font-size:14px !important;
}
.grassai-field__input:focus{box-shadow:0 0 0 3px rgba(0,0,0,.08) !important;}
.grassai-consent{display:flex !important;align-items:flex-start !important;gap:10px !important;font-size:12px !important;line-height:1.45 !important;color:#222 !important;cursor:pointer !important;margin:0 !important;padding:0 !important;}
.grassai-consent input{margin:2px 0 0 0 !important;flex:0 0 auto !important;}
.grassai-form-error{font-size:12px !important;line-height:1.4 !important;color:#9a2d2d !important;background:rgba(154,45,45,.08) !important;border:1px solid rgba(154,45,45,.16) !important;padding:8px 10px !important;border-radius:10px !important;margin:0 !important;}
.grassai-form-submit{width:100% !important;padding:12px 16px !important;border-radius:12px !important;border:1px solid #111 !important;background:#111 !important;color:#fff !important;cursor:pointer !important;font-weight:700 !important;text-align:center !important;line-height:1.2 !important;}
.grassai-form-submit:disabled{opacity:.7 !important;cursor:wait !important;}

.grassai-msg--typing{display:flex !important;align-items:center !important;gap:4px !important;min-width:54px !important;width:auto !important;}
.grassai-dot{width:7px !important;height:7px !important;border-radius:999px !important;background:rgba(0,0,0,.45) !important;display:inline-block !important;animation:grassaiPulse 1s infinite ease-in-out !important;}
.grassai-dot:nth-child(2){animation-delay:.15s !important;}
.grassai-dot:nth-child(3){animation-delay:.3s !important;}

.grassai-choices{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:10px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.grassai-choice-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  width:100% !important;
  margin:0 !important;
  padding:11px 12px !important;
  border-radius:12px !important;
  border:1px solid var(--grass-border, rgba(0,0,0,.12)) !important;
  background:var(--grass-accent,#111) !important;
  color:var(--grass-accent-contrast,#fff) !important;
  cursor:pointer !important;
  font-weight:600 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  -webkit-text-fill-color:#fff !important;
}
.grassai-choice-btn:hover,
.grassai-choice-btn:focus,
.grassai-choice-btn:focus-visible,
.grassai-choice-btn:active{background:#333 !important;color:#fff !important;border-color:#333 !important;outline:none !important;box-shadow:none !important;text-decoration:none !important;-webkit-text-fill-color:#fff !important;}
.grassai-choices .grassai-choice-btn:only-child{grid-column:1 / -1 !important;}

.grassai-inputbar{
  display:grid !important;
  grid-template-columns:44px minmax(0, 1fr) auto !important;
  gap:10px !important;
  padding:12px 14px !important;
  border-top:1px solid var(--grass-border, rgba(0,0,0,.10)) !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
}
.grassai-input{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  margin:0 !important;
  padding:11px 12px !important;
  border-radius:12px !important;
  border:1px solid var(--grass-border, rgba(0,0,0,.16)) !important;
  outline:none !important;
  line-height:1.35 !important;
  font-size:14px !important;
  color:#111 !important;
  background:#fff !important;
}
.grassai-input:focus{box-shadow:0 0 0 3px rgba(0,0,0,.08) !important;}
.grassai-send{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-height:44px !important;margin:0 !important;padding:11px 14px !important;border-radius:12px !important;border:1px solid var(--grass-border, rgba(0,0,0,.12)) !important;background:var(--grass-accent,#111) !important;color:var(--grass-accent-contrast,#fff) !important;cursor:pointer !important;font-weight:600 !important;line-height:1.2 !important;text-align:center !important;}
.grassai-ptt{display:inline-flex !important;align-items:center !important;justify-content:center !important;width:44px !important;height:44px !important;min-width:44px !important;min-height:44px !important;margin:0 !important;padding:0 !important;border-radius:12px !important;border:1px solid var(--grass-border, rgba(0,0,0,.12)) !important;background:#fff !important;color:#111 !important;cursor:pointer !important;line-height:1 !important;text-align:center !important;}
.grassai-ptt.is-recording{background:rgba(0,0,0,.08) !important;transform:scale(1.03) !important;}
.grassai-ptt:disabled{cursor:not-allowed !important;opacity:.45 !important;}

.grassai-footer{padding:10px 14px !important;background:rgba(0,0,0,.02) !important;border-top:1px solid var(--grass-border, rgba(0,0,0,.06)) !important;width:100% !important;text-align:left !important;}
.grassai-footer__hint{font-size:12px !important;color:var(--grass-muted,#666) !important;line-height:1.35 !important;}
.grassai-footer__hint--error{color:#9a2d2d !important;}
.grassai-title__disclosure{font-size:12px !important;opacity:.7 !important;margin-top:2px !important;}
.grassai-link{font-weight:700 !important;text-decoration:underline !important;color:inherit !important;word-break:break-word !important;}
.grassai-title{display:flex !important;gap:10px !important;align-items:center !important;margin:0 !important;padding:0 !important;}
.grassai-title__name{font-weight:700 !important;color:var(--grass-text,#111) !important;line-height:1.1 !important;margin:0 !important;padding:0 !important;}
.grassai-title__sub{font-size:12px !important;color:var(--grass-muted,#666) !important;margin-top:2px !important;padding:0 !important;}
.grassai-avatar{width:68px !important;height:68px !important;border-radius:999px !important;object-fit:cover !important;}
.grassai-avatar--placeholder{background:rgba(0,0,0,.08) !important;}

.grassai-root,
.grassai-root *{accent-color:#111 !important;}
.grassai-root a,
.grassai-root a:link,
.grassai-root a:visited,
.grassai-root a:hover,
.grassai-root a:active{color:#111 !important;border-color:#111 !important;text-decoration-color:#111 !important;outline:none !important;box-shadow:none !important;}
.grassai-root button,
.grassai-root button:hover,
.grassai-root button:focus,
.grassai-root button:focus-visible,
.grassai-root button:active{border-color:#111 !important;outline:none !important;box-shadow:none !important;}
.grassai-root input,
.grassai-root input:hover,
.grassai-root input:focus,
.grassai-root input:focus-visible,
.grassai-root input:active{border-color:#111 !important;outline:none !important;box-shadow:0 0 0 2px rgba(17,17,17,.08) !important;caret-color:#111 !important;}
.grassai-root .grassai-start__btn,
.grassai-root .grassai-start__btn:hover,
.grassai-root .grassai-start__btn:focus,
.grassai-root .grassai-start__btn:focus-visible,
.grassai-root .grassai-start__btn:active,
.grassai-root .grassai-send,
.grassai-root .grassai-send:hover,
.grassai-root .grassai-send:focus,
.grassai-root .grassai-send:focus-visible,
.grassai-root .grassai-send:active,
.grassai-root .grassai-form-submit,
.grassai-root .grassai-form-submit:hover,
.grassai-root .grassai-form-submit:focus,
.grassai-root .grassai-form-submit:focus-visible,
.grassai-root .grassai-form-submit:active{background:#111 !important;color:#fff !important;border-color:#111 !important;-webkit-text-fill-color:#fff !important;}
.grassai-root .grassai-close,
.grassai-root .grassai-close:hover,
.grassai-root .grassai-close:focus,
.grassai-root .grassai-close:focus-visible,
.grassai-root .grassai-close:active,
.grassai-root .grassai-ptt,
.grassai-root .grassai-ptt:hover,
.grassai-root .grassai-ptt:focus,
.grassai-root .grassai-ptt:focus-visible,
.grassai-root .grassai-ptt:active{background:#fff !important;color:#111 !important;border-color:#111 !important;-webkit-text-fill-color:#111 !important;}
.grassai-root .grassai-choice-btn,
.grassai-root .grassai-choice-btn:link,
.grassai-root .grassai-choice-btn:visited,
.grassai-root .grassai-choice-btn:hover,
.grassai-root .grassai-choice-btn:focus,
.grassai-root .grassai-choice-btn:focus-visible,
.grassai-root .grassai-choice-btn:active{color:#fff !important;text-decoration:none !important;-webkit-text-fill-color:#fff !important;}

@keyframes grassaiPulse{
  0%,80%,100%{opacity:.35;transform:translateY(0);}
  40%{opacity:1;transform:translateY(-1px);}
}
@keyframes grassaiFadeIn{
  from{opacity:0;transform:translateY(4px);}
  to{opacity:1;transform:translateY(0);}
}

@media (max-width: 640px){
  .grassai-root{--grass-box-width:100%;width:100% !important;min-width:0 !important;max-width:100% !important;}
  .grassai-box{width:100% !important;min-width:0 !important;max-width:100% !important;height:min(68vh, var(--grass-height)) !important;min-height:460px !important;max-height:68vh !important;border-radius:14px !important;}
  .grassai-header{min-height:66px !important;padding:12px 14px !important;grid-template-columns:1fr 42px !important;}
  .grassai-close{width:42px !important;height:42px !important;min-width:42px !important;min-height:42px !important;max-width:42px !important;max-height:42px !important;}
  .grassai-start{padding:28px 22px !important;}
  .grassai-start__text{max-width:100% !important;font-size:15px !important;}
  .grassai-start__btn{min-width:170px !important;}
  .grassai-messages{padding:12px !important;gap:12px !important;}
  .grassai-chat-avatar{width:46px !important;height:46px !important;min-width:46px !important;flex-basis:46px !important;}
  .grassai-msgrow--ai .grassai-msg{max-width:calc(100% - 56px) !important;}
  .grassai-msg--form,
  .grassai-msg--choices{width:calc(100% - 56px) !important;max-width:calc(100% - 56px) !important;padding:12px !important;}
  .grassai-msgrow--me .grassai-msg{max-width:88% !important;}
  .grassai-choices{grid-template-columns:1fr !important;}
  .grassai-inputbar{grid-template-columns:42px minmax(0, 1fr) auto !important;padding:10px 12px !important;gap:8px !important;}
  .grassai-ptt{width:42px !important;height:42px !important;min-width:42px !important;min-height:42px !important;}
  .grassai-send{min-height:42px !important;padding:10px 12px !important;font-size:13px !important;}
  .grassai-input{min-height:42px !important;font-size:13px !important;}
}
