:root{color-scheme:dark;--bg:#10171d;--panel:#182129;--panel2:#1c2730;--line:#2b3740;--text:#edf2ed;--muted:#98a8b3;--green:#b9ed85;--orange:#ffad87;--gray:#778a9b;--red:#ff9989;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{border:1px solid var(--line);border-radius:7px;padding:10px 15px;background:var(--panel2);color:var(--text);cursor:pointer;font-weight:550}button:hover{border-color:var(--muted);background:#26343d}button:disabled{cursor:wait;opacity:.6}button.primary{background:var(--green);color:#172319;border-color:var(--green)}button.primary:hover{background:#ccf8a2}button.quiet{background:transparent;border-color:transparent;color:var(--muted)}button.danger{color:var(--red)}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:#111a21;color:var(--text)}input:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#becbd1;font-weight:550}h1,h2,h3,p{margin-top:0}h1{font-size:36px;letter-spacing:-1.4px;margin-bottom:10px;font-weight:600}h2{font-size:21px;font-weight:550;letter-spacing:-.4px;margin-bottom:16px}h3{font-size:16px;font-weight:600}p{line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);font-weight:700;margin-bottom:14px}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 5vw}.brand{display:flex;align-items:center;gap:12px;color:var(--text);font-size:19px;font-weight:600;letter-spacing:-.4px}.brand:hover{text-decoration:none}.version{color:var(--muted);letter-spacing:1.6px;font-size:9px;font-weight:600;border-left:1px solid var(--line);margin-left:10px;padding-left:22px}.topbar nav{display:flex;gap:10px;align-items:center}.live{font-size:12px;color:var(--green);padding-right:20px}.live.stale{color:var(--orange)}main#dashboard{max-width:1540px;padding:46px 5vw 20px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading p{font-size:13px;margin:0}.page-heading .eyebrow{margin-bottom:12px}.summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;margin-bottom:32px;overflow:hidden}.summary-item{padding:22px 26px;background:var(--panel);border-right:1px solid var(--line)}.summary-item:last-child{border:0}.summary-item span{color:var(--muted);display:block;font-size:12px;margin-bottom:12px}.summary-item strong{font-size:30px;font-weight:550;font-variant-numeric:tabular-nums}.online-dot,.online{color:var(--green)}.offline-dot,.offline{color:var(--orange)}.unknown-dot,.unknown{color:var(--gray)}.toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:0 0 22px;border-bottom:1px solid var(--line)}.range-buttons{display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px}.range-buttons button{font-size:12px;background:transparent;border-color:transparent;padding:8px 16px;color:var(--muted)}.range-buttons button.selected{color:var(--text);background:#2b3942}.timezone{font-size:11px;color:var(--muted)}.range-label{font-size:11px;margin-left:auto;color:var(--muted)}.content-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:24px 0 18px}.filters{display:flex;align-items:center;gap:12px}.filters label{font-size:10px;gap:5px}.filters input{width:240px;font-size:12px;padding:9px 11px}.filters select{font-size:12px;padding:8px 11px;min-width:130px}.legend{display:flex;gap:18px;font-size:10px;white-space:nowrap}.resource-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:23px 26px}.resource-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.resource-name{font-size:19px;color:var(--text);letter-spacing:-.4px;font-weight:550}.resource-meta{display:flex;gap:15px;align-items:center;margin-top:8px;font-size:11px;color:var(--muted);flex-wrap:wrap}.badge{font-size:10px;text-transform:uppercase;letter-spacing:1px;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:5px;border:1px solid currentColor;font-weight:600}.card-actions{display:flex;align-items:center;gap:6px}.card-actions button{font-size:11px;padding:7px 10px}.resource-body{display:grid;grid-template-columns:minmax(0,1fr) 110px 110px;gap:24px;align-items:center;margin-top:25px}.timeline svg{width:100%;height:24px;display:block;border-radius:4px;overflow:hidden}.timeline-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin-top:7px}.stat-label{font-size:10px;color:var(--muted);margin-bottom:7px}.stat-value{font-size:18px;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.precision{font-size:10px;color:var(--muted);margin:12px 0 0}.empty{border:1px dashed #3a4851;border-radius:12px;text-align:center;padding:65px 20px}.empty .symbol{font-size:40px;color:var(--green);margin-bottom:20px}.empty p{color:var(--muted);max-width:480px;margin:10px auto 24px}.banner{background:#4a3025;color:#ffcfb2;padding:15px 5vw;line-height:1.5}.notice{padding:12px 16px;background:#26313b;border:1px solid #42515d;border-radius:7px;color:#c2ced7;font-size:12px;margin-bottom:18px}.warning{font-size:12px;padding:13px 15px;background:#332c23;color:#e9c79a;border:1px solid #514431;border-radius:6px;margin:20px 0}.error{color:var(--red);font-size:12px;white-space:pre-wrap;margin:12px 0}.error:empty{display:none}footer{border-top:1px solid var(--line);padding:24px 0;margin-top:32px;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px}.login{max-width:500px;margin:65px auto;padding:20px}.login h1{font-size:43px;line-height:1.15}.login>.muted{margin-bottom:35px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:30px}.login-card input{margin-top:10px;margin-bottom:16px}.login-card .primary{width:100%;display:flex;justify-content:space-between;margin-top:8px}.security-note{font-size:11px;color:var(--muted);line-height:1.6;margin:22px 0 0}.custom-range{display:grid;grid-template-columns:2fr 1fr 2fr 1fr auto;align-items:end;gap:12px;background:var(--panel);padding:20px;border-radius:8px;margin-top:16px}.custom-range p{grid-column:1/-1;font-size:11px;margin:0}.back-link{display:inline-block;margin-bottom:22px;font-size:12px}.check-card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:25px;margin:18px 0}.check-header{display:flex;justify-content:space-between;gap:20px}.check-header h3{margin-bottom:8px}.target{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:var(--muted);word-break:break-all}.check-info{display:flex;gap:20px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:14px 0 20px}.check-info span{max-width:100%;overflow-wrap:anywhere}.chart{margin:22px 0 10px}.chart-title{font-size:11px;color:var(--muted);margin-bottom:9px}.chart svg{width:100%;height:105px;border-bottom:1px solid var(--line)}.chart-empty{height:70px;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.latency-stats{font-size:11px;color:var(--muted);display:flex;gap:20px;flex-wrap:wrap}.latency-stats strong{color:var(--text);font-weight:500}.check-card details{border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.check-card summary{cursor:pointer;font-size:12px}.records{margin-top:16px;overflow:auto}.records table{width:100%;border-collapse:collapse;font-size:11px}.records th,.records td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px;white-space:nowrap}.records th{color:var(--muted);font-weight:500}.error-list{font-size:11px;line-height:1.7;color:var(--orange);padding-left:20px}.raw-note{font-size:11px;color:var(--muted);margin:14px 0}.record-controls{display:flex;gap:8px;align-items:center;margin-top:10px}dialog{color:var(--text);background:var(--panel);border:1px solid #42525c;border-radius:12px;width:min(740px,95vw);max-height:90vh;padding:28px}dialog::backdrop{background:#050a10bd;backdrop-filter:blur(3px)}dialog h2{margin-bottom:0}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.dialog-heading .eyebrow{margin-bottom:8px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.check-fields{border:1px solid var(--line);border-radius:8px;padding:18px;margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-fields legend{padding:0 7px;color:var(--muted);font-size:12px}.check-fields .wide{grid-column:1/-1}.check-fields .remove-check{justify-self:end;font-size:11px;padding:5px 8px}.check-fields .warning{margin:0}.check-fields .target-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}#settings-dialog{max-width:520px}[hidden]{display:none!important}@media(min-width:1550px){main#dashboard{padding-left:40px;padding-right:40px}}@media(max-width:850px){.topbar{padding:0 22px}.version{display:none}main#dashboard{padding:30px 22px}.summary-item{padding:18px}.resource-body{grid-template-columns:1fr 85px 85px;gap:15px}.legend{gap:9px}.custom-range{grid-template-columns:2fr 1fr}.custom-range button{grid-column:1/-1}.range-label{width:100%;margin:0}.resource-card{padding:20px}.live{padding:0}.content-controls{flex-wrap:wrap}}@media(max-width:560px){.topbar{height:68px;padding:0 15px}.brand{font-size:16px;gap:8px}.topbar nav{gap:0}.topbar button{padding:8px;font-size:11px}.live{display:none}h1{font-size:29px}.page-heading{align-items:flex-start}.page-heading .primary{font-size:11px;white-space:nowrap}.page-heading p{font-size:11px}.summary{grid-template-columns:repeat(2,1fr)}.summary-item{border-bottom:1px solid var(--line)}.summary-item strong{font-size:25px}.summary-item:nth-child(2){border-right:0}.resource-head{flex-wrap:wrap;gap:12px}.resource-body{grid-template-columns:1fr 1fr}.resource-body>.timeline{grid-column:1/-1}.resource-meta{font-size:10px}.filters{width:100%}.filters input{width:100%}.search-label{flex:1}.range-buttons{width:100%}.range-buttons button{flex:1;padding:8px 12px}.timezone{font-size:10px}footer{flex-direction:column}.check-fields{grid-template-columns:1fr}.check-fields .target-fields{grid-template-columns:1fr}.check-fields label{grid-column:1/-1}.check-card{padding:18px}.login{margin:25px auto}.login h1{font-size:35px}dialog{padding:20px}}
:where(input,select,label,.check-fields){min-width:0}.page-heading>div,.resource-head>div:first-child,.check-header>div{min-width:0}.resource-name,h1,h3{overflow-wrap:anywhere}.card-actions{flex-shrink:0}
.timeline-hint{color:var(--muted);font-size:11px;margin:0 0 18px}
.speed-axes{display:grid;grid-template-columns:55px minmax(0,1fr);gap:6px 8px}.speed-y-axis{display:flex;flex-direction:column;justify-content:space-between;text-align:right;color:var(--muted);font-size:10px;padding:8px 0}.speed-x-axis{grid-column:2;display:flex;justify-content:space-between;color:var(--muted);font-size:10px}#speed-charts .speed-axes svg{height:120px;cursor:crosshair}
.speed-chart svg text{fill:var(--muted);font:12px ui-sans-serif,system-ui,sans-serif}.speed-chart .speed-grid{fill:none;stroke:var(--line);stroke-dasharray:3 4}.speed-chart circle{cursor:crosshair;stroke:var(--bg);stroke-width:1}.speed-chart circle:focus{outline:none;stroke:white;stroke-width:3}.speed-point-info{min-height:34px;margin:12px 0 0;font-size:11px;color:var(--muted)}#speed-charts svg{height:160px}
#speedtest{max-width:1540px;margin:auto;padding:46px 5vw}.speed-controls{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-bottom:18px}.speed-controls label{min-width:220px}.speed-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:9px;overflow:hidden}.speed-metric{padding:20px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.speed-metric:last-child{border:0}.speed-metric strong{font-size:29px;color:var(--green);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.speed-metric small{line-height:1.6;font-size:10px}.speed-unit{font-size:11px;color:var(--muted)}.speed-charts{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.speed-chart{padding:20px;border:1px solid var(--line);border-radius:8px;min-width:0}.speed-chart h3{font-size:12px;color:var(--muted)}.speed-chart svg{display:block;width:100%;height:110px;border-bottom:1px solid var(--line);overflow:visible}.speed-rate-line{fill:none;stroke:var(--green);stroke-width:2}.speed-chart circle{fill:var(--green)}#speed-progress{width:100%;height:12px;accent-color:var(--green)}.speed-peers-heading{margin-top:35px}.speed-peer-result{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.speed-peer-result>span:first-child{min-width:120px}.speed-peer-result .muted{flex:1;font-size:11px}.peer-fields{border:1px solid var(--line);border-radius:7px;margin:18px 0;padding:18px;display:grid;gap:14px}.peer-fields legend{color:var(--muted);padding:0 8px;font-size:12px}.peer-fields .danger{justify-self:end}.topbar nav>a{font-size:12px;padding:8px}@media(max-width:1000px){.speed-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.speed-metric{border-bottom:1px solid var(--line)}.speed-charts{grid-template-columns:1fr}.topbar .version{display:none}}@media(max-width:560px){#speedtest{padding:25px 18px}.speed-metrics{grid-template-columns:1fr 1fr}.speed-metric{padding:14px}.speed-metric strong{font-size:24px}.speed-peer-result{flex-wrap:wrap;gap:8px}.speed-peer-result .muted{flex-basis:70%}.topbar nav>a{padding:6px 5px;font-size:10px}.topbar .brand{font-size:0}.topbar .brand img{width:26px;height:26px}.speed-controls{gap:12px}.speed-controls .range-buttons button{padding:8px 10px}}
.heading-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.order-status{font-size:12px;color:var(--green);margin:12px 0}.order-status:empty{display:none}.order-actions{display:flex;gap:10px;flex-wrap:wrap}.order-panel{padding:18px;margin:18px 0;background:var(--panel);border:1px solid var(--green);border-radius:8px}.order-panel>p:first-child{font-size:12px;color:var(--muted)}.reorder-item{position:relative}.resource-card.reorder-item{padding-left:82px}.check-fields.reorder-item{padding-top:66px}.drag-handle{position:absolute;left:18px;top:18px;display:flex;align-items:center;justify-content:center;padding:8px;width:44px;height:44px;cursor:grab;touch-action:none;user-select:none}.check-fields>.drag-handle{top:8px}.drag-handle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.dragging{outline:2px dashed var(--green);opacity:.65}.dragging .drag-handle{cursor:grabbing;background:#354d31}.drop-before::before,.drop-after::after{content:"";position:absolute;left:0;right:0;height:4px;border-radius:2px;background:var(--green);pointer-events:none;z-index:3}.drop-before::before{top:-9px}.drop-after::after{bottom:-9px}.drag-order-list{overflow-anchor:none}@media(max-width:560px){.heading-actions{flex-direction:column;gap:8px;max-width:145px}.heading-actions button{font-size:11px;padding:9px}.resource-card.reorder-item{padding-left:72px}.drag-handle{left:12px}.order-panel{padding:14px}}
.latency-chart{position:relative}.latency-chart .chart-title{font-size:12px;color:var(--text);line-height:1.5}.latency-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;margin:10px 0 16px;color:var(--muted)}.latency-key-mean{color:var(--green)}.latency-key-envelope{color:#92b879}.latency-key-failure{color:var(--orange)}.latency-key-error{color:var(--gray)}.latency-axes{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:24px 180px 18px auto auto;column-gap:10px}.latency-unit{grid-column:1/-1;font-size:11px;color:var(--muted)}.latency-y-labels{grid-column:1;grid-row:2;display:flex;flex-direction:column;justify-content:space-between;text-align:right;font-size:11px;line-height:1;color:var(--muted);font-variant-numeric:tabular-nums}.latency-plot{grid-column:2;grid-row:2;position:relative;min-width:0;cursor:crosshair;touch-action:pan-y;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.latency-plot:focus-visible{outline:2px solid var(--green);outline-offset:4px}.latency-chart .latency-plot svg{height:100%;width:100%;display:block;overflow:visible;border:0}.latency-grid{stroke:#33414b;stroke-width:1;stroke-dasharray:3 5}.latency-envelope{stroke:#75995d;stroke-width:2}.latency-mean{stroke:var(--green);stroke-width:1.6;stroke-linejoin:round}.latency-dots{stroke:var(--green);stroke-width:4;stroke-linecap:round}.latency-crosshair{stroke:#dce8d5;stroke-width:1;stroke-dasharray:4 3}.latency-selected-dot{stroke:#fff;stroke-width:8;stroke-linecap:round}.latency-chart .latency-event-rail{grid-column:2;grid-row:3;width:100%;height:16px;border:0;cursor:crosshair;touch-action:pan-y}.latency-failures{stroke:var(--orange);stroke-width:3}.latency-errors{stroke:var(--gray);stroke-width:3}.latency-x-labels{grid-column:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.5}.latency-x-labels span:nth-child(2){text-align:center}.latency-x-labels span:last-child{text-align:right}.latency-time-label{grid-column:2;text-align:center;font-size:10px;color:var(--muted);margin-top:8px}.latency-instructions{font-size:11px;color:var(--muted);line-height:1.6;margin:14px 0 0}.latency-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;text-align:center;color:var(--muted);font-size:12px;pointer-events:none}.latency-tooltip{position:absolute;z-index:2;top:30px;left:84px;width:320px;max-width:calc(100% - 94px);padding:14px;background:#0c131bf5;border:1px solid #586c79;border-radius:8px;box-shadow:0 6px 22px #0006;pointer-events:none;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.latency-tooltip-right{left:auto;right:10px}.latency-tooltip-heading{font-size:10px;color:var(--muted);margin-bottom:5px}.latency-tooltip-window{font-variant-numeric:tabular-nums;margin-bottom:10px}.latency-tooltip-samples{font-weight:550;color:var(--green)}.latency-tooltip-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.latency-tooltip-stats dt{font-size:10px;color:var(--muted)}.latency-tooltip-stats dd{margin:2px 0 0;font-size:13px;font-variant-numeric:tabular-nums}.latency-tooltip-counts{border-top:1px solid var(--line);padding-top:8px}.latency-tooltip-note{color:var(--muted);margin-top:7px}.latency-tooltip-bound{color:var(--orange);margin-top:7px}@media(max-width:560px){.latency-axes{grid-template-columns:42px minmax(0,1fr);column-gap:8px}.latency-legend{gap:8px 12px;font-size:10px}.latency-y-labels,.latency-x-labels{font-size:10px}.latency-tooltip,.latency-tooltip-right{top:218px;left:0;right:0;width:auto;max-width:100%;position:relative;grid-column:1/-1;grid-row:6;margin-top:12px;top:auto}.latency-tooltip-stats dd{font-size:12px}}
