:root{--bg: #0b0e14;--surface: #151a23;--surface-2: #1b2230;--border: #232b3a;--text: #e6edf3;--text-dim: #9aa7b4;--text-faint: #6e7681;--ok: #3fb950;--warn: #d29922;--down: #f85149;--none: #2d3543;--radius: 12px;--font: "Inter", "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}.shell{max-width:880px;margin:0 auto;padding:28px 20px 60px}.boot{display:grid;place-items:center;min-height:60vh;color:var(--text-dim)}.boot-error code{color:var(--down);font-family:var(--mono);font-size:13px}.masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.brand{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:.02em}.brand-mark{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 12px color-mix(in srgb,var(--ok) 70%,transparent)}.updated{color:var(--text-faint);font-size:13px;font-variant-numeric:tabular-nums}.banner{display:flex;align-items:center;gap:14px;padding:20px 22px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin-bottom:34px;transition:border-color .6s ease}.banner h1{margin:0;font-size:20px;font-weight:600}.banner-dot{width:14px;height:14px;border-radius:50%;flex:none}.banner-ok{border-color:color-mix(in srgb,var(--ok) 35%,var(--border))}.banner-ok .banner-dot{background:var(--ok);box-shadow:0 0 16px color-mix(in srgb,var(--ok) 60%,transparent)}.banner-warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--border))}.banner-warn .banner-dot{background:var(--warn);box-shadow:0 0 16px color-mix(in srgb,var(--warn) 60%,transparent)}.banner-down{border-color:color-mix(in srgb,var(--down) 50%,var(--border))}.banner-down .banner-dot{background:var(--down);box-shadow:0 0 16px color-mix(in srgb,var(--down) 60%,transparent)}.banner-none .banner-dot{background:var(--text-faint)}.group{margin-bottom:30px}.group-name{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin:0 0 12px 2px}.cards{display:grid;gap:14px}.ip-monitors .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px 14px;transition:border-color .6s ease,box-shadow .6s ease}.card-warn{border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.card-down{border-color:color-mix(in srgb,var(--down) 45%,var(--border));box-shadow:0 0 24px -12px var(--down)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.target-name{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px;min-width:0}.target-icon{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center}.target-icon svg,.target-icon-img{width:24px;height:24px;display:block}.target-icon-fallback{width:24px;height:24px;border-radius:6px;background:var(--none);display:block}.target-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-head-right{display:flex;align-items:center;gap:10px}.latency{color:var(--text-dim);font-size:13px;font-variant-numeric:tabular-nums;cursor:default}.pill{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;transition:background .6s ease,color .6s ease}.pill-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}.pill-warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 14%,transparent)}.pill-down{color:var(--down);background:color-mix(in srgb,var(--down) 14%,transparent)}.pill-none{color:var(--text-faint);background:var(--surface-2)}.history-bar{display:flex;gap:2px;height:30px}.seg{flex:1;border-radius:2px;min-width:2px;position:relative;transition:filter .15s ease}.seg:hover{filter:brightness(1.5)}.seg-ok{background:var(--ok)}.seg-warn{background:var(--warn)}.seg-down{background:var(--down)}.seg-none{background:var(--none)}.seg:after,.ping-latency-seg:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(2px);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-size:12px;padding:4px 9px;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;z-index:10}.seg:hover:after,.ping-latency-seg:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.bar-caption{display:flex;justify-content:space-between;color:var(--text-faint);font-size:11px;margin-top:6px}.ip-host{font-family:var(--mono);font-size:12px;font-weight:400;color:var(--text-faint)}.ping-chart-block{margin-bottom:14px}.ping-chart-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-bottom:6px}.ping-bar{display:flex;gap:1px;height:24px}.ping-bar .seg{min-width:1px}.ping-latency-wrap{display:flex;align-items:stretch;gap:4px}.ping-latency-plot{position:relative;flex:1;min-width:0}.ping-latency-hover{position:absolute;inset:0;display:flex;z-index:1}.ping-latency-seg{flex:1;min-width:1px;position:relative;cursor:crosshair}.ping-latency-seg:hover{background:color-mix(in srgb,var(--ok) 12%,transparent)}.ping-latency-scale{display:flex;flex-direction:column;justify-content:space-between;flex:none;width:max-content;padding:1px 0 1px 2px;font-size:11px;color:var(--text-faint);font-variant-numeric:tabular-nums;text-align:right;line-height:1.2}.ping-latency-chart{display:block;width:100%;height:56px;border-radius:6px;background:var(--surface-2)}.ping-latency-fill{fill:color-mix(in srgb,var(--ok) 18%,transparent);stroke:none}.ping-latency-line{fill:none;stroke:var(--ok);stroke-width:1.5}.ping-chart-empty{height:56px;display:grid;place-items:center;border-radius:6px;background:var(--surface-2);color:var(--text-faint);font-size:12px}.ip-monitor-card .card-foot{margin-top:8px}.card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;border-top:1px solid var(--border);padding-top:12px;flex-wrap:wrap}.uptime-windows{display:flex;gap:18px;list-style:none;margin:0;padding:0}.uptime-windows li{display:flex;flex-direction:column;gap:1px}.win-label{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em}.win-value{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.checks summary{cursor:pointer;color:var(--text-faint);font-size:13px;-webkit-user-select:none;user-select:none}.checks summary:hover{color:var(--text-dim)}.check-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}.check-row{display:flex;align-items:center;gap:8px;font-size:13px}.check-name{font-family:var(--mono);font-size:12px;color:var(--text-dim)}.check-latency{color:var(--text-faint);font-variant-numeric:tabular-nums}.check-error{color:var(--warn);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.component-name{font-size:13px;color:var(--text)}.component-status{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums}.component-status-ok{color:var(--ok)}.component-status-warn{color:var(--warn)}.component-status-down{color:var(--down)}.component-status-none{color:var(--text-faint)}.dot{width:8px;height:8px;border-radius:50%;flex:none}.dot-ok{background:var(--ok)}.dot-warn{background:var(--warn)}.dot-down{background:var(--down)}.dot-none{background:var(--text-faint)}.incident-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.incident{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.incident .dot{margin-top:6px}.incident-active{border-color:color-mix(in srgb,var(--down) 35%,var(--border))}.incident-title{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.incident-status{font-size:12px;color:var(--text-dim)}.incident-when{font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.incident-detail{color:var(--text-dim);font-size:13px;margin-top:2px;overflow-wrap:anywhere}.quiet{color:var(--text-faint)}.page-foot{margin-top:40px;text-align:center;color:var(--text-faint);font-size:12px}@media(max-width:720px){.ip-monitors .cards{grid-template-columns:1fr}}@media(max-width:560px){.shell{padding:18px 12px 40px}.card-foot{flex-direction:column;align-items:flex-start}.uptime-windows{gap:14px}.check-error{max-width:180px}}
