/* About / Contact / Terms 三页(2026-10-07 建)。交互都在 js/info.js;
   原则和全站一样:没有脚本时内容全部可见(标签面板、来意面板全摊开,数字直接是终值)。
   电脑上的尺寸用 var(--vw),不加 767 以上的断点(js/fit.js 负责整页等比缩放)。 */

/* ---------- 共用 ---------- */
.info-kicker {
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--accent-bright);
}
.info-kicker--dark { color: var(--map-ink); }
.info-h2 {
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: clamp(30px, calc(3.06 * var(--vw)), 44px);
  line-height: 1.15;
  font-weight: 700;
}
.info-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}
.info-link::after { content: "→"; transition: transform 0.25s var(--ease-float); }
@media (hover: hover) { .info-link:hover::after { transform: translateX(5px); } }

/* ---------- 大图:光标跟随的青色光 ---------- */
.info-hero::before {           /* 压暗照片,左深右浅,文字落在照片上(不用卡片) */
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgb(var(--night) / 0.9) 0%, rgb(var(--night) / 0.72) 50%, rgb(var(--night) / 0.3) 100%),
    linear-gradient(180deg, rgb(var(--night) / 0.55) 0%, transparent 35%);
}
.info-hero__glow {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: radial-gradient(520px circle at var(--mx, 22%) var(--my, 40%), rgb(var(--map-glow) / 0.32), transparent 62%);
  mix-blend-mode: screen;
  transition: opacity 0.4s;
  pointer-events: none;
}
.info-hero__inner {
  position: relative;
  z-index: 2;
  width: min(var(--frame), 100% - 2 * var(--gutter));
  margin-inline: auto;
  padding-top: calc(var(--header-h) + clamp(70px, calc(8.3 * var(--vw)), 120px));
}
.info-hero__title {
  margin-top: 14px;
  font-family: var(--font-display);
  font-size: clamp(44px, calc(5.7 * var(--vw)), 82px);
  line-height: 1.02;
  font-weight: 700;
  text-transform: uppercase;
  text-shadow: var(--hero-text-shadow);
}
.info-hero__title span { color: var(--accent-bright); }
.info-hero__sub {
  max-width: 560px;
  margin-top: 22px;
  font-size: 18px;
  line-height: 1.55;
  color: rgb(255 255 255 / 0.88);
}
.info-hero--short { height: calc(var(--top-gap) + var(--header-h) + clamp(320px, calc(30 * var(--vw)), 430px)); }

/* ---------- About:导语 ---------- */
.info-lede { padding-block: 96px 72px; }
.info-lede__big {
  font-family: var(--font-display);
  font-size: clamp(24px, calc(2.2 * var(--vw)), 32px);
  line-height: 1.35;
}
.info-lede__big strong { color: var(--map-ink); }
.info-lede__text { margin-top: 26px; max-width: 820px; font-size: 17px; line-height: 1.7; color: var(--muted); }
.info-lede__text strong { color: var(--ink); }

/* ---------- About:数字 ---------- */
.info-stats { padding-block: 10px 90px; }
.info-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line-soft); }
.info-stat { padding: 34px 26px 0 0; border-right: 1px solid var(--line-soft); padding-left: 26px; }
.info-stat:first-child { padding-left: 0; }
.info-stat:last-child { border-right: 0; }
.info-stat__num {
  font-family: var(--font-display);
  font-size: clamp(54px, calc(5.4 * var(--vw)), 78px);
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.info-stat__num em { font-style: normal; color: var(--accent); }
.info-stat__label { margin-top: 12px; font-size: 15px; line-height: 1.45; color: var(--muted); }

/* ---------- About:三种形态的标签 ---------- */
.info-formats { padding-block: 90px; background: var(--mist); }
.info-tabs { margin-top: 34px; }
.info-tabs__list { position: relative; display: flex; gap: 6px; border-bottom: 1px solid var(--line); }
.info-tabs__tab {
  padding: 14px 18px;
  border: 0;
  background: none;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  color: var(--muted);
  cursor: pointer;
  transition: color 0.2s;
}
.info-tabs__tab[aria-selected="true"] { color: var(--ink); }
@media (hover: hover) { .info-tabs__tab:hover { color: var(--ink); } }
.info-tabs__tab:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.info-tabs__ink {                 /* 滑动的青色下划线,js 设 --x / --w */
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 3px;
  width: var(--w, 0);
  transform: translateX(var(--x, 0));
  background: var(--accent);
  transition: transform 0.4s var(--ease-float), width 0.4s var(--ease-float);
}
.info-tabs__panel {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 44px;
  align-items: center;
  margin-top: 36px;
}
.info-tabs__panel img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.info-tabs__panel h3 { font-family: var(--font-display); font-size: 26px; line-height: 1.2; }
.info-tabs__panel p { margin-top: 14px; font-size: 16px; line-height: 1.7; }
.js-tabs .info-tabs__panel[hidden] { display: none; }
.js-tabs .info-tabs__panel.is-in { animation: info-in 0.55s var(--ease-float); }
@keyframes info-in { from { opacity: 0; transform: translateY(14px); } }

/* ---------- About:一天怎么过(随滚动点亮) ---------- */
.info-day { padding-block: 100px; color: var(--paper); background: rgb(var(--night)); }
.info-day__steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 54px;
  padding-top: 40px;
  list-style: none;
}
.info-day__steps::before,         /* 底下的灰轨 + 上面按 --progress 长出来的青线 */
.info-day__steps::after {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  height: 2px;
  width: 100%;
  background: rgb(255 255 255 / 0.18);
}
.info-day__steps::after {
  background: var(--accent);
  transform-origin: left;
  transform: scaleX(var(--progress, 1));
}
.info-day__dot {
  position: absolute;
  top: -40px;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgb(var(--night));
  border: 2px solid var(--accent);
  transition: background 0.3s, box-shadow 0.3s;
}
.info-day__step { position: relative; transition: opacity 0.5s; }
.info-day__step.is-on .info-day__dot { background: var(--accent); box-shadow: 0 0 0 7px rgb(var(--map-glow) / 0.25); }
.js-day .info-day__step:not(.is-on) { opacity: 0.4; }
.info-day__time { font-size: 13px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent-bright); }
.info-day__step h3 { margin-top: 8px; font-family: var(--font-display); font-size: 26px; }
.info-day__step p:last-child { margin-top: 12px; font-size: 16px; line-height: 1.65; color: rgb(255 255 255 / 0.82); }

/* ---------- About:谁在场(点开的卡片) ---------- */
.info-room { padding-block: 96px; }
.info-room__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-top: 36px;
  list-style: none;
}
.info-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 250px;
  padding: 24px 20px;
  border: 1px solid var(--line-soft);
  background: var(--paper);
  font: inherit;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.35s, color 0.35s, border-color 0.35s, transform 0.35s var(--ease-float);
}
.info-card__icon { display: block; width: 40px; height: 40px; color: var(--map-ink); transition: color 0.35s; }
.info-card__icon svg { width: 100%; height: 100%; }
.info-card__title { margin-top: auto; padding-top: 22px; font-family: var(--font-display); font-size: 21px; line-height: 1.2; }
.info-card__body {
  display: block;
  font-size: 14.5px;
  line-height: 1.55;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-float), opacity 0.35s, margin 0.35s;
}
.info-card[aria-expanded="true"] { background: rgb(var(--night)); color: var(--paper); border-color: rgb(var(--night)); }
.info-card[aria-expanded="true"] .info-card__icon { color: var(--accent-bright); }
.info-card[aria-expanded="true"] .info-card__body { max-height: 420px; opacity: 1; margin-top: 12px; }
html:not(.js-info) .info-card__body { max-height: none; opacity: 1; margin-top: 12px; }
@media (hover: hover) {
  .info-card:hover { transform: translateY(-4px); border-color: var(--accent); }
}
.info-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* ---------- About:横向时间线 ---------- */
.info-journey { padding-block: 96px 80px; color: var(--paper); background: rgb(var(--night)); overflow: hidden; }
.info-journey__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.info-journey__nav { display: flex; gap: 10px; flex: none; }
.info-round {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgb(255 255 255 / 0.4);
  border-radius: 50%;
  background: none;
  color: var(--paper);
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, opacity 0.2s;
}
.info-round svg { width: 20px; height: 20px; }
.info-round:disabled { opacity: 0.3; cursor: default; }
@media (hover: hover) { .info-round:not(:disabled):hover { background: var(--accent); border-color: var(--accent); } }
.info-journey__track {
  margin-top: 40px;
  overflow-x: auto;
  scrollbar-width: none;
  cursor: grab;
}
.info-journey__track::-webkit-scrollbar { display: none; }
.info-journey__track.is-dragging { cursor: grabbing; }
.info-journey__track.is-dragging * { pointer-events: none; }
.info-journey__track:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.info-journey__list {
  display: flex;
  gap: 22px;
  width: max-content;
  list-style: none;
  /* 第一张卡片和上面标题左对齐(--content 的版心),最后一张右边也留同样的空 */
  padding-inline: max(var(--gutter), (var(--track-w, 100vw) - var(--content)) / 2);
}
.info-mile {
  position: relative;
  width: 300px;
  padding-top: 26px;
}
.info-mile::before {               /* 卡片上面那条连续的轨道 + 节点 */
  content: "";
  position: absolute;
  top: 6px;
  left: 0;
  right: -22px;
  height: 1px;
  background: rgb(255 255 255 / 0.25);
}
.info-mile::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--accent);
}
.info-mile--next::after { background: transparent; border: 2px solid var(--accent-bright); animation: info-pulse 2s infinite; }
@keyframes info-pulse { 50% { box-shadow: 0 0 0 8px rgb(var(--map-glow) / 0); } 0% { box-shadow: 0 0 0 0 rgb(var(--map-glow) / 0.6); } }
.info-mile img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; filter: saturate(0.85); transition: filter 0.3s, transform 0.5s var(--ease-float); }
@media (hover: hover) { .info-mile:hover img { filter: none; transform: scale(1.02); } }
.info-mile__when { margin-top: 16px; font-size: 13px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-bright); }
.info-mile h3 { margin-top: 6px; font-family: var(--font-display); font-size: 22px; }
.info-mile p:not(.info-mile__when) { margin-top: 8px; font-size: 15px; line-height: 1.55; color: rgb(255 255 255 / 0.78); }
.info-mile .info-link { margin-top: 12px; font-size: 15px; }
.info-journey__bar { height: 2px; margin-top: 40px; background: rgb(255 255 255 / 0.15); }
.info-journey__bar span { display: block; height: 100%; width: 100%; background: var(--accent); transform-origin: left; transform: scaleX(var(--p, 1)); }

/* ---------- About:常见问答 ---------- */
.info-faq { padding-block: 96px; }
.info-faq__list { margin-top: 30px; border-top: 1px solid var(--line-soft); }
.info-faq__item { border-bottom: 1px solid var(--line-soft); }
.info-faq__item summary {
  position: relative;
  padding: 24px 56px 24px 0;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
.info-faq__item summary::-webkit-details-marker { display: none; }
.info-faq__item summary::before,
.info-faq__item summary::after {   /* 加号,展开变减号 */
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 18px;
  height: 2px;
  background: var(--map-ink);
  transition: transform 0.3s var(--ease-float);
}
.info-faq__item summary::after { transform: rotate(90deg); }
.info-faq__item[open] summary::after { transform: rotate(0); }
@media (hover: hover) { .info-faq__item summary:hover { color: var(--map-ink); } }
.info-faq__item summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.info-faq__item p { padding: 0 56px 26px 0; font-size: 16px; line-height: 1.7; color: var(--muted); }
.info-faq__item[open] p { animation: info-in 0.45s var(--ease-float); }
.info-faq__item a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }

/* ---------- About:三扇门 ---------- */
.info-doors { padding-block: 0 110px; }
.info-doors__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.info-door {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 190px;
  padding: 30px 28px;
  overflow: hidden;
  background: var(--mist);
  transition: color 0.35s;
  isolation: isolate;
}
.info-door::before {               /* 指上去从左下角铺开的深色底 */
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgb(var(--night));
  clip-path: circle(0% at 0% 100%);
  transition: clip-path 0.6s var(--ease-float);
}
.info-door__kicker { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--map-ink); transition: color 0.35s; }
.info-door__title { margin-top: 10px; font-family: var(--font-display); font-size: 28px; line-height: 1.15; }
.info-door__arrow { margin-top: auto; font-size: 28px; transition: transform 0.35s var(--ease-float); }
@media (hover: hover) {
  .info-door:hover { color: var(--paper); }
  .info-door:hover::before { clip-path: circle(150% at 0% 100%); }
  .info-door:hover .info-door__kicker { color: var(--accent-bright); }
  .info-door:hover .info-door__arrow { transform: translateX(8px); }
}
.info-door:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* ---------- Contact:选来意 ---------- */
.info-topics { padding-block: 90px; }
.info-topics__layout { display: grid; grid-template-columns: 380px 1fr; gap: 48px; margin-top: 34px; align-items: start; }
.info-topics__list { display: flex; flex-direction: column; gap: 10px; }
.info-topic {
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--line-soft);
  background: var(--paper);
  font: inherit;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
  transition: border-color 0.25s, background 0.25s, color 0.25s, padding 0.3s var(--ease-float);
}
.info-topic__n { font-family: var(--font-number); font-size: 13px; color: var(--map-ink); transition: color 0.25s; }
.info-topic__t { font-size: 16px; font-weight: 700; }
.info-topic::after { content: "→"; margin-left: auto; opacity: 0; transform: translateX(-6px); transition: opacity 0.25s, transform 0.3s var(--ease-float); }
@media (hover: hover) { .info-topic:hover { border-color: var(--accent); padding-left: 26px; } }
.info-topic[aria-checked="true"] { background: rgb(var(--night)); border-color: rgb(var(--night)); color: var(--paper); }
.info-topic[aria-checked="true"] .info-topic__n { color: var(--accent-bright); }
.info-topic[aria-checked="true"]::after { opacity: 1; transform: none; }
.info-topic:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
html:not(.js-info) .info-topics__list { display: none; }   /* 没脚本:左边的选择没用,直接摊开右边全部 */
.info-topics__panels { display: grid; gap: 20px; }
.info-answer { padding: 36px 40px; background: var(--mist); border-top: 3px solid var(--accent); scroll-margin-top: calc(var(--header-stuck-h) + 20px); }
.js-topics .info-answer[hidden] { display: none; }
.js-topics .info-answer.is-in { animation: info-in 0.5s var(--ease-float); }
.info-answer h3 { font-family: var(--font-display); font-size: 28px; }
.info-answer p { margin-top: 14px; font-size: 16px; line-height: 1.7; }
.info-answer ul { margin-top: 18px; padding-left: 0; list-style: none; }
.info-answer li { position: relative; padding-left: 26px; margin-top: 8px; font-size: 15.5px; line-height: 1.55; color: var(--muted); }
.info-answer li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 14px; height: 2px; background: var(--accent); }
.info-answer__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.info-btn {
  display: inline-flex;
  align-items: center;
  padding: 13px 22px;
  background: var(--map-btn);
  border: 1px solid var(--map-btn);
  font-weight: 700;
  font-size: 15px;
  color: var(--paper);
  transition: background 0.2s, color 0.2s;
}
@media (hover: hover) { .info-btn:hover { background: var(--map-btn-hover); } }
.info-btn--ghost { background: transparent; color: var(--ink); border-color: var(--ink); }
@media (hover: hover) { .info-btn--ghost:hover { background: var(--ink); color: var(--paper); } }
.info-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* ---------- Contact:三张联系卡 ---------- */
.info-reach { padding-block: 0 110px; }
.info-reach__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.info-reach__card { display: flex; flex-direction: column; align-items: flex-start; padding: 30px 28px; border: 1px solid var(--line-soft); }
.info-reach__label { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--map-ink); }
.info-reach__big { margin-top: 12px; font-family: var(--font-display); font-size: 24px; line-height: 1.25; word-break: break-word; }
@media (hover: hover) { a.info-reach__big:hover { color: var(--map-ink); } }
.info-reach__addr { margin-top: 12px; font-style: normal; font-size: 17px; line-height: 1.6; }
.info-reach__note { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--muted); }
.info-reach__clock { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 14.5px; color: var(--muted); }
.info-reach__clock[hidden] { display: none; }
.info-reach__clock strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.info-reach__pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); animation: info-pulse 2s infinite; }
.info-copy {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 9px 14px;
  border: 1px solid var(--ink);
  background: none;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.info-copy svg { width: 16px; height: 16px; }
@media (hover: hover) { .info-copy:hover { background: var(--ink); color: var(--paper); } }
.info-copy.is-done { background: var(--map-btn); border-color: var(--map-btn); color: var(--paper); }
.info-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  z-index: 55;             /* 低于 cookie 横幅(60) */
  padding: 12px 20px;
  background: rgb(var(--night));
  color: var(--paper);
  font-size: 15px;
  transform: translateX(-50%);
  animation: info-in 0.35s var(--ease-float);
}

/* ---------- Terms:阅读进度 + 目录 + 摘要开关 ---------- */
.terms-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 51; height: 3px; pointer-events: none; }
.terms-progress span { display: block; height: 100%; background: var(--accent); transform-origin: left; transform: scaleX(var(--p, 0)); }
.terms {
  display: grid;
  grid-template-columns: 240px minmax(0, 940px);
  gap: 36px;
  justify-content: center;
  width: min(1216px, 100% - 2 * var(--gutter));
  margin-inline: auto;
  align-items: start;
}
.terms .post { width: auto; margin: 0; }
.terms__toc { position: sticky; top: calc(var(--header-stuck-h) + 28px); }
.terms__toc-title { font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--map-ink); }
.terms__toc ol { margin-top: 14px; padding: 0; list-style: none; border-left: 1px solid var(--line-soft); counter-reset: toc; }
.terms__toc li { counter-increment: toc; }
.terms__toc a {
  position: relative;
  display: block;
  padding: 6px 0 6px 16px;
  font-size: 14.5px;
  line-height: 1.35;
  color: var(--muted);
  transition: color 0.2s;
}
.terms__toc a::before { content: counter(toc) ". "; }
.terms__toc a::after {
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--accent);
  transform: scaleY(0);
  transition: transform 0.3s var(--ease-float);
}
.terms__toc a[aria-current="true"] { color: var(--ink); font-weight: 700; }
.terms__toc a[aria-current="true"]::after { transform: none; }
@media (hover: hover) { .terms__toc a:hover { color: var(--ink); } }
.terms__switch { display: flex; align-items: center; gap: 10px; margin-top: 24px; font-size: 14.5px; cursor: pointer; }
.terms__switch input { position: absolute; opacity: 0; }
.terms__switch-ui { position: relative; width: 38px; height: 22px; border-radius: 11px; background: var(--line); transition: background 0.25s; flex: none; }
.terms__switch-ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: var(--paper); transition: transform 0.25s var(--ease-float); }
.terms__switch input:checked + .terms__switch-ui { background: var(--map-btn); }
.terms__switch input:checked + .terms__switch-ui::after { transform: translateX(16px); }
.terms__switch input:focus-visible + .terms__switch-ui { outline: 2px solid var(--accent); outline-offset: 2px; }
.terms section { scroll-margin-top: calc(var(--header-stuck-h) + 24px); }
.terms .post-body section > p + p { margin-top: 14px; }
.terms__short {
  margin-top: 12px;
  padding: 12px 16px;
  border-left: 3px solid var(--accent);
  background: var(--paper);
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.terms__short b { margin-right: 6px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--map-ink); }
.terms--plain .terms__short { display: none; }
.terms .post-body section.is-flash h2 { animation: terms-flash 1.2s; }
@keyframes terms-flash { 0%, 40% { color: var(--map-ink); } }
.terms__top {
  margin-top: 40px;
  padding: 10px 18px;
  border: 1px solid var(--ink);
  background: none;
  font: inherit;
  font-size: 15px;
  cursor: pointer;
}
@media (hover: hover) { .terms__top:hover { background: var(--ink); color: var(--paper); } }

/* ---------- 动效偏好:关掉位移类动画 ---------- */
@media (prefers-reduced-motion: reduce) {
  .info-hero__glow { display: none; }
  .info-mile--next::after, .info-reach__pulse { animation: none; }
  .js-tabs .info-tabs__panel.is-in, .js-topics .info-answer.is-in, .info-faq__item[open] p { animation: none; }
}

/* ---------- 手机(单列) ---------- */
@media (max-width: 767px) {
  .info-hero__sub { font-size: 16px; }
  .info-lede { padding-block: 64px 48px; }
  .info-stats__grid { grid-template-columns: 1fr 1fr; }
  .info-stat, .info-stat:first-child { padding: 26px 16px 26px 0; border-right: 0; border-bottom: 1px solid var(--line-soft); }
  .info-stat:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--line-soft); }
  .info-formats, .info-day, .info-room, .info-faq, .info-topics { padding-block: 64px; }
  .info-tabs__list { overflow-x: auto; scrollbar-width: none; }
  .info-tabs__tab { flex: none; padding-inline: 12px; font-size: 15px; }
  .info-tabs__panel { grid-template-columns: 1fr; gap: 22px; }
  .info-day__steps { grid-template-columns: 1fr; gap: 34px; padding: 0 0 0 40px; }
  .info-day__steps::before, .info-day__steps::after { top: 0; left: 9px; width: 2px; height: 100%; }
  .info-day__steps::after { transform-origin: top; transform: scaleY(var(--progress, 1)); }
  .info-day__dot { top: 2px; left: -40px; }
  .info-room__grid { grid-template-columns: 1fr; }
  .info-card { min-height: 0; }
  .info-card__title { margin-top: 14px; padding-top: 0; }
  .info-journey { padding-block: 64px; }
  .info-journey__nav { display: none; }
  .info-mile { width: 78vw; }
  .info-faq__item summary { font-size: 17px; }
  .info-faq__item p { padding-right: 0; }
  .info-doors__grid, .info-reach__grid { grid-template-columns: 1fr; }
  .info-door { min-height: 150px; }
  .info-topics__layout { grid-template-columns: 1fr; gap: 24px; }
  .info-answer { padding: 26px 22px; }
  .terms { grid-template-columns: 1fr; }
  .terms__toc { position: static; padding: 0 4px; }
  .terms__toc ol { columns: 2; column-gap: 16px; }
  .terms .post { padding: 40px 22px 60px; }
}

/* 全站正文链接带下划线;按钮、卡片式链接、目录不要 */
.info-btn, .info-door, .info-reach__big, .terms__toc a { text-decoration: none; }
