.octa-widget{position:fixed;z-index:12000;right:24px;bottom:24px;width:84px;height:84px;display:inline-block;border-radius:999px;background:transparent;cursor:pointer;transition:transform .18s cubic-bezier(.2,.9,.2,1),box-shadow .18s;will-change:transform;box-shadow:0 8px 28px rgba(3,8,10,0.6);-webkit-tap-highlight-color:transparent}
.octa-widget:focus{outline:none;box-shadow:0 8px 30px rgba(0,198,255,0.12);transform:translateY(-4px)}
.octa-inner{width:84px;height:84px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.octa-inner img,.octa-inner svg{width:64px;height:64px;display:block;pointer-events:auto}
.octa-float{animation:octa-bob 4s ease-in-out infinite;transform-origin:50% 50%}
@keyframes octa-bob{0%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-6px) rotate(2deg)}100%{transform:translateY(0) rotate(-1deg)}}
.octa-bubble-area{position:absolute;inset:auto -36px 100% auto;width:140px;height:140px;pointer-events:none;overflow:visible}
.octa-bubble{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:12px;height:12px;border-radius:999px;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,0.8),rgba(255,255,255,0.2));opacity:.95;filter:blur(.2px);animation:bubble-up linear forwards}
@keyframes bubble-up{0%{transform:translate3d(-50%,0,0) scale(.4);opacity:0}12%{opacity:.9}100%{transform:translate3d(-50%,-140px,0) scale(1.1);opacity:0}}
.octa-pop{animation:pop .28s ease-out forwards}
@keyframes pop{0%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.85}100%{transform:scale(0);opacity:0}}
.octa-drawer{position:fixed;right:24px;bottom:120px;width:360px;max-width:calc(100vw - 48px);background:linear-gradient(180deg,#071017 0%,#081922 100%);border-radius:14px;box-shadow:0 20px 50px rgba(3,8,10,0.6);overflow:hidden;display:none;z-index:12001}
.octa-drawer.open{display:block}
.octa-drawer .hdr{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.03)}
.octa-drawer .hdr h4{margin:0;font-size:14px;color:#e6f6fb}
.octa-drawer .hdr p{margin:0;font-size:12px;color:#9fb3c3}
.octa-drawer .msgs{padding:12px;max-height:280px;overflow:auto;background:transparent}
.octa-drawer .msg{margin-bottom:12px;padding:8px 10px;border-radius:8px;font-size:13px;line-height:1.5}
.octa-drawer .msg.bot{background:rgba(255,140,26,0.08);color:#e6f6fb}
.octa-drawer .msg.user{background:rgba(255,255,255,0.03);color:#e6f6fb;text-align:right}
.octa-drawer .compose{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,0.03)}
.octa-drawer .compose input{flex:1;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);color:#e6f6fb;font-size:13px}
.octa-drawer .compose input:focus{outline:none;border-color:rgba(255,140,26,0.4)}
.octa-drawer .compose button{background:#ff8c1a;color:#071017;border:none;padding:10px 14px;border-radius:8px;font-weight:700;cursor:pointer}
@media(prefers-reduced-motion:reduce){.octa-float,.octa-bubble{animation:none!important;transform:none!important}}
@media(max-width:640px){.octa-widget{bottom:16px;right:16px;width:68px;height:68px;}.octa-inner{width:68px;height:68px;}.octa-inner img{width:52px;height:52px;}.octa-drawer{right:12px;bottom:100px;width:calc(100vw - 24px);}}
