.mcb-public-chat{--mcb-green:#94C11F;--mcb-ink:#20301b;box-sizing:border-box;font-family:inherit;color:var(--mcb-ink);border:1px solid #d8e0d3;background:#fff;border-radius:17px;max-width:660px;width:100%;margin:20px auto;overflow:hidden;box-shadow:0 10px 28px #1b271012}
.mcb-public-chat *{box-sizing:border-box}
.mcb-public-header{display:flex;gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid #e7ece4;background:#f9fbf6}
.mcb-public-avatar{object-fit:contain;width:52px;height:52px;flex-shrink:0}
.mcb-public-mark{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:46px;height:46px;border-radius:12px;background:var(--mcb-green);font-weight:800;font-size:28px;color:#fff}
.mcb-public-header strong{font-size:18px;display:block;line-height:1.25}
.mcb-public-header small{font-size:12px;color:#66735f}
.mcb-public-messages{display:flex;flex-direction:column;gap:12px;height:340px;max-height:55vh;overflow:auto;padding:17px 18px;overscroll-behavior:contain}
.mcb-public-msg{max-width:88%;padding:11px 14px;border-radius:14px;font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
.mcb-public-bot{align-self:flex-start;background:#eff4e9;border-radius:3px 14px 14px 14px}
.mcb-public-user{align-self:flex-end;background:#94C11F;color:#172a05;border-radius:14px 3px 14px 14px}
.mcb-public-form{display:flex;align-items:stretch;flex-wrap:wrap;gap:9px;padding:13px 17px 8px;border-top:1px solid #e7ece4}
.mcb-public-label{width:100%;font-weight:600;font-size:13px}
.mcb-public-form textarea{display:block;flex:1 1 260px;margin:0;resize:vertical;min-width:0;min-height:62px;max-height:160px;padding:10px 12px;font-family:inherit;font-size:16px;line-height:1.45;border:1px solid #cbd7c4;border-radius:10px;color:#1c2917;background:#fff}
.mcb-public-form textarea:focus{outline:2px solid #94c11f66;border-color:#94C11F}
.mcb-public-form button{align-self:stretch;border:0;border-radius:10px;background:var(--mcb-green);color:#173008;font-weight:700;padding:11px 17px;font-size:14px;font-family:inherit;cursor:pointer;min-height:48px}
.mcb-public-form button:hover{background:#83ae19}
.mcb-public-form button:disabled{opacity:.6;cursor:not-allowed}
.mcb-public-note,.mcb-public-error{font-size:12px;line-height:1.5;margin:5px 17px 16px;color:#5a6b56}
.mcb-public-error{color:#ae2525;font-weight:600}
.mcb-public-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.mcb-public-chat [hidden]{display:none!important}
.mcb-public-off{border:1px solid #dde2d6;border-radius:10px;padding:16px;background:#f8faf6;color:#344330}
@media(max-width:520px){.mcb-public-chat{border-radius:13px;margin:8px auto}.mcb-public-messages{height:300px}.mcb-public-form{padding:11px 12px}.mcb-public-form button{width:100%}.mcb-public-note{margin:7px 12px 14px}.mcb-public-msg{max-width:93%}}

/* v0.3.8: fixed desktop dock, mobile bottom drawer; inline iframe stays unchanged */
.mcb-public-widget{--mcb-green:#94C11F;--mcb-ink:#20301b;position:fixed!important;z-index:2147483000!important;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));font-family:system-ui,-apple-system,sans-serif;color:var(--mcb-ink);box-sizing:border-box;line-height:1.45}
.mcb-public-widget *{box-sizing:border-box}
.mcb-public-widget .mcb-public-launcher{display:flex;align-items:center;gap:10px;background:#fff;color:#21300e;border:3px solid #94C11F;border-radius:999px;padding:6px 13px 6px 6px;box-shadow:0 8px 27px rgba(25,50,5,.18);min-height:67px;max-width:260px;font-family:inherit;cursor:pointer;font-size:15px;font-weight:800;transition:background .18s ease,transform .18s ease}
.mcb-public-widget .mcb-public-launcher:hover{background:#f0f8e6;transform:translateY(-2px)}
.mcb-public-widget .mcb-public-launcher:focus-visible,.mcb-public-widget .mcb-public-close:focus-visible{outline:3px solid #1c4606;outline-offset:3px}
.mcb-public-widget .mcb-public-launcher-avatar{width:47px;height:47px;object-fit:contain;border-radius:50%;background:#f8fbf3;flex:none}
.mcb-public-widget .mcb-public-launcher-mark{width:47px;height:47px;border-radius:50%;display:grid;place-items:center;background:#94C11F;color:#203010;font-size:25px}
.mcb-public-widget .mcb-public-launcher-label{white-space:nowrap}
.mcb-public-widget .mcb-public-launcher-dot{height:9px;width:9px;background:#94C11F;border-radius:50%;flex:none}
.mcb-public-widget:not(.mcb-public-embedded) .mcb-public-chat{display:flex;flex-direction:column;position:absolute!important;right:0;bottom:81px;width:min(398px,calc(100vw - 28px));max-width:398px;max-height:min(650px,calc(100dvh - 115px));height:min(610px,calc(100dvh - 115px));margin:0;background:#fff;border:2px solid #94C11F;border-radius:16px;overflow:hidden;box-shadow:0 14px 44px rgba(19,39,10,.23)}
.mcb-public-widget .mcb-public-header{flex:none;gap:9px;padding:11px 13px}
.mcb-public-widget .mcb-public-header-copy{flex:1;min-width:0}
.mcb-public-widget .mcb-public-close{width:38px;height:38px;display:grid;place-items:center;flex:none;border:1px solid #d7e1cc;border-radius:10px;background:#fff;color:#1b2a13;font-size:30px;line-height:1;cursor:pointer;padding:0}
.mcb-public-widget .mcb-public-close:hover{background:#eaf4df}
.mcb-public-widget .mcb-public-messages{min-height:0;flex:1;height:auto;max-height:none;overflow-y:auto}
.mcb-public-widget .mcb-public-form{flex:none;gap:7px;padding:11px 12px 5px}
.mcb-public-widget .mcb-public-form textarea{min-height:53px;flex-basis:170px}
.mcb-public-widget .mcb-public-form button{min-height:45px}
.mcb-public-widget .mcb-public-note{margin:5px 12px 12px;flex:none;font-size:11px}
.mcb-public-widget .mcb-public-error{margin:0 12px 8px;flex:none}
.mcb-public-widget [hidden]{display:none!important}
/* In cross-site iframe mode use the original full-size inline conversation, no dock or launcher. */
.mcb-public-widget.mcb-public-embedded{position:static!important;right:auto;bottom:auto;height:100vh;width:100%;z-index:auto!important}
.mcb-public-widget.mcb-public-embedded .mcb-public-chat{position:static!important;display:flex;height:100%;width:100%;max-width:none;max-height:none;border:0;border-radius:0;margin:0;box-shadow:none}
@media(max-width:520px){
  .mcb-public-widget{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom))}
  .mcb-public-widget .mcb-public-launcher{min-height:58px;padding:4px 10px 4px 4px;font-size:14px;box-shadow:0 5px 17px rgba(25,50,5,.2)}
  .mcb-public-widget .mcb-public-launcher-avatar,.mcb-public-widget .mcb-public-launcher-mark{width:43px;height:43px}
  .mcb-public-widget:not(.mcb-public-embedded) .mcb-public-chat{bottom:68px;width:calc(100vw - 16px);max-width:none;height:min(680px,calc(100dvh - 88px));max-height:calc(100dvh - 88px);border-radius:13px}
  .mcb-public-widget .mcb-public-form button{width:auto}
  .mcb-public-widget .mcb-public-form textarea{flex:1 1 160px}
  .mcb-public-widget .mcb-public-messages{padding:11px}
}
@media(prefers-reduced-motion:reduce){.mcb-public-widget .mcb-public-launcher{transition:none}.mcb-public-widget .mcb-public-launcher:hover{transform:none}}

/* v0.3.10: compact typography in externally embedded Connector iframe only. */
.mcb-public-embedded .mcb-public-header{padding:9px 12px}
.mcb-public-embedded .mcb-public-header strong{font-size:15px}
.mcb-public-embedded .mcb-public-header small{font-size:11px}
.mcb-public-embedded .mcb-public-avatar{width:40px;height:40px}
.mcb-public-embedded .mcb-public-mark{width:39px;height:39px;font-size:22px}
.mcb-public-embedded .mcb-public-messages{gap:9px;padding:12px}
.mcb-public-embedded .mcb-public-msg{font-size:13.5px;line-height:1.48;padding:9px 11px;border-radius:11px;max-width:93%}
.mcb-public-embedded .mcb-public-form{padding:8px 11px 5px;gap:6px}
.mcb-public-embedded .mcb-public-label{font-size:11px}
.mcb-public-embedded .mcb-public-form textarea{min-height:46px;padding:8px 9px;font-size:14px;line-height:1.4;border-radius:8px}
.mcb-public-embedded .mcb-public-form button{font-size:12px;min-height:41px;padding:8px 12px;border-radius:8px}
.mcb-public-embedded .mcb-public-note{font-size:10.5px;line-height:1.4;margin:5px 11px 10px}
@media(max-width:520px){.mcb-public-embedded .mcb-public-form textarea{font-size:16px} /* iOS zoom prevention */}

/* v0.3.16 – transparent, compact statement about human-approved knowledge */
.mcb-public-trust{flex:none;background:#f7faf3;border-bottom:1px solid #e7ece4;padding:9px 16px;margin:0;color:#45593b;font-size:11.5px;line-height:1.45}
.mcb-public-trust strong{color:#314b22;font-weight:750}
.mcb-public-widget .mcb-public-trust{padding:8px 12px;font-size:11px}
.mcb-public-embedded .mcb-public-trust{padding:7px 11px;font-size:10.5px}
@media(max-width:520px){.mcb-public-widget .mcb-public-trust{padding:7px 11px;font-size:10.5px}}

/* v0.3.17: clear question label, subtle prompt, high-contrast two-line send button. */
.mcb-public-chat .mcb-public-label{font-size:16px;font-weight:800;line-height:1.25;color:#243b14}
.mcb-public-chat .mcb-public-form textarea::placeholder{font-size:13px;line-height:1.4;color:#718069;opacity:1}
.mcb-public-chat .mcb-public-form .mcb-public-send{background:#537510;color:#ffffff;font-size:13px;line-height:1.1;min-width:85px;padding:9px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;text-align:center}
.mcb-public-chat .mcb-public-form .mcb-public-send:hover{background:#385c07;color:#ffffff}
.mcb-public-chat .mcb-public-form .mcb-public-send:focus-visible{outline:3px solid #253e0c;outline-offset:2px}
.mcb-public-chat .mcb-public-form .mcb-public-send span{display:block;white-space:nowrap}
.mcb-public-embedded .mcb-public-label{font-size:16px}
.mcb-public-embedded .mcb-public-form textarea::placeholder{font-size:12.5px}
.mcb-public-embedded .mcb-public-form .mcb-public-send{font-size:13px;min-width:76px;min-height:47px;padding:7px 10px}
@media(max-width:520px){.mcb-public-chat .mcb-public-form textarea{font-size:16px} .mcb-public-chat .mcb-public-form textarea::placeholder{font-size:13px}}

/* v0.3.20 – discreet, accessible privacy-policy link beneath public chat. */
.mcb-public-note a{color:#3d690c;text-decoration:underline;text-underline-offset:2px;font-weight:650}
.mcb-public-note a:hover{color:#254806}
.mcb-public-note a:focus-visible{outline:2px solid #94c11f;outline-offset:2px}

/* v0.3.23: mobile input stays directly beneath the chat header, above the
   conversation. JavaScript reorders the actual DOM (not just CSS order).
   The keyboard must not cover the question field or obscure the submit action. */
@media (max-width:600px) {
  .mcb-public-widget .mcb-public-form,
  .mcb-public-widget.mcb-public-embedded .mcb-public-form {
    flex:none;padding:10px 12px 12px;background:#fff;
    border-top:0;border-bottom:1px solid #e7ece4;
  }
  .mcb-public-widget .mcb-public-form textarea {min-height:52px;max-height:125px;flex:1 1 145px;resize:vertical;font-size:16px}
  .mcb-public-widget .mcb-public-form .mcb-public-send {min-height:51px;width:auto;align-self:stretch}
  .mcb-public-widget .mcb-public-error {flex:none;margin:3px 12px 6px}
  .mcb-public-widget .mcb-public-messages {min-height:0;flex:1 1 auto;height:auto;max-height:none;overflow-y:auto;overscroll-behavior:contain}
  .mcb-public-widget .mcb-public-trust {flex:none;font-size:10px;padding:6px 11px}
  .mcb-public-widget .mcb-public-note {flex:none;font-size:10px;line-height:1.35;margin:4px 11px 9px}
  .mcb-public-widget.mcb-public-embedded {height:100dvh;min-height:0}
  .mcb-public-widget.mcb-public-embedded .mcb-public-chat {height:100%;min-height:0}
  .mcb-public-widget:not(.mcb-public-embedded) .mcb-public-chat {
    position:fixed!important;left:8px;right:8px;top:var(--mcb-visible-top,8px);bottom:auto;
    width:auto;max-width:none;height:var(--mcb-visible-height,calc(100dvh - 16px));
    max-height:var(--mcb-visible-height,calc(100dvh - 16px));
  }
  .mcb-public-widget.is-open .mcb-public-launcher {visibility:hidden}
}

/* v0.3.27: dictate into the public question field (also in the Connector iframe).
   Grid keeps the text field, microphone and send control on a single row. */
.mcb-public-chat .mcb-public-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px 85px;
  align-items:stretch;
  gap:7px;
}
.mcb-public-chat .mcb-public-form .mcb-public-label{grid-column:1/-1;width:auto}
.mcb-public-chat .mcb-public-form textarea{grid-column:1;min-width:0;width:100%;flex:none}
.mcb-public-chat .mcb-public-form .mcb-public-mic{
  grid-column:2;display:grid;place-items:center;align-self:stretch;
  min-width:44px;width:44px;min-height:47px;padding:0;
  background:#f4f8ef;color:#375c1b;border:1px solid #a6c28b;border-radius:9px;
  box-shadow:none;cursor:pointer;transition:background .15s ease,border-color .15s ease;
}
.mcb-public-chat .mcb-public-form .mcb-public-mic svg{pointer-events:none}
.mcb-public-chat .mcb-public-form .mcb-public-mic:hover{background:#e5f0da;color:#294e12}
.mcb-public-chat .mcb-public-form .mcb-public-mic:focus-visible{outline:3px solid #294b10;outline-offset:2px}
.mcb-public-chat .mcb-public-form .mcb-public-mic[aria-pressed="true"]{
  background:#fff0eb;color:#ae302c;border-color:#db786a;
  box-shadow:0 0 0 3px #db786a28;
}
.mcb-public-chat .mcb-public-form .mcb-public-send{grid-column:3;width:100%;min-width:0}
.mcb-public-chat .mcb-public-form .mcb-public-dictation-status{
  grid-column:1/-1;color:#4c673d;font-size:12px;line-height:1.35;margin:0;
}
.mcb-public-chat .mcb-public-form .mcb-public-dictation-status[data-error="1"]{color:#a42d24}
/* The Connector's original prompt was 12.5px; raise it moderately. */
.mcb-public-embedded .mcb-public-form textarea::placeholder{font-size:14.5px;line-height:1.38}
@media(max-width:600px){
  .mcb-public-chat .mcb-public-form{grid-template-columns:minmax(0,1fr) 42px 76px;gap:6px}
  .mcb-public-chat .mcb-public-form .mcb-public-mic{min-width:42px;width:42px;min-height:51px}
  .mcb-public-embedded .mcb-public-form textarea::placeholder{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){.mcb-public-chat .mcb-public-form .mcb-public-mic{transition:none}}
/* Cross-origin embedded panels must stack their header, messages and composer. */
.mcb-public-widget.mcb-public-embedded .mcb-public-chat{flex-direction:column}
/* Prevent the grid from distributing unused composer height to tiny buttons. */
.mcb-public-chat .mcb-public-form{align-content:start}

/* v0.3.31: separate opt-in answer feedback for each rendered answer. */
.mcb-feedback{margin-top:9px;border-top:1px solid #dce6d5;padding-top:8px;font-size:12px;line-height:1.5}
.mcb-feedback-toggle{background:transparent!important;color:#365a22!important;border:0!important;padding:4px!important;min-height:0!important;width:auto!important;font-size:12px!important;cursor:pointer;text-decoration:underline}
.mcb-feedback-form{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.mcb-feedback-form[hidden]{display:none!important}
.mcb-feedback-form label{font-size:12px;font-weight:600}
.mcb-feedback-form select,.mcb-feedback-form textarea{display:block;width:100%;max-width:100%;font:inherit;border:1px solid #adc69b;border-radius:6px;padding:7px;color:#243a14;background:#fff}
.mcb-feedback-form button{width:auto!important;min-height:34px!important;font-size:12px!important;padding:5px 12px!important}
.mcb-feedback-form [role=status]{font-size:11px;color:#526a45}

.mcb-feedback-id{display:block;color:#60745a;font-size:10px;word-break:break-all;margin-bottom:4px}

/* v0.3.32: move the [muds_chatbot_public] launcher up by 100px on both
 * desktops and phones. The opened panel remains independently pinned inside
 * the viewport, so its height is not lost when the launcher moves. */
@media (min-width:601px) {
  .mcb-public-widget:not(.mcb-public-embedded) {
    bottom:min(calc(100px + max(18px,env(safe-area-inset-bottom))),calc(100dvh - 78px))!important;
  }
  .mcb-public-widget:not(.mcb-public-embedded) .mcb-public-chat {
    position:fixed!important;
    right:max(18px,env(safe-area-inset-right))!important;
    bottom:max(18px,env(safe-area-inset-bottom))!important;
    height:min(610px,calc(100dvh - 36px));
    max-height:calc(100dvh - 36px);
  }
}
@media (max-width:600px) {
  .mcb-public-widget:not(.mcb-public-embedded) {
    bottom:min(calc(100px + max(8px,env(safe-area-inset-bottom))),calc(100dvh - 72px))!important;
  }
}
