/* Standalone objects: existing controls, placement and chat handlers retained. */
#chat-bubble,#gchat-bubble{background:transparent;border:0;box-shadow:none;padding:0;isolation:isolate;overflow:visible;border-radius:14px;width:58px;height:58px;touch-action:manipulation}
#chat-bubble:hover,#gchat-bubble:hover{background:transparent;box-shadow:none;transform:translateY(-2px)}
#chat-bubble:focus-visible,#gchat-bubble:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.gpf-chat-earth{width:100%;height:100%;display:block;filter:drop-shadow(0 0 5px #459ce980) drop-shadow(0 7px 6px #0007)}
.gpf-earth-fallback{position:absolute;font-size:36px;inset:0;display:grid;place-items:center}.gpf-earth-ready .gpf-earth-fallback{display:none}
.gpf-chat-cloud{display:block;width:100%;height:100%;filter:drop-shadow(0 7px 6px #0006);transform-origin:center 75%;transition:filter .3s;pointer-events:none}
.gpf-chat-cloud svg{display:block;width:100%;height:100%;overflow:visible}
#chat-bubble.gpf-chat-unread .gpf-chat-cloud{filter:drop-shadow(0 0 8px #5fece4c0) drop-shadow(0 7px 6px #0007)}
#chat-bubble.gpf-chat-arriving .gpf-chat-cloud{animation:gpf-chat-arrive .85s ease-in-out 2}
#chat-bubble-badge,#gchat-badge{z-index:2;top:-1px;right:-2px}
#chat-bubble-badge{background:linear-gradient(145deg,#ff9b79,#e45462);color:#fff}
html[data-theme="light"] .gpf-chat-cloud{filter:drop-shadow(0 7px 5px #233e6355)}
html[data-theme="light"] #chat-bubble.gpf-chat-unread .gpf-chat-cloud{filter:drop-shadow(0 0 7px #159b90b0) drop-shadow(0 7px 5px #233e6355)}
@keyframes gpf-chat-arrive{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-6deg)}55%{transform:translateY(-2px) rotate(5deg)}75%{transform:translateY(-4px) rotate(-2deg)}}
@media(max-width:768px){#chat-bubble,#gchat-bubble{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){#chat-bubble.gpf-chat-arriving .gpf-chat-cloud{animation:none}.gpf-chat-cloud{transition:none}#chat-bubble:hover,#gchat-bubble:hover{transform:none}}

#gchat-bubble canvas{filter:saturate(1.35) contrast(1.06);filter:drop-shadow(0 0 5px #40bff955) saturate(1.35) contrast(1.06)}
