|
| 1 | +:root { |
| 2 | + --bg: #070604; |
| 3 | + --surface: #11100c; |
| 4 | + --surface-2: #18140e; |
| 5 | + --border: rgba(247, 147, 26, 0.24); |
| 6 | + --border-strong: rgba(247, 147, 26, 0.46); |
| 7 | + --text: #fff7e8; |
| 8 | + --muted: #b9a88f; |
| 9 | + --accent: #f7931a; |
| 10 | + --accent-bright: #ffb347; |
| 11 | + --warn: #ffd166; |
| 12 | + --error: #ff5c5c; |
| 13 | + --blue: #f7931a; |
| 14 | + --terminal-green: #7cffb2; |
| 15 | + --shadow-orange: 0 20px 80px rgba(247, 147, 26, 0.12); |
| 16 | + --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; |
| 17 | + --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace; |
| 18 | +} |
| 19 | + |
| 20 | +html { |
| 21 | + background: var(--bg); |
| 22 | +} |
| 23 | + |
| 24 | +body { |
| 25 | + background: |
| 26 | + radial-gradient(circle at 18% 0%, rgba(247, 147, 26, 0.16), transparent 30rem), |
| 27 | + radial-gradient(circle at 86% 14%, rgba(255, 179, 71, 0.1), transparent 28rem), |
| 28 | + linear-gradient(180deg, #0a0805 0%, #070604 45%, #0f0b06 100%); |
| 29 | + color: var(--text); |
| 30 | + font-family: var(--font-sans); |
| 31 | + letter-spacing: -0.01em; |
| 32 | +} |
| 33 | + |
| 34 | +body::before { |
| 35 | + content: ''; |
| 36 | + position: fixed; |
| 37 | + inset: 0; |
| 38 | + pointer-events: none; |
| 39 | + background-image: |
| 40 | + linear-gradient(rgba(247, 147, 26, 0.055) 1px, transparent 1px), |
| 41 | + linear-gradient(90deg, rgba(247, 147, 26, 0.055) 1px, transparent 1px); |
| 42 | + background-size: 44px 44px; |
| 43 | + mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.85), transparent 78%); |
| 44 | + z-index: 0; |
| 45 | +} |
| 46 | + |
| 47 | +.app { |
| 48 | + position: relative; |
| 49 | + z-index: 1; |
| 50 | +} |
| 51 | + |
| 52 | +.header { |
| 53 | + min-height: 68px; |
| 54 | + padding: 12px 22px !important; |
| 55 | + background: rgba(10, 8, 5, 0.84) !important; |
| 56 | + border-bottom: 1px solid var(--border-strong) !important; |
| 57 | + backdrop-filter: blur(18px); |
| 58 | + box-shadow: 0 10px 40px rgba(0, 0, 0, 0.28); |
| 59 | +} |
| 60 | + |
| 61 | +.header-brand { |
| 62 | + gap: 14px; |
| 63 | +} |
| 64 | + |
| 65 | +.header-brand::before { |
| 66 | + content: '₿'; |
| 67 | + width: 34px; |
| 68 | + height: 34px; |
| 69 | + display: inline-grid; |
| 70 | + place-items: center; |
| 71 | + border: 1px solid var(--border-strong); |
| 72 | + border-radius: 999px; |
| 73 | + background: radial-gradient(circle at 35% 25%, #ffd18a, var(--accent) 55%, #8d4b06 100%); |
| 74 | + color: #120b02; |
| 75 | + font-weight: 900; |
| 76 | + box-shadow: 0 0 28px rgba(247, 147, 26, 0.32); |
| 77 | +} |
| 78 | + |
| 79 | +.header-title { |
| 80 | + font-family: var(--font-mono); |
| 81 | + font-size: 18px; |
| 82 | + letter-spacing: -0.04em; |
| 83 | + text-transform: lowercase; |
| 84 | +} |
| 85 | + |
| 86 | +.header-title::before { |
| 87 | + content: 'btcneves ~ '; |
| 88 | + color: var(--accent); |
| 89 | +} |
| 90 | + |
| 91 | +.header-title::after { |
| 92 | + content: '|'; |
| 93 | + margin-left: 2px; |
| 94 | + color: var(--accent-bright); |
| 95 | + animation: cursor-blink 1.1s steps(2, start) infinite; |
| 96 | +} |
| 97 | + |
| 98 | +@keyframes cursor-blink { |
| 99 | + 0%, 44% { opacity: 1; } |
| 100 | + 45%, 100% { opacity: 0; } |
| 101 | +} |
| 102 | + |
| 103 | +.header-nav { |
| 104 | + gap: 7px !important; |
| 105 | +} |
| 106 | + |
| 107 | +.header-nav button, |
| 108 | +.status-dots button, |
| 109 | +.refresh-btn, |
| 110 | +.pres-btn { |
| 111 | + border-radius: 999px !important; |
| 112 | + border: 1px solid var(--border) !important; |
| 113 | + background: rgba(247, 147, 26, 0.055) !important; |
| 114 | + color: var(--muted) !important; |
| 115 | + font-family: var(--font-mono) !important; |
| 116 | + letter-spacing: -0.02em; |
| 117 | + transition: |
| 118 | + border-color 0.18s ease, |
| 119 | + background 0.18s ease, |
| 120 | + color 0.18s ease, |
| 121 | + transform 0.18s ease, |
| 122 | + box-shadow 0.18s ease !important; |
| 123 | +} |
| 124 | + |
| 125 | +.header-nav button:hover, |
| 126 | +.status-dots button:hover, |
| 127 | +.refresh-btn:hover, |
| 128 | +.pres-btn:hover { |
| 129 | + color: var(--text) !important; |
| 130 | + border-color: var(--accent) !important; |
| 131 | + background: rgba(247, 147, 26, 0.14) !important; |
| 132 | + transform: translateY(-1px); |
| 133 | +} |
| 134 | + |
| 135 | +.header-nav button[style*='rgb(29, 78, 216)'], |
| 136 | +.header-nav button[style*='#1d4ed8'], |
| 137 | +.status-dots button[style*='rgb(29, 78, 216)'], |
| 138 | +.status-dots button[style*='#1d4ed8'] { |
| 139 | + background: linear-gradient(135deg, var(--accent), var(--accent-bright)) !important; |
| 140 | + border-color: rgba(255, 209, 138, 0.85) !important; |
| 141 | + color: #160d02 !important; |
| 142 | + box-shadow: 0 0 22px rgba(247, 147, 26, 0.18) !important; |
| 143 | +} |
| 144 | + |
| 145 | +.main { |
| 146 | + max-width: 1280px; |
| 147 | + padding-top: 34px; |
| 148 | +} |
| 149 | + |
| 150 | +.main::before { |
| 151 | + content: 'btcneves@nodescope:~$ inspect bitcoin-core\AProfessional Bitcoin Core observability lab for RPC, ZMQ, mempool policy and proof reports.'; |
| 152 | + display: block; |
| 153 | + white-space: pre-line; |
| 154 | + margin: 0 0 22px; |
| 155 | + padding: 28px; |
| 156 | + border: 1px solid var(--border-strong); |
| 157 | + border-radius: 28px; |
| 158 | + background: |
| 159 | + linear-gradient(135deg, rgba(247, 147, 26, 0.16), rgba(247, 147, 26, 0.025) 58%), |
| 160 | + rgba(12, 10, 7, 0.72); |
| 161 | + box-shadow: var(--shadow-orange); |
| 162 | + color: var(--text); |
| 163 | + font-size: clamp(26px, 4vw, 48px); |
| 164 | + line-height: 1.05; |
| 165 | + font-weight: 850; |
| 166 | + letter-spacing: -0.07em; |
| 167 | +} |
| 168 | + |
| 169 | +.main::first-line { |
| 170 | + color: var(--accent-bright); |
| 171 | + font-family: var(--font-mono); |
| 172 | + font-size: 15px; |
| 173 | + font-weight: 700; |
| 174 | + letter-spacing: -0.03em; |
| 175 | +} |
| 176 | + |
| 177 | +.panel, |
| 178 | +.kpi-card, |
| 179 | +.pres-top-row, |
| 180 | +.explain-box, |
| 181 | +.alerting-panel, |
| 182 | +.lifecycle-panel { |
| 183 | + background: |
| 184 | + linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.012)), |
| 185 | + rgba(17, 16, 12, 0.88) !important; |
| 186 | + border: 1px solid var(--border) !important; |
| 187 | + border-radius: 22px !important; |
| 188 | + box-shadow: 0 18px 54px rgba(0, 0, 0, 0.24); |
| 189 | + backdrop-filter: blur(10px); |
| 190 | +} |
| 191 | + |
| 192 | +.panel { |
| 193 | + overflow: hidden; |
| 194 | +} |
| 195 | + |
| 196 | +.panel-header, |
| 197 | +.panel-title { |
| 198 | + border-bottom: 1px solid var(--border) !important; |
| 199 | + background: rgba(247, 147, 26, 0.035); |
| 200 | +} |
| 201 | + |
| 202 | +.panel-title, |
| 203 | +.kpi-label, |
| 204 | +.mempool-label, |
| 205 | +.panel-key, |
| 206 | +.event-time, |
| 207 | +.status-dot, |
| 208 | +.intelligence-key, |
| 209 | +.sync-label { |
| 210 | + color: var(--muted) !important; |
| 211 | +} |
| 212 | + |
| 213 | +.panel-title, |
| 214 | +.kpi-label, |
| 215 | +.mempool-label { |
| 216 | + font-family: var(--font-mono); |
| 217 | + text-transform: lowercase; |
| 218 | + letter-spacing: -0.02em; |
| 219 | +} |
| 220 | + |
| 221 | +.panel-title::before, |
| 222 | +.kpi-label::before, |
| 223 | +.mempool-label::before { |
| 224 | + content: '~ '; |
| 225 | + color: var(--accent); |
| 226 | +} |
| 227 | + |
| 228 | +.kpi-row, |
| 229 | +.grid-2, |
| 230 | +.grid-3 { |
| 231 | + gap: 18px; |
| 232 | +} |
| 233 | + |
| 234 | +.kpi-card { |
| 235 | + position: relative; |
| 236 | + overflow: hidden; |
| 237 | +} |
| 238 | + |
| 239 | +.kpi-card::after { |
| 240 | + content: ''; |
| 241 | + position: absolute; |
| 242 | + inset: auto 18px 0; |
| 243 | + height: 2px; |
| 244 | + background: linear-gradient(90deg, transparent, var(--accent), transparent); |
| 245 | + opacity: 0.38; |
| 246 | +} |
| 247 | + |
| 248 | +.kpi-value, |
| 249 | +.mempool-value, |
| 250 | +.panel-val, |
| 251 | +.sync-rpc, |
| 252 | +.sync-zmq, |
| 253 | +.event-hash, |
| 254 | +.mono, |
| 255 | +.intelligence-mono { |
| 256 | + font-family: var(--font-mono) !important; |
| 257 | +} |
| 258 | + |
| 259 | +.kpi-value, |
| 260 | +.mempool-value, |
| 261 | +.intelligence-score-value, |
| 262 | +.pres-title { |
| 263 | + color: var(--accent-bright) !important; |
| 264 | + text-shadow: 0 0 24px rgba(247, 147, 26, 0.18); |
| 265 | +} |
| 266 | + |
| 267 | +.badge { |
| 268 | + border: 1px solid currentColor; |
| 269 | + background: rgba(247, 147, 26, 0.12) !important; |
| 270 | + color: var(--accent-bright) !important; |
| 271 | + font-family: var(--font-mono); |
| 272 | +} |
| 273 | + |
| 274 | +.badge-regtest, |
| 275 | +.badge-mainnet, |
| 276 | +.badge-signet, |
| 277 | +.badge-testnet, |
| 278 | +.badge-rawtx, |
| 279 | +.badge-rawblock, |
| 280 | +.badge-block, |
| 281 | +.badge-payment, |
| 282 | +.badge-coinbase, |
| 283 | +.badge-health-healthy { |
| 284 | + background: rgba(247, 147, 26, 0.12) !important; |
| 285 | + color: var(--accent-bright) !important; |
| 286 | +} |
| 287 | + |
| 288 | +.dot-ok, |
| 289 | +.live-dot, |
| 290 | +.lifecycle-step--active .lifecycle-dot, |
| 291 | +.lifecycle-step--active-vert.lifecycle-step--active .lifecycle-dot { |
| 292 | + background: var(--accent-bright) !important; |
| 293 | + border-color: var(--accent-bright) !important; |
| 294 | + box-shadow: 0 0 14px rgba(247, 147, 26, 0.9) !important; |
| 295 | +} |
| 296 | + |
| 297 | +.event-row, |
| 298 | +.panel-row, |
| 299 | +.intelligence-row, |
| 300 | +.sync-row, |
| 301 | +.mempool-item { |
| 302 | + border-color: rgba(247, 147, 26, 0.14) !important; |
| 303 | +} |
| 304 | + |
| 305 | +.event-row:hover, |
| 306 | +.panel-row:hover, |
| 307 | +.intelligence-row:hover { |
| 308 | + background: rgba(247, 147, 26, 0.055) !important; |
| 309 | +} |
| 310 | + |
| 311 | +input, |
| 312 | +select, |
| 313 | +textarea { |
| 314 | + background: rgba(7, 6, 4, 0.78) !important; |
| 315 | + color: var(--text) !important; |
| 316 | + border: 1px solid var(--border) !important; |
| 317 | + border-radius: 12px !important; |
| 318 | + font-family: var(--font-mono) !important; |
| 319 | +} |
| 320 | + |
| 321 | +input:focus, |
| 322 | +select:focus, |
| 323 | +textarea:focus, |
| 324 | +button:focus-visible { |
| 325 | + outline: 2px solid rgba(247, 147, 26, 0.42) !important; |
| 326 | + outline-offset: 2px; |
| 327 | +} |
| 328 | + |
| 329 | +button:not(.header-nav button):not(.refresh-btn):not(.status-dots button) { |
| 330 | + border-radius: 999px; |
| 331 | +} |
| 332 | + |
| 333 | +.copy-feedback, |
| 334 | +.live-indicator, |
| 335 | +.sync-ok, |
| 336 | +.intelligence-pressure--low { |
| 337 | + color: var(--accent-bright) !important; |
| 338 | +} |
| 339 | + |
| 340 | +.footer, |
| 341 | +footer { |
| 342 | + color: var(--muted) !important; |
| 343 | + border-top-color: var(--border) !important; |
| 344 | +} |
| 345 | + |
| 346 | +::-webkit-scrollbar-thumb { |
| 347 | + background: rgba(247, 147, 26, 0.42); |
| 348 | +} |
| 349 | + |
| 350 | +* { |
| 351 | + scrollbar-color: rgba(247, 147, 26, 0.42) transparent; |
| 352 | +} |
| 353 | + |
| 354 | +@media (max-width: 700px) { |
| 355 | + .header { |
| 356 | + min-height: auto; |
| 357 | + padding: 10px 14px !important; |
| 358 | + } |
| 359 | + |
| 360 | + .main { |
| 361 | + padding: 18px 14px; |
| 362 | + } |
| 363 | + |
| 364 | + .main::before { |
| 365 | + padding: 22px; |
| 366 | + border-radius: 22px; |
| 367 | + font-size: 30px; |
| 368 | + } |
| 369 | + |
| 370 | + .header-brand::before { |
| 371 | + width: 30px; |
| 372 | + height: 30px; |
| 373 | + } |
| 374 | +} |
0 commit comments