.chat-container{width:100%;max-width:var(--vb-max-width-chat);height:100%;margin:0 auto;display:flex;flex-direction:column;background:var(--vb-color-surface)}.chat-page{flex:1;display:flex;flex-direction:column;padding:var(--vb-space-4);background:var(--vb-gradient-hero)}.chat-page .chat-container{flex:1;border-radius:var(--vb-radius-lg);box-shadow:var(--vb-shadow-xl);overflow:hidden;max-height:80vh}.embed-body{background:var(--vb-gradient-hero);min-height:100vh}.embed-body .chat-container{height:100vh;height:100dvh;max-width:100%}@media(min-width:48rem){.embed-body .chat-container{max-width:var(--vb-max-width-chat);height:90vh;max-height:44rem;border-radius:var(--vb-radius-lg);margin:5vh auto;box-shadow:var(--vb-shadow-lg);overflow:hidden}}.chat-header{background:var(--vb-gradient-header);padding:var(--vb-space-4);display:flex;align-items:center;gap:var(--vb-space-4);flex-shrink:0}.chat-header-mascot{width:3.5rem;height:3.5rem;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.chat-header h1{color:var(--vb-color-text-inverse);font-size:var(--vb-font-size-xl);font-weight:var(--vb-font-weight-bold);margin:0}.chat-header p{color:rgba(255,255,255,.85);font-size:var(--vb-font-size-sm);margin:0}.chat-messages{flex:1;overflow-y:auto;padding:var(--vb-space-4);background:var(--vb-color-surface-alt);display:flex;flex-direction:column;gap:var(--vb-space-2)}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:rgba(128,49,167,.3);border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:rgba(128,49,167,.5)}.botText{display:flex;align-items:flex-start;gap:var(--vb-space-2);animation:slideInLeft var(--vb-motion-slow)var(--vb-motion-ease)}.botText .avatar{width:2.25rem;height:2.25rem;border-radius:var(--vb-radius-full);background:url(/assets/images/vote-e-mascot.png)50%/cover;flex-shrink:0;box-shadow:var(--vb-shadow-sm)}.botText .message{background:var(--vb-color-surface-chat);color:var(--vb-color-text);padding:var(--vb-space-2)var(--vb-space-4);border-radius:var(--vb-space-1)var(--vb-radius-bubble)var(--vb-radius-bubble)var(--vb-radius-bubble);max-width:75%;box-shadow:var(--vb-shadow-sm)}.userText{display:flex;justify-content:flex-end;animation:slideInRight var(--vb-motion-slow)var(--vb-motion-ease)}.userText .message{background:var(--vb-gradient-user-msg);color:var(--vb-color-text-inverse);padding:var(--vb-space-2)var(--vb-space-4);border-radius:var(--vb-radius-bubble)var(--vb-radius-bubble)var(--vb-space-1)var(--vb-radius-bubble);max-width:75%;box-shadow:var(--vb-shadow-sm)}.botText .message p{margin:0 0 var(--vb-space-2)}.botText .message p:last-child{margin-bottom:0}.botText .message a{color:var(--vb-color-text-link);font-weight:var(--vb-font-weight-medium);text-decoration:underline;text-underline-offset:2px;word-break:break-all;overflow-wrap:anywhere}.botText .message a:hover{text-decoration:none}.botText .message ul,.botText .message ol{padding-left:1.25rem;margin:var(--vb-space-2)0}.botText .message li{margin-bottom:var(--vb-space-1)}.botText .message strong{font-weight:var(--vb-font-weight-semibold)}.botText .message code{background:rgba(0,0,0,6%);padding:2px 6px;border-radius:4px;font-size:var(--vb-font-size-sm);font-family:var(--vb-font-mono)}.botText .message pre{background:rgba(0,0,0,6%);padding:var(--vb-space-2);border-radius:var(--vb-radius-sm);overflow-x:auto;margin:var(--vb-space-2)0}.botText .message pre code{background:0 0;padding:0}.typing-wrapper{display:none;align-items:flex-start;gap:var(--vb-space-2);padding:0 var(--vb-space-4)var(--vb-space-2)}.typing-wrapper.is-visible{display:flex}.typing-wrapper .avatar{width:2.25rem;height:2.25rem;border-radius:var(--vb-radius-full);background:url(/assets/images/vote-e-mascot.png)50%/cover;flex-shrink:0;box-shadow:var(--vb-shadow-sm)}.typing-indicator{display:flex;align-items:center;gap:4px;padding:var(--vb-space-2)var(--vb-space-4);background:var(--vb-color-surface-chat);border-radius:var(--vb-radius-bubble);box-shadow:var(--vb-shadow-sm)}.typing-indicator span{width:8px;height:8px;background:var(--vb-color-primary);border-radius:var(--vb-radius-full);animation:bounce 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}.chat-input{background:var(--vb-color-surface);padding:var(--vb-space-4);padding-bottom:max(var(--vb-space-4),env(safe-area-inset-bottom));border-top:1px solid var(--vb-color-border);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:center;gap:var(--vb-space-2);background:var(--vb-color-surface-alt);border-radius:var(--vb-radius-lg);padding:var(--vb-space-1);border:2px solid transparent;transition:border-color var(--vb-motion-fast)var(--vb-motion-ease),box-shadow var(--vb-motion-fast)var(--vb-motion-ease)}.chat-input-wrapper:focus-within{border-color:var(--vb-color-primary);box-shadow:0 0 0 3px rgba(128,49,167,.15)}.chat-input-field{flex:1;border:none;background:0 0;padding:var(--vb-space-2)var(--vb-space-4);font-size:var(--vb-font-size-base);font-family:inherit;color:var(--vb-color-text);min-height:var(--vb-min-tap-target)}.chat-input-field::placeholder{color:var(--vb-color-text-muted)}.chat-input-field:focus{outline:none}.chat-send-btn{background:var(--vb-gradient-cta);border:none;border-radius:var(--vb-radius-full);width:var(--vb-min-tap-target);height:var(--vb-min-tap-target);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--vb-motion-fast)var(--vb-motion-ease),box-shadow var(--vb-motion-fast)var(--vb-motion-ease)}.chat-send-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(201,169,3,.4)}.chat-send-btn:active{transform:scale(.95)}.chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.chat-send-btn svg{width:1.25rem;height:1.25rem}.error-message{background:var(--vb-color-error-bg);color:var(--vb-color-error);padding:var(--vb-space-2)var(--vb-space-4);border-radius:var(--vb-radius-bubble);max-width:75%;margin-left:calc(2.25rem + var(--vb-space-2));font-size:var(--vb-font-size-sm)}@keyframes slideInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes bounce{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.botText,.userText{animation:none}}