.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;inset: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;inset: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;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}.admin-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.seg.admin-nav{display:flex;gap:22px;justify-content:center;flex-wrap:nowrap;min-width:0}.admin-nav-item{height:32px;min-width:32px;padding:0 12px;border:0;border-radius:2px;background:transparent;color:var(--on-dark);font:600 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.admin-nav-item:hover{background:var(--on-dark-hover);color:#fff}.admin-nav-item.active{background:var(--accent3);color:var(--accent)}.admin-nav-item:disabled{opacity:.3;cursor:not-allowed}.admin-nav-item:disabled:hover{background:transparent;color:var(--on-dark)}.dd.admin-nav-dd{display:none}@media(max-width:960px){.seg.admin-nav{display:none}.dd.admin-nav-dd{display:inline-flex}}.admin-content{flex:1 1 auto;padding:clamp(20px,3vw,32px) clamp(18px,4vw,40px) clamp(18px,4vw,40px);overflow:auto;min-height:0;background:var(--paper)}.md-detail h3{font:700 var(--fs-lg)/1.2 var(--sans);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);margin:0 0 var(--sp-6)}.md-detail h4,.md-panel h4,.event-detail h4{margin:var(--sp-7) 0 var(--sp-4)}.md-detail h4,.md-panel h4,.event-detail h4,.form-row label,.data-table th,.user-group-head{font:600 var(--fs-sm)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.md-actions{display:flex;gap:var(--sp-4);margin-bottom:var(--sp-6);flex-wrap:wrap}.form-status{margin:var(--sp-4) 0 0;min-height:1.2em;font:500 var(--fs-md)/1.3 var(--mono)}.form-status.ok{color:var(--ok)}.form-status.warn{color:var(--warn)}.admin-content p:is(.muted,.error,.small):not(.form-status,.hint){font:400 var(--fs-md)/1.5 var(--mono)}.admin-content p.hint{font:400 var(--fs-sm)/1.5 var(--mono)}.admin-content input[type=text],.admin-content input[type=password],.admin-content input[type=number],.admin-content input[type=search],.admin-content select,.dialog input[type=text],.dialog input[type=password],.dialog input[type=number],.dialog select,.form-row input:not([type=checkbox]):not([type=radio]):not([type=file]),.form-row select,.md-search{height:var(--control-h);padding:0 var(--sp-6);border:1px solid var(--field);border-radius:0;background:var(--paper);color:var(--ink);font:500 var(--fs-md)/1 var(--mono);letter-spacing:.04em}.admin-content input:focus,.admin-content select:focus,.admin-content textarea:focus,.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:var(--accent)}.admin-content :is(button,a[href],summary):not(.iconbtn):focus-visible,.dialog :is(button,a[href]):not(.iconbtn):focus-visible,.task-tray button:not(.iconbtn):focus-visible{outline:var(--focus-ring);outline-offset:2px}.admin-nav-item:focus-visible,.sub-tab:focus-visible,.admin-content [tabindex="0"]:focus-visible{outline:var(--focus-ring);outline-offset:-2px}.admin-content select,.dialog select,.form-row select{padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 4.5l4 4 4-4' fill='none' stroke='%23696660' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:11px}.admin-content textarea,.dialog textarea{padding:11px 12px;border:1px solid var(--field);border-radius:0;background:var(--paper);color:var(--ink);font:500 var(--fs-md)/1.5 var(--mono);letter-spacing:.04em;resize:vertical;min-height:6rem}.admin-content button:where(:not(.iconbtn):not(.sub-tab):not(.user-chip):not(.sm):not(.task-dismiss)),.dialog button:where(:not(.iconbtn):not(.sm)){height:var(--control-h);padding:0 14px;font-size:var(--fs-sm)}.admin-content input:disabled,.admin-content select:disabled,.admin-content textarea:disabled,.admin-content input[readonly],.admin-content textarea[readonly]:not(.script-out),.dialog input:disabled,.dialog select:disabled{background:var(--paper2);border-color:var(--rule-s);color:var(--ink3);-webkit-text-fill-color:var(--ink3);opacity:1;cursor:not-allowed}.events-bar,.sessions-bar{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-6)}.events-footer{display:flex;align-items:center;gap:var(--sp-6);margin-top:var(--sp-6)}.events-footer .form-status{margin:0}.sub-tabs{flex:0 0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem;padding:0 clamp(18px,4vw,40px);background:var(--paper2);box-shadow:inset 0 -1px 0 var(--rule)}.sub-tab{height:auto;border:0;background:transparent;color:var(--ink4);border-bottom:2px solid transparent;border-radius:0;padding:.65rem .85rem;font:600 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase}.sub-tab:hover{background:transparent;color:var(--accent);border-bottom-color:transparent}.sub-tab.active{border-bottom-color:var(--accent);border-bottom-width:3px;padding-bottom:calc(.65rem - 1px);color:var(--accent)}.dd.sub-tabs-dd{display:none}.sub-tabs-dd .dd-trigger{height:auto;max-width:min(78vw,320px);padding:.65rem .85rem calc(.65rem - 1px);border-radius:0;border-bottom:3px solid var(--accent);color:var(--accent);font:600 11px/1 var(--mono);letter-spacing:.1em}.sub-tabs-dd .dd-trigger:hover,.dd.sub-tabs-dd.open .dd-trigger{background:transparent;color:var(--accent)}@media(max-width:960px){.sub-tabs .sub-tab{display:none}.dd.sub-tabs-dd{display:inline-flex}}.checkbox-row{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-2) 0 var(--sp-5)}.checkbox-row.hidden{display:none}.form-row .checkbox-row{font:inherit;letter-spacing:normal;text-transform:none;color:inherit}.param-box{margin:var(--sp-4) 0}.code-edit{display:flex;border:1px solid var(--field);background:var(--paper);overflow:hidden;max-height:40vh}.code-gutter{display:flex;flex-direction:column;flex:0 0 auto;padding:var(--sp-4) var(--sp-4);border-right:1px solid var(--rule-s);background:var(--paper2);color:var(--ink3);font:500 var(--fs-body)/1.5 var(--mono);text-align:right;overflow:hidden;user-select:none}.code-gutter>span{flex:0 0 auto}.code-wrap{position:relative;flex:1 1 auto;min-width:0}.form-row .code-edit{width:100%;min-width:0}textarea.script-out{width:100%;min-height:140px;background-color:var(--paper2);color:var(--ink);white-space:pre;overflow:auto;resize:none}.code-hl,textarea.code-ta{margin:0;padding:var(--sp-4) var(--sp-6);border:0;font:500 var(--fs-body)/1.5 var(--mono);letter-spacing:normal;white-space:pre;tab-size:2;overflow:auto}.code-hl code{font:inherit;letter-spacing:inherit}.code-hl{position:absolute;inset:0;overflow:hidden;background:transparent;color:var(--ink);pointer-events:none}textarea.code-ta{position:relative;display:block;width:100%;height:100%;min-height:6rem;resize:vertical;background:transparent;color:transparent;caret-color:var(--ink)}.code-edit.plain-source .code-hl,.code-edit.gutter-capped .code-gutter{display:none}.code-edit.plain-source textarea.code-ta{color:var(--ink)}textarea.code-ta::selection{background:#0f3d332e;color:transparent}.code-ta::selection{background:var(--accent3);color:transparent}textarea.code-ta:focus{outline:none}.code-edit:focus-within{border-color:var(--accent)}.tok-cmt{color:var(--ink2);font-style:italic}.tok-kw{color:var(--accent);font-weight:600}.tok-var{color:#2f6b67}.tok-str{color:#4f6b1e}.tok-num{color:#8a5a00}.tok-op{color:var(--ink4)}.form-row.hidden{display:none}.data-table{width:100%;border-collapse:collapse;font:400 var(--fs-body)/1.4 var(--mono)}.data-table th,.data-table td{text-align:left;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--rule-s);vertical-align:middle}.data-table th:not(:first-child),.data-table td:not(:first-child),.data-table.centered th,.data-table.centered td{text-align:center}.data-table td button.owner-pick{height:auto;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:none;text-align:left;cursor:pointer}.data-table td button.owner-pick:hover{text-decoration:underline}.data-table td>*+*{margin-left:var(--sp-3)}.data-table th .th-sort{display:inline-flex;align-items:center;gap:5px;height:auto;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.data-table th .th-sort:hover{color:var(--ink)}.data-table th .sort-caret{width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent}.data-table th[aria-sort=ascending] .sort-caret{border-bottom:4px solid currentColor}.data-table th[aria-sort=descending] .sort-caret{border-top:4px solid currentColor}.data-table th[aria-sort=ascending],.data-table th[aria-sort=descending]{color:var(--ink)}.badge{display:inline-block;padding:3px 7px;border-radius:3px;font:600 var(--fs-xs)/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--accent3);border:1px solid var(--accent2)}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-rule)}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-rule)}.badge.dead{color:var(--error);background:var(--dead-bg);border-color:var(--dead-rule)}.badge.muted{color:var(--ink3);background:transparent;border-color:var(--rule-s)}.badge.crm-st-planned{color:var(--ink3);background:#e2e0da;border-color:var(--rule)}.badge.crm-st-deployed{color:var(--notice);background:var(--notice-bg);border-color:var(--notice-rule)}.badge.crm-st-accepted{color:#5b3a8a;background:#efe8f7;border-color:#c7b3e0}.badge.crm-st-delivered{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-rule)}.badge.crm-st-to-remove{color:#9a4a00;background:#fbe9d9;border-color:#f0b98a}.badge.crm-st-removed{color:var(--ink2);background:#eeede9;border-color:var(--rule)}.master-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(16px,2.5vw,28px);align-items:start}@media(max-width:760px){.master-detail{grid-template-columns:1fr}.md-list{max-height:46vh}}.md-panel{display:flex;flex-direction:column;gap:var(--sp-6);min-width:0;border:1px solid var(--rule-s);background:var(--paper2);padding:clamp(16px,2vw,24px)}.md-search{width:100%;flex:0 0 auto}.events-count,.sessions-count{font:400 var(--fs-md)/1.2 var(--mono);color:var(--ink4)}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--sp-4) var(--sp-6);align-self:stretch}.admin-content .filter-bar>input,.admin-content .filter-bar>select,.filter-bar>.form-row{flex:1 1 0;width:auto;min-width:10rem;max-width:15rem}.admin-content .filter-bar>select{min-width:14.5rem}.sessions-bar .filter-bar>input,.sessions-bar .filter-bar>select{max-width:none}.sessions-bar .filter-bar>input[type=search]:first-child{flex:3 1 0}.filter-bar>input.bar-search{min-width:20rem}.filter-bar>.bar-actions{flex:0 0 auto;margin-top:0}.filter-bar>.form-row{min-width:8.5rem;max-width:11rem;margin-bottom:0}.admin-content .filter-bar>.form-row>input{width:100%;min-width:0}.expand-row{cursor:pointer}.event-list{margin:0;padding-left:1.2rem}.expand-row:hover{background:var(--hover-light)}.detail-row>td{background:var(--paper2);border-bottom:1px solid var(--rule)}.event-detail{display:flex;flex-direction:column;gap:var(--sp-4)}.event-fields{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-6);margin:0}.event-fields dt{font:600 var(--fs-sm)/1.4 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--ink3)}.event-fields dd{margin:0;font:500 var(--fs-md)/1.4 var(--mono);color:var(--ink)}.event-session{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;font:500 var(--fs-md)/1.4 var(--mono)}.event-json{margin:0;padding:var(--sp-4) var(--sp-6);background:var(--paper);border:1px solid var(--rule-s);font:500 var(--fs-sm)/1.5 var(--mono);color:var(--ink4);white-space:pre-wrap;word-break:break-word;max-height:14rem;overflow:auto}.badge.notice{color:var(--notice);background:var(--notice-bg);border-color:var(--notice-rule)}.md-list{flex:1 1 auto;min-height:0;max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-4);border:0;background:transparent}.md-row{display:flex;align-items:center;gap:14px;padding:var(--sp-5) var(--sp-6);background:var(--paper);border:1px solid var(--rule-s);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.md-row:hover{border-color:var(--accent2)}.md-row.active{border-color:var(--accent2);background:var(--accent3)}.md-row.stale .md-name,.md-row.stale .md-meta,.md-row.stale .vm-params{opacity:.55}.md-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--sp-3)}.md-name{font:500 var(--fs-lg)/1.2 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-meta{font:400 var(--fs-md)/1.2 var(--mono);color:var(--ink4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.md-detail{border:1px solid var(--rule-s);background:var(--paper2);padding:clamp(16px,2vw,24px)}.md-detail .detail-row>td,.md-panel .detail-row>td,.md-detail .reveal-field,.md-detail .crm-figures,.md-detail .auto-log{background:var(--paper)}.md-empty,.data-table td.table-empty{padding:var(--sp-8) var(--sp-5);text-align:center;color:var(--ink3);font:400 var(--fs-body)/1.5 var(--mono)}.form-row{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-6)}.form-actions{display:flex;gap:var(--sp-4);margin-top:var(--sp-6);flex-wrap:wrap-reverse;justify-content:flex-end}.form-actions>select{flex:none;width:auto;align-self:center}.field-ports{display:flex;gap:var(--sp-6);margin-bottom:var(--sp-6)}.field-ports .form-row{flex:1 1 0;min-width:0;margin-bottom:0}.form-row>.field-ports{margin-bottom:0}.field-ports.wrap-line,.field-ports.pve-line{flex-wrap:wrap;row-gap:var(--sp-5)}.pve-pick,.pve-target,.field-half{display:flex;flex:1 1 0;flex-wrap:wrap;gap:var(--sp-6);min-width:0}.field-ports .form-row.cell-pick{flex:3 1 0;min-width:9rem}.field-ports .form-row.cell-host{flex:1 1 0;min-width:9rem}.field-ports .form-row.cell-address{flex:0 1 auto;min-width:13rem}.field-ports .form-row.cell-port{flex:1 1 0;min-width:5rem}.field-ports .form-row.cell-setting{flex:2 1 0;min-width:8rem}.field-ports .form-row.cell-caption{flex:1 1 auto;min-width:0}.field-ports .form-row.cell-slack{flex:1 1 14rem;min-width:14rem}.field-ports:has(>.cell-slack)>.form-row.cell-caption{flex-grow:0}.form-row.cell-caption>label{white-space:nowrap}.form-row.cell-caption>input:not([type=date]){width:0;min-width:100%}.form-row:has(>input[type=date]),.field-ports .form-row:has(>input[type=date]){min-width:max-content}.field-ports .form-row.cell-fit{flex:0 0 auto;padding-top:calc(var(--fs-sm) + var(--sp-2))}.form-row.cell-fit .checkbox-row{margin:0;min-height:var(--control-h)}.user-pick,.user-pick-boxes{display:flex;flex-direction:column;gap:var(--sp-5)}.chip-filter{width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;gap:var(--sp-4);margin:0}.chip-filter.events-session-chips{justify-content:flex-start}.manage-backups>.chip-filter{margin:var(--sp-6) 0}.manage-backups>.chip-filter:not([hidden])+.bak-list{margin-top:0}.chip-filter .user-chip{padding:5px 11px;text-transform:uppercase;letter-spacing:.04em}.chip-filter .user-chip:not(.on):hover{background:var(--paper2);border-color:var(--rule-s);color:var(--ink4)}.user-group{display:flex;flex-direction:column;gap:var(--sp-3)}.user-box{display:flex;flex-wrap:wrap;align-content:flex-start;gap:var(--sp-4);height:76px;overflow-y:auto;border:1px solid var(--field);background:var(--paper);padding:var(--sp-4) var(--sp-5)}.user-chip{height:auto;display:inline-flex;align-items:center;gap:var(--sp-3);padding:4px 9px;border-radius:3px;border:1px solid var(--rule-s);background:var(--paper2);color:var(--ink4);cursor:pointer;font:400 var(--fs-body)/1.2 var(--sans);letter-spacing:normal;text-transform:none;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.user-chip:hover,.user-chip.on{background:var(--accent3);border-color:var(--accent2);color:var(--accent)}.user-chip-ic{font-weight:600;opacity:.7}.dialog-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:120}.dialog{background:var(--paper);border:1px solid var(--rule);border-radius:0;padding:clamp(16px,2vw,24px);min-width:20rem;max-width:min(40rem,92vw);max-height:88vh;overflow:auto;box-shadow:var(--shadow-pop)}.dialog-actions{display:flex;gap:var(--sp-4);justify-content:flex-end}.reveal-field{display:flex;gap:var(--sp-4);align-items:center;font:500 var(--fs-body)/1.4 var(--mono);background:var(--paper2);border:1px solid var(--rule);border-radius:0;padding:var(--sp-4) var(--sp-6);margin-bottom:var(--sp-4)}.task-tray-title{font:600 var(--fs-xs)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:var(--sp-3)}.task-release{align-self:flex-start}.pw-reveal{position:relative;display:flex}.pw-reveal input{flex:1 1 auto;min-width:0;padding-right:68px}.pw-reveal .iconbtn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:26px;height:26px}.pw-reveal .iconbtn:hover{color:var(--accent-h);background:transparent}.pw-reveal .iconbtn svg{width:16px;height:16px}.pw-reveal .iconbtn.pw-copy{right:32px}.field-hint{font:400 var(--fs-sm)/1.4 var(--mono);color:var(--ink3)}.md-meta.md-sub{color:var(--ink4)}.user-pick-filter{width:100%}textarea.ssh-pub,textarea.ssh-import{width:100%;height:auto;min-height:var(--control-h);padding:var(--sp-3) var(--sp-5);font:500 var(--fs-md)/1.5 var(--mono);white-space:pre;overflow:auto;resize:vertical}textarea.mailing-in{width:100%;min-height:8rem;white-space:pre;overflow:auto}.key-btns{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:stretch;gap:var(--sp-3)}.form-row .inline-row>textarea,.form-row .inline-row>input[readonly]{flex:1 1 auto;min-width:0}.key-row .inline-row{flex-wrap:wrap;row-gap:var(--sp-4)}.key-row .inline-row>textarea,.key-row .inline-row>input,.key-row .inline-row>input[readonly]{flex:1 1 12rem;min-width:12rem}.form-row .inline-row>input[name=hostIp]{flex:0 0 22ch;min-width:0}.inline-row.address-line{flex-wrap:wrap;row-gap:var(--sp-3)}.inline-row.address-line>.checkbox-row{flex:0 0 auto;align-self:center;white-space:nowrap;margin:0}.inline-row>.address-note{flex:1 1 auto;min-width:0;align-self:center;font:400 var(--fs-md)/1.4 var(--mono);color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-row>.address-note.has-verdict{color:var(--error)}.inline-row>.address-note:empty{display:none}.master-detail.manage-split{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.manage-form,.manage-backups{min-width:0}.manage-split>.md-list,.manage-split>.manage-form,.manage-split>.manage-backups{max-height:74vh}.manage-split>.manage-form{overflow-y:auto}.manage-backups{display:flex;flex-direction:column;gap:0;overflow:hidden}.manage-backups .md-search{margin-top:var(--sp-4)}@media(max-width:1200px){.master-detail.manage-split{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.manage-backups{grid-column:1 / -1;overflow:visible}.bak-list{max-height:50vh}}@media(max-width:760px){.master-detail.manage-split{grid-template-columns:1fr}}@media(min-width:761px){.admin-content.fill-detail{display:flex;flex-direction:column;overflow:hidden;padding:clamp(18px,2.5vw,32px)}.admin-content.fill-detail>.sub-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.admin-content.fill-detail .master-detail{flex:1 1 auto;min-height:0}.fill-detail .master-detail>.md-detail{align-self:stretch;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.fill-detail .form-row.grow{flex:1 1 auto;min-height:0}.fill-detail .form-row.grow .code-edit{max-height:none;height:100%}}@media(min-width:1201px){.admin-content.fill-panes{display:flex;flex-direction:column;overflow:hidden;padding:clamp(18px,2.5vw,32px)}.admin-content.fill-panes>.sub-body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.admin-content.fill-panes .master-detail{flex:1 1 auto;min-height:0}.fill-panes .crm-cal-screen,.fill-panes .crm-cal-body,.fill-panes .crm-cal-pane{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.fill-panes .crm-cal{flex:1 1 auto;min-height:0;height:auto;overflow-y:auto}.fill-panes .manage-split>.md-list,.fill-panes .manage-split>.md-panel,.fill-panes .manage-split>.manage-form,.fill-panes .manage-split>.manage-backups,.fill-panes .manage-split .md-list{max-height:none;min-height:0}.fill-panes .manage-split>.md-panel:not(.manage-backups),.fill-panes .manage-split>.manage-form{overflow-y:auto}.fill-panes .manage-split>.manage-form{display:flex;flex-direction:column}.fill-panes .vm-form-box{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.fill-panes .vm-form-box>*{flex:0 0 auto}.fill-panes .vm-form-box>.vm-form-ops{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.fill-panes .vm-form-ops>*{flex:0 0 auto}.fill-panes .vm-form-ops>.form-row:last-child{flex:1 1 10rem;min-height:10rem}.fill-panes .vm-form-ops>.form-row:last-child>textarea.script-out{flex:1 1 auto;min-height:0}}.md-rowtop{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5)}.md-badges{display:flex;flex-wrap:wrap;gap:var(--sp-2);flex:0 0 auto}.vm-params,.md-labels{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-1)}.vm-params .badge,.md-labels .badge{padding:4px 9px;font-size:var(--fs-sm);letter-spacing:0;text-transform:none;color:var(--ink4);background:var(--paper2);border-color:var(--rule)}.vm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6)}.vm-actions .row-break{flex:0 0 100%;height:0}.vm-actions button{padding:0 14px}.vm-actions input[type=number]{flex:0 0 48px;width:48px;height:var(--control-h);padding:0 var(--sp-1) 0 var(--sp-3)}.clone-pair{display:inline-flex;align-items:center;gap:var(--sp-4)}.vm-form-ops{margin-top:22px;padding-top:22px;border-top:1px solid var(--rule-s)}.vm-form-ops>.form-row:last-child{margin-bottom:0}.vm-form-box>.form-status:empty{display:none}.inline-row{display:flex;align-items:stretch;gap:var(--sp-6)}.inline-row select{flex:1 1 auto;min-width:0}.inline-row>input{flex:0 0 120px}.inline-row button{flex:0 0 auto;height:var(--control-h);padding:0 14px}.bak-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-4)}.bak-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);background:var(--paper);border:1px solid var(--rule-s);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.bak-card:hover{border-color:var(--accent2)}.bak-card.selected{border-color:var(--accent2);background:var(--accent3)}.bak-notes{font:500 var(--fs-body)/1.4 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bak-meta{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-5);font:400 var(--fs-sm)/1.3 var(--mono);color:var(--ink3)}.bak-meta>*{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bak-meta>:last-child{text-align:right}.master-detail.auto-split{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:stretch}.auto-split>.auto-form,.auto-split>.auto-runs{max-height:74vh}.auto-split>.auto-form{overflow-y:auto}.auto-form .field-ports,.auto-form .auto-script,.auto-form .auto-script>.param-box{flex-wrap:wrap;row-gap:var(--sp-5)}.auto-form .form-row{min-width:8rem}.auto-form .field-ports .form-row.cell-port{min-width:max-content}.auto-form .field-ports .form-row.cell-port>label{white-space:nowrap}.auto-form .field-ports .form-row.cell-fit{min-width:0}.auto-form .field-ports.auto-line-tight .form-row{min-width:5rem}.auto-form .field-ports.auto-line-tight .form-row.cell-fit{flex:1 1 7rem}.auto-form .field-ports.auto-line-tight .checkbox-row{white-space:normal;line-height:1.25}.auto-form .auto-taken{margin:-.25rem 0 .75rem}.auto-form input.invalid,.md-detail input.invalid,.md-detail textarea.invalid,.md-detail select.invalid{border-color:var(--error)}.auto-form .auto-script{display:flex;gap:var(--sp-6);margin:var(--sp-4) 0 var(--sp-6)}.auto-form .auto-script>.form-row,.auto-form .auto-script .param-box .form-row{flex:1 1 0;min-width:0;margin-bottom:0}.auto-form .auto-script>.param-box{display:flex;flex:1 1 0;gap:var(--sp-6);min-width:0;margin:0}.auto-form .auto-script>.param-box:empty{display:none}.auto-targets,.crm-contacts{display:grid;gap:var(--sp-4);margin-bottom:var(--sp-4)}.auto-targets .field-ports,.crm-contacts .field-ports{margin:0}.auto-targets .field-ports>.cell-setting{flex:2 1 0;min-width:8rem}.auto-targets-actions,.crm-contacts-actions{display:flex;justify-content:flex-end;margin:var(--sp-6) 0}.auto-form .auto-machines{padding:var(--sp-6);margin-bottom:1.25rem}.auto-form .auto-machines .md-list{max-height:44vh}.auto-machines .md-row.muted{opacity:.55;cursor:default}.auto-runs{display:flex;flex-direction:column;gap:0;overflow:hidden;border:0;background:transparent;padding:0}.auto-runs>.form-status{margin:0 0 var(--sp-4)}.auto-runs>.form-status:empty{display:none}.auto-run-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--sp-4)}.auto-run{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);background:var(--paper);border:1px solid var(--field)}.auto-run-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-5);font:600 var(--fs-body)/1.3 var(--mono);color:var(--ink)}.auto-run-head .auto-run-summary{min-width:0;overflow-wrap:anywhere}.auto-run-error,.auto-run .data-table{margin:0}.auto-machines>*>tr:not(.detail-row)>:not(:last-child),.auto-phases>*>tr:not(.detail-row)>:last-child{width:1%;white-space:nowrap}.auto-phases>*>tr>td:first-child{overflow-wrap:anywhere}.auto-machines>*>tr>td:last-child .badge{white-space:nowrap}.auto-steps{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.auto-steps .badge{text-transform:none;letter-spacing:0}.auto-run .form-actions{margin-top:var(--sp-2)}.auto-run .form-status{margin:0}.auto-run>.form-status:empty{display:none}.auto-preview{display:flex;flex-direction:column;gap:var(--sp-6);margin:var(--sp-6) 0}.auto-preview-col{min-width:0}.auto-preview h4{margin:0 0 var(--sp-3)}.auto-preview ul{margin:0;padding:0;list-style:none;font:400 var(--fs-md)/1.5 var(--mono)}.auto-preview .checkbox-row{margin:0;gap:var(--sp-3)}.auto-preview li.muted{padding-left:1.3rem}.auto-preview li .badge{margin-left:var(--sp-2)}.auto-log{min-height:140px;max-height:60vh;overflow:auto;padding:var(--sp-4) var(--sp-6);background:var(--paper2);border:1px solid var(--field);font:400 var(--fs-md)/1.5 var(--mono);color:var(--ink)}.auto-log-line{white-space:pre-wrap;overflow-wrap:anywhere}.auto-log-line.section{font-weight:700}.auto-log-line.error{color:var(--error)}.auto-log-line.script,.auto-log-line.muted{color:var(--ink3)}.auto-log-line.auto-log-attempt{margin-top:var(--sp-2);padding-top:var(--sp-2);border-top:1px solid var(--rule-s)}@media(max-width:1200px){.master-detail.auto-split{grid-template-columns:1fr}.auto-split>.auto-form{max-height:none;overflow-y:visible}}@media(min-width:761px){.fill-detail .form-row.grow.auto-log-row{flex:1 1 12rem;min-height:12rem}.fill-detail .auto-log-row>.auto-log{flex:1 1 auto;min-height:0;max-height:none}.fill-detail .auto-journal .master-detail>.md-panel{align-self:stretch;min-height:0;overflow:hidden}.fill-detail .auto-journal .master-detail>.md-panel>.md-list{max-height:none}.fill-detail .auto-journal .form-row.grow.auto-log-row{margin-bottom:0}}@media(min-width:1201px){.fill-panes .auto-split>.auto-form,.fill-panes .auto-split>.auto-runs{max-height:none;min-height:0}.fill-panes .auto-split>.auto-form.auto-form-list{display:flex;flex-direction:column}.fill-panes .auto-form-list>*{flex:0 0 auto}.fill-panes .auto-form-list>.auto-machines{flex:1 1 14rem;min-height:14rem;display:flex;flex-direction:column}.fill-panes .auto-form-list>.auto-machines>.md-list{flex:1 1 auto;min-height:0;max-height:none}}.view.settings{display:flex;flex-direction:column;align-items:center}.settings-form{width:auto;max-width:100%}.settings-banner{margin:0 0 var(--sp-6)}.settings-table{width:auto;table-layout:auto}.settings-table td{border-bottom:0;vertical-align:middle;padding:7px 14px 7px 10px;white-space:nowrap}.settings-table td>*+*{margin-left:0}.setting-name{display:flex;flex-direction:column;gap:3px}.setting-label{font:500 var(--fs-body)/1.3 var(--sans);color:var(--ink)}.setting-hint{font:400 var(--fs-sm)/1.3 var(--mono)}.setting-hint:empty{display:none}.setting-control{display:flex;align-items:center;gap:var(--sp-4)}.admin-content .setting-control>input{width:12ch;flex:0 0 auto}.admin-content .setting-control>select.setting-switch{flex:1 1 auto;min-width:0}.setting-unit{flex:0 0 auto;width:3.5ch;font:500 var(--fs-md)/1 var(--mono);color:var(--ink3)}.settings-table td.setting-effective{text-align:left;padding-left:0}.setting-env{display:block;font:400 var(--fs-sm)/1 var(--mono)}.settings-table tr.invalid td{background:#fdf3f2}.settings-table tr.invalid input{border-color:var(--error)}.settings-table tr.settings-purge>td{padding-top:var(--sp-8)}.settings-table tr.settings-purge .form-status{margin:0;white-space:normal;max-width:40ch}.settings-meta{margin:var(--sp-2) 0 0;text-align:right;white-space:nowrap}.table-scroll{overflow-x:auto;max-width:100%}.crm-figures{display:grid;gap:var(--sp-2);margin:var(--sp-5) 0 var(--sp-6);padding:var(--sp-5) var(--sp-6);background:var(--paper2);border:1px solid var(--rule-s)}.crm-figure-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-7);font:500 var(--fs-md)/1.5 var(--mono);color:var(--ink3)}.crm-figure-row.total{border-top:1px solid var(--rule);margin-top:var(--sp-2);padding-top:var(--sp-2);color:var(--ink);font-weight:700}.crm-figure{text-align:right;white-space:nowrap}.data-table td.num,.data-table th.num{white-space:nowrap}.crm-item-editor{padding:var(--sp-2) 0 var(--sp-4)}.crm-env,.crm-history-section{margin-top:var(--sp-6);border-top:1px solid var(--rule-s);padding-top:var(--sp-4)}.crm-history-section>h4{margin-top:0}.crm-env-list{max-height:20rem;overflow-y:auto}.crm-env-row{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-2) 0;border-bottom:1px solid var(--rule-s)}.crm-env-name{flex:1 1 12rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--fs-md)/1.4 var(--mono)}.crm-env-warning{margin:0 0 var(--sp-3)}.crm-was{color:var(--ink3);text-decoration:line-through}.crm-arrow{color:var(--ink3);margin:0 var(--sp-3)}.crm-alert-facts{display:grid;gap:var(--sp-1)}@media(max-width:760px){.crm-contacts .field-ports{flex-direction:column}.crm-contacts .field-ports .form-row.cell-fit{padding-top:0}}.crm-report-tabs{justify-content:flex-start;padding:0;background:transparent}.crm-report-sections{display:flex;flex-direction:column;gap:clamp(20px,3vw,36px)}.data-table tfoot td{border-top:1px solid var(--rule);font-weight:600}.crm-report-nav{display:flex;align-items:end;gap:var(--sp-4);flex:0 0 auto}.crm-cal-screen>.filter-bar{justify-content:center}.md-panel.crm-cal-screen{gap:var(--sp-7);padding-top:0;padding-bottom:var(--sp-7)}.crm-cal-screen>.form-status{margin:0}.crm-cal-screen>.form-status:empty{display:none}.crm-cal-pane{display:flex;flex-direction:column;min-height:0;gap:var(--sp-6)}.crm-cal{display:flex;flex-direction:column;gap:clamp(14px,2vw,24px);height:70vh;container-type:size;overflow-y:auto}.crm-cal-month{min-width:0;min-height:100cqh;display:flex;flex-direction:column}.crm-cal-month>.crm-cal-week{flex:1 0 auto}.crm-cal-caption{position:sticky;top:0;z-index:1;background:var(--paper2);padding:var(--sp-7) 0;margin:0;text-align:center;font:600 var(--fs-xl)/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink4)}.crm-cal-weekdays,.crm-cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.crm-cal-week+.crm-cal-week{margin-top:-1px}.crm-cal-weekday{padding:var(--sp-2) 0;text-align:center;font:600 var(--fs-body)/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.crm-cal-day{margin-left:-1px;border:1px solid var(--rule);background:var(--paper)}.crm-cal-week>.crm-cal-day:first-child{margin-left:0}.crm-cal-day.out{background:transparent;border-color:transparent}.crm-cal-day.weekend{background:#e6e4dd}.crm-cal-day.today{background:var(--accent3)}.crm-cal-num{justify-self:end;padding:4px 7px;font:600 var(--fs-lg)/1.2 var(--mono);color:var(--ink4)}.badge.crm-cal-bar{display:block;cursor:pointer;min-width:0;margin:0 3px 2px;padding:var(--sp-1) var(--sp-3);align-self:start;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;text-transform:none;letter-spacing:.02em;font-size:var(--fs-sm);line-height:1.4}.badge.crm-cal-bar.cut-left{margin-left:0;border-left-color:transparent;border-top-left-radius:0;border-bottom-left-radius:0}.badge.crm-cal-bar.cut-right{margin-right:0;border-right-color:transparent;border-top-right-radius:0;border-bottom-right-radius:0}.crm-cal-more{padding:1px 6px 3px;font:500 var(--fs-xs)/1.4 var(--mono);color:var(--ink4);cursor:pointer}.crm-boxes{display:flex;flex-wrap:wrap;gap:var(--sp-6);align-items:flex-start}.crm-boxes>.crm-figures{flex:1 1 14rem;min-width:0}.infra-dash{--proto-rdp: #2f58d6;--proto-vnc: #9446c8;--proto-ssh: #0b95a3;--proto-sftp: #d24f7c;--proto-other: #7d7a72;--tone-ok: var(--ok);--tone-ok-bg: var(--ok-bg);--tone-warn: var(--warn);--tone-warn-bg: var(--warn-bg);--tone-dead: var(--error);--tone-notice: var(--notice);--tone-notice-bg: var(--notice-bg);--tone-muted: #9a978f;--card: #fbfaf7;display:flex;flex-direction:column;gap:6px;height:clamp(460px,calc(100vh - 220px),1400px);min-height:0}.admin-content:has(>.sub-body>.infra-dash){padding:0}@media(min-width:1201px){.fill-panes .infra-dash{flex:1 1 auto;height:auto}}.infra-dash-filters{position:absolute;top:8px;left:10px;max-width:calc(100% - 20px);box-sizing:border-box;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 16px;background:var(--card);border:1px solid var(--rule)}.infra-dash-filters>*{max-width:100%}.infra-dash-grouprow{display:flex;align-items:flex-start;gap:4px;flex:0 0 auto}.infra-dash-grouprow>.chip-filter{flex:1 1 auto;min-width:0}.infra-dash-grouprow input[type=search].infra-dash-search{flex:0 0 13rem;box-sizing:border-box;height:20px;min-height:0;padding:0 7px;font:500 10px/1 var(--mono)}.infra-dash-info{position:absolute;left:10px;bottom:8px;max-width:calc(100% - 22rem);box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;background:var(--card);border:1px solid var(--rule);pointer-events:none}.infra-dash-figures{display:flex;flex-wrap:wrap;gap:2px 16px}.infra-dash-toggles.chip-filter,.infra-dash-servers.chip-filter,.infra-dash-groups.chip-filter{width:auto;justify-content:flex-start}.infra-dash-groups.chip-filter{max-height:68px;overflow-y:auto}.infra-dash .chip-filter{gap:4px}.infra-dash .chip-filter .user-chip{box-sizing:border-box;height:20px;padding:0 7px;font:500 10px/1 var(--mono);letter-spacing:.03em}.infra-dash-counts,.infra-dash-status{font:500 11px/1.3 var(--mono);color:var(--ink3)}.infra-dash-status.warn{color:var(--tone-warn)}.infra-dash-status.error{color:var(--error)}.infra-dash-legend{display:flex;gap:10px;font:600 10px/1 var(--mono);letter-spacing:.04em;color:var(--ink3)}.infra-dash-legend .legend-item{display:inline-flex;align-items:center;gap:5px}.infra-dash-legend i{display:inline-block;width:18px;height:3px;background:currentColor}.infra-dash-legend .kind-rdp i{background:var(--proto-rdp)}.infra-dash-legend .kind-vnc i{background:var(--proto-vnc)}.infra-dash-legend .kind-ssh i{background:var(--proto-ssh)}.infra-dash-legend .kind-sftp i{background:var(--proto-sftp)}.infra-dash-legend .viewer i{background:repeating-linear-gradient(90deg,var(--ink3) 0 4px,transparent 4px 7px)}.infra-dash-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background-color:var(--paper);background-image:radial-gradient(var(--rule) 1px,transparent 1.2px);background-size:22px 22px;cursor:grab;outline:none;touch-action:none;user-select:none}.infra-dash-stage:focus-visible{box-shadow:inset 0 0 0 2px var(--accent2)}.infra-dash-stage.dragging{cursor:grabbing}.infra-dash-svg{display:block;width:100%;height:100%;font-family:var(--sans)}.infra-dash-zoom{position:absolute;right:10px;bottom:10px;display:flex;gap:4px}.infra-dash-zoom button{min-width:var(--control-h);background:var(--card)}.infra-dash-tip,.infra-dash-detail{position:absolute;background:var(--card);border:1px solid var(--rule);box-shadow:0 6px 24px #1111101f;font-size:12px;color:var(--ink)}.infra-dash-tip{max-width:22rem;padding:8px 10px;pointer-events:none;z-index:2}.infra-dash-tip>strong{display:block;margin-bottom:4px}.infra-dash-detail{top:10px;right:10px;width:min(22rem,calc(100% - 20px));max-height:calc(100% - 64px);overflow-y:auto;padding:10px 12px 12px;z-index:3;cursor:auto;animation:infra-slide-in .22s var(--ease)}.infra-dash-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:14px}.infra-dash-rows{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:0}.infra-dash-rows dt{font:600 10px/1.6 var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--ink3)}.infra-dash-rows dd{margin:0;overflow-wrap:anywhere}.infra-dash-svg .item{transition:transform .55s var(--ease),opacity .3s var(--ease)}.infra-dash-svg .entering{animation:infra-enter .32s var(--ease)}.infra-dash-svg .leaving{opacity:0;pointer-events:none}.infra-dash-svg .item{cursor:move}.infra-dash-svg .link{cursor:pointer}.infra-dash-stage.moving{cursor:move}.infra-dash-stage.moving .item{transition:none}.infra-dash-svg text{fill:var(--ink);font-size:12px}.infra-dash-svg .title{font-weight:600;font-size:13px}.infra-dash-svg .title.lg{font-size:17px}.infra-dash-svg .title.sm{font-size:12px}.infra-dash-svg .sub,.infra-dash-svg .meta,.infra-dash-svg .label{fill:var(--ink3);font-size:11px}.infra-dash-svg .label{font:600 10px var(--mono);letter-spacing:.02em}.infra-dash-svg .meta.sm{font-size:10px}.infra-dash-svg .meta.xs{font-size:9px}.infra-dash-svg .meta.warn{fill:var(--tone-warn)}.infra-dash-svg .meta.dead{fill:var(--tone-dead)}.infra-dash-svg .mono{font:500 11px var(--mono);fill:var(--ink4)}.infra-dash-svg .big{font:700 24px var(--mono);fill:var(--ink)}.infra-dash-svg .card{fill:var(--card);stroke:var(--rule);stroke-width:1;transition:stroke .3s,fill .3s}.infra-dash-svg .card.server{fill:var(--card)}.infra-dash-svg .card.tone-dead{stroke:#f1b5b0}.infra-dash-svg .card.server.tone-dead{stroke:var(--tone-dead)}.infra-dash-svg .dot.tone-ok{fill:var(--tone-ok)}.infra-dash-svg .dot.tone-warn{fill:var(--tone-warn)}.infra-dash-svg .dot.tone-dead{fill:var(--tone-dead)}.infra-dash-svg .dot.tone-notice{fill:var(--tone-notice)}.infra-dash-svg .dot.tone-muted{fill:var(--tone-muted)}.infra-dash-svg .tone-text-ok{fill:var(--tone-ok)}.infra-dash-svg .tone-text-warn{fill:var(--tone-warn)}.infra-dash-svg .tone-text-dead{fill:var(--tone-dead)}.infra-dash-svg .bar-track{fill:var(--paper2)}.infra-dash-svg .bar-track.nodata{fill:none;stroke:var(--rule)}.infra-dash-svg .bar-fill{transform-box:fill-box;transform-origin:left center;transition:transform .7s var(--ease)}.infra-dash-svg .bar-fill.tone-ok{fill:var(--tone-ok)}.infra-dash-svg .bar-fill.tone-warn{fill:#c08a1e}.infra-dash-svg .bar-fill.tone-dead{fill:var(--tone-dead)}.infra-dash-svg .bar-fill.tone-muted{fill:var(--tone-muted)}.infra-dash-svg .host .bar-track:not(.nodata),.infra-dash-svg .storage .bar-track:not(.nodata),.infra-dash-svg .node .bar-track:not(.nodata){fill:#eef0f2}.infra-dash-svg .tile .bar-track:not(.nodata){fill:#1428371f}.infra-dash-svg .host .bar-fill.tone-ok,.infra-dash-svg .storage .bar-fill.tone-ok,.infra-dash-svg .node .bar-fill.tone-ok{fill:#a2a8b0}.infra-dash-svg .host .bar-fill.tone-warn,.infra-dash-svg .storage .bar-fill.tone-warn,.infra-dash-svg .node .bar-fill.tone-warn{fill:#d1a650}.infra-dash-svg .host .bar-fill.tone-dead,.infra-dash-svg .storage .bar-fill.tone-dead,.infra-dash-svg .node .bar-fill.tone-dead{fill:#d5827b}.infra-dash-svg .host .bar-fill.tone-muted,.infra-dash-svg .storage .bar-fill.tone-muted,.infra-dash-svg .node .bar-fill.tone-muted{fill:#dde0e4}.infra-dash-svg .tile .bar-fill.tone-ok,.infra-dash-svg .tile .bar-fill.tone-warn{fill:#858c95}.infra-dash-svg .tile-bg{fill:var(--card);stroke:var(--rule);transition:fill .4s,stroke .4s}.infra-dash-svg .tile-bg.running{fill:#e3f1e8;stroke:#cfe3d6}.infra-dash-svg .tile-bg.stopped{fill:var(--card);stroke:#d6d9dd}.infra-dash-svg .tile-bg.template{fill:none}.infra-dash-svg .tile-bg.stale{fill:var(--card);stroke:#d6d9dd}.infra-dash-svg .tile-bg.tone-warn{fill:var(--tone-warn-bg);stroke:#e0c584}.infra-dash-svg .tile.off{opacity:.5}.infra-dash-svg .tile.dim{opacity:.22}.infra-dash-svg .tile.leaving{opacity:0}.infra-dash-svg .tile.busy .tile-bg{stroke:var(--accent2);stroke-width:1}.infra-dash-svg .sess-badge{fill:var(--accent)}.infra-dash-svg .sess-count{fill:#fff;font:700 11px var(--mono)}.infra-dash-svg .host-area{fill:transparent}.infra-dash-svg .state-band{fill:transparent;transition:fill .3s,stroke .3s}.infra-dash-svg .storage-bg{fill:transparent}.infra-dash-svg .storage .label{fill:var(--ink)}.infra-dash-svg .storage .label.dead{fill:var(--tone-dead)}.infra-dash-svg .drain-stripes{fill:url(#infra-stripes);pointer-events:none}.infra-dash-svg .stripe{fill:#8a5a001a}.infra-dash-svg .avatar{fill:var(--accent3);stroke:var(--accent2)}.infra-dash-svg .avatar-text{font:700 11px var(--mono);fill:var(--accent)}.infra-dash-svg .avatar-text.long{font-size:8px}.infra-dash-svg .avatar.group{fill:var(--accent);stroke:var(--accent)}.infra-dash-svg .avatar-text.group{fill:#fff}.infra-dash-svg .kind-dot.kind-rdp{fill:var(--proto-rdp)}.infra-dash-svg .kind-dot.kind-vnc{fill:var(--proto-vnc)}.infra-dash-svg .kind-dot.kind-ssh{fill:var(--proto-ssh)}.infra-dash-svg .kind-dot.kind-sftp{fill:var(--proto-sftp)}.infra-dash-svg .kind-dot.kind-other{fill:var(--proto-other)}.infra-dash-svg .link-base,.infra-dash-svg .link-flow{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke;transition:opacity .25s,stroke-width .4s}.infra-dash-svg .link-base{opacity:.28}.infra-dash-svg .link-base.viewer{stroke-dasharray:2 6;opacity:.45}.infra-dash-svg .link-flow{stroke-dasharray:3 13;opacity:.9;animation:infra-flow 2s linear infinite;pointer-events:none}.infra-dash-svg .link-flow.viewer{opacity:.5}.infra-dash-svg .kind-rdp{stroke:var(--proto-rdp)}.infra-dash-svg .kind-vnc{stroke:var(--proto-vnc)}.infra-dash-svg .kind-ssh{stroke:var(--proto-ssh)}.infra-dash-svg .kind-sftp{stroke:var(--proto-sftp)}.infra-dash-svg .kind-other{stroke:var(--proto-other)}.infra-dash-svg .kind-dot{stroke:none}.infra-dash-svg.no-links .layer-links{display:none}.infra-dash-svg .layer-links{pointer-events:none}.infra-dash-svg.focusing .link:not(.hot){opacity:.15}.infra-dash-svg .link.hot .link-base{opacity:.55}.infra-dash-svg .layer-rates{pointer-events:none}.infra-dash-svg.no-links .layer-rates,.infra-dash-svg.lod-0 .layer-rates{display:none}.infra-dash-svg .rate-tag{font:600 10px var(--mono);fill:var(--ink2);stroke:var(--card);stroke-width:3px;stroke-linejoin:round;paint-order:stroke}.infra-dash-svg .rate{transition:opacity .25s}.infra-dash-svg.focusing .rate:not(.hot){opacity:.15}.infra-dash-svg .item.hover>.card,.infra-dash-svg .item.hover>.tile-bg,.infra-dash-svg .item.selected>.card,.infra-dash-svg .item.selected>.tile-bg{stroke:var(--accent);stroke-width:1}.infra-dash-svg .far{display:none;font:700 30px var(--sans);fill:var(--ink4)}.infra-dash-svg .far.far-lg{font-size:44px}.infra-dash-svg .far.far-sm{font-size:24px}.infra-dash-svg.lod-0 .far{display:inline}.infra-dash-svg.lod-0 .item text:not(.far),.infra-dash-svg.lod-0 .item:not(.storage) .bar-track,.infra-dash-svg.lod-0 .item:not(.storage) .bar-fill,.infra-dash-svg.lod-0 .avatar,.infra-dash-svg.lod-0 .tile .dot{display:none}.infra-dash-svg.lod-0 .tile-bg.running{fill:#8fcaa8}.infra-dash-svg.lod-0 .tile-bg.stopped{fill:#dfe2e5}.infra-dash-svg.lod-0 .tile-bg.tone-warn{fill:#e0c584}@keyframes infra-flow{0%{stroke-dashoffset:16}to{stroke-dashoffset:0}}@keyframes infra-enter{0%{opacity:0}to{opacity:1}}@keyframes infra-slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.infra-dash-svg .link-flow,.infra-dash-svg .entering,.infra-dash-detail{animation:none}.infra-dash-svg .item,.infra-dash-svg .bar-fill{transition:none}}@font-face{font-family:IBM Plex Mono;font-weight:400;font-style:normal;font-display:swap;src:url("./IBMPlexMono-Regular-A2WATXFY.woff2") format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:500;font-style:normal;font-display:swap;src:url("./IBMPlexMono-Medium-33HAQIPI.woff2") format("woff2")}@font-face{font-family:IBM Plex Mono;font-weight:600;font-style:normal;font-display:swap;src:url("./IBMPlexMono-SemiBold-IIV3OB4N.woff2") format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:300;font-style:normal;font-display:swap;src:url("./IBMPlexSans-Light-LWHZPPGB.woff2") format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:400;font-style:normal;font-display:swap;src:url("./IBMPlexSans-Regular-COQVXTP6.woff2") format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:500;font-style:normal;font-display:swap;src:url("./IBMPlexSans-Medium-JTONHBWS.woff2") format("woff2")}@font-face{font-family:IBM Plex Sans;font-weight:700;font-style:normal;font-display:swap;src:url("./IBMPlexSans-Bold-IXG35DPN.woff2") format("woff2")}:root{--ink: #111110;--paper: #f4f2ed;--paper2: #eceae4;--ink2: #6b6860;--ink3: #696660;--ink4: #3d3c39;--rule: rgba(17, 17, 16, .14);--rule-s: rgba(17, 17, 16, .08);--field: rgba(17, 17, 16, .35);--accent-h: #0f3d3b;--accent2: #7bb8b4;--accent3: #e0f0ee;--hover-light: #e4f2f0;--on-dark: rgba(255, 255, 255, .94);--on-dark-soft: rgba(255, 255, 255, .75);--on-dark-mute: rgba(255, 255, 255, .58);--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.2, 0, 0, 1);--dur: .22s;--nav-h: 56px;--strip-h: calc(1.1rem + 13px) ;--control-h: 34px;--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-body: 13px;--fs-lg: 15px;--fs-xl: 18px;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 10px;--sp-6: 12px;--sp-7: 16px;--sp-8: 24px;--ok: #1f7a4d;--ok-bg: #e3f3ea;--ok-rule: #9bd3b4;--warn: #8a5a00;--warn-bg: #f7efdd;--warn-rule: #e0c584;--dead-bg: #fdeceb;--dead-rule: #f1b5b0;--notice: #1f5673;--notice-bg: #e4eff5;--notice-rule: #a8c9db;--on-dark-hover: rgba(255, 255, 255, .08);--dur-hide: .42s;--drop-ring: 2px dashed var(--accent2);--shadow-pop: 0 8px 24px rgba(13, 51, 49, .18);--focus-ring: 2px solid var(--accent2);--bg: var(--paper);--panel: var(--paper2);--border: var(--rule);--fg: var(--ink);--muted: var(--ink3);--accent: #0d3331;--error: #b3261e}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}#app{height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.auth{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--paper)}.auth-form{display:flex;flex-direction:column;gap:14px;width:min(300px,86vw);text-align:center}.auth-logo{width:clamp(150px,22vw,190px);height:auto;align-self:center;margin-bottom:18px}.auth-title{font:700 24px/1.1 var(--sans);letter-spacing:.01em;text-transform:uppercase;color:var(--ink);margin:0 0 var(--sp-4)}.auth-submit{margin-top:var(--sp-3);height:auto;padding:13px 16px;letter-spacing:.1em}.auth-link{text-align:center;font:400 var(--fs-md)/1.4 var(--mono);color:var(--ink3);letter-spacing:.02em;text-decoration:none}.auth-link:hover{color:var(--accent)}.auth-footer{position:fixed;left:0;right:0;bottom:16px;display:flex;justify-content:center;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:0 var(--sp-7);z-index:101}.auth-foot-sep{color:var(--ink3)}.auth-error{min-height:1.2em;margin:0;color:var(--error);font:500 var(--fs-md)/1.3 var(--sans)}button,.primary,.ghost,.danger{font:600 var(--fs-md)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;height:42px;padding:0 18px;border:1px solid var(--accent);border-radius:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--accent3);transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}button:hover,.primary:hover{background:var(--accent-h);border-color:var(--accent-h)}button:disabled{opacity:.4;cursor:not-allowed}button:disabled:hover,.primary:disabled:hover{background:var(--accent);border-color:var(--accent)}.ghost:disabled:hover{background:transparent;border-color:var(--accent);color:var(--accent)}.danger:disabled:hover{background:var(--error);border-color:var(--error)}.ghost{background:transparent;color:var(--accent)}.ghost:hover{background:var(--accent3);border-color:var(--accent);color:var(--accent)}.danger{background:var(--error);border-color:var(--error);color:#fff}.danger:hover{background:#9c2018;border-color:#9c2018}.danger.armed,.danger.armed:hover,.ghost.armed,.ghost.armed:hover,.primary.armed,.primary.armed:hover{background:#7a1813;border-color:#7a1813;color:#fff}button.sm:not(.iconbtn){height:auto;padding:5px 10px;font-size:var(--fs-sm)}input[type=text],input[type=password],input[type=number],input[type=search],input[type=date],select,textarea{width:100%;font:400 14px/1.4 var(--mono);color:var(--ink);background:transparent;border:none;border-bottom:1px solid var(--field);border-radius:0;padding:var(--sp-4) 0;outline:none;transition:border-color var(--dur) var(--ease)}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-bottom-color:var(--accent)}select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:22px;background-image:linear-gradient(45deg,transparent 50%,var(--ink3) 50%),linear-gradient(135deg,var(--ink3) 50%,transparent 50%);background-position:right 6px center,right 1px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}input[type=date]{appearance:none;-webkit-appearance:none}input[type=date]::-webkit-datetime-edit{padding:0}input[type=date]::-webkit-calendar-picker-indicator{padding:0;opacity:.55;cursor:pointer}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--paper) inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink);transition:background-color 99999s ease 0s}input[type=checkbox]{width:auto;accent-color:var(--accent)}progress{appearance:none;-webkit-appearance:none;border:none;background:var(--paper2)}progress::-webkit-progress-bar{background:var(--paper2)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.muted{color:var(--ink3)}.muted.small,.small{font-size:.8rem}.error{color:var(--error)}.hint{font-size:.85rem;margin-top:.6rem;color:var(--ink3)}.hidden{display:none}[hidden]{display:none!important}.menu{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;flex-direction:column;background:var(--paper);transition:transform var(--dur) var(--ease)}body.panel-hidden .menu{transform:translateY(calc(-100% - 2px));transition-duration:var(--dur-hide)}.topedge{position:fixed;top:0;left:0;right:0;height:10px;z-index:60}body:not(.panel-hidden) .topedge{pointer-events:none}.topbar{position:relative;min-height:var(--nav-h);flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--sp-3);padding:7px clamp(12px,2.5vw,20px);background:var(--accent);color:#fff;overflow:visible}.topbar .brand{justify-self:start;display:flex;align-items:center;gap:var(--sp-6);min-width:0;min-height:32px;font:700 16px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .bar-center{grid-column:2;min-width:0;display:flex;align-items:center;justify-content:center;gap:var(--sp-3)}.topbar .bar-right{grid-column:3;position:relative;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);min-width:0;min-height:32px}.sep{flex:0 0 auto;width:1px;height:20px;background:#ffffff2e}.seg{display:flex;gap:var(--sp-3)}.topbar .ghost{height:32px;min-width:32px;padding:0 var(--sp-5);border:0;border-radius:2px;background:transparent;color:var(--on-dark);font:600 var(--fs-md)/1 var(--mono);letter-spacing:.14em}.topbar .ghost:hover{background:var(--on-dark-hover);color:#fff}.topbar .ghost:disabled{opacity:.3;cursor:not-allowed}.topbar .ghost:disabled:hover{background:transparent;color:var(--on-dark)}.iconbtn{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:2px;background:transparent;color:var(--accent);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease)}.iconbtn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.iconbtn:hover{background:var(--hover-light)}.iconbtn:focus-visible{outline:none;background:var(--hover-light)}.iconbtn.on-dark:focus-visible{outline:none;background:var(--on-dark-hover);color:#fff}.iconbtn:disabled{opacity:.35;cursor:not-allowed}.iconbtn:disabled:hover{background:transparent}.iconbtn.pending{opacity:.35}.iconbtn.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.iconbtn.on-dark{color:var(--on-dark)}.iconbtn.on-dark:hover{background:var(--on-dark-hover);color:#fff}.iconbtn.on-dark:disabled:hover{background:transparent}.iconbtn.on-dark.active,.iconbtn.on-dark.active:hover{background:var(--accent3);color:var(--accent)}.iconbtn.sm.danger:hover{background:#b3261e1f;color:var(--error)}.controls{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;justify-content:center;min-width:0}.controls .grp{display:flex;align-items:center;gap:var(--sp-3)}.controls .fb-group,.controls .ssh-group,.controls .tools-group{display:none}.controls.live-fb .fb-group,.controls.live-ssh .ssh-group,.controls.live-tools .tools-group{display:flex}.controls .sep-vm,.controls .sep-live{display:none}.controls.has-vm .sep-vm,.controls.live-fb .sep-live,.controls.live-ssh .sep-live,.controls.live-tools .sep-live{display:block}.vm-mount{display:inline-flex;align-items:center}.dd{position:relative;display:inline-flex}.dd-trigger{height:32px;min-width:0;max-width:200px;padding:0 var(--sp-4);cursor:pointer;border:0;border-radius:2px;display:inline-flex;align-items:center;gap:var(--sp-3);background:transparent;color:var(--accent2);font:600 var(--fs-md)/1 var(--mono);letter-spacing:.04em;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.topbar .dd-trigger{color:var(--on-dark);letter-spacing:.14em}.dd-trigger:hover,.dd.open .dd-trigger{background:var(--on-dark-hover);color:var(--accent3)}.topbar .dd-trigger:hover,.topbar .dd.open .dd-trigger{color:#fff}.dd-trigger:disabled{opacity:.3;cursor:not-allowed}.dd-connection .dd-trigger,.dd-connection .dd-menu{max-width:min(420px,34vw)}.dd-connection .dd-trigger{width:max-content;min-width:min(200px,34vw);justify-content:space-between}.dd-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dd-caret{flex:0 0 auto;width:9px;height:9px;transition:transform var(--dur) var(--ease)}.dd.open .dd-caret{transform:rotate(180deg)}.dd-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;z-index:80;background:var(--paper);border:1px solid var(--rule);max-height:320px;overflow-y:auto;display:none;box-shadow:var(--shadow-pop)}.dd.open .dd-menu{display:block}.dd-opt{padding:7px 12px;cursor:pointer;white-space:nowrap;color:var(--ink4);font:600 var(--fs-md)/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:var(--sp-4)}.dd-swatch{display:inline-flex;flex:0 0 auto;gap:1px;border:1px solid var(--rule)}.dd-swatch-cell{display:block;width:9px;height:9px}.dd-group{padding:9px 12px 4px;cursor:default;color:var(--ink3);font:600 var(--fs-xs)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase}.dd-group+.dd-opt{padding-top:5px}.dd-theme .dd-menu{min-width:260px;max-height:min(70vh,720px)}.dd-opt:hover,.dd-opt:focus-visible{background:var(--paper2);color:var(--ink)}.dd-opt:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.dd-opt.sel{background:var(--accent3);color:var(--accent)}.vm-group-bar{display:flex;align-items:center;gap:var(--sp-2)}.stage{position:relative;overflow:clip;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.tabs{display:none;--tab-gap: .9rem;gap:var(--tab-gap);flex-wrap:nowrap;justify-content:safe center;overflow-x:auto;overflow-y:hidden;padding:0 clamp(18px,4vw,40px);background:var(--paper2);box-shadow:inset 0 -1px 0 var(--rule)}.tabs.has-tabs{display:flex}.tab{position:relative;flex:0 0 auto;display:flex;align-items:stretch;border:0;border-radius:0;background:transparent;cursor:pointer;user-select:none;font:600 12.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink4);transition:color var(--dur) var(--ease)}.tab:hover{background:transparent;color:var(--accent)}.tab.attention .tab-label:before{content:"";display:inline-block;width:6px;height:6px;margin-right:var(--sp-3);border-radius:50%;background:var(--accent);vertical-align:middle}.tab.active{color:var(--ink)}body.tab-dragging,body.tab-dragging .tab{cursor:grabbing}.tab.dragging{opacity:.45}.tab.drop-before:after,.tab.drop-after:after{content:"";position:absolute;top:25%;bottom:25%;width:2px;background:var(--accent);pointer-events:none}.tab.drop-before:after{left:-.5px}.tab.drop-after:after{right:calc(-1 * var(--tab-gap) - 1.5px)}.tab+.tab:before{content:"";flex:0 0 1px;align-self:center;height:14px;background:var(--rule);margin-right:var(--tab-gap)}.tab-label{display:block;padding:.65rem .85rem;border-bottom:2px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(320px,26vw);transition:border-color var(--dur) var(--ease)}.tab.active .tab-label{border-bottom-color:var(--accent);border-bottom-width:3px;padding-bottom:calc(.65rem - 1px)}.tab-close{align-self:center;border:0;background:none;height:auto;padding:0 .6rem 0 0;font:600 var(--fs-sm)/1 var(--mono);letter-spacing:normal;text-transform:none;color:inherit;opacity:.5;transition:opacity var(--dur) var(--ease)}.tab-close:hover{opacity:1;background:none}.tab-close svg,.ssh-cell-max svg,.ssh-cell-close svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.screen{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--paper)}.session-surface{position:absolute;inset:0;border:0;border-radius:0;background:var(--paper);overflow:auto;display:none}.session-surface.active{display:block}.session-surface.proto-fb{overflow:hidden}.session-surface.proto-fb.active{display:flex;align-items:center;justify-content:center}.session-surface.proto-fb,.session-surface.proto-fb canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.session-surface.proto-fb.active{cursor:none}.session-surface.proto-fb.active:has(.session-status:not(.hidden)){cursor:default}.owp-display{position:relative}.ssh-terminal{position:absolute;inset:0;padding:0}.ssh-terminal .xterm{height:100%;padding:var(--sp-6)}.ssh-terminal .xterm-viewport{height:100%;background-color:transparent}body:not(.panel-hidden) .session-surface.proto-ssh.solo{top:var(--menu-h, var(--nav-h))}.session-surface.proto-ssh.solo{transition:top var(--dur) var(--ease)}body.panel-hidden .session-surface.proto-ssh.solo{transition-duration:var(--dur-hide)}.ssh-grid{position:absolute;inset:0;display:none;flex-direction:row;background:var(--paper);transition:top var(--dur) var(--ease)}body:not(.panel-hidden) .ssh-grid{top:var(--menu-h, var(--nav-h))}body.panel-hidden .ssh-grid{transition-duration:var(--dur-hide)}.screen.ssh-active .ssh-grid{display:flex}.ssh-col{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column}.ssh-cell{position:relative;flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--paper);outline:1px solid transparent}.ssh-cell .ssh-terminal>.xterm{transition:opacity var(--dur) var(--ease)}.ssh-cell:not(.focused):not(.selected) .ssh-terminal>.xterm{opacity:.55}.ssh-cell.drop-target:after{content:"";position:absolute;inset:0;z-index:10;pointer-events:none;outline:var(--drop-ring);outline-offset:-2px}.ssh-cell-head{flex:0 0 auto;display:block;position:relative;text-align:center;--tile-head-h: var(--strip-h);height:var(--tile-head-h);padding:0 var(--sp-5);background:var(--paper);color:#1111107a;font:400 var(--fs-sm)/var(--tile-head-h) var(--sans);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;border-bottom:1px solid var(--rule);cursor:grab;user-select:none}.ssh-cell-label{display:inline-block;vertical-align:baseline;max-width:calc(100% - 64px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watch-badge{display:inline-flex;align-items:center;gap:3px;color:var(--ink4);letter-spacing:normal;vertical-align:middle}.watch-badge svg{display:block;width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.watch-count{font-size:var(--fs-xs);line-height:1}.tab .watch-badge{padding-left:.85rem;margin-right:-.5rem}.ssh-cell-head .watch-badge{margin-right:5px}.ssh-cell-head:has(.watch-badge) .ssh-cell-label{max-width:calc(100% - 96px)}.ssh-cell.focused .ssh-cell-head,.ssh-cell.selected .ssh-cell-head{color:var(--ink)}.ssh-cell-close{position:absolute;top:0;right:10px;display:inline-flex;align-items:center;height:var(--tile-head-h);border:0;background:none;cursor:pointer;color:var(--ink4);font:inherit;letter-spacing:normal;padding:0;transition:color var(--dur) var(--ease)}.ssh-cell-max{position:absolute;top:0;left:10px;display:inline-flex;align-items:center;height:var(--tile-head-h);border:0;background:none;cursor:pointer;color:var(--ink4);font:inherit;letter-spacing:normal;padding:0;transition:color var(--dur) var(--ease)}.ssh-cell-close:hover,.ssh-cell-max:hover{color:var(--ink);background:none}.ssh-cell .session-surface{position:relative;inset:auto;display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden}.ssh-cell .ssh-terminal{position:relative;inset:auto;flex:1 1 0;min-height:0}.ssh-resizer{position:relative;z-index:5;flex:0 0 auto;background:var(--rule)}.ssh-resizer:before{content:"";position:absolute;inset:0}.ssh-resizer.v{width:1px;cursor:col-resize}.ssh-resizer.v:before{left:-4px;right:-4px}.ssh-resizer.h{height:1px;cursor:row-resize}.ssh-resizer.h:before{top:-4px;bottom:-4px}body.ssh-dragging,body.ssh-dragging .ssh-cell-head{cursor:grabbing}.ssh-grid.maximized>.ssh-resizer,.ssh-grid.maximized>.ssh-col:not(.maximized),.ssh-col.maximized>.ssh-resizer,.ssh-col.maximized>.ssh-cell:not(.maximized){display:none}.ssh-grid.maximized>.ssh-col.maximized,.ssh-cell.maximized{flex-grow:1!important}.ssh-grid.maximized .ssh-cell-head{cursor:default}.ssh-col:only-child>.ssh-cell:only-child .ssh-cell-max{display:none}.screen.drag-over{outline:var(--drop-ring);outline-offset:-8px}.tools-dock{position:absolute;top:0;right:0;bottom:0;z-index:40;width:var(--tools-w, clamp(320px, 27%, 480px));container-type:inline-size;container-name:tools;display:flex;flex-direction:row;overflow:hidden;background:var(--paper);--dock-pad-y: clamp(12px, 1.6vw, 18px);--dock-status-h: 15.6px;--dock-pad-x: clamp(12px, 1.4vw, 18px);padding:0 var(--dock-pad-x) var(--dock-pad-y);transform:translate(100%);transition:transform var(--dur) var(--ease)}.tools-dock.open{transform:none;transition:transform var(--dur) var(--ease),top var(--dur) var(--ease),margin-top var(--dur) var(--ease)}body.panel-hidden .tools-dock.open{transition:transform var(--dur) var(--ease),top var(--dur-hide) var(--ease),margin-top var(--dur-hide) var(--ease)}body:not(.panel-hidden) .tools-dock{top:var(--menu-h, var(--nav-h))}body:not(.panel-hidden).tools-pinned .tools-dock{margin-top:var(--menu-h, var(--nav-h))}body.tools-pinned .stage{flex-direction:row}body.tools-pinned .screen{min-width:0}body.tools-pinned .tools-dock{position:static;flex:0 0 auto;transform:none}.tools-dock.tools-snap{transition:none!important}.tools-column{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0}.tools-resize{position:relative;flex:0 0 auto;align-self:stretch;width:1px;margin:0 calc(var(--dock-pad-x) - 1px) calc(-1 * var(--dock-pad-y)) calc(-1 * var(--dock-pad-x));background:var(--rule);cursor:col-resize;touch-action:none;outline:none}.tools-resize:before{content:"";position:absolute;inset:0 -8px 0 -4px}.tools-resize-ghost{position:fixed;z-index:60;width:2px;margin-left:-1px;background:var(--accent);pointer-events:none}.tools-tabs{flex:0 0 auto;display:flex;align-items:stretch;gap:.25rem;margin:0 calc(-1 * var(--dock-pad-x));padding:0 var(--dock-pad-x);height:var(--strip-h);border-bottom:1px solid var(--rule)}.tools-tab{height:auto;display:flex;align-items:center;border:0;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--ink4);padding:.55rem .6rem;font:600 var(--fs-sm)/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;min-width:0}.tools-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@container tools (max-width: 420px){.tools-tab{padding:.55rem .4rem;letter-spacing:.04em}.tools-tabs{gap:.1rem}}@container tools (max-width: 360px){.tools-tab{padding:.55rem .25rem;letter-spacing:0}}.tools-tab:hover,.tools-tab:focus-visible{background:transparent;color:var(--accent);border-bottom-color:transparent}.tools-tab:focus-visible{outline:none}.tools-tab.active{border-bottom-color:var(--accent);border-bottom-width:3px;padding-bottom:calc(.55rem - 1px);color:var(--accent)}.tools-tabs .tools-pin{flex:0 0 auto;margin-left:auto;align-self:center}.tools-tab-badge{flex:0 0 auto}.tools-body{flex:1;display:flex;flex-direction:column;min-height:0;padding-top:var(--sp-3)}.files-panel,.snippets-panel{position:relative;flex:1;display:flex;flex-direction:column;gap:.5rem;min-height:0}.notes-panel{flex:1;display:flex;flex-direction:column;gap:.5rem;min-height:0;padding-top:calc(.5rem + var(--dock-status-h) + var(--dock-pad-y) - 6px)}.notes-text{flex:1;min-height:0;resize:none;padding:11px 12px;border:1px solid var(--field);border-radius:0;background:var(--paper);line-height:1.5}.notes-text:focus{border-color:var(--accent2)}.notes-text:read-only{color:var(--ink3)}.notes-status{flex:0 0 auto;min-height:var(--dock-status-h);text-align:right;font:500 var(--fs-md)/1.3 var(--mono)}.notes-status.attention{color:var(--error)}.snippets-panel.editing>:not(.snippets-editor):not(.snippets-statusrow){display:none}.snippets-panel.editing>.snippets-statusrow:not(.typing){display:none}.snippets-actions,.files-actions{display:flex;flex-wrap:nowrap;justify-content:flex-end;flex:0 0 auto;gap:0;min-height:26px}.snippets-actions-group,.files-actions-group{display:flex;gap:0}.snippets-panel .snippets-editor-name{flex:0 0 auto;min-width:0;height:var(--control-h);padding:0 var(--sp-6);border:1px solid var(--field);border-radius:0;background:var(--paper);color:var(--ink);font:500 var(--fs-md)/1 var(--mono);letter-spacing:.04em;appearance:none;-webkit-appearance:none}.snippets-panel .snippets-editor-name:focus{border-color:var(--accent2)}.snippets-upload,.files-upload{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}.snippets-body{position:relative;flex:1;display:flex;flex-direction:column;min-height:6rem;margin-top:14px}.snippets-list{flex:1;overflow:auto;min-height:0;background:var(--paper)}.snippets-list:focus,.snippets-list:focus-visible,.machines-list:focus,.machines-list:focus-visible,.supervise-list:focus,.supervise-list:focus-visible,.snippet-entry:focus,.snippet-entry:focus-visible{outline:none}.snippet-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.4rem;padding:.2rem .6rem;min-height:30px;cursor:pointer}.snippet-entry:hover,.snippet-entry.cursor{background:var(--hover-light)}.se-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:600 var(--fs-body)/1.3 var(--sans);color:var(--ink)}.se-actions{display:flex;gap:0}.snippets-find,.list-find{position:absolute;right:.4rem;bottom:.4rem;z-index:1;padding:.2rem .5rem;border:1px solid var(--accent);background:var(--accent3);color:var(--accent);font:600 var(--fs-md)/1.3 var(--mono);letter-spacing:.04em;white-space:pre;pointer-events:none}.snippets-find:empty,.list-find:empty,.files-find:empty{display:none}.snippets-find.miss,.list-find.miss,.files-find.miss{border-color:var(--error);background:var(--paper2);color:var(--error)}.snippets-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem .6rem;text-align:center;font:400 var(--fs-body)/1.4 var(--sans);color:var(--ink3);pointer-events:none}.snippets-editor{flex:1;display:flex;flex-direction:column;gap:.5rem;min-height:0}.snippets-editor .code-edit{flex:1;min-height:0;max-height:none}.snippets-editor .code-wrap{display:flex;flex-direction:column;min-height:0}.snippets-editor textarea.code-ta{flex:1 1 auto;height:auto;min-height:0;resize:none}.snippets-editor-error{flex:0 0 auto;min-height:1.3em;margin:0;font:500 var(--fs-md)/1.3 var(--mono);color:var(--error)}.snippets-editor-head{flex:0 0 auto;display:flex;align-items:center;min-height:26px}.snippets-statusrow{position:relative;flex:0 0 auto}.snippets-status{display:block;min-height:var(--dock-status-h);text-align:right;font:500 var(--fs-md)/1.3 var(--mono)}.snippets-statusrow.typing .snippets-status{padding-right:32px}.snippets-status.attention{color:var(--error)}.snippets-cancel{position:absolute;right:0;top:50%;transform:translateY(-50%)}.tools-dock .snippets-cancel:hover,.tools-dock .snippets-cancel:focus-visible{background:#b3261e1f;color:var(--error)}.chat-panel{position:relative;flex:1;display:flex;flex-direction:column;min-height:0}.chat-rooms,.chat-convos{flex:0 0 auto;max-height:26%;min-height:0;overflow:auto}.chat-rooms-head,.chat-convo-head{flex:0 0 auto;padding:var(--sp-6) var(--sp-2);font:700 var(--fs-md)/1 var(--sans);letter-spacing:.08em;text-align:center;text-transform:uppercase;color:var(--ink)}.chat-rooms:focus,.chat-rooms:focus-visible,.chat-convos:focus,.chat-convos:focus-visible,.chat-roomrow:focus{outline:none}.chat-roomrow{display:flex;align-items:center;gap:var(--sp-3);height:28px;padding:0 var(--sp-3);font:500 var(--fs-md)/1 var(--mono);color:var(--ink);cursor:pointer}.chat-roomrow:hover{background:var(--hover-light)}.chat-roomrow.active{color:var(--accent);background:var(--accent3)}.chat-roomrow .chat-room-name{flex:1 1 auto;min-width:0;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-roomrow .chat-room-waiting{flex:0 0 auto;font-size:var(--fs-sm);line-height:1;color:var(--accent)}.chat-rooms-empty{padding:1rem .6rem;text-align:center;font:400 var(--fs-body)/1.4 var(--sans);color:var(--ink3)}.chat-badge{display:inline-block;min-width:16px;padding:2px 5px;border:1px solid var(--accent2);border-radius:8px;background:var(--accent3);color:var(--accent);font:600 var(--fs-xs)/1 var(--mono);letter-spacing:0;text-align:center;text-transform:none}.tools-tab .tools-tab-badge{margin-left:.35em}#toolsToggle{position:relative}#toolsToggle .tools-toggle-badge{position:absolute;top:2px;right:2px;border-color:transparent;background:var(--accent2);color:var(--ink)}.chat-people{flex:1 1 0;display:flex;flex-direction:column;min-height:0;padding-bottom:var(--sp-2)}.chat-people-list{flex:1;min-height:0;overflow:auto}.chat-person,.share-row{display:flex;align-items:center;gap:var(--sp-3);min-height:28px;padding:0 var(--sp-2);font:500 var(--fs-md)/1 var(--mono);color:var(--ink)}.chat-person.clickable{cursor:pointer}.chat-person.clickable:hover{background:var(--hover-light)}.chat-person.guest{color:var(--muted)}.chat-person.guest:before{content:"";flex:0 0 auto;width:7px}.chat-person.active{color:var(--accent);background:var(--accent3)}.chat-person .chat-person-unread,.chat-person .chat-person-mic,.chat-person .chat-person-rename{margin-left:auto}.chat-person .chat-person-mic+.chat-person-cam,.chat-person .chat-person-mic+.chat-person-rename,.chat-person .chat-person-cam+.chat-person-rename{margin-left:0}.chat-person-mic.mic-on,.chat-person-cam.cam-on{color:var(--accent);opacity:1}.chat-person-mic[disabled],.chat-person-cam[disabled]{opacity:.4;cursor:default}.chat-video{flex:0 0 auto;display:flex;gap:var(--sp-3);position:relative;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;padding:10px 4px 14px}.chat-video:not([hidden])+.chat-people-list{min-height:56px}.chat-video-tile{flex:0 0 128px;min-width:0}.chat-video-tile:first-child{margin-left:auto}.chat-video-tile:last-child{margin-right:auto}.chat-video-pic{position:relative;aspect-ratio:16 / 9;overflow:hidden;border:1px solid var(--rule);border-radius:3px;background:var(--paper2);background-clip:padding-box;outline:2px solid transparent;outline-offset:-2px;transition:outline-color .12s linear,background-color .12s linear}.chat-video-tile.camera .chat-video-pic{background:var(--ink4)}.chat-video-tile.speaking .chat-video-pic{outline-color:var(--ok)}.chat-video-frame{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;visibility:hidden}.chat-video-tile.live .chat-video-frame{visibility:visible}.chat-video-tile.self .chat-video-frame{transform:scaleX(-1)}.chat-video-initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 var(--sp-3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 16px/1 var(--mono);letter-spacing:.04em;color:var(--ink3)}.chat-video-tile.camera .chat-video-initials{color:var(--on-dark-mute)}.chat-video-tile.live .chat-video-initials{visibility:hidden}.chat-video-label{display:block;margin-top:var(--sp-2);overflow:hidden;font:500 var(--fs-sm)/1.5 var(--mono);color:var(--ink2);text-align:center;text-overflow:ellipsis;white-space:nowrap}.chat-video-tile.offline .chat-video-pic,.chat-video-tile.offline .chat-video-label{opacity:.5}.chat-video-effect{position:absolute;top:3px;right:3px;border-radius:3px;background:#1111108c;opacity:0;transition:opacity .12s linear}.chat-video-tile.self:hover .chat-video-effect,.chat-video-tile.self:focus-within .chat-video-effect{opacity:1}@media(hover:none){.chat-video-effect{opacity:1}}.chat-video-offscreen{position:fixed;top:0;left:0;width:2px;height:2px;opacity:0;pointer-events:none}.chat-voice-mark{color:var(--muted);opacity:.55;transition:opacity .12s linear,color .12s linear}.chat-voice-mark.speaking{color:var(--ok);opacity:1}.chat-person-name,.share-name{min-width:0;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-presence{flex:0 0 auto;display:inline-block;position:relative;top:1px;width:7px;height:7px;border-radius:50%;background:#1111103d}.chat-presence.on{background:var(--ok)}.chat-panel .chat-nick{flex:1 1 auto;min-width:0;height:var(--control-h);margin:var(--sp-1) 0;padding:0 var(--sp-6);border:1px solid var(--field);border-radius:0;background:var(--paper);color:var(--ink);font:500 var(--fs-md)/1 var(--mono);appearance:none;-webkit-appearance:none}.chat-panel .chat-nick:focus{border-color:var(--accent2)}.chat-splitter{position:relative;flex:0 0 auto;height:1px;margin:0 calc(-1 * var(--dock-pad-x));background:var(--rule);cursor:row-resize;touch-action:none;outline:none}.chat-splitter:before{content:"";position:absolute;inset:-5px 0}.chat-body{position:relative;flex:2 1 0;display:flex;flex-direction:column;min-height:6rem}.chat-convo-head{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:24px;padding:8px 28px 10px}.chat-convo-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machines-panel,.supervise-panel{flex:1;position:relative;display:flex;flex-direction:column;gap:.5rem;min-height:0;font:400 var(--fs-md)/1.4 var(--sans);color:var(--ink)}.machines-list,.supervise-list,.share-list{flex:1 1 auto;min-height:0;overflow:auto}.machines-row,.supervise-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-1) var(--sp-3);padding:var(--sp-3) var(--sp-2)}.machines-name{flex:1 1 0;min-width:2.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--fs-md)/1.6 var(--mono);color:var(--ink)}.machines-actions,.supervise-actions{flex:0 0 auto;margin-left:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:0}.machines-actions .vm-group-bar{gap:0}.machines-actions .iconbtn+.vm-group-bar{margin-left:var(--sp-3);border-left:1px solid var(--rule);padding-left:var(--sp-3)}.machines-row.found,.supervise-row.found{background:var(--accent3)}.machines-status,.supervise-status{flex:0 0 auto;padding:0 var(--sp-2);font:400 var(--fs-md)/1.3 var(--sans)}.supervise-name{flex:1 1 0;min-width:3rem;display:flex;flex-direction:column;overflow:hidden}.supervise-who{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 var(--fs-md)/1.5 var(--sans);color:var(--ink)}.supervise-line{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.supervise-where{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 var(--fs-sm)/1.4 var(--mono);color:var(--ink3)}.supervise-proto{flex:0 0 auto;font:400 var(--fs-sm)/1.4 var(--mono);color:var(--ink3)}.supervise-age{flex:0 0 auto;font:400 var(--fs-sm)/1.4 var(--mono);white-space:nowrap}.share-panel{flex:1;display:flex;flex-direction:column;min-height:0;gap:var(--sp-2);font:400 var(--fs-md)/1.4 var(--sans);color:var(--ink)}.share-section{flex:0 1 auto;display:flex;flex-direction:column;min-height:0}.share-supervise{flex:1 1 auto}.share-supervise.quiet{flex:0 0 auto}.share-head{flex:0 0 auto;padding:var(--sp-6) var(--sp-2) var(--sp-3);font:700 var(--fs-md)/1.35 var(--sans);letter-spacing:.08em;text-align:center;text-transform:uppercase;overflow-wrap:anywhere;color:var(--ink)}.share-row.clickable{cursor:pointer}.share-row.clickable:hover{background:var(--hover-light)}.share-control{flex:0 0 auto;margin-left:auto;color:var(--ink4)}.share-control.on,.share-row.controls .share-name{color:var(--accent)}.share-row.share-stop .share-note{min-width:0;line-height:1.6;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-none,.share-empty{display:flex;align-items:center;min-height:28px;padding:0 var(--sp-2);color:var(--ink3)}.share-empty{flex:1 1 auto;justify-content:center;text-align:center}.share-status{flex:0 0 auto;padding:0 var(--sp-2);font:500 var(--fs-md)/1.3 var(--mono);color:var(--ink3)}.share-status:empty,.chat-status:empty{display:none}.share-status.attention{color:var(--error)}.tools-dock .chat-convo-close{position:absolute;top:50%;right:2px;transform:translateY(-50%)}.chat-log{flex:1;min-height:0;overflow:auto;padding:14px 2px 0;background:var(--paper)}.chat-day{margin:var(--sp-5) 0 var(--sp-2);text-align:center;font:500 var(--fs-sm)/1 var(--mono);color:var(--ink3)}.chat-loading{padding:var(--sp-2);text-align:center;font:500 var(--fs-sm)/1.3 var(--mono);color:var(--ink3)}.chat-msg{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);padding:var(--sp-4) var(--sp-3) var(--sp-1)}.chat-msg.mine{align-items:flex-end}.chat-msg.continued{padding-top:0}.chat-msg.continued .chat-msg-head{display:none}.chat-msg-head{display:flex;align-items:center;gap:var(--sp-3);max-width:85%;padding-right:28px}.chat-msg.mine .chat-msg-head{padding-right:0;padding-left:28px}.chat-msg-sender{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 var(--fs-md)/1.3 var(--sans);color:var(--ink)}.chat-msg-time{flex:0 0 auto;margin-left:auto;font:500 var(--fs-sm)/1.3 var(--mono);color:var(--ink3)}.chat-msg-body{max-width:85%;padding:var(--sp-3) var(--sp-5);border-radius:8px;background:var(--paper2);font:400 var(--fs-body)/1.45 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg-body .chat-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.chat-msg-body .chat-link:hover{color:var(--accent2)}.chat-msg-body.chat-file{display:flex;align-items:center;gap:var(--sp-4);padding-right:var(--sp-2);white-space:normal}.chat-file-glyph{flex:0 0 auto;color:var(--ink3)}.chat-file-name{min-width:0;overflow-wrap:anywhere}.chat-file-open{height:auto;padding:0;border:0;background:none;color:var(--accent);font:inherit;letter-spacing:normal;text-transform:none;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.chat-file-open:hover{color:var(--accent2)}.chat-file-size{flex:0 0 auto;color:var(--ink3);font-size:var(--fs-md)}.chat-file-download{flex:0 0 auto}.chat-msg-body.chat-image{display:flex;flex-direction:column;align-items:center;padding:0;background:transparent;white-space:normal}.chat-panel.drag-over,.files-panel.drag-over{outline:var(--drop-ring);outline-offset:-4px}.chat-thumb-btn{display:block;width:auto;height:auto;padding:0;border:0;background:none;line-height:0;cursor:zoom-in}.chat-thumb-btn:focus,.chat-thumb-btn:focus-visible{outline:none}.chat-thumb{display:block;max-width:100%;height:auto;border-radius:6px;background:var(--paper)}.chat-file-open:focus-visible{outline:var(--focus-ring);outline-offset:2px}.dialog:has(.chat-lightbox){max-width:min(94vw,1400px)}.chat-lightbox{display:flex;flex-direction:column;gap:var(--sp-5)}.chat-lightbox-img{display:block;max-width:100%;max-height:72vh;margin:0 auto;object-fit:contain}.chat-lightbox-failed{padding:var(--sp-8) var(--sp-6);color:var(--ink3);font:400 var(--fs-body)/1.45 var(--sans);text-align:center}.chat-lightbox-bar{display:flex;align-items:center;gap:var(--sp-4);font:400 var(--fs-body)/1.45 var(--sans)}.chat-lightbox-bar .chat-file-name{flex:1 1 auto}.chat-reactions{display:flex;flex-wrap:wrap;gap:var(--sp-1);max-width:85%}.chat-chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:2px 5px;border:0;border-radius:2px;background:transparent;color:var(--ink3);font:500 var(--fs-md)/1 var(--mono);cursor:pointer}.chat-chip:hover,.chat-chip:focus-visible{background:transparent;border-color:transparent;color:var(--accent);outline:none}.chat-chip.mine{color:var(--accent)}.chat-msg.mine .chat-chip,.chat-msg.mine .chat-chip:hover{color:var(--ink3);cursor:default}.chat-picker{position:absolute;bottom:-26px;left:6px;z-index:2;display:flex;gap:0;padding:1px 2px;border:1px solid var(--rule);border-radius:16px;background:var(--paper);visibility:hidden}.chat-msg:has(.chat-reactions:empty) .chat-picker{bottom:-30px}.chat-msg:hover .chat-picker,.chat-msg:focus-within .chat-picker{visibility:visible}.tools-dock .chat-pick[aria-pressed=true]{color:var(--accent)}.tools-dock .chat-pick{width:28px;height:28px}.tools-dock .chat-pick svg{width:20px;height:20px}.chat-icon{display:inline-flex;align-items:center}.chat-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.chat-hand-mark{color:var(--accent)}.chat-status{flex:0 0 auto;margin-top:.5rem;padding:0 .6rem;text-align:right;font:500 var(--fs-md)/1.3 var(--mono);color:var(--ink3)}.chat-status.attention{color:var(--error)}.chat-empty{position:absolute;inset:40px 0 0;display:flex;align-items:center;justify-content:center;padding:1rem .6rem;text-align:center;font:400 var(--fs-body)/1.4 var(--sans);color:var(--ink3);pointer-events:none}.chat-composer{position:relative;flex:0 0 auto;margin-top:.5rem}.chat-input{display:block;width:100%;min-height:var(--control-h);padding:6px 60px 6px 12px;border:1px solid var(--field);border-radius:0;background:var(--paper);color:var(--ink);font:400 var(--fs-body)/1.5 var(--sans);resize:none}.chat-composer.with-attach .chat-input{padding-right:86px}.chat-attach.disabled{opacity:.45;cursor:default;pointer-events:none}.chat-attach.busy{animation:chat-attach-busy 1.2s ease-in-out infinite}@keyframes chat-attach-busy{50%{opacity:.35}}.chat-input:focus{border-color:var(--accent2)}.chat-input.attention{border-color:var(--error)}.chat-input:disabled{color:var(--ink3)}.chat-composer-actions{position:absolute;right:4px;bottom:4px;display:flex;gap:0}.tools-dock .iconbtn{color:var(--ink3);width:26px;height:26px}.tools-dock .iconbtn svg{width:18px;height:18px;stroke-width:1.55}.tools-dock .iconbtn:hover,.tools-dock .iconbtn:focus-visible,.tools-dock .iconbtn.active{color:var(--accent)}.files-path{flex:0 0 auto;min-width:0;display:flex;align-items:baseline;font:500 14px/1.5 var(--mono);letter-spacing:0}.files-machine{flex:0 0 auto;min-width:0;display:flex;align-items:baseline;margin-top:14px;font:500 14px/1.5 var(--mono);letter-spacing:0}.files-machine-label,.files-path-label{flex:0 0 auto;padding-right:.4em;color:var(--ink3)}.files-machine-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-crumbs{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;font:inherit;letter-spacing:inherit}.files-crumbs::-webkit-scrollbar{display:none}.files-crumbs.cut{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 14px);mask-image:linear-gradient(to right,transparent 0,#000 14px)}.crumb{flex:0 0 auto;height:auto;border:0;border-radius:2px;background:transparent;color:var(--ink4);padding:0 var(--sp-1);font:inherit;letter-spacing:inherit;text-transform:none;white-space:nowrap}.crumb:hover,.crumb:focus-visible{background:var(--hover-light);border-color:transparent;color:var(--accent)}.crumb:focus-visible{outline:none}.crumb.here{color:var(--accent);font-weight:600}.crumb.here:hover{background:transparent}.crumb-sep{flex:0 0 auto;padding:0 1px;color:var(--ink3)}.files-list{flex:1;overflow:auto;min-height:6rem;background:var(--paper)}.files-list-virtual{position:relative;min-height:100%}.file-entry{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem;cursor:pointer;font:400 var(--fs-body)/1.3 var(--mono);min-height:30px}.file-entry.virtual{position:absolute;left:0;right:0;height:30px}.file-entry:hover{background:var(--hover-light)}.file-entry.sel{background:var(--accent3)}.file-entry.moving{opacity:.55}.file-entry.cursor{background:var(--hover-light)}.file-entry:focus,.file-entry:focus-visible,.files-list:focus,.files-list:focus-visible{outline:none}.file-entry.dir .fe-name{font-weight:600;color:var(--accent)}.file-entry.file .fe-name{color:var(--ink3)}.fe-name{flex:1;min-width:0;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fe-cb{width:auto;flex:0 0 auto;accent-color:var(--accent)}.fe-size{flex:0 0 auto;margin-left:.4rem;color:var(--ink3);font-size:.8rem}@container tools (max-width: 311px){.files-actions .files-secondary{display:none}}.filebtn{cursor:pointer}.files-progress{flex:0 0 auto;width:100%;height:6px}.files-progress.idle{visibility:hidden}.files-find{position:absolute;right:0;bottom:3.1rem;z-index:1;padding:.2rem .5rem;border:1px solid var(--accent);background:var(--accent3);color:var(--accent);font:600 var(--fs-md)/1.3 var(--mono);letter-spacing:.04em;white-space:pre;pointer-events:none}.files-statusrow{flex:0 0 auto;display:flex;align-items:center;gap:var(--sp-3)}.files-pct{flex:0 0 auto;font:600 var(--fs-md)/1.3 var(--mono);font-variant-numeric:tabular-nums;color:var(--accent)}.files-pct:empty{display:none}.files-cancel{flex:0 0 auto;margin:-5px 0}.tools-dock .files-cancel:hover,.tools-dock .files-cancel:focus-visible{background:#b3261e1f;color:var(--error)}.files-panel.transferring .files-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-status{flex:1 1 auto;min-width:0;font:500 var(--fs-md)/1.3 var(--mono);min-height:1.2em;overflow-wrap:anywhere}.files-status.ok{color:var(--ok)}.app-tip{position:fixed;left:0;top:0;z-index:1000;max-width:280px;pointer-events:none;background:var(--paper);color:var(--ink);border:1px solid var(--field);border-radius:3px;box-shadow:0 6px 18px #1111102e;padding:5px 9px;font:500 var(--fs-md)/1.4 var(--sans);opacity:0;transform:translateY(-2px);transition:opacity .12s var(--ease),transform .12s var(--ease)}.app-tip.show{opacity:1;transform:none}.help-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:120;display:none;width:min(520px,calc(100vw - 24px));max-height:min(78vh,calc(100dvh - 96px));overflow-y:auto;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:3px;box-shadow:0 10px 30px #11111038;padding:14px 16px;font:400 var(--fs-body)/1.55 var(--sans)}.help-pop.open{display:block}.help-head{font:600 var(--fs-body)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:var(--sp-5)}.help-sec{padding-top:var(--sp-5);margin-top:var(--sp-5);border-top:1px solid var(--rule-s)}.help-sec:first-of-type{padding-top:0;margin-top:0;border-top:0}.help-sec h4{margin:0 0 var(--sp-3);font:600 var(--fs-body)/1.3 var(--sans);color:var(--ink);text-transform:none;letter-spacing:0}.help-sec p{margin:0 0 var(--sp-3)}.help-sec ul{margin:0;padding-left:18px}.help-sec li{margin:3px 0}.help-pop kbd{display:inline-block;padding:1px 5px;border:1px solid var(--field);border-radius:3px;background:var(--paper2);font:600 var(--fs-sm)/1.4 var(--mono);color:var(--ink)}.help-pop .kc{white-space:nowrap}.help-pop code{padding:1px 4px;border-radius:3px;background:var(--paper2);font:500 var(--fs-md)/1.4 var(--mono);color:var(--ink4)}.session-status{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:.6rem .9rem;background:var(--paper);color:var(--ink3);font:500 var(--fs-md)/1.4 var(--mono);letter-spacing:.04em;pointer-events:none;text-align:center}.session-status-logo{width:clamp(120px,18vw,180px);height:auto;opacity:.95}.loading-dots{display:flex;gap:var(--sp-6)}.loading-dots span{width:11px;height:11px;border-radius:50%;background:var(--accent);opacity:.15;animation:dotseq 1.4s var(--ease) infinite}.loading-dots span:nth-child(2){animation-delay:.18s}.loading-dots span:nth-child(3){animation-delay:.36s}@keyframes dotseq{0%,70%,to{opacity:.15}35%{opacity:1}}.session-status.error{background:transparent;color:var(--error)}.session-status.error .session-status-logo,.session-status.error .loading-dots,.session-status.hidden{display:none}.session-status-retry{pointer-events:auto;height:var(--control-h);padding:0 var(--sp-7);border:1px solid var(--field);background:var(--paper);color:var(--ink);font:500 var(--fs-md)/1 var(--mono);letter-spacing:.04em;cursor:pointer}.session-status-retry:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:1100px){.topbar{grid-template-columns:1fr 1fr}.topbar .brand{grid-column:1;grid-row:1}.topbar .bar-right{grid-column:2;grid-row:1}.topbar .bar-center{grid-column:1 / -1;grid-row:2}}@media(max-width:760px){.controls{gap:var(--sp-2)}.topbar .sep{display:none}}@media(max-width:560px){.topbar{gap:var(--sp-5);padding:7px 14px}.topbar .brand{font-size:var(--fs-sm)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.task-list{display:flex;flex-direction:column;gap:var(--sp-4);max-height:min(50vh,420px);overflow-y:auto}.task-tray{position:fixed;right:16px;bottom:16px;z-index:130;display:flex;flex-direction:column;gap:var(--sp-4);width:min(340px,90vw);border:0;background:transparent;padding:0;max-height:none;overflow:visible}.task-tray.hidden{display:none}.task-row{display:flex;flex-direction:column;gap:.4rem;padding:var(--sp-5) var(--sp-6);background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-pop)}.task-row-top,.task-row-mid{display:flex;align-items:center;gap:.6rem}.task-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 var(--fs-md)/1.3 var(--mono);color:var(--ink)}.task-pct{font:600 var(--fs-sm)/1.3 var(--mono);color:var(--ink3);min-width:2.6rem;text-align:right}.task-bar{flex:1;min-width:0;height:6px}.task-state{font:500 var(--fs-sm)/1.3 var(--mono);color:var(--ink3);width:6rem;text-align:right}.task-row.failed{border-left:2px solid var(--error)}.task-row.failed .task-state{color:var(--error)}.task-error{font:500 var(--fs-sm)/1.4 var(--mono);color:var(--error);word-break:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.task-error:empty{display:none}.task-dismiss{border:0;background:transparent;color:var(--accent);height:auto;padding:0 .3rem}.task-dismiss:hover{background:transparent;color:var(--accent-h)}.ctxmenu{position:fixed;z-index:125;min-width:10rem;padding:var(--sp-2) 0;background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-pop);display:flex;flex-direction:column}.ctx-item{display:flex;align-items:center;justify-content:flex-start;width:100%;height:auto;padding:var(--sp-3) var(--sp-6);border:0;background:none;text-align:left;font:400 var(--fs-body)/1.3 var(--mono);letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer}.ctx-item:hover:not(:disabled),.ctx-item:focus-visible{background:var(--hover-light);outline:none}.ctx-item:disabled{opacity:.38;cursor:not-allowed}.ctx-item:disabled:hover{background:none}.ctx-item.separated{border-top:1px solid var(--rule);margin-top:var(--sp-2);padding-top:.5rem}.dialog h3,.dialog h4{margin:0 0 1.25rem;font:700 var(--fs-md)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.dialog-msg{margin:0 0 1rem;font:400 var(--fs-body)/1.55 var(--sans)}.dialog-label{display:block;margin:0 0 .35rem;font:600 var(--fs-sm)/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}.dialog-error{margin:.4rem 0 0;min-height:1.4em;font:500 var(--fs-sm)/1.4 var(--mono);color:var(--error)}.dialog-actions{margin-top:1rem}.dialog button:focus-visible{outline:var(--focus-ring);outline-offset:2px}
/*! Bundled license information:

@xterm/xterm/css/xterm.css:
  (**
   * 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.
   *)
*/
