:root{--ink:#202a40;--muted:#727e94;--blue:#5264e9;--blue-soft:#eef0ff;--line:#e4e8f1;--paper:#fff;--canvas:#f6f8fc;--green:#31866a;--radius:20px;font-family:"Microsoft YaHei UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--canvas)}a{color:var(--blue);text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #9ca8ff;outline-offset:4px}input:focus{outline:3px solid #d7dcff;border-color:var(--blue)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h2{font-size:23px;letter-spacing:-.6px}h3{font-size:16px;line-height:1.7}p{line-height:1.8}svg{display:block}.skip{position:absolute;top:-100px;background:white;padding:14px;z-index:30}.skip:focus{top:0}
.header{height:78px;background:#ffffffed;border-bottom:1px solid var(--line)}.header-inner{max-width:1200px;margin:auto;height:100%;padding:0 24px;display:flex;align-items:center;gap:42px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:20px;font-weight:700;color:var(--ink)}.brand b{font-size:17px;color:var(--blue);margin-left:2px}.brand-symbol{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--blue);color:#fff;font-size:18px;box-shadow:0 4px 12px #5264e92b}nav{display:flex;height:100%;align-items:center;gap:6px}.nav-item{border:0;background:none;position:relative;padding:14px 18px;font-weight:600;border-radius:10px;white-space:nowrap}.nav-item:hover,.nav-item.active{background:var(--blue-soft);color:var(--blue)}.nav-item.active:after{content:"";position:absolute;bottom:7px;left:calc(50% - 10px);width:20px;height:2px;background:var(--blue)}.header-links{margin-left:auto;display:flex;align-items:center;gap:25px;white-space:nowrap}.header-links a,.header-links button{color:#536079;font-weight:600;background:none;border:0;padding:6px 0}
.hero{text-align:center;padding:48px 24px 34px;background:radial-gradient(ellipse at 20% 0,#e6e8ff 0,transparent 60%),radial-gradient(ellipse at 95% 20%,#e4f2f5 0,transparent 55%)}.hero-heading{display:flex;align-items:center;justify-content:center;gap:18px}.hero h1{font-size:38px;line-height:1.4;letter-spacing:-1.8px}.search-symbol{width:27px;height:27px;border:3px solid var(--blue);border-radius:50%;position:relative;margin-right:4px}.search-symbol:after{content:"";position:absolute;width:14px;height:3px;background:var(--blue);transform:rotate(47deg);right:-11px;bottom:-6px;border-radius:2px}.hero-description{color:#637089;margin-top:10px;font-size:15px}.query-box{max-width:806px;margin:27px auto 0;padding:24px 26px 18px;background:#ffffffed;border:1px solid #fff;border-radius:var(--radius);box-shadow:0 12px 35px #202a4009;text-align:left}.query-label{display:block;font-size:12px;font-weight:600;color:#68748b;margin-bottom:10px}.input-row{display:flex;gap:12px}#ip-input{min-width:0;flex:1;border:1px solid #d3daea;border-radius:10px;padding:16px;font-family:Consolas,"Cascadia Mono",monospace;font-size:17px;box-shadow:inset 0 1px 2px #1d2b4003}#ip-input::placeholder{font-family:"Microsoft YaHei",sans-serif;font-size:14px;color:#97a0b1}.primary{background:var(--blue);color:white;border:0;border-radius:10px;font-weight:600;padding:15px 22px;display:flex;align-items:center;justify-content:center;gap:20px;box-shadow:0 4px 10px #5264e922;white-space:nowrap}.primary:hover{background:#4354d5}.form-meta{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:12px;color:var(--muted)}.example,.text-button{border:0;background:none;color:var(--blue);padding:3px 5px}.example{font-family:Consolas,monospace}.form-message{min-height:0;color:#b3454b;font-size:13px}.form-message:not(:empty){margin-top:12px}.source-hint{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:var(--muted);margin-top:16px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#aab3c5}.status-dot.ready{background:var(--green)}#access-row{display:flex;gap:12px;align-items:center;margin-top:15px;font-size:12px;color:var(--muted)}#access-key{padding:8px 12px;border:1px solid var(--line);border-radius:6px;min-width:0}
.workspace{max-width:1200px;margin:0 auto;padding:0 24px 24px}.recent{display:flex;gap:12px;align-items:center;padding:10px 0 22px;font-size:12px;color:var(--muted)}#history-list{display:flex;flex-wrap:wrap;gap:7px;flex:1}.history-ip{border:1px solid var(--line);background:white;color:#5d6982;border-radius:6px;font:12px Consolas,monospace;padding:5px 9px}.results-section,.map-section{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:24px;box-shadow:0 5px 20px #23304404}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.section-kicker{font-size:12px;color:#78849a;margin-bottom:3px}.result-actions{display:flex;align-items:center;gap:14px}.muted{color:var(--muted)}.small{font-size:12px}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid #dbe0ed;border-radius:9px;background:white;color:var(--blue);font-size:12px;padding:10px 14px;white-space:nowrap}.secondary:hover{background:var(--blue-soft)}#query-meta{font-size:12px}.result-summary{margin-bottom:20px;padding:15px 18px;border-radius:10px;background:#f5f6fd;color:#536079;font-size:13px;line-height:1.7}.result-summary strong{font-size:20px;font-family:Consolas,monospace;color:var(--ink);margin-right:15px;word-break:break-all}.source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.source-card{border:1px solid var(--line);border-radius:13px;padding:17px 18px;background:#fafbfe;min-width:0;display:flex;flex-direction:column;gap:10px}.source-card.is-success{background:#fff}.source-card.precise{border-color:#bdc6fb;background:#fbfbff}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;font-weight:600}.source-name{font-size:13px}.badge{display:inline-block;border:1px solid var(--line);color:#7c879a;border-radius:6px;padding:3px 7px;font-size:10px;font-weight:400;white-space:nowrap;line-height:1.5}.badge.good{background:#eff8f4;color:var(--green);border-color:#deeee7}.badge.blue{color:var(--blue);background:var(--blue-soft);border-color:#dce1ff}.source-address{line-height:1.8;font-size:14px;font-weight:600;overflow-wrap:anywhere}.source-message{color:var(--muted);font-size:12px;line-height:1.8}.source-card .card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #e9ecf4;padding-top:10px;margin-top:auto;font-size:11px;color:#8b95a7}.area-button{display:block;width:100%;background:none;border:0;text-align:left;color:var(--blue);padding:4px 0;font-size:12px}.area-button:hover{text-decoration:underline}.card-details{border-top:1px solid var(--line);padding-top:8px;font-size:12px;color:#65728b}.card-details summary{cursor:pointer}dl{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;font-size:12px;margin:12px 0;line-height:1.8}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}.source-card.is-loading{opacity:.55}
.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;border:1px solid var(--line);border-radius:13px;overflow:hidden}.map-surface{min-height:305px;position:relative;background-color:#f8faff;background-image:linear-gradient(#dfe5f04f 1px,transparent 1px),linear-gradient(90deg,#dfe5f04f 1px,transparent 1px);background-size:36px 36px}.map-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;text-align:center;gap:10px}.map-empty h3{font-size:15px;color:#5e6b84}.map-empty p{font-size:12px;max-width:330px;color:#8993a6}.location-symbol{width:30px;height:38px;border:2px solid #a4afdb;border-radius:50% 50% 45% 45%;margin-bottom:3px;position:relative}.location-symbol:after{content:"";position:absolute;left:8px;top:9px;width:10px;height:10px;border:2px solid #a4afdb;border-radius:50%}#map-canvas{height:100%;min-height:305px;background:#eef1f6}.map-details{padding:25px;border-left:1px solid var(--line);background:#fcfdff}.map-details h3{margin:7px 0 12px}.map-details p{color:#76829a;font-size:12px}.detail-label{font-size:11px;color:var(--blue);font-weight:600}.legend{display:flex;align-items:center;gap:7px;font-size:11px;color:#7b879d;flex-wrap:wrap;margin:24px 0 15px}.legend-point{width:7px;height:7px;border-radius:50%;background:var(--blue)}.legend-circle{width:14px;height:14px;border:1px solid #8f9fe6;border-radius:50%;background:#e7ecff;margin-left:3px}.map-details .secondary{width:100%;margin-top:12px}.notice-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:7px 6px 18px}.notice-strip strong{font-size:14px}.notice-strip p{font-size:12px;color:var(--muted);margin-top:5px}footer{border-top:1px solid var(--line);max-width:1152px;margin:0 auto;padding:23px 0 32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:11px;color:#8a94a7}footer a{color:#6d7b98}
dialog{border:1px solid var(--line);border-radius:18px;max-width:610px;width:calc(100% - 32px);max-height:85vh;padding:28px;color:var(--ink);box-shadow:0 30px 100px #1a25542b}dialog::backdrop{background:#202a4055}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading button{border:0;background:#f1f3f8;border-radius:50%;width:30px;height:30px;font-size:22px;color:#7b8495}.help-copy h3{margin-top:22px;font-size:14px}.help-copy p{margin-top:5px;font-size:13px;color:#6b7890}.services-main{max-width:1050px;margin:44px auto;padding:0 24px}.services-main h1{font-size:30px;margin-bottom:14px}.services-main .intro{color:#69778f;max-width:790px}.service-block{border-top:1px solid var(--line);padding:26px 0}.service-block h2{font-size:19px;margin-bottom:13px}.service-block p,.service-block li{font-size:13px;color:#66738b;line-height:1.9}.service-block code{font:12px Consolas,monospace;background:#edf0f8;padding:3px 5px;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;margin:25px 0}table{width:100%;border-collapse:collapse;font-size:12px;background:white}td,th{padding:15px 12px;text-align:left;border:1px solid var(--line);line-height:1.8;vertical-align:top}th{color:#606d85;background:#eef1f9;font-weight:600}.services-main .back{display:inline-block;margin-bottom:24px}.services-main ol{padding-left:20px}.services-main .footnote{font-size:12px;color:var(--muted);padding-bottom:40px}
@media(min-width:1440px){.hero{padding-top:56px;padding-bottom:40px}.query-box{margin-top:32px}.source-card{min-height:155px}.map-surface,#map-canvas{min-height:325px}}
@media(max-width:950px){.header-inner{gap:22px}.nav-item{padding:14px 11px}.header-links{gap:16px}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-layout{grid-template-columns:minmax(0,1fr) 250px}footer{padding:23px 24px}.header-inner{padding:0 20px}}
@media(max-width:650px){.header{height:auto}.header-inner{padding:14px 18px 0;flex-wrap:wrap;gap:12px}.brand{font-size:18px}.brand-symbol{width:30px;height:30px}.header-links{order:1;font-size:12px}nav{order:2;width:100%;justify-content:space-around;gap:0}.nav-item{flex:1;font-size:12px;padding:13px 8px;border-radius:8px 8px 0 0}.hero{padding:30px 16px 26px}.hero h1{font-size:29px;letter-spacing:-1px}.hero-heading{gap:15px}.search-symbol{width:22px;height:22px}.hero-description{font-size:12px}.query-box{padding:18px;margin-top:22px;border-radius:15px}.input-row{flex-direction:column;gap:10px}#ip-input{width:100%;font-size:16px;padding:14px}.primary{padding:13px 20px}.form-meta{font-size:11px}.source-hint{font-size:11px;line-height:1.6}.workspace{padding:0 14px 16px}.results-section,.map-section{padding:18px 15px;border-radius:15px;margin-bottom:18px}.section-heading{align-items:flex-start;margin-bottom:17px}h2{font-size:19px}.section-kicker{font-size:11px}.result-actions{gap:8px;flex-direction:column;align-items:flex-end}#query-meta{font-size:10px}.secondary{padding:8px 10px;font-size:11px}.source-grid{gap:10px;grid-template-columns:minmax(0,1fr)}.source-card{padding:15px;min-height:120px}.result-summary strong{display:block;font-size:19px;margin:0 0 4px}.map-layout{grid-template-columns:1fr}.map-details{border-left:0;border-top:1px solid var(--line);padding:18px}.map-details h3{font-size:14px}.map-details dl{grid-template-columns:90px 1fr}.legend{margin:14px 0}.map-surface,#map-canvas{min-height:250px}.notice-strip{flex-direction:column;align-items:flex-start;padding:10px 5px}.notice-strip .secondary{margin-top:0}.recent{align-items:flex-start;gap:6px;font-size:10px}.recent>span{padding-top:6px;white-space:nowrap}.history-ip{font-size:11px}.recent>.text-button{font-size:10px}footer{padding:18px 20px;justify-content:flex-start;gap:8px;font-size:10px}footer>span:nth-child(2){width:100%}.services-main{margin-top:26px;padding:0 18px}.services-main h1{font-size:26px}td,th{min-width:120px}dialog{padding:23px}}
@media(prefers-reduced-motion:no-preference){.primary,.secondary{transition:background .15s}.is-loading .badge{animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.35}}}
