/**
 * 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-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{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.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}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{--bg: #1e1e2e;--mantle: #181825;--crust: #11111b;--surface0: #313244;--surface1: #45475a;--surface2: #585b70;--overlay0: #6c7086;--overlay1: #7f849c;--sub0: #a6adc8;--sub1: #bac2de;--fg: #cdd6f4;--acc: #cba6f7;--acc-hover: #d9bdfa;--ok: #a6e3a1;--warn: #fab387;--err: #f38ba8;--cy: #74c7ec;--cy-hover: #89dceb;--pur: #b4befe;--pink: #f5c2e7;--line: #2a2b3d;--line-side: #26263a;--row-hover: #262638;--group-bg: #1b1b29;--group-hover: #232336;--btn-hover: #3b3d52;--danger-bg: #3b2433;--danger-bd: #5b2f40;--banner-bg: #2c2034;--banner-bd: #4b3560;--dirty-bd: #5c4b3a;--dirty-bg: #3d3428;--ok-bg: #24382c;--ok-bd: #3d5c45;--acc-bg: #362c4a;--cy-bg: #1f3240;--sel-bg: #2b2540;--backdrop: rgba(10, 10, 14, .6);--ui: "Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;scrollbar-color:var(--surface1) transparent;scrollbar-width:thin}html,body,#root{margin:0;height:100%;background:var(--bg);overflow:hidden}body{color:var(--fg);font-family:var(--ui);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--overlay0)}::selection{background:#cba6f755}select option{background:var(--mantle);color:var(--fg)}a,.a{color:var(--cy);text-decoration:none;cursor:pointer;background:none;border:0;padding:0}a:hover,.a:hover{color:var(--cy-hover)}:focus-visible{outline:2px solid var(--acc);outline-offset:1px}.icon{flex:0 0 auto;display:inline-block;vertical-align:-2px}h1,h2,h3{margin:0}.t-ok{color:var(--ok)}.t-warn{color:var(--warn)}.t-err{color:var(--err)}.t-mut{color:var(--sub0)}.t-cy{color:var(--cy)}.t-acc{color:var(--acc)}.t-pur{color:var(--pur)}.t-pink{color:var(--pink)}.t-fg{color:var(--fg)}.t-sub{color:var(--sub1)}.bg-ok{background:var(--ok)}.bg-warn{background:var(--warn)}.bg-err{background:var(--err)}.bg-mut{background:var(--sub0)}.bg-cy{background:var(--cy)}.bg-acc{background:var(--acc)}.bg-pur{background:var(--pur)}.mono{font-family:var(--mono)}.small{font-size:12px}.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.num{font-variant-numeric:tabular-nums}.grow{flex:1}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative}.hdr{flex:0 0 auto;display:grid;grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);align-items:center;gap:14px;min-height:46px;padding:6px 14px;background:var(--mantle);border-bottom:1px solid var(--line-side)}.hdr-logo{padding:0;justify-self:start}.hdr-banner{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--acc);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.hdr-vitals{justify-self:end;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--sub0);white-space:nowrap;font-variant-numeric:tabular-nums}.hdr-vitals .stale,.hdr-vitals .stale span,.hdr-sep{color:var(--overlay0)}@media(max-width:1150px){.hdr-stopped,.hdr-stopped+.hdr-sep{display:none}}@media(max-width:899px){.hdr{gap:10px;padding:6px 10px}.hdr-banner,.hdr-load,.hdr-load+.hdr-sep,.hdr-stopped,.hdr-stopped+.hdr-sep,.logo-text span{display:none}.hdr-vitals{min-width:0;overflow:hidden}}@media(max-width:519px){.hdr-running,.hdr-running+.hdr-sep{display:none}}.frame{flex:1;min-height:0;display:flex}.main{flex:1;min-width:0;overflow:auto}.page{padding:22px 28px 40px;display:flex;flex-direction:column;gap:18px;min-height:100%}.side{flex:0 0 236px;width:236px;display:flex;flex-direction:column;gap:14px;padding:14px 12px;background:var(--mantle);border-right:1px solid var(--line-side);position:relative;min-height:0}.logo{display:flex;align-items:center;gap:10px;padding:2px 6px}.logo-mark{width:28px;height:28px;border-radius:7px;background:var(--acc);color:var(--bg);display:grid;place-items:center}.logo-text{display:flex;flex-direction:column;line-height:1.15}.logo-text b{font-weight:700;font-size:14px;color:var(--fg)}.logo-text span{font-size:11px;color:var(--sub0)}.ctx-wrap{position:relative}.ctx-btn{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--mantle);border:1px solid var(--surface0);border-radius:8px;cursor:pointer;text-align:left}.ctx-btn:hover{border-color:var(--surface2)}.env-block{display:flex;flex-direction:column}.env-block .ctx-btn{border-bottom-left-radius:0;border-bottom-right-radius:0}.env-nav{border:1px dashed var(--surface1);border-top:0;border-radius:0 0 8px 8px;padding:6px 4px 5px}.env-nav .nav-item.on:before{left:-4px}.ctx-btn-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.ctx-btn-text b{font-weight:600;color:var(--fg)}.ctx-btn-text span,.ctx-item-text span{font-size:11px;color:var(--sub0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono)}.menu-catch{position:fixed;top:0;right:0;bottom:0;left:0;z-index:19}.menu{position:absolute;top:calc(100% + 6px);left:0;width:300px;max-width:calc(100vw - 24px);z-index:20;background:var(--mantle);border:1px solid var(--surface1);border-radius:9px;box-shadow:0 14px 36px #00000080;padding:6px;display:flex;flex-direction:column;gap:2px}.menu-right{left:auto;right:0;width:220px}.menu-head{padding:4px 8px;font-size:11px;color:var(--sub0);text-transform:uppercase;letter-spacing:.06em}.menu-head.thin{margin-top:4px;padding:6px 8px 2px;border-top:1px solid var(--line);font-size:10.5px;text-transform:lowercase;letter-spacing:.04em;color:var(--overlay1)}.menu-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border:0;background:transparent;border-radius:6px;cursor:pointer;text-align:left;color:var(--sub1)}.menu-item:hover:not(:disabled){background:var(--surface0);color:var(--fg)}.menu-item:disabled{opacity:.5;cursor:default}.menu-item.danger{color:var(--err)}.menu-item.danger:hover{background:var(--danger-bg);color:var(--err)}.ctx-item-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.ctx-item-text b{font-weight:500;color:var(--fg)}.menu-sep{height:1px;background:var(--surface0);margin:4px 0}.add-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 10px;background:var(--acc);color:var(--bg);border:0;border-radius:8px;font-weight:600;cursor:pointer}.add-btn:hover{background:var(--acc-hover)}.nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--sub1);cursor:pointer;text-align:left;position:relative}.nav-item:hover{color:var(--fg)}.nav-item.on{background:var(--line);color:var(--fg)}.nav-item.on:before{content:"";position:absolute;left:-12px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--acc)}.nav-ic{width:16px;display:grid;place-items:center}.nav-label{flex:1}.nav-count{font-size:11.5px;color:var(--sub0);font-variant-numeric:tabular-nums}.side-tasks{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px dashed var(--surface1);border-radius:8px;background:transparent;color:var(--sub0);cursor:pointer;text-align:left;font-size:12px}.side-tasks:hover{color:var(--fg);border-color:var(--surface2)}.side-tasks .spin{color:var(--acc)}.pal-btn{display:flex;align-items:center;gap:8px;padding:7px 10px;background:transparent;border:1px solid var(--surface0);border-radius:8px;color:var(--sub0);cursor:pointer;text-align:left}.pal-btn:hover{border-color:var(--surface2);color:var(--fg)}.side-user{display:flex;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;border:1px solid var(--surface0);border-radius:8px;color:var(--sub0);font-size:12px;min-width:0}.side-user-out{background:transparent;border:0;color:var(--sub0);cursor:pointer;font:inherit;font-size:11.5px;padding:2px 6px;border-radius:5px;white-space:nowrap}.side-user-out:hover{color:var(--fg);background:var(--surface0)}.kbd{font-size:11px;padding:0 5px;border:1px solid var(--surface1);border-radius:4px;font-family:var(--ui)}.side-foot{display:flex;gap:10px;font-size:11.5px;color:var(--sub0);padding:0 4px;white-space:nowrap}.side-foot .ver{margin-left:auto}.conn-off{color:var(--warn)}@media(max-width:899px){.side{flex-basis:204px;width:204px;padding:12px 8px;overflow-y:auto}.side .menu{width:100%}.page{padding:16px 16px 32px}}.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-head-text{flex:1;min-width:240px;display:flex;flex-direction:column;gap:4px}.page-sup{font-size:12px;color:var(--sub0)}.h1{margin:0;font-size:20px;font-weight:600;color:var(--fg);letter-spacing:-.01em}.crumbs{display:flex;gap:6px;font-size:12px;color:var(--sub0);flex-wrap:wrap}.detail-head{display:flex;flex-direction:column;gap:8px}.title-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.title-row .h1{overflow-wrap:anywhere}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.meta-line{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--sub0);font-family:var(--mono)}.meta-line span{overflow-wrap:anywhere}.spill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;background:var(--mantle);border:1px solid var(--surface0);font-size:12px;font-weight:500;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;display:inline-block}.pill{font-size:11.5px;padding:1px 8px;border-radius:999px;border:1px solid var(--surface1);white-space:nowrap}.badge{font-size:11px;padding:0 7px;border-radius:999px;white-space:nowrap}.badge-acc{background:var(--acc-bg);color:var(--acc)}.badge-ok{background:var(--ok-bg);color:var(--ok)}.badge-dirty{background:var(--dirty-bg);color:var(--warn)}.badge-cy{background:var(--cy-bg);color:var(--cy)}.badge-mut{background:var(--surface0);color:var(--sub0)}.btn{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:7px;cursor:pointer;white-space:nowrap;font-weight:500}.btn:disabled{cursor:default;opacity:.5}.btn.locked{cursor:default;opacity:.5;pointer-events:none}.btn-secondary{border:1px solid var(--surface1);background:var(--line);color:var(--fg)}.btn-secondary:hover:not(:disabled){background:var(--btn-hover)}.btn-primary{border:0;padding:6px 12px;background:var(--acc);color:var(--bg);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--acc-hover)}.btn-primary:disabled,.btn-primary.locked{background:var(--surface2);opacity:1}.btn-ghost{border:0;background:transparent;color:var(--sub1);font-weight:400}.btn-ghost:hover:not(:disabled){color:var(--fg)}.btn-danger{border:1px solid var(--danger-bd);background:transparent;color:var(--err)}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.btn-danger-solid{border:0;padding:6px 12px;background:var(--err);color:var(--bg);font-weight:600}.btn-outline{gap:6px;padding:3px 9px;border:1px solid var(--surface1);border-radius:6px;background:transparent;color:var(--fg);font-size:12px;font-weight:400}.btn-outline:hover:not(:disabled){background:var(--surface0)}.btn-link{gap:6px;padding:3px 9px;border:0;border-radius:6px;background:transparent;color:var(--cy);font-size:12px;font-weight:400}.btn-link:hover:not(:disabled){background:var(--surface0)}.btn-sq{padding:5px 8px}.ibtn{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--sub1);cursor:pointer;flex:0 0 auto}.ibtn:hover:not(:disabled){background:var(--surface1);color:var(--fg)}.ibtn-danger:hover:not(:disabled){background:var(--danger-bg);color:var(--err)}.ibtn:disabled{opacity:.35;cursor:default}.more{position:relative}.search{display:flex;align-items:center;gap:8px;flex:0 1 340px;min-width:200px;max-width:340px;padding:6px 10px;background:var(--mantle);border:1px solid var(--surface0);border-radius:7px}.search:focus-within{border-color:var(--surface2)}.search input{flex:1;min-width:0;background:transparent;border:0;outline:0}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seg{display:flex;gap:2px;padding:2px;background:var(--mantle);border:1px solid var(--surface0);border-radius:7px}.seg-item{display:flex;gap:6px;align-items:center;padding:4px 10px;border:0;border-radius:5px;background:transparent;color:var(--sub0);cursor:pointer}.seg-item.on{background:var(--surface0);color:var(--fg)}.seg-mono .seg-item{font-family:var(--mono);font-size:12px}.seg-n{font-size:11px;opacity:.75}.toggle{display:flex;align-items:center;gap:8px;padding:4px 6px;border:0;background:transparent;cursor:pointer;color:var(--sub1)}.toggle-track{width:30px;height:18px;border-radius:9px;background:var(--surface1);position:relative;flex:0 0 auto;transition:background .15s}.toggle-track.on{background:var(--acc)}.toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--fg);transition:left .15s}.toggle-track.on .toggle-knob{left:14px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--surface0);overflow-x:auto;overflow-y:hidden}.tab{padding:8px 12px;border:0;background:transparent;color:var(--sub0);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;font-weight:500;white-space:nowrap}.tab:hover{color:var(--fg)}.tab.on{color:var(--fg);border-bottom-color:var(--acc)}.card{background:var(--mantle);border:1px solid var(--surface0);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.card-title{font-weight:600;color:var(--fg);margin-bottom:4px;display:flex;align-items:center;gap:8px}.card-title>span:first-child{flex:1}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px;align-items:start}.stack{display:flex;flex-direction:column;gap:16px;min-width:0}.kv-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:5px 0;border-top:1px solid var(--line)}.kv-row>span:first-child{color:var(--sub0)}.kv-row>span:last-child{font-family:var(--mono);font-size:12px;word-break:break-all;white-space:pre-wrap}.metric-card{display:grid;grid-template-columns:1fr 1fr;gap:16px}.metric{display:flex;flex-direction:column;gap:6px}.metric-val{font-size:22px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.meter{display:block;background:var(--surface0);overflow:hidden;min-width:0}.meter-fill{display:block;height:100%}.mount-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}.empty{padding:40px 14px;text-align:center;color:var(--sub0)}.empty-boxed{background:var(--mantle);border:1px solid var(--surface0);border-radius:10px}.missing{padding:60px 0;text-align:center;color:var(--sub0);display:flex;flex-direction:column;gap:12px;align-items:center}.err-box{padding:10px 14px;border-radius:8px;background:var(--danger-bg);border:1px solid var(--danger-bd);color:var(--err);display:flex;gap:10px;align-items:center;flex-wrap:wrap;white-space:pre-wrap}.warn-box{padding:10px 14px;border-radius:8px;background:var(--dirty-bg);border:1px solid var(--dirty-bd);color:var(--warn)}.table{background:var(--mantle);border:1px solid var(--surface0);border-radius:10px;overflow:hidden}.table-scroll{overflow-x:auto}.trow{display:grid;gap:12px;align-items:center;padding:9px 14px;border-top:1px solid var(--line);min-width:0}.trow>*{min-width:0}.thead{padding:9px 14px;border-top:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sub0)}.trow.click{cursor:pointer}.trow.hov:hover,.trow.click:hover{background:var(--row-hover)}.trow.click:focus-visible{outline-offset:-2px}.tr{text-align:right}.cell-actions{display:flex;gap:2px;justify-content:flex-end}.cell-actions.gap4{gap:4px}.cell-name{font-weight:500;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-mono{font-family:var(--mono);font-size:12px;color:var(--sub1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-two{display:flex;flex-direction:column;line-height:1.25;min-width:0}.cell-two>span:last-child{font-size:11.5px;color:var(--sub0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-meter{display:flex;flex-direction:column;gap:4px}.cell-meter>span:first-child{font-size:12px;font-variant-numeric:tabular-nums}.dot-cell{justify-self:center}.ghead{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--group-bg);border-top:1px solid var(--surface0);cursor:pointer;min-width:0}.ghead:hover{background:var(--group-hover)}.ghead-caret{width:14px;color:var(--sub0);display:grid;place-items:center}.ghead-name{font-weight:600;color:var(--fg);white-space:nowrap}.ghead-path{font-size:12px;color:var(--sub0);font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ghead-actions{display:flex;gap:4px;margin-left:auto}.log-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.log-tools .search{flex:0 1 320px;min-width:180px;padding:5px 10px}.follow-on{background:var(--ok-bg);color:var(--ok)}.follow-on:hover:not(:disabled){background:var(--ok-bg);border-color:var(--ok-bd)}.log-opt{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--sub0);cursor:pointer}.log-opt select{padding:3px 6px;background:var(--mantle);border:1px solid var(--surface0);border-radius:6px;outline:0;cursor:pointer}.log-opt input[type=checkbox]{accent-color:var(--acc);margin:0}.log-scroll{height:calc(100vh - 340px);min-height:320px;overflow:auto;background:var(--crust);border:1px solid var(--surface0);border-radius:10px;padding:10px 0;font-family:var(--mono);font-size:12px;line-height:1.65;position:relative}.log-virtual{position:relative;min-width:100%}.log-line{display:flex;gap:14px;padding:0 14px;white-space:pre}.log-virtual .log-line{position:absolute;left:0;right:0;height:20px}.log-line:hover{background:var(--group-bg)}.log-scroll.wrap .log-line .log-msg{white-space:pre-wrap;word-break:break-all}.log-ts{color:var(--overlay1);flex:0 0 auto}.log-svc{flex:0 0 11ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-msg{min-width:0;color:var(--fg)}.log-msg.t-err{color:var(--err)}.log-msg.t-warn{color:var(--warn)}.log-msg.t-mut{color:var(--sub0)}mark.hit{background:#f9e2af44;color:inherit;border-radius:2px}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:16px}.chart{gap:10px}.chart-head{display:flex;align-items:baseline;gap:10px}.chart-val{margin-left:auto;font-size:20px;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.bars{height:96px;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--surface0)}.bars span{flex:1;border-radius:1px 1px 0 0;min-height:2px}.bars span.pad{background:var(--surface0);height:2%}.chart-foot{display:flex;font-size:11.5px;color:var(--sub0)}.chart-foot span:last-child{margin-left:auto}.stats-extra{display:flex;gap:18px;flex-wrap:wrap;font-size:12px;color:var(--sub0)}.stats-extra b{color:var(--fg);font-weight:500;font-variant-numeric:tabular-nums}.term-box{background:var(--crust);border:1px solid var(--surface0);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.term-head{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);color:var(--sub0);font-size:12px;flex-wrap:wrap}.term{height:calc(100vh - 360px);min-height:300px;padding:10px 6px 6px 14px;cursor:text}.term .xterm{height:100%}.term .xterm-viewport{background:var(--crust)!important}.code-card{background:var(--mantle);border:1px solid var(--surface0);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.code-head{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--line);font-size:12px;min-width:0}.code-head .path{font-family:var(--mono);color:var(--sub1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.verdict{margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.code{display:flex;height:calc(100vh - 380px);min-height:340px;font-family:var(--mono);font-size:12.5px;line-height:1.6;background:var(--crust)}.code.code-add{height:calc(100vh - 400px);min-height:320px}.gutter{margin:0;padding:12px 10px 12px 14px;color:var(--overlay0);text-align:right;overflow:hidden;-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);min-width:46px;white-space:pre}.gutter .t-err{color:var(--err)}.code-body{position:relative;flex:1;min-width:0;display:flex}.code-hl{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:12px 14px;overflow:hidden;pointer-events:none;white-space:pre;font:inherit;line-height:inherit;color:var(--fg);-moz-tab-size:8;tab-size:8}.code-hl-line{min-height:1.6em}.code textarea{position:relative;flex:1;min-width:0;padding:12px 14px;margin:0;background:transparent;border:0;outline:0;resize:none;line-height:inherit;font:inherit;white-space:pre;-moz-tab-size:8;tab-size:8;color:transparent;-webkit-text-fill-color:transparent;caret-color:var(--acc)}.code textarea::placeholder{color:var(--overlay0);-webkit-text-fill-color:var(--overlay0)}.code textarea::selection{background:#cba6f747}.code.readonly .code-hl{color:var(--sub1);opacity:.85}.y-key{color:var(--cy)}.y-str{color:var(--ok)}.y-num,.y-bool{color:var(--warn)}.y-cmt{color:var(--overlay1);font-style:italic}.y-punct{color:var(--overlay1)}.y-var{color:var(--pink)}.y-anchor{color:var(--acc)}.code-foot{display:flex;gap:8px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);flex-wrap:wrap}.env{display:flex;flex-direction:column;gap:14px;max-width:1000px}.env-group{background:var(--mantle);border:1px solid var(--surface0);border-radius:10px;overflow:hidden}.env-head{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line)}.env-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,2fr) 32px;gap:8px;padding:6px 14px;align-items:center;border-top:1px solid var(--line-side)}.env-row:first-of-type{border-top:0}.input{min-width:0;padding:7px 10px;background:var(--mantle);border:1px solid var(--surface0);border-radius:7px;outline:0}.input:focus{border-color:var(--acc)}.input-sm{padding:5px 8px;border-radius:6px;font-family:var(--mono);font-size:12px}.input.key{color:var(--cy)}.input[readonly]{color:var(--sub0)}.env-detected{padding:8px 14px 10px;border-top:1px solid var(--line-side);display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--sub0)}.chip{font-family:var(--mono);font-size:11.5px;padding:1px 8px;border:1px solid var(--surface1);border-radius:999px;background:transparent;color:var(--sub1);cursor:pointer}.chip:hover{background:var(--surface0);color:var(--fg)}.env-bar{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;padding:10px 14px;background:var(--mantle);border:1px solid var(--surface0);border-radius:10px;flex-wrap:wrap}.env-bar.dirty{border-color:var(--dirty-bd)}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:14px}.svc-card{background:var(--mantle);border:1px solid var(--surface0);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;text-align:left;min-width:0}.svc-card:hover{border-color:var(--surface2)}.svc-line{display:flex;gap:14px;font-size:12px;color:var(--sub0);flex-wrap:wrap}.svc-line b{color:var(--fg);font-weight:400}.mig{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:20px;align-items:start}.t-hi{color:var(--fg);font-weight:600}.t-dim{color:var(--overlay0)}.mig-wiz{display:flex;flex-direction:column;gap:16px;min-width:0}.mig-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.mig-title{color:var(--sub1)}.mig-title b{color:var(--fg);font-weight:600}.mig-steps{display:inline-flex;gap:2px;padding:2px;border:1px solid var(--surface0);border-radius:8px;background:var(--mantle)}.mig-step{padding:2px 10px;border-radius:6px;font-size:12px;color:var(--sub0);white-space:nowrap}.mig-step.on{background:var(--acc);color:var(--bg);font-weight:600}.mig-col{display:flex;flex-direction:column;gap:16px;min-width:0}.mig-card{gap:8px}.mig-cap:first-letter{text-transform:uppercase}.mig-side{gap:14px;padding:16px}.mig-sect{display:flex;flex-direction:column;gap:2px;min-width:0}.mig-row{display:flex;gap:10px;padding:3px 2px;min-width:0}.mig-radio{padding:9px 12px;gap:10px}.mig-radio:disabled{opacity:.55}.mig-radio .kbd,.mig-target.off{opacity:.55}.mig-desc{font-family:var(--ui)!important;opacity:.8}.mig-mono{font-family:var(--mono);font-size:12px}.mig-num{font-variant-numeric:tabular-nums;white-space:nowrap}.mig-wrap{overflow-wrap:anywhere}.mig-h{display:flex;align-items:baseline;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sub0);padding-bottom:4px}.mig-h .a{text-transform:none;letter-spacing:0}.mig-svc{display:flex;gap:14px;min-width:0}.mig-check{display:flex;align-items:center;gap:10px;padding:4px 2px;background:transparent;border:0;border-top:1px solid var(--line);cursor:pointer;text-align:left;min-width:0;width:100%;border-radius:0}.mig-check:hover{background:var(--row-hover)}.mig-vname{flex:0 0 auto;width:34%}.mig-check .mig-num,.mig-total .mig-num{flex:0 0 72px;text-align:right}.mig-total{display:flex;align-items:baseline;gap:10px;padding:6px 2px 0;border-top:1px dashed var(--surface1);min-width:0}.mig-pre{display:flex;gap:8px;align-items:flex-start}.mig-ic{flex:0 0 18px;text-align:center;font-family:var(--mono)}.mig-opt{display:flex;align-items:flex-start;gap:10px;padding:4px 2px;background:transparent;border:0;border-radius:5px;cursor:pointer;text-align:left;color:var(--fg);width:100%}.mig-opt .icon{margin-top:2px}.mig-opt:hover:not(:disabled){background:var(--row-hover)}.mig-opt.static{cursor:default;color:var(--sub1)}.mig-opt.off{opacity:.5}.mig-phases{display:flex;flex-direction:column;gap:12px;max-height:min(60vh,520px);overflow:auto;padding:8px 12px 10px;background:var(--crust);border:1px solid var(--line);border-radius:8px;min-width:0}.mig-phase-grp{display:flex;flex-direction:column;gap:1px;min-width:0}.mig-phase-h{position:sticky;top:0;z-index:1;display:flex;align-items:baseline;gap:8px;padding:6px 0 4px;background:var(--crust);border-bottom:1px solid var(--line);margin-bottom:4px;font-size:12px;font-weight:600;color:var(--fg)}.mig-phase-n{flex:none;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--acc);color:var(--bg);font-family:var(--mono);font-size:11px;font-weight:700}.mig-pstep{display:flex;align-items:baseline;gap:8px;padding:2px 0 2px 4px;font-size:12px;min-width:0;color:var(--sub1)}.mig-pstep.down,.mig-pstep.up{color:var(--fg)}.mig-pstep .tag{flex:none;font-size:10px;line-height:1.4;padding:0 6px;border-radius:999px;border:1px solid var(--line);color:var(--sub0);white-space:nowrap}.mig-pstep .tag.err{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,transparent)}.mig-pstep .tag.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.mig-cmd-details>summary{cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.mig-cmd-details>summary:before{content:"▸ ";color:var(--overlay0)}.mig-cmd-details[open]>summary:before{content:"▾ "}.mig-cmd-details[open]>.mig-cmd{margin-top:8px}.mig-cmd{margin:0;padding:10px 12px;background:var(--crust);border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--sub1);white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto}.mig-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.mig-label{white-space:pre}.mig-log{display:flex;flex-direction:column;gap:2px}.mig-line{display:flex;gap:8px;font-family:var(--mono);font-size:12px;line-height:1.6}.mig-text{overflow-wrap:anywhere}.mig-runhead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.mig-phase{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;border:1px solid var(--surface1);font-size:12px;font-weight:500}.mig-run{gap:12px}.mig-runsteps{display:flex;flex-direction:column;max-height:min(56vh,520px);overflow-y:auto;position:relative}.mig-runhd{margin-top:10px;padding:6px 0;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.mig-runhd:first-child{margin-top:0}.mig-runstep{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:5px 0;border-top:1px solid var(--line);min-width:0}.mig-runstep>.mig-mono{flex:1 1 220px}.mig-runstep.cur{background:linear-gradient(90deg,var(--sel-bg),transparent 70%)}.mig-sbar{flex:0 1 160px;min-width:80px;height:4px}.mig-meta{flex:0 1 auto;max-width:45%;text-align:right}.mig-done{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border-radius:8px;background:var(--ok-bg);color:var(--ok)}.mig-done.warn{background:var(--dirty-bg);color:var(--warn)}.mig-done.err{background:var(--danger-bg);color:var(--err)}.mig-done-line{text-wrap:pretty;overflow-wrap:anywhere}.mig-done-note{color:var(--sub1);white-space:pre-wrap;font-size:12.5px}.side-mig{border-style:solid;border-color:var(--acc-bg);color:var(--sub1);text-decoration:none;margin-bottom:6px}.side-mig .spinner{color:var(--acc)}.opt-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--mantle);border:1px solid var(--surface0);border-radius:9px;cursor:pointer;text-align:left;width:100%}.opt-card.on{background:var(--sel-bg);border-color:var(--acc)}.opt-card.top{align-items:flex-start;padding:12px 14px}.opt-card:disabled{opacity:.55;cursor:default}.opt-check{display:flex;align-items:flex-start;gap:10px;padding:6px 2px;background:transparent;border:0;cursor:pointer;text-align:left}.sec-title{font-weight:600;color:var(--fg)}.cap{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--sub0)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span:first-child{font-size:12px;color:var(--sub0)}.field select,select.input{padding:7px 10px;background:var(--mantle);border:1px solid var(--surface0);border-radius:7px;outline:0;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px}.form-grid.tight{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px}.opt-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:8px}.opt-row .opt-card{padding:8px 12px;gap:10px}.term-log{background:var(--crust);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:var(--mono);font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:var(--backdrop);display:flex;justify-content:center;align-items:center;padding:16px}.backdrop-top{align-items:flex-start;padding-top:12vh;z-index:50}.modal{width:min(440px,92%);max-height:calc(100vh - 32px);overflow:auto;background:var(--mantle);border:1px solid var(--surface1);border-radius:12px;box-shadow:0 24px 60px #0000008c;outline:0}.steps-view{display:flex;flex-direction:column;gap:4px;font-family:var(--ui);font-size:13px;white-space:normal}.steps-group+.steps-group{margin-top:10px}.steps-title{font-weight:600;color:var(--fg);margin-bottom:4px}.steps-sum{font-size:12px;margin-bottom:4px;overflow-wrap:anywhere}.step-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:3px 0}.step-icon{flex:0 0 16px;text-align:center;color:var(--sub0)}.step-ok .step-icon{color:var(--ok)}.step-err .step-icon{color:var(--err)}.step-text{color:var(--fg)}.step-running .step-text{color:var(--acc)}.step-meta{margin-left:auto;font-size:12px;color:var(--sub0);max-width:60%}.upd-many{display:flex;flex-direction:column;gap:8px;max-height:min(60vh,560px);overflow:auto;margin:10px 0}.upd-stack{border:1px solid var(--surface0);border-radius:8px;padding:4px 10px 6px}.upd-row{display:flex;align-items:center;gap:10px;padding:4px 0;font-size:13px;cursor:pointer}.upd-row input[type=checkbox]{accent-color:var(--acc);margin:0;flex:0 0 auto}.upd-head .upd-name{font-weight:600;color:var(--fg)}.upd-svc{padding-left:22px}.upd-name{flex:0 1 220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upd-row .cell-mono{flex:1 1 200px;min-width:0}.grp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex:0 0 8px;vertical-align:middle}.tagchip{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:12px;padding:2px 6px 2px 9px;border:1px solid var(--surface1);border-radius:999px;color:var(--fg)}.tagchip button{background:none;border:0;padding:0 2px;color:var(--sub0);cursor:pointer;font-size:14px;line-height:1}.tagchip button:hover{color:var(--err)}.step-rows{flex-basis:100%;display:flex;flex-direction:column;gap:1px;margin:1px 0 4px 24px}.step-sub{display:flex;align-items:baseline;gap:8px;font-size:12px;padding:1px 0}.step-sub .step-icon{flex:0 0 14px;font-size:11px}.step-sub-name{color:var(--fg);overflow-wrap:anywhere}.step-sub-status{margin-left:auto;color:var(--sub0);white-space:nowrap}.steps-raw{flex-basis:100%;margin:2px 0 6px 24px;padding:6px 8px;background:var(--crust);border-radius:6px;font-family:var(--mono);font-size:11.5px;line-height:1.5;color:var(--sub0);white-space:pre-wrap;word-break:break-all}.modal-add{width:min(820px,calc(100vw - 32px));padding:14px}.confirm{padding:20px;display:flex;flex-direction:column;gap:10px}.confirm-title{font-size:15px;font-weight:600;color:var(--fg)}.confirm-body{color:var(--sub1);text-wrap:pretty;margin:0;overflow-wrap:anywhere}.confirm-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.chk{display:flex;align-items:flex-start;gap:8px;color:var(--sub1);cursor:pointer}.chk input{accent-color:var(--acc);margin-top:3px}.palette{width:min(600px,92%);border-radius:12px;overflow:hidden}.pal-input{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--surface0)}.pal-input input{flex:1;min-width:0;background:transparent;border:0;outline:0;font-size:14px}.pal-list{max-height:380px;overflow:auto;padding:6px;margin:0;list-style:none}.pal-item{width:100%;display:flex;align-items:center;gap:12px;padding:8px 10px;border:0;border-radius:7px;background:transparent;cursor:pointer;text-align:left}.pal-item.on{background:var(--surface0)}.pal-item .pal-ic{width:18px;display:grid;place-items:center;color:var(--cy)}.pal-item .pal-label{flex:1;min-width:0;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-item .pal-hint{font-size:12px;color:var(--sub0);white-space:nowrap;max-width:45%;overflow:hidden;text-overflow:ellipsis}.deploy{width:min(680px,94%);padding:16px 18px;display:flex;flex-direction:column;gap:12px}.deploy-head{display:flex;gap:12px;align-items:center;min-width:0}.deploy-head b{font-weight:600;color:var(--fg);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress{height:6px;border-radius:3px;background:var(--surface0);overflow:hidden;position:relative}.progress>div{height:100%;background:var(--acc);transition:width .3s}.progress.indet>div{width:30%!important;position:absolute;animation:indet 1.2s ease-in-out infinite}.progress.err>div{background:var(--err)}@keyframes indet{0%{left:-30%}to{left:100%}}.deploy-out{background:var(--crust);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-family:var(--mono);font-size:12px;line-height:1.7;min-height:200px;max-height:46vh;overflow:auto}.deploy-out div{white-space:pre-wrap;overflow-wrap:anywhere}.deploy-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.task-list{display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow:auto}.task-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:7px;background:transparent;cursor:pointer;text-align:left;width:100%}.task-item:hover{background:var(--surface0)}.task-item .lbl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12px}.help{width:min(560px,94%);padding:20px;display:flex;flex-direction:column;gap:12px}.help-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:center}.help-grid .kbd{justify-self:start;font-family:var(--mono);padding:1px 6px}.spinner{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:60;pointer-events:none;max-width:calc(100vw - 40px)}.toast{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--line);border:1px solid var(--surface1);border-radius:9px;box-shadow:0 10px 30px #0006;max-width:420px;pointer-events:auto;animation:toast-in .18s ease-out}.toast-text{color:var(--fg);text-wrap:pretty;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.toast .ibtn{width:22px;height:22px;margin-right:-6px}@keyframes toast-in{0%{transform:translateY(6px);opacity:0}}.splash{height:100vh;display:grid;place-items:center;align-content:center;gap:14px;color:var(--sub0);text-align:center;padding:16px}.signin-box{width:min(400px,92%);padding:22px;display:flex;flex-direction:column;gap:14px;background:var(--mantle);border:1px solid var(--surface0);border-radius:12px}@media(max-width:600px){.search{flex:1 1 100%;max-width:none}.toasts{left:12px;right:12px;bottom:12px;max-width:none}.toast{max-width:none}.kv-row{grid-template-columns:110px minmax(0,1fr)}}.btn-primary.btn-idle{background:var(--surface2)}.btn-primary.btn-idle:hover:not(:disabled){background:var(--acc)}.btn-block{justify-content:center;padding:8px 12px}.btn-wide{padding:6px 14px}.page>.search{flex:none;width:100%}.page>.page-head-text{flex:none}.env-val{display:flex;align-items:center;gap:8px;min-width:0}.env-val input{flex:1;min-width:0}.env-row.det .input{color:var(--overlay1);border-style:dashed}.env-row.det .input:focus{color:var(--fg)}.env-det{font-size:11px;color:var(--overlay1);white-space:nowrap}.env-legend{padding:8px 14px 10px;border-top:1px solid var(--line-side);font-size:12px;color:var(--overlay1)}.env-lines{display:flex;flex-direction:column;font-family:var(--mono);font-size:12px;max-height:260px;overflow:auto;overflow-wrap:anywhere}.issue-box{padding:8px 14px;border-bottom:1px solid var(--line);background:var(--danger-bg);color:var(--err);font-family:var(--mono);font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:140px;overflow:auto}.res-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:5px 0;border-top:1px solid var(--line);align-items:baseline}.res-key{color:var(--sub0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-val{display:flex;gap:8px;align-items:baseline;font-family:var(--mono);font-size:12px;overflow-wrap:anywhere;min-width:0}.res-val .dot{flex:0 0 auto;transform:translateY(-1px)}.side-vitals{display:flex;gap:10px;font-size:11.5px;color:var(--sub0);padding:0 4px;white-space:nowrap;font-variant-numeric:tabular-nums}.side-clock{color:var(--sub1);font-variant-numeric:tabular-nums}.side-clock .zone{color:var(--overlay1)}.side-vitals.stale{color:var(--overlay0)}.trow.sel,.trow.sel:hover{background:var(--sel-bg)}.pty-dialog{width:min(780px,calc(100vw - 32px));max-width:none;gap:10px}.pty-small .term{height:300px;min-height:0}.tsec-stack{display:flex;flex-direction:column;gap:18px}.tsec-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 10px;padding:0 2px 8px;font-size:13px;font-weight:600;color:var(--fg)}.tsec-right{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 10px;min-width:0;max-width:100%}@media(max-width:600px){.tsec-right{flex:1 1 100%;justify-content:flex-start}.tsec-right>.search{flex:1 1 100%;min-width:0;max-width:none}.tsec-right>.seg{flex-wrap:wrap;max-width:100%}}.ibtn-acc{color:var(--acc)}.ibtn-acc:hover:not(:disabled){background:var(--acc-bg);color:var(--acc-hover)}.btn.busy .icon{animation:spin 1s linear infinite}.upd-check{display:flex;align-items:center;gap:10px}.upd{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.upd.t-acc{font-weight:500}.confirm-list{display:flex;flex-direction:column;gap:6px}.confirm-list ul{margin:0;padding:8px 12px;list-style:none;background:var(--mantle);border:1px solid var(--surface0);border-radius:8px;max-height:180px;overflow:auto}.confirm-list li{font-size:12px;color:var(--fg);overflow-wrap:anywhere}.cell-actions.tight .ibtn{width:26px}.kv-upd{display:inline-flex;align-items:baseline;gap:12px;white-space:nowrap}.kv-upd .a{font-family:var(--ui);font-size:12px}.upd-link{color:var(--cy);text-decoration:underline dotted;text-underline-offset:3px;white-space:normal;text-wrap:balance;line-height:1.3}.upd-link:hover{color:var(--cy-hover);text-decoration-style:solid}.ibtn.busy .icon{animation:spin 1s linear infinite}.btn-outline.btn-acc{border-color:var(--acc);color:var(--acc)}.btn-outline.btn-acc:hover:not(:disabled){background:var(--acc-bg)}.search-sm{flex:0 1 260px;min-width:180px;padding:4px 9px}.reg-pill{padding:1px 9px;font-size:11.5px;gap:5px}.reg-counts{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.reg-count{color:inherit}.reg-count.t-fg{color:var(--fg);font-weight:600}.reg-count.t-acc{color:var(--acc);font-weight:500}.reg-count.t-warn{color:var(--warn)}.reg-count.t-mut{color:var(--sub0)}.reg-count:hover{text-decoration:underline;text-underline-offset:3px}.reg-rate{display:flex;flex-direction:column;gap:3px;font-size:11.5px;line-height:1.2;min-width:0;white-space:nowrap}.reg-rate>span:first-child{color:var(--fg)}.reg-meta-rate{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.reg-meta-rate .meter{width:64px;flex:0 0 64px}.reg-foot{max-width:900px;text-wrap:pretty}.reg-dialog{width:min(520px,calc(100vw - 32px))}.reg-note{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--surface0);border-radius:8px;background:var(--crust);color:var(--sub1);font-size:12px;text-wrap:pretty}.reg-note .icon{margin-top:2px;color:var(--acc)}.reg-test{font-size:12.5px;overflow-wrap:anywhere}.reg-ref{padding:7px 10px;border:1px solid var(--surface0);border-radius:7px;background:var(--crust);color:var(--fg);font-size:12.5px;overflow-wrap:anywhere}.pull-ctxs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:8px;max-height:300px;overflow:auto;padding:1px}.pull-ctxs .opt-card{padding:8px 10px;gap:9px;min-width:0}.reg-settings{--set-cols: 220px minmax(0, 1fr)}@media(max-width:600px){.reg-settings{--set-cols: 92px minmax(0, 1fr)}.reg-meta-rate{flex-wrap:wrap;white-space:normal;max-width:100%}}.reg-danger{border-color:var(--surface0)}.reg-danger .row{flex-wrap:wrap}.use-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.use-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 8px;border:1px solid var(--surface1);border-radius:999px;background:transparent;color:var(--sub1);font-family:var(--mono);font-size:11px;line-height:1.5;white-space:nowrap;cursor:pointer}.use-chip:hover{background:var(--surface0);color:var(--fg)}.use-chip.acc{border-color:var(--acc);color:var(--acc)}.use-chip.more,.use-ctx{color:var(--sub0)}.use-sep{color:var(--overlay0)}.repo-box{display:flex;flex-direction:column}.repo-note{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--sub0)}.repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px;padding:8px;max-height:264px;overflow:auto}.repo-btn{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 9px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--sub1);font-size:12px;text-align:left;cursor:pointer}.repo-btn:hover{background:var(--row-hover);color:var(--fg)}.repo-btn.on{background:var(--sel-bg);border-color:var(--acc);color:var(--fg)}.repo-btn.open{color:var(--cy);border-color:var(--surface1);border-style:dashed}.repo-btn .ell{flex:0 1 auto}.repo-btn .dot{width:6px;height:6px}.cell-two>.reg-sub{display:flex;align-items:center;gap:6px;min-width:0}.reg-sub .badge{flex:0 0 auto;font-family:var(--ui)}.login-hint{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;color:var(--cy);flex:0 0 auto}.login-hint:hover{background:var(--surface0);color:var(--cy-hover)}.mig-strip{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--acc-bg);border-radius:10px;background:color-mix(in srgb,var(--acc) 7%,var(--mantle));min-width:0}.mig-strip.ok{border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 7%,var(--mantle))}.mig-strip.warn{border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 7%,var(--mantle))}.mig-strip.err{border-color:color-mix(in srgb,var(--err) 40%,transparent);background:color-mix(in srgb,var(--err) 7%,var(--mantle))}.mig-strip-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;min-width:0}.mig-strip-row .spinner{color:var(--acc)}.mig-strip.ok .spinner{color:var(--ok)}.mig-strip.err .spinner{color:var(--err)}.mig-strip-title{font-weight:600;color:var(--fg);overflow-wrap:anywhere}.mig-strip-step{font-family:var(--mono);color:var(--sub0);min-width:120px}.mig-strip .progress{height:5px}.mig-strip.warn .progress>div{background:var(--warn)}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:10px}.nav-caption{padding:2px 10px 4px;font-size:10.5px;font-weight:400;color:var(--overlay1);text-transform:uppercase;letter-spacing:.08em}.toggle:disabled{opacity:.5;cursor:default}.wh-row.off .wh-dest,.wh-row.off .wh-sends{opacity:.6}.wh-name{display:block;max-width:100%;padding:0;border:0;background:none;color:var(--fg);font-weight:600;text-align:left;cursor:pointer}.wh-name:hover{color:var(--cy)}.wh-dest{display:flex;align-items:center;gap:8px;min-width:0}.wh-dest .badge{flex:0 0 auto}.wh-dest .mono{font-size:12px;color:var(--sub1)}.wh-sends{font-size:12px;line-height:1.4;color:var(--sub1)}.wh-sends>span[title]{white-space:nowrap}.wh-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;text-wrap:pretty}.wh-dialog{width:min(620px,calc(100vw - 32px))}.wh-dialog .input[aria-invalid=true],.alert-rules .input[aria-invalid=true]{border-color:var(--err)}.wh-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;align-items:start}.wh-pair .seg{align-self:flex-start}.wh-pair .toggle{align-self:flex-start;padding:4px 0}.wh-set-head{display:flex;align-items:baseline;gap:8px}.field>.wh-set-head>span:first-child{font-size:12px;color:var(--sub0)}.wh-box{max-height:232px;overflow:auto;padding:8px 10px;border:1px solid var(--surface0);border-radius:8px;background:var(--crust)}.wh-kinds{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:4px 14px}.wh-kind-group{display:flex;flex-direction:column;gap:4px;min-width:0}.wh-group-head{padding-top:4px;font-size:10.5px;color:var(--overlay1);text-transform:uppercase;letter-spacing:.06em}.wh-ctxs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:6px 14px;max-height:160px}.wh-chk{min-width:0}.wh-ctxs .wh-chk{align-items:center}.wh-ctxs .wh-chk input{margin-top:0}.wh-ctxs .badge{flex:0 0 auto}.wh-chk-text{display:flex;flex-direction:column;line-height:1.3;min-width:0}.wh-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 28px;gap:6px;align-items:center}.alert-rules{gap:10px}.alert-rules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:12px 16px;margin-top:4px}.alert-num{display:flex;align-items:center;gap:8px}.alert-num .input{width:96px;min-width:0;font-size:12px}.alert-rules-foot{margin-top:2px}.alert-filter{flex:0 1 240px;width:240px}.alert-row{grid-template-columns:10px 118px 120px minmax(0,1fr) minmax(140px,.5fr);grid-template-areas:"dot time ctx main pills";align-items:start}.alert-row>:nth-child(1){grid-area:dot}.alert-row>:nth-child(2){grid-area:time}.alert-row>:nth-child(3){grid-area:ctx}.alert-row>:nth-child(4){grid-area:main}.alert-row>:nth-child(5){grid-area:pills}.alert-head{align-items:center}.alert-dot{display:flex;align-items:center;height:19px}.alert-time,.alert-ctx{font-size:12px;line-height:19px;color:var(--sub1);white-space:nowrap}.alert-main{display:flex;flex-direction:column;gap:2px;min-width:0}.alert-title{color:var(--fg);font-weight:500;overflow-wrap:anywhere}a.alert-title:hover{color:var(--cy);text-decoration:underline;text-underline-offset:3px}.alert-text{font-size:12px;color:var(--sub0);white-space:pre-wrap;overflow-wrap:anywhere}.alert-pills{display:flex;flex-wrap:wrap;gap:4px;min-width:0}.alert-pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.alert-pill.t-ok{border-color:var(--ok-bd)}.alert-pill.t-err{border-color:var(--danger-bd);background:var(--danger-bg)}@media(max-width:600px){.alert-head{display:none}.alert-row{grid-template-columns:10px auto minmax(0,1fr);grid-template-areas:"dot time ctx" "dot main main" "dot pills pills";gap:4px 10px}.alert-pills:empty{display:none}}.nav-home+.nav-group{margin-top:10px}a.logo{color:inherit;border-radius:8px}a.logo:hover .logo-mark{background:var(--acc-hover)}.home-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}.home-pills{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.home-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border:1px solid var(--surface0);border-radius:999px;background:var(--mantle);color:var(--sub1);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer}.home-pill:hover:not(:disabled){border-color:var(--surface2);color:var(--fg)}.home-pill.on{border-color:var(--acc);background:var(--acc-bg);color:var(--fg)}.home-pill:disabled{opacity:.45;cursor:default}.home-btns{display:flex;flex-wrap:wrap;gap:8px}.home-warn{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.home-row{font-size:12.5px}.home-row>:first-child{position:sticky;left:0;z-index:1;align-self:stretch;display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:3px 6px;min-width:0;margin:-9px 0 -9px -14px;padding:9px 0 9px 14px;background:var(--mantle)}.home-row.click:hover>:first-child{background:var(--row-hover)}.home-table.scrolled .home-row>:first-child{box-shadow:8px 0 8px -8px #0009}.home-name-text{flex:0 1 auto;font-weight:600;color:var(--fg);font-size:13px}.home-name .badge{flex:0 0 auto}.th-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;cursor:pointer}.th-sort:hover,.th-sort.on{color:var(--fg)}.home-small{font-size:12px}.home-upd{font-size:12px;line-height:1.35;min-width:0}.home-part{white-space:nowrap}.home-part.t-acc{font-weight:500}.home-disk{display:flex;flex-direction:column;gap:4px;min-width:0}.home-disk .meter{width:100%}.home-none{border-top:1px solid var(--line);padding:24px 14px}.home-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;text-wrap:pretty}.home-empty b{color:var(--fg);font-size:14px;font-weight:600}.hostctx-card{gap:8px;max-width:760px}.hostctx-list{display:flex;flex-direction:column;margin-top:2px}.hostctx-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line);min-width:0}.hostctx-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hostctx-head{display:flex;align-items:baseline;gap:10px;min-width:0}.hostctx-head b{flex:0 1 auto;font-weight:600;color:var(--fg)}.hostctx-head .mono{flex:0 1 auto;font-size:12px;color:var(--sub1)}.hostctx-row.off .hostctx-head b{color:var(--sub1)}.hostctx-sub{font-size:12px;color:var(--sub0)}.hostctx-why{overflow-wrap:anywhere}@media(max-width:600px){.hostctx-head{flex-wrap:wrap;row-gap:0}}.agent-line{display:flex;align-items:center;gap:6px;min-width:0}.agent-line .badge{flex:0 0 auto}.field-note{line-height:1.3}.ctx-forms{display:flex;flex-direction:column;min-width:0;scroll-margin-top:16px}
