.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;inset:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;inset:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{font-family:Outfit,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e6edf3;background-color:#0d1117;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-gradient: radial-gradient(circle at 50% 50%, #1a202c 0%, #050505 100%);--glass-bg: rgba(255, 255, 255, .03);--accent-blue: #58a6ff;--status-online: #3fb950;--status-error: #da3633;--border-color: rgba(255, 255, 255, .1)}*{margin:0;padding:0;box-sizing:border-box}::-webkit-scrollbar{display:none}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:var(--bg-gradient);overflow:hidden;height:100vh}#root{width:100%;height:100vh;display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;height:100vh;width:100%}.app-header{padding:1rem 2.5rem;background:#0d111780;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;z-index:100}.app-logo{font-size:1.25rem;font-weight:700;color:var(--accent-blue);display:flex;align-items:center;gap:12px;letter-spacing:-.02em}.settings-btn{background:transparent;border:1px solid var(--border-color);color:#8b949e;width:40px;height:40px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s,background .2s}.settings-btn:hover{color:var(--accent-blue);border-color:var(--accent-blue);background:#58a6ff14}.settings-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.settings-modal[hidden]{display:none!important}.settings-modal-backdrop{position:absolute;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-modal-content{position:relative;background:#161b22;border:1px solid var(--border-color);border-radius:12px;min-width:320px;max-width:400px;box-shadow:0 25px 50px -12px #00000080}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color)}.settings-modal-header h3{font-size:1rem;font-weight:600;color:#e6edf3;margin:0}.settings-modal-close{background:none;border:none;color:#8b949e;font-size:1.5rem;line-height:1;cursor:pointer;padding:0 4px;border-radius:4px}.settings-modal-close:hover{color:#e6edf3;background:#ffffff0d}.settings-modal-body{padding:20px;display:flex;flex-direction:column;gap:12px}.settings-modal-body label{font-size:.8rem;font-weight:500;color:#8b949e}.settings-modal-body .settings-hint{font-size:.75rem;color:#6e7681;margin:-4px 0 4px;line-height:1.35}.settings-modal-body .settings-hint code{font-size:.7rem;background:#0000004d;padding:1px 4px;border-radius:3px;word-break:break-all}.settings-modal-body input{background:#0003;border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;color:#e6edf3;font-size:.9rem}.settings-modal-body input:focus{outline:none;border-color:var(--accent-blue)}.settings-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-color)}.settings-btn-cancel{background:transparent;border:1px solid var(--border-color);color:#8b949e;padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer}.settings-btn-cancel:hover{color:#e6edf3;border-color:#8b949e}.settings-btn-save{background:var(--accent-blue);border:none;color:#0d1117;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.settings-btn-save:hover{opacity:.9}.file-action-popup-wrap{position:fixed;inset:0;z-index:999;display:flex;align-items:flex-start;justify-content:flex-start;pointer-events:none}.file-action-popup-wrap[hidden]{display:none!important}.file-action-backdrop{position:fixed;inset:0;pointer-events:auto;cursor:default}.file-action-content.file-action-context{position:fixed;min-width:220px;max-width:320px;pointer-events:auto;z-index:1000;background:#161b22;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 12px 40px #00000080;overflow:hidden}.file-action-context .settings-modal-header{padding:10px 12px;border-bottom:1px solid var(--border-color)}.file-action-context .settings-modal-header h3{font-size:.9rem}.file-action-context .settings-modal-body{padding:10px 12px}.file-action-path{font-size:.75rem;color:#8b949e;word-break:break-all;margin-bottom:10px;line-height:1.3}.file-action-buttons{display:flex;flex-direction:column;gap:8px}.file-action-btn{display:flex;align-items:center;gap:10px;background:#ffffff0d;border:1px solid var(--border-color);color:#e6edf3;padding:10px 14px;border-radius:8px;font-size:.9rem;cursor:pointer;text-align:left;transition:background .2s,border-color .2s}.file-action-btn:hover{background:#ffffff14;border-color:var(--accent-blue)}.file-action-btn-danger:hover{border-color:var(--status-error);background:#da36331a}.file-action-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.move-dest-content{max-width:380px}.move-dest-current-path{font-size:.8rem;color:#8b949e;word-break:break-all;margin-bottom:10px;padding:8px 10px;background:#0003;border-radius:6px}.move-dest-folder-list{max-height:240px;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;padding:6px}.move-dest-folder-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.9rem;color:#e6edf3;transition:background .2s}.move-dest-folder-item:hover{background:#ffffff0f}.move-dest-folder-item.folder{color:#79c0ff}.confirm-delete-content{max-width:380px}.confirm-delete-message{color:#e6edf3;font-size:.95rem;line-height:1.5;margin:0}.confirm-delete-btn{background:var(--status-error);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer}.confirm-delete-btn:hover{filter:brightness(1.1)}.file-action-icon{font-size:1rem;opacity:.9}.app-main{flex:1;padding:20px;display:flex;justify-content:center;align-items:stretch;overflow:hidden;overflow-x:hidden;position:relative}.terminal-zone{position:relative;flex:0 1 1240px;max-width:1240px;max-height:850px;margin-left:auto;margin-right:auto;min-width:0;height:100%;min-height:0}.terminal-wrapper{width:100%;height:100%;min-width:0;min-height:0}.sidebar{--fm-width: 250px;--fm-gap: 12px;position:absolute;right:100%;margin-right:var(--fm-gap);top:0;bottom:0;width:var(--fm-width);border-radius:16px;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--border-color);overflow:hidden;z-index:10;transform:translate(100%);opacity:0;pointer-events:none;visibility:hidden;transition:transform .28s cubic-bezier(.33,1,.68,1),opacity .22s ease-out,visibility 0s linear .28s;backface-visibility:hidden}.app-main.show-files .sidebar{transform:translate(0);opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s}.sidebar-header{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;color:#8b949e;letter-spacing:.05em}.sidebar-actions{display:flex;gap:8px}.sidebar-actions button{background:transparent;border:none;color:#8b949e;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.sidebar-actions button:hover{background:#ffffff1a;color:#e6edf3}.sidebar-upload-options{padding:8px 16px;border-bottom:1px solid var(--border-color);background:#ffffff05}.upload-override-label{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#8b949e;cursor:pointer;-webkit-user-select:none;user-select:none}.upload-override-label input[type=checkbox]{accent-color:var(--accent-blue);cursor:pointer}.upload-override-label:hover{color:#c9d1d9}.file-list{flex:1;overflow-y:auto;padding:8px}.file-list-placeholder{padding:12px;color:#8b949e;font-size:.85rem;text-align:center;line-height:1.4}.file-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:.85rem;color:#e6edf3;transition:background .2s;-webkit-user-select:none;user-select:none}.file-item:hover{background:#ffffff0d}.file-item.folder{color:#79c0ff}.icon-wrapper{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;overflow:visible}.icon-wrapper svg{width:18px;height:18px;display:block}.folder-icon{color:#79c0ff}.file-icon{color:#8b949e}.app-main:before{content:"";position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(88,166,255,.15) 0%,transparent 70%);top:20%;left:30%;z-index:0;filter:blur(60px)}.terminal-wrapper{position:relative;z-index:1;width:100%;height:100%;min-width:0;max-width:1240px;max-height:850px;background:var(--glass-bg);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #000000b3,inset 0 1px #ffffff0d;animation:slideUp .8s cubic-bezier(.2,.8,.2,1);overflow:hidden;backface-visibility:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.terminal-header{padding:8px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#ffffff05;gap:20px}.toggle-filemanager-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid var(--border-color);border-radius:8px;color:#8b949e;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.toggle-filemanager-btn:hover{color:var(--accent-blue);border-color:var(--accent-blue);background:#58a6ff14}.app-main.show-files .toggle-filemanager-btn{color:var(--accent-blue);border-color:var(--accent-blue);background:#58a6ff1f}.connection-controls{flex:1;display:flex;gap:12px;align-items:center;min-width:0}.connection-controls-row{display:flex;gap:12px;align-items:center;flex:1;min-width:0}.host-input-wrap{flex:1;min-width:0;max-width:600px}.host-input-wrap input.host-input-status-info{color:#d29922}.host-input-wrap input.host-input-status-success{color:#3fb950}.host-input-wrap input.host-input-status-error{color:#ff7b72}.connection-controls input,.host-input-wrap input{flex:1;min-width:0;width:100%;box-sizing:border-box;background:#0003;border:1px solid var(--border-color);border-radius:6px;padding:6px 12px;color:#e6edf3;font-family:inherit;font-size:.85rem;outline:none;transition:border-color .2s;cursor:text}.connection-controls input:focus,.host-input-wrap input:focus{border-color:var(--accent-blue)}.connection-controls-row button,.connection-controls button{background:var(--accent-blue);color:#0d1117;border:none;border-radius:6px;padding:6px 16px;font-weight:600;font-size:.85rem;cursor:pointer;transition:opacity .2s;white-space:nowrap}.connection-controls-row button:hover,.connection-controls button:hover{opacity:.9}.connection-controls-row button.disconnect,.connection-controls button.disconnect{background:var(--status-error);color:#fff}.connection-controls-row button:disabled,.connection-controls button:disabled{background:#484f58;cursor:not-allowed}.terminal-title{display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:500;color:#8b949e;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.status-badge{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;padding:4px 12px;background:#0000004d;border-radius:20px;border:1px solid var(--border-color);transition:all .3s ease}.status-badge .dot{width:6px;height:6px;border-radius:50%}.status-badge.online{color:#aff5b4;border-color:#3fb9504d}.status-badge.online .dot{background:var(--status-online);box-shadow:0 0 10px var(--status-online)}.status-badge.connecting .dot{background:var(--accent-blue);box-shadow:0 0 10px var(--accent-blue);animation:pulse 1.5s infinite}.status-badge.offline .dot{background:#6e7681;box-shadow:none}.status-badge.error .dot{background:var(--status-error);box-shadow:0 0 8px #da363366}@keyframes pulse{0%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.4;transform:scale(.8)}}.terminal-container{flex:1;padding:20px;overflow:hidden;background:transparent!important}.xterm,.xterm-screen,.xterm-viewport,.xterm-rows{background-color:transparent!important}.xterm-viewport{scrollbar-width:none!important;-ms-overflow-style:none!important}.xterm-viewport::-webkit-scrollbar{display:none!important}.app-footer{padding:12px 2rem;font-size:.75rem;font-weight:500;color:#484f58;text-align:center;background:#0003;border-top:1px solid var(--border-color)}
