@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--color-bg: #060b14;--color-bg-secondary: #0a1120;--color-surface: #0f1729;--color-surface-hover: #162040;--color-surface-elevated: #1a2744;--color-primary: #00d4aa;--color-primary-dim: rgba(0, 212, 170, .15);--color-primary-glow: rgba(0, 212, 170, .3);--color-secondary: #3b82f6;--color-text-main: #e8edf5;--color-text-muted: #7b8ba5;--color-text-dim: #4a5b73;--color-border: #1a2744;--color-border-glow: rgba(0, 212, 170, .2);--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-signed: #10b981;--color-missed: #ef4444;--color-missed-dim: rgba(239, 68, 68, .2);--color-signed-dim: rgba(16, 185, 129, .15);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius-xs: 4px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text-main);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{font-weight:700;letter-spacing:-.03em;color:#fff}.container{max-width:1340px;margin:0 auto;padding:2rem 1.5rem;width:100%}header{border-bottom:1px solid var(--color-border);padding:.75rem 0;background:#060b14d9;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0}.logo{font-size:1.15rem;font-weight:700;display:flex;align-items:center;gap:.6rem;letter-spacing:-.02em}.logo .brand{color:var(--color-primary);font-weight:800}.logo .by{color:var(--color-text-dim);font-size:.85rem;font-weight:400}.header-right{display:flex;gap:.75rem;align-items:center}.chain-badge{padding:.3rem .7rem;border-radius:9999px;font-size:.7rem;font-weight:600;font-family:var(--font-mono);background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);letter-spacing:.03em}.status-badge{display:inline-flex;align-items:center;padding:.3rem .8rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.status-badge.live{background:var(--color-primary-dim);color:var(--color-primary);border:1px solid var(--color-border-glow);box-shadow:0 0 12px var(--color-primary-glow)}.pulse{width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;box-shadow:0 0 6px currentColor}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chart-legend{display:flex;gap:.75rem;font-size:.7rem;color:var(--color-text-muted);font-family:var(--font-mono)}.chart-legend-item{display:flex;align-items:center;gap:.3rem}.chart-legend-item strong{color:var(--color-text-main);font-weight:600}.chart-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.section-icon{color:var(--color-primary);font-size:.7rem;opacity:.7}.card-compact{padding:1rem}.metric-value-sm{font-size:1rem;font-weight:600;font-family:var(--font-mono);color:var(--color-text-main);margin-top:.15rem}.grid-4{display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.grid-5{display:grid;gap:1rem;grid-template-columns:repeat(5,1fr)}.grid-6{display:grid;gap:1rem;grid-template-columns:repeat(6,1fr)}.grid-kpi{display:grid;gap:1rem;grid-template-columns:1fr 1fr 1.5fr 1.5fr}.grid-3{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.grid-2{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}@media (max-width: 1400px){.grid-6,.grid-5{grid-template-columns:repeat(3,1fr)}.grid-kpi{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1100px){.grid-6,.grid-5,.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-6,.grid-5,.grid-4,.grid-3,.grid-2,.grid-kpi{grid-template-columns:1fr}.container{padding:1rem}.header-stats{display:none}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;transition:border-color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary-glow),transparent);opacity:0;transition:opacity .3s ease}.card:hover{border-color:#00d4aa26;box-shadow:0 4px 24px #0000004d}.card:hover:before{opacity:1}.card-accent{border-left:3px solid var(--color-primary)}.metric-label{color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:.25rem}.metric-value{font-size:1.75rem;font-weight:800;color:#fff;font-family:var(--font-mono);letter-spacing:-.02em;line-height:1.2}.metric-value.small{font-size:1.3rem}.metric-sub{font-size:.72rem;color:var(--color-text-dim);margin-top:.25rem;font-family:var(--font-mono)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}thead th{padding:.75rem 1rem;color:var(--color-text-dim);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);background:#0f172980;white-space:nowrap}tbody td{padding:.65rem 1rem;font-size:.85rem;border-bottom:1px solid rgba(26,39,68,.5);white-space:nowrap}tbody tr{transition:background .15s ease}tbody tr:hover{background:var(--color-surface-hover)}.mono{font-family:var(--font-mono);font-size:.8rem}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-dim{color:var(--color-text-dim)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;margin-top:1.5rem}.section-title{font-size:.9rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}.section-title .icon{font-size:1rem}.heatmap-grid{display:grid;gap:2px;grid-template-columns:repeat(20,1fr)}.heatmap-cell{aspect-ratio:1;border-radius:var(--radius-xs);min-width:8px;min-height:8px;transition:transform .15s ease}.heatmap-cell:hover{transform:scale(1.4);z-index:10}.heatmap-cell.signed{background:var(--color-signed);box-shadow:0 0 4px var(--color-signed-dim)}.heatmap-cell.missed{background:var(--color-error);box-shadow:0 0 4px var(--color-missed-dim)}.heatmap-cell.empty{background:var(--color-surface-hover)}.heatmap-legend{display:flex;gap:1rem;margin-top:.75rem;font-size:.7rem;color:var(--color-text-muted)}.heatmap-legend-item{display:flex;align-items:center;gap:.3rem}.legend-dot{width:8px;height:8px;border-radius:2px}.heatmap-labels{display:flex;flex-direction:column;gap:2px;margin-right:4px;font-size:.55rem;color:var(--color-text-dim);font-family:var(--font-mono);line-height:1;justify-content:flex-start}.heatmap-label{display:flex;align-items:center;height:8px;min-height:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validator-bar{width:100%;height:6px;background:var(--color-surface-hover);border-radius:9999px;overflow:hidden;margin-top:.25rem}.validator-bar-fill{height:100%;border-radius:9999px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:width .5s ease}.progress-ring-container{display:flex;flex-direction:column;align-items:center;gap:.5rem}.consensus-val{font-size:1.2rem;font-family:var(--font-mono);font-weight:600}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease both}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-shimmer{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-surface-hover) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite;border-radius:var(--radius-sm);height:1.5rem}
