#studio-chat{--chat-green:#003d40;--chat-cream:#fff1d2;--chat-yellow:#ffda00;--chat-pink:#ff0066;font-family:Arial,sans-serif;color:var(--chat-cream)}
#studio-chat [hidden]{display:none!important}
#studio-chat button,#studio-chat input,#studio-chat textarea{font:inherit}
#studio-chat button{cursor:pointer;border:2px solid var(--chat-green);border-radius:14px;background:var(--chat-yellow);color:var(--chat-green);padding:12px 16px;font-weight:700}
#studio-chat button:focus-visible,#studio-chat input:focus-visible,#studio-chat textarea:focus-visible{outline:3px solid var(--chat-pink);outline-offset:3px}
#studio-chat button:disabled{opacity:.6;cursor:wait}
#chat-launch{position:fixed;bottom:20px;right:28px;z-index:1100;box-shadow:4px 4px 0 var(--chat-pink);padding-top:16px!important}
.chat-face{display:inline-block;width:76px;height:76px;background:url('/assets/chatbot-expressions.png') 0 0/200% 200% no-repeat;flex-shrink:0}
.chat-face.thinking{background-position:100% 0}.chat-face.smile{background-position:0 100%}.chat-face.goodbye{background-position:100% 100%}
#chat-launch .chat-face{position:absolute;width:86px;height:86px;bottom:35px;left:50%;transform:translateX(-50%);pointer-events:none}
#chat-dialog{position:fixed;inset:16px 16px 16px auto;margin:0;width:min(460px,calc(100vw - 32px));height:calc(100dvh - 32px);max-height:none;max-width:none;padding:0;border:2px solid var(--chat-cream);border-radius:20px;background:var(--chat-green);color:var(--chat-cream);box-shadow:8px 8px 0 var(--chat-pink);overflow:hidden}
#chat-dialog::backdrop{background:rgb(0 25 27/.4)}
.chat-shell{height:100%;display:flex;flex-direction:column;padding:16px;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;gap:10px}
#chat-dialog header{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--chat-cream);padding-bottom:8px;flex-shrink:0}
#chat-dialog h2{font:700 23px/1.1 Arial,sans-serif;margin:0;letter-spacing:-.6px}#chat-dialog h3{font:700 21px Arial,sans-serif;margin:8px 0}
#chat-dialog #chat-minimize{margin-left:auto;font-size:24px;background:transparent;color:var(--chat-cream);border:0;padding:8px}
.chat-disclosure{font:12px/1.4 Arial,sans-serif;margin:0;opacity:.85}.chat-disclosure a{color:inherit;text-decoration:underline}
#chat-log{min-height:100px;flex:1;overflow:auto;overscroll-behavior:contain;padding:4px 8px 4px 0;scroll-behavior:smooth}
.chat-bubble{max-width:88%;padding:14px 16px;margin:10px 0;background:var(--chat-cream);color:var(--chat-green);border-radius:20px 20px 20px 3px;font:17px/1.45 Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}
.chat-bubble.visitor{margin-left:auto;background:var(--chat-yellow);border-radius:20px 20px 3px 20px}
#chat-status{font-size:13px;min-height:16px;margin:0;overflow-wrap:anywhere}
#chat-message{display:flex;gap:8px;margin:0}#studio-chat input:not([type=checkbox]),#studio-chat textarea{background:var(--chat-cream);color:var(--chat-green);border:0;border-radius:10px;padding:13px;box-sizing:border-box;width:100%;min-width:0}
#chat-message input{flex:1}#chat-message button{font-size:24px;padding:5px 16px}
.chat-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}#studio-chat .chat-actions button{font-size:12px;color:var(--chat-cream);background:transparent;border:0;text-decoration:underline;padding:6px}.chat-actions .highlight{color:var(--chat-yellow)!important}
#chat-lead{display:grid;gap:12px}#chat-lead label{font-size:14px;display:grid;gap:5px}.chat-consent{display:flex!important;align-items:flex-start;line-height:1.4}.chat-consent input{width:18px;height:18px;flex-shrink:0}
.chat-sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:600px){#chat-dialog{inset:0;width:100vw;height:100dvh;border:0;border-radius:0;box-shadow:none}.chat-shell{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}#chat-launch{right:16px;bottom:20px;font-size:13px}#chat-launch .chat-face{width:65px;height:65px;bottom:37px}}
@media(prefers-reduced-motion:reduce){#chat-log{scroll-behavior:auto}}
/* The invitation stays discreet beside mobile slides; its full dialog is unchanged. */
.chat-tab-icon{display:none}
@media(max-width:700px){
 #chat-launch{transition:right .25s,bottom .25s,border-radius .25s;right:16px;bottom:max(20px,env(safe-area-inset-bottom));font-size:13px}
 #studio-chat.chat-docked #chat-launch{right:0;bottom:max(20px,env(safe-area-inset-bottom));width:44px;height:54px;min-width:44px;padding:10px!important;border-radius:14px 0 0 14px;box-shadow:0 3px 0 var(--chat-pink);display:flex;align-items:center;justify-content:center;border-right:0}
 .chat-docked #chat-launch .chat-face,.chat-docked #chat-launch .chat-launch-label{display:none}
 .chat-docked .chat-tab-icon{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
}
@media(prefers-reduced-motion:reduce){#chat-launch{transition:none}}
