.badge.mock[data-v-4deb1d75]{color:var(--s-blue);border-color:#3987e580}.farm-summary[data-v-88042552]{display:flex;align-items:center;gap:18px;padding:8px 14px;margin-bottom:12px;flex-wrap:wrap}.fs-tile[data-v-88042552]{display:flex;align-items:baseline;gap:7px}.fs-value[data-v-88042552]{font-size:19px;font-weight:700;line-height:1.1}.fs-total[data-v-88042552]{font-size:13px;font-weight:400;color:var(--ink-3)}.fs-label[data-v-88042552]{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.fs-sep[data-v-88042552]{width:1px;align-self:stretch;background:var(--border)}.fs-engines[data-v-88042552]{display:flex;gap:14px;flex-wrap:wrap}.fs-engine[data-v-88042552]{display:flex;align-items:center;gap:6px;font-size:12px}.fs-engine.idle[data-v-88042552]{opacity:.45}.fs-dot[data-v-88042552]{width:8px;height:8px;border-radius:2px}.fs-engine-name[data-v-88042552]{color:var(--ink-2)}.fs-engine-count[data-v-88042552]{font-weight:700;color:var(--ink)}.fs-mode[data-v-88042552]{margin-left:auto}.badge.mock[data-v-88042552]{color:var(--s-blue);border-color:#3987e580}@media(max-width:640px){.farm-summary[data-v-88042552]{gap:12px;padding:8px 10px}.fs-sep[data-v-88042552]{display:none}}.meter[data-v-53b7a240]{display:flex;align-items:center;gap:6px;min-width:0}.m-label[data-v-53b7a240]{flex:none;width:34px;font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--ink-3)}.m-bar[data-v-53b7a240]{flex:1;height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden;min-width:20px}.m-fill[data-v-53b7a240]{display:block;height:100%;border-radius:2px;background:var(--s-blue);transition:width .6s ease}.m-val[data-v-53b7a240]{flex:none;min-width:34px;text-align:right;font-size:11px;color:var(--ink-2)}.meter.warn .m-fill[data-v-53b7a240]{background:var(--warn)}.meter.warn .m-val[data-v-53b7a240]{color:var(--warn)}.meter.crit .m-fill[data-v-53b7a240]{background:var(--down)}.meter.crit .m-val[data-v-53b7a240]{color:var(--down)}.host-card[data-v-c146fdcc]{display:flex;flex-direction:column;gap:8px;color:var(--ink);transition:border-color .12s,background .12s;min-width:0}.host-card[data-v-c146fdcc]:hover{border-color:var(--border-strong);background:#1d1d1c}.host-card.st-off[data-v-c146fdcc]{opacity:.62}.hc-head[data-v-c146fdcc]{display:flex;align-items:center;gap:7px;min-width:0}.hc-name[data-v-c146fdcc]{font-weight:700;font-size:13.5px;letter-spacing:.01em}.hc-sub[data-v-c146fdcc]{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hc-renders[data-v-c146fdcc]{display:flex;flex-direction:column;gap:3px;min-height:20px}.hc-render-row[data-v-c146fdcc]{display:flex;align-items:center;gap:7px;min-width:0}.hc-file[data-v-c146fdcc]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--ink-2)}.hc-elapsed[data-v-c146fdcc]{flex:none;font-size:11px;color:var(--ink-3)}.err[data-v-c146fdcc]{color:var(--down)}.hc-mid[data-v-c146fdcc]{display:flex;align-items:center;gap:9px;min-width:0}.hc-thumb[data-v-c146fdcc]{flex:none;width:86px;aspect-ratio:16 / 9;border:1px solid var(--border);border-radius:var(--radius-sm);background:#0b0b0b;overflow:hidden;display:flex;align-items:center;justify-content:center}.hc-thumb img[data-v-c146fdcc]{width:100%;height:100%;object-fit:cover;display:block}.hc-thumb-empty[data-v-c146fdcc]{font-size:8.5px;color:var(--ink-3);text-align:center;line-height:1.2;padding:2px}.hc-meters[data-v-c146fdcc]{flex:1;min-width:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}@media(max-width:420px){.hc-thumb[data-v-c146fdcc]{width:68px}}.hc-meter-pair[data-v-c146fdcc]{display:flex;align-items:center;gap:5px;min-width:0}.hc-meter-pair[data-v-c146fdcc]>:first-child{flex:1;min-width:0}.hc-temp[data-v-c146fdcc]{flex:none;width:26px;text-align:right;font-size:10.5px;color:var(--ink-3)}.hc-temp.warn[data-v-c146fdcc]{color:var(--warn)}.hc-temp.crit[data-v-c146fdcc]{color:var(--down)}.hc-foot[data-v-c146fdcc]{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--border);padding-top:7px;margin-top:auto}.hc-disks[data-v-c146fdcc]{display:flex;gap:10px;font-size:11px;color:var(--ink-2)}.hc-foot-right[data-v-c146fdcc]{display:flex;align-items:center;gap:10px}.hc-sync[data-v-c146fdcc]{display:inline-flex;align-items:center;gap:4px;font-size:10.5px}.hc-sync.ok[data-v-c146fdcc]{color:var(--ink-3)}.hc-sync.warn[data-v-c146fdcc]{color:var(--warn)}.hc-sync.down[data-v-c146fdcc]{color:var(--down)}.hc-sync.off[data-v-c146fdcc]{color:var(--off)}.hc-daemons[data-v-c146fdcc]{display:inline-flex;gap:3px}.hc-daemon[data-v-c146fdcc]{width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;font-size:9px;font-weight:700;background:var(--surface-3);color:var(--ink-3)}.hc-daemon.ok[data-v-c146fdcc]{color:#dff5df;background:#0ca30c47}.hc-daemon.warn[data-v-c146fdcc]{color:#201b06;background:var(--warn)}.hc-daemon.down[data-v-c146fdcc]{color:#fff;background:var(--down)}.hc-offline[data-v-c146fdcc]{padding:12px 0 6px;font-size:12px}.host-grid[data-v-31f85471]{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:10px;align-items:stretch}:root{color-scheme:dark;--bg: #0d0d0d;--surface: #1a1a19;--surface-2: #232322;--surface-3: #2c2c2a;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--ink: #f4f4f1;--ink-2: #c3c2b7;--ink-3: #898781;--ok: #0ca30c;--warn: #fab219;--down: #d03b3b;--off: #6f6e69;--s-blue: #3987e5;--s-orange: #d95926;--s-aqua: #199e70;--s-yellow: #c98500;--accent: var(--s-blue);--grid: #2c2c2a;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "Cascadia Mono", ui-monospace, Consolas, "JetBrains Mono", monospace;--radius: 8px;--radius-sm: 5px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}h1,h2,h3{margin:0;font-weight:600}button{font-family:inherit}.mono{font-family:var(--mono);font-size:.92em}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;height:46px;padding:0 14px;background:#141413eb;backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink);letter-spacing:.02em;white-space:nowrap}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px #0ca30cb3}.topnav{display:flex;gap:2px;flex:1;min-width:0}.topnav a{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-sm);color:var(--ink-2);font-size:12.5px;white-space:nowrap}.topnav a:hover,.topnav a.router-link-active{background:var(--surface-2);color:var(--ink)}.topbar-right{display:flex;align-items:center;gap:10px;white-space:nowrap}.userbox{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:12px}.userbox .role{padding:1px 6px;border:1px solid var(--border-strong);border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.page{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:14px}.page-title{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.page-title h1{font-size:17px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.card-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-bottom:8px}.status-dot{flex:none;width:8px;height:8px;border-radius:50%}.status-dot.ok{background:var(--ok);box-shadow:0 0 5px #0ca30c99}.status-dot.warn{background:var(--warn);box-shadow:0 0 5px #fab21980}.status-dot.down{background:var(--down)}.status-dot.off{background:var(--off)}.badge{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.04em;border:1px solid var(--border-strong);color:var(--ink-2)}.badge.ok{color:var(--ok);border-color:#0ca30c66}.badge.warn{color:var(--warn);border-color:#fab21966}.badge.down{color:var(--down);border-color:#d03b3b66}.badge.off{color:var(--ink-3)}.engine-chip{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--ink-2)}.engine-chip:before{content:"";width:7px;height:7px;border-radius:2px;background:var(--chip-color, var(--ink-3))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-2);color:var(--ink);font-size:12px;cursor:pointer;transition:background .12s}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:#4a93ea}.btn.danger{color:#e66767;border-color:#d03b3b80}.btn.sm{padding:2px 8px;font-size:11px}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.seg button{border:0;background:transparent;color:var(--ink-3);font-size:11.5px;padding:3px 10px;border-radius:4px;cursor:pointer}.seg button:hover{color:var(--ink)}.seg button.active{background:var(--surface-3);color:var(--ink);font-weight:600}.input{width:100%;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--ink);font-size:13px;outline:none}.input:focus{border-color:var(--accent)}select.input{cursor:pointer}.scroll-box{overflow:auto;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg)}.muted{color:var(--ink-3)}.small{font-size:11px}.u-legend{font:10.5px var(--font)!important;color:var(--ink-2)!important;text-align:left!important;margin-top:2px!important}.u-legend .u-marker{width:8px!important;height:8px!important}.u-legend .u-label{color:var(--ink-2)}.u-legend .u-value{color:var(--ink);font-family:var(--mono)}.u-legend tr.u-off .u-label{color:var(--ink-3)}@media(max-width:640px){.page{padding:10px}.topnav a span,.userbox .login-name{display:none}}
