:root{
  --spokes-font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  --spokes-radius: 16px;
  --spokes-shadow: 0 10px 30px rgba(0,0,0,0.15);
  --spokes-primary: #f7941d;
  --spokes-bg: #ffffff;
  --spokes-bubble-bg: #f7941d;
  --spokes-bubble-fg: #ffffff;
  --spokes-bot-bg: #f6f7f8;
  --spokes-border: #e8e8e8;
  --spokes-offset: 16px;
}
.spokes-chat-bubble {
  position: fixed;
  bottom: var(--spokes-offset);
  z-index: 2147483000 !important;
  width: 56px; height: 56px; border-radius: 999px;
  display: flex; align-items: center; justify-content: center;
  background: var(--spokes-primary); color: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
  border: none; cursor: pointer; transition: transform 0.2s ease;
  font-size: 22px;
}
.spokes-chat-panel {
  position: fixed;
  bottom: calc(var(--spokes-offset) + 64px);
  z-index: 2147483000 !important;
  width: min(420px, 95vw);
  max-height: 75vh;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0,0,0,.35);
  display: none;
  flex-direction: column;
  font-family: var(--spokes-font);
}
.spokes-chat-header {
  background: var(--spokes-bubble-bg); color: var(--spokes-bubble-fg);
  padding: 12px 14px; font-weight: 700;
  display: flex; justify-content: space-between; align-items: center;
}
.spokes-minimize-btn {
  background: none; border: none; color: var(--spokes-bubble-fg);
  font-size: 18px; font-weight: bold; cursor: pointer;
  padding: 4px 8px; border-radius: 4px; transition: background-color 0.2s ease; line-height: 1;
}
.spokes-minimize-btn:hover { background-color: rgba(255,255,255,0.2); }
.spokes-chat-body { padding: 12px; overflow: auto; -webkit-overflow-scrolling: touch; flex: 1; }
.spokes-msg { margin: 8px 0; line-height: 1.35; }
.spokes-msg.me { text-align: right; }
.spokes-bot { background: var(--spokes-bot-bg); padding: 10px 12px; border-radius: 12px; display: inline-block; max-width: 85%; }
.spokes-me  { background: var(--spokes-primary); color: #fff; padding: 10px 12px; border-radius: 12px; display: inline-block; max-width: 85%; }
.spokes-chat-footer { display: flex; gap: 8px; padding: 10px; border-top: 1px solid var(--spokes-border); }
.spokes-chat-footer input { flex: 1; padding: 12px; border: 1px solid var(--spokes-border); border-radius: 12px; font-size: 16px; outline: none; }
.spokes-chat-footer input:focus { border-color: var(--spokes-primary); }
.spokes-send { padding: 12px 14px; border: none; border-radius: 12px; background: var(--spokes-primary); color: #fff; cursor: pointer; transition: background-color 0.2s ease; }
.spokes-send:hover { background-color: #e8851a; }
@media (max-width:480px){
  .spokes-chat-panel { bottom: calc(var(--spokes-offset) + 64px); right: 8px; left: 8px; width: auto; }
}