.fab{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;width:54px;height:54px;border-radius:50%;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 30px -10px rgba(11,138,105,.6);transition:transform .25s var(--ease);border:0;cursor:pointer;transition:transform .35s var(--ease),background .25s;box-shadow:0 14px 30px -12px rgba(11,138,105,.7)}.fab:hover{transform:scale(1.08)}.fab svg{position:absolute;transition:transform .4s var(--ease),opacity .25s}.fab .fab__x{opacity:0;transform:rotate(-90deg) scale(.6)}.fab.on .fab__chat{opacity:0;transform:rotate(90deg) scale(.6)}.fab.on .fab__x{opacity:1;transform:none}.fab.on:after{animation:none;opacity:0}.fab__badge{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--coral);color:#fff;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--bg);animation:chat-pop .4s var(--ease)}.fab.nudge{animation:chat-nudge 1s var(--ease) 1}@keyframes chat-nudge{0%,to{transform:none}20%{transform:translateY(-8px) rotate(-6deg)}40%{transform:translateY(0) rotate(6deg)}60%{transform:translateY(-4px) rotate(-3deg)}}.fab:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:chat-ring 2.6s ease-out infinite}@keyframes chat-ring{0%{transform:scale(.9);opacity:.6}to{transform:scale(1.5);opacity:0}}.chat{position:fixed;right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(92px + env(safe-area-inset-bottom,0px));z-index:60;width:380px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:var(--surface);border-radius:22px;box-shadow:0 2px 4px rgba(13,27,23,.06),0 30px 70px -24px rgba(13,27,23,.45);overflow:hidden;opacity:0;transform:translateY(22px);transition:opacity .3s var(--ease),transform .4s var(--ease);pointer-events:none}.chat.open{opacity:1;transform:none;pointer-events:auto}.chat__head{flex:0 0 auto;justify-content:space-between;padding:16px 14px 16px 18px;color:#fff;background:radial-gradient(120% 140% at 85% -20%,rgba(159,230,214,.35),transparent 55%),linear-gradient(135deg,var(--hero-1),var(--hero-2) 60%,var(--hero-3))}.chat__head,.chat__who{position:relative;display:flex;align-items:center;gap:12px}.chat__who{min-width:0}.chat__who b{display:block;font-size:15px;letter-spacing:-.01em}.chat__avatar{flex:0 0 auto;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);justify-content:center;color:#fff}.chat__avatar,.chat__status{display:inline-flex;align-items:center}.chat__status{gap:6px;font-size:12px;color:rgba(255,255,255,.78)}.chat__status .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#35D39E;margin:0;animation:none;vertical-align:0}.chat__actions{position:relative;display:flex;gap:4px}.chat__ib{width:34px;height:34px;border-radius:10px;border:0;background:transparent;color:rgba(255,255,255,.85);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}.chat__ib:hover{background:rgba(255,255,255,.14);color:#fff}.chat__body{flex:1 1;min-height:0;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;background:var(--bg);scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.chat__body::-webkit-scrollbar{width:6px}.chat__body::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.chat__body::-webkit-scrollbar-track{background:transparent}.msg{flex:0 0 auto;display:flex;flex-direction:column;max-width:84%}.msg--bot{align-self:flex-start}.msg--me{align-self:flex-end;align-items:flex-end}.msg__b{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;color:var(--fg);white-space:pre-wrap;overflow-wrap:anywhere}.msg--sys{align-self:center;max-width:100%}.msg--sys .msg__b{background:transparent;border:0;box-shadow:none;color:var(--muted);font-size:12.5px;text-align:center;padding:2px 8px}.msg--sys .msg__t{display:none}.msg--pending .msg__b{opacity:.65}.msg--bot .msg__b{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px;box-shadow:0 1px 2px rgba(13,27,23,.04)}.msg--me .msg__b{background:var(--accent);color:var(--on-accent,#fff);border-bottom-right-radius:6px}.msg__b a{color:inherit;font-weight:700}.msg--bot .msg__b a{color:var(--accent-ink)}.msg__t{margin:4px 6px 0;font-size:10.5px;color:var(--muted-2)}html.js .msg--in{animation:msgin .45s var(--ease)}@keyframes msgin{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.typing .msg__b{display:inline-flex;gap:4px;padding:12px 14px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--muted-2);animation:tdot 1.1s ease-in-out infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes tdot{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.chat__chips{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;padding:0 16px;background:var(--bg);max-height:0;overflow:hidden;transition:max-height .4s var(--ease),padding .3s}.chat__chips.show{max-height:120px;padding:4px 16px 10px}.chat__chip{border:1px solid var(--line-2);background:var(--surface);color:var(--accent-ink);font:inherit;font-size:12.5px;font-weight:700;padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .2s,transform .25s var(--ease),border-color .2s;animation:chat-up .5s var(--ease) both}.chat__chip:nth-child(2){animation-delay:60ms}.chat__chip:nth-child(3){animation-delay:.12s}.chat__chip:nth-child(4){animation-delay:.18s}.chat__chip:hover{background:var(--accent-soft);border-color:var(--accent-2);transform:translateY(-1px)}.chat__form{flex:0 0 auto;display:flex;align-items:flex-end;gap:8px;padding:10px 12px 10px 16px;border-top:1px solid var(--line);background:var(--surface)}.chat__form textarea{flex:1 1 auto;resize:none;border:0;outline:0;background:transparent;font:inherit;font-size:14px;line-height:1.45;color:var(--fg);max-height:120px;padding:8px 0}.chat__form textarea::placeholder{color:var(--muted-2)}.chat__send{flex:0 0 auto;width:38px;height:38px;border-radius:12px;border:0;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s}.chat__send:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px rgba(11,138,105,.8)}.chat__send:active{transform:scale(.92)}.chat__foot{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px 10px;font-size:11px;color:var(--muted);background:var(--surface);border-top:1px solid var(--line)}.chat__foot a{color:var(--muted);text-decoration:underline}@media (max-width:560px){.chat{right:0;bottom:0;left:0;width:auto;max-width:none;height:100dvh;max-height:none;border-radius:0;transform-origin:50% 100%;padding-top:env(safe-area-inset-top,0)}.chat__form{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}body.chat-open .fab{opacity:0;pointer-events:none}}@keyframes chat-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes chat-pop{50%{transform:scale(1.25)}}html.sb-open .fab{opacity:0;pointer-events:none}