/**
 * 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}:root{color-scheme:dark;--bg: #14161b;--bg-sunk: #101216;--surface: #1c1f26;--surface-2: #23262f;--surface-3: #2b2f39;--line: #30343f;--line-soft: #23262e;--text: #f2f0ed;--text-2: #b4b2ae;--text-3: #7d7c79;--accent: #4fc78e;--accent-soft: #6fd6a5;--accent-deep: #1f6a4b;--accent-ink: #06180f;--amber: #e3b341;--sky: #7cc4e8;--violet: #b4a5e8;--red: #ef7a80;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 22px;--s6: 30px;--s7: 40px;--s8: 56px;--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-full: 999px;--mono: "JetBrains Mono", "Cousine", ui-monospace, SFMono-Regular, Menlo, monospace;--ui: "Assistant", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--spring: cubic-bezier(.34, 1.4, .5, 1);--fast: .17s;--mid: .28s;--shadow-1: 0 1px 2px rgb(8 9 12 / .5);--shadow-2: 0 10px 30px -14px rgb(8 9 12 / .85);--z-sheet: 40;--z-bar: 10;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px)}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;overscroll-behavior:none}body{background:var(--bg);color:var(--text);font-family:var(--ui);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}body:before{content:"";position:fixed;inset:-25% -10% auto -10%;height:55vh;z-index:0;pointer-events:none;background:radial-gradient(55% 55% at 25% 15%,rgb(79 199 142 / .09),transparent 72%),radial-gradient(45% 45% at 82% 0%,rgb(124 196 232 / .05),transparent 72%);animation:drift 34s var(--ease) infinite alternate}@keyframes drift{to{transform:translate3d(-5%,3%,0) scale(1.1)}}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:#363b47}::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:1fr;overflow:hidden}@media (min-width: 900px){.app{grid-template-columns:380px 1fr}}.panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--bg)}@media (max-width: 899px){.panel{grid-area:1 / 1;transition:transform var(--mid) var(--ease),opacity var(--mid) var(--ease);will-change:transform}.panel--deck.is-behind{transform:translate(16%);opacity:0;pointer-events:none}.panel--term{transform:translate(-100%)}.panel--term.is-front{transform:translate(0)}}@media (min-width: 900px){.panel--deck{border-inline-start:1px solid var(--line-soft)}}.bar{display:flex;align-items:center;gap:var(--s3);padding:calc(var(--s4) + var(--safe-t)) var(--s4) var(--s4);border-bottom:1px solid var(--line-soft);background:#14161bc7;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);position:sticky;top:0;z-index:var(--z-bar)}.bar__title{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.bar__name{font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar__sub{font-family:var(--mono);font-size:11.5px;line-height:1.3;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;unicode-bidi:isolate;text-align:start}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:46px;min-width:46px;padding:0 var(--s4);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:15px;font-weight:600;letter-spacing:-.005em;box-shadow:var(--shadow-1);transition:transform var(--fast) var(--spring),background var(--fast) var(--ease),border-color var(--fast) var(--ease)}.btn:hover{background:var(--surface-2);border-color:var(--surface-3)}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.4;pointer-events:none}.btn--primary{background:linear-gradient(176deg,var(--accent-soft),var(--accent));border-color:transparent;color:var(--accent-ink);box-shadow:0 2px 14px -4px #4fc78e80}.btn--primary:hover{background:linear-gradient(176deg,#7fdfb0,#57cf97)}.btn--ghost{background:transparent;border-color:transparent;box-shadow:none}.btn--ghost:hover{background:var(--surface)}.btn--icon{padding:0;width:46px;flex:0 0 46px}.zoom{display:inline-flex;flex:0 0 auto;border-radius:var(--r-sm);background:var(--surface);overflow:hidden}.zoom__btn{width:40px;height:46px;display:grid;place-items:center;color:var(--text-2);transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.zoom__btn:hover{background:var(--surface-2);color:var(--text)}.zoom__btn:active{background:var(--surface-3)}.zoom__btn[disabled]{opacity:.32;pointer-events:none}.zoom__btn+.zoom__btn{box-shadow:inset 1px 0 0 var(--line-soft)}.btn--danger{color:var(--red);border-color:#ef7a8047}.btn--danger:hover{background:#ef7a801f;border-color:#ef7a8073}.deck{flex:1;overflow-y:auto;padding:var(--s4) var(--s3) calc(var(--s8) + var(--safe-b))}.group{margin-bottom:var(--s6)}.group__head{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);padding:0 var(--s2);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--text-3)}.group__count{font-family:var(--mono);font-size:10.5px;font-weight:500;padding:1px 7px;border-radius:var(--r-full);background:var(--surface);color:var(--text-3)}.group__rule{flex:1;height:1px;background:var(--line-soft)}.cards{display:flex;flex-direction:column;gap:var(--s3)}.card{display:block;width:100%;text-align:start;position:relative;cursor:pointer;padding:var(--s4);border-radius:var(--r-md);background:var(--surface);transition:transform var(--fast) var(--spring),background var(--fast) var(--ease);animation:cardIn .42s var(--ease) both}@keyframes cardIn{0%{opacity:0;transform:translateY(12px)}}.card:hover{background:var(--surface-2)}.card:active{transform:scale(.988)}.card.is-active{background:linear-gradient(168deg,#1d2a24,#1a2320);box-shadow:inset 0 0 0 1px #4fc78e4d,var(--shadow-2)}.card__hit{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:1}.card__hit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.card>*:not(.card__hit){position:relative;z-index:0}.card__top{display:flex;align-items:center;gap:var(--s2)}.dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:var(--text-3)}.dot--busy{background:var(--amber);box-shadow:0 0 0 3px #e3b34129}.dot--live{background:var(--accent);box-shadow:0 0 0 3px #4fc78e2e}.dot--idle{background:#454a56}@media (prefers-reduced-motion: no-preference){.dot--busy{animation:pulse 2s ease-in-out infinite}}@keyframes pulse{50%{box-shadow:0 0 0 7px #e3b3410a}}.card__title{flex:1;min-width:0;font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip{font-family:var(--mono);font-size:11px;font-weight:500;padding:3px 8px;border-radius:var(--r-xs);background:var(--surface-2);color:var(--text-2);white-space:nowrap;direction:ltr;unicode-bidi:isolate}.chip--cmd{color:var(--accent);background:#4fc78e1c}.chip--app{color:var(--sky);background:#7cc4e81c}.chip--watch{color:var(--violet);background:#b4a5e81f}.card__meta{display:flex;align-items:baseline;gap:var(--s3);margin-top:6px}.card__path{flex:1 1 auto;min-width:0;font-family:var(--mono);font-size:11.5px;color:var(--text-3);direction:ltr;unicode-bidi:isolate;text-align:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__when{flex:0 0 auto;font-size:12px;color:var(--text-3)}.card__preview{margin:var(--s3) 0 0;padding:var(--s3);border-radius:var(--r-sm);background:var(--bg-sunk);font-family:var(--mono);font-size:11px;line-height:1.55;color:var(--text-3);direction:ltr;unicode-bidi:plaintext;text-align:start;white-space:pre;overflow:hidden;max-height:4.8em;mask-image:linear-gradient(180deg,#000 52%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 52%,transparent)}.card__acts{display:flex;gap:2px;flex:0 0 auto;position:relative;z-index:2}.card__act{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-xs);color:var(--text-3);transition:background var(--fast) var(--ease),color var(--fast) var(--ease),transform var(--fast) var(--spring)}.card__act:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.card__act:hover{background:var(--surface-3);color:var(--text)}.card__act:active{transform:scale(.9)}.card__act--danger:hover{background:#ef7a8026;color:var(--red)}.card__form{display:flex;align-items:center;gap:var(--s2);margin-top:var(--s3);position:relative;z-index:2}.card__form .input{flex:1;min-width:0}.card__form .btn{min-height:46px;padding:0 var(--s4);flex:0 0 auto}.card__form--severe{padding:var(--s3);border-radius:var(--r-sm);background:#ef7a801f}.card__warn{flex:1;font-size:14px;line-height:1.5;color:var(--text-2)}.card__form--severe .card__warn{color:#ffd9dc}.skel{pointer-events:none}.skel__line{height:12px;border-radius:var(--r-full);background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{padding:var(--s8) var(--s5);text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items:center;gap:var(--s3);text-wrap:balance}.empty__title{color:var(--text-2);font-weight:600;font-size:17px}.note{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4);border-radius:var(--r-sm);background:#7cc4e814;color:var(--text-2);font-size:14px;line-height:1.6;text-wrap:pretty}.note svg{flex:0 0 auto;margin-top:3px}.note--warn{background:#e3b34117}.note--err{background:#ef7a801c;color:#ffd9dc}.term{flex:1;min-height:0;position:relative;background:var(--bg-sunk)}.term__mount{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--s3) 0 0 var(--s3)}.term__mount[style*=scale]{inset:auto auto auto auto;padding:0}.term .xterm{height:100%}.term .xterm-viewport{overscroll-behavior:contain}.term .xterm-viewport::-webkit-scrollbar{width:6px}.term .xterm-rows span:not(.xterm-wide-char){display:inline}.term .xterm-rows>div{unicode-bidi:plaintext}.term__veil{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;gap:var(--s3);justify-items:center;background:#101216eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--text-2);font-size:15px;z-index:3}.spinner{width:24px;height:24px;border-radius:50%;border:2px solid var(--surface-3);border-top-color:var(--accent);animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.foot{border-top:1px solid var(--line-soft);background:#14161be6;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);padding-bottom:var(--safe-b)}.keybar{display:flex;gap:6px;padding:var(--s3) var(--s3) var(--s2);overflow-x:auto;scrollbar-width:none}.keybar::-webkit-scrollbar{display:none}.key{flex:0 0 auto;min-width:46px;height:46px;padding:0 var(--s3);border-radius:var(--r-sm);background:var(--surface);color:var(--text-2);font-family:var(--mono);font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;transition:transform var(--fast) var(--spring),background var(--fast) var(--ease),color var(--fast) var(--ease)}.key:hover{background:var(--surface-2);color:var(--text)}.key:active{transform:scale(.93)}.key.is-on{background:#4fc78e2e;color:var(--accent-soft);box-shadow:inset 0 0 0 1px #4fc78e66}.composer{display:flex;align-items:flex-end;gap:var(--s2);padding:var(--s2) var(--s3) var(--s3)}.composer__input{flex:1;min-width:0;min-height:46px;max-height:140px;padding:12px var(--s4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg-sunk);color:var(--text);font-family:var(--mono);font-size:15px;line-height:1.45;direction:ltr;text-align:left;unicode-bidi:plaintext;resize:none;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.composer__input::placeholder{color:var(--text-3);font-family:var(--ui)}.composer__input:focus{outline:none;border-color:var(--accent-deep);background:var(--surface)}.ask{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line-soft);background:#ef7a8014;animation:rise var(--fast) var(--ease) both}.ask .input{flex:1}.ask__text{flex:1;font-size:14.5px;line-height:1.5;color:var(--text-2);text-wrap:pretty}.ask__text b{color:var(--text);font-weight:700}.ask .btn{min-height:46px;padding:0 var(--s4)}.ask--severe{background:#ef7a8029}.ask--severe .ask__text{color:#ffd9dc}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);background:#08090ca8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade var(--mid) var(--ease) both}@keyframes fade{0%{opacity:0}}.sheet{position:fixed;z-index:calc(var(--z-sheet) + 1);inset-inline:0;bottom:0;max-height:88dvh;overflow-y:auto;padding:var(--s4) var(--s5) calc(var(--s6) + var(--safe-b));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-2);animation:rise var(--mid) var(--ease) both}@keyframes rise{0%{transform:translateY(16px);opacity:0}}@media (min-width: 700px){.sheet{inset:auto 50% 50% auto;transform:translate(50%,50%);width:min(540px,92vw);border-radius:var(--r-lg)}@keyframes rise{0%{transform:translate(50%,calc(50% + 16px));opacity:0}}}.sheet__grip{width:40px;height:4px;border-radius:var(--r-full);background:var(--surface-3);margin:0 auto var(--s5)}.sheet__title{font-size:21px;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--s5)}.field{margin-bottom:var(--s5)}.field__label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--text-2);margin-bottom:var(--s2)}.field__hint{font-size:13px;color:var(--text-3);margin-top:var(--s2);line-height:1.55;text-wrap:pretty}.input{width:100%;min-height:46px;padding:11px var(--s4);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg-sunk);color:var(--text);font-size:15px;transition:border-color var(--fast) var(--ease),background var(--fast) var(--ease)}.input:focus{outline:none;border-color:var(--accent-deep);background:var(--surface-2)}.input--mono{font-family:var(--mono);direction:ltr;text-align:left;unicode-bidi:isolate}.input--mono::placeholder{font-family:var(--ui);unicode-bidi:plaintext}.picks{display:flex;flex-wrap:wrap;gap:var(--s2)}.pick{padding:0 var(--s4);min-height:46px;display:inline-flex;align-items:center;border-radius:var(--r-sm);background:var(--surface-2);font-family:var(--mono);font-size:13px;color:var(--text-2);direction:ltr;unicode-bidi:isolate;transition:background var(--fast) var(--ease),color var(--fast) var(--ease),transform var(--fast) var(--spring)}.pick:hover{background:var(--surface-3);color:var(--text)}.pick:active{transform:scale(.96)}.pick.is-on{background:#4fc78e2e;color:var(--accent-soft);box-shadow:inset 0 0 0 1px #4fc78e66}.sheet__actions{display:flex;gap:var(--s2);margin-top:var(--s6)}.sheet__actions .btn{flex:1}.row{display:flex;align-items:center;gap:var(--s2)}.spacer{flex:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.gate{min-height:100%;display:grid;place-items:center;padding:var(--s5);position:relative;z-index:1}.gate__card{width:min(400px,100%);padding:var(--s7) var(--s5) var(--s6);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);text-align:center;animation:rise var(--mid) var(--ease) both}.gate__mark{width:62px;height:62px;margin:0 auto var(--s5);display:grid;place-items:center;border-radius:var(--r-md);background:#4fc78e24;color:var(--accent)}.gate__title{margin:0 0 var(--s2);font-size:24px;font-weight:700;letter-spacing:-.025em}.gate__sub{margin:0 0 var(--s6);font-size:15px;color:var(--text-2);text-wrap:balance}.gate__input{text-align:center;letter-spacing:.1em;font-size:16px}.gate__err{margin-top:var(--s3);text-align:start}.gate__go{width:100%;margin-top:var(--s4)}.gate__hint{margin:var(--s5) 0 0;font-size:13px;color:var(--text-3);line-height:1.65;text-wrap:pretty}.gate__hint code{font-family:var(--mono);font-size:12px;padding:2px 6px;border-radius:6px;background:var(--surface-2);color:var(--text-2);direction:ltr;unicode-bidi:isolate}
