:root {
  --ink: #55506a;
  --deep: #4c5679;
  --pink: #f39ab6;
  --pink-soft: #fff0f5;
  --blue: #8dc5e9;
  --paper: #fffefc;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "JiangChengJieXing", "Noto Serif CJK SC", "Source Han Serif SC", serif; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--pink); outline-offset: 4px; }

._site_1fn1y_1 { min-height: 100svh; overflow: clip; background: var(--paper); color: var(--ink); font-family: "JiangChengJieXing", "Noto Serif CJK SC", "Source Han Serif SC", serif; }

.fe-rules-page {
  position: relative;
  min-height: 100svh;
  padding: clamp(150px, 15vw, 205px) 0 120px;
  overflow: hidden;
  background: #fff;
  font-family: "JiangChengJieXing", "Noto Serif CJK SC", "Source Han Serif SC", serif;
}

.fe-rules-page__container { position: relative; z-index: 1; width: min(1480px, calc(100% - 80px)); margin: 0 auto; }
.fe-rules-page__heading { max-width: 900px; margin: 0 auto; text-align: center; }
.fe-rules-page__heading > span { display: block; margin-bottom: 15px; color: #d47497; font: 800 12px/1 "JiangChengJieXing", "Noto Serif CJK SC", serif; letter-spacing: .22em; }
.fe-rules-page__heading h1 { margin: 0; color: #514b64; font-size: clamp(35px, 5vw, 62px); font-weight: 500; line-height: 1.25; letter-spacing: .06em; }
.fe-rules-page__heading p { max-width: 720px; margin: 24px auto 0; color: #8d8399; font: 500 17px/1.9 "JiangChengJieXing", "Noto Serif CJK SC", serif; letter-spacing: .04em; }
.fe-rules-page__document { max-width: 1320px; margin: 68px auto 0; }

.fe-rules-page__document .fe-rules__body,
.fe-rules-page__document .fe-rules__body * { font-family: "JiangChengJieXing", "Noto Serif CJK SC", "Source Han Serif SC", serif; }
.fe-rules-page__document .fe-rules__body { width: 100%; color: #55596f; font-size: 17px; line-height: 1.95; }
.fe-rules-page__document .fe-rules__body section { margin-top: 46px; padding-top: 32px; }
.fe-rules-page__document .fe-rules__body h3 { font-size: 26px; }
.fe-rules-page__document .fe-rules__body h4 { font-size: 19px; }
.fe-rules-page__document .fe-rules__body blockquote { background: rgba(250,232,240,.48); }
.fe-rules-page__document .fe-rules__closing,
.fe-rules-page__document .fe-rules__dates { margin-right: 0; margin-left: 0; text-align: left; }

.fe-rules-page__more { display: flex; justify-content: flex-end; margin-top: 52px; }
.fe-rules-page__more a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border: 1px solid rgba(211,113,151,.3);
  border-radius: 999px;
  background: #fff0f5;
  color: #bd6083;
  font-family: "JiangChengJieXing", "Noto Serif CJK SC", "Source Han Serif SC", serif;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}
.fe-rules-page__more a:hover,
.fe-rules-page__more a:focus-visible { border-color: rgba(201,103,138,.56); background: #ffe3ed; color: #a84f72; }

@media (max-width: 1040px) and (min-width: 601px) {
  .fe-rules-page__container { width: calc(100% - 48px); }
}

@media (max-width: 600px) {
  .fe-rules-page { padding-top: 128px; padding-bottom: 82px; }
  .fe-rules-page__container { width: calc(100% - 32px); }
  .fe-rules-page__heading h1 { font-size: 39px; }
  .fe-rules-page__heading p { font-size: 15px; line-height: 1.8; }
  .fe-rules-page__document { margin-top: 48px; }
  .fe-rules-page__document .fe-rules__body { font-size: 16px; line-height: 1.9; }
  .fe-rules-page__document .fe-rules__body section { margin-top: 38px; padding-top: 26px; }
  .fe-rules-page__document .fe-rules__body h3 { font-size: 22px; }
  .fe-rules-page__document .fe-rules__body h4 { font-size: 18px; }
  .fe-rules__examples { grid-template-columns: 1fr; }
  .fe-rules-page__more { margin-top: 40px; }
  .fe-rules-page__more a { max-width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
