/* Voice mode stays on the left; map/camera controls stay on the right. */
.voice-control { position:fixed; z-index:25; left:var(--voice-control-left,max(12px,env(safe-area-inset-left))); top:var(--voice-control-top,var(--voice-control-measured-top,124px)); display:flex; align-items:center; justify-content:center; gap:6px; width:44px; height:44px; padding:0; border:0; border-radius:12px; background:#fff; color:#063c2e; box-shadow:0 2px 10px #163d3329; font:inherit; cursor:pointer; }
.voice-control-icon { display:grid; place-items:center; }
.voice-control-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.voice-control-label { display:none; }
.voice-control[aria-expanded="true"] { background:#063c2e; color:#fff; }
.voice-control[data-voice-mode="mute"] { color:#60746b; }
.voice-control[data-voice-mode="mute"][aria-expanded="true"] { color:#fff; }
.voice-controls-popover { position:fixed; z-index:46; inset:auto; width:340px; height:auto; max-width:calc(100vw - 16px); max-height:calc(100dvh - 16px); margin:0; box-sizing:border-box; overflow:auto; overscroll-behavior:contain; padding:12px 14px; border:1px solid #dfe5e1; border-radius:14px; background:#fff; color:#163d33; box-shadow:0 6px 24px rgba(22,61,51,.2); font-size:14px; line-height:1.4; }
.voice-controls-popover[hidden],.voice-control-options[hidden] { display:none; }
.voice-controls-popover:focus { outline:none; }
.voice-controls-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.voice-controls-head h2 { margin:0; font-size:16px; }
.voice-controls-close { min-width:44px; min-height:44px; padding:0 8px; border:0; border-radius:8px; background:transparent; color:inherit; font:inherit; cursor:pointer; }
.voice-mode-choices { display:grid; gap:8px; }
.voice-mode-choice { display:grid; gap:2px; min-height:52px; padding:8px 12px; border:1px solid #ccd6d1; border-radius:10px; background:#fff; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.voice-mode-choice[aria-pressed="true"] { border-color:#063c2e; background:#edf4ef; }
.voice-mode-choice[aria-pressed="true"] .voice-mode-name::before { content:'\2713\00a0'; }
.voice-mode-name { font-weight:700; }
.voice-mode-description { font-size:12px; color:#5d7068; }
.voice-controls-more { width:100%; min-height:44px; display:flex; justify-content:space-between; align-items:center; margin-top:8px; padding:0 4px; border:0; background:transparent; color:inherit; font:inherit; font-weight:600; text-align:left; cursor:pointer; }
.voice-controls-more::after { content:'\2304'; font-size:20px; }
.voice-controls-more[aria-expanded="true"]::after { content:'\2303'; }
.voice-control-options { display:grid; gap:8px; padding-top:8px; border-top:1px solid #dfe5e1; }
.voice-control-field { font-size:13px; font-weight:600; }
.voice-control-select,.voice-controls-sample { width:100%; min-height:44px; box-sizing:border-box; padding:8px 10px; border:1px solid #ccd6d1; border-radius:10px; background:#fff; color:inherit; font:inherit; }
.voice-controls-sample { cursor:pointer; }
.voice-controls-sample:disabled { color:#6d7a74; cursor:default; }
.voice-control-note { margin:0; font-size:12px; color:#5d7068; overflow-wrap:anywhere; }
.voice-control:focus-visible,.voice-controls-popover button:focus-visible,.voice-control-select:focus-visible { outline:2px solid #1a73e8; outline-offset:2px; }
@media(min-width:760px) { .voice-control { top:auto; bottom:var(--voice-control-bottom,var(--voice-control-measured-bottom,max(24px,env(safe-area-inset-bottom)))); left:var(--voice-control-left,max(24px,env(safe-area-inset-left))); width:auto; min-width:44px; padding:0 12px; } .voice-control-label { display:inline; font-size:13px; font-weight:600; } }
@media(forced-colors:active) { .voice-control,.voice-controls-popover,.voice-mode-choice { border:1px solid CanvasText; } .voice-mode-choice[aria-pressed="true"] { border-width:3px; } }
/* Guidance owns the sole quick voice button. No floating exploration control. */
.voice-control[hidden] { display:none !important; }
.nav-actions > .voice-control {
  position:static; flex:0 0 44px; width:44px; min-width:44px; height:44px;
  margin:0; padding:0; border:1px solid #dfe5e1; box-shadow:none; border-radius:12px;
}
.nav-actions > .voice-control .voice-control-label { display:none; }
