:root{color:#dce8e8;font-synthesis:none;text-rendering:optimizelegibility;--bg:#071014;--panel:#09161b;--panel-2:#0d1d22;--line:#88b4b829;--line-strong:#7ccdcc47;--muted:#789095;--text:#dce8e8;--cyan:#26e6c8;--sky:#5cc8ff;--amber:#ffbd5a;--red:#ff6969;background:#071014;font-family:Avenir Next,Segoe UI,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;overflow-x:hidden}button,a{color:inherit}.app-shell{background:radial-gradient(circle at 28% 40%,#19605b24,#0000 35%),linear-gradient(135deg,#071014 0%,#081318 52%,#061014 100%);grid-template-rows:58px minmax(0,1fr) auto;min-height:100vh;display:grid}.site-header,.site-footer{border-color:var(--line);color:var(--muted);border-style:solid;justify-content:space-between;align-items:center;padding:0 24px;font-size:.78rem;display:flex}.site-header{border-width:0 0 1px}.site-footer{border-width:1px 0 0;gap:24px;min-height:38px;font-family:SFMono-Regular,Consolas,ui-monospace,monospace;font-size:.75rem}.site-footer a{color:#9ab7b9}.site-footer a:hover{color:var(--cyan)}.wordmark{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.wordmark>span:last-child{color:var(--cyan)}.wordmark-mark{align-items:flex-end;gap:2px;height:17px;display:flex}.wordmark-mark i{background:var(--cyan);border-radius:2px;width:3px;box-shadow:0 0 10px #26e6c873}.wordmark-mark i:first-child{height:7px}.wordmark-mark i:nth-child(2){height:12px}.wordmark-mark i:nth-child(3){height:17px}.header-note{gap:20px;font-family:SFMono-Regular,Consolas,ui-monospace,monospace;display:flex}.header-note a{color:#a8c7c9;text-decoration:none}.header-note a:hover{color:var(--cyan)}.workspace{grid-template-columns:minmax(0,58fr) minmax(390px,42fr);min-height:0;display:grid}.map-shell{border-right:1px solid var(--line);flex-direction:column;min-width:0;padding:26px 24px 18px;display:flex}.map-heading,.summary-topline{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.eyebrow{color:#6f8e91;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px;font:500 .75rem/1 SFMono-Regular,Consolas,ui-monospace,monospace;display:block}.map-heading h1{color:#effafa;letter-spacing:-.055em;margin:0;font-size:clamp(1.45rem,2.4vw,2.35rem);line-height:1.05}.live-indicator{color:#8ca4a6;align-items:center;gap:8px;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace;display:inline-flex}.live-indicator i{background:var(--cyan);width:7px;height:7px;box-shadow:0 0 12px var(--cyan);border-radius:50%}.live-indicator.is-busy i{animation:1s ease-in-out infinite blink}.map-stage{flex:1;place-items:center;min-height:360px;display:grid;position:relative}.map-stage svg{width:100%;max-height:100%;overflow:visible}.map-sphere{fill:#071216b8;stroke:#6295993d;stroke-width:1.2px;pointer-events:none}.map-graticule{fill:none;stroke:#5f92971a;stroke-width:.8px;pointer-events:none}.map-land{fill:#10242a;stroke:#6d9a9d38;stroke-width:.65px;pointer-events:none}.origin-marker{cursor:pointer;pointer-events:bounding-box;outline:none;transition:opacity .18s}.origin-hit{fill:#0000;pointer-events:all}.origin-core{fill:#e7fffb;filter:drop-shadow(0 0 5px var(--cyan))}.origin-pulse{fill:#26e6c812;stroke:#26e6c8a3;stroke-width:1px;transform-box:fill-box;transform-origin:50%}.origin-marker text{fill:#9ab7b9;paint-order:stroke;stroke:#071014;stroke-width:4px;stroke-linejoin:round;font:500 14px SFMono-Regular,Consolas,ui-monospace,monospace}.origin-marker:hover text,.origin-marker:focus text,.origin-marker.is-selected text{fill:#fff}.origin-marker:hover .origin-pulse,.origin-marker:focus .origin-pulse,.origin-marker.is-selected .origin-pulse{stroke:var(--cyan);animation:1.7s ease-out infinite signal}.origin-marker:focus .origin-core{stroke:#fff;stroke-width:3px}.origin-marker.is-subdued{opacity:.28}.route-segment{fill:none;stroke:url(#route-gradient);stroke-width:2.2px;stroke-linecap:round;filter:drop-shadow(0 0 5px #26e6c840)}.route-segment.is-gap{stroke-dasharray:6 7;animation:1.2s linear infinite route-flow}.route-segment.is-alert{stroke:var(--red)}.route-segment.is-active{stroke-width:5px}.route-node circle{fill:#0b161b;stroke:var(--sky);stroke-width:2px}.route-node text{fill:#aad9eb;text-anchor:middle;font:12px SFMono-Regular,Consolas,ui-monospace,monospace}.route-node.is-active circle{fill:var(--sky);filter:drop-shadow(0 0 6px var(--sky))}.target-marker circle{fill:#071014;stroke:#fff;stroke-width:2px}.target-marker text{fill:#fff;letter-spacing:.14em;font:500 12px SFMono-Regular,Consolas,ui-monospace,monospace}.map-prompt{color:#91a7a9;width:min(330px,48%);font-size:.82rem;line-height:1.55;position:absolute;bottom:7%;left:3%}.map-prompt p{margin:9px 0 0}.prompt-line{background:linear-gradient(90deg, var(--cyan), transparent);width:70px;height:1px;display:block}.map-legend{color:#667f82;text-transform:uppercase;letter-spacing:.08em;gap:22px;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace;display:flex}.map-legend span{align-items:center;gap:7px;display:inline-flex}.map-legend i{background:var(--cyan);width:14px;height:2px}.map-legend .legend-signal{border-radius:50%;width:7px;height:7px}.map-legend .legend-alert{background:var(--red)}.route-panel{background:#060f13c2;grid-template-rows:auto auto minmax(0,1fr);min-height:0;display:grid}.route-summary{border-bottom:1px solid var(--line);padding:27px 24px 21px}.summary-topline{align-items:center}.target-ip{color:#98b0b2;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace}.route-summary h2{color:#f1fafa;letter-spacing:-.045em;margin:13px 0 7px;font-size:clamp(1.35rem,2vw,2rem);line-height:1.15}.route-summary>p{color:#82999c;min-height:40px;margin:0;font-size:.88rem;line-height:1.55}.metrics{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:20px;display:grid}.metrics div{background:#0b191e;padding:10px 11px}.metrics span,.metrics strong{display:block}.metrics span{color:#698286;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace}.metrics strong{color:#cce2e2;white-space:nowrap;font:500 .78rem SFMono-Regular,Consolas,ui-monospace,monospace}.validation-progress{color:#8ba3a5;align-items:center;gap:9px;margin-top:13px;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace;display:flex}.validation-progress i{background:#173138;width:58px;height:2px;position:relative;overflow:hidden}.validation-progress i:after{content:"";background:var(--cyan);width:45%;animation:1.4s ease-in-out infinite progress;position:absolute;inset:0}.error-banner{border-left:2px solid var(--red);color:#ffb0b0;background:#ff696914;margin-top:13px;padding:10px 12px;font-size:.76rem}.route-columns{border-bottom:1px solid var(--line);color:#5d777a;text-transform:uppercase;letter-spacing:.05em;grid-template-columns:minmax(0,1fr) 76px 58px;gap:12px;padding:10px 24px;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace;display:grid}.route-columns span:nth-child(n+2){text-align:right}.hop-list{scrollbar-color:#18363b transparent;min-height:0;overflow-y:auto}.hop-row{border-bottom:1px solid #789da11a;outline:none;grid-template-columns:42px minmax(0,1fr) 76px 58px;align-items:center;gap:12px;min-height:66px;padding:10px 24px 10px 16px;transition:background .15s,border-color .15s;display:grid}.hop-row:hover,.hop-row:focus,.hop-row.is-active{border-bottom-color:var(--line-strong);background:#29706c1f}.hop-row.is-persistent-loss{box-shadow:inset 2px 0 var(--red)}.hop-row.is-latency-step{box-shadow:inset 2px 0 var(--amber)}.hop-number{color:#637d80;justify-content:center;align-self:stretch;padding-top:12px;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace;display:flex;position:relative}.hop-number i{background:#214045;width:1px;position:absolute;top:30px;bottom:-23px}.hop-row:last-child .hop-number i{display:none}.hop-identity{min-width:0}.hop-identity strong,.hop-identity span,.hop-latency strong,.hop-latency span,.hop-loss strong,.hop-loss span{display:block}.hop-identity strong{color:#c9dddd;text-overflow:ellipsis;white-space:nowrap;font:500 .8rem SFMono-Regular,Consolas,ui-monospace,monospace;overflow:hidden}.hop-identity span,.hop-latency span,.hop-loss span{color:#617b7e;margin-top:5px;font-size:.75rem}.hop-latency,.hop-loss{text-align:right}.hop-latency strong,.hop-loss strong{color:#c3dddd;white-space:nowrap;font:.75rem SFMono-Regular,Consolas,ui-monospace,monospace}.hop-row.is-persistent-loss .hop-loss strong,.hop-row.is-persistent-loss .hop-loss span{color:#f99}.empty-route{text-align:center;color:#607a7d;place-content:center;gap:24px;min-height:280px;padding:36px;font-size:.78rem;line-height:1.65;display:grid}.empty-route-line{justify-content:center;align-items:center;display:flex}.empty-route-line i{border:1px solid #2b6665;border-radius:50%;width:9px;height:9px}.empty-route-line i:not(:last-child):after{content:"";background:linear-gradient(90deg,#2b6665,#163336);width:34px;height:1px;margin:3px 0 0 8px;display:block}.skeleton i,.skeleton div,.skeleton span{background:linear-gradient(90deg,#102329 25%,#173139 50%,#102329 75%) 0 0/200% 100%;border-radius:3px;height:10px;animation:1.6s infinite shimmer;display:block}.skeleton i{width:24px}.skeleton div{width:80%}.skeleton span{justify-self:end;width:48px}.turnstile-host{z-index:10;position:fixed;bottom:12px;right:12px}@keyframes signal{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(2.2)}}@keyframes route-flow{to{stroke-dashoffset:-26px}}@keyframes blink{50%{opacity:.35}}@keyframes progress{0%{transform:translate(-120%)}60%,to{transform:translate(230%)}}@keyframes shimmer{to{background-position:-200% 0}}@media (width<=900px){.app-shell{display:block}.site-header{height:58px}.workspace{display:block}.map-shell{border-right:0;border-bottom:1px solid var(--line);height:min(68vh,620px)}.route-panel{min-height:650px}.hop-list{overflow:visible}.site-footer{flex-wrap:wrap;min-height:58px;padding-block:12px}}@media (width<=560px){.site-header,.site-footer{padding-inline:14px}.header-note>span{display:none}.map-shell{height:510px;padding:20px 12px 12px}.map-heading{padding-inline:4px}.map-stage{min-height:320px;overflow:hidden}.map-stage svg{width:150%;max-width:none}.origin-marker text{font-size:17px}.map-prompt{width:64%;font-size:.74rem;bottom:5%;left:5%}.map-legend{gap:12px;font-size:.7rem}.route-summary{padding:23px 16px 18px}.metrics div{padding:9px 7px}.metrics strong{font-size:.68rem}.route-columns{grid-template-columns:minmax(0,1fr) 62px 46px;padding-inline:16px}.hop-row{grid-template-columns:33px minmax(0,1fr) 62px 46px;gap:7px;padding:10px 12px 10px 6px}.hop-identity strong{font-size:.75rem}.hop-identity span{font-size:.7rem}.hop-latency strong,.hop-loss strong{font-size:.72rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation:none!important}}
