pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.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}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .2s,color .2s}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--text-primary: #212529;--text-secondary: #6c757d;--border-color: #dee2e6;--accent-color: #0078d4;--accent-hover: #106ebe;--sidebar-width: 300px;--topbar-height: 48px;--breadcrumb-height: 40px}[data-theme=dark]{--bg-primary: #1e1e1e;--bg-secondary: #2d2d30;--bg-tertiary: #3e3e42;--text-primary: #ffffff;--text-secondary: #cccccc;--border-color: #3e3e42;--accent-color: #0078d4;--accent-hover: #1a86d9}.app{height:100vh;display:flex;flex-direction:column}.app-body{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column}.file-tree-container{flex:1;overflow-y:auto;padding:8px}.metadata-container{height:200px;border-top:1px solid var(--border-color);padding:12px;overflow-y:auto}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.breadcrumb-container{height:var(--breadcrumb-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;padding:0 16px}.file-preview-container{flex:1;overflow-y:auto;background-color:var(--bg-primary)}.btn{background:none;border:1px solid var(--border-color);color:var(--text-primary);padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.btn:hover{background-color:var(--bg-tertiary)}.btn-primary{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.btn-primary:hover{background-color:var(--accent-hover);border-color:var(--accent-hover)}.icon{width:16px;height:16px;display:inline-block;vertical-align:middle}.topbar{height:var(--topbar-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.topbar-left{display:flex;align-items:center}.app-title{font-size:16px;font-weight:600;color:var(--text-primary)}.topbar-right{display:flex;align-items:center;gap:8px}.theme-toggle{padding:8px;border-radius:4px}.dropdown{position:relative}.dropdown-toggle{padding:8px;border-radius:4px}.dropdown-menu{position:absolute;top:100%;right:0;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 8px #0000001a;min-width:120px;z-index:1000}.dropdown-item{display:block;width:100%;padding:8px 12px;background:none;border:none;color:var(--text-primary);text-align:left;cursor:pointer;font-size:14px}.dropdown-item:hover{background-color:var(--bg-tertiary)}.dropdown-item:first-child{border-radius:4px 4px 0 0}.dropdown-item:last-child{border-radius:0 0 4px 4px}.breadcrumb{display:flex;align-items:center;gap:4px;font-size:14px}.breadcrumb-item{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.breadcrumb-item:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.breadcrumb-item.active{color:var(--text-primary);font-weight:500;cursor:default}.breadcrumb-separator{width:16px;height:16px;color:var(--text-secondary)}.file-tree{height:100%;display:flex;flex-direction:column}.tree-header{padding:8px 0;border-bottom:1px solid var(--border-color);margin-bottom:8px}.tree-header h3{font-size:14px;font-weight:600;color:var(--text-primary)}.tree-content{flex:1;overflow-y:auto}.tree-node{margin-bottom:2px}.tree-item{display:flex;align-items:center;padding:4px 8px;cursor:pointer;border-radius:4px;transition:background-color .2s;font-size:14px}.tree-item:hover{background-color:var(--bg-tertiary)}.tree-item.selected{background-color:var(--accent-color);color:#fff}.tree-toggle{background:none;border:none;padding:2px;margin-right:4px;cursor:pointer;color:inherit;display:flex;align-items:center;justify-content:center}.tree-label{margin-left:6px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-children{margin-left:16px}.file-list{height:100%;display:flex;flex-direction:column}.file-list.loading,.file-list.empty{justify-content:center;align-items:center}.file-list-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.file-list-content{flex:1;overflow-y:auto}.file-preview{height:100%;display:flex;flex-direction:column}.file-preview.loading,.file-preview.empty{justify-content:center;align-items:center}.loading-spinner,.empty-message{color:var(--text-secondary);font-size:14px}.file-preview-header{padding:12px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.file-info{display:flex;align-items:center;gap:12px}.file-details{flex:1}.file-name{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.file-meta{font-size:12px;color:var(--text-secondary);margin-top:2px}.file-list-stats{font-size:12px;color:var(--text-secondary)}.file-preview-content{flex:1;overflow:auto}.file-table{width:100%;border-collapse:collapse}.file-table th{background-color:var(--bg-secondary);padding:8px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0}.file-table td{padding:8px 16px;font-size:14px;border-bottom:1px solid var(--border-color)}.file-row{cursor:pointer;transition:background-color .2s}.file-row:hover{background-color:var(--bg-secondary)}.file-row.selected{background-color:var(--accent-color);color:#fff}.file-name{display:flex;align-items:center;gap:8px}.file-name .icon{flex-shrink:0}.content-viewer{height:100%;padding:16px}.text-viewer{padding:0}.image-viewer{display:flex;justify-content:center;align-items:center;background-color:var(--bg-secondary)}.preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.video-viewer{display:flex;justify-content:center;align-items:center;background-color:var(--bg-secondary)}.preview-video{max-width:100%;max-height:100%;border-radius:4px}.unsupported-viewer{display:flex;justify-content:center;align-items:center}.unsupported-content{text-align:center;color:var(--text-secondary)}.unsupported-content .icon{width:48px;height:48px;margin-bottom:16px;opacity:.5}.unsupported-content h3{font-size:18px;margin-bottom:8px;color:var(--text-primary)}.unsupported-content p{font-size:14px;margin-bottom:16px}.download-link{color:var(--accent-color);text-decoration:none;font-weight:500}.download-link:hover{text-decoration:underline}.code-highlighter{height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary)}.code-header{padding:8px 16px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:12px;color:var(--text-secondary)}.language-label{font-weight:500}.code-content{flex:1;margin:0;padding:16px;overflow:auto;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;background-color:var(--bg-primary);color:var(--text-primary)}.code-content code{display:block;white-space:pre-wrap}.string{color:#22863a}[data-theme=dark] .string{color:#9ecbff}.number{color:#005cc5}[data-theme=dark] .number{color:#79b8ff}.comment{color:#6a737d;font-style:italic}[data-theme=dark] .comment{color:#8b949e}.keyword{color:#d73a49;font-weight:600}[data-theme=dark] .keyword{color:#ff7b72}.metadata-panel{height:100%;display:flex;flex-direction:column}.metadata-header{padding-bottom:8px;border-bottom:1px solid var(--border-color);margin-bottom:12px}.metadata-header h3{font-size:14px;font-weight:600;color:var(--text-primary)}.metadata-content{flex:1;overflow-y:auto}.no-selection{color:var(--text-secondary);font-size:12px;text-align:center;padding:20px}.metadata-details{display:flex;flex-direction:column;gap:8px}.metadata-item{display:flex;flex-direction:column;gap:2px}.metadata-item label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase}.metadata-item span{font-size:12px;color:var(--text-primary);word-break:break-all}.metadata-link{color:var(--accent-color);text-decoration:none;font-size:12px}.metadata-link:hover{text-decoration:underline}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-header h2{font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:20px;flex:1;overflow-y:auto}.upload-target{margin-bottom:20px}.upload-path{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.upload-area{border:2px dashed var(--border-color);border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s;background-color:var(--bg-secondary)}.upload-area:hover,.upload-area.dragging{border-color:var(--accent-color);background-color:var(--bg-tertiary)}.upload-icon{width:48px;height:48px;color:var(--text-secondary);margin-bottom:12px}.upload-text{color:var(--text-secondary)}.upload-text div:first-child{font-size:16px;margin-bottom:4px}.upload-text div:last-child{font-size:14px}.upload-progress{margin-top:20px}.upload-progress h3{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.progress-item{margin-bottom:12px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px}.filename{color:var(--text-primary);font-weight:500}.percentage{color:var(--text-secondary)}.progress-bar{height:4px;background-color:var(--bg-tertiary);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background-color:var(--accent-color);transition:width .3s ease}.modal-footer{padding:16px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:8px}.alert-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.alert-content{background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 12px #00000026;width:90%;max-width:400px;overflow:hidden}.alert-header{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary)}.alert-header .icon{color:#f59e0b}.alert-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.alert-body{padding:16px 20px}.alert-body p{margin:0;color:var(--text-primary);font-size:14px;line-height:1.5}.alert-footer{padding:12px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}html,body,#root{height:100%;margin:0;padding:0}
