/* Голосовой разговор в окне диалога: кнопка микрофона, пояснение, запись. Цвета из переменных мира. */
.lc-mic{flex:none;width:44px;min-height:44px;display:grid;place-items:center;padding:0;font:inherit;color:var(--w-acc);background:var(--w-surf);border:1px solid var(--w-edge);border-radius:calc(var(--lc-radius) - 6px);cursor:pointer;transition:transform .16s cubic-bezier(.23,1,.32,1)}
.lc-mic:active{transform:scale(.97)}
.lc-mic:disabled{opacity:.5;cursor:not-allowed}
.lc-mic:focus-visible{outline:2px solid var(--w-acc);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.lc-mic:hover:not(:disabled){border-color:var(--w-acc)}}
.lc-micnote{margin:8px 0 0;font-size:13.5px;color:var(--w-ink2);line-height:1.4}
.lc-micask{margin:10px 0 0;padding:12px 14px;border:1px solid var(--w-line);border-radius:calc(var(--lc-radius) - 6px);background:var(--w-fill)}
.lc-micask p{margin:0 0 10px;font-size:14.5px;line-height:1.45;color:var(--w-ink)}
.lc-micrec{margin:10px 0 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--w-err);border-radius:calc(var(--lc-radius) - 6px);color:var(--w-ink)}
.lc-micrec .lc-btn{margin-left:auto}
.lc-recdot{width:12px;height:12px;border-radius:50%;background:var(--w-err);animation:lcRec 1.1s ease-in-out infinite}
@keyframes lcRec{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
@media (max-width:520px){.lc-mic{width:100%}.lc-micrec .lc-btn{width:auto}}
@media (prefers-reduced-motion:reduce){.lc-recdot{animation:none}.lc-mic{transition:none}}

/* Голосовой шар: главный элемент окна. Состояния на .lc-orbbox[data-st]: idle, off, listen, think, speak. Уровень голоса --lvl (0..1)
   задаёт скрипт: свой голос с микрофона и ответ менеджера с анализатора вывода. Цвета только из токенов мира. */
.lc-orbbox{--orb:92px;--lvl:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 18px;margin:0 0 14px;padding:14px 16px;border:1px solid var(--w-line2);border-radius:calc(var(--lc-radius) - 4px);background:linear-gradient(150deg,var(--w-acc-soft),var(--w-surf) 72%)}
.lc-orbbox.is-intro{--orb:116px;grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;margin-bottom:16px;padding:20px 14px}
.lc-orbbox.is-live{border-color:var(--w-acc)}
.lc-orbbox.is-demo{--orb:72px;padding:10px 12px;margin-bottom:10px}
.lc-orb-cap{display:grid;gap:4px;justify-items:start;min-width:0}
.is-intro .lc-orb-cap{justify-items:center}
.lc-orb-cap b{font-family:var(--w-f-display);font-size:18px;font-weight:600;line-height:1.2;color:var(--w-ink)}
.lc-orb-cap small{font-size:14px;line-height:1.4;color:var(--w-ink2);max-width:40ch;white-space:pre-line}
.lc-orb-cap small:empty{display:none}
.lc-orb-mute{font-size:13px;padding:2px 0;color:var(--w-ink2)}
.is-intro .lc-orb-mute{display:none}
.lc-orb-cap .lc-ghost{margin-top:6px}
.lc-orbbox .lc-micask,.lc-orbbox .lc-sr{grid-column:1/-1}
.lc-orb{position:relative;display:grid;place-items:center;width:var(--orb);height:var(--orb);padding:0;border:0;border-radius:50%;background:none;color:var(--w-on-acc);cursor:pointer;-webkit-tap-highlight-color:transparent;animation:lcOrbBreath 4.2s ease-in-out infinite}
.lc-orb:focus-visible{outline:3px solid var(--w-acc);outline-offset:6px}
.lc-orb-ball{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;border-radius:50%;
  background:radial-gradient(circle at 30% 23%,color-mix(in srgb,white 82%,transparent) 0,color-mix(in srgb,white 0%,transparent) 27%),
    radial-gradient(circle at 38% 32%,color-mix(in srgb,var(--w-acc) 50%,white) 0,var(--w-acc) 52%,color-mix(in srgb,var(--w-acc) 52%,black) 100%);
  box-shadow:inset -8px -12px 22px color-mix(in srgb,black 34%,transparent),inset 4px 6px 14px color-mix(in srgb,white 26%,transparent),0 16px 30px -12px color-mix(in srgb,var(--w-acc) 75%,transparent);
  transform:scale(calc(1 + var(--lvl) * .14));transition:transform .09s linear,filter .3s}
.lc-orb-sheen{position:absolute;inset:-30%;background:conic-gradient(from 0deg,transparent 0 52%,color-mix(in srgb,white 30%,transparent) 68%,transparent 84%);opacity:.75;animation:lcOrbSpin 16s linear infinite}
.lc-orb-arc{position:absolute;inset:7%;border-radius:50%;border:3px solid transparent;border-top-color:color-mix(in srgb,white 88%,transparent);opacity:0}
.lc-orb-ico{position:relative;display:grid;place-items:center;filter:drop-shadow(0 1px 2px color-mix(in srgb,black 35%,transparent))}
.lc-orb-ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--w-acc);opacity:0;pointer-events:none}
.lc-orbbox[data-st="listen"] .lc-orb-ring{animation:lcOrbRing 2.6s ease-out infinite}
.lc-orbbox[data-st="listen"] .lc-orb-ring.r2{animation-delay:1.3s}
.lc-orbbox[data-st="speak"] .lc-orb-ring{animation:lcOrbRing 1.7s ease-out infinite}
.lc-orbbox[data-st="speak"] .lc-orb-ring.r2{animation-delay:.85s}
.lc-orbbox[data-st="speak"] .lc-orb-ball{filter:brightness(1.08) saturate(1.1)}
.lc-orbbox[data-st="think"] .lc-orb-arc{opacity:1;animation:lcOrbSpin 1s linear infinite}
.lc-orbbox[data-st="think"] .lc-orb-sheen{animation-duration:6s}
.lc-orbbox[data-st="listen"] .lc-orb,.lc-orbbox[data-st="think"] .lc-orb,.lc-orbbox[data-st="speak"] .lc-orb{animation:none}
.lc-orbbox[data-st="off"] .lc-orb{animation:none}
.lc-orbbox[data-st="off"] .lc-orb-ball{filter:grayscale(.85) brightness(1.06)}
.lc-orbbox[data-st="off"] .lc-orb-sheen{animation:none}
@keyframes lcOrbSpin{to{transform:rotate(360deg)}}
@keyframes lcOrbBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes lcOrbRing{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.5);opacity:0}}
@media (hover:hover) and (pointer:fine){.lc-orb:hover .lc-orb-ball{filter:brightness(1.06)}.lc-orbbox[data-st="off"] .lc-orb:hover .lc-orb-ball{filter:grayscale(.85) brightness(1.06)}}
.lc-orb:active .lc-orb-ball{transform:scale(.96)}
.lc-dots{display:none;gap:4px}.lc-dots i{width:6px;height:6px;border-radius:50%;background:var(--w-acc);animation:lcDot 1s ease-in-out infinite}
.lc-dots i:nth-child(2){animation-delay:.15s}.lc-dots i:nth-child(3){animation-delay:.3s}
@keyframes lcDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@media (max-width:520px){.lc-orbbox{--orb:80px;gap:6px 14px;padding:12px}.lc-orbbox.is-intro{--orb:104px}.lc-orb-cap .lc-ghost{width:100%}.lc-orb-cap b{font-size:17px}}
@media (prefers-reduced-motion:reduce){.lc-orb,.lc-orb-sheen,.lc-orbbox[data-st] .lc-orb-ring,.lc-orbbox[data-st="think"] .lc-orb-arc,.lc-dots i{animation:none}.lc-orb-ball{transition:none}.lc-orbbox[data-st="listen"] .lc-orb-ring,.lc-orbbox[data-st="speak"] .lc-orb-ring{opacity:.4}}
