/* 既有纸色与朱红，补地图与操作的层级；阅读正文仍保持纯色。
   R1.3.1：旅程状态改成情境式（D-013）——不再有跨菜单常驻操作栏，
   固定层只剩底部三入口导航。 */
:root { --r11-paper:#f5efe3; --r11-ink:#342f29; --r11-red:#93392b; }
body { min-width:0; }
.nv-tuye-bar input { min-width:0; width:0; }
.r11-active { padding-bottom:0; }
.r11-active [data-region="action"] .night-button,.r11-active [data-region="cta"],.r11-active .loop-depart-btn,.r11-active .loop-between>[data-loop-arrive-next] { display:none; }
.r11-active .nv-view-tuye.on { bottom:calc(56px + env(safe-area-inset-bottom)); }
.nv-view-map { padding-bottom:calc(72px + env(safe-area-inset-bottom)) !important; }
.r11-map-ready>.nv-map-head,.r11-map-ready>.nv-map-sub,.r11-map-ready>.nv-map-list,.r11-map-ready>.nv-map-foot { display:none !important; }

/* ── 旅程状态（辅助信息，低对比、轻量） ── */
.r131-status { padding:12px 0 2px; }
.r131-line { display:flex; align-items:center; flex-wrap:wrap; gap:0 7px; font-size:11.5px; line-height:1.5; color:#786a54; letter-spacing:.02em; }
.r131-line b { font-weight:600; color:#6b5741; }
.r131-sep { color:#9c8b73; }
.r131-track { position:relative; height:2px; margin-top:7px; background:#ded3c0; border-radius:1px; overflow:hidden; }
.r131-track>i { position:absolute; inset:0 auto 0 0; background:#b08d57; border-radius:1px; transition:width .24s ease; }

/* ── 情境操作：落在正文结束处 ── */
.r131-endact { padding:30px 0 34px; text-align:center; }
.r131-endnote { font-size:12px; color:#786a54; margin:0 0 14px; }
.r131-primary { display:block; width:100%; min-height:50px; border:0; border-radius:9px; background:var(--r11-red); color:#fffaf2; font:inherit; font-size:16px; font-weight:600; letter-spacing:.06em; cursor:pointer; }
.r131-primary:active { background:#7c2f23; }
.r131-link { display:inline-flex; align-items:center; gap:4px; min-height:40px; padding:0 6px; border:0; background:none; color:var(--r11-red); font:inherit; font-size:14px; cursor:pointer; }
.r131-link:active { opacity:.7; }

/* ── 地图页：状态并进信息卡，到站按钮进目标卡 ── */
.r131-mapstate { display:flex; align-items:center; flex-wrap:wrap; gap:6px 7px; margin:8px 0 0; font-size:11.5px; line-height:1.5; color:#786a54; }
.r131-mapstate b { font-weight:600; color:#6b5741; }
.r131-clock { font-variant-numeric:tabular-nums; color:var(--r11-red); font-weight:600; }
.r131-mapact { margin:12px 0 0; }
.r131-primary--map { min-height:48px; font-size:15px; }
.r131-timerlink { display:inline-flex; align-items:center; gap:2px; min-height:32px; margin:0; padding:0 10px; border:1px solid #c2ab8d; border-radius:7px; background:#fffaf1; color:#75372c; font:inherit; font-size:12px; cursor:pointer; }
.r131-timerlink b { font-variant-numeric:tabular-nums; font-weight:600; }
.r131-timerlink--tuye { display:flex; width:calc(100% - 36px); margin:0 18px 10px; justify-content:center; }

/* 键盘弹起 / 视口变矮：消息区必须让位，输入框不能被挤出屏幕（R1.4 实测 320×568 失败） */
.nv-view-tuye.on .nv-tuye-msgs { min-height:0; }
.nv-view-tuye.on .nv-tuye-head,.nv-view-tuye.on .nv-tuye-hint { flex:0 0 auto; }
@media (max-height:420px){
  .nv-view-tuye.on .nv-tuye-hint { display:none; }
  .nv-view-tuye.on .nv-tuye-head { padding-top:6px; padding-bottom:6px; }
  .nv-view-tuye.on .nv-tuye-msgs { padding-top:8px; padding-bottom:8px; }
}

/* 键盘弹起 / 视口变矮：消息区必须让位，输入框不能被挤出屏幕（R1.4 实测 320×568 失败） */
.nv-view-tuye.on .nv-tuye-msgs { min-height:0; }
.nv-view-tuye.on .nv-tuye-head,.nv-view-tuye.on .nv-tuye-hint { flex:0 0 auto; }
@media (max-height:420px){
  .nv-view-tuye.on .nv-tuye-hint { display:none; }
  .nv-view-tuye.on .nv-tuye-head { padding-top:6px; padding-bottom:6px; }
  .nv-view-tuye.on .nv-tuye-msgs { padding-top:8px; padding-bottom:8px; }
}

.r11-kicker { font-size:12px; color:#6b5741; margin:8px 0; }
[data-r11-map] h2 { font-weight:500; margin:8px 0 18px; font-size:25px; }
[data-r11-map] p { line-height:1.8; }
.r11-target { font-weight:600; color:var(--r11-red); }
.r11-location { padding:16px; border:1px solid #d4c6ae; border-radius:12px; background:#f8f2e7; }
.r11-location small,.r11-status { display:block; color:#655b4e; font-size:13px; line-height:1.8; }
.r11-buttons { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.r11-legend { font-size:12px; color:#655b4e; display:flex; flex-wrap:wrap; gap:4px 14px; margin:8px 0; }
.r11-legend span { white-space:nowrap; }
.r11-legend b { font-weight:600; color:#4a4238; }
[data-r11-map] svg { width:100%; max-width:420px; display:block; margin:auto; overflow:visible; }
.r11-node text { fill:#6b6456; font-size:12px; }
.r11-node circle { fill:var(--r11-paper); stroke:#756b5a; stroke-width:2; }
.r11-node.done circle { fill:#b08d57; stroke:#b08d57; }
.r11-node.done text { fill:#785b29; }
.r11-node.done { cursor:pointer; }
.r11-node.current circle { fill:var(--r11-red); stroke:var(--r11-red); }
.r11-node.current text { fill:var(--r11-red); font-weight:700; }
.r11-node:focus { outline:2px solid var(--r11-red); }
.r11-task { margin:22px 0; padding:18px; border:1px solid #c5b698; border-radius:12px; line-height:1.8; }
.r11-task h3 { font-size:19px; font-weight:500; margin:6px 0; }
.r11-dialog { box-sizing:border-box; width:min(94vw,600px); max-height:90dvh; overflow:auto; padding:22px; background:var(--r11-paper); color:var(--r11-ink); border:1px solid #c8bba6; border-radius:14px; font-size:16px; line-height:1.85; }
.r11-dialog::backdrop { background:#1d1815aa; }
.r11-dialog header { display:flex; gap:12px; justify-content:space-between; align-items:start; margin-bottom:16px; }
.r11-dialog h2 { font-size:22px; font-weight:500; margin:0; }
.r11-dialog img { max-width:100%; height:auto; border-radius:6px; }
.r11-dialog figure { margin:12px 0; }
.r11-dialog figcaption { font-size:12px; color:#665d50; }
.r11-dialog button,.r11-task button { font:inherit; min-height:44px; border-radius:8px; padding:10px 14px; border:1px solid #b9a88b; background:#fffaf1; color:var(--r11-ink); cursor:pointer; }
.r11-dialog button { margin:4px 0; }
.r11-dialog label { display:block; font-size:13px; margin:8px 0; }
.r11-dialog input[type=range] { width:100%; min-height:32px; }
.r11-photo-preview { width:100%; display:block; background:#e7dcc9; }
.r11-photo-steps { font-size:13px; color:#655b4e; }
.r11-speech { border-left:2px solid #b08d57; padding-left:14px; }
.r11-photo-actions { display:flex; flex-wrap:wrap; gap:8px; }
.r11-error { color:#842c20; }
.r11-dialog a { color:#75372c; }
.r11-library { margin-top:24px; border-top:1px solid #c9bba6; padding-top:14px; }
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto !important; } .r131-track>i { transition:none; } }
