:root{font-family:Segoe UI,Inter,sans-serif;color:#eaf2ff;background:#091a33;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface-border: rgba(194, 214, 245, .18);--surface-shadow: 0 28px 52px rgba(3, 10, 23, .34);--assistant-surface: rgba(246, 249, 255, .96);--assistant-text: #2e4768;--assistant-muted: #6e84a4;--user-surface: linear-gradient(135deg, #d8e5fb 0%, #c5daf9 100%);--user-text: #17355b}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-height:100vh;background:radial-gradient(circle at top,rgba(130,179,255,.34),transparent 23%),radial-gradient(circle at 15% 20%,rgba(77,133,228,.18),transparent 26%),radial-gradient(circle at 84% 16%,rgba(160,208,255,.08),transparent 22%),linear-gradient(180deg,#1a3c6c,#122c52 42%,#0d223f)}button,textarea{font:inherit}.app-shell{display:flex;justify-content:center;min-height:100vh;padding:1.6rem}.chat-shell{display:flex;flex-direction:column;width:min(100%,980px);min-height:calc(100vh - 3.2rem);min-height:0}.chat-pane{position:relative;display:flex;flex:1;flex-direction:column;gap:1rem;min-height:0;padding:1.1rem;border:1px solid var(--surface-border);border-radius:32px;background:linear-gradient(180deg,#0f223d7a,#09182eb8),#08142761;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.35rem .35rem .5rem}.chat-identity{display:flex;align-items:center;gap:.9rem}.identity-badge{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:18px;background:linear-gradient(135deg,#f1f7fff5,#d3e3fbe6);color:#173762;font-weight:800;letter-spacing:.08em;box-shadow:0 12px 24px #0712222e}.identity-copy{display:grid;gap:.18rem}.identity-name{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:.03em;color:#f3f7ff}.identity-meta{margin:0;font-size:.92rem;color:#bed1f4}.header-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;justify-content:flex-end}.banner-stack{display:grid;gap:.75rem}.status-banner{margin:0;border-radius:16px;padding:.9rem 1rem;border:1px solid rgba(254,205,211,.74);font-size:.95rem}.error-banner{background:#fff1f2f0;color:#b42318}.message-list{flex:1;min-height:0;overflow-y:auto;padding:.5rem .4rem .15rem;scroll-behavior:smooth}.message-row{display:flex;align-items:flex-end;gap:.85rem;margin-bottom:1rem}.message-row.user{justify-content:flex-end}.message-row.assistant{justify-content:flex-start}.message-card{width:min(760px,calc(100% - 4rem));border-radius:26px;padding:1rem 1.1rem;border:1px solid rgba(223,231,244,.8);background:var(--assistant-surface);box-shadow:0 18px 34px #0712222e}.message-row.user .message-card{width:min(680px,calc(100% - 2rem));border-color:#abc7f066;background:var(--user-surface)}.message-row.user .message-content,.message-row.user .message-role{color:var(--user-text)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;flex:0 0 2.4rem;border-radius:16px;background:linear-gradient(180deg,#eff5ff,#d8e5fb);color:#284b77;font-size:.82rem;font-weight:700;border:1px solid rgba(189,210,241,.88);box-shadow:0 10px 18px #08132424}.message-role{margin:0 0 .35rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--assistant-muted)}.message-content{margin:0;color:var(--assistant-text);font-size:1rem}.message-enter{line-height:1.68;animation:message-fade-in .3s ease-out}.markdown-content{white-space:normal}.markdown-content>:first-child{margin-top:0}.markdown-content>:last-child{margin-bottom:0}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin:.75rem 0}.markdown-content ul,.markdown-content ol{padding-left:1.35rem}.markdown-content li+li{margin-top:.3rem}.markdown-content a{color:#2156a5;text-decoration:underline;text-underline-offset:.14em}.markdown-content strong{color:#17355b}.markdown-content blockquote{border-left:3px solid #b8d2f2;padding-left:.9rem;color:#5f6f87}.markdown-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.92em;border-radius:10px;padding:.12rem .38rem;background:#edf3fb;color:#173762}.markdown-content pre{overflow-x:auto;border-radius:18px;padding:1rem 1.05rem;background:#0f2747;box-shadow:inset 0 0 0 1px #b8d2f229}.markdown-content pre code{display:block;padding:0;background:transparent;color:#eff5ff;line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#1e3a5f;line-height:1.25}.loading-dots{display:inline-flex;align-items:center;gap:.35rem;min-height:1.5rem}.loading-dot{width:.42rem;height:.42rem;border-radius:999px;background:#56749b;animation:dot-bounce .95s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.12s}.loading-dot:nth-child(3){animation-delay:.24s}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-.3rem);opacity:1}}@keyframes message-fade-in{0%{opacity:0;transform:translateY(.2rem)}to{opacity:1;transform:translateY(0)}}.scroll-shortcuts{position:absolute;right:1rem;bottom:11rem;z-index:20;display:flex;flex-direction:column;gap:.65rem}.scroll-button{display:inline-flex;align-items:center;justify-content:center;width:2.9rem;height:2.9rem;padding:0;font-size:1.05rem;line-height:1}.prompt-chip{border:1px solid rgba(199,218,244,.74);background:#f9fbfff2;color:#234567;border-radius:999px;padding:.72rem 1rem;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,opacity .18s ease;box-shadow:0 12px 24px #1a345814}.prompt-chip:hover{transform:translateY(-1px);border-color:#b8d2f2;box-shadow:0 14px 28px #1a34581f}.prompt-chip:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.action-pill{display:inline-flex;align-items:center;gap:.55rem;min-height:2.9rem;padding:.72rem 1rem;font-size:.94rem}.action-pill i{font-size:.92rem}.floating-prompt{display:inline-flex;align-items:center;justify-content:center;width:2.85rem;height:2.85rem;min-width:2.85rem;padding:0;text-align:center}.floating-prompt i{font-size:.98rem}.ghost-button,.send-button{border:1px solid transparent;border-radius:999px;padding:.82rem 1.15rem;cursor:pointer;transition:transform .18s ease,opacity .18s ease,background .18s ease,border-color .18s ease}.ghost-button{background:#fffffff5;color:#111827;border-color:#e5e7eb}.send-button{min-width:6rem;background:linear-gradient(135deg,#274a78,#1a3356);color:#fff;font-weight:700;box-shadow:0 14px 28px #08132433}.ghost-button:hover,.send-button:hover{transform:translateY(-1px)}.ghost-button:disabled,.send-button:disabled{cursor:not-allowed;opacity:.55;transform:none}.composer{position:sticky;bottom:0;display:grid;gap:.8rem;width:min(100%,760px);margin:0 auto;padding:.9rem;border-radius:28px;border:1px solid rgba(221,230,243,.72);background:#f4f8fdf5;box-shadow:0 24px 36px #0712223d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.composer-input{width:100%;min-height:84px;resize:vertical;border:1px solid #dde5f3;outline:none;border-radius:20px;padding:.95rem 1rem;color:#10294b;background:#fffffffa;box-shadow:inset 0 1px #fffc}.composer-input::placeholder{color:#7989a3}.composer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.85rem}.inline-prompts{display:none;align-items:center;justify-content:flex-start;flex-wrap:wrap;flex:1 1 auto;gap:.65rem}.inline-action{min-height:2.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#07122275;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card{width:min(100%,420px);border-radius:24px;border:1px solid rgba(221,230,243,.92);background:#f8fafdfa;box-shadow:0 24px 40px #0712224d;padding:1.25rem;display:grid;gap:1rem}.modal-title{margin:0;font-size:1.15rem;color:#10294b}.modal-copy{margin:0;color:#475467;line-height:1.6}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:900px){.desktop-action{display:none}.chat-pane{padding:1rem}.composer-actions{align-items:center;justify-content:space-between}.inline-prompts{display:flex}}@media(max-width:900px){.app-shell{padding:1rem}.chat-shell{width:100%;min-height:calc(100vh - 2rem)}.chat-pane{border-radius:26px}.chat-header{flex-direction:column;align-items:flex-start}.message-row{gap:.65rem}.message-card,.message-row.user .message-card{width:min(100%,calc(100% - 3rem))}.avatar{width:2.15rem;height:2.15rem;flex-basis:2.15rem}.scroll-shortcuts{right:.65rem;bottom:10.5rem}}@media(max-width:640px){.app-shell{padding:.75rem}.chat-pane{padding:.8rem;border-radius:22px}.chat-header{gap:.8rem;padding:.15rem .15rem .4rem}.identity-badge{width:2.65rem;height:2.65rem;border-radius:15px}.identity-meta{font-size:.86rem}.message-card,.message-row.user .message-card{width:min(100%,calc(100% - 2.6rem));padding:.9rem 1rem}.message-content{font-size:.96rem}.composer{width:100%;padding:.8rem;border-radius:24px}.composer-input{min-height:78px}.composer-actions{align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:nowrap}.inline-prompts{min-width:0}.inline-action{flex:0 1 auto}.send-button{margin-left:auto;flex:0 0 auto}.modal-actions{flex-wrap:wrap}}@media(max-width:636px){.inline-action{width:2.85rem;min-width:2.85rem;justify-content:center;padding:.72rem 0}.inline-action span{display:none}}
