.voice-box{flex-direction:column;gap:.375rem;display:flex}.voice-hint{color:var(--muted-foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;padding-inline:.25rem;font-size:.75rem;animation:.2s ease-out voice-in;display:flex}.voice-status{font-variant-numeric:tabular-nums;align-items:center;gap:.5rem;display:inline-flex}.voice-dot{background:var(--destructive);border-radius:50%;width:.5rem;height:.5rem;animation:1s steps(2,jump-none) infinite voice-blink}.voice-keys{align-items:center;gap:.375rem;display:inline-flex}.voice-keys kbd{border:1px solid var(--border);border-radius:calc(var(--radius) - 10px);font-family:var(--font-mono);color:var(--foreground);border-bottom-width:2px;padding:0 .375rem;font-size:.6875rem}.voice-keys kbd+*{margin-inline-end:.5rem}.voice-sheet{background:var(--card);border:0;border-radius:1.5rem 1.5rem 0 0;gap:0;width:100%;max-width:none;padding:0;inset:auto 0 0;transform:none}.voice-sheet[data-state=open]{animation:.32s cubic-bezier(.2,.9,.3,1) voice-rise}.voice-sheet-body{min-height:min(26rem,62dvh);padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));color:var(--muted-foreground);flex-direction:column;gap:1rem;font-size:.8125rem;display:flex}.voice-said{letter-spacing:-.01em;color:var(--foreground);text-wrap:pretty;flex:1;margin:0;font-size:1.5rem;font-weight:500;line-height:1.3;overflow-y:auto}.voice-said[data-empty]{color:var(--muted-foreground)}.voice-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.voice-secondary,.voice-primary{border-radius:999px;align-items:center;gap:.5rem;min-height:3rem;padding-inline:1.25rem;font-weight:500;transition:transform .12s ease-out,opacity .15s;display:inline-flex}.voice-secondary{border:1px solid var(--border);color:var(--foreground)}.voice-primary{background:var(--primary);min-height:3.5rem;color:var(--primary-foreground);padding-inline:1.5rem;font-weight:600}.voice-secondary:active,.voice-primary:active{transform:scale(.96)}.voice-secondary:disabled,.voice-primary:disabled{opacity:.5}@keyframes voice-rise{0%{transform:translateY(100%)}}@keyframes voice-in{0%{opacity:0;transform:translateY(4px)}}@keyframes voice-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.voice-hint,.voice-dot,.voice-sheet[data-state=open]{animation:none}}
