/* B 型正文模板。变量全部映射回首页真实设计令牌。 */
:root {
  --shell-ink: var(--ink);
  --shell-ink-soft: var(--mute);
  --shell-line: var(--line);
  --shell-accent: var(--accent);
  --shell-accent-deep: var(--accent-action);
  --shell-sea: var(--ink-2);
  --shell-moss: var(--mute-2);
  --shell-serif: var(--f-cn);
  --shell-en: var(--f-en);
  --shell-paper-light: var(--bg-3);
}

.article-body .phrase-nowrap,
.story-route h2 .phrase-nowrap {
  white-space: nowrap;
}

/* B · 判断决策型正文。清单文章使用同一正文类型的实用清单子场景。 */
.decision-ledger {
  border-top: 1px solid var(--shell-ink);
}

.decision-ledger__row {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  gap: 24px;
  padding: 21px 0;
  border-bottom: 1px solid var(--shell-line);
}

.decision-status {
  width: fit-content;
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  color: #fff;
  background: var(--shell-sea);
  font-size: 11px;
  font-weight: 500;
  white-space: nowrap;
}

.decision-status--warm {
  color: var(--shell-ink);
  background: var(--bg-2);
}

.decision-status--line {
  border: 1px solid var(--shell-sea);
  color: var(--shell-sea);
  background: transparent;
}

.decision-ledger__row p {
  font-family: var(--shell-serif);
  font-size: 17px;
  line-height: 1.75;
}

.choice-list {
  border-top: 1px solid var(--shell-ink);
}

.choice-item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 18px;
  padding: 28px 0;
  border-bottom: 1px solid var(--shell-line);
}

.choice-item__index {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 34px;
  line-height: 1;
}

.choice-item__label {
  margin-bottom: 7px;
  color: var(--shell-moss);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
}

.choice-item p:last-child {
  margin-top: 13px;
  color: var(--shell-ink-soft);
  font-size: 13px;
  line-height: 1.85;
}

.rule-table {
  border-top: 1px solid var(--shell-sea);
}

.rule-table__head,
.rule-table__row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(140px, .7fr);
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--shell-line);
}

.rule-table__head {
  color: var(--shell-sea);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
}

.rule-table__head span {
  white-space: nowrap;
}

.rule-table__row strong {
  font-family: var(--shell-serif);
  font-size: 17px;
  font-weight: 500;
}

.rule-table__row p {
  color: var(--shell-ink-soft);
  font-size: 12px;
  line-height: 1.75;
}

.verify-list {
  border-top: 1px solid var(--shell-ink);
}

.verify-list > div {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 22px;
  padding: 19px 0;
  border-bottom: 1px solid var(--shell-line);
}

.verify-list dt {
  color: var(--shell-moss);
  font-family: var(--shell-serif);
  font-size: 17px;
  font-weight: 500;
}

.verify-list dd {
  color: var(--shell-ink-soft);
  font-size: 12px;
  line-height: 1.85;
}

/* 单篇亮点：巴厘岛三问判断尺 */
.bali-threshold {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--shell-line);
}

.bali-threshold > div {
  min-height: 220px;
  padding: 22px 22px 24px 0;
  border-bottom: 1px solid var(--shell-line);
}

.bali-threshold > div + div {
  padding-left: 22px;
  border-left: 1px solid var(--shell-line);
}

.bali-threshold span {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 17px;
  font-style: italic;
}

.bali-threshold h3 {
  margin: 24px 0 10px;
  font-size: 22px;
}

.bali-threshold p {
  color: var(--shell-ink-soft);
  font-size: 13px;
  line-height: 1.85;
}

/* B 的子场景：实用清单 */
.packing-principle {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--shell-ink);
  border-bottom: 1px solid var(--shell-line);
}

.packing-principle > div {
  padding: 20px 20px 22px 0;
}

.packing-principle > div + div {
  padding-left: 20px;
  border-left: 1px solid var(--shell-line);
}

.packing-principle strong {
  display: block;
  margin-bottom: 7px;
  color: var(--shell-moss);
  font-family: var(--shell-serif);
  font-size: 19px;
  font-weight: 500;
}

.packing-principle p {
  color: var(--shell-ink-soft);
  font-size: 11px;
  line-height: 1.75;
}

.packing-list {
  border-top: 1px solid var(--shell-ink);
}

.packing-list__group {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 22px;
  padding: 22px 0;
  border-bottom: 1px solid var(--shell-line);
}

.packing-list__group > header {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.packing-list__group header strong {
  color: var(--shell-ink);
  font-family: var(--shell-serif);
  font-size: 18px;
  font-weight: 500;
}

.packing-list__group header span {
  width: fit-content;
  color: var(--shell-accent-deep);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0;
}

.packing-list__items {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.packing-list__items span {
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid var(--shell-line);
  border-radius: 2px;
  color: var(--shell-ink-soft);
  font-size: 11px;
  line-height: 1.4;
}

.packing-list__items span::before {
  content: "";
  width: 5px;
  height: 5px;
  margin-right: 7px;
  border: 1px solid var(--shell-moss);
}

.do-not-pack {
  border-top: 1px solid var(--shell-sea);
}

.do-not-pack > div {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--shell-line);
}

.do-not-pack strong {
  color: var(--shell-sea);
  font-family: var(--shell-serif);
  font-size: 17px;
  font-weight: 500;
}

.do-not-pack p {
  color: var(--shell-ink-soft);
  font-size: 12px;
  line-height: 1.8;
}

/* 单篇亮点：箱内三段分区 */
.packing-zones {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr);
  border-top: 1px solid var(--shell-line);
  border-bottom: 1px solid var(--shell-line);
}

.packing-case {
  min-height: 330px;
  display: grid;
  place-items: center;
  padding: 30px;
  border-right: 1px solid var(--shell-line);
}

.packing-case__body {
  position: relative;
  width: min(100%, 210px);
  aspect-ratio: 4 / 5;
  display: grid;
  grid-template-rows: .8fr 1.25fr .7fr;
  border: 1px solid var(--shell-ink);
  background: var(--shell-paper-light);
}

.packing-case__body::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 50%;
  width: 70px;
  height: 15px;
  border: 1px solid var(--shell-ink);
  border-bottom: 0;
  transform: translateX(-50%);
}

.packing-case__body > span {
  display: grid;
  place-items: center;
  color: var(--shell-ink-soft);
  font-size: 9px;
  letter-spacing: 0;
}

.packing-case__body > span + span {
  border-top: 1px solid var(--shell-line);
}

.packing-case__body > span:nth-child(2) {
  background: rgba(169, 75, 0, .055);
}

.packing-case__body > span:nth-child(3) {
  background: rgba(238, 132, 0, .07);
}

.packing-zone-notes {
  display: grid;
  align-content: center;
}

.packing-zone-notes > div {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 12px;
  padding: 18px;
  border-bottom: 1px solid var(--shell-line);
}

.packing-zone-notes > div:last-child {
  border-bottom: 0;
}

.packing-zone-notes span {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 18px;
}

.packing-zone-notes strong {
  display: block;
  margin-bottom: 5px;
  font-family: var(--shell-serif);
  font-size: 17px;
  font-weight: 500;
}

.packing-zone-notes p {
  color: var(--shell-ink-soft);
  font-size: 10px;
  line-height: 1.7;
}

/* 单篇试点：埃及“交换条件”正文模块 */
.egypt-tradeoff {
  margin-top: clamp(42px, 5vw, 64px);
  border-top: 1px solid var(--shell-ink);
  border-bottom: 1px solid var(--shell-ink);
}

.egypt-tradeoff > header {
  padding: 28px 0 30px;
}

.egypt-tradeoff > header span {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 15px;
  font-style: italic;
}

.egypt-tradeoff > header h3 {
  max-width: 16em;
  margin-top: 8px;
  font-size: clamp(25px, 2.7vw, 34px);
  font-weight: 300;
  line-height: 1.5;
}

.egypt-tradeoff__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--shell-line);
}

.egypt-tradeoff__side {
  min-width: 0;
  padding: clamp(24px, 3.5vw, 34px);
}

.egypt-tradeoff__side + .egypt-tradeoff__side {
  border-left: 1px solid var(--shell-line);
}

.egypt-tradeoff__side--return {
  background: var(--shell-paper-light);
}

.egypt-tradeoff__side--cost {
  color: var(--shell-paper-light);
  background: var(--shell-sea);
}

.egypt-tradeoff__label {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 14px;
  font-style: italic;
}

.egypt-tradeoff__side--cost .egypt-tradeoff__label {
  color: var(--accent-on-dark);
}

.egypt-tradeoff .egypt-tradeoff__side > h3 {
  margin: 7px 0 24px;
  color: inherit;
  font-size: clamp(25px, 2.35vw, 31px);
  font-weight: 300;
}

.egypt-tradeoff__side ul {
  border-top: 1px solid var(--shell-line);
}

.egypt-tradeoff__side--cost ul {
  border-color: rgba(246, 245, 241, .22);
}

.egypt-tradeoff__side li {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 12px;
  padding: 17px 0;
  border-bottom: 1px solid var(--shell-line);
}

.egypt-tradeoff__side--cost li {
  border-color: rgba(246, 245, 241, .18);
}

.egypt-tradeoff__side li > span {
  padding-top: 2px;
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 16px;
  font-style: italic;
}

.egypt-tradeoff__side--cost li > span {
  color: var(--accent-on-dark);
}

.egypt-tradeoff__side li strong {
  display: block;
  color: inherit;
  font-family: var(--shell-serif);
  font-size: 18px;
  font-weight: 500;
}

.egypt-tradeoff__side li p {
  margin-top: 5px;
  color: var(--shell-ink-soft);
  font-size: 12.5px;
  line-height: 1.8;
}

.egypt-tradeoff__side--cost li p {
  color: rgba(246, 245, 241, .72);
}

.egypt-tradeoff__note {
  padding: 17px 0 18px;
  border-top: 1px solid var(--shell-line);
  color: var(--shell-ink-soft);
  font-size: 12px;
  line-height: 1.8;
}

/* 埃及文明现场索引 */
.egypt-wonders {
  margin-top: 38px;
  border-top: 1px solid var(--shell-ink);
}

.egypt-wonders__item {
  display: grid;
  grid-template-columns: 84px 150px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  padding: 22px 0;
  border-bottom: 1px solid var(--shell-line);
}

.egypt-wonders__item > span {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 18px;
  font-style: italic;
}

.egypt-wonders__item > strong {
  color: var(--shell-ink);
  font-family: var(--shell-serif);
  font-size: 19px;
  font-weight: 500;
  line-height: 1.6;
}

.egypt-wonders__item p {
  color: var(--shell-ink-soft);
  font-size: 12.5px;
  line-height: 1.85;
}

/* 埃及真实旅行成本 */
.egypt-frictions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 38px;
  border-top: 1px solid var(--shell-sea);
  border-left: 1px solid var(--shell-line);
}

.egypt-frictions article {
  min-height: 205px;
  padding: 23px;
  border-right: 1px solid var(--shell-line);
  border-bottom: 1px solid var(--shell-line);
}

.egypt-frictions span {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 14px;
  font-style: italic;
}

.egypt-frictions h3 {
  margin: 18px 0 9px;
  font-size: 21px;
  font-weight: 400;
}

.egypt-frictions p {
  color: var(--shell-ink-soft);
  font-size: 12.5px;
  line-height: 1.8;
}

/* 埃及旅行者匹配信号 */
.egypt-fit-signals {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--shell-ink);
  border-bottom: 1px solid var(--shell-line);
}

.egypt-fit-signals__column {
  min-width: 0;
  padding: 28px;
}

.egypt-fit-signals__column + .egypt-fit-signals__column {
  border-left: 1px solid var(--shell-line);
}

.egypt-fit-signals__column--wait {
  background: var(--shell-paper-light);
}

.egypt-fit-signals__column > p {
  color: var(--shell-accent-deep);
  font-family: var(--shell-en);
  font-size: 15px;
  font-style: italic;
}

.egypt-fit-signals__column > h3 {
  margin: 8px 0 23px;
  font-size: 25px;
  font-weight: 300;
}

.egypt-fit-signals__column ul {
  border-top: 1px solid var(--shell-line);
}

.egypt-fit-signals__column li {
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 11px;
  padding: 15px 0;
  border-bottom: 1px solid var(--shell-line);
}

.egypt-fit-signals__column li span {
  color: var(--shell-moss);
  font-family: var(--shell-en);
  font-size: 14px;
  font-style: italic;
}

.egypt-fit-signals__column li p {
  color: var(--shell-ink-soft);
  font-size: 12.5px;
  line-height: 1.8;
}

@media (max-width: 760px) {
  .decision-ledger__row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .choice-item {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }

  .rule-table__head {
    display: none;
  }

  .rule-table__row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding-block: 20px;
  }

  .verify-list > div,
  .packing-list__group,
  .do-not-pack > div {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .bali-threshold,
  .packing-principle {
    grid-template-columns: 1fr;
  }

  .bali-threshold > div {
    min-height: 0;
    padding: 20px 0;
  }

  .bali-threshold > div + div {
    padding-left: 0;
    border-top: 1px solid var(--shell-line);
    border-left: 0;
  }

  .bali-threshold h3 {
    margin-top: 10px;
  }

  .packing-principle > div {
    padding: 17px 0;
  }

  .packing-principle > div + div {
    padding-left: 0;
    border-top: 1px solid var(--shell-line);
    border-left: 0;
  }

  .packing-zones {
    grid-template-columns: 1fr;
  }

  .packing-case {
    min-height: 320px;
    border-right: 0;
    border-bottom: 1px solid var(--shell-line);
  }

  .egypt-tradeoff__grid,
  .egypt-frictions,
  .egypt-fit-signals {
    grid-template-columns: 1fr;
  }

  .egypt-tradeoff__side + .egypt-tradeoff__side,
  .egypt-fit-signals__column + .egypt-fit-signals__column {
    border-top: 1px solid var(--shell-line);
    border-left: 0;
  }

  .egypt-wonders__item {
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 9px 14px;
  }

  .egypt-wonders__item p {
    grid-column: 2;
  }

  .egypt-frictions article {
    min-height: 0;
  }
}
