.custom-modal {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    z-index: 1000;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, .1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 8rem;
    font-size: .4rem;

    background-image: url("../img/底框.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

.modal-content button {
    border-radius: 10rem;
    background-image: linear-gradient(180deg, #fbbb9f, #fd3251);
}

.modal-content button, .modal-content img, .modal-content textarea {
    margin: 10px 0;
    text-align: center
}

.modal-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: none;
}

.modal-content textarea {
    resize: none
}

.modal-content p {
    text-align: center
}

.modal-content img {
    border-radius: 20px;
    width: 6rem;
    height: 6rem;
    object-fit: contain;
}
/* 官方域名查询弹窗 */
.official-domain-modal {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .32);
    padding: .25rem;
    box-sizing: border-box;
}

.official-domain-card {
    width: 8.3rem;
    max-width: calc(100vw - .5rem);
    min-height: 6.2rem;
    background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
    border-radius: .24rem;
    padding: .38rem .38rem .32rem;
    box-sizing: border-box;
    position: relative;
    box-shadow:
        0 .08rem .28rem rgba(0, 0, 0, .30),
        inset 0 0 .02rem rgba(255, 255, 255, .9);
    text-align: center;
    border: .03rem solid rgba(0, 140, 255, .18);
}

.official-domain-close {
    position: absolute;
    right: -0.05rem;
    top: -0.1rem;
    width: 0.58rem;
    height: 0.58rem;
    border: none !important;
    background: transparent !important;
    color: #ff4f77;
    font-size: 0.62rem;
    line-height: 0.58rem;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    z-index: 10;
    box-shadow: none !important;
    outline: none !important;
}

.official-domain-close:hover,
.official-domain-close:focus,
.official-domain-close:active {
    background: transparent !important;
    color: #ff4f77 !important;
    border: none !important;
    box-shadow: none !important;
}

.official-domain-title {
    color: #078cff;
    font-size: .42rem;
    line-height: .56rem;
    font-weight: 700;
    padding: .28rem .36rem .32rem;
}

.official-domain-input {
    width: 100%;
    height: .88rem;
    border: .035rem solid #00bcd4;
    border-radius: .12rem;
    padding: 0 .24rem;
    box-sizing: border-box;
    font-size: .32rem;
    outline: none;
    color: #222;
    background: #fff;
}

.official-domain-input:focus {
    border-color: #008cff;
    box-shadow: 0 0 .12rem rgba(0, 140, 255, .28);
}

.official-domain-actions {
    display: flex;
    gap: .22rem;
    margin-top: .18rem;
}

.official-domain-btn {
    flex: 1;
    height: .78rem;
    border: none;
    border-radius: .12rem;
    color: #fff;
    font-size: .3rem;
    cursor: pointer;
    box-shadow: 0 .04rem .08rem rgba(0, 0, 0, .18);
}

.official-domain-btn.paste {
    background: linear-gradient(180deg, #19c9d9 0%, #0bb0c0 100%);
}

.official-domain-btn.check {
    background: linear-gradient(180deg, #58c55e 0%, #3fac45 100%);
}

.official-domain-result {
    min-height: 1.45rem;
    margin-top: .28rem;
    padding: .22rem;
    font-size: .32rem;
    line-height: .48rem;
    border-radius: .16rem;
    color: #333;
    box-sizing: border-box;
}

.official-domain-result.success {
    background: rgba(40, 180, 90, .12);
    color: #21a447;
    border: .02rem solid rgba(40, 180, 90, .22);
}

.official-domain-result.danger {
    background: rgba(255, 80, 90, .12);
    color: #e33b4f;
    border: .02rem solid rgba(255, 80, 90, .22);
}

.official-domain-footer {
    margin-top: .15rem;
    display: flex;
    justify-content: center;
    gap: .15rem;
}

.official-domain-access,
.official-domain-cancel {
    border: none;
    border-radius: .12rem;
    height: .72rem;
    padding: 0 .34rem;
    font-size: .3rem;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 .04rem .08rem rgba(0, 0, 0, .16);
}

.official-domain-access {
    background: linear-gradient(180deg, #168dff 0%, #0478ec 100%);
}

.official-domain-cancel {
    background: linear-gradient(180deg, #cfcfcf 0%, #aaa 100%);
}

/* 首页 LOGO 高级轻动效：保留原来的居中位置，只上下浮动和偶尔旋转 */
.meo-picture {
    transform-origin: center center;
    will-change: transform, filter;
    animation: jogoLogoLuxury 12s ease-in-out infinite;
    filter:
        drop-shadow(0 0.10rem 0.16rem rgba(0, 0, 0, 0.36))
        drop-shadow(0 0 0.12rem rgba(255, 220, 95, 0.25));
}

@keyframes jogoLogoLuxury {
    0% {
        transform: translateX(-50%) translateY(0) rotate(0deg) scale(1);
        filter:
            drop-shadow(0 0.10rem 0.16rem rgba(0, 0, 0, 0.36))
            drop-shadow(0 0 0.10rem rgba(255, 220, 95, 0.18));
    }

    20% {
        transform: translateX(-50%) translateY(-0.045rem) rotate(0deg) scale(1.01);
        filter:
            drop-shadow(0 0.12rem 0.18rem rgba(0, 0, 0, 0.40))
            drop-shadow(0 0 0.14rem rgba(255, 220, 95, 0.26));
    }

    40% {
        transform: translateX(-50%) translateY(0) rotate(0deg) scale(1);
    }

    58% {
        transform: translateX(-50%) translateY(-0.035rem) rotate(0deg) scale(1.008);
    }

    66% {
        transform: translateX(-50%) translateY(-0.035rem) rotate(0deg) scale(1.015);
        filter:
            drop-shadow(0 0.13rem 0.20rem rgba(0, 0, 0, 0.44))
            drop-shadow(0 0 0.18rem rgba(255, 225, 120, 0.38));
    }

    73% {
        transform: translateX(-50%) translateY(-0.035rem) rotate(360deg) scale(1.025);
        filter:
            drop-shadow(0 0.14rem 0.22rem rgba(0, 0, 0, 0.48))
            drop-shadow(0 0 0.22rem rgba(255, 225, 120, 0.45));
    }

    82% {
        transform: translateX(-50%) translateY(0) rotate(360deg) scale(1);
    }

    100% {
        transform: translateX(-50%) translateY(0) rotate(360deg) scale(1);
        filter:
            drop-shadow(0 0.10rem 0.16rem rgba(0, 0, 0, 0.36))
            drop-shadow(0 0 0.10rem rgba(255, 220, 95, 0.18));
    }
}