/* Optimized CSS for better performance */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:#fff;color:#000;line-height:1.7;font-size:18px}
.container{max-width:600px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}
.header{text-align:center;margin-bottom:10px}
.header-top{font-size:16px;font-weight:700;margin-bottom:10px; font-family: ui-serif, Georgia, "Times New Roman",  serif}
.main-headline{font-size:28px;font-weight:700;color:#000;line-height:1.4}
.highlight-date{color:#16A085;font-weight:700}
.sub-main-heading{color:#1ca400; font-weight: 700;}
.chat-container{flex:1;display:flex;flex-direction:column;margin-bottom:60px;min-height:60vh}
.online-status{text-align:center;margin-bottom:25px;font-size:18px;color:#444;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:500}
.status-dot{width:12px;height:12px;background:#16A085;border-radius:50%;animation:pulse 2s infinite;will-change:opacity}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
.chat-messages{flex:1;margin-bottom:20px;min-height:40vh;overflow-y:auto;max-height:calc(100vh - 200px)}
.message{margin-bottom:15px;display:flex;align-items:flex-start;gap:10px;opacity:0;animation:fadeInUp 0.5s ease forwards}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.message.user{flex-direction:row-reverse}
.avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:#e9ecef;display:flex;align-items:center;justify-content:center;font-size:16px}
.message.bot .avatar{background:#f8f9fa;border:2px solid #e9ecef}
.message.user .avatar{background:#6c757d;color:#fff}
.message-content{max-width:85%;padding:16px 20px;border-radius:20px;position:relative;word-wrap:break-word;font-size:17px;line-height:1.6}
.message.bot .message-content{background:#e3e8ef;color:#000;border-bottom-left-radius:6px}
.message.user .message-content{background:#0056b3;color:#fff;border-bottom-right-radius:6px}
.typing-indicator{display:flex;align-items:center;gap:10px;margin-bottom:15px}
.typing-dots{display:flex;gap:4px;padding:12px 16px;background:#f1f3f4;border-radius:18px;border-bottom-left-radius:4px}
.typing-dot{width:8px;height:8px;background:#999;border-radius:50%;animation:typing 1.4s infinite ease-in-out}
.typing-dot:nth-child(2){animation-delay:0.2s}
.typing-dot:nth-child(3){animation-delay:0.4s}
@keyframes typing{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-10px)}}
.chat-input{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.chat-input.hidden{display:none}
.button-message{margin-bottom:15px}
.button-container{display:flex;gap:10px;flex-wrap:wrap;background:#f1f3f4!important;padding:8px 12px!important}
.cta-message{margin-bottom:15px}
.cta-container{background:#f1f3f4!important;padding:8px 12px!important;text-align:center}
.reply-button{background:#007bff;color:#fff;border:none;padding:14px 24px;border-radius:18px;font-size:18px;font-weight:600;cursor:pointer;transition:all 0.3s ease;min-width:80px}
.reply-button:hover{background:#0056b3;transform:translateY(-2px)}
.reply-button.yes{background:#16A085}
.reply-button.yes:hover{background:#138D75}
.reply-button.no{background:#dc3545}
.reply-button.no:hover{background:#c82333}
.cta-button{background:#007bff;color:#fff;border:none;padding:18px 32px;border-radius:25px;font-size:20px;font-weight:700;cursor:pointer;transition:all 0.3s ease;width:100%;max-width:220px;margin:0;display:block}
.cta-button:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,123,255,0.3)}
.footer{margin-top:auto;text-align:center;font-size:14px;color:#444;line-height:1.5}
.footer-disclaimer{font-size:12px;text-align:justify;max-width:600px;margin:0 auto;line-height:1.4;color:#555}
@media (max-width:768px){.container{padding:15px}.main-headline{font-size:20px}.message-content{max-width:85%;padding:10px 14px;font-size:16px}.reply-button{padding:10px 20px;font-size:14px}.cta-button{padding:14px 28px;font-size:16px}.footer-disclaimer{font-size:10px}}
@media (max-width:480px){.main-headline{font-size:20px}.message-content{max-width:90%;padding:8px 12px;font-size:16px}.reply-button{padding:8px 16px;font-size:13px;min-width:60px}}
