@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Sans:wght@600;700;800&display=swap");:root{--red:#dc030e;--red-dark:#b50009;--orange:#f18700;--text:#111827;--text-secondary:#374151;--muted:#6b7280;--light:#9ca3af;--border:#e5e7eb;--border-light:#f3f4f6;--bg:#fff;--bg-chat:#f8f9fb;--bg-outer:#eef0f4}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{height:100%;background:var(--bg-outer);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);overflow:hidden;text-rendering:optimizeLegibility}.demo-banner{background:var(--orange);padding:7px 16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;color:#fff;flex-shrink:0}.app-container{display:flex;flex-direction:column;height:100dvh;max-width:520px;margin:0 auto;background:var(--bg);position:relative;box-shadow:0 0 0 1px rgba(0,0,0,.08),0 8px 40px rgba(0,0,0,.08),0 2px 12px rgba(0,0,0,.04)}@media (max-width:520px){.app-container{box-shadow:none}}.app-header{background:var(--bg);border-bottom:1px solid var(--border);padding:14px 20px;flex-shrink:0}.header-inner{gap:12px}.header-avatar,.header-inner{display:flex;align-items:center}.header-avatar{position:relative;width:40px;height:40px;border-radius:12px;background:var(--bg);border:1px solid var(--border);justify-content:center;padding:4px;flex-shrink:0}.header-avatar img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.presence-dot{position:absolute;bottom:-2px;right:-2px;width:11px;height:11px;border-radius:50%;background:#16a34a;border:2px solid var(--bg)}.header-info{flex:1;min-width:0}.header-info h1{font-size:16px;font-weight:700;font-family:IBM Plex Sans,sans-serif;color:var(--text);line-height:1.2}.header-info p{font-size:11px;color:var(--muted);font-weight:500;margin-top:1px}.provider-chip{display:inline-block;margin-left:7px;font-family:Inter,sans-serif;font-size:10px;font-weight:600;color:var(--muted);background:var(--border-light);padding:2px 8px;border-radius:100px;vertical-align:middle;letter-spacing:.2px}.header-right{gap:10px;margin-left:auto}.header-logos,.header-right{display:flex;align-items:center;flex-shrink:0}.header-logos{gap:2px;opacity:.5;padding-right:10px;border-right:1px solid var(--border)}.header-logos img{height:22px;width:auto;-o-object-fit:contain;object-fit:contain}.reset-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:var(--muted)}.reset-btn i{font-size:15px}.reset-btn:hover{border-color:var(--red);color:var(--red);background:#fef2f2}.status-pill{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;border:1px solid}.status-pill.demo{background:#fffbeb;border-color:#fde68a;color:#92400e}.status-pill.live{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-area{flex:1;overflow-y:auto;padding:20px 16px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent;background:linear-gradient(180deg,#fbfcfe,#f3f5f9)}.chat-area::-webkit-scrollbar{width:5px}.chat-area::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.welcome-section{text-align:center;padding:24px 8px 8px}.welcome-avatar{width:56px;height:56px;border-radius:16px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;padding:6px;margin:0 auto 14px;box-shadow:0 6px 22px rgba(220,3,14,.14),0 2px 8px rgba(0,0,0,.06)}.welcome-avatar img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.welcome-title{font-family:IBM Plex Sans,sans-serif;font-weight:700;font-size:20px;color:var(--text);margin-bottom:6px}.welcome-title .accent{color:var(--red)}.welcome-sub{font-size:13px;color:var(--muted);line-height:1.5;max-width:320px;margin:0 auto}.quick-section{padding:4px 0 8px}.quick-label{font-size:11px;color:var(--red);font-weight:600;font-family:IBM Plex Sans,sans-serif;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-btn{background:var(--bg);border:1px solid var(--border);color:var(--text);padding:14px;border-radius:12px;font-family:Inter,sans-serif;text-align:left;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;gap:8px;line-height:1.4}.quick-btn-title{font-size:13px;font-weight:600;color:var(--text)}.quick-btn-sub{font-size:12px;color:var(--muted);font-weight:400;line-height:1.4}.quick-icon{width:32px;height:32px;border-radius:8px;background:#fef2f2;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .25s}.quick-icon i{font-size:16px;color:var(--red);transition:color .25s}.quick-btn:hover{border-color:rgba(220,3,14,.2);background:#fef2f2;transform:translateY(-2px);box-shadow:0 4px 12px rgba(220,3,14,.08)}.quick-btn:hover .quick-icon{background:var(--red)}.quick-btn:hover .quick-icon i{color:#fff}.quick-btn:active{transform:translateY(0);transition-duration:.1s}.messages{display:flex;flex-direction:column;gap:12px}.msg-block{scroll-margin-top:16px}.message{display:flex;flex-direction:row;gap:10px;align-items:flex-end;animation:fadeUp .3s ease}.fb-row{display:flex;align-items:center;gap:6px;margin:5px 0 0 42px}.fb-label{font-size:11px}.fb-btn,.fb-label{color:var(--light)}.fb-btn{background:none;border:none;cursor:pointer;padding:3px;display:inline-flex;border-radius:5px;transition:color .15s,background .15s}.fb-btn:hover{color:var(--muted);background:var(--border-light)}.fb-btn i{font-size:13px}.fb-thanks{display:inline-block;font-size:11px;color:var(--muted);margin:5px 0 0 42px}.fb-thanks a{color:var(--red);text-decoration:underline;text-underline-offset:2px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.avatar{width:32px;height:32px;border-radius:10px;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;padding:4px}.avatar-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.avatar-user{padding:0;background:var(--border-light);color:var(--muted)}.avatar-user .avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:10px}.avatar-user-icon{font-size:14px}.bubble{max-width:80%;padding:12px 16px;border-radius:18px;font-size:14.5px;font-weight:400;line-height:1.6}.message.assistant .bubble{background:var(--bg);color:var(--text);border-bottom-left-radius:4px;border:1px solid var(--border);box-shadow:0 1px 3px rgba(0,0,0,.04)}.message.user .bubble{background:linear-gradient(135deg,var(--red) 0,#e8350e 100%);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 14px rgba(220,3,14,.28)}.bubble p{margin-bottom:8px}.bubble p:last-child{margin-bottom:0}.bubble strong{font-weight:600}.bubble ol,.bubble ul{margin:6px 0;padding-left:20px}.bubble li{margin-bottom:4px;font-size:14px}.bubble code{padding:1px 5px;border-radius:4px;font-size:13px}.bubble .source,.bubble code{background:var(--border-light)}.bubble .source{display:inline-flex;align-items:center;gap:6px;margin:8px 6px 0 0;padding:4px 10px;border:1px solid var(--border);border-radius:8px;font-size:11px;color:var(--muted);font-weight:500;vertical-align:top;line-height:1.4}.bubble .source i{font-size:10px;opacity:.75;flex-shrink:0}.bubble a{color:var(--red);text-decoration:underline;text-underline-offset:2px}.message.user .bubble a{color:#fff}.bubble.loading{display:flex;gap:5px;align-items:center;padding:14px 18px}.bubble.loading span{width:6px;height:6px;border-radius:50%;background:var(--light);animation:bounce 1.2s infinite}.bubble.loading span:nth-child(2){animation-delay:.2s}.bubble.loading span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.input-area{background:var(--bg);border-top:1px solid var(--border);padding:12px 16px max(16px,env(safe-area-inset-bottom));flex-shrink:0;box-shadow:0 -6px 20px rgba(0,0,0,.03)}.input-inner{display:flex;gap:10px;align-items:flex-end}.chat-input{flex:1;background:var(--bg-chat);border:1.5px solid var(--border);border-radius:14px;padding:12px 16px;color:var(--text);font-family:Inter,sans-serif;font-size:15px;font-weight:400;resize:none;outline:none;transition:border-color .2s,box-shadow .2s;line-height:1.4;min-height:46px;max-height:120px}.chat-input::-moz-placeholder{color:var(--light)}.chat-input::placeholder{color:var(--light)}.chat-input:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(220,3,14,.13)}.message.assistant .bubble.is-streaming:after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:text-bottom;background:var(--red);border-radius:1px;animation:blinkCursor 1s steps(1) infinite}@keyframes blinkCursor{50%{opacity:0}}.send-btn{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,var(--red) 0,#e8350e 100%);border:none;color:#fff;box-shadow:0 4px 12px rgba(220,3,14,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:transform .18s cubic-bezier(.34,1.45,.7,1),box-shadow .18s ease,background .15s ease}.send-btn i{color:#fff;font-size:16px;transition:transform .18s cubic-bezier(.34,1.45,.7,1)}.send-btn:hover:not(:disabled){background:var(--red-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(220,3,14,.34)}.send-btn:active:not(:disabled){transform:scale(.9);box-shadow:0 1px 4px rgba(220,3,14,.32);transition-duration:.07s}.send-btn:active:not(:disabled) i{transform:scale(.92);transition-duration:.07s}.send-btn:disabled{opacity:.3;cursor:not-allowed}.footer-note{text-align:center;font-size:10px;color:var(--light);font-weight:400;margin-top:8px}