/* 命理 AI 解读区（bazi-ai-reading）— 高级简约，复用 xy-mingli-chart 样式语言与 tokens。
   规范：docs/12-bazi-ai-reading-layout-spec.md */

.xy-mingli-reading-area,
.xy-inquiry-reading-area {
  padding-block-start: clamp(var(--ui-space-4), 2vw, var(--ui-space-6));
  box-shadow: inset 0 1px 0 rgb(35 75 111 / 0.15);
}

.xy-mingli-reading {
  display: grid;
  min-inline-size: 0;
  gap: clamp(var(--ui-space-3), 1.6vw, var(--ui-space-5));
}

.xy-mingli-reading__heading {
  display: grid;
  gap: var(--ui-space-1);
}

.xy-mingli-reading__eyebrow {
  margin: 0;
  color: var(--xy-mingli-accent, #bd9345);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  line-height: 1.5;
}

.xy-mingli-reading__title {
  margin: 0;
  color: rgb(35 75 111 / 0.94);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.xy-mingli-reading__lede {
  margin: 0;
  color: rgb(56 82 102 / 0.72);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  line-height: 1.7;
}

.xy-mingli-reading__body {
  display: grid;
  min-inline-size: 0;
  gap: clamp(var(--ui-space-4), 2vh, var(--ui-space-6));
}

.xy-mingli-reading__section {
  display: grid;
  min-inline-size: 0;
  gap: var(--ui-space-2);
}

.xy-mingli-reading__section-title {
  display: flex;
  align-items: center;
  gap: var(--ui-space-3);
  margin: 0;
  color: rgb(35 75 111 / 0.94);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

.xy-mingli-reading__section-title::after {
  flex: 0 0 auto;
  inline-size: 1.9rem;
  block-size: 0.5rem;
  margin-inline-start: var(--ui-space-1);
  border: var(--ui-border-width) solid rgb(255 255 255 / 0.56);
  border-radius: 999px;
  content: "";
  background: rgb(211 173 83 / 0.22);
  box-shadow: 0 0.25rem 0.8rem rgb(154 113 28 / 0.18), inset 0 1px 0 rgb(255 255 255 / 0.5);
  backdrop-filter: blur(0.55rem) saturate(118%);
  -webkit-backdrop-filter: blur(0.55rem) saturate(118%);
}

.xy-mingli-reading__paragraph {
  margin: 0;
  color: var(--xy-mingli-ink, #173f60);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 1rem;
  line-height: 1.75;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}

.xy-mingli-reading__gates .xy-mingli-reading__paragraph {
  padding-inline-start: var(--ui-space-4);
  border-inline-start: 2px solid rgb(189 147 69 / 0.4);
  color: rgb(56 82 102 / 0.92);
}

/* 骨架屏（生成中） */
.xy-mingli-reading__skeleton {
  display: grid;
  gap: var(--ui-space-3);
  padding-block: var(--ui-space-2);
}

.xy-mingli-reading__skeleton-line {
  display: block;
  block-size: 0.875rem;
  border-radius: var(--ui-radius-small);
  background: linear-gradient(
    90deg,
    rgb(35 75 111 / 0.06),
    rgb(35 75 111 / 0.14),
    rgb(35 75 111 / 0.06)
  );
  background-size: 200% 100%;
  animation: xy-reading-shimmer 1.4s ease-in-out infinite;
}

.xy-mingli-reading__skeleton-line--short {
  inline-size: 62%;
}

@keyframes xy-reading-shimmer {
  from { background-position: 200% 0; }
  to { background-position: -200% 0; }
}

/* 状态与动作 */
.xy-mingli-reading__status-slot {
  min-block-size: 0;
}

.xy-mingli-reading__status {
  margin: 0;
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 0.875rem;
  line-height: 1.6;
}

.xy-mingli-reading__status--loading {
  color: rgb(56 82 102 / 0.72);
}

.xy-mingli-reading__status--error {
  color: var(--ui-color-element-fire, #ad3e36);
}

.xy-mingli-reading__action {
  justify-self: start;
  padding: var(--ui-space-2) var(--ui-space-5);
  border: var(--ui-border-width) solid rgb(184 148 51 / 0.56);
  border-radius: var(--ui-radius-medium);
  background: rgb(243 217 150 / 0.16);
  color: rgb(118 81 22 / 0.92);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  cursor: pointer;
  transition: background-color var(--ui-motion-duration-fast) var(--ui-motion-ease);
}

.xy-mingli-reading__action:hover {
  background: rgb(243 217 150 / 0.3);
}

.xy-mingli-reading__action:disabled {
  opacity: 0.55;
  cursor: default;
}

/* 术语徽章 */
.xy-mingli-reading__terms {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ui-space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}

.xy-mingli-reading__term {
  position: relative;
}

.xy-mingli-reading__term-button {
  padding: 0.1875rem 0.625rem;
  border: var(--ui-border-width) solid rgb(184 148 51 / 0.56);
  border-radius: var(--ui-radius-small);
  background: rgb(255 255 255 / 0.66);
  color: rgb(118 81 22 / 0.92);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  line-height: 1.4;
  cursor: pointer;
}

.xy-mingli-reading__term-gloss {
  display: none;
  position: absolute;
  z-index: var(--ui-z-menu);
  inset-block-start: calc(100% + var(--ui-space-2));
  inset-inline-start: 0;
  inline-size: max-content;
  max-inline-size: 16rem;
  padding: var(--ui-space-2) var(--ui-space-3);
  border: var(--ui-border-width) solid var(--ui-color-glass-edge);
  border-radius: var(--ui-radius-medium);
  background: var(--ui-color-glass-surface-strong);
  box-shadow: var(--ui-shadow-menu);
  backdrop-filter: blur(0.55rem);
  -webkit-backdrop-filter: blur(0.55rem);
  color: rgb(56 82 102 / 0.92);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 0.75rem;
  line-height: 1.6;
}

.xy-mingli-reading__term-button[aria-expanded="true"] + .xy-mingli-reading__term-gloss {
  display: block;
}

/* 免责 */
.xy-mingli-reading__disclaimer {
  margin: 0;
  color: rgb(56 82 102 / 0.72);
  font-family: "Noto Serif SC", "Songti SC", "STSong", serif;
  font-size: 0.6875rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-align: center;
}

/* 动效尊重减弱偏好 */
@media (prefers-reduced-motion: reduce) {
  .xy-mingli-reading__skeleton-line {
    animation: none;
  }
}
