.main-footer {
    margin-top: 20px;
    background: rgba(248, 248, 248, 0.5);
    padding: 20px 0;
    color: #999;
    border-top: 1px solid #eee;
    font-size: 12px;
}

.footer-content {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.footer-brand-text {
    font-weight: 700;
    color: #4C7D71;
    font-size: 13px;
}

.copyright {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.copyright a {
    color: #999;
    transition: color 0.2s;
}

.copyright .icp-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.copyright .icp-link img {
    width: 14px;
    height: 14px;
    object-fit: contain;
    display: inline-block;
}

.copyright a:hover {
    color: #4C7D71;
    text-decoration: none;
}

.divider {
    color: #eee;
    margin: 0 2px;
    font-size: 10px;
}

.fk-global-pull-refresh-indicator {
    display: none;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 768px) {
    .main-footer {
        padding: 15px 0 70px;
    }

    .copyright {
        flex-direction: column;
        gap: 2px;
    }

    .divider {
        display: none;
    }

    html,
    body {
        overscroll-behavior-y: none;
    }

    .fk-global-pull-refresh-indicator {
        position: fixed;
        top: calc(env(safe-area-inset-top, 0px) + 8px);
        left: 50%;
        width: 42px;
        height: 42px;
        padding: 0;
        box-sizing: border-box;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.96);
        color: var(--theme-primary, #2196F3);
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
        border: 1px solid rgba(226, 232, 240, 0.96);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 1005;
        opacity: 0;
        pointer-events: none;
        transform: translate3d(-50%, -22px, 0) scale(0.8);
        transition: opacity 0.18s ease, transform 0.18s cubic-bezier(.22, .61, .36, 1);
        will-change: transform, opacity;
    }

    .fk-global-pull-refresh-indicator i {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        font-size: 20px;
        line-height: 1;
        font-style: normal;
    }

    .fk-global-pull-refresh-indicator i::before {
        display: block;
        line-height: 1;
        transition: transform 0.2s ease;
        transform-origin: center center;
        will-change: transform;
    }

    .fk-global-pull-refresh-indicator.is-visible {
        opacity: 1;
    }

    .fk-global-pull-refresh-indicator.is-ready i::before {
        transform: rotate(180deg);
    }

    .fk-global-pull-refresh-indicator.is-refreshing {
        opacity: 1;
    }

    .fk-global-pull-refresh-indicator.is-refreshing i::before {
        animation: fkGlobalPullRefreshSpin 0.75s linear infinite;
    }
}

@keyframes fkGlobalPullRefreshSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
