@import "https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap";*{box-sizing:border-box;margin:0;padding:0}body{color:#000;background-color:#fff;height:100vh;font-family:Space Mono,monospace}#root{height:100vh}.app{background:#fff;height:100vh;display:flex}.sidebar{border-right:1px solid #e8e8e8;flex-direction:column;gap:20px;width:370px;min-width:370px;padding:32px 28px;display:flex;overflow-y:auto}.sidebar-header{flex-direction:column;gap:6px;display:flex}.logo{color:#000;letter-spacing:-1px;font-size:44px;font-weight:700;line-height:1}.byline{color:#000;font-size:13px}.accent{color:#00c49a}.config-card{border:1px solid #e0e0e0;border-radius:16px;flex-direction:column;gap:16px;padding:20px;display:flex}.card-title{color:#000;font-size:17px;font-weight:700}.field{flex-direction:column;gap:8px;display:flex}.field label{color:#666;font-size:11px}.field input[type=password],.field input[type=text]{color:#000;background:#fff;border:1px solid #d0d0d0;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:Space Mono,monospace;font-size:13px}.field input[type=password]:focus,.field input[type=text]:focus{border-color:#00c49a}.field-row{justify-content:flex-end;display:flex}.btn-pill{color:#fff;cursor:pointer;white-space:nowrap;background:#00c49a;border:none;border-radius:100px;padding:6px 14px;font-family:Space Mono,monospace;font-size:12px;font-weight:700;transition:background .2s;display:inline-block}.btn-pill:hover:not(:disabled){background:#00a882}.btn-pill:disabled{opacity:.5;cursor:not-allowed}.btn-pill.status-connected{background:#00a882}.btn-pill.status-failed{background:#e05555}.file-drop-area{border:1px solid #d0d0d0;border-radius:8px;align-items:center;gap:12px;min-height:44px;padding:10px 12px;display:flex}.file-name{color:#666;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.success-badge{color:#00a882;text-align:center;background:#e8faf5;border-radius:8px;padding:8px 12px;font-size:12px}.system-design-card{cursor:pointer;border:1px solid #e0e0e0;border-radius:16px;padding:18px 20px;transition:border-color .2s}.system-design-card:hover{border-color:#00c49a}.system-design-card p{color:#000;font-size:15px;font-weight:700}.chat{flex-direction:column;flex:1;display:flex;overflow:hidden}.messages{flex-direction:column;flex:1;gap:20px;padding:40px;display:flex;overflow-y:auto}.empty{color:#aaa;text-align:center;margin:auto;font-size:15px}.message{flex-direction:column;gap:10px;max-width:68%;display:flex}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.bubble{padding:18px 24px;font-size:14px;line-height:1.6}.message.user .bubble{color:#fff;background:#00c49a;border-radius:24px 24px 6px}.message.assistant .bubble{color:#fff;background:#1e7a8e;border-radius:24px 24px 24px 6px}.thinking{opacity:.7;font-style:italic}.sources{background:#f8f8f8;border:1px solid #eee;border-radius:12px;padding:12px;font-size:12px}.sources-title{color:#999;margin-bottom:8px;font-weight:700}.source{border-bottom:1px solid #eee;margin-bottom:8px;padding-bottom:8px}.source:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.source strong{color:#00c49a;margin-bottom:4px;display:block}.source p{color:#888;line-height:1.4}.slow-warning{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-left:3px solid #f59e0b;border-radius:10px;align-items:flex-start;gap:8px;padding:12px 14px;font-size:12px;line-height:1.5;animation:.4s fadeSlideIn;display:flex}.slow-warning-chat{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-left:3px solid #f59e0b;border-radius:12px;align-self:flex-start;align-items:flex-start;gap:8px;max-width:68%;padding:12px 16px;font-size:12px;line-height:1.5;animation:.4s fadeSlideIn;display:flex}.slow-warning-icon{flex-shrink:0;font-size:14px}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.mobile-header{display:none}.sidebar-top-row{justify-content:space-between;align-items:flex-start;display:flex}.sidebar-close-btn,.mobile-configure-hint{display:none}.input-area{border-top:1px solid #f0f0f0;align-items:center;gap:12px;padding:20px 40px;display:flex}.input-area input{color:#000;background:#fff;border:1px solid #e0e0e0;border-radius:100px;outline:none;flex:1;padding:14px 22px;font-family:Space Mono,monospace;font-size:14px}.input-area input:focus{border-color:#00c49a}.input-area input:disabled{opacity:.5}.input-area button{color:#fff;cursor:pointer;white-space:nowrap;background:#00c49a;border:none;border-radius:100px;padding:14px 28px;font-family:Space Mono,monospace;font-size:14px;font-weight:700;transition:background .2s}.input-area button:hover:not(:disabled){background:#00a882}.input-area button:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.app{flex-direction:column}.mobile-header{z-index:200;background:#fff;border-bottom:1px solid #e8e8e8;flex-shrink:0;align-items:center;gap:14px;padding:14px 20px;display:flex;position:sticky;top:0}.mobile-logo .logo{letter-spacing:-.5px;font-size:26px}.mobile-logo .byline{font-size:11px}.hamburger-btn{cursor:pointer;background:#fff;border:1.5px solid #d0d0d0;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:4px;width:44px;height:44px;padding:0;display:flex}.hamburger-btn span{background:#000;border-radius:2px;width:16px;height:1.5px;display:block}.sidebar{width:82%;max-width:360px;height:100%;min-width:unset;z-index:300;background:#fff;border-right:1px solid #e8e8e8;padding:28px 22px;transition:left .28s;position:fixed;top:0;left:-100%;overflow-y:auto}.sidebar.sidebar-open{left:0}.sidebar-close-btn{cursor:pointer;color:#666;background:#fff;border:1.5px solid #d0d0d0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;margin-top:2px;font-size:14px;display:flex}.sidebar-overlay{z-index:250;background:#0006;position:fixed;inset:0}.chat{flex:1;min-height:0;overflow:hidden}.messages{gap:14px;padding:24px 16px}.message{max-width:85%}.bubble{padding:14px 18px;font-size:13px}.input-area{gap:10px;padding:12px 16px}.input-area input{padding:12px 18px;font-size:13px}.input-area button{padding:12px 20px;font-size:13px}.mobile-configure-hint{color:#aaa;margin-bottom:8px;font-size:13px;display:block}.sources{font-size:11px}}
