.my-ip-main { padding: 28px 0 52px; }
.my-ip-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:32px; align-items:center; margin-bottom:28px; }
.my-ip-intro img { width:100%; height:auto; border-radius:18px; border:1px solid #244167; }
.my-ip-intro .my-ip-visual-hero { width:100%; max-width:none; margin:0; min-height:0; aspect-ratio:1728 / 910; }
.my-ip-visual-hero > img, .my-ip-visual-hero > .tool-hero-video { width:100%; height:100%; aspect-ratio:auto; object-fit:contain; }
.my-ip-intro h1 { font-size:clamp(30px,3.5vw,48px); line-height:1.12; margin:12px 0; }
.my-ip-intro p, .my-ip-note { color:#b5c4dd; line-height:1.7; }
.my-ip-panel { padding:clamp(20px,4vw,40px); border:1px solid #28446a; border-radius:22px; background:linear-gradient(130deg,#0b1932,#080d23); }
.my-ip-address { display:block; color:#66e4fa; font-size:clamp(25px,4.5vw,58px); font-weight:750; overflow-wrap:anywhere; margin:12px 0 20px; }
.my-ip-actions { display:flex; flex-wrap:wrap; gap:12px; }
.my-ip-actions button { border:1px solid #46679a; border-radius:10px; padding:12px 20px; background:#102b4a; color:#fff; font:inherit; cursor:pointer; }
.my-ip-actions button:disabled { opacity:.5; cursor:default; }
.my-ip-actions button:focus-visible { outline:3px solid #66e4fa; outline-offset:4px; }
.my-ip-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:24px 0; margin:0; }
.my-ip-facts dt { color:#9eb1d0; font-size:13px; margin-bottom:8px; }
.my-ip-facts dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.my-ip-map { overflow:hidden; border:1px solid #25496d; border-radius:14px; background:#050f24; }
.my-ip-map svg { display:block; width:100%; height:auto; }
.my-ip-land { fill:#143753; stroke:#3683a4; stroke-width:.7; }
.my-ip-grid { stroke:#152b49; stroke-width:1; }
.my-ip-halo { fill:#e654e1; fill-opacity:.16; stroke:#f583ed; stroke-width:1.5; }
.my-ip-dot { fill:#f583ed; stroke:white; stroke-width:2; }
.my-ip-note { font-size:13px; margin:16px 0 0; }
[data-ip-status] { min-height:1.5em; color:#b9cee7; }
@media(max-width:700px) { .my-ip-intro { grid-template-columns:1fr; gap:12px; } .my-ip-facts { grid-template-columns:1fr 1fr; } }
