/**
 * 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;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) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-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{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}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root,:root[data-theme=dark]{--bg-canvas: #0B0D12;--bg-surface: #11141B;--bg-elevated: #161A23;--bg-sunken: #080A0F;--bg-hero: radial-gradient(1200px 600px at 20% 0%, rgba(91, 124, 255, .18), transparent 60%), radial-gradient(900px 500px at 100% 100%, rgba(255, 154, 64, .08), transparent 60%), #0B0D12;--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .14);--border-strong: rgba(255, 255, 255, .22);--text-primary: #E8ECF4;--text-secondary: #B5BCCA;--text-tertiary: #7A8294;--text-numeric: #F2F4F9;--text-on-accent: #FFFFFF;--accent: #5B7CFF;--accent-hover: #7A93FF;--accent-soft: rgba(91, 124, 255, .14);--accent-stronger: rgba(91, 124, 255, .3);--signal-success: #34D399;--signal-warning: #FBBF24;--signal-danger: #F87171;--signal-info: #60A5FA;--signal-purchase: #FFA940;--shadow-sm: 0 1px 0 rgba(255, 255, 255, .04), 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .04);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-glow: 0 0 0 1px rgba(91, 124, 255, .35), 0 8px 32px rgba(91, 124, 255, .18);--dot-color: rgba(255, 255, 255, .06);--term-bg: #0A0C11;--term-fg: #E8ECF4;--term-cursor: #5B7CFF;--term-selection: rgba(91, 124, 255, .3);color-scheme:dark}:root[data-theme=light]{--bg-canvas: #F6F5F0;--bg-surface: #FFFFFF;--bg-elevated: #FFFFFF;--bg-sunken: #EFEDE6;--bg-hero: radial-gradient(1200px 600px at 20% 0%, rgba(61, 90, 254, .1), transparent 60%), radial-gradient(900px 500px at 100% 100%, rgba(255, 154, 64, .06), transparent 60%), #F6F5F0;--border-subtle: rgba(15, 23, 42, .08);--border-default: rgba(15, 23, 42, .14);--border-strong: rgba(15, 23, 42, .2);--text-primary: #0F172A;--text-secondary: #475569;--text-tertiary: #94A3B8;--text-numeric: #0B1020;--text-on-accent: #FFFFFF;--accent: #3D5AFE;--accent-hover: #5470FF;--accent-soft: rgba(61, 90, 254, .1);--accent-stronger: rgba(61, 90, 254, .22);--signal-success: #059669;--signal-warning: #D97706;--signal-danger: #DC2626;--signal-info: #2563EB;--signal-purchase: #EA580C;--shadow-sm: 0 1px 0 rgba(15, 23, 42, .02), 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 14px rgba(15, 23, 42, .08), 0 0 0 1px rgba(15, 23, 42, .04);--shadow-lg: 0 16px 48px rgba(15, 23, 42, .12), 0 0 0 1px rgba(15, 23, 42, .06);--shadow-glow: 0 0 0 1px rgba(61, 90, 254, .25), 0 8px 32px rgba(61, 90, 254, .14);--dot-color: rgba(15, 23, 42, .07);--term-bg: #1A1D24;--term-fg: #E8ECF4;--term-cursor: #3D5AFE;--term-selection: rgba(61, 90, 254, .3);color-scheme:light}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 999px;--font-sans: "Hanken Grotesk", "PingFang SC", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display: "Hanken Grotesk", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Sarasa Mono SC", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-numeric: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--dur-fast: .12s;--dur-mid: .22s;--dur-slow: .32s;--dur-stagger: 60ms;--z-base: 1;--z-sticky: 10;--z-overlay: 100;--z-modal: 1000;--z-toast: 2000}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.55;color:var(--text-primary);background:var(--bg-canvas);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01" 1}.ant-statistic-content-value,.ant-statistic-content-suffix,.ant-statistic-content-prefix,.font-mono,code,kbd,pre,samp{font-family:var(--font-mono);font-feature-settings:"tnum" 1,"ss01" 1}.ant-statistic-content-value{font-weight:600;letter-spacing:-.01em;color:var(--text-numeric)}.font-mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--border-strong);background-clip:content-box}::selection{background:var(--accent-stronger);color:var(--text-primary)}a{color:var(--accent);text-decoration:none;transition:color var(--dur-fast) var(--ease-out)}a:hover{color:var(--accent-hover)}.surface-hero{position:relative;background:var(--bg-hero);isolation:isolate}.surface-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0);background-size:24px 24px;mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,black,transparent 90%);-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,black,transparent 90%);z-index:-1}.page-enter{animation:page-enter var(--dur-mid) var(--ease-out) both}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up .28s var(--ease-out) both}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-bar{0%,to{opacity:.55}50%{opacity:1}}@keyframes spark-draw{0%{stroke-dashoffset:var(--spark-length, 200)}to{stroke-dashoffset:0}}.ant-layout{background:var(--bg-canvas)}.ant-card.ant-card-hoverable{transition:transform var(--dur-mid) var(--ease-out),box-shadow var(--dur-mid) var(--ease-out)}.ant-card.ant-card-hoverable:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.ant-btn-primary{transition:box-shadow var(--dur-mid) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ant-btn-primary:hover{box-shadow:var(--shadow-glow)}.ant-modal-content{border:1px solid var(--border-subtle)}.ant-tabs-ink-bar{height:2px!important;border-radius:2px}@supports (view-transition-name: root){::view-transition-old(root),::view-transition-new(root){animation-duration:.2s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-name:fade-out-cross}::view-transition-new(root){animation-name:fade-in-cross}}@keyframes fade-out-cross{to{opacity:0}}@keyframes fade-in-cross{0%{opacity:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.row-status{--status-color: transparent;position:relative;box-shadow:inset 4px 0 0 var(--status-color);transition:box-shadow var(--dur-mid) var(--ease-out),background-color var(--dur-mid) var(--ease-out)}.row-status:hover{box-shadow:inset 6px 0 0 var(--status-color)}.row-status--running{--status-color: var(--signal-success)}.row-status--stopped{--status-color: var(--border-strong)}.row-status--warning{--status-color: var(--signal-warning)}.row-status--danger{--status-color: var(--signal-danger)}.row-status--info{--status-color: var(--signal-info)}.row-status--accent{--status-color: var(--accent)}.row-status--pending{--status-color: var(--accent);animation:pulse-bar 1.6s ease-in-out infinite}.ant-card.row-status{overflow:hidden}.status-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--status-color, var(--text-tertiary));margin-right:8px;vertical-align:middle;box-shadow:0 0 0 3px color-mix(in srgb,var(--status-color, transparent) 25%,transparent)}.status-dot--running{--status-color: var(--signal-success)}.status-dot--stopped{--status-color: var(--text-tertiary)}.status-dot--warning{--status-color: var(--signal-warning)}.status-dot--danger{--status-color: var(--signal-danger)}.status-dot--pending{--status-color: var(--accent);animation:pulse-bar 1.6s ease-in-out infinite}.card-flat{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.card-numeric .ant-card-body{padding:18px 20px}.card-numeric .ant-statistic-title{font-size:12px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.card-numeric .ant-statistic-content{font-size:28px;line-height:1.2}.card-hero{position:relative;overflow:hidden;border-radius:var(--radius-lg)}.card-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0);background-size:24px 24px;mask-image:radial-gradient(ellipse 90% 80% at 50% 30%,black,transparent 95%);-webkit-mask-image:radial-gradient(ellipse 90% 80% at 50% 30%,black,transparent 95%);z-index:0}.card-hero>*{position:relative;z-index:1}.spark{display:block;width:100%;height:32px}.spark-path{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--spark-length, 200);stroke-dashoffset:var(--spark-length, 200);animation:spark-draw .7s var(--ease-out) .2s forwards}.spark-fill{fill:var(--accent);opacity:.1}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--text-secondary);border-radius:var(--radius-lg)}.empty-illust{width:96px;height:96px;margin-bottom:20px;color:var(--accent);opacity:.85}.empty-illust path,.empty-illust circle,.empty-illust rect,.empty-illust polyline,.empty-illust polygon,.empty-illust line{stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none}.empty-state .empty-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:6px}.empty-state .empty-desc{font-size:13px;color:var(--text-tertiary);margin-bottom:20px;max-width:360px}
