@charset "utf-8";

/* ==========================================================================
   base
   ========================================================================== */
* { margin: 0; padding: 0; }

body {
    font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", Arial, sans-serif;
    font-size: 14px;
    color: #333;
    background: #e9f4fc;
    -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; color: inherit; }
li { list-style: none; }
img { border: 0; display: block; }
h3 { font-weight: 400; }

.f-fl { float: left; }
.f-fr { float: right; }
.f-cb::after { content: ""; height: 0; display: block; clear: both; }

/* ==========================================================================
   花瓣飘落
   ========================================================================== */
.m-petal .parent {
    position: absolute;
    left: -20px;
    top: 0;
    right: 0;
    height: 700px;
    overflow: hidden;
    perspective: 1000px;
}

.m-petal .petal {
    margin: 1px;
    animation: fall1 10s linear infinite;
    position: absolute;
    top: 0;
    left: 0;
    background: #fe85c0;
    width: 10px;
    height: 10px;
    box-shadow: inset 3px 3px 5px -3px #fff;
    border-radius: 15px 5px 15px 0;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

.m-petal .petal::after {
    content: "";
    right: 0;
    bottom: 0;
    position: absolute;
    top: 0;
    left: 0;
    background: #fe85c0;
    border-radius: 15px 5px 15px 0;
    transform: rotateY(180deg);
    transform-style: preserve-3d;
    backface-visibility: hidden;
}

.m-petal .petal:nth-child(2) { animation-name: fall2; animation-delay: 1.25s; top: 10%; }
.m-petal .petal:nth-child(3) { animation-name: fall3; animation-delay: 4.65s; top: 25%; }
.m-petal .petal:nth-child(4) { animation-name: fall4; animation-delay: 1.15s; top: 30%; }
.m-petal .petal:nth-child(5) { animation-name: fall5; animation-delay: 1.35s; top: 50%; }
.m-petal .petal:nth-child(6) { animation-name: fall6; animation-delay: 3.25s; top: 75%; }
.m-petal .petal:nth-child(7) { animation-name: fall2; animation-delay: 2.25s; top: 10%; }
.m-petal .petal:nth-child(8) { animation-name: fall3; animation-delay: 3.65s; top: 25%; }
.m-petal .petal:nth-child(9) { animation-name: fall4; animation-delay: .15s; top: 30%; }
.m-petal .petal:nth-child(10) { animation-name: fall5; animation-delay: 1.25s; top: 50%; }
.m-petal .petal:nth-child(11) { animation-name: fall6; animation-delay: .25s; top: 75%; }
.m-petal .petal:nth-child(12) { animation-name: fall6; animation-delay: 1.75s; top: 85%; }

@keyframes fall1 { to { transform: translateY(400px) translateX(1960px) translateZ(200px) rotate3d(1, .25, 0, 320deg); } }
@keyframes fall2 { to { transform: translateY(450px) translateX(1960px) translateZ(500px) rotate3d(1, .25, .25, 220deg); } }
@keyframes fall3 { to { transform: translateY(350px) translateX(1960px) translateZ(300px) rotate3d(.25, 1, 1, 420deg); } }
@keyframes fall4 { to { transform: translateY(560px) translateX(1960px) translateZ(-500px) rotate3d(1, 1, .25, 720deg); } }
@keyframes fall5 { to { transform: translateY(500px) translateX(1960px) translateZ(400px) rotate3d(.25, 1, .25, 820deg); } }
@keyframes fall6 { to { transform: translateY(400px) translateX(1960px) translateZ(-100px) rotate3d(1, 1, 1, 720deg); } }

/* ==========================================================================
   桌面端整体
   ========================================================================== */
.g-wrap {
    width: 100%;
    min-width: 1200px;
    margin: 0 auto;
    font-size: 14px;
    overflow: hidden;
    background: #e9f4fc;
}

.age-tip {
    position: fixed;
    right: 6px;
    top: 50%;
    z-index: 100;
    transform: translateY(-50%);
    width: 100px;
}

.age-tip img { width: 100%; height: auto; }

/* ---------- 头部 ---------- */
.g-header {
    height: 1000px;
    position: relative;
    overflow: hidden;
    background: url(../img/hero.jpg) no-repeat top center;
    background-size: 1920px auto;
}

.header { position: relative; z-index: 10; }

/* ---------- 导航 ---------- */
.m-nav {
    height: 100px;
    background: rgba(255, 255, 255, .5);
    position: relative;
}

.m-nav .logo {
    width: 200px;
    height: 100px;
    margin-left: -110px;
    position: absolute;
    left: 50%;
    opacity: 0;
    transition: all .5s;
    transform: scale(1.5);
    z-index: 2;
}

.m-nav .logo img { width: 200px; height: 100px; }

.m-nav .logo.active { opacity: 1; transform: scale(1); }

.m-nav .nav {
    width: 1150px;
    margin: 0 auto;
    line-height: 100px;
}

.m-nav .nav a {
    display: inline-block;
    width: 68px;
    text-align: center;
    margin: 0 26.5px;
    color: #333;
    transition: all .3s;
    font-size: 16px;
}

.m-nav .nav a:hover { color: #3aaff5; }

/* ---------- 下载面板 ---------- */
.g-header-cnt {
    width: 1200px;
    margin: 0 auto;
    position: relative;
    padding-top: 550px;
}

.m-download {
    position: absolute;
    width: 692px;
    height: 155px;
    border-radius: 10px;
    top: 380px;
    left: 32%;
    background: url(../img/panel-bg.png) no-repeat;
    background-size: 100% 100%;
    transform: translateX(-50%);
    box-shadow: 0 14px 34px rgba(31, 122, 168, .22);
    z-index: 5;
}

/* 左侧二维码 */
.m-download .dl-qr {
    position: absolute;
    left: 8px;
    top: 14px;
    width: 126px;
    height: 126px;
    background: url(../img/panel-qr.png) no-repeat;
    background-size: 100% 100%;
}

/* 每个按钮一张独立图片，后台「图片管理」里可以逐个替换 */
.m-download .dl-btn {
    display: block;
    position: absolute;
    text-indent: -99999px;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transition: filter .2s, transform .2s;
}

.m-download .dl-btn:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.m-download .ios_download {
    width: 199px;
    height: 62px;
    top: 13px;
    left: 135px;
    background-image: url(../img/btn-ios.png);
}

.m-download .android_download {
    width: 199px;
    height: 62px;
    top: 80px;
    left: 135px;
    background-image: url(../img/btn-android.png);
}

.m-download .yunmobile {
    width: 200px;
    height: 62px;
    top: 13px;
    left: 337px;
    background-image: url(../img/btn-yun.png);
}

.m-download .forum {
    width: 200px;
    height: 62px;
    top: 80px;
    left: 337px;
    background-image: url(../img/btn-box.png);
}

.m-download .chongzhi {
    width: 140px;
    height: 129px;
    top: 13px;
    left: 542px;
    background-image: url(../img/btn-emu.png);
}

/* ---------- 资讯区 ---------- */
.g-header-cnt .g-news {
    position: relative;
    width: 1200px;
    height: 296px;
}

.m-banner { width: 500px; position: absolute; top: 0; left: 0; }

.m-banner .bannerCnt { width: 500px; height: 296px; overflow: hidden; }

.m-banner .swipe-wrap {
    display: flex;
    width: 100%;
    height: 100%;
    transition: transform .55s ease;
}

.m-banner .swipe-wrap > a {
    flex: 0 0 100%;
    width: 100%;
    position: relative;
    display: block;
}

.m-banner .swipe-wrap > a img { width: 500px; height: 296px; }

.m-banner .swipe-wrap > a::after {
    display: block;
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 1px solid #fff;
    content: "";
}

.m-banner .pcnt {
    text-align: center;
    position: absolute;
    bottom: 10px;
    width: 500px;
    left: 0;
    z-index: 2;
}

.m-banner .c {
    display: inline-block;
    width: 15px;
    height: 15px;
    background: url(../img/dot.png) no-repeat;
    margin: 0 7px;
    cursor: pointer;
}

.m-banner .c.active { background: url(../img/dot-active.png) no-repeat; }

/* ---------- 新闻列表 ---------- */
.m-news {
    width: 450px;
    height: 296px;
    background: url(../img/news-bg.jpg) no-repeat;
    position: absolute;
    top: 0;
    left: 500px;
    overflow: hidden;
}

.m-news .cnt { padding: 20px; }

.m-news .nav { border-bottom: 1px solid #3aaff5; }

.m-news .nav li {
    font-size: 14px;
    color: #333;
    display: block;
    width: 54px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    cursor: pointer;
}

.m-news .nav li.active {
    font-size: 16px;
    border-bottom: 2px solid #3aaff5;
}

.m-news .nav .more {
    display: block;
    width: 23px;
    height: 23px;
    background: url(../img/more.png) no-repeat;
    transition: all .3s;
}

.m-news .nav .more:hover { background: url(../img/more-hover.png) no-repeat; }

.m-news .tab { margin-top: 13px; display: none; }

.m-news .tab.active { display: block; }

.m-news .tab li {
    position: relative;
    margin-top: 80px;
    opacity: 0;
    transition: all .5s;
}

.m-news .tab li:nth-child(2) { transition: all .6s; }
.m-news .tab li:nth-child(3) { transition: all .7s; }
.m-news .tab li:nth-child(4) { transition: all .8s; }
.m-news .tab li:nth-child(5) { transition: all .9s; }
.m-news .tab li:nth-child(6) { transition: all 1s; }
.m-news .tab.active li { margin-top: 0; opacity: 1; }

.m-news .tab .news_item {
    color: #585858;
    display: block;
    width: 365px;
    height: 20px;
    line-height: 20px;
    margin-bottom: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .3s;
}

.m-news .tab .news_item:hover { color: #bda765; }

.m-news .tab .news_item .time {
    position: absolute;
    right: 0;
    top: 0;
    color: #abc2c3;
}

/* ---------- 开服列表 ---------- */
.kf-list {
    width: 250px;
    height: 296px;
    position: absolute;
    top: 0;
    left: 950px;
    background: url(../img/server-bg.png) no-repeat top;
    background-size: cover;
    padding: 20px 10px;
    box-sizing: border-box;
}

.kf-list h3 {
    width: 230px;
    color: #333;
    text-align: center;
    border-bottom: 1px solid #3aaff5;
    height: 32px;
    line-height: 32px;
}

.kf-list ul li span {
    color: #666;
    line-height: 27px;
    display: inline-block;
}

.kf-list ul li span:first-child { width: 85px; text-align: left; }
.kf-list ul li span:last-child { width: 145px; text-align: right; }

.kf-list ul li span.qu,
.kf-list ul li span.time {
    text-align: center;
    color: #333;
    font-weight: 600;
    font-size: 16px;
}

/* ==========================================================================
   游戏特色
   ========================================================================== */
.g-cnt-2 {
    height: 762px;
    background: url(../img/bg-feature.jpg) no-repeat top center;
    background-size: 1920px auto;
}

.m-feature { width: 1200px; margin: 0 auto; position: relative; }

.m-feature h3 {
    background: url(../img/icon-feature.png) no-repeat;
    height: 38px;
    padding-left: 62px;
    line-height: 38px;
    position: absolute;
    color: #000;
    font-size: 24px;
    top: 70px;
    left: 7px;
    z-index: 6;
}

#featureCarousel { height: 770px; position: relative; }
#featureCarousel img { border: 0; }

#featureCarousel .feature {
    position: absolute;
    top: -1000px;
    cursor: pointer;
    transition: opacity .1s;
    overflow: hidden;
}

#featureCarousel .feature a { display: block; }
#featureCarousel .feature img { width: 100%; height: 100%; }

#featureCarousel .feature .border {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 1px solid #fff;
}

#featureCarousel .blipsContainer {
    position: absolute;
    top: 650px;
    left: 50%;
    margin-left: -75px;
    z-index: 6;
}

#featureCarousel .blipsContainer .blip {
    height: 15px;
    width: 15px;
    background: url(../img/dot.png) no-repeat;
    margin-right: 15px;
}

#featureCarousel .blipsContainer .blipSelected { background: url(../img/dot-active.png) no-repeat; }

/* ==========================================================================
   页脚
   ========================================================================== */
.g-bottom {
    height: 810px;
    background: url(../img/bg-bottom.jpg) no-repeat top center;
    background-size: 1920px auto;
    position: relative;
}

.m-bottom { position: relative; height: 810px; }

.m-bottom .t {
    font-size: 24px;
    color: #585858;
    letter-spacing: 40px;
    padding-left: 40px;
    box-sizing: border-box;
    text-align: center;
    width: 100%;
    position: absolute;
    top: 76px;
    transition: all .8s;
    opacity: 0;
    margin-top: 80px;
}

.m-bottom .moon {
    width: 352px;
    height: 350px;
    background: url(../img/moon.png) no-repeat;
    background-size: 100% 100%;
    margin-left: -175px;
    left: 50%;
    position: absolute;
    top: 115px;
    transition: all .8s .1s;
    opacity: 0;
    margin-top: 80px;
}

.m-bottom .line {
    width: 1px;
    height: 60px;
    border-left: 1px solid #2fc1c6;
    position: absolute;
    left: 50%;
    top: 137px;
    transition: all .8s .2s;
    opacity: 0;
    margin-top: 80px;
}

.m-bottom .left {
    width: 293px;
    height: 72px;
    background: url(../img/moon-left.png) no-repeat;
    position: absolute;
    top: 250px;
    left: 50%;
    margin-left: -462px;
    transition: all .8s .3s;
    opacity: 0;
    margin-top: 80px;
}

.m-bottom .right {
    width: 293px;
    height: 72px;
    background: url(../img/moon-right.png) no-repeat;
    position: absolute;
    top: 250px;
    right: 50%;
    margin-right: -462px;
    transition: all .8s .3s;
    opacity: 0;
    margin-top: 80px;
}

.m-bottom .qr {
    width: 145px;
    height: 145px;
    background: url(../img/qr.png) no-repeat;
    background-size: 100%;
    position: absolute;
    top: 223px;
    margin-left: -72px;
    left: 50%;
    transition: all .8s .4s;
    opacity: 0;
    margin-top: 80px;
}

.m-bottom .p {
    font-size: 18px;
    color: #585858;
    text-align: center;
    line-height: 29px;
    position: absolute;
    width: 100%;
    top: 395px;
    transition: all .8s .5s;
    opacity: 0;
    margin-top: 80px;
}

.m-bottom .topBtn {
    width: 178px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    display: block;
    color: #3aaff5;
    border: 1px solid #3aaff5;
    transition: opacity .8s .6s, background .3s, color .3s;
    position: absolute;
    margin-left: -89px;
    left: 50%;
    top: 486px;
    margin-top: 80px;
    opacity: 0;
}

.m-bottom .topBtn:hover { background: #3aaff5; color: #fff; }

.m-bottom.active .t,
.m-bottom.active .moon,
.m-bottom.active .line,
.m-bottom.active .left,
.m-bottom.active .right,
.m-bottom.active .qr,
.m-bottom.active .p,
.m-bottom.active .topBtn {
    margin-top: 0;
    opacity: 1;
}

/* ---------- 底部信息 ---------- */
.m-bottom .footer {
    position: absolute;
    bottom: 46px;
    left: 50%;
    width: 1160px;
    margin-left: -580px;
}

.m-bottom .footer .fl { float: left; }
.m-bottom .footer .clearfix::after { content: ""; height: 0; display: block; clear: both; }

.m-bottom .footer .footer_bottom .footer_Logo {
    width: 260px;
    height: 110px;
    margin: 0 auto 6px;
    /* contain：不管后台上传的 logo 是什么比例，都完整显示、不会被裁掉或拉变形 */
    background: url(../img/footer-logo.png) no-repeat center bottom;
    background-size: contain;
}

.m-bottom .footer .footer_bottom ul li a {
    color: #333;
    display: inline-block;
    width: 100px;
    line-height: 1.5;
    text-align: center;
    border-right: 1px solid #35383b;
    transition: color .3s;
}

.m-bottom .footer .footer_bottom ul li:last-child a { border-right: none; }
.m-bottom .footer .footer_bottom ul li a:hover { color: #3aaff5; }

.m-bottom .footer .footer_bottom ul,
.m-bottom .footer .footer_bottom .footer_sign { margin-bottom: 10px; }

.m-bottom .footer .footer_bottom .footer_sign div {
    text-align: center;
    color: #333;
}

/* 页脚右侧文字块（链接 + 版权 + 备案） */
.m-bottom .footer .footer_bottom .footer_main {
    width: 900px;
    text-align: center;
}

.m-bottom .footer .footer_bottom .footer_main ul {
    display: flex;
    justify-content: center;
}

.m-bottom .footer .footer_bottom .footer_sign a { color: #333; }

/* 页脚补充信息（审批文号、出版物号、著作权人等） */
.m-bottom .footer .footer_bottom .footer_note {
    padding-top: 10px;
    color: #555;
    font-size: 14px;
    line-height: 2;
    text-align: center;
}

.m-bottom .footer .footer_bottom .footer_note div {
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
}

.m-bottom .footer .footer_bottom .footer_note a {
    color: #2f6f9e;
    transition: color .2s;
}

.m-bottom .footer .footer_bottom .footer_note a:hover {
    color: #3aaff5;
    text-decoration: underline;
}

/* ==========================================================================
   模拟器弹窗
   ========================================================================== */
.down_pop .bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
    z-index: 900;
}

.down_pop .cont {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 380px;
    padding: 40px 24px 24px;
    background: #fff;
    border-radius: 12px;
    z-index: 901;
    text-align: center;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .3);
}

.down_pop .cont::before {
    content: "选择模拟器下载";
    display: block;
    font-size: 18px;
    color: #333;
    margin-bottom: 20px;
}

.down_pop .close {
    position: absolute;
    right: 12px;
    top: 12px;
    width: 26px;
    height: 26px;
    cursor: pointer;
    background: #f0f3f6;
    border-radius: 50%;
}

.down_pop .close::before,
.down_pop .close::after {
    position: absolute;
    left: 50%;
    top: 50%;
    content: "";
    width: 12px;
    height: 1.6px;
    background: #666;
}

.down_pop .close::before { transform: translate(-50%, -50%) rotate(45deg); }
.down_pop .close::after { transform: translate(-50%, -50%) rotate(-45deg); }

.down_pop .xzq {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    margin-bottom: 12px;
    border: 1px solid #e3eef6;
    border-radius: 8px;
    color: #2b4a5e;
    transition: all .25s;
    text-align: left;
}

.down_pop .xzq:hover { border-color: #3aaff5; background: #f5fbff; }

.down_pop .xzq img { width: 48px; height: 48px; border-radius: 10px; }
.down_pop .xzq .xzq_name { font-size: 14px; line-height: 22px; }

/* ==========================================================================
   响应式：小于 751px 走移动端
   ========================================================================== */
@media screen and (max-width: 750px) {
    .g-wrap { display: none; }
}
