/* Cordobez · cápsula glassmorphism voice-first */
.cordobez-widget{
  position:fixed;
  left:16px;
  bottom:16px;
  z-index:320;
  width:198px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  color:#f4fbf7;
  pointer-events:none;
  background:transparent;
  transition:width 220ms ease,transform 220ms ease;
}
.cordobez-widget *{
  box-sizing:border-box;
  pointer-events:none;
}
.cordobez-widget .cordobez-launcher{
  pointer-events:auto;
  position:relative;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:12px 12px 14px;
  border:1px solid rgba(80,231,178,.34);
  border-radius:36px;
  background:rgba(8,22,16,.48);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  backdrop-filter:blur(16px) saturate(1.08);
  color:inherit;
  cursor:pointer;
  appearance:none;
  box-shadow:0 12px 28px rgba(0,0,0,.16);
  transform:scale(1);
  transition:
    width 220ms ease,
    padding 220ms ease,
    transform 220ms ease,
    background-color 220ms ease,
    border-color 220ms ease,
    box-shadow 220ms ease;
}
.cordobez-widget .cordobez-launcher:disabled{
  pointer-events:auto;
  cursor:default;
}
.cordobez-widget :focus-visible{
  outline:2px solid #9be7c0;
  outline-offset:3px;
}
.cordobez-face{
  position:relative;
  display:block;
  width:156px;
  height:156px;
  flex:0 0 auto;
}
.cordobez-face-base,
.cordobez-face-eyes,
.cordobez-face-mouth{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
}
.cordobez-status,
.cordobez-place{
  pointer-events:none;
  margin:0;
  max-width:100%;
  text-align:center;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
.cordobez-status{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-height:34px;
  height:auto;
  padding:0 6px;
  border-radius:999px;
  background:transparent;
  border:0;
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
  color:#f2fbf6;
  line-height:1.15;
  transition:opacity .45s ease;
}
.cordobez-status-label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cordobez-status-icon{
  flex:0 0 12px;
  width:12px;
  height:12px;
  position:relative;
  display:block;
}
.cordobez-widget[data-state="idle"] .cordobez-status-icon{
  width:10px;
  height:12px;
  background:
    radial-gradient(circle at 50% 38%, #9be7c0 0 42%, transparent 44%) 50% 0 / 8px 9px no-repeat,
    linear-gradient(#9be7c0,#9be7c0) 50% 100% / 2px 3px no-repeat,
    linear-gradient(#9be7c0,#9be7c0) 20% 100% / 60% 1.5px no-repeat;
}
.cordobez-widget[data-state="listening"] .cordobez-status-icon{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ff5a5a;
  box-shadow:0 0 0 0 rgba(255,90,90,.45);
  animation:cordobez-status-pulse 1.15s ease-out infinite;
}
.cordobez-widget[data-state="thinking"] .cordobez-status-icon,
.cordobez-widget[data-state="navigating"] .cordobez-status-icon{
  border:2px solid rgba(155,231,192,.22);
  border-top-color:#9be7c0;
  border-radius:50%;
  animation:cordobez-status-spin .7s linear infinite;
}
.cordobez-widget[data-state="speaking"] .cordobez-status-icon{
  background:
    linear-gradient(#9be7c0,#9be7c0) 0 100%/2.5px 55% no-repeat,
    linear-gradient(#9be7c0,#9be7c0) 50% 100%/2.5px 100% no-repeat,
    linear-gradient(#9be7c0,#9be7c0) 100% 100%/2.5px 70% no-repeat;
  animation:cordobez-status-wave .85s ease-in-out infinite;
}
.cordobez-widget[data-state="error"] .cordobez-status-icon{
  border:1.5px solid #f3c07a;
  border-radius:50%;
}
.cordobez-widget[data-state="error"] .cordobez-status-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:2px;
  width:1.5px;
  height:5px;
  background:#f3c07a;
  transform:translateX(-50%);
  box-shadow:0 6px 0 0 #f3c07a;
}
.cordobez-place{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  font-weight:600;
  color:rgba(155,231,192,.88);
}
.cordobez-widget.is-idle-quiet[data-state="idle"] .cordobez-status{
  opacity:.4;
}
.cordobez-widget.is-idle-quiet[data-state="idle"] .cordobez-launcher:hover .cordobez-status,
.cordobez-widget.is-idle-quiet[data-state="idle"] .cordobez-launcher:focus .cordobez-status,
.cordobez-widget.is-idle-quiet[data-state="idle"] .cordobez-launcher:focus-visible .cordobez-status{
  opacity:1;
}
.cordobez-widget.is-expanded,
.cordobez-widget[data-state="listening"],
.cordobez-widget[data-state="thinking"],
.cordobez-widget[data-state="navigating"],
.cordobez-widget[data-state="speaking"],
.cordobez-widget[data-state="error"]{
  width:232px;
}
.cordobez-widget.is-expanded .cordobez-launcher,
.cordobez-widget[data-state="listening"] .cordobez-launcher,
.cordobez-widget[data-state="thinking"] .cordobez-launcher,
.cordobez-widget[data-state="navigating"] .cordobez-launcher,
.cordobez-widget[data-state="speaking"] .cordobez-launcher,
.cordobez-widget[data-state="error"] .cordobez-launcher,
.cordobez-widget .cordobez-launcher:hover,
.cordobez-widget .cordobez-launcher:focus-visible{
  padding:14px 14px 16px;
  transform:scale(1.04);
  background:rgba(8,24,18,.58);
  border-color:rgba(80,231,178,.48);
}
.cordobez-widget[data-state="idle"] .cordobez-face{
  animation:cordobez-idle 3.4s ease-in-out infinite;
}
.cordobez-widget[data-state="thinking"] .cordobez-face,
.cordobez-widget[data-state="navigating"] .cordobez-face{
  animation:cordobez-think 2.8s ease-in-out infinite;
}
.cordobez-widget[data-state="listening"] .cordobez-launcher{
  box-shadow:0 0 0 5px rgba(80,231,178,.16),0 0 18px rgba(80,231,178,.22);
  animation:cordobez-listen-halo 1.8s ease-in-out infinite;
}
.cordobez-widget[data-state="error"] .cordobez-face{
  filter:saturate(.86) brightness(.97);
}
@keyframes cordobez-idle{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
@keyframes cordobez-think{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}
@keyframes cordobez-listen-halo{
  0%,100%{box-shadow:0 10px 22px rgba(0,0,0,.18),0 0 0 4px rgba(80,231,178,.12),0 0 12px rgba(80,231,178,.16)}
  50%{box-shadow:0 10px 22px rgba(0,0,0,.18),0 0 0 8px rgba(80,231,178,.22),0 0 22px rgba(80,231,178,.28)}
}
@keyframes cordobez-status-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,90,90,.5);transform:scale(1)}
  70%{box-shadow:0 0 0 6px rgba(255,90,90,0);transform:scale(1.08)}
  100%{box-shadow:0 0 0 0 rgba(255,90,90,0);transform:scale(1)}
}
@keyframes cordobez-status-spin{
  to{transform:rotate(360deg)}
}
@keyframes cordobez-status-wave{
  0%,100%{opacity:1}
  50%{opacity:.7}
}
@media (hover:hover) and (pointer:fine){
  .cordobez-widget:has(.cordobez-launcher:hover),
  .cordobez-widget:has(.cordobez-launcher:focus-visible){
    width:232px;
  }
}
@media (prefers-reduced-motion:reduce){
  .cordobez-widget,
  .cordobez-widget .cordobez-launcher{
    transition:none;
  }
  .cordobez-widget[data-state="idle"] .cordobez-face,
  .cordobez-widget[data-state="thinking"] .cordobez-face,
  .cordobez-widget[data-state="navigating"] .cordobez-face,
  .cordobez-widget[data-state="listening"] .cordobez-launcher,
  .cordobez-widget[data-state="listening"] .cordobez-status-icon,
  .cordobez-widget[data-state="thinking"] .cordobez-status-icon,
  .cordobez-widget[data-state="navigating"] .cordobez-status-icon,
  .cordobez-widget[data-state="speaking"] .cordobez-status-icon{
    animation:none;
  }
  .cordobez-widget[data-state="listening"] .cordobez-launcher{
    box-shadow:0 0 0 4px rgba(80,231,178,.16);
  }
}
@media (min-width:1100px){
  .cordobez-widget{width:206px}
  .cordobez-face{width:162px;height:162px}
  .cordobez-widget.is-expanded,
  .cordobez-widget[data-state="listening"],
  .cordobez-widget[data-state="thinking"],
  .cordobez-widget[data-state="navigating"],
  .cordobez-widget[data-state="speaking"],
  .cordobez-widget[data-state="error"]{width:240px}
  @media (hover:hover) and (pointer:fine){
    .cordobez-widget:has(.cordobez-launcher:hover),
    .cordobez-widget:has(.cordobez-launcher:focus-visible){width:240px}
  }
}
@media (pointer:coarse){
  .cordobez-widget{width:210px}
  .cordobez-face{width:176px;height:176px}
  .cordobez-widget.is-expanded,
  .cordobez-widget[data-state="listening"],
  .cordobez-widget[data-state="thinking"],
  .cordobez-widget[data-state="navigating"],
  .cordobez-widget[data-state="speaking"],
  .cordobez-widget[data-state="error"]{width:255px}
}
@media (max-width:720px){
  .cordobez-widget{
    left:12px;
    bottom:12px;
    width:158px;
  }
  .cordobez-face{width:128px;height:128px}
  .cordobez-widget.is-expanded,
  .cordobez-widget[data-state="listening"],
  .cordobez-widget[data-state="thinking"],
  .cordobez-widget[data-state="navigating"],
  .cordobez-widget[data-state="speaking"],
  .cordobez-widget[data-state="error"]{width:198px}
  .cordobez-widget .cordobez-launcher{border-radius:30px;padding:10px 10px 12px}
}
@media (max-width:430px){
  .cordobez-widget{
    left:8px;
    bottom:8px;
    width:152px;
  }
  .cordobez-face{width:118px;height:118px}
  .cordobez-widget.is-expanded,
  .cordobez-widget[data-state="listening"],
  .cordobez-widget[data-state="thinking"],
  .cordobez-widget[data-state="navigating"],
  .cordobez-widget[data-state="speaking"],
  .cordobez-widget[data-state="error"]{width:192px}
  .cordobez-status{
    min-height:32px;
    font-size:11px;
  }
}
