.terms-gate {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #63dfff55;
  background: #061431;
  border-radius: 14px;
}
.terms-gate > button {
  width: 100%;
  padding: 14px;
  border: 1px solid #61dfff;
  background: #143b79;
  color: #fff;
  border-radius: 10px;
  font-weight: 800;
}
.terms-agree {
  margin-bottom: 0;
}
.terms-agree input {
  pointer-events: none;
}
.modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 20;
  background: #010617e8;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal.show {
  display: flex;
}
.modal-open {
  overflow: hidden;
}
.terms-panel {
  width: min(900px, 100%);
  height: min(88vh, 850px);
  display: flex;
  flex-direction: column;
  background: #0b1c42;
  border: 1px solid #62dcff;
  border-radius: 20px;
  box-shadow: 0 30px 100px #000;
  overflow: hidden;
}
.terms-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #ffffff1a;
}
.terms-head small {
  color: #65dcff;
  font-weight: 800;
}
.terms-head h2 {
  margin: 4px 0 0;
}
.terms-head button {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #ffffff12;
  color: white;
  font-size: 28px;
}
.terms-body {
  overflow-y: auto;
  padding: 24px 34px;
  line-height: 1.65;
  color: #dbe7ff;
  overscroll-behavior: contain;
}
.terms-body li {
  margin: 0 0 14px;
  padding-left: 7px;
}
.terms-body b {
  color: white;
}
.terms-date {
  color: #68dfff;
  font-weight: 800;
}
.terms-zh {
  display: none;
}
.terms-foot {
  border-top: 1px solid #ffffff1a;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.terms-foot p {
  margin: 0;
  color: #a9bee8;
  font-size: 13px;
}
.terms-foot button {
  border: 0;
  border-radius: 10px;
  padding: 13px 20px;
  background: linear-gradient(90deg, #25c9f2, #7c58ff);
  color: white;
  font-weight: 900;
}
.terms-foot button:disabled {
  filter: grayscale(1);
  opacity: 0.45;
  cursor: not-allowed;
}
html[lang="zh-CN"] .terms-en {
  display: none;
}
html[lang="zh-CN"] .terms-zh {
  display: block;
}
.schedule { margin: 24px 0; padding: 28px; border: 1px solid #63dfff66; border-radius: 20px; background: linear-gradient(135deg, #0b1c42, #143b79); text-align: center; }
.schedule small { color: #65dcff; font-weight: 900; letter-spacing: .12em; }
.schedule h2 { margin: 8px 0; }
.schedule p { margin: 5px 0 12px; color: #fff; font-size: clamp(20px, 3vw, 30px); font-weight: 900; }
.schedule span { display: block; max-width: 850px; margin: auto; color: #c8d8f5; line-height: 1.55; }
footer { margin-top: 55px; padding: 32px 20px; text-align: center; border-top: 1px solid #ffffff20; color: #c8d8f5; }
footer p { margin: 0 0 8px; font-weight: 800; }
footer a { color: #65dcff; font-weight: 900; }
footer small { display: block; max-width: 900px; margin: 20px auto 0; line-height: 1.6; opacity: .8; }
.floating-wa { position: fixed; z-index: 12; right: 18px; bottom: 18px; padding: 13px 18px; border-radius: 999px; background: #25d366; color: #061431; font-weight: 900; box-shadow: 0 10px 28px #0008; }
.wa-actions { display: grid; gap: 10px; margin: 18px 0; }
.wa-actions a { display: block; }
@media (max-width: 760px) {
  .terms-panel {
    height: 94vh;
  }
  .terms-body {
    padding: 20px 18px;
  }
  .terms-foot {
    align-items: stretch;
    flex-direction: column;
  }
  .terms-foot button {
    width: 100%;
  }
}
