@charset "utf-8";
:root {
  --primary-color: #edb940;
  --primary-color-50: #fcf8ea;
  --primary-color-100: #f9eec8;
  --primary-color-200: #f5db93;
  --primary-color-300: #edb940;
  --primary-color-400: #e8a627;
  --primary-color-500: #d98f19;
  --primary-color-600: #bb6d13;
  --primary-color-700: #954e13;
  --primary-color-800: #7c3e17;
  --primary-color-900: #6a3419;
  --primary-color-950: #3d1a0b;
  --secondary-color: #8e6b61;
  --secondary-color-50: #f5f3f1;
  --secondary-color-100: #e6dfdb;
  --secondary-color-200: #d0c0b8;
  --secondary-color-300: #b49c90;
  --secondary-color-400: #9f7c70;
  --secondary-color-500: #8e6b61;
  --secondary-color-600: #7b5953;
  --secondary-color-700: #644644;
  --secondary-color-800: #553e3e;
  --secondary-color-900: #4b3839;
  --secondary-color-950: #2a1e1f;
  --third-color: #003382;
  --border-color: #f5db93;
}

* {
  box-sizing: border-box;
}

@font-face {
  font-family: "Roboto Condensed";
  src: url("font/RobotoCondensed-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "Anton";
  src: url("font/Anton-Regular.ttf") format("truetype");
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: Roboto Condensed, Microsoft JhengHei, fantasy, Arial, Helvetica,
    sans-serif;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.3;
  margin: 0;
  padding: 0;
  color: var(--secondary-color-800);
  background-color: var(--primary-color-50);
}

.container {
  max-width: 1300px;
  margin: 0px auto;
  padding: 0 15px;
}

@media only screen and (max-width: 767px) {
  .container {
    padding: 0 10px;
  }
}

/*basic
========================================== */

a {
  text-decoration: none;
  color: rgba(255, 255, 255, 0.9);
  transition: all 0.1s;
}

a:hover {
  color: var(--fourth-color);
}

img {
  max-width: 100%;
}

.box-shadow {
  border-radius: clamp(10px, 1vw, 15px);
  box-shadow: 0 35px 32px -30px rgb(0 0 0 / 30%);
}

@media only screen and (max-width: 767px) {
  .mobile-hide {
    display: none;
  }
}

.text-center {
  text-align: center;
}
.d-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and (max-width: 767px) {
  .mobile-text-cenetr {
    text-align: center;
  }
}

strong {
  font-weight: 400;
  color: var(--secondary-color-500);
}

/*header
========================================== */

header {
  background: var(--primary-color);
  position: fixed;
  width: 100%;
  display: block;
  z-index: 999;
  top: 0;
}

.header-box {
  padding: clamp(5px, 0.4vw, 10px);
  display: grid;
  grid-template-columns: clamp(80px, 7vw, 130px) 1fr;
  align-items: center;
}

.menu-about ul {
  list-style: none;
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 3vw;
  margin: 0;
  padding: 0;
}

.menu-about ul li {
  margin: 0;
  font-size: 110%;
  line-height: 1.2;
  padding: 5px;
  font-size: 20px;
}
@media only screen and (min-width: 767px) {
  .menu-about ul li a {
    font-family: "Anton", sans-serif;
    -webkit-text-stroke: 1px var(--primary-color-700);
    -webkit-text-fill-color: rgba(255, 255, 255, 1);
    text-shadow: 0px 3px 3px var(--primary-color-500);
  }
  .menu-about ul li a:hover {
    text-shadow: none;
  }
}

@media only screen and (max-width: 767px) {
  header .menu-about ul {
    padding-top: 2px;
    gap: 0px;
    /* border: 1px solid var(--border-color);
        background-color: rgb(0, 0, 0, 0.6);
        backdrop-filter: saturate(180%) blur(40px);
        border-radius: 5px; */
  }
  header .menu-about ul li {
    flex: 1;
    font-size: 14px;
    text-align: center;
  }
  header .menu-about ul li:not(:nth-child(1)) {
    border-left: 1px solid var(--border-color);
  }
  header .btn-login a {
    font-size: 11px !important;
  }
  .menu-about ul li a:hover {
    font-weight: 700;
    color: #fff;
  }
}

/*section
========================================== */

.section-bg01 {
  background-color: var(--secondary-color-400);
  color: #fff;
  background-image: radial-gradient(
      at left bottom,
      var(--secondary-color-600),
      transparent 40%
    ),
    radial-gradient(
      at center bottom,
      var(--secondary-color-600),
      transparent 70%
    ),
    radial-gradient(
      at right bottom,
      var(--secondary-color-600),
      transparent 45%
    );
}

.section-bg02 {
  background-color: var(--secondary-color-800) !important;
  color: #fff;
  background-image: radial-gradient(
      at left bottom,
      var(--secondary-color-500),
      transparent 40%
    ),
    radial-gradient(
      at center bottom,
      var(--secondary-color-400),
      transparent 70%
    ),
    radial-gradient(
      at right bottom,
      var(--secondary-color-500),
      transparent 45%
    );
}

.section-bg02 strong {
  color: var(--secondary-color-100);
}
.section-bg02 h2 {
  color: var(--secondary-color-300);
}

.section-box {
  padding: 80px 0 40px 0;
}

@media only screen and (max-width: 767px) {
  .section-box {
    padding: 60px 0 30px 0;
  }
}

h1,
h2 {
  font-family: "Anton", sans-serif;
  font-weight: 400;
}

h1 {
  font-size: clamp(30px, 4vw, 40px);
  margin: 20px 0 5px 0;
  background-image: linear-gradient(
    to top,
    var(--primary-color-950),
    var(--primary-color-500)
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

h2 {
  font-size: clamp(20px, 3vw, 32px);
  margin: 0 0 10px 0;
  text-align: center;
}
h3 {
  text-align: center;
}
@media only screen and (min-width: 767px) {
  .composition {
    display: grid;
    gap: 1vw;
    position: relative;
  }
  .position-absolute {
    position: absolute;
    top: 4vw;
  }
}

.composition img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .mobile-flex-reverse {
    display: flex;
    flex-direction: column-reverse;
  }
}

/*card
========================================== */

.card {
  padding: 20px clamp(15px, 2vw, 30px);
  border: 1px solid var(--primary-color-100);
  background-color: #fff;
  border-radius: clamp(10px, 1vw, 15px);
  margin: clamp(20px, 2vw, 30px) auto;
}
.card h3 {
  font-family: "Anton", sans-serif;
  font-weight: 400;
  font-size: 130%;
}

/*btn
========================================== */

.btn-block {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 10px 0;
}

.btn {
  background-color: var(--fourth-color);
  color: #fff !important;
  text-shadow: 0 2px 2px rgb(0, 0, 0, 0.3);
  padding: 10px 40px;
  border-radius: 50px;
  text-align: center;
  transition: all 0.3s;
  font-weight: 700;
}

.btn:hover {
  filter: contrast(150%);
  transform: scale(1.05);
  transform-origin: center center;
}

.btn-primary {
  background-image: linear-gradient(45deg, #ff0000, #ff6d54, #ff0000, #ff6d54);
  background-size: 300% 300%;
  animation: gradientBG 5s ease infinite;
  border: 0 !important;
  text-decoration: none !important;
  color: #fff !important;
  width: 100px;
  height: 100px;
  border-radius: 100%;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
}

@keyframes gradientBG {
  0% {
    background-position: 0 100%;
  }
  50% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 100%;
  }
}

/*game-list
========================================== */

.game-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(10px, 3vw, 60px);
  margin: 40px auto;
  text-align: center;
  font-weight: 700;
}

.game-list img {
  width: clamp(100px, 10vw, 200px);
}

.game-list p {
  margin: 0;
}

/*promo-list
========================================== */

.promo-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2vw;
  margin: 40px auto;
  text-align: center;
  font-weight: 700;
}

.promo-list img {
  width: 100%;
  border-radius: 10px;
}

.promo-list p {
  margin: 0;
}

@media only screen and (max-width: 767px) {
  .promo-list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .promo-list img {
    border: 1px solid rgba(255, 255, 255, 0.5);
  }
}
/*rule-list
========================================== */
@media only screen and (min-width: 767px) {
  .rule-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    margin: 40px auto;
  }
}

.rule-list .item {
  display: grid;
  grid-template-columns: 15% 1fr;
  gap: 20px;
}
@media only screen and (max-width: 767px) {
  .rule-list .item {
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
  .rule-list .item:nth-last-child(1) {
    border-bottom: 0px;
  }
}

.rule-list img {
  width: 100%;
  border-radius: 100%;
  background-color: var(--primary-color-700);
  border: 3px solid var(--primary-color);
}
.rule-list strong {
  font-size: 130%;
  display: block;
  font-weight: 700;
  color: #fff;
}
.rule-list p {
  margin: 0;
}

/* ---------------------------------- */
.faq {
  padding-bottom: 20px;
}
.faq details {
  padding: 8px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  margin-bottom: 2px;
}

.faq summary {
  cursor: pointer;
  font-weight: 700;
  position: relative;
  padding: 5px 0;
  position: relative;
}
.faq summary h3 {
  margin: 0;
  display: inline;
}

.faq details[open] {
  background-color: rgba(0, 0, 0, 0.5);
  transition: all 0.3s;
  border-radius: 5px;
  border-bottom: 0px solid rgba(255, 255, 255, 0.5);
  padding-bottom: 20px;
}

.faq details[open] summary {
  color: var(--secondary-color-400);
}

.faq summary::after {
  content: "✛";
  position: absolute;
  right: 0;
  top: 5px;
}

.faq details[open] summary::after {
  content: "━"; /* 展开状态下的内容 */
}

.faq summary::marker {
  content: "";
}

@media only screen and (max-width: 767px) {
  .faq summary h3 {
    font-size: 90%;
  }

  .faq details {
    padding: 8px 10px;
  }
}
/*btn
========================================== */

.btn-block {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 10px 0;
}

.btn {
  background-color: var(--fourth-color);
  color: #fff !important;
  text-shadow: 0 2px 2px rgb(0, 0, 0, 0.3);
  padding: 10px 20px;
  border-radius: 50px;
  text-align: center;
  transition: all 0.3s;
  font-weight: 700;
}

.btn:hover {
  filter: contrast(150%);
  transform: scale(1.05);
  transform-origin: center center;
}

.btn-login {
  background: var(--secondary-color-500);
  border: 1px solid #fff;
  transition: all 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.btn-login a {
  color: #fff !important;
  font-weight: 400 !important;
  padding: 1px 8px;
  -webkit-text-stroke: 0px var(--secondary-color-500) !important;
  -webkit-text-fill-color: none !important;
  text-shadow: none !important;
  font-size: 90%;
}

@keyframes gradientBG {
  0% {
    background-position: 0 100%;
  }
  50% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0 100%;
  }
}

/*ul-style
========================================== */
.ul-style {
  position: relative;
  margin: 0 0 2vw 0;
  padding: 0;
}
.ul-style::before {
  content: "";
  position: absolute;
  left: 7px;
  width: 2px;
  height: 100%;
  background: linear-gradient(
    360deg,
    transparent 10%,
    var(--secondary-color-500) 10%,
    var(--secondary-color-500) 90%,
    transparent 90%
  );
  z-index: -1;
}

.ul-style li {
  list-style: none;
  padding: 5px 0 5px 30px;
  font-weight: 700;
}

.ul-style li::before {
  content: "●";
  font-size: 15px;
  left: 0px;
  position: absolute;
  color: var(--secondary-color-500);
  text-shadow: 0 2px 0px var(--secondary-color-50);
  margin-right: 10px;
  z-index: 2;
}
/*footer
========================================== */

footer {
  font-size: 14px;
  padding: 2vw 0;
  background-color: var(--primary-color-950);
  color: var(--secondary-color-300);
  display: block;
}

footer .logo {
  margin: 0 auto;
  text-align: center;
}

footer .logo-img {
  width: 150px;
  display: inline-block;
}

/*footer menu
========================================== */

footer .menu-about ul {
  justify-content: center !important;
  gap: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 10px;
  position: relative;
}

footer .menu-about ul li a {
  color: var(--secondary-color-100);
  font-size: clamp(13px, 1vw, 24px);
  text-shadow: 0px 3px 3px var(--primary-color-950);
  font-weight: 700;
}

footer .btn-login {
  position: absolute;
  right: 0px;
  top: -40px;
  font-size: 15px !important;
  width: 80px !important;
  height: 80px !important;
  background-color: var(--primary-color-700);
  border: 0;
  box-shadow: 0 20px 10px rgba(0, 0, 0, 0.2);
}

footer .btn-login a {
  font-size: 16px !important;
}

@media only screen and (max-width: 767px) {
  footer .btn-login {
    right: 10px;
    top: -80px;
    width: 65px !important;
    height: 65px !important;
    font-size: 12px !important;
  }
}
