:root{--accent: #4f8cff;--accent-soft: rgba(79, 140, 255, .12);--bg: #f6f7f9;--bg-raised: #ffffff;--bg-inset: #eef0f3;--border: #e3e6eb;--text: #1a1f28;--text-dim: #5c6672;--ok: #2fa763;--warn: #e2a336;--bad: #e05252;--shadow: 0 1px 2px rgba(20, 25, 35, .05), 0 4px 16px rgba(20, 25, 35, .06);--radius: 12px;--radius-sm: 8px;--sp: 16px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Noto Sans SC", "Noto Sans", "Helvetica Neue", Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}[data-theme=dark]{--bg: #11141a;--bg-raised: #181c24;--bg-inset: #1e232d;--border: #262c37;--text: #e7eaf0;--text-dim: #8b95a3;--accent-soft: rgba(79, 140, 255, .18);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 20px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 var(--sp);font-weight:650;letter-spacing:-.01em}.shell{max-width:1240px;margin:0 auto;padding:20px var(--sp) 48px}.topbar{display:flex;align-items:center;gap:12px;padding:12px var(--sp);border-bottom:1px solid var(--border);background:var(--bg-raised);position:sticky;top:0;z-index:30}.topbar .brand{display:flex;align-items:center;gap:10px;font-weight:700}.topbar .brand .logo{width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,var(--accent),#9059ff);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800}.spacer{flex:1}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp);box-shadow:var(--shadow)}.card h3{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.grid{display:grid;gap:var(--sp)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,fr 1fr)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp)}button,.btn{font:inherit;color:var(--text);background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 14px;cursor:pointer;transition:background .15s,border-color .15s}button:hover,.btn:hover{background:var(--accent-soft);border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{filter:brightness(1.06)}button.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 40%,var(--border))}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;width:100%;max-width:420px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-1px;border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}label{display:block;margin-bottom:12px;color:var(--text-dim);font-size:13px}label input,label select{margin-top:4px;color:var(--text)}table.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;color:var(--text-dim);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:8px 10px;border-bottom:1px solid var(--border)}.tbl tr:last-child td{border-bottom:0}.tbl tr:hover td{background:var(--bg-inset)}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.badge .dot{width:7px;height:7px;border-radius:50%}.badge.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.badge.ok .dot{background:var(--ok)}.badge.off{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}.badge.off .dot{background:var(--bad)}.badge.dim{background:var(--bg-inset);color:var(--text-dim)}.badge.dim .dot{background:var(--text-dim)}.node-card{display:flex;flex-direction:column;gap:10px;position:relative}.node-head{display:flex;align-items:baseline;gap:8px}.node-name{font-weight:650}.node-group{color:var(--text-dim);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;font-size:12.5px}.metrics .m{display:flex;justify-content:space-between;gap:8px}.metrics .m b{font-weight:600}.meter{height:4px;border-radius:4px;background:var(--bg-inset);overflow:hidden}.meter>i{display:block;height:100%;background:var(--accent)}.meter.warn>i{background:var(--warn)}.meter.bad>i{background:var(--bad)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--sp)}.tabs button{border-radius:999px;padding:6px 14px}.tabs button[aria-current=page]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--text-dim)}.mono{font-family:var(--mono);font-size:12.5px}.alert-box{border-left:3px solid var(--accent);padding:10px 14px;background:var(--accent-soft);border-radius:var(--radius-sm)}.empty{text-align:center;color:var(--text-dim);padding:42px 0}.skeleton{animation:pulse 1.2s ease-in-out infinite;background:var(--bg-inset);border-radius:var(--radius-sm);height:80px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.term{background:#0c0e12;color:#d6dbe3;border-radius:var(--radius);padding:12px;font-family:var(--mono);font-size:13px;min-height:380px;white-space:pre-wrap;word-break:break-all;border:1px solid var(--border)}@media (max-width: 900px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}@media (max-width: 640px){.shell{padding:12px 12px 42px}.stats-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.topbar{flex-wrap:wrap;row-gap:8px}.topbar .brand span:not(.logo){display:none}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
