.sophia-root{all:revert;position:fixed;z-index:var(--sophia-z, 2147483600);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;color:#1a1a1a;--sophia-brand: #0F2546;--sophia-brand-accent: #1E3A6E;--sophia-brand-fg: #ffffff;--sophia-bg: #ffffff;--sophia-muted: #f3f4f6;--sophia-border: #e5e7eb;--sophia-text: #1a1a1a;--sophia-text-muted: #6b7280;--sophia-shadow: 0 24px 64px rgba(0,0,0,.16), 0 2px 8px rgba(0,0,0,.06)}.sophia-pos-bottom-right{right:24px;bottom:24px}.sophia-pos-bottom-left{left:24px;bottom:24px}.sophia-trigger{width:64px;height:64px;border-radius:50%;background:var(--sophia-brand);display:flex;align-items:center;justify-content:center;box-shadow:var(--sophia-shadow);cursor:pointer;border:none;padding:0;transition:transform .15s ease}.sophia-trigger:hover{transform:scale(1.05)}.sophia-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--sophia-brand) 40%,white);outline-offset:4px}.sophia-trigger-pulse{animation:sophia-pulse 2.4s ease-in-out infinite}@keyframes sophia-pulse{0%{box-shadow:var(--sophia-shadow),0 0 color-mix(in srgb,var(--sophia-brand) 50%,transparent)}70%{box-shadow:var(--sophia-shadow),0 0 0 14px color-mix(in srgb,var(--sophia-brand) 0%,transparent)}to{box-shadow:var(--sophia-shadow),0 0 color-mix(in srgb,var(--sophia-brand) 0%,transparent)}}.sophia-panel{width:380px;height:480px;max-height:60vh;min-height:380px;background:var(--sophia-bg);border-radius:16px;box-shadow:var(--sophia-shadow);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--sophia-border)}@media(max-width:640px){.sophia-panel{width:100vw;height:100vh;max-height:100vh;border-radius:0;inset:0;position:fixed}}.sophia-header{height:52px;flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:0 12px;background:var(--sophia-brand);color:var(--sophia-brand-fg)}.sophia-header-name{font-weight:600;flex:1}.sophia-header-status{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 2px #fff6}.sophia-header-close{background:transparent;border:0;color:var(--sophia-brand-fg);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center}.sophia-header-close:hover{background:#ffffff26}.sophia-messages{flex:1 1 auto;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;background:linear-gradient(180deg,#fafafa,#fff 40%)}.sophia-msg{display:flex;gap:8px}.sophia-msg-user{justify-content:flex-end}.sophia-msg-bubble{max-width:80%;padding:10px 14px;border-radius:16px;white-space:pre-wrap;word-wrap:break-word}.sophia-msg-user .sophia-msg-bubble{background:var(--sophia-brand);color:var(--sophia-brand-fg);border-bottom-right-radius:4px}.sophia-msg-assistant .sophia-msg-bubble{background:var(--sophia-muted);color:var(--sophia-text);border-bottom-left-radius:4px}.sophia-msg-cursor:after{content:"▊";margin-left:2px;animation:sophia-blink 1s steps(1) infinite;opacity:.6}@keyframes sophia-blink{50%{opacity:0}}.sophia-citation{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin:0 2px;border-radius:6px;background:color-mix(in srgb,var(--sophia-brand) 18%,transparent);color:color-mix(in srgb,var(--sophia-brand) 80%,black);font-size:11px;font-weight:600;text-decoration:none}.sophia-citation:hover{background:color-mix(in srgb,var(--sophia-brand) 28%,transparent)}.sophia-tool-call{font-size:12px;color:var(--sophia-text-muted);background:var(--sophia-muted);padding:6px 10px;border-radius:10px;display:inline-flex;align-items:center;gap:6px}.sophia-tool-call-spinner{width:8px;height:8px;border-radius:50%;background:var(--sophia-text-muted);animation:sophia-pulse-dot 1s ease-in-out infinite}@keyframes sophia-pulse-dot{50%{opacity:.3;transform:scale(.7)}}.sophia-input-row{flex:0 0 auto;border-top:1px solid var(--sophia-border);background:#fff;padding:10px}.sophia-voice-bar{display:flex;align-items:center;gap:8px;padding:0 0 8px}.sophia-voice-btn{background:transparent;border:1px solid var(--sophia-border);border-radius:999px;padding:4px 8px;cursor:pointer;font-size:12px;display:inline-flex;align-items:center;gap:4px}.sophia-voice-btn[aria-pressed=true]{background:color-mix(in srgb,var(--sophia-brand) 15%,transparent);border-color:var(--sophia-brand);color:var(--sophia-brand)}.sophia-voice-stop{background:#ef4444!important;color:#fff!important;border-color:#ef4444!important;animation:sophia-stop-pulse 1.2s ease-in-out infinite}@keyframes sophia-stop-pulse{50%{box-shadow:0 0 0 4px #ef444440}}.sophia-input-inner{display:flex;gap:8px;align-items:flex-end}.sophia-textarea{flex:1;min-height:38px;max-height:120px;padding:10px 12px;border:1px solid var(--sophia-border);border-radius:12px;font:inherit;background:#fff;color:var(--sophia-text);resize:none;outline:none}.sophia-textarea:focus{border-color:var(--sophia-brand)}.sophia-send-btn{width:38px;height:38px;border-radius:12px;border:0;background:var(--sophia-brand);color:var(--sophia-brand-fg);cursor:pointer;display:flex;align-items:center;justify-content:center}.sophia-send-btn:disabled{opacity:.4;cursor:not-allowed}.sophia-mic-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--sophia-border);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--sophia-text-muted)}.sophia-mic-btn[aria-pressed=true]{background:#ef4444;color:#fff;border-color:#ef4444;animation:sophia-mic-pulse 1s ease-in-out infinite}@keyframes sophia-mic-pulse{50%{box-shadow:0 0 0 6px #ef444440}}.sophia-footer{flex:0 0 auto;font-size:11px;color:var(--sophia-text-muted);padding:6px 12px;text-align:center;border-top:1px solid var(--sophia-border);background:#fafafa}.sophia-footer a{color:inherit;text-decoration:none}.sophia-footer a:hover{color:var(--sophia-brand)}.sophia-footer-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#34d399;margin-right:4px;vertical-align:middle}.sophia-avatar{display:inline-block;vertical-align:middle}.sophia-avatar-mouth{transition:transform 80ms ease,d 80ms ease;transform-origin:50% 70%}.sophia-avatar[data-state=speaking] .sophia-avatar-mouth{animation:sophia-mouth .28s ease-in-out infinite alternate}@keyframes sophia-mouth{0%{transform:scaleY(.6)}to{transform:scaleY(1.2)}}.sophia-avatar-eye{transition:transform .12s ease}.sophia-avatar[data-state=idle] .sophia-avatar-eye{animation:sophia-blink-eye 5s infinite}@keyframes sophia-blink-eye{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.sophia-avatar-thinking-dots{opacity:0;transition:opacity .12s ease}.sophia-avatar[data-state=thinking] .sophia-avatar-thinking-dots{opacity:1}.sophia-avatar[data-state=thinking] .sophia-avatar-thinking-dots circle{animation:sophia-think-dot 1.2s ease-in-out infinite}.sophia-avatar[data-state=thinking] .sophia-avatar-thinking-dots circle:nth-child(2){animation-delay:.2s}.sophia-avatar[data-state=thinking] .sophia-avatar-thinking-dots circle:nth-child(3){animation-delay:.4s}@keyframes sophia-think-dot{50%{opacity:.25}}.sophia-avatar-listening-ring{opacity:0;transition:opacity .15s ease}.sophia-avatar[data-state=listening] .sophia-avatar-listening-ring{opacity:1;animation:sophia-listen-ring 1.2s ease-in-out infinite}@keyframes sophia-listen-ring{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.06);opacity:1}}
