.code-editor{display:-moz-box;display:flex;flex-direction:column;height:100%;background:#1e1e1e;color:#d4d4d4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.code-editor.loading{display:-moz-box;display:flex;align-items:center;justify-content:center}.code-editor.loading .loading-spinner{font-size:14px;color:#858585}.code-editor .code-editor-header{display:-moz-box;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;background:#252526;border-bottom:1px solid #333;font-size:13px}.code-editor .code-editor-header .file-info{display:-moz-box;display:flex;align-items:center;flex:1;min-width:0}.code-editor .code-editor-header .file-info .file-name{font-weight:500;margin-right:8px;color:#ccc}.code-editor .code-editor-header .file-info .file-path{color:var(--col_text01);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.code-editor .code-editor-header .editor-actions{display:-moz-box;display:flex;align-items:center;gap:12px;flex-shrink:0}.code-editor .code-editor-header .editor-actions .cache-indicator{display:-moz-box;display:flex;align-items:center;color:#4ade80;font-size:11px}.code-editor .code-editor-header .editor-actions .cache-indicator .cache-icon{margin-right:4px;font-size:12px;line-height:1}.code-editor .code-editor-header .editor-actions .changes-indicator{display:-moz-box;display:flex;align-items:center;color:#f1c40f;font-size:11px}.code-editor .code-editor-header .editor-actions .changes-indicator .dot{margin-right:4px;font-size:16px;line-height:1}.code-editor .code-editor-header .editor-actions .refresh-button{padding:4px 6px;background:transparent;color:#ccc;border:1px solid #555;border-radius:3px;font-size:12px;cursor:pointer;transition:all .15s ease;display:-moz-box;display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.code-editor .code-editor-header .editor-actions .refresh-button .refresh-icon{font-size:14px;line-height:1;transition:transform .2s ease}.code-editor .code-editor-header .editor-actions .refresh-button:hover:not(:disabled){background:#444;border-color:#777;color:#fff}.code-editor .code-editor-header .editor-actions .refresh-button:hover:not(:disabled) .refresh-icon{transform:rotate(180deg)}.code-editor .code-editor-header .editor-actions .refresh-button:disabled{opacity:.4;cursor:not-allowed}.code-editor .code-editor-header .editor-actions .refresh-button:disabled .refresh-icon{transform:none}.code-editor .code-editor-header .editor-actions .save-button{padding:4px 12px;background:#0e639c;color:#fff;border:none;border-radius:3px;font-size:11px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.code-editor .code-editor-header .editor-actions .save-button:hover:not(:disabled){background:#17b}.code-editor .code-editor-header .editor-actions .save-button:disabled{opacity:.6;cursor:not-allowed}.code-editor .code-editor-header .editor-actions .readonly-indicator{padding:4px 8px;background:#444;color:#ccc;border-radius:3px;font-size:11px;font-weight:500}.code-editor .code-editor-header .editor-actions .binary-indicator{padding:4px 8px;background:#e67e22;color:#fff;border-radius:3px;font-size:11px;font-weight:500}.code-editor .code-editor-container{flex:1;position:relative}.code-editor .code-editor-container .editor-loading{display:-moz-box;display:flex;align-items:center;justify-content:center;height:100%;font-size:14px;color:#858585}.code-editor .code-editor-binary,.code-editor .code-editor-error{display:-moz-box;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:32px;text-align:center}.code-editor .code-editor-binary .binary-icon,.code-editor .code-editor-binary .error-icon,.code-editor .code-editor-error .binary-icon,.code-editor .code-editor-error .error-icon{font-size:48px;margin-bottom:16px;opacity:.6}.code-editor .code-editor-binary .binary-message,.code-editor .code-editor-binary .error-message,.code-editor .code-editor-error .binary-message,.code-editor .code-editor-error .error-message{max-width:400px}.code-editor .code-editor-binary .binary-message h3,.code-editor .code-editor-binary .error-message h3,.code-editor .code-editor-error .binary-message h3,.code-editor .code-editor-error .error-message h3{margin:0 0 8px;font-size:16px;font-weight:600;color:#ccc}.code-editor .code-editor-binary .binary-message p,.code-editor .code-editor-binary .error-message p,.code-editor .code-editor-error .binary-message p,.code-editor .code-editor-error .error-message p{margin:0 0 16px;font-size:14px;color:#858585;line-height:1.5}.code-editor .code-editor-binary .binary-message .file-info-details,.code-editor .code-editor-binary .error-message .file-info-details,.code-editor .code-editor-error .binary-message .file-info-details,.code-editor .code-editor-error .error-message .file-info-details{background:#2d2d30;border-radius:4px;padding:12px;margin-top:16px;text-align:left;border:1px solid #333}.code-editor .code-editor-binary .binary-message .file-info-details p,.code-editor .code-editor-binary .error-message .file-info-details p,.code-editor .code-editor-error .binary-message .file-info-details p,.code-editor .code-editor-error .error-message .file-info-details p{margin:4px 0;font-size:12px;color:#ccc}.code-editor .code-editor-binary .binary-message .file-info-details p strong,.code-editor .code-editor-binary .error-message .file-info-details p strong,.code-editor .code-editor-error .binary-message .file-info-details p strong,.code-editor .code-editor-error .error-message .file-info-details p strong{color:#fff}@media(prefers-color-scheme:light){.code-editor{background:#fff;color:#333}.code-editor .code-editor-header{background:#f8f8f8;border-bottom-color:#e0e0e0}.code-editor .code-editor-header .file-name{color:#333}.code-editor .code-editor-header .file-path{color:var(--col_text01)}.code-editor .code-editor-header .cache-indicator{color:#16a34a}.code-editor .code-editor-header .changes-indicator{color:#e67e22}.code-editor .code-editor-header .refresh-button{color:#666;border-color:#ccc}.code-editor .code-editor-header .refresh-button:hover:not(:disabled){background:#f0f0f0;border-color:#999;color:#333}.code-editor .code-editor-header .save-button{background:#06c}.code-editor .code-editor-header .save-button:hover:not(:disabled){background:#0052a3}.code-editor .code-editor-header .readonly-indicator{background:#e0e0e0;color:#666}.code-editor .code-editor-header .binary-indicator{background:#d68910}.code-editor .editor-loading,.code-editor.loading .loading-spinner{color:#666}.code-editor .code-editor-binary .binary-message h3,.code-editor .code-editor-binary .error-message h3,.code-editor .code-editor-error .binary-message h3,.code-editor .code-editor-error .error-message h3{color:#333}.code-editor .code-editor-binary .binary-message p,.code-editor .code-editor-binary .error-message p,.code-editor .code-editor-error .binary-message p,.code-editor .code-editor-error .error-message p{color:#666}.code-editor .code-editor-binary .binary-message .file-info-details,.code-editor .code-editor-binary .error-message .file-info-details,.code-editor .code-editor-error .binary-message .file-info-details,.code-editor .code-editor-error .error-message .file-info-details{background:#f8f8f8;border-color:#e0e0e0}.code-editor .code-editor-binary .binary-message .file-info-details p,.code-editor .code-editor-binary .error-message .file-info-details p,.code-editor .code-editor-error .binary-message .file-info-details p,.code-editor .code-editor-error .error-message .file-info-details p{color:#333}.code-editor .code-editor-binary .binary-message .file-info-details p strong,.code-editor .code-editor-binary .error-message .file-info-details p strong,.code-editor .code-editor-error .binary-message .file-info-details p strong,.code-editor .code-editor-error .error-message .file-info-details p strong{color:#000}}.monaco-editor{outline:none!important}.monaco-editor .inputarea.ime-input,.monaco-editor .margin,.monaco-editor .monaco-editor-background{background-color:transparent!important}.code-editor ::-webkit-scrollbar{width:8px;height:8px}.code-editor ::-webkit-scrollbar-track{background:#2d2d30}.code-editor ::-webkit-scrollbar-thumb{background:#424242;border-radius:4px}.code-editor ::-webkit-scrollbar-thumb:hover{background:#4f4f4f}.code-editor ::-webkit-scrollbar-corner{background:#2d2d30}.code-editor .editor-actions .download-button{background:transparent;border:none;border-radius:4px;padding:6px;cursor:pointer;transition:background-color .2s;display:-moz-box;display:flex;align-items:center;justify-content:center}.code-editor .editor-actions .download-button:hover{background:hsla(0,0%,100%,.1)}.code-editor .editor-actions .download-button svg{display:block}.file-preview-editor .flex-1.relative{overflow:hidden}.file-preview-editor .flex-1.relative>div[class*=absolute]{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%}.file-preview-editor .code-editor-header{display:-moz-box;display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 16px;border-bottom:.5px solid var(--col_line00);font-size:13px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.file-preview-editor .code-editor-header .file-info{display:-moz-box;display:flex;align-items:center;flex:1;min-width:0}.file-preview-editor .code-editor-header .file-info .file-name{font-weight:500;margin-right:8px;color:#ccc}.file-preview-editor .code-editor-header .file-info .file-path{color:var(--col_text01);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-editor .code-editor-header .editor-actions{display:-moz-box;display:flex;align-items:center;gap:12px;flex-shrink:0}.file-preview-editor .code-editor-header .editor-actions .readonly-indicator{padding:4px 8px;background:#444;color:#ccc;border-radius:3px;font-size:11px;font-weight:500}@media(prefers-color-scheme:light){.file-preview-editor .code-editor-header{border-bottom-color:var(--col_line00);color:var(--col_text00)}.file-preview-editor .code-editor-header .file-info .file-name{color:var(--col_text00)}.file-preview-editor .code-editor-header .file-info .file-path{color:var(--col_text01)}.file-preview-editor .code-editor-header .editor-actions .readonly-indicator{background:#e0e0e0;color:#666}}.file-tabs{background-color:#fff;border-bottom:1px solid #eaeaea;width:100%;overflow:hidden}.file-tabs .file-tabs-container{display:-moz-box;display:flex;overflow-x:auto;overflow-y:hidden;white-space:nowrap;position:relative;width:100%;max-width:100%;scrollbar-width:thin;scrollbar-color:transparent transparent}.file-tabs .file-tabs-container::-webkit-scrollbar{height:2px}.file-tabs .file-tabs-container::-webkit-scrollbar-track{background:transparent}.file-tabs .file-tabs-container::-webkit-scrollbar-thumb{background-color:transparent;border-radius:2px;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.file-tabs .file-tabs-container:hover{scrollbar-color:hsla(0,0%,47%,.3) transparent}.file-tabs .file-tabs-container:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,47%,.3)}.file-tabs .file-tabs-container:hover::-webkit-scrollbar-thumb:hover{background-color:hsla(0,0%,47%,.6)}[data-theme=dark] .file-tabs .file-tabs-container:hover{scrollbar-color:hsla(0,0%,75%,.3) transparent}[data-theme=dark] .file-tabs .file-tabs-container:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,75%,.3)}[data-theme=dark] .file-tabs .file-tabs-container:hover::-webkit-scrollbar-thumb:hover{background-color:hsla(0,0%,75%,.6)}.file-tabs .file-tabs-container.needs-scroll{scrollbar-color:hsla(0,0%,47%,.4) transparent}.file-tabs .file-tabs-container.needs-scroll::-webkit-scrollbar-thumb{background-color:hsla(0,0%,47%,.4)}.file-tabs .file-tabs-container.needs-scroll:hover{scrollbar-color:hsla(0,0%,47%,.6) transparent}.file-tabs .file-tabs-container.needs-scroll:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,47%,.6)}[data-theme=dark] .file-tabs .file-tabs-container.needs-scroll{scrollbar-color:hsla(0,0%,75%,.4) transparent}[data-theme=dark] .file-tabs .file-tabs-container.needs-scroll::-webkit-scrollbar-thumb{background-color:hsla(0,0%,75%,.4)}[data-theme=dark] .file-tabs .file-tabs-container.needs-scroll:hover{scrollbar-color:hsla(0,0%,75%,.6) transparent}[data-theme=dark] .file-tabs .file-tabs-container.needs-scroll:hover::-webkit-scrollbar-thumb{background-color:hsla(0,0%,75%,.6)}.file-tabs .file-tabs-container.tabs-compressed-low .file-tab{padding-left:10px;padding-right:10px}.file-tabs .file-tabs-container.tabs-compressed-medium .file-tab{padding-left:8px;padding-right:8px}.file-tabs .file-tabs-container.tabs-compressed-medium .file-tab .file-tab-icon{margin-right:4px}.file-tabs .file-tabs-container.tabs-compressed-high .file-tab{padding-left:6px;padding-right:6px;font-size:12px}.file-tabs .file-tabs-container.tabs-compressed-high .file-tab .file-tab-icon{margin-right:3px}.file-tabs .file-tabs-container.tabs-compressed-high .file-tab .file-tab-icon .file-icon-svg{width:12px;height:12px}.file-tabs .file-tabs-container.tabs-compressed-max .file-tab{padding-left:6px;padding-right:6px;font-size:12px}.file-tabs .file-tabs-container.tabs-compressed-max .file-tab .file-tab-icon{margin-right:3px}.file-tabs .file-tabs-container.tabs-compressed-max .file-tab .file-tab-icon .file-icon-svg{width:11px;height:11px}.file-tabs .file-tab{display:-moz-box;display:flex;align-items:center;padding:8px 12px;background-color:transparent;border-right:1px solid #e5e5e5;cursor:pointer;position:relative;font-size:12px;color:#6c6c6c;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}[data-theme=dark] .file-tabs .file-tab{border-right-color:#3c3c3c;color:#ccc}.file-tabs .file-tab.active{color:#4a4a4f}.file-tabs .file-tab.active .file-tab-close{opacity:1}.file-tabs .file-tab .file-tab-icon{margin-right:6px;flex-shrink:0;display:-moz-box;display:flex;align-items:center;opacity:.8}.file-tabs .file-tab .file-tab-icon .file-icon-svg{width:14px;height:14px;color:inherit}.file-tabs .file-tab .file-tab-icon .file-icon-svg path{fill:currentColor;opacity:.8}.active .file-tabs .file-tab .file-tab-icon .file-icon-svg path{opacity:1}.file-tabs .file-tab .file-tab-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:400}.file-tabs .file-tab.active .file-tab-name{font-weight:500}.file-tabs .file-tab .file-tab-close{display:-moz-box;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;background:none;border:none;cursor:pointer;border-radius:2px;flex-shrink:0}.file-tabs .file-tab .file-tab-close:hover{opacity:1!important;color:#666}[data-theme=dark] .file-tabs .file-tab .file-tab-close:hover{color:#fff}.file-tabs .file-tab .file-tab-close:active{transform:scale(.9)}.file-tabs .file-tab .file-tab-close svg{width:10px;height:10px}.file-tabs .file-tab .file-tab-close svg path{stroke:currentColor;stroke-width:1.5}.file-tabs .file-tab.compressed-tab .file-tab-close{width:0;margin-left:0;overflow:hidden;transition:all .15s ease}.file-tabs .file-tab.compressed-tab:hover .file-tab-close{width:14px;margin-left:2px;opacity:.7}.file-tabs .file-tab.very-compressed .file-tab-close{display:none}.file-tabs .file-tab.very-compressed:hover .file-tab-close{display:-moz-box;display:flex;position:absolute;right:1px;top:50%;transform:translateY(-50%);width:12px;height:12px;opacity:.8}.file-tabs .file-tab.very-compressed:hover .file-tab-close svg{width:8px;height:8px}.file-tabs .file-tab.very-compressed:hover .file-tab-name{padding-right:14px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin-transform{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.file-tree{display:-moz-box;display:flex;flex-direction:column;height:100%;background:#fff;border-right:1px solid #eaeaea;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.file-tree .file-tree-header{padding:4px 16px}.file-tree .file-tree-header h3{display:-moz-box;display:flex;align-items:center;font-size:14px;font-weight:500;color:#222;height:32px;pad:4px}.file-tree .file-tree-header h3.flex.justify-between.items-center{justify-content:space-between;align-items:center}.file-tree .file-tree-header h3.flex.justify-between.items-center span{flex:1}.file-tree .file-tree-header .search-container .search-input-wrapper{position:relative;display:-moz-box;display:flex;align-items:center}.file-tree .file-tree-header .search-container .search-input-wrapper .search-input{width:100%;height:33px;box-sizing:border-box;padding:8px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:400;background:#fff;outline:none;transition:border-color .15s ease;margin:10px 0}.file-tree .file-tree-header .search-container .search-input-wrapper .search-input:focus{border-color:#1976d2}.file-tree .file-tree-header .search-container .search-input-wrapper .search-input:disabled{background:#f9f9f9;color:#999;cursor:not-allowed}.file-tree .file-tree-header .search-container .search-input-wrapper .search-input::-moz-placeholder{color:#999}.file-tree .file-tree-header .search-container .search-input-wrapper .search-input::placeholder{color:#999}.file-tree .file-tree-header .search-container .search-input-wrapper .search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#787979}.file-tree .file-tree-header .search-container .search-input-wrapper .search-clear-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:none;background:none;cursor:pointer;display:-moz-box;display:flex;align-items:center;justify-content:center;color:#999;transition:color .15s ease}.file-tree .file-tree-header .search-container .search-input-wrapper .search-clear-button:hover{color:#666}.file-tree .file-tree-header .search-container .search-input-wrapper .search-clear-button svg{width:12px;height:12px}.file-tree .file-tree-header .search-container .search-input-wrapper .search-loading{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:-moz-box;display:flex;align-items:center;justify-content:center}.file-tree .file-tree-header .search-container .search-input-wrapper .search-loading .search-spinner{width:12px;height:12px;animation:spin 1s linear infinite;color:#1976d2}.file-tree .file-tree-content{flex:1;overflow-y:auto;overflow-x:hidden}.file-tree .file-tree-node{-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-tree .file-tree-item{display:-moz-box;display:flex;align-items:center;height:32px;cursor:pointer;transition:background-color .15s ease;position:relative;border-radius:12px;overflow:hidden}.file-tree .file-tree-item:hover{background-color:var(--col_bg01)}.file-tree .file-tree-item:hover .download-button{opacity:1!important;visibility:visible!important;display:-moz-box!important;display:flex!important}.file-tree .file-tree-item:hover .file-size{display:none!important}.file-tree .file-tree-item.selected{border-radius:8px;background:var(--col_bg01)}.file-tree .file-tree-item.loading{cursor:default}.file-tree .folder-icon{display:-moz-box;display:flex;align-items:center;justify-content:center;min-width:16px;min-height:16px;margin-right:4px;color:#666;position:relative}.file-tree .folder-icon svg{width:12px;height:12px;transition:transform .15s ease;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);flex-shrink:0}.file-tree .folder-icon svg.loading-spinner{animation:spin-transform 1s linear infinite;opacity:.8;width:12px;height:12px}.file-tree .folder-icon svg.loading-spinner circle{stroke-opacity:.6}.file-tree .folder-icon.expanded .arrow{transform:translate(-50%,-50%) rotate(90deg)}.file-tree .folder-icon.loading .arrow{opacity:0}.file-tree .file-icon{display:-moz-box;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:4px}.file-tree .file-icon.folder{color:#ffa726}.file-tree .file-icon.file{color:#66bb6a}.file-tree .file-name{flex:1;font-size:14px;color:#222;white-space:nowrap;overflow:hidden}.file-tree .file-size{font-size:11px;color:#999;margin-left:8px;margin-right:8px}.file-tree .download-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:none;border-radius:4px;cursor:pointer;align-items:center;justify-content:center;color:var(--col_text01);transition:all .15s ease;z-index:10}.file-tree .download-button:hover{background:rgba(0,0,0,.04);transform:translateY(-50%) scale(1.05)}.file-tree .download-button:active{transform:translateY(-50%) scale(.95)}.file-tree .download-button.downloading{opacity:1;visibility:visible;background:var(--Color_9);color:var(--Color_4);cursor:default}.file-tree .download-button.downloading .download-spinner{width:12px;height:12px;transform:translate(-50%,-50%);animation:spin 1s linear infinite}.file-tree .empty-message,.file-tree .search-loading-message{display:-moz-box;display:flex;align-items:center;justify-content:center;height:100px;font-size:14px;color:#999}.file-tree .search-loading-message{font-style:italic}