@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.login-container{background-color:var(--bg-primary);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.login-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;gap:20px;padding:40px;display:flex}.login-header{flex-direction:column;align-items:center;gap:8px;margin-bottom:8px;display:flex}.login-header h1{background:linear-gradient(135deg, var(--purple-300), var(--purple-500));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.login-header p{color:var(--text-secondary);font-size:.875rem}.login-error{color:var(--error);text-align:center;background-color:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:10px 14px;font-size:.85rem}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.login-field input{background-color:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:8px;outline:none;padding:12px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.login-field input:focus{border-color:var(--purple-600);box-shadow:0 0 0 3px #7c3aed26}.login-field input::placeholder{color:var(--text-muted)}.login-button{background:linear-gradient(135deg, var(--purple-700), var(--purple-600));color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:46px;margin-top:4px;padding:12px;font-family:inherit;font-size:.95rem;font-weight:600;transition:opacity .2s,transform .1s;display:flex}.login-button:hover:not(:disabled){opacity:.9}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden}.sidebar.collapsed{border-right:none;width:0!important;min-width:0!important}.sidebar-resize-handle{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background .15s;position:absolute;top:0;right:0}.sidebar-resize-handle:hover,.sidebar-resize-handle:active{background:var(--purple-600)}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sidebar-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.6875rem;font-weight:600}.sidebar-action{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.sidebar-action:hover{color:var(--purple-400);background:var(--bg-hover)}.sidebar-register{border-bottom:1px solid var(--border-color);gap:8px;padding:12px 16px;display:flex}.sidebar-register input{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:.8125rem}.sidebar-register input:focus{border-color:var(--purple-600);box-shadow:0 0 0 2px #7c3aed26}.sidebar-register button{background:var(--purple-700);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 12px;font-size:.8125rem;font-weight:500;transition:background .15s}.sidebar-register button:hover{background:var(--purple-600)}.sidebar-search{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:10px;margin:8px 12px;padding:12px 16px;transition:border-color .15s;display:flex}.sidebar-search:focus-within{border-color:var(--purple-700)}.sidebar-search .search-icon{color:var(--text-muted);flex-shrink:0}.sidebar-search input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.8125rem}.sidebar-search input::placeholder{color:var(--text-muted)}.sidebar-tree{flex:1;padding:8px 0;overflow-y:auto}.tree-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:0;align-items:center;gap:8px;padding:6px 16px;font-family:inherit;font-size:.8125rem;transition:all .1s;display:flex;overflow:hidden}.tree-item:hover{background:var(--bg-hover);color:var(--text-primary)}.tree-file.active{background:var(--bg-active);color:var(--purple-300);border-right:2px solid var(--purple-500)}.tree-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s}.tree-chevron.expanded{transform:rotate(90deg)}.tree-icon{flex-shrink:0}.folder-icon.open{color:var(--purple-400)}.folder-icon.closed{color:var(--purple-600)}.file-icon{color:var(--text-muted)}.tree-file.active .file-icon{color:var(--purple-400)}.tree-file{cursor:default;align-items:center;display:flex}.tree-file-btn{min-width:0;color:inherit;font-size:inherit;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;font-family:inherit;display:flex;overflow:hidden}.tree-rename-btn,.tree-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:none}.tree-rename-btn{margin-left:auto}.tree-file:hover .tree-rename-btn,.tree-file:hover .tree-delete-btn{display:flex}.tree-rename-btn:hover{color:var(--purple-400);background:#7c3aed26}.tree-delete-btn:hover{color:#ef4444;background:#ef44441a}.tree-file[draggable=true]{cursor:grab}.tree-file[draggable=true]:active{cursor:grabbing;opacity:.6}.tree-folder.drag-over>.tree-folder-btn{background:var(--bg-active);outline:1px dashed var(--purple-500);outline-offset:-1px;border-radius:6px}.tree-name{text-overflow:ellipsis;overflow:hidden}.tree-children{position:relative}.tree-child-wrapper{min-height:0;display:flex;position:relative}.tree-guide{flex-shrink:0;width:16px;position:relative}.tree-child-wrapper:before{content:"";background:var(--border-color);width:1px;position:absolute;top:0;bottom:0;left:0}.tree-child-wrapper.last:before{bottom:50%}.tree-guide-line{background:var(--border-color);width:12px;height:1px;position:absolute;top:50%;left:0}.tree-child-wrapper.last .tree-guide-line{border-left:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:0 0;border-radius:0 0 0 6px;width:12px;height:50%;top:0}.tree-child-content{flex:1;min-width:0}.tree-child-content>.tree-folder>.tree-item,.tree-child-content>.tree-item{padding-left:4px}.tree-child-content>.tree-folder>.tree-children{margin-left:18px!important}.sidebar-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;font-size:.8125rem;display:flex}.sidebar-empty-hint{opacity:.7;font-size:.75rem;line-height:1.5}.delete-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.delete-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:90%;max-width:360px;padding:28px 32px;display:flex;box-shadow:0 20px 60px #0006}.delete-modal-icon{color:#ef4444;background:#ef44441a;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.delete-modal-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.delete-modal-text{color:var(--text-muted);text-align:center;margin:0;font-size:.8125rem;line-height:1.5}.delete-modal-text strong{color:var(--text-secondary)}.delete-modal-actions{gap:10px;width:100%;margin-top:8px;display:flex}.delete-modal-cancel,.delete-modal-confirm,.add-file-modal-confirm{cursor:pointer;border-radius:8px;flex:1;padding:10px 16px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:all .15s}.delete-modal-cancel{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary)}.delete-modal-cancel:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.delete-modal-confirm{color:#fff;background:#ef4444;border:1px solid #ef4444}.delete-modal-confirm:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.delete-modal-cancel:disabled,.delete-modal-confirm:disabled,.add-file-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.tree-folder-row{align-items:center;width:100%;display:flex}.tree-folder-row .tree-folder-btn{min-width:0;color:inherit;font-size:inherit;cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:0;font-family:inherit;display:flex;overflow:hidden}.tree-add-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:2px;display:none}.tree-folder-row:hover .tree-add-btn{display:flex}.tree-add-btn:hover{color:var(--purple-400);background:#7c3aed26}.add-file-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;align-items:center;gap:12px;width:90%;max-width:400px;padding:28px 32px;display:flex;box-shadow:0 20px 60px #0006}.add-file-modal-icon{width:48px;height:48px;color:var(--purple-400);background:#7c3aed26;border-radius:50%;justify-content:center;align-items:center;display:flex}.add-file-modal-title{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.add-file-modal-text{color:var(--text-muted);text-align:center;margin:0;font-size:.8125rem;line-height:1.5}.add-file-modal-text strong{color:var(--text-secondary)}.add-file-modal-input{background:var(--bg-tertiary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 14px;font-family:inherit;font-size:.875rem;transition:border-color .2s}.add-file-modal-input:focus{border-color:var(--purple-600);box-shadow:0 0 0 2px #7c3aed26}.add-file-modal-input::placeholder{color:var(--text-muted)}.add-file-modal-confirm{background:var(--purple-700);border:1px solid var(--purple-700);color:#fff}.add-file-modal-confirm:hover:not(:disabled){background:var(--purple-600);border-color:var(--purple-600)}.rename-modal-icon{width:48px;height:48px;color:var(--purple-400);background:#7c3aed26;border-radius:50%;justify-content:center;align-items:center;display:flex}.settings-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.settings-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0006}.settings-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.settings-header h2{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.settings-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.settings-close:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-body{flex-direction:column;gap:20px;padding:24px;display:flex}.settings-field{flex-direction:column;gap:8px;display:flex}.settings-field label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.settings-field input,.settings-field select{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;outline:none;padding:10px 14px;font-size:.875rem;transition:border-color .15s}.settings-field input:focus,.settings-field select:focus{border-color:var(--purple-500)}.settings-field select{cursor:pointer}.settings-provider-toggle{gap:8px;display:flex}.provider-btn{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;border-radius:10px;flex:1;padding:10px 16px;font-size:.875rem;font-weight:500;transition:all .15s}.provider-btn:hover{border-color:var(--purple-600);color:var(--text-primary)}.provider-btn.active{background:var(--purple-700);border-color:var(--purple-500);color:#fff}.settings-url-row{gap:8px;display:flex}.settings-url-row input{flex:1}.settings-test-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;font-size:.8125rem;transition:all .15s;display:flex}.settings-test-btn:hover:not(:disabled){border-color:var(--purple-600);color:var(--purple-400)}.settings-test-btn:disabled{opacity:.5;cursor:not-allowed}.settings-test-result{border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:.8125rem;display:flex}.settings-test-result.success{color:#22c55e;background:#22c55e1a}.settings-test-result.error{color:#ef4444;background:#ef44441a}.settings-hint{color:var(--text-muted);font-size:.75rem;font-style:italic}.settings-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.settings-cancel-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:10px;padding:10px 20px;font-size:.875rem;transition:all .15s}.settings-cancel-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.settings-save-btn{background:var(--purple-600);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 24px;font-size:.875rem;font-weight:500;transition:all .15s;display:flex}.settings-save-btn:hover:not(:disabled){background:var(--purple-500)}.settings-save-btn:disabled{opacity:.5;cursor:not-allowed}.settings-loading{color:var(--purple-400);justify-content:center;align-items:center;padding:60px;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header{height:var(--header-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.header-left{align-items:center;gap:16px;display:flex}.header-btn{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.header-btn:hover{background:var(--bg-hover);color:var(--purple-400)}.header-brand{align-items:center;gap:10px;display:flex}.header-logo{color:var(--purple-500)}.header-title{letter-spacing:-.01em;background:linear-gradient(135deg, var(--purple-300), var(--purple-500));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:600}.header-center{flex:1;justify-content:center;padding:0 24px;display:flex}.header-filepath{color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border-color);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;max-width:500px;padding:6px 16px;font-family:JetBrains Mono,Cascadia Code,monospace;font-size:.8125rem;overflow:hidden}.header-right{align-items:center;gap:16px;display:flex}.header-settings-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.header-settings-btn:hover{border-color:var(--purple-600);color:var(--purple-400);background:var(--bg-hover)}.header-model{color:var(--purple-400);background:var(--bg-active);border:1px solid var(--purple-800);border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:.75rem;display:flex}.editor{flex-direction:column;height:100%;display:flex}.editor-loading{height:100%;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;display:flex}.spin{animation:1s linear infinite spin}.editor-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 20px;display:flex}.editor-tabs{gap:4px;display:flex}.editor-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.editor-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.editor-tab.active{color:var(--purple-400);background:var(--bg-active)}.editor-actions{gap:8px;display:flex}.editor-save-btn,.editor-chat-btn{border:1px solid var(--purple-700);background:var(--bg-active);color:var(--purple-300);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:8px 18px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:all .15s;display:flex}.editor-save-btn:hover:not(:disabled),.editor-chat-btn:hover:not(.active){background:var(--purple-700);color:#fff}.editor-save-btn:disabled{opacity:.5;cursor:not-allowed}.editor-chat-btn.active{background:var(--purple-700);color:#fff}.editor-body{flex:1;min-height:0;display:flex;overflow:hidden}.editor-document{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.editor-content{flex:1;min-height:0;overflow:auto}.editor-textarea{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);resize:none;tab-size:2;border:none;outline:none;padding:28px 32px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.875rem;line-height:1.8}.editor-preview{max-width:820px;margin:0 auto;padding:36px 48px}.editor-resizer{cursor:col-resize;background:var(--border-color);flex-shrink:0;width:5px;transition:background .15s;position:relative}.editor-resizer:after{content:"";position:absolute;inset:0 -3px}.editor-resizer:hover,.editor-resizer:active{background:var(--purple-600)}.editor-chat-panel{background:var(--bg-secondary);border-radius:0 0 12px;flex-direction:column;min-width:0;display:flex}.chat-panel-header{color:var(--purple-300);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:8px;padding:14px 20px;font-size:.8125rem;font-weight:600;display:flex}.chat-panel-messages{flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow-y:auto}.chat-empty{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.chat-empty-icon{opacity:.3}.chat-empty p{max-width:220px;font-size:.8125rem;line-height:1.5}.chat-panel-input{border-top:1px solid var(--border-color);flex-shrink:0;padding:12px 16px}.chat-context-chip{white-space:nowrap;border-radius:5px;align-items:center;gap:4px;max-width:140px;padding:3px 8px;font-size:.6875rem;font-weight:500;display:inline-flex;overflow:hidden}.chat-context-chip span{text-overflow:ellipsis;overflow:hidden}.chat-context-chip.current{background:var(--purple-700);color:var(--purple-300);margin-left:auto}.chat-context-chip.ref{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.chip-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;align-items:center;padding:0;transition:color .1s;display:flex}.chip-remove:hover{color:#ef4444}.chat-ref-chips{border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0;gap:6px;padding:8px 16px;display:flex}.ai-attach{flex-shrink:0;position:relative}.ai-attach-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.ai-attach-btn:hover{color:var(--purple-400);background:var(--bg-hover)}.file-picker-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:100;border-radius:10px;flex-direction:column;width:280px;max-height:240px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 12px 40px #0006}.file-picker-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:10px 14px;font-size:.6875rem;font-weight:600}.file-picker-list{flex:1;overflow-y:auto}.file-picker-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:9px 14px;font-family:inherit;font-size:.8125rem;transition:background .1s;display:flex;overflow:hidden}.file-picker-item span{text-overflow:ellipsis;overflow:hidden}.file-picker-item:hover{background:var(--bg-hover);color:var(--text-primary)}.file-picker-empty{color:var(--text-muted);text-align:center;padding:20px 14px;font-size:.8125rem}.chat-bubble{word-break:break-word;border-radius:12px;max-width:90%;padding:10px 14px;font-size:.8125rem;line-height:1.5}.chat-bubble-user{background:var(--purple-700);color:#fff;border-bottom-right-radius:4px;align-self:flex-end;position:relative}.chat-msg-spinner{vertical-align:middle;opacity:.7;margin-left:6px;display:inline-block}.chat-bubble-ai{background:var(--bg-tertiary);color:var(--text-secondary);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble-content{font-size:.8125rem}.chat-bubble-content p{margin:0 0 .4em}.chat-bubble-content p:last-child{margin-bottom:0}.chat-bubble-typing{color:var(--text-muted);align-items:center;gap:8px;font-size:.8125rem;display:flex}.chat-bubble-actions{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;gap:2px;padding:2px;display:flex;position:absolute;top:-10px;right:-6px;box-shadow:0 2px 8px #0000004d}.chat-action-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:all .15s;display:flex}.chat-action-btn:hover:not(:disabled){color:var(--text-primary);background:var(--bg-hover)}.chat-action-btn:disabled{opacity:.3;cursor:not-allowed}.chat-action-btn.copied{color:var(--success)}.ai-input-wrapper{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;align-items:flex-end;gap:10px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s;display:flex}.ai-input-wrapper:focus-within{border-color:var(--purple-600);box-shadow:var(--shadow-purple)}.ai-input{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-width:0;max-height:120px;padding:4px 0;font-family:inherit;font-size:.8125rem;line-height:1.5;overflow-y:auto}.ai-input::placeholder{color:var(--text-muted)}.ai-send-btn{background:var(--purple-700);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.ai-send-btn:hover:not(:disabled){background:var(--purple-600);transform:scale(1.03)}.ai-send-btn:disabled{opacity:.4;cursor:not-allowed}.ai-stop-btn{border:1px solid var(--border-color);background:var(--bg-hover);width:36px;height:36px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.ai-stop-btn:hover{background:var(--error);border-color:var(--error);color:#fff}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--text-primary);margin-top:1.8em;margin-bottom:.6em;font-weight:600}.markdown-body h1{background:linear-gradient(135deg, var(--purple-300), var(--purple-500));-webkit-text-fill-color:transparent;border-bottom:1px solid var(--border-color);-webkit-background-clip:text;background-clip:text;padding-bottom:.4em;font-size:1.875rem}.markdown-body h2{color:var(--purple-300);font-size:1.5rem}.markdown-body h3{font-size:1.25rem}.markdown-body p{color:var(--text-secondary);margin-bottom:1.2em;line-height:1.8}.markdown-body a{color:var(--purple-400);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body code{background:var(--bg-tertiary);color:var(--purple-300);border-radius:5px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:.85em}.markdown-body pre{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;margin-bottom:1.2em;padding:20px;overflow-x:auto}.markdown-body pre code{background:0 0;padding:0}.markdown-body ul,.markdown-body ol{color:var(--text-secondary);margin-bottom:1.2em;padding-left:1.5em}.markdown-body li{margin-bottom:.4em;line-height:1.8}.markdown-body blockquote{border-left:3px solid var(--purple-600);color:var(--text-muted);margin-bottom:1.2em;padding:4px 0 4px 20px;font-style:italic}.markdown-body table{border-collapse:collapse;width:100%;margin-bottom:1.2em}.markdown-body th,.markdown-body td{border:1px solid var(--border-color);text-align:left;padding:10px 16px;font-size:.875rem}.markdown-body th{background:var(--bg-tertiary);color:var(--purple-300);font-weight:600}.markdown-body td{color:var(--text-secondary)}.markdown-body hr{border:none;border-top:1px solid var(--border-color);margin:2em 0}.editor-history{height:100%;padding:24px;overflow-y:auto}.history-empty{color:var(--text-muted);text-align:center;padding:48px;font-size:.875rem}.history-list{flex-direction:column;gap:16px;max-width:820px;margin:0 auto;display:flex}.history-item{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.history-meta{border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.history-source{color:var(--purple-400);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.history-date{color:var(--text-muted);font-size:.75rem}.history-content{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:200px;margin:0;padding:16px 18px;font-family:JetBrains Mono,monospace;font-size:.8125rem;line-height:1.6;overflow-y:auto}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;gap:0;display:flex;overflow:hidden}.app-main{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:14px;flex:1;margin:10px 20px;overflow:hidden}.empty-state{height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:32px;display:flex}.empty-state-icon{color:var(--purple-700);opacity:.4;margin-bottom:4px}.empty-state h2{letter-spacing:-.02em;background:linear-gradient(135deg, var(--purple-400), var(--purple-600));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:700}.empty-state p{text-align:center;max-width:340px;font-size:.9rem;line-height:1.6}:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-hover:#252540;--bg-active:#2d1b69;--purple-50:#faf5ff;--purple-100:#f3e8ff;--purple-200:#e9d5ff;--purple-300:#d8b4fe;--purple-400:#c084fc;--purple-500:#a855f7;--purple-600:#9333ea;--purple-700:#7c3aed;--purple-800:#6b21a8;--purple-900:#581c87;--text-primary:#f1f0f5;--text-secondary:#a09bb0;--text-muted:#6b6580;--border-color:#2a2a3e;--border-active:#7c3aed;--success:#22c55e;--warning:#f59e0b;--error:#ef4444;--sidebar-width:300px;--header-height:64px;--shadow-lg:0 8px 32px #0006;--shadow-purple:0 0 20px #a855f726}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--purple-800)}::selection{background:var(--purple-700);color:#fff}
