.chat-root{position:fixed;inset:0;z-index:2147483000;pointer-events:none;font-family:Geist,system-ui,sans-serif}.chat-backdrop{position:absolute;inset:0;background:rgba(8,8,14,.42);opacity:0;visibility:hidden;transition:opacity .32s ease,visibility .32s ease}.chat-launcher{position:absolute;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);width:58px;height:58px;border:none;border-radius:50%;background:#1a4eff;color:#fff;cursor:pointer;pointer-events:auto;display:grid;place-items:center;box-shadow:0 10px 30px -8px rgba(26,78,255,.55),0 4px 10px rgba(8,8,14,.18);transition:transform .25s cubic-bezier(.2,.7,.2,1),background .2s ease,box-shadow .25s ease}.chat-launcher:hover{transform:translateY(-2px) scale(1.04);background:#1342e6}.chat-launcher:focus-visible{outline:2px solid #fff;outline-offset:3px}.chat-launcher-icon{grid-area:1/1;transition:opacity .2s ease,transform .3s ease}.chat-launcher-x{opacity:0;transform:rotate(-45deg) scale(.6)}.chat-open .chat-launcher{transform:scale(.92)}.chat-open .chat-launcher-chat{opacity:0;transform:rotate(45deg) scale(.6)}.chat-open .chat-launcher-x{opacity:1;transform:rotate(0) scale(1)}.chat-panel{position:absolute;right:clamp(16px,3vw,28px);bottom:calc(clamp(16px, 3vw, 28px) + 70px);width:380px;max-width:calc(100vw - 32px);height:min(580px,calc(100vh - 120px));display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:hsla(0,0%,100%,.86);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(10,10,15,.08);box-shadow:0 30px 70px -24px rgba(8,8,14,.45),0 8px 24px -12px rgba(8,8,14,.25);pointer-events:auto;opacity:0;visibility:hidden;transform:translateY(16px) scale(.96);transform-origin:bottom right;transition:opacity .3s ease,transform .34s cubic-bezier(.2,.8,.24,1),visibility .34s ease}.chat-open .chat-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.chat-header{display:flex;align-items:center;gap:.7rem;padding:.85rem .9rem .85rem 1rem;background:linear-gradient(180deg,#0c0c14,#0a0a0f);color:#fff;flex:0 0 auto}.chat-avatar{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#1a4eff;flex:0 0 auto;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.08)}.chat-id{display:flex;flex-direction:column;line-height:1.2;margin-right:auto}.chat-name{font-family:"Instrument Serif",Georgia,serif;font-size:1.05rem;letter-spacing:.01em}.chat-status{display:inline-flex;align-items:center;gap:.35rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:hsla(0,0%,100%,.55)}.chat-dot{width:7px;height:7px;border-radius:50%;background:#00b86b;box-shadow:0 0 0 0 rgba(0,184,107,.6);animation:chat-pulse 2.4s ease-out infinite}@keyframes chat-pulse{0%{box-shadow:0 0 0 0 rgba(0,184,107,.55)}70%{box-shadow:0 0 0 6px rgba(0,184,107,0)}to{box-shadow:0 0 0 0 rgba(0,184,107,0)}}.chat-close{width:32px;height:32px;flex:0 0 auto;border:none;border-radius:9px;background:hsla(0,0%,100%,.08);color:hsla(0,0%,100%,.85);cursor:pointer;display:grid;place-items:center;transition:background .18s ease,color .18s ease}.chat-close:hover{background:hsla(0,0%,100%,.16);color:#fff}.chat-close:focus-visible{outline:2px solid #1a4eff;outline-offset:2px}.chat-body{flex:1 1 auto;overflow-y:auto;padding:1.1rem 1rem .5rem;display:flex;flex-direction:column;gap:.6rem;background:radial-gradient(120% 60% at 50% 0,rgba(26,78,255,.05),transparent 60%);scrollbar-width:thin;scrollbar-color:rgba(10,10,15,.2) transparent}.chat-body::-webkit-scrollbar{width:7px}.chat-body::-webkit-scrollbar-thumb{background:rgba(10,10,15,.18);border-radius:99px}.chat-msg{display:flex;max-width:86%;animation:chat-rise .34s cubic-bezier(.2,.8,.24,1) both}.chat-bot{align-self:flex-start}.chat-user{align-self:flex-end}@keyframes chat-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-bubble{margin:0;padding:.62rem .85rem;font-size:.86rem;line-height:1.5;border-radius:14px;color:#1a1a22;background:#fff;border:1px solid rgba(10,10,15,.08);box-shadow:0 1px 2px rgba(8,8,14,.04)}.chat-bot .chat-bubble{border-bottom-left-radius:5px}.chat-user .chat-bubble{background:#1a4eff;color:#fff;border-color:transparent;border-bottom-right-radius:5px}.chat-typing{display:inline-flex;align-items:center;gap:4px;padding:.7rem .9rem}.chat-typing span{width:6px;height:6px;border-radius:50%;background:rgba(26,78,255,.55);animation:chat-blink 1.2s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.18s}.chat-typing span:nth-child(3){animation-delay:.36s}@keyframes chat-blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chat-quick{display:flex;gap:.45rem;padding:.6rem .85rem;overflow-x:auto;flex:0 0 auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-top:1px solid rgba(10,10,15,.06)}.chat-quick::-webkit-scrollbar{display:none}.chat-chip{flex:0 0 auto;white-space:nowrap;padding:.45rem .8rem;font-family:Geist,sans-serif;font-size:.74rem;color:#1a4eff;background:rgba(26,78,255,.07);border:1px solid rgba(26,78,255,.22);border-radius:99px;cursor:pointer;transition:background .16s ease,transform .14s ease,border-color .16s ease}.chat-chip:hover{background:rgba(26,78,255,.13);border-color:rgba(26,78,255,.4);transform:translateY(-1px)}.chat-chip:focus-visible{outline:2px solid #1a4eff;outline-offset:2px}.chat-input{display:flex;align-items:center;gap:.5rem;padding:.7rem .8rem .85rem;flex:0 0 auto;background:hsla(0,0%,100%,.6);border-top:1px solid rgba(10,10,15,.07)}.chat-field{flex:1 1 auto;min-width:0;padding:.65rem .9rem;font-family:Geist,sans-serif;font-size:.85rem;color:#0a0a0f;background:#fff;border:1px solid rgba(10,10,15,.12);border-radius:99px;transition:border-color .18s ease,box-shadow .18s ease}.chat-field::placeholder{color:#9a9aa2}.chat-field:focus{outline:none;border-color:#1a4eff;box-shadow:0 0 0 3px rgba(26,78,255,.12)}.chat-send{width:40px;height:40px;flex:0 0 auto;border:none;border-radius:50%;background:#1a4eff;color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .18s ease,transform .14s ease,opacity .18s ease}.chat-send:hover:not(:disabled){background:#1342e6;transform:scale(1.05)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.chat-send:focus-visible{outline:2px solid #1a4eff;outline-offset:2px}.chat-panel.chat-cursor-active,.chat-panel.chat-cursor-active *{cursor:none}.chat-panel.chat-cursor-active .chat-input,.chat-panel.chat-cursor-active .chat-input *{cursor:auto}.chat-panel.chat-cursor-active .chat-field{cursor:text}.chat-cursor{position:fixed;top:0;left:0;z-index:2147483647;pointer-events:none;opacity:0;transition:opacity .22s ease;will-change:transform}.chat-cursor.chat-cursor-show{opacity:1}.chat-cursor.chat-cursor-hidden{opacity:0}.chat-cursor-ring{position:absolute;top:0;left:0;width:26px;height:26px;transform:translate(-50%,-50%);border-radius:50%;border:1.5px solid rgba(26,78,255,.7);background:rgba(26,78,255,.12);box-shadow:0 0 14px rgba(26,78,255,.25);transition:width .18s ease,height .18s ease,background .18s ease,border-color .18s ease}.chat-cursor.chat-cursor-lg .chat-cursor-ring{width:42px;height:42px;background:rgba(26,78,255,.2);border-color:rgba(26,78,255,.9)}@media (max-width:560px){.chat-open .chat-backdrop{opacity:1;visibility:visible;pointer-events:auto}.chat-panel{right:0;left:0;bottom:0;width:100%;max-width:100%;height:88vh;height:88svh;border-radius:22px 22px 0 0;transform:translateY(100%);transform-origin:bottom center}.chat-open .chat-panel{transform:translateY(0)}.chat-input{padding-bottom:calc(.85rem + env(safe-area-inset-bottom, 0px))}.chat-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px))}.chat-open .chat-launcher{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.6)}.chat-cursor{display:none}}@media (prefers-reduced-motion:reduce){.chat-backdrop,.chat-cursor,.chat-cursor-ring,.chat-launcher,.chat-launcher-icon,.chat-msg,.chat-panel{transition-duration:1ms;animation:none}.chat-dot,.chat-typing span{animation:none}.chat-open .chat-panel,.chat-panel{transform:none}}