#gc-bubble {
  position: fixed; bottom: 96px; right: 32px;
  width: 52px; height: 52px; border-radius: 50%;
  background: #4F46E5; color: #fff; font-size: 22px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 9999; box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
#gc-window {
  position: fixed; bottom: 88px; right: 24px;
  width: 340px; height: 480px; border-radius: 14px;
  background: #fff; box-shadow: 0 4px 24px rgba(0,0,0,.15);
  display: flex; flex-direction: column; z-index: 9999; overflow: hidden;
}
#gc-header {
  background: #4F46E5; color: #fff; padding: 14px 16px;
  font-weight: 600; display: flex; justify-content: space-between;
}
#gc-close { cursor: pointer; opacity: .8; }
#gc-messages {
  flex: 1; overflow-y: auto; padding: 14px;
  display: flex; flex-direction: column; gap: 8px;
}
.gc-msg { max-width: 80%; padding: 8px 12px; border-radius: 10px; font-size: 14px; line-height: 1.5; }
.gc-user { background: #4F46E5; color: #fff; align-self: flex-end; border-bottom-right-radius: 2px; }
.gc-bot  { background: #F3F4F6; color: #111; align-self: flex-start; border-bottom-left-radius: 2px; }
#gc-input-row { display: flex; padding: 10px; gap: 8px; border-top: 1px solid #eee; }
#gc-input { flex: 1; border: 1px solid #ddd; border-radius: 8px; padding: 8px 10px; font-size: 14px; outline: none; }
#gc-send  { background: #4F46E5; color: #fff; border: none; border-radius: 8px; padding: 8px 14px; cursor: pointer; font-size: 14px; }
#gc-send:disabled { opacity: .5; cursor: not-allowed; }