/* Vazin UI standard 1.0.0 extension; existing shell and local font remain authoritative. */
.voice-card{margin-block:var(--v-ui-space-4);border:1px solid var(--line);border-radius:var(--v-ui-radius-lg);background:var(--paper);overflow:hidden}
.voice-toggle{width:100%;display:flex;align-items:center;gap:var(--v-ui-space-3);padding:var(--v-ui-space-4);background:transparent;border:0;color:var(--ink);text-align:start;cursor:pointer;font:inherit}
.voice-icon{display:grid;place-items:center;flex:0 0 44px;inline-size:44px;block-size:44px;border-radius:var(--v-ui-radius-md);background:var(--mint);color:var(--brand)}
.voice-icon svg,.voice-mic svg{inline-size:24px;block-size:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.voice-toggle-copy{flex:1;min-width:0;display:grid;gap:var(--v-ui-space-1)}
.voice-toggle-copy strong{font-size:1rem}.voice-toggle-copy small,.voice-note{color:var(--muted);font-size:.82rem;line-height:1.8}
.voice-badge{padding:var(--v-ui-space-1) var(--v-ui-space-2);background:var(--soft);border:1px solid var(--line);border-radius:var(--v-ui-radius-sm);font-size:.73rem;white-space:nowrap}
.voice-drawer{border-block-start:1px solid var(--line);padding:var(--v-ui-space-6);display:grid;gap:var(--v-ui-space-4)}
.voice-summary{display:flex;gap:var(--v-ui-space-3);align-items:center;justify-content:space-between}.voice-summary p{margin:0;font-size:.86rem;color:var(--muted)}
.voice-end{background:transparent;border:0;border-radius:var(--v-ui-radius-sm);padding:var(--v-ui-space-2);color:var(--ink);font:inherit;font-size:.83rem;cursor:pointer;flex-shrink:0;min-block-size:44px}
.voice-stage{display:grid;justify-items:center;gap:var(--v-ui-space-3);padding-block:var(--v-ui-space-4);border-radius:var(--v-ui-radius-md);background:var(--soft)}
.voice-mic{--voice-level:0;display:grid;place-items:center;inline-size:76px;block-size:76px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--brand);box-shadow:0 0 0 calc(var(--voice-level)*14px) color-mix(in srgb,var(--brand) 8%,transparent);transition:box-shadow .12s linear}
.voice-timer{font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.2rem;font-weight:600;line-height:1.3}
.voice-status{margin:0;color:var(--ink);max-inline-size:46ch;text-align:center;font-size:.88rem;padding-inline:var(--v-ui-space-3);min-block-size:3.4em;line-height:1.7}
.voice-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--v-ui-space-2)}
.voice-actions .button{min-block-size:44px}.voice-cancel{background:transparent;color:var(--ink);border:1px solid var(--line)}
.voice-note{margin:0}.voice-privacy{display:flex;gap:var(--v-ui-space-2);align-items:start}.voice-privacy span{color:var(--brand)}
.voice-handoff{padding:var(--v-ui-space-3) var(--v-ui-space-4);background:var(--mint);color:var(--ink);border-radius:var(--v-ui-radius-md);margin:var(--v-ui-space-4)}
.voice-output{display:flex;align-items:center;justify-content:space-between;gap:var(--v-ui-space-3);flex-wrap:wrap}.voice-output:not(:has(>:not([hidden]))){display:none}
[data-voice-state=recording] .voice-mic{color:var(--danger);border-color:var(--danger)}
[data-voice-state=recording] .voice-timer{color:var(--danger)}
:lang(fa) .page-heading h1,:lang(ar) .page-heading h1{letter-spacing:normal}
@media(max-width:600px){.voice-drawer{padding:var(--v-ui-space-4)}.voice-toggle{gap:var(--v-ui-space-2);padding:var(--v-ui-space-3)}.voice-badge{font-size:.68rem}.voice-toggle-copy small{font-size:.76rem}.voice-summary{align-items:start}.voice-icon{inline-size:40px;block-size:40px;flex-basis:40px}}
@media(prefers-reduced-motion:reduce){.voice-mic{transition:none;box-shadow:none}}
