.voice{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--foreground);background:0 0;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.voice::backdrop{background:0 0}.voice button{cursor:pointer}.voice button:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab, var(--glow) 55%, transparent);outline:none}.voice-scrim{background:#030906e0;animation:.38s ease-out both voice-fade-in;position:absolute;inset:0}.voice-edge{pointer-events:none;animation:.9s cubic-bezier(.16,1,.3,1) both voice-edge-in;position:absolute;inset:0}.voice-edge>*{position:absolute;inset:0}.voice-edge-glow{box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--glow-core) 30%, transparent), inset 0 0 26px 0 color-mix(in oklab, var(--glow) 26%, transparent), inset 0 0 110px 0 color-mix(in oklab, var(--glow-deep) 28%, transparent)}.voice-edge-flow{opacity:.5;overflow:hidden;-webkit-mask:linear-gradient(90deg,#000,#0000 4vmin calc(100% - 4vmin),#000),linear-gradient(#000,#0000 4vmin calc(100% - 4vmin),#000);mask:linear-gradient(90deg,#000,#0000 4vmin calc(100% - 4vmin),#000),linear-gradient(#000,#0000 4vmin calc(100% - 4vmin),#000)}.voice-edge-flow:before{content:"";background:conic-gradient(from 0deg, transparent 0deg, var(--glow-core) 40deg, transparent 95deg, transparent 180deg, var(--glow) 230deg, transparent 290deg);width:160vmax;height:160vmax;animation:8s linear infinite voice-spin;position:absolute;top:50%;left:50%;translate:-50% -50%}.voice-edge-flash{opacity:0;box-shadow:inset 0 0 12vmin 1vmin color-mix(in oklab, var(--glow) 32%, transparent);animation:1.2s ease-out .1s both voice-flash}.voice-field{left:var(--fx);top:var(--fy);width:var(--fw);height:var(--fh);position:absolute}.voice-field-halo{border-radius:var(--radius-md);opacity:.45;box-shadow:0 0 0 1.5px color-mix(in oklab, var(--glow) 75%, transparent), 0 0 0 6px color-mix(in oklab, var(--glow) 14%, transparent), 0 12px 48px -8px color-mix(in oklab, var(--glow) 50%, transparent);animation:.5s ease-out .12s backwards voice-fade-in;position:absolute;inset:0}.voice-langs{background:color-mix(in oklab, var(--surface) 85%, transparent);border:1px solid color-mix(in oklab, var(--glow) 20%, transparent);border-radius:999px;flex:none;grid-template-columns:1fr 1fr;padding:3px;display:grid;position:relative}.voice-langs button{min-width:76px;height:36px;color:var(--muted-foreground);border-radius:999px;padding:0 12px;font-size:13px;font-weight:500;transition:color .2s ease-out;position:relative}.voice-langs button[aria-pressed=true]{color:var(--primary-foreground)}.voice-langs-thumb{background:var(--primary);border-radius:999px;width:calc(50% - 3px);transition:transform .32s cubic-bezier(.3,1.3,.5,1);position:absolute;top:3px;bottom:3px;left:3px}.voice-langs-thumb[data-second]{transform:translate(100%)}.voice-bar{left:var(--fx);width:var(--fw);top:calc(var(--fy) + var(--fh) + 12px);background:color-mix(in oklab, var(--surface) 94%, transparent);border:1px solid color-mix(in oklab, var(--glow) 24%, transparent);height:56px;box-shadow:0 18px 50px -20px color-mix(in oklab, var(--glow) 45%, transparent);border-radius:999px;align-items:center;gap:12px;padding:6px;animation:.7s cubic-bezier(.16,1,.3,1) .2s both voice-bar-in;display:flex;position:absolute}.voice-wave{flex:1;justify-content:space-between;align-items:center;min-width:0;height:30px;display:flex}.voice-wave span{background:linear-gradient(var(--glow-core), var(--glow), var(--glow-core));will-change:transform;border-radius:3px;width:3px;height:100%;transform:scaleY(.2)}.voice-trouble{min-width:0;color:var(--muted-foreground);flex:1;font-size:13px;line-height:1.35}.voice-done{background:var(--primary);height:44px;color:var(--primary-foreground);border-radius:999px;flex:none;align-items:center;gap:7px;padding:0 18px 0 14px;font-size:14px;font-weight:600;transition:background-color .15s ease-out,transform .15s ease-out;display:inline-flex}.voice-done:hover{background:var(--primary-hover)}.voice-done:active{transform:scale(.96)}.voice-done svg{width:17px;height:17px}.voice-close{width:40px;height:40px;color:var(--muted-foreground);background:color-mix(in oklab, var(--surface) 80%, transparent);border-radius:999px;place-items:center;transition:color .15s ease-out,background-color .15s ease-out;animation:.4s ease-out .2s both voice-fade-in;display:grid;position:absolute;top:16px;right:16px}.voice-close:hover{color:var(--foreground);background:var(--surface-strong)}.voice-close svg{width:18px;height:18px}@media (max-width:480px){.voice-wave span:nth-child(-n+10),.voice-wave span:nth-last-child(-n+10){display:none}.voice-langs button{min-width:0;padding:0 10px}.voice-done{justify-content:center;width:44px;padding:0}.voice-done span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}}.voice[data-state=closing] .voice-scrim{animation:.34s ease-in both voice-scrim-out}.voice[data-state=closing] .voice-edge{animation:.3s ease-in both voice-edge-out}.voice[data-state=closing] :is(.voice-close,.voice-field-halo){animation:.18s ease-in both voice-fade-out}.voice[data-state=closing] .voice-bar{animation:.24s ease-in both voice-bar-out}@keyframes voice-fade-in{0%{opacity:0}}@keyframes voice-fade-out{to{opacity:0}}@keyframes voice-scrim-out{to{opacity:0}}@keyframes voice-edge-in{0%{opacity:0;transform:scale(1.15)}}@keyframes voice-edge-out{to{opacity:0;transform:scale(1.1)}}@keyframes voice-flash{35%{opacity:1}to{opacity:0}}@keyframes voice-spin{to{rotate:360deg}}@keyframes voice-bar-in{0%{opacity:0;clip-path:inset(0 42% round 999px);transform:translateY(-10px)}to{clip-path:inset(0 round 999px)}}@keyframes voice-bar-out{to{opacity:0;transform:translateY(-8px)}}
