/* ===== 出行规划 · 设计系统 =====
   基调继承潮汕站的「精品旅行杂志」B 风格：纸白底、克制留白、宋体大标题。
   区别：这是一个多行程的聚合站，主色收敛为中性，每条行程带自己的 --accent。

   ⚠️ 变量全部搬到了 tokens.css（主题 Token 契约，规范见 THEME.md）。
   这里以及之后的所有样式表都只准 var()，不准再声明变量——否则主题覆盖不掉。 */

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);background-color:var(--paper);background-image:var(--paper-image);
  background-attachment:fixed;background-size:cover;color:var(--ink);
  font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--accent);color:var(--on-accent)}

.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:var(--radius-2)}

/* ---------- 顶栏 ---------- */
.topbar{position:sticky;top:0;z-index:100;transition:background var(--dur-1),border-color var(--dur-1);
  border-bottom:1px solid transparent}
.topbar.stuck{background:var(--topbar-bg);backdrop-filter:blur(12px);border-bottom-color:var(--line)}
.topbar .in{max-width:var(--max);margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;gap:24px;min-height:64px}
.brand{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.14em;white-space:nowrap}
.brand i{font-style:normal;color:var(--accent)}
.navlinks{margin-left:auto;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.navlinks::-webkit-scrollbar{display:none}
.navlinks a{font-size:13.5px;font-weight:600;color:var(--ink-2);padding:6px 12px;
  border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--dur-1)}
.navlinks a:hover{color:var(--ink)}
.navlinks a.on{color:var(--ink);border-bottom-color:var(--accent)}
@media(max-width:640px){
  .topbar .in{gap:12px;min-height:56px}
  .brand{font-size:15px;letter-spacing:.08em}
  .navlinks a{padding:6px 8px;font-size:12.5px}
}

/* 主题可选的表面材质。默认值为 none，因此纸白/航图/夜航的视觉不变；
   液态玻璃只通过 token 打开透明表面、背景模糊和环境阴影。 */
.wb-card,.cal,.gantt,.shelf,.yh-month,.qc-card,.auth-card,.usermenu-pop,.tp-item,
.pl-card,.tcard,.donecard,.stop,.risk,.checks,.links a,.map-embed,.day,.day-inline,
.facts div,.review-grid div,.admin-dash-card,.admin-table,.admin-related-card{
  backdrop-filter:var(--surface-filter);-webkit-backdrop-filter:var(--surface-filter);
  box-shadow:var(--surface-shadow);
}

/* ---------- 通用排版 ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.secno{font-family:var(--num);font-size:13px;color:var(--ink-3);letter-spacing:.1em}
.section{padding:clamp(64px,9vw,132px) 0 0}
.sechead{display:flex;justify-content:space-between;align-items:baseline;
  border-top:1px solid var(--line);padding-top:14px;margin-bottom:clamp(28px,4vw,52px)}
h1,h2,h3{font-weight:600;line-height:1.22;letter-spacing:.03em}
.display{font-family:var(--serif);font-size:clamp(40px,6.6vw,88px);line-height:1.1;letter-spacing:.02em}
.h2{font-family:var(--serif);font-size:clamp(28px,3.6vw,46px)}
.h3{font-family:var(--serif);font-size:clamp(20px,2.2vw,27px)}
.lead{font-size:clamp(16.5px,1.5vw,19px);color:var(--ink-2);max-width:62ch}
p+p{margin-top:1em}
.muted{color:var(--ink-2)}
.dim{color:var(--ink-3)}

/* ---------- 状态标记 ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  letter-spacing:.08em;padding:3px 10px;border-radius:var(--radius-1);border:1px solid var(--line);
  color:var(--ink-2);background:var(--paper-2);white-space:nowrap;line-height:1.7}
.chip.go{border-color:var(--accent);color:var(--accent);background:var(--accent-wash)}
.chip.done{border-color:var(--ok-line);color:var(--ok-ink);background:var(--ok-bg)}
.chip.todo{color:var(--ink-3)}
.chip.warn{border-color:var(--warn-line);color:var(--warn-ink);background:var(--warn-bg)}
.chip.season::before{content:"⏰";font-size:11px}

/* 待核实：全站统一的诚实标记 */
.unk{color:var(--warn-ink);background:var(--warn-bg);border-bottom:1px dashed var(--warn-line-2);
  padding:0 4px;font-size:.94em;font-weight:600;white-space:nowrap}

/* ---------- 按钮 ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;
  letter-spacing:.04em;padding:11px 22px;border-radius:var(--radius-2);transition:background var(--dur-1),transform var(--dur-1)}
.btn.solid{background:var(--accent);color:var(--on-accent)}
.btn.solid:hover{background:var(--accent-d)}
.btn:active{transform:translateY(1px)}
.txtlink{font-size:14px;font-weight:700;color:var(--ink);border-bottom:1.5px solid var(--accent);
  padding-bottom:2px;display:inline-block}

/* ---------- 进场动效 ---------- */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity var(--dur-2) ease,transform var(--dur-2) ease}
[data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- 页脚 ---------- */
.foot{margin-top:clamp(80px,10vw,140px);border-top:1px solid var(--line);
  padding:40px 0 56px;font-size:13.5px;color:var(--ink-3)}
.foot .in{max-width:var(--max);margin:0 auto;padding:0 var(--pad);
  display:flex;flex-wrap:wrap;gap:18px 40px;justify-content:space-between}
.foot a{border-bottom:1px solid var(--line)}
.foot a:hover{color:var(--ink)}

/* ---------- 编辑入口（登录后才露出，见 site.js 的 whoami 探活） ---------- */
.edit-fab{position:fixed;right:20px;bottom:20px;z-index:50;
  background:var(--ink);color:var(--on-ink);font-size:13px;font-weight:700;letter-spacing:.03em;
  padding:11px 18px;border-radius:var(--radius-pill);box-shadow:var(--shadow-fab);
  display:flex;align-items:center;gap:6px;transition:transform var(--dur-1),background var(--dur-1)}
.edit-fab:hover{background:var(--accent,var(--ink));transform:translateY(-1px)}
