:root {
  --liuyao-gold: #c99a61;
  --liuyao-gold-bright: #e1bd81;
  --liuyao-gold-dim: rgba(198, 153, 95, 0.56);
  --liuyao-cyan: #77c2c4;
  --liuyao-line: rgba(180, 129, 70, 0.34);
  --liuyao-ink: #020911;
  --liuyao-panel: rgba(2, 13, 21, 0.64);
  --liuyao-panel-half: rgba(2, 13, 21, 0.5);
  --liuyao-font: "Noto Serif SC", "Source Han Serif SC", "思源宋体", "Songti SC", STSong, serif;
  --liuyao-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

.liuyao-page {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  grid-template-rows: clamp(58px, 7cqh, 76px) minmax(0, 1fr);
  min-width: 0;
  min-height: 100%;
  overflow: hidden;
  color: var(--liuyao-gold);
  background: var(--liuyao-ink);
  font-family: var(--liuyao-font);
  font-size: clamp(11px, 0.72cqw, 15px);
  letter-spacing: 0.08em;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  isolation: isolate;
}

.liuyao-page.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body:has(.liuyao-page.is-visible) {
  overflow: hidden;
}

.liuyao-page__backdrop {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
  background: var(--liuyao-ink);
}

.liuyao-page__background {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.liuyao-page__veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 62%, transparent 0 29%, rgba(0, 5, 9, 0.08) 48%, rgba(0, 4, 8, 0.36) 100%),
    linear-gradient(180deg, rgba(0, 5, 10, 0.3) 0 8%, transparent 26% 78%, rgba(0, 4, 8, 0.33)),
    linear-gradient(90deg, rgba(0, 4, 8, 0.42), transparent 25% 75%, rgba(0, 4, 8, 0.42));
  pointer-events: none;
}

.liuyao-page__stars {
  position: absolute;
  inset: 76px 0 0;
  pointer-events: none;
}

.liuyao-page__stars i {
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  background: rgba(211, 171, 108, 0.75);
  box-shadow: 0 0 8px rgba(211, 171, 108, 0.34);
  animation: liuyao-star-breathe 5.8s ease-in-out infinite alternate;
}

.liuyao-page__stars i:nth-child(1) { left: 17%; top: 21%; animation-delay: -1.4s; }
.liuyao-page__stars i:nth-child(2) { left: 35%; top: 13%; animation-delay: -3.1s; }
.liuyao-page__stars i:nth-child(3) { left: 65%; top: 18%; animation-delay: -4.6s; }
.liuyao-page__stars i:nth-child(4) { left: 79%; top: 30%; animation-delay: -2.2s; }
.liuyao-page__stars i:nth-child(5) { left: 54%; top: 9%; animation-delay: -5.1s; }

.liuyao-page__header {
  color: var(--liuyao-gold);
}

.liuyao-header__seal {
  width: min(26cqw, 400px);
  color: rgba(202, 163, 108, 0.62);
  font-size: 0.76em;
  letter-spacing: 0.2em;
}

.liuyao-content {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.liuyao-line-board,
.liuyao-result {
  position: absolute;
  top: clamp(92px, 10.5cqh, 114px);
  width: clamp(300px, 17.7cqw, 340px);
  min-height: clamp(590px, 65cqh, 665px);
  padding: clamp(24px, 1.65cqw, 32px);
  overflow: hidden;
  border-top: 1px solid rgba(192, 143, 82, 0.38);
  border-bottom: 1px solid rgba(192, 143, 82, 0.24);
  background: var(--liuyao-panel-half);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(4px);
}

.liuyao-line-board {
  left: clamp(38px, 3.1cqw, 60px);
}

.liuyao-result {
  right: clamp(38px, 3.1cqw, 60px);
}

.liuyao-line-board::before,
.liuyao-result::before,
.liuyao-line-board::after,
.liuyao-result::after {
  content: "";
  position: absolute;
  width: 42px;
  height: 42px;
  pointer-events: none;
}

.liuyao-line-board::before,
.liuyao-result::before {
  left: 0;
  top: 0;
  border-left: 1px solid rgba(195, 146, 86, 0.33);
  border-top: 1px solid rgba(195, 146, 86, 0.33);
}

.liuyao-line-board::after,
.liuyao-result::after {
  right: 0;
  bottom: 0;
  border-right: 1px solid rgba(195, 146, 86, 0.22);
  border-bottom: 1px solid rgba(195, 146, 86, 0.22);
}

.liuyao-line-board > header,
.liuyao-result > header {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(188, 138, 78, 0.23);
}

.liuyao-line-board header small,
.liuyao-result header small {
  grid-column: 1 / -1;
  margin-bottom: 6px;
  overflow: hidden;
  color: rgba(116, 190, 191, 0.51);
  font-size: 0.68em;
  letter-spacing: 0.34em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.liuyao-line-board h2,
.liuyao-result h2 {
  margin: 0;
  color: rgba(224, 182, 119, 0.9);
  font-size: clamp(22px, 1.5cqw, 29px);
  font-weight: 330;
  letter-spacing: 0.18em;
}

.liuyao-line-board header i,
.liuyao-result header i {
  width: 72px;
  height: 1px;
  margin-bottom: 7px;
  background: linear-gradient(90deg, rgba(197, 147, 88, 0.42), transparent);
}

.liuyao-lines {
  display: grid;
  gap: clamp(13px, 1.8cqh, 19px);
  margin: clamp(23px, 2.5cqh, 28px) 0 0;
  padding: 0;
  list-style: none;
}

.liuyao-lines li {
  display: grid;
  grid-template-columns: 3.4em minmax(0, 1fr) 4.6em;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  color: rgba(190, 153, 103, 0.42);
  transition: color 300ms ease, opacity 300ms ease;
}

.liuyao-lines li > span {
  font-size: 0.78em;
  letter-spacing: 0.18em;
}

.liuyao-lines li > i {
  display: flex;
  justify-content: center;
  gap: 0;
  height: 7px;
}

.liuyao-lines li > i b {
  display: block;
  width: 50%;
  height: 2px;
  margin-top: 2px;
  background: rgba(194, 150, 94, 0.2);
  transform: scaleX(0.08);
  transition: transform 600ms var(--liuyao-ease), background 300ms ease, box-shadow 300ms ease;
}

.liuyao-lines li > em {
  font-size: 0.72em;
  font-style: normal;
  text-align: right;
  letter-spacing: 0.12em;
}

.liuyao-lines li.is-yang > i b {
  width: 50%;
}

.liuyao-lines li.is-yang > i b:first-child {
  width: 100%;
}

.liuyao-lines li.is-yang > i b:last-child {
  display: none;
}

.liuyao-lines li.is-settled {
  color: rgba(219, 177, 115, 0.83);
}

.liuyao-lines li.is-settled > i b {
  background: rgba(215, 170, 105, 0.9);
  box-shadow: 0 0 8px rgba(207, 157, 91, 0.22);
  transform: scaleX(1);
}

.liuyao-lines li.is-yin > i {
  gap: 18%;
}

.liuyao-lines li.is-moving {
  color: rgba(232, 191, 127, 0.97);
}

.liuyao-lines li.is-moving > i b {
  animation: liuyao-line-flare 900ms ease-out 1;
}

.liuyao-line-board > p {
  margin: 26px 0 0;
  padding-top: 16px;
  border-top: 1px solid rgba(185, 134, 75, 0.17);
  color: rgba(113, 185, 187, 0.52);
  font-size: 0.72em;
  line-height: 1.8;
  letter-spacing: 0.2em;
}

.liuyao-altar {
  --liuyao-projection-axis-x: 50%;
  --liuyao-action-shift-x: clamp(9.5px, 0.595cqw, 11.4px);
  --liuyao-action-center-y: 28%;
  position: absolute;
  inset: 0 clamp(420px, 22cqw, 470px);
  min-width: 0;
}

.liuyao-intro {
  position: absolute;
  left: 50%;
  top: clamp(34px, 4.2cqh, 46px);
  width: min(44cqw, 680px);
  text-align: center;
  transform: translateX(-50%);
  pointer-events: none;
}

.liuyao-intro small {
  display: block;
  margin-bottom: 12px;
  color: rgba(115, 192, 193, 0.58);
  font-size: 0.7em;
  letter-spacing: 0.62em;
  text-indent: 0.62em;
}

.liuyao-intro h2 {
  margin: 0;
  color: rgba(225, 185, 124, 0.94);
  font-size: clamp(30px, 2.2cqw, 42px);
  font-weight: 280;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.48);
}

.liuyao-intro p {
  margin: 17px 0 0;
  color: rgba(198, 164, 115, 0.53);
  font-size: 0.8em;
  letter-spacing: 0.36em;
  text-indent: 0.36em;
}

.liuyao-coins {
  position: absolute;
  left: 50%;
  top: clamp(230px, 25cqh, 272px);
  width: min(43cqw, 730px);
  height: clamp(390px, 44cqh, 455px);
  perspective: 900px;
  transform: translateX(-50%);
}

.liuyao-altar__pulse {
  position: absolute;
  left: 50%;
  top: 57%;
  width: min(34cqw, 570px);
  aspect-ratio: 2.7 / 1;
  border: 1px solid rgba(109, 198, 201, 0.12);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(100, 191, 194, 0.08), transparent 62%);
  box-shadow: 0 0 42px rgba(88, 182, 187, 0.06);
  opacity: 0.44;
  transform: translate(-50%, -50%);
}

.liuyao-coin {
  position: absolute;
  left: 50%;
  top: 55%;
  width: clamp(126px, 8.2cqw, 158px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  transform-style: preserve-3d;
  transition: translate 420ms var(--liuyao-ease);
}

.liuyao-coin[data-coin="0"] { margin-left: clamp(-210px, -11.5cqw, -178px); margin-top: 16px; transform: translate(-50%, -50%) rotate(-8deg); }
.liuyao-coin[data-coin="1"] { margin-top: -17px; transform: translate(-50%, -50%) rotate(4deg); }
.liuyao-coin[data-coin="2"] { margin-left: clamp(178px, 11.5cqw, 210px); margin-top: 14px; transform: translate(-50%, -50%) rotate(10deg); }

.liuyao-coin__shadow {
  position: absolute;
  left: 50%;
  bottom: -23%;
  width: 115%;
  opacity: 0.34;
  filter: brightness(0.16) blur(2px);
  clip-path: ellipse(40% 18% at 50% 50%);
  mix-blend-mode: multiply;
  transform: translateX(-50%) scaleY(0.52);
}

.liuyao-coin-position,
.liuyao-coin-rotation {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  will-change: transform;
}

.liuyao-coin__face,
.liuyao-coin__side,
.liuyao-coin__glow {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.liuyao-coin__face,
.liuyao-coin__side {
  clip-path: circle(43.5% at 50% 50%);
  mix-blend-mode: multiply;
  backface-visibility: hidden;
  filter: contrast(1.05) saturate(0.92) brightness(1.17);
}

.liuyao-coin__face--back {
  transform: rotateX(180deg);
}

.liuyao-coin__side {
  opacity: 0;
  filter: contrast(1.12) saturate(0.86) brightness(1.12);
}

.liuyao-coin__glow {
  z-index: -1;
  opacity: 0;
  filter: hue-rotate(128deg) saturate(0.52) brightness(0.74);
  mix-blend-mode: screen;
}

.liuyao-question-form {
  position: absolute;
  left: 50%;
  bottom: clamp(56px, 6cqh, 64px);
  display: grid;
  grid-template-columns: minmax(190px, 0.82fr) minmax(420px, 2.25fr) minmax(190px, 0.9fr);
  align-items: end;
  gap: 0;
  width: min(58.4cqw, 1120px);
  min-height: 98px;
  border-top: 1px solid rgba(193, 145, 86, 0.31);
  border-bottom: 1px solid rgba(193, 145, 86, 0.24);
  background: var(--liuyao-panel-half);
  backdrop-filter: blur(5px);
  transform: translateX(-50%);
}

.liuyao-question-form label,
.liuyao-time {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 16px 18px;
  border-right: 1px solid rgba(185, 135, 76, 0.18);
}

.liuyao-question-form label > span,
.liuyao-time > span {
  color: rgba(118, 191, 192, 0.56);
  font-size: 0.66em;
  letter-spacing: 0.27em;
}

.liuyao-question-text > span {
  position: relative;
  color: rgba(151, 222, 219, 0.94) !important;
  font-size: 0.78em !important;
  font-weight: 500;
  letter-spacing: 0.34em !important;
  text-shadow: 0 0 14px rgba(92, 185, 188, 0.28);
}

.liuyao-question-text {
  padding-inline: 28px !important;
  background: radial-gradient(ellipse at center, rgba(72, 151, 154, 0.075), transparent 72%);
  box-shadow: inset 0 -1px rgba(111, 190, 190, 0.16);
}

.liuyao-question-form select,
.liuyao-question-form input {
  width: 100%;
  min-width: 0;
  height: 28px;
  padding: 0;
  border: 0;
  outline: 0;
  color: rgba(224, 184, 123, 0.88);
  background: transparent;
  font: 350 0.88em/1.4 var(--liuyao-font);
  letter-spacing: 0.12em;
}

.liuyao-question-form select {
  appearance: none;
  background: linear-gradient(45deg, transparent 50%, rgba(208, 164, 105, 0.72) 50%) right 2px center / 6px 6px no-repeat;
  cursor: pointer;
}

.liuyao-question-form select option {
  color: #d7ad72;
  background: #061018;
}

.liuyao-question-form input::placeholder {
  color: rgba(232, 194, 137, 0.76);
  font-size: 1.08em;
  letter-spacing: 0.17em;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.52);
}

.liuyao-question-form input:focus,
.liuyao-question-form select:focus-visible {
  color: var(--liuyao-gold-bright);
}

.liuyao-time strong {
  overflow: hidden;
  color: rgba(202, 165, 112, 0.66);
  font-size: 0.76em;
  font-weight: 350;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.liuyao-action {
  position: absolute;
  left: calc(var(--liuyao-projection-axis-x) + var(--liuyao-action-shift-x));
  top: var(--liuyao-action-center-y);
  bottom: auto;
  z-index: 4;
  display: grid;
  place-items: center;
  width: min(25cqw, 480px);
  height: clamp(78px, 9.5cqh, 96px);
  padding: 0;
  overflow: visible;
  border: 0;
  color: rgba(238, 201, 143, 0.97);
  background: transparent;
  box-shadow: none;
  transform: translate(-50%, -50%);
  cursor: pointer;
  transition:
    color 320ms ease,
    filter 320ms ease,
    opacity 260ms ease,
    transform 320ms var(--liuyao-ease);
  isolation: isolate;
  touch-action: manipulation;
}

.liuyao-action::before,
.liuyao-action::after {
  display: none;
}

.liuyao-action:hover,
.liuyao-action:focus-visible {
  color: var(--liuyao-gold-bright);
  filter: brightness(1.14);
  transform: translate(-50%, -50%) scale(1.015);
}

.liuyao-action:hover .liuyao-action__field,
.liuyao-action:focus-visible .liuyao-action__field {
  opacity: 1;
  filter: brightness(1.18);
}

.liuyao-action:hover .liuyao-action__arrow,
.liuyao-action:focus-visible .liuyao-action__arrow {
  transform: translateY(-50%) translateX(5px) rotate(45deg);
}

.liuyao-action:hover .liuyao-action__coin,
.liuyao-action:focus-visible .liuyao-action__coin {
  box-shadow: 0 0 14px rgba(210, 167, 102, 0.24);
}

.liuyao-action:focus-visible {
  outline: 1px solid rgba(219, 178, 114, 0.54);
  outline-offset: 4px;
}

.liuyao-action:active {
  filter: brightness(1.2);
  transform: translate(-50%, -50%) scale(0.985);
  transition-duration: 90ms;
}

.liuyao-action:disabled {
  cursor: wait;
  opacity: 0.54;
  transform: translate(-50%, -50%);
}

.liuyao-action[hidden] {
  display: none;
}

.liuyao-altar:has(.liuyao-action:hover) .liuyao-coin,
.liuyao-altar:has(.liuyao-action:focus-visible) .liuyao-coin {
  translate: 0 -3px;
}

.liuyao-altar:has(.liuyao-action:hover) .liuyao-altar__pulse,
.liuyao-altar:has(.liuyao-action:focus-visible) .liuyao-altar__pulse {
  border-color: rgba(109, 211, 211, 0.22);
  box-shadow: 0 0 26px rgba(69, 174, 180, 0.12);
}

.liuyao-action__field {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.78;
  background: transparent;
  box-shadow: none;
  filter: none;
  transition: opacity 400ms ease, filter 400ms ease;
}

.liuyao-action__line {
  position: absolute;
  background: rgba(205, 161, 96, 0.48);
  box-shadow: 0 0 7px rgba(197, 148, 85, 0.08);
}

.liuyao-action__line--top,
.liuyao-action__line--bottom {
  left: 50%;
  width: clamp(116px, 7.8cqw, 150px);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(205, 161, 96, 0.54) 12% 88%, transparent);
}

.liuyao-action__line--top {
  top: 0;
}

.liuyao-action__line--bottom {
  bottom: 0;
}

.liuyao-action__line--left,
.liuyao-action__line--right {
  top: 14%;
  bottom: 14%;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(205, 161, 96, 0.66) 18% 82%, transparent);
}

.liuyao-action__line--left {
  left: 18%;
}

.liuyao-action__line--right {
  right: 18%;
}

.liuyao-action__coin {
  position: absolute;
  left: 27%;
  top: 50%;
  width: clamp(25px, 1.75cqw, 34px);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(220, 179, 115, 0.78);
  box-shadow: 0 0 8px rgba(202, 156, 93, 0.1);
  transform: translate(-50%, -50%);
  transition: box-shadow 360ms ease;
}

.liuyao-action__coin::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 28%;
  aspect-ratio: 1;
  border: 1px solid rgba(224, 184, 122, 0.82);
  transform: translate(-50%, -50%) rotate(45deg);
}

.liuyao-action__arrow {
  position: absolute;
  right: 27%;
  top: 50%;
  width: clamp(10px, 0.7cqw, 14px);
  aspect-ratio: 1;
  border-right: 1px solid rgba(226, 184, 119, 0.86);
  border-top: 1px solid rgba(226, 184, 119, 0.86);
  transform: translateY(-50%) rotate(45deg);
  transition: transform 400ms var(--liuyao-ease);
}

.liuyao-action > strong {
  position: relative;
  z-index: 2;
  max-width: 58%;
  color: rgba(232, 196, 139, 0.96);
  font: 520 clamp(18px, 1.35cqw, 26px)/1 var(--liuyao-font);
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  text-shadow:
    0 2px 9px rgba(0, 4, 7, 0.98),
    0 0 12px rgba(199, 151, 81, 0.24);
  white-space: nowrap;
}

.liuyao-page.is-action-releasing .liuyao-action > strong {
  animation: liuyao-action-label-release 430ms ease-in forwards;
}

.liuyao-page.is-action-releasing .liuyao-action__field {
  animation: liuyao-action-field-release 430ms ease-in forwards;
}

.liuyao-page.is-action-releasing .liuyao-action::before {
  animation: liuyao-action-beam-retract 430ms ease-in forwards;
}

.liuyao-status {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  margin: 0;
  padding: 4px 30px 8px;
  color: rgba(244, 207, 148, 0.98);
  background:
    linear-gradient(90deg, transparent, rgba(206, 155, 91, 0.58), transparent) bottom center / 100% 1px no-repeat,
    radial-gradient(ellipse at center, rgba(0, 7, 12, 0.68), rgba(0, 7, 12, 0.18) 58%, transparent 78%);
  font-size: 0.87em;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-shadow:
    0 2px 5px rgba(0, 0, 0, 0.96),
    0 0 10px rgba(209, 151, 82, 0.52),
    0 0 20px rgba(190, 128, 64, 0.2);
  transform: translateX(-50%);
  white-space: nowrap;
}

.liuyao-status.is-error {
  color: rgba(239, 190, 125, 0.98);
  font-size: 0.86em;
  text-shadow: 0 0 16px rgba(213, 142, 74, 0.32), 0 2px 8px rgba(0, 0, 0, 0.82);
}

.liuyao-result__empty {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 480px;
  color: rgba(193, 154, 102, 0.3);
  text-align: center;
}

.liuyao-result__empty[hidden],
.liuyao-result__body[hidden] {
  display: none;
}

.liuyao-result__empty span {
  font-size: 70px;
  opacity: 0.38;
}

.liuyao-result__empty p {
  margin: 20px 0 0;
  font-size: 0.76em;
  line-height: 2;
  letter-spacing: 0.24em;
}

.liuyao-result__body {
  padding-top: 18px;
}

.liuyao-hexagram-pair {
  display: grid;
  grid-template-columns: 1fr 1px 1fr;
  gap: 17px;
  text-align: center;
}

.liuyao-hexagram-pair > i {
  background: linear-gradient(180deg, transparent, rgba(189, 138, 79, 0.32), transparent);
}

.liuyao-hexagram-pair article small {
  color: rgba(115, 188, 190, 0.54);
  font-size: 0.66em;
  letter-spacing: 0.28em;
}

.liuyao-hexagram-pair article strong {
  display: block;
  margin: 6px 0 2px;
  color: rgba(224, 181, 119, 0.88);
  font-size: 43px;
  font-weight: 300;
  line-height: 1;
}

.liuyao-hexagram-pair article h3 {
  margin: 0;
  color: rgba(229, 188, 127, 0.92);
  font-size: 1.2em;
  font-weight: 350;
  letter-spacing: 0.18em;
}

.liuyao-result__moving {
  display: flex;
  justify-content: space-between;
  margin: 17px 0 0;
  padding: 10px 0;
  border-top: 1px solid rgba(185, 134, 75, 0.19);
  border-bottom: 1px solid rgba(185, 134, 75, 0.19);
  font-size: 0.76em;
}

.liuyao-result__moving span {
  color: rgba(115, 190, 191, 0.57);
}

.liuyao-result__moving b {
  color: rgba(218, 176, 115, 0.82);
  font-weight: 350;
}

.liuyao-result__technical {
  position: relative;
  margin-top: 14px;
  padding: 0 0 0 14px;
  border-left: 1px solid rgba(190, 140, 81, 0.26);
}

.liuyao-result__technical > small {
  display: block;
  margin-bottom: 7px;
  color: rgba(115, 190, 191, 0.64);
  font-size: 0.61em;
  letter-spacing: 0.3em;
}

.liuyao-result__judgment,
.liuyao-result__advice {
  margin: 0;
  color: rgba(211, 175, 125, 0.7);
  font-size: 0.7em;
  line-height: 1.78;
  letter-spacing: 0.08em;
}

.liuyao-result__advice {
  margin-top: 5px;
  color: rgba(202, 164, 108, 0.86);
}

.liuyao-result__plain {
  position: relative;
  margin-top: 15px;
  padding: 13px 13px 14px 16px;
  overflow: hidden;
  border-left: 1px solid rgba(112, 197, 198, 0.36);
  background:
    radial-gradient(ellipse at 0 50%, rgba(87, 174, 177, 0.09), transparent 70%),
    linear-gradient(90deg, rgba(5, 25, 32, 0.32), transparent);
}

.liuyao-result__plain::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 50%;
  width: 40px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(104, 199, 198, 0.18);
  filter: blur(16px);
  transform: translateY(-50%);
  animation: liuyao-plain-breathe 6.8s ease-in-out infinite;
  pointer-events: none;
}

.liuyao-result__plain > header {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
}

.liuyao-result__plain header small {
  flex: none;
  margin: 0;
  color: rgba(222, 184, 127, 0.88);
  font-size: 0.66em;
  font-weight: 450;
  letter-spacing: 0.28em;
}

.liuyao-result__plain header i {
  width: 54px;
  height: 1px;
  background: linear-gradient(90deg, rgba(206, 158, 98, 0.42), transparent);
}

.liuyao-result__plain p {
  position: relative;
  margin: 10px 0 0;
  color: rgba(133, 197, 198, 0.84);
  font-size: 0.81em;
  font-weight: 360;
  line-height: 1.95;
  letter-spacing: 0.075em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.48);
}

.liuyao-result__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 17px auto 0;
}

#liuyao-detail-open {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 0;
  padding: 8px 15px;
  border: 0;
  border-bottom: 1px solid rgba(199, 150, 91, 0.42);
  color: rgba(221, 179, 117, 0.82);
  background: transparent;
  font: 380 0.75em/1 var(--liuyao-font);
  letter-spacing: 0.2em;
  cursor: pointer;
}

#liuyao-detail-open i {
  width: 7px;
  height: 7px;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 260ms ease;
}

#liuyao-detail-open:hover i,
#liuyao-detail-open:focus-visible i {
  transform: translateX(4px) rotate(45deg);
}

.liuyao-recast {
  position: absolute;
  left: 50%;
  bottom: clamp(25px, 3cqh, 34px);
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid rgba(188, 137, 78, 0.34);
  color: rgba(218, 177, 119, 0.68);
  background: rgba(4, 18, 26, 0.46);
  box-shadow: inset 0 0 12px rgba(184, 135, 75, 0.04);
  font: 430 0.7em/1 var(--liuyao-font);
  letter-spacing: 0.14em;
  transform: translateX(-50%);
  cursor: pointer;
  transition: color 260ms ease, border-color 260ms ease, background-color 260ms ease, opacity 260ms ease;
}

.liuyao-recast[hidden] {
  display: none;
}

.liuyao-recast i {
  position: relative;
  width: 10px;
  aspect-ratio: 1;
  border: 1px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
}

.liuyao-recast i::after {
  content: "";
  position: absolute;
  right: -2px;
  top: -1px;
  width: 4px;
  height: 4px;
  border-right: 1px solid currentColor;
  border-top: 1px solid currentColor;
  transform: rotate(18deg);
}

.liuyao-recast:hover,
.liuyao-recast:focus-visible {
  color: rgba(224, 183, 122, 0.82);
  border-color: rgba(202, 151, 90, 0.48);
  background: rgba(7, 25, 33, 0.48);
}

.liuyao-recast:disabled {
  cursor: wait;
  opacity: 0.34;
}

.liuyao-disclaimer {
  position: absolute;
  left: 50%;
  bottom: 5px;
  margin: 0;
  color: rgba(184, 153, 110, 0.35);
  font-size: 0.58em;
  letter-spacing: 0.14em;
  transform: translateX(-50%);
  white-space: nowrap;
  pointer-events: none;
}

.liuyao-detail,
.liuyao-reset-dialog {
  padding: 0;
  overflow: visible;
  border: 0;
  color: var(--liuyao-gold);
  background: transparent;
  font-family: var(--liuyao-font);
}

.liuyao-detail {
  width: min(82vw, 1570px);
  max-width: none;
  height: min(86vh, 890px);
  max-height: none;
}

.liuyao-detail::backdrop,
.liuyao-reset-dialog::backdrop {
  background: rgba(0, 5, 9, 0.72);
  backdrop-filter: blur(5px);
}

.liuyao-detail__frame {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(191, 140, 80, 0.52);
  background:
    radial-gradient(circle at 50% 0, rgba(79, 169, 174, 0.06), transparent 42%),
    rgba(2, 13, 21, 0.96);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.52), inset 0 0 70px rgba(0, 0, 0, 0.24);
  will-change: transform, opacity;
}

.liuyao-detail__frame > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 30px;
  border-bottom: 1px solid rgba(184, 133, 75, 0.29);
}

.liuyao-detail__frame header small {
  color: rgba(113, 188, 189, 0.54);
  font-size: 0.7em;
  letter-spacing: 0.34em;
}

.liuyao-detail__frame header h2 {
  margin: 5px 0 0;
  color: rgba(226, 185, 123, 0.94);
  font-size: 25px;
  font-weight: 340;
  letter-spacing: 0.18em;
}

#liuyao-detail-close {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(191, 140, 80, 0.38);
  border-radius: 50%;
  color: rgba(220, 177, 116, 0.74);
  background: rgba(3, 15, 23, 0.5);
  font: 300 24px/1 var(--liuyao-font);
  cursor: pointer;
}

.liuyao-detail__content {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  align-content: start;
  gap: 18px;
  min-height: 0;
  padding: 24px 30px 36px;
  overflow: auto;
  scrollbar-color: rgba(188, 138, 78, 0.36) transparent;
}

.liuyao-detail-section {
  min-width: 0;
  padding: 20px 22px;
  border-top: 1px solid rgba(186, 136, 77, 0.28);
  background: linear-gradient(110deg, rgba(8, 27, 35, 0.48), rgba(3, 15, 23, 0.22));
}

.liuyao-detail-section--wide {
  grid-column: 1 / -1;
}

.liuyao-detail-section__header {
  display: block;
  margin: 0 0 15px;
  padding: 0 0 12px;
  border-bottom: 1px solid rgba(183, 132, 73, 0.14);
}

.liuyao-detail-section__header small {
  display: block;
  margin-bottom: 5px;
  color: rgba(108, 184, 186, 0.48);
  font-size: 0.62em;
  letter-spacing: 0.28em;
}

.liuyao-detail-section h3 {
  margin: 0;
  color: rgba(224, 183, 121, 0.9);
  font-size: 1em;
  font-weight: 350;
  letter-spacing: 0.16em;
}

.liuyao-detail-section p,
.liuyao-detail-section li,
.liuyao-detail-section dd,
.liuyao-detail-section dt {
  color: rgba(207, 174, 126, 0.7);
  font-size: 0.78em;
  line-height: 1.9;
}

.liuyao-detail-section dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 0;
}

.liuyao-detail-section dl > div {
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: 10px;
}

.liuyao-detail-section--structure {
  display: grid;
  grid-template-columns: minmax(270px, 0.72fr) minmax(0, 1.28fr);
  gap: 18px 30px;
}

.liuyao-detail-section--structure > .liuyao-detail-section__header {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.liuyao-structure-facts {
  align-content: start;
  grid-template-columns: 1fr !important;
}

.liuyao-structure-facts > div {
  grid-template-columns: 5.4em 1fr !important;
}

.liuyao-detail-section dt {
  color: rgba(114, 189, 190, 0.56);
}

.liuyao-detail-section dd {
  margin: 0;
}

.liuyao-detail-section ul {
  margin: 0;
  padding-left: 1.4em;
}

.liuyao-detail-lines {
  display: grid;
  gap: 8px;
  align-self: start;
}

.liuyao-detail-line {
  display: grid;
  grid-template-columns: 3em 3.6em 3.6em 4.2em 4.2em minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(177, 127, 70, 0.12);
  color: rgba(211, 176, 125, 0.72);
  font-size: 0.77em;
}

.liuyao-detail-line b {
  color: rgba(224, 181, 119, 0.89);
  font-weight: 350;
}

.liuyao-detail-section--judgment {
  background:
    radial-gradient(circle at 0 0, rgba(79, 169, 174, 0.075), transparent 48%),
    linear-gradient(110deg, rgba(8, 27, 35, 0.5), rgba(3, 15, 23, 0.24));
}

.liuyao-evidence-chain {
  margin-top: 15px !important;
  padding-top: 12px !important;
  border-top: 1px solid rgba(178, 127, 69, 0.13);
}

.liuyao-modern-item {
  min-width: 0;
}

.liuyao-modern-item small {
  display: block;
  margin-bottom: 6px;
  color: rgba(113, 190, 191, 0.64);
  font-size: 0.64em;
  letter-spacing: 0.24em;
}

.liuyao-modern-item p {
  margin: 0;
}

.liuyao-source-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.liuyao-source-card {
  min-width: 0;
  padding: 17px 18px;
  border-left: 1px solid rgba(184, 134, 75, 0.24);
  background: linear-gradient(90deg, rgba(6, 24, 32, 0.48), rgba(2, 14, 22, 0.16));
}

.liuyao-source-card:first-child {
  grid-column: 1 / -1;
}

.liuyao-source-card > header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 16px;
  margin-bottom: 12px;
}

.liuyao-source-card h4 {
  margin: 0;
  color: rgba(229, 188, 126, 0.92);
  font-size: 0.92em;
  font-weight: 400;
  letter-spacing: 0.13em;
}

.liuyao-source-card header p {
  margin: 0;
  color: rgba(137, 181, 177, 0.55);
  font-size: 0.64em;
}

.liuyao-source-card__group {
  margin-top: 11px;
}

.liuyao-source-card__group > small,
.liuyao-source-card__meaning > small {
  display: block;
  color: rgba(112, 188, 189, 0.58);
  font-size: 0.6em;
  letter-spacing: 0.23em;
}

.liuyao-source-card__group ul {
  margin-top: 5px;
}

.liuyao-source-card__group--original li {
  color: rgba(225, 190, 139, 0.77);
}

.liuyao-source-card__meaning {
  margin-top: 13px;
  padding-top: 10px;
  border-top: 1px solid rgba(181, 131, 72, 0.12);
}

.liuyao-source-card__meaning p {
  margin: 5px 0 0;
  color: rgba(226, 216, 195, 0.76);
}

.liuyao-modern-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: rgba(182, 132, 74, 0.12);
}

.liuyao-modern-grid .liuyao-modern-item {
  padding: 16px 18px;
  background: rgba(2, 15, 23, 0.86);
}

.liuyao-detail-section--conclusion {
  position: relative;
  display: grid;
  grid-template-columns: minmax(112px, 0.22fr) minmax(0, 1.78fr);
  gap: 10px 24px;
  overflow: visible;
}

.liuyao-detail-section--conclusion > .liuyao-detail-section__header {
  grid-column: 1 / -1;
}

.liuyao-detail-section--conclusion::after {
  content: "";
  position: absolute;
  right: 2%;
  top: 22%;
  width: 150px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(88, 183, 184, 0.07);
  filter: blur(48px);
  pointer-events: none;
}

.liuyao-detail-verdict {
  grid-row: span 2;
  align-self: stretch;
  display: grid;
  place-items: center;
  border-right: 1px solid rgba(185, 135, 75, 0.2);
  color: rgba(233, 192, 130, 0.94);
  font-size: 1.25em;
  font-weight: 400;
  letter-spacing: 0.2em;
}

.liuyao-detail-plain-summary,
.liuyao-detail-action {
  position: relative;
  z-index: 1;
  margin: 0 !important;
}

.liuyao-detail-plain-summary {
  color: rgba(235, 225, 204, 0.84) !important;
  font-size: 0.84em !important;
}

.liuyao-detail-action {
  color: rgba(137, 196, 193, 0.72) !important;
}

.liuyao-detail-section--conclusion > ul {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(178, 128, 70, 0.12);
}

.liuyao-detail-trace summary {
  color: rgba(209, 173, 120, 0.66);
  font-size: 0.75em;
  letter-spacing: 0.13em;
  cursor: pointer;
}

.liuyao-detail-trace ul {
  margin-top: 14px;
}

.liuyao-reset-dialog {
  width: 430px;
}

.liuyao-reset-dialog form {
  position: relative;
  padding: 38px;
  border: 1px solid rgba(190, 140, 81, 0.48);
  background: rgba(2, 13, 21, 0.97);
  text-align: center;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.52);
}

.liuyao-reset-dialog form > i {
  display: block;
  width: 15px;
  aspect-ratio: 1;
  margin: 0 auto 18px;
  border: 1px solid rgba(115, 193, 194, 0.5);
  border-radius: 50%;
  box-shadow: 0 0 15px rgba(115, 193, 194, 0.16);
}

.liuyao-reset-dialog h2 {
  margin: 0;
  font-size: 23px;
  font-weight: 350;
  letter-spacing: 0.22em;
  text-indent: 0.22em;
}

.liuyao-reset-dialog p {
  margin: 18px 0 26px;
  color: rgba(207, 174, 126, 0.68);
  font-size: 0.82em;
  line-height: 1.8;
}

.liuyao-reset-dialog form div {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.liuyao-reset-dialog button {
  min-width: 112px;
  padding: 9px 13px;
  border: 1px solid rgba(188, 137, 78, 0.36);
  color: rgba(217, 176, 116, 0.77);
  background: rgba(7, 24, 31, 0.52);
  font: inherit;
  cursor: pointer;
}

.liuyao-reset-dialog button:hover,
.liuyao-reset-dialog button:focus-visible {
  color: var(--liuyao-gold-bright);
  border-color: rgba(211, 160, 96, 0.62);
}

@keyframes liuyao-star-breathe {
  0%, 45% { opacity: 0.22; }
  100% { opacity: 0.72; }
}

@keyframes liuyao-line-flare {
  0% { box-shadow: 0 0 0 rgba(210, 162, 97, 0); }
  45% { box-shadow: 0 0 16px rgba(210, 162, 97, 0.58); }
  100% { box-shadow: 0 0 8px rgba(207, 157, 91, 0.22); }
}

@keyframes liuyao-plain-breathe {
  0%, 100% { opacity: 0.46; transform: translateY(-50%) scale(0.94); }
  50% { opacity: 0.78; transform: translateY(-50%) scale(1.08); }
}

@keyframes liuyao-action-field-breathe {
  0%, 100% { opacity: 0.64; transform: scale(0.985); }
  50% { opacity: 0.92; transform: scale(1.018); }
}

@keyframes liuyao-action-base-breathe {
  0%, 100% { opacity: 0.42; transform: translateX(-50%) scale(0.94); }
  50% { opacity: 0.82; transform: translateX(-50%) scale(1.06); }
}

@keyframes liuyao-action-beam-breathe {
  0%, 100% { opacity: 0.3; filter: blur(2.8px); }
  50% { opacity: 0.58; filter: blur(2.1px); }
}

@keyframes liuyao-action-main-breathe {
  0%, 100% { opacity: 0.58; box-shadow: inset 0 0 8px rgba(77, 190, 191, 0.06), 0 0 7px rgba(77, 190, 191, 0.08); }
  50% { opacity: 0.94; box-shadow: inset 0 0 11px rgba(77, 190, 191, 0.11), 0 0 14px rgba(77, 190, 191, 0.17); }
}

@keyframes liuyao-action-pulse-ring {
  0% { opacity: 0.42; transform: scale(0.92); }
  74%, 100% { opacity: 0; transform: scale(1.18); }
}

@keyframes liuyao-action-label-release {
  0% { opacity: 1; transform: translateY(0); }
  58% { opacity: 0.18; transform: translateY(2px); }
  100% { opacity: 0; transform: translateY(4px); }
}

@keyframes liuyao-action-field-release {
  0% { opacity: 0.9; transform: scale(1); }
  68% { opacity: 0.5; transform: scale(1.16); }
  100% { opacity: 0; transform: scale(1.23); }
}

@keyframes liuyao-action-beam-retract {
  0% { opacity: 0.62; clip-path: polygon(39% 0, 61% 0, 79% 100%, 21% 100%); }
  100% { opacity: 0; clip-path: polygon(48% 100%, 52% 100%, 56% 100%, 44% 100%); }
}

@media (prefers-reduced-motion: reduce) {
  .liuyao-page *,
  .liuyao-page *::before,
  .liuyao-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
