/* 景山见 R1.4.2 · 视觉统一与地图重构
   ─────────────────────────────────────────────────────────────
   设计系统（沿用 R4，不另起风格）：
     纸 #EFE8D9 · 墨 #2E2926 · 朱红 #89352F · 线稿棕 #A58E77 · 寻迹绿 #36534C
     二级文字 #6F5D4E（在纸上 5.14:1，达标；原 #7A6757 只有 4.41:1）
   层级：一处大标题、一处朱红主按钮，其余灰阶；卡片薄、不套阴影。

   本文件只覆盖地图页与结算页，**不改故事正文排版**——
   正文由 night-typography.js 的 token 统一（18px / 1.85），且 Founder 已认可顺读手感。
   ───────────────────────────────────────────────────────────── */
:root {
  --r142-paper: #EFE8D9;
  --r142-ink: #2E2926;
  --r142-red: #89352F;
  --r142-line: #A58E77;
  --r142-green: #36534C;
  --r142-muted: #6F5D4E;
  --r142-surface: #FBF9F4;
  --r142-edge: #DBCFBD;
  --r142-tap: 44px;
}

/* iOS Safari 字号自动膨胀：只声明 100%，不禁用用户放大 */
html { -webkit-text-size-adjust: 100%; }

/* ── 地图页：页头 ── */
.r142-pagehead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 2px 2px 0;
}
.r142-pagehead h1 {
  margin: 0;
  font: 600 22px/1.2 "Songti SC", "Noto Serif CJK SC", serif;
  color: var(--r142-ink);
  letter-spacing: .04em;
}
.r142-pagehead span {
  font-size: 12px;
  color: var(--r142-muted);
  letter-spacing: .08em;
}

/* ── 目标卡：正常文档流，不再 sticky 盖住地图 ── */
.r11-maphead.r142-target {
  position: static;
  top: auto;
  z-index: auto;
  background: transparent;
  box-shadow: none;
  padding: 14px 2px 6px;
}
.r142-eyebrow {
  margin: 0;
  color: var(--r142-red);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .12em;
}
.r11-maphead.r142-target .r11-target {
  margin: 8px 0 8px;
  font: 650 28px/1.22 "Songti SC", "Noto Serif CJK SC", serif;
  color: var(--r142-ink);
}
.r142-task {
  margin: 0 0 6px;
  font-size: 15px;
  line-height: 1.65;
  color: #4C433A;
}
.r142-note {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.6;
  color: var(--r142-muted);
}
.r142-status { margin-top: 8px; }
.r142-status:empty { margin-top: 0; }

/* 状态行（沿用 R1.3.1 注入的 .r131-mapstate，换成本轮配色） */
.r142-target .r131-mapstate {
  margin: 0;
  padding: 6px 10px;
  border-left: 2px solid var(--r142-line);
  background: #F6F1E7;
  font-size: 12.5px;
  color: var(--r142-muted);
}

/* ── 地图主体 ── */
.r142-map {
  position: relative;
  margin: 10px 0 0;
  border: 1px solid var(--r142-edge);
  border-radius: 14px;
  overflow: hidden;
  background: var(--r142-paper);
}
.r142-map svg { display: block; width: 100%; height: auto; }
.r142-kind {
  position: absolute;
  left: 12px;
  top: 11px;
  padding: 5px 8px;
  border: 1px solid #DBCCB6;
  border-radius: 6px;
  background: rgba(251, 249, 244, .95);
  color: #594D3F;
  font-size: 11px;
  letter-spacing: .02em;
}
.r142-map--none {
  padding: 22px 18px;
  background: #F6F1E7;
  color: #4C433A;
  font-size: 13.5px;
  line-height: 1.7;
}
.r142-map--none p { margin: 0 0 6px; }
.r142-map--none b { color: var(--r142-red); }

/* ── 唯一主操作 + 两个轻操作 ── */
.r142-actions { margin: 14px 0 0; }
.r142-actions .r131-mapact { margin: 0 0 10px; }
.r142-actions .r131-primary,
.r142-actions .r131-primary--map {
  display: block;
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 10px;
  background: var(--r142-red);
  color: #FFF9F4;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: .06em;
}
.r142-actions .r131-primary:active { background: #74302B; }
.r142-minor { display: flex; justify-content: center; gap: 12px; }
.r142-quiet {
  min-height: var(--r142-tap);
  padding: 0 16px;
  border: 1px solid var(--r142-edge);
  border-radius: 99px;
  background: var(--r142-surface);
  color: var(--r142-ink);
  font-size: 14px;
}
.r142-copy-status {
  margin: 8px 0 0;
  min-height: 0;
  font-size: 12.5px;
  color: var(--r142-muted);
  text-align: center;
}
.r142-copy-status:empty { margin: 0; }

/* 找不到入口：按需展开 */
.r142-hintbox {
  margin: 12px 0 0;
  padding: 14px 16px;
  border: 1px solid var(--r142-edge);
  border-radius: 12px;
  background: #F6F1E7;
  color: #4C433A;
  font-size: 13.5px;
  line-height: 1.72;
}
.r142-hintbox p { margin: 0 0 8px; }
.r142-hintbox b { color: var(--r142-ink); }
.r142-hintnote { color: var(--r142-muted); font-size: 12.5px; }
.r142-hintacts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 4px; }

/* ── 已读过的故事：页下方独立入口 ── */
.r142-visited { margin: 20px 0 0; border-top: 1px solid var(--r142-edge); }
.r142-vtoggle {
  width: 100%;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  color: var(--r142-ink);
}
.r142-vtoggle b { font-size: 15px; font-weight: 600; }
.r142-vtoggle small { margin-left: 10px; font-size: 12.5px; color: var(--r142-muted); }
.r142-chev { font-size: 18px; color: var(--r142-muted); }
.r142-vlist { padding: 0 0 8px; }
.r142-vrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  border-top: 1px solid #E4DACA;
  font-size: 14.5px;
  color: var(--r142-ink);
}
.r142-vrow button {
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--r142-edge);
  border-radius: 99px;
  background: var(--r142-surface);
  color: var(--r142-red);
  font-size: 13px;
}
.r142-vempty { margin: 4px 0 8px; font-size: 13px; color: var(--r142-muted); }

.r142-foot {
  margin: 18px 0 8px;
  font-size: 12px;
  line-height: 1.6;
  color: var(--r142-muted);
}

/* ── 清掉 R1.1/R1.2 地图残留（这些元素本轮不再渲染，兜底防回潮） ── */
[data-r11-map] .r11-strip,
[data-r11-map] .r11-legend,
[data-r11-map] .r12-lead-row,
[data-r11-map] .r12-zoom,
[data-r11-map] .r11-flag,
[data-r11-map] .r11-location,
[data-r11-map] .r11-status,
[data-r11-map] .r11-buttons { display: none !important; }

/* ── 结算页：称谓与字号收敛 ── */
.settle-stamp .label { font-size: 12px; color: var(--r142-muted); letter-spacing: .02em; }
.settle-stamp .num { font-size: 26px; color: var(--r142-ink); }
.settle-stamp .num-sm { font-size: 17px; }
.r142-honest-note {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-left: 2px solid var(--r142-line);
  background: #F6F1E7;
  color: var(--r142-muted);
  font-size: 12.5px;
  line-height: 1.65;
}

/* 地图页底部给固定导航栏让位，避免轻操作被压住 */
[data-r11-map] { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }

/* ── 矮屏收敛：让「目标 + 地图 + 主按钮」在 568 高也进首屏 ── */
@media (max-height: 640px) {
  .r142-pagehead h1 { font-size: 19px; }
  .r11-maphead.r142-target { padding: 8px 2px 4px; }
  .r11-maphead.r142-target .r11-target { font-size: 22px; margin: 5px 0 6px; }
  .r142-task { font-size: 13.5px; line-height: 1.5; margin-bottom: 4px; }
  .r142-note { font-size: 11.5px; }
  .r142-map { margin-top: 8px; }
  .r142-map svg { max-height: 168px; }
  .r142-actions { margin-top: 10px; }
  .r142-actions .r131-primary, .r142-actions .r131-primary--map { min-height: 46px; font-size: 16px; }
  .r142-minor .r142-quiet { min-height: 40px; font-size: 13px; }
}

/* 地图页底部给固定导航栏让位，避免轻操作被压住 */
[data-r11-map] { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }

/* ── 矮屏收敛：让「目标 + 地图 + 主按钮」在 568 高也进首屏 ── */
@media (max-height: 640px) {
  .r142-pagehead h1 { font-size: 19px; }
  .r11-maphead.r142-target { padding: 8px 2px 4px; }
  .r11-maphead.r142-target .r11-target { font-size: 22px; margin: 5px 0 6px; }
  .r142-task { font-size: 13.5px; line-height: 1.5; margin-bottom: 4px; }
  .r142-note { font-size: 11.5px; }
  .r142-map { margin-top: 8px; }
  .r142-map svg { max-height: 168px; }
  .r142-actions { margin-top: 10px; }
  .r142-actions .r131-primary, .r142-actions .r131-primary--map { min-height: 46px; font-size: 16px; }
  .r142-minor .r142-quiet { min-height: 40px; font-size: 13px; }
}

/* ── 小屏收敛 ── */
@media (max-width: 360px) {
  .r142-pagehead h1 { font-size: 20px; }
  .r11-maphead.r142-target .r11-target { font-size: 24px; }
  .r142-task { font-size: 14px; }
  .r142-minor { gap: 8px; }
  .r142-quiet { padding: 0 12px; font-size: 13.5px; }
}
