:root { --eba-accent: rgb(13, 148, 136); --eba-bg: #0b1220; --eba-chat-bg: #f8fafc; --eba-text: #0f172a; --eba-muted: #64748b; --eba-border: #e2e8f0; } * { box-sizing: border-box; } html, body { margin: 0; height: 100%; overflow: hidden; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; color: var(--eba-text); background: var(--eba-bg); } #eba-root { height: 100dvh; display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr; } .eba-avatar { position: relative; background: #020617; min-width: 0; min-height: 0; overflow: hidden; } #eba-avatar-stage { position: absolute; inset: 0; width: 100%; height: 100%; } #eba-avatar-stage canvas { display: block; width: 100%; height: 100%; } #eba-audio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; } #eba-audio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; } #eba-wave { display: none; position: absolute; inset: 0; width: 100%; height: 100%; } .eba-mode-wave #eba-video, .eba-mode-wave #eba-audio { display: none; } .eba-mode-wave #eba-wave { display: block; } .eba-mode-video #eba-wave { display: none; } #eba-avatar-status { position: absolute; left: 16px; bottom: 16px; padding: 6px 10px; border-radius: 999px; background: rgba(2, 6, 23, 0.7); color: #e2e8f0; font-size: 13px; } .eba-chat { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: var(--eba-chat-bg); border-left: 1px solid var(--eba-border); } .eba-chat-header { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--eba-border); background: #fff; } .eba-logo { width: 32px; height: 32px; object-fit: contain; } .eba-chat-title { font-weight: 700; font-size: 15px; } .eba-chat-sub { font-size: 12px; color: var(--eba-muted); } .eba-messages { flex: 1; overflow: auto; padding: 12px; display: flex; flex-direction: column; gap: 8px; } .eba-msg { max-width: 92%; padding: 8px 10px; border-radius: 12px; font-size: 14px; line-height: 1.4; white-space: pre-wrap; word-break: break-word; } .eba-msg.user { align-self: flex-end; background: var(--eba-accent); color: #fff; } .eba-msg.bot { align-self: flex-start; background: #fff; border: 1px solid var(--eba-border); } .eba-msg.bot strong { font-weight: 700; } .eba-cards { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; } .eba-card { border: 1px solid var(--eba-border); border-radius: 10px; padding: 8px; background: #fff; } .eba-card-title { font-weight: 650; } .eba-card-meta { font-size: 12px; color: var(--eba-muted); margin-top: 4px; } .eba-card a { color: var(--eba-accent); font-size: 13px; } .eba-card img { display: block; max-width: 100%; border-radius: 8px; margin-top: 6px; } .eba-feedback { display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 12px; color: var(--eba-muted); } .eba-feedback button { border: 1px solid var(--eba-border); background: #fff; border-radius: 8px; cursor: pointer; } .eba-chips { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 12px 8px; } .eba-chip { border: 1px solid var(--eba-border); background: #fff; border-radius: 999px; padding: 6px 10px; font-size: 12px; cursor: pointer; } .eba-error { color: #b91c1c; font-size: 13px; padding: 0 12px 8px; } .eba-form { display: flex; gap: 8px; padding: 10px 12px 12px; border-top: 1px solid var(--eba-border); background: #fff; } #eba-input { flex: 1; border: 1px solid var(--eba-border); border-radius: 10px; padding: 10px 12px; font: inherit; } #eba-send { border: 0; border-radius: 10px; padding: 10px 14px; background: var(--eba-accent); color: #fff; font-weight: 650; cursor: pointer; } #eba-send:disabled, #eba-input:disabled { opacity: 0.6; cursor: not-allowed; } .eba-start { position: fixed; inset: 0; z-index: 20; border: 0; background: rgba(2, 6, 23, 0.72); color: #fff; font-size: 22px; font-weight: 700; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; } .eba-start-hint { font-size: 14px; font-weight: 500; color: #cbd5e1; max-width: 28rem; } .eba-start[hidden] { display: none; } @media (max-width: 768px) { #eba-root { grid-template-columns: 1fr; grid-template-rows: 2fr 1fr; } .eba-chat { border-left: 0; border-top: 1px solid var(--eba-border); } }