/**
 * 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{--tg-bg: var(--tg-theme-bg-color, #0d0e10);--tg-bg-2: var(--tg-theme-secondary-bg-color, #16181b);--tg-bg-section: var(--tg-theme-section-bg-color, #16181b);--tg-bg-header: var(--tg-theme-header-bg-color, #0a0b0d);--tg-fg: var(--tg-theme-text-color, #e6e6e6);--tg-hint: var(--tg-theme-hint-color, #6f7480);--tg-button: var(--tg-theme-button-color, #4d8eff);--tg-button-fg: var(--tg-theme-button-text-color, #ffffff);--tg-link: var(--tg-theme-link-color, #6aa9ff);--tg-accent: var(--tg-theme-accent-text-color, #6aa9ff);--tg-dest: var(--tg-theme-destructive-text-color, #f04848);--inst-bg: var(--tg-bg);--inst-bg-rise: color-mix(in srgb, var(--tg-bg) 88%, var(--tg-fg) 12%);--inst-bg-fall: color-mix(in srgb, var(--tg-bg) 95%, #000 5%);--inst-fg: var(--tg-fg);--inst-fg-mute: var(--tg-hint);--inst-fg-faint: color-mix(in srgb, var(--tg-hint) 70%, transparent);--inst-rule: color-mix(in srgb, var(--tg-fg) 12%, transparent);--inst-rule-soft: color-mix(in srgb, var(--tg-fg) 6%, transparent);--inst-grid: color-mix(in srgb, var(--tg-fg) 4%, transparent);--inst-open: var(--tg-link);--inst-ready: #4ec9a8;--inst-processing:color-mix(in srgb, var(--tg-link) 70%, white 30%);--inst-paused: #d4a13a;--inst-blocked: #d96f3a;--inst-failed: var(--tg-dest);--inst-archived: var(--tg-hint);--inst-done: #6f7d6f;--inst-prompting: #c97cd4;--font-sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Code", monospace;--font-display: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 28px;--s-7: 40px;--statusbar-h: 40px;--tabbar-h: 60px;--radius: 4px;--radius-lg: 6px}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--inst-bg);color:var(--inst-fg);font-family:var(--font-sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}body{background-image:radial-gradient(at 90% 10%,color-mix(in srgb,var(--tg-link) 5%,transparent) 0,transparent 40%),radial-gradient(at 10% 90%,color-mix(in srgb,var(--tg-accent) 4%,transparent) 0,transparent 50%);background-attachment:fixed}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--s-3) 0 calc(var(--tabbar-h) + var(--s-3));scroll-padding-top:var(--s-4);overscroll-behavior:contain}.page{animation:page-in .18s cubic-bezier(.2,.7,.3,1) both}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.container{padding:0 var(--s-4)}.statusbar{position:sticky;top:0;z-index:30;height:var(--statusbar-h);display:grid;grid-template-columns:1fr auto;align-items:center;padding:0 var(--s-4);background:var(--tg-bg-header);border-bottom:1px solid var(--inst-rule);font-family:var(--font-mono);font-size:11.5px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.02em}.statusbar .signals{display:flex;gap:var(--s-4);align-items:center}.statusbar .signal{display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;color:var(--inst-fg-mute)}.statusbar .signal.is-active{color:var(--inst-fg)}.statusbar .signal.is-warn{color:var(--inst-paused)}.statusbar .signal.is-fail{color:var(--inst-failed)}.statusbar .pip{display:inline-block;width:7px;height:7px;border:1px solid currentColor}.statusbar .signal.is-active .pip{background:currentColor;animation:pulse 2.2s ease-in-out infinite}.statusbar .signal.is-warn .pip,.statusbar .signal.is-fail .pip{background:currentColor}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.statusbar .clock{color:var(--inst-fg);font-weight:400;letter-spacing:.04em}.tabbar{position:fixed;bottom:0;left:0;right:0;height:var(--tabbar-h);display:grid;grid-template-columns:repeat(4,1fr);background:var(--tg-bg-header);border-top:1px solid var(--inst-rule);padding-bottom:env(safe-area-inset-bottom);z-index:30}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--inst-fg-mute);text-decoration:none;font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.08em;position:relative;transition:color .12s ease}.tab .tab-glyph{font-family:var(--font-mono);font-size:14px;line-height:1;opacity:.55}.tab.active{color:var(--inst-fg)}.tab.active .tab-glyph{opacity:1;color:var(--tg-link)}.tab.active:before{content:"";position:absolute;top:0;left:28%;right:28%;height:2px;background:var(--tg-link)}.h-title{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:-.01em;margin:0}.h-section{display:flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.12em;color:var(--inst-fg-mute);margin:var(--s-5) 0 var(--s-2)}.h-section:before{content:"└─";color:var(--inst-fg-faint);letter-spacing:0;font-weight:400}.h-section .count{margin-left:auto;color:var(--inst-fg-faint);font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--inst-fg-mute)}.faint{color:var(--inst-fg-faint)}.upper{text-transform:uppercase;letter-spacing:.08em}.smol{font-size:11.5px}.card{display:block;width:100%;text-align:left;background:var(--tg-bg-section);border:1px solid var(--inst-rule-soft);border-radius:var(--radius);padding:var(--s-3) var(--s-4);color:inherit;text-decoration:none;cursor:pointer;transition:border-color .12s ease,transform 80ms ease,background .12s ease}.card+.card{margin-top:var(--s-2)}.card:hover{border-color:var(--inst-rule)}.card:active{transform:translateY(.5px);background:var(--inst-bg-rise)}.card-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.card-title{font-family:var(--font-sans);font-size:15px;font-weight:500;letter-spacing:-.005em;line-height:1.3;color:var(--inst-fg)}.card-meta{display:flex;align-items:center;gap:var(--s-3);margin-top:6px;font-family:var(--font-mono);font-size:11px;color:var(--inst-fg-mute);font-variant-numeric:tabular-nums}.card-meta .dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.4}.card.is-stale{opacity:.55}.card.is-stale .card-title:after{content:" · STALE";color:var(--inst-paused);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;margin-left:var(--s-2)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:2px;font-family:var(--font-mono);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:currentColor;background:color-mix(in srgb,currentColor 12%,transparent);border:1px solid color-mix(in srgb,currentColor 30%,transparent);white-space:nowrap}.badge .pip{display:inline-block;width:6px;height:6px;background:currentColor}.badge.tone-open{color:var(--inst-open)}.badge.tone-ready{color:var(--inst-ready)}.badge.tone-processing{color:var(--inst-processing)}.badge.tone-paused{color:var(--inst-paused)}.badge.tone-blocked{color:var(--inst-blocked)}.badge.tone-failed{color:var(--inst-failed)}.badge.tone-archived{color:var(--inst-archived)}.badge.tone-done{color:var(--inst-done)}.badge.tone-prompting{color:var(--inst-prompting)}.badge.tone-neutral{color:var(--inst-fg-mute)}.badge.is-pulsing .pip{animation:pulse 2.2s ease-in-out infinite}.badge.prio-high{color:var(--inst-failed)}.badge.prio-medium{color:var(--inst-open)}.badge.prio-low{color:var(--inst-fg-mute)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;background:transparent;color:var(--inst-fg);transition:background .12s ease,transform 80ms ease,border-color .12s ease;width:100%}.btn:active{transform:scale(.99)}.btn-primary{background:var(--tg-button);color:var(--tg-button-fg)}.btn-primary:active{background:color-mix(in srgb,var(--tg-button) 85%,black 15%)}.btn-secondary{border-color:var(--inst-rule);color:var(--inst-fg)}.btn-secondary:active{background:var(--inst-bg-rise)}.btn-danger{border-color:color-mix(in srgb,var(--inst-failed) 50%,transparent);color:var(--inst-failed)}.btn-danger:active{background:color-mix(in srgb,var(--inst-failed) 15%,transparent)}.btn-row{display:flex;gap:var(--s-2)}.btn-row .btn{flex:1}.kanban{display:flex;gap:var(--s-3);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--s-4);scroll-padding-right:var(--s-4);padding:var(--s-2) var(--s-4) var(--s-4);margin:0 calc(-1 * var(--s-4));-webkit-overflow-scrolling:touch}.kanban::-webkit-scrollbar{display:none}.kanban{scrollbar-width:none}.kanban-col{flex:0 0 calc(100vw - var(--s-4) * 2 - 14px);max-width:320px;scroll-snap-align:start;background:var(--inst-bg-fall);border:1px solid var(--inst-rule-soft);border-radius:var(--radius);padding:var(--s-3);display:flex;flex-direction:column;min-height:240px}.kanban-col-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-2);font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.kanban-col-head .label{display:inline-flex;align-items:center;gap:6px}.kanban-col-head .count{color:var(--inst-fg-mute);font-variant-numeric:tabular-nums}.kanban-density{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;height:3px;margin-bottom:var(--s-3);opacity:.7}.kanban-density .cell{background:var(--inst-rule)}.kanban-density .cell.fill{background:currentColor}.kanban-col.tone-todo .kanban-col-head .label{color:var(--inst-fg)}.kanban-col.tone-in_progress .kanban-col-head .label,.kanban-col.tone-in_progress .kanban-density{color:var(--inst-open)}.kanban-col.tone-blocked .kanban-col-head .label,.kanban-col.tone-blocked .kanban-density{color:var(--inst-blocked)}.kanban-col.tone-backlog .kanban-col-head .label{color:var(--inst-fg-mute)}.kanban-col.tone-done .kanban-col-head .label,.kanban-col.tone-done .kanban-density{color:var(--inst-done)}.kanban-card{background:var(--tg-bg-section);border:1px solid var(--inst-rule-soft);border-radius:var(--radius);padding:10px 12px;text-decoration:none;color:inherit;display:block;margin-bottom:6px;transition:border-color .12s ease,transform 80ms ease}.kanban-card:active{transform:translateY(.5px);border-color:var(--inst-rule)}.kanban-card-title{font-size:13.5px;font-weight:500;line-height:1.3;color:var(--inst-fg)}.kanban-card-meta{display:flex;align-items:center;gap:8px;margin-top:6px;font-family:var(--font-mono);font-size:10.5px;color:var(--inst-fg-mute);font-variant-numeric:tabular-nums}.kanban-card.is-stale{opacity:.5}.kanban-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--inst-fg-faint);font-family:var(--font-mono);font-size:10.5px;text-align:center;padding:var(--s-4)}.md{font-family:var(--font-sans);font-size:14px;line-height:1.55;color:var(--inst-fg)}.md h1{font-family:var(--font-display);font-size:20px;margin:var(--s-5) 0 var(--s-3)}.md h2{font-family:var(--font-display);font-size:17px;margin:var(--s-4) 0 var(--s-2)}.md h3{font-family:var(--font-sans);font-size:15px;font-weight:600;margin:var(--s-3) 0 var(--s-2);color:var(--inst-fg-mute);text-transform:uppercase;letter-spacing:.06em}.md p{margin:0 0 var(--s-3)}.md ul,.md ol{margin:0 0 var(--s-3) var(--s-5);padding:0}.md li{margin-bottom:4px}.md a{color:var(--inst-open);text-decoration:none;border-bottom:1px dashed color-mix(in srgb,var(--inst-open) 60%,transparent)}.md code{font-family:var(--font-mono);font-size:.92em;background:var(--inst-bg-rise);padding:1px 5px;border-radius:3px}.md pre{font-family:var(--font-mono);font-size:12px;line-height:1.5;background:var(--inst-bg-fall);border:1px solid var(--inst-rule-soft);border-radius:var(--radius);padding:var(--s-3);overflow-x:auto;margin:0 0 var(--s-3)}.md pre code{background:transparent;padding:0;font-size:inherit}.md blockquote{border-left:2px solid var(--inst-rule);padding:4px 0 4px var(--s-3);color:var(--inst-fg-mute);margin:0 0 var(--s-3);font-style:normal}.md table{border-collapse:collapse;width:100%;font-size:13px;margin:0 0 var(--s-3)}.md th,.md td{border-bottom:1px solid var(--inst-rule-soft);padding:6px var(--s-2);text-align:left}.md th{font-weight:600;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--inst-fg-mute)}.md hr{border:none;border-top:1px solid var(--inst-rule-soft);margin:var(--s-4) 0}.skel{background:linear-gradient(90deg,var(--inst-bg-rise) 0%,var(--inst-bg-fall) 50%,var(--inst-bg-rise) 100%);background-size:200% 100%;animation:skel-shimmer 1.4s linear infinite;border-radius:var(--radius)}@keyframes skel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-line{height:12px;margin:6px 0}.skel-card{height:64px;margin-bottom:var(--s-2)}.empty{text-align:center;padding:var(--s-7) var(--s-4);color:var(--inst-fg-mute)}.empty .empty-glyph{font-family:var(--font-mono);font-size:26px;line-height:1;color:var(--inst-fg-faint);letter-spacing:-.05em;margin-bottom:var(--s-3)}.empty .empty-title{font-family:var(--font-sans);font-size:15px;font-weight:500;color:var(--inst-fg);margin-bottom:4px}.empty .empty-hint{font-family:var(--font-mono);font-size:11.5px;color:var(--inst-fg-mute);letter-spacing:.04em}.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:var(--s-3) calc(-1 * var(--s-4)) var(--s-3);padding:0 var(--s-4)}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:5px 10px;font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.1em;background:var(--tg-bg-section);color:var(--inst-fg-mute);border:1px solid var(--inst-rule-soft);border-radius:999px;cursor:pointer;transition:color .12s ease,border-color .12s ease}.chip.is-active{color:var(--inst-fg);border-color:var(--inst-rule)}.chip .count{font-variant-numeric:tabular-nums;color:var(--inst-fg-faint);margin-left:2px}.chip.is-active .count{color:var(--inst-fg-mute)}.live-pane{position:fixed;inset:var(--statusbar-h) 0 0 0;display:flex;flex-direction:column;background:var(--inst-bg-fall);z-index:20}.live-pane-toolbar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--inst-rule);font-family:var(--font-mono);font-size:11.5px;color:var(--inst-fg-mute)}.live-pane-term{flex:1;overflow:hidden}.live-pane-term .xterm{padding:8px;height:100%}.error-banner{padding:var(--s-3) var(--s-4);margin:var(--s-3) var(--s-4);background:color-mix(in srgb,var(--inst-failed) 10%,transparent);border:1px solid color-mix(in srgb,var(--inst-failed) 35%,transparent);border-radius:var(--radius);color:var(--inst-failed);font-family:var(--font-mono);font-size:12px}.kv{display:grid;grid-template-columns:100px 1fr;row-gap:4px;font-family:var(--font-mono);font-size:11.5px;margin:var(--s-3) 0}.kv dt{color:var(--inst-fg-mute);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.kv dd{color:var(--inst-fg);margin:0;font-variant-numeric:tabular-nums}.tree-row{display:flex;align-items:center;gap:var(--s-2);padding:6px var(--s-4);font-family:var(--font-mono);font-size:12px;color:var(--inst-fg);cursor:pointer;border-radius:0;border-bottom:1px solid var(--inst-rule-soft)}.tree-row:active{background:var(--inst-bg-rise)}.tree-row .tree-glyph{color:var(--inst-fg-faint)}.tree-row .tree-name{flex:1}.tree-row .tree-size{font-size:10.5px;color:var(--inst-fg-mute)}
