:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111827;background:#eef6ff}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}#root{min-height:100vh}.app-shell{min-height:100vh;background:linear-gradient(180deg,#f5fbff,#edf5ff)}.chat-shell{width:min(100%,720px);height:100dvh;margin:0 auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;overflow:hidden}.chat-shell__header{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.chat-shell__session-label{margin:0;color:#64748b;font-size:12px}.chat-shell__clear-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:#94a3b8;cursor:pointer;transition:all .15s ease}.chat-shell__clear-btn:hover{background:#f1f5f9;color:#64748b}.chat-shell__clear-btn:active{background:#e2e8f0;color:#475569}.connection-banner{margin:0;border-radius:12px;padding:8px 12px;font-size:13px}.connection-banner--connecting{background:#dbeafe;color:#1d4ed8}.connection-banner--reconnecting,.connection-banner--offline{background:#fff1f2;color:#be123c}.message-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:2px 2px 12px}.message-list--empty{align-items:center;justify-content:center;text-align:center;color:#94a3b8;font-size:14px}.message-list--empty h2{margin:0 0 6px;font-size:16px;color:#64748b}.message-list--empty p{margin:0;line-height:1.5}.message-bubble{max-width:min(100%,88%);display:flex;flex-direction:column;gap:4px;border-radius:18px;padding:10px 12px;box-shadow:0 4px 12px #0f172a0d}.message-bubble small{color:#64748b}.message-bubble--outgoing{align-self:flex-end;background:#2563eb;color:#fff}.message-bubble--outgoing small{color:#fffc}.message-bubble--incoming{align-self:flex-start;background:#fff;color:#0f172a}.message-bubble--typing{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;min-width:56px;min-height:36px;padding:10px 16px}.typing-dot{display:inline-block;width:7px;height:7px;background:#94a3b8;border-radius:50%;animation:typing-wave 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}@keyframes typing-wave{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.message-card{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit}.message-card strong{font-size:12px;opacity:.72}.message-card p,.message-card span{margin:0;word-break:break-word;overflow-wrap:anywhere;line-height:1.5}.message-card--text.markdown-body{font-size:13px;line-height:1.55}.message-card--text.markdown-body>*:first-child{margin-top:0!important}.message-card--text.markdown-body>*:last-child{margin-bottom:0!important}.message-card--text.markdown-body p{margin:0 0 6px}.message-card--text.markdown-body h1,.message-card--text.markdown-body h2,.message-card--text.markdown-body h3,.message-card--text.markdown-body h4,.message-card--text.markdown-body h5,.message-card--text.markdown-body h6{margin:10px 0 4px;line-height:1.3}.message-card--text.markdown-body h1{font-size:15px}.message-card--text.markdown-body h2{font-size:14px}.message-card--text.markdown-body h3{font-size:13px}.message-card--text.markdown-body h4,.message-card--text.markdown-body h5,.message-card--text.markdown-body h6{font-size:12px}.message-card--text.markdown-body ul,.message-card--text.markdown-body ol{margin:4px 0;padding-left:1.3em}.message-card--text.markdown-body li{margin:2px 0}.message-card--text.markdown-body code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.9em;padding:2px 5px;border-radius:5px;background:#0000000f}.message-card--text.markdown-body pre{margin:6px 0;padding:8px 10px;border-radius:8px;background:#f1f5f9;overflow-x:auto}.message-card--text.markdown-body pre code{background:transparent;padding:0;font-size:.85em}.message-card--text.markdown-body blockquote{margin:6px 0;padding:3px 10px;border-left:3px solid #cbd5e1;color:#475569}.message-card--text.markdown-body a{color:#2563eb;text-decoration:underline;text-underline-offset:2px}.message-card--text.markdown-body hr{border:none;border-top:1px solid #e2e8f0;margin:8px 0}.message-card--text.markdown-body table{border-collapse:collapse;font-size:.95em;margin:6px 0;width:100%}.message-card--text.markdown-body th,.message-card--text.markdown-body td{border:1px solid #e2e8f0;padding:5px 8px;text-align:left}.message-card--text.markdown-body th{background:#f8fafc}.message-card--text.markdown-body img{max-width:100%;border-radius:8px}.message-bubble--outgoing .message-card--text.markdown-body code{background:#ffffff2e}.message-bubble--outgoing .message-card--text.markdown-body pre{background:#00000038}.message-bubble--outgoing .message-card--text.markdown-body pre code{background:transparent}.message-bubble--outgoing .message-card--text.markdown-body blockquote{border-left-color:#ffffff59;color:#ffffffd9}.message-bubble--outgoing .message-card--text.markdown-body a{color:#bfdbfe}.message-bubble--outgoing .message-card--text.markdown-body hr{border-top-color:#ffffff40}.message-bubble--outgoing .message-card--text.markdown-body th,.message-bubble--outgoing .message-card--text.markdown-body td{border-color:#ffffff40}.message-bubble--outgoing .message-card--text.markdown-body th{background:#ffffff1a}.composer-panel{position:sticky;bottom:0;z-index:2;padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.composer{display:flex;align-items:flex-end;gap:8px}.composer__attach{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#94a3b8;cursor:pointer;flex-shrink:0;transition:color .15s ease;margin-bottom:3px}.composer__attach:active{color:#475569}.composer__attach:disabled{opacity:.35;cursor:not-allowed}.composer__textarea{flex:1;border:1px solid #e2e8f0;border-radius:22px;padding:10px 16px;background:#fff;font-size:15px;line-height:1.5;resize:none;outline:none;min-height:42px;max-height:120px;color:#0f172a}.composer__textarea:focus{border-color:#cbd5e1}.composer__textarea::placeholder{color:#94a3b8}.composer__textarea:disabled{opacity:.5}.composer__send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:#2563eb;color:#fff;cursor:pointer;flex-shrink:0;transition:all .15s ease;margin-bottom:3px}.composer__send:active{background:#1d4ed8}.composer__send:disabled{background:transparent;color:#cbd5e1;cursor:default}@media(min-width:768px){.chat-shell{padding:16px}.composer__textarea{font-size:16px}}
