/* Modern pill mic */
.aztco-voice-btn {
  font: inherit; display: inline-flex; align-items: center; gap: .5rem;
  border: 0; border-radius: 999px; padding: .65rem 1rem;
  position: fixed; z-index: 9999; cursor: pointer;
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
  transition: transform .08s ease, box-shadow .2s ease, background .2s;
}
.aztco-voice-btn .mic { font-size: 1.1em; }
.aztco-voice-btn .label { font-weight: 600; letter-spacing:.2px; }
.aztco-voice-btn .lang-tag { font-size: 12px; padding: .15rem .5rem; border-radius: .5rem; opacity:.9; border:1px solid transparent; }

.aztco-voice-btn.theme-dark { background: #111c1b; color:#fff; }
.aztco-voice-btn.theme-dark .lang-tag { background:#163a36; color:#c7ffef; border-color:rgba(255,255,255,.12); }
.aztco-voice-btn.theme-light { background:#fff; color:#0f2a26; border:1px solid rgba(0,0,0,.1); }
.aztco-voice-btn.theme-light .lang-tag { background:#f2f6f5; color:#0f2a26; border-color:rgba(0,0,0,.08); }

.aztco-voice-btn.size-sm { font-size:12px; padding:.5rem .75rem; }
.aztco-voice-btn.size-md { font-size:14px; }
.aztco-voice-btn.size-lg { font-size:16px; padding:.9rem 1.25rem; }

.aztco-voice-btn.listening { outline: 3px solid rgba(0,255,170,.25); }
.aztco-voice-btn:active { transform: scale(.98); }

/* Positions */
.aztco-voice-wrap.pos-bottom-left  .aztco-voice-btn { left:1rem; bottom:1rem; }
.aztco-voice-wrap.pos-bottom-right .aztco-voice-btn { right:1rem; bottom:1rem; }
.aztco-voice-wrap.pos-top-left     .aztco-voice-btn { left:1rem; top:1rem; }
.aztco-voice-wrap.pos-top-right    .aztco-voice-btn { right:1rem; top:1rem; }
.aztco-voice-wrap.pos-inline       .aztco-voice-btn { position: static; box-shadow:none; }

/* Status + Debug */
.aztco-voice-status { margin-left:.5rem; font-size:12px; }
.aztco-voice-debug {
  position: fixed; right:1rem; bottom:5.5rem; width:320px; max-width:calc(100vw - 2rem);
  background: rgba(0,0,0,.85); color:#fff; font-size:12px; padding:.75rem; border-radius:.75rem;
  z-index:10000; backdrop-filter: blur(6px);
}
.aztco-voice-debug .hdr { font-weight:700; margin-bottom:.5rem; }
.aztco-voice-debug .row { display:flex; gap:.5rem; align-items:center; margin:.25rem 0; }
.aztco-voice-debug .row .test-input { flex:1 1 auto; font-size:12px; padding:.25rem .4rem; border-radius:.4rem; border:none; }
.aztco-voice-debug .row .test-run { font-size:12px; padding:.25rem .4rem; border-radius:.4rem; border:none; background:#00a884; color:#fff; cursor:pointer; }

/* Inline language tray (appears on long-press) */
.aztco-lang-tray {
  position: fixed; z-index: 10000;
  display: flex; gap: .4rem; padding: .35rem .45rem;
  background: rgba(30,41,38,.95); color:#fff; border-radius:.6rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  transform: translateY(-8px); opacity:0; pointer-events:none;
  transition: opacity .15s ease, transform .15s ease;
}
.aztco-lang-tray.open { opacity:1; transform: translateY(-12px); pointer-events:auto; }
.aztco-chip {
  font: inherit; font-size:12px; line-height:1;
  background:#0da38a; color:#fff; border:none; border-radius:999px;
  padding:.35rem .6rem; cursor:pointer; opacity:.95;
}
.aztco-chip.active { background:#06c3a3; box-shadow: inset 0 0 0 2px rgba(255,255,255,.2); }

/* Tray follows button position */
.aztco-voice-wrap.pos-bottom-left  .aztco-lang-tray { left:1rem; bottom:4.4rem; }
.aztco-voice-wrap.pos-bottom-right .aztco-lang-tray { right:1rem; bottom:4.4rem; }
.aztco-voice-wrap.pos-top-left     .aztco-lang-tray { left:1rem; top:4.4rem; }
.aztco-voice-wrap.pos-top-right    .aztco-lang-tray { right:1rem; top:4.4rem; }
.aztco-voice-wrap.pos-inline       .aztco-lang-tray { position: static; margin-left:.6rem; transform:none; }
