/* ══════════════════════════════════════════════════════════
   九华赴 · 体验增强（ux.css）
   1. 修复：首页 .nav .links 恒为 display:none（桌面也未显示）
   2. 导航悬停下划线滑入 + 吸顶收缩
   3. 移动端汉堡菜单（纯 CSS 动画 + 极简 JS 控制）
   4. 卡片 / 磁贴 / 按钮 微交互
   5. 滚动进场、锚点避让、安全区、减少动效偏好
   ══════════════════════════════════════════════════════════ */

/* ── 全局基线 ───────────────────────────────────────────── */
html{
  scroll-behavior:smooth;
  scroll-padding-top:78px;          /* 锚点跳转不被吸顶导航盖住 */
  -webkit-text-size-adjust:100%;
}
a,button,summary{-webkit-tap-highlight-color:transparent;}

:root{
  --ux-ease:cubic-bezier(.22,.61,.36,1);
  --ux-hd:56px;
}

/* ═══ ① 导航：桌面恢复显示（修复 .links 恒隐藏） ═══════════ */
@media(min-width:861px){
  .nav .links{display:flex !important;align-items:center;margin-left:auto;}
  .nav .links a{margin-left:26px;}
  .nav > .ux-burger{display:none !important;}
}

/* ═══ ② 导航悬停：下划线由左滑入 ═══════════════════════════ */
.nav .links a,
.hd-in nav a{
  position:relative;
  transition:color .22s ease, opacity .22s ease;
  text-decoration:none;
}
.nav .links a::after,
.hd-in nav a::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-7px;
  height:1px; background:currentColor; opacity:.75;
  transform:scaleX(0); transform-origin:left center;
  transition:transform .30s var(--ux-ease);
  pointer-events:none;
}
@media(hover:hover){
  .nav .links a:hover::after,
  .hd-in nav a:hover::after{transform:scaleX(1);}
}
/* 当前页常驻下划线 */
.nav .links a.on::after,
.hd-in nav a.on::after,
.nav .links a[aria-current="page"]::after{transform:scaleX(1);opacity:.9;}

/* 顶部导航：滚动后收缩、加深阴影 */
.nav,
header:not(.hero){transition:padding .26s var(--ux-ease), box-shadow .26s var(--ux-ease),
                   background-color .26s var(--ux-ease);}
.nav.is-scrolled{padding:8px 24px;box-shadow:0 4px 22px rgba(28,26,23,.10);
  background:rgba(250,247,240,.97);}
header:not(.hero).is-scrolled{box-shadow:0 4px 22px rgba(28,26,23,.18);}

/* 子页导航吸顶（必须排除 .hero，否则全屏 hero 会盖住导航拦截点击） */
body > header:not(.hero){position:sticky;top:0;z-index:100;}

/* ═══ ③ 汉堡按钮 ══════════════════════════════════════════ */
.ux-burger{
  display:none;                     /* 桌面隐藏 */
  flex-direction:column;align-items:center;justify-content:center;
  /* margin-left:auto → 按钮靠右；品牌「九华赴」保持最左 */
  width:42px;height:42px;margin-left:auto;padding:0;flex:none;
  background:transparent;border:1px solid rgba(255,255,255,.22);
  border-radius:3px;cursor:pointer;
  transition:border-color .22s ease, background-color .22s ease;
}
.ux-burger:active{background:rgba(255,255,255,.08);}
.ux-burger i{
  display:block;width:18px;height:1.5px;margin:2.5px 0;border-radius:2px;
  background:#fff;
  transition:transform .32s var(--ux-ease), opacity .2s ease;
}
/* 浅底导航（首页 / 攻略页）用深色线条 */
.nav > .ux-burger{border-color:rgba(28,26,23,.16);}
.nav > .ux-burger i{background:var(--ink,#1c1a17);}
.nav > .ux-burger:active{background:rgba(28,26,23,.06);}

/* 展开态：三线变叉 */
.ux-burger[aria-expanded="true"] i:nth-child(1){transform:translateY(5px) rotate(45deg);}
.ux-burger[aria-expanded="true"] i:nth-child(2){opacity:0;transform:scaleX(.3);}
.ux-burger[aria-expanded="true"] i:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* ═══ ④ 移动端抽屉面板 ════════════════════════════════════
   关键：面板由 JS 建在 <html> 层级，不能放在 .nav 内部。
   .nav 有 backdrop-filter:blur(8px)，会为内部 position:fixed
   后代创建包含块 —— 面板会被锁进 56px 高的导航条里而看不见。
   ═══════════════════════════════════════════════════════ */
.ux-panel{display:none;}                     /* 桌面彻底不渲染 */

@media(max-width:860px){
  .ux-burger{display:flex;}

  /* 汉堡模式下：原导航条上的链接整组隐藏，改由抽屉承载 */
  .ux-burger-mode .nav .links{display:none !important;}
  .ux-burger-mode .hd-in > nav{display:none !important;}

  .ux-panel{
    position:fixed;top:0;right:0;bottom:0;
    width:min(82vw,340px);
    z-index:1200;
    background:var(--paper,#faf7f0);
    box-shadow:-10px 0 40px rgba(28,26,23,.18);
    transform:translateX(100%);
    transition:transform .36s var(--ux-ease);
    display:flex !important;
    flex-direction:column;
    gap:0;
    padding:calc(var(--ux-hd) + 20px) 24px 30px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom:calc(30px + env(safe-area-inset-bottom,0px));
  }
  .ux-panel.is-open{transform:none;}

  /* 抽屉内的链接：大点击区 */
  .ux-panel a{
    display:block;
    padding:15px 4px;
    font-size:16px;letter-spacing:.1em;
    color:var(--ink,#1c1a17);
    border-bottom:1px solid var(--line,rgba(28,26,23,.12));
    text-decoration:none;
    margin-left:0 !important;
  }
  .ux-panel a:active{color:var(--cinnabar,#9c2b25);}
  .ux-panel a::after{display:none;}          /* 抽屉内去掉下划线动画 */
  .ux-panel .lang{border:1px solid var(--line);border-radius:2px;
    text-align:center;margin-top:20px;font-size:14px;padding:12px 4px;}

  /* 关闭按钮 */
  .ux-close{
    position:absolute;top:14px;right:16px;
    width:36px;height:36px;flex:none;
    background:transparent;border:1px solid var(--line,rgba(28,26,23,.16));
    border-radius:3px;cursor:pointer;
    font-size:20px;line-height:1;color:var(--ink,#1c1a17);
  }
  .ux-close:active{background:rgba(28,26,23,.06);}

  /* 逐个滑入（nth-of-type 只数 a，避开关闭按钮） */
  .ux-panel.is-open a{animation:uxNavIn .40s var(--ux-ease) both;}
  .ux-panel.is-open a:nth-of-type(1){animation-delay:.05s}
  .ux-panel.is-open a:nth-of-type(2){animation-delay:.10s}
  .ux-panel.is-open a:nth-of-type(3){animation-delay:.15s}
  .ux-panel.is-open a:nth-of-type(4){animation-delay:.20s}
  .ux-panel.is-open a:nth-of-type(5){animation-delay:.25s}
  .ux-panel.is-open a:nth-of-type(6){animation-delay:.30s}
  .ux-panel.is-open a:nth-of-type(7){animation-delay:.35s}
  .ux-panel.is-open a:nth-of-type(n+8){animation-delay:.40s}
}
@keyframes uxNavIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* 遮罩 */
.ux-mask{
  position:fixed;inset:0;z-index:1100;
  background:rgba(28,26,23,.42);
  opacity:0;pointer-events:none;transition:opacity .30s ease;
}
.ux-mask.is-on{opacity:1;pointer-events:auto;}

/* 打开时顶栏置于遮罩之上，汉堡「×」保持可点 */
html.ux-lock .nav{z-index:1250 !important;}
html.ux-lock body > header{z-index:1250 !important;}

/* 锁滚动 */
html.ux-lock,html.ux-lock body{overflow:hidden;}

/* ═══ ⑤ 卡片 / 磁贴 / 按钮 微交互 ═════════════════════════ */
.tile,.tile2,.card,.spot,.day,details.fq-i{
  transition:transform .24s var(--ux-ease),
             box-shadow .24s var(--ux-ease),
             border-color .24s var(--ux-ease),
             background-color .24s var(--ux-ease);
}
@media(hover:hover){
  .tile:hover,.tile2:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 26px rgba(28,26,23,.10);
    border-color:var(--cinnabar,#9c2b25);
    background:#fff;
  }
  .card:hover{box-shadow:0 6px 20px rgba(28,26,23,.07);}
  .spot:hover{border-color:rgba(156,43,37,.30);}
}
.tile:active,.tile2:active{transform:translateY(-1px) scale(.995);}

/* 主按钮：背景由左铺满 */
.cta,.btn,.g-cross .btn{
  position:relative;overflow:hidden;
  transition:color .26s var(--ux-ease), border-color .26s var(--ux-ease);
}
@media(hover:hover){
  .cta:hover,.btn:hover{color:#fff;}
  .cta::before,.btn::before{
    content:"";position:absolute;inset:0;z-index:-1;
    background:var(--cinnabar,#9c2b25);
    transform:scaleX(0);transform-origin:left center;
    transition:transform .32s var(--ux-ease);
  }
  .cta:hover::before,.btn:hover::before{transform:scaleX(1);}
  .cta,.btn{isolation:isolate;}
}

/* ═══ ⑥ 滚动进场（仅在 JS 就绪时生效，避免白屏风险）══════ */
.ux-on .ux-reveal{
  opacity:0;transform:translateY(18px);
  transition:opacity .62s ease, transform .62s var(--ux-ease);
  will-change:opacity,transform;
}
.ux-on .ux-reveal.ux-in{opacity:1;transform:none;}

/* ═══ ⑦ 移动端细节 ═══════════════════════════════════════ */
@media(max-width:640px){
  .tile,.tile2{padding:15px 16px;}
  .hd-in{padding:12px 16px !important;}
  .nav{padding:11px 16px;}
  .crumb{padding-top:16px;}
  main{padding-top:34px;}
}
/* iPhone 底部安全区 */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  footer{padding-bottom:calc(44px + env(safe-area-inset-bottom));}
}

/* ═══ ⑧ 尊重「减少动效」偏好 ═════════════════════════════ */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .ux-on .ux-reveal{opacity:1;transform:none;}
}


/* ── 移动端首屏背景：横幅图不再 cover 放大，改为缩小显示，解决发虚 ── */
@media(max-width:860px){
  .hero-bg{
    /* 原图 1600×661 宽幅；cover 在竖屏会放大 1.28 倍并裁掉 81% 宽度 → 糊
       改为高度占 62%（缩小到 0.79 倍），清晰度提升，山水主体居中保留 */
    background-size:auto 62%,auto !important;
    background-position:center 22%,center !important;
  }
}

/* ── 文章页互动条：点亮 / 分享 / 海报 ── */
.act-wrap{max-width:820px;margin:0 auto;padding:0 24px;}
.act-bar{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
margin:8px 0 0;padding:26px 0 4px;border-top:1px solid var(--line);}
.act-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
height:40px;width:104px;min-width:104px;max-width:104px;padding:0 12px;
border:1px solid var(--line);border-radius:999px;background:var(--paper-2);
color:var(--ink-soft);font-size:13.5px;line-height:1;letter-spacing:.08em;font-family:inherit;
cursor:pointer;-webkit-tap-highlight-color:transparent;
transition:border-color .24s,color .24s,background-color .24s,transform .18s;}
.act-btn svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;
stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@media(hover:hover){.act-btn:hover{border-color:var(--cinnabar);color:var(--cinnabar);transform:translateY(-1px);}}
.act-btn:active{transform:scale(.96);}
.act-btn.act-like.on{border-color:var(--cinnabar);color:var(--cinnabar);background:rgba(156,43,37,.07);}
.act-btn.act-like.on svg{fill:currentColor;}
.act-count{font-family:Georgia,serif;font-size:12px;opacity:.7;margin-left:1px;}
.act-like.pop svg{animation:actPop .42s cubic-bezier(.22,1.4,.36,1);}
@keyframes actPop{0%{transform:scale(1)}35%{transform:scale(1.42)}100%{transform:scale(1)}}

/* 浮层 */
.act-ov{position:fixed;inset:0;z-index:200;opacity:0;transition:opacity .26s;}
.act-ov.is-on{opacity:1;}
.act-mask{position:absolute;inset:0;background:rgba(28,26,23,.52);}
.act-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-48%) scale(.97);
width:min(90vw,420px);max-height:86vh;overflow-y:auto;overscroll-behavior:contain;
background:var(--paper);border:1px solid var(--line);border-radius:4px;
box-shadow:0 18px 60px rgba(28,26,23,.28);padding:34px 28px 30px;text-align:center;
transition:transform .28s cubic-bezier(.22,.61,.36,1);}
.act-ov.is-on .act-box{transform:translate(-50%,-50%) scale(1);}
.act-x{position:absolute;right:10px;top:6px;width:34px;height:34px;line-height:1;
background:none;border:0;font-size:24px;color:var(--ink-soft);cursor:pointer;}
.act-x:hover{color:var(--cinnabar);}
.act-hd{font-size:12px;letter-spacing:.34em;text-indent:.34em;color:var(--gold);margin-bottom:20px;}
.act-qr{width:210px;margin:0 auto 14px;padding:10px;background:#fff;
border:1px solid var(--line);border-radius:3px;}
.act-qr canvas{width:100%;height:auto;display:block;}
.act-posterimg{margin-bottom:14px;}
.act-posterimg img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:3px;}
/* 海报浮层：整张海报一屏完整呈现，不出现滚动条 */
.act-box.act-box-poster{width:min(94vw,420px);max-height:94vh;
display:flex;flex-direction:column;overflow:hidden;padding:24px 24px 20px;}
.act-box-poster .act-hd{flex:none;margin-bottom:14px;}
.act-box-poster .act-posterimg{flex:1 1 auto;min-height:0;margin-bottom:12px;
display:flex;align-items:center;justify-content:center;}
.act-box-poster .act-posterimg img{width:auto;height:auto;max-width:100%;max-height:100%;
object-fit:contain;box-shadow:0 6px 20px rgba(28,26,23,.14);}
.act-box-poster .act-tip{flex:none;}
.act-box-poster .act-row{flex:none;margin-top:12px;}
.act-tip{font-size:12.5px;color:var(--ink-soft);opacity:.85;line-height:1.9;}
.act-url{font-size:12px;color:var(--gold);margin-top:8px;word-break:break-all;font-family:Georgia,serif;}
.act-row{margin-top:18px;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.act-copy,.act-dl{display:inline-block;padding:9px 24px;border:1px solid var(--cinnabar);
border-radius:999px;color:var(--cinnabar);font-size:13px;letter-spacing:.08em;
text-decoration:none;background:none;font-family:inherit;cursor:pointer;}
.act-copy:hover,.act-dl:hover{background:var(--cinnabar);color:#fff;}
.act-toast{position:fixed;left:50%;bottom:38px;transform:translate(-50%,14px);z-index:300;
background:rgba(28,26,23,.92);color:var(--paper);font-size:13px;letter-spacing:.06em;
padding:11px 22px;border-radius:999px;opacity:0;pointer-events:none;
transition:opacity .24s,transform .24s;max-width:86vw;text-align:center;}
.act-toast.is-on{opacity:1;transform:translate(-50%,0);}
/* 分享浮层主操作区 */
.act-share-main{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;}
.act-copy-txt{background:var(--cinnabar);color:#fff;}
.act-copy-txt:hover{background:#83231e;color:#fff;}
.act-qrbtn{display:inline-block;padding:7px 18px;border:1px solid var(--line);
border-radius:999px;color:var(--ink-soft);font-size:12.5px;letter-spacing:.08em;
background:none;font-family:inherit;cursor:pointer;}
.act-qrbtn:hover{border-color:var(--cinnabar);color:var(--cinnabar);}
.act-qr{margin-top:14px;display:flex;justify-content:center;}
.act-qr[hidden]{display:none;}
.act-qr canvas{width:188px;height:188px;border-radius:6px;}

/* 桌面右侧悬浮分享条 */
.act-rail{position:fixed;right:20px;top:50%;transform:translateY(-50%) translateX(14px);
z-index:150;display:flex;flex-direction:column;gap:9px;
opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;}
.act-rail.is-on{opacity:1;transform:translateY(-50%) translateX(0);pointer-events:auto;}
.act-rail-b{position:relative;width:44px;height:44px;display:flex;align-items:center;
justify-content:center;border:1px solid var(--line);border-radius:50%;
background:var(--paper-2);color:var(--ink-soft);cursor:pointer;
transition:border-color .22s,color .22s,background-color .22s,transform .18s;}
.act-rail-b svg{width:17px;height:17px;fill:none;stroke:currentColor;
stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.act-rail-like.on{color:var(--cinnabar);border-color:var(--cinnabar);}
.act-rail-like.on svg{fill:currentColor;}
.act-rail-t{position:absolute;right:52px;top:50%;transform:translateY(-50%) translateX(6px);
white-space:nowrap;font-size:12px;letter-spacing:.08em;color:var(--ink-soft);
background:var(--paper-2);border:1px solid var(--line);border-radius:999px;
padding:5px 12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;}
@media(hover:hover){
  .act-rail-b:hover{border-color:var(--cinnabar);color:var(--cinnabar);transform:translateY(-2px);}
  .act-rail-b:hover .act-rail-t{opacity:1;transform:translateY(-50%) translateX(0);}
}
/* 移动端不显示悬浮条（底部操作栏更合适） */
@media(max-width:860px){.act-rail{display:none !important;}}
@media(max-width:640px){
  .act-wrap{padding:0 16px;}
  .act-btn{height:40px;width:96px;min-width:96px;max-width:96px;padding:0 10px;font-size:13px;}
  .act-bar{gap:9px;}
}
@media(prefers-reduced-motion:reduce){
  .act-like.pop svg{animation:none;}
}

/* ── 首屏实用工具条：实时气象与穿衣指南（毛玻璃）── */
.utool{
  position:relative;z-index:3;
  width:100%;max-width:782px;margin:10px auto 0;padding:0 16px;
}
.utool[hidden]{display:none !important;}
.utool-glass{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:6px 11px;
  padding:11px 22px;
  border-radius:999px;
  background:rgba(255,255,255,.46);
  -webkit-backdrop-filter:blur(16px) saturate(1.55);
  backdrop-filter:blur(16px) saturate(1.55);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 8px 28px rgba(28,26,23,.10), inset 0 1px 0 rgba(255,255,255,.72);
  font-size:13px;line-height:1.65;color:var(--ink);
  letter-spacing:.02em;text-align:center;
}
.utool-glass b{color:var(--cinnabar);font-weight:600;}
.ut-ico{font-size:15px;line-height:1;transform:translateY(1px);}
.ut-sep{width:1px;height:12px;background:rgba(28,26,23,.18);flex:none;}
.utool-foot{
  margin-top:9px;text-align:center;
  font-size:11px;letter-spacing:.05em;color:#8a8272;
}
/* 矮屏收紧，避免把首屏文字挤出可视区 */
@media(max-height:720px){
  .utool{margin-top:10px;}
  .utool-glass{padding:9px 18px;font-size:12.5px;}
  .utool-foot{display:none;}
}
@media(max-width:640px){
  .utool{max-width:100%;margin-top:10px;padding:0 14px;}
  .utool-glass{
    padding:11px 16px;font-size:12.5px;border-radius:18px;
    gap:4px 9px;line-height:1.8;
  }
  .ut-sep{display:none;}
  .utool-foot{font-size:10.5px;margin-top:7px;}
}
@media(prefers-reduced-motion:reduce){
  .utool-glass{backdrop-filter:none;-webkit-backdrop-filter:none;
    background:rgba(255,255,255,.82);}
}

/* ── 实用工具条 · 可点击态 ── */
.utool-glass{
  cursor:pointer;
  transition:background-color .24s,border-color .24s,box-shadow .24s,transform .24s;
  -webkit-tap-highlight-color:transparent;
}
@media(hover:hover){
  .utool-glass:hover{
    background:rgba(255,255,255,.72);
    border-color:rgba(255,255,255,.9);
    box-shadow:0 12px 34px rgba(28,26,23,.14), inset 0 1px 0 rgba(255,255,255,.9);
    transform:translateY(-1px);
  }
}
.utool-glass:active{transform:translateY(0);}
.utool-glass:focus-visible{outline:2px solid var(--cinnabar);outline-offset:3px;}
.ut-more{
  display:inline-flex;align-items:center;gap:4px;flex:none;
  padding-left:2px;color:var(--cinnabar);font-size:12px;letter-spacing:.06em;
}
.ut-more i{
  width:5px;height:5px;border-right:1.4px solid var(--cinnabar);
  border-bottom:1.4px solid var(--cinnabar);transform:rotate(-45deg);
  transition:transform .24s;
}
@media(hover:hover){ .utool-glass:hover .ut-more i{transform:rotate(-45deg) translate(2px,2px);} }

/* ── 气象详情浮层 ── */
.ut-modal{position:fixed;inset:0;z-index:200;}
.ut-modal[hidden]{display:none !important;}
.ut-mask{
  position:absolute;inset:0;background:rgba(28,26,23,.44);
  opacity:0;transition:opacity .26s;
}
.ut-modal.is-on .ut-mask{opacity:1;}
.ut-card{
  position:absolute;left:50%;top:50%;
  width:min(92vw,520px);max-height:86vh;overflow-y:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  transform:translate(-50%,-46%) scale(.97);opacity:0;
  transition:transform .30s cubic-bezier(.22,.61,.36,1),opacity .26s;
  background:var(--paper);
  border:1px solid var(--line);border-radius:4px;
  box-shadow:0 26px 70px rgba(28,26,23,.30);
  padding:24px 24px 13px;
}
.ut-modal.is-on .ut-card{transform:translate(-50%,-50%) scale(1);opacity:1;}
.ut-x{
  position:absolute;right:12px;top:10px;
  width:32px;height:32px;line-height:1;
  font-size:22px;color:#8a8272;background:transparent;border:none;cursor:pointer;
  border-radius:50%;transition:background-color .2s,color .2s;
}
.ut-x:hover{background:rgba(28,26,23,.06);color:var(--ink);}
.ut-h{
  font-size:16px;font-weight:700;letter-spacing:.1em;
  text-align:center;margin-bottom:5px;
}
.ut-upd{
  font-size:10.5px;color:#8a8272;letter-spacing:.04em;
  text-align:center;margin-bottom:11px;line-height:1.6;
}

/* 上下对比 */
.ut-cmp{
  display:flex;align-items:stretch;gap:10px;
  padding:12px 8px;margin-bottom:10px;
  background:rgba(255,255,255,.62);
  border:1px solid var(--line);border-radius:3px;
}
.ut-col{flex:1;text-align:center;}
.ut-lab{font-size:11px;color:#8a8272;letter-spacing:.1em;margin-bottom:7px;}
.ut-temp{font-family:Georgia,serif;font-size:21px;font-weight:700;color:var(--ink);line-height:1.2;}
.ut-temp s{text-decoration:none;color:#a89f8c;margin:0 2px;font-size:17px;}
.ut-temp em{font-style:normal;font-size:13px;margin-left:2px;color:#8a8272;}
.ut-sky{font-size:11.5px;color:var(--ink-soft);margin-top:5px;letter-spacing:.04em;}
.ut-mid{
  flex:none;width:76px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:4px;
  border-left:1px dashed var(--line);border-right:1px dashed var(--line);
}
.ut-dnum{font-size:11px;color:#8a8272;letter-spacing:.04em;}
.ut-dnum b{color:var(--cinnabar);font-size:15px;font-family:Georgia,serif;margin:0 1px;}
.ut-dbar{width:5px;height:26px;background:rgba(28,26,23,.09);border-radius:3px;position:relative;overflow:hidden;}
.ut-dbar span{position:absolute;left:0;bottom:0;right:0;background:var(--cinnabar);border-radius:3px;}
.ut-dtxt{font-size:10px;color:#a89f8c;letter-spacing:.06em;}

/* 指标行 */
.ut-metrics{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));
  gap:7px;margin-bottom:11px;
}
.ut-m{
  text-align:center;padding:7px 4px;
  background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:3px;
}
.ut-m i{display:block;font-style:normal;font-size:10.5px;color:#8a8272;letter-spacing:.08em;margin-bottom:4px;}
.ut-m b{font-size:13.5px;color:var(--ink);font-weight:600;}

.ut-sec-t{
  font-size:11px;letter-spacing:.28em;color:var(--gold);
  margin:12px 0 7px;padding-bottom:5px;
  border-bottom:1px dashed var(--line);
}

/* 未来三天 */
.ut-fc{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.ut-day{
  text-align:center;padding:9px 4px;
  background:rgba(255,255,255,.5);border:1px solid var(--line);border-radius:3px;
}
.ut-day i{display:block;font-style:normal;font-size:11px;color:#8a8272;letter-spacing:.06em;margin-bottom:5px;}
.ut-day span{font-size:16px;line-height:1.2;display:block;}
.ut-day b{display:block;font-size:12.5px;color:var(--ink);font-weight:600;margin-top:4px;font-family:Georgia,serif;}
.ut-day u{display:block;font-size:10.5px;color:#a89f8c;text-decoration:none;margin-top:2px;}

/* 穿衣 */
.ut-wear,.ut-tips{list-style:none;margin:0;padding:0;}
.ut-wear li{
  display:flex;gap:12px;align-items:baseline;
  padding:5px 0;border-bottom:1px dotted var(--line);
  font-size:13px;color:var(--ink);line-height:1.7;
}
.ut-wear li:last-child{border-bottom:none;}
.ut-wear em{
  flex:none;width:42px;font-style:normal;font-size:11px;
  color:var(--gold);letter-spacing:.1em;
}
.ut-tips li{
  position:relative;padding:4px 0 4px 15px;
  font-size:12.5px;color:var(--ink-soft);line-height:1.78;
}
.ut-tips li::before{
  content:"";position:absolute;left:2px;top:14px;
  width:4px;height:4px;border-radius:50%;background:var(--cinnabar);opacity:.6;
}
.ut-foot{
  margin-top:10px;padding-top:9px;border-top:1px dashed var(--line);
  font-size:10px;color:#a89f8c;letter-spacing:.04em;line-height:1.7;text-align:center;
}

html.ut-lock,html.ut-lock body{overflow:hidden;}

@media(max-width:640px){
  .ut-card{width:94vw;max-height:88vh;padding:26px 18px 18px;
    padding-bottom:calc(18px + env(safe-area-inset-bottom,0px));}
  .ut-h{font-size:15.5px;}
  .ut-cmp{padding:14px 4px;gap:6px;}
  .ut-temp{font-size:20px;}
  .ut-mid{width:60px;}
  .ut-metrics{grid-template-columns:repeat(3,1fr);}
  .ut-fc{gap:6px;}
  .ut-day{padding:9px 2px;}
}
@media(prefers-reduced-motion:reduce){
  .ut-card,.ut-mask{transition:none;}
}

/* ── 工具条 · 浅底/纸色页面变体 ── */
.utool-paper{max-width:720px;}
.utool-paper .utool-glass{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(28,26,23,.13);
  box-shadow:0 6px 22px rgba(28,26,23,.07), inset 0 1px 0 rgba(255,255,255,.9);
}
@media(hover:hover){
  .utool-paper .utool-glass:hover{
    background:rgba(255,255,255,.95);
    border-color:rgba(28,26,23,.2);
    box-shadow:0 10px 28px rgba(28,26,23,.11), inset 0 1px 0 rgba(255,255,255,.95);
  }
}

/* ── 首屏快捷导航（换乘 / 寺庙 / 索道 / 厕所 / 住宿 / 寻味）── */
.qnav{
  position:relative;z-index:3;
  display:flex;justify-content:center;align-items:center;flex-wrap:wrap;
  gap:10px;margin-top:32px;padding:0 14px;
}
.qbtn{
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:999px;
  background:rgba(255,255,255,.44);
  -webkit-backdrop-filter:blur(14px) saturate(1.5);
  backdrop-filter:blur(14px) saturate(1.5);
  border:1px solid rgba(255,255,255,.62);
  box-shadow:0 6px 20px rgba(28,26,23,.09), inset 0 1px 0 rgba(255,255,255,.70);
  font-size:12.5px;letter-spacing:.06em;color:var(--ink);
  width:100px;min-width:100px;justify-content:center;
  text-decoration:none;white-space:nowrap;
  transition:transform .22s cubic-bezier(.22,.61,.36,1), box-shadow .22s,
             border-color .22s, background-color .22s;
}
/* 站内深度阅读（非地图导航）加一枚朱红小点，与「调起地图」区分 */
.qbtn-in::after{
  content:"";width:4px;height:4px;border-radius:50%;
  background:rgba(158,43,37,.5);margin-left:2px;flex:none;
}
.qbtn:active{transform:scale(.96);}
@media(hover:hover){
  .qbtn:hover{
    transform:translateY(-2px);
    border-color:rgba(158,43,37,.38);
    background:rgba(255,255,255,.74);
    box-shadow:0 10px 24px rgba(28,26,23,.13), inset 0 1px 0 rgba(255,255,255,.8);
  }
}
.qico{font-size:15px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}
/* ── 首屏删除副标题「不止打卡观光…」与分隔语后，
      h1 与天气条之间补回呼吸感（原本由副标题占据）── */
.hero .utool{margin-top:38px;}
/* 矮屏（笔记本小窗口 / 横屏）：收回加大的间距，保证「向 下」仍在首屏内 */
@media(max-height:720px){
  .hero .utool{margin-top:24px;}
  .qnav{margin-top:14px;}
}
@media(max-height:560px){
  .hero .utool{margin-top:14px;}
  .qnav{margin-top:10px;}
}
@media(max-width:640px){
  .hero .utool{margin-top:16px;}
  .qnav{gap:6px;margin-top:16px;padding:0 10px;}
  /* 六个按钮：手机上分两行，每行 3 个（单行放不下） */
  .qbtn{
    flex:0 0 calc((100% - 12px)/3);
    width:auto;min-width:0;
    padding:6px 3px;font-size:11px;gap:3px;justify-content:center;
  }
  .qico{font-size:13px;}
  /* 手机空间紧，隐藏站内标记小点 */
  .qbtn-in::after{display:none;}
}
@media(max-width:360px){
  .qnav{gap:5px;padding:0 8px;}
  .qbtn{flex:0 0 calc((100% - 10px)/3);font-size:10.5px;}
}

/* ── 首屏快捷导航：矮屏压缩留白，保证「向 下」仍在视口内 ── */
@media(max-width:640px) and (max-height:830px){
  .hero-inner{padding-bottom:max(14px, calc(22vh - 110px));}
}
@media(max-width:640px) and (max-height:730px){
  .hero{padding-top:96px;}
  .hero-inner{padding-bottom:max(14px, calc(22vh - 110px));}
}

/* ══════════════════════════════════════════════════════════
   小九 · 九华智能游（右下角 AI 问答）
   ══════════════════════════════════════════════════════════ */

/* 悬浮按钮 */
.xj-bub{
  position:fixed;right:24px;bottom:26px;z-index:400;
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  border:1px solid rgba(28,26,23,.16);
  background:var(--ink,#1c1a17);color:#d8b26a;
  box-shadow:0 6px 22px rgba(28,26,23,.24);
  cursor:pointer;padding:0;
  opacity:0;transform:translateY(10px) scale(.9);
  transition:opacity .34s var(--ux-ease),transform .34s var(--ux-ease),
             box-shadow .22s var(--ux-ease);
}
.xj-bub.is-ready{opacity:1;transform:none;}
.xj-bub.is-hidden{opacity:0;transform:scale(.7);pointer-events:none;}
@media(hover:hover){
  .xj-bub:hover{box-shadow:0 10px 28px rgba(28,26,23,.32);transform:translateY(-2px);}
}
.xj-bubimg{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}
.xj-jiu{font-family:"Songti SC","STSong","Noto Serif CJK SC",serif;
  font-size:23px;line-height:1;font-weight:600;letter-spacing:0;}
.xj-dot{position:absolute;top:9px;right:11px;width:6px;height:6px;
  border-radius:50%;background:#c98a5e;box-shadow:0 0 0 3px rgba(200,140,95,.22);}
@media(prefers-reduced-motion:reduce){.xj-dot{display:none;}}

/* 首次提示（小九开口打招呼） */
.xj-greet{
  position:fixed;right:88px;bottom:38px;z-index:400;
  display:flex;align-items:center;gap:9px;
  max-width:min(58vw,272px);
  padding:8px 10px 8px 8px;
  border-radius:18px 18px 6px 18px;
  background:var(--paper-2,#f3efe4);color:var(--ink,#1c1a17);
  border:1px solid var(--line,rgba(28,26,23,.14));
  box-shadow:0 5px 18px rgba(28,26,23,.13);
  cursor:pointer;
  animation:xjHintIn .42s var(--ux-ease) both;
  transition:opacity .34s,transform .34s var(--ux-ease);
}
.xj-greet-av{width:34px;height:34px;flex:none;border-radius:50%;
  object-fit:cover;display:block;border:1px solid rgba(28,26,23,.12);}
.xj-greet-txt{font-size:13px;line-height:1.45;letter-spacing:.02em;
  padding-right:2px;}
.xj-greet-x{flex:none;width:18px;height:18px;margin:-4px -2px 0 0;padding:0;
  border:0;background:transparent;color:rgba(28,26,23,.34);
  font-size:15px;line-height:1;cursor:pointer;}
.xj-greet-x:hover{color:rgba(28,26,23,.7);}
.xj-greet.off{opacity:0;transform:translateX(10px);}
@keyframes xjHintIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}

/* 面板 */
.xj-panel{
  position:fixed;right:24px;bottom:26px;z-index:500;
  width:392px;height:600px;max-height:calc(100vh - 60px);
  display:none;flex-direction:column;overflow:hidden;
  background:var(--paper,#faf7f0);
  border:1px solid var(--line,rgba(28,26,23,.14));
  border-radius:14px;
  box-shadow:0 18px 54px rgba(28,26,23,.26);
  opacity:0;transform:translateY(16px) scale(.97);
  transition:opacity .30s var(--ux-ease),transform .30s var(--ux-ease);
}
.xj-panel.is-on{display:flex;opacity:1;transform:none;}

.xj-head{
  flex:none;display:flex;align-items:center;gap:11px;
  padding:13px 14px;background:var(--ink,#1c1a17);color:#f2ede0;
}
.xj-av{
  flex:none;width:34px;height:34px;border-radius:50%;overflow:hidden;
  background:rgba(216,178,106,.16);border:1px solid rgba(216,178,106,.42);
}
.xj-av img{width:100%;height:100%;object-fit:cover;display:block;}
.xj-av img{transition:opacity .22s var(--ux-ease);}
.xj-hmeta{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35;}
.xj-hmeta b{font-size:15px;letter-spacing:.10em;font-weight:600;}
.xj-hmeta span{font-size:11.5px;opacity:.62;letter-spacing:.06em;}
.xj-x{
  flex:none;width:30px;height:30px;border-radius:50%;padding:0;
  background:transparent;border:1px solid rgba(242,237,224,.20);
  color:#f2ede0;font-size:19px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background-color .2s,border-color .2s;
}
.xj-x:hover{background:rgba(242,237,224,.12);border-color:rgba(242,237,224,.4);}

.xj-body{
  flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;
  padding:15px 15px 6px;
  background:linear-gradient(180deg,rgba(243,239,228,.55),rgba(250,247,240,0) 120px);
}
.xj-msg{margin-bottom:13px;display:flex;flex-direction:column;position:relative;}
.xj-msg.xj-me{justify-content:flex-end;align-items:flex-end;}
.xj-msg.xj-bot{align-items:flex-start;padding-left:36px;}
.xj-face{
  position:absolute;left:0;top:2px;width:30px;height:30px;border-radius:50%;
  object-fit:cover;display:block;
  border:1px solid var(--line,rgba(28,26,23,.12));
  background:var(--paper-2,#f3efe4);
  box-shadow:0 1px 5px rgba(28,26,23,.08);
}
.xj-msg.xj-me > *{
  max-width:82%;padding:9px 13px;border-radius:13px 13px 3px 13px;
  background:var(--cinnabar,#9c2b25);color:#fff;font-size:14px;line-height:1.72;
}
.xj-msg.xj-bot > .xj-a,.xj-msg.xj-bot > div{
  max-width:92%;padding:11px 14px;border-radius:13px 13px 13px 3px;
  background:#fff;border:1px solid var(--line,rgba(28,26,23,.10));
  font-size:14px;line-height:1.78;color:var(--ink,#1c1a17);
  box-shadow:0 2px 10px rgba(28,26,23,.05);
}
.xj-msg.xj-bot > .xj-a b{color:var(--cinnabar,#9c2b25);font-weight:600;}
.xj-msg.xj-bot > div:not(.xj-a){border:none;background:transparent;
  box-shadow:none;padding:0;}

.xj-quote{
  margin:0 0 8px;padding:8px 11px;border-left:2px solid #c9a24a;
  background:rgba(201,162,74,.09);border-radius:0 6px 6px 0;
  font-size:13.5px;line-height:1.75;color:#5a4a2a;
}
.xj-note{
  margin-top:9px;padding:8px 11px;border-radius:7px;
  background:rgba(28,26,23,.045);border:1px dashed rgba(28,26,23,.14);
  font-size:12.5px;line-height:1.7;color:var(--ink-soft,#6b6459);
}
.xj-note b{color:var(--cinnabar,#9c2b25);font-weight:600;}
.xj-kb{
  margin-top:9px;font-size:11.5px;line-height:1.7;
  color:var(--ink-soft,#6b6459);opacity:.82;
}

/* 出处卡片 */
.xj-src{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:10px;padding:9px 12px;border-radius:8px;
  background:rgba(201,162,74,.10);border:1px solid rgba(201,162,74,.30);
  text-decoration:none;color:#7a5f1e;font-size:13px;
  transition:background-color .2s,border-color .2s,transform .18s var(--ux-ease);
}
.xj-src:hover{background:rgba(201,162,74,.18);border-color:#c9a24a;transform:translateX(2px);}
.xj-srcl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.xj-srca{flex:none;opacity:.6;}

.xj-rel{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin-top:7px;padding:8px 12px;border-radius:7px;
  background:#fff;border:1px solid var(--line,rgba(28,26,23,.12));
  text-decoration:none;color:var(--ink,#1c1a17);font-size:13px;
  transition:border-color .2s,color .2s,transform .18s var(--ux-ease);
}
.xj-rel span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.xj-rel i{flex:none;font-style:normal;opacity:.45;transition:opacity .2s,transform .2s;}
.xj-rel:hover{border-color:var(--cinnabar,#9c2b25);color:var(--cinnabar,#9c2b25);transform:translateX(2px);}
.xj-rel:hover i{opacity:1;transform:translateX(3px);}

/* 打字动画 */
.xj-typing > .xj-dots{
  padding:12px 15px;border-radius:13px 13px 13px 3px;
  background:#fff;border:1px solid var(--line,rgba(28,26,23,.10));
  display:inline-flex;gap:5px;align-items:center;
  box-shadow:0 2px 10px rgba(28,26,23,.05);
}
.xj-typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-soft,#6b6459);
  opacity:.4;animation:xjBlink 1.1s infinite;}
.xj-typing i:nth-child(2){animation-delay:.16s;}
.xj-typing i:nth-child(3){animation-delay:.32s;}
@keyframes xjBlink{0%,60%,100%{opacity:.28;transform:translateY(0)}
  30%{opacity:.85;transform:translateY(-3px)}}

/* 快捷问题 */
.xj-quick{
  flex:none;display:flex;gap:7px;overflow-x:auto;padding:9px 15px 8px;
  border-top:1px solid var(--line,rgba(28,26,23,.10));
  scrollbar-width:none;
}
.xj-quick::-webkit-scrollbar{display:none;}
.xj-chip{
  flex:none;padding:6px 12px;border-radius:15px;
  background:var(--paper-2,#f3efe4);border:1px solid var(--line,rgba(28,26,23,.14));
  color:var(--ink,#1c1a17);font-size:12.5px;line-height:1.5;cursor:pointer;
  white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s;
}
.xj-chip:hover{background:var(--cinnabar,#9c2b25);border-color:var(--cinnabar,#9c2b25);color:#fff;}

/* 输入区 */
.xj-form{
  flex:none;display:flex;gap:8px;padding:0 12px 12px;
}
.xj-in{
  flex:1;min-width:0;height:40px;padding:0 13px;
  border:1px solid var(--line,rgba(28,26,23,.16));border-radius:20px;
  background:#fff;color:var(--ink,#1c1a17);font-size:14px;font-family:inherit;
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.xj-in:focus{border-color:var(--cinnabar,#9c2b25);
  box-shadow:0 0 0 3px rgba(156,43,37,.10);}
.xj-in::placeholder{color:rgba(107,100,89,.55);}
.xj-send{
  flex:none;width:40px;height:40px;border-radius:50%;padding:0;cursor:pointer;
  background:var(--cinnabar,#9c2b25);border:1px solid var(--cinnabar,#9c2b25);
  color:#fff;display:flex;align-items:center;justify-content:center;
  transition:opacity .2s,transform .18s var(--ux-ease);
}
.xj-send svg{fill:currentColor;stroke:none;}
.xj-send:hover{opacity:.88;transform:scale(1.05);}

/* 移动端 */
@media(max-width:640px){
  .xj-bub{right:15px;bottom:18px;width:50px;height:50px;}
  .xj-jiu{font-size:21px;}
  .xj-greet{right:72px;bottom:26px;max-width:calc(100vw - 100px);
    padding:7px 9px 7px 7px;gap:7px;}
  .xj-greet-av{width:30px;height:30px;}
  .xj-greet-txt{font-size:12.5px;line-height:1.4;}
  .xj-panel{
    right:10px;left:10px;bottom:12px;width:auto;
    height:min(74vh,606px);max-height:calc(100vh - 40px);
  }
  .xj-msg.xj-bot > .xj-a,.xj-msg.xj-bot > div{max-width:95%;font-size:13.5px;}
}
@media(max-width:360px){
  .xj-quick{padding:8px 12px 7px;}
  .xj-chip{font-size:12px;padding:5px 10px;}
}

/* 打开抽屉/浮层时隐藏小九，避免遮挡 */
html.ux-lock .xj-bub,html.ux-lock .xj-panel,
html.ux-lock .xj-greet{opacity:0 !important;pointer-events:none !important;}

@media(prefers-reduced-motion:reduce){
  .xj-panel,.xj-bub,.xj-greet{transition-duration:.01ms !important;}
  .xj-typing i{animation:none;opacity:.5;}
}

/* ══════════════════════════════════════════════════════════
   行程智能体（plan.js）
   ══════════════════════════════════════════════════════════ */
.pl-sec{padding:28px 0 8px;}
.pl-h{font-size:clamp(24px,3.6vw,34px);letter-spacing:.06em;text-align:center;margin:14px 0 12px;color:var(--ink, #1c1a17);}
.pl-lead{text-align:center;max-width:640px;margin:0 auto 30px;font-size:14px;line-height:2;color:var(--ink-soft,#6b655c);}
.pl-card{max-width:900px;margin:0 auto;background:rgba(255,255,255,.72);border:1px solid var(--line,#e3ddd0);
  border-radius:14px;padding:26px 24px 22px;box-shadow:0 6px 22px rgba(28,26,23,.05);}
.pl-form{display:flex;flex-direction:column;gap:16px;}
.pl-row{display:flex;align-items:flex-start;gap:14px;}
.pl-label{flex:0 0 52px;font-size:12px;letter-spacing:.22em;color:var(--gold,#b08d3f);padding-top:9px;}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px;flex:1;}
.pl-chip{font:inherit;font-size:13.5px;line-height:1;padding:9px 15px;border-radius:999px;cursor:pointer;
  background:transparent;border:1px solid var(--line,#e3ddd0);color:var(--ink-soft,#6b655c);
  transition:all .2s var(--ux-ease,cubic-bezier(.22,.61,.36,1));white-space:nowrap;}
.pl-chip:hover{border-color:var(--cinnabar,#9C2B25);color:var(--cinnabar,#9C2B25);}
.pl-chip.on{background:var(--cinnabar,#9C2B25);border-color:var(--cinnabar,#9C2B25);color:#fff;}
.pl-hint{font-size:12px;color:var(--gold,#b08d3f);letter-spacing:.05em;margin:14px 0 0;text-align:center;}
/* 出发城市：按区域分组 */
.pl-citybox{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0;}
.pl-cgrp{display:flex;align-items:flex-start;gap:12px;}
.pl-cgrptag{flex:0 0 auto;min-width:74px;padding-top:9px;font-size:12px;color:var(--ink-soft,#6b655c);
  opacity:.72;letter-spacing:.02em;}
.pl-cgrp .pl-chips{flex:1;min-width:0;}
/* 自定义城市输入 */
.pl-cityinput{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap;}
.pl-cityinput input{flex:1;min-width:150px;height:36px;padding:0 12px;font-size:13.5px;
  border:1px solid rgba(156,43,37,.28);border-radius:9px;background:#fff;color:var(--ink,#1c1a17);
  font-family:inherit;outline:none;}
.pl-cityinput input:focus{border-color:var(--cinnabar,#9C2B25);}
.pl-cityinput button{height:36px;padding:0 15px;font-size:12.5px;border-radius:9px;cursor:pointer;
  border:1px solid var(--cinnabar,#9C2B25);background:var(--cinnabar,#9C2B25);color:#fff;font-family:inherit;}
.pl-cityinput button.ghost{background:transparent;color:var(--cinnabar,#9C2B25);}
/* 更多偏好 */
.pl-row-pref{display:block!important;align-items:stretch!important;border-top:1px dashed rgba(156,43,37,.16);
  padding-top:13px;margin-top:3px;}
.pl-preftoggle{display:inline-block;background:none;border:none;padding:0;cursor:pointer;
  font-family:inherit;font-size:13px;color:var(--cinnabar,#9C2B25);letter-spacing:.04em;}
.pl-preftoggle.open{color:var(--gold,#b08d3f);}
.pl-prefcount{margin-left:9px;font-size:11.5px;color:var(--gold,#b08d3f);}
.pl-prefbox{margin-top:11px;}
.pl-chips-multi .pl-chip.on::after{content:"✓";margin-left:5px;font-size:11px;}
/* 5人以上轻提示 */
.pl-tipbar{margin:13px auto 0;max-width:640px;padding:11px 15px;border-radius:11px;
  background:rgba(156,43,37,.07);border:1px solid rgba(156,43,37,.22);
  font-size:12.5px;line-height:1.85;color:var(--ink,#1c1a17);}
.pl-tipbar b{color:var(--cinnabar,#9C2B25);}
/* 难度标签 */
.pl-lv{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:5px;
  font-size:10.5px;font-style:normal;letter-spacing:.03em;
  background:rgba(176,141,63,.13);color:var(--gold,#b08d3f);vertical-align:1px;white-space:nowrap;}
/* 模式提示条 */
.pl-mode{margin:0 0 11px;padding:9px 13px;border-radius:9px;font-size:12.5px;line-height:1.8;
  background:rgba(176,141,63,.09);color:var(--ink,#1c1a17);}
/* 票务表 */
.pl-tk td:first-child{white-space:nowrap;}
/* 礼佛须知 */
.pl-temple li{padding-left:20px;}
.pl-temple b{color:var(--cinnabar,#9C2B25);font-weight:600;margin-right:5px;}

/* 结果 */
.pl-out{max-width:900px;margin:26px auto 0;}
.pl-sum{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;}
.pl-sum-k{font-size:13px;padding:7px 15px;border-radius:999px;background:rgba(176,141,63,.12);
  color:var(--cinnabar,#9C2B25);letter-spacing:.06em;border:1px solid rgba(176,141,63,.28);}
.pl-b{background:rgba(255,255,255,.72);border:1px solid var(--line,#e3ddd0);border-radius:14px;
  padding:22px 24px;margin-bottom:16px;box-shadow:0 6px 22px rgba(28,26,23,.05);}
.pl-bh{display:flex;align-items:center;gap:10px;font-size:16px;letter-spacing:.08em;
  color:var(--ink,#1c1a17);margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--line,#e3ddd0);}
.pl-bh i{font-style:normal;width:26px;height:26px;flex:0 0 26px;border-radius:50%;
  background:var(--cinnabar,#9C2B25);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;}
.pl-bd{font-size:14px;line-height:1.9;color:var(--ink-soft,#6b655c);}

/* 天气 */
.pl-wx{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;}
.pl-wx-i{background:var(--paper-2,#f7f4ec);border-radius:10px;padding:12px 14px;display:flex;
  flex-direction:column;gap:4px;}
.pl-wx-i.wide{grid-column:1/-1;}
.pl-wx-i span{font-size:12px;color:var(--ink-soft,#6b655c);letter-spacing:.06em;}
.pl-wx-i b{font-size:17px;color:var(--cinnabar,#9C2B25);font-weight:normal;}
.pl-wx-i.wide b{font-size:15px;color:var(--ink,#1c1a17);}

/* 天气来源标记：实时 / 常年参考 */
.pl-tag{font-style:normal;font-size:11px;letter-spacing:.06em;padding:3px 9px;border-radius:999px;
  margin-left:2px;font-weight:normal;}
.pl-tag.live{background:rgba(156,43,37,.1);color:var(--cinnabar,#9C2B25);border:1px solid rgba(156,43,37,.25);}
.pl-tag.ref{background:rgba(107,101,92,.09);color:var(--ink-soft,#6b655c);border:1px solid rgba(107,101,92,.2);}
.pl-live-note{font-size:12px;line-height:1.85;margin:10px 0 0;color:var(--ink-soft,#6b655c);
  padding:8px 12px;border-radius:9px;background:rgba(176,141,63,.07);border-left:3px solid var(--gold,#b08d3f);}

/* 时间轴 */
.pl-day{margin-bottom:18px;}
.pl-day:last-child{margin-bottom:0;}
.pl-dt{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;}
.pl-dn{font-size:12px;letter-spacing:.16em;color:var(--gold,#b08d3f);flex:0 0 auto;}
.pl-tl{list-style:none;margin:0;padding:0 0 0 4px;border-left:1px solid var(--line,#e3ddd0);}
.pl-tl li{display:flex;gap:12px;padding:0 0 10px 16px;position:relative;}
.pl-tl li::before{content:"";position:absolute;left:-4px;top:9px;width:7px;height:7px;border-radius:50%;
  background:var(--gold,#b08d3f);}
.pl-tm{flex:0 0 46px;font-size:13px;color:var(--cinnabar,#9C2B25);letter-spacing:.04em;}
.pl-tx{flex:1;font-size:13.5px;line-height:1.75;color:var(--ink-soft,#6b655c);}

/* 吃 */
.pl-food{list-style:none;margin:0;padding:0;}
.pl-food li{display:flex;flex-wrap:wrap;gap:8px;padding:9px 0;border-bottom:1px dashed var(--line,#e3ddd0);}
.pl-food li:last-child{border-bottom:0;}
.pl-food b{flex:0 0 90px;font-weight:normal;color:var(--ink,#1c1a17);letter-spacing:.06em;}
.pl-food span{flex:1;min-width:200px;font-size:13px;line-height:1.8;}

/* 住 */
.pl-stay{margin:0;font-size:13.5px;line-height:2;}
.pl-pr{margin:14px 0 0;padding:12px 14px;border:1px solid rgba(156,43,37,.16);border-radius:10px;background:rgba(255,255,255,.55);}
.pl-prk{font-size:12px;letter-spacing:.08em;color:#9c2b25;font-weight:600;margin-bottom:8px;}
.pl-prl{list-style:none;margin:0;padding:0;}
.pl-prl li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:12.5px;line-height:1.9;padding:3px 0;border-bottom:1px dashed rgba(28,26,23,.09);}
.pl-prl li:last-child{border-bottom:0;}
.pl-prl b{flex:0 0 auto;font-weight:600;color:#1c1a17;}
.pl-prl span{flex:1 1 160px;min-width:0;color:#5c564d;}
.pl-prw{margin:10px 0 0;font-size:12px;line-height:1.85;color:#6b645a;}
@media(max-width:640px){.pl-pr{padding:10px 12px;}.pl-prl li{font-size:12px;}.pl-prl span{flex:1 1 100%;}}

/* 预算表 */
.pl-bt{width:100%;border-collapse:collapse;font-size:13.5px;}
.pl-bt td{padding:10px 8px;border-bottom:1px dashed var(--line,#e3ddd0);vertical-align:top;}
.pl-bt td:first-child{width:26%;color:var(--ink,#1c1a17);letter-spacing:.04em;}
.pl-bu{font-size:12px;color:var(--ink-soft,#6b655c);}
.pl-bm{text-align:right;width:22%;color:var(--cinnabar,#9C2B25);white-space:nowrap;}
.pl-btot td{border-bottom:0;border-top:1px solid var(--line,#e3ddd0);font-size:15px;
  color:var(--ink,#1c1a17);padding-top:14px;}
.pl-btot .pl-bm{font-size:17px;}

/* 出发与抵达 */
.pl-fly{background:linear-gradient(135deg,rgba(156,43,37,.05),rgba(176,141,63,.07));
  border:1px solid rgba(176,141,63,.3);border-radius:12px;padding:14px 16px;margin-bottom:16px;}
.pl-fly-h{font-size:13.5px;line-height:1.7;color:var(--ink,#1c1a17);letter-spacing:.04em;}
.pl-fly-tag{display:inline-block;font-size:11px;letter-spacing:.12em;color:#fff;
  background:var(--cinnabar,#9C2B25);border-radius:4px;padding:2px 7px;margin-right:8px;
  vertical-align:1px;}
.pl-fly-m{display:flex;align-items:center;gap:12px;margin:10px 0 6px;flex-wrap:wrap;}
.pl-fly-m span{font-size:12.5px;color:var(--ink-soft,#6b655c);}
.pl-fly-m b{font-family:"Num",Georgia,serif;font-size:19px;color:var(--ink,#1c1a17);
  margin-right:3px;letter-spacing:.02em;}
.pl-fly-m i{font-style:normal;font-size:14px;color:var(--gold,#b08d3f);}
.pl-fly-t{margin-left:auto;font-size:12.5px;color:var(--cinnabar,#9C2B25);}
.pl-fly-f{font-size:11.5px;color:var(--ink-soft,#6b655c);line-height:1.7;}
@media (max-width:640px){
  .pl-fly{padding:12px 13px;}
  .pl-fly-m b{font-size:17px;}
  .pl-fly-t{margin-left:0;}
}
.pl-city-h{font-size:13.5px;line-height:1.8;color:var(--ink,#1c1a17);letter-spacing:.04em;margin-bottom:8px;}
.pl-city-h b{color:var(--cinnabar,#9C2B25);}
.pl-ct{width:100%;border-collapse:collapse;font-size:13px;}
.pl-ct td{padding:8px 6px;border-bottom:1px dashed var(--line,#e3ddd0);vertical-align:top;}
.pl-ct td:first-child{width:52%;color:var(--ink-soft,#6b655c);}
.pl-ct-v{text-align:right;color:var(--ink,#1c1a17);}
.pl-ct-tot td{border-bottom:0;border-top:1px solid var(--line,#e3ddd0);
  color:var(--cinnabar,#9C2B25);padding-top:10px;}
.pl-ct-tot .pl-ct-v{font-size:14.5px;}

.pl-note{font-size:12px;color:var(--gold,#b08d3f);line-height:1.9;margin:12px 0 0;}
.pl-tips{list-style:none;margin:0;padding:0;}
.pl-tips li{position:relative;padding-left:18px;margin-bottom:9px;font-size:13.5px;line-height:1.9;}
.pl-tips li::before{content:"·";position:absolute;left:4px;color:var(--cinnabar,#9C2B25);font-size:18px;line-height:1.4;}
.pl-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.pl-links a{font-size:13px;padding:9px 16px;border-radius:999px;border:1px solid var(--line,#e3ddd0);
  color:var(--ink-soft,#6b655c);text-decoration:none;transition:all .2s var(--ux-ease,cubic-bezier(.22,.61,.36,1));}
.pl-links a:hover{border-color:var(--cinnabar,#9C2B25);color:var(--cinnabar,#9C2B25);background:rgba(156,43,37,.05);}

/* 操作按钮 */
.pl-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.pl-acts button{font:inherit;font-size:14px;letter-spacing:.08em;padding:13px 22px;border-radius:10px;
  cursor:pointer;border:1px solid var(--cinnabar,#9C2B25);background:var(--cinnabar,#9C2B25);color:#fff;
  transition:all .2s var(--ux-ease,cubic-bezier(.22,.61,.36,1));}
.pl-acts button.ghost{background:transparent;color:var(--ink-soft,#6b655c);border-color:var(--line,#e3ddd0);}
.pl-acts button:hover{background:#87231e;border-color:#87231e;color:#fff;}
.pl-acts button.ghost:hover{background:var(--paper-2,#f7f4ec);color:var(--ink,#1c1a17);border-color:var(--ink-soft,#6b655c);}
.pl-state{margin-top:12px;font-size:12px;color:var(--gold,#b08d3f);letter-spacing:.05em;min-height:1em;}

/* 行程卡浮层 */
.pl-prev{position:fixed;inset:0;z-index:1200;background:rgba(28,26,23,.62);
  display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);}
.pl-prev-box{background:var(--paper,#fff);border-radius:14px;padding:16px;max-width:420px;width:100%;
  max-height:90vh;overflow:hidden;display:flex;flex-direction:column;align-items:center;}
.pl-prev-title{font-size:12.5px;letter-spacing:.12em;color:var(--gold,#b08d3f);margin-bottom:12px;flex:0 0 auto;}
.pl-prev-btns{display:flex;gap:10px;margin-top:14px;flex:0 0 auto;flex-wrap:wrap;justify-content:center;}
.pl-prev-btns button{font:inherit;font-size:13.5px;letter-spacing:.06em;padding:11px 18px;border-radius:9px;
  cursor:pointer;border:1px solid var(--cinnabar,#9C2B25);background:var(--cinnabar,#9C2B25);color:#fff;}
.pl-prev-btns button.ghost{background:transparent;color:var(--ink-soft,#6b655c);border-color:var(--line,#e3ddd0);}

@media(max-width:860px){
  .pl-sec{padding:18px 0 4px;}
  .pl-card,.pl-out{padding-left:0;padding-right:0;}
  .pl-card{padding:20px 16px 18px;}
  .pl-row{flex-direction:column;gap:8px;}
  .pl-label{flex:none;padding-top:0;}
  .pl-chip{padding:9px 13px;font-size:13px;}
  .pl-cgrp{flex-direction:column;gap:5px;}
  .pl-cityinput input{min-width:0;flex:1 1 100%;}
  .pl-cityinput button{flex:0 0 auto;}
  .pl-lv{display:inline-block;margin-left:0;margin-top:3px;}
  .pl-tipbar{padding:10px 13px;font-size:12px;}
  .pl-mode{padding:8px 11px;font-size:12px;}
  .pl-cgrptag{flex:none;min-width:0;padding-top:0;font-size:11.5px;}
  .pl-b{padding:18px 16px;}
  .pl-wx{grid-template-columns:1fr;}
  .pl-tm{flex:0 0 42px;}
  .pl-acts button{flex:1;min-width:120px;padding:12px 14px;font-size:13.5px;}
}
[hidden]{display:none !important;}

/* ══ 行程智能体 · 独立页导流条 ══ */
.pl-go{max-width:820px;margin:0 auto;padding:0 24px 8px;}
.pl-go-in{background:linear-gradient(160deg,#fdfbf6,#f4efe4);
border:1px solid var(--line,#e3ddd0);border-radius:6px;padding:26px 28px;text-align:center;}
.pl-go-k{font-size:11.5px;letter-spacing:.4em;text-indent:.4em;color:var(--gold,#b08d3f);margin-bottom:12px;}
.pl-go-t{font-size:clamp(19px,2.6vw,25px);font-weight:700;letter-spacing:.04em;
line-height:1.6;color:var(--ink,#1c1a17);margin-bottom:10px;}
.pl-go-d{font-size:14.5px;color:var(--ink-soft,#6b655c);line-height:2;margin-bottom:18px;}
.pl-go-btn{display:inline-block;padding:13px 34px;background:var(--cinnabar,#9c2b25);color:#fff;
text-decoration:none;font-size:14.5px;letter-spacing:.14em;border-radius:4px;transition:all .2s;}
.pl-go-btn:hover{background:#7f211d;transform:translateY(-1px);}
@media(max-width:640px){.pl-go{padding-left:18px;padding-right:18px;}
.pl-go-in{padding:22px 18px;}.pl-go-btn{padding:12px 24px;font-size:13.5px;}}
.pl-ask{margin:0 0 4px;}
.pl-askbox{display:flex;align-items:stretch;gap:10px;background:var(--paper-2,#f7f4ec);
  border:1px solid var(--line,#e3ddd0);border-radius:14px;padding:10px 10px 10px 12px;
  transition:border-color .2s,box-shadow .2s;}
.pl-askbox:focus-within{border-color:var(--cinnabar,#9C2B25);box-shadow:0 0 0 3px rgba(156,43,37,.07);}
.pl-askico{flex:0 0 30px;width:30px;height:30px;align-self:center;border-radius:50%;
  background:var(--cinnabar,#9C2B25);color:#fff;font-size:15px;line-height:30px;text-align:center;}
.pl-askin{flex:1;min-width:0;border:none;background:transparent;font:inherit;font-size:15px;
  color:var(--ink,#1c1a17);outline:none;line-height:1.7;}
.pl-askin::placeholder{color:#a9a296;}
.pl-askbtn{flex:0 0 auto;font:inherit;font-size:13.5px;letter-spacing:.1em;cursor:pointer;
  padding:0 20px;border:none;border-radius:10px;background:var(--cinnabar,#9C2B25);color:#fff;
  transition:opacity .2s;}
.pl-askbtn:hover{opacity:.88;}
.pl-egbox{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:11px 0 0;}
.pl-egt{flex:0 0 auto;font-size:11.5px;letter-spacing:.12em;color:var(--gold,#b08d3f);margin-right:2px;}
.pl-eg{font:inherit;font-size:12.5px;line-height:1;padding:7px 13px;border-radius:999px;cursor:pointer;
  background:rgba(255,255,255,.7);border:1px dashed rgba(156,43,37,.28);color:var(--ink-soft,#6b655c);
  transition:all .18s;}
.pl-eg:hover{border-style:solid;border-color:var(--cinnabar,#9C2B25);color:var(--cinnabar,#9C2B25);}
.pl-askres{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:13px 0 0;padding:11px 14px;
  border-radius:11px;background:rgba(176,141,63,.09);font-size:12.5px;line-height:1.8;}
.pl-askres .lb{flex:0 0 auto;color:var(--gold,#b08d3f);letter-spacing:.1em;margin-right:2px;}
.pl-askres .kv{padding:3px 11px;border-radius:999px;background:rgba(156,43,37,.1);color:var(--cinnabar,#9C2B25);}
.pl-askres .kv.dim{background:rgba(28,26,23,.06);color:var(--ink-soft,#6b655c);}
.pl-askq{margin:11px 0 0;padding:12px 15px;border-radius:11px;font-size:13.5px;line-height:1.95;
  background:rgba(255,255,255,.8);border:1px solid rgba(156,43,37,.22);color:var(--ink,#1c1a17);}
.pl-askq b{color:var(--cinnabar,#9C2B25);font-weight:600;}
.pl-askq .sub{display:block;margin-top:4px;font-size:12px;color:var(--ink-soft,#6b655c);}
.pl-formhd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 14px;}
.pl-formhdt{font-size:11.5px;letter-spacing:.18em;color:var(--gold,#b08d3f);}
.pl-formfold{font:inherit;font-size:12px;cursor:pointer;background:none;border:none;padding:0;
  color:var(--ink-soft,#6b655c);text-decoration:underline;text-underline-offset:3px;}
.pl-formfold:hover{color:var(--cinnabar,#9C2B25);}
@media(max-width:640px){
  .pl-askbox{padding:9px 9px 9px 10px;border-radius:12px;}
  .pl-askin{font-size:14px;}
  .pl-askbtn{padding:0 15px;font-size:12.5px;}
  .pl-eg{font-size:12px;padding:6px 11px;}
  .pl-askres{font-size:12px;padding:10px 12px;}
}

/* ══ 首屏 · 一句话生成行程（紧凑入口）═════════════════════════
   定位：六个按钮之下自成一区，视觉权重比按钮「轻一级」——
   按钮是半实心毛玻璃，这里是更透的一层，只靠朱红圆章和按钮提神，
   避免和上方六个按钮抢焦点、把首屏压成一堆色块。 */
.hplan{
  position:relative;z-index:3;
  width:100%;max-width:600px;
  margin:34px auto 0;padding:0 14px;
  box-sizing:border-box;
}

/* 细分隔线 · 中间一枚朱红小点：把「看」和「用」分开 */
.hplan-rule{
  display:flex;align-items:center;justify-content:center;gap:11px;
  width:220px;margin:0 auto 13px;
}
.hplan-rule span{
  flex:1;height:1px;
  background:linear-gradient(to right,rgba(28,26,23,0),rgba(28,26,23,.15));
}
.hplan-rule span:last-child{
  background:linear-gradient(to left,rgba(28,26,23,0),rgba(28,26,23,.15));
}
.hplan-rule i{
  flex:none;width:5px;height:5px;border-radius:50%;
  background:rgba(158,43,37,.40);
}

/* 输入条 */
.hplan-box{
  display:flex;align-items:center;gap:9px;
  padding:5px 5px 5px 12px;border-radius:999px;
  background:rgba(255,255,255,.46);
  -webkit-backdrop-filter:blur(16px) saturate(1.6);
  backdrop-filter:blur(16px) saturate(1.6);
  border:1px solid rgba(255,255,255,.66);
  box-shadow:0 8px 24px rgba(28,26,23,.09), inset 0 1px 0 rgba(255,255,255,.72);
  transition:border-color .22s, box-shadow .22s, background-color .22s;
}
.hplan-box:focus-within{
  border-color:rgba(158,43,37,.40);
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 30px rgba(28,26,23,.13), inset 0 1px 0 rgba(255,255,255,.9);
}
.hplan-ico{
  flex:none;width:21px;height:21px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;line-height:1;color:#fff;
  background:var(--cinnabar);letter-spacing:0;
  box-shadow:0 2px 7px rgba(158,43,37,.28);
}
.hplan-in{
  flex:1;min-width:0;
  border:0;outline:0;background:transparent;
  font-family:inherit;font-size:13px;color:var(--ink);
  letter-spacing:.02em;padding:9px 0;
}
.hplan-in::placeholder{color:#a89f8c;font-size:12.5px;letter-spacing:.02em;}
.hplan-btn{
  flex:none;padding:9px 16px;border:0;border-radius:999px;
  background:var(--cinnabar);color:#fff;
  font-family:inherit;font-size:12.5px;letter-spacing:.08em;text-indent:.08em;
  cursor:pointer;white-space:nowrap;
  transition:background-color .2s, transform .18s;
}
.hplan-btn:active{transform:scale(.96);}
@media(hover:hover){ .hplan-btn:hover{background:#8d2621;} }

/* 示例问句 */
.hplan-eg{
  display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:8px;margin-top:16px;
}
.hplan-egt{
  font-size:11px;letter-spacing:.12em;color:#8a8272;text-indent:.12em;
}
.hplan-chip{
  padding:5px 12px;border-radius:999px;
  background:rgba(255,255,255,.32);
  border:1px solid rgba(28,26,23,.10);
  font-family:inherit;font-size:11.5px;color:var(--ink-soft);
  letter-spacing:.02em;cursor:pointer;white-space:nowrap;
  transition:color .2s,border-color .2s,background-color .2s,transform .18s;
}
.hplan-chip:active{transform:scale(.96);}
@media(hover:hover){
  .hplan-chip:hover{
    color:var(--cinnabar);
    border-color:rgba(158,43,37,.30);
    background:rgba(255,255,255,.72);
  }
}

/* 手机上：输入条略收，示例问句保证不挤成三行 */
/* ── hplan 的矮屏收紧：必须写在 .hplan 默认定义之后才不会被同特异性覆盖 ── */
@media(max-height:720px){
  .hplan{margin-top:20px;}
  .hplan-eg{margin-top:10px;}
}
@media(max-height:560px){
  .hplan{margin-top:12px;}
  .hplan-eg{margin-top:7px;}
}
@media(max-width:640px){
  .hplan{max-width:100%;margin-top:16px;padding:0 12px;}
  .hplan-rule{width:170px;margin-bottom:11px;}
  .hplan-box{gap:7px;padding:4px 4px 4px 10px;}
  .hplan-ico{width:19px;height:19px;font-size:10px;}
  .hplan-in{font-size:12.5px;padding:8px 0;}
  .hplan-in::placeholder{font-size:11.5px;}
  .hplan-btn{padding:8px 13px;font-size:12px;letter-spacing:.04em;text-indent:.04em;}
  .hplan-eg{gap:6px;margin-top:8px;}
  .hplan-chip{padding:5px 10px;font-size:11px;}
  .hplan-egt{font-size:10.5px;}
}
@media(max-width:360px){
  .hplan-chip{padding:4px 9px;font-size:10.5px;}
}

/* ── 首屏塞进「一句话生成行程」后，矮屏手机（≤800px 高）逐项回收留白，
      保证「向 下」仍落在首屏内：收顶距、去掉分隔线与示例引导语 ── */
@media(max-width:640px) and (max-height:800px){
  .hero{padding-top:96px;}
  .hplan{margin-top:12px;}
  .hplan-rule{display:none;}
  .hplan-egt{display:none;}
  .hplan-eg{margin-top:7px;gap:5px;}
  .hplan-chip{padding:4px 10px;font-size:10.5px;}
}
@media(max-width:640px) and (max-height:700px){
  .hero{padding-top:76px;}
  .hplan-box{padding:3px 3px 3px 9px;}
  .hplan-in{padding:7px 0;}
  .hplan-btn{padding:7px 12px;}
}
/* 极矮屏（≤665px 高）：再收顶距并隐去示例问句，首屏只保留输入条 */
@media(max-width:640px) and (max-height:665px){
  .hero{padding-top:58px;}
  .hplan-eg{display:none;}
}

/* ── 相关阅读：编号列表（全站统一） ──────────────────────
   新增条目：直接在 .rel-list 末尾加一个 <li> 即可，编号自动生成。
   <li><a href="URL"><span class="rl-b"><span class="rl-t">标题</span><span class="rl-d">一句话说明</span></span><span class="rl-ar">→</span></a></li> */
.rel-list{list-style:none;counter-reset:rl;margin:0 auto;max-width:760px;border-top:1px solid var(--line);}
.rel-list li{counter-increment:rl;border-bottom:1px solid var(--line);text-align:left;}
.rel-list li:last-child{border-bottom:none;}
.rel-list a{display:flex;align-items:baseline;gap:16px;padding:15px 6px;text-decoration:none;color:inherit;transition:padding-left .22s,background .22s;}
.rel-list a::before{content:counter(rl,decimal-leading-zero);flex:none;width:28px;font-family:Georgia,"Times New Roman",serif;font-size:14px;letter-spacing:.06em;color:var(--gold);transition:color .22s;}
.rel-list .rl-b{flex:1;min-width:0;}
.rel-list .rl-t{display:block;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:.05em;line-height:1.6;transition:color .22s;}
.rel-list .rl-d{display:block;font-size:13px;color:var(--ink-soft);line-height:1.8;margin-top:2px;}
.rel-list .rl-ar{flex:none;font-family:Georgia,serif;font-size:14px;color:#c9c0ad;transition:all .22s;}
.rel-list a:hover{padding-left:14px;background:#fff;}
.rel-list a:hover::before{color:var(--cinnabar);}
.rel-list a:hover .rl-t{color:var(--cinnabar);}
.rel-list a:hover .rl-ar{color:var(--cinnabar);transform:translateX(4px);}
@media(max-width:640px){
  .rel-list a{gap:12px;padding:13px 2px;}
  .rel-list a::before{width:24px;font-size:13px;}
  .rel-list .rl-t{font-size:14px;}
  .rel-list .rl-d{font-size:12.5px;}
  .rel-list a:hover{padding-left:6px;}
}
