*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:#0f1115;color:#e6e8ee;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{display:flex;height:100vh;overflow:hidden;position:relative}.sidebar{width:280px;flex-shrink:0;background:#0b0d11;border-right:1px solid #1c1f26;display:flex;flex-direction:column}.sidebar-header{padding:14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1c1f26}.logo{font-weight:700;letter-spacing:2px;color:#7cc7ff}.btn-new{background:#1f6feb;color:#fff;border:none;padding:6px 10px;border-radius:8px;cursor:pointer;font-size:13px}.btn-new:hover{background:#2a7fff}.chat-list{flex:1;overflow-y:auto;padding:8px}.chat-item{display:flex;align-items:center;justify-content:space-between;padding:10px;border-radius:8px;cursor:pointer;color:#c8cdd8;font-size:14px}.chat-item:hover{background:#14171d}.chat-item.active{background:#1c2230;color:#fff}.chat-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:6px}.chat-del{background:transparent;border:none;color:#6b7280;cursor:pointer;font-size:12px}.chat-del:hover{color:#ff6b6b}.main{flex:1;display:flex;flex-direction:column;min-width:0}.header{padding:14px 18px;border-bottom:1px solid #1c1f26;display:flex;align-items:center;gap:12px;background:#0f1115}.btn-menu{display:none;background:transparent;border:1px solid #2a2f3a;color:#e6e8ee;border-radius:8px;padding:6px 10px;cursor:pointer}.header-title h1{margin:0;font-size:18px;letter-spacing:1px;color:#7cc7ff}.header-title p{margin:0;font-size:12px;color:#8b92a3}.messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.msg{display:flex}.msg.user{justify-content:flex-end}.msg.assistant{justify-content:flex-start}.bubble{max-width:80%;padding:10px 14px;border-radius:14px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}.msg.user .bubble{background:#1f6feb;color:#fff;border-bottom-right-radius:4px}.msg.assistant .bubble{background:#181b22;border:1px solid #232833;border-bottom-left-radius:4px}.meta{margin-top:6px;font-size:11px;color:#8b92a3}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8b92a3}.empty-logo{font-size:42px;letter-spacing:4px;color:#7cc7ff;font-weight:700}.typing span{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:#8b92a3;animation:blink 1.2s infinite}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.2}40%{opacity:1}}.composer{border-top:1px solid #1c1f26;padding:10px 16px 16px;background:#0f1115}.mode-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px;color:#8b92a3}.mode-toggle{display:inline-flex;background:#181b22;border-radius:10px;padding:3px;border:1px solid #232833}.mode-toggle button{border:none;background:transparent;color:#8b92a3;padding:5px 10px;border-radius:7px;cursor:pointer;font-size:12px}.mode-toggle button.on{background:#1f6feb;color:#fff}.input-row{display:flex;gap:8px;align-items:flex-end}.input-row textarea{flex:1;resize:none;min-height:42px;max-height:140px;padding:10px 12px;border-radius:12px;border:1px solid #232833;background:#14171d;color:#e6e8ee;font-size:14px;outline:none;font-family:inherit}.input-row textarea:focus{border-color:#1f6feb}.btn-send{background:#1f6feb;color:#fff;border:none;border-radius:12px;width:42px;height:42px;font-size:16px;cursor:pointer}.btn-send:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 720px){.sidebar{position:fixed;top:0;left:0;bottom:0;transform:translate(-100%);transition:transform .25s ease;z-index:20}.sidebar-open .sidebar{transform:translate(0)}.btn-menu{display:inline-block}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10}}
