*{margin:0;padding:0;box-sizing:border-box}
:root{
--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--bg-input:#181818;
--bg-hover:#1f1f1f;--bg-msg:#1a1a1e;
--text-primary:#e8e8e8;--text-secondary:#999;--text-muted:#555;
--accent:#7c5cfc;--accent-hover:#9b85fd;--accent-dim:rgba(124,92,252,.12);
--orange:#d97706;--orange-hover:#f59e0b;--orange-dim:rgba(217,119,6,.12);
--border:#222;--border-light:#2a2a2a;
--radius:16px;--radius-sm:10px;--radius-xs:6px;
--shadow:0 4px 32px rgba(0,0,0,.5);
--font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,sans-serif;
--mono:"SF Mono",SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;
--sidebar-w:272px;
}
body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}
#app{display:flex;height:100vh;width:100vw}

#sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:100}
.sidebar-header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.logo-wrap{display:flex;align-items:center;gap:10px}
.logo-icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#c084fc);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}
.sidebar-header h1{font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px}

.model-selector{padding:10px 16px;border-bottom:1px solid var(--border)}
.model-selector label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.8px;font-weight:500}
.model-pills{display:flex;gap:6px;flex-wrap:wrap}
.model-pill{padding:5px 12px;border-radius:20px;border:1px solid var(--border-light);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;font-family:var(--font);line-height:1.4}
.model-pill:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-hover)}
.model-pill.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}
.model-pill.active.orange{border-color:var(--orange);color:var(--orange);background:var(--orange-dim)}

#chat-list{flex:1;overflow-y:auto;padding:6px 8px}
.chat-item{padding:8px 10px;border-radius:var(--radius-xs);cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .12s;margin-bottom:1px;display:flex;align-items:center;gap:6px;position:relative}
.chat-item:hover{background:var(--bg-hover);color:var(--text-primary)}
.chat-item.active{background:var(--accent-dim);color:var(--text-primary)}
.chat-item .chat-preview{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-item .chat-delete{opacity:0;width:20px;height:20px;border-radius:4px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .12s;flex-shrink:0}
.chat-item:hover .chat-delete{opacity:1}
.chat-item .chat-delete:hover{background:rgba(239,68,68,.15);color:#ef4444}

.sidebar-footer{padding:10px 12px;border-top:1px solid var(--border)}
.btn-primary{width:100%;padding:9px;background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:var(--font);display:flex;align-items:center;justify-content:center;gap:6px}
.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px rgba(124,92,252,.3)}
.btn-primary:active{transform:translateY(0)}

#main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}
#chat-header{padding:10px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);min-height:50px;backdrop-filter:blur(20px)}
#chat-title{flex:1;font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#messages{flex:1;overflow-y:auto;padding:24px 0;scroll-behavior:smooth}

.message{padding:6px 24px;margin-bottom:4px;display:flex;gap:12px;animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.message-avatar{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;margin-top:2px}
.message.user .message-avatar{background:var(--accent);color:#fff}
.message.assistant .message-avatar{background:linear-gradient(135deg,var(--accent),#c084fc);color:#fff}
.message-body{flex:1;min-width:0;max-width:720px}
.message-role{font-size:12px;font-weight:600;margin-bottom:2px;color:var(--text-muted)}
.message.user .message-role{color:var(--accent-hover)}
.message.assistant .message-role{color:#c084fc}
.message-content{font-size:14px;line-height:1.65;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}
.message-content code{background:var(--bg-tertiary);padding:1px 5px;border-radius:4px;font-family:var(--mono);font-size:13px;color:#c084fc}
.message-content pre{background:var(--bg-secondary);padding:14px 16px;border-radius:var(--radius-sm);overflow-x:auto;margin:10px 0;border:1px solid var(--border)}
.message-content pre code{background:none;padding:0;color:var(--text-primary)}

.typing-indicator{display:inline-flex;gap:5px;padding:6px 0}
.typing-indicator span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite}
.typing-indicator span:nth-child(2){animation-delay:.2s}
.typing-indicator span:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}

#input-area{padding:12px 24px 20px;background:transparent}
.input-wrap{display:flex;gap:8px;align-items:flex-end;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius);padding:6px 6px 6px 16px;transition:border-color .2s,box-shadow .2s}
.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}
#user-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:14px;font-family:var(--font);resize:none;max-height:200px;line-height:1.5;outline:none;padding:6px 0}
#user-input::placeholder{color:var(--text-muted)}
.btn-send{width:34px;height:34px;border-radius:10px;background:var(--accent);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}
.btn-send:hover{background:var(--accent-hover);transform:scale(1.05)}
.btn-send:disabled{opacity:.3;cursor:not-allowed;transform:none}

.btn-icon{width:30px;height:30px;border-radius:8px;background:transparent;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}
.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}

#sidebar-toggle{display:none}

.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px 24px}
.welcome-icon{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--accent),#c084fc);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff;margin-bottom:16px}
.welcome h2{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:6px}
.welcome p{color:var(--text-secondary);font-size:13px;max-width:380px;line-height:1.6}
.welcome .model-badges{display:flex;gap:8px;margin-top:16px}
.welcome .model-badge{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:500;border:1px solid var(--border-light);color:var(--text-secondary)}

::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}

@media(max-width:768px){
#sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .3s ease;box-shadow:var(--shadow)}
#sidebar.open{transform:translateX(0)}
#sidebar-toggle{display:flex}
.message{padding:6px 16px}
#input-area{padding:10px 16px 16px}
}
