/* The V46 voice scene uses its original proportions, organic motion and empty core. */
#utilityDialog:is([data-view="chat"],[data-view="voice"]){
  width:min(420px,calc(100% - 20px));height:min(610px,calc(100dvh - 20px));max-height:calc(100dvh - 20px);
  border-color:#957144;background:#210c15;overflow:hidden;box-shadow:0 18px 70px #0c040bd4;
}
#utilityDialog:is([data-view="chat"],[data-view="voice"]) .utility-shell{
  height:100%;max-height:100%;min-height:0;padding:0;gap:0;
}
.assistant-identity{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0}
.assistant-identity img{width:42px;height:42px;border-radius:50%;object-fit:contain}
#utilityDialog:not([data-view="install"]) .utility-head{position:relative;flex:none;justify-content:center;text-align:center;min-height:64px;padding:6px 54px;background:linear-gradient(130deg,#280d18,#3b1720 55%,#210b15)}
#utilityDialog:not([data-view="install"]) .utility-head small{display:none}
#utilityDialog:not([data-view="install"]) .utility-head h2{font-size:clamp(17px,4vw,21px);line-height:1.15;margin:0}
#utilityDialog:not([data-view="install"]) .dialog-close{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:30px}
#utilityDialog[data-view="install"] .assistant-identity>img{display:none}
#chatBody{flex:1 1 0;gap:0;overflow:hidden;min-height:0}
.assistant-toolbar{display:flex;flex:none;align-items:center;gap:6px;padding:7px 12px;min-height:50px;border-bottom:1px solid #a37a454a;background:#2a111a}
#assistantMode{flex:1;font:600 12px/1.4 var(--sans);color:#ead4c3}
#assistantLanguages{display:flex;border:1px solid #997447;border-radius:18px;overflow:hidden}
#assistantLanguages button,#clearChat{background:transparent;color:#e9d5bd;border:0;font:650 12px/1.1 var(--sans);min-width:34px;min-height:34px;padding:4px}
#assistantLanguages [aria-pressed="true"]{background:#71273c;color:#fff1cf}
#clearChat{border:1px solid #785637;border-radius:11px;font-size:21px}
#clearChat:disabled{opacity:.45}
.assistant-scene{position:relative;flex:1 1 0;min-height:0;overflow:hidden;contain:layout paint;background:radial-gradient(ellipse at 50% 44%,#361321,#200b15 65%,#17090f)}
#writtenPane{height:100%;display:flex;flex-direction:column}
#chatLog{flex:1 1 0;min-height:0;max-height:none;padding:14px;overflow:auto}
.chat-row{font-size:14px;line-height:1.45;border:1px solid #946c4538;background:#321620}
.chat-row.user{background:linear-gradient(135deg,#69273a,#4c1b2c)}
#chatHints{flex:none;margin:0;padding:4px 8px 8px}
#chatForm{flex:none;align-items:center;padding:8px 12px 6px;background:#220e17}
#chatForm input{min-height:42px}
#chatForm .btn{min-height:42px}
.voice-row{flex:none;align-items:center;justify-content:center;gap:8px;padding:8px 10px 12px;background:#220e17}
.voice-row button{min-height:43px;font-size:12px}
#chatMic{display:inline-grid;grid-template-columns:19px minmax(0,1fr) 19px;align-items:center;gap:5px;background:linear-gradient(135deg,#efd19b,#c29052);border-color:#e6bc78;color:#321522;font-weight:750}
#chatMic span{grid-column:2;text-align:center}
#chatMic svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
#utilityDialog[data-view="chat"] .voice-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:6px}
#utilityDialog[data-view="chat"] #chatMic{grid-column:2;min-width:145px;min-height:44px}
#utilityDialog[data-view="chat"] #readReplies{grid-column:3;justify-self:center}
@media(max-width:380px){
 #utilityDialog[data-view="chat"] .voice-row{grid-template-columns:1fr;justify-items:center;row-gap:4px}
 #utilityDialog[data-view="chat"] :is(#chatMic,#readReplies){grid-column:1}
}
#utilityStatus:not(:empty){flex:none;margin:0;padding:4px 14px 9px;background:#220e17}
#voiceStage{height:100%;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:clamp(8px,1.6vh,15px);padding:clamp(13px,3vh,30px) 17px;text-align:center;isolation:isolate;background:radial-gradient(ellipse at 50% 44%,#441723 0%,#2a0e1c 35%,#1a0a13 76%,#11080c 100%)}
#voiceStage h3,#voiceStage p{margin:0;flex:none;max-width:100%}
#voiceTitle{font:800 clamp(13px,3vw,17px)/1.3 var(--sans);letter-spacing:3px;color:#fbebc9}
.voice-orb{flex:none;position:relative;display:grid;place-items:center;width:clamp(150px,37vw,240px);aspect-ratio:1;margin:clamp(8px,2vh,22px) auto;border-radius:50%;animation:ejder-voice-breathe 3.1s ease-in-out infinite}
.voice-orb::before,.voice-orb::after,.orb-inner,.orb-outer{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none}
.voice-orb::before{border-radius:46% 54% 54% 46% / 52% 46% 54% 48%;background:radial-gradient(circle at 28% 23%,#fffaf0 0%,#f6dfaa 20%,#e9c078 35%,#b67947 60%,#773044 84%,#481728 100%);box-shadow:inset -18px -16px 40px #531a3680,0 0 55px #d98c56a8,0 0 95px #dcb37240;animation:ejder-voice-organic 3.5s ease-in-out infinite}
.voice-orb::after{inset:-18px;border:1px solid #e7bb7977;box-shadow:0 0 25px #d8955349;animation:ejder-voice-ripple 3.7s ease-in-out infinite}
.orb-outer{inset:-33px;border:1px solid #c0935553;animation:ejder-voice-ripple 4.6s ease-in-out infinite .45s}
.orb-inner{inset:15px;border:1px solid #fff4cc35;background:radial-gradient(circle at 40% 20%,#fff1bd30,transparent 58%);box-shadow:inset 0 0 28px #ffe4ad2c}
#voiceStage[data-state="listening"] .voice-orb{animation-duration:3.2s}
#voiceStage[data-state="hearing"] .voice-orb{animation-duration:1.05s;filter:drop-shadow(0 0 16px #daa15a88)}
#voiceStage[data-state="speaking"] .voice-orb{animation-duration:.75s;filter:drop-shadow(0 0 17px #f2cb8d99)}
#voiceStage[data-state="waiting"] .voice-orb{animation-duration:2.1s}
#voiceState{font:750 clamp(17px,3.6vw,22px)/1.3 var(--sans);color:#fff1df}
#voiceTip{font:450 13px/1.45 var(--sans);color:#e5ccc0;overflow-wrap:anywhere}
#voiceLive{display:flex;align-items:center;gap:8px;padding:4px 0;color:#dec7b4;font:600 12px/1.4 var(--sans)}
#voiceLive i{width:10px;height:10px;flex:none;border-radius:50%;background:#bfa28c}
#voiceStage[data-mic="true"] #voiceLive i{background:#65cd9c;box-shadow:0 0 10px #6ed4a08c}
#utilityDialog[data-view="voice"] .voice-row{justify-content:flex-start;border-top:1px solid #9e714449;padding:10px 15px;min-height:65px}
#utilityDialog[data-view="voice"] #chatMic{background:#341922;color:#f1dbc0;border-color:#92744f;min-width:155px}
@keyframes ejder-voice-breathe{0%,100%{transform:scale(.96)}50%{transform:scale(1.055)}}
@keyframes ejder-voice-organic{0%,100%{border-radius:46% 54% 54% 46% / 52% 46% 54% 48%;transform:scale(.96) rotate(-3deg)}50%{border-radius:55% 45% 46% 54% / 44% 52% 48% 56%;transform:scale(1.045) rotate(3deg)}}
@keyframes ejder-voice-ripple{0%,100%{transform:scale(.92);opacity:.44}55%{transform:scale(1.04);opacity:.9}}
@media(max-width:520px){
 #utilityDialog:not([data-view="install"]) .utility-head{min-height:58px}
 .assistant-identity img{width:37px;height:37px}
 .voice-orb{width:clamp(155px,49vw,225px)}
}
@media(max-height:620px){
 #utilityDialog:not([data-view="install"]) .utility-head{min-height:46px}
 #voiceStage{gap:5px;padding:9px 12px}
 .voice-orb{width:min(26dvh,125px);margin:5px auto 8px}
 .orb-outer{inset:-16px}.voice-orb::after{inset:-8px}
 #voiceTip{font-size:12px}#voiceState{font-size:16px}
 #utilityDialog[data-view="voice"] .voice-row{min-height:49px;padding:4px 10px}
 .assistant-toolbar{min-height:41px;padding-block:3px}
}
@media(prefers-reduced-motion:reduce){.voice-orb,.voice-orb::before,.voice-orb::after,.orb-outer{animation:none!important;transform:none!important}}
/* Align the text itself with the orb, independently of side controls. */
#utilityDialog[data-view="voice"] .utility-head{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:5px;padding:6px 12px}
#utilityDialog[data-view="voice"] .assistant-identity{display:contents}
#utilityDialog[data-view="voice"] .dialog-close{position:static;transform:none;justify-self:center}
#utilityDialog[data-view="voice"] .assistant-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px}
#utilityDialog[data-view="voice"] #assistantMode{grid-column:2;text-align:center;overflow-wrap:anywhere}
#utilityDialog[data-view="voice"] .assistant-toolbar-actions{grid-column:3;justify-self:end}
.assistant-toolbar-actions{display:flex;align-items:center;gap:5px}
#utilityDialog[data-view="voice"] .assistant-scene{container-type:size}
#voiceStage{width:100%;box-sizing:border-box;scrollbar-gutter:stable both-edges;overflow-x:hidden;padding:12px 10px;gap:8px}
#voiceStage .voice-orb{width:clamp(74px,min(37vw,41cqh),218px);margin:clamp(6px,2cqh,16px) auto}
#voiceStage :is(h3,p){text-align:center;text-wrap:balance;overflow-wrap:anywhere}
#voiceStage #voiceLive{display:block;position:relative;margin-inline:auto}
#voiceLive i{position:absolute;right:calc(100% + 6px);top:50%;transform:translateY(-50%)}
#utilityDialog[data-view="voice"] .voice-row{display:grid;justify-content:center;justify-items:center;gap:5px;padding:7px 10px;min-height:52px}
#utilityDialog[data-view="voice"] #chatMic{justify-self:center;max-width:100%}
#voiceRepair{justify-self:center;max-width:100%;text-align:center}
@media(max-width:435px){#utilityDialog[data-view="voice"] .assistant-toolbar{grid-template-columns:1fr;justify-items:center;row-gap:3px;padding:4px 10px}#utilityDialog[data-view="voice"] :is(#assistantMode,.assistant-toolbar-actions){grid-column:1;justify-self:center}}
@media(max-height:500px){#utilityDialog[data-view="voice"] .utility-head{min-height:40px}#utilityDialog[data-view="voice"] .assistant-toolbar{min-height:32px}#voiceStage .voice-orb{width:clamp(45px,27cqh,90px);margin:2px auto}#voiceStage{gap:4px;padding-block:6px}}

@media(min-height:501px){#voiceStage .voice-orb{margin-block-end:clamp(18px,4cqh,28px)}}
