/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;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;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}:root{--bg: #0a0a0a;--bg-elev: #111111;--bg-panel: #161616;--line: rgba(255, 255, 255, .08);--line-strong: rgba(255, 255, 255, .14);--text: #f2f2f2;--muted: #8a8a8a;--accent: #3dffa8;--accent-dim: rgba(61, 255, 168, .14);--warn: #f0c35a;--warn-dim: rgba(240, 195, 90, .14);--danger: #ff7a6e;--danger-dim: rgba(255, 122, 110, .14);--ok: #3dffa8;--ok-dim: rgba(61, 255, 168, .12);--radius: 14px;--sidebar-width: 240px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, monospace;color-scheme:dark}*{box-sizing:border-box}*:focus,*:focus-visible{outline:none}html,body,#root{margin:0;min-height:100%;height:100%;touch-action:manipulation}html.scroll-locked,html.scroll-locked body,.main.scroll-locked{overflow:hidden!important;overscroll-behavior:none;touch-action:none}body{font-family:var(--font);background:radial-gradient(1100px 520px at 8% -12%,rgba(61,255,168,.06),transparent 55%),radial-gradient(800px 420px at 92% 0%,rgba(61,255,168,.03),transparent 50%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}button,input{font:inherit}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:99px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:#ffffff47;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-corner{background:transparent}.app{height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr;overflow:hidden}.sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--line);background:#0a0a0aeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar-brand{padding:1.1rem 1rem .9rem;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.35rem}.sidebar-wordmark{display:flex;flex-direction:column;align-items:flex-start;line-height:.9;letter-spacing:-.04em;text-align:left}.sidebar-title{margin:0;font-size:1.55rem;font-weight:800;color:var(--text)}.sidebar-sub-row{display:flex;margin-top:1px}.sidebar-sub-anchor{position:relative;display:inline-block}.sidebar-sub{margin:0;font-size:1.55rem;font-weight:700;color:var(--text)}.sidebar-version{position:absolute;left:100%;bottom:.12em;margin-left:.35rem;font-size:.55em;font-weight:400;color:var(--text);letter-spacing:.03em;line-height:1;white-space:nowrap}.sidebar-brand span{color:var(--muted);font-size:.72rem;line-height:1.35}.sidebar-refresh{margin-top:.45rem;width:100%}.sidebar-nav{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .65rem;border-bottom:1px solid var(--line)}.sidebar-section{display:flex;flex-direction:column;min-height:0;flex:1;padding:.65rem .65rem 1rem}.sidebar-section-label{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;padding:.25rem .55rem .5rem}.sidebar-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;border-radius:999px;background:#ffffff0f;color:var(--muted);font-size:.65rem;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}.sidebar-section-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding-right:.2rem}.sidebar-section-head .sidebar-section-label{padding-bottom:.35rem}.sidebar-folder-btn{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;margin-bottom:.15rem;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.sidebar-folder-btn:hover{color:var(--text);background:#ffffff0f;border-color:#ffffff1f}.sidebar-projects{display:flex;flex-direction:column;gap:.15rem;overflow:auto;min-height:0;flex:1;padding-right:.15rem}.sidebar-empty{color:var(--muted);font-size:.8rem;padding:.5rem .55rem}.nav-item{display:flex;align-items:center;gap:.55rem;width:100%;border:1px solid transparent;background:transparent;color:var(--muted);text-align:left;padding:.5rem .65rem;border-radius:10px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:8px;flex-shrink:0;color:inherit;background:#ffffff0a}.nav-item.active .nav-icon{color:var(--accent);background:var(--accent-dim)}.nav-badge{margin-left:auto;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;display:inline-grid;place-items:center;font-size:.68rem;font-weight:700;color:#1a1408;background:var(--warn)}.status-view-stack{display:grid;grid-template-columns:1fr;gap:.85rem}.status-view-stack>.panel,.status-view-stack>.pm2-panel{min-height:0;max-height:min(52vh,560px);display:flex;flex-direction:column;overflow:hidden}.status-view-stack>.panel.panel-projects{max-height:none;overflow:visible}.status-view-stack .project-grid,.status-view-stack .pm2-body{overflow:auto;flex:1;min-height:0}.status-view-stack .panel-projects .project-grid{overflow:visible;max-height:none;flex:none;min-height:0}.status-view-stack .pm2-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.status-view{align-items:start;grid-template-columns:1fr}.dashboard{flex:1;min-height:0;display:flex;flex-direction:column;gap:1rem}.dashboard .metrics-block{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.dashboard .metrics-block .spark-grid{flex:1;min-height:0;align-content:stretch}.dashboard .metrics-block .spark-grid-hostinger{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:.75rem}.metrics-block-title{display:flex;align-items:center;gap:.55rem;min-width:0}.metrics-block-meta-mobile{display:none}.vps-status-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.02em}.vps-status-pill.ok{color:#062016;background:var(--accent)}.vps-status-pill.warn{color:#1a1408;background:var(--warn)}.mini-spark{display:block;width:100%;max-width:11rem;height:2.4rem;margin:0 auto;color:var(--accent)}.mini-spark.tone-warn{color:var(--warn)}.mini-spark.tone-danger{color:var(--danger)}.mini-spark.tone-muted{color:var(--muted)}.mini-spark.empty{border-radius:6px;background:#ffffff0a}.spark-chart-slot{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:2.6rem;width:100%;margin:.35rem 0}.spark-center-text{font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1;color:var(--ok);text-align:center}.spark-stat-metric.spark-stat-chart .spark-center-text{font-size:clamp(1.05rem,1.6vw,1.45rem);letter-spacing:-.03em;max-width:100%;overflow-wrap:anywhere}.spark-stat-metric.tone-warn .spark-center-text{color:var(--warn)}.spark-stat-metric.tone-danger .spark-center-text{color:var(--danger)}.spark-stat-metric.tone-muted .spark-center-text{color:var(--muted)}.ring-gauge{position:relative;width:6rem;height:6rem;display:grid;place-items:center}.ring-gauge svg{position:absolute;inset:0;width:100%;height:100%}.ring-gauge-track{stroke:#ffffff14}.ring-gauge.tone-ok .ring-gauge-fill{stroke:var(--ok)}.ring-gauge.tone-warn .ring-gauge-fill{stroke:var(--warn)}.ring-gauge.tone-danger .ring-gauge-fill{stroke:var(--danger)}.ring-gauge.tone-muted .ring-gauge-fill{stroke:var(--muted)}.ring-gauge-center{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;max-width:4.6rem;text-align:center}.ring-gauge-label{font-size:1.35rem;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text)}.ring-gauge-sub{font-size:.7rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.ring-gauge.tone-ok .ring-gauge-label{color:var(--ok)}.ring-gauge.tone-warn .ring-gauge-label{color:var(--warn)}.ring-gauge.tone-danger .ring-gauge-label{color:var(--danger)}.spark-stat-chart .spark-track{margin-top:.35rem}.dashboard .metrics-block .spark-stat{height:100%;min-height:0}.spark-grid.dash-alert-row{flex:0 0 auto;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.spark-grid.dash-alert-row .spark-stat{min-width:0;width:100%;height:100%;min-height:5.5rem;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}.dash-stats{flex:0 0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:stretch}.dash-stats .dash-link{min-height:5.5rem;height:100%;box-sizing:border-box;padding:.7rem .85rem;gap:.25rem;overflow:hidden}.docker-image{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-link{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.45rem;width:100%;height:100%;min-height:0;padding:1.35rem 1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-elev);color:inherit;text-align:left;font:inherit;transition:border-color .15s ease,background .15s ease,transform .15s ease}button.dash-link{cursor:pointer}div.dash-link{cursor:default}button.dash-link:hover{border-color:#3dffa859;background:#ffffff08;transform:translateY(-1px)}.dash-link-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;color:var(--muted);letter-spacing:.02em;min-width:0}.dash-link-icon{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;flex-shrink:0;color:currentColor;opacity:.85}.dash-link-icon svg{width:100%;height:100%}.dash-link.tone-ok .dash-link-icon{color:var(--accent)}.dash-link.tone-warn .dash-link-icon{color:var(--warn)}.dash-link.tone-danger .dash-link-icon{color:var(--danger)}.dash-link.tone-muted .dash-link-icon{color:var(--muted)}.spark-icon-sm{width:1.35rem;height:1.35rem;border-radius:6px}.spark-icon-sm svg{width:14px;height:14px}.spark-stat-footer .label{font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}.spark-stat-footer .spark-value-text{font-size:1.35rem}.dash-link-count{font-size:1.55rem;line-height:1;font-weight:700;font-variant-numeric:tabular-nums}.dash-stats .dash-link-hint{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dash-link-hint{font-size:.78rem;color:var(--muted)}.dash-link.tone-ok .dash-link-count{color:var(--accent)}.dash-link.tone-warn .dash-link-count{color:var(--warn)}.dash-link.tone-danger .dash-link-count{color:var(--danger)}.dash-link.tone-muted .dash-link-count{color:var(--muted)}.panel.pm2-panel{overflow:visible!important}.pm2-body{padding:.75rem 1rem 1rem;border-top:1px solid rgba(61,255,168,.12)}.pm2-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.45rem}.pm2-card{border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:.55rem .65rem;background:#ffffff08}button.pm2-card{width:100%;color:inherit;font:inherit;text-align:left}.pm2-card-click{cursor:pointer;transition:border-color .15s ease,background .15s ease}.pm2-card-click:hover{border-color:#3dffa859;background:#3dffa80f}.pm2-card-top{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.pm2-card-top strong{flex:1;min-width:0;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pm2-card-id{color:var(--muted);font-family:var(--mono);font-size:.7rem}.pm2-card-meta{display:flex;flex-wrap:wrap;gap:.55rem;font-size:.7rem;color:var(--muted)}.pm2-status{font-weight:700;font-size:.72rem}.pm2-status.ok{color:var(--ok)}.pm2-status.warn{color:var(--warn)}.pm2-status.danger{color:var(--danger)}.pm2-status.muted{color:var(--muted)}.pm2-restarts-hot{color:var(--warn);font-weight:700}.nav-item:hover{color:var(--text);background:#ffffff08}.nav-item.active{color:var(--text);background:var(--bg-panel);border-color:var(--line-strong)}.nav-item.project{padding:.42rem .55rem;align-items:flex-start}.nav-item.project .status-dot{margin-top:.35rem}.nav-project-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.nav-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;color:inherit}.nav-project-repo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;color:var(--muted);opacity:.9}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--muted)}.status-dot.ok{background:var(--ok)}.status-dot.warn{background:var(--warn)}.status-dot.danger{background:var(--danger)}.status-dot.muted{background:var(--muted)}.workspace{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.btn{border:1px solid var(--line-strong);background:var(--bg-panel);color:var(--text);border-radius:999px;padding:.55rem 1rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-dim)}.btn:disabled{opacity:.5;cursor:wait}.btn.primary{background:var(--accent);color:#062016;border-color:transparent;font-weight:600}.btn.primary:hover:not(:disabled){background:#6dffc0}.btn.ghost{background:transparent;border-color:var(--line-strong);color:var(--text);font-size:.8rem;padding:.4rem .8rem;white-space:nowrap}.btn.ghost:hover:not(:disabled){border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.cursor-open-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:.4rem}.cursor-open-btn img{width:16px;height:16px;border-radius:4px;display:block}.btn.ghost.cursor-open-btn:hover:not(:disabled){border-color:#ffffff38;background:#ffffff0f;color:var(--text)}.project-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem .75rem}.project-title-row h2{margin:0}.main{padding:1rem 1.2rem 1.6rem;display:flex;flex-direction:column;gap:1rem;overflow:auto;flex:1;min-height:0}.main:has(.dashboard){overflow:hidden}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.vps-inline-stats{grid-template-columns:repeat(3,minmax(0,1fr));padding:.85rem 1rem 0}.live-strip{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;animation:rise .35s ease both}.live-strip-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1.05rem;border-bottom:1px solid var(--line)}.live-strip-head strong{display:block;font-size:1rem;font-weight:600}.live-strip-head span{color:var(--muted);font-size:.8rem}.live-strip-meta{display:flex;align-items:center;gap:.55rem;flex-shrink:0}.live-time{color:var(--muted);font-size:.75rem}.live-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 #3dffa88c;animation:pulse 1.6s ease infinite}@keyframes pulse{0%{box-shadow:0 0 #3dffa873}70%{box-shadow:0 0 0 8px #3dffa800}to{box-shadow:0 0 #3dffa800}}.vps-live-stats{grid-template-columns:repeat(4,minmax(0,1fr));padding:.85rem 1rem 1rem;gap:.75rem}.vps-live-stats .stat{background:var(--bg-panel)}.gauge-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:.85rem 1rem 1rem}.gauge-card{display:flex;align-items:center;gap:.75rem;background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;padding:.75rem .85rem;min-width:0}.gauge-ring-wrap{position:relative;width:72px;height:72px;flex-shrink:0}.gauge-ring{width:72px;height:72px;transform:rotate(-90deg)}.gauge-track{fill:none;stroke:#ffffff0f;stroke-width:8}.gauge-value{fill:none;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.gauge-center{position:absolute;inset:0;display:grid;place-items:center}.gauge-center strong{font-size:.95rem;font-weight:700;letter-spacing:-.03em}.gauge-meta{min-width:0;flex:1}.gauge-value-text{margin-top:.15rem;font-size:.82rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-card{align-items:stretch}.load-bars{display:flex;align-items:flex-end;gap:.35rem;height:72px;padding-bottom:.1rem}.load-bar-col{display:flex;flex-direction:column;align-items:center;gap:.25rem;width:18px;height:100%}.load-bar-track{flex:1;width:100%;border-radius:999px;background:#ffffff0f;display:flex;align-items:flex-end;overflow:hidden}.load-bar-fill{width:100%;border-radius:inherit;background:var(--accent);min-height:4px;transition:height .4s ease}.load-bar-col span{font-size:.62rem;color:var(--muted);text-transform:uppercase}.metrics-block{border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem .9rem;background:var(--bg-elev);animation:rise .3s ease both}.metrics-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.metrics-block-head strong{font-size:.95rem}.metrics-block-head span{color:var(--muted);font-size:.75rem}.spark-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.metrics-block .spark-stat{background:var(--bg-panel)}.spark-stat{background:var(--bg-elev);border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;animation:rise .35s ease both}.spark-stat-metric{display:flex;flex-direction:column;padding:1rem 1.1rem 1.05rem;background:linear-gradient(165deg,rgba(255,255,255,.03),transparent 42%),var(--bg-panel);border-color:#ffffff1a}.spark-grid-hostinger .spark-stat-metric .hint{margin-top:auto;padding-top:.65rem;color:var(--muted);font-size:.72rem}.spark-stat-metric.tone-ok{box-shadow:inset 0 0 0 1px #3dffa80f}.spark-stat-metric.tone-warn{box-shadow:inset 0 0 0 1px #f0c35a14}.spark-stat-metric.tone-danger{box-shadow:inset 0 0 0 1px #ff7a6e1a}.spark-stat-metric.tone-muted{opacity:.88}button.spark-stat{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}button.spark-stat:hover{border-color:#3dffa859;background:#ffffff08;transform:translateY(-1px)}.spark-stat-rich{display:flex;flex-direction:column;min-height:0}.spark-proc-list{list-style:none;margin:.55rem 0 0;padding:.45rem 0 0;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.22rem;flex:1;min-height:0;overflow:hidden}.spark-proc-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.72rem;line-height:1.2;color:var(--muted)}.spark-proc-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spark-proc-cpu{flex-shrink:0;color:var(--text);font-size:.7rem}.spark-proc-empty{margin-top:.55rem;padding-top:.45rem;border-top:1px solid rgba(255,255,255,.06);font-size:.72rem;color:var(--muted)}.spark-top{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.spark-label-row{display:flex;align-items:center;gap:.55rem;min-width:0}.spark-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;flex-shrink:0}.spark-icon.tone-ok{color:var(--ok);background:var(--ok-dim)}.spark-icon.tone-warn{color:var(--warn);background:var(--warn-dim)}.spark-icon.tone-danger{color:var(--danger);background:var(--danger-dim)}.spark-icon.tone-muted{color:var(--muted);background:#ffffff0d}.spark-stat-metric .label{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.spark-top strong{font-size:1.25rem;font-weight:700;letter-spacing:-.03em}.spark-top strong.spark-value-text{font-size:clamp(.95rem,1.45vw,1.25rem);font-variant-numeric:tabular-nums;text-align:right;max-width:62%;line-height:1.15;overflow-wrap:anywhere}.spark-grid-hostinger .spark-value-text{font-size:clamp(.9rem,1.35vw,1.15rem);max-width:58%}.spark-stat-metric.tone-ok .spark-value-text{color:var(--ok)}.spark-stat-metric.tone-warn .spark-value-text{color:var(--warn)}.spark-stat-metric.tone-danger .spark-value-text{color:var(--danger)}.spark-stat-metric.tone-muted .spark-value-text{color:var(--muted);font-size:clamp(.85rem,1.2vw,1.05rem)}.spark-stat-metric .spark-track{margin-top:.85rem;height:9px;background:#ffffff12}.spark-track{margin-top:.65rem;height:8px;border-radius:999px;background:#ffffff0f;overflow:hidden}.spark-fill{height:100%;border-radius:inherit;transition:width .45s ease}.spark-fill.ok{background:linear-gradient(90deg,rgba(61,255,168,.35),var(--ok))}.spark-fill.warn{background:linear-gradient(90deg,rgba(240,195,90,.35),var(--warn))}.spark-fill.danger{background:linear-gradient(90deg,rgba(255,122,110,.35),var(--danger))}.spark-fill.muted{background:var(--muted)}.attention-list{display:flex;flex-direction:column;gap:.35rem;padding:.65rem;max-height:280px;overflow:auto}.attention-item{display:flex;align-items:center;gap:.55rem;width:100%;border:1px solid var(--line);background:var(--bg-panel);border-radius:10px;padding:.55rem .7rem;color:var(--text);cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.attention-item:hover{border-color:var(--line-strong);background:#1a1a1a}.attention-name{flex:1;min-width:0;font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attention-empty{color:var(--muted);font-size:.85rem;padding:.85rem .5rem}.service-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:.85rem 1rem 1rem}.service-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--bg-panel);border-radius:999px;padding:.35rem .65rem;max-width:100%}.service-chip.tone-danger{border-color:#ff7a6e59;background:var(--danger-dim)}.service-chip.tone-warn{border-color:#f0c35a4d;background:var(--warn-dim)}.service-chip-name{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.service-chip-link{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}a.service-chip-link:hover{border-color:#3dffa866;background:var(--accent-dim);color:var(--accent)}a.service-chip-link:hover .status-dot.muted{background:var(--accent)}@media(max-width:960px){.gauge-grid,.spark-grid:not(.dash-alert-row){grid-template-columns:1fr 1fr}}.dashboard-vps-grid{padding:.85rem 1rem 1rem}.subpanel-head{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;padding:.35rem 0 .55rem}@media(max-width:960px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vps-inline-stats,.vps-live-stats{grid-template-columns:1fr 1fr}}.stat{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem;animation:rise .35s ease both}.stat .label{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.stat .value{margin-top:.35rem;font-size:1.7rem;font-weight:700;letter-spacing:-.03em}.stat .hint{margin-top:.25rem;color:var(--muted);font-size:.8rem}.panel{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;animation:rise .4s ease both}.panel:has(>.detail-empty){background:color-mix(in srgb,var(--bg-elev) 82%,#050505);border-color:color-mix(in srgb,var(--line) 75%,#000)}.panel:has(>.detail-empty) .panel-head{border-bottom-color:color-mix(in srgb,var(--line) 70%,#000)}.panel:has(>.detail-empty) .panel-head h2,.panel:has(>.detail-empty) .panel-title{color:color-mix(in srgb,var(--text) 72%,#000)}.panel:has(>.detail-empty) .panel-title-icon{color:var(--muted);opacity:.7}.panel:has(>.detail-empty) .panel-head p{color:color-mix(in srgb,var(--muted) 80%,#000)}.panel:has(>.detail-empty) .detail-empty{opacity:.88}.panel:has(>.detail-empty) .badge.muted{color:color-mix(in srgb,var(--muted) 85%,#000);background:color-mix(in srgb,var(--bg) 88%,#000);border-color:color-mix(in srgb,var(--line) 65%,#000)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.05rem;border-bottom:1px solid var(--line)}.panel-head h2{margin:0;font-size:1rem;font-weight:600}.panel-title{display:inline-flex;align-items:center;gap:.4rem}.panel-title-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);opacity:.95;line-height:0}.panel-title-icon svg{display:block}.panel-head p{margin:.2rem 0 0;color:var(--muted);font-size:.8rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{text-align:left;padding:.72rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;position:sticky;top:0;background:var(--bg-elev)}tr:last-child td{border-bottom:none}tr:hover td{background:#ffffff05}.click-row{cursor:pointer}.click-row td{transition:background .12s ease}.click-row:hover td{background:#3dffa80a}.click-row td:first-child{display:flex;align-items:center;gap:.5rem}.mono{font-family:var(--mono);font-size:.8rem}.header-marks{display:flex;align-items:stretch;gap:.5rem;flex-shrink:0;position:relative}.health-mark,.runtime-mark{display:inline-flex;align-items:center;gap:.65rem;flex-shrink:0;padding:.35rem .7rem .35rem .4rem;border:1px solid rgba(255,255,255,.1);border-radius:3px;background:#ffffff08;color:inherit;font:inherit;text-align:left}.detail-grid.attention-maint-row{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-grid.attention-maint-row .attention-panel,.detail-grid.attention-maint-row .security-panel{min-width:0;min-height:100%}.detail-grid.attention-maint-row .attention-panel .attention-list{grid-template-columns:1fr}.detail-grid.attention-maint-row .attention-panel .attention-item{border-right:none}.security-panel{border-color:#ffffff1a;background:var(--bg-elev)}.security-panel-ok{border-color:#3dffa847;background:linear-gradient(180deg,rgba(61,255,168,.07),transparent 42%),var(--bg-elev)}.security-panel-ok .panel-title,.security-panel-ok .panel-title-icon{color:var(--ok)}.security-panel-warn{border-color:#f0c35a59;background:linear-gradient(180deg,rgba(240,195,90,.08),transparent 40%),var(--bg-elev)}.security-panel-warn .panel-title,.security-panel-warn .panel-title-icon{color:var(--warn)}.security-panel-danger{border-color:#ff7a6e66;background:linear-gradient(180deg,rgba(255,122,110,.1),transparent 40%),var(--bg-elev)}.security-panel-danger .panel-title,.security-panel-danger .panel-title-icon{color:var(--danger)}.security-panel:not(.security-panel-ok):not(.security-panel-warn):not(.security-panel-danger) .panel-title-icon{color:var(--muted)}.security-panel-muted .panel-title,.security-panel-muted .panel-title-icon{color:var(--muted)}.security-panel .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.security-list{list-style:none;margin:0;padding:.15rem 0 .35rem;display:flex;flex-direction:column}.security-item{display:flex;flex-direction:column;gap:.2rem;padding:.55rem 1rem;border-top:1px solid var(--line)}.security-item-main{display:flex;align-items:center;gap:.55rem;min-width:0}.security-label{font-size:.82rem;color:var(--text);min-width:0}.security-detail{font-size:.72rem;color:var(--muted);padding-left:calc(.55rem + 2.6rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.security-item.tone-danger .security-label{color:#ffb4ac}.security-item.tone-warn .security-label{color:#f0d78a}.attention-panel{border-color:#f0c35a59;background:linear-gradient(180deg,rgba(240,195,90,.08),transparent 40%),var(--bg-elev);overflow:visible;z-index:2}.attention-panel .panel-title-icon{color:var(--warn)}.attention-panel-danger{border-color:#ff7a6e66;background:linear-gradient(180deg,rgba(255,122,110,.1),transparent 40%),var(--bg-elev)}.attention-panel-danger .attention-panel-head{border-bottom-color:#ff7a6e40}.attention-panel-danger .attention-panel-head h2,.attention-panel-danger .panel-title-icon{color:var(--danger)}.attention-panel-idle{border-color:#ffffff1a;background:var(--bg-elev)}.attention-panel-idle .attention-panel-head{border-bottom-color:#ffffff14}.attention-panel-idle .attention-panel-head h2{color:var(--muted)}.attention-panel-idle .panel-title-icon{color:var(--muted);opacity:.7}.attention-idle-msg{margin:0;padding:.9rem 1.05rem 1.1rem;color:var(--muted);font-size:.85rem}.maintenance-panel{border-color:#3dffa838;background:linear-gradient(180deg,rgba(61,255,168,.06),transparent 42%),var(--bg-elev)}.maintenance-panel .panel-title-icon{color:var(--ok)}.maintenance-panel-ok{border-color:#3dffa838}.maintenance-panel-ok .maintenance-panel-head h2,.maintenance-panel-ok .panel-title-icon{color:var(--ok)}.maintenance-panel-warn{border-color:#f0c35a59;background:linear-gradient(180deg,rgba(240,195,90,.08),transparent 40%),var(--bg-elev)}.maintenance-panel-warn .maintenance-panel-head{border-bottom-color:#f0c35a33}.maintenance-panel-warn .maintenance-panel-head h2,.maintenance-panel-warn .panel-title-icon{color:var(--warn)}.maintenance-panel-danger{border-color:#ff7a6e66;background:linear-gradient(180deg,rgba(255,122,110,.1),transparent 40%),var(--bg-elev)}.maintenance-panel-danger .maintenance-panel-head{border-bottom-color:#ff7a6e40}.maintenance-panel-danger .maintenance-panel-head h2,.maintenance-panel-danger .panel-title-icon{color:var(--danger)}.maintenance-panel-muted{border-color:#ffffff1a;background:var(--bg-elev)}.maintenance-panel-muted .maintenance-panel-head{border-bottom-color:#ffffff14}.maintenance-panel-muted .maintenance-panel-head h2,.maintenance-panel-muted .panel-title-icon{color:var(--muted)}.maintenance-panel-muted .panel-title-icon{opacity:.7}.maintenance-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1.05rem;border-bottom:1px solid rgba(61,255,168,.16)}.maintenance-panel-head h2{margin:0;font-size:1rem}.maintenance-panel-head p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.maintenance-actions{display:flex;flex-direction:column;gap:.45rem;padding:.85rem 1rem .65rem}.maintenance-btn{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;border:1px solid rgba(255,255,255,.12);border-radius:2px;background:#ffffff0a;color:var(--text);padding:.55rem .7rem;font:inherit;cursor:pointer;text-align:left}.maintenance-btn:hover:not(:disabled){border-color:#3dffa866;background:#3dffa814}.maintenance-btn:disabled{opacity:.45;cursor:not-allowed}.maintenance-btn-warn:hover:not(:disabled){border-color:#f0c35a73;background:#f0c35a1a}.maintenance-btn-label{font-size:.84rem;font-weight:650}.maintenance-btn-hint{font-size:.7rem;color:var(--muted)}.maintenance-msg,.maintenance-error,.maintenance-empty{margin:0;padding:0 1rem 1rem;font-size:.76rem;line-height:1.4;word-break:break-word}.maintenance-msg{color:var(--accent)}.maintenance-error{color:var(--danger)}.maintenance-empty{color:var(--muted)}.attention-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.9rem 1.05rem;border-bottom:1px solid rgba(240,195,90,.2)}.attention-tools{position:relative;flex-shrink:0}.attention-tools-toggle{display:inline-flex;align-items:center;gap:.2rem;margin:0;padding:.35rem .45rem;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0a;color:var(--muted);cursor:pointer;line-height:0;transition:color .12s ease,border-color .12s ease,background .12s ease}.attention-tools-toggle:hover,.attention-tools-toggle.open{color:var(--text);border-color:#ffffff38;background:#ffffff12}.attention-panel:not(.attention-panel-idle) .attention-tools-toggle:hover,.attention-panel:not(.attention-panel-idle) .attention-tools-toggle.open{color:var(--warn);border-color:#f0c35a66;background:#f0c35a1a}.attention-panel-danger .attention-tools-toggle:hover,.attention-panel-danger .attention-tools-toggle.open{color:var(--danger);border-color:#ff7a6e73;background:#ff7a6e1a}.attention-tools-caret{opacity:.75;transition:transform .15s ease}.attention-tools-toggle.open .attention-tools-caret{transform:rotate(180deg)}.attention-tools-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;width:min(17.5rem,calc(100vw - 2rem));padding:.55rem;border:1px solid var(--line-strong);border-radius:10px;background:var(--bg-panel);box-shadow:0 12px 32px #00000073;display:flex;flex-direction:column;gap:.35rem}.attention-tools-menu-head{padding:.2rem .35rem 0;font-size:.82rem;font-weight:600;color:var(--text)}.attention-tools-menu-sub{margin:0;padding:0 .35rem .25rem;font-size:.68rem;color:var(--muted);line-height:1.35}.attention-tools-item{display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;width:100%;margin:0;padding:.5rem .55rem;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:#ffffff08;color:var(--text);font:inherit;text-align:left;cursor:pointer}.attention-tools-item:hover:not(:disabled){border-color:#3dffa859;background:#3dffa814}.attention-tools-item:disabled{opacity:.45;cursor:not-allowed}.attention-tools-item-warn:hover:not(:disabled){border-color:#f0c35a66;background:#f0c35a1a}.attention-tools-item-label{font-size:.8rem;font-weight:560}.attention-tools-item-hint{font-size:.66rem;color:var(--muted)}.attention-tools-msg,.attention-tools-error,.attention-tools-empty{margin:.15rem 0 0;padding:.35rem .4rem;font-size:.7rem;line-height:1.35;border-radius:6px}.attention-tools-msg{color:var(--ok);background:var(--ok-dim)}.attention-tools-error{color:#ffb4ac;background:var(--danger-dim)}.attention-tools-empty{color:var(--muted);background:#ffffff08}.attention-panel-head h2{margin:0;font-size:1rem;color:var(--warn)}.attention-panel-head p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem}.attention-panel .attention-list{list-style:none;margin:0;padding:.35rem 0;display:grid;grid-template-columns:1fr 1fr;gap:0;max-height:none;overflow:visible;flex-direction:unset}.attention-panel .attention-item{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.28rem;width:auto;padding:.85rem 1.05rem;border:none;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;background:transparent;min-height:4.5rem;cursor:default;text-align:left}.attention-panel .attention-item:hover{border-color:#ffffff0f;background:transparent}.attention-panel .attention-item:nth-child(2n){border-right:none}.attention-item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.attention-item-copy{display:inline-grid;place-items:center;width:1.45rem;height:1.45rem;border:1px solid rgba(240,195,90,.3);border-radius:2px;background:#f0c35a14;color:var(--warn);cursor:pointer;padding:0;flex-shrink:0}.attention-item-copy:hover{background:#f0c35a2e;border-color:#f0c35a80}.attention-item-copy.copied{color:#1a1408;background:var(--warn);border-color:var(--warn)}.attention-source{display:block;font-size:.66rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;color:var(--warn);text-align:left}.attention-source.danger{color:var(--danger)}.attention-msg{font-size:.88rem;line-height:1.4;color:var(--text);font-weight:600;text-align:left}.attention-detail{font-size:.72rem;color:var(--muted);word-break:break-word;text-align:left}@media(max-width:900px){.attention-panel .attention-list{grid-template-columns:1fr}.attention-panel .attention-item{border-right:none}}.runtime-mark.pm2.ok,.runtime-mark.docker.ok{border-color:#3dffa859;background:linear-gradient(135deg,#3dffa824,#3dffa805 70%),#0003}.runtime-mark.warn{border-color:#f0c35a59;background:linear-gradient(135deg,rgba(240,195,90,.12),transparent 70%),#0003}.runtime-mark.danger{border-color:#ff7a6e66;background:linear-gradient(135deg,rgba(255,122,110,.14),transparent 70%),#0003}.runtime-mark-icon{width:2.1rem;height:2.1rem;border-radius:3px;display:grid;place-items:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.runtime-mark.ok .runtime-mark-icon{border-color:#3dffa847;background:#3dffa81a}.runtime-mark-dot{width:.55rem;height:.55rem;border-radius:50%;background:#ffffff47}.runtime-mark.ok .runtime-mark-dot{background:var(--accent);box-shadow:0 0 10px #3dffa873;animation:health-glow 2s ease-in-out infinite}.runtime-mark-copy{display:flex;flex-direction:column;gap:.06rem;min-width:3.6rem}.runtime-mark-kind{font-size:.62rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.runtime-mark.ok .runtime-mark-kind{color:var(--accent)}.runtime-mark-label{font-size:.78rem;font-weight:750;line-height:1.1;color:var(--text);max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-mark-meta{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.7rem;color:var(--muted);letter-spacing:.03em}.runtime-mark.ok .runtime-mark-meta{color:#3dffa8bf}.health-mark.ok{border-color:#3dffa859;background:linear-gradient(135deg,#3dffa824,#3dffa805 70%),#0003}.health-mark.warn{border-color:#f0c35a59;background:linear-gradient(135deg,rgba(240,195,90,.12),transparent 70%),#0003}.health-mark.danger{border-color:#ff7a6e66;background:linear-gradient(135deg,rgba(255,122,110,.14),transparent 70%),#0003}.health-ring{position:relative;width:2.1rem;height:2.1rem;flex-shrink:0}.health-ring-svg{width:100%;height:100%;transform:rotate(-90deg)}@keyframes health-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}.health-ring-track,.health-ring-arc{fill:none;stroke-width:3}.health-ring-track{stroke:#ffffff1a}.health-ring-arc{stroke:#ffffff38;stroke-dasharray:88;stroke-dashoffset:66;stroke-linecap:round}.health-mark.ok .health-ring-svg{animation:health-spin 4s linear infinite}.health-mark.ok .health-ring-arc{stroke:var(--accent);stroke-dashoffset:18}.health-mark.warn .health-ring-arc{stroke:var(--warn);stroke-dashoffset:40}.health-mark.danger .health-ring-arc{stroke:var(--danger);stroke-dashoffset:62}.health-core{position:absolute;inset:28%;border-radius:50%;background:#ffffff2e}.health-mark.ok .health-core{background:var(--accent);box-shadow:0 0 10px #3dffa873;animation:health-glow 2s ease-in-out infinite}.health-mark.warn .health-core{background:var(--warn)}.health-mark.danger .health-core{background:var(--danger)}.health-copy{display:flex;flex-direction:column;gap:.08rem;min-width:3.4rem}.health-label{font-size:.78rem;font-weight:750;letter-spacing:.02em;line-height:1.1;color:var(--text)}.health-mark.ok .health-label{color:var(--accent)}.health-mark.warn .health-label{color:var(--warn)}.health-mark.danger .health-label{color:var(--danger)}.health-uptime{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.72rem;color:var(--muted);letter-spacing:.04em}.health-mark.ok .health-uptime{color:#3dffa8bf}@keyframes health-glow{0%,to{box-shadow:0 0 6px #3dffa84d}50%{box-shadow:0 0 14px #3dffa88c}}.badge{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.18rem .55rem;font-size:.75rem;font-weight:600;border:1px solid transparent;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge.ok{color:var(--ok);background:var(--ok-dim)}.badge.warn{color:var(--warn);background:var(--warn-dim)}.badge.danger{color:var(--danger);background:var(--danger-dim)}.badge.muted{color:var(--muted);background:#8a8a8a24}.error-box{border:1px solid rgba(255,122,110,.35);background:var(--danger-dim);color:#ffd2cd;border-radius:var(--radius);padding:.9rem 1rem;font-size:.9rem}.notice{border:1px solid var(--line-strong);background:var(--bg-panel);border-radius:var(--radius);padding:.9rem 1rem;color:var(--muted);font-size:.9rem}.notice.inline{margin:1rem}.grid-2{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}@media(max-width:1100px){.grid-2{grid-template-columns:1fr}}.chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:1rem}.chip{border:1px solid var(--line-strong);background:var(--bg-panel);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-family:var(--mono)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;padding:1rem}.project-grid-compact{grid-template-columns:1fr;gap:.55rem}.project-card{display:flex;flex-direction:column;gap:.7rem;text-align:left;border:1px solid var(--line);background:var(--bg-panel);border-radius:12px;padding:.9rem;color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.project-card:hover{border-color:var(--line-strong);background:#1a1a1a;transform:translateY(-1px)}.project-card-top{display:flex;align-items:center;gap:.45rem;min-width:0}.project-card-name{flex:1;min-width:0;font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-lines{display:flex;flex-direction:column;gap:.35rem}.project-card-line{display:grid;grid-template-columns:36px 1fr;gap:.4rem;align-items:center;min-width:0}.muted-label{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.project-detail{display:flex;flex-direction:column;gap:1rem}.project-detail.terminal-only{flex:1;min-height:0}.project-detail.terminal-only .panel-terminal{flex:1;display:flex;flex-direction:column;min-height:0}.project-detail.terminal-only .terminal-xterm-wrap{flex:1;min-height:14rem;height:auto;max-height:none}.public-url{display:inline-block;margin-top:.45rem;color:var(--accent);font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.82rem;text-decoration:none;border-bottom:1px solid rgba(61,255,168,.35)}.public-url:hover{border-bottom-color:var(--accent)}.detail-grid.config-ports-row{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-grid.config-ports-row>.panel{min-width:0;min-height:100%;display:flex;flex-direction:column}.detail-grid.config-ports-row .panel-runtime{display:flex;flex-direction:column}.detail-grid.frontend-backend-row{align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-grid.frontend-backend-row>.panel{min-width:0;min-height:100%;display:flex;flex-direction:column}.detail-grid.db-row{grid-template-columns:minmax(0,1fr)}.detail-grid.db-row>.panel{min-width:0}.detail-grid.integrations-row{grid-template-columns:minmax(0,1fr)}.detail-grid.integrations-row>.panel{min-width:0}.panel-integrations{min-height:7.5rem}.panel-integrations .integrations-body{padding-top:.25rem;padding-bottom:1rem}.integrations-list{display:flex;flex-wrap:wrap;gap:.4rem}.integration-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem .3rem .45rem;border:1px solid var(--line-strong);border-radius:7px;font-size:.74rem;color:var(--text);background:#ffffff08}.integration-logo{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;flex-shrink:0;line-height:0}.integration-logo svg{display:block;width:14px;height:14px}.panel-db{min-height:9.5rem}.panel-db .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.35rem}.panel-db .db-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.85rem 1.25rem;align-items:start;padding-top:.35rem;padding-bottom:1.15rem}.panel-db .db-col{display:flex;flex-direction:column;gap:.65rem;min-width:0}.panel-db .db-col-files .db-files .subpanel-head{padding-top:0}.db-files{display:flex;flex-direction:column;gap:.3rem}.db-files .subpanel-head{padding:.2rem 0 .1rem}.db-file-list{display:flex;flex-wrap:wrap;gap:.3rem}.db-file-chip{display:inline-flex;max-width:100%;padding:.18rem .45rem;border:1px solid var(--line-strong);border-radius:6px;font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.db-file-chip-btn{appearance:none;background:transparent;font:inherit;font-family:inherit;cursor:pointer;color:var(--muted);transition:color .12s ease,border-color .12s ease,background .12s ease}button.db-file-chip-btn:hover{color:var(--text);border-color:var(--accent, #6ee7b7);background:color-mix(in srgb,var(--accent, #6ee7b7) 8%,transparent)}button.db-file-chip-btn:focus-visible{outline:2px solid var(--accent, #6ee7b7);outline-offset:1px}@media(max-width:700px){.panel-db .db-body{grid-template-columns:1fr}}.fb-body{display:flex;flex-direction:column;gap:.65rem;padding:.15rem 1rem .85rem}.fb-kv{display:grid;grid-template-columns:4.2rem 1fr;gap:.45rem;align-items:baseline;font-size:.74rem}.fb-k{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem}.fb-v{color:var(--text);min-width:0}.fb-block{display:flex;flex-direction:column;gap:.2rem}.fb-block .subpanel-head{padding:.35rem 0 .15rem}.fb-services{display:flex;flex-direction:column;gap:.4rem}.fb-service{display:flex;flex-direction:column;gap:.25rem;padding:.4rem .5rem;border:1px solid var(--line);border-radius:8px}.fb-service-main{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.fb-service-name{font-size:.82rem;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-service-meta{display:flex;flex-wrap:wrap;gap:.45rem;font-size:.7rem;color:var(--muted)}.fb-service-meta .truncate{min-width:0;flex:1 1 6rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-frontend .panel-head,.panel-backend .panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.config-runtime-row{align-items:stretch}.config-runtime-row .panel-runtime{display:flex;flex-direction:column}.config-actions{display:flex;flex-wrap:wrap;gap:.45rem;padding:.85rem 1rem 1rem;min-width:0}.config-btn{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:2px;background:#ffffff0a;color:var(--text);padding:.35rem .55rem;font-size:.78rem;cursor:pointer;box-sizing:border-box}.config-btn:hover:not(:disabled){border-color:#3dffa859;background:#3dffa814}.config-btn:disabled{opacity:.6;cursor:wait}.config-kind{color:var(--accent);font-weight:700;text-transform:uppercase;font-size:.68rem;letter-spacing:.04em;flex-shrink:0}.config-label{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-loading{color:var(--muted)}.preview-error{margin:0 1rem 1rem;color:#ff7a6e;font-size:.8rem}.preview-backdrop{position:fixed;inset:0;z-index:60;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:1.25rem;touch-action:none;overscroll-behavior:none}.preview-modal{width:min(820px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;background:#0c0c0c;border:1px solid rgba(255,255,255,.12);border-radius:4px;overflow:hidden;touch-action:auto}.preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.08)}.preview-title{font-size:.92rem;font-weight:650}.preview-path{margin-top:.2rem;font-size:.72rem;color:var(--muted);word-break:break-all}.preview-close{border:1px solid rgba(255,255,255,.14);border-radius:2px;background:transparent;color:var(--text);padding:.3rem .55rem;font-size:.78rem;cursor:pointer}.preview-close:hover{border-color:#3dffa859;color:var(--accent)}.preview-body{margin:0;padding:1rem;overflow:auto;flex:1;font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.74rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:#d6d6d6;background:#080808;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.chip-btn{cursor:pointer;font:inherit}.chip-btn:hover:not(:disabled){border-color:#3dffa859;color:var(--accent)}.chip-btn:disabled{opacity:.6;cursor:wait}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.detail-span{grid-column:1 / -1}.branch-block .subpanel-head{padding:.75rem 1rem .2rem}.branch-block .chips{padding-top:.5rem}.chip-default{border-color:#3dffa859;color:var(--accent)}.stack-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:1rem}.panel-terminal{margin-top:0;position:relative}.terminal-head-actions{display:flex;align-items:center;gap:.4rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.terminal-panel-head{flex-direction:row!important;align-items:center!important;flex-wrap:nowrap}.terminal-presets-toggle{display:inline-flex;align-items:center;gap:.35rem}.terminal-presets-toggle:hover:not(:disabled),.terminal-presets-toggle.active,.btn.ghost.terminal-presets-toggle:hover:not(:disabled){border-color:var(--line-strong);background:#ffffff0f;color:var(--text)}.terminal-stop{color:var(--danger)!important;border-color:#ff7a6e59!important}.btn.ghost.terminal-clear-btn{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;min-width:2.15rem;height:2.15rem;padding:0;line-height:0;color:var(--muted);border-color:var(--line-strong);background:transparent}.btn.ghost.terminal-clear-btn svg{display:block}.btn.ghost.terminal-clear-btn:hover:not(:disabled){color:var(--text);border-color:#ffffff38;background:#ffffff0f}.btn.ghost.terminal-stop-btn{flex-shrink:0;min-width:3.4rem;height:2.35rem;padding-inline:.85rem;font-weight:600;color:var(--danger)!important;border-color:#ff7a6e66!important;background:#ff7a6e1a}.btn.ghost.terminal-stop-btn:hover:not(:disabled){background:#ff7a6e2e;border-color:#ff7a6e8c!important}.btn.ghost.terminal-stop-btn:disabled{opacity:.45}.terminal-shortcuts{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.3rem;max-width:min(42vw,22rem)}.terminal-shortcut{border:1px solid var(--line-strong);background:#00000059;color:var(--muted);border-radius:8px;padding:.28rem .55rem;font-family:var(--mono);font-size:.68rem;line-height:1.2;cursor:pointer;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;transition:color .15s ease,background .15s ease,border-color .15s ease}.terminal-shortcut-chord{font-size:.58rem;color:var(--accent);opacity:.9;flex-shrink:0}.terminal-shortcut:hover:not(:disabled){color:var(--text);background:#ffffff0d;border-color:#ffffff2e}.terminal-shortcut:disabled{opacity:.45;cursor:wait}.terminal-shortcut.clean{border-color:#f0c35a47;color:var(--warn)}.terminal-shortcut.clean:hover:not(:disabled){border-color:#f0c35a80;color:var(--warn);background:#f0c35a14}.terminal-commands-window{position:fixed;inset:0;z-index:80;width:auto;max-height:none;display:flex;flex-direction:column;border-radius:0;border:0;background:#0c0c0c;box-shadow:none;overflow:hidden}.terminal-commands-window-titlebar{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.85rem .85rem .85rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff08;flex-shrink:0}.terminal-commands-window-close{width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:0;background:#ffffff0a;color:var(--muted);cursor:pointer;flex-shrink:0}.terminal-commands-window-close:hover{color:var(--text);border-color:#ffffff38;background:#ffffff14}.terminal-commands-window-title{display:flex;flex-direction:column;min-width:0;line-height:1.15}.terminal-commands-window-title>span:first-child{font-size:1rem;font-weight:700;color:var(--text)}.terminal-commands-window-sub{font-size:.72rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-commands-window-hint{font-size:.7rem;color:var(--muted);white-space:nowrap}.terminal-commands-window-body{overflow:auto;flex:1;min-height:0;padding:.55rem .65rem 1.2rem;touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.terminal-commands-window-row{display:flex;align-items:center;gap:.25rem;border-radius:10px}.terminal-commands-window-row:hover{background:#ffffff0a}.terminal-commands-window-run{flex:1;min-width:0;border:0;background:transparent;color:var(--muted);text-align:left;padding:.75rem .65rem;cursor:pointer;border-radius:10px;display:flex;flex-direction:column;gap:.15rem}.terminal-commands-window-run:hover:not(:disabled){color:var(--text)}.terminal-commands-window-run:disabled{opacity:.45;cursor:wait}.terminal-commands-window-run .mono{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.terminal-commands-window-shell{font-size:.68rem!important;color:#ffffff59}.terminal-commands-window-row.clean .terminal-commands-window-run{color:var(--warn)}.terminal-hotkey-input{width:5.2rem;flex-shrink:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000059;color:var(--muted);font-family:var(--mono);font-size:.68rem;text-align:center;padding:.4rem .3rem;outline:none;cursor:pointer}.terminal-hotkey-input::placeholder{color:#ffffff47}.terminal-hotkey-input.set{color:var(--accent);border-color:#3dffa847}.terminal-hotkey-input.recording{color:var(--warn);border-color:#f0c35a73;background:#f0c35a14}.terminal-hotkey-input:focus{border-color:#ffffff47}.terminal-commands-window-pin{flex-shrink:0;width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:10px}.terminal-commands-window-pin:hover{color:var(--text);background:#ffffff0f}.terminal-commands-window-pin.active{color:var(--accent)}.terminal-commands-window-delete{flex-shrink:0;width:2rem;height:2.4rem;border:0;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer;border-radius:8px}.terminal-commands-window-delete:hover{color:var(--danger);background:#ff7a6e1a}.terminal-commands-window-empty{padding:1.2rem .85rem;color:var(--muted);font-size:.85rem}.terminal-commands-add{flex-shrink:0;border-top:1px solid rgba(255,255,255,.08);padding:.85rem .85rem 1.1rem;background:#ffffff05}.terminal-commands-add-title{font-size:.78rem;font-weight:650;color:var(--text);margin-bottom:.55rem}.terminal-commands-add-grid{display:grid;grid-template-columns:1fr 1.4fr auto auto;gap:.4rem;align-items:center}.terminal-commands-add-input{min-width:0;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#00000059;color:var(--text);font-size:.78rem;padding:.55rem .65rem;outline:none}.terminal-commands-add-input::placeholder{color:#ffffff47}.terminal-commands-add-input:focus{border-color:#ffffff47}.terminal-commands-add-hotkey{width:5.2rem}.terminal-commands-add-btn{white-space:nowrap;padding:.5rem .85rem!important;font-size:.78rem!important}@media(max-width:820px){.terminal-commands-add-grid{grid-template-columns:1fr 1fr}.terminal-commands-add-btn{grid-column:1 / -1}.terminal-hotkey-input{width:4.6rem}}.terminal-empty{color:var(--muted);font-size:.78rem}.terminal-warn{margin:0 1rem;color:var(--warn);font-size:.72rem}.terminal-xterm-wrap{margin:.55rem 1rem .45rem;min-height:14rem;height:min(28vh,20rem);border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#070707;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior:contain}.terminal-command-bar{display:flex;align-items:stretch;gap:.45rem;margin:0 1rem 1rem}.terminal-command-input{flex:1;min-width:0;height:2.35rem;padding:0 .75rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#070908f2;color:var(--text);font-size:.82rem;outline:none;box-sizing:border-box}.terminal-command-input::placeholder{color:#ffffff59}.terminal-command-input:focus{border-color:#5dff9f73}.terminal-command-input:disabled{opacity:.55}.terminal-xterm{width:100%;height:100%;min-height:100%;padding:.55rem .65rem;box-sizing:border-box;touch-action:pan-x}.terminal-xterm .xterm-helper-textarea{pointer-events:none!important;opacity:0!important;caret-color:transparent!important}.terminal-xterm .xterm{height:100%;touch-action:pan-x}.terminal-xterm .xterm-viewport{overflow-y:scroll!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.terminal-xterm .xterm-screen{touch-action:pan-x}.terminal-xterm .xterm-viewport::-webkit-scrollbar{width:8px}.terminal-xterm .xterm-viewport::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.stack-chip{border:1px solid transparent;border-radius:2px;padding:.32rem .55rem;font-size:.78rem;font-weight:600;letter-spacing:.01em}.stack-chip.c-mint{color:#3dffa8;background:#3dffa81f;border-color:#3dffa847}.stack-chip.c-amber{color:#f0c35a;background:#f0c35a1f;border-color:#f0c35a47}.stack-chip.c-rose{color:#ff7a6e;background:#ff7a6e1f;border-color:#ff7a6e47}.stack-chip.c-sky{color:#6eb6ff;background:#6eb6ff1f;border-color:#6eb6ff47}.stack-chip.c-violet{color:#b794ff;background:#b794ff1f;border-color:#b794ff47}.stack-chip.c-lime{color:#b8f26c;background:#b8f26c1f;border-color:#b8f26c47}.stack-chip.c-coral{color:#ff9b6a;background:#ff9b6a1f;border-color:#ff9b6a47}.stack-chip.c-cyan{color:#5ee4e0;background:#5ee4e01f;border-color:#5ee4e047}@media(max-width:900px){.detail-grid:not(.attention-maint-row):not(.config-ports-row):not(.config-runtime-row):not(.frontend-backend-row):not(.db-row):not(.integrations-row):not(.local-vps-row):not(.github-stack-row){grid-template-columns:1fr}.attention-maint-row,.detail-grid.attention-maint-row,.detail-grid.config-ports-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-grid.frontend-backend-row{grid-template-columns:1fr}}.detail-rows{display:flex;flex-direction:column}.detail-row{display:grid;grid-template-columns:120px 1fr;gap:.75rem;padding:.7rem 1rem;border-bottom:1px solid var(--line);align-items:center;font-size:.9rem}.detail-row:last-child{border-bottom:none}.detail-row>span:first-child{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.detail-empty{padding:1rem}.commit-hash{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem .45rem;justify-content:flex-end;min-width:0;max-width:100%}.commit-date{color:var(--muted);font-size:.8rem}.commit-code-wrap{display:inline-flex;align-items:center;gap:.2rem}.commit-code{display:inline-block;padding:.12rem .4rem;border-radius:2px;font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--accent);background:#3dffa81f;border:1px solid rgba(61,255,168,.32)}.commit-msg{color:var(--text);font-size:.78rem;line-height:1.25;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-row-cambios{align-items:flex-start}.commit-changes{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;color:var(--text);font-size:.78rem;line-height:1.35;text-align:right;max-width:100%;word-break:break-word}.commit-copy{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;border:1px solid rgba(61,255,168,.22);border-radius:2px;background:#3dffa80f;color:var(--accent);cursor:pointer;padding:0;flex-shrink:0}.commit-copy:hover{background:#3dffa829;border-color:#3dffa873}.commit-copy.copied{color:#0b1a12;background:var(--accent);border-color:var(--accent)}.panel-vps{display:flex;flex-direction:column}.runtime-section .subpanel-head{padding:.55rem 1rem .1rem}.runtime-nginx{padding:.35rem 1rem 1rem}.runtime-nginx .chip-btn{color:var(--muted);border-color:var(--line-strong);background:var(--bg-panel);-webkit-tap-highlight-color:transparent;outline:none}.runtime-nginx .chip-btn:hover:not(:disabled),.runtime-nginx .chip-btn:focus,.runtime-nginx .chip-btn:focus-visible,.runtime-nginx .chip-btn:active{color:var(--muted);border-color:var(--line-strong);background:var(--bg-panel);outline:none;box-shadow:none}.runtime-ports-panel{display:flex;flex-direction:column;gap:.7rem;padding:.15rem 1rem .55rem}.runtime-port-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.runtime-port-hero:has(>:only-child){grid-template-columns:minmax(0,1fr)}.runtime-port-card{display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--bg-elevated) 65%,transparent);min-width:0}.runtime-port-card-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.runtime-port-card-value{font-size:.95rem;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-port-listen{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.runtime-port-listen-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.runtime-port-listen-values{display:flex;flex-wrap:wrap;gap:.3rem}.runtime-port-pill{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;border:1px solid var(--line-strong);color:var(--text);font-size:.72rem;line-height:1.2}.runtime-port-table{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.runtime-port-table-head,.runtime-port-table-row{display:grid;grid-template-columns:minmax(3.5rem,1.15fr) 4rem minmax(3.5rem,1fr);gap:.5rem;align-items:center;padding:.38rem .6rem;font-size:.74rem}.runtime-port-table-head{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-elevated) 50%,transparent)}.runtime-port-table-row{color:var(--text)}.runtime-port-table-row+.runtime-port-table-row{border-top:1px solid var(--line)}.runtime-port-loc{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.runtime-port-kind{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.runtime-port-target{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.runtime-services{padding-bottom:.35rem}.service-row.runtime-service{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;grid-template-columns:unset}.runtime-service-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.runtime-service-meta{display:flex;flex-wrap:wrap;gap:.55rem;font-size:.72rem;color:var(--muted)}.runtime-service-meta .truncate{min-width:0;flex:1 1 8rem}.service-list{display:flex;flex-direction:column}.service-row{display:grid;grid-template-columns:140px 90px 1fr;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);align-items:center}.service-row:last-child{border-bottom:none}.service-row .name{font-weight:600}.service-row .detail{color:var(--muted);font-size:.8rem;font-family:var(--mono)}.loading-bar{height:2px;width:100%;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;animation:sweep 1.1s linear infinite;flex-shrink:0}.boot-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse at 50% 20%,rgba(61,255,168,.08),transparent 55%),var(--bg)}.boot-card{width:min(380px,100%);border:1px solid rgba(61,255,168,.22);border-radius:6px;background:linear-gradient(180deg,rgba(61,255,168,.06),transparent 45%),var(--bg-elev);padding:1.6rem 1.4rem 1.3rem;text-align:center}.boot-mark{position:relative;width:3.2rem;height:3.2rem;margin:0 auto 1rem}.boot-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(61,255,168,.18);border-top-color:var(--accent);animation:boot-spin .9s linear infinite}.boot-ring.small{position:relative;width:1.35rem;height:1.35rem;flex-shrink:0;display:block}.boot-core{position:absolute;inset:28%;border-radius:50%;background:var(--accent);box-shadow:0 0 14px #3dffa873}.boot-card h1{margin:0;font-size:1.25rem;letter-spacing:-.02em}.boot-card>p{margin:.35rem 0 1.1rem;color:var(--muted);font-size:.85rem}.boot-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;text-align:left}.boot-step{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.45rem .55rem;border:1px solid rgba(255,255,255,.06);border-radius:3px;background:#00000040;font-size:.8rem}.boot-step-dot{width:.45rem;height:.45rem;border-radius:50%;background:#fff3}.boot-step.active .boot-step-dot{background:var(--accent);box-shadow:0 0 0 3px #3dffa826;animation:health-glow 1.4s ease-in-out infinite}.boot-step.done .boot-step-dot{background:var(--ok)}.boot-step.error .boot-step-dot{background:var(--danger)}.boot-step-label{color:var(--text)}.boot-step-state{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.boot-step.done .boot-step-state{color:var(--ok)}.boot-step.error .boot-step-state{color:var(--danger)}.boot-step.active .boot-step-state{color:var(--accent)}.sync-banner{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;padding:.55rem .75rem;border:1px solid rgba(61,255,168,.28);border-radius:3px;background:#3dffa814;color:var(--accent);font-size:.8rem}@keyframes boot-spin{to{transform:rotate(360deg)}}@keyframes sweep{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.mobile-topbar,.nav-backdrop{display:none}@media(max-width:820px){html,body,#root{height:100%;height:100dvh;max-height:100dvh;overflow:hidden;overscroll-behavior:none}.app{display:flex;flex-direction:column;grid-template-columns:unset;grid-template-rows:unset;height:100%;height:100dvh;max-height:100dvh;overflow:hidden;padding-top:calc(3.55rem + env(safe-area-inset-top,0px));box-sizing:border-box}.mobile-topbar{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;padding-top:calc(.55rem + env(safe-area-inset-top,0px));border-bottom:1px solid var(--line);background:#0a0a0af5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:fixed;top:0;left:0;right:0;z-index:50;flex-shrink:0;box-sizing:border-box;min-height:calc(3.55rem + env(safe-area-inset-top,0px))}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid var(--line-strong);border-radius:10px;background:#ffffff0a;color:var(--text);cursor:pointer;flex-shrink:0}.mobile-menu-btn:hover{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.mobile-topbar-brand{display:flex;flex-direction:column;justify-content:center;height:2.9rem;line-height:.9;letter-spacing:-.04em;min-width:0;flex:0 1 auto}.mobile-topbar-brand:has(.mobile-topbar-project){flex-direction:row;align-items:center;gap:.45rem;height:auto;min-height:2.9rem;flex:1}.mobile-topbar-brand:has(.mobile-topbar-title){flex:0 0 auto}.mobile-topbar-title,.mobile-topbar-sub{font-size:1.48rem;font-weight:800;line-height:.95;color:var(--text)}.mobile-topbar-sub{font-weight:700}.mobile-topbar-project{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.mobile-topbar-vps{display:flex;align-items:center;gap:.35rem;min-width:0;flex:1 1 auto;justify-content:flex-end;margin-right:.15rem}.mobile-topbar-vps-host{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.mobile-topbar-vps .vps-status-pill{flex-shrink:0;font-size:.78rem;padding:.28rem .62rem;font-weight:700}.mobile-topbar-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.mobile-terminal-btn{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;height:2.35rem;padding:0 .65rem;font-size:.72rem;border-radius:10px;box-sizing:border-box}.mobile-terminal-btn.active,.btn.ghost.mobile-terminal-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent)}.mobile-cursor-btn{flex-shrink:0;height:2.35rem;padding:0 .65rem;font-size:.72rem;gap:.3rem;border-radius:10px;box-sizing:border-box}.mobile-cursor-label{display:inline}.mobile-refresh{width:2.35rem;height:2.35rem;padding:0;border-radius:10px;font-size:1.05rem;line-height:1;flex-shrink:0}.nav-backdrop{display:block;position:fixed;inset:0;z-index:45;border:none;padding:0;margin:0;background:#0000008c;opacity:0;pointer-events:none;transition:opacity .2s ease}.app.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(288px,86vw);z-index:50;max-height:none;border-right:1px solid var(--line);border-bottom:none;transform:translate(-105%);transition:transform .22s ease;box-shadow:none}.app.nav-open .sidebar{transform:translate(0);box-shadow:12px 0 40px #00000073}.workspace{flex:1;min-height:0;min-width:0;overflow:hidden}.main{padding:.55rem .65rem .7rem;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0}.project-detail:not(.terminal-only) .panel-terminal{display:none}.main:has(.project-detail.terminal-only){overflow:hidden}.terminal-shortcuts{max-width:min(100%,16rem)}.main:has(.dashboard){overflow:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.dashboard{gap:.55rem;height:auto;min-height:0;padding-bottom:.35rem}.dashboard .metrics-block{flex:0 0 auto;min-height:0;padding:.55rem .6rem .65rem}.dashboard .metrics-block .spark-grid{flex:none;min-height:0}.dashboard .metrics-block .spark-grid-hostinger{grid-template-columns:1fr 1fr;grid-template-rows:none;gap:.45rem}.dashboard .metrics-block .spark-stat{min-height:6.5rem;height:auto;padding:.55rem .6rem;display:flex;flex-direction:column}.dashboard .metrics-block .spark-stat-metric{padding:.55rem .6rem}.dashboard .metrics-block .spark-stat-rich{flex:none;min-height:0}.dashboard .metrics-block .spark-chart-slot{flex:0 0 auto;min-height:2.4rem;margin-top:.35rem}.dashboard .metrics-block .mini-spark{height:2.1rem;max-height:2.1rem}.dashboard .metrics-block .ring-gauge{width:3.6rem;height:3.6rem}.dashboard .metrics-block .ring-gauge-center{max-width:2.35rem}.dashboard .metrics-block .ring-gauge-label{font-size:.8rem;line-height:1}.dashboard .metrics-block .spark-center-text{font-size:.92rem;letter-spacing:-.02em;line-height:1.15}.dashboard .metrics-block .spark-stat-metric.spark-stat-chart .spark-chart-slot{min-height:2.8rem}.dashboard .metrics-block .spark-icon{width:1.55rem;height:1.55rem}.dashboard .metrics-block .spark-stat-metric .label{font-size:.65rem}.dashboard .metrics-block .spark-stat-metric .spark-track{margin-top:.35rem;height:6px}.dashboard .metrics-block .spark-grid-hostinger .spark-stat-metric .hint{padding-top:.25rem;font-size:.65rem}.dashboard .metrics-block .spark-value-text{font-size:.84rem;max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spark-grid.dash-alert-row{flex:0 0 auto;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;align-items:stretch}.spark-grid.dash-alert-row .spark-stat{padding:.65rem .55rem;min-height:0;height:auto}.spark-grid.dash-alert-row .spark-top{flex-direction:column;align-items:flex-start;gap:.2rem}.spark-grid.dash-alert-row .spark-label-row{width:100%;min-width:0}.spark-grid.dash-alert-row .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spark-grid.dash-alert-row .spark-value-text,.spark-grid.dash-alert-row .spark-top>strong{font-size:1.2rem;line-height:1.1}.dash-stats{flex:0 0 auto;min-height:0;grid-template-columns:1fr 1fr;gap:.45rem;align-items:stretch}.dash-stats .dash-link{padding:.7rem .75rem;gap:.25rem;min-height:0;height:auto}.dash-stats .dash-link-count{font-size:1.25rem}.dash-stats .dash-link-label,.dash-stats .dash-link-hint{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.metrics-block-head{flex-direction:column;align-items:flex-start;margin-bottom:.4rem;gap:.2rem}.dashboard .metrics-block-title{display:none}.dashboard .metrics-block-meta{font-size:.68rem;line-height:1.35;color:var(--muted)}.dashboard .metrics-block-meta-desktop{display:none}.dashboard .metrics-block-meta-mobile{display:block;width:100%;text-align:center}.dashboard .metrics-block-head{align-items:center}.mobile-topbar-vps-host{display:none}.stats,.vps-inline-stats,.vps-live-stats,.gauge-grid,.spark-grid:not(.dash-alert-row):not(.spark-grid-hostinger){grid-template-columns:1fr 1fr}.panel-head{flex-direction:column;align-items:flex-start}.header-marks{width:100%;flex-wrap:wrap}.detail-row{grid-template-columns:1fr;gap:.25rem}.detail-row>span:first-child{margin-bottom:.1rem}.project-title-row{display:none}.cursor-open-btn:not(.mobile-cursor-btn){flex-shrink:0;padding:.35rem .65rem;font-size:.75rem}.cursor-open-btn img{width:14px;height:14px}.attention-maint-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;align-items:stretch}.detail-grid.attention-maint-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.attention-maint-row .attention-panel,.attention-maint-row .security-panel{min-width:0;width:auto;min-height:100%}.attention-maint-row .panel-head{padding:.65rem .7rem}.attention-maint-row .panel-head h2{font-size:.88rem}.attention-maint-row .panel-head p{font-size:.7rem}.attention-panel:has(.attention-tools-menu){overflow:visible;z-index:6}.attention-panel-head{position:relative}.attention-tools{position:static}.attention-tools-menu{left:.55rem;right:.55rem;width:auto;max-width:none}.maintenance-actions{gap:.35rem}.maintenance-btn{padding:.4rem .5rem}.local-vps-row{grid-template-columns:1fr 1fr;gap:.55rem;align-items:stretch}.local-vps-row .panel{min-width:0;min-height:100%}.local-vps-row .panel-head{padding:.65rem .7rem}.local-vps-row .panel-head h2{font-size:.88rem}.local-vps-row .panel-head p{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.github-stack-row{grid-template-columns:minmax(0,1fr);gap:.55rem;align-items:stretch}.detail-grid.github-stack-row{grid-template-columns:minmax(0,1fr)}.github-stack-row .panel{min-width:0;width:100%;min-height:0}.github-stack-row .panel-head{padding:.65rem .7rem}.github-stack-row .panel-head h2{font-size:.88rem}.github-stack-row .panel-head p{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-runtime-row,.frontend-backend-row{grid-template-columns:1fr;gap:.55rem;align-items:stretch}.config-ports-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;align-items:stretch}.detail-grid.config-ports-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-grid.frontend-backend-row{grid-template-columns:1fr}.config-runtime-row .panel,.config-runtime-row .panel-runtime,.config-ports-row .panel,.config-ports-row .panel-ports,.config-ports-row .panel-runtime,.frontend-backend-row .panel{min-width:0;min-height:100%;overflow:hidden}.config-runtime-row .panel-head,.config-ports-row .panel-head,.frontend-backend-row .panel-head{padding:.65rem .7rem}.config-runtime-row .panel-head h2,.config-ports-row .panel-head h2,.frontend-backend-row .panel-head h2{font-size:.88rem}.config-runtime-row .panel-head p,.config-ports-row .panel-head p,.frontend-backend-row .panel-head p{font-size:.7rem}.config-actions{flex-direction:column;align-items:stretch;padding:.55rem .65rem .75rem;gap:.35rem}.config-btn{width:100%;justify-content:flex-start}}@media(max-width:520px){.stats,.vps-inline-stats,.vps-live-stats,.gauge-grid,.spark-grid:not(.dash-alert-row):not(.spark-grid-hostinger){grid-template-columns:1fr}.dashboard .metrics-block .spark-grid-hostinger{grid-template-columns:1fr 1fr;grid-template-rows:none}.spark-grid.dash-alert-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.dash-stats{grid-template-columns:1fr 1fr;gap:.4rem}.sidebar-title{font-size:1.35rem}.public-url{word-break:break-all}.commit-hash{justify-content:flex-start}}.login-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(80,255,160,.08),transparent),var(--bg, #0b0d0c)}.login-brand{text-align:left;display:flex;flex-direction:column;align-items:flex-start;gap:0}.login-brand.sidebar-wordmark .sidebar-title,.login-brand.sidebar-wordmark .sidebar-sub{font-size:2.15rem}.login-brand.sidebar-wordmark .sidebar-version{font-size:.55em}.login-brand-logo{width:7rem;height:7rem;object-fit:contain;border-radius:18px;display:block}.login-brand-title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:.18em}.login-brand-sub{margin:0;font-size:.85rem;letter-spacing:.35em;color:var(--accent, #5dff9f)}.login-loading{opacity:.55;font-size:.8rem}.login-card{width:min(100%,22rem);display:flex;flex-direction:column;gap:1rem;padding:1.35rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:#ffffff0a}.login-field{display:flex;flex-direction:column;gap:.45rem;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff73}.login-input{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:#ffffff0d;color:inherit;padding:.7rem .9rem;font:inherit;font-size:.9rem;outline:none}.login-input:focus{border-color:#ffffff47}.login-error{margin:0;font-size:.8rem;color:#f87171}.login-submit{width:100%;margin-top:.25rem}.login-avatar{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:#ffffff14;font-size:.75rem;font-weight:600;flex-shrink:0}.login-avatar.sm{width:1.75rem;height:1.75rem;font-size:.7rem}.login-picker{position:relative}.login-picker-trigger{display:flex;align-items:center;gap:.75rem;width:100%;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:#ffffff0d;color:inherit;padding:.55rem .75rem;text-align:left;cursor:pointer}.login-picker-trigger.open,.login-picker-trigger:hover{border-color:#ffffff47}.login-picker-text{min-width:0;flex:1;display:flex;flex-direction:column}.login-picker-name{font-size:.9rem;font-weight:500;text-transform:none;letter-spacing:normal;color:#ffffffe6}.login-picker-email{font-size:.7rem;text-transform:none;letter-spacing:normal;color:#fff6}.login-picker-chevron{opacity:.45;transition:transform .15s ease}.login-picker-chevron.open{transform:rotate(180deg)}.login-picker-menu{position:absolute;z-index:20;top:calc(100% + .4rem);left:0;right:0;max-height:14rem;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;background:#121512;box-shadow:0 16px 40px #00000073;padding:.25rem}.login-picker-option{display:flex;align-items:center;gap:.75rem;width:100%;border:0;border-radius:.55rem;background:transparent;color:inherit;padding:.55rem .65rem;text-align:left;cursor:pointer}.login-picker-option:hover,.login-picker-option.active{background:#ffffff0f}.sidebar-user{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user-info{display:flex;align-items:center;gap:.55rem;min-width:0}.sidebar-user-info strong{display:block;font-size:.8rem}.sidebar-user-info .mono{font-size:.65rem;opacity:.5}.users-panel{display:flex;flex-direction:column;gap:1rem;max-width:40rem}.users-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.users-list{display:flex;flex-direction:column;gap:.45rem}.users-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;background:#ffffff08}.users-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.users-row-text strong{font-size:.9rem}.users-you{font-size:.7rem;opacity:.45;text-transform:uppercase;letter-spacing:.08em}.users-form{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:.85rem;background:#ffffff08}.users-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}@media(max-width:640px){.users-form-grid{grid-template-columns:1fr}}.web-deploy-log{margin:0;min-height:12rem;max-height:28rem;overflow:auto;padding:.85rem 1rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.08);background:#070908;color:#c8ffdce0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.web-deploy-log.running{border-color:#5dff9f59}.web-deploy-log.ok{border-color:#5dff9f73}.web-deploy-log.failed{border-color:#f8717173;color:#ffd2d2e6}.config-btn-row{display:flex;align-items:stretch;gap:.4rem}.config-btn-row .config-btn{flex:1}.config-run{flex-shrink:0;min-width:3.2rem;padding-inline:.75rem}.btn.ghost.terminal-deploy-btn{background:var(--accent);color:#062016;border-color:transparent;font-weight:600}.btn.ghost.terminal-deploy-btn:hover:not(:disabled){background:#6dffc0;color:#062016;border-color:transparent}.btn.ghost.terminal-run-btn{flex-shrink:0;min-width:3.4rem;height:2.35rem;padding-inline:.85rem;background:var(--accent);color:#062016;border-color:transparent;font-weight:600}.btn.ghost.terminal-run-btn:hover:not(:disabled){background:#6dffc0;color:#062016;border-color:transparent}.btn.ghost.terminal-run-btn:disabled{opacity:.45}
