/* =========================================================
   页脚：访客 IP（IPv4 + IPv6）与游客访问量
   数据与逻辑见 js/ipinfo.js、js/visits.js
   ========================================================= */

/* ---------- IP 行（在「本站已运行」上一行） ---------- */
.site-footer-ip {
    display: flex;
    gap: 7px;
    align-items: baseline;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 8px;
    color: rgba(255, 255, 255, .8);
    font-size: 12px;
    line-height: 1.6;
    text-shadow: 0 1px 4px rgba(0, 0, 0, .5);
    /* 复制功能已彻底去掉：这里不再放行点击，点这一行没有任何反应
       （页脚是 fixed 且撑满宽度、压在左下角，之前就是它把桌宠把手挡住了）；
       顺手关掉文字选中，免得手机长按弹出「复制」又把 IP 带走 */
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    opacity: 0;
    transition: opacity .3s ease, color .2s ease;
}

.site-footer-ip.is-ready {
    opacity: 1;
}

.site-footer-ip:hover {
    color: #fff;
}

.site-footer-ip[hidden] {
    display: none !important;
}

/* 小圆点：国内绿、海外蓝 */
.site-footer-ip .ip-dot {
    flex: none;
    width: 5px;
    height: 5px;
    margin-bottom: 1px;
    border-radius: 50%;
    background: #8fe6b4;
    box-shadow: 0 0 7px rgba(143, 230, 180, .7);
}

.site-footer-ip.abroad .ip-dot {
    background: #8ab4f8;
    box-shadow: 0 0 7px rgba(138, 180, 248, .7);
}

.site-footer-ip .ip-pair {
    display: inline-flex;
    gap: 4px;
    align-items: baseline;
    font-variant-numeric: tabular-nums;
}

.site-footer-ip .ip-pair[hidden] {
    display: none !important;
}

.site-footer-ip .ip-label {
    padding: 0 5px;
    color: rgba(255, 255, 255, .55);
    font-size: 10.5px;
    letter-spacing: .3px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 999px;
}

.site-footer-ip #ip-v4,
.site-footer-ip #ip-v6 {
    color: #fff;
}


.site-footer-ip .ip-tag {
    padding: 0 8px;
    font-size: 11px;
    border-radius: 999px;
    /* 标签里是「国家 城市」，整体不折行 */
    white-space: nowrap;
}

.site-footer-ip .ip-tag.is-cn {
    color: #a6f0c6;
    background: rgba(90, 220, 150, .16);
}

.site-footer-ip .ip-tag.is-abroad {
    color: #a9c8ff;
    background: rgba(110, 160, 255, .16);
}

.site-footer-ip #ip-loc {
    color: rgba(255, 255, 255, .58);
}

/* 空的时候不占位，否则 flex gap 会在行尾多出一段空隙 */
.site-footer-ip #ip-loc:empty {
    display: none;
}

/* ---------- 游客访问量（IP 下一行） ---------- */
.site-footer-visits {
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: .3px;
    opacity: 0;
    transition: opacity .3s ease;
}

.site-footer-visits.is-ready {
    opacity: 1;
}

.site-footer-visits[hidden] {
    display: none !important;
}

.site-footer-visits #visit-count {
    color: #fff;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
    .site-footer-ip {
        gap: 5px;
        font-size: 11px;
    }

    .site-footer-ip .ip-label {
        font-size: 10px;
    }

    .site-footer-ip .ip-tag {
        font-size: 11px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-footer-ip,
    .site-footer-visits {
        transition: none;
    }
}
