:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--body-font:"Avenir Next", "Segoe UI", system-ui, sans-serif;--heading-font:var(--body-font);--mono:"SFMono-Regular", Consolas, ui-monospace, monospace;--bg:#111923;--panel:#182330;--surface-2:#1c2938;--line:#334456;--text:#e5edf5;--muted:#a3b3c4;--subtle:#899eb2;--blue:#83b7ff;--cyan:#7ad4c1;--amber:#efc27c;--red:#ee9099;--selected:#243e5f;--selected-ring:#385675;--map-water:#15202d;--map-land:#27394b;--map-border:#496078;--map-grid:#40576f;--range-fill:#315451;--range-border:#70aa9d;--radius:12px;font-family:var(--body-font);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}[data-palette=business]{--panel:#182330;--text:#e5edf5;--blue:#83b7ff;--cyan:#7ad4c1;--map-land:#27394b}[data-theme=cyberpunk],[data-palette=cyberpunk]{--bg:#100c22;--panel:#19122f;--surface-2:#231a3c;--line:#593b73;--text:#f6edff;--muted:#c2acd6;--subtle:#ac91c8;--blue:#ff73de;--cyan:#5df4eb;--amber:#f9ef62;--red:#ff8499;--selected:#432042;--selected-ring:#643359;--map-water:#130f27;--map-land:#2c2245;--map-border:#685489;--map-grid:#675087;--range-fill:#194844;--range-border:#5ddacf;--radius:2px;--heading-font:var(--mono)}[data-theme=graveyard],[data-palette=graveyard]{--bg:#151214;--panel:#201b1e;--surface-2:#282226;--line:#51414a;--text:#e9e1d7;--muted:#beb0aa;--subtle:#ad989f;--blue:#d990a0;--cyan:#b4c899;--amber:#dfba7f;--red:#f19a9a;--selected:#422b35;--selected-ring:#63404d;--map-water:#191819;--map-land:#353831;--map-border:#686b5a;--map-grid:#54594b;--range-fill:#3d4934;--range-border:#9fae85;--radius:3px;--heading-font:Georgia, "Times New Roman", serif}[data-theme=nyan],[data-palette=nyan]{--bg:#102654;--panel:#173665;--surface-2:#203f72;--line:#526aaa;--text:#fff2ff;--muted:#c1d6ff;--subtle:#adcbf7;--blue:#ffaddd;--cyan:#85f3e5;--amber:#ffed82;--red:#ffb0ac;--selected:#534875;--selected-ring:#756099;--map-water:#142c59;--map-land:#30477d;--map-border:#758ecc;--map-grid:#6783b6;--range-fill:#32656c;--range-border:#85f3e5;--radius:8px;--body-font:var(--mono)}[data-theme=terminal],[data-palette=terminal]{--bg:#07100b;--panel:#0d1911;--surface-2:#122117;--line:#2c5139;--text:#cbf5d2;--muted:#97bf9e;--subtle:#83ac8d;--blue:#7aef96;--cyan:#c3f485;--amber:#ecd67d;--red:#ffaba2;--selected:#1b3c26;--selected-ring:#305b3a;--map-water:#0a160f;--map-land:#1b3423;--map-border:#436c4e;--map-grid:#375a41;--range-fill:#314729;--range-border:#a0c77c;--radius:0px;--body-font:var(--mono)}[data-theme=bubblegum],[data-palette=bubblegum]{--bg:#351331;--panel:#491d44;--surface-2:#56264f;--line:#915081;--text:#fff0f8;--muted:#eabed9;--subtle:#dbaace;--blue:#ffacd9;--cyan:#bcd5ff;--amber:#ffe295;--red:#ffb6b6;--selected:#793561;--selected-ring:#974978;--map-water:#3d1b3b;--map-land:#6a355e;--map-border:#a56396;--map-grid:#955583;--range-fill:#574c79;--range-border:#bcd5ff;--radius:25px}[data-theme=bios],[data-palette=bios]{--bg:navy;--panel:navy;--surface-2:#07076a;--line:#9898df;--text:#eef;--muted:#c2c2ff;--subtle:#b1b1eb;--blue:#ff5;--cyan:#5ff;--amber:#ff5;--red:#faa;--selected:#303094;--selected-ring:#5151ab;--map-water:#000070;--map-land:#222292;--map-border:#7777d1;--map-grid:#6868ac;--range-fill:#12547c;--range-border:#5ff;--radius:0px;--body-font:var(--mono)}.theme-picker{z-index:5;font:.8125rem var(--body-font);position:relative}.theme-picker summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);cursor:pointer;align-items:center;gap:10px;padding:9px 12px;list-style:none;display:flex}.theme-picker summary::-webkit-details-marker{display:none}.theme-picker summary>span:first-child{color:var(--blue)}.theme-picker summary i{color:var(--muted);font-style:normal}.theme-picker[open] summary{border-color:var(--blue)}.theme-menu{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);width:258px;max-width:calc(100vw - 28px);padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 48px #0007}.theme-choice{width:100%;color:var(--text);background:var(--panel);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:3px;align-items:center;gap:10px;padding:11px 10px;display:flex}.theme-choice+.theme-choice{margin-top:3px}.theme-choice:hover,.theme-choice[aria-pressed=true]{border-color:var(--blue)}.theme-icon{width:24px;color:var(--blue);font-family:var(--mono);text-align:center}.theme-swatches{margin-left:auto;display:flex}.theme-swatches i{background:var(--blue);width:9px;height:18px}.theme-swatches i:nth-child(2){background:var(--cyan)}.theme-swatches i:nth-child(3){background:var(--map-land)}[data-theme=cyberpunk] .site-header{border-bottom:2px solid var(--cyan);margin-bottom:18px}[data-theme=cyberpunk] .wordmark{text-shadow:2px 1px var(--selected-ring);letter-spacing:.03em}[data-theme=cyberpunk] .map-shell,[data-theme=cyberpunk] .route-panel{box-shadow:3px 3px 0 var(--selected-ring)}[data-theme=cyberpunk] .section-label{color:var(--cyan)}[data-theme=cyberpunk] .map-stage:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#0002 3px 4px);position:absolute;inset:0}[data-theme=graveyard] .wordmark{font-family:var(--heading-font);font-size:1.6rem}[data-theme=graveyard] .map-shell,[data-theme=graveyard] .route-panel{border-top:3px double var(--blue)}[data-theme=graveyard] .map-graticule{opacity:.25}[data-theme=graveyard] .route-summary h2{font-size:1.5rem}[data-theme=nyan] body{background-image:radial-gradient(circle,#b7dcff88 1px,#0000 1.5px),radial-gradient(circle,#b7dcff55 1px,#0000 1.5px);background-position:9px 17px,41px 53px;background-size:71px 83px,113px 137px}[data-theme=nyan] .site-header{margin-bottom:18px;position:relative}[data-theme=nyan] .site-header:after{content:"";background:linear-gradient(90deg,#ff6e8e 0% 16.66%,#ffb269 16.66% 33.33%,#ffec83 33.33% 50%,#90efac 50% 66.66%,#82d5ff 66.66% 83.33%,#d8a2ff 83.33%);height:6px;position:absolute;bottom:0;left:0;right:0}[data-theme=nyan] .wordmark:after{content:"=^･ω･^=";font:.75rem var(--mono);color:var(--blue);margin-left:10px;animation:1.6s steps(4,end) infinite cat-float}[data-theme=nyan] .path-hop>i{box-shadow:2px 2px 0 var(--selected-ring);border-radius:3px}[data-theme=terminal] .wordmark:before{content:">_";color:var(--blue)}[data-theme=terminal] .wordmark{text-shadow:0 0 14px #7aef9655}[data-theme=terminal] .wordmark-mark,[data-theme=bios] .wordmark-mark{display:none}[data-theme=terminal] .origin-option,[data-theme=bios] .origin-option{border-radius:0}[data-theme=terminal] .route-summary h2:before{content:"./";color:var(--blue)}[data-theme=bubblegum] .wordmark{font-size:1.5rem}[data-theme=bubblegum] .map-shell,[data-theme=bubblegum] .route-panel{box-shadow:0 5px 0 var(--selected)}[data-theme=bubblegum] .origin-option,[data-theme=bubblegum] .theme-picker summary{border-radius:30px}[data-theme=bubblegum] .path-hop>i{box-shadow:0 0 0 4px var(--selected)}[data-theme=bios] .map-shell,[data-theme=bios] .route-panel{border:3px double var(--line)}[data-theme=bios] .site-header{min-height:80px}[data-theme=bios] .section-label,[data-theme=bios] .route-summary h2{text-transform:uppercase;color:var(--blue);letter-spacing:.08em}[data-theme=bios] .path-hop>i{border-radius:0}@media (width<=480px){.theme-picker summary{gap:6px;padding:8px;font-size:.75rem}[data-theme=nyan] .wordmark:after{display:none}}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,a{color:inherit}button{font:inherit}a{text-underline-offset:3px}a:hover{color:var(--blue)}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.app-shell{max-width:1680px;margin:auto;padding:0 40px}.site-header{justify-content:space-between;align-items:center;gap:20px;min-height:90px;display:flex}.wordmark{letter-spacing:-.05em;align-items:center;gap:10px;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark>span:last-child{color:var(--blue)}.wordmark-mark{align-items:center;gap:3px;width:25px;display:flex;transform:rotate(-20deg)}.wordmark-mark i{background:var(--blue);border-radius:2px;width:5px;height:15px;display:block}.wordmark-mark i:nth-child(2){height:25px}.wordmark-mark i:nth-child(3){height:19px}.workspace{min-width:0}.map-shell{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);grid-template-columns:210px minmax(0,1fr);display:grid;overflow:hidden}.origin-picker{border-right:1px solid var(--line);z-index:1;background:var(--panel);padding:24px 12px 16px}.section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;font-size:.75rem;font-weight:600;display:flex}.origin-picker>.section-label{justify-content:space-between;margin-bottom:15px;padding:0 14px}.origin-picker>.section-label span{font:.75rem var(--mono);color:var(--subtle)}.origin-list{flex-direction:column;gap:3px;display:flex}.origin-option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:10px 14px;transition:background .16s,color .16s;display:flex}.origin-option:hover{background:var(--surface-2)}.origin-option.is-selected{background:var(--selected);color:var(--blue)}.origin-dot{border:1.5px solid var(--subtle);border-radius:50%;flex-shrink:0;width:6px;height:6px}.origin-option.is-selected .origin-dot{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 4px var(--selected-ring)}.origin-option strong{font-size:.875rem;font-weight:600;display:block}.origin-option small{color:var(--muted);margin-top:2px;font-size:.75rem;display:block}.origin-arrow{opacity:0;margin-left:auto}.origin-option:hover .origin-arrow,.origin-option.is-selected .origin-arrow{opacity:1}.map-content{background:var(--map-water);flex-direction:column;min-width:0;display:flex}.map-heading{z-index:1;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px 30px 0;display:flex}.connection-card h1{font:500 clamp(1.1rem, 2.3vw, 1.65rem)/1.4 var(--mono);letter-spacing:-.05em;overflow-wrap:anywhere;margin:8px 0 3px}.connection-location{color:var(--muted);font-size:.8125rem}.connection-dot{background:var(--cyan);border-radius:50%;width:6px;height:6px;display:inline-block}.connection-dot.is-offline{background:var(--subtle)}.protocol-badge{border:1px solid var(--line);color:var(--muted);font:.75rem var(--mono);border-radius:5px;padding:5px 8px}.map-stage{flex:1;height:clamp(300px,29vw,440px);min-height:300px;position:relative;overflow:hidden}.map-stage>svg{width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.map-land{fill:var(--map-land);stroke:var(--map-border);stroke-width:.75px}.map-graticule{fill:none;stroke:var(--map-grid);stroke-width:.5px;opacity:.6;pointer-events:none}.origin-marker{cursor:pointer}.origin-hit{fill:#0000}.origin-core{fill:var(--blue);stroke:var(--panel);stroke-width:2px}.origin-pulse{fill:none;stroke:var(--blue);stroke-width:1px;transform-box:fill-box;transform-origin:50%}.is-live .origin-marker.is-selected .origin-pulse{animation:2s ease-out infinite signal}.origin-marker text,.target-marker text,.route-node text{fill:var(--muted);font:500 12px var(--body-font);paint-order:stroke;stroke:var(--map-water);stroke-width:4px;stroke-linejoin:round}.origin-marker.is-selected text{fill:var(--blue);font-weight:600}.route-segment{fill:none;stroke:var(--blue);stroke-width:2px;stroke-linecap:round}.route-segment.is-gap{stroke-dasharray:4 6;opacity:.55}.route-segment.is-active{stroke-width:4px}.route-node circle{fill:var(--panel);stroke:var(--blue);stroke-width:1.5px;transition:r .15s}.route-node.is-active circle{fill:var(--blue)}.route-node text{text-anchor:middle;fill:var(--blue)}.target-marker circle{fill:var(--text);stroke:var(--panel);stroke-width:2px}.target-marker .target-ring{fill:#0000;stroke:var(--subtle);stroke-width:1px}.target-marker text{fill:var(--text);font-weight:600}.map-coordinate{color:var(--subtle);font:.75rem var(--mono);pointer-events:none;position:absolute;bottom:12px;right:24px}.map-coordinate span{color:var(--subtle);padding:0 5px}.map-caption{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:13px 28px;font-size:.75rem;display:flex}.map-caption>span:first-child{align-items:center;gap:8px;display:flex}.map-caption i{background:var(--blue);border-radius:50%;width:5px;height:5px}.route-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin-top:24px;overflow:hidden}.route-summary{grid-template-columns:1fr;align-items:center;gap:20px;padding:20px 28px;display:grid}.summary-topline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.route-summary h2{letter-spacing:-.03em;font-size:1.125rem;font-family:var(--heading-font);margin:0;font-weight:600}.status-badge{color:var(--muted);border-radius:4px;align-items:center;gap:6px;font-size:.75rem;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.trace-endpoints{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px;font-size:.8125rem;display:flex}.target-ip{font:.75rem var(--mono);overflow-wrap:anywhere}.validation-progress{font:.75rem var(--mono);color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;padding:0 28px 18px;display:flex}.sample-track{gap:3px;display:flex}.sample-track i{background:var(--line);border-radius:2px;width:15px;height:4px}.sample-track i.is-filled{background:var(--blue)}.sample-track i.is-next{background:var(--blue);animation:1s ease-in-out infinite blink}.measurement-elapsed{margin-left:auto}.error-banner{border:1px solid var(--red);background:var(--surface-2);color:var(--red);border-radius:6px;grid-column:1/-1;margin:0 28px 18px;padding:12px 15px;font-size:.875rem}.hop-path{border-top:1px solid var(--line);background:var(--surface-2);grid-template-columns:repeat(auto-fill,minmax(90px,1fr));align-items:start;gap:20px 0;padding:20px 28px;display:grid;overflow:hidden}.path-hop{cursor:pointer;background:0 0;border:0;flex:none;place-items:center;gap:7px;width:100%;min-width:0;padding:0 12px;display:grid;position:relative}.path-hop:before{content:"";background:var(--line);height:1px;position:absolute;top:12px;left:0;right:0}.path-hop:first-child:before{left:50%}.path-hop:last-child:before{right:50%}.path-hop>i{border:1px solid var(--blue);background:var(--panel);width:25px;height:25px;color:var(--blue);font:normal .75rem var(--mono);border-radius:50%;place-items:center;display:grid;position:relative}.path-hop>span{color:var(--muted);font:.75rem var(--mono);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.path-hop.is-active>i{background:var(--blue);border-color:var(--blue);color:var(--bg)}.path-hop.is-silent>i{color:var(--subtle);border-style:dashed}.path-hop.is-silent:before{border-top:1px dashed var(--line);background:0 0}.chart-toolbar{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:17px 28px;font-size:.875rem;display:flex}.chart-unit{color:var(--muted);margin-left:5px;font-size:.75rem}.chart-legend{color:var(--muted);align-items:center;gap:20px;font-size:.75rem;display:flex}.chart-legend span{align-items:center;gap:7px;display:inline-flex}.legend-average{background:var(--blue);width:16px;height:2px}.legend-range{background:var(--range-fill);border:1px solid var(--range-border);width:16px;height:7px}.route-table-scroll{scrollbar-width:thin;scrollbar-color:var(--subtle) var(--bg);overflow-x:auto}.route-table{table-layout:fixed;border-spacing:0;border-collapse:separate;width:100%;min-width:960px}.col-hop{width:56px}.col-host,.col-location{width:240px}.col-loss{width:68px}.col-rtt{width:90px}.col-graph{width:auto}.route-table thead{background:var(--surface-2)}.route-table thead th{text-align:left;height:38px;color:var(--muted);border-block:1px solid var(--line);padding:8px 14px;font-size:.75rem;font-weight:500}.route-table tbody th,.route-table tbody td{border-bottom:1px solid var(--line);height:73px;padding:10px 14px}.hop-row{outline-offset:-2px;animation:.3s ease-out both row-enter}.hop-row:hover,.hop-row:focus,.hop-row.is-active{background:var(--selected)}.hop-number{color:var(--subtle);font:.75rem var(--mono)}.hop-identity strong,.hop-identity span,.hop-network strong{overflow-wrap:anywhere;font-weight:400;display:block}.hop-identity strong{font:.8125rem var(--mono)}.hop-identity span{color:var(--muted);font:.75rem/1.5 var(--mono);margin-top:5px}.hop-location{font-size:.8125rem}.location-name{color:var(--text);margin-bottom:4px}.hop-network{color:var(--muted);font-size:.75rem;line-height:1.5}.hop-network>span{font:.75rem var(--mono);flex-wrap:wrap;gap:4px 10px;margin-top:3px;display:flex}.hop-network a{color:var(--blue);text-decoration:none}.hop-network a:hover{text-decoration:underline}.route-table .numeric{text-align:right;white-space:nowrap}.hop-loss strong,.hop-latency{font:.8125rem var(--mono)}.hop-loss strong{color:var(--text)}.route-table .graph-cell{background:var(--surface-2);padding:0;position:relative}.hop-graph{isolation:isolate;position:absolute;inset:0}.hop-graph svg{z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.graph-gridline{border-left:1px dashed var(--line);z-index:-1;position:absolute;top:0;bottom:-1px}.latency-line{fill:none;stroke:var(--blue);stroke-width:1.5px;vector-effect:non-scaling-stroke}.latency-range{border:1px solid var(--range-border);background:var(--range-fill);z-index:1;border-radius:2px;min-width:2px;height:10px;transition:left .25s,width .25s;position:absolute;top:calc(50% - 5px)}.latency-average{border:1px solid var(--panel);background:var(--blue);z-index:3;border-radius:50%;width:6px;height:6px;transition:left .25s;position:absolute;top:50%;transform:translate(-50%,-50%)}.graph-no-reply{color:var(--muted);font:.75rem var(--mono);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.route-table .graph-heading{padding:0}.graph-axis{height:36px;font:.75rem var(--mono);position:relative}.graph-axis span{position:absolute;top:11px;transform:translate(-50%)}.hop-row.hop-no-reply th,.hop-row.hop-no-reply td{height:28px;padding-block:0}.hr-line{border-top:1px dashed var(--line)}.empty-route{color:var(--muted);justify-content:space-between;align-items:center;padding:22px 28px;font-size:.875rem;display:flex}.empty-route .error-banner{width:100%;margin:0}.pending-route{align-items:center;gap:18px;width:100%;display:flex}.pending-route>span{font:.875rem var(--mono);color:var(--text)}.pending-track{background:var(--line);flex:1;height:2px;position:relative;overflow:hidden}.pending-track:after{content:"";background:var(--blue);width:18%;height:2px;animation:1.8s ease-in-out infinite transit;display:block}.site-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px 30px;padding:23px 2px 30px;font-size:.75rem;line-height:1.7;display:flex}.site-footer span{max-width:680px}.turnstile-host{z-index:10;position:fixed;bottom:12px;right:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes signal{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}@keyframes cat-float{0%,to{transform:translateY(2px)}50%{transform:translateY(-3px)}}@keyframes blink{50%{opacity:.3}}@keyframes transit{0%{transform:translate(-100%)}to{transform:translate(660%)}}@keyframes row-enter{0%{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width>=1450px){.col-host,.col-location{width:280px}}@media (width<=1100px){.app-shell{padding-inline:24px}.route-summary{grid-template-columns:1fr}.map-shell{grid-template-columns:185px minmax(0,1fr)}}@media (width<=760px){.app-shell{padding-inline:14px}.site-header{min-height:72px}.wordmark{font-size:1.125rem}.map-shell{border-radius:var(--radius);flex-direction:column;display:flex}.origin-picker{border-right:0;border-bottom:1px solid var(--line);padding:14px 0 10px}.origin-picker>.section-label{margin-bottom:10px;padding-inline:18px}.origin-list{flex-direction:row;gap:6px;padding:0 12px 5px;overflow-x:auto}.origin-option{border:1px solid var(--line);flex-shrink:0;gap:8px;width:auto;padding:9px 12px}.origin-option small,.origin-arrow{display:none}.origin-option strong{white-space:nowrap}.map-heading{padding:20px 18px 0}.map-stage{flex:auto;height:320px;min-height:320px}.map-caption{flex-wrap:wrap;padding:12px 18px}.route-panel{margin-top:16px}.route-summary{padding:20px 18px}.chart-toolbar,.empty-route,.validation-progress{padding-inline:18px}.hop-path{padding-inline:12px}.chart-legend{gap:14px}.error-banner{margin-inline:18px}.connection-card{min-width:0}.protocol-badge{flex-shrink:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation:none!important}}
