.exam-shell {
  background:
    radial-gradient(circle at 12% 8%, rgba(234, 155, 51, .15), transparent 32%),
    linear-gradient(180deg, #fffaf1 0%, #fffdf8 52%, #f8efe1 100%);
}

.exam-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: 40px;
  min-height: 340px;
  padding: 58px 70px;
  overflow: hidden;
  border-bottom: 1px solid rgba(210, 157, 84, .25);
  background:
    linear-gradient(90deg, rgba(255, 248, 235, .98), rgba(255, 248, 235, .75)),
    radial-gradient(circle at 80% 25%, rgba(206, 138, 32, .22), transparent 30%);
}

.exam-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .42;
  background:
    linear-gradient(135deg, transparent 0 46%, rgba(171, 116, 47, .13) 46% 47%, transparent 47%),
    radial-gradient(circle at 18% 78%, rgba(50, 98, 70, .12), transparent 24%);
  pointer-events: none;
}

.exam-hero-copy,
.exam-scroll-art {
  position: relative;
  z-index: 1;
}

.exam-kicker {
  color: #b97822;
  letter-spacing: .18em;
  font-weight: 700;
}

.exam-hero h1 {
  margin: 14px 0 16px;
  color: #6f3d12;
  font-size: clamp(44px, 5vw, 76px);
  letter-spacing: .08em;
  font-family: "STKaiti", "KaiTi", serif;
}

.exam-hero-copy > p:not(.exam-kicker) {
  max-width: 760px;
  color: #7c6044;
  font-size: 20px;
  line-height: 1.8;
}

.exam-seal {
  display: inline-flex;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: 2px solid #c35b39;
  border-radius: 50%;
  color: #c35b39;
  font-weight: 800;
}

.exam-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.exam-hero-tags span {
  padding: 10px 16px;
  border: 1px solid rgba(222, 157, 73, .34);
  border-radius: 999px;
  background: rgba(255, 255, 255, .76);
  color: #7b561e;
  box-shadow: 0 10px 28px rgba(167, 113, 47, .08);
}

.exam-scroll-art {
  display: grid;
  place-items: center;
}

.exam-cap {
  width: 220px;
  height: 95px;
  margin-bottom: -20px;
  background:
    linear-gradient(25deg, transparent 48%, #26221d 49% 52%, transparent 53%),
    linear-gradient(155deg, transparent 42%, #3a3127 43% 58%, transparent 59%);
  filter: drop-shadow(0 18px 20px rgba(75, 45, 16, .18));
}

.exam-scroll {
  width: min(380px, 100%);
  min-height: 150px;
  padding: 34px 42px;
  border: 1px solid #ddb878;
  border-radius: 28px;
  background: linear-gradient(135deg, #fff7df, #f2c56e);
  box-shadow: 0 26px 50px rgba(142, 91, 24, .2);
  transform: rotate(-4deg);
}

.exam-scroll strong {
  display: block;
  color: #8a4d15;
  font-family: "STKaiti", "KaiTi", serif;
  font-size: 52px;
  letter-spacing: .2em;
}

.exam-scroll span {
  color: #8a653c;
}

.exam-page {
  max-width: 1320px;
  margin: -34px auto 60px;
  padding: 0 24px;
  position: relative;
  z-index: 2;
}

.exam-form-card,
.exam-result {
  border: 1px solid rgba(219, 174, 108, .42);
  border-radius: 28px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 24px 70px rgba(119, 80, 34, .12);
}

.exam-form-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 30px;
}

.exam-form-column {
  padding: 0 26px;
  border-right: 1px solid rgba(219, 174, 108, .32);
}

.exam-form-column:first-child {
  padding-left: 0;
}

.exam-form-column:nth-child(3) {
  padding-right: 0;
  border-right: 0;
}

.exam-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: #744615;
  font-size: 22px;
  font-weight: 800;
}

.exam-card-title span {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #eda128;
  color: #fff;
  font-size: 16px;
}

.exam-card-title small {
  color: #8c7358;
  font-size: 14px;
  font-weight: 500;
}

.exam-field,
.exam-check {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  margin-bottom: 18px;
  color: #654a30;
}

.exam-field > span {
  font-weight: 700;
}

.exam-field input,
.exam-field select,
.exam-day-row input {
  width: 100%;
  height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(206, 166, 112, .58);
  border-radius: 10px;
  background: #fffdf9;
  color: #523719;
  outline: none;
}

.exam-field input:focus,
.exam-field select:focus,
.exam-day-row input:focus {
  border-color: #e39925;
  box-shadow: 0 0 0 3px rgba(227, 153, 37, .12);
}

.exam-check {
  grid-template-columns: 96px minmax(0, 1fr);
}

.exam-check input {
  margin-right: 8px;
}

.exam-segment {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.exam-segment label {
  min-width: 72px;
  padding: 10px 14px;
  border: 1px solid rgba(206, 166, 112, .58);
  border-radius: 10px;
  background: #fffdf9;
  text-align: center;
  cursor: pointer;
}

.exam-segment input {
  display: none;
}

.exam-segment label:has(input:checked) {
  border-color: #e7a032;
  background: #fff3d7;
  color: #8b5211;
  font-weight: 800;
}

.exam-preview-list {
  display: grid;
  gap: 10px;
  margin-top: 24px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff9ec, #fff);
  border: 1px solid rgba(219, 174, 108, .32);
}

.exam-preview-list strong {
  color: #734715;
}

.exam-preview-list span {
  color: #7a6a58;
}

.exam-add-day {
  margin-left: auto;
  padding: 8px 12px;
  border: 1px solid rgba(222, 157, 73, .5);
  border-radius: 999px;
  background: #fff8ea;
  color: #a96711;
  cursor: pointer;
}

.exam-days-list {
  display: grid;
  gap: 12px;
}

.exam-day-row {
  display: grid;
  grid-template-columns: 32px 1fr 1fr 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(219, 174, 108, .36);
  border-radius: 16px;
  background: #fffaf2;
}

.exam-day-index {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #e49a24;
  color: #fff;
  font-weight: 800;
}

.exam-remove-day {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: #f7ead7;
  color: #9d6319;
  cursor: pointer;
}

.exam-hint,
.exam-status {
  color: #917d68;
  font-size: 14px;
}

.exam-wide-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: 28px;
  margin-top: 30px;
  padding-top: 28px;
  border-top: 1px solid rgba(219, 174, 108, .32);
}

.exam-price-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.exam-price-grid article {
  padding: 20px;
  border: 1px solid rgba(219, 174, 108, .45);
  border-radius: 18px;
  background: #fffdf8;
}

.exam-price-grid .is-featured {
  border-color: #e49a24;
  background: linear-gradient(145deg, #fff7e5, #fffdf8);
  box-shadow: 0 16px 34px rgba(186, 118, 20, .14);
}

.exam-price-grid strong {
  display: block;
  color: #694319;
  font-size: 18px;
}

.exam-price-grid b {
  display: block;
  margin: 12px 0;
  color: #c06f11;
  font-size: 30px;
}

.exam-privacy {
  padding: 22px;
  border-radius: 18px;
  background: #fff8eb;
  color: #75614a;
}

.exam-privacy strong {
  color: #6b4217;
}

.exam-disclaimer {
  margin-top: 12px;
  color: #9a6a2c;
}

.exam-submit-row {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  margin-top: 26px;
}

.exam-submit {
  min-width: 280px;
  border-radius: 999px;
}

.exam-result {
  margin-top: 28px;
  padding: 28px;
}

.exam-result-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.exam-result-grid article {
  min-height: 138px;
  padding: 22px;
  border: 1px solid rgba(219, 174, 108, .4);
  border-radius: 20px;
  background: linear-gradient(145deg, #fffdf8, #fff7e8);
}

.exam-result-grid span {
  color: #9a7135;
}

.exam-result-grid strong {
  display: block;
  margin: 10px 0;
  color: #2f6548;
  font-size: 24px;
}

.exam-blessing {
  margin-top: 20px;
  padding: 18px 22px;
  border-radius: 18px;
  background: #eef6ed;
  color: #315d42;
  font-weight: 700;
}

@media (max-width: 980px) {
  .exam-hero,
  .exam-form-card,
  .exam-wide-card,
  .exam-result-grid {
    grid-template-columns: 1fr;
  }

  .exam-hero {
    padding: 42px 24px;
  }

  .exam-form-column {
    padding: 0 0 24px;
    margin-bottom: 24px;
    border-right: 0;
    border-bottom: 1px solid rgba(219, 174, 108, .32);
  }

  .exam-form-column:nth-child(3) {
    border-bottom: 0;
  }

  .exam-day-row {
    grid-template-columns: 32px 1fr;
  }

  .exam-remove-day {
    grid-column: 2;
    justify-self: end;
  }
}

.exam-detail-page {
  max-width: 1380px;
  margin: 0 auto 70px;
  padding: 28px 24px 0;
}

.exam-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 30px;
  align-items: center;
  min-height: 260px;
  padding: 44px 56px;
  border: 1px solid rgba(219, 174, 108, .42);
  border-radius: 30px;
  background:
    radial-gradient(circle at 85% 20%, rgba(237, 161, 40, .18), transparent 30%),
    linear-gradient(135deg, #fff9ee, #fff);
  box-shadow: 0 24px 66px rgba(119, 80, 34, .11);
}

.exam-detail-hero h1 {
  margin: 8px 0 10px;
  color: #704013;
  font-family: "STKaiti", "KaiTi", serif;
  font-size: clamp(38px, 4vw, 58px);
  letter-spacing: .08em;
}

.exam-detail-hero p {
  color: #7f664c;
  line-height: 1.8;
}

.exam-generated-card {
  padding: 24px;
  border: 1px solid rgba(219, 174, 108, .45);
  border-radius: 24px;
  background: #fffdf8;
  text-align: center;
}

.exam-generated-card strong {
  display: block;
  color: #2f6548;
  font-size: 28px;
}

.exam-generated-card span {
  display: block;
  margin: 8px 0 18px;
  color: #8b735b;
}

.exam-detail-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 14px;
}

.exam-detail-actions .btn {
  padding: 9px 10px;
  font-size: 14px;
}

.exam-pages-wrap {
  margin-top: 26px;
  padding: 26px;
  border: 1px solid rgba(219, 174, 108, .42);
  border-radius: 28px;
  background: rgba(255, 255, 255, .85);
}

.exam-detail-pages {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}

.exam-report-page {
  position: relative;
  min-height: 330px;
  padding: 22px;
  border: 1px solid rgba(219, 174, 108, .5);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 253, 248, .96), rgba(255, 248, 235, .88)),
    radial-gradient(circle at 100% 0, rgba(230, 161, 65, .1), transparent 34%);
  box-shadow: 0 14px 32px rgba(119, 80, 34, .08);
  overflow: hidden;
}

.exam-report-page h2 {
  margin: 0 0 16px;
  color: #7b4818;
  font-family: "STKaiti", "KaiTi", serif;
  font-size: 24px;
}

.exam-report-page p,
.exam-report-page li {
  color: #6d5a45;
  line-height: 1.75;
}

.exam-page-no {
  position: absolute;
  left: 18px;
  bottom: 14px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #d89128;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.exam-cover-page {
  min-height: 250px;
  display: grid;
  place-content: center;
  text-align: center;
  background:
    radial-gradient(circle at 50% 100%, rgba(47, 101, 72, .12), transparent 40%);
}

.exam-cover-page strong,
.exam-blessing-page {
  color: #7b4818;
  font-family: "STKaiti", "KaiTi", serif;
  font-size: 36px;
  letter-spacing: .12em;
}

.exam-detail-kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.exam-detail-kv span {
  padding: 10px 12px;
  border-radius: 12px;
  background: #fff8ea;
  color: #8b735b;
}

.exam-detail-kv strong {
  display: block;
  margin-top: 5px;
  color: #513818;
}

.exam-chip {
  display: inline-block;
  margin: 0 6px 6px 0;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f4e4c6;
  color: #8d5610;
}

.exam-score-dots {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin: 14px 0;
}

.exam-score-dots span {
  padding: 10px 6px;
  border-radius: 14px;
  background: #fff8ea;
  color: #8b735b;
  text-align: center;
}

.exam-score-dots b {
  display: block;
  color: #2f6548;
  font-size: 20px;
}

.exam-detail-sections,
.exam-item-grid {
  display: grid;
  gap: 12px;
}

.exam-detail-sections section,
.exam-item-grid section {
  padding: 12px;
  border-radius: 14px;
  background: #fff8ea;
}

.exam-detail-sections h3,
.exam-item-grid h3 {
  margin: 0 0 6px;
  color: #2f6548;
}

.exam-list {
  margin: 0;
  padding-left: 22px;
}

.exam-checklist {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.exam-checklist span {
  padding: 8px 12px;
  border: 1px solid rgba(219, 174, 108, .42);
  border-radius: 999px;
  background: #fff8ea;
  color: #6d4a24;
}

.exam-print-mode .site-shell {
  background: #fff;
}

.exam-print-mode .exam-detail-page {
  max-width: none;
  padding: 0;
}

@media (max-width: 1280px) {
  .exam-detail-pages {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .exam-detail-hero,
  .exam-detail-pages {
    grid-template-columns: 1fr;
  }

  .exam-detail-actions,
  .exam-score-dots,
  .exam-detail-kv {
    grid-template-columns: 1fr;
  }
}

@media print {
  body,
  .exam-shell {
    background: #fff !important;
  }

  .site-header,
  .exam-detail-hero,
  .site-footer {
    display: none !important;
  }

  .exam-detail-page,
  .exam-pages-wrap {
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: #fff;
  }

  .exam-detail-pages {
    display: block;
  }

  .exam-report-page {
    min-height: auto;
    height: auto;
    margin: 0 0 16px;
    page-break-after: always;
    break-after: page;
    box-shadow: none;
  }
}

.exam-preview-page {
  max-width: 1320px;
  margin: 0 auto 60px;
  padding: 28px 24px 0;
}

.exam-preview-hero {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 24px;
  padding: 34px 40px;
  border: 1px solid rgba(219, 174, 108, .42);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 20%, rgba(236, 161, 44, .18), transparent 30%),
    linear-gradient(135deg, #fffaf0, #fff);
}

.exam-preview-hero h1 {
  margin: 8px 0 10px;
  color: #724417;
  font-family: "STKaiti", "KaiTi", serif;
  font-size: 44px;
}

.exam-preview-hero p {
  color: #80664b;
}

.exam-preview-order {
  min-width: 260px;
  padding: 20px;
  border-radius: 22px;
  background: #fff7e7;
  border: 1px solid rgba(219, 174, 108, .42);
  text-align: right;
}

.exam-preview-order span,
.exam-preview-order small {
  display: block;
  color: #9b7a55;
}

.exam-preview-order strong {
  display: block;
  margin: 10px 0;
  color: #2f6548;
  font-size: 22px;
}

.exam-preview-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: start;
}

.exam-preview-main,
.exam-preview-side {
  display: grid;
  gap: 22px;
}

.exam-preview-side {
  position: sticky;
  top: 20px;
}

.exam-summary-card {
  padding: 24px;
  border: 1px solid rgba(219, 174, 108, .4);
  border-radius: 24px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 16px 42px rgba(119, 80, 34, .08);
}

.exam-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.exam-info-grid span {
  padding: 14px 16px;
  border-radius: 16px;
  background: #fff9ef;
  color: #8b735b;
}

.exam-info-grid strong {
  display: block;
  margin-top: 8px;
  color: #543818;
  font-size: 18px;
}

.exam-days-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.exam-days-tabs button {
  min-width: 110px;
  padding: 10px 14px;
  border: 1px solid rgba(219, 174, 108, .5);
  border-radius: 999px;
  background: #fffaf2;
  color: #7c5e3c;
  cursor: pointer;
}

.exam-days-tabs button.is-active {
  background: linear-gradient(135deg, #f4c66e, #e89b22);
  color: #fff;
  border-color: transparent;
}

.exam-day-panels article {
  display: none;
  padding: 18px;
  border-radius: 18px;
  background: #fff9ef;
  border: 1px solid rgba(219, 174, 108, .34);
}

.exam-day-panels article.is-active {
  display: block;
}

.exam-day-panels strong {
  color: #694018;
}

.exam-locked-line,
.exam-lock-mini {
  margin-top: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(238, 226, 205, .74);
  color: #9b6b2f;
}

.exam-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.exam-bazi-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.exam-bazi-row span {
  min-width: 76px;
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff6df, #f3d28d);
  color: #70430f;
  text-align: center;
  font-size: 20px;
  font-weight: 800;
}

.exam-elements-chart {
  display: grid;
  gap: 12px;
}

.exam-element-bar {
  display: grid;
  grid-template-columns: 32px 1fr 48px;
  gap: 10px;
  align-items: center;
  color: #65492d;
}

.exam-element-bar i {
  height: 12px;
  border-radius: 999px;
  background: #f0e4d1;
  overflow: hidden;
}

.exam-element-bar b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #5b8a63, #e4a13c);
}

.exam-trend-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.exam-trend-list article {
  padding: 16px;
  border-radius: 18px;
  background: #fff9ef;
  border: 1px solid rgba(219, 174, 108, .34);
}

.exam-trend-list strong,
.exam-trend-list span {
  display: block;
}

.exam-trend-list strong {
  color: #6d4319;
}

.exam-trend-list span {
  margin: 8px 0;
  color: #2f6548;
}

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

.exam-advice-row {
  padding: 16px;
  border-radius: 16px;
  background: #fff9ef;
}

.exam-advice-row strong {
  color: #855313;
}

.exam-soft-locked,
.exam-blur-locked {
  position: relative;
  overflow: hidden;
}

.exam-soft-locked::after {
  content: "仅展示部分摘要";
  position: absolute;
  right: 18px;
  top: 18px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f1dfbf;
  color: #9a641e;
  font-size: 12px;
}

.exam-blur-locked > p {
  filter: blur(3px);
  user-select: none;
}

.exam-lock-mask {
  position: absolute;
  inset: auto 18px 18px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 248, 236, .92);
  border: 1px solid rgba(219, 174, 108, .42);
  color: #8e5a16;
  text-align: center;
  font-weight: 800;
}

.exam-unlock-card,
.exam-compare-card,
.exam-disclaimer-card {
  padding: 24px;
  border: 1px solid rgba(219, 174, 108, .42);
  border-radius: 24px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 48px rgba(119, 80, 34, .1);
}

.exam-unlock-card {
  background:
    radial-gradient(circle at 90% 20%, rgba(237, 161, 40, .22), transparent 34%),
    linear-gradient(145deg, #fffaf1, #fff);
}

.exam-unlock-badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: #f4d596;
  color: #8d5610;
  font-weight: 800;
}

.exam-unlock-card h2 {
  margin: 16px 0 10px;
  color: #6d4319;
  font-family: "STKaiti", "KaiTi", serif;
  font-size: 32px;
}

.exam-unlock-card p {
  color: #76634d;
  line-height: 1.8;
}

.exam-unlock-price {
  margin: 18px 0;
  color: #c57013;
  font-size: 36px;
  font-weight: 900;
}

.exam-compare-card table {
  width: 100%;
  border-collapse: collapse;
  color: #65492d;
}

.exam-compare-card th,
.exam-compare-card td {
  padding: 10px 8px;
  border-bottom: 1px solid rgba(219, 174, 108, .28);
  text-align: center;
}

.exam-compare-card td:first-child,
.exam-compare-card th:first-child {
  text-align: left;
}

.exam-disclaimer-card p {
  color: #806b55;
  line-height: 1.8;
}

@media (max-width: 980px) {
  .exam-preview-hero,
  .exam-preview-layout,
  .exam-preview-grid,
  .exam-info-grid,
  .exam-trend-list,
  .exam-first-advice {
    grid-template-columns: 1fr;
  }

  .exam-preview-hero {
    display: grid;
  }

  .exam-preview-side {
    position: static;
  }
}
