
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: #f6f7fb; color: #111827; }
.hero { min-height: 56vh; display: grid; place-items: center; padding: 56px 24px; background: radial-gradient(circle at top right, #dbeafe, transparent 40%), linear-gradient(135deg, #0f172a, #1d4ed8); color: white; }
.hero-content { max-width: 900px; }
.eyebrow { letter-spacing: .14em; text-transform: uppercase; color: #bfdbfe; }
h1 { font-size: clamp(38px, 6vw, 72px); margin: 8px 0; }
.hero p { font-size: 18px; line-height: 1.8; max-width: 760px; }
.chips { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.chips button, .chat-input button, .chat-open { border: 0; border-radius: 999px; padding: 10px 16px; cursor: pointer; font-weight: 700; }
.chips button { background: rgba(255,255,255,.14); color: white; border: 1px solid rgba(255,255,255,.25); }
.panel { max-width: 1000px; margin: 32px auto 120px; padding: 0 24px; }
pre { background: white; border: 1px solid #e5e7eb; border-radius: 16px; padding: 18px; overflow: auto; max-height: 340px; box-shadow: 0 10px 30px rgba(15,23,42,.08); }
.chat-widget { position: fixed; right: 24px; bottom: 24px; width: min(420px, calc(100vw - 32px)); height: 620px; max-height: calc(100vh - 48px); background: white; border-radius: 18px; box-shadow: 0 22px 70px rgba(15,23,42,.25); overflow: hidden; display: flex; flex-direction: column; }
.chat-header { background: #0526b8; color: white; padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; }
.chat-header small { display: block; opacity: .85; margin-top: 3px; }
.chat-header button { background: transparent; color: white; border: 0; font-size: 24px; cursor: pointer; }
.chat-body { flex: 1; padding: 16px; overflow-y: auto; background: #f8fafc; }
.bot, .user { padding: 12px 14px; border-radius: 14px; margin: 10px 0; line-height: 1.6; white-space: pre-wrap; }
.bot { background: white; border: 1px solid #e5e7eb; }
.user { background: #dbeafe; margin-left: 40px; }
.chat-input { display: flex; gap: 8px; padding: 14px; border-top: 1px solid #e5e7eb; }
.chat-input input { flex: 1; border: 1px solid #d1d5db; border-radius: 999px; padding: 12px 14px; }
.chat-input button { background: #6b7280; color: white; }
.chat-open { position: fixed; right: 24px; bottom: 24px; background: #0526b8; color: white; box-shadow: 0 12px 30px rgba(15,23,42,.25); }
.hidden { display: none; }
.sources { font-size: 12px; color: #475569; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; margin: 8px 0 14px; }
.sources small { display:block; color:#64748b; margin: 2px 0 6px; }
.sources span { display:block; margin-top:4px; }
