.xterm{cursor:text;position:relative;-moz-user-select:none;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;right:0;left:0;top:0;bottom: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:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.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{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.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;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg:#1e1e1e;--color-bg-secondary:#2d2d2d;--color-bg-tertiary:#3e3e3e;--color-text:#d4d4d4;--color-text-muted:#808080;--color-border:#3e3e3e;--color-primary:#0e639c;--color-primary-hover:#1177bb;--color-primary-active:#0d5a8f;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-error-bg:#7f1d1d;--radius:8px;--shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06)}.shell-app{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);overflow:hidden}#root,.shell-app{height:100%}.shell-app{display:flex;flex-direction:column;height:100vh;width:100vw}.shell-header{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);padding:1rem 1.5rem;flex-shrink:0}.shell-header-content{display:flex;align-items:center;justify-content:space-between}.shell-title{font-size:1.5rem;font-weight:600;color:var(--color-text)}.shell-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-bg-tertiary);border-radius:20px}.status-indicator{width:10px;height:10px;border-radius:50%;animation:pulse 2s ease-in-out infinite}.status-text{font-size:.875rem;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.shell-main{flex:1;overflow:hidden;position:relative}.shell-connect-panel{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem}.connect-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;max-width:500px;width:100%;box-shadow:var(--shadow)}.connect-title{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;color:var(--color-text)}.error-message{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius);margin-bottom:1.5rem;color:var(--color-error)}.error-icon{width:20px;height:20px;flex-shrink:0}.connect-form{display:flex;flex-direction:column;gap:1rem}.form-label{font-weight:500;margin-bottom:.25rem}.form-input,.form-label{font-size:.875rem;color:var(--color-text)}.form-input{width:100%;padding:.75rem 1rem;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .2s}.form-input:focus{outline:none;border-color:var(--color-primary)}.form-input:disabled{opacity:.5;cursor:not-allowed}.connect-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1.5rem;background:var(--color-primary);color:white;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.connect-button:hover:not(:disabled){background:var(--color-primary-hover)}.connect-button:active:not(:disabled){background:var(--color-primary-active)}.connect-button:disabled{background:var(--color-bg-tertiary);cursor:not-allowed}.spinner{width:20px;height:20px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.connect-help{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.help-text{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.help-code{display:block;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-family:Monaco,Menlo,Courier New,monospace;font-size:.75rem;color:var(--color-success);overflow-x:auto;white-space:nowrap}.shell-terminal-container{height:100%;padding:1rem;background:var(--color-bg)}.terminal-container{width:100%;height:100%}.shell-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:.75rem 1.5rem;flex-shrink:0}.footer-content{display:flex;align-items:center;justify-content:space-between}.footer-info{font-size:.875rem;color:var(--color-text-muted)}.disconnect-button{padding:.5rem 1rem;background:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.disconnect-button:hover{background:var(--color-error);color:white}.bg-green-500{background-color:var(--color-success)}.bg-yellow-500{background-color:var(--color-warning)}.bg-red-500{background-color:var(--color-error)}.bg-gray-500{background-color:#6b7280}.xterm{height:100%!important;padding:10px}.xterm .xterm-viewport{overflow-y:auto}.xterm-screen{height:100%}