:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.appShell{min-height:100vh;background:#0b0f14;color:#ffffffe6;display:flex;flex-direction:column}.appHeader{position:sticky;top:0;z-index:20;background:#0b0f14e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}.appHeaderInner{max-width:880px;margin:0 auto;padding:16px 20px}.appTitle{font-size:16px;font-weight:600;letter-spacing:.2px}.appSubtitle{margin-top:4px;font-size:13px;color:#ffffffa6}.appMain{width:100%;max-width:880px;margin:0 auto;padding:16px 20px 24px;display:flex;flex-direction:column;gap:14px;flex:1}.uploadPanel{background:#0f1620;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px}.uploadRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.uploadInput{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.uploadButton{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#ffffffe6;cursor:pointer;-webkit-user-select:none;user-select:none}.primaryButton{padding:9px 12px;border-radius:12px;background:#10a37f;border:1px solid rgba(16,163,127,.4);color:#fff}.primaryButton:disabled{opacity:.6;cursor:not-allowed}.uploadMeta{font-size:13px;color:#ffffffa6;flex:1;min-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploadStatus{margin-top:10px;font-size:13px;color:#fffc}.chatPanel{flex:1;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:#0c1118;overflow:hidden}.messages{flex:1;padding:18px 16px;overflow:auto}.emptyState{color:#ffffffa6;font-size:14px;line-height:1.4;padding:28px 10px}.messageRow{display:flex;margin:10px 0}.messageRow.isUser{justify-content:flex-end}.messageRow.isAi{justify-content:flex-start}.messageBubble{max-width:min(680px,90%);padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.messageRow.isUser .messageBubble{background:#10a37f;color:#08130f;border:1px solid rgba(16,163,127,.35)}.messageRow.isAi .messageBubble{background:#ffffff0f;color:#ffffffeb;border:1px solid rgba(255,255,255,.08)}.messageBubble.isTyping{opacity:.85}.composer{border-top:1px solid rgba(255,255,255,.08);background:#0b0f1499;padding:12px}.composerInner{display:flex;align-items:flex-end;gap:10px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px}.composerInput{flex:1;resize:none;border:none;outline:none;background:transparent;color:#ffffffeb;font-size:14px;line-height:1.4;min-height:22px;max-height:160px}.sendButton{padding:9px 12px;border-radius:12px;background:#1f2937;border:1px solid rgba(255,255,255,.12);color:#ffffffe6}.sendButton:disabled{opacity:.55;cursor:not-allowed}.composerHint{margin-top:8px;font-size:12px;color:#ffffff8c;padding:0 4px}.modeToggle{display:flex;gap:6px;margin-top:12px}.modeButton{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.4px;cursor:pointer;border:1px solid transparent;background:#ffffff0f;color:#ffffff8c;transition:background .15s,color .15s,border-color .15s}.modeButton:hover{background:#ffffff1a;color:#ffffffd9}.modeButton--rag.isActive{background:#8b5cf62e;border-color:#8b5cf680;color:#c4b5fd}.modeButton--api.isActive{background:#eab30826;border-color:#eab30873;color:#fde68a}.modeButton--mcp.isActive{background:#22c55e26;border-color:#22c55e66;color:#86efac}.modeButton--mcp-stdio.isActive{background:#fbbf241f;border-color:#fbbf2466;color:#fcd34d}.modeDescription{margin-top:6px;font-size:12px;color:#ffffff73;min-height:16px}.modeBadge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-bottom:6px}.modeBadge--rag{background:#8b5cf633;color:#c4b5fd;border:1px solid rgba(139,92,246,.35)}.modeBadge--api{background:#eab3082e;color:#fde68a;border:1px solid rgba(234,179,8,.35)}.modeBadge--mcp{background:#22c55e26;color:#86efac;border:1px solid rgba(34,197,94,.3)}.modeBadge--mcp-stdio{background:#fbbf241f;color:#fcd34d;border:1px solid rgba(251,191,36,.3)}.messageBubble img{max-width:100%;height:auto;border-radius:8px;margin:6px 0}
