@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg-base:#000;--color-bg-section:#111;--color-bg-surface:#1a1a1a;--color-bg-raised:#252525;--color-text:#d8d8d8;--color-text-muted:#999;--color-border:#ffffff14;--color-border-medium:#ffffff2e;--color-success:#4caf50;--color-danger:#ff5252;--color-warning:#ffb300;--color-info:#4fc3f7;--color-white:#fff;--color-overlay:#ffffff08;--color-overlay-hover:#ffffff0f;--ease-spring:cubic-bezier(.16, 1, .3, 1);--bg:var(--color-bg-base);--bg-elevated:var(--color-bg-section);--bg-elevated-2:var(--color-bg-surface);--border:var(--color-border);--text:var(--color-text);--text-dim:var(--color-text-muted);--accent:var(--color-white);--danger:var(--color-danger);--warn:var(--color-warning);--radius:0;font-family:Montserrat,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{height:100%}body,#root{min-height:100%;margin:0}body{background:var(--color-bg-base);color:var(--color-text);-webkit-font-smoothing:antialiased;font-weight:400;overflow-x:hidden}button,input,select,textarea{color:inherit;font-family:inherit}button{cursor:pointer}h1,h2,h3{color:var(--color-white);line-height:1.2}body:after{content:"";pointer-events:none;z-index:9999;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='5' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");background-size:512px 512px;width:200%;height:200%;position:fixed;top:-50%;left:-50%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}body:after{display:none}}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(16px);background:#000000d9;flex:none;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.app-title{align-items:center;display:flex}.app-title img{width:auto;height:20px;display:block}.app-main{flex-direction:column;flex:auto;min-height:220px;display:flex}.app-loading{height:100vh;color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;justify-content:center;align-items:center;font-size:.8rem;display:flex}.app-error{margin:.5rem 1rem}.empty-state{color:var(--color-text-muted);text-align:center;flex:1;justify-content:center;align-items:center;padding:2rem;font-size:.85rem;display:flex}.btn{letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:color .35s var(--ease-spring), border-color .35s var(--ease-spring), background-color .2s ease;z-index:0;background:0 0;border:2px solid #0000;border-radius:0;justify-content:center;align-items:center;gap:8px;padding:.6rem 1.15rem;font-size:.72rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{border-color:var(--color-white);color:var(--color-white)}.btn-primary:before{content:"";z-index:-1;background:var(--color-white);transform-origin:100%;transition:transform .4s var(--ease-spring);position:absolute;inset:0;transform:scaleX(0)}.btn-primary:not(:disabled):hover{color:var(--color-bg-base)}.btn-primary:not(:disabled):hover:before{transform-origin:0;transform:scaleX(1)}.btn-danger{border-color:color-mix(in srgb, var(--color-danger) 60%, transparent);color:var(--color-danger)}.btn-danger:not(:disabled):hover{background:var(--color-danger);border-color:var(--color-danger);color:var(--color-bg-base)}.btn-ghost{border-color:var(--color-border-medium);color:var(--color-text-muted)}.btn-ghost:not(:disabled):hover{border-color:var(--color-white);color:var(--color-white);background:var(--color-overlay-hover)}.btn-block{width:100%}.btn-small{padding:.4rem .8rem;font-size:.66rem}.btn-tiny{padding:.3rem .6rem;font-size:.62rem}.field{flex-direction:column;gap:.4rem;margin-bottom:.9rem;display:flex}.field-label{letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);font-size:.65rem;font-weight:700}.field input,.field select{background:var(--color-bg-surface);border:1px solid var(--color-border-medium);color:var(--color-white);transition:border-color .2s var(--ease-spring), background-color .2s var(--ease-spring);border-radius:0;outline:none;padding:.6rem .7rem;font-size:.9rem}.field input::placeholder{color:var(--color-text-muted);opacity:.7}.field input:focus,.field select:focus{border-color:var(--color-white)}.field-row{gap:.6rem;display:flex}.field-grow{flex:auto}.field-small{flex:0 0 6rem}.fieldset{border:1px solid var(--color-border);border-radius:0;margin:0 0 1rem;padding:.9rem}.fieldset legend{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);padding:0 .5rem;font-size:.65rem;font-weight:700}.form-error{color:var(--color-danger);border:1px solid color-mix(in srgb, var(--color-danger) 45%, transparent);background:color-mix(in srgb, var(--color-danger) 10%, transparent);margin:.4rem 0 .6rem;padding:.5rem .7rem;font-size:.8rem}.segmented{border:1px solid var(--color-border-medium);border-radius:0;margin-bottom:1.1rem;display:flex;overflow:hidden}.segmented-btn{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);transition:background-color .25s var(--ease-spring), color .25s var(--ease-spring);background:0 0;border:none;flex:1;padding:.6rem;font-size:.68rem;font-weight:600}.segmented-btn:hover{color:var(--color-text)}.segmented-btn.active{background:var(--color-white);color:var(--color-bg-base)}.login-screen{justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex;position:relative}.login-card{background:var(--color-overlay);border:1px solid var(--color-border);border-radius:0;width:100%;max-width:360px;padding:2.2rem 1.8rem}.login-title{text-align:center;color:var(--color-white);margin:0 0 .3rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--color-text-muted);text-align:center;margin:0 0 1.6rem;font-size:.8rem;line-height:1.5}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-panel{background:var(--color-bg-raised);border:1px solid var(--color-border-medium);width:100%;max-width:460px;max-height:90vh;animation:modalIn .25s var(--ease-spring);border-radius:0;padding:1.6rem;overflow-y:auto}.modal-panel-small{max-width:400px}.modal-title{letter-spacing:.04em;text-transform:uppercase;color:var(--color-white);margin:0 0 1.1rem;font-size:1rem;font-weight:700}.modal-message{color:var(--color-text);font-size:.88rem;line-height:1.6}.modal-actions{justify-content:flex-end;gap:.7rem;margin-top:1.2rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.project-tabs-bar{background:var(--color-bg-section);border-bottom:1px solid var(--color-border);flex:none;align-items:center;padding-right:.4rem;display:flex}.project-tabs-scroll{flex-wrap:wrap;flex:auto;min-width:0;display:flex}.project-tab{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transition:background-color .25s var(--ease-spring);flex:none;align-items:center;gap:.3rem;max-width:min(100%,260px);padding:.6rem .4rem .6rem .95rem;display:flex}.project-tab-active{background:var(--color-overlay-hover);box-shadow:inset 0 -2px 0 var(--color-white)}.project-tab-label{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--color-text);background:0 0;border:none;flex:auto;padding:0;font-size:.8rem;font-weight:500;display:block;overflow:hidden}.project-tab-active .project-tab-label{color:var(--color-white);font-weight:600}.project-tab-icon{color:var(--color-text-muted);background:0 0;border:none;flex:none;padding:.2rem .4rem;font-size:1rem;line-height:1;transition:color .2s}.project-tab-icon:hover{color:var(--color-danger)}.project-tab-add{border:1px dashed var(--color-border-medium);color:var(--color-text-muted);background:0 0;border-radius:0;flex:none;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;margin-left:.4rem;font-size:1.1rem;transition:color .2s,border-color .2s;display:flex}.project-tab-add:hover{color:var(--color-white);border-color:var(--color-white);border-style:solid}.project-view{flex-direction:column;flex:auto;min-height:0;display:flex}.project-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem 1rem;display:flex}.project-toolbar-info{min-width:0}.project-toolbar-path{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-family:Fira Code,Menlo,Consolas,monospace;font-size:.75rem;display:block;overflow:hidden}.project-toolbar-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:.5rem;display:flex}.project-view-error{padding:0 1rem}.pane-tabs-bar{background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex:none;align-items:center;gap:.3rem;padding:.3rem .4rem;display:flex}.pane-tabs-scroll{flex-wrap:wrap;flex:auto;gap:.3rem;min-width:0;display:flex}.pane-tab{border:1px solid var(--color-border);background:0 0;border-radius:0;flex:none;align-items:center;gap:.15rem;max-width:min(100%,200px);padding:.28rem .35rem;transition:border-color .2s;display:flex}.pane-tab-active{border-color:var(--color-white)}.pane-tab-pending{opacity:.7}.pane-tab-label{color:var(--color-text);background:0 0;border:none;flex:auto;align-items:center;gap:.35rem;min-width:0;padding:.1rem .3rem;font-size:.78rem;display:flex}.pane-tab-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.pane-tab-active .pane-tab-label{color:var(--color-white);font-weight:600}.pane-tab-input{background:var(--color-bg-base);border:1px solid var(--color-white);width:8rem;color:var(--color-white);border-radius:0;padding:.15rem .3rem;font-size:.78rem}.pane-tab-icon{color:var(--color-text-muted);background:0 0;border:none;flex:none;padding:.1rem .3rem;font-size:.82rem;line-height:1;transition:color .2s}.pane-tab-icon:hover{color:var(--color-white)}.pane-tab-icon-close:hover{color:var(--color-danger)}.pane-tab-spinner{border:2px solid var(--color-text-muted);border-top-color:#0000;border-radius:50%;width:.6rem;height:.6rem;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.pane-tab-new-form{flex:none;align-items:center;gap:.3rem;display:flex}.pane-tab-add{border:1px dashed var(--color-border-medium);color:var(--color-text-muted);background:0 0;border-radius:0;flex:none;justify-content:center;align-items:center;width:1.7rem;height:1.7rem;transition:color .2s,border-color .2s;display:flex}.pane-tab-add:hover{color:var(--color-white);border-color:var(--color-white);border-style:solid}.terminal-area{background:var(--color-bg-base);flex:auto;min-height:0;position:relative}.terminal-pane{flex-direction:column;position:absolute;inset:0}.terminal-container{flex:auto;min-height:0;padding:clamp(2px,.5vw,8px)}.terminal-container .xterm{height:100%}.terminal-container .xterm-viewport{-webkit-overflow-scrolling:touch;touch-action:pan-y}.ws-badge{z-index:5;border:1px solid var(--color-border-medium);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;pointer-events:none;background:#000000d9;border-radius:0;padding:.3rem .7rem;font-size:.65rem;font-weight:600;position:absolute;top:.5rem;right:.7rem}.ws-badge-warn{color:var(--color-warning);border-color:color-mix(in srgb, var(--color-warning) 45%, transparent)}.folder-browser{border:1px solid var(--color-border);background:var(--color-overlay);border-radius:0;margin-bottom:.9rem;padding:.7rem}.folder-browser-bar{gap:.4rem;margin-bottom:.5rem;display:flex}.folder-browser-path{background:var(--color-bg-surface);border:1px solid var(--color-border-medium);min-width:0;color:var(--color-white);border-radius:0;flex:auto;padding:.5rem .6rem;font-family:Fira Code,Menlo,Consolas,monospace;font-size:.8rem}.folder-browser-path:focus{border-color:var(--color-white);outline:none}.folder-browser-hint{color:var(--color-text-muted);padding:.3rem 0;font-size:.8rem}.folder-browser-list{max-height:220px;margin:0;padding:0;list-style:none;overflow-y:auto}.folder-browser-empty{color:var(--color-text-muted);padding:.4rem .2rem;font-size:.8rem}.folder-browser-entry{text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;padding:.4rem .5rem;font-size:.84rem;transition:background-color .2s,color .2s}.folder-browser-entry:hover{background:var(--color-overlay-hover);color:var(--color-white)}.app-header-actions{align-items:center;gap:.5rem;display:flex}.totp-qr-wrap{background:var(--color-white);justify-content:center;margin:.8rem 0;padding:.8rem;display:flex}.totp-qr{width:200px;height:200px;display:block}@media (width<=640px){.app-title img{height:17px}.project-tab{padding:.6rem .3rem .6rem .6rem}.pane-tab{padding:.28rem .25rem}.project-toolbar-actions{order:2;width:100%}.btn-small{letter-spacing:.08em;padding:.4rem .65rem;font-size:.62rem}.modal-panel{padding:1.1rem}}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.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:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;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;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}
