/* homeselect — recherche vocale */
.pill.mic{width:44px;padding:0;justify-content:center;color:var(--ink-2);flex-shrink:0}
.pill.mic svg{stroke:currentColor}
.pill.mic:hover{color:var(--accent);background:var(--accent-soft)}
.pill.mic.on{background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(201,123,90,.35)}
.pill.mic.on svg{stroke:#fff}

.vpanel{position:fixed;z-index:45;top:calc(var(--lsw-top,90px) - 2px);left:calc((100vw - var(--pw,400px) - 32px)/2 + 16px);transform:translate(-50%,-8px) scale(.98);
  width:min(560px,calc(100vw - var(--pw,400px) - 64px));border-radius:26px;padding:16px 16px 14px;opacity:0;pointer-events:none;
  background:var(--glass-bg-strong);transition:opacity .25s var(--ease),transform .4s var(--spring)}
.vpanel.open{opacity:1;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.vp-top{display:flex;align-items:center;gap:14px}
.vp-orb{position:relative;width:56px;height:56px;border-radius:50%;flex:none;display:grid;place-items:center;color:#fff;
  background:radial-gradient(circle at 35% 30%,#dd9a7c,var(--accent) 60%,#ad6345);box-shadow:0 10px 26px -6px rgba(201,123,90,.55),inset 0 1px 0 rgba(255,255,255,.4);transition:transform .3s var(--spring)}
.vp-orb:active{transform:scale(.92)}
.vp-orb svg{position:relative;z-index:1}
.vp-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent);opacity:0}
.vpanel[data-state=listen] .vp-ring{animation:vring 1.6s var(--ease) infinite}
.vpanel[data-state=listen] .vp-ring.r2{animation-delay:.8s}
.vpanel[data-state=listen] .vp-orb{animation:vbreath 1.6s ease-in-out infinite}
.vpanel[data-state=idle] .vp-orb{background:radial-gradient(circle at 35% 30%,#4a4f5c,#22252d 70%);box-shadow:0 10px 24px -8px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.18)}
.vpanel[data-state=done] .vp-orb{background:radial-gradient(circle at 35% 30%,#5ee08a,#2fb95e 65%,#239a4c);box-shadow:0 10px 26px -6px rgba(52,199,89,.5)}
@keyframes vring{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.7);opacity:0}}
@keyframes vbreath{50%{transform:scale(1.06)}}
.vp-head{flex:1;min-width:0}
.vp-state{font-size:12.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.vpanel[data-state=idle] .vp-state{color:var(--ink-3)}
.vpanel[data-state=done] .vp-state{color:#2fb95e}
.vp-said{font:italic 400 23px/1.25 var(--serif);color:var(--ink);margin-top:3px;min-height:29px;letter-spacing:-.005em;overflow-wrap:anywhere}
.vp-said.muted{font:500 14px/1.45 Inter,sans-serif;color:var(--ink-2)}
.vp-x{width:34px;height:34px;border-radius:50%;flex:none;align-self:flex-start;font-size:22px;line-height:1;display:grid;place-items:center;color:var(--ink-2);background:rgba(127,127,127,.12)}
.vp-x:hover{background:rgba(127,127,127,.22)}
.vp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.vp-chips:empty{display:none}
.vp-chips span{height:32px;display:inline-flex;align-items:center;padding:0 13px;border-radius:999px;font-size:13px;font-weight:600;background:var(--ink);color:var(--on-ink);animation:vchip .4s var(--spring) both}
@keyframes vchip{from{opacity:0;transform:scale(.7) translateY(4px)}}
.vp-ex{margin-top:12px;font-size:13px;line-height:1.5;color:var(--ink-3)}
.vp-ex em{font-style:normal;color:var(--ink-2)}
.vp-type{display:flex;gap:6px;margin-top:12px;padding:4px;border-radius:999px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px rgba(11,13,18,.06)}
.vp-type:focus-within{box-shadow:inset 0 0 0 1.5px var(--accent),0 0 0 4px var(--accent-soft)}
.vp-type input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:0 12px;font-size:14.5px}
.vp-go{height:36px;padding:0 16px;border-radius:999px;background:var(--ink);color:var(--on-ink);font-size:13.5px;font-weight:600}
[data-theme=dark] .vp-type{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
@media (max-width:900px){
  .pill.mic{width:38px}
  .vpanel{left:10px;right:10px;width:auto;transform:translateY(-8px) scale(.98)}
  .vpanel.open{transform:none}
  .vp-said{font-size:20px}
}
@media (pointer:coarse){ .vp-x{width:40px;height:40px} .vp-go{height:40px} }
