:root{--bg: #f4f6fb;--card: #ffffff;--border: #e2e7f0;--text: #17203a;--muted: #61708b;--accent: #1f6feb;--accent-dark: #1a5fd0;--user-bubble: #1f6feb;--user-text: #ffffff;--error: #b3261e;--refused: #f6f8fc;--radius: 16px;--shadow: 0 6px 24px rgba(23, 32, 58, .07)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{height:100%;height:100dvh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;padding:0 12px}.header{padding:16px 4px 12px}.header__title{margin:0;font-size:1.25rem;line-height:1.25;letter-spacing:-.01em}.header__subtitle{margin:6px 0 0;color:var(--muted);font-size:.875rem}.chat{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.chat__scroll{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px 14px 8px}.chat__list{display:flex;flex-direction:column;gap:12px;margin-top:auto}.row{display:flex}.row--user{justify-content:flex-end}.row--bot{justify-content:flex-start}.bubble{max-width:88%;padding:10px 14px;border-radius:18px;font-size:.95rem;word-wrap:break-word;overflow-wrap:anywhere}.bubble--bot{background:#fff;border:1px solid var(--border);border-bottom-left-radius:6px}.bubble--user{background:var(--user-bubble);color:var(--user-text);border-bottom-right-radius:6px}.bubble--refused{background:var(--refused);border-color:var(--border)}.bubble--error{background:#fdf3f2;border-color:#f3d4d1;color:var(--error)}.bubble__text{margin:0;white-space:pre-wrap}.sources{margin-top:10px;border-top:1px dashed var(--border);padding-top:8px;font-size:.8125rem;color:var(--muted)}.sources summary{cursor:pointer;color:var(--accent);font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px}.sources summary::-webkit-details-marker{display:none}.sources summary:before{content:"▸";transition:transform .15s ease}.sources[open] summary:before{transform:rotate(90deg)}.sources__count{background:#eaf1ff;color:var(--accent-dark);border-radius:999px;padding:0 7px;font-size:.75rem}.sources__list{margin:8px 0 0;padding:0 0 0 4px;list-style:none;display:flex;flex-direction:column;gap:6px}.sources__item{display:flex;flex-direction:column;gap:2px;padding-left:8px;border-left:2px solid #e6ecf7}.sources__file{font-weight:600;color:var(--text)}.sources__snippet{color:var(--muted);font-size:.78rem}.bubble--typing{display:flex;align-items:center;gap:5px;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;background:#b9c4d6;animation:pulse 1.2s infinite ease-in-out}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}.bubble__typing-label{margin-left:6px;font-size:.8125rem}@keyframes pulse{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.chat__composer{border-top:1px solid var(--border);padding:10px 12px 6px;background:#fbfcfe}.composer{display:flex;gap:8px;align-items:flex-end}.composer__input{flex:1;resize:none;min-height:44px;max-height:140px;padding:11px 14px;border:1px solid var(--border);border-radius:14px;font:inherit;font-size:1rem;color:var(--text);background:#fff}.composer__input:focus{outline:2px solid rgba(31,111,235,.35);outline-offset:1px;border-color:var(--accent)}.composer__send{border:0;border-radius:14px;padding:12px 16px;min-height:44px;font:inherit;font-weight:600;font-size:.95rem;color:#fff;background:var(--accent);cursor:pointer;transition:background .15s ease}.composer__send:hover:not(:disabled){background:var(--accent-dark)}.composer__send:disabled{background:#c4cddd;cursor:not-allowed}.disclaimer{padding:8px 14px calc(12px + env(safe-area-inset-bottom));font-size:.75rem;color:var(--muted);text-align:center;background:#fbfcfe}@media (max-width: 480px){.page{padding:0 8px}.header{padding:12px 2px 10px}.header__title{font-size:1.1rem}.chat{border-radius:14px}.bubble{max-width:94%;font-size:.9375rem}.composer__send{padding:12px}}@media (min-width: 761px){.page{padding:24px 16px}.header{padding:0 4px 14px}.header__title{font-size:1.5rem}}@media (prefers-reduced-motion: reduce){.dot{animation:none}}
