.vi-input-button{box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;min-width:44px;max-width:100%;height:44px;padding:8px;overflow:hidden;border:1px solid transparent;border-radius:9999px;background:transparent;color:var(--vi-fg,var(--foreground,CanvasText));font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:width .22s cubic-bezier(.23,1,.32,1)}.vi-input-button[data-state=recording]{width:146px;justify-content:flex-start;border-color:var(--vi-border,var(--border,GrayText))}.vi-input-button *,.vi-input-button :after,.vi-input-button :before{box-sizing:border-box}.vi-input-button .vi-input-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px}.vi-input-button .vi-input-icon>*{grid-area:1/1;transition:opacity .15s ease,transform .18s cubic-bezier(.23,1,.32,1)}.vi-input-button .vi-input-mic{width:16px;height:16px}.vi-input-button .vi-input-stop{width:16px;height:16px;border-radius:2px;background:currentColor}.vi-input-button :is(.vi-input-stop,.vi-input-busy){opacity:0;transform:scale(.9)}.vi-input-button:is([data-state=starting],[data-state=transcribing]) .vi-input-mic,.vi-input-button[data-state=recording] .vi-input-mic{opacity:0;transform:scale(.9)}.vi-input-button:is([data-state=starting],[data-state=transcribing]) .vi-input-busy,.vi-input-button[data-state=recording] .vi-input-stop{opacity:1;transform:none}.vi-input-button .vi-input-details{display:flex;align-items:center;gap:8px;width:0;overflow:hidden;opacity:0;transform:translateX(-4px);pointer-events:none;transition:opacity .15s ease,transform .18s cubic-bezier(.23,1,.32,1)}.vi-input-button[data-state=recording] .vi-input-details{flex:1;width:auto;min-width:0;margin-inline-start:8px;opacity:1;transform:none}.vi-input-button .vi-input-waveform{display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;max-width:46px;height:24px;gap:2px}.vi-input-button .vi-input-waveform>span{flex:1 1 2px;max-width:2px;height:13px;border-radius:9999px;background:currentColor;transition:transform .1s linear}.vi-input-button .vi-input-time{flex:0 0 40px;color:var(--vi-muted-fg,var(--muted-foreground,currentColor));font-size:12px;line-height:16px;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.vi-input-button:focus-visible{outline:2px solid var(--vi-accent,var(--ring,Highlight));outline-offset:2px}.vi-input-button:disabled{opacity:.55;cursor:default}.vi-input-button:active:not(:disabled){background:var(--vi-muted,var(--muted,ButtonFace))}@media (hover:hover) and (pointer:fine){.vi-input-button:hover:not(:disabled){background:var(--vi-muted,var(--muted,ButtonFace))}}@media (prefers-reduced-motion:reduce){.vi-input-button,.vi-input-button *{transition:none!important;animation:none!important;transform:none!important}.vi-input-button .vi-input-waveform>span{height:2px}}.vi-root{--vi-bg:var(--background,Canvas);--vi-fg:var(--foreground,CanvasText);--vi-muted:var(--muted,ButtonFace);--vi-border:var(--border,GrayText);--vi-accent:var(--primary,Highlight);--vi-radius:var(--radius,12px);color:var(--vi-fg);background:var(--vi-bg);border:1px solid var(--vi-border);border-radius:var(--vi-radius);font:inherit;font-size:14px;line-height:1.4}.vi-root,.vi-root *,.vi-root :after,.vi-root :before{box-sizing:border-box}.vi-root button,.vi-root select{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 12px;font:inherit;color:inherit;background:transparent;border:0;border-radius:calc(var(--vi-radius) * .65);cursor:pointer;touch-action:manipulation;transition:transform .15s cubic-bezier(.23,1,.32,1),opacity .15s}.vi-root button:active:not(:focus-visible):not(:disabled){transform:scale(.97)}.vi-root :is(button,select,input):focus-visible{outline:2px solid var(--vi-accent);outline-offset:2px;transition:none}.vi-root :disabled{opacity:.5;cursor:default}.vi-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 6px 4px 12px}.vi-status{display:inline-flex;align-items:center;gap:7px;font-weight:600}.vi-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.vi-strip[data-status=paused] .vi-dot{background:transparent;border:1px solid}.vi-strip[data-status=reconnecting] .vi-dot{border-radius:1px}.vi-meter{flex:1;min-width:24px;max-width:92px;height:5px;border-radius:4px;background:var(--vi-muted);overflow:hidden}.vi-meter>span,.vi-progress>span{display:block;width:100%;height:100%;background:var(--vi-accent);transform-origin:left}.vi-time{font-variant-numeric:tabular-nums;white-space:nowrap}.vi-actions{display:flex;gap:2px;margin-inline-start:auto}.vi-root .vi-stop{background:var(--vi-muted);font-weight:600}.vi-player{padding:6px 10px;max-width:520px}.vi-player-row{display:flex;gap:8px;align-items:center}.vi-seek-group{position:relative;flex:1;min-width:44px;height:44px}.vi-seek-group input{position:absolute;inset:0;width:100%;height:44px;margin:0;accent-color:var(--vi-accent);cursor:pointer;background:transparent}.vi-peaks{position:absolute;inset:4px 0;display:flex;align-items:center;justify-content:space-between;gap:2px;pointer-events:none;opacity:.4}.vi-peaks span{display:block;flex:1;height:100%;max-width:4px;min-width:1px;background:currentColor;border-radius:2px}.vi-progress{position:absolute;inset:19px 0;background:var(--vi-muted);border-radius:3px;overflow:hidden}.vi-player-meta{display:flex;gap:8px;align-items:center;min-height:24px}.vi-player-meta>button{margin-inline-start:auto}.vi-transcript{white-space:pre-wrap;overflow-wrap:anywhere;max-width:75ch}.vi-error,.vi-info,.vi-transcript{padding:8px 2px}.vi-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (hover:hover) and (pointer:fine){.vi-root button:hover:not(:disabled),.vi-root select:hover{background:var(--vi-muted)}}@media (prefers-reduced-motion:reduce){.vi-root *,.vi-root :after,.vi-root :before{transition:none!important;animation:none!important}.vi-meter>span,.vi-root button:active{transform:none!important}.vi-meter>span{background:currentColor}.vi-meter{max-width:12px;opacity:.4}}.vi-input-button.vi-input-button,.vi-root.vi-root{--vi-bg:hsl(var(--background));--vi-fg:hsl(var(--foreground));--vi-muted:hsl(var(--muted));--vi-muted-fg:hsl(var(--muted-foreground));--vi-border:hsl(var(--border));--vi-accent:hsl(var(--primary));--vi-radius:4px}