/* Voice is an uncluttered full-screen instrument, with typing one tap away. */
.voice-dismiss{display:none}
body.voice-screen{overflow:hidden}
body.voice-screen #conversation{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;display:block!important;z-index:250!important;transition:none!important;animation:none!important;transform:none!important;visibility:visible!important;opacity:1!important;border:0!important;border-radius:0!important;background:radial-gradient(ellipse at 50% 48%,rgba(193,166,121,.055),transparent 45%),#090a0c!important}
body.voice-screen #conversation>.conversation-top,body.voice-screen #conversation>.conversation-context,body.voice-screen #conversation>#conversation-log,body.voice-screen #conversation #credit-note{display:none!important}
body.voice-screen #conversation .conversation-composer{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;margin:0!important;padding:0!important;display:block!important;background:none!important;border:0!important;box-shadow:none!important}
body.voice-screen #voice-stage{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;pointer-events:none}
body.voice-screen #voice-orb{width:clamp(144px,25vmin,188px)!important;height:clamp(144px,25vmin,188px)!important;min-height:0!important;pointer-events:auto}
body.voice-screen .voice-orb-core{width:calc(100% - 18px);height:calc(100% - 18px)}
body.voice-screen #voice-orb svg{width:58px!important;height:58px!important;stroke-width:1.25}
body.voice-screen #voice-stage .voice-wave{display:none!important}
body.voice-screen #voice-state,body.voice-screen #voice-hint{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;margin:0!important;padding:0!important}
body.voice-screen .conversation-mode-action{position:absolute!important;bottom:calc(28px + env(safe-area-inset-bottom))!important;left:24px!important;right:24px!important;display:flex!important;justify-content:center!important;margin:0!important;pointer-events:auto}
body.voice-screen #conversation-switch{min-height:48px;gap:10px;padding:0 21px;font-size:12px;border-radius:30px;background:linear-gradient(145deg,#c7b08b0e,#c7b08b05);border-color:#a78d6338;color:#c7b99f}
body.voice-screen #conversation-status{position:absolute;bottom:calc(94px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 48px);max-width:460px;text-align:center;font-size:12px;line-height:1.8;padding:0;margin:0;color:#c0b7a8}
body.voice-screen #conversation-status:empty{display:none}
body.voice-screen #conversation-status button{min-height:44px;padding:8px 12px}
body.voice-screen .voice-dismiss{position:absolute;right:calc(20px + env(safe-area-inset-right));top:calc(18px + env(safe-area-inset-top));z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #c7b08b20;border-radius:50%;color:#9d9c98}
html[data-theme=light] body.voice-screen #conversation{background:radial-gradient(ellipse at 50% 48%,rgba(161,127,75,.08),transparent 48%),#f5f2ed!important}
html[data-theme=light] body.voice-screen #conversation-switch{color:#735e40;border-color:#b39b754d;background:#fffaf166}
html[data-theme=light] body.voice-screen #conversation-status{color:#6b6255}
html[data-theme=light] body.voice-screen .voice-dismiss{color:#756f66;border-color:#ac987738}
@media(prefers-reduced-motion:reduce){body.voice-screen #voice-orb{transition:none!important;animation:none!important}}

/* A slow light breath signals an open microphone without distracting motion. */
body.voice-screen #voice-orb{position:relative;isolation:isolate;overflow:visible!important}
body.voice-screen #voice-orb::after{content:"";position:absolute;inset:-13px;border-radius:50%;border:1px solid #bfcfda40;box-shadow:0 0 36px 5px #bfcfda0c;opacity:0;pointer-events:none}
body.voice-screen #conversation[data-voice-state=listening] #voice-orb::after{animation:mic-listening-halo 3s ease-in-out infinite}
body.voice-screen #conversation[data-voice-state=listening] .voice-orb-core{animation:mic-listening-light 3s ease-in-out infinite}
@keyframes mic-listening-halo{0%,100%{opacity:.25;transform:scale(.985)}50%{opacity:.85;transform:scale(1.045)}}
@keyframes mic-listening-light{0%,100%{box-shadow:inset 0 1px 0 #ffffff10,0 0 15px #c2d4df08}50%{box-shadow:inset 0 1px 0 #ffffff26,0 0 34px #c2d4df21}}
html[data-theme=light] body.voice-screen #voice-orb::after{border-color:#8c734e70;box-shadow:0 0 36px 5px #8c734e0c}
@media(prefers-reduced-motion:reduce){body.voice-screen #conversation[data-voice-state=listening] #voice-orb::after{animation:none;opacity:.75}body.voice-screen #conversation[data-voice-state=listening] .voice-orb-core{animation:none}}
html[data-theme=light] body.voice-screen .voice-orb-core{background:radial-gradient(circle at 35% 25%,#fffdf9,#e8e1d5 85%);color:#765d36}
