.floating-contact #cywolfVoiceLaunch { display:flex; align-items:center; justify-content:center; gap:8px; width:auto !important; min-width:205px; height:64px !important; padding:5px 17px 5px 7px; border:1px solid #d8e7f5; border-radius:34px; background:#fff; color:#123c73; box-shadow:0 7px 30px #1c65a72b; cursor:pointer; font-family:inherit; }
#cywolfVoiceLaunch:hover { box-shadow:0 9px 32px #1c65a73c; }
#cywolfVoiceLaunch:focus-visible { outline:3px solid #0b63ff; outline-offset:4px; }
#cywolfVoiceLaunch .rv-launch-avatar { display:block; position:relative; width:51px; height:51px; flex-shrink:0; border-radius:50%; background:#edf7ff; border:1px solid #e5edf5; }
#cywolfVoiceLaunch .rv-launch-head { position:absolute; inset:0; background-position:100% 0; }
#cywolfVoiceLaunch .rv-launch-copy { text-align:left; }
#cywolfVoiceLaunch strong { display:block; font-size:12px; font-weight:700; line-height:1.3; }
#cywolfVoiceLaunch small { display:block; margin-top:2px; font-size:11px; color:#5d779b; line-height:1.3; }
#cywolfVoiceLaunch .rv-launch-dot { width:6px; height:6px; border-radius:50%; background:#0b63ff; margin-left:5px; }
#cywolfVoiceLaunch[data-state="Speaking"] .rv-launch-dot { animation:rv-light-breathe .8s ease-in-out infinite; }
.rv-sprite { background-image:url("cloud-droid-atlas.png"); background-size:200% 200%; background-repeat:no-repeat; }
.rv-eye { position:absolute; top:50%; width:11%; height:8%; border:3px solid #20bfff; border-bottom:0; border-radius:50% 50% 0 0; filter:drop-shadow(0 0 3px #18b6ff); animation:rv-robot-blink 5.2s linear infinite; }
.rv-eye-left { left:34%; }
.rv-eye-right { right:35%; }
#cywolfVoiceLaunch .rv-eye { border-width:1.2px; }
.cywolf-realtime { color-scheme:light; box-sizing:border-box; font-family:inherit; color:#162c49; background:#fff; position:fixed; inset:auto 24px 98px auto; margin:0; width:min(410px,calc(100vw - 24px)); max-width:410px; max-height:calc(100dvh - 124px); padding:0; border:1px solid #dce7f0; border-radius:25px; box-shadow:0 20px 70px #103f742b,0 3px 12px #0d35600c; overflow:auto; }
.cywolf-realtime::before { content:""; display:block; height:3px; background:linear-gradient(90deg,#d8af52 25%,#0b63ff 25%); }
.cywolf-realtime *, .cywolf-realtime *::before, .cywolf-realtime *::after { box-sizing:border-box; }
.cywolf-realtime::backdrop { background:#194b7910; }
.cywolf-realtime [hidden] { display:none !important; }
.cywolf-realtime .rv-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 17px 8px; }
.cywolf-realtime .rv-brand { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:800; letter-spacing:.025em; color:#164c86; }
.cywolf-realtime .rv-brand-mark { width:29px; height:32px; object-fit:contain; }
.cywolf-realtime .rv-brand em { color:#b98d36; font-style:normal; }
.cywolf-realtime button { font-family:inherit; cursor:pointer; color:#1a467c; border:1px solid #dbe6ef; background:#fff; min-height:44px; padding:10px 16px; border-radius:12px; font-size:12px; font-weight:650; transition:background .2s; }
.cywolf-realtime button:hover:enabled { background:#edf5ff; }
.cywolf-realtime button:disabled { cursor:default; opacity:.45; }
.cywolf-realtime button:focus-visible, .cywolf-realtime summary:focus-visible { outline:3px solid #176bdf; outline-offset:3px; }
.cywolf-realtime .rv-icon { min-width:40px; padding:3px; line-height:1; border:0; background:transparent; font-size:26px; color:#23486f; }
.cywolf-realtime .rv-content { padding:0 21px 16px; background:radial-gradient(ellipse at 50% 35%,#f2f9ff,#fff 64%); }
.cywolf-realtime h2 { margin:4px 0 7px; font-size:22px; line-height:1.25; font-weight:750; text-align:center; color:#102e57; }
.cywolf-realtime .rv-intro { margin:0; color:#5575a0; text-align:center; font-size:12px; line-height:1.5; }
.cywolf-realtime .rv-avatar { --voice-level:0; --mic-level:0; width:220px; height:225px; margin:6px auto 0; position:relative; }
.cywolf-realtime .rv-robot { width:220px; height:225px; position:relative; transform-origin:50% 45%; }
.cywolf-realtime .rv-robot-body { position:absolute; width:134px; height:134px; left:43px; top:98px; background-position:0 0; z-index:2; }
.cywolf-realtime .rv-robot-head { position:absolute; width:176px; height:176px; left:22px; top:-17px; background-position:100% 0; transform-origin:50% 84%; z-index:4; }
.cywolf-realtime .rv-robot-arm { position:absolute; width:112px; height:112px; top:112px; z-index:3; }
.cywolf-realtime .rv-arm-left { left:-15px; background-position:0 100%; transform-origin:80% 24%; }
.cywolf-realtime .rv-arm-right { left:123px; background-position:100% 100%; transform-origin:20% 24%; }
.cywolf-realtime .rv-mouth { position:absolute; left:44%; top:64%; width:10%; height:3px; border-radius:5px; background:#32baff; box-shadow:0 0 5px #27afff; }
.cywolf-realtime .rv-hover-light { position:absolute; left:41px; right:41px; bottom:1px; height:17px; border:1px solid #88dbfc; background:radial-gradient(ellipse,#6ed7fd8a,#c9f2ff40 55%,#fff0 75%); border-radius:50%; box-shadow:0 0 calc(12px + var(--voice-level) * 20px) #33b8fa52; }
.cywolf-realtime .rv-avatar[data-state="Listening"] .rv-robot { animation:rv-robot-hover 3.4s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Listening"] .rv-robot-head { animation:rv-listen-tilt 6s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Listening"] .rv-arm-right { animation:rv-listen-hand 6s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Listening"] .rv-hover-light { animation:rv-light-breathe 3.4s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Listening"] .rv-hover-light { box-shadow:0 0 calc(12px + var(--mic-level) * 35px) #33b8fa8c; }
.cywolf-realtime .rv-avatar[data-state="Thinking"] .rv-robot { animation:rv-think-hover 2.5s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Thinking"] .rv-robot-head { animation:rv-think-tilt 3s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Thinking"] .rv-arm-right { transform:rotate(-11deg); }
.cywolf-realtime .rv-avatar[data-state="Thinking"] .rv-hover-light { animation:rv-light-breathe 1.2s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Speaking"] .rv-robot { animation:rv-speak-bob 2s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Speaking"] .rv-arm-left { animation:rv-speak-left 2.2s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Speaking"] .rv-arm-right { animation:rv-speak-right 1.9s ease-in-out infinite; }
.cywolf-realtime .rv-avatar[data-state="Speaking"] .rv-mouth { height:calc(3px + var(--voice-level) * 10px); border-radius:50%; }
.cywolf-realtime .rv-avatar[data-state="Speaking"] .rv-robot-head { transform:rotate(calc(var(--voice-level) * 2deg)); }
.cywolf-realtime .rv-avatar[data-state="Paused"] .rv-robot, .cywolf-realtime .rv-avatar[data-state="Conversation ended"] .rv-robot { opacity:.7; }
.cywolf-realtime .rv-avatar[data-state="Paused"] *, .cywolf-realtime .rv-avatar[data-state="Conversation ended"] * { animation:none !important; }
.cywolf-realtime .rv-status { margin:5px 0; text-align:center; font-size:19px; font-weight:750; line-height:1.3; color:#132e53; }
.cywolf-realtime .rv-status::before { content:""; display:inline-block; width:7px; height:7px; margin-right:8px; margin-bottom:2px; border-radius:50%; background:#25ae75; }
.cywolf-realtime[data-state="Thinking"] .rv-status::before { background:#d0a447; }
.cywolf-realtime[data-state="Paused"] .rv-status::before { background:#91a2b7; }
.cywolf-realtime .rv-detail { margin:0 0 14px; color:#5c7799; font-size:12px; line-height:1.5; min-height:18px; text-align:center; }
.cywolf-realtime .rv-caption-card { background:#eef6ff; border:1px solid #dceafa; padding:12px 15px; border-radius:14px; }
.cywolf-realtime .rv-caption-label { color:#0d65dc; font-size:10px; font-weight:700; letter-spacing:.1em; }
.cywolf-realtime #rv-caption { color:#365778; margin:6px 0 0; font-size:13px; line-height:1.5; max-height:96px; overflow:auto; overflow-wrap:anywhere; }
.cywolf-realtime .rv-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:13px; }
.cywolf-realtime .rv-primary, .cywolf-realtime #rv-send { background:#0b63f3; color:#fff; border-color:#0b63f3; min-width:132px; }
.cywolf-realtime .rv-primary:hover:enabled, .cywolf-realtime #rv-send:hover:enabled { background:#0759dc; }
.cywolf-realtime #rv-send, .cywolf-realtime #rv-pause, .cywolf-realtime #rv-end { flex:1 1 90px; min-width:0; padding-inline:8px; }
.cywolf-realtime .rv-end { color:#ad424e; background:#fff; min-width:115px; }
.cywolf-realtime .rv-secondary { display:flex; justify-content:center; align-items:center; gap:8px; margin-top:8px; }
.cywolf-realtime .rv-secondary > span { display:none; }
.cywolf-realtime .rv-secondary button { flex:1; font-size:11px; padding:9px 5px; min-height:42px; background:#fff; }
.cywolf-realtime .rv-transcript { margin-top:8px; border-top:1px solid #e5edf5; padding-top:4px; font-size:11px; color:#527093; }
.cywolf-realtime summary { padding:9px 0; min-height:36px; cursor:pointer; text-align:center; }
.cywolf-realtime #rv-captions { max-height:170px; overflow:auto; overflow-wrap:anywhere; font-size:13px; line-height:1.6; }
.cywolf-realtime #rv-captions p { margin:0; padding:9px 0; border-bottom:1px solid #e5edf5; }
.cywolf-realtime pre { white-space:pre-wrap; font-size:10px; max-height:140px; overflow:auto; }
@keyframes rv-robot-hover { 50% { transform:translateY(-6px); } }
@keyframes rv-robot-blink { 91% { scale:1 1; } 94% { scale:1 .15; } 97% { scale:1 1; } }
@keyframes rv-listen-tilt { 35%,60% { transform:rotate(3deg); } }
@keyframes rv-listen-hand { 50% { transform:rotate(-5deg); } }
@keyframes rv-think-hover { 50% { transform:translateY(-3px); } }
@keyframes rv-think-tilt { 25%,65% { transform:rotate(-7deg); } }
@keyframes rv-light-breathe { 50% { opacity:.55; scale:.85; } }
@keyframes rv-speak-bob { 50% { transform:translateY(-3px); } }
@keyframes rv-speak-left { 30% { transform:rotate(7deg); } 70% { transform:rotate(-2deg); } }
@keyframes rv-speak-right { 30% { transform:rotate(-9deg); } 70% { transform:rotate(3deg); } }
@media(max-width:600px) { .cywolf-realtime { inset:auto 12px 90px; width:calc(100vw - 24px); max-width:none; max-height:calc(100dvh - 108px); border-radius:22px; } .cywolf-realtime .rv-content { padding:0 17px 13px; } .floating-contact #cywolfVoiceLaunch { min-width:192px; height:60px !important; padding-right:13px; } }
@media(max-height:800px) { .cywolf-realtime .rv-avatar { height:181px; margin-top:0; } .cywolf-realtime .rv-robot { scale:.8; transform-origin:50% 0; } .cywolf-realtime .rv-hover-light { bottom:0; left:58px; right:58px; } .cywolf-realtime .rv-header { padding-block:8px 5px; } .cywolf-realtime h2 { font-size:20px; } .cywolf-realtime .rv-detail { margin-bottom:10px; } }
@media(max-height:600px) { .cywolf-realtime { inset:10px 12px auto auto; max-height:calc(100dvh - 20px); } }
@media(prefers-reduced-motion:reduce) { .cywolf-realtime *, #cywolfVoiceLaunch * { animation:none !important; transition:none !important; } }

/* Saif portrait replaces the robot in the floating launcher. */
#cywolfVoiceLaunch .rv-launch-avatar { overflow:hidden; background:#eef7ff; border:1px solid #d8e7f5; box-shadow:0 3px 12px #1c65a71c; }
#cywolfVoiceLaunch .rv-launch-image { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 28%; transform:scale(1.45); transform-origin:50% 42%; }
#cywolfVoiceLaunch .rv-launch-head { display:none; }
