.assistant-demo-cursor {
  position: absolute;
  z-index: 220;
  width: 27px;
  height: 34px;
  margin: -4px 0 0 -5px;
  pointer-events: none;
  filter: drop-shadow(0 5px 6px rgba(20,20,18,.2));
  transition: left .68s cubic-bezier(.22,.8,.25,1), top .68s cubic-bezier(.22,.8,.25,1), transform .18s ease;
}
.assistant-demo-cursor[hidden] { display: none; }
.assistant-demo-cursor svg { width: 100%; height: 100%; overflow: visible; }
.assistant-demo-cursor path { fill: #fff; stroke: #292927; stroke-width: 1.7; stroke-linejoin: round; }
.assistant-demo-cursor i { position:absolute;left:1px;top:1px;width:34px;height:34px;border:1px solid rgba(55,55,52,.24);border-radius:50%;opacity:0;transform:scale(.3); }
.assistant-demo-cursor em {
  position:absolute;
  right:20px;
  top:28px;
  width:max-content;
  max-width:170px;
  padding:9px 11px;
  border:1px solid rgba(220,220,216,.95);
  border-radius:14px 4px 14px 14px;
  background:rgba(255,255,253,.97);
  color:#555;
  box-shadow:0 7px 20px rgba(35,35,31,.1);
  font:500 8px/1.5 var(--font-family);
  font-style:normal;
  white-space:normal;
  transform-origin:top right;
}
.assistant-demo-cursor em.speaking { animation:assistantCursorSpeech .28s ease-out; }
.assistant-demo-cursor.clicking { transform: scale(.86); }
.assistant-demo-cursor.clicking i { animation: assistantCursorTap .42s ease-out; }
@keyframes assistantCursorTap { 0%{opacity:.65;transform:scale(.25)} 100%{opacity:0;transform:scale(1.25)} }
@keyframes assistantCursorSpeech { 0%{opacity:0;transform:translateY(-3px) scale(.94)} 100%{opacity:1;transform:none} }
.assistant-demo-control {
  position:absolute;
  z-index:219;
  left:50%;
  top:calc(env(safe-area-inset-top) + 10px);
  transform:translateX(-50%);
  width:min(270px,calc(100% - 90px));
  min-height:38px;
  padding:5px 6px 5px 12px;
  border:1px solid rgba(215,215,210,.92);
  border-radius:20px;
  background:rgba(250,250,248,.94);
  box-shadow:0 8px 24px rgba(32,32,29,.12);
  backdrop-filter:blur(14px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.assistant-demo-control[hidden] { display:none; }
.assistant-demo-control span { min-width:0;display:flex;align-items:center;gap:7px; }
.assistant-demo-control b { width:6px;height:6px;border-radius:50%;background:#777;box-shadow:0 0 0 4px rgba(80,80,76,.08);animation:assistantCursorPulse 1.1s ease-in-out infinite; }
.assistant-demo-control small { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font:500 8px/1.2 var(--font-family); }
.assistant-demo-control button { flex:none;height:28px;padding:0 11px;border:0;border-radius:14px;background:#e9e9e5;color:#555;font:600 7px/1 var(--font-family); }
@keyframes assistantCursorPulse { 50%{opacity:.35;transform:scale(.8)} }
