.chat-widget{position:fixed;right:clamp(16px,3vw,30px);bottom:clamp(16px,3vw,30px);z-index:180;display:grid;justify-items:end;gap:14px;pointer-events:none}.chat-widget>*{pointer-events:auto}.chat-launcher{position:relative;width:64px;height:64px;display:grid;place-items:center;padding:0;border-radius:50%;color:#f5f7fa;transition:transform .2s var(--ease-out)}.chat-launcher:focus-visible{border-radius:50%;outline-offset:7px}.chat-nudge__open:focus-visible{outline-offset:-3px;border-radius:inherit}.chat-nudge__close:focus-visible{border-radius:50%}.chat-launcher:hover{transform:translateY(-3px)}.chat-launcher:active{transform:scale(.96)}.chat-launcher__glow,.chat-launcher__ring,.chat-launcher__badge{position:absolute;border-radius:50%;pointer-events:none}.chat-launcher__glow{inset:-22px;background:radial-gradient(circle,color-mix(in srgb,var(--brand-teal) 70%,transparent) 0 36%,color-mix(in srgb,var(--brand-innovation) 30%,transparent) 55%,transparent 72%);opacity:.4;animation:chat-glow 9s ease-in-out infinite alternate}.chat-launcher__ring{inset:-5px;background:conic-gradient(from 0deg,var(--brand-teal),var(--brand-innovation),var(--brand-sky),var(--brand-teal));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 4px));mask:radial-gradient(farthest-side,transparent calc(100% - 4.5px),#000 calc(100% - 4px));animation:chat-spin 9s linear infinite paused}.chat-launcher:hover .chat-launcher__ring,.chat-launcher:focus-visible .chat-launcher__ring{animation-play-state:running}.chat-launcher__badge{inset:0;background:radial-gradient(circle at 50% 36%,#1a3763,#102443 58%,#0a1628);box-shadow:inset 0 0 0 1px #5eead447,0 14px 30px -12px #0d1b2acc}.chat-launcher__bot{display:block;width:100%;height:100%;overflow:visible}.bot-eyes,.bot-eye,.bot-eye>*{transform-box:fill-box;transform-origin:center}.bot-eye{animation:bot-blink 9s linear infinite}.bot-eyes{animation:bot-glance 11s ease-in-out infinite}.bot-eye__core,.bot-eye__halo{transition:transform .14s var(--ease-out),opacity .14s var(--ease-out)}.bot-eye__happy{opacity:0;transform:scale(.6);transition:transform .16s var(--ease-out),opacity .14s var(--ease-out)}.chat-launcher:hover .bot-eyes,.chat-launcher:focus-visible .bot-eyes,.chat-launcher:hover .bot-eye,.chat-launcher:focus-visible .bot-eye{animation:none}.chat-launcher:hover .bot-eye__core,.chat-launcher:focus-visible .bot-eye__core{opacity:0;transform:scale(.4)}.chat-launcher:hover .bot-eye__happy,.chat-launcher:focus-visible .bot-eye__happy{opacity:1;transform:scale(1)}.chat-launcher__dot{position:absolute;top:1px;right:1px;width:14px;height:14px;border-radius:50%;border:2px solid var(--bg);background:#ff5a4e;pointer-events:none}.chat-launcher__dot:after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid #FF5A4E;opacity:0;animation:chat-ping 2.6s ease-out 3}.chat-launcher__dot[hidden]{display:none}@media(min-width:761px){.footer__bottom{padding-right:96px}}.chat-launcher__label{position:absolute;right:34px;top:50%;height:44px;display:flex;align-items:center;padding:0 44px 0 20px;border:1px solid var(--line-strong);border-radius:999px;background:var(--bg-elev);color:var(--fg);font-size:14px;font-weight:700;line-height:1;white-space:nowrap;box-shadow:0 18px 36px -22px #0d1b2ab3;opacity:0;visibility:hidden;pointer-events:none;transform:translate(16px,-50%) scaleX(.7);transform-origin:right center;transition:opacity .2s var(--ease-out),transform .26s var(--ease-out),visibility 0s linear .26s}@media(hover:hover)and (min-width:761px){.chat-launcher:hover .chat-launcher__label,.chat-launcher:focus-visible .chat-launcher__label{opacity:1;visibility:visible;transform:translateY(-50%);transition-delay:0s}}@keyframes chat-spin{to{transform:rotate(360deg)}}@keyframes bot-blink{0%,37.4%{transform:scaleY(1)}38.3%{transform:scaleY(.1)}39.1%,79.4%{transform:scaleY(1)}80.2%{transform:scaleY(.1)}81.1%,82.2%{transform:scaleY(1)}83%{transform:scaleY(.1)}83.9%,to{transform:scaleY(1)}}@keyframes bot-glance{0%,30%{transform:translate(0)}33%,41%{transform:translate(-1.9px)}45%,53%{transform:translate(1.9px)}57%,to{transform:translate(0)}}@keyframes chat-glow{0%{opacity:.28;transform:scale(.96)}to{opacity:.5;transform:scale(1.04)}}@keyframes chat-ping{0%{opacity:.7;transform:scale(.8)}80%,to{opacity:0;transform:scale(1.9)}}.chat-nudge{position:absolute;right:0;bottom:calc(100% + 18px);width:max-content;max-width:min(290px,calc(100vw - 32px))}.chat-nudge__card{position:relative;border:1px solid var(--line-strong);border-radius:18px 18px 4px;background:var(--bg-elev);color:var(--fg);box-shadow:0 22px 48px -24px #0d1b2ac7,0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent);animation:chat-nudge-in .36s var(--ease-out) backwards}.chat-nudge__card[hidden]{display:none}.chat-nudge__card:after{content:"";position:absolute;right:24px;bottom:-6px;width:11px;height:11px;border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--bg-elev);transform:rotate(45deg)}.chat-nudge__open{display:grid;gap:3px;width:100%;padding:14px 40px 14px 16px;border-radius:inherit;text-align:left}.chat-nudge__text{font-size:15px;font-weight:700;line-height:1.3}.chat-nudge__sub{color:var(--accent-text);font-size:13px;font-weight:600}.chat-nudge__open:hover .chat-nudge__text{color:var(--accent-text)}.chat-nudge__close{position:absolute;top:8px;right:8px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:var(--fg-muted)}.chat-nudge__close:before{content:"";position:absolute;inset:-8px}.chat-nudge__close:hover{background:var(--accent-soft);color:var(--fg)}.chat-nudge__close svg{width:16px;height:16px}@keyframes chat-nudge-in{0%{opacity:0;transform:translateY(10px) scale(.96)}}.is-chat-open .chat-nudge{display:none}@media(prefers-reduced-motion:reduce){.chat-launcher__glow,.chat-launcher__ring,.chat-launcher__dot:after,.bot-eye,.bot-eyes,.chat-nudge__card{animation:none}.bot-eye__core,.bot-eye__halo,.bot-eye__happy{transition:none}.chat-launcher:hover{transform:none}.chat-launcher__dot:after{display:none}.chat-launcher__glow{opacity:.4}}.chat-panel{width:min(390px,calc(100vw - 32px));max-height:min(640px,calc(100dvh - 116px));display:grid;grid-template-rows:auto minmax(220px,1fr) auto auto auto;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(14px) scale(.96);transform-origin:bottom right;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--bg-soft) 94%,transparent);backdrop-filter:blur(18px) saturate(135%);box-shadow:0 30px 84px -44px #0d1b2ac7,inset 0 1px #f5f7fa0f;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.chat-panel.is-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.chat-panel.is-closing{opacity:0;pointer-events:none;transform:translateY(10px) scale(.97)}.chat-panel[hidden]{display:none}.chat-panel__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 16px 14px;border-bottom:1px solid var(--line)}.chat-panel__identity{display:flex;align-items:center;min-width:0;gap:10px}.chat-panel__identity>div{min-width:0}.chat-panel__header span{display:block;color:var(--fg);font-weight:700;letter-spacing:.01em}.chat-panel__header p{margin-top:2px;color:var(--fg-soft);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.chat-panel__close{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;color:var(--fg-soft);transition:border-color .18s ease,color .18s ease,transform .18s ease}.chat-panel__close:hover{border-color:var(--accent);color:var(--accent-text);transform:rotate(8deg)}.chat-panel__close svg,.chat-compose__send svg{width:18px;height:18px}.chat-messages{display:grid;align-content:start;gap:12px;min-height:220px;overflow-y:auto;padding:18px 16px}.chat-message{display:flex}.chat-message--assistant{align-items:flex-end}.chat-message--user{justify-content:flex-end}.chat-message p{max-width:88%;margin:0;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);font-size:14px;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.chat-message--user p{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.chat-message[data-state=loading] p{color:var(--fg-soft);animation:pulse 1.6s ease-in-out infinite}.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;padding:14px 16px 12px;border-top:1px solid var(--line)}.chat-compose textarea{width:100%;min-height:46px;max-height:124px;resize:none;border:1px solid var(--line-strong);border-radius:4px;background:var(--bg);color:var(--fg);padding:11px 12px;font-size:14px;line-height:1.45;transition:border-color .18s ease,background .18s ease}.chat-compose textarea::placeholder{color:var(--fg-faint)}.chat-compose textarea:focus{outline:0;border-color:var(--accent);background:color-mix(in srgb,var(--bg) 88%,var(--accent-soft))}.chat-compose__send{width:44px;height:44px;display:grid;place-items:center;align-self:end;border-radius:999px;background:var(--accent);color:var(--on-accent);transition:transform .18s ease,background .18s ease,opacity .18s ease}.chat-compose__send:hover{transform:translateY(-1px);background:var(--accent-hover)}.chat-compose__send:disabled,.chat-compose textarea:disabled{opacity:.62;cursor:wait}.chat-privacy{padding:0 16px 6px;color:var(--fg-faint);font-size:11px;line-height:1.45}.chat-privacy a{color:var(--fg-soft);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.chat-privacy a:hover{color:var(--accent-text)}.chat-handoff{padding:0 16px 14px;font-size:12px;line-height:1.45}.chat-handoff a{color:var(--accent-text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.chat-handoff a:hover{color:var(--fg)}.chat-message__action{display:inline-flex;align-items:center;min-height:40px;padding:9px 16px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700;transition:background .18s ease}.chat-message__action:hover{background:var(--accent-hover)}@media(max-width:760px){.chat-widget{right:12px;bottom:calc(80px + env(safe-area-inset-bottom));transition:bottom .18s ease}.is-chat-open .chat-widget{bottom:12px}.chat-launcher{width:56px;height:56px}.chat-nudge{bottom:calc(100% + 16px)}.chat-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 94px)}.chat-messages{min-height:190px}.chat-message p{max-width:92%}}
