:root{--bg:#f2f5fb;--header-bg:rgba(242,245,251,0.86);--surface:#ffffff;--surface-2:#f7f9fd;--text:#101828;--muted:#5f6b7e;--border:#e2e8f2;--primary:#2f5cff;--primary-strong:#2347d0;--on-primary:#ffffff;--primary-soft:rgba(47,92,255,0.10);--green:#0e9f6e;--purple:#7c3aed;--purple-soft:rgba(124,58,237,0.12);--amber:#b45309;--amber-soft:rgba(217,119,6,0.12);--shadow:0 12px 34px rgba(16,24,40,0.10);--shadow-sm:0 4px 16px rgba(16,24,40,0.06);--radius:16px;color-scheme:light}[data-theme="dark"]{--bg:#0a0f1e;--header-bg:rgba(10,15,30,0.82);--surface:#111832;--surface-2:#0e1428;--text:#e7ecf7;--muted:#94a1b8;--border:#232e4d;--primary:#7d95ff;--primary-strong:#9aabff;--on-primary:#0a0f1e;--primary-soft:rgba(125,149,255,0.16);--green:#34d399;--purple:#a78bfa;--purple-soft:rgba(167,139,250,0.16);--amber:#fbbf24;--amber-soft:rgba(251,191,36,0.14);--shadow:0 12px 34px rgba(0,0,0,0.45);--shadow-sm:0 4px 16px rgba(0,0,0,0.30);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.container{max-width:1060px;margin:0 auto;padding-left:20px;padding-right:20px}code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.88em;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:1px 6px}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;letter-spacing:-0.01em;color:var(--text);text-decoration:none}.brand-icon{display:inline-flex;color:var(--primary)}.brand-accent{color:var(--primary)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:color 0.15s ease,border-color 0.15s ease}.icon-btn:hover{color:var(--primary);border-color:var(--primary)}[data-theme="light"] .icon-moon{display:none}[data-theme="dark"] .icon-sun{display:none}.hero{text-align:center;padding-top:56px;padding-bottom:8px}.eyebrow{display:inline-block;font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:5px 14px;margin:0 0 14px}.hero h1{margin:0 0 10px;font-size:clamp(1.9rem,4.5vw,2.8rem);line-height:1.15;letter-spacing:-0.02em}.subtitle{max-width:640px;margin:0 auto;color:var(--muted);font-size:1.02rem}.ip-hero-card{position:relative;max-width:680px;margin:32px auto 0;padding:30px 28px 26px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.ip-hero-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--purple))}.ip-hero-top{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-size:0.92rem}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--green);animation:pulse 2s ease-out infinite;flex:none}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(14,159,110,0.45)}70%{box-shadow:0 0 0 10px rgba(14,159,110,0)}100%{box-shadow:0 0 0 0 rgba(14,159,110,0)}}.ip-type-badge{background:var(--primary-soft);color:var(--primary);font-weight:800;font-size:0.74rem;letter-spacing:0.04em;padding:2px 10px;border-radius:999px}.ip-hero-value{font-size:clamp(1.6rem,5vw,2.5rem);font-weight:800;letter-spacing:0.01em;margin:12px 0 4px;word-break:break-all;font-variant-numeric:tabular-nums}.ip-hero-meta{color:var(--muted);font-size:0.95rem;min-height:1.5em}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-weight:700;font-size:0.93rem;font-family:inherit;cursor:pointer;border:1px solid transparent;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease}.btn:disabled{opacity:0.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-strong)}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.btn.spin svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-box{margin-top:18px;padding:14px 16px;text-align:left;background:var(--amber-soft);border-radius:12px;font-size:0.9rem}.error-box strong{color:var(--amber)}.error-box p{margin:6px 0 0;color:var(--muted)}.version-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:680px;margin:16px auto 0}.version-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;text-align:left;box-shadow:var(--shadow-sm)}.version-card header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.version-chip{font-size:0.72rem;font-weight:800;letter-spacing:0.05em;padding:3px 10px;border-radius:999px}.chip-v4{background:var(--primary-soft);color:var(--primary)}.chip-v6{background:var(--purple-soft);color:var(--purple)}.version-state{font-size:0.78rem;color:var(--muted)}.version-state.ok{color:var(--green);font-weight:700}.version-state.miss{color:var(--amber);font-weight:600}.version-ip{font-size:1.12rem;font-weight:700;word-break:break-all;min-height:1.6em;font-variant-numeric:tabular-nums}.copy-mini{margin-top:8px;padding:0;border:none;background:none;font-family:inherit;font-size:0.78rem;font-weight:700;color:var(--primary);cursor:pointer}.copy-mini:hover{text-decoration:underline}.lookup-card{max-width:680px;margin:22px auto 0;padding:20px 22px;background:var(--surface);border:1px solid var(--border);border-radius:14px;text-align:left;box-shadow:var(--shadow-sm)}.lookup-card h2{display:flex;align-items:center;gap:10px;margin:0 0 4px;font-size:1.05rem;letter-spacing:-0.01em}.lookup-card h2 svg{color:var(--primary);flex:none}.lookup-card .muted{margin:0 0 14px;color:var(--muted);font-size:0.9rem}.lookup-form{display:flex;gap:10px}.lookup-input{flex:1;min-width:0;padding:11px 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:1rem;font-variant-numeric:tabular-nums;transition:border-color 0.15s ease,box-shadow 0.15s ease}.lookup-input::placeholder{color:var(--muted);opacity:0.75}.lookup-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.lookup-error{margin-top:10px;padding:10px 12px;background:var(--amber-soft);border-radius:10px;font-size:0.88rem}.lookup-examples{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:0.82rem;color:var(--muted)}.example-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:3px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.8rem;cursor:pointer;transition:border-color 0.15s ease,color 0.15s ease}.example-chip:hover{border-color:var(--primary);color:var(--primary)}.btn-small{padding:6px 14px;font-size:0.85rem;border-radius:10px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px;padding-top:44px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px 22px 14px;box-shadow:var(--shadow-sm)}.card h2{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:1.05rem;letter-spacing:-0.01em}.card h2 svg{color:var(--primary);flex:none}.rows{margin:0}.row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px dashed var(--border);font-size:0.95rem}.row:last-child{border-bottom:none}.row dt{color:var(--muted);flex:none}.row dd{margin:0;font-weight:600;text-align:right;word-break:break-word}.country-chip{display:inline-block;background:var(--primary-soft);color:var(--primary);font-weight:800;font-size:0.72rem;letter-spacing:0.05em;border-radius:6px;padding:2px 7px;margin-left:8px}.row dd.val-ok{color:var(--green)}.row dd.val-warn{color:var(--amber)}.card-note{margin:10px 0 6px;font-size:0.8rem;color:var(--muted)}.target-banner{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--primary-soft);border:1px solid var(--border);border-radius:12px;padding:12px 16px}.target-tag{display:block;font-size:0.78rem;font-weight:700;letter-spacing:0.03em;text-transform:uppercase;color:var(--muted)}.target-info strong{display:block;font-size:1.08rem;word-break:break-all;font-variant-numeric:tabular-nums}.map-section{padding-top:18px}.map-section .muted{color:var(--muted);font-size:0.9rem;margin:0 0 14px}.map-wrap{border-radius:12px;overflow:hidden;border:1px solid var(--border)}.map-wrap iframe{display:block;width:100%;height:380px;border:0}.faq-section{padding-top:52px;padding-bottom:26px}.section-title{text-align:center;font-size:1.5rem;letter-spacing:-0.01em;margin:0 0 20px}.faq-item{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2px 18px;margin-bottom:10px}.faq-item summary{position:relative;padding:13px 30px 13px 0;font-weight:700;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:800;color:var(--primary);transition:transform 0.2s ease}.faq-item[open] summary::after{content:"\2013"}.faq-item p{margin:0 0 14px;color:var(--muted);font-size:0.95rem}.site-footer{border-top:1px solid var(--border);margin-top:28px;padding:24px 0 34px}.footer-inner{text-align:center;color:var(--muted);font-size:0.85rem;max-width:640px}@media (max-width:620px){.version-grid{grid-template-columns:1fr}.ip-hero-card{padding:24px 18px 22px}.hero{padding-top:40px}.map-wrap iframe{height:300px}}@media (max-width:520px){.lookup-form{flex-direction:column}.lookup-form .btn{justify-content:center}.target-banner{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}.site-nav{display:flex;align-items:center;gap:22px}.site-nav a{font-size:0.9rem;font-weight:600;color:var(--muted);text-decoration:none;transition:color 0.15s ease}.site-nav a:hover,.site-nav a:focus-visible{color:var(--primary)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;margin-top:12px}.footer-nav a{color:var(--muted);text-decoration:none;transition:color 0.15s ease}.footer-nav a:hover,.footer-nav a:focus-visible{color:var(--primary)}@media (max-width:620px){.site-nav{display:none}}
/* ---- Social share bar ---- */
.share-bar{margin:26px auto 0;max-width:680px;display:flex;flex-direction:column;align-items:center;gap:10px}.share-label{font-size:0.82rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted)}.share-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.share-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:inherit;font-size:0.84rem;font-weight:600;text-decoration:none;cursor:pointer;transition:border-color 0.15s ease,color 0.15s ease,transform 0.15s ease}.share-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.share-btn svg{flex:none}
/* ---- On this page quick nav ---- */
.page-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:22px auto 0;max-width:760px;font-size:0.82rem}.page-links-label{font-weight:700;color:var(--muted)}.page-links a{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 13px;text-decoration:none;transition:border-color 0.15s ease,color 0.15s ease}.page-links a:hover{border-color:var(--primary);color:var(--primary)}
/* ---- Long-form guide sections ---- */
.content-section{padding-top:48px;max-width:820px}.content-section p{margin:0 0 14px;color:var(--muted);font-size:0.97rem}.content-section a{color:var(--primary);font-weight:600;text-decoration:none}.content-section a:hover{text-decoration:underline}.howto-list{margin:0 0 14px;padding-left:20px;color:var(--muted);font-size:0.97rem}.howto-list li{margin-bottom:10px}.howto-list li::marker{color:var(--primary);font-weight:800}
/* ---- IPv4 vs IPv6 comparison table ---- */
.table-wrap{overflow-x:auto;margin:4px 0 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.compare-table{width:100%;border-collapse:collapse;font-size:0.9rem;min-width:540px}.compare-table th,.compare-table td{padding:10px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.compare-table thead th{background:var(--surface-2);font-size:0.8rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted)}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:none}.compare-table tbody th{color:var(--text);font-weight:700;white-space:nowrap}.compare-table td{color:var(--muted)}
/* ---- Map attribution ---- */
.map-attribution{margin:8px 0 0;font-size:0.78rem;color:var(--muted)}.map-attribution a{color:inherit}
/* ---- Footer data sources ---- */
.footer-sources{margin-top:10px;font-size:0.8rem}.footer-sources a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:2px}.footer-sources a:hover{color:var(--primary)}
