*{margin:0;padding:0;box-sizing:border-box}:root{--sidebar-bg: #171717;--main-bg: #212121;--message-user-bg: #2f2f2f;--message-assistant-bg: transparent;--text-primary: #ececec;--text-secondary: #b4b4b4;--text-muted: #8e8e8e;--border-color: #2f2f2f;--accent-color: #10a37f;--hover-bg: #2f2f2f;--input-bg: #2f2f2f}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:Söhne,"ui-sans-serif","system-ui",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;background-color:var(--main-bg);color:var(--text-primary);line-height:1.5}:root{--transition-instant: .08s;--transition-fast: .12s;--transition-normal: .15s;--ease-out-fast: cubic-bezier(.25, .46, .45, .94);--ease-out-snap: cubic-bezier(0, 0, .2, 1)}.model-dropdown,.code-canvas-panel,.preview-modal{will-change:transform;transform:translateZ(0)}.app{display:flex;height:100vh;width:100%;overflow:hidden}.sidebar{width:260px;background-color:var(--sidebar-bg);display:flex;flex-direction:column;transition:transform .15s var(--ease-out-snap),width .15s var(--ease-out-snap);flex-shrink:0;position:relative;height:100%}.sidebar.closed{width:0;transform:translate(-260px)}.sidebar-header{padding:12px;display:flex;flex-direction:column;gap:8px}.sidebar-top-actions{display:flex;flex-direction:column;gap:6px}.sidebar-nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:transparent;border:none;border-radius:10px;color:var(--text-primary);cursor:pointer;transition:background-color .08s;text-align:left}.sidebar-nav-btn:hover{background-color:var(--hover-bg)}.sidebar-nav-btn.coder-nav-btn,.sidebar-nav-btn.coder-nav-btn .sidebar-nav-label,.sidebar-nav-btn.coder-nav-btn .sidebar-nav-icon{color:#22c55e}.sidebar-nav-btn.coder-nav-btn svg{color:#22c55e}.sidebar-nav-btn.coder-nav-btn:hover{background-color:#22c55e1f}.sidebar-toggle-btn{width:auto;padding:6px;margin-bottom:8px;border-radius:0;background:transparent!important}.sidebar-toggle-btn:hover{background:transparent!important}.sidebar-toggle-btn .sidebar-nav-icon{opacity:.5;transition:opacity .08s}.sidebar-toggle-btn:hover .sidebar-nav-icon{opacity:1}.sidebar-nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-primary);opacity:.9}.sidebar-nav-icon svg{width:18px;height:18px}.sidebar-nav-label{font-size:14px;font-weight:500}.sidebar-search-wrap{padding:2px 4px 6px}.sidebar-search-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-primary);outline:none}.sidebar-search-input:focus{border-color:#fff3}.new-chat-btn{flex:1;display:flex;align-items:center;gap:8px;padding:12px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background-color .08s}.new-chat-btn:hover{background-color:var(--hover-bg)}.new-chat-btn svg{width:16px;height:16px}.toggle-sidebar{display:flex;align-items:center;justify-content:center;padding:12px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:background-color .08s}.toggle-sidebar:hover{background-color:var(--hover-bg)}.toggle-sidebar svg{width:16px;height:16px}.chats-section-header{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .08s;border-radius:8px;margin:4px 8px}.chats-section-header:hover{background-color:var(--hover-bg)}.chats-section-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-secondary);transition:transform .1s var(--ease-out-fast);transform:rotate(0)}.chats-section-chevron.expanded{transform:rotate(90deg)}.chats-section-chevron svg{width:14px;height:14px}.chats-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.chats-section-count{font-size:11px;color:var(--text-secondary);opacity:.7;margin-left:auto}.projects-section{border-bottom:1px solid var(--border-color);padding-bottom:8px;margin-bottom:4px}.projects-section-header{display:flex;align-items:center;gap:6px;padding:8px 12px;-webkit-user-select:none;user-select:none;border-radius:8px;margin:4px 8px}.projects-section-header .chats-section-chevron,.projects-section-header .chats-section-title,.projects-section-header .chats-section-count{cursor:pointer}.projects-section-header .chats-section-title:hover,.projects-section-header .chats-section-count:hover{color:var(--text-primary)}.projects-folder-btn{width:28px;height:28px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s var(--ease-out-fast)}.projects-folder-btn:hover{background:#10b98126;color:#10b981}.projects-folder-btn svg{width:18px;height:18px}.projects-title-clickable{flex:1}.projects-list{padding:4px 8px}.project-wrapper{margin-bottom:2px}.project-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;cursor:pointer;transition:background-color .08s}.project-item:hover{background-color:var(--hover-bg)}.project-item.active{background-color:#10b9811a}.project-chevron{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:transform .15s ease}.project-chevron svg{width:12px;height:12px}.project-chevron.expanded{transform:rotate(90deg)}.project-chats-list{padding-left:28px;margin-top:2px}.project-chat-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:6px;cursor:pointer;transition:background-color .08s}.project-chat-item:hover{background-color:var(--hover-bg)}.project-chat-item.active{background-color:#6366f126}.project-chat-item svg{width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.project-chat-title{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-chat-item.active .project-chat-title{color:var(--text-primary)}.project-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.project-name{font-size:14px;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-chat-count{font-size:11px;color:var(--text-muted);padding:2px 6px;background:#ffffff0f;border-radius:10px}.project-delete-btn{width:24px;height:24px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .1s var(--ease-out-fast)}.project-item:hover .project-delete-btn{opacity:1}.project-delete-btn:hover{background:#ef444426;color:#f87171}.project-delete-btn svg{width:14px;height:14px}.create-project-modal{width:480px;max-width:calc(100vw - 32px);background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;box-shadow:0 24px 80px #00000080}.create-project-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.create-project-header h2{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.create-project-header-actions{display:flex;gap:8px}.modal-close-btn{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s var(--ease-out-fast)}.modal-close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.modal-close-btn svg{width:18px;height:18px}.create-project-content{padding:20px;display:flex;flex-direction:column;gap:16px}.project-name-input-wrapper{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:12px;transition:border-color .08s}.project-name-input-wrapper:focus-within{border-color:#10b98180}.project-color-picker{position:relative;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease}.project-color-picker:hover{transform:scale(1.05)}.project-color-picker svg{width:18px;height:18px;color:#fff}.color-input-hidden{position:absolute;inset:0;opacity:0;cursor:pointer}.project-name-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:15px;outline:none}.project-name-input::placeholder{color:var(--text-muted)}.project-color-presets{display:flex;gap:8px;flex-wrap:wrap}.color-preset{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .08s var(--ease-out-fast)}.color-preset:hover{transform:scale(1.1)}.color-preset.active{border-color:#fff;box-shadow:0 0 0 2px #fff3}.project-info-box{display:flex;gap:12px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:12px}.project-info-box svg{width:20px;height:20px;color:var(--text-muted);flex-shrink:0;margin-top:1px}.project-info-box p{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.project-instructions-section{display:flex;flex-direction:column;gap:8px}.project-instructions-section label{font-size:13px;font-weight:500;color:var(--text-secondary)}.project-instructions-input{padding:12px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-primary);font-size:14px;line-height:1.5;resize:vertical;min-height:80px;outline:none;transition:border-color .08s}.project-instructions-input:focus{border-color:#10b98180}.project-instructions-input::placeholder{color:var(--text-muted)}.create-project-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:flex-end}.create-project-btn-primary{padding:10px 20px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .1s var(--ease-out-fast)}.create-project-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.create-project-btn-primary:disabled{opacity:.5;cursor:not-allowed}.conversation-list{flex:1;overflow-y:auto;padding:8px;transition:max-height .12s var(--ease-out-snap),opacity .1s;min-height:0}.conversation-list.collapsed{max-height:0;padding:0 8px;overflow:hidden;opacity:0}.conversation-list.has-dropdown{overflow:visible}.sidebar-footer{padding:12px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;margin-top:auto;flex-shrink:0}.sidebar-footer-row{display:flex;align-items:center;gap:8px}.sidebar-footer-row .user-profile{flex:1;min-width:0;background-color:var(--hover-bg);border-radius:8px;padding:8px;margin:0}.sidebar-footer-row .user-profile:hover{background-color:#ffffff14}.sidebar-settings-btn{width:40px;height:40px;border-radius:8px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .08s,color .08s,border-color .08s}.sidebar-settings-btn:hover{background-color:var(--hover-bg);color:var(--text-primary);border-color:#ffffff26}.sidebar-settings-btn svg{width:18px;height:18px}.sidebar-icon-actions{display:flex;gap:8px}.sidebar-icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:transparent;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);cursor:pointer;transition:background-color .08s}.sidebar-icon-btn:hover{background-color:var(--hover-bg)}.sidebar-icon-btn svg{width:18px;height:18px}.sidebar.hidden{opacity:0;pointer-events:none}.settings-btn{display:flex;align-items:center;gap:10px;padding:12px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;transition:background-color .08s}.settings-btn:hover{background-color:var(--hover-bg)}.settings-btn svg{width:16px;height:16px}.user-profile{display:flex;align-items:center;gap:10px;padding:8px;background-color:var(--hover-bg);border-radius:8px}.user-avatar{width:32px;height:32px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;flex-shrink:0}.user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background-color .08s;position:relative}.conversation-item:hover,.conversation-item.active{background-color:var(--hover-bg)}.conversation-item svg{width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.conversation-title{flex:1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-rename-input{flex:1;padding:4px 8px;font-size:13px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);outline:none}.conversation-rename-input:focus{border-color:#6366f1}.conversation-project-badge{width:8px;height:8px;border-radius:50%;flex-shrink:0}.conversation-item.in-project{padding-left:20px}.conversation-item.dropdown-open{z-index:100}.conversation-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .08s}.conversation-item:hover .conversation-actions{opacity:1}.conversation-action-btn{padding:4px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;transition:all .08s;display:flex;align-items:center;justify-content:center}.conversation-action-btn:hover{background:#ffffff14;color:var(--text-secondary)}.conversation-action-btn svg{width:13px;height:13px}.delete-btn{opacity:0;padding:4px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:opacity .08s,color .08s}.conversation-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:#ef4444}.delete-btn svg{width:14px;height:14px}.conversation-move-dropdown{position:absolute;top:100%;right:8px;z-index:9999;background:#1e1e1e;border:1px solid #3a3a3a;border-radius:8px;min-width:180px;max-width:220px;box-shadow:0 8px 24px #0009;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.conversation-move-header{padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color)}.conversation-move-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;text-align:left;transition:background .08s}.conversation-move-option:hover{background:#ffffff0d}.conversation-move-option.current{color:var(--text-primary);background:#6366f11a}.conversation-move-option.remove{color:#ef4444;border-bottom:1px solid var(--border-color)}.conversation-move-option.remove:hover{background:#ef44441a}.conversation-move-option .project-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.conversation-move-option .current-check{width:14px;height:14px;margin-left:auto;color:#10b981}.conversation-move-empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.chat-main{flex:1;display:flex;flex-direction:column;background-color:var(--main-bg);position:relative;overflow:hidden}.chat-view{position:absolute;inset:0;transition:opacity .15s var(--ease-out-snap);overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth}.chat-view.slide-in{opacity:1}.chat-view.slide-out{opacity:0;pointer-events:none}.settings-page{position:absolute;inset:0;transition:transform .15s var(--ease-out-snap),opacity .15s var(--ease-out-snap);overflow-y:auto;background-color:var(--main-bg)}.settings-page.slide-in{transform:translate(0);opacity:1}.settings-page.slide-out{transform:translate(100%);opacity:0}.deep-research-header{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:8px;z-index:10}.deep-research-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .08s,color .08s}.deep-research-back-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.deep-research-back-btn svg{width:18px;height:18px}.deep-research-title{font-size:14px;font-weight:600;color:var(--text-primary)}.deep-research-section-header{margin-top:8px;border-top:1px solid var(--border-color);padding-top:12px}.deep-research-section-header .deep-research-title{color:#a78bfa}.deep-research-section-header .deep-research-count{color:#a78bfa;background:#a78bfa26}.new-deep-research-btn{margin-left:auto;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:6px;color:#a78bfa;cursor:pointer;transition:background-color .08s}.new-deep-research-btn:hover{background:#a78bfa33}.new-deep-research-btn svg{width:14px;height:14px}.deep-research-list{max-height:200px;overflow-y:auto}.deep-research-item{border-left:3px solid transparent}.deep-research-item svg{color:#a78bfa}.deep-research-item.active{background:#a78bfa26;border-left-color:#a78bfa}.deep-research-item:hover{background:#a78bfa1a}.deep-research-empty{padding:12px 16px;color:var(--text-muted);font-size:13px;text-align:center}.settings-status-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border-color)}.settings-status-row:last-child{border-bottom:none}.settings-status-label{color:var(--text-muted);font-size:12px}.settings-status-value{color:var(--text-primary);font-size:13px;font-weight:600}.status-pill{padding:4px 10px;border-radius:999px;font-size:12px;text-transform:capitalize;background-color:#94a3b833;color:var(--text-secondary)}.status-pill.connected{background-color:#10b98133;color:#10b981}.status-pill.connecting{background-color:#f59e0b33;color:#f59e0b}.status-pill.error{background-color:#ef444433;color:#ef4444}.open-sidebar{position:absolute;top:12px;left:12px;padding:6px;background-color:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:0;z-index:10;opacity:.5;transition:opacity .08s}.open-sidebar:hover{background-color:transparent;opacity:1}.open-sidebar svg{width:20px;height:20px}.chat-container{display:flex;flex-direction:column;max-width:768px;width:100%;margin:0 auto;padding:0 24px;min-height:100%}.welcome-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.logo{width:72px;height:72px;margin-bottom:24px;color:var(--text-primary)}.logo svg{width:100%;height:100%}.welcome-screen h1{font-size:28px;font-weight:600;margin-bottom:32px}.active-agent-indicator{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#10b9811a,#0596691a);border:1px solid rgba(16,185,129,.3);border-radius:12px;margin-bottom:24px}.active-agent-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.active-agent-icon svg{width:24px;height:24px}.active-agent-info{display:flex;flex-direction:column;gap:4px}.active-agent-name{font-size:16px;font-weight:600;color:var(--text-primary)}.active-agent-label{font-size:13px;color:var(--text-muted)}.suggestions{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-width:600px}.suggestions button{padding:16px;background-color:transparent;border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:14px;text-align:left;cursor:pointer;transition:background-color .08s}.suggestions button:hover{background-color:var(--hover-bg)}.messages{flex:1;padding:24px 0;min-height:0}.message{display:flex;gap:16px;padding:16px 0}button,.message-action-btn,.send-btn,.sidebar-nav-btn,.delete-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.message-action-btn{will-change:transform;transform:translateZ(0);transition:transform .12s ease,background-color .12s ease,opacity .12s ease}.message-action-btn:active{transform:translateZ(0) scale(.96)}.message.user{justify-content:flex-end;padding:8px 0}.message.user .message-content{max-width:80%;display:flex;justify-content:flex-end}.message.assistant{background-color:transparent}.message.assistant.new-message{animation:messageSlideIn .15s var(--ease-out-snap)}.message.assistant.new-message .formatted-response{animation:textReveal .8s ease-out}.message.assistant.new-message .formatted-response p,.message.assistant.new-message .formatted-response li,.message.assistant.new-message .formatted-response h1,.message.assistant.new-message .formatted-response h2,.message.assistant.new-message .formatted-response h3{animation:lineReveal .15s var(--ease-out-snap) both}.message.assistant.new-message .formatted-response p:nth-child(1){animation-delay:0s}.message.assistant.new-message .formatted-response p:nth-child(2){animation-delay:.05s}.message.assistant.new-message .formatted-response p:nth-child(3){animation-delay:.1s}.message.assistant.new-message .formatted-response p:nth-child(4){animation-delay:.15s}.message.assistant.new-message .formatted-response p:nth-child(5){animation-delay:.2s}.message.assistant.new-message .formatted-response li:nth-child(1){animation-delay:0s}.message.assistant.new-message .formatted-response li:nth-child(2){animation-delay:.03s}.message.assistant.new-message .formatted-response li:nth-child(3){animation-delay:.06s}.message.assistant.new-message .formatted-response li:nth-child(4){animation-delay:.09s}.message.assistant.new-message .formatted-response li:nth-child(5){animation-delay:.12s}@keyframes textReveal{0%{opacity:.7}to{opacity:1}}@keyframes lineReveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-text.streaming{overflow:hidden}.message-text.streaming:after{content:"▋";display:inline;animation:cursorBlink .8s infinite;color:var(--text-muted);margin-left:2px}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.message.new-message .code-block-wrapper{animation:codeBlockSlideIn .12s var(--ease-out-snap)}.message.new-message .code-block-wrapper pre{position:relative;overflow:hidden}.message.new-message .code-block-wrapper pre code{animation:codeReveal 1.2s ease-out forwards;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 0%,transparent 0%);mask-image:linear-gradient(to bottom,black 0%,black 0%,transparent 0%)}.message.new-message .code-block-wrapper pre:after{content:"▌";position:absolute;left:12px;top:12px;color:#10b981;animation:cursorBlink .6s step-end infinite,cursorMove 1.2s ease-out forwards;font-family:Fira Code,Consolas,monospace;font-size:13px;text-shadow:0 0 8px rgba(16,185,129,.5);pointer-events:none}@keyframes codeBlockSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes codeReveal{0%{-webkit-mask-image:linear-gradient(to bottom,black 0%,transparent 5%);mask-image:linear-gradient(to bottom,black 0%,transparent 5%)}to{-webkit-mask-image:linear-gradient(to bottom,black 100%,black 100%);mask-image:linear-gradient(to bottom,#000 100% 100%)}}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:.3}}@keyframes cursorMove{0%{top:12px;opacity:1}95%{opacity:1}to{top:calc(100% - 24px);opacity:0}}.message:not(.new-message) .code-block-wrapper pre code{-webkit-mask-image:none;mask-image:none;animation:none}.message:not(.new-message) .code-block-wrapper pre:after{display:none}.message.user .message-content{max-width:80%}.message-avatar{flex-shrink:0;width:32px;height:32px}.user-avatar{width:32px;height:32px;background-color:var(--accent-color);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.assistant-avatar{width:32px;height:32px;color:var(--text-primary);background-color:#10a37f;border-radius:4px;padding:4px}.agent-avatar{width:32px;height:32px;background:linear-gradient(135deg,#10b981,#059669);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;flex-shrink:0}.message-content{flex:1;min-width:0}.message-role{font-size:14px;font-weight:600;margin-bottom:4px}.message-text{font-size:16px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.message-text p{margin:0 0 12px}.message-text p:last-child{margin-bottom:0}.message-text h1,.message-text h2,.message-text h3,.message-text h4{margin:20px 0 12px;font-weight:600;line-height:1.3}.message-text h1:first-child,.message-text h2:first-child,.message-text h3:first-child{margin-top:0}.message-text h1{font-size:1.5em}.message-text h2{font-size:1.3em}.message-text h3{font-size:1.15em}.message-text ul,.message-text ol{margin:12px 0;padding-left:24px}.message-text li{margin:6px 0}.message-text li>ul,.message-text li>ol{margin:4px 0}.message-text blockquote{margin:12px 0;padding:8px 16px;border-left:3px solid var(--accent-color);background:#ffffff08;border-radius:0 6px 6px 0}.message-text code:not(pre code){background:#ffffff14;padding:2px 6px;border-radius:4px;font-family:SF Mono,Fira Code,Monaco,monospace;font-size:.9em}.message-text a{color:var(--accent-color);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text strong{font-weight:600}.message-text hr{border:none;border-top:1px solid var(--border-color);margin:16px 0}.chat-image{display:block;max-width:512px;width:100%;height:auto;border-radius:12px;margin:16px auto;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 12px #00000026}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.gallery-item{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:#ffffff05}.gallery-thumb-wrapper{position:relative}.gallery-thumb-wrapper:hover .gallery-actions{opacity:1}.gallery-thumb{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;background:#111}.gallery-thumb-missing{display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px}.gallery-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px;opacity:0;transition:opacity .1s}.gallery-action-btn{width:32px;height:32px;border-radius:8px;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .08s,transform .08s}.gallery-action-btn:hover{transform:scale(1.05)}.gallery-action-btn svg{width:16px;height:16px}.gallery-download-btn{background:#3b82f6e6}.gallery-download-btn:hover{background:#2563eb}.gallery-delete-btn{background:#ef4444e6}.gallery-delete-btn:hover{background:#dc2626}.gallery-meta{padding:10px 12px}.gallery-prompt{font-size:12px;color:var(--text-primary);line-height:1.35;max-height:2.7em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.gallery-sub{margin-top:6px;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-page{position:fixed;inset:0 0 0 260px;background:var(--bg-primary);z-index:200;display:flex;flex-direction:column;overflow:hidden;transition:transform .12s var(--ease-out-snap),opacity .12s var(--ease-out-snap);pointer-events:none;opacity:0;transform:translate(100%)}.kb-page.slide-in{transform:translate(0);opacity:1;pointer-events:auto}.kb-page.slide-out{transform:translate(100%);opacity:0;pointer-events:none}.kb-header{display:flex;align-items:center;gap:16px;padding:24px 32px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.kb-back-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s var(--ease-out-fast);flex-shrink:0}.kb-back-btn:hover{background:var(--hover-bg);color:var(--text-primary);border-color:#ffffff26}.kb-back-btn svg{width:20px;height:20px}.kb-header-content{flex:1}.kb-title{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 4px;letter-spacing:-.5px}.kb-subtitle{font-size:14px;color:var(--text-muted);margin:0}.kb-tabs-container{padding:0 32px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.kb-tabs{display:flex;gap:0;margin:0;padding:0}.kb-tab{position:relative;padding:16px 24px;background:transparent;border:none;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .08s}.kb-tab:hover{color:var(--text-secondary)}.kb-tab.active{color:var(--text-primary)}.kb-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,#10b981,#059669);border-radius:2px 2px 0 0}.kb-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#10b98126;color:#10b981;font-size:11px;font-weight:600}.kb-content{flex:1;overflow-y:auto;padding:32px}.kb-panel{max-width:900px;margin:0 auto}.kb-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}.kb-panel-info h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.kb-panel-info p{font-size:14px;color:var(--text-muted);margin:0;line-height:1.5}.kb-refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .1s var(--ease-out-fast);flex-shrink:0}.kb-refresh-btn:hover:not(:disabled){background:var(--hover-bg);border-color:#ffffff26;color:var(--text-primary)}.kb-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.kb-refresh-btn svg{width:16px;height:16px}.kb-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:16px}.kb-empty-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#10b9811a,#0596691a);display:flex;align-items:center;justify-content:center;margin-bottom:20px}.kb-empty-icon svg{width:28px;height:28px;color:#10b981}.kb-empty-state h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.kb-empty-state p{font-size:14px;color:var(--text-muted);margin:0;max-width:300px}.kb-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:48px 32px;color:var(--text-muted);font-size:14px}.kb-loading-spinner{width:20px;height:20px;border:2px solid rgba(16,185,129,.2);border-top-color:#10b981;border-radius:50%;animation:kb-spin .8s linear infinite}@keyframes kb-spin{to{transform:rotate(360deg)}}.kb-memory-list{display:flex;flex-direction:column;gap:20px}.kb-memory-group{background:#ffffff05;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.kb-memory-group-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff08;border-bottom:1px solid var(--border-color)}.kb-memory-group-icon{font-size:16px}.kb-memory-group-title{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.kb-memory-group-count{font-size:11px;font-weight:600;padding:2px 8px;background:#ffffff14;border-radius:10px;color:var(--text-muted)}.kb-memory-group-items{display:flex;flex-direction:column}.kb-memory-item{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.05);transition:background-color .15s ease}.kb-memory-item:last-child{border-bottom:none}.kb-memory-item:hover{background:#ffffff08}.kb-memory-item-content{flex:1;min-width:0}.kb-memory-text{font-size:14px;color:var(--text-primary);line-height:1.5;margin:0 0 6px}.kb-memory-meta{display:flex;align-items:center;gap:12px}.kb-memory-confidence{font-size:11px;font-weight:500;color:#10b981;background:#10b9811a;padding:2px 6px;border-radius:4px}.kb-memory-date{font-size:11px;color:var(--text-muted)}.kb-memory-delete{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .1s var(--ease-out-fast);flex-shrink:0}.kb-memory-item:hover .kb-memory-delete{opacity:1}.kb-memory-delete:hover{background:#ef444426;color:#f87171}.kb-memory-delete svg{width:14px;height:14px}.kb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.kb-card{background:#ffffff08;border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all .1s var(--ease-out-fast)}.kb-card:hover{background:#ffffff0d;border-color:#ffffff1f}.kb-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.kb-card-type{display:inline-block;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:6px;background:#6366f126;color:#a5b4fc}.kb-card-type.preference{background:#10b98126;color:#6ee7b7}.kb-card-type.personal_detail{background:#f59e0b26;color:#fcd34d}.kb-card-type.project_context{background:#3b82f626;color:#93c5fd}.kb-card-type.fact{background:#8b5cf626;color:#c4b5fd}.kb-card-delete{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .1s var(--ease-out-fast)}.kb-card:hover .kb-card-delete{opacity:1}.kb-card-delete:hover{background:#ef444426;color:#f87171}.kb-card-delete svg{width:14px;height:14px}.kb-card-content{font-size:14px;color:var(--text-primary);line-height:1.6;margin:0 0 12px}.kb-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.06)}.kb-card-confidence{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.kb-card-confidence svg{width:14px;height:14px;color:#10b981}.kb-card-date{font-size:12px;color:var(--text-muted)}.kb-doc-list{display:flex;flex-direction:column;gap:8px}.kb-doc-item{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff08;border:1px solid var(--border-color);border-radius:10px;transition:all .1s var(--ease-out-fast)}.kb-doc-item:hover{background:#ffffff0d;border-color:#ffffff1f}.kb-doc-icon{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,#6366f126,#8b5cf626);display:flex;align-items:center;justify-content:center;flex-shrink:0}.kb-doc-icon svg{width:20px;height:20px;color:#a5b4fc}.kb-doc-info{flex:1;min-width:0}.kb-doc-title-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.kb-doc-title{font-size:14px;font-weight:500;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-doc-embedded-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;white-space:nowrap;flex-shrink:0}.kb-doc-embedded-badge svg{width:12px;height:12px}.kb-doc-pending-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:#fbbf2433;color:#fbbf24;white-space:nowrap;flex-shrink:0}.kb-doc-pending-badge svg{width:12px;height:12px;animation:spin 2s linear infinite}.kb-doc-chunks{font-size:11px;color:var(--text-muted)}.kb-doc-meta{display:flex;align-items:center;gap:12px}.kb-doc-type{font-size:11px;font-weight:500;text-transform:uppercase;padding:2px 8px;border-radius:4px;background:#ffffff14;color:var(--text-secondary)}.kb-doc-date{font-size:12px;color:var(--text-muted)}.kb-doc-delete{width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transition:all .1s var(--ease-out-fast)}.kb-doc-item:hover .kb-doc-delete{opacity:1}.kb-doc-delete:hover{background:#ef444426;color:#f87171}.kb-doc-delete svg{width:16px;height:16px}.kb-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:24px;padding:16px 0;border-top:1px solid var(--border-color)}.kb-pagination-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .1s var(--ease-out-fast)}.kb-pagination-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--text-muted)}.kb-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.kb-pagination-btn svg{width:16px;height:16px}.kb-pagination-info{font-size:14px;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.kb-pagination-total{font-size:12px;color:var(--text-muted)}.kb-graph-preview{background:#ffffff05;border:1px solid var(--border-color);border-radius:16px;padding:32px;text-align:center}.kb-graph-visual{position:relative;width:200px;height:200px;margin:0 auto 24px}.kb-graph-nodes{position:absolute;inset:0}.kb-graph-node{position:absolute;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#10b98133,#05966933);border:2px solid rgba(16,185,129,.4);display:flex;align-items:center;justify-content:center;animation:kb-pulse 3s ease-in-out infinite}.kb-graph-node svg{width:12px;height:12px;color:#10b981}.kb-graph-node.node-center{top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;background:linear-gradient(135deg,#10b981,#059669);border:none;animation-delay:0s}.kb-graph-node.node-center svg{width:16px;height:16px;color:#fff}.kb-graph-node.node-1{top:10%;left:15%;animation-delay:.5s}.kb-graph-node.node-2{top:10%;right:15%;animation-delay:1s}.kb-graph-node.node-3{bottom:10%;left:15%;animation-delay:1.5s}.kb-graph-node.node-4{bottom:10%;right:15%;animation-delay:2s}@keyframes kb-pulse{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}}.kb-graph-node.node-1,.kb-graph-node.node-2,.kb-graph-node.node-3,.kb-graph-node.node-4{transform:none}@keyframes kb-pulse-static{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.kb-graph-node:not(.node-center){animation-name:kb-pulse-static}.kb-graph-lines{position:absolute;inset:0;width:100%;height:100%;color:#10b981}.kb-graph-info{margin-bottom:32px}.kb-graph-info h3{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.kb-graph-info p{font-size:14px;color:var(--text-muted);margin:0 auto;max-width:400px;line-height:1.6}.kb-graph-metrics{display:flex;justify-content:center;gap:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.06)}.kb-metric{text-align:center}.kb-metric-value{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1;margin-bottom:6px;background:linear-gradient(135deg,#10b981,#6ee7b7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.kb-metric-label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}@media(max-width:900px){.kb-page{left:0}.kb-header{padding:20px}.kb-tabs-container{padding:0 20px}.kb-content{padding:24px 20px}.kb-cards{grid-template-columns:1fr}.kb-graph-metrics{flex-wrap:wrap;gap:24px}.kb-graph-toolbar{flex-direction:column;align-items:stretch}.kb-graph-search{max-width:none}.kb-graph-view-modes{align-self:flex-start}.kb-graph-filters{gap:6px}.kb-filter-btn{padding:4px 8px}.kb-filter-label{display:none}.kb-graph-stats-bar{gap:8px;padding:10px 12px}.kb-graph-stat{padding:3px 8px;font-size:11px}.kb-graph-minimap{width:90px;height:60px}}.kb-graph-panel{display:flex;flex-direction:column;height:100%;max-width:none}.kb-graph-header{display:flex;flex-direction:column;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color);margin-bottom:12px}.kb-graph-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.kb-graph-title-row .kb-panel-info h2{margin:0 0 4px}.kb-graph-title-row .kb-panel-info p{margin:0;font-size:12px;color:var(--text-muted)}.kb-graph-controls{display:flex;gap:6px;flex-shrink:0}.kb-zoom-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.kb-zoom-btn:hover{background:#ffffff14;border-color:#fff3;color:var(--text-primary)}.kb-zoom-btn.active{background:#6366f126;border-color:#6366f166;color:#818cf8}.kb-zoom-btn svg{width:16px;height:16px}.kb-graph-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.kb-graph-search{flex:1;min-width:180px;max-width:280px;position:relative;display:flex;align-items:center}.kb-graph-search svg{position:absolute;left:10px;width:16px;height:16px;color:var(--text-muted);pointer-events:none}.kb-graph-search input{width:100%;padding:8px 32px 8px 34px;border-radius:8px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-primary);font-size:13px;outline:none;transition:all .15s ease}.kb-graph-search input:focus{border-color:#6366f180;background:#ffffff0d}.kb-graph-search input::placeholder{color:var(--text-muted)}.kb-search-clear{position:absolute;right:8px;width:18px;height:18px;border:none;background:#ffffff1a;color:var(--text-muted);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;transition:all .1s ease}.kb-search-clear:hover{background:#ef444433;color:#f87171}.kb-graph-view-modes{display:flex;gap:4px;padding:4px;background:#ffffff08;border-radius:8px;border:1px solid var(--border-color)}.kb-view-btn{width:32px;height:28px;border:none;background:transparent;color:var(--text-muted);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.kb-view-btn:hover{background:#ffffff14;color:var(--text-secondary)}.kb-view-btn.active{background:#6366f126;color:#818cf8}.kb-view-btn svg{width:16px;height:16px}.kb-graph-limit{display:flex;align-items:center;gap:8px}.kb-graph-limit label{font-size:12px;color:var(--text-muted)}.kb-graph-limit select{padding:6px 28px 6px 10px;border-radius:6px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-primary);font-size:12px;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.kb-graph-limit select:hover{border-color:#fff3}.kb-graph-limit select:focus{border-color:#6366f180}.kb-graph-filters{display:flex;flex-wrap:wrap;gap:8px}.kb-filter-btn{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:16px;border:1.5px solid transparent;background:#ffffff0a;cursor:pointer;transition:all .15s ease}.kb-filter-btn:hover{background:#ffffff14}.kb-filter-btn.active{background:color-mix(in srgb,var(--filter-color) 12%,transparent);border-color:var(--filter-color)}.kb-filter-btn.inactive{opacity:.5}.kb-filter-btn.inactive .kb-filter-dot{background:var(--text-muted)!important}.kb-filter-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kb-filter-label{font-size:11px;font-weight:500;color:var(--text-secondary)}.kb-filter-count{font-size:10px;color:var(--text-muted);background:#ffffff14;padding:1px 5px;border-radius:8px}.kb-graph-rotation-hint{font-size:11px;color:var(--text-muted);text-align:center;padding:8px 0;opacity:.7}.kb-graph-container{flex:1;position:relative;background:linear-gradient(145deg,#0006,#0f0f1980);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;min-height:350px}.kb-graph-svg{width:100%;height:100%;display:block}.kb-graph-svg g{transition:opacity .2s ease}.kb-graph-minimap{position:absolute;bottom:12px;right:12px;width:120px;height:80px;background:#0009;border:1px solid rgba(255,255,255,.15);border-radius:8px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.85;transition:opacity .2s ease}.kb-graph-minimap:hover{opacity:1}.kb-graph-minimap svg{width:100%;height:100%}.kb-graph-tooltip{position:absolute;background:#0f0f14fa;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px;max-width:240px;pointer-events:none;z-index:100;box-shadow:0 8px 24px #00000080;animation:tooltipFadeIn .12s ease-out;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.kb-tooltip-type{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.kb-tooltip-content{font-size:12px;color:var(--text-primary);line-height:1.4;margin-bottom:6px;word-break:break-word;max-height:60px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical}.kb-tooltip-meta{font-size:10px;color:var(--text-muted);margin-top:3px}.kb-tooltip-meta+.kb-tooltip-meta{margin-top:2px}.kb-graph-stats-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-top:12px;background:#ffffff05;border:1px solid var(--border-color);border-radius:10px;flex-wrap:wrap}.kb-graph-stat{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);padding:4px 10px;background:#ffffff08;border-radius:6px}.kb-stat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kb-graph-selected{margin-left:auto;display:flex;align-items:center;gap:8px;padding:5px 10px;background:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:11px;color:var(--text-secondary)}.kb-graph-selected strong{color:var(--text-primary);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-deselect-btn{width:18px;height:18px;border-radius:50%;border:none;background:#ffffff1a;color:var(--text-muted);font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s ease}.kb-deselect-btn:hover{background:#ef444433;color:#f87171}.kb-graph-svg g[opacity]{transition:opacity .2s ease,transform .15s ease}.kb-graph-svg text{transition:opacity .3s ease;pointer-events:none;-webkit-user-select:none;user-select:none}.kb-graph-svg line{transition:stroke .2s ease,stroke-width .15s ease,opacity .2s ease}.kb-graph-svg circle{transition:r .15s ease,stroke-width .15s ease,opacity .2s ease}.kb-graph-legend{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px;background:#ffffff05;border-radius:10px;margin-top:12px}.kb-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.kb-legend-dot{width:12px;height:12px;border-radius:50%}@media(max-width:768px){.kb-graph-container{min-height:300px}.kb-graph-stats-bar{gap:16px;padding:12px 16px}.kb-graph-selected{margin-left:0;width:100%;justify-content:space-between}}.user-message-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:100%}.message-attachments{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:400px}.message-attachment-item{flex-shrink:0}.message-attachment-image{max-width:200px;max-height:150px;border-radius:12px;object-fit:cover;cursor:pointer;transition:transform .1s var(--ease-out-fast),box-shadow .1s;border:1px solid rgba(255,255,255,.1)}.message-attachment-image:hover{transform:scale(1.02);box-shadow:0 4px 20px #0000004d}.message-attachment-file{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:12px;max-width:220px}.attachment-file-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#6366f133,#8b5cf633);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attachment-file-icon svg{width:18px;height:18px;color:#a5b4fc}.attachment-file-icon.image-icon{background:linear-gradient(135deg,#10b98133,#05966933)}.attachment-file-icon.image-icon svg{color:#6ee7b7}.attachment-file-info{display:flex;flex-direction:column;min-width:0;flex:1}.attachment-file-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-file-size{font-size:11px;color:var(--text-muted)}.user-message-bubble{display:inline-block;background-color:#2f2f2f;padding:12px 16px;border-radius:18px 18px 4px;max-width:100%}.user-message-text{font-size:15px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.message-actions{display:flex;align-items:center;gap:4px;margin-top:12px;opacity:0;transition:opacity .1s}.message:hover .message-actions{opacity:1}.message-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;transition:background-color .15s,color .15s}.message-action-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.message-action-btn.active,.message-action-btn.active.liked{color:#10a37f}.message-action-btn.active.disliked{color:#ef4444}.message-action-btn:disabled{opacity:.5;cursor:not-allowed}.message-action-btn svg{width:16px;height:16px}.typing-status{font-size:13px;color:var(--text-muted);margin-bottom:4px;font-style:italic}.typing-indicator{display:flex;gap:4px;padding:8px 0}.typing-indicator span{width:8px;height:8px;background-color:var(--text-muted);border-radius:50%;animation:bounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.input-area{padding:16px 0 24px;position:sticky;bottom:0;background:var(--main-bg);z-index:10;margin-top:auto}.input-area.dragging{position:relative}.input-area.dragging .input-form{opacity:.3;pointer-events:none}.input-drop-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:10;background:#10b9810d;border-radius:16px;border:2px dashed #10b981;animation:dropPulse 1.5s ease-in-out infinite}@keyframes dropPulse{0%,to{border-color:#10b98180;background:#10b98108}50%{border-color:#10b981;background:#10b98114}}.drop-indicator{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px}.drop-indicator svg{width:40px;height:40px;color:#10b981;animation:dropBounce 1s ease-in-out infinite}@keyframes dropBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.drop-indicator span{font-size:14px;font-weight:600;color:#10b981}.input-form{width:100%}.input-wrapper{display:flex;flex-direction:column;background-color:var(--input-bg);border-radius:16px;border:1px solid var(--border-color);padding:0;transition:border-color .15s ease-out,box-shadow .15s ease-out;transform:translateZ(0);contain:layout style;isolation:isolate}.input-wrapper:focus-within{border-color:#444;box-shadow:0 0 0 2px #8b5cf61a}.input-wrapper textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:15px;font-family:inherit;resize:none;max-height:200px;padding:16px 16px 12px;line-height:1.5;min-height:52px;transform:translateZ(0);will-change:height;contain:layout style;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.input-wrapper textarea::placeholder{color:var(--text-muted)}.input-bottom-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 12px}.input-actions-left{display:flex;align-items:center;gap:4px}.input-actions-right{display:flex;align-items:center;gap:12px;position:relative}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .08s,color .08s}.action-btn:hover,.action-btn.active{background-color:var(--hover-bg);color:var(--text-primary)}.action-btn svg{width:18px;height:18px}.model-selector{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;cursor:pointer;transition:background-color .08s;-webkit-user-select:none;user-select:none}.search-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .1s var(--ease-out-fast);font-size:12px;font-weight:500}.search-toggle-btn svg{width:16px;height:16px}.search-toggle-btn:hover{background-color:#10b9811a;border-color:#10b9814d;color:#10b981}.search-toggle-btn.active{background:linear-gradient(135deg,#10b981,#059669);border-color:transparent;color:#fff;box-shadow:0 2px 8px #10b9814d}.search-toggle-btn.active:hover{background:linear-gradient(135deg,#059669,#047857)}.search-label{font-weight:600;letter-spacing:.5px}.model-selector-container{position:relative;overflow:visible}.model-dropdown{position:absolute;bottom:calc(100% + 8px);right:0;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:12px;padding:6px;min-width:220px;box-shadow:0 8px 32px #0006;animation:dropdownIn .1s var(--ease-out-fast);z-index:9999}@keyframes dropdownIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.model-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background-color .08s;text-align:left}.model-option:hover{background-color:var(--hover-bg)}.model-option.selected{background-color:#8b5cf626}.model-option.selected:hover{background-color:#8b5cf640}.model-option-name{font-size:13px;color:var(--text-primary);font-weight:500}.model-option-badge{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:lowercase}.model-option-empty{padding:16px 12px;font-size:12px;color:var(--text-muted);text-align:center}.model-selector:hover{background-color:#ffffff0d}.model-name{font-size:13px;color:var(--text-secondary);font-weight:500}.model-badge{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;text-transform:lowercase}.model-badge.agent{background:linear-gradient(135deg,#10b981,#059669)}.model-badge.openrouter{background:linear-gradient(135deg,#0ea5e9,#22c55e)}.model-badge.mcp{background:linear-gradient(135deg,#f59e0b,#d97706)}.model-badge.lmstudio{background:linear-gradient(135deg,#ec4899,#a855f7)}.dropdown-icon{width:14px;height:14px;color:var(--text-muted)}.send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:50%;cursor:pointer;transition:opacity .1s,transform .1s,box-shadow .1s;flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #8b5cf666}.send-btn:disabled{background:var(--border-color);cursor:not-allowed;opacity:.5}.send-btn svg{width:16px;height:16px;color:#fff}.send-btn.uploading{background:linear-gradient(135deg,#6366f1,#8b5cf6);opacity:.8}.send-btn.stop{background:#ef4444f2}.send-btn.stop:hover:not(:disabled){box-shadow:0 4px 12px #ef444459}.upload-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.disclaimer{text-align:center;font-size:12px;color:var(--text-muted);margin-top:12px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#555}@media(max-width:768px){.sidebar{position:absolute;z-index:100;height:100%}.sidebar.closed{transform:translate(-100%)}.suggestions{grid-template-columns:1fr}.chat-container,.code-chat-container{padding:0 16px}.welcome-screen h1{font-size:24px}.upload-modal{margin:16px;max-width:calc(100% - 32px)}.settings-page-header{padding:16px}.settings-page-content{padding:24px 16px}.settings-page-header h1{font-size:20px}.settings-back-btn{padding:8px 12px}.settings-button-row{flex-direction:column}.settings-test-btn,.settings-import-btn{width:100%}.webhook-status{flex-direction:column;align-items:stretch}.webhook-status-info,.webhook-clear-btn{width:100%}.settings-add-agent-form{padding:16px}.settings-form-row input,.settings-form-row textarea{padding:10px 12px}}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:1000;animation:toastIn .3s ease,toastOut .3s ease 1.7s forwards;box-shadow:0 4px 12px #0000004d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}.attach-container{position:relative}.attach-menu{position:absolute;bottom:calc(100% + 8px);left:0;background-color:#1e1e1e;border:1px solid var(--border-color);border-radius:12px;padding:8px;min-width:280px;box-shadow:0 8px 32px #0006;animation:attachMenuIn .2s ease;z-index:100}@keyframes attachMenuIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.attach-menu-header{padding:8px 12px 12px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.attach-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background-color .08s;text-align:left}.attach-option:hover{background-color:var(--hover-bg)}.attach-option-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.attach-option-icon svg{width:20px;height:20px}.attach-option-icon.image{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.attach-option-icon.document{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.attach-option-icon.code{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.attach-option-icon.file{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.attach-option-text{display:flex;flex-direction:column;gap:2px}.attach-option-title{font-size:14px;font-weight:500;color:var(--text-primary)}.attach-option-desc{font-size:12px;color:var(--text-muted)}.attached-files{display:flex;flex-wrap:wrap;gap:8px;padding:12px 12px 0;position:relative}.attached-files.uploading{opacity:.6;pointer-events:none}.attached-files-uploading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;background:#000c;padding:8px 16px;border-radius:8px;z-index:10;font-size:13px;color:var(--text-primary)}.attached-file{display:flex;align-items:center;gap:10px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:10px;padding:8px 10px;max-width:200px;position:relative;animation:fileSlideIn .3s ease-out;overflow:hidden}@keyframes fileSlideIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.attached-file:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:fileShimmer 1.5s ease-in-out infinite}@keyframes fileShimmer{0%{left:-100%}50%,to{left:100%}}.attached-files:not(.uploading) .attached-file:before{animation:none;display:none}.attached-file:hover .remove-file-btn{opacity:1}.file-progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff1a;border-radius:0 0 10px 10px;overflow:hidden}.file-progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width .1s var(--ease-out-fast);border-radius:0 0 10px 10px}.file-preview-image{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0}.file-icon{width:40px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background-color:#3a3a3a;color:var(--text-secondary)}.file-icon svg{width:20px;height:20px}.file-icon.pdf{background-color:#ef444433;color:#ef4444}.file-icon.image{background-color:#10b98133;color:#10b981}.file-icon.code{background-color:#f59e0b33;color:#f59e0b}.file-icon.doc{background-color:#3b82f633;color:#3b82f6}.file-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.file-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--text-muted)}.remove-file-btn{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background-color:#444;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,background-color .15s}.remove-file-btn:hover{background-color:#ef4444}.remove-file-btn svg{width:12px;height:12px}.upload-modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.upload-modal{background-color:#1e1e1e;border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;animation:modalIn .3s ease;box-shadow:0 20px 60px #00000080}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.upload-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.upload-modal-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.upload-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.upload-modal-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.upload-modal-close svg{width:18px;height:18px}.upload-modal-content{flex:1;overflow-y:auto;padding:24px}.upload-dropzone{border:2px dashed var(--border-color);border-radius:12px;padding:40px 24px;text-align:center;transition:border-color .08s,background-color .08s;cursor:pointer}.upload-dropzone:hover{border-color:#555;background-color:#ffffff05}.upload-dropzone.dragging{border-color:#8b5cf6;background-color:#8b5cf61a}.upload-dropzone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.upload-dropzone-icon{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#8b5cf6,#a855f7);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:8px}.upload-dropzone-icon svg{width:32px;height:32px}.upload-dropzone-text{font-size:16px;font-weight:500;color:var(--text-primary);margin:0}.upload-dropzone-subtext{font-size:13px;color:var(--text-muted);margin:0}.upload-file-input{display:none}.upload-browse-btn{margin-top:16px;padding:10px 20px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.upload-browse-btn:hover{background-color:#333;border-color:#444}.upload-files-list{margin-top:24px;display:flex;flex-direction:column;gap:16px}.upload-files-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.upload-files-count{font-size:13px;color:var(--text-secondary);font-weight:500}.upload-clear-all{font-size:13px;color:#ef4444;background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background-color .08s}.upload-clear-all:hover{background-color:#ef44441a}.upload-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.upload-file-item{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:10px;position:relative;transition:border-color .15s}.upload-file-item:hover{border-color:#444}.upload-file-preview{width:100%;height:120px;display:flex;align-items:center;justify-content:center;border-radius:6px;background-color:#1a1a1a;overflow:hidden}.upload-file-preview img{width:100%;height:100%;object-fit:cover}.upload-file-icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.upload-file-icon svg{width:24px;height:24px}.upload-file-icon.pdf{background-color:#ef444433;color:#ef4444}.upload-file-icon.image{background-color:#10b98133;color:#10b981}.upload-file-icon.code{background-color:#f59e0b33;color:#f59e0b}.upload-file-icon.file{background-color:#3b82f633;color:#3b82f6}.upload-file-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.upload-file-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-file-size{font-size:11px;color:var(--text-muted)}.upload-file-remove{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:6px;background-color:#333;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,background-color .15s}.upload-file-item:hover .upload-file-remove{opacity:1}.upload-file-remove:hover{background-color:#ef4444}.upload-file-remove svg{width:14px;height:14px}.upload-modal-actions{display:flex;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.upload-cancel-btn{flex:1;padding:12px 20px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.upload-cancel-btn:hover{background-color:var(--hover-bg);border-color:#444}.upload-confirm-btn{flex:1;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s,box-shadow .15s}.upload-confirm-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.profile-modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.profile-modal{background-color:#1e1e1e;border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;animation:modalIn .3s ease;box-shadow:0 20px 60px #00000080}.profile-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.profile-modal-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.profile-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.profile-modal-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.profile-modal-close svg{width:18px;height:18px}.profile-modal-content{flex:1;overflow-y:auto;padding:24px}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:24px}.profile-avatar-large{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;color:#fff}.profile-email{font-size:13px;color:var(--text-secondary);margin:0}.profile-form{display:flex;flex-direction:column;gap:16px}.profile-field{display:flex;flex-direction:column;gap:6px}.profile-field label{font-size:13px;font-weight:500;color:var(--text-secondary)}.profile-field input,.profile-field textarea{padding:12px 14px;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s,box-shadow .15s}.profile-field input:focus,.profile-field textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.profile-field input::placeholder,.profile-field textarea::placeholder{color:var(--text-secondary);opacity:.6}.profile-field textarea{resize:vertical;min-height:80px}.profile-error{color:#ef4444;font-size:13px;margin:0;padding:8px 12px;background-color:#ef44441a;border-radius:8px}.profile-actions{display:flex;gap:12px;margin-top:8px}.profile-cancel-btn{flex:1;padding:12px 20px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.profile-cancel-btn:hover{background-color:var(--hover-bg);border-color:#444}.profile-save-btn{flex:1;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s}.profile-save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-hint{font-size:12px;color:var(--text-secondary);text-align:center;margin:20px 0 0;opacity:.7}.profile-logout-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.profile-logout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;color:#f87171;font-size:14px;font-weight:500;cursor:pointer;transition:all .1s var(--ease-out-fast)}.profile-logout-btn:hover{background:#ef444426;border-color:#ef44444d}.profile-logout-btn svg{width:18px;height:18px}.user-profile.clickable{cursor:pointer;transition:background-color .08s}.settings-modal-overlay{position:fixed;inset:0;background-color:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.settings-modal{background-color:#1e1e1e;border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;animation:modalIn .3s ease;box-shadow:0 20px 60px #00000080}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color)}.settings-modal-header h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.settings-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s}.settings-modal-close:hover{background-color:var(--hover-bg);color:var(--text-primary)}.settings-modal-close svg{width:18px;height:18px}.settings-modal-content{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:24px}.settings-section{display:flex;flex-direction:column;gap:16px}.settings-section h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.settings-description{font-size:13px;color:var(--text-muted);margin:0;line-height:1.5}.settings-input-group{display:flex;flex-direction:column;gap:8px}.settings-input-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.settings-input-group input{padding:12px 16px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s}.settings-input-group input:focus{outline:none;border-color:#8b5cf6}.settings-input-group.input-error input{border-color:#ef4444}.settings-input-group.input-error input:focus{border-color:#ef4444}.settings-input-group input::placeholder{color:var(--text-muted)}.settings-error-message{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:13px;color:#ef4444;line-height:1.5}.settings-error-message svg{width:18px;height:18px;flex-shrink:0;margin-top:1px}.settings-button-row{display:flex;gap:12px;margin-top:8px}.settings-test-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.settings-test-btn:hover:not(:disabled){background-color:var(--hover-bg);border-color:#444}.settings-test-btn:disabled{opacity:.7;cursor:not-allowed}.settings-test-btn svg{width:16px;height:16px}.settings-clear-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.settings-clear-btn:hover{background-color:#ef44441a;border-color:#ef44444d;color:#f87171}.settings-clear-btn svg{width:14px;height:14px}.settings-help-text{margin-top:16px;padding:12px 14px;background-color:#8b5cf60d;border:1px solid rgba(139,92,246,.2);border-radius:8px;font-size:12px;color:var(--text-muted);line-height:1.6}.settings-help-text strong{color:var(--text-secondary);font-weight:600}.settings-help-text code{display:block;margin-top:8px;padding:10px 12px;background-color:#1a1a1a;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:11px;color:#8b5cf6;word-break:break-all;white-space:pre-wrap}.webhook-status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:12px}.webhook-status-info{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.webhook-status-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.webhook-status-icon.connected{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.webhook-status-icon svg{width:20px;height:20px}.webhook-status-details{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.webhook-status-title{font-size:14px;font-weight:600;color:var(--text-primary)}.webhook-status-url{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.webhook-clear-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.webhook-clear-btn:hover{background-color:var(--hover-bg);border-color:#ef4444;color:#ef4444}.webhook-clear-btn svg{width:16px;height:16px}.settings-clear-error-btn{margin-top:12px;padding:10px 16px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background-color .15s,border-color .15s}.settings-clear-error-btn:hover{background-color:var(--hover-bg);border-color:#444}.settings-toggle-form-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:background-color .15s,border-color .15s}.settings-toggle-form-btn:hover{background-color:var(--hover-bg);border-color:#444}.settings-chevron{width:16px;height:16px;transition:transform .1s}.settings-chevron.open{transform:rotate(180deg)}.settings-add-agent-form{display:flex;flex-direction:column;gap:16px;padding:20px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:12px}.settings-form-row{display:flex;flex-direction:column;gap:8px}.settings-form-row label{font-size:13px;font-weight:500;color:var(--text-primary)}.settings-form-row input,.settings-form-row textarea{padding:12px 14px;background-color:#1a1a1a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit;transition:border-color .15s;resize:vertical}.settings-form-row input:focus,.settings-form-row textarea:focus{outline:none;border-color:#8b5cf6}.settings-form-row textarea{min-height:80px}.settings-form-hint{font-size:12px;color:var(--text-secondary);margin-top:4px}.settings-add-agent-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s}.settings-add-agent-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.settings-add-agent-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.settings-add-agent-btn svg{width:16px;height:16px}.settings-form-actions{display:flex;gap:10px;margin-top:8px}.settings-cancel-btn{padding:12px 20px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.settings-cancel-btn:hover{background:#ffffff0d;border-color:#ffffff4d;color:var(--text-primary)}.settings-help-tip{margin-top:12px;padding:12px 14px;background-color:#10b9811a;border:1px solid rgba(16,185,129,.3);border-radius:8px;font-size:12px;color:#10b981;line-height:1.5}.settings-help-error-tip{margin-top:12px;padding:12px 14px;background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;font-size:12px;color:#ef4444;line-height:1.6}.settings-import-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:transform .15s,box-shadow .15s}.settings-import-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.settings-import-btn:disabled{opacity:.7;cursor:not-allowed}.settings-import-btn{flex:1}.settings-import-btn svg{width:16px;height:16px}.settings-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.settings-section-header{display:flex;align-items:center;justify-content:space-between}.agents-count{font-size:12px;color:var(--text-muted);background-color:#2a2a2a;padding:4px 10px;border-radius:12px}.agents-list{display:flex;flex-direction:column;gap:12px}.agent-card{display:flex;align-items:flex-start;justify-content:space-between;padding:16px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:12px;transition:border-color .15s}.agent-card:hover{border-color:#444}.agent-info{display:flex;gap:12px;flex:1;min-width:0}.agent-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#a855f7);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.agent-icon svg{width:20px;height:20px}.agent-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.agent-name{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.agent-description{font-size:12px;color:var(--text-muted);margin:0;line-height:1.4}.agent-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.agent-tag{font-size:11px;color:var(--text-secondary);background-color:#3a3a3a;padding:3px 8px;border-radius:6px}.agent-webhook-url{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;color:var(--text-secondary)}.agent-webhook-url svg{width:12px;height:12px;flex-shrink:0;opacity:.6}.webhook-url-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:250px;opacity:.7}.agent-system-prompt-preview{display:flex;align-items:flex-start;gap:6px;margin-top:8px;font-size:11px;color:var(--text-secondary);padding:8px 10px;background:#6366f114;border-radius:6px;border-left:2px solid #6366f1}.agent-system-prompt-preview svg{width:12px;height:12px;flex-shrink:0;opacity:.7;margin-top:1px}.system-prompt-text{line-height:1.4;opacity:.8;word-break:break-word}.system-prompt-textarea{font-family:SF Mono,Fira Code,monospace;font-size:13px;line-height:1.5;resize:vertical;min-height:100px}.agent-actions{display:flex;gap:6px}.agent-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}.agent-action-btn:hover{background-color:var(--hover-bg);border-color:#555;color:var(--text-primary)}.agent-action-btn svg{width:16px;height:16px}.agent-delete-btn:hover{border-color:#ef4444;color:#ef4444}.agent-edit-btn:hover{border-color:#6366f1;color:#6366f1}.settings-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.settings-form-header h4{font-size:16px;font-weight:600;margin:0;color:var(--text-primary)}.settings-form-close{width:28px;height:28px;border:none;background:#ffffff0d;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.settings-form-close:hover{background:#ef444426;color:#f87171}.settings-form-close svg{width:16px;height:16px}.settings-form-actions{display:flex;gap:10px;margin-top:16px}.settings-cancel-btn{padding:10px 18px;border:1px solid var(--border-color);background:transparent;border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.settings-cancel-btn:hover{background:#ffffff0d;color:var(--text-primary)}.settings-modal-footer{padding:20px 24px;border-top:1px solid var(--border-color)}.settings-close-btn{width:100%;padding:12px 20px;background-color:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.settings-close-btn:hover{background-color:var(--hover-bg);border-color:#444}.settings-page-header{display:flex;align-items:center;gap:20px;padding:24px;border-bottom:1px solid var(--border-color);position:sticky;top:0;background-color:var(--main-bg);z-index:10}.settings-back-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background-color .08s,border-color .08s}.settings-back-btn:hover{background-color:var(--hover-bg);border-color:#444}.settings-back-btn svg{width:18px;height:18px}.settings-page-header h1{font-size:24px;font-weight:600;margin:0;color:var(--text-primary)}.settings-page-content{max-width:800px;width:100%;margin:0 auto;padding:40px 24px;display:flex;flex-direction:column;gap:32px}.settings-tabs{display:flex;gap:10px;padding:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px}.settings-tab{flex:1;padding:10px 12px;background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .08s var(--ease-out-fast)}.settings-tab:hover{border-color:#fff3;color:var(--text-primary)}.settings-tab.active{background:#10b9811f;border-color:#10b98159;color:#10b981}.openrouter-connect-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.mcp-server-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.mcp-server-item{padding:14px 16px;border:1px solid var(--border-color);border-radius:12px;background:#ffffff05}.mcp-server-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mcp-server-info{flex:1;min-width:0}.mcp-server-name{font-weight:600;color:var(--text-primary);font-size:14px;margin-bottom:4px}.mcp-server-url{color:var(--text-muted);font-size:12px;word-break:break-all}.mcp-server-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.openrouter-connect-btn.small{padding:6px 12px;font-size:12px}.settings-delete-btn.small{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .1s}.settings-delete-btn.small:hover{background:#ef44441a;border-color:#ef44444d;color:#f87171}.settings-delete-btn.small svg{width:14px;height:14px}.mcp-flow-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.mcp-flow-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border-color);border-radius:12px;background:#ffffff05}.mcp-flow-name{font-weight:600;color:var(--text-primary);font-size:14px;margin-bottom:4px}.mcp-flow-desc{color:var(--text-muted);font-size:13px;line-height:1.45}.mcp-flow-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:var(--text-secondary);font-size:12px;white-space:nowrap;opacity:.8;padding-top:2px}.mcp-flow-server{background:#6366f126;color:#a5b4fc;padding:2px 8px;border-radius:6px;font-size:11px}.mcp-flow-inputs{color:var(--text-muted);font-size:11px}.mcp-workflows-section{margin-top:14px;padding-top:14px;border-top:1px solid var(--border-color)}.mcp-workflows-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mcp-workflows-title{font-size:13px;font-weight:600;color:var(--text-secondary)}.mcp-workflows-list{display:flex;flex-direction:column;gap:8px}.mcp-workflow-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:8px}.mcp-workflow-info{flex:1;min-width:0}.mcp-workflow-name{font-weight:500;color:var(--text-primary);font-size:13px}.mcp-workflow-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.mcp-workflow-project{background:#10b98126;color:#6ee7b7;padding:2px 8px;border-radius:6px;font-size:11px}.mcp-workflow-desc{color:var(--text-muted);font-size:12px}.mcp-workflow-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.mcp-workflow-id{color:var(--text-muted);font-size:11px;font-family:monospace;white-space:nowrap}.mcp-workflows-empty{color:var(--text-muted);font-size:12px;padding:8px 0}.settings-inline-search input{width:240px;max-width:40vw;padding:10px 12px;background:#00000040;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);outline:none}.settings-inline-search input:focus{border-color:#10b98173;box-shadow:0 0 0 3px #10b9811f}.openrouter-connect-actions{display:flex;gap:10px}.openrouter-status{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted)}.openrouter-status-dot{width:8px;height:8px;border-radius:999px;background:#ffffff40}.openrouter-status.connected .openrouter-status-dot{background:#22c55e}.openrouter-status.connecting .openrouter-status-dot{background:#f59e0b}.openrouter-status.error .openrouter-status-dot{background:#ef4444}.settings-form-row select{padding:12px 14px;background-color:#2a2a2a;border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;font-family:inherit}.settings-form-row select:focus{outline:none;border-color:#8b5cf6}.settings-page-section{display:flex;flex-direction:column;gap:20px}.settings-page-section h2{font-size:20px;font-weight:600;margin:0;color:var(--text-primary)}.settings-page-description{font-size:14px;color:var(--text-muted);margin:0;line-height:1.6}.settings-page-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.formatted-response{line-height:1.7;min-height:1.7em}.formatted-response p{margin:0 0 12px}.formatted-response p:last-child{margin-bottom:0}.formatted-response h2{font-size:18px;font-weight:600;color:var(--text-primary);margin:16px 0 8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.formatted-response h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:14px 0 6px}.formatted-response h4{font-size:14px;font-weight:600;color:var(--text-secondary);margin:12px 0 4px}.formatted-response strong{color:var(--text-primary);font-weight:600}.formatted-response em{font-style:italic;color:var(--text-secondary)}.formatted-response ul{margin:8px 0;padding-left:0;list-style:none}.formatted-response li{position:relative;padding-left:20px;margin:6px 0;line-height:1.6}.formatted-response li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:linear-gradient(135deg,#8b5cf6,#a855f7);border-radius:50%}.formatted-response a{color:#60a5fa;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .08s}.formatted-response a:hover{border-bottom-color:#60a5fa}.formatted-response .chat-image{display:block;max-width:512px;width:100%;margin:20px auto;border-radius:12px;box-shadow:0 4px 16px #0003}.formatted-response .code-block-wrapper{margin:12px 0;border-radius:6px;overflow:hidden;background:#1e1e1e}.formatted-response .code-block-header{display:flex;align-items:center;justify-content:space-between;padding:2px 10px;background:#2a2a2a;border-bottom:1px solid #333}.formatted-response .code-block-lang{font-size:10px;font-weight:400;color:#888}.formatted-response .code-block-copy{display:flex;align-items:center;gap:4px;padding:0;background:transparent;border:none;color:#888;font-size:11px;cursor:pointer;transition:color .08s}.formatted-response .code-block-copy{width:24px;height:24px;justify-content:center;border-radius:6px}.formatted-response .code-block-copy svg{width:15px;height:15px}.formatted-response .code-block-copy .copy-icon{display:block}.formatted-response .code-block-copy .check-icon{display:none}.formatted-response .code-block-copy:hover{color:#fff}.formatted-response .code-block-copy.copied{color:#10b981}.formatted-response .code-block-copy.copied .copy-icon{display:none}.formatted-response .code-block-copy.copied .check-icon{display:block}.formatted-response .code-block-copy:hover{background:#ffffff14}.formatted-response pre{background:#1e1e1e;padding:12px;margin:0;overflow-x:auto}.formatted-response code{font-family:SF Mono,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;color:#d4d4d4}.formatted-response code .tok-keyword,.code-editor-highlight .tok-keyword,.code-file-content .tok-keyword{color:#c678dd}.formatted-response code .tok-string,.code-editor-highlight .tok-string,.code-file-content .tok-string{color:#98c379}.formatted-response code .tok-comment,.code-editor-highlight .tok-comment,.code-file-content .tok-comment{color:#7f848e;font-style:italic}.formatted-response code .tok-number,.code-editor-highlight .tok-number,.code-file-content .tok-number{color:#d19a66}.formatted-response code .tok-tag{color:#e06c75}.formatted-response code .tok-attr{color:#61afef}.formatted-response .inline-code{background:#8b5cf626;color:#c4b5fd;padding:2px 6px;border-radius:4px;font-size:13px}.code-file-card{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;margin:4px 0;font-size:13px}.code-file-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.code-file-card-icon svg{width:16px;height:16px;stroke:#3b82f6}.code-file-card-info{display:flex;align-items:center;gap:8px}.code-file-card-name{font-weight:500;color:#3b82f6;font-family:SF Mono,Monaco,monospace;font-size:12px}.code-file-card-meta{font-size:11px;color:var(--text-muted)}.code-file-card-actions{display:flex;gap:4px;margin-left:4px}.code-file-card-actions button{padding:3px 8px;border-radius:4px;border:none;cursor:pointer;font-size:11px;font-weight:500;transition:background .08s}.code-file-open{background:#3b82f6;color:#fff}.code-file-open:hover{background:#2563eb}.code-file-copy{background:var(--hover-bg);color:var(--text-secondary)}.code-file-copy:hover{background:var(--border-color)}.search-message{max-width:100%!important}.search-results-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.search-results-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);font-size:14px;color:var(--text-secondary)}.search-results-header svg{width:20px;height:20px;color:#10b981}.search-results-header strong{color:#10b981}.search-results-count{margin-left:auto;font-size:12px;color:var(--text-muted);background:#ffffff1a;padding:4px 10px;border-radius:12px}.search-results-list{display:flex;flex-direction:column;gap:2px}.search-result-card{display:flex;gap:16px;padding:16px 20px;text-decoration:none;color:inherit;transition:background-color .08s;border-bottom:1px solid rgba(255,255,255,.05)}.search-result-card:hover{background:#ffffff0d}.search-result-card:last-child{border-bottom:none}.search-result-image{flex-shrink:0;width:120px;height:80px;border-radius:8px;overflow:hidden;background:#ffffff0d}.search-result-image img{width:100%;height:100%;object-fit:cover}.search-result-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.search-result-source{display:flex;align-items:center;gap:8px}.search-result-favicon{width:16px;height:16px;border-radius:2px}.search-result-domain{font-size:12px;color:#10b981}.search-result-title{font-size:16px;font-weight:600;color:#60a5fa;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-card:hover .search-result-title{text-decoration:underline}.search-result-snippet{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-results-more{padding:12px 20px;text-align:center;font-size:12px;color:var(--text-muted);background:#ffffff08;border-top:1px solid rgba(255,255,255,.05)}.search-no-results{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px}@media(max-width:600px){.search-result-image{width:80px;height:60px}.search-result-title{font-size:14px}.search-result-snippet{font-size:12px;-webkit-line-clamp:3;line-clamp:3}}.code-canvas{position:fixed;top:0;right:0;width:0;height:100vh;background:#0a0a0a;border-left:1px solid #2a2a2a;display:flex;flex-direction:column;z-index:1000;overflow:hidden;transition:width .15s var(--ease-out-snap)}.code-canvas.open{width:45%;min-width:400px;max-width:700px}.app:has(.code-canvas.open) .chat-main{margin-right:45%;transition:margin-right .15s var(--ease-out-snap)}.code-canvas-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#151515;border-bottom:1px solid #2a2a2a;flex-shrink:0}.code-canvas-tabs{display:flex;gap:6px;padding:10px 12px;background:#0f0f0f;border-bottom:1px solid #2a2a2a;flex-shrink:0}.code-canvas-tab{padding:6px 10px;background:transparent;border:1px solid #2a2a2a;border-radius:8px;color:#9a9a9a;font-size:12px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-canvas-tab:hover{color:#e5e5e5;border-color:#3a3a3a}.code-canvas-tab.active{background:#10b9811f;border-color:#10b98159;color:#10b981}.code-canvas-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text-primary)}.code-canvas-title svg{width:18px;height:18px;color:#10b981}.code-canvas-lang{font-size:11px;font-weight:500;color:#888;background:#2a2a2a;padding:2px 8px;border-radius:4px;text-transform:lowercase}.code-canvas-actions{display:flex;align-items:center;gap:8px}.canvas-action-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .08s var(--ease-out-fast)}.canvas-action-btn svg{width:14px;height:14px}.canvas-run-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.canvas-run-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.canvas-clear-btn{background:transparent;color:var(--text-muted);padding:6px}.canvas-clear-btn:hover{background:#ef44441a;color:#f87171}.code-canvas-editor{flex:1;display:flex;flex-direction:column;overflow:hidden}.code-canvas-editor textarea{width:100%;height:100%;padding:16px;background:transparent;border:none;color:transparent;caret-color:#e4e4e7;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;resize:none;outline:none;position:absolute;top:0;left:0;z-index:2;white-space:pre;overflow:auto}.code-canvas-editor textarea::placeholder{color:#444}.code-canvas-editor-wrap{position:relative;width:100%;height:calc(100vh - 140px);background:#0a0a0a}.code-canvas-highlight{position:absolute;inset:0;margin:0;padding:16px;overflow:auto;pointer-events:none;z-index:1;font-family:SF Mono,Monaco,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre;color:#d4d4d4}.code-canvas-highlight code{font-family:inherit;font-size:inherit;line-height:inherit}.code-canvas-editor textarea::selection{background:#8b5cf640}.preview-modal-overlay{position:fixed;inset:0;background:#000000e6;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.preview-modal{width:95%;height:95%;max-width:1400px;background:#0a0a0a;border-radius:12px;border:1px solid #2a2a2a;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.preview-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#151515;border-bottom:1px solid #2a2a2a;flex-shrink:0}.preview-modal-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--text-primary)}.preview-modal-title svg{width:18px;height:18px;color:#10b981}.preview-modal-lang{font-size:11px;font-weight:500;color:#888;background:#2a2a2a;padding:2px 8px;border-radius:4px;text-transform:lowercase}.preview-modal-actions{display:flex;align-items:center;gap:8px}.preview-modal-refresh,.preview-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:1px solid #333;border-radius:8px;color:#888;cursor:pointer;transition:all .08s var(--ease-out-fast)}.preview-modal-refresh svg,.preview-modal-close svg{width:18px;height:18px}.preview-modal-refresh:hover{background:#10b9811a;border-color:#10b9814d;color:#10b981}.preview-modal-close:hover{background:#ef44441a;border-color:#ef44444d;color:#f87171}.preview-modal iframe{flex:1;width:100%;border:none;background:#fff;border-radius:0 0 12px 12px}.formatted-response .code-block-actions{display:flex;align-items:center;gap:6px}.formatted-response .code-block-canvas{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;border-radius:6px;color:#888;cursor:pointer;transition:all .08s var(--ease-out-fast)}.formatted-response .code-block-canvas svg{width:15px;height:15px}.formatted-response .code-block-canvas:hover{background:#10b98126;color:#10b981}.formatted-response .code-block-canvas.added{color:#10b981;animation:canvasAdded .3s ease}@keyframes canvasAdded{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes canvasSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.code-canvas.open{animation:canvasSlideIn .4s cubic-bezier(.4,0,.2,1)}@media(max-width:1200px){.code-canvas.open{width:50%}.app:has(.code-canvas.open) .chat-main{margin-right:50%}}@media(max-width:900px){.code-canvas.open{width:100%;max-width:none}.app:has(.code-canvas.open) .chat-main{display:none}}.auth-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0a0a0a,#1a1a2e,#0a0a0a);display:flex;align-items:center;justify-content:center;z-index:3000}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-muted)}.auth-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#10b981;border-radius:50%;animation:spin .8s linear infinite}.auth-card{width:440px;max-width:calc(100vw - 32px);background:#141414f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:40px;box-shadow:0 0 0 1px #ffffff0d,0 20px 60px #00000080,0 0 120px #10b9811a}.auth-logo{width:56px;height:56px;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:16px;box-shadow:0 8px 32px #10b9814d}.auth-logo svg{width:32px;height:32px;color:#fff}.auth-header{text-align:center;margin-bottom:32px}.auth-header h1{margin:0 0 8px;font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.auth-header p{margin:0;font-size:14px;color:var(--text-muted);line-height:1.6}.auth-input-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:14px;width:18px;height:18px;color:var(--text-muted);pointer-events:none}.auth-input-wrapper input{width:100%;padding:14px 14px 14px 44px;background:#0006;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);font-size:15px;outline:none;transition:all .1s var(--ease-out-fast)}.auth-input-wrapper input::placeholder{color:var(--text-muted)}.auth-input-wrapper input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b98126;background:#0009}.auth-password-toggle{position:absolute;right:12px;background:none;border:none;padding:4px;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.auth-password-toggle:hover{color:var(--text-secondary)}.auth-error{display:flex;align-items:center;gap:10px;font-size:13px;color:#f87171;background:#ef44441a;border:1px solid rgba(239,68,68,.2);padding:12px 14px;border-radius:12px}.auth-primary{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;margin-top:8px;border:none;border-radius:12px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .1s var(--ease-out-fast);box-shadow:0 4px 16px #10b9814d}.auth-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 24px #10b98166}.auth-primary:disabled{opacity:.7;cursor:not-allowed}.auth-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.auth-footer{margin-top:24px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06);text-align:center}.auth-footer p{margin:0;font-size:12px;color:var(--text-muted)}.coder-page{position:fixed;inset:0;background:#0a0a0f;z-index:100;display:flex;flex-direction:column;transform:translate(100%);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}.coder-page.open{transform:translate(0);opacity:1;pointer-events:auto}.coder-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#111118;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.coder-header-left{display:flex;align-items:center;gap:12px}.coder-back-btn{width:32px;height:32px;border:none;background:#ffffff0d;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.coder-back-btn:hover{background:#ffffff1a;color:var(--text-primary)}.coder-back-btn svg{width:18px;height:18px}.coder-repo-info{display:flex;align-items:center;gap:10px}.coder-github-icon{width:20px;height:20px;color:var(--text-secondary)}.coder-repo-name{font-size:14px;font-weight:600;color:var(--text-primary)}.coder-no-repo{font-size:13px;color:var(--text-muted)}.coder-branch-select{padding:4px 24px 4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--text-secondary);font-size:12px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.coder-header-actions{display:flex;gap:8px}.coder-action-btn{width:34px;height:34px;border:1px solid rgba(255,255,255,.1);background:transparent;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.coder-action-btn:hover{background:#ffffff14;color:var(--text-primary)}.coder-action-btn.active{background:#6366f126;border-color:#6366f166;color:#818cf8}.coder-action-btn svg{width:16px;height:16px}.coder-layout{display:grid;grid-template-columns:280px 1fr 380px;flex:1;overflow:hidden}.coder-pane{display:flex;flex-direction:column;overflow:hidden}.coder-files-pane{background:#0d0d14;border-right:1px solid rgba(255,255,255,.06)}.coder-pane-header{padding:0;border-bottom:1px solid rgba(255,255,255,.06)}.coder-pane-tabs{display:flex}.coder-pane-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:none;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease;border-bottom:2px solid transparent}.coder-pane-tab:hover{color:var(--text-secondary);background:#ffffff05}.coder-pane-tab.active{color:var(--text-primary);border-bottom-color:#6366f1}.coder-pane-tab svg{width:14px;height:14px}.coder-badge{background:#ef4444;color:#fff;font-size:10px;padding:1px 5px;border-radius:8px;margin-left:4px}.coder-file-tree{flex:1;overflow-y:auto;padding:8px 0}.coder-connect-prompt{padding:32px 20px;text-align:center}.coder-connect-prompt svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px}.coder-connect-prompt h3{font-size:16px;font-weight:600;margin:0 0 8px}.coder-connect-prompt p{font-size:13px;color:var(--text-muted);margin:0 0 16px}.coder-token-input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:var(--text-primary);font-size:13px;margin-bottom:12px}.coder-connect-btn{width:100%;padding:10px 16px;border-radius:8px;border:none;background:#6366f1;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.coder-connect-btn:hover{background:#5558e8}.coder-repo-list{padding:8px}.coder-repo-list-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.coder-refresh-btn{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.coder-refresh-btn:hover{background:#ffffff14;color:var(--text-secondary)}.coder-refresh-btn svg{width:14px;height:14px}.coder-repo-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s ease}.coder-repo-item:hover{background:#ffffff0d}.coder-repo-item svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;margin-top:2px}.coder-repo-item-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.coder-repo-item-name{font-size:13px;font-weight:500;color:var(--text-primary)}.coder-repo-item-desc{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coder-repo-list-actions{display:flex;align-items:center;gap:4px}.coder-create-repo-btn{width:24px;height:24px;border:none;background:#6366f126;color:#6366f1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.coder-create-repo-btn:hover{background:#6366f140}.coder-create-repo-btn svg{width:14px;height:14px}.coder-repo-item-wrapper{position:relative;display:flex;align-items:stretch;border-radius:8px;transition:background .15s ease}.coder-repo-item-wrapper:hover{background:#ffffff08}.coder-repo-item-wrapper .coder-repo-item{flex:1}.coder-repo-item-wrapper:hover .coder-repo-item-actions{opacity:1}.coder-repo-item-actions{display:flex;align-items:center;gap:2px;padding:0 8px;opacity:0;transition:opacity .15s ease}.coder-repo-action-btn{width:26px;height:26px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.coder-repo-action-btn:hover{background:#ffffff14;color:var(--text-secondary)}.coder-repo-action-btn.danger:hover{background:#ef444426;color:#ef4444}.coder-repo-action-btn svg{width:14px;height:14px}.coder-repo-private-badge{margin-left:auto;color:var(--text-muted);flex-shrink:0}.coder-repo-private-badge svg{width:14px;height:14px}.coder-files-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.coder-files-container .coder-files-list{flex:1;overflow-y:auto}.coder-files-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-color);background:#0003}.coder-back-to-repos-btn{display:flex;align-items:center;gap:6px;padding:6px 10px;border:none;background:#ffffff0d;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:12px;font-weight:500;transition:all .15s ease}.coder-back-to-repos-btn:hover{background:#ffffff1a;color:var(--text-primary)}.coder-back-to-repos-btn svg{width:14px;height:14px}.coder-files-actions{display:flex;align-items:center;gap:4px}.coder-file-action-btn{width:28px;height:28px;border:none;background:#ffffff0d;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.coder-file-action-btn:hover{background:#6366f126;color:#6366f1}.coder-file-action-btn.danger:hover{background:#ef444426;color:#ef4444}.coder-file-action-btn svg{width:16px;height:16px}.coder-file-item-wrapper{position:relative}.coder-file-item-wrapper:hover .coder-file-item-actions{opacity:1}.coder-file-item-actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s ease;z-index:2}.coder-file-mini-btn{width:22px;height:22px;border:none;background:#1e1e1ee6;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.coder-file-mini-btn:hover{background:#6366f133;color:#6366f1}.coder-file-mini-btn.danger:hover{background:#ef444433;color:#ef4444}.coder-file-mini-btn svg{width:12px;height:12px}.coder-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:var(--text-muted);font-size:13px}.coder-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}.coder-spinner.small{width:12px;height:12px;border-width:1.5px}.coder-files-list{padding:4px 8px}.coder-file-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:all .1s ease}.coder-file-item:hover{background:#ffffff0d;color:var(--text-primary)}.coder-file-item.active{background:#6366f11f;color:var(--text-primary)}.coder-file-icon{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.coder-file-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coder-file-status-icon{font-size:12px;font-weight:600}.coder-file-status-modified .coder-file-status-icon,.coder-file-status-modified{color:#f59e0b}.coder-file-status-added .coder-file-status-icon,.coder-file-status-added{color:#10b981}.coder-file-status-deleted .coder-file-status-icon,.coder-file-status-deleted{color:#ef4444}.coder-changes-list{flex:1;overflow-y:auto;padding:12px}.coder-no-changes{text-align:center;padding:32px 16px;color:var(--text-muted)}.coder-no-changes svg{width:40px;height:40px;margin-bottom:12px;opacity:.5}.coder-no-changes p{margin:0 0 4px;font-size:14px;color:var(--text-secondary)}.coder-no-changes span{font-size:12px}.coder-changes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;color:var(--text-muted)}.coder-apply-all-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;background:#10b981;color:#fff;font-size:11px;font-weight:500;border-radius:6px;cursor:pointer;transition:background .15s ease}.coder-apply-all-btn:hover{background:#0d9668}.coder-apply-all-btn svg{width:12px;height:12px}.coder-change-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#ffffff05;border-radius:8px;margin-bottom:6px;border-left:3px solid transparent}.coder-change-item.coder-change-create{border-left-color:#10b981}.coder-change-item.coder-change-update{border-left-color:#f59e0b}.coder-change-item.coder-change-delete{border-left-color:#ef4444}.coder-change-file{display:flex;align-items:center;gap:8px;overflow:hidden}.coder-change-action{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.coder-change-action.create{background:#10b98133;color:#10b981}.coder-change-action.update{background:#f59e0b33;color:#f59e0b}.coder-change-action.delete{background:#ef444433;color:#ef4444}.coder-change-path{font-size:12px;color:var(--text-secondary);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coder-change-path:hover{color:var(--text-primary);text-decoration:underline}.coder-change-actions{display:flex;gap:4px}.coder-change-btn{width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.coder-change-btn svg{width:14px;height:14px}.coder-change-btn.accept{color:#10b981}.coder-change-btn.accept:hover{background:#10b98126}.coder-change-btn.reject{color:#ef4444}.coder-change-btn.reject:hover{background:#ef444426}.coder-impact-summary{margin-top:16px;padding:12px;background:#ffffff05;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.coder-impact-summary h4{font-size:12px;font-weight:600;color:var(--text-secondary);margin:0 0 12px}.coder-impact-stats{display:flex;gap:12px}.coder-impact-stat{flex:1;text-align:center}.coder-impact-value{font-size:18px;font-weight:700;color:var(--text-primary);display:block}.coder-impact-stat.added .coder-impact-value{color:#10b981}.coder-impact-stat.removed .coder-impact-value{color:#ef4444}.coder-impact-label{font-size:10px;color:var(--text-muted);text-transform:uppercase}.coder-editor-pane{background:#0a0a0f;display:flex;flex-direction:column}.coder-editor-header{display:flex;justify-content:space-between;align-items:center;padding:0 12px;border-bottom:1px solid rgba(255,255,255,.06);background:#111118}.coder-editor-tabs{display:flex}.coder-editor-tab{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;color:var(--text-secondary);border-bottom:2px solid transparent}.coder-editor-tab.active{color:var(--text-primary);border-bottom-color:#6366f1}.coder-tab-close{width:16px;height:16px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px}.coder-tab-close:hover{background:#ffffff1a;color:var(--text-primary)}.coder-editor-actions{display:flex;gap:4px}.coder-view-btn{padding:6px 12px;border:none;background:transparent;color:var(--text-muted);font-size:12px;border-radius:6px;cursor:pointer;transition:all .15s ease}.coder-view-btn:hover{background:#ffffff0d;color:var(--text-secondary)}.coder-view-btn.active{background:#6366f126;color:#818cf8}.coder-editor-content{flex:1;overflow:auto}.coder-editor-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.coder-editor-empty svg{width:48px;height:48px;margin-bottom:16px;opacity:.4}.coder-editor-empty h3{font-size:16px;font-weight:500;margin:0 0 8px;color:var(--text-secondary)}.coder-editor-empty p{font-size:13px;margin:0}.coder-diff-view{height:100%;display:flex;flex-direction:column}.coder-diff-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);background:#ffffff05}.coder-diff-filename{font-size:13px;font-weight:600;color:var(--text-primary)}.coder-diff-explanation{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;background:#6366f11a;border-radius:8px;font-size:12px;color:var(--text-secondary);line-height:1.5}.coder-diff-explanation svg{width:16px;height:16px;color:#6366f1;flex-shrink:0;margin-top:1px}.coder-diff-content{flex:1;overflow:auto;font-family:SF Mono,Fira Code,monospace;font-size:12px}.coder-diff-line{display:flex;padding:1px 0;min-height:20px}.coder-diff-line.added{background:#10b9811a}.coder-diff-line.removed{background:#ef44441a}.coder-diff-line.changed{background:#f59e0b14}.coder-diff-line-num{width:50px;padding:0 8px;text-align:right;color:var(--text-muted);opacity:.5;-webkit-user-select:none;user-select:none;flex-shrink:0}.coder-diff-line-marker{width:24px;text-align:center;font-weight:600;flex-shrink:0}.coder-diff-line.added .coder-diff-line-marker{color:#10b981}.coder-diff-line.removed .coder-diff-line-marker{color:#ef4444}.coder-diff-line.changed .coder-diff-line-marker{color:#f59e0b}.coder-diff-line-content{flex:1;white-space:pre;padding-right:16px}.coder-code-editor{height:100%;overflow:auto;background:#0d0d0d}.coder-code-content{display:flex;min-height:100%;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6}.coder-line-numbers{display:flex;flex-direction:column;padding:16px 0;background:#0000004d;border-right:1px solid var(--border-color);-webkit-user-select:none;user-select:none;position:sticky;left:0}.coder-line-numbers .coder-line-num{padding:0 12px;text-align:right;color:var(--text-muted);font-size:12px;min-width:40px}.coder-code-text{margin:0;padding:16px;flex:1;color:var(--text-primary);white-space:pre;overflow-x:auto}.coder-code-text code{display:block}.coder-chat-pane{background:#111118;border-left:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column}.coder-chat-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.coder-chat-header h3{font-size:14px;font-weight:600;margin:0}.coder-model-selector{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid rgba(255,255,255,.1);background:transparent;border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.coder-model-selector:hover{background:#ffffff0d;border-color:#ffffff26}.coder-model-selector svg{width:12px;height:12px}.coder-chat-model{position:relative}.coder-model-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:200px;max-width:280px;background:#1e1e1e;border:1px solid #3a3a3a;border-radius:8px;box-shadow:0 8px 24px #0009;z-index:9999;overflow:hidden;animation:none}.coder-model-empty{padding:12px 16px;font-size:12px;color:var(--text-muted);text-align:center}.coder-model-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.coder-model-option:hover{background:#ffffff14}.coder-model-option.selected{background:#6366f126;color:var(--text-primary)}.coder-model-option-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coder-model-option-badge{font-size:10px;padding:2px 6px;border-radius:4px;background:#ffffff1a;color:var(--text-muted);flex-shrink:0}.coder-model-option-badge.openrouter{background:#6366f133;color:#818cf8}.coder-model-option-badge.lmstudio{background:#10b98133;color:#34d399}.coder-model-option-badge.mcp{background:#f59e0b33;color:#fbbf24}.coder-chat-messages{flex:1;overflow-y:auto;padding:16px}.coder-chat-empty{height:100%;display:flex;flex-direction:column;justify-content:center}.coder-chat-welcome{text-align:center;margin-bottom:24px}.coder-chat-welcome h4{font-size:18px;font-weight:600;margin:0 0 8px}.coder-chat-welcome p{font-size:13px;color:var(--text-muted);margin:0}.coder-chat-suggestions{display:flex;flex-direction:column;gap:8px}.coder-chat-suggestions button{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid rgba(255,255,255,.08);background:#ffffff05;border-radius:10px;color:var(--text-secondary);font-size:13px;text-align:left;cursor:pointer;transition:all .15s ease}.coder-chat-suggestions button:hover{background:#ffffff0d;border-color:#ffffff1f;color:var(--text-primary)}.coder-chat-suggestions svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0}.coder-chat-message{margin-bottom:16px}.coder-chat-message-header{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:6px}.coder-chat-message.user .coder-chat-message-content{background:#6366f11a;border-radius:12px;padding:12px 14px}.coder-chat-message.assistant .coder-chat-message-content{background:#ffffff08;border-radius:12px;padding:12px 14px}.coder-message-text{font-size:13px;line-height:1.6;color:var(--text-primary)}.coder-ai-plan{font-size:13px}.coder-plan-header{display:flex;align-items:center;gap:8px;font-weight:600;color:#6366f1;margin-bottom:12px}.coder-plan-header svg{width:16px;height:16px}.coder-plan-steps{margin-bottom:12px}.coder-plan-step{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.04)}.coder-plan-step:last-child{border-bottom:none}.coder-plan-step-num{width:20px;height:20px;background:#6366f126;color:#818cf8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.coder-plan-step-text{color:var(--text-secondary);line-height:1.5}.coder-plan-files{padding:10px 12px;background:#ffffff08;border-radius:8px}.coder-plan-files strong{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.coder-plan-files ul{margin:8px 0 0;padding-left:16px}.coder-plan-files li{font-size:12px;color:var(--text-secondary);padding:2px 0}.coder-typing-indicator{display:flex;gap:4px;padding:8px 0}.coder-typing-indicator span{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.coder-typing-indicator span:nth-child(1){animation-delay:0s}.coder-typing-indicator span:nth-child(2){animation-delay:.2s}.coder-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.coder-chat-input-form{padding:12px 16px 16px;border-top:1px solid rgba(255,255,255,.06)}.coder-chat-input-wrapper{display:flex;gap:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 12px}.coder-chat-input-wrapper textarea{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:13px;resize:none;outline:none;font-family:inherit;line-height:1.5}.coder-chat-input-wrapper textarea::placeholder{color:var(--text-muted)}.coder-send-btn{width:32px;height:32px;border:none;background:#6366f1;border-radius:8px;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;flex-shrink:0}.coder-send-btn:hover:not(:disabled){background:#5558e8}.coder-send-btn:disabled{background:#6366f14d;cursor:not-allowed}.coder-send-btn svg{width:16px;height:16px}.coder-chat-hints{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.coder-chat-hints span{font-size:11px;color:var(--text-muted);padding:3px 8px;background:#ffffff0a;border-radius:4px}.coder-execution-panel{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#1a1a24;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 16px;min-width:300px;max-width:500px;z-index:200;box-shadow:0 8px 32px #0006}.coder-execution-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:12px}.coder-execution-header svg{width:16px;height:16px;color:#6366f1}.coder-execution-steps{display:flex;flex-direction:column;gap:8px}.coder-exec-step{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-muted)}.coder-exec-step.success{color:#10b981}.coder-exec-step.error{color:#ef4444}.coder-exec-step.running{color:var(--text-primary)}.coder-exec-step-icon{width:16px;text-align:center}.coder-agent-dropdown{position:fixed;top:60px;right:400px;background:#1a1a24;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px;min-width:200px;z-index:300;box-shadow:0 8px 24px #0006}.coder-agent-option{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;border:none;background:transparent;border-radius:8px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease}.coder-agent-option:hover{background:#ffffff0d;color:var(--text-primary)}.coder-agent-option.selected{background:#6366f126;color:var(--text-primary)}.coder-agent-badge{font-size:10px;padding:2px 6px;background:#ffffff14;border-radius:4px;color:var(--text-muted)}@media(max-width:1200px){.coder-layout{grid-template-columns:240px 1fr 320px}}@media(max-width:900px){.coder-layout{grid-template-columns:1fr}.coder-files-pane,.coder-chat-pane{display:none}}.code-page{position:fixed;inset:0;background:var(--main-bg);z-index:100;overflow:hidden}.code-page.slide-out{transform:translate(100%);pointer-events:none;opacity:0}.code-page.slide-in{transform:translate(0);pointer-events:auto;opacity:1;transition:transform .12s var(--ease-out-snap),opacity .12s var(--ease-out-snap)}.code-page-layout{display:grid;grid-template-columns:260px 1fr 380px;height:100%;overflow:hidden}.code-page-layout.chat-collapsed{grid-template-columns:260px 1fr 0}.code-page-layout.chat-collapsed .code-chat-sidebar{display:none}.code-sidebar{background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.code-sidebar-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--border-color)}.code-sidebar-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.code-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--bg-tertiary);border-radius:8px;cursor:pointer;color:var(--text-secondary);transition:all .1s var(--ease-out-fast)}.code-back-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.code-back-btn svg{width:18px;height:18px}.code-sidebar-tabs{display:flex;border-bottom:1px solid var(--border-color);background:#0003}.code-sidebar-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:12px 8px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .08s var(--ease-out-fast);position:relative}.code-sidebar-tab:hover{color:var(--text-secondary);background:#ffffff08}.code-sidebar-tab.active{color:var(--text-primary);background:#ffffff0d}.code-sidebar-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent-color)}.code-sidebar-tab svg{width:18px;height:18px}.code-section-header{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--border-color);font-size:14px;font-weight:600;color:var(--text-primary)}.code-section-header svg{width:18px;height:18px;color:var(--text-secondary)}.code-section-subheader{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.code-section-subheader button{padding:4px 8px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:10px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-section-subheader button:hover{background:var(--hover-bg);color:var(--text-primary)}.refresh-btn{padding:4px!important}.refresh-btn svg{width:14px;height:14px}.code-integration-connected,.code-integration-connect{padding:16px;display:flex;flex-direction:column;gap:16px}.code-integration-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.status-dot.connected{background:#10a37f}.code-input-group{display:flex;flex-direction:column;gap:6px}.code-input-group label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.code-input-group input{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:13px}.code-input-group input:focus{outline:none;border-color:var(--accent-color)}.code-connect-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:none;border-radius:8px;background:var(--accent-color);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-connect-btn:hover:not(:disabled){background:#059669}.code-connect-btn:disabled{opacity:.5;cursor:not-allowed}.code-connect-btn svg{width:16px;height:16px}.code-disconnect-btn{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-disconnect-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.code-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .08s var(--ease-out-fast);width:100%}.code-action-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary);border-color:var(--text-muted)}.code-action-btn:disabled{opacity:.5;cursor:not-allowed}.code-action-btn svg{width:14px;height:14px}.code-help-link{font-size:11px;color:var(--text-muted);text-align:center;text-decoration:none;transition:color .08s}.code-help-link:hover{color:var(--accent-color)}.code-loading-small,.code-empty-small{padding:20px;text-align:center;font-size:12px;color:var(--text-muted)}.code-supabase-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.code-supabase-tables{flex:1;overflow-y:auto}.code-table-list{padding:8px}.code-table-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;cursor:pointer;transition:all .08s var(--ease-out-fast);color:var(--text-secondary);font-size:13px}.code-table-item:hover{background:var(--hover-bg)}.code-table-item.active{background:#10a37f1a;color:var(--accent-color)}.code-table-item svg{width:16px;height:16px;flex-shrink:0}.code-supabase-actions{padding:12px;border-top:1px solid var(--border-color)}.code-git-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.code-git-init{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;gap:16px}.code-git-init p{color:var(--text-muted);font-size:13px}.code-git-content{flex:1;overflow-y:auto}.code-git-branches,.code-git-staging,.code-git-commit,.code-git-history,.code-git-push{border-bottom:1px solid var(--border-color)}.code-branch-list{padding:8px;max-height:120px;overflow-y:auto}.code-branch-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:all .08s var(--ease-out-fast);color:var(--text-secondary);font-size:12px}.code-branch-item:hover{background:var(--hover-bg)}.code-branch-item.active{background:#10a37f1a;color:var(--accent-color)}.code-branch-item svg{width:14px;height:14px}.branch-delete-btn{margin-left:auto;padding:4px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:all .08s var(--ease-out-fast)}.code-branch-item:hover .branch-delete-btn{opacity:1}.branch-delete-btn:hover{background:#ef444433;color:#ef4444}.branch-delete-btn svg{width:12px;height:12px}.code-new-branch{padding:8px}.code-new-branch input{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:12px}.code-new-branch input:focus{outline:none;border-color:var(--accent-color)}.code-staged-files{padding:8px;max-height:150px;overflow-y:auto}.code-file-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-file-item:hover{background:var(--hover-bg)}.code-file-item.staged{color:var(--accent-color)}.code-file-item input[type=checkbox]{accent-color:var(--accent-color)}.stage-all-btn{font-size:10px!important;padding:4px 8px!important;background:var(--accent-color)!important;color:#fff!important;border-radius:4px!important}.stage-all-btn:hover{background:#059669!important}.code-git-commit{padding:12px;display:flex;flex-direction:column;gap:8px}.code-git-commit textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:12px;resize:none;font-family:inherit}.code-git-commit textarea:focus{outline:none;border-color:var(--accent-color)}.code-commit-btn{padding:10px;border:none;border-radius:6px;background:var(--accent-color);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-commit-btn:hover:not(:disabled){background:#059669}.code-commit-btn:disabled{opacity:.5;cursor:not-allowed}.code-commit-list{padding:8px}.code-commit-item{padding:10px 12px;border-radius:6px;margin-bottom:4px;background:#0003}.commit-message{font-size:12px;color:var(--text-primary);margin-bottom:4px}.commit-meta{font-size:10px;color:var(--text-muted)}.code-git-push{padding:12px;border-bottom:none}.code-github-connect{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.code-github-icon{width:64px;height:64px;margin-bottom:16px;color:var(--text-muted)}.code-github-icon svg{width:100%;height:100%}.code-github-connect h3{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.code-github-connect p{margin:0 0 20px;font-size:13px;color:var(--text-muted);line-height:1.5}.code-github-token-input{width:100%;padding:12px 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;margin-bottom:12px}.code-github-token-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #10b98126}.code-github-connect-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;border:none;border-radius:10px;background:#24292e;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .1s var(--ease-out-fast)}.code-github-connect-btn:hover{background:#2f363d;transform:translateY(-1px)}.code-github-connect-btn svg{width:20px;height:20px}.code-github-help{margin-top:16px}.code-github-help a{font-size:12px;color:var(--accent-color);text-decoration:none}.code-github-help a:hover{text-decoration:underline}.code-github-user{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.code-github-avatar{width:36px;height:36px;border-radius:50%}.code-github-user-info{flex:1;display:flex;flex-direction:column}.code-github-username{font-size:14px;font-weight:500;color:var(--text-primary)}.code-github-status{font-size:11px;color:var(--accent-color)}.code-github-disconnect{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-muted);transition:all .1s var(--ease-out-fast)}.code-github-disconnect:hover{background:#ef44441a;color:#ef4444}.code-github-disconnect svg{width:16px;height:16px}.code-vercel-section{padding:12px;border-top:1px solid var(--border-color);margin-top:auto}.code-vercel-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.code-vercel-header svg{width:16px;height:16px;color:var(--text-secondary)}.code-vercel-connected{display:flex;flex-direction:column;gap:10px}.code-vercel-user{display:flex;flex-direction:column;gap:2px}.code-vercel-username{font-size:13px;font-weight:500;color:var(--text-primary)}.code-vercel-status{font-size:11px;color:var(--accent-color)}.code-vercel-actions{display:flex;gap:8px}.code-vercel-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-vercel-action-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary);border-color:var(--text-muted)}.code-vercel-action-btn:disabled{opacity:.5;cursor:not-allowed}.code-vercel-action-btn svg{width:14px;height:14px}.code-vercel-disconnect{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:6px 10px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-vercel-disconnect:hover{background:#ef44441a;color:#ef4444}.code-vercel-disconnect svg{width:14px;height:14px}.code-vercel-connect{display:flex;flex-direction:column;gap:10px}.code-vercel-connect p{font-size:12px;color:var(--text-muted);line-height:1.4}.code-vercel-token-input{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--input-bg);color:var(--text-primary);font-size:12px}.code-vercel-token-input:focus{outline:none;border-color:var(--accent-color)}.code-vercel-connect-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border:none;border-radius:6px;background:linear-gradient(135deg,#000,#333);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-vercel-connect-btn:hover:not(:disabled){filter:brightness(1.2)}.code-vercel-connect-btn:disabled{opacity:.6;cursor:not-allowed}.code-vercel-connect-btn svg{width:14px;height:14px}.code-vercel-help{font-size:11px;color:var(--text-muted);text-decoration:none;text-align:center;transition:color .08s}.code-vercel-help:hover{color:var(--accent-color)}.code-repos-section{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.code-repos-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.code-repos-actions{display:flex;align-items:center;gap:6px}.code-repos-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:all .1s var(--ease-out-fast)}.code-repos-action-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.code-repos-action-btn svg{width:14px;height:14px}.code-repos-refresh{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:all .1s var(--ease-out-fast)}.code-repos-refresh:hover{background:var(--hover-bg);color:var(--text-primary)}.code-repos-refresh svg{width:14px;height:14px}.code-repos-refresh svg.spinning{animation:spin 1s linear infinite}.code-repos-list{flex:1;overflow-y:auto;padding:0 8px 8px}.code-repo-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .08s var(--ease-out-fast);margin-bottom:2px}.code-repo-item:hover{background:var(--hover-bg)}.code-repo-item.active{background:var(--accent-color)}.code-repo-item.active .code-repo-name,.code-repo-item.active .code-repo-desc,.code-repo-item.active svg{color:#fff}.code-repo-item>svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;margin-top:2px}.code-repo-info{flex:1;min-width:0}.code-repo-name{display:block;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-repo-desc{display:block;font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.code-repo-private{flex-shrink:0}.code-repo-private svg{width:12px;height:12px;color:var(--text-muted)}.code-files-section{border-top:1px solid var(--border-color);display:flex;flex-direction:column;max-height:50%;overflow:hidden}.code-files-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:12px;font-weight:600;color:var(--text-muted)}.code-files-title{display:flex;align-items:center;gap:8px;min-width:0}.code-files-title>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-files-actions{display:flex;align-items:center;gap:8px}.code-repo-back,.code-repo-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;cursor:pointer;color:var(--text-muted);border-radius:6px;transition:all .1s var(--ease-out-fast)}.code-repo-back:hover{background:var(--hover-bg);color:var(--text-primary)}.code-repo-delete:hover{background:#ef44441f;color:#ef4444}.code-repo-back svg,.code-repo-delete svg{width:14px;height:14px}.code-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.code-modal{width:100%;max-width:520px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 20px 60px #0000008c;overflow:hidden}.code-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.code-modal-header h3{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.code-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border-color);background:transparent;color:var(--text-muted);border-radius:10px;cursor:pointer}.code-modal-close:hover{background:var(--hover-bg);color:var(--text-primary)}.code-modal-close svg{width:16px;height:16px}.code-modal-body{padding:16px;display:flex;flex-direction:column;gap:10px}.code-modal-label{font-size:12px;color:var(--text-muted);font-weight:600}.code-modal-copy-text{background:#10b98126;color:#10b981;padding:2px 8px;border-radius:4px;cursor:pointer;transition:all .15s;-webkit-user-select:all;user-select:all}.code-modal-copy-text:hover{background:#10b98140;color:#34d399}.code-modal-input-row{display:flex;gap:8px;align-items:center}.code-modal-input{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-primary);outline:none}.code-modal-input:focus{border-color:#ffffff2e}.code-modal-copy-btn{flex-shrink:0;width:40px;height:40px;border-radius:10px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.code-modal-copy-btn:hover{background:#10b98126;border-color:#10b981;color:#10b981}.code-modal-copy-btn svg{width:18px;height:18px}.code-modal-checkbox{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary);margin-top:6px}.code-modal-warning{padding:10px 12px;border:1px solid rgba(239,68,68,.25);background:#ef444414;border-radius:10px;color:var(--text-primary);font-size:13px}.code-modal-error{font-size:12px;color:#ef4444}.code-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.code-modal-btn{padding:10px 12px;border-radius:10px;border:1px solid var(--border-color);background:transparent;color:var(--text-primary);cursor:pointer;font-weight:600;font-size:13px}.code-modal-btn:hover{background:var(--hover-bg)}.code-modal-btn.primary{border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6)}.code-modal-btn.primary:hover{filter:brightness(1.05)}.code-modal-btn.danger{border:none;background:linear-gradient(135deg,#ef4444,#dc2626)}.code-modal-btn.danger:hover{filter:brightness(1.05)}.code-branch-select{padding:4px 8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:11px;cursor:pointer}.code-file-tree{flex:1;overflow-y:auto;padding:0 8px 8px}.file-tree-level{display:flex;flex-direction:column}.file-tree-item{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:6px;cursor:pointer;transition:all .08s var(--ease-out-fast);-webkit-user-select:none;user-select:none}.file-tree-item:hover{background:var(--hover-bg)}.file-tree-item.active{background:#10b98126}.file-tree-item.has-changes .file-tree-name{color:#f59e0b}.file-tree-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.file-tree-icon svg{width:16px;height:16px;color:var(--text-muted)}.file-icon-text{font-size:9px;font-weight:700;padding:2px 4px;border-radius:3px}.file-icon-text.js{background:#f7df1e;color:#000}.file-icon-text.py{background:#3776ab;color:#fff}.file-icon-text.html{background:#e34f26;color:#fff}.file-icon-text.css{background:#1572b6;color:#fff}.file-icon-text.json{background:#292929;color:#fff}.file-icon-text.md{background:#083fa1;color:#fff}.file-tree-name{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-tree-modified{font-size:10px;font-weight:600;color:#f59e0b;margin-left:auto}.code-main{display:flex;flex-direction:column;overflow:hidden;background:var(--main-bg);min-height:0}.code-chat-container{max-width:768px;width:100%;margin:0 auto;padding:0 24px}.code-editor-section{display:flex;flex-direction:column;overflow:hidden;background:var(--main-bg);flex:1;min-height:0}.code-editor-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#161b22;border-bottom:1px solid #30363d}.code-editor-path{display:flex;align-items:center;gap:8px;font-size:13px;font-family:SF Mono,Fira Code,monospace;color:#8b949e}.code-editor-path svg{width:16px;height:16px;color:#8b949e}.code-apply-change-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:6px;background:var(--accent-color);color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .1s var(--ease-out-fast)}.code-apply-change-btn:hover{background:#059669}.code-apply-change-btn svg{width:14px;height:14px}.code-editor-content{flex:1;overflow:auto;padding:16px;min-height:0}.code-file-content{margin:0;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;color:#c9d1d9;white-space:pre-wrap;word-break:break-word}.code-editor-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;background:var(--main-bg)}.code-editor-empty svg{width:64px;height:64px;color:#30363d;margin-bottom:16px}.code-editor-empty h3{margin:0 0 8px;font-size:16px;font-weight:500;color:#c9d1d9}.code-editor-empty p{margin:0;font-size:13px;color:#8b949e}.code-pending-panel{position:fixed;bottom:16px;right:16px;width:300px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0006;z-index:200;overflow:hidden}.code-pending-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);font-size:13px;font-weight:500;color:var(--text-primary)}.code-pending-header svg{width:18px;height:18px;color:#f59e0b}.code-pending-apply-all{margin-left:auto;padding:6px 10px;border-radius:8px;border:1px solid var(--border-color);background:#10b9811f;color:var(--accent-color);font-size:12px;cursor:pointer;transition:all .1s var(--ease-out-fast)}.code-pending-apply-all:hover{background:#10b98133}.code-pending-apply-all:disabled{opacity:.5;cursor:not-allowed}.code-pending-list{max-height:200px;overflow-y:auto}.code-pending-item{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-color)}.code-pending-item:last-child{border-bottom:none}.code-pending-path{flex:1;font-size:12px;font-family:SF Mono,monospace;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-pending-actions{display:flex;gap:4px}.code-pending-apply,.code-pending-discard{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;transition:all .1s var(--ease-out-fast)}.code-pending-apply{background:#10b9811a;color:var(--accent-color)}.code-pending-apply:hover{background:#10b98133}.code-pending-discard{background:#ef44441a;color:#ef4444}.code-pending-discard:hover{background:#ef444433}.code-pending-apply svg,.code-pending-discard svg{width:14px;height:14px}.code-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;color:var(--text-muted);font-size:13px}.code-loading-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}.code-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.code-mode-toggle{display:flex;gap:4px;padding:8px 12px;background:var(--sidebar-bg);border-bottom:1px solid var(--border-color)}.code-mode-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;transition:all .1s var(--ease-out-fast)}.code-mode-btn:hover{background:var(--hover-bg);color:var(--text-secondary)}.code-mode-btn.active{background:var(--accent-color);color:#fff}.code-mode-btn svg{width:14px;height:14px}.code-projects-section{display:flex;flex-direction:column;max-height:40%;overflow:hidden;border-bottom:1px solid var(--border-color)}.code-projects-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.code-projects-add-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-projects-add-btn:hover{background:var(--hover-bg);color:var(--accent-color)}.code-projects-add-btn svg{width:14px;height:14px}.code-projects-list{flex:1;overflow-y:auto;padding:0 8px 8px}.code-empty-state{display:flex;flex-direction:column;align-items:center;padding:24px 16px;text-align:center}.code-empty-state svg{width:48px;height:48px;color:var(--border-color);margin-bottom:12px}.code-empty-state p{color:var(--text-muted);font-size:13px;margin-bottom:16px}.code-empty-btn{padding:8px 16px;border:none;border-radius:8px;background:var(--accent-color);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-empty-btn:hover{filter:brightness(1.1)}.code-project-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-project-item:hover{background:var(--hover-bg)}.code-project-item.active{background:#10b98126}.code-project-icon{flex-shrink:0}.project-type-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;font-size:9px;font-weight:700}.project-type-badge.html{background:#e34f26;color:#fff}.project-type-badge.react{background:#61dafb;color:#000}.project-type-badge.node{background:#393;color:#fff}.project-type-badge.python{background:#3776ab;color:#fff}.project-type-badge.blank{background:var(--border-color);color:var(--text-muted)}.code-project-info{flex:1;min-width:0}.code-project-name{display:block;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-project-date{display:block;font-size:11px;color:var(--text-muted);margin-top:2px}.code-project-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:all .08s var(--ease-out-fast)}.code-project-item:hover .code-project-delete{opacity:1}.code-project-delete:hover{background:#ef444426;color:#ef4444}.code-project-delete svg{width:14px;height:14px}.code-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#161b22;border-bottom:1px solid var(--border-color)}.code-toolbar-left,.code-toolbar-right{display:flex;align-items:center;gap:8px}.code-toolbar-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-toolbar-btn:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.code-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.code-toolbar-btn.primary{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.code-toolbar-btn.primary:hover{filter:brightness(1.1)}.code-toolbar-btn.active{background:#10b98126;border-color:var(--accent-color);color:var(--accent-color)}.code-toolbar-btn svg{width:14px;height:14px}.code-toolbar-btn .dropdown-chevron{width:12px;height:12px;margin-left:2px}.code-deploy-container{position:relative}.code-deploy-dropdown{position:absolute;top:100%;right:0;margin-top:4px;min-width:180px;background:var(--main-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:100;overflow:hidden}.code-deploy-dropdown button{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:transparent;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-deploy-dropdown button:hover{background:var(--hover-bg)}.code-deploy-dropdown button svg{width:16px;height:16px;color:var(--text-muted)}.deploy-dropdown-section{padding:4px 0}.deploy-dropdown-label{display:block;padding:6px 14px 4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.deploy-dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.vercel-modal{max-width:480px}.vercel-modal .code-modal-header h3{display:flex;align-items:center;gap:10px}.vercel-modal .code-modal-header h3 svg{width:20px;height:20px}.vercel-connected-info{display:flex;flex-direction:column;gap:16px}.vercel-user-badge{display:flex;align-items:center;gap:12px;padding:12px;background:#0003;border-radius:8px}.vercel-user-badge svg{width:32px;height:32px;color:var(--text-muted)}.vercel-user-badge div{display:flex;flex-direction:column;gap:2px}.vercel-user-badge strong{color:var(--text-primary);font-size:14px}.vercel-user-badge span{color:#10a37f;font-size:12px}.vercel-projects-summary{color:var(--text-secondary);font-size:13px}.vercel-connect-form{display:flex;flex-direction:column;gap:12px}.vercel-connect-form p{color:var(--text-secondary);font-size:13px;line-height:1.5}.vercel-connect-form label{color:var(--text-secondary);font-size:12px;font-weight:500}.vercel-token-link{display:inline-flex;align-items:center;gap:6px;color:#10a37f;font-size:13px;text-decoration:none;transition:opacity .15s ease}.vercel-token-link:hover{opacity:.8}.vercel-token-link svg{width:14px;height:14px}.vercel-deploy-form{display:flex;flex-direction:column;gap:12px}.vercel-deploy-form label{color:var(--text-secondary);font-size:12px;font-weight:500}.vercel-deploy-project-info{display:flex;align-items:center;gap:10px;padding:12px;background:#0003;border-radius:8px;color:var(--text-primary);font-size:14px}.vercel-deploy-project-info svg{width:20px;height:20px;color:var(--text-muted)}.vercel-deploy-hint{color:var(--text-muted);font-size:12px}.vercel-deploy-hint code{color:#10a37f;background:#10a37f1a;padding:2px 6px;border-radius:4px}.vercel-deployments-modal{max-width:600px}.vercel-loading,.vercel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-muted);font-size:14px}.vercel-empty svg{width:48px;height:48px;opacity:.5}.vercel-deployments-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.vercel-deployment-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#0003;border-radius:8px;transition:background .15s ease}.vercel-deployment-item:hover{background:#0000004d}.vercel-deployment-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.vercel-deployment-name{display:flex;align-items:center;gap:8px}.vercel-deployment-status{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.vercel-deployment-status svg{width:14px;height:14px}.vercel-deployment-status.READY svg{color:#10a37f}.vercel-deployment-status.ERROR svg{color:#ef4444}.vercel-deployment-status.BUILDING .btn-spinner,.vercel-deployment-status.QUEUED svg{color:#f59e0b}.vercel-deployment-url{color:var(--text-primary);font-size:13px;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vercel-deployment-url:hover{text-decoration:underline;color:#10a37f}.vercel-deployment-meta{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:12px}.vercel-deployment-meta span:not(:last-child):after{content:"•";margin-left:8px}.vercel-deployment-actions{display:flex;align-items:center;gap:4px}.vercel-deployment-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .08s var(--ease-out-fast)}.vercel-deployment-btn:hover{background:var(--hover-bg)}.vercel-deployment-btn.delete:hover{background:#ef444433;color:#ef4444}.vercel-deployment-btn.cancel:hover{background:#f59e0b33;color:#f59e0b}.vercel-deployment-btn svg{width:16px;height:16px}.vercel-deployment-btn .btn-spinner.small{width:14px;height:14px}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:var(--text-primary);animation:spin .8s linear infinite}.btn-spinner.small{width:12px;height:12px;border-width:1.5px}@keyframes spin{to{transform:rotate(360deg)}}.code-tabs-bar{display:flex;align-items:center;gap:2px;padding:0 8px;background:#161b22;border-bottom:1px solid var(--border-color);overflow-x:auto;scrollbar-width:none}.code-tabs-bar::-webkit-scrollbar{display:none}.code-tab{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer;transition:all .08s var(--ease-out-fast);white-space:nowrap}.code-tab:hover{color:var(--text-secondary);background:#ffffff08}.code-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-color);background:#ffffff0d}.code-tab.unsaved .code-tab-name{color:#f59e0b}.code-tab-name{display:flex;align-items:center;gap:6px}.code-tab-dot{width:6px;height:6px;border-radius:50%;background:#f59e0b}.code-tab-close{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:all .08s var(--ease-out-fast)}.code-tab:hover .code-tab-close,.code-tab.active .code-tab-close{opacity:1}.code-tab-close:hover{background:var(--hover-bg);color:var(--text-primary)}.code-tab-close svg{width:12px;height:12px}.code-editor-preview-container{display:flex;flex:1;overflow:hidden;min-height:0}.code-main.with-preview .code-editor-section{flex:1;border-right:1px solid var(--border-color)}.code-main.with-preview .code-preview-panel{flex:1}.code-editor-wrapper{display:flex;flex:1;overflow:auto;background:#0d1117;min-height:0;position:relative}.code-editor-line-numbers{display:flex;flex-direction:column;padding:16px 0;background:#0d1117;border-right:1px solid #21262d;-webkit-user-select:none;user-select:none;flex-shrink:0;height:100%;overflow:hidden}.line-number{padding:0 12px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;color:#484f58;text-align:right;min-width:40px}.code-editor-textarea{flex:1;padding:16px;border:none;background:transparent;color:transparent;caret-color:#c9d1d9;position:relative;z-index:2;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;resize:none;outline:none;white-space:pre;overflow-wrap:normal;overflow-x:auto;overflow-y:auto;height:100%;tab-size:2}.code-editor-highlight{position:absolute;inset:0 0 0 40px;margin:0;padding:16px;overflow:auto;pointer-events:none;z-index:1;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.6;white-space:pre;color:#c9d1d9}.code-editor-highlight code{font-family:inherit;font-size:inherit;line-height:inherit}.code-editor-textarea::placeholder{color:#484f58}.code-editor-textarea::selection{background:#8b5cf640}.code-preview-panel{display:flex;flex-direction:column;background:#fff;overflow:hidden}.code-preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f6f8fa;border-bottom:1px solid #d0d7de;font-size:12px;font-weight:500;color:#24292f}.code-preview-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:#57606a;cursor:pointer}.code-preview-close:hover{background:#d0d7de}.code-preview-close svg{width:14px;height:14px}.code-preview-iframe{flex:1;width:100%;border:none;background:#fff}.code-console-panel{display:flex;flex-direction:column;height:150px;background:#0d1117;border-top:1px solid var(--border-color);flex-shrink:0}.code-console-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#161b22;border-bottom:1px solid #21262d;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.code-console-title{display:flex;align-items:center;gap:12px}.code-console-tabs{display:flex;gap:6px}.code-console-tabs button{border:1px solid transparent;background:transparent;color:#8b949e;font-size:10px;padding:2px 6px;border-radius:6px;cursor:pointer;text-transform:uppercase;letter-spacing:.4px}.code-console-tabs button.active{background:#21262d;border-color:#30363d;color:#c9d1d9}.code-console-actions{display:flex;gap:4px}.code-console-status{font-size:10px;color:#8b949e;text-transform:uppercase;letter-spacing:.4px;align-self:center}.code-console-actions button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer}.code-console-actions button:hover{background:var(--hover-bg);color:var(--text-primary)}.code-console-actions button svg{width:14px;height:14px}.code-console-output{flex:1;overflow-y:auto;padding:8px 12px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px}.code-console-empty{color:#484f58;font-style:italic}.code-console-entry{display:flex;align-items:flex-start;gap:8px;padding:2px 0;color:#c9d1d9;word-break:break-word}.code-console-entry pre{margin:0;white-space:pre-wrap;font-family:inherit}.code-console-entry.error{color:#f85149}.code-console-entry.warn{color:#d29922}.code-console-entry.info{color:#58a6ff}.console-prefix{color:#6e7681;flex-shrink:0}.code-terminal-panel{display:flex;flex-direction:column;height:100%}.code-terminal-output{flex:1}.code-terminal-input-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid #21262d;background:#0d1117}.code-terminal-prompt{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;color:#8b949e;white-space:nowrap}.code-terminal-input-row input{flex:1;background:#0d1117;border:1px solid #30363d;color:#c9d1d9;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:12px;padding:6px 8px;border-radius:6px;outline:none}.code-terminal-input-row input:focus{border-color:#58a6ff}.code-terminal-input-row button{border:1px solid #30363d;background:#21262d;color:#c9d1d9;padding:6px 10px;font-size:11px;border-radius:6px;cursor:pointer}.code-terminal-input-row button:hover{background:#30363d}.code-terminal-error{padding:4px 12px;font-size:11px;color:#f85149;border-top:1px solid #21262d;background:#161b22}.code-context-menu{position:fixed;min-width:160px;background:var(--main-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:10000;overflow:hidden;padding:4px}.code-context-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:transparent;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-context-menu button:hover{background:var(--hover-bg)}.code-context-menu button.danger:hover{background:#ef444426;color:#ef4444}.code-context-menu button svg{width:14px;height:14px;color:var(--text-muted)}.code-context-menu button.danger svg{color:currentColor}.context-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.code-project-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.code-project-type-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid var(--border-color);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-project-type-btn:hover{background:var(--hover-bg);border-color:var(--text-muted)}.code-project-type-btn.active{background:#10b98126;border-color:var(--accent-color);color:var(--text-primary)}.project-type-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;font-size:11px;font-weight:700}.project-type-icon.html{background:#e34f26;color:#fff}.project-type-icon.react{background:#61dafb;color:#000}.project-type-icon.node{background:#393;color:#fff}.project-type-icon.python{background:#3776ab;color:#fff}.project-type-icon.blank{background:var(--border-color);color:var(--text-muted)}.code-modal-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.code-input-separator{height:1px;background:linear-gradient(90deg,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent);margin:0}.code-input-area{padding:16px 24px 12px;background:var(--main-bg)}.code-input-area .code-chat-container{max-width:768px;margin:0 auto}.code-input-area .input-wrapper{background:var(--input-bg);border:1px solid var(--border-color);border-radius:16px;transition:border-color .08s,box-shadow .08s}.code-input-area .input-wrapper:focus-within{border-color:#444;box-shadow:0 0 0 2px #8b5cf61a}.code-input-area textarea{width:100%;padding:16px 16px 12px;border:none;background:transparent;color:var(--text-primary);font-size:15px;line-height:1.5;resize:none;outline:none;font-family:inherit}.code-input-area textarea::placeholder{color:var(--text-muted)}.code-input-area .input-bottom-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-top:1px solid rgba(255,255,255,.05)}.code-input-area .input-actions-left,.code-input-area .input-actions-right{display:flex;align-items:center;gap:8px}.code-input-area .disclaimer{text-align:center;font-size:11px;color:var(--text-muted);margin-top:8px}.file-tree-children{display:flex;flex-direction:column}.code-files-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-files-action-btn:hover{background:var(--hover-bg);color:var(--accent-color)}.code-files-action-btn svg{width:14px;height:14px}.github-editor-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.github-editor-actions{display:flex;align-items:center;gap:8px}.code-toolbar-btn.danger{color:#ef4444;border-color:#ef44444d}.code-toolbar-btn.danger:hover{background:#ef444426;border-color:#ef4444}.code-modal-textarea{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border-color);background:#ffffff08;color:var(--text-primary);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;resize:vertical;outline:none}.code-modal-textarea:focus{border-color:#ffffff2e}.code-modal-textarea::placeholder{color:var(--text-muted)}.code-chat-sidebar{display:flex;flex-direction:column;background:var(--sidebar-bg);border-left:1px solid var(--border-color);height:100%;overflow:visible}.code-chat-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color)}.code-chat-sidebar-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.code-chat-sidebar-header h3 svg{width:18px;height:18px;color:var(--accent-color)}.code-chat-sidebar-actions{display:flex;gap:4px}.code-chat-sidebar-actions button{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-chat-sidebar-actions button:hover{background:var(--hover-bg);color:var(--text-primary)}.code-chat-sidebar-actions button:disabled{opacity:.4;cursor:not-allowed}.code-chat-sidebar-actions button svg{width:16px;height:16px}.code-chat-target{padding:10px 16px;border-bottom:1px solid var(--border-color);font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.code-chat-target-value{color:var(--text-secondary);font-weight:600}.code-chat-target-action{border:1px solid var(--border-color);background:var(--hover-bg);color:var(--text-primary);padding:6px 10px;border-radius:8px;font-size:12px;cursor:pointer;transition:all .1s var(--ease-out-fast)}.code-chat-target-action:hover{background:#ffffff14}.code-chat-target-empty{color:var(--text-muted)}.code-chat-sidebar-messages{flex:1;overflow-y:auto;padding:16px}.code-chat-sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:24px}.code-chat-sidebar-empty svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:16px;opacity:.5}.code-chat-sidebar-empty h4{margin:0 0 8px;font-size:15px;font-weight:600;color:var(--text-secondary)}.code-chat-sidebar-empty p{margin:0;font-size:13px;color:var(--text-muted);line-height:1.5}.code-chat-sidebar-message{margin-bottom:20px}.code-chat-sidebar-message:last-child{margin-bottom:0}.code-chat-sidebar-message-header{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.code-chat-sidebar-message.user .code-chat-sidebar-message-header{color:var(--accent-color)}.code-chat-sidebar-message-content{font-size:14px;line-height:1.6;color:var(--text-primary)}.code-chat-sidebar-message-content p{margin:0 0 12px}.code-chat-sidebar-message-content p:last-child{margin-bottom:0}.code-chat-sidebar-message-content pre{background:#0000004d;border-radius:8px;padding:12px;overflow-x:auto;margin:12px 0}.code-chat-sidebar-message-content code{font-family:SF Mono,Fira Code,monospace;font-size:13px}.code-chat-sidebar-typing{display:flex;gap:4px;padding:8px 0}.code-chat-sidebar-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:chatTyping 1.4s infinite ease-in-out both}.code-chat-sidebar-typing span:nth-child(1){animation-delay:-.32s}.code-chat-sidebar-typing span:nth-child(2){animation-delay:-.16s}.code-chat-sidebar-input{padding:16px;border-top:1px solid var(--border-color);background:var(--main-bg);overflow:visible;position:relative}.code-chat-sidebar-input form{display:flex;flex-direction:column;gap:12px}.code-chat-sidebar-input textarea{width:100%;min-height:80px;max-height:200px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--input-bg);color:var(--text-primary);font-size:14px;line-height:1.5;resize:none;font-family:inherit}.code-chat-sidebar-input textarea:focus{outline:none;border-color:var(--accent-color)}.code-chat-sidebar-input textarea::placeholder{color:var(--text-muted)}.code-chat-sidebar-input-actions{display:flex;align-items:center;justify-content:space-between}.code-chat-sidebar-input-left{display:flex;align-items:center;gap:8px;position:relative}.code-chat-sidebar-input-left .model-dropdown{position:absolute;bottom:calc(100% + 8px);left:0;right:auto;min-width:220px;max-height:300px;overflow-y:auto;z-index:10000}.code-chat-sidebar-input-right{display:flex;align-items:center;gap:8px}.code-chat-sidebar-input .model-selector-mini{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-chat-sidebar-input .model-selector-mini:hover{background:var(--hover-bg);border-color:var(--text-muted)}.code-chat-sidebar-input .model-selector-mini svg{width:12px;height:12px}.code-chat-sidebar-input .send-btn-sidebar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:var(--accent-color);color:#fff;cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-chat-sidebar-input .send-btn-sidebar:hover:not(:disabled){background:#059669}.code-chat-sidebar-input .send-btn-sidebar:disabled{opacity:.5;cursor:not-allowed}.code-chat-sidebar-input .send-btn-sidebar.stop{background:#ef4444}.code-chat-sidebar-input .send-btn-sidebar svg{width:18px;height:18px}.code-chat-sidebar-input .disclaimer-mini{font-size:11px;color:var(--text-muted);text-align:center;margin-top:4px}.code-chat-toggle{position:fixed;right:16px;bottom:16px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:var(--accent-color);color:#fff;cursor:pointer;box-shadow:0 4px 12px #0000004d;z-index:101;transition:all .08s var(--ease-out-fast)}.code-chat-toggle:hover{transform:scale(1.05);background:#059669}.code-chat-toggle svg{width:24px;height:24px}.code-chat-panel{display:none}.code-chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--sidebar-bg);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;color:var(--text-secondary)}.code-chat-panel-actions{display:flex;gap:4px}.code-chat-panel-actions button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .08s var(--ease-out-fast)}.code-chat-panel-actions button:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary)}.code-chat-panel-actions button:disabled{opacity:.4;cursor:not-allowed}.code-chat-panel-actions button svg{width:14px;height:14px}.code-chat-messages{flex:1;overflow-y:auto;padding:12px}.code-chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.code-chat-empty svg{width:40px;height:40px;margin-bottom:12px;opacity:.5}.code-chat-empty p{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.code-chat-empty span{font-size:12px}.code-chat-message{margin-bottom:16px}.code-chat-message:last-child{margin-bottom:0}.code-chat-message-header{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.code-chat-message.user .code-chat-message-header{color:var(--accent-color)}.code-chat-message-content{font-size:14px;line-height:1.6;color:var(--text-primary)}.code-chat-message-content p{margin:0 0 8px}.code-chat-message-content p:last-child{margin-bottom:0}.code-chat-message-content pre{background:#0d1117;border-radius:8px;padding:12px;overflow-x:auto;margin:8px 0}.code-chat-message-content code{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px}.code-chat-message-content .inline-code{background:#ffffff1a;padding:2px 6px;border-radius:4px}.code-chat-typing{display:flex;gap:4px;padding:8px 0}.code-chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:chatTyping 1.4s infinite ease-in-out both}.code-chat-typing span:nth-child(1){animation-delay:-.32s}.code-chat-typing span:nth-child(2){animation-delay:-.16s}@keyframes chatTyping{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.code-chat-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent-color);color:#fff;font-size:10px;font-weight:600;margin-left:4px}.auth-page{min-height:100vh;display:flex;background:#0a0a0a;color:#fff;overflow:hidden}.auth-loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#0a0a0a}.auth-loader-logo{width:48px;height:48px;color:#fff;animation:auth-pulse 2s ease-in-out infinite}.auth-loader-logo svg{width:100%;height:100%}.auth-loader-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-features{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:60px;background:linear-gradient(135deg,#0a0a0a,#1a1a2e);overflow:hidden}.auth-features-content{position:relative;z-index:2;max-width:560px}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:48px}.auth-brand-logo{width:36px;height:36px;color:#10a37f}.auth-brand-name{font-size:20px;font-weight:600;letter-spacing:-.02em}.auth-tagline{font-size:48px;font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:20px}.auth-tagline-highlight{background:linear-gradient(135deg,#10a37f,#6366f1,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-subtitle{font-size:17px;line-height:1.6;color:#fff9;margin-bottom:48px;max-width:440px}.auth-feature-cards{display:flex;flex-direction:column;gap:12px}.auth-feature-card{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;cursor:pointer;transition:all .3s ease;opacity:.5;transform:translate(-8px)}.auth-feature-card:hover{opacity:.8;background:#ffffff0d}.auth-feature-card.active{opacity:1;transform:translate(0);background:#10a37f14;border-color:#10a37f4d}.auth-feature-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:10px;flex-shrink:0}.auth-feature-icon svg{width:22px;height:22px;color:#ffffffb3}.auth-feature-card.active .auth-feature-icon{background:#10a37f26}.auth-feature-card.active .auth-feature-icon svg{color:#10a37f}.auth-feature-text h3{font-size:15px;font-weight:600;margin-bottom:4px;color:#fff}.auth-feature-text p{font-size:13px;color:#ffffff80;line-height:1.5;margin:0}.auth-feature-card.active .auth-feature-text p{color:#ffffffb3}.auth-feature-indicators{display:flex;gap:8px;margin-top:32px}.auth-feature-dot{width:8px;height:8px;border-radius:50%;background:#fff3;border:none;cursor:pointer;transition:all .3s ease;padding:0}.auth-feature-dot:hover{background:#fff6}.auth-feature-dot.active{width:24px;border-radius:4px;background:#10a37f}.auth-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4;pointer-events:none}.auth-orb-1{width:400px;height:400px;background:#10a37f;top:-100px;left:-100px;animation:auth-orb-float 8s ease-in-out infinite}.auth-orb-2{width:300px;height:300px;background:#6366f1;bottom:-50px;right:100px;animation:auth-orb-float 10s ease-in-out infinite reverse}.auth-orb-3{width:200px;height:200px;background:#ec4899;top:50%;right:-50px;animation:auth-orb-float 12s ease-in-out infinite}@keyframes auth-orb-float{0%,to{transform:translate(0)}25%{transform:translate(20px,-20px)}50%{transform:translate(-10px,20px)}75%{transform:translate(15px,10px)}}.auth-form-section{width:480px;min-width:480px;display:flex;align-items:center;justify-content:center;padding:60px;background:#fff}.auth-form-container{width:100%;max-width:360px}.auth-form-header{margin-bottom:32px}.auth-form-header h2{font-size:28px;font-weight:700;color:#0a0a0a;margin-bottom:8px;letter-spacing:-.02em}.auth-form-header p{font-size:15px;color:#666;margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-input-group{display:flex;flex-direction:column;gap:8px}.auth-input-group label{font-size:14px;font-weight:500;color:#0a0a0a}.auth-input{width:100%;padding:14px 16px;font-size:15px;color:#0a0a0a;background:#f7f7f8;border:1px solid #e5e5e5;border-radius:8px;outline:none;transition:all .2s ease}.auth-input:focus{background:#fff;border-color:#10a37f;box-shadow:0 0 0 3px #10a37f1a}.auth-input::placeholder{color:#999}.auth-input-wrapper{position:relative}.auth-input-wrapper .auth-input{padding-right:48px}.auth-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#999;cursor:pointer;border-radius:6px;transition:all .15s ease}.auth-password-toggle:hover{background:#0000000d;color:#666}.auth-password-toggle svg{width:18px;height:18px}.auth-error{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.auth-error svg{width:18px;height:18px;flex-shrink:0}.auth-submit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;font-size:15px;font-weight:600;color:#fff;background:#0a0a0a;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-top:8px}.auth-submit-btn:hover:not(:disabled){background:#1a1a1a;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-submit-btn svg{width:18px;height:18px;transition:transform .2s ease}.auth-submit-btn:hover:not(:disabled) svg{transform:translate(4px)}.auth-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:auth-spin .8s linear infinite}.auth-form-footer{margin-top:32px;text-align:center}.auth-form-footer p{font-size:12px;color:#999;line-height:1.6;margin:0}@media(max-width:1024px){.auth-features{display:none}.auth-form-section{width:100%;min-width:100%}}@media(max-width:480px){.auth-form-section{padding:40px 24px}.auth-form-header h2{font-size:24px}}
