@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--bg-color:#09090b;--panel-bg:#121215;--border-color:#27272a;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent-color:#fff;--bubble-user:#27272a;--bubble-verity:#18181b;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);justify-content:center;align-items:center;height:100vh;padding:20px;display:flex;overflow:hidden}.assistant-widget{flex-direction:column;align-items:center;gap:24px;width:100%;max-width:440px;display:flex}.verity-face-container{justify-content:center;align-items:center;width:350px;height:350px;display:flex;position:relative}.verity-face{object-fit:cover;border:1px solid var(--border-color);background-color:var(--panel-bg);border-radius:50%;width:100%;height:100%;box-shadow:0 4px 10px #0006}.chat-box{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:24px;flex-direction:column;width:100%;height:250px;display:flex;overflow:hidden;box-shadow:0 10px 35px #00000080}.message-feed{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.message-feed::-webkit-scrollbar{width:5px}.message-feed::-webkit-scrollbar-track{background:0 0}.message-feed::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.message-feed::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.message-wrapper{width:100%;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideUp;display:flex}.message-wrapper.user{justify-content:flex-end}.message-wrapper.verity{justify-content:flex-start}.message-bubble{white-space:pre-wrap;word-break:break-word;border-radius:18px;max-width:85%;padding:10px 16px;font-size:.9rem;line-height:1.45}.message-wrapper.user .message-bubble{background-color:var(--bubble-user);color:var(--text-primary);border:1px solid #ffffff0d;border-bottom-right-radius:4px}.message-wrapper.verity .message-bubble{background-color:var(--bubble-verity);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px}.input-container{background-color:var(--bg-color);border-top:1px solid var(--border-color);padding:12px 16px}.input-form{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:20px;align-items:center;padding:4px 4px 4px 12px;transition:all .2s;display:flex}.input-form:focus-within{border-color:var(--text-muted)}.input-field{color:var(--text-primary);font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1;padding:6px 0;font-size:.9rem}.input-field::placeholder{color:var(--text-muted)}.submit-button{background-color:var(--accent-color);color:var(--bg-color);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:6px;transition:opacity .2s,transform .2s;display:flex}.submit-button:hover{opacity:.9;transform:scale(1.05)}.submit-button:active{transform:scale(.95)}.submit-button svg{fill:currentColor;width:14px;height:14px}.submit-button:disabled{background-color:var(--border-color);color:var(--text-muted);cursor:not-allowed;transform:none}.loading-container{flex-direction:column;align-items:center;gap:6px;padding:16px 16px 8px;display:flex}.loading-bar{background-color:var(--border-color);border-radius:2px;width:100%;height:4px;overflow:hidden}.loading-bar-fill{background-color:var(--accent-color);border-radius:2px;width:0%;height:100%;transition:width .3s}.loading-text{color:var(--text-muted);font-size:.75rem}.typing-bubble{background-color:var(--bubble-verity);border:1px solid var(--border-color);border-radius:18px 18px 18px 4px;align-items:center;gap:4px;padding:10px 16px;display:flex}.typing-dot{background-color:var(--text-secondary);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite both pulse}.typing-dot:first-child{animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}
