*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#1e1e1e;--bg-secondary:#252526;--bg-tertiary:#2d2d2d;--bg-hover:#3c3c3c;--bg-selected:#094771;--text-primary:#ccc;--text-secondary:#9d9d9d;--text-muted:#6d6d6d;--border-color:#3c3c3c;--accent-color:#0078d4;--error-color:#f14c4c;--success-color:#4ec9b0;--header-height:48px;--column-projects-width:200px;--column-files-width:280px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,sans-serif;--font-mono:"Cascadia Code","Fira Code",Consolas,"Courier New",monospace}html,body{height:100%;font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-primary);font-size:14px;line-height:1.5}.app-container{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{height:var(--header-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:12px;padding:0 16px;display:flex}.app-title{color:var(--text-primary);font-size:16px;font-weight:600}.app-subtitle{color:var(--text-muted);font-size:12px}.three-column-layout{flex:1;display:flex;overflow:hidden}.column{border-right:1px solid var(--border-color);flex-direction:column;display:flex;overflow:hidden}.column:last-child{border-right:none}.column-projects{width:var(--column-projects-width);min-width:var(--column-projects-width);background-color:var(--bg-secondary)}.column-files{width:var(--column-files-width);min-width:var(--column-files-width);background-color:var(--bg-secondary)}.column-viewer{background-color:var(--bg-primary);flex:1;min-width:0}.panel-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:12px 16px;font-size:11px;font-weight:600}.project-list{flex-direction:column;height:100%;display:flex}.project-items{flex:1;list-style:none;overflow-y:auto}.project-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:13px;transition:background-color .1s;display:flex}.project-item:hover{background-color:var(--bg-hover)}.project-item.selected{background-color:var(--bg-selected)}.folder-icon{flex-shrink:0}.project-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-tree{flex-direction:column;height:100%;display:flex}.tree-container{flex:1;padding:4px 0;overflow-y:auto}.tree-node{flex-direction:column;display:flex}.tree-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:13px;transition:background-color .1s;display:flex}.tree-item:hover{background-color:var(--bg-hover)}.tree-item.selected{background-color:var(--bg-selected)}.expand-icon{width:16px;color:var(--text-muted);flex-shrink:0;font-size:10px}.node-icon{flex-shrink:0;font-size:14px}.node-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.loading-spinner{color:var(--text-muted);margin-left:auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tree-children{flex-direction:column;display:flex}.code-viewer{flex-direction:column;height:100%;display:flex}.viewer-header{background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.viewer-header .panel-header{text-transform:none;letter-spacing:normal;color:var(--text-primary);background:0 0;border:none;padding:0;font-size:13px}.file-info{flex-direction:column;gap:2px;display:flex;overflow:hidden}.file-path{color:var(--text-muted);font-size:11px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.download-button{color:var(--text-primary);background-color:var(--bg-hover);border:1px solid var(--border-color);cursor:pointer;border-radius:4px;flex-shrink:0;padding:6px 12px;font-size:12px;transition:background-color .1s}.download-button:hover{background-color:var(--accent-color)}.viewer-content{flex:1;overflow:auto}.viewer-content pre{min-height:100%;margin:0!important}.viewer-content code{font-family:var(--font-mono)!important}.unsupported-message{text-align:center;height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.unsupported-icon{font-size:48px}.unsupported-message code{font-family:var(--font-mono);background-color:var(--bg-tertiary);border-radius:4px;padding:2px 6px}.unsupported-message .hint{color:var(--text-muted);font-size:12px}.download-button-large{color:#fff;background-color:var(--accent-color);cursor:pointer;border:none;border-radius:4px;margin-top:8px;padding:10px 20px;font-size:14px;transition:opacity .1s}.download-button-large:hover{opacity:.9}.loading-state,.empty-state,.error-state{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;padding:24px 16px;font-size:13px;display:flex}.error-state{color:var(--error-color)}.error-icon{font-size:16px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:900px){:root{--column-projects-width:160px;--column-files-width:220px}}@media (max-width:600px){.three-column-layout{flex-direction:column}.column{border-right:none;border-bottom:1px solid var(--border-color);width:100%!important;min-width:100%!important}.column-projects,.column-files{max-height:200px}.column-viewer{flex:1}}
