html{scroll-behavior:smooth}body{margin:0}#root{min-height:100dvh}:root{color:#eaf1fb;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#080f1e;font-family:Inter,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,textarea{font:inherit}button{cursor:pointer}.app-shell{background:radial-gradient(at 50% -25%,#0f75a729,#0000 55%),#080f1e;flex-direction:column;min-height:100dvh;display:flex}.topbar{background:#0a1120d9;border-bottom:1px solid #243147;justify-content:space-between;align-items:center;height:84px;padding:0 5%;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-icon{border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;display:flex;overflow:hidden}.brand-icon img{object-fit:cover;width:100%;height:100%}.welcome-icon{color:#68d8f8;background:linear-gradient(135deg,#15364d,#112038);border:1px solid #285b78;justify-content:center;align-items:center;display:flex}.brand-icon{border-radius:13px;width:44px;height:44px;font-size:25px}.brand h1{margin:0;font-size:18px;font-weight:700}.brand p{color:#90a2bc;margin:4px 0 0;font-size:12px}.new-chat-button{color:#dce8f7;background:#162337;border:1px solid #32445e;border-radius:10px;padding:11px 17px;transition:all .2s}.new-chat-button:hover{background:#223650;border-color:#3b83a6}.chat-area{flex-direction:column;flex:1;width:100%;max-width:950px;margin:0 auto;padding:40px 25px 20px;display:flex}.welcome{text-align:center;margin:auto 0;padding:30px 0 65px}.welcome-icon{border-radius:24px;width:76px;height:76px;margin:0 auto 28px;font-size:40px;box-shadow:0 0 50px #2d9acf17}.eyebrow{color:#65cbed;letter-spacing:1.8px;text-transform:uppercase;font-size:12px;font-weight:600}.welcome h2{color:#f2f7ff;letter-spacing:-1.5px;margin:13px 0;font-size:clamp(30px,5vw,48px);font-weight:750}.welcome>p{color:#a2b0c5;max-width:550px;margin:0 auto;font-size:15px;line-height:1.8}.starter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:720px;margin:40px auto 0;display:grid}.starter-card{color:#dce8f7;text-align:left;background:#121e30;border:1px solid #293b55;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:15px;min-height:92px;padding:21px;line-height:1.5;transition:all .2s;display:flex}.starter-card:hover:not(:disabled){background:#172940;border-color:#418cae;transform:translateY(-2px)}.starter-card:disabled{opacity:.55}.starter-arrow{color:#66d3f1;font-size:18px}.message-list{flex-direction:column;gap:32px;padding-bottom:20px;display:flex}.message-row{align-items:flex-start;gap:16px;display:flex}.message-row.user{flex-direction:row-reverse}.message-avatar{color:#6cd7f3;background:#193a53;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;font-size:21px;display:flex}.message-row.user .message-avatar{color:#cdd9ed;background:#26334b;font-size:13px}.message-content{min-width:0;max-width:85%}.message-row.user .message-content{text-align:right}.message-author{color:#92a6c2;margin:0 0 9px;font-size:12px;font-weight:600}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;color:#e4ecfa;font-size:15px;line-height:1.8}.message-row.user .message-text{text-align:left;background:#18314a;border:1px solid #284b68;border-radius:15px 4px 15px 15px;padding:13px 18px;display:inline-block}.message-row.assistant .message-text{padding:5px 0}.message-details{color:#8195b1;flex-wrap:wrap;align-items:center;gap:18px;margin-top:16px;font-size:11px;display:flex}.provider-label{background:#122439;border-radius:6px;padding:5px 9px}.sources summary{cursor:pointer;color:#67c9e7}.sources ul{margin:10px 0;padding-left:18px;line-height:1.8}.typing-indicator{gap:6px;padding:14px 0;display:flex}.typing-indicator span{background:#59c6e5;border-radius:50%;width:7px;height:7px;animation:1.2s infinite typing}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.composer-area{background:linear-gradient(#080f1e00,#080f1e 25%);padding:18px 25px 19px;position:sticky;bottom:0}.composer{background:#142237;border:1px solid #354861;border-radius:16px;align-items:center;gap:12px;max-width:900px;min-height:66px;margin:0 auto;padding:10px 12px 10px 20px;display:flex}.composer:focus-within{border-color:#3995b9}.composer textarea{resize:vertical;color:#edf4ff;background:0 0;border:none;outline:none;flex:1;height:28px;max-height:140px;padding:4px 0;font-size:14px;line-height:1.5}.composer textarea::placeholder{color:#8193ab}.send-button{color:#fff;background:#1186ae;border:none;border-radius:11px;flex-shrink:0;width:42px;height:42px;font-size:25px;transition:all .2s}.send-button:hover:not(:disabled){background:#149cc9}.send-button:disabled{opacity:.35;cursor:not-allowed}.disclaimer{text-align:center;color:#6c7e97;max-width:900px;margin:12px auto 0;font-size:11px}.error-message{color:#ffc2c7;background:#3c1d29;border:1px solid #92424b;border-radius:10px;max-width:900px;margin:0 auto 10px;padding:12px 15px;font-size:13px}@media (width<=600px){.topbar{height:74px;padding:0 17px}.brand h1{font-size:15px}.brand p{font-size:10px}.new-chat-button{padding:9px 11px;font-size:12px}.chat-area{padding:25px 15px}.welcome{padding:30px 0}.starter-grid{grid-template-columns:1fr;gap:10px;margin-top:28px}.starter-card{min-height:65px;padding:14px 16px}.message-content{max-width:82%}.message-row{gap:10px}.message-text{font-size:14px}.composer-area{padding:12px 12px 16px}}.message-row.assistant .message-text{white-space:normal;line-height:1.75}.message-text p{margin:0 0 14px}.message-text p:last-child{margin-bottom:0}.message-text h1,.message-text h2,.message-text h3,.message-text h4{color:#f0f7ff;margin:22px 0 12px;font-weight:700;line-height:1.35}.message-text h1{font-size:23px}.message-text h2{font-size:20px}.message-text h3{font-size:17px}.message-text h4{font-size:15px}.message-text strong{color:#fff;font-weight:700}.message-text em{color:#c9def1}.message-text ul,.message-text ol{margin:12px 0 18px;padding-left:24px}.message-text li{margin-bottom:7px}.message-text li::marker{color:#62cceb}.markdown-table-wrapper{border:1px solid #31445d;border-radius:12px;width:100%;max-width:100%;margin:18px 0;overflow-x:auto}.markdown-table-wrapper table{border-collapse:collapse;width:100%;min-width:480px;font-size:13px;line-height:1.6}.markdown-table-wrapper th{color:#e5f6ff;text-align:left;background:#203650;border-bottom:1px solid #405571;padding:13px 15px;font-weight:600}.markdown-table-wrapper td{color:#d6e3f4;vertical-align:top;border-bottom:1px solid #293a50;padding:12px 15px}.markdown-table-wrapper tr:last-child td{border-bottom:none}.markdown-table-wrapper tbody tr:nth-child(2n){background:#2b415b33}.message-text code{color:#79dcfa;background:#1c3047;border-radius:5px;padding:2px 6px;font-size:13px}.message-text pre{background:#0c1727;border:1px solid #2a4058;border-radius:11px;margin:15px 0;padding:17px;overflow-x:auto}.message-text pre code{background:0 0;padding:0}.message-text a{color:#67cfee;text-underline-offset:3px;text-decoration:underline}.message-text a:hover{color:#a0e9ff}.message-text blockquote{color:#b9cee3;background:#1c435f33;border-left:3px solid #48b9de;border-radius:0 8px 8px 0;margin:16px 0;padding:10px 17px}.message-text hr{border:none;border-top:1px solid #32435b;margin:23px 0}.message-content{min-width:0}.message-row.assistant .message-content{width:min(100%,780px);max-width:calc(100% - 53px)}.markdown-table-wrapper{border:1px solid #31445d;border-radius:12px;width:100%;max-width:100%;margin:18px 0;overflow:auto hidden}.markdown-table-wrapper table{table-layout:auto;border-collapse:collapse;width:100%;min-width:720px}.markdown-table-wrapper th,.markdown-table-wrapper td{text-align:left;vertical-align:top;overflow-wrap:normal;word-break:normal;padding:14px 16px}.markdown-table-wrapper th:last-child,.markdown-table-wrapper td:last-child{white-space:nowrap;min-width:95px}.markdown-table-wrapper th:first-child,.markdown-table-wrapper td:first-child{min-width:170px}.message-row.assistant .message-text{min-width:0;max-width:100%}@media (width<=768px){.markdown-table-wrapper table{min-width:650px}}.composer textarea{resize:none;scrollbar-width:none;height:28px;min-height:28px;overflow-y:auto}.composer textarea::-webkit-scrollbar{display:none}.restore-indicator{justify-content:center;margin-top:20px}
