@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&display=swap";:root{--bg: #282828;--fg: #ebdbb2;--bg2: #3c3836;--fg2: #a89984;--accent: #fabd2f;--accent2: #fe8019;--border: #665c54;--selection: #504945;--comment: #928374;--keyword: #fb4934;--string: #b8bb26;--function: #fabd2f;--variable: #83a598;--error: #fb4934;--warning: #fe8019}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:JetBrains Mono,Fira Code,Courier New,monospace;background:var(--bg);color:var(--fg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.gutter{background-color:var(--border);background-repeat:no-repeat;background-position:50%}.gutter.gutter-horizontal{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==);cursor:col-resize}.gutter.gutter-vertical{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=);cursor:row-resize}::selection{background:var(--selection);color:var(--fg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--fg2)}*:focus{outline:2px solid var(--accent);outline-offset:2px}button:focus,input:focus{outline:2px solid var(--accent);outline-offset:2px}.top-bar{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 12px;background:var(--bg2);border-bottom:1px solid var(--border);font-size:13px;-webkit-user-select:none;user-select:none}.top-bar-left,.top-bar-center,.top-bar-right{display:flex;align-items:center;gap:8px}.top-bar-left{flex:1}.top-bar-center{flex:1;justify-content:center}.top-bar-right{flex:1;justify-content:flex-end}.icon-button{background:transparent;border:none;color:var(--fg);cursor:pointer;padding:4px 8px;font-size:16px;border-radius:3px;transition:background .2s}.icon-button:hover{background:var(--selection)}.current-path{color:var(--fg2);font-family:JetBrains Mono,Fira Code,monospace}.app-title{color:var(--accent);font-weight:600;font-family:JetBrains Mono,Fira Code,monospace}.window-control{background:transparent;border:none;color:var(--fg2);cursor:pointer;padding:4px 8px;font-size:14px;border-radius:3px;transition:all .2s}.window-control:hover{background:var(--accent);color:var(--bg)}@media(max-width:768px){.top-bar{height:28px;padding:0 8px;font-size:12px}.top-bar-left,.top-bar-center,.top-bar-right{gap:6px}.icon-button{padding:3px 6px;font-size:14px}.current-path{font-size:11px}.app-title{font-size:12px}}@media(max-width:480px){.top-bar{height:24px;padding:0 6px;font-size:11px}.top-bar-left,.top-bar-center,.top-bar-right{gap:4px}.icon-button{padding:2px 4px;font-size:13px}.current-path{display:none}.window-control{padding:3px 6px;font-size:12px}}.status-bar{display:flex;align-items:center;justify-content:space-between;height:28px;padding:0 12px;background:var(--bg2);border-top:1px solid var(--border);font-size:12px;font-family:JetBrains Mono,Fira Code,monospace;-webkit-user-select:none;user-select:none}.status-left,.status-right{display:flex;align-items:center;gap:12px}.mode{padding:2px 12px;font-weight:600;border-radius:2px}.mode-normal{background:var(--accent);color:var(--bg)}.mode-insert{background:var(--string);color:var(--bg)}.mode-command{background:var(--keyword);color:var(--bg)}.status-item{color:var(--fg2);padding:2px 8px}.status-item.clickable{background:transparent;border:none;color:var(--accent);cursor:pointer;border-radius:2px;transition:all .2s;font-family:inherit;font-size:inherit}.status-item.clickable:hover{background:var(--selection);color:var(--accent2)}@media(max-width:768px){.status-bar{height:24px;padding:0 8px;font-size:11px}.status-left,.status-right{gap:8px}.mode{padding:2px 8px;font-size:11px}.status-item{padding:2px 6px;font-size:11px}}@media(max-width:480px){.status-bar{height:20px;padding:0 6px;font-size:10px}.status-left,.status-right{gap:6px}.mode{padding:1px 6px;font-size:10px}.status-item{padding:1px 4px;font-size:10px}.status-right .status-item:not(.clickable){display:none}}.file-explorer{display:flex;flex-direction:column;height:100%;background:var(--bg)}.explorer-header{padding:8px 12px;background:var(--bg2);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--fg2);letter-spacing:.5px;font-family:JetBrains Mono,Fira Code,monospace}.explorer-content{flex:1;overflow-y:auto;overflow-x:hidden}.file-tree-item{-webkit-user-select:none;user-select:none}.file-item{display:flex;align-items:center;gap:6px;padding:4px 8px;cursor:pointer;transition:background .15s;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;white-space:nowrap}.file-item:hover{background:var(--selection)}.file-item.selected{background:var(--accent);color:var(--bg)}.folder-icon{font-size:10px;width:12px;color:var(--fg2)}.file-icon{font-size:14px}.file-icon.folder{color:var(--accent)}.file-icon.file{color:var(--fg)}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis}.explorer-content::-webkit-scrollbar{width:8px}.explorer-content::-webkit-scrollbar-track{background:var(--bg)}.explorer-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.explorer-content::-webkit-scrollbar-thumb:hover{background:var(--fg2)}@media(max-width:768px){.explorer-header{padding:6px 10px;font-size:10px}.file-item{padding:4px 6px;font-size:12px}.folder-icon{font-size:9px;width:10px}.file-icon{font-size:13px}.explorer-content::-webkit-scrollbar{width:6px}}@media(max-width:480px){.explorer-header{padding:4px 8px;font-size:9px}.file-item{padding:3px 5px;font-size:11px}.folder-icon{font-size:8px;width:9px}.file-icon{font-size:12px}.explorer-content::-webkit-scrollbar{width:5px}}.error-boundary-fallback{display:flex;align-items:center;justify-content:center;min-height:300px;padding:2rem;background:var(--bg);color:var(--fg)}.error-boundary-content{max-width:600px;text-align:center}.error-boundary-content h2{color:var(--red);margin-bottom:1rem;font-size:1.5rem}.error-message{color:var(--fg);margin-bottom:1.5rem;font-family:monospace;background:var(--bg-dark);padding:1rem;border-radius:4px;border:1px solid var(--border)}.error-details{margin:1.5rem 0;text-align:left}.error-details summary{cursor:pointer;color:var(--yellow);margin-bottom:.5rem;-webkit-user-select:none;user-select:none}.error-details summary:hover{color:var(--orange)}.error-details pre{background:var(--bg-dark);padding:1rem;border-radius:4px;overflow:auto;max-height:300px;font-size:.85rem;border:1px solid var(--border)}.error-reset-button{background:var(--accent);color:var(--bg);border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:600;transition:opacity .2s}.error-reset-button:hover{opacity:.9}.error-reset-button:active{opacity:.8}.content-panel{display:flex;flex-direction:column;height:100%;background:var(--bg)}.content-header{padding:8px 16px;background:var(--bg2);border-bottom:1px solid var(--border);font-size:11px;font-weight:600;color:var(--accent);letter-spacing:.5px;font-family:JetBrains Mono,Fira Code,monospace}.content-body{flex:1;overflow-y:auto;padding:16px;font-family:JetBrains Mono,Fira Code,monospace;line-height:1.6}.content-lines{display:flex;flex-direction:column}.line{display:flex;min-height:20px}.line-number{color:var(--comment);width:50px;text-align:right;padding-right:16px;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:13px}.line-content{flex:1;font-size:14px;color:var(--fg)}.line-content h1{color:var(--accent);font-size:24px;font-weight:700;margin:0;line-height:1.4}.line-content h2{color:var(--accent2);font-size:20px;font-weight:600;margin:0;line-height:1.4}.line-content h3{color:var(--function);font-size:16px;font-weight:600;margin:0;line-height:1.4}.line-content h4{color:var(--variable);font-size:14px;font-weight:600;margin:0;line-height:1.4}.line-content p{margin:0;color:var(--fg)}.line-content a{color:var(--fg);text-decoration:none;border-bottom:1px solid transparent;transition:all .2s}.line-content a:hover{color:var(--accent);border-bottom-color:var(--accent)}.line-content ul,.line-content ol{margin:0;padding-left:1.5em;color:var(--fg)}.line-content li{margin:0;color:var(--fg)}.line-content code{background:var(--bg2);color:var(--string);padding:2px 6px;border-radius:3px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.line-content pre{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:12px;overflow-x:auto;margin:0}.line-content pre code{background:transparent;padding:0;border-radius:0}.line-content blockquote{border-left:4px solid var(--accent);padding-left:16px;margin:0;color:var(--fg2);font-style:italic}.line-content strong{color:var(--keyword);font-weight:700}.line-content em{color:var(--variable);font-style:italic}.line-content hr{border:none;border-top:1px solid var(--border);margin:0}.line-content table{border-collapse:collapse;width:100%;margin:0}.line-content th,.line-content td{border:1px solid var(--border);padding:8px;text-align:left}.line-content th{background:var(--bg2);color:var(--accent);font-weight:600}.line-content td{color:var(--fg)}.line-content img{max-width:100%;height:auto;border-radius:4px}.md-h1{color:var(--accent);font-size:24px;font-weight:700;margin:8px 0}.md-h2{color:var(--accent2);font-size:20px;font-weight:600;margin:6px 0}.md-h3{color:var(--function);font-size:16px;font-weight:600;margin:4px 0}.md-list{color:var(--fg)}code.json{font-family:inherit;white-space:pre;background:transparent!important;padding:0!important;border-radius:0!important;color:var(--fg)}.json-key{color:var(--keyword)}.json-value{color:var(--string)}.project-content{max-width:900px}.project-header{margin-bottom:2rem}.project-header h1{color:var(--accent);font-size:28px;margin:0 0 1rem}.project-links{display:flex;gap:1rem;margin-top:1rem}.project-links a{color:var(--accent2);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--accent2);border-radius:4px;transition:all .2s;font-size:13px}.project-links a:hover{background:var(--accent2);color:var(--bg)}.project-section{margin-bottom:2rem}.project-section h2{color:var(--function);font-size:18px;margin:0 0 1rem}.project-section p{color:var(--fg);line-height:1.8;margin:0}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem}.tech-badge{background:var(--bg2);color:var(--accent);padding:.4rem .8rem;border-radius:3px;font-size:12px;border:1px solid var(--border)}.code-snippet{background:var(--bg2);border:1px solid var(--border);border-radius:4px;padding:1rem;overflow-x:auto;margin:0}.code-snippet code{color:var(--fg);font-family:inherit;font-size:13px;line-height:1.5}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--comment);font-size:16px}.error{color:var(--error);padding:1rem}.content-body::-webkit-scrollbar{width:10px}.content-body::-webkit-scrollbar-track{background:var(--bg)}.content-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.content-body::-webkit-scrollbar-thumb:hover{background:var(--fg2)}.pdf-viewer{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;gap:1rem;position:relative}.pdf-download-button{position:absolute;top:1rem;right:1rem;padding:.5rem 1rem;background:var(--accent);color:var(--bg);border:none;border-radius:4px;cursor:pointer;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;font-weight:600;transition:all .2s;z-index:10;box-shadow:0 2px 4px #0003}.pdf-download-button:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.pdf-viewer .react-pdf__Document{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.pdf-viewer .react-pdf__Page{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%}.pdf-viewer .react-pdf__Page__canvas{max-width:100%!important;max-height:calc(100vh - 150px)!important;width:auto!important;height:auto!important;object-fit:contain}@media(max-width:768px){.content-header{padding:6px 12px;font-size:10px}.content-body{padding:12px;font-size:13px}.line-number{width:40px;padding-right:12px;font-size:12px}.line-content{font-size:13px}.line-content h1{font-size:20px}.line-content h2{font-size:18px}.line-content h3{font-size:15px}.line-content h4{font-size:13px}.project-header h1{font-size:22px}.project-section h2{font-size:16px}.project-links{flex-direction:column;gap:.5rem}.project-links a{text-align:center;font-size:12px}.tech-stack{gap:.4rem}.tech-badge{font-size:11px;padding:.3rem .6rem}.pdf-download-button{font-size:11px;padding:.4rem .8rem}.pdf-viewer .react-pdf__Page__canvas{max-height:calc(100vh - 120px)!important}}@media(max-width:480px){.content-header{padding:4px 8px;font-size:9px}.content-body{padding:8px;font-size:12px}.line-number{width:35px;padding-right:8px;font-size:11px}.line-content{font-size:12px}.line-content h1{font-size:18px}.line-content h2{font-size:16px}.line-content h3{font-size:14px}.line-content h4{font-size:12px}.line-content pre{padding:8px;font-size:11px}.line-content code{font-size:11px;padding:1px 4px}.project-header h1{font-size:20px}.project-section h2{font-size:15px}.project-links a{font-size:11px;padding:.4rem .8rem}.tech-badge{font-size:10px;padding:.2rem .5rem}.pdf-download-button{top:.5rem;right:.5rem;font-size:10px;padding:.3rem .6rem}.pdf-viewer .react-pdf__Page__canvas{max-height:calc(100vh - 100px)!important}.content-body::-webkit-scrollbar{width:6px}}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:var(--bg);padding:8px 16px;text-decoration:none;font-weight:600;z-index:10000;border-radius:0 0 4px}.skip-link:focus{top:0}.tmux-container{display:flex;flex-direction:column;height:100vh;width:100vw;padding:20px;background:#000;overflow:hidden}.tmux-status-bar{display:flex;justify-content:space-between;align-items:center;height:24px;background:var(--accent);color:var(--bg);padding:0 12px;font-weight:600;font-size:13px;margin-top:2px;flex-shrink:0}.tmux-session-info{display:flex;gap:8px}.tmux-window-title{flex:1;text-align:center}.tmux-pane{flex:1;border:2px solid var(--accent);overflow:hidden;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden;background:var(--bg);color:var(--fg)}.main-container{flex:1;overflow:hidden;position:relative}.split-container{display:flex;height:100%}.gutter{background-color:var(--border);cursor:col-resize;transition:background-color .2s}.gutter:hover{background-color:var(--accent)}.sidebar{height:100%;overflow:hidden;border-right:1px solid var(--border);background:var(--bg)}.content{height:100%;overflow:hidden;background:var(--bg)}.welcome-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease-out}.welcome-panel{background:var(--bg2);border:2px solid var(--accent);border-radius:4px;padding:2rem;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000080;animation:slideUp .4s ease-out}.welcome-panel h1{color:var(--accent);margin:0 0 1rem;font-size:2rem}.welcome-panel>p{color:var(--fg2);margin-bottom:2rem}.welcome-features{display:flex;gap:1.5rem;margin-bottom:2rem}.feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;padding:1rem;background:var(--bg);border:1px solid var(--border);border-radius:4px}.feature-icon{font-size:2rem}.welcome-quick-tips{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:1rem;margin-bottom:2rem;text-align:left}.welcome-quick-tips p{margin-top:0;color:var(--accent)}.welcome-quick-tips ul{margin:.5rem 0 0;padding-left:1.5rem}.welcome-quick-tips li{margin:.5rem 0;color:var(--fg)}.welcome-quick-tips kbd{background:var(--bg2);border:1px solid var(--border);border-radius:3px;padding:.1rem .4rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9em;color:var(--accent)}.welcome-button{width:100%;padding:.75rem 1.5rem;background:var(--accent);color:var(--bg);border:none;border-radius:4px;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.welcome-button:hover{background:var(--accent2);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.welcome-button:active{transform:translateY(0)}.welcome-panel::-webkit-scrollbar{width:8px}.welcome-panel::-webkit-scrollbar-track{background:var(--bg)}.welcome-panel::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.welcome-panel::-webkit-scrollbar-thumb:hover{background:var(--fg2)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.tmux-container{padding:10px}.tmux-status-bar{font-size:11px;height:20px;padding:0 8px}.tmux-pane{border-width:1px}.welcome-features{flex-direction:column}.welcome-panel{margin:1rem;padding:1.5rem;max-height:85vh;width:calc(100% - 2rem)}.welcome-panel h1{font-size:1.5rem}.welcome-overlay{padding:10px}.sidebar{width:200px;min-width:200px;flex-shrink:0}.split-container{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch}.gutter{display:none}.main-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.content{flex:1;min-width:calc(100vw - 220px);overflow-x:auto;-webkit-overflow-scrolling:touch}.content-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.split-container::-webkit-scrollbar,.main-container::-webkit-scrollbar{height:6px}.split-container::-webkit-scrollbar-track,.main-container::-webkit-scrollbar-track{background:var(--bg)}.split-container::-webkit-scrollbar-thumb,.main-container::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.split-container::-webkit-scrollbar-thumb:hover,.main-container::-webkit-scrollbar-thumb:hover{background:var(--fg2)}}@media(max-width:480px){.tmux-container{padding:5px}.tmux-status-bar{font-size:10px;height:18px;padding:0 6px}.tmux-window-title{display:none}.top-bar{font-size:11px}.status-bar{font-size:10px}.app-title{display:none}.welcome-panel{margin:.5rem;padding:1rem;max-height:90vh;width:calc(100% - 1rem)}.welcome-panel h1{font-size:1.25rem}.welcome-overlay{padding:5px}.welcome-quick-tips ul{padding-left:1rem}.feature{padding:.75rem}.sidebar{width:160px;min-width:160px}.content{min-width:calc(100vw - 180px)}.split-container::-webkit-scrollbar,.main-container::-webkit-scrollbar{height:5px}}
