.ki-persistent-voice-controller {
  position: sticky;
  bottom: 12px;
  z-index: 1000;

  margin-top: 1rem;
  padding: 1rem;

  border: 1px solid rgba(0,88,63,.22);
  border-radius: 16px;

  background: rgba(255,250,240,.97);

  box-shadow:
    0 10px 30px rgba(18,54,45,.13);

  backdrop-filter: blur(8px);
}

.ki-voice-indicator {
  display:flex;
  align-items:center;
  gap:.75rem;
}

.ki-voice-indicator > div {
  display:flex;
  flex-direction:column;
  gap:.15rem;
}

.ki-voice-indicator strong {
  color:#00583f;
}

.ki-voice-indicator small {
  color:#4c665e;
  line-height:1.35;
}

.ki-voice-dot {
  width:14px;
  height:14px;
  flex:0 0 14px;

  border-radius:50%;
  background:#8a9994;
}

.ki-voice-dot[data-state="listening"],
.ki-voice-dot[data-state="speaking"] {
  background:#08785a;

  animation:
    gabayVoicePulse 1.2s infinite;
}

.ki-voice-dot[data-state="paused"] {
  background:#e8ad25;
}

.ki-voice-dot[data-state="restarting"],
.ki-voice-dot[data-state="starting"],
.ki-voice-dot[data-state="processing"] {
  background:#e8ad25;

  animation:
    gabayVoicePulse 1.5s infinite;
}

.ki-voice-dot[data-state="review"] {
  background:#08785a;
}

.ki-voice-dot[data-state="error"] {
  background:#9c3c2f;
}

.ki-persistent-actions {
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;

  margin-top:.85rem;
}

.ki-persistent-actions button {
  min-height:46px;

  padding:.72rem 1rem;

  border:1px solid #00583f;
  border-radius:12px;

  background:white;
  color:#00583f;

  font:inherit;
  font-weight:800;

  cursor:pointer;
}

#kiPersistentStart {
  background:#00583f;
  color:white;
}

#kiPersistentStop:not(:disabled) {
  background:#fff;
  color:#00583f;
}

.ki-persistent-actions button:disabled {
  opacity:.5;
  cursor:not-allowed;
}

.ki-persistent-actions button:focus-visible {
  outline:
    3px solid rgba(232,173,37,.4);

  outline-offset:2px;
}

.ki-voice-session-help {
  margin-top:.75rem;

  padding-top:.7rem;

  border-top:
    1px solid rgba(0,88,63,.12);

  font-size:.84rem;
  line-height:1.45;

  color:#526a63;
}

.kuwago-voice-status {
  margin-top:.75rem;

  padding:.75rem .9rem;

  border-radius:12px;

  background:#f3f8f5;

  border:
    1px solid rgba(0,88,63,.16);

  color:#12362d;

  font-size:.9rem;
  line-height:1.45;
}

.kuwago-voice-status[data-type="listening"] {
  border-color:#08785a;
  font-weight:700;
}

.kuwago-voice-status[data-type="paused"],
.kuwago-voice-status[data-type="restarting"],
.kuwago-voice-status[data-type="processing"] {
  background:#fff8df;
  border-color:#e8ad25;
}

.kuwago-voice-status[data-type="review"] {
  background:#f3f8f5;
  border-color:#08785a;
}

.kuwago-voice-status[data-type="error"] {
  background:#fff1ed;
  border-color:#9c3c2f;
}

@keyframes gabayVoicePulse {
  0% {
    transform:scale(1);
    opacity:1;
  }

  50% {
    transform:scale(1.35);
    opacity:.55;
  }

  100% {
    transform:scale(1);
    opacity:1;
  }
}

@media(max-width:650px) {

  .ki-persistent-voice-controller {
    bottom:6px;
    padding:.85rem;
  }

  .ki-persistent-actions {
    display:grid;
    grid-template-columns:1fr;
  }

  .ki-persistent-actions button {
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce) {

  .ki-voice-dot {
    animation:none !important;
  }
}
