.voice-page{--voice-ease:cubic-bezier(0.22,1,0.36,1);--voice-press:140ms;--voice-color:180ms}.voice-enter{animation:voice-rise .42s var(--voice-ease) both}.voice-enter-2{animation-delay:50ms}.voice-enter-3{animation-delay:.1s}.voice-enter-4{animation-delay:.15s}@keyframes voice-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.voice-alert{animation:voice-alert-in .28s var(--voice-ease) both}@keyframes voice-alert-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.voice-btn,.voice-card,.voice-chip,.voice-icon-btn,.voice-press,.voice-text-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.voice-btn{transition:transform var(--voice-press) var(--voice-ease),filter var(--voice-color) ease,box-shadow var(--voice-color) ease,opacity var(--voice-color) ease}.voice-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.voice-btn:active:not(:disabled){filter:brightness(.96);transform:translateY(1px) scale(.97)}.voice-btn:disabled{transform:none}.voice-card,.voice-chip,.voice-press{transition:transform var(--voice-press) var(--voice-ease),border-color var(--voice-color) ease,background-color var(--voice-color) ease,box-shadow var(--voice-color) ease}.voice-card:hover,.voice-chip:hover{transform:translateY(-1px)}.voice-card:active,.voice-chip:active,.voice-press:active{transform:translateY(1px) scale(.98)}.voice-card.is-selected,.voice-chip.is-selected{border-color:color-mix(in srgb,var(--lf-accent-2) 55%,transparent);background:color-mix(in srgb,var(--lf-accent-2) 8%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--lf-accent-2) 16%,transparent)}.voice-card.is-selected:hover,.voice-chip.is-selected:hover{transform:translateY(-1px)}.voice-icon-btn{transition:transform var(--voice-press) var(--voice-ease),filter var(--voice-color) ease,box-shadow var(--voice-color) ease,background-color var(--voice-color) ease,color var(--voice-color) ease}.voice-icon-btn:hover{filter:brightness(1.08);transform:scale(1.04)}.voice-icon-btn:active{filter:brightness(.96);transform:scale(.9)}.voice-text-btn{transition:color var(--voice-color) ease,opacity var(--voice-color) ease,transform var(--voice-press) var(--voice-ease)}.voice-text-btn:hover{color:var(--lf-accent-2)}.voice-text-btn:active{transform:scale(.96)}.voice-player{display:flex;align-items:center;gap:12px;transition:border-color var(--voice-color) ease,background-color var(--voice-color) ease,transform var(--voice-press) var(--voice-ease)}.voice-player:hover{border-color:color-mix(in srgb,var(--lf-accent-2) 35%,transparent)}.voice-player-main{display:flex;min-width:0;flex:1;align-items:flex-end}.voice-wave{position:relative;display:block;width:100%;height:28px;overflow:hidden;cursor:pointer;touch-action:none;--voice-progress:0%;transition:transform .12s var(--voice-ease)}.voice-wave:hover .voice-wave-layer.is-track span{opacity:.4}.voice-wave.is-seeking{transform:scaleY(.88)}.voice-player.is-compact .voice-wave{height:18px}.voice-wave-layer{position:absolute;inset:0;display:flex;align-items:flex-end;gap:2px}.voice-wave-layer span{display:block;flex:1 1 0;min-width:2px;border-radius:999px;background:currentColor;transform-origin:bottom center;align-self:flex-end;transition:opacity .16s ease}.voice-wave-layer.is-track span{opacity:.28}.voice-wave-layer.is-fill{clip-path:inset(0 calc(100% - var(--voice-progress, 0%)) 0 0)}.voice-wave-layer.is-fill span{opacity:.95}.voice-wave.is-playing .voice-wave-layer.is-fill span{animation:voice-wave-pulse 1.05s ease-in-out infinite}@keyframes voice-wave-pulse{0%,to{transform:scaleY(.72);opacity:.75}50%{transform:scaleY(1);opacity:1}}.voice-record-ring{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 55%,transparent);animation:voice-record-pulse 1.4s ease-out infinite}@keyframes voice-record-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 45%,transparent)}70%{box-shadow:0 0 0 14px color-mix(in srgb,#ef4444 0,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 0,transparent)}}.voice-modal-backdrop{animation:voice-fade .2s ease both}.voice-modal-panel{animation:voice-modal-in .32s var(--voice-ease) both}@keyframes voice-fade{0%{opacity:0}to{opacity:1}}@keyframes voice-modal-in{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.voice-drop{transition:border-color var(--voice-color) ease,background-color var(--voice-color) ease,transform var(--voice-press) var(--voice-ease)}.voice-drop:hover{transform:translateY(-1px)}.voice-drop:active{transform:scale(.985)}.voice-tab{transition:background-color var(--voice-color) ease,color var(--voice-color) ease,box-shadow var(--voice-color) ease,transform var(--voice-press) var(--voice-ease)}.voice-tab:active{transform:scale(.96)}@media (prefers-reduced-motion:reduce){.voice-alert,.voice-enter,.voice-enter-2,.voice-enter-3,.voice-enter-4,.voice-modal-backdrop,.voice-modal-panel,.voice-record-ring,.voice-wave.is-playing .voice-wave-layer.is-fill span{animation:none!important}.voice-btn,.voice-card,.voice-chip,.voice-drop,.voice-icon-btn,.voice-player,.voice-press,.voice-tab,.voice-text-btn,.voice-wave{transition:none!important;transform:none!important}}