*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0e1a;--surface: #111827;--surface2: #1f2937;--border: #374151;--text: #f9fafb;--muted: #9ca3af;--accent: #f97316;--green: #22c55e;--red: #ef4444;--yellow: #eab308;--blue: #3b82f6;--radius: 8px;--gap: 16px}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:var(--gap);display:flex;flex-direction:column;gap:4px}.sidebar-logo{font-size:16px;font-weight:700;color:var(--accent);padding:8px 0 16px;border-bottom:1px solid var(--border);margin-bottom:8px}.sidebar-link{display:block;padding:8px 12px;border-radius:var(--radius);color:var(--muted);font-weight:500;cursor:pointer;transition:background .1s,color .1s}.sidebar-link:hover,.sidebar-link.active{background:var(--surface2);color:var(--text)}.sidebar-link.active{color:var(--accent)}.main{flex:1;overflow:auto;padding:24px}.page-title{font-size:22px;font-weight:700;margin-bottom:20px}.grid{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid-2{display:grid;gap:var(--gap);grid-template-columns:1fr 1fr}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-title{font-weight:600;font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px}.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.03em}.badge-green{background:#22c55e26;color:var(--green)}.badge-red{background:#ef444426;color:var(--red)}.badge-yellow{background:#eab30826;color:var(--yellow)}.badge-blue{background:#3b82f626;color:var(--blue)}.badge-muted{background:var(--surface2);color:var(--muted)}.status-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border)}.status-row:last-child{border-bottom:none}.status-label{color:var(--muted);font-size:13px}.status-val{font-size:13px;font-weight:500}.kv{display:flex;flex-direction:column;gap:6px}.kv-row{display:flex;gap:8px}.kv-key{color:var(--muted);min-width:130px}.kv-val{color:var(--text);word-break:break-all}.section-gap{margin-top:24px}.loading{color:var(--muted);font-style:italic}.error-text{color:var(--red);font-size:12px}.url-chip{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 10px;font-size:12px;font-family:monospace;color:var(--muted);word-break:break-all}.worker-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.worker-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.worker-name{font-weight:600;font-size:13px;margin-bottom:6px}.worker-url{font-size:11px;color:var(--muted);font-family:monospace;margin-bottom:8px;word-break:break-all}.gap-item{padding:6px 0;border-bottom:1px solid var(--border);font-size:12px;color:var(--muted)}.gap-item:last-child{border-bottom:none}.gap-endpoint{font-family:monospace;color:var(--text)}.gap-code{color:var(--yellow);margin-left:8px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600;padding:8px 12px;border-bottom:1px solid var(--border)}td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td{border-bottom:none}td.mono{font-family:monospace;font-size:12px}.json-block{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;font-family:monospace;font-size:11px;white-space:pre-wrap;overflow:auto;max-height:320px;color:var(--muted)}.tag{font-size:11px;color:var(--muted);font-family:monospace}@media (max-width: 700px){.layout{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;gap:8px;padding:12px}.sidebar-logo{width:100%;padding-bottom:8px}.grid-2{grid-template-columns:1fr}}
