.app{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:820px;margin:0 auto;background:#1a1a1a}.header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid #2a2a2a;background:#181818}.header-identity{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#2a2a2a}.header-text{min-width:0;flex:1}.header h1{margin:0;font-size:16px;font-weight:600;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status{font-size:11px;color:#888;margin-top:2px}.header-actions{display:flex;gap:8px;align-items:center}.model-select{font-family:inherit;font-size:16px;padding:6px 10px;border-radius:6px;border:1px solid #333;background:#111;color:#ddd;outline:none;cursor:pointer}.sources{margin-top:6px;font-size:12px;color:#888;max-width:100%}.sources summary{cursor:pointer;padding:4px 8px;border-radius:6px;background:#232323;display:inline-block}.sources ul{margin:6px 0 0;padding-left:20px;color:#aaa}.sources li{margin:2px 0}button{font-family:inherit;cursor:pointer;border-radius:8px;border:1px solid transparent;padding:8px 14px;font-size:14px;transition:background .15s,border-color .15s}button:disabled{opacity:.4;cursor:not-allowed}.ghost{background:transparent;color:#ddd;border-color:#333}.ghost:hover:not(:disabled){background:#232323}.settings{display:flex;flex-direction:column;gap:12px;padding:16px 20px;border-bottom:1px solid #2a2a2a;background:#1d1d1d}.settings label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#aaa}.settings input,.settings select,.settings textarea{font-family:inherit;font-size:16px;padding:8px 10px;border-radius:6px;border:1px solid #333;background:#111;color:#eee;outline:none;resize:vertical}.settings input:focus,.settings select:focus,.settings textarea:focus{border-color:#4a90e2}.hint{margin:0;font-size:12px;color:#777}.messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.empty{margin:auto;text-align:center;color:#888}.empty h2{margin:0 0 6px;font-weight:500;font-size:18px;color:#ccc}.empty p{margin:0;font-size:14px}.bubble{display:flex;flex-direction:column;gap:4px;max-width:85%}.bubble.user{align-self:flex-end;align-items:flex-end}.bubble.assistant{align-self:flex-start}.role{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#888;padding:0 4px}.content{word-wrap:break-word;padding:10px 14px;border-radius:14px;line-height:1.5;font-size:15px}.bubble.user .content{background:#2563eb;color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}.bubble.assistant .content{background:#2a2a2a;color:#eaeaea;border-bottom-left-radius:4px}.bubble.assistant .content>:first-child{margin-top:0}.bubble.assistant .content>:last-child{margin-bottom:0}.bubble.assistant .content p{margin:0 0 8px}.bubble.assistant .content h1,.bubble.assistant .content h2,.bubble.assistant .content h3,.bubble.assistant .content h4{margin:12px 0 6px;font-weight:600;line-height:1.3}.bubble.assistant .content h1{font-size:18px}.bubble.assistant .content h2{font-size:17px}.bubble.assistant .content h3{font-size:16px}.bubble.assistant .content h4{font-size:15px}.bubble.assistant .content ul,.bubble.assistant .content ol{margin:4px 0 8px;padding-left:22px}.bubble.assistant .content li{margin:2px 0}.bubble.assistant .content li>p{margin:0}.bubble.assistant .content a{color:#7ab7ff;text-decoration:underline}.bubble.assistant .content code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:#1a1a1a;padding:1px 5px;border-radius:4px;border:1px solid #333}.bubble.assistant .content pre{margin:8px 0;padding:10px 12px;background:#1a1a1a;border:1px solid #333;border-radius:8px;overflow-x:auto}.bubble.assistant .content pre code{padding:0;background:transparent;border:none;font-size:13px}.bubble.assistant .content blockquote{margin:6px 0;padding:2px 12px;border-left:3px solid #4a4a4a;color:#c8c8c8}.bubble.assistant .content blockquote>p{margin:4px 0}.bubble.assistant .content hr{margin:10px 0;border:none;border-top:1px solid #3a3a3a}.bubble.assistant .content table{border-collapse:collapse;margin:6px 0;font-size:14px}.bubble.assistant .content th,.bubble.assistant .content td{padding:6px 10px;border:1px solid #3a3a3a;text-align:left}.bubble.assistant .content th{background:#1f1f1f}.cursor{display:inline-block;width:7px;height:14px;margin-left:2px;background:currentColor;vertical-align:text-bottom;animation:blink 1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.15);border-top-color:#ffffffb3;border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.error{align-self:center;padding:10px 14px;border-radius:8px;background:#3a1a1a;color:#ff8a8a;font-size:13px;border:1px solid #5a2a2a;max-width:85%;text-align:center}.composer{display:flex;gap:8px;padding:14px 20px;border-top:1px solid #2a2a2a;background:#181818;align-items:flex-end}.composer textarea{flex:1;min-width:0;font-family:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid #333;background:#111;color:#eee;outline:none;resize:none;max-height:160px;line-height:1.4}.composer textarea:focus{border-color:#4a90e2}.send{background:#2563eb;color:#fff;border:none;font-weight:500;font-size:16px;padding:0 20px;min-height:44px}.send:hover:not(:disabled){background:#1d4ed8}.send.stop{background:#b91c1c}.send.stop:hover{background:#991b1b}@media (max-width: 480px){.header,.composer{padding-left:12px;padding-right:12px}.messages{padding:14px 12px}.bubble{max-width:92%}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color-scheme:light dark;color:#ffffffe6;background-color:#1a1a1a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow-x:hidden}
