@charset "UTF-8";
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.page-home {
  font-size: 100%;
  color: #373737;
  font-size: 18px;
  font-weight: bold;
  font-family: "Microsoft JhengHei";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.page-home a {
  text-decoration: none;
}

.page-home .wrap {
  width: 100%;
  min-width: 1280px;
  margin: 0 auto;
  overflow: hidden;
}

.page-home .header {
  position: relative;
  width: 100%;
  height: 980px;
}

.kv-video-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
}
.kv-video-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(60%, rgba(0, 0, 0, 0)), to(rgba(20, 32, 31, 0.9)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 60%, rgba(20, 32, 31, 0.9) 100%);
}

.kv-video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* 手機：關掉影片，改用圖片 */
.logo-l {
  position: relative;
  width: 439px;
  height: 184px;
  margin: 0 auto;
  top: 558px;
}

.header-btns {
  position: absolute;
  bottom: 140px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.header-btns a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header-btns a:hover {
  -webkit-filter: brightness(1.2);
          filter: brightness(1.2);
}

.steam-btn {
  display: block;
  width: 368px;
  height: 96px;
  background: url("../images/steam-btn.png") center no-repeat;
}

.redeem-btn {
  display: block;
  width: 368px;
  height: 96px;
  background: url("../images/redeem-btn.png") center no-repeat;
}

.google-btn {
  display: block;
  width: 247px;
  height: 83px;
  background: url("../images/google-download.png") center no-repeat;
}

.apple-btn {
  display: block;
  width: 247px;
  height: 83px;
  background: url("../images/apple-download.png") center no-repeat;
}

.steam-btn {
  display: block;
  width: 247px;
  height: 83px;
  background: url("../images/steam-btn.png") center no-repeat;
}

.scroll-line-box {
  position: absolute;
  bottom: 4px;
  left: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin: 30px auto 0 auto;
  width: 2px;
  height: 80px;
}
.scroll-line-box .scroll-star {
  position: absolute;
  top: -21px;
  left: 50%;
  width: 38px;
  height: 38px;
  background: url(../images/scroll-star.png) no-repeat center center;
  -webkit-animation: starFall 1.5s ease-in-out infinite;
          animation: starFall 1.5s ease-in-out infinite;
}
.scroll-line-box .scroll-line {
  width: 2px;
  height: 80px;
  background: #fff;
  -webkit-box-shadow: 0 0 5px 1px rgb(255, 255, 255);
          box-shadow: 0 0 5px 1px rgb(255, 255, 255);
}

@-webkit-keyframes starFall {
  0% {
    -webkit-transform: translateX(-50%) translateY(0) scale(1.5);
            transform: translateX(-50%) translateY(0) scale(1.5);
    opacity: 1;
  }
  50% {
    opacity: 1; /* 保持亮度 */
  }
  80% {
    -webkit-transform: translateX(-50%) translateY(80px) scale(1);
            transform: translateX(-50%) translateY(80px) scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(-50%) translateY(80px) scale(1);
            transform: translateX(-50%) translateY(80px) scale(1);
    opacity: 0;
  }
}

@keyframes starFall {
  0% {
    -webkit-transform: translateX(-50%) translateY(0) scale(1.5);
            transform: translateX(-50%) translateY(0) scale(1.5);
    opacity: 1;
  }
  50% {
    opacity: 1; /* 保持亮度 */
  }
  80% {
    -webkit-transform: translateX(-50%) translateY(80px) scale(1);
            transform: translateX(-50%) translateY(80px) scale(1);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateX(-50%) translateY(80px) scale(1);
            transform: translateX(-50%) translateY(80px) scale(1);
    opacity: 0;
  }
}
.page-home .home-inner {
  position: relative;
  width: 1280px;
  height: 100%;
  margin: 0 auto;
  z-index: 20;
  line-height: 24px;
}

.sec1-box {
  position: absolute;
  top: 300px;
  right: 20px;
  width: 1122px;
  height: 424px;
  background: url("../images/sec1-news-bg.png") center no-repeat;
}

.red {
  color: #ab0000;
}

.page-home .container {
  width: 100%;
  height: auto;
  z-index: 50;
  margin-top: -85px;
}

.page-home .sec1 {
  position: relative;
  width: 100%;
  height: 1066px;
  background: url("../images/sec1-bg.png") center top no-repeat;
  background-size: cover;
  padding-top: 170px;
}

.page-home .section-divider {
  position: absolute;
  width: 100%;
  height: 122px;
  top: -3px;
  background: url("../images/hr.png") center top no-repeat;
  z-index: 50;
}

.sec1-title {
  position: relative;
  width: 1059px;
  height: 186px;
  background: url("../images/sec1-title.png") center no-repeat;
  margin: 0 auto;
  top: 50px;
}

.sec1-stamp-deco {
  position: absolute;
  right: -5px;
  bottom: 26px;
  width: 99px;
  height: 106px;
  background: url("../images/sec1-stamp.png") center no-repeat;
}

.news-box {
  position: absolute;
  width: 538px;
  height: 265px;
  top: 41px;
  left: 532px;
  z-index: 10;
}

.page-home .news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.page-home .news-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 13px 5px;
  border-bottom: 1px solid #805c4d;
  color: #fff;
  font-size: 16px;
}

.page-home .news-row:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.page-home .news-badge {
  width: 58px;
  height: 23px;
  line-height: 23px;
  font-size: 12px;
  font-weight: 800;
  color: #fff;
  text-align: center;
  border-radius: 50px;
  margin-right: 10px;
}

.page-home .news-badge.is-event {
  background: #8dc369;
}

.page-home .news-badge.is-system {
  background: #5b83b5;
}

.page-home .news-badge.is-service {
  background: #aa7d51;
}

.page-home .news-badge.is-important {
  background: #c94a4a;
}

.page-home .news-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-home .news-date {
  font-size: 12px;
  letter-spacing: 0.04em;
  color: #805c4d;
}

.more-news-btn {
  position: absolute;
  bottom: -48px;
  left: 218px;
  display: block;
  width: 122px;
  height: 46px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background: url("../images/more-btn.png") center no-repeat;
}
.more-news-btn:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}

.news-banner-box {
  width: 629px;
  height: 368px;
  background: #fff;
  position: absolute;
  top: -55px;
  left: -109px;
  -webkit-box-shadow: 0 10px 15px rgba(59, 36, 25, 0.9);
          box-shadow: 0 10px 15px rgba(59, 36, 25, 0.9);
}

.banner-swiper {
  position: absolute;
  top: 10px;
  right: 0px;
  z-index: 50;
  width: 606px;
  height: 347px;
}
.banner-swiper .swiper-slide a {
  display: block;
  width: 100%;
  height: auto;
}

.swiper-slide img {
  display: block;
}

.banner-swiper-pagination {
  position: relative;
  width: 100% !important;
  height: 42px;
  line-height: 42px;
  bottom: -20px !important;
  color: #fff !important;
  text-align: center;
  text-shadow: 0 3px 5px rgba(0, 0, 0, 0.9);
}
.banner-swiper-pagination span {
  width: 42px !important;
  height: 42px !important;
  background: url("../images/news-banner-dot.png") center no-repeat !important;
}
.banner-swiper-pagination .swiper-pagination-bullet-active {
  background: url("../images/news-banner-dot-ac.png") center no-repeat !important;
}

.page-home .sec2 {
  position: relative;
  width: 100%;
  height: 1049px;
  background: url("../images/sec2-bg.jpg") center center no-repeat;
  background-size: cover;
}
.page-home .sec2 .section-divider {
  top: -45px;
}
.page-home .sec2 .home-inner {
  padding-top: 125px;
}

.sec2-title {
  width: 1057px;
  height: 184px;
  background: url("../images/sec2-title.png") center no-repeat;
  margin: 0 auto;
}

.game-feature-box {
  position: relative;
  width: 881px;
  height: 622px;
  margin: 10px auto 0 auto;
  padding-top: 22px;
  z-index: 10;
  background: url("../images/features-bg.png") center no-repeat;
}
.game-feature-box .game-feature-frame {
  position: absolute;
  top: 22px;
  left: 23px;
  width: 835px;
  height: 580px;
  z-index: 10;
  pointer-events: none;
  background: url(../images/sec2-features-frame.png) no-repeat center top;
}
.game-feature-box .feature-swiper {
  width: 835px;
  height: 578px;
}
.game-feature-box .swiper-slide {
  text-align: center;
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.game-feature-box .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.game-feature-box .swiper-button-next::after,
.game-feature-box .swiper-button-prev::after {
  display: none;
}

.feature-swiper-button-next {
  width: 61px !important;
  height: 61px !important;
  right: -80px !important;
  background: url("../images/sec2-arrow-next.png") center no-repeat;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.feature-swiper-button-next:hover {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.feature-swiper-button-prev {
  width: 61px !important;
  height: 61px !important;
  left: -80px !important;
  background: url("../images/sec2-arrow-prev.png") center no-repeat;
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.feature-swiper-button-prev:hover {
  -webkit-transform: scale(1);
          transform: scale(1);
}

.swiper-pagination {
  bottom: -55px !important;
}

.swiper-pagination-bullet {
  width: 46px !important;
  height: 47px !important;
  background: url("../images/feature-banner-dot.png") center no-repeat !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  width: 46px !important;
  height: 47px !important;
  background: url("../images/feature-banner-dot-ac.png") center no-repeat !important;
}

.eggs {
  -webkit-animation: float 3s ease-in-out infinite;
          animation: float 3s ease-in-out infinite;
}

.egg-green {
  width: 143px;
  height: 156px;
  background: url(../images/intro-egg-g.png) no-repeat center top;
  position: absolute;
  top: 134px;
  left: 80px;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}

.egg-blue {
  width: 170px;
  height: 188px;
  background: url(../images/intro-egg-b.png) no-repeat center top;
  position: absolute;
  top: 245px;
  right: -30px;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.egg-red {
  width: 243px;
  height: 280px;
  background: url(../images/intro-egg-r.png) no-repeat center top;
  position: absolute;
  bottom: 220px;
  left: -170px;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

@-webkit-keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
}

@keyframes float {
  0%, 100% {
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
}
.sec2-p1 {
  position: absolute;
  z-index: 5;
  bottom: 5px;
  right: -250px;
  width: 498px;
  height: 376px;
  background: url("../images/sec2-pic.png") center no-repeat;
}

@media (max-width: 768px) {
  .steam-btn {
    display: none;
  }
  .page-home .wrap {
    min-width: 0;
  }
  .page-home .header {
    height: auto;
    padding-top: 165.88%;
    z-index: 50;
  }
  .logo-l {
    display: none;
  }
  .kv-video {
    display: none;
  }
  .kv-video-wrap {
    background: url("../images/header-bg-m.jpg") center/cover no-repeat;
  }
  .header-btns {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    bottom: 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
  }
  .header-btns a {
    width: 60%;
    height: auto;
    aspect-ratio: 247/83;
    background-size: cover;
  }
  .scroll-line-box {
    display: none;
  }
  .news-banner-box {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0 auto;
    top: 0;
    right: 0;
    border: none;
    left: 0;
  }
  .banner-swiper-pagination {
    position: absolute;
    z-index: 50;
    left: 50% !important;
    -webkit-transform: translateX(-50%) !important;
            transform: translateX(-50%) !important;
    bottom: -48px !important;
  }
  .banner-swiper-button-next, .banner-swiper-button-prev {
    display: none;
  }
  .page-home .container {
    margin-top: 0;
  }
  .page-home .sec1 {
    height: auto;
    padding-top: 0;
    padding-bottom: 7em;
    background: url("../images/sec1-bg-m.jpg") center top no-repeat;
    background-size: cover;
  }
  .page-home .sec2 {
    height: auto;
    padding-bottom: 5em;
    background-size: cover;
    background: url("../images/sec2-bg-m.jpg") center center no-repeat;
    background-size: cover;
  }
  .sec1-box {
    position: relative;
    top: 0;
    width: 100%;
    height: auto;
    right: 0;
    padding: 0 3%;
    margin-top: 15px;
    background: transparent;
  }
  .page-home .sec1 .home-inner {
    padding-top: 10%;
  }
  .sec1-title {
    top: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 611/186;
    background: url("../images/sec1-title-m.png");
    background-size: contain;
  }
  .page-home .sec2 .home-inner {
    padding-top: 10%;
  }
  .page-home .sec1 > .section-divider {
    top: -86px;
  }
  .page-home .sec2 .section-divider {
    top: -89px;
  }
  .sec2-title {
    width: 100%;
    height: auto;
    aspect-ratio: 609/184;
    background: url("../images/sec2-title-m.png");
    background-size: contain;
  }
  .page-home .home-inner {
    width: 100%;
  }
  .sec1-stamp-deco {
    display: none;
  }
  .news-box {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin: 50px auto 0 auto;
    padding: 3% 5%;
    background: #44291b;
    border-radius: 5px;
    border: 3px solid #896454;
  }
  .page-home .news-row {
    height: 50px;
    padding: 0;
    background: none;
    border: none;
    border-bottom: 1px solid #805c4d;
  }
  .page-home .news-title {
    padding: 10px 0;
    font-size: 14px;
  }
  .page-home .news-badge {
    width: auto;
    padding: 0 5px;
    margin-right: 5px;
  }
  .page-home .news-date {
    display: none;
  }
  .more-news-btn {
    width: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -64px;
  }
  .sec2-p1, .eggs {
    display: none;
  }
  .game-feature-box {
    margin-top: 20px;
    width: 95%;
    height: auto;
    background: none;
    padding-top: 0;
  }
  .game-feature {
    margin: 10vw auto;
  }
  .game-feature-box .game-feature-frame {
    display: none;
  }
  .game-feature-box .feature-swiper, .banner-swiper {
    width: 100%;
    height: 100%;
    top: 0;
  }
  .game-feature-box .feature-swiper img, .banner-swiper img {
    width: 100%;
  }
  .swiper-button-next,
  .swiper-button-prev {
    display: none !important;
  }
  .swiper-pagination {
    bottom: -50px !important;
    opacity: 1 !important;
  }
}