*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;margin:0;padding:0;overflow:hidden}#app{background:#fff;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.navbar{background:#fff;border-bottom:1px solid #e8ecf0;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:10px 24px;display:flex}.navbar-left{align-items:center;gap:12px;display:flex}.navbar-left .logo-icon{font-size:22px}.navbar-left .logo-text{font-size:17px;font-weight:700}.navbar-left .logo-badge{color:#fff;text-transform:uppercase;background:#1a1a1a;border-radius:100px;padding:2px 8px;font-size:9px;font-weight:600}.sidebar-toggle{cursor:pointer;color:#888;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:18px}.sidebar-toggle:hover{background:#f0f2f5}.navbar-right{align-items:center;gap:8px;display:flex}.token-display{color:#2563eb;background:#eff6ff;border-radius:100px;padding:4px 14px;font-size:13px}.user-phone{color:#555;font-size:13px}.btn-ghost{color:#555;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:14px}.btn-ghost:hover{background:#f0f2f5}.main-layout{flex:1;display:flex;overflow:hidden}.sidebar{background:#f7f7f8;border-right:1px solid #e8ecf0;flex-direction:column;flex-shrink:0;width:200px;padding:12px;display:flex;overflow:hidden}.sidebar.collapsed{border:none;width:0;padding:0}.new-chat-btn{color:#fff;cursor:pointer;background:#1a1a1a;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:500;display:flex}.new-chat-btn:hover{background:#333}.chat-history{flex:1;margin-top:12px;overflow-y:auto}.empty-history{color:#999;text-align:center;padding:30px 0;font-size:13px}.history-group{margin-bottom:16px}.group-label{color:#999;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;font-size:11px;font-weight:600}.history-item{cursor:pointer;color:#444;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:14px;transition:background .15s;display:flex}.history-item:hover{background:#f0f2f5}.history-item.active{background:#e8ecf0;font-weight:500}.history-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.delete-btn{color:#bbb;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;transition:all .2s}.history-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:#ef4444;background:#fee2e2}.sidebar-footer{border-top:1px solid #e8ecf0;flex-shrink:0;gap:4px;padding-top:8px;display:flex}.footer-btn{color:#888;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-family:inherit;font-size:14px}.footer-btn:hover{color:#333;background:#f0f2f5}.main-content{background:#fff;flex-direction:column;flex:1;padding:0 40px;display:flex;overflow:hidden}.hero{text-align:center;flex-shrink:0;padding:30px 0 10px}.hero-status{color:#666;background:#f5f5f5;border-radius:100px;align-items:center;gap:8px;padding:4px 16px;font-size:12px;display:inline-flex}.hero-status .dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero-title{color:#0f172a;margin:16px 0 8px;font-size:36px;font-weight:700}.hero-title .accent{color:#2563eb}.hero-sub{color:#64748b;font-size:16px}.quick-row{flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:8px;padding:8px 0;display:flex}.quick-row .pill{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:100px;padding:6px 18px;font-family:inherit;font-size:13px;transition:all .2s}.quick-row .pill:hover{color:#2563eb;border-color:#2563eb}.messages-area{flex:1;min-height:0;padding:16px 0;overflow-y:auto}.message-item{border-bottom:1px solid #f0f0f0;padding:14px 0}.message-item:last-child{border-bottom:none}.message-item .message-content{word-break:break-word;max-width:90%;font-size:15px;line-height:1.8}.message-item.user{text-align:right}.message-item.user .message-content{color:#2563eb;margin-left:auto}.message-item.assistant{text-align:left}.message-item.assistant .message-content{color:#1a1a1a;margin-right:auto}.message-item .message-content pre{white-space:pre-wrap;margin:0;font-family:inherit}.input-container{background:#fff;border-top:1px solid #e8ecf0;flex-shrink:0;padding:8px 0 12px}.input-wrapper{background:#fff;border:2px solid #e2e8f0;border-radius:16px;transition:border-color .2s;position:relative}.input-wrapper:focus-within{border-color:#2563eb;box-shadow:0 4px 16px #2563eb1a}.input-wrapper.has-error{border-color:#ef4444}.input-wrapper textarea{resize:none;background:0 0;border:none;border-radius:16px;outline:none;width:100%;min-height:56px;max-height:180px;padding:14px 110px 14px 18px;font-family:inherit;font-size:15px}.input-actions{gap:4px;display:flex;position:absolute;bottom:8px;right:8px}.input-actions .attach-btn{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:50%;width:36px;height:36px;font-size:16px;transition:background .2s}.input-actions .attach-btn:hover{color:#2563eb;background:#f0f2f5}.input-actions .submit-btn{cursor:pointer;color:#fff;background:#2563eb;border:none;border-radius:50%;width:40px;height:40px;transition:background .2s}.input-actions .submit-btn:hover{background:#1d4ed8}.input-actions .submit-btn:disabled{opacity:.5;cursor:not-allowed}.input-actions .submit-btn svg{fill:none;stroke:currentColor;stroke-width:2.5px;width:18px;height:18px}.login-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.login-modal{background:#fff;border-radius:20px;width:380px;padding:32px 40px;box-shadow:0 20px 60px #0003}.login-modal h3{margin-bottom:20px;font-size:22px}.login-modal input{border:2px solid #e2e8f0;border-radius:10px;outline:none;width:100%;margin-bottom:12px;padding:10px 14px;font-family:inherit;font-size:14px}.login-modal input:focus{border-color:#2563eb}.login-modal .btn-dark{width:100%;margin-top:8px;padding:10px}.login-switch{color:#64748b;text-align:center;cursor:pointer;margin-top:12px;font-size:13px}@media (width<=768px){.sidebar{width:160px}.main-content{padding:0 16px}.input-container{padding:8px 0}.hero-title{font-size:24px}}
