:root{}
.grassai-root{--grass-width:420px; --grass-height:468px; --grass-bg: var(--grass-bg, transparent); width:var(--grass-width); min-width:var(--grass-width); max-width:var(--grass-width);}
.grassai-root[data-position="inline"]{width:var(--grass-width); min-width:var(--grass-width); max-width:var(--grass-width);}
.grassai-root .grassai-cta{display:none !important;}
.grassai-box{margin-top:0;border:1px solid var(--grass-border, rgba(0,0,0,.12));border-radius:16px;overflow:hidden;background:var(--grass-surface, #fff);box-shadow:0 10px 30px rgba(0,0,0,.08);display:flex;flex-direction:column;width:var(--grass-width);min-width:var(--grass-width);max-width:var(--grass-width);height:var(--grass-height);min-height:var(--grass-height);max-height:var(--grass-height);}
.grassai-box[hidden]{display:none !important;}
.grassai-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--grass-border, rgba(0,0,0,.10));background:rgba(0,0,0,.02);}
.grassai-title{display:flex;gap:10px;align-items:center;}
.grassai-title__name{font-weight:700;color:var(--grass-text,#111);line-height:1.1}
.grassai-title__sub{font-size:12px;color:var(--grass-muted,#666);margin-top:2px}
.grassai-avatar{width:68px;height:68px;border-radius:999px;object-fit:cover}
.grassai-avatar--placeholder{background:rgba(0,0,0,.08)}
.grassai-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--grass-border, rgba(0,0,0,.12));background:#fff;color:#111;cursor:pointer;font-size:18px;line-height:1}
.grassai-header__title{font-size:16px;font-weight:700;color:var(--grass-text,#111);line-height:1.2;}
.grassai-start{padding:18px 18px;display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:140px;text-align:center;width:100%;box-sizing:border-box;}
.grassai-start__text{font-size:16px;color:var(--grass-muted,#666);max-width:310px;line-height:1.6;}
.grassai-start__btn{padding:12px 18px;border-radius:12px;border:1px solid var(--grass-border, rgba(0,0,0,.12));background:var(--grass-accent,#111);color:var(--grass-accent-contrast,#fff);cursor:pointer;font-weight:700;min-width:140px;box-shadow:0 10px 25px rgba(0,0,0,.10);transition:transform .12s ease, box-shadow .12s ease;}
.grassai-start__btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.13);}
.grassai-messages{padding:14px;flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;}
.grassai-msgrow{display:flex;align-items:flex-end;gap:10px;max-width:100%;}
.grassai-msgrow--ai{justify-content:flex-start;}
.grassai-msgrow--me{justify-content:flex-end;}
.grassai-chat-avatar{width:68px;height:68px;border-radius:999px;object-fit:cover;flex:0 0 68px;border:1px solid rgba(0,0,0,.12);box-shadow:0 4px 12px rgba(0,0,0,.10);background:#f3edea;}
.grassai-msgrow--me .grassai-chat-avatar{display:none;}
.grassai-messages[hidden], .grassai-inputbar[hidden], .grassai-footer[hidden]{display:none !important;}
.grassai-msg{max-width:calc(100% - 46px);padding:10px 12px;border-radius:14px;border:1px solid var(--grass-border, rgba(0,0,0,.10));background:#fff;color:var(--grass-text,#111);animation:grassaiFadeIn .22s ease both;line-height:1.55;word-break:break-word;}
.grassai-msg--ai{background:rgba(0,0,0,.03);}
.grassai-msg--me{align-self:flex-end;background:rgba(0,0,0,.08);}

.grassai-msg--form{width:min(100%, 100%);padding:12px;}
.grassai-lead-form{display:flex;flex-direction:column;gap:10px;width:100%;}
.grassai-field{display:flex;flex-direction:column;gap:6px;}
.grassai-field__label{font-size:12px;font-weight:700;color:#111;}
.grassai-field__input{width:100%;padding:11px 12px;border-radius:12px;border:1px solid rgba(0,0,0,.16);outline:none;background:#fff;color:#111;box-sizing:border-box;}
.grassai-field__input:focus{box-shadow:0 0 0 3px rgba(0,0,0,.08);}
.grassai-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45;color:#222;cursor:pointer;}
.grassai-consent input{margin-top:2px;flex:0 0 auto;}
.grassai-form-error{font-size:12px;line-height:1.4;color:#9a2d2d;background:rgba(154,45,45,.08);border:1px solid rgba(154,45,45,.16);padding:8px 10px;border-radius:10px;}
.grassai-form-submit{padding:12px 16px;border-radius:12px;border:1px solid #111;background:#111;color:#fff;cursor:pointer;font-weight:700;}
.grassai-form-submit:hover,.grassai-form-submit:focus,.grassai-form-submit:focus-visible,.grassai-form-submit:active{background:#111;color:#fff;border-color:#111;}
.grassai-form-submit:disabled{opacity:.7;cursor:wait;}
.grassai-msg--typing{display:flex;align-items:center;gap:4px;min-width:54px;}
.grassai-dot{width:7px;height:7px;border-radius:999px;background:rgba(0,0,0,.45);display:inline-block;animation:grassaiPulse 1s infinite ease-in-out;}
.grassai-dot:nth-child(2){animation-delay:.15s;}
.grassai-dot:nth-child(3){animation-delay:.3s;}
.grassai-inputbar{display:flex;gap:10px;padding:12px 14px;border-top:1px solid var(--grass-border, rgba(0,0,0,.10));align-items:center;width:100%;box-sizing:border-box;}
.grassai-input{flex:1;padding:11px 12px;border-radius:12px;border:1px solid var(--grass-border, rgba(0,0,0,.16));outline:none;}
.grassai-input:focus{box-shadow:0 0 0 3px rgba(0,0,0,.08);}
.grassai-send{padding:11px 14px;border-radius:12px;border:1px solid var(--grass-border, rgba(0,0,0,.12));background:var(--grass-accent,#111);color:var(--grass-accent-contrast,#fff);cursor:pointer;font-weight:600;}
.grassai-ptt{width:44px;height:44px;border-radius:12px;border:1px solid var(--grass-border, rgba(0,0,0,.12));background:#fff;cursor:pointer;}
.grassai-ptt.is-recording{background:rgba(0,0,0,.08);transform:scale(1.03);}
.grassai-ptt:disabled{cursor:not-allowed;opacity:.45;}
.grassai-footer{padding:10px 14px;background:rgba(0,0,0,.02);border-top:1px solid var(--grass-border, rgba(0,0,0,.06));}
.grassai-footer__hint{font-size:12px;color:var(--grass-muted,#666);}
.grassai-footer__hint--error{color:#9a2d2d;}
.grassai-title__disclosure{font-size:12px;opacity:.7;margin-top:2px;}
.grassai-link{font-weight:700;text-decoration:underline;color:inherit;word-break:break-word;}
.grassai-header--minimal{min-height:58px;}
.grassai-header--minimal .grassai-close{margin-left:12px;flex:0 0 auto;}
.grassai-header--minimal .grassai-header__title{flex:1 1 auto;text-align:left;}

@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);}
}


.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{color:#111 !important;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;}
.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;}
.grassai-root .grassai-link,
.grassai-root .grassai-link:link,
.grassai-root .grassai-link:visited,
.grassai-root .grassai-link:hover,
.grassai-root .grassai-link:active{color:#111 !important;border-color:#111 !important;text-decoration-color:#111 !important;}

@media (max-width: 640px){
  .grassai-root{width:100%;min-width:100%;max-width:100%;}
  .grassai-box{width:100%;min-width:100%;max-width:100%;height:min(56vh, var(--grass-height));min-height:min(56vh, var(--grass-height));max-height:min(56vh, var(--grass-height));}
}
.grassai-choices{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px;padding:0 2px 2px;}
.grassai-choice-btn{padding:11px 14px;border-radius:12px;border:1px solid var(--grass-border, rgba(0,0,0,.12));background:var(--grass-accent,#111);color:var(--grass-accent-contrast,#fff);cursor:pointer;font-weight:600;line-height:1.3;}
.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;}


.grassai-root button.grassai-choice-btn,
.grassai-root button.grassai-choice-btn:link,
.grassai-root button.grassai-choice-btn:visited{background:#111 !important;color:#fff !important;border-color:#111 !important;-webkit-text-fill-color:#fff !important;}
.grassai-root button.grassai-choice-btn:hover,
.grassai-root button.grassai-choice-btn:focus,
.grassai-root button.grassai-choice-btn:focus-visible,
.grassai-root button.grassai-choice-btn:active{background:#333 !important;color:#fff !important;border-color:#333 !important;text-decoration:none !important;-webkit-text-fill-color:#fff !important;}

@media (max-width: 640px){
  .grassai-chat-avatar{width:60px;height:60px;flex-basis:60px;}
  .grassai-msg{max-width:calc(100% - 40px);}
}
