.chat{--c-soft:color-mix(in srgb,var(--accent) 12%,#fff);--c-edge:color-mix(in srgb,var(--accent) 38%,#fff);right:clamp(16px,3vw,32px);bottom:calc(clamp(16px,3vw,28px) + env(safe-area-inset-bottom,0px));z-index:90;font-family:var(--font-sans);flex-direction:column;align-items:flex-end;gap:14px;display:flex;position:fixed}.chat-fab-wrap{position:relative}.chat-fab{background:var(--brand);color:#fff;cursor:pointer;width:52px;height:52px;transition:transform .25s var(--spring),background-color .2s var(--ease);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative;box-shadow:0 12px 26px -10px #10324d8c,0 2px 6px #10324d2e}.chat-fab svg{width:24px;height:24px}.chat-fab:hover{background:var(--brand-deep);transform:translateY(-2px)}.chat-fab.has-av{background:#fff;box-shadow:0 12px 26px -10px #10324d8c,0 0 0 2px #fff,0 2px 6px #10324d2e}.chat-fab.has-av:hover{background:#fff}.chat-av{object-fit:cover;border-radius:50%;width:100%;height:100%}.chat-badge{background:var(--interactive);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;bottom:-4px;right:-4px}.chat-fab .chat-badge svg{width:11px;height:11px}.chat-fab:focus-visible{outline:3px solid var(--interactive);outline-offset:3px}.chat-bubble{border:1px solid var(--c-edge);white-space:nowrap;color:var(--brand);opacity:0;transform-origin:100%;pointer-events:none;transition:opacity .25s var(--ease),transform .35s var(--spring);background:#fff;border-radius:14px 14px 4px;align-items:center;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex;position:absolute;top:50%;right:calc(100% + 12px);transform:translate(10px,-50%)scale(.92);box-shadow:0 14px 30px -14px #10324d80}.chat-fab-wrap:hover .chat-bubble,.chat-fab-wrap:focus-within .chat-bubble{opacity:1;transform:translateY(-50%)scale(1)}.chat-panel{border:1px solid var(--c-edge);transform-origin:100% 100%;width:min(380px,100vw - 32px);height:min(540px,100dvh - 120px);animation:chatPop .3s var(--spring);background:#fff;border-radius:24px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 30px 70px -24px #10324d99}.chat-panel:focus{outline:none}@keyframes chatPop{0%{opacity:0;transform:translateY(12px)scale(.94)}}.chat-head{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 58%,var(--interactive)));color:#fff;align-items:center;gap:12px;padding:14px 16px;display:flex}.chat-head img{object-fit:cover;border:2px solid #fff;border-radius:50%;width:44px;height:44px}.chat-head div{flex:1;min-width:0;display:grid}.chat-head strong{font-family:var(--font-display);font-size:18px;line-height:1.15}.chat-head span{color:#ffffffd9;font-size:13px}.chat-close{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.chat-close:hover{background:#ffffff29}.chat-close:focus-visible{outline-offset:-2px;outline:2px solid #fff}.chat-close svg{width:20px;height:20px}.chat-log{background:var(--c-soft);flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.chat-msg{overflow-wrap:anywhere;max-width:86%;animation:chatIn .25s var(--ease);border-radius:16px;padding:10px 14px;font-size:15px;line-height:1.5}@keyframes chatIn{0%{opacity:0;transform:translateY(6px)}}.chat-msg p{margin:0}.chat-msg.is-bot{border:1px solid var(--c-edge);color:var(--fg);background:#fff;border-bottom-left-radius:4px;align-self:flex-start}.chat-msg.is-me{background:var(--brand);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.chat-msg a{color:var(--interactive);text-underline-offset:3px;align-items:center;gap:6px;margin-top:8px;font-weight:700;text-decoration:underline;display:inline-flex}.chat-msg a svg{width:14px;height:14px}.chat-msg.is-typing{align-items:center;gap:5px;padding:14px 16px;display:flex}.chat-msg.is-typing span{background:var(--field);border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite chatDot}.chat-msg.is-typing span:nth-child(2){animation-delay:.16s}.chat-msg.is-typing span:nth-child(3){animation-delay:.32s}@keyframes chatDot{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat-chips{flex-wrap:wrap;gap:8px;padding-top:2px;display:flex}.chat .chat-chip{border:1.5px solid var(--brand);min-height:40px;font:600 14.5px var(--font-sans);color:var(--brand);cursor:pointer;transition:background-color .15s var(--ease),color .15s var(--ease);background:#fff;border-radius:999px;align-items:center;padding:0 15px;text-decoration:none;display:inline-flex}.chat .chat-chip:hover{background:var(--brand);color:#fff}.chat .chat-chip:focus-visible{outline:2px solid var(--interactive);outline-offset:2px}.chat-form{border-top:1px solid var(--c-edge);background:#fff;align-items:flex-end;gap:8px;padding:12px;display:flex}.chat-form input,.chat-form textarea{border:1px solid var(--field);min-width:0;min-height:44px;font:inherit;color:var(--fg);resize:none;background:#fff;border-radius:14px;flex:1;padding:10px 14px;font-size:15px}.chat-form input:focus-visible,.chat-form textarea:focus-visible{outline:2px solid var(--interactive);outline-offset:1px}.chat-form button{background:var(--brand);color:#fff;cursor:pointer;width:44px;height:44px;transition:background-color .15s var(--ease);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.chat-form button:hover:not(:disabled){background:var(--interactive)}.chat-form button:disabled{opacity:.45;cursor:default}.chat-form button svg{width:19px;height:19px}.chat-sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:560px){.chat-bubble{display:none}.chat.is-open{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}.chat.is-open .chat-fab-wrap{display:none}.chat-panel{width:100%;height:min(72dvh,560px)}.chat-fab{width:48px;height:48px}}@media (prefers-reduced-motion:reduce){.chat *,.chat :before{transition:none!important;animation:none!important}}
