/* Sophia talk-back conversation: mic button, live transcript, glass speech bubbles over the clip stage. Dense small-phone sizes: every control 24px or more. */
.sc-layer{position:absolute;left:0;right:0;top:0;bottom:0;z-index:3;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;padding:8px 10px 134px;gap:6px}
.sc-bubbles{display:flex;flex-direction:column;gap:6px;align-items:flex-start;max-height:46%;overflow:hidden;justify-content:flex-end;transition:opacity .35s}
.sc-bubbles.sc-out,.sc-you.sc-out{opacity:0}
.sc-card{max-width:92%;padding:8px 12px;border-radius:16px;font:500 15px/1.35 system-ui,sans-serif;color:#f4fbf7;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px) saturate(1.3);backdrop-filter:blur(14px) saturate(1.3);border:1px solid rgba(255,255,255,.28);box-shadow:0 6px 20px rgba(0,0,0,.35);animation:sc-rise .35s ease-out both;overflow-wrap:anywhere}
.sc-card.sc-old{opacity:.55}
.sc-card.sc-sys{align-self:center;text-align:center;font-size:14px;background:rgba(10,18,28,.55)}
.sc-you{align-self:flex-end;max-width:88%;min-height:24px;padding:6px 12px;border-radius:16px;font:500 15px/1.3 system-ui,sans-serif;color:#04210f;background:rgba(128,246,178,.55);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.4);transition:opacity .35s}
.sc-you[hidden]{display:none}
@keyframes sc-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.sc-dock{position:absolute;left:0;right:0;bottom:10px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}
.sc-mic{pointer-events:auto;width:60px;height:60px;min-width:60px;min-height:60px;padding:0;border-radius:50%;border:2px solid rgba(255,255,255,.55);background:rgba(10,18,28,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center}
.sc-mic[data-state="listening"]{background:#d6263a;border-color:#fff;animation:sc-pulse 1.2s infinite}
.sc-mic[data-state="thinking"]{background:#b7791f;border-color:#fff}
.sc-mic[data-state="speaking"]{background:#1cb555;border-color:#fff;color:#04210f}
@keyframes sc-pulse{0%,100%{box-shadow:0 0 0 0 rgba(214,38,58,.6)}50%{box-shadow:0 0 0 12px rgba(214,38,58,0)}}
.sc-label{pointer-events:none;font:700 13px/1.2 system-ui,sans-serif;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}
.sc-explain{pointer-events:none;max-width:320px;text-align:center;font:500 12px/1.3 system-ui,sans-serif;color:#dce8e1;text-shadow:0 1px 3px rgba(0,0,0,.8);padding:0 8px}
@media (prefers-reduced-motion:reduce){.sc-card{animation:none}.sc-mic[data-state="listening"]{animation:none}}
/* the older chat log makes room for the mic, and steps out of the way while a conversation is live (its lines are added to it afterwards) */
.so-stage[data-convo] .so-log{padding-bottom:134px}
.so-stage[data-convo]:not([data-convo="rest"]) .so-log{visibility:hidden}
