*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;background:#eef2f6;color:#2d2d2d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.top-banner{background:#005e9e;color:#fff;padding:.625rem 1.5rem;font-size:.8125rem;font-weight:500;letter-spacing:.01em;display:flex;align-items:center;gap:.5rem}.banner-link{color:#fff;text-decoration:none}.banner-link:hover{text-decoration:underline}.banner-divider{opacity:.5}.new-chat-btn{margin-left:auto;display:flex;align-items:center;gap:.375rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:.3125rem .75rem;font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s ease}.new-chat-btn:hover{background:#ffffff40}.new-chat-btn svg{width:14px;height:14px}.app{display:flex;flex-direction:column;height:100vh}.header{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem 1rem;text-align:center;max-width:900px;margin:0 auto;width:100%;transition:padding .3s ease}.header-logo{display:block;height:44px;width:auto;margin-bottom:.75rem}.header h1{font-size:1.5rem;font-weight:700;color:#1a1a1a;letter-spacing:-.02em;margin-bottom:.25rem}.header p{font-size:.95rem;color:#6e6e80;font-weight:400}.header p strong{color:#1a1a1a;font-weight:600}.header-compact{padding:1rem 1rem .75rem}.header-compact .header-logo{height:32px;margin-bottom:0}.header-compact h1,.header-compact p{display:none}.chat-container{display:flex;flex-direction:column;flex:1;min-height:0;padding:0 1.5rem 1rem;max-width:900px;margin:0 auto;width:100%}.messages{flex:1;overflow-y:auto;padding:1rem 0;margin-bottom:.5rem}.welcome-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:.25rem 0 .75rem}.welcome-card{background:#fff;border:1px solid #dde1e6;border-radius:12px;overflow:hidden}.welcome-card-header{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem}.welcome-card-divider{border-top:1px solid #e5e7eb}.welcome-icon{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0}.welcome-icon svg{width:18px;height:18px}.welcome-icon.examples{color:#005e9e}.welcome-icon.capabilities{color:#16a34a}.welcome-icon.limitations{color:#d97706}.welcome-card h3{font-size:.8125rem;font-weight:700;color:#1a1a1a;text-transform:uppercase;letter-spacing:.04em}.welcome-card ul{list-style:none;display:flex;flex-direction:column;gap:0}.welcome-card li{padding:.5rem .875rem;font-size:.8125rem;color:#4b5563;line-height:1.45;border-top:1px solid #e5e7eb}.message{margin-bottom:1.5rem}.message-label{font-size:.875rem;font-weight:600;margin-bottom:.5rem;color:#6e6e80;letter-spacing:-.01em}.message.user .message-label{color:#202123}.message-content{padding:1rem 1.25rem;border-radius:16px;line-height:1.7;word-wrap:break-word;font-size:1rem}.message.assistant .message-content p{margin-bottom:.75rem}.message.assistant .message-content p:last-child{margin-bottom:0}.message.assistant .message-content ol,.message.assistant .message-content ul{margin:.5rem 0;padding-left:1.5rem}.message.assistant .message-content li{margin-bottom:.4rem;padding:0;border:none;color:inherit;font-size:inherit}.message.assistant .message-content strong{font-weight:600}.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3{margin:.75rem 0 .5rem;font-size:1rem;font-weight:600}.message.assistant .message-content code{font-family:SF Mono,Consolas,Monaco,Courier New,monospace;font-size:.875em;background:#f0f0f0;color:#1a1a1a;padding:.125rem .375rem;border-radius:4px;font-weight:500;border:1px solid #e0e0e0}.message.user .message-content{white-space:pre-wrap;background:#f4f4f4;color:#2d2d2d;border:1px solid #e5e5e5}.message.assistant .message-content{background:#fff;border:1px solid #e5e5e5}.message.assistant .message-content a[href^="#ref-"]{color:#005e9e;text-decoration:none;font-weight:500;cursor:pointer}.message.assistant .message-content a[href^="#ref-"]:hover{text-decoration:underline}.sources{margin-top:1rem}.source-list{list-style:decimal;padding-left:1.5rem;margin:0}.source-list>li{margin-bottom:.5rem;padding:0;border:none;color:inherit;font-size:.875rem}.source-list>li::marker{font-weight:600;color:#6e6e80}.source-list>li.source-highlight .source-item{outline:2px solid #005e9e;outline-offset:2px;animation:highlight-fade 1.5s ease-out}@keyframes highlight-fade{0%{outline-color:#005e9e;background:#e8f0fe}to{outline-color:transparent;background:#f9f9f9}}.sources-divider{border-top:1px solid #e5e5e5;margin-bottom:.75rem}.sources-label{font-size:.75rem;font-weight:600;color:#6e6e80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.625rem}.source-item{background:#f9f9f9;border:1px solid #e5e5e5;border-radius:8px;font-size:.875rem}.source-item summary{padding:.625rem .875rem;cursor:pointer;color:#2d2d2d;font-weight:500;transition:background .15s ease;display:flex;align-items:center;gap:.5rem}.source-title{flex:1}.source-item summary:hover{background:#f4f4f4;border-radius:8px}.view-source-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;color:#005e9e;background:#005e9e14;border:1px solid rgba(0,94,158,.2);border-radius:4px;white-space:nowrap;cursor:pointer;font-family:inherit;transition:background .15s ease,border-color .15s ease;flex-shrink:0}.view-source-btn:hover{background:#005e9e26;border-color:#005e9e66}.view-source-btn svg{width:14px;height:14px;flex-shrink:0}.source-passages{padding:.625rem .875rem .75rem;border-top:1px solid #e5e5e5}.source-passages blockquote{color:#4b5563;line-height:1.6;padding:.5rem 0 .5rem .75rem;border-left:3px solid #d1d5db;margin:.5rem 0;font-size:.875rem}.doc-viewer-overlay{position:fixed;inset:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;animation:overlay-fade-in .15s ease}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.doc-viewer-modal{background:#fff;border-radius:12px;width:100%;max-width:1000px;height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:modal-slide-in .2s ease}@keyframes modal-slide-in{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.doc-viewer-header{display:flex;align-items:center;padding:.875rem 1.25rem;border-bottom:1px solid #e5e7eb;background:#f9fafb;gap:.75rem}.doc-viewer-title{flex:1;font-size:.875rem;font-weight:600;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-viewer-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.doc-viewer-download{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;color:#6e6e80;transition:background .15s ease,color .15s ease}.doc-viewer-download:hover{background:#f0f0f0;color:#005e9e}.doc-viewer-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:none;border-radius:6px;cursor:pointer;color:#6e6e80;transition:background .15s ease,color .15s ease}.doc-viewer-close:hover{background:#fee2e2;color:#dc2626}.doc-viewer-iframe{flex:1;border:none;width:100%}.loading-dots:after{content:"";animation:dots 1.5s steps(3) infinite}@keyframes dots{0%{content:""}33%{content:"."}66%{content:".."}to{content:"..."}}.input-wrapper{margin-top:auto}.input-area{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem 1.25rem;background:#fff;border:1px solid #d1d5db;border-radius:28px;box-shadow:0 1px 3px #0000000f;transition:border-color .2s ease,box-shadow .2s ease}.input-area:focus-within{border-color:#005e9e;box-shadow:0 0 0 2px #005e9e1f,0 2px 6px #0000000f}.input-area input{flex:1;border:none;outline:none;font-size:1rem;padding:.5rem 0;background:transparent;color:#2d2d2d;font-family:inherit}.input-area input::placeholder{color:#8e8ea0}.input-area button{display:flex;align-items:center;justify-content:center;background:#005e9e;color:#fff;border:none;border-radius:50%;width:40px;height:40px;flex-shrink:0;cursor:pointer;transition:background .15s ease}.input-area button svg{width:18px;height:18px}.input-area button:hover:not(:disabled){background:#004a7f}.input-area button:disabled{background:#d1d5db;cursor:not-allowed;color:#9ca3af}.disclaimer{text-align:center;font-size:.75rem;color:#9ca3af;margin-top:.5rem;padding-bottom:.5rem}.footer{text-align:center;padding:.75rem 1.5rem;font-size:.75rem;color:#6e6e80;border-top:1px solid #dde1e6;background:#fff}.footer p{margin-bottom:.25rem}.footer p:last-child{margin-bottom:0}.footer a{color:#005e9e;text-decoration:none}.footer a:hover{text-decoration:underline}@media(max-width:640px){.top-banner{padding:.5rem 1rem;font-size:.75rem}.header{padding:1.5rem 1rem 1rem}.header-logo{height:52px;margin-bottom:1rem}.header-compact .header-logo{height:28px}.header h1{font-size:1.375rem}.header p{font-size:.85rem}.chat-container{padding:0 1rem .75rem}.welcome-panel{grid-template-columns:1fr;gap:.75rem;padding:.25rem 0 1rem}.welcome-card-header{padding:.75rem .875rem}.welcome-card li{padding:.625rem .875rem;font-size:.8125rem}.input-area{padding:.375rem .375rem .375rem 1rem;border-radius:24px}.input-area input{font-size:.9375rem}.input-area button{width:36px;height:36px}.input-area button svg{width:16px;height:16px}.message-content{padding:.875rem 1rem;font-size:.9375rem}.doc-viewer-overlay{padding:0}.doc-viewer-modal{border-radius:0;height:100vh;max-width:100%}}
