:root{--color-bg-primary:#fff;--color-bg-secondary:#f9fafb;--color-bg-tertiary:#f3f4f6;--color-bg-page:#fcfcfc;--color-border-primary:#e5e7eb;--color-border-secondary:#d1d5db;--color-border-subtle:#f3f4f6;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-tertiary:#6b7280;--color-text-quaternary:#9ca3af;--color-text-hint:#d1d5db;--color-hover-bg:#e5e7eb;--color-active-bg:#e5e7eb;--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-danger-bg:#fee2e2;--color-link:#2563eb;--color-btn-primary-bg:#111827;--color-btn-primary-bg-hover:#374151;--color-btn-primary-text:#fff;--color-code-bg:#f6f8fa;--color-code-text:#24292e;--color-inline-code-bg:#e5e7eb;--color-shadow:#0000001a;--color-shadow-strong:#00000026;--color-shadow-subtle:#00000014;--color-overlay:#0006;--color-sidebar-border-hover:#4646461a;--color-nav-icon-stroke:#515151;--color-logo-gradient-start:#1f2937;--color-logo-gradient-end:#6b7280;--color-scrollbar:#e5e7eb;--color-scrollbar-hover:#d1d5db;--color-input-focus-ring:#9ca3af1a;--color-input-focus-border:#6b7280;--color-send-btn-bg:#111827;--color-send-btn-hover:#374151;--color-avatar-bg:#e5e7eb;--color-avatar-text:#374151;--color-role-assistant:#2563eb;--color-tab-active-shadow:#0000001a;--icon-filter:none}[data-theme=dark]{--color-bg-primary:#1a1b1e;--color-bg-secondary:#222326;--color-bg-tertiary:#2c2d31;--color-bg-page:#18191b;--color-border-primary:#333538;--color-border-secondary:#444649;--color-border-subtle:#2c2d31;--color-text-primary:#e4e4e7;--color-text-secondary:#c0c0c5;--color-text-tertiary:#8b8b92;--color-text-quaternary:#6b6b73;--color-text-hint:#4a4a50;--color-hover-bg:#333538;--color-active-bg:#333538;--color-danger:#f87171;--color-danger-hover:#ef4444;--color-danger-bg:#ef444426;--color-link:#60a5fa;--color-btn-primary-bg:#e4e4e7;--color-btn-primary-bg-hover:#c0c0c5;--color-btn-primary-text:#1a1b1e;--color-code-bg:#111113;--color-code-text:#d4d4d4;--color-inline-code-bg:#333538;--color-shadow:#0000004d;--color-shadow-strong:#0006;--color-shadow-subtle:#0003;--color-overlay:#0009;--color-sidebar-border-hover:#c8c8c81a;--color-nav-icon-stroke:#a0a0a0;--color-logo-gradient-start:#e4e4e7;--color-logo-gradient-end:#8b8b92;--color-scrollbar:#333538;--color-scrollbar-hover:#444649;--color-input-focus-ring:#64647833;--color-input-focus-border:#8b8b92;--color-send-btn-bg:#e4e4e7;--color-send-btn-hover:#c0c0c5;--color-avatar-bg:#333538;--color-avatar-text:#c0c0c5;--color-role-assistant:#60a5fa;--color-tab-active-shadow:#0000004d;--icon-filter:invert(.85)}[data-theme=dark] .hljs{color:#c9d1d9;background:#0d1117}[data-theme=dark] .hljs-doctag,[data-theme=dark] .hljs-keyword,[data-theme=dark] .hljs-meta .hljs-keyword,[data-theme=dark] .hljs-template-tag,[data-theme=dark] .hljs-template-variable,[data-theme=dark] .hljs-type,[data-theme=dark] .hljs-variable.language_{color:#ff7b72}[data-theme=dark] .hljs-title,[data-theme=dark] .hljs-title.class_,[data-theme=dark] .hljs-title.class_.inherited__,[data-theme=dark] .hljs-title.function_{color:#d2a8ff}[data-theme=dark] .hljs-attr,[data-theme=dark] .hljs-attribute,[data-theme=dark] .hljs-literal,[data-theme=dark] .hljs-meta,[data-theme=dark] .hljs-number,[data-theme=dark] .hljs-operator,[data-theme=dark] .hljs-variable,[data-theme=dark] .hljs-selector-attr,[data-theme=dark] .hljs-selector-class,[data-theme=dark] .hljs-selector-id{color:#79c0ff}[data-theme=dark] .hljs-regexp,[data-theme=dark] .hljs-string,[data-theme=dark] .hljs-meta .hljs-string{color:#a5d6ff}[data-theme=dark] .hljs-built_in,[data-theme=dark] .hljs-symbol{color:#ffa657}[data-theme=dark] .hljs-comment,[data-theme=dark] .hljs-code,[data-theme=dark] .hljs-formula{color:#8b949e}[data-theme=dark] .hljs-name,[data-theme=dark] .hljs-quote,[data-theme=dark] .hljs-selector-tag,[data-theme=dark] .hljs-selector-pseudo{color:#7ee787}[data-theme=dark] .hljs-subst{color:#c9d1d9}[data-theme=dark] .hljs-section{color:#1f6feb;font-weight:700}[data-theme=dark] .hljs-bullet{color:#f2cc60}[data-theme=dark] .hljs-emphasis{color:#c9d1d9;font-style:italic}[data-theme=dark] .hljs-strong{color:#c9d1d9;font-weight:700}[data-theme=dark] .hljs-addition{color:#aff5b4;background-color:#033a16}[data-theme=dark] .hljs-deletion{color:#ffdcd7;background-color:#67060c}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-page);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background .2s,color .2s;overflow:hidden}button{font-family:inherit}#root{width:100%;height:100vh}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.btn-spinner{vertical-align:middle;border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spinner-rotate;display:inline-block}.app{width:100%;height:100vh;display:flex;overflow:hidden}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0;justify-content:center;align-items:center;transition:background .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;display:flex;position:fixed;inset:0}.modal-overlay.active{background:var(--color-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--color-bg-primary);box-shadow:0 8px 24px var(--color-shadow-strong);opacity:0;border-radius:12px;transition:opacity .2s,transform .2s;transform:scale(.9)translateY(8px)}.modal-content.active{opacity:1;transform:scale(1)translateY(0)}.confirm-modal{min-width:300px;padding:24px}.confirm-modal .confirm-modal-title{color:var(--color-text-primary);text-align:center;margin:0 0 20px;font-size:15px;font-weight:500}.confirm-modal .confirm-modal-actions{justify-content:center;gap:12px;display:flex}.confirm-modal .confirm-modal-actions button{cursor:pointer;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:background .2s,color .2s}.confirm-modal .confirm-modal-actions .confirm-modal-cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.confirm-modal .confirm-modal-actions .confirm-modal-cancel:hover{background:var(--color-hover-bg)}.confirm-modal .confirm-modal-actions .confirm-modal-confirm{background:var(--color-danger);color:#fff}.confirm-modal .confirm-modal-actions .confirm-modal-confirm:hover:not(:disabled){background:var(--color-danger-hover)}.confirm-modal .confirm-modal-actions button:disabled{opacity:.6;cursor:not-allowed}.input-modal{min-width:340px;padding:24px}.input-modal .input-modal-title{color:var(--color-text-primary);text-align:center;margin:0 0 16px;font-size:15px;font-weight:500}.input-modal .input-modal-input{border:1px solid var(--color-border-secondary);width:100%;color:var(--color-text-secondary);background:var(--color-bg-primary);box-sizing:border-box;border-radius:8px;outline:none;margin-bottom:20px;padding:10px 12px;font-size:14px;transition:border-color .15s}.input-modal .input-modal-input:focus{border-color:var(--color-input-focus-border)}.input-modal .input-modal-actions{justify-content:center;gap:12px;display:flex}.input-modal .input-modal-actions button{cursor:pointer;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:background .2s,color .2s}.input-modal .input-modal-actions .input-modal-cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.input-modal .input-modal-actions .input-modal-cancel:hover{background:var(--color-hover-bg)}.input-modal .input-modal-actions .input-modal-confirm{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.input-modal .input-modal-actions .input-modal-confirm:hover:not(:disabled){background:var(--color-btn-primary-bg-hover)}.input-modal .input-modal-actions button:disabled{opacity:.6;cursor:not-allowed}.edit-profile-modal{min-width:340px;padding:24px}.edit-profile-modal .edit-profile-title{color:var(--color-text-primary);text-align:center;margin:0 0 16px;font-size:15px;font-weight:500}.edit-profile-modal .edit-profile-input{border:1px solid var(--color-border-secondary);width:100%;color:var(--color-text-secondary);background:var(--color-bg-primary);box-sizing:border-box;border-radius:8px;outline:none;margin-bottom:8px;padding:10px 12px;font-size:14px;transition:border-color .15s}.edit-profile-modal .edit-profile-input:focus{border-color:var(--color-input-focus-border)}.edit-profile-modal .edit-profile-input:disabled{background:var(--color-bg-secondary);cursor:not-allowed}.edit-profile-modal .edit-profile-error{color:var(--color-danger);text-align:center;margin:0 0 8px;font-size:13px}.edit-profile-modal .edit-profile-actions{justify-content:center;gap:12px;margin-top:12px;display:flex}.edit-profile-modal .edit-profile-actions button{cursor:pointer;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:background .2s,color .2s}.edit-profile-modal .edit-profile-actions button:disabled{opacity:.6;cursor:not-allowed}.edit-profile-modal .edit-profile-actions .edit-profile-cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.edit-profile-modal .edit-profile-actions .edit-profile-cancel:hover:not(:disabled){background:var(--color-hover-bg)}.edit-profile-modal .edit-profile-actions .edit-profile-save{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.edit-profile-modal .edit-profile-actions .edit-profile-save:hover:not(:disabled){background:var(--color-btn-primary-bg-hover)}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size:12px;--rc-drag-handle-mobile-size:24px;--rc-drag-handle-bg-colour:#0003;--rc-drag-bar-size:6px;--rc-border-color:#ffffffb3;--rc-focus-color:#08f}.ReactCrop{cursor:crosshair;max-width:100%;display:inline-block;position:relative}.ReactCrop *,.ReactCrop :before,.ReactCrop :after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{max-height:inherit;overflow:hidden}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{max-width:100%;max-height:inherit;display:block}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px);position:absolute;inset:0}.ReactCrop__crop-selection{cursor:move;position:absolute;top:0;left:0;transform:translateZ(0)}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";border:1px solid var(--rc-border-color);opacity:.3;position:absolute;inset:-1px}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed #fff}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){color:#fff;background-image:linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(90deg,#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%),linear-gradient(#fff 50%,#444 50%);background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:10px 1px,10px 1px,1px 10px,1px 10px;animation:1s linear infinite marching-ants}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";background-color:#fff6;display:block;position:absolute}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6667%}.ReactCrop__drag-handle{width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color);position:absolute}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{cursor:nw-resize;top:0;left:0;transform:translate(-50%,-50%)}.ReactCrop .ord-n{cursor:n-resize;top:0;left:50%;transform:translate(-50%,-50%)}.ReactCrop .ord-ne{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-e{cursor:e-resize;top:50%;right:0;transform:translate(50%,-50%)}.ReactCrop .ord-se{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.ReactCrop .ord-s{cursor:s-resize;bottom:0;left:50%;transform:translate(-50%,50%)}.ReactCrop .ord-sw{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.ReactCrop .ord-w{cursor:w-resize;top:50%;left:0;transform:translate(-50%,-50%)}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{width:100%;height:var(--rc-drag-bar-size);top:0;left:0;transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{width:var(--rc-drag-bar-size);height:100%;top:0;right:0;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{width:100%;height:var(--rc-drag-bar-size);bottom:0;left:0;transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{width:var(--rc-drag-bar-size);height:100%;top:0;left:0;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer:coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.avatar-crop-modal{min-width:360px;max-width:480px;padding:24px}.avatar-crop-modal .avatar-crop-title{color:var(--color-text-primary);text-align:center;margin:0 0 16px;font-size:15px;font-weight:500}.avatar-crop-modal .avatar-crop-area{justify-content:center;margin-bottom:16px;display:flex}.avatar-crop-modal .avatar-crop-area .avatar-crop-image{max-width:100%;max-height:400px}.avatar-crop-modal .avatar-crop-actions{justify-content:center;gap:12px;margin-top:12px;display:flex}.avatar-crop-modal .avatar-crop-actions button{cursor:pointer;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:background .2s,color .2s}.avatar-crop-modal .avatar-crop-actions button:disabled{opacity:.6;cursor:not-allowed}.avatar-crop-modal .avatar-crop-actions .avatar-crop-cancel{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.avatar-crop-modal .avatar-crop-actions .avatar-crop-cancel:hover:not(:disabled){background:var(--color-hover-bg)}.avatar-crop-modal .avatar-crop-actions .avatar-crop-confirm{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.avatar-crop-modal .avatar-crop-actions .avatar-crop-confirm:hover:not(:disabled){background:var(--color-btn-primary-bg-hover)}.profile-modal{min-width:360px;padding:0}.profile-modal .profile-modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.profile-modal .profile-modal-header .profile-modal-title{color:var(--color-text-primary);font-size:16px;font-weight:600}.profile-modal .profile-modal-header .profile-modal-close{cursor:pointer;width:28px;height:28px;color:var(--color-text-quaternary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:20px;transition:background .2s,color .2s;display:flex}.profile-modal .profile-modal-header .profile-modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.profile-modal .profile-modal-body{padding:24px}.profile-modal .profile-modal-body .profile-avatar-section{justify-content:center;margin-bottom:24px;display:flex}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar-wrapper{display:inline-block;position:relative}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar{object-fit:cover;border-radius:50%;width:80px;height:80px}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar-default{background:var(--color-bg-tertiary);border:2px solid var(--color-border-primary);justify-content:center;align-items:center;display:flex}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar-default img{opacity:.6;width:40px;height:40px}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar-edit-btn{border:2px solid var(--color-bg-primary);background:var(--color-bg-tertiary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .2s;display:flex;position:absolute;bottom:-2px;right:-2px}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar-edit-btn img{opacity:.5;width:12px;height:12px;filter:var(--icon-filter)}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar-edit-btn:hover{background:var(--color-hover-bg)}.profile-modal .profile-modal-body .profile-avatar-section .profile-avatar-edit-btn:hover img{opacity:.8}.profile-modal .profile-modal-body .profile-info-section{flex-direction:column;gap:16px;display:flex}.profile-modal .profile-modal-body .profile-info-section .profile-info-item{flex-direction:column;gap:4px;display:flex}.profile-modal .profile-modal-body .profile-info-section .profile-info-item .profile-info-label{color:var(--color-text-quaternary);font-size:12px;font-weight:500}.profile-modal .profile-modal-body .profile-info-section .profile-info-item .profile-info-row{align-items:center;gap:8px;display:flex}.profile-modal .profile-modal-body .profile-info-section .profile-info-item .profile-info-value{color:var(--color-text-primary);word-break:break-all;font-size:14px}.profile-modal .profile-modal-body .profile-info-section .profile-info-item .profile-edit-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .2s;display:flex}.profile-modal .profile-modal-body .profile-info-section .profile-info-item .profile-edit-btn img{opacity:.4;width:14px;height:14px;filter:var(--icon-filter);transition:opacity .2s}.profile-modal .profile-modal-body .profile-info-section .profile-info-item .profile-edit-btn:hover{background:var(--color-bg-tertiary)}.profile-modal .profile-modal-body .profile-info-section .profile-info-item .profile-edit-btn:hover img{opacity:.7}.search-modal{flex-direction:column;width:720px;max-width:90vw;max-height:80vh;padding:0;display:flex}.search-modal .search-modal-header{justify-content:space-between;align-items:center;padding:20px 24px 0;display:flex}.search-modal .search-modal-header .search-modal-title{color:var(--color-text-primary);font-size:16px;font-weight:600}.search-modal .search-modal-header .search-modal-close{cursor:pointer;width:28px;height:28px;color:var(--color-text-quaternary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:20px;transition:background .2s,color .2s;display:flex}.search-modal .search-modal-header .search-modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.search-modal .search-modal-input-wrapper{padding:16px 24px}.search-modal .search-modal-input-wrapper .search-modal-input{border:1px solid var(--color-border-secondary);width:100%;color:var(--color-text-primary);background:var(--color-bg-primary);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.search-modal .search-modal-input-wrapper .search-modal-input::placeholder{color:var(--color-text-quaternary)}.search-modal .search-modal-input-wrapper .search-modal-input:focus{border-color:var(--color-input-focus-border)}.search-modal .search-modal-body{border-top:1px solid var(--color-border-primary);flex:1;min-height:0;display:flex}.search-modal .search-modal-list{border-right:1px solid var(--color-border-primary);flex-shrink:0;width:240px;padding:8px 0;overflow-y:auto}.search-modal .search-modal-list .search-modal-empty{text-align:center;color:var(--color-text-quaternary);padding:24px 16px;font-size:13px}.search-modal .search-modal-list .search-modal-list-item{cursor:pointer;flex-direction:column;gap:2px;padding:10px 16px;transition:background .15s;display:flex}.search-modal .search-modal-list .search-modal-list-item:hover{background:var(--color-bg-secondary)}.search-modal .search-modal-list .search-modal-list-item.active{background:var(--color-bg-tertiary)}.search-modal .search-modal-list .search-modal-list-item .search-modal-list-title{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.search-modal .search-modal-list .search-modal-list-item .search-modal-list-time{color:var(--color-text-quaternary);font-size:11px}.search-modal .search-modal-preview{flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.search-modal .search-modal-preview .search-modal-preview-empty{color:var(--color-text-quaternary);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.search-modal .search-modal-preview .search-modal-preview-messages{flex-direction:column;gap:12px;padding:16px;display:flex}.search-modal .search-modal-preview .search-modal-message{flex-direction:column;gap:4px;display:flex}.search-modal .search-modal-preview .search-modal-message .search-modal-message-role{color:var(--color-text-tertiary);font-size:11px;font-weight:600}.search-modal .search-modal-preview .search-modal-message .search-modal-message-content{color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;font-size:13px;line-height:1.6}.search-modal .search-modal-preview .search-modal-message.assistant .search-modal-message-role{color:var(--color-role-assistant)}.search-modal .search-modal-footer{border-top:1px solid var(--color-border-primary);justify-content:flex-end;padding:12px 24px;display:flex}.search-modal .search-modal-footer .search-modal-open-btn{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);cursor:pointer;border:none;border-radius:8px;padding:8px 24px;font-size:14px;transition:background .2s}.search-modal .search-modal-footer .search-modal-open-btn:hover{background:var(--color-btn-primary-bg-hover)}.file-tree-panel{flex-direction:column;min-width:0;height:100%;display:flex}.file-tree-panel .file-tree-header{color:var(--color-text-quaternary);text-transform:uppercase;letter-spacing:.02em;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.file-tree-panel .file-tree-header .file-tree-header-actions{align-items:center;gap:2px;display:flex}.file-tree-panel .file-tree-list{flex:1;padding:0 8px 8px;overflow:hidden auto}.file-tree-panel .file-tree-list::-webkit-scrollbar{width:5px}.file-tree-panel .file-tree-list::-webkit-scrollbar-track{background:0 0}.file-tree-panel .file-tree-list::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.file-tree-panel .file-tree-list::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.ft-new-menu-wrapper{position:relative}.ft-new-btn{cursor:pointer;width:22px;height:22px;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.ft-new-btn:hover{background:var(--color-hover-bg);color:var(--color-text-primary)}.ft-new-btn.ft-refresh-btn.spinning svg{animation:.8s linear infinite ft-spin}.ft-new-btn.ft-refresh-btn:disabled{cursor:default;opacity:.6}@keyframes ft-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ft-new-dropdown{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);box-shadow:0 4px 12px var(--color-shadow);z-index:200;border-radius:8px;min-width:120px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.tree-root-group{border:1px solid var(--color-border-primary);border-radius:8px;margin-bottom:6px;overflow:hidden}.tree-folder-children{padding:2px 0}.ft-node{cursor:pointer;-webkit-user-select:none;user-select:none;height:32px;color:var(--color-text-secondary);align-items:center;gap:4px;padding-right:8px;transition:background .1s;display:flex}.ft-node:hover{background:var(--color-hover-bg)}.ft-node.active{background:var(--color-active-bg);color:var(--color-text-primary)}.ft-node .ft-chevron{color:var(--color-text-quaternary);flex-shrink:0;transition:transform .15s}.ft-node .ft-chevron.expanded{transform:rotate(90deg)}.ft-node .ft-spacer{flex-shrink:0;width:14px}.ft-node .ft-icon{flex-shrink:0}.ft-node .folder-icon{color:var(--color-text-tertiary)}.ft-node .file-icon{color:var(--color-text-quaternary)}.ft-node .file-icon.ext-ts,.ft-node .file-icon.ext-tsx{color:#3178c6}.ft-node .file-icon.ext-js,.ft-node .file-icon.ext-jsx{color:#f0db4f}.ft-node .file-icon.ext-java{color:#b07219}.ft-node .file-icon.ext-py{color:#3572a5}.ft-node .file-icon.ext-json{color:#a0a0a0}.ft-node .file-icon.ext-md{color:#519aba}.ft-node .file-icon.ext-css,.ft-node .file-icon.ext-scss{color:#563d7c}.ft-node .file-icon.ext-html{color:#e34c26}.ft-node .ft-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.ft-context-menu{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);box-shadow:0 4px 12px var(--color-shadow);z-index:1000;border-radius:8px;min-width:130px;padding:4px 0;position:fixed;overflow:hidden}.ft-ctx-item{cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;padding:7px 14px;font-size:13px;transition:background .15s;display:block}.ft-ctx-item:hover{background:var(--color-bg-tertiary)}.ft-ctx-item.ft-ctx-danger{color:var(--color-danger)}.ft-ctx-item.ft-ctx-danger:hover{background:var(--color-danger-bg)}.ft-ctx-divider{background:var(--color-border-primary);height:1px;margin:4px 0}.ft-loading{color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 0;font-size:13px;display:flex}.ft-spinner{border:2.5px solid var(--color-border-secondary);border-top-color:var(--color-text-tertiary);border-radius:50%;width:22px;height:22px;animation:.6s linear infinite spinner-rotate;display:inline-block}.history-item{cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:8px 12px;font-size:13px;transition:background .2s;display:flex;position:relative}.history-item:hover{background:var(--color-hover-bg)}.history-item:hover .history-item-menu-btn{opacity:1}.history-item.active{background:var(--color-active-bg)}.history-item .history-item-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.history-item .history-item-menu-btn{opacity:0;cursor:pointer;color:var(--color-text-tertiary);letter-spacing:1px;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:16px;line-height:1;transition:opacity .15s,background .15s,color .15s}.history-item .history-item-menu-btn:hover{background:var(--color-border-secondary);color:var(--color-text-primary)}.history-item .history-item-pin-icon{opacity:.5;width:14px;height:14px;filter:var(--icon-filter);flex-shrink:0}.history-item .history-item-dropdown{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);box-shadow:0 4px 12px var(--color-shadow);z-index:100;transform-origin:100% 0;opacity:0;border-radius:8px;min-width:120px;padding:4px 0;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 4px);right:8px;overflow:hidden;transform:translateY(-6px)scale(.96)}.history-item .history-item-dropdown.active{opacity:1;transform:translateY(0)scale(1)}.history-item .history-item-dropdown .dropdown-item{cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:13px;transition:background .15s;display:flex}.history-item .history-item-dropdown .dropdown-item .dropdown-item-icon{width:16px;height:16px;filter:var(--icon-filter);flex-shrink:0}.history-item .history-item-dropdown .dropdown-item:hover{background:var(--color-bg-tertiary)}.history-item .history-item-dropdown .dropdown-item.dropdown-item-danger{color:var(--color-danger)}.history-item .history-item-dropdown .dropdown-item.dropdown-item-danger .dropdown-item-icon{filter:none}.history-item .history-item-dropdown .dropdown-item.dropdown-item-danger:hover{background:var(--color-danger-bg)}.sidebar-user{border-top:1px solid var(--color-border-primary);min-height:60px;padding:8px;position:relative;overflow:visible}.sidebar-user .user-trigger{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px;transition:background .2s,padding .3s,gap .3s;display:flex;overflow:hidden}.sidebar-user .user-trigger:hover{background:var(--color-hover-bg)}.sidebar-user .user-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:36px;height:36px}.sidebar-user .user-avatar-default{background:var(--color-avatar-bg);color:var(--color-avatar-text);justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.sidebar-user .user-info{opacity:1;visibility:visible;flex-direction:column;gap:2px;min-width:0;transition:opacity .3s,visibility .3s,width .3s;display:flex;overflow:hidden}.sidebar-user .user-info .user-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user .user-info .user-email{color:var(--color-text-quaternary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sidebar-user .user-menu-dropdown{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);min-width:200px;box-shadow:0 4px 12px var(--color-shadow);z-index:200;transform-origin:bottom;opacity:0;border-radius:8px;padding:4px 0;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% - 4px);left:8px;overflow:hidden;transform:translateY(6px)scale(.96)}.sidebar-user .user-menu-dropdown.active{opacity:1;transform:translateY(0)scale(1)}.sidebar-user .user-menu-dropdown .user-menu-item{cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:13px;transition:background .15s;display:flex}.sidebar-user .user-menu-dropdown .user-menu-item .user-menu-icon{width:16px;height:16px;filter:var(--icon-filter);flex-shrink:0}.sidebar-user .user-menu-dropdown .user-menu-item:hover{background:var(--color-bg-tertiary)}.sidebar-user .user-menu-dropdown .user-menu-item.user-menu-item-danger{color:var(--color-danger)}.sidebar-user .user-menu-dropdown .user-menu-item.user-menu-item-danger .user-menu-icon{filter:none}.sidebar-user .user-menu-dropdown .user-menu-item.user-menu-item-danger:hover{background:var(--color-danger-bg)}.sidebar-user .user-menu-dropdown .user-menu-divider{background:var(--color-border-primary);height:1px;margin:4px 0}.sidebar-user .user-menu-dropdown .user-menu-theme{padding:6px 14px}.sidebar-user .user-menu-dropdown .user-menu-theme .theme-label{color:var(--color-text-quaternary);margin-bottom:6px;font-size:12px;font-weight:500}.sidebar-user .user-menu-dropdown .user-menu-theme .theme-options{gap:4px;display:flex}.sidebar-user .user-menu-dropdown .user-menu-theme .theme-options .theme-option{border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-tertiary);background:0 0;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 8px;font-size:12px;transition:all .15s;display:flex}.sidebar-user .user-menu-dropdown .user-menu-theme .theme-options .theme-option svg{flex-shrink:0;width:14px;height:14px}.sidebar-user .user-menu-dropdown .user-menu-theme .theme-options .theme-option:hover{background:var(--color-bg-tertiary)}.sidebar-user .user-menu-dropdown .user-menu-theme .theme-options .theme-option.active{background:var(--color-bg-tertiary);border-color:var(--color-text-quaternary);color:var(--color-text-primary)}.sidebar{background:var(--color-bg-primary);border-right:1px solid var(--color-border-primary);flex-direction:column;flex-shrink:0;height:100vh;transition:width .3s;display:flex;position:relative}.sidebar.resizing{transition:none}.sidebar.collapsed .nav-label{opacity:0;visibility:hidden}.sidebar.collapsed .sidebar-header .logo-title,.sidebar.collapsed .sidebar-header .collapse-btn{opacity:0;visibility:hidden;width:0;overflow:hidden}.sidebar.collapsed .history-section{opacity:0;visibility:hidden;pointer-events:none}.sidebar .sidebar-border{cursor:col-resize;z-index:10;-webkit-user-select:none;user-select:none;width:4px;height:100%;position:absolute;top:0;right:0}.sidebar .sidebar-border:hover,.sidebar .sidebar-border:active{background:var(--color-sidebar-border-hover)}.sidebar .sidebar-header{box-sizing:border-box;justify-content:space-between;align-items:center;height:64px;padding:16px 8px;display:flex}.sidebar .sidebar-header .logo-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;height:32px;padding:0 12px;font-size:20px;display:flex}.sidebar .sidebar-header .logo-btn .logo-icon{flex-shrink:0;width:28px;height:auto;margin-left:-5px;margin-right:-5px}.sidebar .sidebar-header .logo-btn .logo-title{background:linear-gradient(135deg, var(--color-logo-gradient-start), var(--color-logo-gradient-end));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:600;transition:opacity .3s,visibility .3s,width .3s}.sidebar .sidebar-header .collapse-btn{cursor:pointer;width:24px;height:24px;color:var(--color-text-tertiary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;transition:opacity .3s,visibility .3s,width .3s;display:flex;overflow:hidden}.sidebar .sidebar-header .collapse-btn img{opacity:.6;width:16px;height:16px;filter:var(--icon-filter)}.sidebar .sidebar-header .collapse-btn:hover{color:var(--color-text-primary)}.sidebar .sidebar-header .collapse-btn:hover img{opacity:1}.sidebar .sidebar-nav{flex-direction:column;gap:4px;padding:8px;display:flex}.sidebar .sidebar-nav .nav-item{cursor:pointer;width:100%;color:var(--color-text-secondary);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;transition:background .2s;display:flex}.sidebar .sidebar-nav .nav-item:hover{background:var(--color-hover-bg)}.sidebar .sidebar-nav .nav-item.active{background:var(--color-active-bg);font-weight:500}.sidebar .sidebar-nav .nav-item .nav-icon{flex-shrink:0;width:18px;height:18px}.sidebar .sidebar-nav .nav-item .nav-icon path{fill:#0000;stroke:var(--color-nav-icon-stroke);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}.sidebar .sidebar-nav .nav-item.drawing .nav-icon path{animation:.8s forwards stroke-draw}@keyframes stroke-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.sidebar .sidebar-nav .nav-item .nav-label{opacity:1;visibility:visible;white-space:nowrap;flex:1;transition:opacity .3s,visibility .3s;overflow:hidden}.sidebar .sidebar-nav .nav-item .submenu-icon{color:var(--color-text-quaternary);font-size:16px}.sidebar .history-section{opacity:1;visibility:visible;flex:1;padding:0 8px;transition:opacity .3s,visibility .3s;overflow-y:auto}.sidebar .history-section .history-header{color:var(--color-text-tertiary);text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;transition:background .2s;display:flex}.sidebar .history-section .history-header:hover{background:var(--color-bg-tertiary)}.sidebar .history-section .history-header .history-chevron{width:16px;height:16px;transition:transform .3s}.sidebar .history-section .history-header .history-chevron.collapsed{transform:rotate(-90deg)}.sidebar .history-section .history-group-header{color:var(--color-text-quaternary);padding:6px 12px;font-size:12px;font-weight:600}.sidebar .history-section .history-list{flex-direction:column;gap:2px;display:flex}.sidebar .expand-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;margin:0 auto 4px;transition:background .2s;display:flex}.sidebar .expand-btn img{opacity:.6;width:16px;height:16px;filter:var(--icon-filter);transition:opacity .15s;transform:scaleX(-1)}.sidebar .expand-btn:hover{background:var(--color-hover-bg)}.sidebar .expand-btn:hover img{opacity:1}.sidebar.collapsed .sidebar-user .user-trigger{gap:0;padding:8px 4px}.sidebar.collapsed .sidebar-user .user-info{opacity:0;visibility:hidden;width:0;overflow:hidden}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.conversation-tree{width:100%;height:100%;min-height:400px}.conversation-tree .react-flow__background{background:var(--color-bg-primary)}.conversation-tree .react-flow__pane{cursor:grab}.conversation-tree .react-flow__pane:active{cursor:grabbing}.conversation-tree .react-flow__controls{background:var(--color-bg-tertiary);border:1px solid var(--color-border-primary);box-shadow:none;border-radius:8px}.conversation-tree .react-flow__controls .react-flow__controls-button{border-bottom:1px solid var(--color-border-subtle);fill:var(--color-text-secondary);color:var(--color-text-secondary);background:0 0}.conversation-tree .react-flow__controls .react-flow__controls-button:hover{background:var(--color-hover-bg)}.conversation-tree .react-flow__controls .react-flow__controls-button:last-child{border-bottom:none}.conversation-tree .react-flow__controls .react-flow__controls-button svg{fill:inherit}.conversation-tree-empty{height:100%;color:var(--color-text-quaternary);justify-content:center;align-items:center;font-size:14px;display:flex}.tree-node{border:1px solid var(--color-border-primary);border-radius:10px;width:260px;padding:8px 12px;font-size:12px;line-height:1.4;transition:box-shadow .15s}.tree-node--user{background:var(--color-bg-tertiary);border-left:3px solid #4a9eff}.tree-node--assistant{background:var(--color-bg-tertiary);border-left:3px solid #52c41a}.tree-node .tree-node-role{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-tertiary);margin-bottom:4px;font-size:10px;font-weight:600}.tree-node .tree-node-content{color:var(--color-text-primary);word-break:break-word;white-space:pre-wrap}.tree-node .tree-node-content p,.tree-node .tree-node-content ul,.tree-node .tree-node-content ol,.tree-node .tree-node-content blockquote,.tree-node .tree-node-content pre,.tree-node .tree-node-content table,.tree-node .tree-node-content h1,.tree-node .tree-node-content h2,.tree-node .tree-node-content h3,.tree-node .tree-node-content h4,.tree-node .tree-node-content h5,.tree-node .tree-node-content h6{white-space:normal;margin:0}.tree-node .tree-node-content p+p{margin-top:4px}.tree-node .tree-node-content code{background:var(--color-bg-secondary);border-radius:3px;padding:1px 4px;font-size:11px}.tree-node .tree-node-content pre{background:var(--color-bg-secondary);border-radius:4px;margin:4px 0;padding:6px 8px;overflow-x:auto}.tree-node .tree-node-content pre code{background:0 0;padding:0}.tree-node .tree-node-content ul,.tree-node .tree-node-content ol{margin:2px 0;padding-left:16px}.tree-node .tree-node-content blockquote{border-left:2px solid var(--color-border-primary);color:var(--color-text-secondary);margin:4px 0;padding-left:8px}.tree-node .tree-node-content table{border-collapse:collapse;margin:4px 0;font-size:11px}.tree-node .tree-node-content table th,.tree-node .tree-node-content table td{border:1px solid var(--color-border-primary);padding:2px 6px}.tree-node .tree-node-content strong{font-weight:600}.tree-handle{background:var(--color-text-quaternary)!important;border:none!important;width:6px!important;min-width:6px!important;height:6px!important;min-height:6px!important}.side-panel{flex-shrink:0;width:0;min-width:0;height:100vh;transition:width .3s,min-width .3s;position:relative;overflow:hidden}.side-panel.resizing{transition:none}.side-panel .side-panel-resize-border{cursor:col-resize;z-index:10;-webkit-user-select:none;user-select:none;width:4px;height:100%;position:absolute;top:0;left:0}.side-panel .side-panel-resize-border:hover,.side-panel .side-panel-resize-border:active{background:var(--color-sidebar-border-hover)}.side-panel .side-panel-inner{background:var(--color-bg-primary);border-left:1px solid var(--color-border-primary);flex-direction:column;height:100%;display:flex}.side-panel .side-panel-header{box-sizing:border-box;border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;height:64px;padding:16px 20px;display:flex}.side-panel .side-panel-body{flex:1;padding:24px 20px;overflow-y:auto}.side-panel .side-panel-body.no-padding{padding:0;overflow:hidden}.side-panel .side-panel-body::-webkit-scrollbar{width:6px}.side-panel .side-panel-body::-webkit-scrollbar-track{background:0 0}.side-panel .side-panel-body::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.side-panel .side-panel-body::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.side-panel .side-panel-preview{flex-direction:column;align-items:center;gap:12px;display:flex}.side-panel .side-panel-preview .preview-image{object-fit:contain;border-radius:8px;width:100%}.side-panel .side-panel-preview .preview-name{color:var(--color-text-tertiary);word-break:break-all;margin:0;font-size:13px}.side-panel .side-panel-placeholder{height:100%;color:var(--color-text-quaternary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.side-panel .side-panel-placeholder p{margin:0;font-size:15px}.side-panel .side-panel-placeholder .hint{color:var(--color-text-hint);font-size:13px}.side-panel-title{color:var(--color-text-primary);font-size:16px;font-weight:600}.side-panel-header-actions{align-items:center;gap:4px;display:flex}.side-panel-action-btn{cursor:pointer;width:32px;height:32px;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.side-panel-action-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.side-panel-fullscreen{z-index:1000;background:var(--color-bg-primary);flex-direction:column;display:flex;position:fixed;inset:0}.side-panel-fullscreen .side-panel-fullscreen-header{box-sizing:border-box;border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;height:64px;padding:16px 24px;display:flex}.side-panel-fullscreen .side-panel-fullscreen-body{flex:1;overflow:hidden}.input-box-container{width:100%;max-width:800px;padding:0 24px 24px}.input-box-container .image-preview-bar{gap:8px;margin-bottom:8px;padding:8px 12px;display:flex;overflow-x:auto}.input-box-container .image-preview-bar .image-preview-item{border:1px solid var(--color-border-primary);border-radius:8px;flex-shrink:0;width:64px;height:64px;position:relative;overflow:hidden}.input-box-container .image-preview-bar .image-preview-item .preview-thumb{object-fit:cover;width:100%;height:100%}.input-box-container .image-preview-bar .image-preview-item .upload-overlay{background:#0006;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.input-box-container .image-preview-bar .image-preview-item .upload-overlay .upload-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.input-box-container .image-preview-bar .image-preview-item .remove-btn{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;transition:opacity .15s;display:flex;position:absolute;top:2px;right:2px}.input-box-container .image-preview-bar .image-preview-item:hover .remove-btn{opacity:1}.input-box-container .input-box{background:var(--color-bg-secondary);border:2px solid var(--color-border-primary);border-radius:50px;align-items:center;gap:12px;padding:10px;transition:all .2s;display:flex}.input-box-container .input-box:focus-within{background:var(--color-bg-primary);border-color:var(--color-input-focus-border);box-shadow:0 0 0 3px var(--color-input-focus-ring)}.input-box-container .input-box .attach-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:background .2s;display:flex}.input-box-container .input-box .attach-btn img{width:16px;height:auto;filter:var(--icon-filter)}.input-box-container .input-box .attach-btn:hover{background:var(--color-hover-bg)}.input-box-container .input-box .attach-btn:disabled{opacity:.5;cursor:not-allowed}.input-box-container .input-box .message-input{color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:15px}.input-box-container .input-box .message-input::placeholder{color:var(--color-text-quaternary)}.input-box-container .input-box .send-btn{background:var(--color-send-btn-bg);cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:opacity .2s,transform .2s,background .2s;display:flex;transform:scale(.6)}.input-box-container .input-box .send-btn--visible{opacity:1;pointer-events:auto;transform:scale(1)}.input-box-container .input-box .send-btn:hover{background:var(--color-send-btn-hover)}.input-box-container .input-box .send-btn:active{transform:scale(.92)}@keyframes spin{to{transform:rotate(360deg)}}.chat-main{background:var(--color-bg-primary);flex-direction:column;flex:1;min-width:0;height:100vh;transition:flex .3s;display:flex}.chat-main .chat-header{box-sizing:border-box;justify-content:flex-end;align-items:center;gap:12px;height:64px;padding:16px 24px;display:flex}.chat-main .chat-header .header-btn{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);cursor:pointer;color:var(--color-text-secondary);border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;transition:all .2s;display:flex}.chat-main .chat-header .header-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}.chat-main .chat-header .header-btn span:first-child{font-size:16px}.chat-main .chat-content{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:30px;padding:40px 24px;display:flex;overflow-y:auto}.chat-main .chat-content .welcome-section{flex-direction:row;justify-content:center;align-items:center;gap:12px;display:flex}.chat-main .chat-content .welcome-section .logo-icon{object-fit:contain;width:64px;height:64px}.chat-main .chat-content .welcome-section .welcome-title{background:linear-gradient(135deg, var(--color-logo-gradient-start), var(--color-logo-gradient-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:38px;font-weight:600}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#005cc5}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-comment,.hljs-code,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}.branch-navigator{-webkit-user-select:none;user-select:none;align-items:center;gap:2px;display:inline-flex}.branch-navigator .branch-nav-btn{width:22px;height:22px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.branch-navigator .branch-nav-btn:hover:not(:disabled){background:var(--color-hover-bg);color:var(--color-text-primary)}.branch-navigator .branch-nav-btn:disabled{opacity:.3;cursor:default}.branch-navigator .branch-nav-label{color:var(--color-text-tertiary);text-align:center;min-width:32px;font-size:12px;line-height:1}.chat-box{background:var(--color-bg-page);border:1px solid var(--color-border-primary);border-radius:12px;flex-direction:column;flex:1;min-width:0;height:100vh;transition:flex .3s;display:flex;overflow:hidden}.chat-box .chat-header{box-sizing:border-box;justify-content:flex-end;align-items:center;gap:12px;height:64px;padding:16px 24px;display:flex}.chat-box .chat-header .header-btn{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);cursor:pointer;color:var(--color-text-secondary);border-radius:20px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;transition:all .2s;display:flex}.chat-box .chat-header .header-btn:hover{background:var(--color-bg-secondary);border-color:var(--color-border-secondary)}.chat-box .chat-header .header-btn span:first-child{font-size:16px}.chat-box .chat-header .header-btn img{filter:var(--icon-filter)}.chat-box .chat-box-messages{flex-direction:column;flex:1;gap:4px;padding:32px 0 60px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 48px calc(100% - 48px),#0000 100%);mask-image:linear-gradient(#0000 0%,#000 48px calc(100% - 48px),#0000 100%)}.chat-box .chat-box-messages::-webkit-scrollbar{width:6px}.chat-box .chat-box-messages::-webkit-scrollbar-track{background:0 0}.chat-box .chat-box-messages::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.chat-box .chat-box-messages::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.chat-box .chat-box-messages .message-wrapper{flex-direction:column;width:100%;max-width:800px;margin:0 auto;padding:2px 24px;display:flex}.chat-box .chat-box-messages .message-wrapper.user{align-items:flex-end}.chat-box .chat-box-messages .message-wrapper.assistant{align-items:flex-start}.chat-box .chat-box-messages .message-wrapper .message-footer{align-items:center;gap:8px;min-height:24px;margin-top:4px;display:flex}.chat-box .chat-box-messages .message-wrapper .message-toolbar{gap:4px;display:flex}.chat-box .chat-box-messages .message-wrapper .message-toolbar .toolbar-btn{cursor:pointer;width:28px;height:28px;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.chat-box .chat-box-messages .message-wrapper .message-toolbar .toolbar-btn:hover{background:var(--color-hover-bg);color:var(--color-text-primary)}.chat-box .chat-box-messages .message-wrapper .message-toolbar .toolbar-btn img{opacity:.5;width:16px;height:16px;filter:var(--icon-filter);transition:opacity .15s,filter .15s}.chat-box .chat-box-messages .message-wrapper .message-toolbar .toolbar-btn:hover img{opacity:.8}.chat-box .chat-box-messages .message-wrapper .message-toolbar .toolbar-btn.active-like img{opacity:1;filter:brightness(0)saturate()invert(52%)sepia(81%)saturate(506%)hue-rotate(88deg)brightness(96%)contrast(92%)}.chat-box .chat-box-messages .message-wrapper .message-toolbar .toolbar-btn.active-dislike img{opacity:1;filter:brightness(0)saturate()invert(27%)sepia(91%)saturate(4145%)hue-rotate(349deg)brightness(91%)contrast(95%)}.chat-box .chat-box-messages .message-wrapper .message-bubble{word-break:break-word;max-width:70%;padding:12px 16px;font-size:15px;line-height:1.6}.chat-box .chat-box-messages .message-wrapper .message-bubble.user{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);white-space:pre-wrap;border-radius:20px 20px 4px}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:20px 20px 20px 4px;max-width:70%;padding:12px 16px}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant p{margin:.4em 0}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant p:first-child{margin-top:0}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant p:last-child{margin-bottom:0}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h1,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h2,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h3,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h4,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h5,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h6{margin:.6em 0 .3em}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h1:first-child,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h2:first-child,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h3:first-child,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h4:first-child,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h5:first-child,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant h6:first-child{margin-top:0}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant ul,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant ol{margin:.4em 0;padding-left:1.5em}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant pre{background:var(--color-code-bg);color:var(--color-code-text);border-radius:8px;margin:.5em 0;font-size:15px;line-height:1.5;overflow-x:auto}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant code{font-family:SF Mono,Fira Code,Fira Mono,Menlo,monospace;font-size:1em}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant :not(pre)>code{background:var(--color-inline-code-bg);border-radius:4px;padding:2px 5px}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant blockquote{border-left:3px solid var(--color-border-secondary);color:var(--color-text-tertiary);margin:.5em 0;padding:.2em .8em}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant table{border-collapse:collapse;margin:.5em 0}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant table th,.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant table td{border:1px solid var(--color-border-secondary);padding:6px 12px}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant table th{background:var(--color-hover-bg)}.chat-box .chat-box-messages .message-wrapper .message-bubble.assistant a{color:var(--color-link);text-decoration:underline}.chat-box .chat-box-messages .message-wrapper .message-bubble .thinking-indicator{align-items:center;padding:4px 0;display:flex}.chat-box .chat-box-messages .message-wrapper .message-bubble .thinking-indicator .ant-spin-dot-item{background-color:var(--color-text-primary)}.chat-box .chat-box-messages .message-wrapper .message-bubble .message-images{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chat-box .chat-box-messages .message-wrapper .message-bubble .message-images .message-image{object-fit:cover;cursor:pointer;border-radius:8px;max-width:200px;max-height:200px;transition:opacity .15s}.chat-box .chat-box-messages .message-wrapper .message-bubble .message-images .message-image:hover{opacity:.85}.chat-box .chat-box-messages .message-wrapper .message-bubble .edit-message-container{min-width:300px}.chat-box .chat-box-input{border-top:1px solid var(--color-border-subtle);justify-content:center;padding-top:8px;display:flex}.edit-input{flex-direction:column;gap:8px;display:flex}.edit-input .edit-textarea{border:1px solid var(--color-border-secondary);background:var(--color-bg-primary);width:100%;min-height:40px;color:var(--color-text-primary);resize:vertical;border-radius:8px;outline:none;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.5}.edit-input .edit-textarea:focus{border-color:var(--color-link)}.edit-input .edit-actions{justify-content:flex-end;gap:8px;display:flex}.edit-input .edit-actions button{cursor:pointer;border-radius:6px;padding:4px 14px;font-size:13px;transition:all .15s}.edit-input .edit-actions .edit-cancel-btn{border:1px solid var(--color-border-primary);color:var(--color-text-secondary);background:0 0}.edit-input .edit-actions .edit-cancel-btn:hover{background:var(--color-hover-bg)}.edit-input .edit-actions .edit-submit-btn{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);border:none}.edit-input .edit-actions .edit-submit-btn:hover{opacity:.9}.edit-input .edit-actions .edit-submit-btn:disabled{opacity:.5;cursor:default}.material-viewer{background:var(--color-bg-page);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.material-tab-bar{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);flex-shrink:0;align-items:center;height:40px;display:flex}.material-tabs{flex:1;min-width:0;display:flex;overflow-x:auto}.material-tabs::-webkit-scrollbar{height:6px}.material-tabs::-webkit-scrollbar-track{background:0 0}.material-tabs::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.material-tabs::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.material-tab{height:40px;color:var(--color-text-tertiary);border-right:1px solid var(--color-border-subtle);cursor:pointer;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:0 14px;font-size:13px;transition:color .15s,background .15s;display:flex;position:relative}.material-tab:hover{color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.material-tab:hover .material-tab-close{opacity:1}.material-tab.active{color:var(--color-text-primary);background:var(--color-bg-page)}.material-tab.active:after{content:"";background:var(--color-link);height:2px;position:absolute;bottom:0;left:0;right:0}.material-tab.active .material-tab-close{opacity:.6}.material-tab-dirty{background:var(--color-text-quaternary);border-radius:50%;flex-shrink:0;width:8px;height:8px}.material-tab-name{text-overflow:ellipsis;overflow:hidden}.material-tab-close{cursor:pointer;width:18px;height:18px;color:var(--color-text-quaternary);opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .1s,background .1s,color .1s;display:flex}.material-tab-close:hover{background:var(--color-hover-bg);color:var(--color-text-primary);opacity:1!important}.material-tab-actions{flex-shrink:0;align-items:center;padding:0 8px;display:flex}.material-action-btn{cursor:pointer;width:28px;height:28px;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.material-action-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.material-tab-pin{color:currentColor;flex-shrink:0}.tab-context-menu{z-index:1000;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:8px;min-width:140px;padding:4px 0;position:fixed;box-shadow:0 4px 16px #0000001f}.tab-context-item{color:var(--color-text-secondary);cursor:pointer;padding:6px 14px;font-size:13px;transition:background .1s,color .1s}.tab-context-item:hover{background:var(--color-hover-bg);color:var(--color-text-primary)}.tab-context-divider{background:var(--color-border-subtle);height:1px;margin:4px 0}.material-code-area{flex:1;display:flex;overflow:auto}.material-code-area::-webkit-scrollbar{width:8px;height:8px}.material-code-area::-webkit-scrollbar-track{background:0 0}.material-code-area::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:4px}.material-code-area::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.material-line-numbers{text-align:right;color:var(--color-text-hint);-webkit-user-select:none;user-select:none;background:var(--color-bg-secondary);border-right:1px solid var(--color-border-subtle);z-index:1;flex-shrink:0;padding:12px 0;font-family:Cascadia Code,Fira Code,JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6;position:sticky;left:0}.material-line-numbers .line-number{min-width:48px;padding:0 12px 0 16px}.material-code-content{flex:1;min-width:0;padding:12px 0;overflow-x:auto}.material-code-content pre{margin:0;background:0 0!important;padding:0!important}.material-code-content code{font-family:Cascadia Code,Fira Code,JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6;display:block;background:0 0!important;padding:0 16px!important}.material-media-area{flex:1;justify-content:center;align-items:center;padding:24px;display:flex;overflow:auto}.material-media-area img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 2px 12px #00000014}.material-media-area video{border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 2px 12px #00000014}.material-media-area.material-audio-area{color:var(--color-text-hint);flex-direction:column;gap:20px}.material-media-area.material-audio-area svg{opacity:.4}.material-media-area.material-audio-area audio{width:360px;max-width:100%}.material-media-name{color:var(--color-text-secondary);margin:0;font-size:14px}.material-pdf-area{flex:1;display:flex;overflow:hidden}.material-pdf-area iframe{border:none;width:100%;height:100%}.material-docx-area{background:var(--color-bg-secondary);flex:1;overflow:auto}.material-docx-area::-webkit-scrollbar{width:8px;height:8px}.material-docx-area::-webkit-scrollbar-track{background:0 0}.material-docx-area::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:4px}.material-docx-area::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.material-download-btn{color:var(--color-link);border:1px solid var(--color-link);border-radius:6px;align-items:center;padding:8px 20px;font-size:14px;text-decoration:none;transition:all .15s;display:inline-flex}.material-download-btn:hover{background:var(--color-link);color:#fff}.material-editor-toolbar{z-index:10;gap:6px;display:flex;position:absolute;top:12px;right:16px}.material-save-btn{border:1px solid var(--color-border-primary);background:var(--color-bg-primary);cursor:pointer;height:32px;color:var(--color-text-tertiary);border-radius:6px;align-items:center;gap:6px;padding:0 12px;transition:all .15s;display:flex;box-shadow:0 1px 4px #00000014}.material-save-btn:hover{color:var(--color-text-primary);border-color:var(--color-border-secondary);box-shadow:0 2px 8px #0000001f}.material-save-btn.saved{color:#52c41a;border-color:#52c41a}.material-save-btn:disabled{cursor:not-allowed;opacity:.6}.material-save-text{font-size:13px}.material-save-spinner{border:2px solid var(--color-border-secondary);border-top-color:var(--color-text-tertiary);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spinner-rotate;display:inline-block}.material-code-editor{flex:1;display:flex;position:relative;overflow:hidden}.material-code-editor .material-line-numbers{overflow:hidden}.material-code-textarea{resize:none;color:var(--color-text-primary);tab-size:2;white-space:pre;background:0 0;border:none;outline:none;flex:1;padding:12px 16px;font-family:Cascadia Code,Fira Code,JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6;overflow:auto}.material-code-textarea::-webkit-scrollbar{width:8px;height:8px}.material-code-textarea::-webkit-scrollbar-track{background:0 0}.material-code-textarea::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:4px}.material-code-textarea::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.material-markdown-editor{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.material-markdown-container{flex-direction:column;flex:1;min-height:0;display:flex}.material-markdown-container .vditor{--textarea-background-color:var(--color-bg-page);--textarea-text-color:var(--color-text-primary);--border-color:var(--color-border-primary);--panel-background-color:var(--color-bg-page);--toolbar-background-color:var(--color-bg-page);flex:1;background:var(--color-bg-page)!important;border:none!important;border-radius:0!important}.material-markdown-container .vditor-toolbar{display:none!important}.material-markdown-container .vditor-content{background:var(--color-bg-page)!important}.material-markdown-container .vditor-wysiwyg{padding:24px 32px!important}.material-markdown-container .vditor-reset{color:var(--color-text-primary)!important;background:var(--color-bg-page)!important}.material-markdown-container .vditor-wysiwyg pre.vditor-reset:focus{background-color:var(--color-bg-page)!important}.close-confirm-overlay{z-index:2000;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.close-confirm-dialog{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:10px;min-width:340px;max-width:420px;padding:24px;box-shadow:0 8px 32px #0000002e}.close-confirm-message{color:var(--color-text-primary);margin:0 0 20px;font-size:14px;line-height:1.6}.close-confirm-message strong{color:var(--color-text-primary)}.close-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.close-confirm-btn{cursor:pointer;border:1px solid var(--color-border-primary);border-radius:6px;padding:6px 16px;font-size:13px;transition:all .15s}.close-confirm-btn.cancel{color:var(--color-text-secondary);background:0 0}.close-confirm-btn.cancel:hover{background:var(--color-bg-tertiary)}.close-confirm-btn.discard{color:var(--color-text-secondary);border-color:var(--color-border-secondary);background:0 0}.close-confirm-btn.discard:hover{background:var(--color-bg-tertiary)}.close-confirm-btn.save{background:var(--color-link);color:#fff;border-color:var(--color-link);justify-content:center;align-items:center;min-width:64px;display:inline-flex}.close-confirm-btn.save:hover:not(:disabled){filter:brightness(1.1)}.close-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.close-confirm-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite spinner-rotate;display:inline-block}.material-empty{color:var(--color-text-hint);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.material-empty svg{opacity:.5}.material-empty p{margin:0;font-size:15px}.material-spinner{border:3px solid var(--color-border-secondary);border-top-color:var(--color-text-tertiary);border-radius:50%;width:28px;height:28px;animation:.6s linear infinite spinner-rotate;display:inline-block}.vditor{--border-color:#d1d5da;--second-color:#5860695c;--panel-background-color:#fff;--panel-shadow:0 1px 2px #0003;--toolbar-background-color:#f6f8fa;--toolbar-icon-color:#586069;--toolbar-icon-hover-color:#4285f4;--toolbar-height:35px;--toolbar-divider-margin-top:8px;--textarea-background-color:#fafbfc;--textarea-text-color:#24292e;--resize-icon-color:var(--toolbar-icon-color);--resize-background-color:var(--toolbar-background-color);--resize-hover-icon-color:var(--panel-background-color);--resize-hover-background-color:var(--toolbar-icon-hover-color);--count-background-color:#1b1f230d;--heading-border-color:#eaecef;--blockquote-color:#6a737d;--ir-heading-color:#660e7a;--ir-title-color:gray;--ir-bi-color:#0033b3;--ir-link-color:green;--ir-bracket-color:#00f;--ir-paren-color:green}.vditor--dark{--border-color:#141414;--second-color:#b9b9b95c;--panel-background-color:#24292e;--panel-shadow:0 1px 2px #fff3;--toolbar-background-color:#1d2125;--toolbar-icon-color:#b9b9b9;--toolbar-icon-hover-color:#fff;--textarea-background-color:#2f363d;--textarea-text-color:#d1d5da;--resize-icon-color:var(--border-color);--resize-background-color:var(--second-color);--resize-hover-icon-color:var(--toolbar-icon-hover-color);--resize-hover-background-color:#b9b9b9db;--count-background-color:#4285f45c;--heading-border-color:var(--textarea-text-color);--blockquote-color:var(--toolbar-icon-color);--ir-heading-color:#9876aa;--ir-title-color:gray;--ir-bi-color:#cc7832;--ir-link-color:#ffc66d;--ir-bracket-color:#287bde;--ir-paren-color:#6a8759}@keyframes tooltip-appear{0%{opacity:0}to{opacity:1}}.vditor-tooltipped{cursor:pointer;position:relative}.vditor-tooltipped:after{z-index:1000000;-webkit-font-smoothing:subpixel-antialiased;color:#fff;text-align:center;text-shadow:none;text-transform:none;letter-spacing:normal;word-wrap:break-word;white-space:pre;pointer-events:none;content:attr(aria-label);opacity:0;background:#3b3e43;border-radius:3px;padding:5px 8px;font-size:11px;font-weight:400;line-height:16px;text-decoration:none;display:none;position:absolute}.vditor-tooltipped:before{z-index:1000001;color:#3b3e43;pointer-events:none;content:"";opacity:0;border:5px solid #0000;width:0;height:0;display:none;position:absolute}.vditor-tooltipped--hover:before,.vditor-tooltipped--hover:after,.vditor-tooltipped:hover:before,.vditor-tooltipped:hover:after,.vditor-tooltipped:active:before,.vditor-tooltipped:active:after,.vditor-tooltipped:focus:before,.vditor-tooltipped:focus:after{text-decoration:none;animation-name:tooltip-appear;animation-duration:.15s;animation-timing-function:ease-in;animation-fill-mode:forwards;display:inline-block}.vditor-tooltipped__s:after,.vditor-tooltipped__se:after,.vditor-tooltipped__sw:after{margin-top:5px;top:100%;right:50%}.vditor-tooltipped__s:before,.vditor-tooltipped__se:before,.vditor-tooltipped__sw:before{border-bottom-color:#3b3e43;margin-right:-5px;top:auto;bottom:-5px;right:50%}.vditor-tooltipped__se:after{margin-left:-15px;left:50%;right:auto}.vditor-tooltipped__sw:after{margin-right:-15px}.vditor-tooltipped__n:after,.vditor-tooltipped__ne:after,.vditor-tooltipped__nw:after{margin-bottom:5px;bottom:100%;right:50%}.vditor-tooltipped__n:before,.vditor-tooltipped__ne:before,.vditor-tooltipped__nw:before{border-top-color:#3b3e43;margin-right:-5px;top:-5px;bottom:auto;right:50%}.vditor-tooltipped__ne:after{margin-left:-15px;left:50%;right:auto}.vditor-tooltipped__nw:after{margin-right:-15px}.vditor-tooltipped__s:after,.vditor-tooltipped__n:after{transform:translate(50%)}.vditor-tooltipped__w:after{margin-right:5px;bottom:50%;right:100%;transform:translateY(50%)}.vditor-tooltipped__w:before{border-left-color:#3b3e43;margin-top:-5px;top:50%;bottom:50%;left:-5px}.vditor-tooltipped__e:after{margin-left:5px;bottom:50%;left:100%;transform:translateY(50%)}.vditor-tooltipped__e:before{border-right-color:#3b3e43;margin-top:-5px;top:50%;bottom:50%;right:-5px}@media screen and (width<=520px){.vditor-tooltipped:before,.vditor-tooltipped:after{content:none}}@keyframes scale-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.vditor-panel{background-color:var(--panel-background-color);box-shadow:var(--panel-shadow);z-index:3;-webkit-user-select:none;user-select:none;min-width:80px;max-width:320px;color:var(--toolbar-icon-color);border-radius:3px;padding:5px;font-size:14px;animation-name:scale-in;animation-duration:.15s;animation-timing-function:cubic-bezier(.2,0,.13,1.5);display:none;position:absolute}.vditor-panel--none{white-space:nowrap;opacity:.86;min-width:auto;max-width:none;padding:0;animation:none}.vditor-panel--arrow:before{pointer-events:none;content:" ";border:7px solid #0000;border-bottom-color:var(--panel-background-color);width:0;height:0;position:absolute;top:-14px;left:5px}.vditor-panel--left{right:0}.vditor-panel--left.vditor-panel--arrow:before{left:auto;right:5px}.vditor-input{background-color:var(--panel-background-color);color:var(--textarea-text-color);border:0;padding:3px 5px;font-size:12px}.vditor-input:focus{background-color:var(--toolbar-background-color);outline:none}.vditor-icon{color:var(--toolbar-icon-color);cursor:pointer;float:left;box-sizing:border-box;background-color:#0000;border:0;width:23px;height:21px;padding:4px 5px}.vditor-icon:hover,.vditor-icon--current{color:var(--toolbar-icon-hover-color);background-color:#0000}.vditor-icon:focus{outline:none}.vditor-icon svg{float:left;fill:currentColor;pointer-events:none;width:13px!important;height:13px!important}.vditor-toolbar{background-color:var(--toolbar-background-color);border-bottom:1px solid var(--border-color);padding:0 5px;line-height:1}.vditor-toolbar--pin{z-index:1;position:sticky;top:0}.vditor-toolbar--hide{height:5px;transition:all .15s ease-in-out;overflow:hidden}.vditor-toolbar--hide:hover{background-color:var(--toolbar-background-color);height:auto;overflow:visible}.vditor-toolbar__item{float:left;position:relative}.vditor-toolbar__item .vditor-tooltipped{color:var(--toolbar-icon-color);height:var(--toolbar-height);box-sizing:border-box;background-color:#0000;border:0;width:25px;padding:10px 5px;font-size:0}.vditor-toolbar__item .vditor-tooltipped:focus{cursor:pointer;color:var(--toolbar-icon-hover-color);outline:none}.vditor-toolbar__item svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:15px;height:15px;display:inline-block}.vditor-toolbar__item input{width:25px;height:var(--toolbar-height);cursor:pointer;opacity:.001;position:absolute;top:0;left:0;overflow:hidden}.vditor-toolbar__divider{float:left;height:calc(var(--toolbar-height) - (var(--toolbar-divider-margin-top) * 2));border-left:1px solid var(--second-color);margin:var(--toolbar-divider-margin-top) 8px}.vditor-toolbar__br{width:100%;height:0!important;padding:0!important}.vditor-menu--current{color:var(--toolbar-icon-hover-color)!important}.vditor-menu--disabled{color:var(--second-color)!important;cursor:not-allowed!important}.vditor-emojis{display:inline-block;overflow:auto}.vditor-emojis::-webkit-scrollbar{display:none}.vditor-emojis__tip{width:200px;min-width:1px;color:var(--toolbar-icon-color);white-space:nowrap;text-overflow:ellipsis;flex:1;margin-right:10px;overflow:hidden}.vditor-emojis__tail{color:var(--toolbar-icon-color);margin-top:5px;font-size:12px;display:flex}.vditor-emojis__tail a{color:var(--toolbar-icon-color);text-decoration:none}.vditor-emojis__tail a:hover{color:var(--toolbar-icon-hover-color)}.vditor-emojis button{cursor:pointer;float:left;text-align:center;box-sizing:border-box;background-color:#0000;border:0;border-radius:3px;width:30px;height:30px;margin:0;padding:3px;font-size:16px;line-height:26px;transition:all .15s ease-in-out;overflow:hidden}.vditor-emojis button:focus{outline:none}.vditor-emojis button:hover .vditor-emojis__icon{display:inline-block;transform:scale(1.2)}.vditor-emojis img{float:left;width:20px;height:20px;margin:3px 0 0 3px}@media screen and (width<=520px){.vditor-toolbar__item{padding:0 12px}.vditor-panel--left.vditor-panel--arrow:before{right:17px}}@media (hover:hover) and (pointer:fine){.vditor-toolbar__item .vditor-tooltipped:hover{color:var(--toolbar-icon-hover-color)}}@keyframes slideInDown{0%{visibility:visible;transform:translateY(-100%)}to{transform:translate(0,0)}}.vditor{border:1px solid var(--border-color);box-sizing:border-box;border-radius:3px;flex-direction:column;font-family:Helvetica Neue,Luxi Sans,DejaVu Sans,Hiragino Sans GB,Microsoft Yahei,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;display:flex}.vditor--fullscreen{z-index:90;border-radius:0;position:fixed;top:0;left:0;width:100%!important;height:100vh!important}.vditor-content{flex:1;min-width:1px;min-height:60px;display:flex;position:relative}.vditor-preview{border-left:1px solid var(--border-color);box-sizing:border-box;background-color:var(--textarea-background-color);border-radius:0 0 3px;flex:1;min-width:1px;margin-left:-1px;overflow:auto}.vditor-preview::-webkit-scrollbar{display:none}.vditor-preview__action{text-align:center;background-color:var(--toolbar-background-color);padding:10px}.vditor-preview__action button{background-color:var(--toolbar-background-color);color:var(--toolbar-icon-color);cursor:pointer;border:0;margin:0 10px;padding:0 7px;font-size:12px;line-height:20px}.vditor-preview__action button.vditor-preview__action--current,.vditor-preview__action button:hover{color:var(--toolbar-icon-hover-color);background-color:var(--toolbar-background-color)}.vditor-preview__action button:focus{outline:none}.vditor-preview__action button svg{fill:currentColor;vertical-align:middle;width:15px;height:15px}.vditor-preview>.vditor-reset{margin:0 auto;padding:10px}.vditor-preview img:not(.emoji){cursor:pointer}.vditor-devtools{background-color:var(--textarea-background-color);min-width:1px;box-shadow:inset 1px 0 var(--border-color);box-sizing:border-box;border-radius:0 0 3px;flex:1;padding:10px;display:none;overflow:auto}.vditor-counter{color:var(--toolbar-icon-color);background-color:var(--count-background-color);-webkit-user-select:none;user-select:none;float:right;border-radius:3px;margin:8px 3px 0 0;padding:3px;font-size:12px}.vditor-counter--error{color:#d23f31;background-color:#d23f311a}.vditor-resize{cursor:row-resize;-webkit-user-select:none;user-select:none;width:100%;padding:3px 0;position:absolute}.vditor-resize--top{top:-3px}.vditor-resize--bottom{bottom:-3px}.vditor-resize>div{background-color:var(--resize-background-color);height:3px;transition:all .15s ease-in-out}.vditor-resize:hover>div,.vditor-resize--selected>div{background-color:var(--resize-hover-background-color)}.vditor-resize:hover svg,.vditor-resize--selected svg{color:var(--resize-hover-icon-color)}.vditor-resize svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:13px;height:3px;color:var(--resize-icon-color);margin:0 auto;display:block}.vditor-upload{background-color:#4285f4;height:3px;transition:all .15s ease-in-out;position:absolute;top:-2px;left:0}.vditor-tip{z-index:5;font-size:12px;animation-duration:.15s;animation-fill-mode:both;position:absolute;top:10px;left:50%}.vditor-tip--show{animation-name:slideInDown;display:block}.vditor-tip__content{text-align:left;background:var(--toolbar-background-color);color:var(--toolbar-icon-color);max-width:100%;box-shadow:var(--panel-shadow);border-radius:3px;margin-left:-50%;padding:3px 10px;line-height:16px;display:inline-block;position:relative}.vditor-tip__content ul{margin:2px 0;padding:0 0 0 18px}.vditor-tip__content a{color:#4285f4}.vditor-tip__close{color:var(--toolbar-icon-color);cursor:pointer;font-weight:700;position:absolute;top:-7px;right:-15px}.vditor-tip__close:hover{color:var(--toolbar-icon-hover-color)}.vditor-img{z-index:100;flex-direction:column;display:flex;position:fixed;inset:0}.vditor-img__bar{border-bottom:1px solid var(--border-color);background-color:var(--toolbar-background-color);text-align:center;box-sizing:border-box;justify-content:center;align-items:center;height:36px;display:flex}.vditor-img__btn{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--toolbar-icon-color);align-items:center;margin-left:24px;display:flex}.vditor-img__btn:hover{color:var(--toolbar-icon-hover-color)}.vditor-img__btn svg{fill:currentColor;width:14px;height:14px;margin-right:8px}.vditor-img__img{background-color:var(--textarea-background-color);cursor:zoom-out;flex:1;overflow:auto}.vditor-img__img img{max-width:none}.vditor-hint{background-color:var(--panel-background-color);box-shadow:var(--panel-shadow);z-index:4;border-radius:3px;min-width:80px;max-width:250px;margin:0;padding:5px 0;font-size:12px;line-height:20px;list-style:none;display:none;position:absolute}.vditor-hint .vditor-hint{margin-top:-31px;left:100%;right:auto}.vditor-hint .vditor-hint.vditor-panel--left{left:auto;right:100%}.vditor-hint button{color:var(--toolbar-icon-color);box-sizing:border-box;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background-color:#0000;border:0;border-radius:0;width:100%;margin:0;padding:3px 10px;line-height:20px;display:block;overflow:hidden}.vditor-hint button:focus{outline:none}.vditor-hint--current,.vditor-hint button:not(.vditor-menu--disabled):hover{background-color:var(--toolbar-background-color)!important;color:var(--toolbar-icon-hover-color)!important}.vditor-hint__emoji{float:left;margin-right:3px;font-size:16px}.vditor-hint img{float:left;width:20px;height:20px;margin-right:3px}.vditor-reset{color:#24292e;font-variant-ligatures:no-common-ligatures;word-wrap:break-word;word-break:break-word;font-family:Helvetica Neue,Luxi Sans,DejaVu Sans,Hiragino Sans GB,Microsoft Yahei,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;font-size:16px;line-height:1.5;overflow:auto}.vditor-reset--anchor{padding-left:20px}.vditor-reset--error{color:#d23f31;font-size:12px;line-height:16px;display:block}.vditor-reset ul ul ul{list-style-type:square}.vditor-reset ul ul{list-style-type:circle}.vditor-reset ul{list-style-type:disc}.vditor-reset ul,.vditor-reset ol{margin-top:0;margin-bottom:16px;padding-left:2em}.vditor-reset li+li{margin-top:.25em}.vditor-reset li p{margin-top:16px}.vditor-reset audio{max-width:100%}.vditor-reset audio:focus{outline:none}.vditor-reset video{max-width:100%;max-height:90vh}.vditor-reset img{max-width:100%}.vditor-reset img.emoji{cursor:auto;vertical-align:sub;max-width:20px}.vditor-reset h1,.vditor-reset h2,.vditor-reset h3,.vditor-reset h4,.vditor-reset h5,.vditor-reset h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.vditor-reset h1:hover .vditor-anchor svg,.vditor-reset h2:hover .vditor-anchor svg,.vditor-reset h3:hover .vditor-anchor svg,.vditor-reset h4:hover .vditor-anchor svg,.vditor-reset h5:hover .vditor-anchor svg,.vditor-reset h6:hover .vditor-anchor svg{visibility:visible}.vditor-reset h1{font-size:1.75em}.vditor-reset h2{font-size:1.55em}.vditor-reset h3{font-size:1.38em}.vditor-reset h4{font-size:1.25em}.vditor-reset h5{font-size:1.13em}.vditor-reset h6{font-size:1em}.vditor-reset hr{background-color:#eaecef;border:0;height:2px;margin:24px 0;padding:0}.vditor-reset p{margin-top:0;margin-bottom:16px}.vditor-reset blockquote{color:#6a737d;border-left:.25em solid #eaecef;margin:0 0 16px;padding:0 1em}.vditor-reset blockquote>:first-child{margin-top:0}.vditor-reset blockquote>:last-child{margin-bottom:0}.vditor-reset ins>iframe{border:0}.vditor-reset iframe{box-sizing:border-box;border:1px solid #d1d5da;max-width:100%}.vditor-reset iframe.iframe__video{min-width:80%;min-height:36vh}.vditor-reset table{border-collapse:collapse;empty-cells:show;border-spacing:0;word-break:keep-all;width:100%;margin-bottom:16px;display:block;overflow:auto}.vditor-reset table tr{background-color:#fafbfc;border-top:1px solid #c6cbd1}.vditor-reset table td,.vditor-reset table th{word-break:normal;white-space:nowrap;border:1px solid #dfe2e5;padding:6px 13px}.vditor-reset table td:first-child:after,.vditor-reset table th:first-child:after{content:"";vertical-align:top;min-height:24px;display:inline-block}.vditor-reset table th{font-weight:600}.vditor-reset table tbody tr:nth-child(2n){background-color:#fff}.vditor-reset code:not(.hljs):not(.highlight-chroma){word-break:break-word;white-space:pre-wrap;background-size:20px 20px;border-radius:3px;margin:0;padding:.2em .4em;font-family:mononoki,Consolas,Liberation Mono,Menlo,Courier,monospace,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;font-size:85%}.vditor-reset pre{margin:1em 0}.vditor-reset pre>code{white-space:pre;word-break:initial;word-wrap:normal;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==);background-size:20px 20px;border-radius:5px;margin:0;padding:.5em;font-family:mononoki,Consolas,Liberation Mono,Menlo,Courier,monospace,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;font-size:85%;display:block;overflow:auto}.vditor-reset pre:hover div.vditor-copy{display:block}.vditor-reset .language-math,.vditor-reset .language-echarts,.vditor-reset .language-mindmap,.vditor-reset .language-plantuml,.vditor-reset .language-mermaid,.vditor-reset .language-smiles,.vditor-reset .language-markmap,.vditor-reset .language-abc,.vditor-reset .language-flowchart,.vditor-reset .language-graphviz{margin-bottom:16px}.vditor-reset .language-math mjx-container:focus{cursor:context-menu;outline:none}.vditor-reset .language-math .katex-display>.katex>.katex-html>.tag{font-size:1.21rem;display:inline-block;right:2px}.vditor-reset .language-echarts,.vditor-reset .language-mindmap{height:420px;overflow:hidden}.vditor-reset .language-mermaid,.vditor-reset .language-markmap,.vditor-reset .language-flowchart,.vditor-reset .language-graphviz{text-align:center}.vditor-reset .language-graphviz parsererror{overflow:auto}.vditor-reset kbd{color:#24292e;vertical-align:middle;background-color:#fafbfc;border:1px solid #d1d5da;border-radius:3px;padding:3px 5px;font:11px/10px Consolas,Liberation Mono,Menlo,Courier,monospace;display:inline-block;box-shadow:inset 0 -1px #d1d5da}.vditor-reset summary{cursor:pointer}.vditor-reset summary:focus{outline:none}.vditor-reset svg{width:auto;height:auto;stroke-width:initial}.vditor-reset p:last-child,.vditor-reset blockquote:last-child,.vditor-reset pre:last-child,.vditor-reset ul:last-child,.vditor-reset ol:last-child,.vditor-reset hr:last-child{margin-bottom:0}.vditor-comment{border-bottom:2px solid #f8e6ab}.vditor-comment--focus,.vditor-comment--hover{background-color:#faf1d1;border-bottom:2px solid #ffc60a}.vditor-comment--focus .vditor-comment,.vditor-comment--hover .vditor-comment{border-bottom:2px solid #ffc60a}.vditor-task{word-break:break-all;list-style:none!important}.vditor-task input{vertical-align:middle;margin:0 .2em .25em -1.6em;font-size:12px}.vditor-copy{z-index:1;display:none;position:relative}.vditor-copy textarea{height:10px;position:absolute;left:-100000px}.vditor-copy span{cursor:pointer;position:absolute;top:.5em;right:15px}.vditor-copy svg{color:#586069;fill:currentColor;height:14px;display:block;width:14px!important}.vditor-linenumber{position:relative;padding-left:4em!important}.vditor-linenumber__rows{pointer-events:none;-webkit-user-select:none;user-select:none;counter-reset:linenumber;width:3em;position:absolute;top:1em;left:0}.vditor-linenumber__rows>span{pointer-events:none;display:block}.vditor-linenumber__rows>span:before{counter-increment:linenumber;content:counter(linenumber);color:#9e969661;text-align:right;padding-right:1em;display:block}.vditor-speech{cursor:pointer;color:#586069;background-color:#f6f8fa;border:1px solid #d1d5da;border-radius:3px;padding:3px;display:none;position:absolute}.vditor-speech:hover,.vditor-speech--current{color:#4285f4}.vditor-speech svg{fill:currentColor;stroke-width:0;stroke:currentColor;width:14px;height:14px;display:block}.vditor-anchor{margin-left:5px}.vditor-anchor--left{float:left;margin-left:-20px;padding-right:4px}.vditor-anchor svg{visibility:hidden}.vditor-anchor:hover svg{visibility:visible}.vditor-anchor:focus{outline:none}.vditor-linkcard{cursor:pointer;max-width:768px;margin:31px auto 16px;padding:0 10px;transition:all .15s ease-in-out}.vditor-linkcard a{background-color:#f6f8fa;border-radius:3px;flex-wrap:wrap-reverse;max-height:250px;text-decoration:none;display:flex;overflow:hidden;box-shadow:0 1px 2px #0003}.vditor-linkcard a:hover{text-decoration:none;box-shadow:0 0 3px #00000021,0 3px 6px #00000042}.vditor-linkcard a:visited .vditor-linkcard__abstract{color:#5860695c}.vditor-linkcard__info{box-sizing:border-box;flex:1;min-width:200px;padding:10px}.vditor-linkcard__title{color:#24292e;align-items:center;font-size:14px;font-weight:400;display:flex}.vditor-linkcard__title img{cursor:pointer;border-radius:3px;flex-shrink:0;width:20px;height:20px;margin-right:5px}.vditor-linkcard__abstract{word-wrap:break-word;word-break:break-all;-webkit-line-clamp:2;text-overflow:ellipsis;color:#586069;-webkit-box-orient:vertical;margin:5px 0;font-size:13px;display:-webkit-box;overflow:hidden}.vditor-linkcard__site{color:#4285f4;font-size:12px}.vditor-linkcard__image{cursor:pointer;background-color:#5860695c;background-position:50%;background-repeat:no-repeat;background-size:cover;min-width:126px;max-width:250px}.vditor-footnotes__goto-ref{text-decoration:none}.vditor-toc{-webkit-user-select:text;user-select:text;color:#4285f4;margin-bottom:16px}.vditor-toc .vditor-outline__action{display:none}.vditor-toc ul{padding-left:1em;list-style:none!important}.vditor-toc>ul{padding-left:0}.vditor-toc span{cursor:pointer}.vditor-toc li>span>svg{width:0;height:0}.vditor-outline{border-right:1px solid var(--border-color);background-color:var(--panel-background-color);width:250px;display:none;overflow:auto}.vditor-outline--right{border-right:0;border-left:1px solid var(--border-color)}.vditor-outline::-webkit-scrollbar{display:none}.vditor-outline ul{margin:0;padding-left:1em;list-style:none!important}.vditor-outline__content>ul{padding-left:0}.vditor-outline li>span{cursor:pointer;color:var(--textarea-text-color);align-items:center;padding:5px 10px;display:flex}.vditor-outline li>span>svg{flex-shrink:0;width:10px;height:10px}.vditor-outline li>span:hover{color:var(--toolbar-icon-hover-color)}.vditor-outline li>span>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vditor-outline__title{border-bottom:1px dashed var(--border-color);color:var(--toolbar-icon-color);padding:5px 10px;font-size:12px}.vditor-outline__action{fill:currentColor;flex-shrink:0;margin-right:5px;transition:all .15s ease-in-out}.vditor-outline__action--close{transform:rotate(-90deg)}.vditor-wysiwyg{box-sizing:border-box;flex:1;width:100%;min-width:1px;position:relative}.vditor-wysiwyg pre.vditor-reset{background-color:var(--panel-background-color);white-space:pre-wrap;box-sizing:border-box;height:100%;margin:0}.vditor-wysiwyg pre.vditor-reset[contenteditable=false]{opacity:.3;cursor:not-allowed}.vditor-wysiwyg pre.vditor-reset:empty:before{content:attr(placeholder);color:var(--second-color)}.vditor-wysiwyg pre.vditor-reset:focus{background-color:var(--textarea-background-color);outline:none}.vditor-wysiwyg pre.vditor-reset:after{content:"";height:var(--editor-bottom);display:block}.vditor-wysiwyg blockquote:empty:before,.vditor-wysiwyg pre>code:empty:before,.vditor-wysiwyg p:empty:before,.vditor-wysiwyg h1:empty:after,.vditor-wysiwyg h2:empty:after,.vditor-wysiwyg h3:empty:after,.vditor-wysiwyg h4:empty:after,.vditor-wysiwyg h5:empty:after,.vditor-wysiwyg h6:empty:after{content:" "}.vditor-wysiwyg code[data-marker=\`]{padding-left:0!important;padding-right:0!important}.vditor-wysiwyg__block pre:first-child{margin-bottom:-1em}.vditor-wysiwyg__block pre:first-child code{color:var(--textarea-text-color);text-align:left;height:auto}.vditor-wysiwyg__block pre:last-child{margin-bottom:1em}.vditor-wysiwyg__preview{cursor:pointer;white-space:initial;min-height:27px}.vditor-wysiwyg>.vditor-reset>h1:before,.vditor-wysiwyg>.vditor-reset>h2:before,.vditor-wysiwyg>.vditor-reset>h3:before,.vditor-wysiwyg>.vditor-reset>h4:before,.vditor-wysiwyg>.vditor-reset>h5:before,.vditor-wysiwyg>.vditor-reset>h6:before,.vditor-wysiwyg div.vditor-wysiwyg__block:before,.vditor-wysiwyg div[data-type=link-ref-defs-block]:before,.vditor-wysiwyg div[data-type=footnotes-block]:before,.vditor-wysiwyg .vditor-toc:before{float:left;content:"H1";color:var(--second-color);margin-left:-29px;padding-right:4px;font-size:.85rem;font-weight:400}.vditor-wysiwyg>.vditor-reset>h2:before{content:"H2"}.vditor-wysiwyg>.vditor-reset>h3:before{content:"H3"}.vditor-wysiwyg>.vditor-reset>h4:before{content:"H4"}.vditor-wysiwyg>.vditor-reset>h5:before{content:"H5"}.vditor-wysiwyg>.vditor-reset>h6:before{content:"H6"}.vditor-wysiwyg div[data-type=link-ref-defs-block]:before{content:"\"A\""}.vditor-wysiwyg div[data-type=footnotes-block]:before{content:"^F"}.vditor-wysiwyg div.vditor-wysiwyg__block:before{content:"</>"}.vditor-wysiwyg div.vditor-wysiwyg__block[data-type=yaml-front-matter]:before{content:"F"}.vditor-wysiwyg div.vditor-wysiwyg__block[data-type=math-block]:before{content:"$$"}.vditor-wysiwyg .vditor-toc:before{content:"ToC"}.vditor-wysiwyg hr{width:100%;margin:12px 0;display:inline-block}.vditor-wysiwyg details{white-space:initial}.vditor-wysiwyg a{cursor:pointer}.vditor-wysiwyg span[data-type=backslash]>span{color:var(--second-color);display:none}.vditor-wysiwyg span[data-type=link-ref],.vditor-wysiwyg sup[data-type=footnotes-ref]{color:#4285f4}.vditor-wysiwyg span[data-type=toc-h]{color:#4285f4;text-decoration:underline}.vditor-wysiwyg div[data-type=footnotes-block]{border-top:2px solid var(--heading-border-color);margin-top:24px;padding-top:24px}.vditor-wysiwyg div[data-type=link-ref-defs-block]{color:var(--blockquote-color)}@media screen and (width<=520px){.vditor-wysiwyg h1:before,.vditor-wysiwyg h2:before,.vditor-wysiwyg h3:before,.vditor-wysiwyg h4:before,.vditor-wysiwyg h5:before,.vditor-wysiwyg h6:before,.vditor-wysiwyg div.vditor-wysiwyg__block:before,.vditor-wysiwyg div[data-type=link-ref-defs-block]:before,.vditor-wysiwyg div[data-type=footnotes-block]:before,.vditor-wysiwyg .vditor-toc:before{content:none}}.vditor-ir{box-sizing:border-box;flex:1;width:100%;min-width:1px;position:relative}.vditor-ir__node[data-type=code-block]:before,.vditor-ir__node[data-type=code-block]:after,.vditor-ir__node[data-type=yaml-front-matter]:before,.vditor-ir__node[data-type=yaml-front-matter]:after,.vditor-ir__node[data-type=math-block]:before,.vditor-ir__node[data-type=math-block]:after{content:" ";color:var(--second-color)}.vditor-ir__node:not(.vditor-ir__node--expand) .vditor-ir__marker{padding:0!important}.vditor-ir__node:not(.vditor-ir__node--expand)[data-type=a]{cursor:pointer}.vditor-ir__node[data-type=link-ref],.vditor-ir__node[data-type=footnotes-ref]{color:#4285f4}.vditor-ir__node[data-type=html-block]{margin-bottom:1em}.vditor-ir__node .vditor-ir__marker{width:0;height:0;transition:all .15s ease-in-out;display:inline-block;overflow:hidden}.vditor-ir__node--hidden .vditor-ir__marker{visibility:hidden}.vditor-ir__node--expand .vditor-ir__marker{color:var(--second-color);width:auto;height:auto;display:inline}.vditor-ir__node--expand .vditor-ir__marker--hide{display:none}.vditor-ir__node--expand .vditor-ir__marker--heading{color:var(--ir-heading-color)}.vditor-ir__node--expand .vditor-ir__marker--bi{color:var(--ir-bi-color)}.vditor-ir__node--expand .vditor-ir__marker--link{color:var(--ir-link-color)}.vditor-ir__node--expand .vditor-ir__marker--title{color:var(--ir-title-color)}.vditor-ir__node--expand .vditor-ir__marker--bracket{color:var(--ir-bracket-color);text-decoration:underline}.vditor-ir__node--expand .vditor-ir__marker--paren{color:var(--ir-paren-color)}.vditor-ir__node--expand .vditor-ir__marker--info{color:var(--ir-heading-color)}.vditor-ir__node--expand .vditor-ir__marker--pre code{color:var(--textarea-text-color);text-align:left;height:auto}.vditor-ir__node--expand[data-type=code-block]:before,.vditor-ir__node--expand[data-type=code-block]:after{content:"```"}.vditor-ir__node--expand[data-type=yaml-front-matter]:before,.vditor-ir__node--expand[data-type=yaml-front-matter]:after{content:"---"}.vditor-ir__node--expand[data-type=math-block]:before,.vditor-ir__node--expand[data-type=math-block]:after{content:"$$"}.vditor-ir__node span[data-type=code-block-open-marker],.vditor-ir__node span[data-type=code-block-close-marker],.vditor-ir__node span[data-type=yaml-front-matter-open-marker],.vditor-ir__node span[data-type=yaml-front-matter-close-marker],.vditor-ir__node span[data-type=math-block-open-marker],.vditor-ir__node span[data-type=math-block-close-marker]{display:none}.vditor-ir__preview{cursor:pointer;white-space:initial;min-height:27px}.vditor-ir__link{color:var(--ir-bracket-color);text-decoration:underline}.vditor-ir pre.vditor-reset{background-color:var(--panel-background-color);white-space:pre-wrap;box-sizing:border-box;height:100%;margin:0}.vditor-ir pre.vditor-reset[contenteditable=false]{opacity:.3;cursor:not-allowed}.vditor-ir pre.vditor-reset:empty:before{content:attr(placeholder);color:var(--second-color)}.vditor-ir pre.vditor-reset:focus{background-color:var(--textarea-background-color);outline:none}.vditor-ir pre.vditor-reset:after{content:"";height:var(--editor-bottom);display:block}.vditor-ir pre.vditor-reset pre{margin:0}.vditor-ir hr{width:100%;margin:12px 0;display:inline-block}.vditor-ir blockquote:empty:before,.vditor-ir pre>code:empty:before,.vditor-ir p:empty:before,.vditor-ir h1:empty:after,.vditor-ir h2:empty:after,.vditor-ir h3:empty:after,.vditor-ir h4:empty:after,.vditor-ir h5:empty:after,.vditor-ir h6:empty:after{content:" "}.vditor-ir .vditor-reset>h1:before,.vditor-ir .vditor-reset>h2:before,.vditor-ir .vditor-reset>h3:before,.vditor-ir .vditor-reset>h4:before,.vditor-ir .vditor-reset>h5:before,.vditor-ir .vditor-reset>h6:before,.vditor-ir div[data-type=link-ref-defs-block]:before,.vditor-ir div[data-type=footnotes-block]:before,.vditor-ir .vditor-toc:before{float:left;content:"H1";color:var(--second-color);margin-left:-29px;padding-right:4px;font-size:.85rem;font-weight:400}.vditor-ir .vditor-reset>h2:before{content:"H2"}.vditor-ir .vditor-reset>h3:before{content:"H3"}.vditor-ir .vditor-reset>h4:before{content:"H4"}.vditor-ir .vditor-reset>h5:before{content:"H5"}.vditor-ir .vditor-reset>h6:before{content:"H6"}.vditor-ir div[data-type=link-ref-defs-block]{color:var(--blockquote-color)}.vditor-ir div[data-type=link-ref-defs-block]:before{content:"\"A\""}.vditor-ir div[data-type=footnotes-block]{border-top:2px solid var(--heading-border-color);margin-top:24px;padding-top:24px}.vditor-ir div[data-type=footnotes-block]:before{content:"^F"}.vditor-ir div[data-type=footnotes-block]>div[data-type=footnotes-def]>ul,.vditor-ir div[data-type=footnotes-block]>div[data-type=footnotes-def]>ol,.vditor-ir div[data-type=footnotes-block]>div[data-type=footnotes-def]>p,.vditor-ir div[data-type=footnotes-block]>div[data-type=footnotes-def]>blockquote,.vditor-ir div[data-type=footnotes-block]>div[data-type=footnotes-def]>pre,.vditor-ir div[data-type=footnotes-block]>div[data-type=footnotes-def]>table,.vditor-ir div[data-type=footnotes-block]>div[data-type=footnotes-def]>hr{margin-left:8px}.vditor-ir .vditor-toc:before{content:"ToC"}.vditor-ir .vditor-toc span[data-type=toc-h]{color:#4285f4;text-decoration:underline}@media screen and (width<=520px){.vditor-ir h1:before,.vditor-ir h2:before,.vditor-ir h3:before,.vditor-ir h4:before,.vditor-ir h5:before,.vditor-ir h6:before,.vditor-ir div[data-type=link-ref-defs-block]:before,.vditor-ir div[data-type=footnotes-block]:before,.vditor-ir .vditor-toc:before{content:none}}.vditor-sv{resize:none;box-sizing:border-box;background-color:var(--panel-background-color);width:100%;min-width:1px;color:var(--textarea-text-color);font-variant-ligatures:no-common-ligatures;white-space:pre-wrap;word-break:break-word;word-wrap:break-word;border:0;border-radius:0 0 3px 3px;outline:0;flex:1;margin:0 1px 0 0;padding:10px 9px 10px 10px;font-family:Helvetica Neue,Luxi Sans,DejaVu Sans,Hiragino Sans GB,Microsoft Yahei,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,Segoe UI Symbol,Android Emoji,EmojiSymbols;font-size:16px;line-height:22px;overflow:auto}.vditor-sv[contenteditable=false]{opacity:.3;cursor:not-allowed}.vditor-sv:empty:before{content:attr(placeholder);color:var(--second-color)}.vditor-sv:focus{background-color:var(--textarea-background-color)}.vditor-sv:after{content:"";height:var(--editor-bottom);display:block}.vditor-sv span[data-type=newline]+span[data-type=text]:empty{display:inherit}.vditor-sv .sup{vertical-align:super;font-size:smaller}.vditor-sv .strong{font-weight:700}.vditor-sv .em{font-style:italic}.vditor-sv .s{text-decoration:line-through}.vditor-sv .mark:not(.vditor-sv__marker){color:#000;background-color:#ff0}.vditor-sv .h1{font-size:1.75em;line-height:44px}.vditor-sv .h2{font-size:1.55em;line-height:38px}.vditor-sv .h3{font-size:1.38em;line-height:27px}.vditor-sv .h4{font-size:1.25em;line-height:25px}.vditor-sv .h5{font-size:1.13em}.vditor-sv .h6{font-size:1em}.vditor-sv__marker{color:var(--second-color)}.vditor-sv__marker--heading{color:var(--ir-heading-color)}.vditor-sv__marker--bi{color:var(--ir-bi-color)}.vditor-sv__marker--link{color:var(--ir-link-color)}.vditor-sv__marker--title{color:var(--ir-title-color)}.vditor-sv__marker--bracket{color:var(--ir-bracket-color)}.vditor-sv__marker--paren{color:var(--ir-paren-color)}.vditor-sv__marker--info{color:var(--ir-heading-color)}.vditor-sv__marker--strong{font-weight:700}.material-right-panel{flex-shrink:0;width:0;min-width:0;height:100vh;transition:width .3s,min-width .3s;position:relative;overflow:hidden}.material-right-panel.resizing{transition:none}.material-right-panel .material-right-resize-border{cursor:col-resize;z-index:10;-webkit-user-select:none;user-select:none;width:4px;height:100%;position:absolute;top:0;left:0}.material-right-panel .material-right-resize-border:hover,.material-right-panel .material-right-resize-border:active{background:var(--color-sidebar-border-hover)}.material-right-panel .material-right-inner{background:var(--color-bg-primary);border-left:1px solid var(--color-border-primary);flex-direction:column;height:100%;display:flex}.material-right-panel .material-right-header{box-sizing:border-box;border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 16px;display:flex}.material-right-panel .material-right-title{color:var(--color-text-primary);font-size:13px;font-weight:600}.material-right-panel .material-right-close{cursor:pointer;width:24px;height:24px;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.material-right-panel .material-right-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.material-right-panel .material-right-body{flex:1;padding:0;overflow:hidden}.knowledge-graph{width:100%;height:100%;display:block}.graph-link{stroke:var(--color-border-secondary);stroke-width:1.2px;stroke-opacity:.6}.graph-circle{fill:var(--color-link);stroke:var(--color-bg-primary);stroke-width:2px;cursor:grab;transition:fill .15s}.graph-circle:hover{fill:var(--color-link-hover,var(--color-link));filter:brightness(1.2)}.graph-label{fill:var(--color-text-secondary);text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:11px}.graph-node:active .graph-circle{cursor:grabbing}.graph-status{height:100%;color:var(--color-text-hint);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.graph-status p{margin:0;font-size:13px}.upload-panel{z-index:1500;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:10px;flex-direction:column;width:360px;max-height:400px;display:flex;position:fixed;bottom:16px;right:16px;overflow:hidden;box-shadow:0 6px 24px #00000026}.upload-panel-header{border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.upload-panel-title{color:var(--color-text-primary);font-size:13px;font-weight:600}.upload-panel-actions{gap:4px;display:flex}.upload-panel-btn{cursor:pointer;width:24px;height:24px;color:var(--color-text-tertiary);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:all .15s;display:flex}.upload-panel-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.upload-panel-list{flex:1;padding:8px 0;overflow-y:auto}.upload-panel-list::-webkit-scrollbar{width:6px}.upload-panel-list::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.upload-item{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 14px;display:flex}.upload-item-info{justify-content:space-between;align-items:center;width:100%;min-width:0;display:flex}.upload-item-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.upload-item-status{color:var(--color-text-tertiary);flex-shrink:0;margin-left:8px;font-size:12px}.upload-item--done .upload-item-status{color:#52c41a}.upload-item--error .upload-item-status{color:#ff4d4f}.upload-item--cancelled .upload-item-status{color:var(--color-text-quaternary)}.upload-item-bar{background:var(--color-bg-tertiary);border-radius:2px;width:100%;height:3px;overflow:hidden}.upload-item-bar-fill{background:var(--color-link);border-radius:2px;height:100%;transition:width .2s}.upload-item--done .upload-item-bar-fill{background:#52c41a}.upload-item--error .upload-item-bar-fill{background:#ff4d4f}.upload-item-cancel{cursor:pointer;width:20px;height:20px;color:var(--color-text-quaternary);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.upload-item-cancel:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.upload-panel-mini{z-index:1500;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);cursor:pointer;color:var(--color-text-secondary);border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;transition:all .15s;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 16px #0000001f}.upload-panel-mini:hover{color:var(--color-text-primary);box-shadow:0 6px 20px #00000029}.upload-mini-text{white-space:nowrap}@keyframes upload-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.upload-spin-path{transform-origin:8px 8px;animation:1s linear infinite upload-spin}.login-page{background:var(--color-bg-tertiary);justify-content:center;align-items:center;width:100%;height:100vh;display:flex}.login-card{background:var(--color-bg-primary);width:100%;max-width:400px;box-shadow:0 4px 24px var(--color-shadow-subtle);border-radius:16px;flex-direction:column;align-items:center;padding:40px 36px;display:flex}.login-logo{margin-bottom:8px;font-size:40px}.login-title{color:var(--color-text-primary);margin-bottom:28px;font-size:22px;font-weight:700}.login-tabs{background:var(--color-bg-tertiary);border-radius:10px;width:100%;margin-bottom:24px;padding:4px;display:flex}.login-tabs button{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px 0;font-size:14px;font-weight:500;transition:background .2s,color .2s}.login-tabs button.active{background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:0 1px 4px var(--color-tab-active-shadow)}.login-tabs button:hover:not(.active){color:var(--color-text-secondary)}.login-form{flex-direction:column;gap:16px;width:100%;display:flex}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--color-text-secondary);font-size:13px;font-weight:500}.form-group input{border:1px solid var(--color-border-primary);color:var(--color-text-primary);background:var(--color-bg-primary);border-radius:8px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .2s}.form-group input::placeholder{color:var(--color-text-quaternary)}.form-group input:focus{border-color:var(--color-input-focus-border)}.login-error{color:var(--color-danger);text-align:center;margin:-4px 0;font-size:13px}.submit-btn{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px 0;font-size:15px;font-weight:500;transition:background .2s}.submit-btn:hover:not(:disabled){background:var(--color-btn-primary-bg-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.shared-chat{background:var(--color-bg-page);flex-direction:column;max-width:860px;height:100vh;margin:0 auto;display:flex}.shared-chat .shared-chat-loading,.shared-chat .shared-chat-error{height:100%;color:var(--color-text-tertiary);justify-content:center;align-items:center;font-size:16px;display:flex}.shared-chat .shared-chat-error{color:var(--color-danger)}.shared-chat .shared-chat-header{border-bottom:1px solid var(--color-border-primary);align-items:center;gap:10px;padding:20px 24px;display:flex}.shared-chat .shared-chat-header .shared-logo{width:32px;height:32px}.shared-chat .shared-chat-header .shared-title{color:var(--color-text-primary);flex:1;font-size:18px;font-weight:600}.shared-chat .shared-chat-header .go-chat-btn{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text);cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:4px;padding:8px 18px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.shared-chat .shared-chat-header .go-chat-btn:hover{background:var(--color-btn-primary-bg-hover)}.shared-chat .shared-chat-messages{flex-direction:column;flex:1;gap:4px;padding:32px 0 16px;display:flex;overflow-y:auto}.shared-chat .shared-chat-messages::-webkit-scrollbar{width:6px}.shared-chat .shared-chat-messages::-webkit-scrollbar-track{background:0 0}.shared-chat .shared-chat-messages::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}.shared-chat .shared-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.shared-chat .shared-chat-messages .message-wrapper{flex-direction:column;width:100%;max-width:800px;margin:0 auto;padding:2px 24px;display:flex}.shared-chat .shared-chat-messages .message-wrapper.user{align-items:flex-end}.shared-chat .shared-chat-messages .message-wrapper.assistant{align-items:flex-start}.shared-chat .shared-chat-messages .message-wrapper .message-bubble{word-break:break-word;max-width:70%;padding:12px 16px;font-size:15px;line-height:1.6}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.user{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);white-space:pre-wrap;border-radius:20px 20px 4px}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-primary);border-radius:20px 20px 20px 4px}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant p{margin:.4em 0}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant p:first-child{margin-top:0}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant p:last-child{margin-bottom:0}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h1,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h2,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h3,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h4,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h5,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h6{margin:.6em 0 .3em}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h1:first-child,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h2:first-child,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h3:first-child,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h4:first-child,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h5:first-child,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant h6:first-child{margin-top:0}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant ul,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant ol{margin:.4em 0;padding-left:1.5em}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant pre{background:var(--color-code-bg);color:var(--color-code-text);border-radius:8px;margin:.5em 0;font-size:15px;line-height:1.5;overflow-x:auto}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant code{font-family:SF Mono,Fira Code,Fira Mono,Menlo,monospace;font-size:1em}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant :not(pre)>code{background:var(--color-inline-code-bg);border-radius:4px;padding:2px 5px}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant blockquote{border-left:3px solid var(--color-border-secondary);color:var(--color-text-tertiary);margin:.5em 0;padding:.2em .8em}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant table{border-collapse:collapse;margin:.5em 0}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant table th,.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant table td{border:1px solid var(--color-border-secondary);padding:6px 12px}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant table th{background:var(--color-hover-bg)}.shared-chat .shared-chat-messages .message-wrapper .message-bubble.assistant a{color:var(--color-link);text-decoration:underline}.shared-chat .shared-chat-messages .message-wrapper .message-bubble .message-images{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.shared-chat .shared-chat-messages .message-wrapper .message-bubble .message-images .message-image{object-fit:cover;border-radius:8px;max-width:200px;max-height:200px}.shared-chat .shared-chat-footer{border-top:1px solid var(--color-border-primary);color:var(--color-text-quaternary);justify-content:center;padding:16px;font-size:13px;display:flex}
