*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#faf9f6;--card:#fff;--text:#1a1a2e;--muted:#6b7280;
  --accent:#2563eb;--accent-light:#dbeafe;--border:#e5e7eb;
  --radius:12px;--shadow:0 1px 3px rgba(0,0,0,.08)
}
html,body{height:100%;font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}

#app{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto}

header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--card)}
.logo-area{display:flex;align-items:center;gap:12px}
.cross{font-size:2rem;color:var(--accent)}
h1{font-size:1.1rem;font-weight:600}
.logo-area p{font-size:.8rem;color:var(--muted)}

#chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}
#messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}

.message{max-width:85%;padding:12px 16px;border-radius:var(--radius);line-height:1.6;font-size:.95rem}
.message.user{align-self:flex-end;background:var(--accent);color:#fff;border-radius:var(--radius) var(--radius) 4px var(--radius)}
.message.ai{align-self:flex-start;background:var(--card);border:1px solid var(--border);border-radius:var(--radius) var(--radius) var(--radius) 4px}
.message.system{align-self:center;background:var(--accent-light);color:var(--text);text-align:center;max-width:95%;font-size:.88rem}
.message.sources{align-self:flex-start;background:#f0fdf4;color:#166534;font-size:.82rem;max-width:90%;padding:8px 14px}

.typing{color:var(--muted);font-style:italic}
.error{color:#dc2626}

#input-area{display:flex;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--card);align-items:flex-end}
#user-input{flex:1;border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-size:.95rem;resize:none;font-family:inherit;background:var(--bg);outline:none;transition:border .15s}
#user-input:focus{border-color:var(--accent)}
#send-btn{width:44px;height:44px;border:none;border-radius:50%;background:var(--accent);color:#fff;font-size:1.1rem;cursor:pointer;transition:opacity .15s;flex-shrink:0}
#send-btn:hover{opacity:.85}
#send-btn:disabled{opacity:.4;cursor:wait}

#disclaimer{text-align:center;font-size:.72rem;color:var(--muted);padding:8px}
#messages::-webkit-scrollbar{width:6px}
#messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

@media(max-width:600px){
  header{padding:12px 16px}
  .cross{font-size:1.5rem}
  h1{font-size:1rem}
  #messages{padding:12px}
  .message{max-width:92%;font-size:.9rem;padding:10px 14px}
  #input-area{padding:8px 12px}
}
