.microphone-access-backdrop,.microphone-access-portal{position:fixed;inset:0}.microphone-access-portal{z-index:5000}.microphone-access-backdrop{display:grid;place-items:center;overflow-y:auto;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:rgba(7,17,20,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.microphone-access-dialog{position:relative;width:min(560px,100%);max-height:min(820px,calc(100dvh - 36px));overflow-y:auto;display:grid;gap:16px;padding:clamp(22px,5vw,34px);border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:24px;background:var(--surface);color:var(--text);box-shadow:0 32px 100px rgba(2,8,23,.34);text-align:start;animation:microphone-access-enter .18s ease-out both}.microphone-access-dialog[data-phase=recovery]{border-color:color-mix(in srgb,var(--warning) 48%,var(--line))}.microphone-access-dialog[data-phase=success]{border-color:color-mix(in srgb,var(--success) 48%,var(--line))}.microphone-access-close{position:absolute;inset-block-start:14px;inset-inline-end:14px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--muted);cursor:pointer}.microphone-access-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:20px;background:color-mix(in srgb,var(--accent) 13%,var(--surface));color:var(--accent-dark)}.microphone-access-dialog[data-phase=requesting] .microphone-access-icon{animation:microphone-access-pulse 1.4s ease-in-out infinite}.microphone-access-dialog[data-phase=recovery] .microphone-access-icon{background:color-mix(in srgb,var(--warning) 14%,var(--surface));color:var(--warning)}.microphone-access-dialog[data-phase=success] .microphone-access-icon{background:color-mix(in srgb,var(--success) 13%,var(--surface));color:var(--success)}.microphone-access-copy{display:grid;gap:7px}.microphone-access-copy h2,.microphone-access-copy p,.microphone-access-eyebrow{margin:0}.microphone-access-eyebrow{color:var(--accent-dark);font-size:.82rem;font-weight:850}.microphone-access-copy h2{padding-inline-end:36px;font-size:clamp(1.35rem,4.5vw,1.85rem);line-height:1.3}.microphone-access-copy p:not(.microphone-access-eyebrow){color:var(--muted);font-size:.98rem;line-height:1.8}.microphone-access-steps{display:grid;gap:10px;margin:0;padding:15px 42px 15px 16px;border:1px solid color-mix(in srgb,var(--warning) 26%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--warning) 7%,var(--surface));color:var(--text);line-height:1.7}[dir=ltr] .microphone-access-steps{padding-inline:42px 16px}.microphone-access-steps li::marker{color:var(--warning);font-weight:900}.microphone-access-actions,.microphone-access-secondary-actions{display:flex;flex-wrap:wrap;gap:10px}.microphone-access-cancel,.microphone-access-primary,.microphone-access-secondary{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:14px;font:inherit;font-weight:800;line-height:1.3;cursor:pointer}.microphone-access-primary{flex:1 1 220px;border:1px solid transparent;background:linear-gradient(135deg,var(--accent),var(--accent-cyan,var(--accent-dark)));color:#fff;box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 22%,transparent)}.microphone-access-cancel,.microphone-access-secondary{border:1px solid var(--line);background:var(--surface-soft);color:var(--text)}.microphone-access-cancel{flex:0 1 auto}.microphone-access-secondary{flex:1 1 180px}.microphone-access-cancel:hover,.microphone-access-close:hover,.microphone-access-primary:hover,.microphone-access-secondary:hover{filter:brightness(.97);transform:translateY(-1px)}.microphone-access-cancel:focus-visible,.microphone-access-close:focus-visible,.microphone-access-primary:focus-visible,.microphone-access-secondary:focus-visible,.microphone-check-action:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-cyan,var(--accent)) 58%,transparent);outline-offset:3px}.microphone-check-action{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid color-mix(in srgb,var(--warning) 46%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--warning) 8%,var(--surface));color:var(--accent-dark);font:inherit;font-size:.84rem;font-weight:850;cursor:pointer;transition:filter .12s ease,transform .12s ease}@media (max-width:680px){.microphone-access-dialog{align-self:end;width:100%;max-height:calc(100dvh - 20px);padding:22px 18px max(22px,env(safe-area-inset-bottom));border-end-start-radius:0;border-end-end-radius:0}.microphone-access-backdrop{place-items:end center;padding:20px 0 0}.microphone-access-actions,.microphone-access-secondary-actions{display:grid;grid-template-columns:1fr}.microphone-access-cancel,.microphone-access-primary,.microphone-access-secondary{width:100%}}@media (prefers-reduced-motion:reduce){.microphone-access-dialog,.microphone-access-dialog[data-phase=requesting] .microphone-access-icon{animation:none}}@media print{.microphone-access-portal,.microphone-check-action{display:none!important}}@keyframes microphone-access-enter{0%{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes microphone-access-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 28%,transparent)}50%{box-shadow:0 0 0 12px transparent}}