/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.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}@layer reset,theme,base,astryx-base,astryx-theme,components,utilities;.\!container{width:100%!important}.container{width:100%}@media (min-width: 640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width: 768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width: 1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width: 1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width: 1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:disabled{pointer-events:none;opacity:.4}.btn-primary{min-height:44px;min-width:44px;--tw-bg-opacity: 1;background-color:rgb(0 229 255 / var(--tw-bg-opacity, 1));font-weight:600;--tw-text-opacity: 1;color:rgb(6 8 12 / var(--tw-text-opacity, 1))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(0 212 240 / var(--tw-bg-opacity, 1))}.btn-primary:active{--tw-translate-y: 1px;--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-primary{box-shadow:0 0 0 1px #00e5ff33;transition-property:background-color,box-shadow,transform,opacity}.btn-primary:hover{box-shadow:0 0 0 1px #00e5ff59}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-secondary:disabled{pointer-events:none;opacity:.4}.btn-secondary{min-height:44px;min-width:44px;border-width:1px;border-color:#ffffff0d;--tw-bg-opacity: 1;background-color:rgb(28 36 48 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.btn-secondary:hover{border-color:#ffffff1a;--tw-bg-opacity: 1;background-color:rgb(34 44 58 / var(--tw-bg-opacity, 1))}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-ghost:disabled{pointer-events:none;opacity:.4}.btn-ghost{min-height:44px;min-width:44px;--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.btn-ghost:hover{background-color:#ffffff0d;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.\!input{width:100%;border-radius:.375rem;border-width:1px;border-color:#ffffff0d;--tw-bg-opacity: 1;background-color:rgb(10 14 20 / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\!input::-moz-placeholder{color:#64748b99}.\!input::placeholder{color:#64748b99}.input{width:100%;border-radius:.375rem;border-width:1px;border-color:#ffffff0d;--tw-bg-opacity: 1;background-color:rgb(10 14 20 / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1));outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.input::-moz-placeholder{color:#64748b99}.input::placeholder{color:#64748b99}.\!input{min-height:44px!important}.input{min-height:44px}.\!input:focus{border-color:#00e5ff66;--tw-bg-opacity: 1;background-color:rgb(14 19 25 / var(--tw-bg-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(0 229 255 / .2)}.input:focus{border-color:#00e5ff66;--tw-bg-opacity: 1;background-color:rgb(14 19 25 / var(--tw-bg-opacity, 1));--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(0 229 255 / .2)}.\!label,.label{margin-bottom:.375rem;display:block;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.panel{border-radius:1rem;border-width:1px;border-color:#ffffff0a;background:var(--surface-card);box-shadow:var(--shadow-card)}.chip{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;border-width:1px;border-color:#ffffff0d;background-color:#ffffff0d;padding:.25rem .625rem;font-size:12px;font-weight:500;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}@font-face{font-family:Geist Sans;src:url(/fonts/Geist-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{color-scheme:dark;--brand: #00e5ff;--brand-tint: rgba(0, 229, 255, .06);--destructive: #ff3b3b;--success: #00ff88;--warning: #ffb800;--info: #3b82f6;--text-strong: #e2e8f0;--text-primary: #c8d6e5;--text-secondary: #8a9bb0;--text-tertiary: #5a6a7d;--text-disabled: #3a4758;--surface-page: #06080c;--surface-card: #0e1319;--surface-subtle: #121820;--surface-muted: #1c2430;--shadow-card: 0 1px 3px rgba(0, 229, 255, .03);--shadow-card-hover: 0 2px 6px rgba(0, 229, 255, .06);--shadow-elevated: 0 4px 16px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .06);--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .35s;--ease-default: cubic-bezier(.25, .1, .25, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--radius: .625rem;--bg-primary: var(--surface-card);--bg-secondary: var(--surface-subtle);--bg-tertiary: var(--surface-muted);--bg-hover: var(--surface-subtle);--bg-active: var(--surface-muted);--bg-empty: var(--surface-page);--bg-item: var(--surface-card);--bg-item-hover: var(--surface-subtle);--border-color: rgba(255, 255, 255, .08);--border-empty: rgba(255, 255, 255, .08);--border-item: rgba(255, 255, 255, .08);--border-list: rgba(255, 255, 255, .08);--text-muted: var(--text-tertiary);--accent: var(--brand);--accent-color: var(--brand);--accent-dark: var(--brand);--accent-hover: var(--brand);--accent-light: var(--brand-tint);--error-light: rgba(255, 59, 59, .12);--error-dark: var(--destructive);--error-border: rgba(255, 59, 59, .3);--warning-light: rgba(255, 184, 0, .12);--warning-dark: var(--warning);--warning-border: rgba(255, 184, 0, .3);--info-light: rgba(59, 130, 246, .12);--info-dark: var(--info);--status-connected: var(--success);--status-connecting: var(--warning);--status-disconnected: var(--text-tertiary);--status-online: var(--success);--status-offline: var(--text-tertiary);--status-badge-bg: var(--surface-subtle);--status-badge-text: var(--text-primary);--sync-bg: var(--surface-subtle);--sync-border: rgba(255, 255, 255, .08);--sync-text: var(--text-primary);--sync-success-bg: rgba(0, 255, 136, .12);--sync-success-border: rgba(0, 255, 136, .3);--sync-error-bg: rgba(255, 59, 59, .12);--sync-error-border: rgba(255, 59, 59, .3);--sync-progress-bg: var(--surface-muted);--sync-progress-fill: var(--brand);--btn-sync-bg: var(--surface-subtle);--btn-sync-bg-hover: var(--surface-muted);--btn-sync-border: rgba(255, 255, 255, .08);--btn-sync-border-hover: rgba(255, 255, 255, .16);--btn-sync-text: var(--text-primary);--badge-bg: var(--surface-subtle);--badge-text: var(--text-primary);--badge-spinner: var(--brand);--tooltip-bg: var(--surface-muted);--tooltip-border: rgba(255, 255, 255, .08);--tooltip-text: var(--text-primary)}html{scroll-behavior:smooth}html,body,#root{height:100%;width:100%;margin:0;padding:0}#root>div:not(.landing-page){overflow:hidden}body{font-feature-settings:"cv11","ss01","ss03","cv01";background:var(--surface-page);color:var(--text-primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#00e5ff0f;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#00e5ff24}.xterm-viewport::-webkit-scrollbar-thumb{background:#00e5ff1a}.xterm,.xterm .xterm-viewport,.xterm .xterm-screen{padding:8px 10px}.xterm .xterm-screen canvas{outline:none}.tip{pointer-events:none;position:absolute;left:100%;margin-left:.5rem;white-space:nowrap;border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(28 36 48 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1));opacity:0;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(255 255 255 / .1);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.has-tip:hover .tip{opacity:1}.neon-glow{position:relative}.neon-glow:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;opacity:0;transition:opacity var(--duration-normal) var(--ease-default);box-shadow:0 0 12px #00e5ff26,0 0 24px #00e5ff14;pointer-events:none}.neon-glow:hover:after{opacity:1}.grid-overlay{background-image:linear-gradient(rgba(0,229,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.015) 1px,transparent 1px);background-size:24px 24px}.titlebar{-webkit-app-region:drag;height:32px;background:var(--surface-page);display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(255,255,255,.04);position:relative;z-index:50}.titlebar button,.titlebar input,.titlebar a{-webkit-app-region:no-drag}@keyframes styleseed-fade-in{0%{opacity:0}to{opacity:1}}@keyframes styleseed-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes styleseed-pop-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-animate]{opacity:0;transform:translateY(12px);transition:opacity .6s cubic-bezier(.25,.1,.25,1),transform .6s cubic-bezier(.25,.1,.25,1)}[data-animate].animate-fade-in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){[data-animate]{opacity:1;transform:none;transition:none}}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-area-top{padding-top:env(safe-area-inset-top,0px)}@media (hover: none) and (pointer: coarse){.touch-only-visible{opacity:1!important}}
