*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;font-size:15px;background:#f5f6f8;color:#1a1b1e;height:100dvh;overflow:hidden}.layout{display:grid;grid-template-columns:260px 1fr;height:100dvh}.sidebar{background:#fff;border-right:1px solid #e0e2e8;display:flex;flex-direction:column;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid #e0e2e8}.sidebar-brand{font-weight:700;font-size:16px;letter-spacing:-.3px}.sidebar-brand-icon{color:#4f6ef7;margin-right:7px}.btn-new{background:#4f6ef7;color:#fff;border:none;border-radius:6px;width:28px;height:28px;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-new:hover{background:#3a59e8}.chat-list{flex:1;overflow-y:auto;padding:6px 0}.chat-item{display:flex;align-items:center;gap:6px;padding:9px 12px;cursor:pointer;border-radius:8px;margin:1px 6px;overflow:hidden;transition:background .12s}.chat-item:hover{background:#f0f1f4}.chat-item.active{background:#eef0fe;color:#4f6ef7}.chat-item.active .chat-actions,.chat-item:hover .chat-actions{opacity:1}.chat-title{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.chat-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.chat-actions button{background:none;border:none;cursor:pointer;font-size:13px;padding:2px 3px;border-radius:4px;opacity:.6;transition:opacity .1s}.chat-actions button:hover{opacity:1}.rename-input{flex:1;background:#fff;border:1px solid #4f6ef7;border-radius:4px;padding:2px 6px;color:#1a1b1e;font-size:14px;outline:none}.empty-hint{text-align:center;color:#6b7280;font-size:13px;padding:24px 12px}.sidebar-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid #e0e2e8;font-size:13px}.user-name{color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.btn-signout{background:none;border:1px solid #e0e2e8;border-radius:6px;color:#6b7280;font-size:12px;padding:4px 8px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}.btn-signout:hover{border-color:#dc2626;color:#dc2626}.main{display:flex;flex-direction:column;overflow:hidden;background:#f5f6f8}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#6b7280}.chat-empty-state{display:flex;align-items:center;justify-content:center;height:100%}.welcome{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.welcome h2{font-size:20px;color:#1a1b1e}.welcome p{color:#6b7280;font-size:14px}.welcome-actions{display:flex;gap:10px;align-items:center;margin-top:4px}.chat-view{display:flex;flex-direction:column;height:100%}.chat-header{display:flex;align-items:center;gap:12px;padding:10px 20px;border-bottom:1px solid #e0e2e8;background:#fff;flex-shrink:0}.chat-header h2{flex:1;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.header-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.model-select{background:#f0f1f4;border:1px solid #e0e2e8;border-radius:6px;padding:5px 10px;color:#1a1b1e;font-family:system-ui,-apple-system,sans-serif;font-size:13px;cursor:pointer;outline:none;transition:border-color .15s}.model-select:focus{border-color:#4f6ef7}.model-select:disabled{opacity:.5;cursor:default}.btn-icon{background:none;border:1px solid transparent;border-radius:6px;color:#6b7280;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:background .12s,color .12s,border-color .12s}.btn-icon:hover{background:#f0f1f4;color:#1a1b1e;border-color:#e0e2e8}.btn-icon.active{color:#4f6ef7;border-color:#eef0fe;background:#eef0fe}.settings-panel.new-chat-settings{background:#f5f6f8;border-bottom:1px solid #e0e2e8}.settings-panel.new-chat-settings textarea{rows:2}.settings-panel{background:#fff;border-bottom:1px solid #e0e2e8;padding:16px 20px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.settings-panel label{font-size:13px;color:#6b7280;font-weight:500}.system-prompt-input{background:#f0f1f4;border:1px solid #e0e2e8;border-radius:8px;padding:10px 12px;color:#1a1b1e;font-family:system-ui,-apple-system,sans-serif;font-size:14px;resize:vertical;outline:none;line-height:1.5;transition:border-color .15s}.system-prompt-input:focus{border-color:#4f6ef7;background:#fff}.settings-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.settings-actions .btn-icon{width:auto;padding:0 10px;gap:5px}.settings-actions .btn-icon span{font-size:13px}.btn-sm{padding:6px 14px;font-size:13px;display:flex;align-items:center;gap:6px}.messages{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px}.message{display:flex}.message.user{align-self:flex-end}.message.assistant{align-self:flex-start}.message-content{padding:11px 15px;border-radius:14px;line-height:1.6;white-space:pre-wrap;word-break:break-word;font-size:15px;max-width:680px;box-shadow:0 1px 3px #00000012}.message.user .message-content{background:#4f6ef7;color:#fff;border-bottom-right-radius:4px}.message.assistant .message-content{background:#fff;border:1px solid #e0e2e8;border-bottom-left-radius:4px}.cursor{display:inline-block;animation:blink .8s step-end infinite;margin-left:2px;color:#4f6ef7}@keyframes blink{50%{opacity:0}}.error-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 24px;background:#fef2f2;border-top:1px solid #fecaca;color:#dc2626;font-size:13px;flex-shrink:0}.error-banner button{background:none;border:none;cursor:pointer;color:#dc2626;font-size:14px;padding:0 4px;opacity:.7}.error-banner button:hover{opacity:1}.input-bar{display:flex;gap:10px;padding:16px 24px;border-top:1px solid #e0e2e8;background:#fff;flex-shrink:0;align-items:flex-end}.message-input{flex:1;background:#f0f1f4;border:1px solid #e0e2e8;border-radius:10px;padding:10px 14px;color:#1a1b1e;font-family:system-ui,-apple-system,sans-serif;font-size:15px;resize:none;outline:none;line-height:1.5;transition:border-color .15s}.message-input:focus{border-color:#4f6ef7;background:#fff}.message-input::placeholder{color:#6b7280}.message-input:disabled{opacity:.5}.btn-send{background:#4f6ef7;color:#fff;border:none;border-radius:10px;width:44px;height:44px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s}.btn-send:hover:not(:disabled){background:#3a59e8}.btn-send:disabled{opacity:.4;cursor:default}.splash{display:flex;align-items:center;justify-content:center;height:100dvh;background:#f5f6f8;color:#6b7280}.splash.error{flex-direction:column;gap:16px;color:#dc2626}.login-card{background:#fff;border:1px solid #e0e2e8;border-radius:20px;padding:52px 64px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px;min-width:340px;box-shadow:0 4px 24px #00000014}.login-card h1{font-size:28px;font-weight:700;letter-spacing:-.5px}.login-card p{color:#6b7280}.login-logo{width:72px;height:72px;background:linear-gradient(135deg,#4f6ef7,#844ff7);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;box-shadow:0 4px 16px #4f6ef759}.btn-primary{background:#4f6ef7;color:#fff;border:none;border-radius:8px;padding:10px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#3a59e8}.btn-primary.btn-lg{padding:13px 36px;font-size:16px}.btn-secondary{background:#fff;color:#1a1b1e;border:1px solid #e0e2e8;border-radius:8px;padding:10px 22px;font-size:15px;cursor:pointer;transition:border-color .15s}.btn-secondary:hover{border-color:#6b7280}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:#fff;border:1px solid #e0e2e8;border-radius:16px;padding:28px 32px;width:500px;max-width:calc(100vw - 40px);display:flex;flex-direction:column;gap:20px;box-shadow:0 8px 32px #00000024}.modal h2{font-size:19px}.modal label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:#6b7280}.modal label .hint{font-size:12px}.modal select,.modal textarea{background:#f0f1f4;border:1px solid #e0e2e8;border-radius:8px;padding:8px 12px;color:#1a1b1e;font-family:system-ui,-apple-system,sans-serif;font-size:15px;outline:none;transition:border-color .15s}.modal select:focus,.modal textarea:focus{border-color:#4f6ef7;background:#fff}.modal textarea{resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.model-settings{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid #e0e2e8;margin-top:4px}.model-setting-row{display:flex;flex-direction:column;gap:5px}.setting-label{display:flex;align-items:center;gap:7px;font-size:13px;color:#6b7280;font-weight:500}.setting-label svg{flex-shrink:0}.setting-label .setting-value{margin-left:auto;font-weight:400;color:#1a1b1e;font-size:12px;background:#f0f1f4;border:1px solid #e0e2e8;border-radius:4px;padding:1px 6px}.setting-slider{width:100%;accent-color:#4f6ef7;cursor:pointer;height:4px}.effort-buttons{display:flex;gap:5px}.effort-btn{flex:1;padding:5px 0;font-size:12px;font-family:system-ui,-apple-system,sans-serif;background:#f0f1f4;border:1px solid #e0e2e8;border-radius:6px;color:#6b7280;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.effort-btn:hover{background:#e4e6eb;color:#1a1b1e}.effort-btn.active{background:#eef0fe;border-color:#4f6ef7;color:#4f6ef7;font-weight:600}.thinking-block{margin-bottom:10px;border:1px solid #e0e2e8;border-radius:8px;overflow:hidden;font-size:13px}.thinking-header{display:flex;align-items:center;gap:7px;width:100%;background:#f0f1f4;border:none;padding:7px 10px;cursor:pointer;color:#6b7280;font-size:13px;text-align:left;transition:background .12s}.thinking-header:hover{background:#e7e9ee}.thinking-header .thinking-spinner{margin-left:auto}.thinking-body{padding:10px 12px;background:#fff;color:#6b7280;white-space:pre-wrap;word-break:break-word;line-height:1.55;max-height:300px;overflow-y:auto;font-family:monospace;font-size:12px}.tool-pill{margin-bottom:8px;border:1px solid #e0e2e8;border-radius:8px;overflow:hidden;font-size:13px}.tool-pill.pending .tool-status{color:#6b7280}.tool-pill.error .tool-status{color:#dc2626}.tool-pill:not(.pending):not(.error) .tool-status{color:#16a34a}.tool-pill-header{display:flex;align-items:center;gap:7px;width:100%;background:#f0f1f4;border:none;padding:7px 10px;cursor:pointer;color:#1a1b1e;font-size:13px;text-align:left;transition:background .12s}.tool-pill-header:hover{background:#e7e9ee}.tool-pill-header .tool-icon{color:#4f6ef7;flex-shrink:0}.tool-pill-header .tool-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6b7280}.tool-pill-header .tool-status{flex-shrink:0}.tool-pill-header .tool-chevron{flex-shrink:0;color:#6b7280;font-size:11px}.tool-result-body{padding:10px 12px;background:#fff;border-top:1px solid #e0e2e8}.tool-result-body pre{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.5;color:#6b7280;margin:0;max-height:300px;overflow-y:auto}.md{line-height:1.65}.md p{margin:0 0 .75em}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{font-weight:600;margin:1em 0 .4em;line-height:1.3}.md h1{font-size:1.25em}.md h2{font-size:1.1em}.md h3{font-size:1em}.md ul,.md ol{padding-left:1.4em;margin:.4em 0 .75em}.md li{margin-bottom:.2em}.md code{font-family:SF Mono,Fira Code,monospace;font-size:.875em;background:#f0f1f4;border:1px solid #e0e2e8;border-radius:4px;padding:1px 5px}.md pre{background:#1e1e2e;border-radius:8px;padding:14px 16px;overflow-x:auto;margin:.6em 0}.md pre code{background:none;border:none;padding:0;color:#cdd6f4;font-size:.85em}.md blockquote{border-left:3px solid #4f6ef7;margin:.5em 0;padding:4px 12px;color:#6b7280}.md table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:.9em}.md table th,.md table td{border:1px solid #e0e2e8;padding:6px 10px;text-align:left}.md table th{background:#f0f1f4;font-weight:600}.md a{color:#4f6ef7;text-decoration:none}.md a:hover{text-decoration:underline}.md hr{border:none;border-top:1px solid #e0e2e8;margin:1em 0}.message.user .md code{background:#ffffff26;border-color:#fff3;color:#fff}.message.user .md a{color:#ffffffe6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e0e2e8;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#c3c7d2}
