:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#1a1a1a;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.login{background:#1a1a1a;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{text-align:center;background:#242424;border:1px solid #333;border-radius:16px;width:100%;max-width:400px;padding:48px 40px}.login-logo{margin-bottom:16px;font-size:52px}.login-box h1{color:#fff;margin-bottom:8px;font-size:30px;font-weight:700}.login-box>p{color:#888;margin-bottom:28px;font-size:14px}.login-error{color:#f88;background:#3d1515;border:1px solid #f44;border-radius:8px;margin-bottom:16px;padding:10px;font-size:14px}.login-box input{color:#fff;background:#2d2d2d;border:1px solid #444;border-radius:8px;outline:none;width:100%;margin-bottom:12px;padding:13px 16px;font-size:15px;transition:border-color .2s}.login-box input:focus{border-color:#7c6af7}.login-box button{color:#fff;cursor:pointer;background:#7c6af7;border:none;border-radius:8px;width:100%;margin-bottom:16px;padding:13px;font-size:15px;font-weight:600;transition:background .2s}.login-box button:hover:not(:disabled){background:#6a58e5}.login-box button:disabled{opacity:.6;cursor:not-allowed}.login-hint{color:#555;font-size:12px}.app{height:100vh;display:flex;overflow:hidden}.sidebar{background:#1e1e1e;border-right:1px solid #2d2d2d;flex-direction:column;flex-shrink:0;width:280px;display:flex}.sidebar-top{border-bottom:1px solid #2d2d2d;justify-content:space-between;align-items:center;padding:18px 16px;display:flex}.sidebar-brand{color:#7c6af7;letter-spacing:1px;font-size:18px;font-weight:700}.icon-btn{color:#666;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:16px;transition:all .15s}.icon-btn:hover{color:#fff;background:#333}.new-chat-btn{color:#fff;cursor:pointer;text-align:center;background:#7c6af7;border:none;border-radius:8px;margin:14px 12px 8px;padding:11px;font-size:14px;font-weight:600;transition:background .2s}.new-chat-btn:hover{background:#6a58e5}.conv-section-title{color:#555;text-transform:uppercase;letter-spacing:1px;padding:8px 12px 4px;font-size:11px}.conv-list{flex:1;padding:4px 8px;overflow-y:auto}.no-convs{color:#444;text-align:center;padding:24px 16px;font-size:13px}.conv-item{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;margin-bottom:2px;padding:9px 10px;transition:background .15s;display:flex}.conv-item:hover{background:#2a2a2a}.conv-item.active{background:#252040;border-color:#4a3fa0}.conv-icon{opacity:.6;flex-shrink:0;font-size:13px}.conv-title{color:#bbb;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.conv-item.active .conv-title{color:#d0ccff}.del-btn{cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:3px;font-size:12px;transition:opacity .15s}.conv-item:hover .del-btn{opacity:.6}.del-btn:hover{background:#f332;opacity:1!important}.sidebar-footer{border-top:1px solid #2d2d2d;padding:12px}.cost-display{color:#555;text-align:center;padding:4px 0 10px;font-size:12px}.user-info{color:#777;justify-content:space-between;align-items:center;font-size:13px;display:flex}.user-name{text-overflow:ellipsis;white-space:nowrap;max-width:170px;overflow:hidden}.user-info button{color:#666;cursor:pointer;background:0 0;border:1px solid #3a3a3a;border-radius:6px;flex-shrink:0;padding:4px 12px;font-size:12px;transition:all .15s}.user-info button:hover{color:#ccc;border-color:#666}.main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.topbar{background:#1a1a1a;border-bottom:1px solid #2d2d2d;flex-shrink:0;align-items:center;gap:12px;min-height:56px;padding:14px 20px;display:flex}.topbar-title{color:#bbb;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;font-weight:500;overflow:hidden}.new-btn{font-size:20px;font-weight:300}.messages{flex-direction:column;flex:1;gap:4px;padding:24px 20px;display:flex;overflow-y:auto}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:20px;display:flex}.empty-icon{font-size:60px}.empty-state h2{color:#fff;font-size:28px;font-weight:700}.empty-state>p{color:#777;max-width:420px;font-size:15px;line-height:1.6}.suggestions{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:560px;margin-top:8px;display:grid}.suggestions button{color:#bbb;cursor:pointer;text-align:left;background:#242424;border:1px solid #333;border-radius:10px;padding:13px 16px;font-size:13px;line-height:1.4;transition:all .15s}.suggestions button:hover{color:#fff;background:#252040;border-color:#7c6af7}.msg{gap:14px;width:100%;max-width:860px;margin:0 auto;padding:10px 0;display:flex}.msg.user{flex-direction:row-reverse}.msg-avatar{flex-shrink:0;margin-top:6px;font-size:22px}.msg-bubble{flex-direction:column;gap:6px;max-width:88%;display:flex}.msg.user .msg-bubble{align-items:flex-end}.msg-content{border-radius:14px;padding:14px 18px;font-size:15px;line-height:1.65}.msg.user .msg-content{color:#e8e8ff;background:#2d2b55;border:1px solid #4a3fa0;border-radius:14px 4px 14px 14px}.msg.assistant .msg-content{color:#e0e0e0;background:#242424;border:1px solid #333;border-radius:4px 14px 14px}.msg-meta{color:#555;padding:0 4px;font-size:11px}.msg-meta.streaming{color:#7c6af7}.msg-content h1,.msg-content h2,.msg-content h3{color:#fff;margin:18px 0 10px;line-height:1.3}.msg-content h1{font-size:20px}.msg-content h2{font-size:18px}.msg-content h3{font-size:16px}.msg-content p{margin:8px 0}.msg-content ul,.msg-content ol{margin:8px 0;padding-left:24px}.msg-content li{margin:5px 0}.msg-content strong{color:#fff;font-weight:600}.msg-content em{color:#bbb}.msg-content a{color:#7c6af7;text-decoration:underline}.msg-content blockquote{color:#999;background:#1e1e1e;border-left:3px solid #444;border-radius:0 6px 6px 0;margin:12px 0;padding:8px 16px}.msg-content hr{border:none;border-top:1px solid #333;margin:16px 0}.msg-content table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.msg-content th{color:#fff;text-align:left;background:#2a2a2a;border:1px solid #444;padding:8px 12px}.msg-content td{border:1px solid #333;padding:8px 12px}.msg-content tr:nth-child(2n) td{background:#1e1e1e}.inline-code{color:#e2914a;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:5px;padding:2px 7px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.code-block{border:1px solid #3a3a3a;border-radius:10px;margin:14px 0;overflow:hidden}.code-header{background:#252525;border-bottom:1px solid #3a3a3a;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.code-lang{color:#7c6af7;text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:600}.code-header button{color:#999;cursor:pointer;background:#333;border:none;border-radius:5px;padding:4px 12px;font-size:12px;transition:all .15s}.code-header button:hover{color:#fff;background:#444}.input-area{background:#1a1a1a;border-top:1px solid #2d2d2d;flex-shrink:0;padding:16px 20px 18px}.input-wrapper{background:#242424;border:1px solid #3a3a3a;border-radius:14px;gap:10px;max-width:860px;margin:0 auto 10px;padding:10px 10px 10px 16px;transition:border-color .2s;display:flex}.input-wrapper:focus-within{border-color:#7c6af7;box-shadow:0 0 0 3px #7c6af720}.input-wrapper textarea{color:#e0e0e0;resize:none;background:0 0;border:none;outline:none;flex:1;min-height:28px;max-height:200px;padding:4px 0;font-family:inherit;font-size:15px;line-height:1.6}.input-wrapper textarea::placeholder{color:#444}.send-btn{color:#fff;cursor:pointer;background:#7c6af7;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;width:42px;height:42px;font-size:18px;transition:all .2s;display:flex}.send-btn:hover:not(:disabled){background:#6a58e5;transform:scale(1.05)}.send-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.send-btn.loading{background:#333}.footer-hint{text-align:center;color:#3a3a3a;max-width:860px;margin:0 auto;font-size:11px}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#333;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}@media (width<=768px){.sidebar{z-index:100;width:260px;height:100vh;position:fixed;top:0;left:0;box-shadow:4px 0 24px #0009}.suggestions{grid-template-columns:1fr;max-width:100%}.msg-bubble{max-width:95%}.messages{padding:16px 12px}.input-area{padding:12px}}
