.os-ai-voice{
  display:inline-grid!important;place-items:center;min-width:36px!important;width:36px!important;height:36px!important;
  border:1px solid rgba(112,208,235,.18)!important;background:rgba(28,60,78,.38)!important;color:#b9f5ff!important;
  border-radius:50%!important;padding:0!important;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.os-ai-voice:hover{transform:translateY(-1px) scale(1.04);background:rgba(35,86,104,.58)!important;border-color:rgba(117,225,247,.34)!important;box-shadow:0 0 18px rgba(81,206,232,.13)}
.os-ai-voice svg{width:18px;height:18px}
.os-ai-live-stage{
  position:absolute;inset:0;z-index:45;display:flex;flex-direction:column;overflow:hidden;
  opacity:0;visibility:hidden;pointer-events:none;transform:scale(.992);
  background:
    radial-gradient(80% 58% at 50% 38%,rgba(37,129,151,.22),transparent 68%),
    radial-gradient(52% 38% at 50% 44%,rgba(89,111,223,.13),transparent 74%),
    linear-gradient(180deg,rgba(4,13,22,.985),rgba(3,8,14,.995));
  backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
}
.os-ai-live-stage.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.yz-live-top{display:flex;align-items:center;gap:10px;padding:12px 12px 8px;min-height:56px}
.yz-live-top button{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.055);color:#e9f7fb;font-size:22px;padding:0}
.yz-live-title{display:flex;flex-direction:column;gap:2px;min-width:0}
.yz-live-title strong{font-size:14px;letter-spacing:-.2px;color:#effcff}
.yz-live-title small{font-size:10px;color:#7f9ba7}
.yz-live-badge{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;border:1px solid rgba(92,226,232,.18);background:rgba(38,118,127,.14);color:#9cf6f3;font-size:10px}
.yz-live-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:#6ff2ec;box-shadow:0 0 12px #6ff2ec}
.yz-live-center{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:0;padding:8px 24px 18px;text-align:center}
.yz-live-orb{
  --live-level:.05;position:relative;width:min(52vw,205px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;
  background:
    radial-gradient(circle at 38% 32%,rgba(205,252,255,.82),rgba(112,226,236,.28) 19%,rgba(70,117,220,.23) 42%,rgba(13,32,52,.12) 67%,transparent 72%);
  box-shadow:0 0 calc(36px + var(--live-level)*58px) rgba(80,211,231,.18),inset 0 0 46px rgba(125,233,243,.1);
  transform:scale(calc(.96 + var(--live-level)*.06));
  transition:transform .08s linear,box-shadow .12s ease;
}
.yz-live-orb::before,.yz-live-orb::after{content:'';position:absolute;border-radius:50%;inset:9%;border:1px solid rgba(148,238,245,.16);animation:yzLiveSpin 11s linear infinite}
.yz-live-orb::after{inset:19%;border-color:rgba(142,164,255,.16);animation-duration:8s;animation-direction:reverse}
.yz-live-orb.speaking{filter:saturate(1.18)}
@keyframes yzLiveSpin{to{transform:rotate(360deg)}}
.yz-live-wave{height:52px;display:flex;align-items:center;justify-content:center;gap:4px;position:relative;z-index:2}
.yz-live-wave i{display:block;width:4px;height:35px;border-radius:6px;background:linear-gradient(#d6fdff,#6ddfe9);transform:scaleY(.22);transform-origin:center;transition:transform .08s linear;opacity:.9}
.yz-live-wave i:nth-child(2n){height:27px}.yz-live-wave i:nth-child(3n){height:42px}
.yz-live-status{margin:24px 0 4px;font-size:20px;line-height:1.2;letter-spacing:-.45px;color:#eefcff}
.yz-live-sub{min-height:18px;margin:0;font-size:11px;line-height:1.45;color:#84a3ad}
.yz-live-transcripts{width:100%;max-width:390px;margin-top:22px;display:grid;gap:7px;text-align:left}
.yz-live-caption{padding:9px 11px;border-radius:12px;border:1px solid rgba(255,255,255,.055);background:rgba(255,255,255,.026);min-height:44px}
.yz-live-caption span{display:block;margin-bottom:3px;font-size:8px;letter-spacing:1.1px;text-transform:uppercase;color:#64838e}
.yz-live-caption p{margin:0;color:#cfe1e6;font-size:12px;line-height:1.5;display:block;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.yz-live-controls{display:flex;justify-content:center;align-items:center;gap:18px;padding:10px 18px max(18px,env(safe-area-inset-bottom,0px))}
.yz-live-control{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);color:#effcff;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:transform .18s ease,background .18s ease}
.yz-live-control:hover{transform:translateY(-2px)}.yz-live-control span{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.yz-live-control svg{width:22px;height:22px}.yz-live-control.active{background:rgba(203,151,64,.14);color:#ffd596;border-color:rgba(255,200,107,.24)}
.yz-live-end{width:62px;height:62px;background:#d95861!important;border-color:#e8767f!important;color:white!important;box-shadow:0 12px 28px rgba(157,42,51,.26)}
.yz-live-end svg{width:25px;height:25px}
.os-ai-live-stage[data-state="error"] .yz-live-status{color:#ffb2bb}.os-ai-live-stage[data-state="warning"] .yz-live-status{color:#ffd69a}
.os-ai-live-stage[data-state="connecting"] .yz-live-badge::before,.os-ai-live-stage[data-state="reconnecting"] .yz-live-badge::before{animation:yzLivePulse 1s ease-in-out infinite}
@keyframes yzLivePulse{50%{opacity:.3;transform:scale(.72)}}
@media(max-width:720px){
  .os-ai-voice{width:40px!important;height:40px!important;min-width:40px!important}
  .yz-live-top{padding:calc(6px + env(safe-area-inset-top,0px)) 11px 6px}
  .yz-live-center{padding:4px 20px 8px;justify-content:flex-start;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .yz-live-orb{width:min(48vw,190px);flex:0 0 auto;margin-top:clamp(18px,5vh,52px)}
  .yz-live-status{font-size:19px;margin-top:20px}
  .yz-live-transcripts{margin-top:18px;flex:0 0 auto;padding-bottom:8px}
  .yz-live-caption{padding:8px 10px}
  .yz-live-controls{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
}
@media(prefers-reduced-motion:reduce){.yz-live-orb::before,.yz-live-orb::after,.yz-live-badge::before{animation:none!important}.os-ai-live-stage,.os-ai-voice,.yz-live-control{transition:none!important}}

/* YuZora AI Live model + reasoning controls */
.yz-live-options{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(130px,.65fr);gap:8px;
  padding:0 12px 6px;
}
.yz-live-options label{display:grid;gap:4px;min-width:0}
.yz-live-options label>span{font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#6f8d99;padding-left:2px}
.yz-live-options select{
  width:100%;min-width:0;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);color:#dff5f8;padding:0 9px;font:11px/1.2 var(--yz-font);
  outline:none;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.yz-live-options select:hover,.yz-live-options select:focus{border-color:rgba(112,223,235,.27);background:rgba(255,255,255,.065);box-shadow:0 0 0 3px rgba(80,203,220,.06)}
.yz-live-options select:disabled{opacity:.58;cursor:not-allowed}
.yz-live-model-note{margin:0 14px 4px;color:#76949f;font-size:9px;line-height:1.45;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.os-ai-live-stage[data-state="thinking"] .yz-live-orb{filter:saturate(1.15);animation:yzLiveThink 1.7s ease-in-out infinite}
@keyframes yzLiveThink{50%{transform:scale(calc(.985 + var(--live-level)*.04));opacity:.88}}
@media(max-width:720px){
  .yz-live-options{grid-template-columns:minmax(0,1.2fr) minmax(112px,.8fr);padding:0 10px 5px;gap:6px}
  .yz-live-options select{height:32px;font-size:10px;padding:0 7px}
  .yz-live-model-note{margin:0 12px 2px;font-size:8px}
  .yz-live-center{padding-top:2px!important}
}

/* YuZora Voice persona / memory controls */
.yz-live-top-action{
  width:32px!important;height:32px!important;min-width:32px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;padding:0!important;font-size:13px!important;
  background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.07)!important;color:#cfeef3!important;
}
.yz-live-profile-strip{
  display:flex;gap:6px;align-items:center;padding:0 12px 6px;overflow:auto;scrollbar-width:none;
}
.yz-live-profile-strip::-webkit-scrollbar{display:none}
.yz-live-profile-strip button{
  flex:0 0 auto;max-width:68%;min-height:28px;padding:5px 9px;border-radius:999px;
  border:1px solid rgba(110,205,229,.12);background:rgba(23,57,72,.28);color:#9fc8d2;
  font:9px/1.2 var(--yz-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.yz-live-profile-strip button:last-child{max-width:42%;color:#9cebd8;border-color:rgba(90,225,189,.13);background:rgba(24,73,63,.22)}
.yz-live-sheet{
  position:absolute;inset:0;z-index:72;display:grid;align-items:end;background:rgba(0,5,10,.48);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.yz-live-sheet[hidden]{display:none!important}
.yz-live-sheet-card{
  width:min(100%,620px);max-height:min(82dvh,760px);margin:0 auto;padding:14px;
  border:1px solid rgba(130,210,228,.13);border-radius:18px 18px 0 0;
  background:linear-gradient(180deg,rgba(11,29,40,.985),rgba(5,16,25,.995));
  box-shadow:0 -18px 60px rgba(0,0,0,.35);overflow:auto;overscroll-behavior:contain;
}
.yz-live-sheet-card>header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.yz-live-sheet-card>header>div{display:grid;gap:2px;min-width:0}
.yz-live-sheet-card>header strong{font-size:15px;color:#edfafd}
.yz-live-sheet-card>header small{font-size:9px;color:#7795a0}
.yz-live-sheet-card>header button{
  margin-left:auto;width:32px;height:32px;border:1px solid rgba(255,255,255,.07);border-radius:50%;
  padding:0;background:rgba(255,255,255,.05);color:#dff4f6;font-size:20px;line-height:1;
}
.yz-live-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.yz-live-settings-grid label{display:grid;gap:4px;min-width:0}
.yz-live-settings-grid label>span{font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#7897a2}
.yz-live-settings-grid select{
  width:100%;min-width:0;height:38px;border:1px solid rgba(255,255,255,.09);border-radius:10px;
  background:rgba(255,255,255,.045);color:#e1f4f7;padding:0 9px;font:11px/1.2 var(--yz-font);
}
.yz-live-settings-grid option:disabled{color:#7c8388}
.yz-live-tool-toggle{
  margin-top:10px;padding:10px 11px;border-radius:12px;border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.027);display:flex;align-items:center;gap:10px;
}
.yz-live-tool-toggle>span{display:grid;gap:2px;min-width:0}
.yz-live-tool-toggle strong{font-size:11px;color:#d8edf0}
.yz-live-tool-toggle small{font-size:8.5px;line-height:1.4;color:#718d98}
.yz-live-tool-toggle input{margin-left:auto;width:18px;height:18px;accent-color:#49d7dc}
.yz-live-helper-note{margin:8px 2px 0;color:#7896a1;font-size:9px;line-height:1.45}
.yz-live-memory-open{
  width:100%;margin-top:10px;min-height:38px;border-radius:10px;border:1px solid rgba(110,205,229,.12);
  background:rgba(25,64,80,.34);color:#bceff5;font:10px/1.2 var(--yz-font)
}
.yz-live-memory-card{max-height:88dvh}
.yz-live-memory-search{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:10px}
.yz-live-memory-search input{
  min-width:0;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.22);color:#e5f5f7;padding:0 10px;font:11px/1.2 var(--yz-font)
}
.yz-live-memory-search button{
  min-width:72px;border-radius:10px;border:1px solid rgba(110,205,229,.12);
  background:rgba(25,64,80,.34);color:#c3f0f5;font:10px/1.2 var(--yz-font)
}
.yz-live-memory-content{display:grid;gap:8px;color:#c8dde1;font-size:10px;line-height:1.45}
.yz-live-memory-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.yz-live-memory-stat{padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:10px;background:rgba(255,255,255,.025)}
.yz-live-memory-stat span{display:block;color:#6f8c98;font-size:7.5px;text-transform:uppercase;letter-spacing:.8px}
.yz-live-memory-stat strong{display:block;margin-top:2px;color:#e4f4f7;font-size:13px}
.yz-live-memory-section{padding:9px 10px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.022)}
.yz-live-memory-section h4{margin:0 0 5px;color:#a7dce4;font-size:10px}
.yz-live-memory-section p{margin:0;color:#9eb4bb}
.yz-live-memory-record{padding:7px 0;border-top:1px solid rgba(255,255,255,.045)}
.yz-live-memory-record:first-of-type{border-top:0}
.yz-live-memory-record b{display:block;margin-bottom:2px;color:#88cbd5;font-size:8px;text-transform:uppercase;letter-spacing:.7px}
.yz-live-memory-record pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#b6c9ce;font:8.5px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}

@media(max-width:720px){
  .yz-live-top{gap:7px}
  .yz-live-top-action{width:30px!important;height:30px!important;min-width:30px!important}
  .yz-live-settings-grid{grid-template-columns:1fr}
  .yz-live-sheet-card{padding:12px 11px calc(14px + env(safe-area-inset-bottom,0px))}
  .yz-live-memory-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .yz-live-profile-strip{padding:0 10px 5px}
}

/* Live quota card */
.yz-live-quota-card{
  margin-top:9px;padding:9px 10px;border-radius:11px;border:1px solid rgba(235,190,96,.14);
  background:linear-gradient(180deg,rgba(66,50,20,.17),rgba(24,31,35,.16));
  display:flex;gap:8px;align-items:center;
}
.yz-live-quota-card>div{display:grid;gap:2px;min-width:0;flex:1}
.yz-live-quota-card span{font-size:7.5px;text-transform:uppercase;letter-spacing:.09em;color:#b1a47f}
.yz-live-quota-card strong{font-size:11px;line-height:1.3;color:#f0dfb3;overflow-wrap:anywhere}
.yz-live-quota-card small{font-size:8px;line-height:1.35;color:#918d7c;overflow-wrap:anywhere}
.yz-live-quota-card button{
  flex:0 0 auto;min-width:64px;min-height:32px;border-radius:9px;border:1px solid rgba(235,190,96,.14);
  background:rgba(235,190,96,.07);color:#ead6a4;font:9px/1.2 var(--yz-font)
}
.yz-live-quota-links{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:6px 2px 0;flex-wrap:wrap}
.yz-live-quota-links a{font-size:8.5px;color:#9dc4d4}
.yz-live-quota-links span{font-size:7.5px;color:#728790}

/* Optional external TTS preview controls; independent of the Gemini Live stream. */
.yz-live-tts-card{display:block!important;gap:9px!important}
.yz-live-tts-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.yz-live-tts-controls label{display:grid;gap:4px;min-width:0}
.yz-live-tts-controls label>span{font-size:9px;color:#83a7b0}
.yz-live-tts-controls input,.yz-live-tts-controls select{width:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(255,255,255,.055);color:#e8f8fb;padding:8px;font:inherit;font-size:12px}
.yz-live-tts-sample{grid-column:1/-1}
.yz-live-tts-controls button{border:1px solid rgba(110,220,230,.2);border-radius:9px;background:rgba(55,151,165,.15);color:#dffcff;padding:8px 10px}
.yz-live-tts-controls button:disabled{opacity:.45}
#osAiTtsStatus{display:block;margin-top:8px;color:#8eabb5;line-height:1.4}
@media(max-width:420px){.yz-live-tts-controls{grid-template-columns:1fr}.yz-live-tts-sample{grid-column:auto}}
