/* Neo voice: quiet chrome, one luminous orb, and a separate scrolling transcript. */
.window-content:has(>.neo-voice){overflow:hidden!important;padding:0!important;background:#f9fafc}
.neo-voice{--voice-ink:#22262e;--voice-muted:#727984;--voice-surface:#f9fafc;position:relative;isolation:isolate;display:grid;grid-template-rows:auto minmax(130px,1fr) minmax(65px,.65fr) auto;gap:12px;width:100%;height:100%!important;min-height:0;max-width:none;margin:0;padding:16px 22px 20px;overflow:hidden!important;color:var(--voice-ink);background:var(--voice-surface);text-align:center;font-family:system-ui,-apple-system,sans-serif}
.neo-voice::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;border-radius:inherit;opacity:0;box-shadow:inset 0 0 25px 3px #58caff60,inset 9px 0 30px -5px #9972f96b,inset -9px 0 30px -5px #43d5eb59;transition:opacity .7s ease}
.neo-voice.is-active::before{opacity:1;animation:neo-edge-breathe 4s ease-in-out infinite alternate}
.neo-voice[data-voice-phase=speaking]::before{animation-duration:1.7s;box-shadow:inset 0 0 28px 5px #53bbff80,inset 12px 0 40px -4px #9271ff6b,inset -12px 0 40px -4px #2edbcf60}
.neo-voice__header{display:flex;align-items:center;justify-content:space-between;min-height:30px;color:var(--voice-muted);font-size:13px;font-weight:550;letter-spacing:.02em}
.neo-voice button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.neo-voice__info-button,.neo-voice__clear{display:grid;place-items:center;width:30px;height:30px;min-width:30px;min-height:30px;padding:5px;border:0;border-radius:50%;color:var(--voice-muted);background:transparent;box-shadow:none}
.neo-voice__info-button:hover,.neo-voice__clear:hover{background:#8e9eb41a}
.neo-voice__info-button svg,.neo-voice__clear svg{width:18px;height:18px}
.neo-voice__info{position:absolute;top:53px;right:18px;left:18px;z-index:3;padding:16px 18px;border:1px solid #9aa7b53d;border-radius:15px;background:var(--voice-surface);box-shadow:0 10px 35px #1720331a;text-align:left;font-size:12px;line-height:1.6}
.neo-voice__info p{margin:6px 0 0;font:inherit;color:var(--voice-muted)}
.neo-voice__stage{display:flex;min-height:0;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:5px 0}
.neo-voice__orb{position:relative;flex:none;width:clamp(106px,19vh,200px);aspect-ratio:1;overflow:hidden;border-radius:50%;background:radial-gradient(ellipse at 32% 24%,#fff 0%,#e4f7ff 28%,#abdfff 49%,#53aff0 76%,#2785d2 100%);box-shadow:inset 0 0 22px 5px #ffffffa8,inset 0 -12px 26px #0e83d23d,0 8px 36px #6eaff018;transform:scale(.94);transition:transform .8s ease,box-shadow .8s ease}
.neo-voice__cloud{position:absolute;inset:-22%;border-radius:44%;background:radial-gradient(ellipse at 35% 32%,#fff 0 14%,#eafaffb0 26%,transparent 48%),radial-gradient(ellipse at 65% 72%,#4eb4f9 0 18%,#94ddffcc 33%,transparent 55%),radial-gradient(ellipse at 75% 25%,#b7d4ff 0 17%,transparent 49%);filter:blur(9px);transform:rotate(-18deg)}
.neo-voice__shine{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 38% 18%,#ffffffc9 0%,transparent 44%);box-shadow:inset 0 0 8px 2px #ffffff6b}
.is-active .neo-voice__orb{transform:scale(1);box-shadow:inset 0 0 22px 5px #ffffff99,inset 0 -12px 26px #0e83d23d,0 10px 44px #6eaff02e}
.is-active .neo-voice__cloud{animation:neo-cloud-drift 8s ease-in-out infinite alternate}
.neo-voice[data-voice-phase=speaking] .neo-voice__cloud{animation:neo-cloud-speak 3.2s ease-in-out infinite alternate}
.neo-voice__status{min-height:18px;font-size:12px;line-height:18px;color:var(--voice-muted)}
.neo-voice__conversation{display:flex;flex-direction:column;min-height:0;min-width:0;max-width:560px;width:100%;justify-self:center;text-align:left}
.neo-voice__transcript-heading{display:flex;justify-content:space-between;align-items:center;color:var(--voice-muted);font-size:10px;letter-spacing:.06em;text-transform:uppercase;min-height:26px;padding:0 4px}
.neo-voice__transcript-heading:has(+.neo-voice__transcript:not(:has(.neo-voice__turn)))>span{visibility:hidden}
.neo-voice__transcript{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8c3d466 transparent;padding:0 7px 8px 4px;-webkit-mask-image:linear-gradient(transparent,#000 7px,#000 calc(100% - 7px),transparent);mask-image:linear-gradient(transparent,#000 7px,#000 calc(100% - 7px),transparent)}
.neo-voice__turn{display:grid;gap:4px;margin:0 0 15px!important;font-size:14px;line-height:1.65;overflow-wrap:anywhere;color:var(--voice-ink)}
.neo-voice__turn strong{font-size:10px;font-weight:550;color:var(--voice-muted)}
.neo-voice__turn.is-you{color:var(--voice-muted)}
.neo-voice__interim{font-size:14px;line-height:1.65;color:var(--voice-muted);margin:0!important;overflow-wrap:anywhere}
.neo-voice__interim:empty{display:none}
.neo-voice__controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:7px 0 0}
.neo-voice__control{display:flex;align-items:center;justify-content:center;gap:9px;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #7f91aa22;border-radius:50%;color:var(--voice-ink);background:#e9edf3;box-shadow:none;transition:background .18s ease,transform .18s ease}
.neo-voice__control svg{width:20px;height:20px;flex-shrink:0}
.neo-voice__control:hover{background:#dce3ed}
.neo-voice__control:active{transform:scale(.94)}
.neo-voice__toggle{width:auto;min-width:100px;border-radius:30px;padding:0 20px;background:#22262e;color:#fff}
.neo-voice__toggle:hover{background:#39404b}
.neo-voice__toggle.is-end{min-width:48px;width:48px;padding:0;color:#fff;background:#242831}
.neo-voice__toggle.is-end span{display:none}
.neo-voice__toggle span{font-size:12px;font-weight:550}
.neo-voice__control.is-muted{background:#e0e7f0}
.neo-voice button:disabled{cursor:default;opacity:.35}
.neo-voice__error{grid-row:4;margin:0;font-size:12px;line-height:1.5;color:#b33b38;text-align:center}
.neo-voice:has(.neo-voice__error){grid-template-rows:auto minmax(100px,1fr) minmax(50px,.65fr) auto auto}
.neo-voice button:focus-visible,.neo-voice__transcript:focus-visible{outline:2px solid #66a8ef;outline-offset:3px}
[data-theme=dark] .neo-voice{--voice-ink:#f0f3f8;--voice-muted:#9ba5b5;--voice-surface:#141820}
[data-theme=dark] .neo-voice__control{color:#e8edf7;background:#2a303c;border-color:#7f91aa22}
[data-theme=dark] .neo-voice__toggle{color:#161a22;background:#f0f3f9}
[data-theme=dark] .neo-voice__control:hover{background:#394252}
[data-theme=dark] .neo-voice__toggle:hover{background:#d6e6fb}
[data-theme=dark] .neo-voice__error{color:#ffaca6}
@keyframes neo-edge-breathe{from{opacity:.45}to{opacity:1}}
@keyframes neo-cloud-drift{from{transform:translate(-3%,1%) rotate(-18deg) scale(1)}to{transform:translate(4%,-3%) rotate(30deg) scale(1.1)}}
@keyframes neo-cloud-speak{0%{transform:translate(-4%,2%) rotate(-25deg) scale(1)}50%{transform:translate(6%,-5%) rotate(35deg) scale(1.14)}100%{transform:translate(-2%,5%) rotate(65deg) scale(1.04)}}
@media(max-width:600px){.neo-voice{padding:12px 19px calc(16px + env(safe-area-inset-bottom,0px));gap:10px}.neo-voice__orb{width:clamp(125px,25vh,220px)}.neo-voice__turn,.neo-voice__interim{font-size:15px}.neo-voice__controls{gap:22px}}
@media(max-height:560px){.neo-voice{gap:5px;padding-top:8px;padding-bottom:12px;grid-template-rows:auto minmax(80px,1fr) minmax(45px,.6fr) auto}.neo-voice__orb{width:clamp(80px,22vh,130px)}.neo-voice__stage{gap:7px}.neo-voice__control{width:42px;height:42px;min-height:42px}.neo-voice__toggle{width:auto}.neo-voice__toggle.is-end{width:42px;min-width:42px}}
@media(prefers-reduced-motion:reduce){.neo-voice::before,.is-active .neo-voice__cloud,.neo-voice[data-voice-phase=speaking] .neo-voice__cloud{animation:none}.neo-voice::before,.neo-voice__orb,.neo-voice__control{transition:none}}
.neo-voice__clear:disabled{visibility:hidden}

.neo-voice__setting{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;color:var(--voice-muted);font-size:12px}.neo-voice__setting select{max-width:72%;min-height:32px;padding:5px 9px;border:1px solid #8999ae44;border-radius:8px;background:var(--voice-surface);color:var(--voice-ink);font:inherit}.neo-voice__info{max-height:calc(100% - 120px);overflow:auto}.neo-voice[data-voice-phase=preparing] .neo-voice__orb{opacity:.75}

