pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}:root{--glass-bg: rgba(255, 255, 255, .04);--glass-border: rgba(255, 255, 255, .08);--text-primary: #f0f4ff;--text-secondary: #94a3b8;--transition: all .2s ease}body{background:transparent;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-layout{min-height:100vh;display:flex;flex-direction:column}.glass-nav{position:sticky;top:1%;bottom:1%;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;margin:.75rem;border-radius:14px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-brand{display:flex;align-items:center}.brand-text{font-size:1.1rem;font-weight:500;letter-spacing:.3rem;color:var(--text-primary)}.nav-link{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;color:var(--text-secondary);transition:var(--transition)}.nav-link:hover{color:var(--text-primary);background:#ffffff14}.page-content{flex:1;padding:1rem;margin:0 auto;width:100%;height:90%}.page-header{padding:1.25rem 0;margin-bottom:1rem}.page-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:1.25rem}.projects-layout{display:flex;gap:.75rem;height:calc(100vh - 100px);min-height:0}.sidebar{width:25%;min-width:200px;display:flex;flex-direction:column;padding:.75rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);min-height:0}.sidebar-header{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem .75rem;margin-bottom:.5rem;border-bottom:1px solid var(--glass-border);color:var(--text-secondary);font-size:.85rem;font-weight:500}.projects-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;padding-right:.25rem;min-height:0}.projects-list::-webkit-scrollbar{width:4px}.projects-list::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.projects-list::-webkit-scrollbar-track{background:transparent}.project-row{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--item-border);background:#0000001a;transition:var(--transition)}.project-row:hover{background:var(--glass-hover);border-color:var(--glass-border)}.project-btn{flex:1;display:flex;align-items:center;gap:.5rem;padding:.25rem 0;background:none;border:none;color:var(--text-primary);font-size:.9rem;text-align:left;cursor:pointer;min-width:0}.project-btn:hover{color:var(--accent)}.project-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-actions{display:flex;gap:.15rem;opacity:0;transition:var(--transition)}.project-row:hover .project-actions{opacity:1}.empty-projects{padding:1rem .5rem;color:var(--text-secondary);font-size:.85rem;text-align:center}.create-project{display:flex;gap:.35rem;padding-top:.75rem;border-top:1px solid var(--glass-border)}.chat-area{flex:1;width:75%;min-width:0;display:flex;flex-direction:column;padding:.75rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);min-height:0}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:.5rem .25rem;min-height:0}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-placeholder{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.9rem}.message{display:flex;gap:.5rem;max-width:85%}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-content{padding:.6rem .85rem;border-radius:12px;background:#00000040;color:var(--text-primary);font-size:.95rem;line-height:1.4;word-break:break-word}.message.user .message-content{background:#d6fffcad;color:#0a0a14}.message.assistant .message-content.loading{color:var(--text-secondary);font-family:monospace;letter-spacing:2px}.chat-input-wrapper{display:flex;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--glass-border)}.chat-input{flex:1;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--glass-border);background:#0003;color:var(--text-primary);font-size:.95rem;outline:none;transition:var(--transition)}@media(max-width:900px){.projects-layout{flex-direction:column;height:auto;min-height:auto}.sidebar{width:100%;min-width:auto;max-height:300px}.chat-area{min-height:400px;width:100%}}.message-content .markdown{color:var(--text-primary);font-size:.95rem;line-height:1.35;word-break:break-word}.message-content .markdown>*+*{margin-top:.25em}.message-content .markdown p{margin:0;line-height:1.35}.message-content .markdown h1,.message-content .markdown h2,.message-content .markdown h3{margin:.5em 0 .25em;font-weight:600;color:var(--text-primary);line-height:1.3}.message-content .markdown h1{font-size:1.2rem}.message-content .markdown h2{font-size:1.1rem}.message-content .markdown h3{font-size:1rem}.message-content .markdown ul,.message-content .markdown ol{margin:.25em 0;padding-left:1.25em}.message-content .markdown li{margin:.15em 0;line-height:1.3}.message-content .markdown a{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent)}.message-content .markdown a:hover{border-bottom-style:solid}.message-content .markdown blockquote{margin:.35em 0;padding:.2em .6em;border-left:2px solid var(--glass-border);background:#00000026;border-radius:0 4px 4px 0;color:var(--text-secondary);font-size:.9em}.message-content .markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.message-content .markdown .code-inline{padding:.1em .35em;border-radius:4px;background:#00000040;color:var(--accent)}.message-content .markdown .code-block{margin:.4em 0;padding:0;border-radius:8px;background:#1e1e2e;border:1px solid var(--item-border);overflow-x:auto}.message-content .markdown .code-block code{display:block;padding:.6rem .85rem;background:transparent;color:inherit;font-size:.85rem;line-height:1.35}.message-content .markdown .hljs{background:transparent!important;padding:0!important;color:#cdd6f4!important;line-height:1.35}.message-content .markdown table{width:100%;border-collapse:collapse;margin:.4em 0;font-size:.9rem}.message-content .markdown th,.message-content .markdown td{padding:.4rem .6rem;border:1px solid var(--item-border);text-align:left;line-height:1.3}.message-content .markdown th{background:#0003;font-weight:600}.message-content .markdown tr:nth-child(2n){background:#0000001a}.message-content .markdown hr{margin:.5em 0;border:none;border-top:1px solid var(--glass-border)}.message-content .markdown img{max-width:100%;border-radius:8px;margin:.35em 0}.chats-layout{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;height:calc(100vh - 100px);min-height:0}.page-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.back-btn:hover{background:var(--glass-hover);color:var(--text-primary)}.page-title{flex:1;font-size:1.1rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mode-tabs{display:flex;gap:.25rem;padding:.25rem;border-radius:10px;background:#0003}.mode-tab{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:var(--transition)}.mode-tab:hover{color:var(--text-primary)}.mode-tab.active{background:var(--glass-hover);color:var(--accent)}.content-area{flex:1;min-height:0}.list-panel{height:100%;display:flex;flex-direction:column;padding:.75rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);min-height:0}.list-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;padding-right:.25rem;min-height:0}.list-items::-webkit-scrollbar{width:4px}.list-items::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.list-items::-webkit-scrollbar-track{background:transparent}.list-item{display:flex;align-items:center;justify-content:space-between;gap:.25rem;padding:.5rem .6rem;border-radius:8px;border:1px solid var(--item-border);background:#0000001a;transition:var(--transition)}.list-item:hover{background:var(--glass-hover);border-color:var(--glass-border)}.item-btn{flex:1;display:flex;align-items:center;gap:.5rem;padding:.25rem 0;background:none;border:none;color:var(--text-primary);font-size:.9rem;text-align:left;cursor:pointer;min-width:0}.item-btn:hover{color:var(--accent)}.item-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-actions{display:flex;gap:.15rem;opacity:0;transition:var(--transition)}.list-item:hover .item-actions{opacity:1}.edit-input{width:100%;padding:.35rem .5rem;border-radius:6px;border:1px solid var(--glass-border);background:#0003;color:var(--text-primary);font-size:.9rem;outline:none}.edit-input:focus{border-color:var(--accent)}.empty-list{padding:1rem .5rem;color:var(--text-secondary);font-size:.85rem;text-align:center}.create-row{display:flex;gap:.35rem;padding-top:.75rem;border-top:1px solid var(--glass-border)}.create-input{flex:1;padding:.4rem .6rem;border-radius:8px;border:1px solid var(--glass-border);background:#0003;color:var(--text-primary);font-size:.85rem;outline:none}.create-input::placeholder{color:var(--text-secondary)}.create-input:focus{border-color:var(--accent)}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal{width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;padding:1rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.75rem;border-bottom:1px solid var(--glass-border);margin-bottom:.75rem}.modal-header h3{font-size:1rem;font-weight:500;color:var(--text-primary)}.modal-docs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;padding-right:.25rem;min-height:0}.modal-docs::-webkit-scrollbar{width:4px}.modal-docs::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.doc-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem;border-radius:8px;transition:var(--transition)}.doc-row:hover{background:var(--glass-hover)}.doc-name{flex:1;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-upload{padding-top:.75rem;border-top:1px solid var(--glass-border)}.file-input{display:none}.upload-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem;border-radius:8px;border:1px dashed var(--glass-border);background:#0003;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:var(--transition)}.upload-btn:hover{border-color:var(--accent);color:var(--accent)}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.icon-btn.primary:hover{color:var(--accent)}.icon-btn.danger:hover{color:var(--danger)}@media(max-width:768px){.page-header{flex-wrap:wrap;gap:.5rem}.page-title{order:3;width:100%;text-align:center}.mode-tabs{order:2}}:root{--glass-bg: rgba(10, 21, 20, .189);--glass-border: rgba(65, 204, 167, .236);--glass-hover: rgba(0, 0, 0, .3);--item-border: rgba(65, 204, 167, .12);--text-primary: #f0f4ff;--text-secondary: #64748b;--accent: #8bfff1cb;--danger: #f87171;--transition: all .15s ease}html,body{height:100%;overflow:hidden}#root{height:100%;display:flex;flex-direction:column}.chat-page{display:flex;flex-direction:column;gap:.75rem;padding:.5rem;height:calc(100vh - 100px);min-height:0}.chat-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.back-btn{width:32px;height:32px}.title-btn{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:8px;background:transparent;border:none;color:var(--text-primary);cursor:pointer;transition:var(--transition)}.title-btn:hover{background:var(--glass-hover)}.title-text{font-size:1.1rem;font-weight:500}.title-input{flex:1;padding:.4rem .6rem;border-radius:8px;border:1px solid var(--glass-border);background:#0003;color:var(--text-primary);font-size:1rem;outline:none}.title-input:focus{border-color:var(--accent)}.messages-area{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding:.5rem .25rem;min-height:0;border-radius:12px;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.messages-area::-webkit-scrollbar{width:4px}.messages-area::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:2px}.messages-area::-webkit-scrollbar-track{background:transparent}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-secondary);font-size:.95rem}.message{display:flex;gap:.5rem;max-width:90%}.message.user .message-bubble{align-self:flex-end;flex-direction:row-reverse}.message.user .message-meta{justify-content:end;flex-direction:row-reverse}.message-bubble{display:flex;gap:.5rem;padding:.6rem .75rem;border-radius:12px;border:1px solid var(--item-border);background:#0003;transition:var(--transition)}.message-bubble:hover{border-color:var(--glass-border)}.message.user .message-bubble{background:#8bfff114;border-color:var(--accent)}.message-avatar{display:flex;align-items:end;padding-bottom:1vh;color:var(--text-secondary);flex-shrink:0}.message.user .message-avatar{color:var(--accent)}.message-body{flex:1;min-width:0}.message-text{color:var(--text-primary);font-size:.95rem;line-height:1.35;word-break:break-word;white-space:pre-wrap}.message-text .markdown{line-height:1.35}.message-text .markdown>*+*{margin-top:.25em}.message-text .markdown p{margin:0;line-height:1.35}.message-text .markdown h1,.message-text .markdown h2,.message-text .markdown h3{margin:.5em 0 .25em;font-weight:600;color:var(--text-primary);line-height:1.3}.message-text .markdown h1{font-size:1.2rem}.message-text .markdown h2{font-size:1.1rem}.message-text .markdown h3{font-size:1rem}.message-text .markdown ul,.message-text .markdown ol{margin:.25em 0;padding-left:1.25em}.message-text .markdown li{margin:.15em 0;line-height:1.3}.message-text .markdown li>p{margin:0}.message-text .markdown a{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent);transition:var(--transition)}.message-text .markdown a:hover{border-bottom-style:solid}.message-text .markdown blockquote{margin:.35em 0;padding:.2em .6em;border-left:2px solid var(--glass-border);background:#00000026;border-radius:0 4px 4px 0;color:var(--text-secondary);font-size:.9em}.message-text .markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.message-text .markdown .code-inline{padding:.1em .35em;border-radius:4px;background:#00000040;color:var(--accent)}.message-text .markdown .code-block{margin:.4em 0;padding:0;border-radius:8px;background:#1e1e2e;border:1px solid var(--item-border);overflow-x:auto}.message-text .markdown .code-block code{display:block;padding:.6rem .85rem;background:transparent;color:inherit;font-size:.85rem;line-height:1.35}.message-text .markdown .hljs{background:transparent!important;padding:0!important;color:#cdd6f4!important;line-height:1.35}.message-text .markdown table{width:100%;border-collapse:collapse;margin:.4em 0;font-size:.9rem}.message-text .markdown th,.message-text .markdown td{padding:.4rem .6rem;border:1px solid var(--item-border);text-align:left;line-height:1.3}.message-text .markdown th{background:#0003;font-weight:600}.message-text .markdown tr:nth-child(2n){background:#0000001a}.message-text .markdown hr{margin:.5em 0;border:none;border-top:1px solid var(--glass-border)}.message-text .markdown img{max-width:100%;border-radius:8px;margin:.35em 0}.message-text .markdown input[type=checkbox]{margin-right:.4em;accent-color:var(--accent);vertical-align:middle}.message-text .markdown .task-list-item{list-style:none;padding-left:0;display:flex;align-items:center;gap:.4em}.message-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.35rem;gap:.5rem}.message-time{color:var(--text-secondary);font-size:.75rem}.copy-btn{width:24px;height:24px;opacity:0;transition:var(--transition)}.message-bubble:hover .copy-btn{opacity:1}.message-bubble.loading{color:var(--text-secondary);font-family:monospace;letter-spacing:2px;justify-content:center}.chat-input-area{display:flex;gap:.5rem;padding:.75rem;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.chat-input{flex:1;padding:.65rem .85rem;border-radius:10px;border:1px solid var(--glass-border);background:#0003;color:var(--text-primary);font-size:.95rem;outline:none;resize:none;max-height:120px;transition:var(--transition)}.chat-input::placeholder{color:var(--text-secondary)}.chat-input:focus{border-color:var(--accent)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.send-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--glass-border);background:#0003;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.send-btn:hover:not(:disabled){background:var(--glass-hover);color:var(--text-primary)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.icon-btn:hover{background:var(--glass-hover);color:var(--text-primary)}.icon-btn.copy-btn:hover{color:var(--accent)}@media(max-width:600px){.chat-header{padding:.6rem .75rem}.title-text{font-size:1rem}.message{max-width:95%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:url(/bg.jpg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;min-height:100vh}#root{min-height:100vh}.glass-card{background:#ffffffb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:24px;border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000000d}.glass-button{background:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:10px 20px;font-weight:500;cursor:pointer;transition:all .2s ease}.glass-button:hover{background:#fffffff2;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.glass-input{background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.5);border-radius:12px;padding:10px 16px;font-size:14px;transition:all .2s ease}.glass-input:focus{outline:none;background:#fffffff2;border-color:#6c63ff;box-shadow:0 0 0 3px #6c63ff1a}
