:root{--bg:#fff;--fg:#000;--muted:#666;--line:#e5e5e5;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;font:15px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#000;--fg:#fff;--muted:#999;--line:#262626}}*,:before,:after{box-sizing:border-box}body,h1{margin:0}button,input{font:inherit;color:inherit}a{color:inherit}main{max-width:680px;margin:0 auto;padding:64px 20px 40px}.hero{text-align:center;margin-bottom:48px}.ip-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 12px;display:flex}.ip{min-width:0;max-width:100%;font:700 clamp(28px, 9vw, 56px) / 1.15 var(--mono);letter-spacing:-.03em;white-space:nowrap;flex-shrink:0}.ip-v6{white-space:nowrap;scrollbar-width:thin;font-size:clamp(20px,4.5vw,34px);overflow-x:auto}.ip-action{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:7px;display:inline-grid;position:relative}.ip-action svg{width:18px;height:18px}.ip-action:hover,.ip-action:focus-visible{color:var(--fg);background:color-mix(in srgb, var(--fg) 7%, transparent)}.ip-action:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skeleton{color:#0000;background:var(--line);border-radius:6px;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.5}}.isp{color:var(--muted);margin:10px 0 0;font-size:17px}.copy{border:1px solid var(--fg);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:5px 12px;font-size:13px;font-weight:600;display:inline-grid}.copy>span{grid-area:1/1}.copy>.hidden{visibility:hidden}.copy:hover{color:var(--bg);background:var(--fg)}.info{border-collapse:collapse;width:100%}.info th{letter-spacing:.08em;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--fg);padding:28px 0 8px;font-size:12px;font-weight:600}.info tbody:first-child th{padding-top:0}.info td{vertical-align:top;border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);padding:9px 0}.info td:first-child{width:40%;color:var(--muted);padding-right:16px}.info td:last-child{overflow-wrap:anywhere}.info td.section-footer{width:auto;color:inherit;padding:12px 0}.map iframe{border:1px solid var(--line);filter:grayscale();border-radius:6px;width:100%;height:260px;display:block}.map a{margin-top:8px;font-size:13px;display:inline-block}.copy-json{margin-top:24px;padding:10px 16px;font-size:14px}.mono{font:13px/1.6 var(--mono)}.lookup{text-align:left;max-width:400px;margin:24px auto 0}.lookup-field{border:1px solid var(--line);background:var(--bg);border-radius:6px;align-items:stretch;display:flex}.lookup-field:focus-within{border-color:var(--fg);outline:2px solid var(--fg);outline-offset:2px}.lookup-field:has([aria-invalid=true]){border-color:var(--fg)}.ip-input{width:100%;min-width:0;min-height:44px;font:16px/1.5 var(--mono);background:0 0;border:0;border-radius:5px 0 0 5px;outline:none;flex:1;padding:10px 12px}.ip-input::placeholder{color:var(--muted);opacity:1;font-size:13px}.lookup-submit{color:var(--bg);background:var(--fg);cursor:pointer;border:0;border-radius:0 5px 5px 0;flex:none;padding:0 16px;font-size:13px;font-weight:600}.lookup-submit:hover{background:color-mix(in srgb, var(--fg) 80%, var(--bg))}.lookup-submit:focus-visible{outline:2px solid var(--bg);outline-offset:-4px}.my-ip{margin-top:16px}.input-error{overflow-wrap:anywhere;margin:8px 0 0;font-size:13px}.copy:focus-visible{outline:2px solid var(--fg);outline-offset:2px}footer{color:var(--muted);margin-top:40px;font-size:12px}@media (width<=520px){main{padding-top:40px}.ip-line{flex-direction:column}.ip-v6{font-size:24px}}@media (width<=520px),(pointer:coarse){.copy{align-items:center;min-width:44px;min-height:44px}.ip-action{margin:6px}.ip-action:after{content:"";position:absolute;inset:-6px}}
