
[data-page='modules'] .page-hero {
  padding-bottom: clamp(84px, 10vw, 140px);
}
.mo-down .ico {
  transform: rotate(90deg);
}
@media (hover: hover) and (pointer: fine) {
  .btn.mo-down:hover .ico {
    transform: rotate(90deg) translateX(3px);
  }
}
.mo-index {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 100%;
  max-width: 500px;
  margin-inline: auto;
  padding-bottom: 20px;
}
.mo-tile {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: 'n i' 't t';
  align-content: space-between;
  gap: 26px 10px;
  min-height: 116px;
  padding: 14px 16px 15px;
  border-radius: 18px;
  border: 1px solid var(--bd-2);
  background: rgba(10, 16, 52, 0.62);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  overflow: hidden;
  isolation: isolate;
  transition: border-color 0.25s ease, transform 0.35s var(--ease-out);
}
.mo-tile:nth-child(even) {
  translate: 0 22px;
}
.mo-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--grad-soft);
  opacity: 0;
  animation: mo-lit 16s var(--ease-out) infinite;
  animation-delay: calc(var(--k) * 2s);
}
@keyframes mo-lit {
  0% {
    opacity: 0;
  }
  3%,
  11% {
    opacity: 1;
  }
  16%,
  100% {
    opacity: 0;
  }
}
.mo-index:not(.is-live) .mo-tile::after {
  animation-play-state: paused;
}
.mo-tile-n {
  grid-area: n;
  color: var(--fg-3);
  letter-spacing: 0.14em;
}
.mo-tile-i {
  grid-area: i;
  color: var(--cyan);
}
.mo-tile-t {
  grid-area: t;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 1.06rem;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .mo-tile:hover {
    border-color: var(--cyan);
    transform: translateY(-3px);
  }
}
@media (max-width: 560px) {
  .mo-tile {
    min-height: 96px;
    gap: 18px 8px;
  }
  .mo-tile-t {
    font-size: 0.96rem;
  }
}
.mo-nav {
  position: sticky;
  top: 82px;
  z-index: 60;
  height: 52px;
  margin-top: -26px;
  padding-inline: var(--gutter);
  pointer-events: none;
}
.mo-nav-in {
  pointer-events: auto;
  max-width: var(--maxw);
  height: 52px;
  margin-inline: auto;
  border-radius: 999px;
  border: 1px solid var(--bd-2);
  background: rgba(7, 11, 36, 0.93);
  -webkit-backdrop-filter: blur(18px) saturate(1.4);
  backdrop-filter: blur(18px) saturate(1.4);
  box-shadow: 0 18px 50px -20px rgba(0, 0, 0, 0.6);
  overflow: hidden;
  color: #eaf0ff;
}
.mo-nav-row {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 100%;
  padding: 5px;
  overflow-x: auto;
  scrollbar-width: none;
}
.mo-nav-row::-webkit-scrollbar {
  display: none;
}
.mo-nav-row a {
  flex: 1 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 100%;
  min-width: 44px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.88rem;
  color: #aab5dd;
  white-space: nowrap;
  transition: color 0.2s ease, background-color 0.25s ease;
}
.mo-nav-row a .mono {
  font-size: 0.6rem;
  letter-spacing: 0.06em;
  opacity: 0.55;
  transition: opacity 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .mo-nav-row a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.07);
  }
}
.mo-nav-row a.is-active {
  color: #fff;
  background: var(--grad-btn);
  box-shadow: 0 8px 22px -10px rgba(75, 76, 240, 0.9);
}
.mo-nav-row a.is-active .mono {
  opacity: 0.9;
}
@media (max-width: 720px) {
  .mo-nav-row a {
    padding: 0 12px;
    font-size: 0.84rem;
  }
  .mo-nav-row a .mono {
    display: none;
  }
}
.mo-sec {
  --mo-r: clamp(28px, 4vw, 64px);
  padding-block: clamp(96px, 11vw, 160px);
  scroll-margin-top: 64px;
  overflow: clip;
}
.mo-cut {
  border-top-left-radius: var(--mo-r);
  border-top-right-radius: var(--mo-r);
  margin-top: calc(var(--mo-r) * -1);
  z-index: 2;
}
.mo-dark {
  background-color: var(--ink-900);
  background-image: radial-gradient(60% 46% at 88% 8%, rgba(75, 69, 240, 0.18), transparent 70%),
    radial-gradient(46% 40% at 4% 92%, rgba(23, 205, 235, 0.09), transparent 70%);
  color: #eaf0ff;
}
.mo-dark.mo-flip {
  background-image: radial-gradient(60% 46% at 10% 6%, rgba(162, 61, 255, 0.16), transparent 70%),
    radial-gradient(46% 40% at 96% 94%, rgba(31, 107, 255, 0.12), transparent 70%);
}
.mo-top {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
  gap: clamp(32px, 5.5vw, 96px);
  align-items: center;
}
.mo-flip .mo-top {
  grid-template-columns: minmax(0, 1.14fr) minmax(0, 0.86fr);
}
.mo-flip .mo-copy {
  order: 2;
}
.mo-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
}
.mo-num {
  position: absolute;
  z-index: -1;
  left: -0.05em;
  top: -0.7em;
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(7.5rem, 15vw, 13rem);
  line-height: 0.8;
  letter-spacing: -0.06em;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(180deg, var(--bd-2), transparent 84%);
  -webkit-background-clip: text;
  background-clip: text;
  pointer-events: none;
  user-select: none;
}
.mo-copy h2 {
  font-size: clamp(2rem, 3.7vw, 3.3rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}
.mo-lead {
  margin-top: 1.4rem;
  max-width: 50ch;
  color: var(--fg-2);
  font-size: 1.07em;
}
.mo-pts {
  margin-top: 1.8rem;
}
.mo-links {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 30px;
}
.mo-stage {
  position: relative;
  min-width: 0;
}
.mo-shot {
  margin-top: 16px;
  text-align: right;
  font-size: 0.6rem;
  letter-spacing: 0.14em;
  color: var(--fg-3);
}
.mo-stage:not(.is-live) *,
.mo-rep .marquee:not(.is-live) .marquee-track {
  animation-play-state: paused !important;
}
@media (max-width: 1000px) {
  .mo-top,
  .mo-flip .mo-top {
    grid-template-columns: 1fr;
  }
  .mo-flip .mo-copy {
    order: 0;
  }
  .mo-num {
    font-size: clamp(6rem, 26vw, 9rem);
    top: -0.62em;
  }
}
.mo-caps {
  margin-top: clamp(56px, 7vw, 104px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 3.6vw, 52px) clamp(24px, 3.2vw, 48px);
}
.mo-cap {
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 0 16px;
  padding-top: 22px;
  border-top: 1px solid var(--bd-2);
}
.mo-cap::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 2px;
  background: var(--grad);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
  .mo-cap:hover::before {
    transform: scaleX(1);
  }
}
.mo-cap-ico {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: var(--accent);
  background: var(--grad-soft);
  border: 1px solid var(--bd);
}
.mo-cap h3,
.mo-grp-l h4 {
  font-size: 1.16rem;
  letter-spacing: -0.02em;
  line-height: 1.15;
  padding-top: 2px;
}
.mo-cap p,
.mo-grp-l p {
  margin-top: 0.55rem;
  color: var(--fg-2);
  font-size: 0.95rem;
}
@media (max-width: 1000px) {
  .mo-caps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .mo-caps {
    grid-template-columns: 1fr;
  }
}
.mo-groups {
  margin-top: clamp(56px, 7vw, 104px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 80px);
}
.mo-grp-h {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--bd-2);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  letter-spacing: -0.03em;
}
.mo-badge {
  padding: 4px 11px;
  border-radius: 999px;
  border: 1px solid var(--accent);
  color: var(--accent);
  font-family: var(--f-mono);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.mo-grp-l li {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid var(--bd);
}
@media (max-width: 860px) {
  .mo-groups {
    grid-template-columns: 1fr;
  }
}
.mo-win {
  --fg: #eaf0ff;
  --fg-2: #aab5dd;
  --fg-3: #7d89bd;
  --bd: rgba(150, 170, 255, 0.16);
  --bd-2: rgba(150, 170, 255, 0.32);
  position: relative;
  border-radius: 22px;
  background: var(--ink-900);
  color: var(--fg);
  border: 1px solid rgba(120, 130, 255, 0.3);
  box-shadow: 0 50px 90px -40px rgba(20, 24, 120, 0.7), 0 0 0 8px rgba(255, 255, 255, 0.45);
  overflow: hidden;
  font-size: 0.9rem;
  line-height: 1.4;
}
.mo-dark .mo-win {
  background: linear-gradient(160deg, #131c58, #080d2e 72%);
  box-shadow: 0 50px 90px -40px rgba(0, 0, 0, 0.8), 0 0 0 8px rgba(150, 170, 255, 0.06);
}
.mo-win h4 {
  margin: 0 0 10px;
  font-family: var(--f-mono);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-3);
  line-height: 1.2;
}
.mo-win .win-bar span {
  margin-left: 12px;
  color: #8b98cf;
}
.mo-win .win-bar .mo-live,
.mo-win .win-bar .mo-web {
  margin-left: auto;
}
.mo-live {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--f-mono);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #37e6a0;
  font-weight: 500;
}
.mo-win .win-bar .mo-live i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #37e6a0;
  animation: pulse 2s ease-out infinite;
}
.mo-web {
  padding: 3px 9px;
  border-radius: 999px;
  border: 1px solid rgba(23, 205, 235, 0.5);
  color: #7fe3f7;
  font-family: var(--f-mono);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.mo-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  padding: 4px 8px 0;
  font-size: 0.74rem;
  color: var(--fg-2);
}
.mo-legend li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.mo-legend i {
  flex: none;
  display: grid;
  place-items: center;
  width: 16px;
  height: 14px;
  border-radius: 5px;
}
.lg-a {
  border-radius: 50% !important;
  width: 18px !important;
  height: 18px !important;
  background: rgba(255, 195, 107, 0.16);
  border: 1px solid #ffc36b;
  color: #ffc36b;
}
.lg-n {
  border: 1px solid rgba(160, 176, 255, 0.5);
  background: rgba(255, 255, 255, 0.06);
}
.lg-v {
  border: 1px solid #c58bff;
  background: rgba(162, 61, 255, 0.28);
}
.lg-g {
  border: 1px dashed #5eeaff;
}
.lg-pos,
.lg-neg,
.lg-fu {
  width: 11px !important;
  height: 11px !important;
  border-radius: 50% !important;
}
.lg-pos {
  background: #37e6a0;
}
.lg-neg {
  background: #ff8fb0;
}
.lg-fu {
  background: #ffc36b;
}
.lg-plan {
  color: #7fe3f7;
}
@keyframes mo-rin {
  0% {
    opacity: 0;
    transform: translateY(12px);
  }
  5%,
  88% {
    opacity: 1;
    transform: none;
  }
  96%,
  100% {
    opacity: 0;
    transform: none;
  }
}
@keyframes mo-fadein {
  0% {
    opacity: 0;
  }
  6%,
  88% {
    opacity: 1;
  }
  96%,
  100% {
    opacity: 0;
  }
}
.mo-quick {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 16px 0;
  padding: 9px 12px;
  border-radius: 12px;
  border: 1px dashed var(--bd-2);
  background: rgba(255, 255, 255, 0.03);
  font-size: 0.82rem;
  white-space: nowrap;
  overflow: hidden;
}
.mo-plus {
  flex: none;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: var(--grad-btn);
  color: #fff;
}
.mo-quick-l {
  flex: none;
  font-family: var(--f-mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-3);
}
.mo-type {
  display: inline-block;
  overflow: hidden;
  max-width: 0;
  color: #fff;
  animation: mo-type 12s steps(34, end) infinite;
}
@keyframes mo-type {
  0%,
  3% {
    max-width: 0;
  }
  22%,
  86% {
    max-width: 34ch;
  }
  95%,
  100% {
    max-width: 0;
  }
}
.mo-caret {
  flex: none;
  width: 6px;
  height: 1.1em;
  background: var(--cyan);
  animation: blink 1s steps(2) infinite;
}
.mo-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  padding: 26px 16px 6px;
}
.mo-day {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 1px;
  padding: 8px 2px 7px;
  border-radius: 12px;
  border: 1px solid var(--bd);
  background: rgba(255, 255, 255, 0.025);
}
.mo-day small {
  font-size: 0.6rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-3);
}
.mo-day b {
  font-family: var(--f-display);
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}
.mo-day-n {
  font-family: var(--f-mono);
  font-size: 0.64rem;
  color: var(--cyan);
}
.mo-day.is-on {
  background: var(--grad-btn);
  border-color: transparent;
}
.mo-day.is-on small,
.mo-day.is-on .mo-day-n {
  color: #fff;
}
.mo-day.is-stop {
  border-color: rgba(255, 143, 176, 0.5);
  background: rgba(255, 143, 176, 0.08);
}
.mo-day.is-stop .mo-day-n {
  color: #ff8fb0;
}
.mo-day i {
  position: absolute;
  left: 50%;
  top: -10px;
  translate: -50% 0;
  padding: 2px 7px;
  border-radius: 999px;
  background: #3a1030;
  border: 1px solid rgba(255, 143, 176, 0.6);
  color: #ff8fb0;
  font-family: var(--f-mono);
  font-style: normal;
  font-size: 0.5rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.mo-rows {
  padding-top: 6px;
}
.mo-rrow {
  display: grid;
  grid-template-columns: 100px minmax(0, 1.2fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 11px 16px;
  border-bottom: 1px solid rgba(150, 170, 255, 0.09);
  animation: mo-rin 12s var(--ease-out) infinite both;
  animation-delay: calc(2.4s + var(--k) * 0.5s);
}
.mo-no {
  color: #9aa7de;
  font-size: 0.66rem;
  letter-spacing: 0.04em;
}
.mo-src {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: #e6ebff;
  font-size: 0.84rem;
  white-space: nowrap;
}
.mo-src .ico {
  color: var(--cyan);
}
.mo-src > span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.mo-src .mo-g {
  font-family: var(--f-mono);
  font-style: normal;
  font-size: 0.64rem;
  letter-spacing: 0.04em;
  color: var(--fg-3);
}
.mo-pk {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--fg-2);
  font-size: 0.8rem;
}
.mo-st {
  display: grid;
  justify-items: end;
}
.mo-st > * {
  grid-area: 1 / 1;
}
.mo-fa {
  animation: mo-fa 12s infinite;
  animation-delay: inherit;
}
.mo-fb {
  opacity: 0;
  animation: mo-fb 12s infinite;
  animation-delay: inherit;
}
@keyframes mo-fa {
  0%,
  44% {
    opacity: 1;
  }
  50%,
  100% {
    opacity: 0;
  }
}
@keyframes mo-fb {
  0%,
  44% {
    opacity: 0;
    transform: scale(0.94);
  }
  50%,
  88% {
    opacity: 1;
    transform: none;
  }
  96%,
  100% {
    opacity: 0;
    transform: none;
  }
}
.mo-capbar {
  padding: 14px 16px 18px;
}
.mo-capbar-h {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 26px;
  margin-bottom: 10px;
  font-size: 0.78rem;
  color: var(--fg-2);
}
.mo-capbar-n {
  display: grid;
  justify-items: end;
}
.mo-capbar-n > * {
  grid-area: 1 / 1;
}
.mo-cn-a {
  font-family: var(--f-mono);
  font-weight: 500;
  color: #fff;
  animation: mo-cna 12s infinite;
}
.mo-cn-b {
  opacity: 0;
  animation: mo-cnb 12s infinite;
}
@keyframes mo-cna {
  0%,
  62% {
    opacity: 1;
  }
  68%,
  94% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mo-cnb {
  0%,
  64% {
    opacity: 0;
    transform: scale(0.94);
  }
  70%,
  90% {
    opacity: 1;
    transform: none;
  }
  96%,
  100% {
    opacity: 0;
  }
}
.mo-meter {
  height: 8px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}
.mo-meter i {
  display: block;
  height: 100%;
  border-radius: 8px;
  background: var(--grad);
  transform-origin: left;
  transform: scaleX(0.955);
  animation: mo-fillbar 12s var(--ease-out) infinite;
}
@keyframes mo-fillbar {
  0% {
    transform: scaleX(0.5);
  }
  38%,
  60% {
    transform: scaleX(0.955);
  }
  68%,
  90% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0.5);
  }
}
@media (max-width: 620px) {
  .mo-rrow {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 3px;
  }
  .mo-src {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .mo-pk {
    display: none;
  }
  .mo-st {
    grid-column: 2;
    grid-row: 1;
  }
  .mo-quick-l {
    display: none;
  }
}
.mo-ops-body {
  padding: 8px 12px 16px;
}
.mo-ops-svg {
  width: 100%;
  height: auto;
  margin-bottom: 8px;
}
.mo-hull {
  fill: url(#mo-hull);
  stroke: rgba(160, 176, 255, 0.42);
  stroke-width: 1.6;
}
.mo-div {
  fill: none;
  stroke: rgba(160, 176, 255, 0.3);
  stroke-dasharray: 4 6;
}
.mo-sal {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  fill: #8b98cf;
}
.mo-t rect {
  fill: rgba(255, 255, 255, 0.06);
  stroke: rgba(160, 176, 255, 0.4);
  stroke-width: 1.3;
}
.mo-t text {
  font-size: 13px;
  font-weight: 500;
  fill: #e6ebff;
}
.mo-t.vip rect {
  fill: rgba(162, 61, 255, 0.26);
  stroke: #c58bff;
}
.mo-t.gift rect {
  fill: none;
  stroke: #5eeaff;
  stroke-dasharray: 4 4;
}
.mo-glass circle {
  fill: rgba(255, 195, 107, 0.16);
  stroke: #ffc36b;
  stroke-width: 1;
}
.mo-glass path {
  fill: none;
  stroke: #ffc36b;
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mo-dz {
  fill: none;
  stroke: #5eeaff;
  stroke-width: 1.4;
  stroke-dasharray: 4 4;
}
.mo-pal rect:first-child {
  fill: rgba(255, 255, 255, 0.04);
  stroke: rgba(160, 176, 255, 0.3);
}
.mo-pal-t {
  fill: rgba(255, 255, 255, 0.1);
  stroke: rgba(160, 176, 255, 0.5);
}
.mo-pal.vip .mo-pal-t {
  fill: rgba(162, 61, 255, 0.3);
  stroke: #c58bff;
}
.mo-pal text {
  font-size: 11.5px;
  fill: #b9c5f0;
}
.mo-hi {
  fill: rgba(94, 234, 255, 0.08);
  stroke: #5eeaff;
  stroke-width: 1.8;
}
.mo-cn {
  fill: none;
  stroke: #5eeaff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mo-chip rect {
  fill: rgba(10, 16, 52, 0.92);
  stroke: rgba(94, 234, 255, 0.55);
}
.mo-chip circle {
  fill: #5eeaff;
}
.mo-chip text {
  font-size: 13.5px;
  fill: #eaf0ff;
}
.mo-chip .to {
  fill: #7fe3f7;
}
.mo-cur {
  fill: #fff;
  stroke: #0a1040;
  stroke-width: 1.5;
  stroke-linejoin: round;
}
.mo-kit-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 16px;
  padding: 14px 16px 18px;
}
.mo-counters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.mo-counters li {
  display: grid;
  padding: 9px 10px;
  border-radius: 12px;
  border: 1px solid var(--bd);
  background: rgba(255, 255, 255, 0.03);
}
.mo-counters small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--f-mono);
  font-size: 0.56rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--fg-3);
}
.mo-counters b {
  font-family: var(--f-display);
  font-size: 1.5rem;
  line-height: 1.1;
  letter-spacing: -0.03em;
}
.mo-tabs {
  display: flex;
  gap: 6px;
  margin: 12px 0 10px;
}
.mo-tabs span {
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid var(--bd);
  font-size: 0.74rem;
  color: var(--fg-3);
}
.mo-tabs .on {
  border-color: var(--bd-2);
  background: rgba(120, 130, 255, 0.22);
  color: #fff;
}
.mo-board {
  position: relative;
  container-type: inline-size;
  height: 236px;
  border-radius: 14px;
  border: 1px solid var(--bd);
  background: linear-gradient(90deg, transparent calc(33.333% - 0.5px), var(--bd) calc(33.333% - 0.5px) calc(33.333% + 0.5px), transparent calc(33.333% + 0.5px)),
    linear-gradient(90deg, transparent calc(66.666% - 0.5px), var(--bd) calc(66.666% - 0.5px) calc(66.666% + 0.5px), transparent calc(66.666% + 0.5px)), rgba(255, 255, 255, 0.02);
  overflow: hidden;
}
.mo-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  height: 30px;
  border-bottom: 1px solid var(--bd);
  text-align: center;
  font-family: var(--f-mono);
  font-size: 0.56rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-3);
}
.mo-tk {
  position: absolute;
  left: 7px;
  top: calc(38px + var(--r) * 64px);
  width: calc(33.333% - 14px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 6px;
  align-items: center;
  padding: 8px 10px 9px;
  border-radius: 11px;
  border: 1px solid var(--bd-2);
  border-left-width: 3px;
  background: #151f63;
  animation: mo-tk 12s var(--ease-out) infinite both;
  animation-delay: calc(var(--k) * 3.2s);
}
.mo-tk b {
  font-family: var(--f-display);
  font-size: 0.86rem;
  letter-spacing: -0.01em;
}
.mo-tk-c {
  font-family: var(--f-mono);
  font-size: 0.5rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-2);
}
.mo-tk small {
  grid-column: 1 / -1;
  font-size: 0.68rem;
  color: var(--fg-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.k-vip {
  border-left-color: #c58bff;
}
.k-std {
  border-left-color: #5f8bff;
}
.k-ext {
  border-left-color: #ffc36b;
}
.mo-tk-ok {
  position: absolute;
  right: 7px;
  bottom: 7px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #12b886;
  color: #04061a;
  opacity: 0;
  animation: mo-tkok 12s infinite both;
  animation-delay: inherit;
}
@keyframes mo-tk {
  0% {
    opacity: 0;
    transform: translate(0, 8px);
  }
  5%,
  26% {
    opacity: 1;
    transform: none;
  }
  34%,
  58% {
    transform: translateX(calc(100cqw / 3));
  }
  66%,
  90% {
    opacity: 1;
    transform: translateX(calc(200cqw / 3));
  }
  96%,
  100% {
    opacity: 0;
    transform: translateX(calc(200cqw / 3));
  }
}
@keyframes mo-tkok {
  0%,
  64% {
    opacity: 0;
    transform: scale(0.6);
  }
  70%,
  90% {
    opacity: 1;
    transform: none;
  }
  96%,
  100% {
    opacity: 0;
  }
}
.mo-rc {
  display: grid;
  align-content: start;
}
.mo-rc-h {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 7px;
  margin-bottom: 10px;
  font-size: 0.7rem;
  line-height: 1.25;
  color: var(--fg-2);
}
.mo-rc-h em {
  margin-left: auto;
  font-family: var(--f-mono);
  font-style: normal;
  font-size: 0.58rem;
  color: var(--fg-3);
}
.mo-slot {
  position: relative;
  z-index: 1;
  height: 10px;
  border-radius: 6px;
  background: #02040f;
  border: 1px solid var(--bd-2);
}
.mo-paper {
  position: relative;
  display: grid;
  gap: 1px;
  margin: -3px 9px 0;
  padding: 14px 10px 12px;
  background: #f4f6ff;
  color: #0b1140;
  font-family: var(--f-mono);
  font-size: 0.58rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-radius: 0 0 4px 4px;
  clip-path: inset(0 0 100% 0);
  animation: mo-print 12s steps(9, end) infinite;
}
.mo-paper b {
  padding-bottom: 5px;
  margin-bottom: 3px;
  border-bottom: 1px dashed #9aa4d6;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.16em;
}
.mo-paper i {
  display: block;
  height: 9px;
  margin-top: 7px;
  background: repeating-linear-gradient(90deg, #0b1140 0 2px, transparent 2px 4px);
}
@keyframes mo-print {
  0%,
  3% {
    clip-path: inset(0 0 100% 0);
  }
  36%,
  88% {
    clip-path: inset(0 0 0 0);
  }
  95%,
  100% {
    clip-path: inset(0 0 100% 0);
  }
}
@media (max-width: 620px) {
  .mo-kit-body {
    grid-template-columns: 1fr;
  }
  .mo-rc {
    display: none;
  }
  .mo-tk {
    padding: 7px 8px 8px;
    left: 5px;
    width: calc(33.333% - 10px);
  }
  .mo-tk b {
    font-size: 0.78rem;
    white-space: nowrap;
  }
  .mo-tk-c {
    display: none;
  }
  .mo-tk small {
    font-size: 0.6rem;
  }
  .mo-src-n text {
    font-size: 14px;
    letter-spacing: -0.04em;
  }
  .mo-cnt {
    font-size: 24px;
  }
}
.mo-fin-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 12px;
  padding: 14px 16px 4px;
}
.mo-rate {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--f-mono);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-3);
}
.mo-rate .ico {
  color: var(--cyan);
  animation: spin 6s linear infinite;
}
.mo-cur {
  display: flex;
  gap: 6px;
}
.mo-cur li {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid var(--bd);
  font-family: var(--f-mono);
  font-size: 0.62rem;
  color: var(--fg-2);
}
.mo-cur .on {
  border-color: var(--bd-2);
  background: rgba(120, 130, 255, 0.22);
  color: #fff;
}
.mo-fin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  padding: 10px 16px 0;
}
.mo-fin-cash,
.mo-fin-led {
  min-width: 0;
  padding: 12px 12px 6px;
  border-radius: 14px;
  border: 1px solid var(--bd);
  background: rgba(255, 255, 255, 0.025);
}
.mo-vrow {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid rgba(150, 170, 255, 0.09);
  animation: mo-rin 12s var(--ease-out) infinite both;
  animation-delay: calc(1.6s + var(--k) * 0.7s);
}
.mo-vt {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 600;
  white-space: nowrap;
}
.vt-in {
  color: #37e6a0;
  background: rgba(55, 230, 160, 0.12);
}
.vt-out {
  color: #ff8fb0;
  background: rgba(255, 143, 176, 0.12);
}
.vt-mv {
  color: #7fb6ff;
  background: rgba(127, 182, 255, 0.12);
}
.mo-vd {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 0.72rem;
  color: var(--fg-2);
}
.mo-va {
  font-family: var(--f-mono);
  font-size: 0.72rem;
  white-space: nowrap;
  text-align: right;
}
.mo-va small {
  margin-left: 4px;
  font-size: 0.56rem;
  color: var(--fg-3);
}
.mo-fin-led table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.72rem;
}
.mo-fin-led th {
  padding: 0 0 6px;
  font-family: var(--f-mono);
  font-size: 0.54rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: left;
  text-transform: uppercase;
  color: var(--fg-3);
}
.mo-fin-led td {
  padding: 8px 0;
  border-top: 1px solid rgba(150, 170, 255, 0.09);
}
.mo-fin-led .n {
  text-align: right;
  font-family: var(--f-mono);
  white-space: nowrap;
}
.mo-lrow {
  animation: mo-fadein 12s infinite both;
  animation-delay: calc(1.6s + var(--k) * 0.7s);
}
.mo-fin-led tfoot td {
  border-top: 1px solid var(--bd-2);
  color: #fff;
  font-weight: 600;
}
.mo-ok {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #37e6a0;
  animation: mo-fadein 12s infinite both;
  animation-delay: 4.6s;
}
.mo-inv {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 18px;
  padding: 16px 16px 20px;
}
.mo-inv > span {
  font-size: 0.6rem;
  letter-spacing: 0.12em;
  color: var(--fg-3);
}
.mo-inv ol {
  position: relative;
  flex: 1;
  min-width: 250px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.mo-inv li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  color: var(--fg-3);
}
.mo-inv li i {
  position: relative;
  flex: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid var(--bd-2);
}
.mo-inv li i::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 50%;
  background: var(--grad-btn);
  opacity: 0;
}
.mo-inv li.i1 {
  animation: mo-i1 12s infinite;
}
.mo-inv li.i2 {
  animation: mo-i2 12s infinite;
}
.mo-inv li.i3 {
  animation: mo-i3 12s infinite;
}
.mo-inv li.i1 i::after {
  animation: mo-d1 12s infinite;
}
.mo-inv li.i2 i::after {
  animation: mo-d2 12s infinite;
}
.mo-inv li.i3 i::after {
  animation: mo-d3 12s infinite;
}
@keyframes mo-i1 {
  0%,
  8% {
    color: var(--fg-3);
  }
  12%,
  92% {
    color: #fff;
  }
  100% {
    color: var(--fg-3);
  }
}
@keyframes mo-i2 {
  0%,
  34% {
    color: var(--fg-3);
  }
  38%,
  92% {
    color: #fff;
  }
  100% {
    color: var(--fg-3);
  }
}
@keyframes mo-i3 {
  0%,
  62% {
    color: var(--fg-3);
  }
  66%,
  92% {
    color: #fff;
  }
  100% {
    color: var(--fg-3);
  }
}
@keyframes mo-d1 {
  0%,
  8% {
    opacity: 0;
  }
  12%,
  92% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes mo-d2 {
  0%,
  34% {
    opacity: 0;
  }
  38%,
  92% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes mo-d3 {
  0%,
  62% {
    opacity: 0;
  }
  66%,
  92% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.mo-inv-fill {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -11px;
  height: 2px;
  border-radius: 2px;
  background: var(--bd);
  overflow: hidden;
}
.mo-inv-fill::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--grad);
  transform-origin: left;
  animation: mo-invfill 12s linear infinite;
}
@keyframes mo-invfill {
  0%,
  8% {
    transform: scaleX(0.02);
  }
  66% {
    transform: scaleX(1);
  }
  92% {
    transform: scaleX(1);
    opacity: 1;
  }
  100% {
    transform: scaleX(1);
    opacity: 0;
  }
}
@media (max-width: 620px) {
  .mo-fin-grid {
    grid-template-columns: 1fr;
  }
}
.mo-hub {
  padding: 10px;
}
.mo-hub-svg {
  width: 100%;
  height: auto;
}
.mo-src-n rect {
  fill: rgba(255, 255, 255, 0.05);
  stroke: rgba(160, 176, 255, 0.32);
}
.mo-src-n text {
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.02em;
  fill: #e6ebff;
}
.mo-flow {
  fill: none;
  stroke-width: 1.6;
  stroke-dasharray: 3 6;
  opacity: 0.8;
  animation: dashflow 3.2s linear infinite;
}
.mo-pool {
  fill: rgba(255, 255, 255, 0.03);
  stroke: rgba(160, 176, 255, 0.32);
}
.mo-pool-h {
  font-size: 10.5px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  fill: #8b98cf;
}
.mo-tank {
  fill: rgba(255, 255, 255, 0.04);
  stroke: rgba(160, 176, 255, 0.4);
}
.mo-slab {
  opacity: 0.92;
}
.mo-cnt {
  font-size: 21px;
  font-weight: 600;
  letter-spacing: -0.02em;
  fill: #fff;
}
.mo-closed {
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  fill: #ff8fb0;
}
.mo-kan-body {
  container-type: inline-size;
  padding: 14px 16px 18px;
}
.mo-kh {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.mo-kh > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 0 4px 10px;
  font-family: var(--f-mono);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-2);
}
.mo-kh b {
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-weight: 500;
}
.mo-kh .is-full b {
  background: rgba(255, 143, 176, 0.18);
  color: #ff8fb0;
}
.mo-cap-swap {
  display: grid;
}
.mo-cap-swap i {
  grid-area: 1 / 1;
  font-style: normal;
}
.mo-cap-swap .a {
  animation: mo-capa 12s infinite;
}
.mo-cap-swap .b {
  opacity: 0;
  animation: mo-capb 12s infinite;
}
@keyframes mo-capa {
  0%,
  36% {
    opacity: 1;
  }
  40%,
  96% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes mo-capb {
  0%,
  36% {
    opacity: 0;
  }
  40%,
  94% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.mo-kb {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  height: 200px;
}
.mo-kcol {
  position: relative;
  border-radius: 12px;
  border: 1px dashed var(--bd);
  background: rgba(255, 255, 255, 0.03);
}
.mo-kcol.is-full {
  border-color: rgba(255, 143, 176, 0.4);
  background: rgba(255, 143, 176, 0.06);
}
.mo-kcol em {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8px;
  text-align: center;
  font-family: var(--f-mono);
  font-style: normal;
  font-size: 0.56rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #ff8fb0;
}
.mo-kc {
  position: absolute;
  left: calc(var(--c) * ((100% - 16px) / 3 + 8px) + 6px);
  top: calc(6px + var(--r) * 56px);
  width: calc((100% - 16px) / 3 - 12px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1px 6px;
  padding: 7px 9px 8px;
  border-radius: 10px;
  border: 1px solid var(--bd-2);
  background: #151f63;
}
.mo-kc span {
  grid-area: 1 / 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: -0.01em;
}
.mo-kc b {
  grid-area: 1 / 2;
  font-family: var(--f-mono);
  font-size: 0.58rem;
  font-weight: 500;
  color: var(--cyan);
}
.mo-kc em {
  grid-column: 1 / -1;
  font-family: var(--f-mono);
  font-style: normal;
  font-size: 0.58rem;
  letter-spacing: 0.04em;
  color: var(--fg-2);
}
.mo-kc.is-full {
  border-color: rgba(255, 143, 176, 0.45);
}
.mo-kc.is-move {
  z-index: 2;
  animation: mo-move 12s var(--ease-out) infinite both;
}
@keyframes mo-move {
  0% {
    opacity: 0;
  }
  3%,
  12% {
    opacity: 1;
    transform: none;
  }
  16%,
  22% {
    transform: translateY(-5px) rotate(-2deg);
    border-color: #5eeaff;
    box-shadow: 0 16px 28px -10px rgba(0, 0, 0, 0.75);
  }
  38%,
  90% {
    opacity: 1;
    transform: translateX(calc((100cqw - 16px) / 3 + 8px));
    border-color: rgba(150, 170, 255, 0.32);
    box-shadow: none;
  }
  96%,
  100% {
    opacity: 0;
    transform: translateX(calc((100cqw - 16px) / 3 + 8px));
  }
}
@media (max-width: 460px) {
  .mo-kh > span {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    font-size: 0.5rem;
    padding-inline: 2px;
  }
  .mo-kc {
    padding: 6px 8px 7px;
  }
  .mo-kc span {
    grid-area: 1 / 1 / 2 / -1;
    font-size: 0.74rem;
  }
  .mo-kc b {
    grid-area: 2 / 1;
  }
  .mo-kc em {
    display: none;
  }
  .mo-kb {
    height: 178px;
  }
  .mo-kc {
    top: calc(6px + var(--r) * 50px);
  }
}
.mo-map-body {
  padding: 8px 12px 16px;
}
.mo-map-svg {
  width: 100%;
  height: auto;
}
.mo-r {
  stroke: rgba(160, 176, 255, 0.3);
  stroke-width: 1.2;
  stroke-linejoin: round;
}
.mo-r.r1 {
  fill: rgba(162, 61, 255, 0.12);
}
.mo-r.r2 {
  fill: rgba(31, 107, 255, 0.1);
}
.mo-r.r3 {
  fill: rgba(23, 205, 235, 0.09);
}
.mo-strait {
  fill: none;
  stroke: rgba(31, 107, 255, 0.3);
  stroke-width: 46;
  stroke-linecap: round;
}
.mo-rl {
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  fill: #8b98cf;
}
.mo-route {
  fill: none;
  stroke: #5eeaff;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.mo-pin path {
  stroke: #04061a;
  stroke-width: 1.2;
}
.mo-pin circle {
  fill: #fff;
}
.p-pos path {
  fill: #37e6a0;
}
.p-neg path {
  fill: #ff8fb0;
}
.p-fu path {
  fill: #ffc36b;
}
.mo-ring {
  fill: none;
  stroke: #5eeaff;
  stroke-width: 1.5;
}
.mo-visit {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 2px 4px 12px;
  padding: 9px 12px;
  border-radius: 14px;
  border: 1px solid var(--bd-2);
  background: rgba(10, 16, 52, 0.7);
  font-size: 0.76rem;
  animation: mo-visit 14s var(--ease-out) infinite both;
}
.mo-visit .pill {
  margin-left: auto;
}
.mo-visit-ico {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: var(--grad-btn);
  color: #fff;
  flex: none;
}
@keyframes mo-visit {
  0%,
  38% {
    opacity: 0;
    transform: translateY(8px);
  }
  44%,
  90% {
    opacity: 1;
    transform: none;
  }
  96%,
  100% {
    opacity: 0;
  }
}
.mo-tl {
  position: relative;
  padding: 14px 16px 4px;
}
.mo-tl::before {
  content: '';
  position: absolute;
  left: 79px;
  top: 34px;
  bottom: 18px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, #7fb6ff, rgba(127, 182, 255, 0.1));
  transform-origin: top;
  animation: mo-line 14s var(--ease-out) infinite both;
}
@keyframes mo-line {
  0% {
    transform: scaleY(0);
  }
  55%,
  90% {
    transform: scaleY(1);
    opacity: 1;
  }
  97%,
  100% {
    transform: scaleY(1);
    opacity: 0;
  }
}
.mo-ev {
  display: grid;
  grid-template-columns: 46px 16px minmax(0, 1fr) auto;
  gap: 0 12px;
  align-items: start;
  padding: 11px 0;
  animation: mo-rin 14s var(--ease-out) infinite both;
  animation-delay: calc(0.6s + var(--k) * 1.9s);
}
.mo-ev-t {
  padding-top: 3px;
  font-size: 0.62rem;
  color: var(--fg-3);
}
.mo-ev-dot {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: 12px;
  height: 12px;
  margin-top: 3px;
  border-radius: 50%;
  border: 2px solid #7fb6ff;
  background: var(--ink-900);
}
.mo-ev-b {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 8px;
  min-width: 0;
}
.mo-ev-b b {
  flex-basis: 100%;
  font-family: var(--f-display);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.mo-ev-a {
  font-size: 0.8rem;
  color: var(--fg-2);
}
.mo-diff {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  font-family: var(--f-mono);
  font-size: 0.68rem;
}
.mo-diff s {
  color: #ff8fb0;
  text-decoration-thickness: 1px;
}
.mo-diff u {
  color: #37e6a0;
  text-decoration: none;
}
.mo-reason {
  padding: 2px 10px;
  border-radius: 999px;
  border: 1px dashed rgba(255, 195, 107, 0.55);
  color: #ffc36b;
  font-family: var(--f-mono);
  font-size: 0.64rem;
}
.mo-ev-who {
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid var(--bd);
  font-family: var(--f-mono);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-2);
}
.mo-aud-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
  padding: 12px 16px 16px;
  border-top: 1px solid var(--bd);
}
.mo-aud-foot li {
  padding: 4px 11px;
  border-radius: 999px;
  border: 1px solid var(--bd-2);
  font-family: var(--f-mono);
  font-size: 0.6rem;
  letter-spacing: 0.06em;
  color: var(--fg-2);
}
@media (max-width: 520px) {
  .mo-ev {
    grid-template-columns: 40px 14px minmax(0, 1fr);
    gap: 0 8px;
  }
  .mo-ev-who {
    display: none;
  }
  .mo-tl::before {
    left: 70px;
  }
}
.mo-rep {
  padding-bottom: clamp(72px, 8vw, 120px);
}
.mo-rep-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
  gap: clamp(32px, 5vw, 88px);
  align-items: end;
}
.mo-rep .mo-copy h2 {
  max-width: 14ch;
}
.mo-bigs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 28px;
  padding-left: clamp(20px, 3vw, 40px);
  border-left: 1px solid var(--bd-2);
}
.mo-big-n {
  display: flex;
  align-items: flex-start;
  font-family: var(--f-display);
  font-weight: 700;
  font-size: clamp(4rem, 8.6vw, 7.6rem);
  line-height: 0.92;
  letter-spacing: -0.06em;
}
.mo-big-n b,
.mo-big-n i {
  font-weight: inherit;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(100deg, #8a2be2 0%, #3b3fe0 45%, #0a6fd8 100%);
  -webkit-background-clip: text;
  background-clip: text;
}
.mo-big-n i {
  margin: 0.08em 0 0 0.04em;
  font-size: 0.5em;
  font-style: normal;
}
.mo-big-l {
  display: block;
  margin-top: 10px;
  color: var(--fg);
  letter-spacing: 0.14em;
}
.mo-exp {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--bd);
  color: var(--fg-2);
  letter-spacing: 0.1em;
}
.mo-gr {
  margin-top: clamp(40px, 5vw, 72px);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.mo-gr li {
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid var(--bd-2);
  background: var(--card);
  font-family: var(--f-display);
  font-weight: 500;
}
.mo-gr b {
  color: var(--accent);
  font-size: 0.74rem;
  font-weight: 500;
}
.mo-rmq-wrap {
  margin-top: clamp(48px, 6vw, 84px);
  display: grid;
  gap: 14px;
}
.mo-rmq .marquee-track {
  gap: 12px;
  padding-right: 12px;
  animation-duration: 64s;
}
.mo-rmq:nth-child(2) .marquee-track {
  animation-duration: 78s;
}
.mo-rmq:nth-child(3) .marquee-track {
  animation-duration: 70s;
}
.mo-rchip {
  display: inline-flex;
  align-items: center;
  padding: 12px 22px;
  border-radius: 999px;
  border: 1px solid var(--bd-2);
  background: var(--card-2);
  font-family: var(--f-display);
  font-weight: 500;
  font-size: 1rem;
  color: var(--fg-2);
  white-space: nowrap;
}
@media (max-width: 900px) {
  .mo-rep-top {
    grid-template-columns: 1fr;
  }
  .mo-bigs {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--bd-2);
    padding-top: 24px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .mo-rrow,
  .mo-vrow,
  .mo-lrow,
  .mo-ev,
  .mo-visit,
  .mo-ok,
  .mo-fa,
  .mo-fb,
  .mo-tk,
  .mo-tk-ok,
  .mo-type,
  .mo-paper,
  .mo-meter i,
  .mo-cn-a,
  .mo-cn-b,
  .mo-kc.is-move,
  .mo-cap-swap i,
  .mo-tl::before,
  .mo-inv li,
  .mo-inv li i::after,
  .mo-inv-fill::after {
    animation: none !important;
  }
  .mo-type {
    max-width: none;
  }
  .mo-paper {
    clip-path: none;
  }
  .mo-fb,
  .mo-cn-b,
  .mo-cap-swap .a,
  .mo-tk-ok {
    display: none;
  }
  .mo-cap-swap .b {
    opacity: 1;
  }
  .mo-tk {
    transform: translateX(calc(var(--r) * 100cqw / 3));
  }
  .mo-tk-ok {
    display: grid;
    opacity: 1;
  }
  .mo-tk:not([style*='--r:2']) .mo-tk-ok {
    display: none;
  }
  .mo-inv li {
    color: #fff;
  }
  .mo-inv li i::after {
    opacity: 1;
  }
  .mo-kc.is-move {
    transform: translateX(calc((100cqw - 16px) / 3 + 8px));
  }
}
[data-page='faq'] .page-hero {
  padding-bottom: clamp(84px, 10vw, 140px);
}
.mo-down .ico {
  transform: rotate(90deg);
}
.fq-nav-c {
  font-family: var(--f-mono);
  font-size: 0.6rem;
  font-weight: 500;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #cfd8ff;
}
.mo-nav-row a.is-active .fq-nav-c {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
}
@media (max-width: 720px) {
  .fq-nav-c {
    display: none;
  }
}
.fq-art {
  position: relative;
  display: grid;
  gap: 12px;
  width: 100%;
  max-width: 470px;
  margin-inline: auto;
  padding: 26px 0 8px;
}
.fq-bubble {
  position: absolute;
  z-index: 2;
  right: -6px;
  top: -14px;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--grad-btn);
  box-shadow: 0 18px 40px -12px rgba(75, 76, 240, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.3);
  font-family: var(--f-serif);
  font-style: italic;
  font-size: 2.6rem;
  line-height: 1;
  color: #fff;
  animation: bob 7s ease-in-out infinite;
}
.fq-ac {
  border-radius: 20px;
  border: 1px solid var(--bd-2);
  background: rgba(10, 16, 52, 0.7);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  box-shadow: 0 30px 60px -34px rgba(0, 0, 0, 0.8);
  animation: fq-ac 12s var(--ease-out) infinite;
  animation-delay: calc(var(--k) * 4s - 1s);
}
.fq-ac:nth-of-type(2) {
  margin-left: 26px;
}
.fq-ac:nth-of-type(3) {
  margin-right: 26px;
}
.fq-ac-q {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
}
.fq-ac-q .mono {
  color: var(--cyan);
  font-size: 0.66rem;
}
.fq-ac-q b {
  flex: 1;
  font-family: var(--f-display);
  font-weight: 600;
  font-size: 1.02rem;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: #fff;
}
.fq-pm {
  position: relative;
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid var(--bd-2);
  animation: fq-pm 12s var(--ease-out) infinite;
  animation-delay: inherit;
}
.fq-pm::before,
.fq-pm::after {
  content: '';
  position: absolute;
  left: 8px;
  right: 8px;
  top: 50%;
  height: 1.5px;
  margin-top: -0.75px;
  background: #fff;
}
.fq-pm::after {
  transform: rotate(90deg);
  animation: fq-pm2 12s var(--ease-out) infinite;
  animation-delay: inherit;
}
.fq-ac-a {
  display: grid;
  grid-template-rows: 0fr;
  animation: fq-ans 12s var(--ease-out) infinite;
  animation-delay: inherit;
}
.fq-ac-a > div {
  display: grid;
  gap: 9px;
  min-height: 0;
  overflow: hidden;
  padding-inline: 18px;
}
@keyframes fq-ans {
  0%,
  2% {
    grid-template-rows: 0fr;
    padding-bottom: 0;
  }
  8%,
  30% {
    grid-template-rows: 1fr;
  }
  36%,
  100% {
    grid-template-rows: 0fr;
  }
}
@keyframes fq-ac {
  0%,
  2% {
    border-color: var(--bd-2);
  }
  8%,
  30% {
    border-color: rgba(94, 234, 255, 0.55);
  }
  36%,
  100% {
    border-color: var(--bd-2);
  }
}
@keyframes fq-pm {
  0%,
  2% {
    background: none;
    transform: none;
  }
  8%,
  30% {
    background: var(--grad-btn);
    border-color: transparent;
    transform: rotate(180deg);
  }
  36%,
  100% {
    background: none;
    transform: none;
  }
}
@keyframes fq-pm2 {
  0%,
  2% {
    transform: rotate(90deg);
  }
  8%,
  30% {
    transform: rotate(0);
  }
  36%,
  100% {
    transform: rotate(90deg);
  }
}
.fq-art:not(.is-live) * {
  animation-play-state: paused !important;
}
.fq-ac-a > div .skel:last-child {
  margin-bottom: 18px;
}
.fq-sec {
  --fq-r: clamp(28px, 4vw, 64px);
  padding-block: clamp(84px, 10vw, 140px);
  scroll-margin-top: 64px;
  overflow: clip;
}
.fq-cut {
  border-top-left-radius: var(--fq-r);
  border-top-right-radius: var(--fq-r);
  margin-top: calc(var(--fq-r) * -1);
  z-index: 2;
}
.fq-dark {
  background-color: var(--ink-900);
  background-image: radial-gradient(56% 44% at 92% 6%, rgba(75, 69, 240, 0.16), transparent 70%), radial-gradient(44% 40% at 2% 96%, rgba(23, 205, 235, 0.08), transparent 70%);
  color: #eaf0ff;
}
.fq-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(28px, 6vw, 110px);
  align-items: start;
}
.fq-head {
  position: sticky;
  top: 150px;
  min-width: 0;
  padding-top: 110px;
}
.fq-num {
  position: absolute;
  z-index: -1;
  left: -0.05em;
  top: -0.3em;
  font-family: var(--f-display);
  font-weight: 800;
  font-size: clamp(8rem, 15vw, 13rem);
  line-height: 0.8;
  letter-spacing: -0.06em;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(180deg, var(--bd-2), transparent 84%);
  -webkit-background-clip: text;
  background-clip: text;
  pointer-events: none;
  user-select: none;
}
.fq-glyph {
  position: absolute;
  right: 0;
  top: 44px;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  color: var(--accent);
}
.fq-glyph i {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1.5px dashed var(--bd-2);
  animation: spin 40s linear infinite;
}
.fq-glyph::after {
  content: '';
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background: var(--grad-soft);
  z-index: -1;
}
.fq-head h2 {
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  letter-spacing: -0.04em;
  line-height: 1.02;
}
.fq-intro {
  margin-top: 1.3rem;
  max-width: 34ch;
  color: var(--fg-2);
  font-size: 1.04em;
}
.fq-list {
  min-width: 0;
}
.fq-list .faq {
  counter-reset: q;
  border-top-color: var(--bd-2);
}
.fq-list .faq details {
  counter-increment: q;
  border-bottom-color: var(--bd);
}
.fq-list .faq summary {
  gap: 18px;
  padding: 24px 0;
  font-size: clamp(1.08rem, 1.6vw, 1.32rem);
}
.fq-list .faq summary::before {
  content: counter(q, decimal-leading-zero);
  flex: none;
  width: 2.4ch;
  font-family: var(--f-mono);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--accent);
  opacity: 0.85;
}
.fq-list .faq summary > span:first-of-type {
  flex: 1;
}
.fq-list .faq .ans {
  padding-left: calc(2.4ch + 18px);
  padding-right: 56px;
}
@media (hover: hover) and (pointer: fine) {
  .fq-list .faq summary {
    transition: padding-left 0.3s var(--ease-out);
  }
  .fq-list .faq details:not([open]) summary:hover {
    padding-left: 8px;
  }
}
.fq-list .faq details[open] summary::before {
  opacity: 1;
}
@media (max-width: 900px) {
  .fq-grid {
    grid-template-columns: 1fr;
  }
  .fq-head {
    position: relative;
    top: 0;
    padding-top: 100px;
  }
  .fq-list .faq .ans {
    padding-right: 0;
  }
}
.fq-ask {
  padding-block: clamp(84px, 10vw, 140px);
  scroll-margin-top: 64px;
}
.fq-ask-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.5fr) minmax(0, 1fr);
  gap: clamp(20px, 4vw, 64px);
  align-items: center;
  padding: clamp(32px, 5vw, 72px);
  border-radius: clamp(24px, 3vw, 40px);
  background: var(--ink-900);
  background-image: radial-gradient(70% 90% at 0% 0%, rgba(120, 60, 255, 0.35), transparent 62%), radial-gradient(60% 80% at 100% 100%, rgba(23, 205, 235, 0.18), transparent 60%);
  border: 1px solid rgba(120, 130, 255, 0.35);
  box-shadow: 0 60px 100px -50px rgba(20, 24, 120, 0.7);
  color: #eaf0ff;
  --fg: #eaf0ff;
  --fg-2: #aab5dd;
  --fg-3: #7d89bd;
  --bd: rgba(150, 170, 255, 0.16);
  --bd-2: rgba(150, 170, 255, 0.32);
  --accent: var(--cyan);
  overflow: hidden;
  isolation: isolate;
}
.theme-paper .fq-ask-card .btn-ghost {
  background: rgba(255, 255, 255, 0.04);
}
.fq-q {
  position: relative;
  justify-self: center;
  font-family: var(--f-serif);
  font-style: italic;
  font-size: clamp(9rem, 20vw, 17rem);
  line-height: 1;
  padding: 0.04em 0.24em 0.06em 0.16em;
  background: var(--grad);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  animation: bob 8s ease-in-out infinite;
}
.fq-q::before,
.fq-q::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 60%;
  aspect-ratio: 1;
  margin: -30% 0 0 -30%;
  border-radius: 50%;
  border: 1px solid rgba(94, 234, 255, 0.5);
  animation: ping 5s ease-out infinite;
  -webkit-text-fill-color: initial;
}
.fq-q::after {
  animation-delay: 2.5s;
}
.fq-ask-card .eyebrow {
  color: var(--cyan);
}
.fq-ask-card h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  letter-spacing: -0.04em;
  max-width: 16ch;
}
.fq-ask-t {
  margin: 1.3rem 0 1.9rem;
  max-width: 50ch;
  color: #aab5dd;
}
.fq-mail {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 1.6rem;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(150, 170, 255, 0.4);
  font-size: 0.86rem;
  letter-spacing: 0.04em;
  text-transform: none;
  color: #eaf0ff;
  word-break: break-all;
}
@media (max-width: 800px) {
  .fq-ask-card {
    grid-template-columns: 1fr;
    text-align: left;
  }
  .fq-q {
    justify-self: start;
    font-size: 8rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fq-ac,
  .fq-pm,
  .fq-ac-a,
  .fq-pm::after {
    animation: none !important;
  }
  .fq-ac:first-of-type .fq-ac-a {
    grid-template-rows: 1fr;
  }
}
