.ctn-chat-launcher{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 20px;border:1px solid #647669;border-radius:28px;background:var(--green,#354a3e);color:#fff;box-shadow:0 6px 24px #14231b30;font-size:15px;font-weight:500}
.ctn-chat-launcher svg{width:23px;height:23px;flex:none}.ctn-chat-launcher:hover{background:#22382a}
.ctn-chat{position:fixed;inset:auto 24px max(88px,calc(env(safe-area-inset-bottom) + 80px)) auto;z-index:70;width:min(400px,calc(100vw - 32px));max-width:none;margin:0;padding:0;border:1px solid var(--line,#d7d8cf);border-radius:16px;box-shadow:0 20px 80px #14231b40;background:var(--paper,#fcfbf8);color:var(--ink,#252a25);height:min(650px,calc(100dvh - 120px));max-height:calc(100dvh - 40px);overflow:hidden}
.ctn-chat::backdrop{background:#14231b28}.ctn-chat[open]{display:flex;flex-direction:column}
.ctn-chat-header{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green,#354a3e);color:white;padding:19px 18px;flex:none}.ctn-chat-header h2{font-family:var(--serif,Georgia);font-size:25px;line-height:1.15;color:white}.ctn-chat-header p{color:#e2e8e2;font-size:13px;margin-top:5px;line-height:1.3}.ctn-chat-close{min-width:44px;min-height:44px;border:1px solid #ffffff55;background:transparent;color:white;border-radius:50%;font-size:27px;line-height:1}
.ctn-chat-log{flex:1;min-height:80px;overflow-y:auto;overscroll-behavior:contain;padding:20px 16px 8px;display:flex;flex-direction:column;gap:14px}
.ctn-chat-message{max-width:94%;padding:13px 15px;border:1px solid var(--line,#d7d8cf);border-radius:13px 13px 13px 3px;background:#fff;font-size:15px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink,#252a25)}
.ctn-chat-message[data-role=user]{align-self:flex-end;border-color:var(--green,#354a3e);background:var(--green,#354a3e);color:white;border-radius:13px 13px 3px 13px}
.ctn-chat-questions{display:flex;flex-wrap:wrap;gap:7px;padding:8px 16px 12px;flex:none}.ctn-chat-questions button{border:1px solid var(--line,#d7d8cf);background:white;color:var(--green,#354a3e);padding:8px 11px;border-radius:18px;font-size:14px;min-height:40px;line-height:1.3}.ctn-chat-questions button:hover{background:var(--sand,#ece8df)}
.ctn-chat-status{font-size:13px;line-height:1.4;padding:0 18px;color:var(--muted,#656b63)}.ctn-chat-status:empty{display:none}
.ctn-chat-form{display:flex;gap:8px;padding:12px 16px 4px;align-items:end;flex:none}.ctn-chat-form[hidden]{display:none}.ctn-chat-form textarea{flex:1;width:0;resize:none;border:1px solid var(--line,#d7d8cf);border-radius:8px;padding:10px 12px;min-height:48px;max-height:110px;background:white;font-size:16px;line-height:1.4;color:var(--ink,#252a25)}.ctn-chat-form button{border:0;border-radius:8px;background:var(--green,#354a3e);color:white;min-height:48px;padding:10px 13px;font-size:14px}.ctn-chat button:disabled{opacity:.55;cursor:wait}
.ctn-chat-privacy{padding:5px 18px 12px;font-size:12px;line-height:1.45;color:var(--muted,#656b63)}.ctn-chat-privacy a{text-decoration:underline}.ctn-chat-links{border-top:1px solid var(--line,#d7d8cf);display:flex;gap:12px;justify-content:space-between;padding:13px 16px;flex:none;background:var(--sand,#ece8df);font-size:14px}.ctn-chat-links a{text-decoration:underline;text-underline-offset:3px;font-weight:500;min-height:24px}.ctn-chat button:focus-visible,.ctn-chat a:focus-visible,.ctn-chat textarea:focus-visible{outline:3px solid #b29456;outline-offset:2px}.ctn-chat-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:600px){.ctn-chat-launcher{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:11px 17px}.ctn-chat{inset:auto 8px max(8px,env(safe-area-inset-bottom)) 8px;width:calc(100vw - 16px);height:min(700px,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px));max-height:calc(100dvh - 16px)}.ctn-chat-header{padding:14px 16px}.ctn-chat-links{flex-wrap:wrap}.ctn-chat-message{font-size:16px}}

.ctn-chat-header>div{min-width:0}.ctn-chat-header h2{overflow-wrap:anywhere;line-height:1.35}.ctn-chat-close{flex:0 0 44px}.ctn-chat-links a{min-width:0;overflow-wrap:anywhere}.ctn-chat-questions{max-height:28dvh;overflow-y:auto}.ctn-chat-launcher{max-width:calc(100vw - 32px);line-height:1.4}.ctn-chat-questions button{max-width:100%;overflow-wrap:anywhere}
