/* Solid's summon: a little blue orb in the float dock — vibing, no words. */
.float-dock .dock-bubble.solid-summon {
  border: none;
  background: radial-gradient(circle at 35% 32%, #9fdcff 0%, #3f9dff 38%, #1450c8 72%, #0a2463 100%);
  animation: solid-vibe 2.8s ease-in-out infinite;
}
@keyframes solid-vibe {
  0%, 100% { box-shadow: 0 0 0 0 rgba(90,170,255,.45), 0 0 12px rgba(90,170,255,.55); transform: scale(1); }
  50% { box-shadow: 0 0 0 9px rgba(90,170,255,0), 0 0 22px rgba(90,170,255,.85); transform: scale(1.06); }
}
.float-dock .dock-bubble.solid-summon:hover { transform: scale(1.12); }
.float-dock .dock-bubble.solid-summon:active { transform: scale(.96); }

/* Solid's slide-over: her corner of the screen. */
.solid-side {
  position: fixed; top: 0; bottom: 0; right: 0; width: min(340px, 88vw); z-index: 99990;
  background: linear-gradient(180deg, #060b16, #04070f);
  border-left: 1px solid rgba(90,170,255,.35);
  box-shadow: -8px 0 30px rgba(0,0,0,.6), 0 0 24px rgba(90,170,255,.15);
  transform: translateX(105%); transition: transform .28s ease;
  display: flex; flex-direction: column;
}
.solid-side.open { transform: translateX(0); }
.solid-side-head { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid rgba(90,170,255,.25); }
.solid-orb-sm {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
  background: radial-gradient(circle at 35% 32%, #9fdcff 0%, #3f9dff 38%, #1450c8 72%, #0a2463 100%);
  box-shadow: 0 0 12px rgba(90,170,255,.7);
  animation: solid-vibe 2.8s ease-in-out infinite;
}
.solid-side-id { flex: 1; }
.solid-name { color: #cfe8ff; font-weight: 700; letter-spacing: 2px; font-size: 15px; }
.solid-sub { color: #7fa8d8; font-size: 11px; letter-spacing: 1px; }
.solid-voice, .solid-close { background: none; border: none; color: #9fc6f5; font-size: 18px; cursor: pointer; padding: 4px 6px; }
.solid-voice.muted { opacity: .45; }
.solid-log { flex: 1; overflow-y: auto; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.solid-msg { max-width: 85%; padding: 8px 12px; border-radius: 14px; font-size: 14px; line-height: 1.45; overflow-wrap: break-word; }
.solid-msg.solid-in { align-self: flex-start; background: rgba(40,110,220,.18); border: 1px solid rgba(90,170,255,.35); color: #dbeeff; border-bottom-left-radius: 4px; }
.solid-msg.solid-out { align-self: flex-end; background: rgba(90,170,255,.12); border: 1px solid rgba(90,170,255,.22); color: #b9d4f2; border-bottom-right-radius: 4px; }
.solid-status { padding: 0 12px; color: #7fa8d8; font-size: 12px; min-height: 18px; }
.solid-form { display: flex; gap: 8px; padding: 10px 12px 14px; border-top: 1px solid rgba(90,170,255,.25); }
.solid-form input { flex: 1; min-width: 0; background: #0a1220; border: 1px solid rgba(90,170,255,.35); border-radius: 10px; color: #e6f2ff; padding: 10px 12px; font-size: 16px; }
.solid-form input:focus { outline: none; border-color: #5aaaff; box-shadow: 0 0 10px rgba(90,170,255,.35); }
