.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.chat-widget{position:fixed;z-index:90;right:24px;bottom:24px;font-family:var(--sans)}
.chat-launcher{position:relative;width:70px;height:70px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.85);border-radius:50%;background:linear-gradient(145deg,#75cff2,var(--blue));color:var(--ink);padding:0;box-shadow:0 14px 38px rgba(3,25,36,.3),0 0 0 7px rgba(67,169,220,.13);cursor:pointer;animation:bot-float 3s ease-in-out infinite}
.chat-launcher::after{content:"";position:absolute;inset:-8px;border:1px solid rgba(135,216,247,.55);border-radius:50%;animation:bot-ring 2.4s ease-out infinite}
.chat-bot{position:relative;display:grid;place-items:center;width:100%;height:100%}.chat-bot-face{font-size:2.25rem;line-height:1;filter:drop-shadow(0 4px 5px rgba(8,43,60,.18))}
.chat-bot-hand{position:absolute;right:-9px;top:-6px;font-size:1.45rem;transform-origin:20% 80%;animation:bot-wave 1.35s ease-in-out infinite}
.chat-invite{position:absolute;right:82px;top:50%;transform:translateY(-50%);white-space:nowrap;background:#fff;color:var(--ink);padding:9px 13px;border-radius:9px;box-shadow:0 9px 25px rgba(3,25,36,.2);font-size:.82rem;font-weight:700;animation:invite-breathe 3s ease-in-out infinite}
.chat-invite::after{content:"";position:absolute;right:-7px;top:50%;width:14px;height:14px;background:#fff;transform:translateY(-50%) rotate(45deg)}
.chat-widget.open .chat-invite{opacity:0;visibility:hidden}.chat-widget.open .chat-launcher{animation:none}
.chat-panel{position:absolute;right:0;bottom:88px;width:min(390px,calc(100vw - 32px));height:min(590px,calc(100vh - 132px));background:#fff;color:var(--ink);box-shadow:0 22px 70px rgba(3,25,36,.32);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(18px) scale(.97);transform-origin:bottom right;transition:.25s}
.chat-panel[aria-hidden="false"]{opacity:1;visibility:visible;transform:none}
.chat-header{display:flex;align-items:center;gap:12px;padding:18px;background:var(--ink);color:#fff}
.chat-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-size:1.35rem}
.chat-header>div:nth-child(2){display:flex;flex-direction:column;line-height:1.3}.chat-header strong{font-size:.92rem}.chat-header span{font-size:.7rem;color:#acc5cf}
.chat-header i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#48c486}
.chat-close{margin-left:auto;border:0;background:transparent;color:#b7ccd5;font-size:1.7rem;line-height:1;cursor:pointer}
.chat-messages{flex:1;overflow-y:auto;padding:22px 18px 12px;background:#f2f7f9}
.chat-message{max-width:86%;margin-bottom:15px}.chat-message p{margin:0;padding:12px 14px;background:#fff;border:1px solid #d7e4e9;font-size:.86rem;line-height:1.48}
.chat-message time{display:block;margin-top:4px;color:#8399a2;font-size:.62rem}.chat-message.user{margin-left:auto}.chat-message.user p{background:var(--blue);border-color:var(--blue)}.chat-message.user time{text-align:right}
.chat-suggestions{display:flex;gap:7px;overflow-x:auto;padding:12px 14px 5px;background:#fff}.chat-suggestions.used{display:none}
.chat-suggestions button{white-space:nowrap;border:1px solid #b8d1dc;background:#fff;color:var(--ink);padding:8px 10px;font-size:.72rem;font-weight:600;cursor:pointer}
.chat-suggestions button:hover,.chat-suggestions button:focus-visible{background:#dff3fc;border-color:var(--blue);outline:none}
.chat-form{display:flex;gap:8px;padding:12px 14px}.chat-form input{min-width:0;flex:1;border:1px solid #c7d9e1;padding:11px 12px;color:var(--ink);font:inherit;font-size:.84rem}
.chat-form input:focus{outline:2px solid var(--blue);outline-offset:1px}.chat-form button{width:44px;border:0;background:var(--blue);color:var(--ink);font-weight:700;cursor:pointer}
.chat-note{margin:0;padding:0 14px 12px;color:#81949c;font-size:.63rem;line-height:1.35}
@keyframes bot-wave{0%,45%,100%{transform:rotate(4deg)}15%{transform:rotate(28deg)}30%{transform:rotate(-12deg)}}
@keyframes bot-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes bot-ring{0%{transform:scale(.86);opacity:.8}75%,100%{transform:scale(1.25);opacity:0}}
@keyframes invite-breathe{0%,100%{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.04)}}
@media(max-width:560px){.chat-widget{right:16px;bottom:16px}.chat-launcher{width:62px;height:62px}.chat-bot-face{font-size:2rem}.chat-bot-hand{right:-7px}.chat-invite{right:75px}.chat-panel{position:fixed;left:12px;right:12px;bottom:90px;width:auto;height:min(570px,calc(100vh - 115px))}}
@media(prefers-reduced-motion:reduce){.chat-panel,.chat-launcher,.chat-launcher::after,.chat-bot-hand,.chat-invite{animation:none;transition:none}}
