/* ==========================================================
   去哪里玩 · 主样式表
   由 index.html 内联样式抽出（v164）
   ========================================================== */

:root{
  /* 设计令牌：中性灰阶 + 单一强调色 */
  --bg:#f5f5f7;
  --card:#ffffff;
  --ink:#1a1a1f;
  --ink2:#6e6e78;
  --ink3:#a0a0aa;
  --line:#ececef;
  --accent:#ff6b35;
  --accent-soft:#fff1eb;
  --ok:#12b76a;
  --r14:14px;
  --r18:18px;
  --sh:0 1px 3px rgba(0,0,0,.05),0 6px 16px rgba(0,0,0,.04);
  --sh-lg:0 2px 8px rgba(0,0,0,.06),0 12px 28px rgba(0,0,0,.07);
  --safe-b:env(safe-area-inset-bottom,0px);
  --safe-t:env(safe-area-inset-top,0px);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--ink);font-size:14px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
button{font-family:inherit;border:0;background:none;cursor:pointer;color:inherit;font-size:inherit}
input{font-family:inherit;border:0;outline:0;background:none}
a{color:inherit;text-decoration:none}

#app{max-width:640px;margin:0 auto;background:var(--bg);min-height:100vh;position:relative;padding-bottom:calc(96px + var(--safe-b))}
.page{display:none}
.page.on{display:block;animation:fade .2s ease}
@keyframes fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* ============ 顶部：搜索 + 轮播 ============ */
.hero-wrap{position:relative}
.hero{
  position:relative;overflow:hidden;background:#1a1a1f;
  height:clamp(150px,20vh,190px);
  border-radius:0 0 var(--r18) var(--r18);
}
.hero img{width:100%;height:100%;object-fit:cover;opacity:.92}
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 40%,rgba(0,0,0,.55) 100%);
}
.hero-top{
  position:absolute;top:0;left:0;right:0;z-index:3;
  display:flex;align-items:center;gap:10px;
  padding:calc(12px + var(--safe-t)) 16px 0;
}
.hero-title{
  font-size:19px;font-weight:800;color:#fff;letter-spacing:.4px;
  text-shadow:0 1px 8px rgba(0,0,0,.5);
}
.hero-btn{
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.16);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.24);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;color:#fff;flex:0 0 auto;margin-left:auto;
}
.hero-text{
  position:absolute;left:0;right:0;bottom:18px;z-index:2;
  padding:0 18px;color:#fff;
}
.hero-text h1{font-size:24px;font-weight:800;line-height:1.2;letter-spacing:.5px}
.hero-text p{font-size:12.5px;opacity:.92;margin-top:4px;font-weight:500}

/* 搜索条：浮在 Hero 下缘 */
.searchbar{
  position:relative;z-index:6;margin:-22px 16px 0;
  display:flex;align-items:center;gap:10px;
  background:#fff;border-radius:26px;padding:12px 18px;
  box-shadow:var(--sh-lg);
}
.searchbar .si{font-size:15px;flex:0 0 auto;opacity:.4}
.searchbar input{flex:1;font-size:14px;color:var(--ink);min-width:0}
.searchbar input::placeholder{color:var(--ink3)}

/* ============ 区块 ============ */
.sec{padding:26px 16px 0}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.sec-t{font-size:18px;font-weight:800;letter-spacing:.2px}
.sec-t .n{font-size:12px;font-weight:600;color:var(--ink3);margin-left:6px}
.sec-more{font-size:12.5px;color:var(--ink3);font-weight:500}

/* ============ 我的页 头像可换 ============ */
.mecard .av{
  position:relative;overflow:hidden;cursor:pointer;
  background:linear-gradient(135deg,#ffb3c9,#ff7ea6);color:#fff;
}
.mecard .av img{width:100%;height:100%;object-fit:cover;display:block}
.mecard .av .cam{
  position:absolute;right:-1px;bottom:-1px;
  width:23px;height:23px;border-radius:50%;
  background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;border:2.5px solid #fff;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  transition:transform .15s;
}
.mecard .av:active{transform:scale(.96)}
.mecard .av:active .cam{transform:scale(1.15)}

/* 头像选择弹层 */
.av-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:220;
  display:flex;align-items:flex-end;animation:pmFade .16s ease;
}
.av-sheet{
  width:100%;max-width:640px;margin:0 auto;background:#fff;
  border-radius:20px 20px 0 0;
  padding:16px 16px calc(14px + var(--safe-b,0px));
  animation:pmUp .24s cubic-bezier(.32,.72,0,1);
}
.av-h{text-align:center;margin-bottom:14px}
.av-h .t{font-size:16.5px;font-weight:800;color:var(--ink)}
.av-h .d{font-size:12px;color:var(--ink3);margin-top:4px}
.av-big{
  width:80px;height:80px;border-radius:50%;margin:0 auto 14px;
  background:linear-gradient(135deg,#ffb3c9,#ff7ea6);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:32px;font-weight:800;overflow:hidden;
  box-shadow:0 4px 16px rgba(245,98,60,.2);
}
.av-big img{width:100%;height:100%;object-fit:cover}
.av-emo{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  margin:4px 0 14px;
}
.av-emo button{
  width:44px;height:44px;border-radius:13px;border:2px solid transparent;
  background:#f6f6f9;font-size:23px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:transform .12s,border-color .12s,background .12s;
}
.av-emo button.on{border-color:var(--accent);background:#fff5f1}
.av-emo button:active{transform:scale(.92)}
.av-btns{display:flex;flex-direction:column;gap:9px}
.av-btns button{
  border:0;font-family:inherit;font-size:15px;font-weight:700;
  padding:13px 0;border-radius:13px;
}
.av-up{background:linear-gradient(135deg,#ff8f66,#f5623c);color:#fff;
  box-shadow:0 4px 12px rgba(245,98,60,.26)}
.av-up:active{opacity:.88}
.av-cx{background:#f2f2f6;color:var(--ink3)}
/* ============ 用户主页（看别人朋友圈） ============ */
.up-hero{
  background:linear-gradient(160deg,#fff3ee 0%,#ffe9e2 55%,#fff 100%);
  padding:22px 16px 18px;position:relative;overflow:hidden;
}
.up-hero::after{
  content:"";position:absolute;right:-40px;top:-40px;
  width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,98,60,.10),transparent 70%);
}
.up-row{display:flex;align-items:center;gap:13px;position:relative;z-index:1}
.up-av{
  width:62px;height:62px;border-radius:50%;flex:0 0 62px;
  background:linear-gradient(135deg,#ffb3c9,#ff7ea6);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:25px;font-weight:800;
  box-shadow:0 4px 14px rgba(245,98,60,.22);
}
.up-info{flex:1;min-width:0}
.up-nm{font-size:17.5px;font-weight:800;color:var(--ink);letter-spacing:-.2px}
.up-sub{font-size:12px;color:var(--ink3);margin-top:3px}
.up-follow{
  border:0;font-family:inherit;font-size:13px;font-weight:700;
  padding:8px 18px;border-radius:20px;flex:0 0 auto;
  background:linear-gradient(135deg,#ff8f66,#f5623c);color:#fff;
  box-shadow:0 3px 10px rgba(245,98,60,.28);
  transition:transform .14s ease,opacity .14s;
}
.up-follow:active{transform:scale(.95)}
.up-follow.on{
  background:#f0f0f3;color:var(--ink3);box-shadow:none;
}
.up-stats{
  display:flex;gap:0;margin-top:16px;
  background:rgba(255,255,255,.72);border-radius:14px;padding:11px 0;
  position:relative;z-index:1;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.up-stat{flex:1;text-align:center;border-right:1px solid rgba(0,0,0,.055)}
.up-stat:last-child{border-right:0}
.up-stat .v{font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.3px}
.up-stat .l{font-size:10.5px;color:var(--ink3);margin-top:2px}

/* 用户主页分段 */
.up-seg{
  display:flex;gap:0;padding:12px 16px 6px;background:var(--bg);
}
.up-seg button{
  flex:1;border:0;background:none;font-family:inherit;
  font-size:13.5px;font-weight:700;color:var(--ink3);
  padding:8px 0;border-radius:10px;position:relative;
  transition:color .16s,background .16s;
}
.up-seg button.on{color:var(--ink);background:#fff;box-shadow:0 1.5px 4px rgba(0,0,0,.08)}
.up-seg button .n{font-size:10.5px;opacity:.6;margin-left:3px}

/* ============ 卡片上的私密锁 + 点作者 ============ */
.fd-av, .post-av, .pc-av{cursor:pointer}
.fd-nm[data-uid]{cursor:pointer}
.fd-lock{
  display:inline-flex;align-items:center;gap:2px;
  margin-left:5px;font-size:10px;font-weight:700;
  color:#8b8b9a;background:#f2f2f6;border-radius:7px;padding:1px 5px;
  vertical-align:1px;
}
.fd-cog{
  border:0;background:none;font-family:inherit;
  font-size:16px;line-height:1;color:#c9c9d4;padding:4px 6px;
  margin-left:2px;cursor:pointer;
}
.fd-cog:active{opacity:.6}

/* 帖子操作菜单 */
.pm-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.36);z-index:200;
  display:flex;align-items:flex-end;
  animation:pmFade .16s ease;
}
@keyframes pmFade{from{opacity:0}to{opacity:1}}
.pm-sheet{
  width:100%;max-width:640px;margin:0 auto;
  background:#fff;border-radius:18px 18px 0 0;
  padding:8px 0 calc(10px + var(--safe-b,0px));
  animation:pmUp .22s cubic-bezier(.32,.72,0,1);
}
@keyframes pmUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.pm-t{
  font-size:12px;font-weight:600;color:var(--ink3);
  text-align:center;padding:8px 0 10px;
}
.pm-b{
  width:100%;border:0;background:none;font-family:inherit;
  font-size:15px;font-weight:600;color:var(--ink);
  padding:15px 20px;text-align:left;
  display:flex;align-items:center;gap:10px;
  border-top:1px solid var(--line);
}
.pm-b:active{background:#f7f7fa}
.pm-b .i{font-size:16px;width:20px;text-align:center}
.pm-b.danger{color:#e04141}
.pm-b.cancel{
  color:var(--ink3);justify-content:center;
  border-top:8px solid #f4f4f7;font-weight:600;
}

/* 编辑弹窗 */
.ed-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:210;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.ed-box{
  width:100%;max-width:420px;background:#fff;border-radius:18px;
  padding:18px 16px 14px;animation:pmUp .2s ease;
}
.ed-t{font-size:16px;font-weight:800;margin-bottom:12px;color:var(--ink)}
.ed-in{
  width:100%;border:1.5px solid var(--line);border-radius:12px;
  font-family:inherit;font-size:14px;padding:11px 12px;
  color:var(--ink);background:#fafafd;outline:none;
  resize:vertical;min-height:96px;line-height:1.6;
}
.ed-in:focus{border-color:var(--accent);background:#fff}
.ed-title{
  min-height:auto;margin-bottom:9px;font-weight:700;
}
.ed-acts{display:flex;gap:9px;margin-top:14px}
.ed-acts button{
  flex:1;border:0;font-family:inherit;font-size:14.5px;font-weight:700;
  padding:11px 0;border-radius:12px;
}
.ed-cancel{background:#f2f2f6;color:var(--ink3)}
.ed-ok{background:linear-gradient(135deg,#ff8f66,#f5623c);color:#fff}
/* ============ 新手引导（怎么玩） ============ */
.hw{margin:20px 16px 0}
.hw-h{
  display:flex;align-items:baseline;justify-content:space-between;margin-bottom:11px;
}
.hw-h .t{font-size:17px;font-weight:800;letter-spacing:.2px}
.hw-h .m{font-size:12px;color:var(--ink3);font-weight:500}

/* 3 步横条 */
.hw-steps{
  display:flex;gap:8px;background:#fff;border-radius:16px;
  padding:14px 12px;box-shadow:var(--sh);margin-bottom:12px;
  position:relative;overflow:hidden;
}
.hw-steps::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#ff8f66,#f5623c,#e34d2c);
}
.hw-step{flex:1;text-align:center;position:relative}
.hw-step .n{
  width:22px;height:22px;border-radius:50%;margin:0 auto 6px;
  background:linear-gradient(135deg,#ff8f66,#f5623c);color:#fff;
  font-size:11.5px;font-weight:800;line-height:22px;
}
.hw-step .t{font-size:12px;font-weight:700;color:var(--ink);line-height:1.3}
.hw-step .d{font-size:10.5px;color:var(--ink3);margin-top:2px;line-height:1.35}
/* 步骤之间的箭头 */
.hw-step+.hw-step::before{
  content:"›";position:absolute;left:-6px;top:4px;
  font-size:14px;color:#d9d9e0;font-weight:700;
}

/* 引导卡（横滑） */
.hw-scroll{
  display:flex;gap:10px;overflow-x:auto;
  padding:0 16px 6px;margin:0 -16px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.hw-scroll::-webkit-scrollbar{display:none}
.hw-c{
  flex:0 0 152px;background:#fff;border-radius:15px;
  padding:13px 12px 12px;box-shadow:0 2px 10px rgba(0,0,0,.055);
  cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;
  position:relative;overflow:hidden;
}
.hw-c:active{transform:scale(.97);box-shadow:0 1px 5px rgba(0,0,0,.06)}
.hw-c .ic{
  width:34px;height:34px;border-radius:11px;
  display:flex;align-items:center;justify-content:center;
  font-size:17px;line-height:1;margin-bottom:9px;
}
.hw-c .t{font-size:13.5px;font-weight:800;color:var(--ink);line-height:1.3;margin-bottom:4px}
.hw-c .d{font-size:11px;color:var(--ink3);line-height:1.45}
.hw-c .go{
  margin-top:9px;font-size:11px;font-weight:700;color:var(--accent);
  display:flex;align-items:center;gap:2px;
}
.hw-c .cnt{
  position:absolute;right:10px;top:9px;
  font-size:10.5px;font-weight:800;color:#fff;
  background:rgba(0,0,0,.24);border-radius:9px;padding:1.5px 6px;
}

/* 四张卡的主题色 */
.hw-c.c1 .ic{background:#fff0ea;color:#f5623c}
.hw-c.c1 .go{color:#f5623c}
.hw-c.c2 .ic{background:#eaf5ff;color:#3b82f6}
.hw-c.c2 .go{color:#3b82f6}
.hw-c.c3 .ic{background:#f0fff4;color:#16a34a}
.hw-c.c3 .go{color:#16a34a}
.hw-c.c4 .ic{background:#fdf2ff;color:#a855f7}
.hw-c.c4 .go{color:#a855f7}
/* ============ 统计（细条，不是格子） ============ */
.statline{
  display:flex;gap:0;margin:22px 16px 0;
  background:#fff;border-radius:var(--r14);padding:14px 6px;box-shadow:var(--sh);
}
.statline .st{flex:1;text-align:center;border-right:1px solid var(--line)}
.statline .st:last-child{border-right:0}
.statline .v{font-size:17px;font-weight:800;color:var(--ink);line-height:1.15;letter-spacing:-.3px}
.statline .l{font-size:10.5px;color:var(--ink3);margin-top:3px}

/* ============ 精选推荐：横滑大图卡 ============ */
.hscroll{
  display:flex;gap:12px;overflow-x:auto;
  padding:0 16px 8px;margin:0 -16px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
}
.hscroll::-webkit-scrollbar{display:none}
.rec{
  flex:0 0 auto;width:200px;scroll-snap-align:start;
  border-radius:var(--r14);overflow:hidden;background:#fff;
  box-shadow:var(--sh);position:relative;
}
.rec .im{width:100%;height:130px;object-fit:cover;display:block;background:#ececef}
.rec .rank{
  position:absolute;top:9px;left:9px;z-index:2;
  background:rgba(26,26,31,.82);backdrop-filter:blur(6px);color:#fff;
  font-size:10.5px;font-weight:800;border-radius:7px;padding:2px 7px;letter-spacing:.3px;
}
.rec .bd{padding:10px 12px 12px}
.rec .t{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.2px}
.rec .m{font-size:11.5px;color:var(--ink3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ============ 分类快选：图标行 ============ */
.catrow{
  display:grid;grid-template-columns:repeat(5,1fr);gap:6px 0;
}
.cq{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 2px;border-radius:12px}
.cq .ic{
  width:46px;height:46px;border-radius:15px;
  background:#fff;box-shadow:var(--sh);
  display:flex;align-items:center;justify-content:center;font-size:21px;
}
.cq .lb{font-size:11px;font-weight:600;color:var(--ink2);text-align:center;line-height:1.25;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.cq .nm{font-size:9.5px;color:var(--ink3);margin-top:-4px}

/* ============ 热门景点：大卡列表 ============ */
.biglist{display:flex;flex-direction:column;gap:14px}
.spotcard{
  background:#fff;border-radius:var(--r18);overflow:hidden;
  box-shadow:var(--sh);
}
.spotcard .im{width:100%;height:170px;object-fit:cover;display:block;background:#ececef}
.spotcard .bd{padding:13px 15px 15px}
.spotcard .t{font-size:16.5px;font-weight:800;letter-spacing:.2px}
.spotcard .m{font-size:12.5px;color:var(--ink3);margin-top:5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.spotcard .chips{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.chip{
  font-size:11px;font-weight:600;color:var(--ink2);
  background:var(--bg);border-radius:8px;padding:3px 9px;
}
.chip.accent{color:var(--accent);background:var(--accent-soft)}

/* ============ 搭子 ============ */
.dz-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 -16px 12px;padding:0 16px 2px;-webkit-overflow-scrolling:touch}
/* plaza scope bar: teal pill, always on top */
.pl-scope{
  display:flex;align-items:center;justify-content:center;gap:6px;
  padding:10px 16px 12px;margin:0;
  background:var(--bg);
}
.pl-scope .pt-tab{
  position:relative;flex:0 0 auto;
  border:none;background:none;
  padding:7px 15px;border-radius:20px;
  font-family:inherit;font-size:14px;font-weight:600;
  color:var(--ink3);letter-spacing:.2px;cursor:pointer;
  transition:color .18s ease,background .18s ease,transform .14s ease;
}
.pl-scope .pt-tab:active{transform:scale(.95)}
.pl-scope .pt-tab.on{
  color:#fff;font-weight:700;
  background:linear-gradient(135deg,#1dc9c2,#17b0aa);
  box-shadow:0 3px 9px rgba(23,192,186,.28);
}
/* v122 \u5e7f\u573a\uff1a\u5206\u7c7b\u6a2a\u5411\u6761\uff08\u8986\u76d6 .dz-tab\uff09 */
/* v125 \u5e7f\u573a\u5206\u7c7b\u6761\uff1a\u4e0d\u7528\u8d1f\u8fb9\u8ddd\uff0c\u53f3\u4fa7\u7559 8px \u547c\u5438\uff0c\u4e0e\u6807\u9898\u5de6\u5bf9\u9f50 */
#plazaTabs.pl-tabs{
  gap:7px;
  margin:0 0 10px !important;
  padding:0 0 4px 16px !important;
  overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
#plazaTabs.pl-tabs::-webkit-scrollbar{display:none;width:0;height:0}
#plazaTabs.pl-tabs > .pl-tab:first-child{margin-left:0}
#plazaTabs.pl-tabs > .pl-tab:last-child{margin-right:16px}
.pl-tabs::-webkit-scrollbar{display:none;width:0;height:0}
.pl-tab{
  position:relative;flex:0 0 auto;display:inline-flex;align-items:center;
  font-size:12.5px;font-weight:700;letter-spacing:.1px;
  padding:8px 16px;border-radius:999px;
  background:#fff;color:var(--ink2);border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(20,20,30,.04);
  transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform .12s;
}
.pl-tab:active{transform:scale(.95)}
.pl-tab.on{
  background:linear-gradient(135deg,#ff7ea6,#ff5c8a);color:#fff;border-color:transparent;
  box-shadow:0 4px 13px rgba(255,92,138,.3);
}
.pl-tab.on::after{
  content:'';position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);
  width:14px;height:3px;border-radius:2px;background:#ff5c8a;opacity:.0;
}
.dz-tabs::-webkit-scrollbar{display:none}
.dz-tab{
  flex:0 0 auto;font-size:13px;font-weight:600;
  padding:7px 15px;border-radius:20px;
  background:#fff;color:var(--ink2);border:1px solid var(--line);
}
.dz-tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.dz-list{display:flex;flex-direction:column;gap:12px}
.dz{background:#fff;border-radius:var(--r14);padding:14px;box-shadow:var(--sh)}
.dz-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.dz-avs{display:flex}
.dz-av{
  width:24px;height:24px;border-radius:50%;background:#dfe3e8;color:var(--ink2);
  font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;margin-left:-7px;
}
.dz-av:first-child{margin-left:0}
.dz-jn{font-size:11.5px;color:var(--ink3);margin-left:2px}
.dz-jn b{color:var(--ink);font-weight:800}
.dz-btn{
  margin-left:auto;font-size:12.5px;font-weight:700;
  padding:6px 16px;border-radius:18px;
  background:var(--accent);color:#fff;
  box-shadow:0 2px 10px rgba(255,107,53,.3);
}
.dz-title{font-size:15px;font-weight:800;line-height:1.4;margin-bottom:8px;letter-spacing:.2px}
.dz-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3);flex-wrap:wrap}
.dz-host{display:inline-flex;align-items:center;gap:3px;font-weight:600;color:var(--ink2)}
.dz-v{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;
  border-radius:50%;background:var(--accent);color:#fff;font-size:8px}
.dz-dot{color:var(--line)}
.dz-tag{display:inline-block;margin-top:10px;font-size:11px;font-weight:600;
  color:var(--ink2);background:var(--bg);border-radius:8px;padding:2px 9px}
.dz-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:11px;
  padding-top:11px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink2)}
.dz-st{color:var(--ok);font-weight:700;background:#ecfdf3;border-radius:7px;padding:1px 8px}
.dz-when{color:var(--ink2);font-weight:500}
.dz-km,.dz-addr{color:var(--ink3)}

/* ============ 地区（紧凑药丸） ============ */
.rg-grp{background:#fff;border-radius:var(--r14);box-shadow:var(--sh);overflow:hidden;margin-bottom:12px}
.rg-h{display:flex;align-items:center;gap:6px;padding:13px 15px;font-size:14px;font-weight:800}
.rg-h .n{margin-left:auto;font-size:11px;font-weight:600;color:var(--ink3)}
.rg-cities{display:flex;flex-wrap:wrap;gap:8px;padding:0 15px 15px}
.rg-city{font-size:12.5px;font-weight:600;color:var(--ink2);
  background:var(--bg);border-radius:9px;padding:7px 13px}
.rg-city .n{font-size:10px;color:var(--ink3);margin-left:4px}

/* ============ 桌面端容器限宽（移动端无影响） ============ */
@media (min-width: 641px){
  body{background:#ececf0}
  .page, .tabs{max-width:640px !important;margin-left:auto !important;margin-right:auto !important}
  .page{left:0;right:0}
}

/* ============ 攻略页：线路卡 ============ */
#routeBody > div{padding:12px 14px 0 !important}
.rt{
  display:flex;align-items:stretch;gap:12px;background:#fff;border-radius:16px;
  padding:10px;margin-bottom:10px;box-shadow:0 2px 10px rgba(0,0,0,.05);
  cursor:pointer;overflow:hidden;
}
.rt .im{
  flex:0 0 88px;width:88px !important;height:88px !important;border-radius:12px;
  object-fit:cover;background:#ececef;display:block;
}
.rt .bd{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px}
.rt .t{font-size:14.5px;font-weight:800;color:var(--ink);letter-spacing:.1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt .m{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rt .stops{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.rt .sp{
  font-size:11.5px;font-weight:600;color:#4f6ef7;background:#f0f4ff;
  border-radius:8px;padding:4px 9px;white-space:nowrap;max-width:100%;
  overflow:hidden;text-overflow:ellipsis;
}

/* ============ 攻略页：怎么玩卡 ============ */
#howtoBody{padding:12px 14px 0}
.ht-c{
  display:flex;align-items:flex-start;gap:12px;background:#fff;border-radius:16px;
  padding:14px;margin-bottom:10px;box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.ht-i{
  flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#fff5f8;
  display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1;
}
.ht-b{flex:1;min-width:0}
.ht-t{font-size:14px;font-weight:800;color:var(--ink);margin-bottom:5px}
.ht-d{font-size:13px;color:var(--ink2);line-height:1.65}

/* ============ 攻略页：分段条 ============ */
#guideSeg{background:#f5f5f7}
/* ============ 底部 Tab（简洁浮动圆 · 广场居中） ============ */
.tabs{
  position:fixed;bottom:0;left:0;right:0;z-index:60;max-width:640px;margin:0 auto;
  display:flex;align-items:flex-end;
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  backdrop-filter:blur(20px) saturate(180%);
  padding-bottom:var(--safe-b);
  height:calc(56px + var(--safe-b));
  overflow:visible;
}
/* 栏顶一根极淡的分隔线 */
.tabs::before{
  content:"";position:absolute;left:0;right:0;top:0;height:.5px;
  background:rgba(0,0,0,.07);pointer-events:none;
}

.tab{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;padding:7px 0 6px;color:var(--ink3);position:relative;
  background:none;border:0;font-family:inherit;height:56px;
  transition:color .18s;
}
.tab .i{font-size:18px;line-height:1;opacity:.62;transition:opacity .18s,transform .18s}
.tab .l{font-size:9.5px;font-weight:600;letter-spacing:.3px;opacity:.9}
.tab.on{color:var(--ink)}
.tab.on .i{opacity:1;transform:translateY(-.5px)}
.tab.on .l{font-weight:700;opacity:1}
.tab.on::after{
  content:"";position:absolute;bottom:3px;left:50%;transform:translateX(-50%);
  width:4px;height:4px;border-radius:50%;background:var(--accent);
}

/* ============ 中间浮起的圆（广场） ============
   不做凹槽、不挖洞 —— 纯靠投影和渐变做体积
   白色栏体在圆下方自然露出一道白，形成"从栏里长出来"的错觉
*/
.tab.tab-mid{
  flex:0 0 80px;height:calc(56px + var(--safe-b));
  padding:0 0 5px;justify-content:flex-end;overflow:visible;
}
.tab-mid::after{display:none}          /* 不要小圆点 */

.tab-mid .mid-ball{
  position:absolute;left:50%;bottom:calc(10px + var(--safe-b));
  transform:translateX(-50%);
  width:52px;height:52px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:
    radial-gradient(circle at 35% 28%,
      #ff8f66 0%,
      #f5623c 52%,
      #e34d2c 100%);
  box-shadow:
    0 5px 12px rgba(227,77,44,.24),
    0 1.5px 3px rgba(227,77,44,.18),
    inset 0 -1.5px 4px rgba(160,40,18,.16),
    inset 0 1.5px 3px rgba(255,255,255,.28);
  transition:transform .26s cubic-bezier(.34,1.45,.64,1),box-shadow .26s ease;
  z-index:3;
}
.tab-mid .mid-ico{
  font-size:21px;line-height:1;color:#fff;
  filter:drop-shadow(0 1px 1.2px rgba(120,25,5,.28));
}
.tab-mid .l{
  font-size:9.5px;font-weight:700;color:var(--ink3);
  position:relative;z-index:4;transition:color .18s;
}
.tab-mid.on .l{color:var(--accent)}
.tab-mid.on .mid-ball{
  transform:translateX(-50%) translateY(-2px);
  box-shadow:
    0 8px 18px rgba(227,77,44,.3),
    0 2px 4px rgba(227,77,44,.2),
    inset 0 -1.5px 4px rgba(160,40,18,.16),
    inset 0 1.5px 3px rgba(255,255,255,.3);
}
.tab-mid:active .mid-ball{
  transform:translateX(-50%) scale(.93);
}

/* ============ 内页顶栏 ============ */
.ptop{
  position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;
  padding:calc(12px + var(--safe-t)) 16px 12px;
  background:rgba(245,245,247,.92);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.pttl{font-size:19px;font-weight:800;letter-spacing:.2px}
.pttl span{font-size:12px;font-weight:600;color:var(--ink3);margin-left:6px}
.pbtn{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--ink2);
  background:#fff;border-radius:11px;padding:6px 13px;box-shadow:var(--sh)}

/* ============ 列表行 ============ */
.plist{padding:14px 16px 0;display:flex;flex-direction:column;gap:10px}
.prow{display:flex;gap:12px;background:#fff;border-radius:var(--r14);padding:10px;
  box-shadow:var(--sh);align-items:center}
.prow .im{width:70px;height:70px;border-radius:11px;object-fit:cover;flex:0 0 auto;background:#ececef}
.prow .bd{flex:1;min-width:0}
.prow .t{font-size:14.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.1px}
.prow .m{font-size:12px;color:var(--ink3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prow .tag{display:inline-block;font-size:10.5px;font-weight:600;color:var(--ink2);
  background:var(--bg);border-radius:7px;padding:2px 8px;margin-top:6px}
.prow .arw{color:#d4d4da;font-size:17px;flex:0 0 auto;margin-left:2px}

.more{text-align:center;font-size:13px;color:var(--ink);font-weight:600;padding:20px 0 26px}
.more.dim{color:var(--ink3);font-weight:500}

/* 筛选条 */
.fbar{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;border-bottom:1px solid var(--line)}
.fbar::-webkit-scrollbar{display:none}
.fb{flex:0 0 auto;font-size:12.5px;font-weight:600;color:var(--ink2);
  background:#fff;border-radius:14px;padding:7px 14px;box-shadow:var(--sh)}
.fb.on{background:var(--ink);color:#fff;box-shadow:none}

/* ============ 详情页 ============ */
.dtop{
  position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;
  padding:calc(12px + var(--safe-t)) 16px 12px;
  background:rgba(245,245,247,.92);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
}
.dback{width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:var(--sh);
  display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1;
  color:var(--ink);font-weight:700;flex:0 0 auto}
.dttl{font-size:16px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dhero{width:100%;height:230px;object-fit:cover;display:block;background:#ececef}
.dwrap{padding:18px 16px 34px}
.dh1{font-size:24px;font-weight:800;line-height:1.25;letter-spacing:.2px}
.dtags{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.dtag{font-size:11.5px;font-weight:600;color:var(--ink2);background:#fff;
  border-radius:9px;padding:4px 11px;box-shadow:var(--sh)}
.dtag.ok{color:var(--ok);background:#ecfdf3;box-shadow:none}
.dinfo{background:#fff;border-radius:var(--r18);padding:6px 16px;margin-top:16px;box-shadow:var(--sh)}
.drow{display:flex;padding:13px 0;font-size:13.5px;border-bottom:1px solid var(--line)}
.drow:last-child{border-bottom:0}
.drow .k{color:var(--ink3);width:66px;flex:0 0 auto}
.drow .v{flex:1;font-weight:600;word-break:break-all;text-align:right}
.dsec-t{font-size:16px;font-weight:800;margin:24px 0 12px;display:flex;align-items:baseline;gap:7px}
.dsec-t .n{font-size:11.5px;font-weight:600;color:var(--ink3)}

/* ============ 搜索页 ============ */
.sbox2{flex:1;display:flex;align-items:center;gap:9px;background:#fff;
  border-radius:20px;padding:10px 16px;box-shadow:var(--sh)}
.sbox2 span{font-size:14px;opacity:.4}
.sbox2 input{flex:1;font-size:14px;min-width:0}
.sugg{padding:0 16px}
.sg{display:flex;align-items:center;gap:9px;padding:13px 2px;font-size:14px;
  border-bottom:1px solid var(--line);font-weight:500}
.sg .i{font-size:14px;opacity:.55}
.sg .s{font-size:11px;color:var(--ink3);margin-left:auto;font-weight:500}

/* 分段控件 */
.seg{display:flex;gap:9px;padding:14px 16px 6px}
.seg-b{flex:1;font-size:13.5px;font-weight:700;padding:11px 0;border-radius:13px;
  background:#fff;color:var(--ink2);box-shadow:var(--sh)}
.seg-b.on{background:var(--ink);color:#fff;box-shadow:none}

/* ============ 我的 ============ */
.mecard{background:#fff;border-radius:var(--r18);padding:22px 18px;margin:16px;
  box-shadow:var(--sh);text-align:center}
.mecard .av{width:66px;height:66px;border-radius:50%;margin:0 auto 12px;
  background:var(--ink);display:flex;align-items:center;justify-content:center;font-size:27px}
.mecard .nm{font-size:18px;font-weight:800}
.mecard .sb{font-size:12.5px;color:var(--ink3);margin-top:5px}
.megrid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:0 16px}
.mebox{background:#fff;border-radius:var(--r14);padding:16px 6px;text-align:center;box-shadow:var(--sh)}
.mebox .v{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-.5px}
.mebox .l{font-size:11px;color:var(--ink3);margin-top:3px}
.melist{background:#fff;border-radius:var(--r18);margin:16px;box-shadow:var(--sh);overflow:hidden}
.merow{display:flex;align-items:center;gap:10px;padding:15px 17px;font-size:14px;
  border-bottom:1px solid var(--line);font-weight:500}
.merow:last-child{border-bottom:0}
.merow .a{margin-left:auto;color:var(--ink3);font-size:12.5px}

/* ============ 空状态 ============ */
.empty{text-align:center;padding:50px 22px;color:var(--ink3)}
.empty .e{font-size:40px;margin-bottom:12px;opacity:.75}
.empty .t{font-size:15px;font-weight:700;color:var(--ink2)}
.empty .s{font-size:12.5px;margin-top:6px;line-height:1.65}
.empty .s b{color:var(--ink2)}

/* ============ 线路卡 ============ */
.rt{background:#fff;border-radius:var(--r18);box-shadow:var(--sh);overflow:hidden;margin-bottom:14px}
.rt .im{width:100%;height:130px;object-fit:cover;display:block;background:#ececef}
.rt .bd{padding:14px 16px 16px}
.rt .t{font-size:16px;font-weight:800;letter-spacing:.2px}
.rt .m{font-size:12.5px;color:var(--ink3);margin-top:5px}
.rt .stops{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.rt .sp{font-size:12px;font-weight:600;color:var(--ink2);background:var(--bg);
  border-radius:9px;padding:5px 11px}

/* 地图页占位卡 */
.mapnote{background:#fff;border-radius:var(--r18);box-shadow:var(--sh);padding:30px 20px;text-align:center}

/* v87 第二步：新增 CSS（定位按钮 / 吸顶条 / 去过按钮状态） */
.hero-top .locbtn{
  display:inline-flex;align-items:center;gap:5px;
  max-width:200px;padding:6px 12px 6px 10px;border-radius:20px;
  background:rgba(255,255,255,.18);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;font-size:13px;font-weight:600;letter-spacing:.2px;
  overflow:hidden;white-space:nowrap;
}
.hero-top .locbtn .loci{font-size:12px;line-height:1;flex:0 0 auto}
.hero-top .locbtn .loctxt{
  overflow:hidden;text-overflow:ellipsis;max-width:160px;
}
.hero-top .locbtn:active{background:rgba(255,255,255,.3)}
.hero-top .locbtn.warn{background:rgba(255,107,53,.85);border-color:rgba(255,107,53,.9)}

/* 底部抽屉弹层 */
.sa-mask{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:9999;display:flex;align-items:flex-end;justify-content:center}
.sa-box{
  width:100%;max-width:520px;background:#fff;border-radius:20px 20px 0 0;
  padding:18px 18px calc(18px + env(safe-area-inset-bottom));
  animation:saUp .22s ease;max-height:78vh;overflow:auto;
}
@keyframes saUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sa-h{font-size:16px;font-weight:800;color:var(--ink);margin-bottom:12px;text-align:center}
.sa-b{font-size:13.5px;color:var(--ink2);line-height:1.7}
.sa-r{padding:7px 0;border-bottom:1px solid #f4f4f8}
.sa-r:last-child{border-bottom:none}
.sa-r b{color:#ff5c8a;font-weight:800;margin-right:8px}
.sa-ok{
  width:100%;margin-top:14px;border:none;border-radius:13px;padding:13px 0;
  background:linear-gradient(135deg,#ff7ea6,#ff5c8a);color:#fff;
  font-size:14.5px;font-weight:800;font-family:inherit;cursor:pointer;
}
/* 详情页 怎么玩 + 双按钮 */
.stips{display:flex;flex-direction:column;gap:1px;background:#f5f5f9;border-radius:14px;padding:4px 0;margin-top:14px;overflow:hidden}
.stip{display:flex;align-items:center;gap:10px;background:#fff;padding:10px 13px}
.stip .sk{flex:0 0 88px;font-size:12.5px;color:var(--ink3);font-weight:700}
.stip .sv{flex:1;font-size:13px;color:var(--ink);font-weight:600}
.sd-go{display:flex;gap:9px;margin-top:14px}
.sd-b{flex:1;border:none;border-radius:13px;padding:13px 0;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer}
.sd-b.self{background:#f0f4ff;color:#4f6ef7}
.sd-b.join{background:linear-gradient(135deg,#ff7ea6,#ff5c8a);color:#fff;box-shadow:0 4px 14px rgba(255,92,138,.3)}
/* ============ 玩法细化页 ============ */
.pro .m2{font-size:12px;color:#8a8a99;margin-top:3px;line-height:1.45;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.ct-d{font-size:13.5px;color:var(--ink2);line-height:1.6;margin-top:6px}
.ct-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ct-p{font-size:12px;color:var(--ink2);background:#f5f5f9;border-radius:10px;padding:7px 11px;line-height:1.4}
.ct-p b{color:#ff5c8a;font-weight:800;margin-right:5px}
.ct-go{display:flex;gap:9px;margin-top:14px}
.ct-b{flex:1;border:none;border-radius:12px;padding:12px 0;font-size:13.5px;font-weight:800;font-family:inherit;cursor:pointer}
.ct-b.go{background:#f0f4ff;color:#4f6ef7}
.ct-b.go2{background:linear-gradient(135deg,#ff7ea6,#ff5c8a);color:#fff;box-shadow:0 4px 12px rgba(255,92,138,.28)}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:2px 0 4px}
.ct-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.ct-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#f4f4f8}
.ct-t{font-size:13px;font-weight:800;color:var(--ink);padding:8px 9px 2px;line-height:1.35;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ct-m{font-size:11px;color:var(--ink3);padding:0 9px 9px}
/* ============ 广场（朋友圈式信息流） ============ */
.feed{display:flex;flex-direction:column;gap:12px;padding:10px 14px 24px}

.fd{background:#fff;border-radius:18px;box-shadow:0 2px 14px rgba(255,92,138,.07);overflow:hidden}
.fd-top{display:flex;align-items:center;gap:10px;padding:12px 14px 8px}
.fd-av{
  flex:0 0 38px;width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,#ffb3c9,#ff7ea6);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;
}
.fd-who{flex:1;min-width:0}
.fd-nm{font-size:13.5px;font-weight:800;color:var(--ink);display:flex;align-items:center;gap:5px}
.fd-v{
  width:15px;height:15px;border-radius:50%;background:#ff5c8a;color:#fff;
  font-size:9px;display:inline-flex;align-items:center;justify-content:center;font-style:normal;
}
.fd-sub{font-size:11.5px;color:var(--ink3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fd-more{color:#c9c9d4;font-size:18px;line-height:1;padding:0 2px}

.fd-txt{padding:2px 14px 10px;font-size:14px;line-height:1.62;color:var(--ink);letter-spacing:-.1px}

.fd-pic{position:relative;margin:0 14px;border-radius:14px;overflow:hidden;background:#f4f4f8}
.fd-pic img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.fd-badge{
  position:absolute;left:9px;top:9px;background:rgba(0,0,0,.52);color:#fff;
  font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:999px;
}
.fd-far{
  position:absolute;right:9px;top:9px;background:rgba(255,92,138,.94);color:#fff;
  font-size:11px;font-weight:700;padding:5px 9px;border-radius:999px;
}
.fd-need{
  position:absolute;left:9px;bottom:9px;background:rgba(255,255,255,.95);color:#ff4d7d;
  font-size:11.5px;font-weight:800;padding:5px 11px;border-radius:999px;
}

.fd-meta{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px 0}
.fd-chip{font-size:11.5px;font-weight:600;color:var(--ink2);background:#f5f5f9;border-radius:999px;padding:5px 10px}

.fd-tags{display:flex;flex-wrap:wrap;gap:8px;padding:8px 14px 0}
.fd-tg{font-size:12px;color:#ff5c8a;font-weight:700}

.fd-avs{display:flex;align-items:center;padding:8px 14px 0}
.fd-avs .a{
  width:22px;height:22px;border-radius:50%;margin-right:-6px;
  background:#ffe4ec;color:#ff5c8a;font-size:10px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;border:2px solid #fff;
}
.fd-avs .n{font-size:11.5px;color:var(--ink3);margin-left:12px}

.fd-acts{display:flex;align-items:center;gap:8px;padding:11px 14px 13px}
.fd-like,.fd-cmt{
  display:inline-flex;align-items:center;gap:5px;border:none;background:#f5f5f9;
  border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:700;
  color:var(--ink2);cursor:pointer;font-family:inherit;
}
.fd-like.on{background:#fff0f5;color:#ff4d7d}
.fd-go{
  margin-left:auto;flex:0 0 auto;border:none;border-radius:999px;padding:9px 18px;
  background:linear-gradient(135deg,#ff7ea6,#ff5c8a);color:#fff;
  font-size:13px;font-weight:800;font-family:inherit;cursor:pointer;
  box-shadow:0 4px 12px rgba(255,92,138,.3);
}
.fd-go.dim{background:#e8e8ef;color:#9a9aa8;box-shadow:none}

.fd-empty{padding:44px 20px;text-align:center;color:var(--ink3)}
.fd-empty .e{font-size:34px;margin-bottom:10px}
.fd-empty .t{font-size:14px;font-weight:700;color:var(--ink2)}

.pbtn-pub{color:#ff5c8a !important;font-weight:800 !important}

/* ============ 发布页 ============ */
.pubwrap{padding:12px 14px 30px}
/* v130 发布模式切换\uff1a搭子 / 生活动态 */
.pmode{display:flex;gap:8px;margin-bottom:12px}
.pmode-b{
  flex:1 1 0;height:42px;border:none;border-radius:12px;font-family:inherit;
  font-size:14px;font-weight:700;background:#fff;color:var(--ink2);
  box-shadow:0 1px 3px rgba(20,20,30,.06);cursor:pointer;
  transition:background .18s,color .18s,box-shadow .18s;
}
.pmode-b.on{
  background:linear-gradient(135deg,#17c0ba,#0fa8a3);color:#fff;
  box-shadow:0 4px 14px rgba(23,192,186,.3);
}
/* 生活动态模式下隐藏约人字段 */
[data-only="dazi"].hid,.pubrow.hid{display:none!important}
.pubcard{background:#fff;border-radius:18px;box-shadow:0 2px 14px rgba(255,92,138,.07);overflow:hidden}
.pubrow{display:flex;align-items:flex-start;gap:12px;padding:13px 14px;border-bottom:1px solid #f4f4f8}
.pubrow:last-child{border-bottom:none}
.pubrow .k{flex:0 0 56px;font-size:12.5px;color:var(--ink3);font-weight:700;padding-top:8px}
.pubin{
  flex:1;border:none;outline:none;font-size:14px;color:var(--ink);
  font-family:inherit;padding:7px 0;background:transparent;min-width:0;
}
.pubin::placeholder{color:#c2c2cf}
.pubta{
  flex:1;border:none;outline:none;font-size:14px;color:var(--ink);font-family:inherit;
  padding:7px 0;background:transparent;min-height:74px;resize:none;line-height:1.6;
}
.pubta::placeholder{color:#c2c2cf}
.pubtags{flex:1;display:flex;flex-wrap:wrap;gap:7px}
.pubtag{
  border:1px solid #ecebf2;background:#fff;color:var(--ink2);border-radius:999px;
  padding:7px 13px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:inherit;
}
.pubtag.on{background:#fff0f5;border-color:#ffc2d6;color:#ff4d7d;font-weight:700}
/* v132 发布页图片区：横向滑动 */
.ppic-wrap{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}
.ppic-strip{
  display:flex;gap:7px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  padding:1px 0;flex:0 1 auto;max-width:100%;
}
.ppic-strip:empty{display:none}
.ppic-strip::-webkit-scrollbar{height:3px}
.ppic-strip::-webkit-scrollbar-thumb{background:#d9d9e3;border-radius:3px}
.ppic-item{
  position:relative;flex:0 0 auto;width:82px;height:82px;border-radius:12px;
  overflow:hidden;background:#f4f4f8;scroll-snap-align:start;
}
.ppic-item img{display:block;width:100%;height:100%;object-fit:cover}
.ppic-del{
  position:absolute;top:3px;right:3px;width:19px;height:19px;border-radius:50%;
  border:none;background:rgba(0,0,0,.55);color:#fff;font-size:12px;line-height:1;
  font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;
  padding:0;
}
.ppic-add{
  flex:0 0 auto;width:82px;height:82px;border-radius:12px;background:#fafafc;
  border:1.5px dashed #d5d5e0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;cursor:pointer;
  transition:border-color .18s,background .18s;
}
.ppic-add:active{background:#f2f2f7}
.ppic-plus{font-size:19px;color:#b0b0be;line-height:1}
.ppic-lb{font-size:10.5px;color:#a8a8b6}
.ppic-add.dim{border-color:#e8e8ef;opacity:.45;pointer-events:none}

/* v132 卡片多图横向滑动（推特风格） */
.fd-pics{
  position:relative;margin:8px 14px 10px;display:flex;gap:6px;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;border-radius:14px;
}
.fd-pics::-webkit-scrollbar{display:none}
.fd-pics.single{border-radius:14px}
.fd-pics .pi{
  flex:0 0 auto;scroll-snap-align:center;border-radius:14px;overflow:hidden;
  background:#f4f4f8;position:relative;
}
.fd-pics .pi img{display:block;width:100%;height:100%;object-fit:cover}
.fd-pics.multi .pi{width:78%;height:230px}
.fd-pics.single .pi{width:100%;height:auto}
.fd-pics.single .pi img{height:auto;max-height:420px;object-fit:cover}
.fd-pics .pi-n{
  position:absolute;bottom:7px;left:7px;background:rgba(0,0,0,.5);color:#fff;
  font-size:10.5px;padding:2px 7px;border-radius:20px;letter-spacing:.2px;
}
/* 丝滑小圆点指示器 */
.fd-dots{display:flex;justify-content:center;gap:4px;padding:0 0 8px}
.fd-dots i{width:5px;height:5px;border-radius:50%;background:#d8d8e2;transition:background .18s,width .18s}
.fd-dots i.on{background:#17c0ba;width:14px;border-radius:3px}

/* ============ v133 帖子详情页 ============ */
.post-body{padding-bottom:6px}
.post-head{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}
.post-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#ffd6e2,#e6e0ff);
  display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 40px;font-weight:700;color:#6b6b80}
.post-who{flex:1 1 auto;min-width:0}
.post-nm{font-size:14.5px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:4px}
.post-nm i{font-style:normal;font-size:10px;color:#fff;background:#17c0ba;border-radius:50%;
  width:13px;height:13px;display:inline-flex;align-items:center;justify-content:center}
.post-sub{font-size:11.5px;color:var(--ink3);margin-top:2px}
.post-txt{padding:2px 14px 4px;font-size:15.5px;line-height:1.72;color:var(--ink);letter-spacing:-.1px;
  white-space:pre-wrap;word-break:break-word}
.post-title{font-size:17px;font-weight:800;line-height:1.45;padding:12px 14px 2px;color:var(--ink);letter-spacing:-.2px}
.post-chiprow{display:flex;flex-wrap:wrap;gap:6px;padding:9px 14px 2px}
.post-acts{display:flex;align-items:center;gap:18px;padding:12px 14px 14px;border-bottom:1px solid #f0f0f5}
.post-act{display:inline-flex;align-items:center;gap:5px;border:none;background:none;
  font-family:inherit;font-size:13px;color:var(--ink2);padding:0;cursor:pointer}
.post-act.on{color:#e0407a}

/* 评论区 */
.post-cmt-head{display:flex;align-items:center;gap:7px;padding:15px 14px 9px}
.pch-t{font-size:14px;font-weight:800;color:var(--ink)}
.pch-n{font-size:12px;color:var(--ink3);font-weight:600}
.post-cmts{padding:0 14px}
.pc-item{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid #f6f6fa}
.pc-item:last-child{border-bottom:none}
.pc-av{width:32px;height:32px;border-radius:50%;flex:0 0 32px;display:flex;align-items:center;
  justify-content:center;font-size:14px;background:#f0f0f6;color:#7c7c92;font-weight:700}
.pc-main{flex:1 1 auto;min-width:0}
.pc-top{display:flex;align-items:center;gap:6px}
.pc-nm{font-size:12.5px;font-weight:700;color:var(--ink2)}
.pc-own{font-size:9.5px;color:#17c0ba;border:1px solid #b8ece9;border-radius:4px;padding:0 3px;line-height:1.5}
.pc-ago{font-size:10.5px;color:#b4b4c2;margin-left:auto}
.pc-txt{font-size:13.5px;line-height:1.6;color:var(--ink);margin-top:3px;word-break:break-word;white-space:pre-wrap}
.pc-reply{font-size:11.5px;color:var(--ink3);margin-top:4px}
.pc-reply b{color:#17c0ba;font-weight:700}
.pc-empty{text-align:center;padding:34px 0;color:#b6b6c4;font-size:12.5px}
.pc-empty .e{font-size:26px;margin-bottom:6px}

/* 底部输入框 */
.post-reply{position:fixed;left:0;right:0;bottom:0;display:flex;gap:8px;align-items:center;
  padding:9px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);
  border-top:1px solid #f0f0f5;z-index:60;transform:translateY(110%);transition:transform .22s;
  max-width:520px;margin:0 auto}
.page.on .post-reply{transform:translateY(0)}
.preply-in{flex:1 1 auto;min-width:0;height:38px;border:none;background:#f4f4f9;border-radius:19px;
  padding:0 15px;font-family:inherit;font-size:13.5px;color:var(--ink);outline:none}
.preply-in::placeholder{color:#b0b0be}
.preply-btn{flex:0 0 auto;height:38px;padding:0 17px;border:none;border-radius:19px;
  background:linear-gradient(135deg,#17c0ba,#0fa8a3);color:#fff;font-family:inherit;
  font-size:13.5px;font-weight:700;cursor:pointer}
.preply-btn:active{opacity:.85}
.post-gap{height:64px}

.pubhit{font-size:11.5px;color:var(--ink3);line-height:1.6;padding:12px 4px 0;text-align:center}
/* ============ 怎么玩卡片 ============ */
.howto{display:flex;flex-direction:column;gap:10px;padding:0 14px 20px}
.ht-c{
  display:flex;gap:12px;background:#fff;border-radius:var(--r14);
  padding:14px;box-shadow:var(--sh);
}
.ht-i{
  flex:0 0 38px;width:38px;height:38px;border-radius:11px;
  background:#fff4ef;display:flex;align-items:center;justify-content:center;
  font-size:19px;line-height:1;
}
.ht-b{flex:1;min-width:0}
.ht-t{font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.2px}
.ht-d{font-size:12.5px;color:var(--ink2);line-height:1.55;margin-top:5px}

/* ============ 景点页分段视图切换 ============ */
.sp-seg{
  display:flex;gap:0;margin:0 14px 12px;
  background:#ececf0;border-radius:12px;padding:3px;
}
.sp-segb{
  flex:1;border:0;background:transparent;color:var(--ink2);
  font-size:13px;font-weight:700;padding:9px 0;border-radius:9px;
  cursor:pointer;line-height:1;transition:background .18s,color .18s;
}
.sp-segb.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.10)}
.sp-view{display:none}
.sp-view.on{display:block}

/* ============ 搭子广场（A 信息流 / B 紧凑） ============ */
.dz-head{
  display:flex;align-items:center;gap:10px;
  padding:14px 14px 8px;
}
.dz-head .t{
  font-size:19px;font-weight:800;color:var(--ink);
  letter-spacing:-.3px;
}
.dz-head .sub{
  font-size:12px;color:var(--ink3);font-weight:600;margin-top:2px;
}
.dz-viewsw{
  margin-left:auto;display:flex;gap:0;
  background:#ececf0;border-radius:10px;padding:3px;
}
.dz-vbtn{
  border:0;background:transparent;color:var(--ink2);
  font-size:12px;font-weight:700;padding:6px 11px;border-radius:8px;
  cursor:pointer;line-height:1;transition:background .18s,color .18s;
}
.dz-vbtn.on{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.10)}

/* 目的地范围筛选条 */
.dz-scope{
  display:flex;gap:8px;padding:0 14px 10px;overflow-x:auto;
  scrollbar-width:none;
}
.dz-scope::-webkit-scrollbar{display:none}
.dz-sbtn{
  flex:0 0 auto;border:1px solid #e6e6ec;background:#fff;color:var(--ink2);
  font-size:12.5px;font-weight:700;padding:7px 13px;border-radius:999px;
  cursor:pointer;line-height:1;white-space:nowrap;
  transition:all .18s;
}
.dz-sbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}

/* ---------- A 视图：SOUL 广场信息流 ---------- */
.dzg{display:flex;flex-direction:column;gap:14px;padding:0 14px 20px}
.dzg-c{
  background:#fff;border-radius:var(--r18);overflow:hidden;
  box-shadow:var(--sh);cursor:pointer;
  transition:transform .18s,box-shadow .18s;
}
.dzg-c:active{transform:scale(.985)}
.dzg-img{
  position:relative;height:172px;overflow:hidden;background:#e9e9ee;
}
.dzg-img img{width:100%;height:100%;object-fit:cover;display:block}
.dzg-badge{
  position:absolute;top:10px;left:10px;
  display:flex;align-items:center;gap:5px;
  background:rgba(0,0,0,.56);backdrop-filter:blur(10px);
  color:#fff;font-size:11.5px;font-weight:700;
  padding:5px 10px;border-radius:999px;
}
.dzg-far{
  position:absolute;top:10px;right:10px;
  background:var(--accent);color:#fff;
  font-size:11px;font-weight:800;
  padding:5px 10px;border-radius:999px;
}
.dzg-main{padding:13px 14px 14px}
.dzg-name{
  font-size:17px;font-weight:800;color:var(--ink);
  letter-spacing:-.2px;line-height:1.28;
}
.dzg-desc{
  font-size:12.5px;color:var(--ink2);margin-top:5px;line-height:1.45;
}
.dzg-row{
  display:flex;align-items:center;gap:8px;margin-top:11px;
}
.dzg-host{
  display:flex;align-items:center;gap:6px;
  font-size:12.5px;font-weight:700;color:var(--ink);
}
.dzg-av{
  width:24px;height:24px;border-radius:50%;
  background:linear-gradient(135deg,#ffb27a,#ff6b35);
  color:#fff;font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.dzg-v{
  color:#fff;background:var(--accent);border-radius:50%;
  width:13px;height:13px;font-size:9px;font-weight:900;
  display:inline-flex;align-items:center;justify-content:center;
}
.dzg-stat{margin-left:auto;font-size:12px;color:var(--ink3);font-weight:600}
.dzg-stat b{color:var(--accent);font-weight:800}
.dzg-foot{
  display:flex;align-items:center;gap:8px;margin-top:12px;
  padding-top:11px;border-top:1px solid #f0f0f4;
}
.dzg-when{font-size:12px;color:var(--ink2);font-weight:600}
.dzg-km{font-size:11.5px;color:var(--ink3);font-weight:600}
.dzg-go{
  margin-left:auto;border:0;border-radius:999px;
  background:var(--accent);color:#fff;
  font-size:13px;font-weight:800;padding:8px 18px;
  cursor:pointer;line-height:1;
}
.dzg-go.dim{background:#ececf0;color:var(--ink3)}

/* ---------- B 视图：紧凑列表 ---------- */
.dzb{display:flex;flex-direction:column;gap:9px;padding:0 14px 20px}
.dzb-c{
  display:flex;align-items:center;gap:11px;
  background:#fff;border-radius:var(--r14);
  padding:11px 12px;box-shadow:var(--sh);cursor:pointer;
}
.dzb-th{
  width:52px;height:52px;border-radius:11px;overflow:hidden;
  flex:0 0 52px;background:#e9e9ee;
}
.dzb-th img{width:100%;height:100%;object-fit:cover;display:block}
.dzb-bd{flex:1;min-width:0}
.dzb-t{
  font-size:14px;font-weight:800;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.dzb-m{
  font-size:11.5px;color:var(--ink3);font-weight:600;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.dzb-r{display:flex;flex-direction:column;align-items:flex-end;gap:5px;flex:0 0 auto}
.dzb-need{
  font-size:11px;font-weight:800;color:#fff;background:var(--accent);
  padding:3px 8px;border-radius:999px;line-height:1.2;
}
.dzb-need.dim{background:#ececf0;color:var(--ink3)}
.dzb-km{font-size:10.5px;color:var(--ink3);font-weight:600}

/* 空态 */
.dz-empty{
  text-align:center;padding:52px 20px;color:var(--ink3);
  font-size:13.5px;font-weight:600;
}
.dz-empty .e{font-size:38px;margin-bottom:10px}
/* ============ 顶部固定头（定位 + 搜索，常驻） ============ */
.topbar{
  position:sticky;top:0;z-index:70;
  overflow:hidden;
  box-sizing:border-box;
  height:260px;
  padding:calc(10px + var(--safe-t)) 16px 0;
  display:flex;flex-direction:column;
  background:#1a1a1f;
  transition:padding .18s ease, box-shadow .18s ease;
}


/* 背景图 */
.topbar .hero{
  position:absolute;top:-1px;left:0;right:0;bottom:-1px;z-index:0;
  overflow:hidden;background:#1a1a1f;
  height:auto;margin:0;border-radius:0;
  opacity:1;transition:opacity .22s ease;
}
.topbar .hero img{
  width:100%;height:100%;object-fit:cover;opacity:.95;
  transition:transform .5s ease;
}
/* 压暗遮罩，保证白字可读 */
.topbar::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.52) 0%,rgba(0,0,0,.30) 55%,rgba(0,0,0,.62) 100%);
  opacity:1;transition:opacity .22s ease;
}
.topbar .tb-row1,
.topbar .hero-text{position:relative;z-index:2}
/* 下滑收缩态：背景图淡出，只留定位 + 搜索那一排 */
.topbar.on{
  height:58px !important;
  min-height:0 !important;
  max-height:58px !important;
  transition:none !important;
  padding:calc(8px + var(--safe-t)) 14px !important;
  background:rgba(245,245,247,.98) !important;
  box-shadow:0 2px 14px rgba(0,0,0,.12);
}
.topbar.on .hero{
  opacity:0;
  transition:opacity .28s ease;
}
.topbar.on::before{
  opacity:0;
  transition:opacity .22s ease;
}
.topbar.on .hero-text{
  opacity:0;
  pointer-events:none;
}
/* 收起态前景改回实心，贴在浅灰底上 */
.topbar.on .tb-row1 .locbtn{
  background:#fff;border-color:transparent;color:var(--ink);
  box-shadow:var(--sh);
}
.topbar.on .tb-row1 .locbtn .loci{
  background:var(--ok);box-shadow:0 0 0 3px rgba(18,183,106,.16);
}
.topbar.on .tb-row1 .hero-btn{
  background:#fff;border-color:transparent;color:var(--ink);
  box-shadow:var(--sh);
}
.topbar.on .tb-row1 .searchbar{
  background:#fff;box-shadow:var(--sh);
}
.tb-row1{
  display:flex;align-items:center;gap:7px;
}
/* 玻璃拟态：半透明白 + 模糊 */
.tb-row1 .locbtn{
  display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;
  max-width:124px;padding:9px 12px;border-radius:20px;
  background:rgba(255,255,255,.20);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.34);
  color:#fff;font-size:12.5px;font-weight:700;letter-spacing:0;
  overflow:hidden;white-space:nowrap;
}
.tb-row1 .locbtn .loci{
  width:6px;height:6px;border-radius:50%;background:#34d399;
  box-shadow:0 0 0 3px rgba(52,211,153,.25);flex:0 0 auto;
}
.tb-row1 .locbtn .loctxt{overflow:hidden;text-overflow:ellipsis}
.tb-row1 .locbtn.warn{background:rgba(255,107,53,.55);border-color:rgba(255,140,90,.7)}
.tb-row1 .locbtn.warn .loci{background:#ffd9c9;box-shadow:none}
.tb-row1 .searchbar{
  flex:1;min-width:0;margin:0;
  display:flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.94);
  border-radius:20px;padding:9px 14px;
  box-shadow:0 2px 12px rgba(0,0,0,.14);
}
.tb-row1 .searchbar .si{font-size:13px;flex:0 0 auto;opacity:.42}
.tb-row1 .searchbar input{flex:1;font-size:13px;min-width:0;color:var(--ink)}
.tb-row1 .searchbar input::placeholder{color:var(--ink3)}
.tb-row1 .hero-btn{
  width:34px;height:34px;border-radius:50%;flex:0 0 auto;
  background:rgba(255,255,255,.20);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.34);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;color:#fff;
}

.topbar .hero-text{
  margin-top:auto;padding-top:22px;color:#fff;
  transition:opacity .22s ease,max-height .28s ease,margin .28s ease,padding .28s ease;
  overflow:hidden;
}
.topbar .hero-text h1{
  font-size:25px;font-weight:800;line-height:1.2;letter-spacing:.5px;
  text-shadow:0 1px 12px rgba(0,0,0,.4);
}
.topbar .hero-text p{
  font-size:13px;opacity:.9;margin-top:5px;font-weight:500;
}
/* 下滑后：背景图稍微上移一点，暗示层级 */
.topbar.on .hero img{transform:scale(1.04)}

/* 吸顶条：默认隐藏，下滑浮出 */
.stickbar{
  position:fixed;top:0;left:0;right:0;z-index:70;max-width:640px;margin:0 auto;
  display:flex;align-items:center;gap:9px;
  padding:calc(8px + var(--safe-t)) 14px 8px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  transform:translateY(-110%);opacity:0;pointer-events:none;
  transition:transform .22s ease,opacity .18s ease;
}
.stickbar.on{transform:translateY(0);opacity:1;pointer-events:auto}
.stickbar .locbtn{
  display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;
  max-width:118px;padding:7px 11px;border-radius:16px;
  background:var(--bg);color:var(--ink);
  font-size:12.5px;font-weight:700;overflow:hidden;white-space:nowrap;
}
.stickbar .locbtn .loci{font-size:11px;flex:0 0 auto}
.stickbar .locbtn .loctxt{overflow:hidden;text-overflow:ellipsis}
.stickbar .sticksearch{
  flex:1;display:flex;align-items:center;gap:7px;
  background:var(--bg);border-radius:16px;padding:8px 14px;
  font-size:13px;color:var(--ink3);text-align:left;min-width:0;
}
.stickbar .sticksearch .si{font-size:12.5px;opacity:.55;flex:0 0 auto}
.stickbar .sticksearch .sph{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 去过按钮：橙色描边态，和收藏区分开 */
.seg-b.been{
  background:var(--ink);color:#fff;box-shadow:none;
}


/* ================= 登录 / 消息 / 聊天 ================= */
.badge{position:absolute;top:2px;right:+0px;transform:translateX(14px);
  min-width:16px;height:16px;border-radius:9px;background:#ff3b30;color:#fff;
  font-size:10px;font-weight:700;line-height:16px;text-align:center;padding:0 4px;
  display:none;box-shadow:0 0 0 2px #fff}
.badge.on{display:block}

/* 登录页 */
.lgw{padding:26px 22px}
.lgt{font-size:26px;font-weight:800;letter-spacing:-.4px;margin-bottom:6px}
.lgs{font-size:13px;color:var(--ink3);margin-bottom:26px;line-height:1.6}
.lgrow{background:#fff;border-radius:14px;padding:2px 14px;margin-bottom:12px;
  display:flex;align-items:center;gap:10px;box-shadow:var(--sh)}
.lgrow input{flex:1;border:0;outline:0;background:transparent;font-size:15px;
  padding:15px 0;font-family:inherit}
.lgcode{display:flex;gap:10px;align-items:center}
.lgcode .lgrow{flex:1;margin-bottom:0}
.lgbtn{flex:0 0 auto;border:0;background:var(--accent-soft);color:var(--accent);
  font-size:13px;font-weight:700;padding:13px 14px;border-radius:12px;font-family:inherit}
.lgbtn:disabled{opacity:.45}
.lgsub{width:100%;border:0;background:var(--accent);color:#fff;font-size:16px;font-weight:700;
  padding:16px;border-radius:14px;margin-top:8px;font-family:inherit}
.lgtip{font-size:12px;color:var(--ink3);text-align:center;margin-top:16px;line-height:1.7}
.lgtip b{color:var(--accent)}

/* 消息列表 */
.msgw{padding:12px 0 0}
.msgrow{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;
  border-bottom:1px solid var(--line)}
.msgrow:active{background:#fafafb}
.msgav{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);
  color:var(--accent);font-weight:700;font-size:17px;display:flex;
  align-items:center;justify-content:center;flex:0 0 auto}
.msgmid{flex:1;min-width:0}
.msgnm{font-size:14.5px;font-weight:600;margin-bottom:3px}
.msgls{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.msgrt{flex:0 0 auto;text-align:right}
.msgtm{font-size:11px;color:var(--ink3)}
.msgun{display:inline-block;min-width:18px;height:18px;line-height:18px;border-radius:9px;
  background:#ff3b30;color:#fff;font-size:11px;font-weight:700;padding:0 5px;margin-top:5px}

/* 聊天页 */
#chat{padding-bottom:0}
.chwrap{position:fixed;top:0;left:0;right:0;bottom:0;max-width:640px;margin:0 auto;
  display:flex;flex-direction:column;background:var(--bg);z-index:30}
.chtop{flex:0 0 auto;display:flex;align-items:center;gap:10px;
  padding:calc(10px + var(--safe-t)) 14px 10px;background:rgba(245,245,247,.95);
  backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.chttl{font-size:16px;font-weight:700;flex:1;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chback{width:32px;height:32px;border:0;background:transparent;font-size:22px;
  color:var(--ink);line-height:1;font-family:inherit}
.chbody{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px 8px}
.chday{text-align:center;font-size:11px;color:var(--ink3);margin:10px 0}
.chm{display:flex;gap:8px;margin-bottom:12px;align-items:flex-start}
.chm.mine{flex-direction:row-reverse}
.chmav{width:34px;height:34px;border-radius:50%;background:#e6e6eb;color:var(--ink2);
  font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.chm.mine .chmav{background:var(--accent-soft);color:var(--accent)}
.chbub{max-width:calc(100% - 100px);padding:10px 13px;border-radius:16px;
  background:#fff;font-size:14.5px;line-height:1.55;word-break:break-word;
  box-shadow:0 1px 2px rgba(0,0,0,.04);position:relative}
.chm.mine .chbub{background:var(--accent);color:#fff}
.chbub img{display:block;max-width:100%;border-radius:10px;margin-top:6px}
.chbub .chimgonly{margin-top:0}
.chrec{font-size:12.5px;color:var(--ink3);font-style:normal;padding:2px 0}
.chm.mine .chrec{color:rgba(255,255,255,.75)}
.chfoot{flex:0 0 auto;background:#fff;border-top:1px solid var(--line);
  padding:8px 10px calc(8px + var(--safe-b))}
.chinrow{display:flex;gap:8px;align-items:flex-end}
.chin{flex:1;border:0;outline:0;background:var(--bg);border-radius:18px;
  padding:11px 14px;font-size:14.5px;font-family:inherit;resize:none;max-height:90px;
  line-height:1.5}
.chico{width:36px;height:36px;border:0;background:transparent;font-size:20px;line-height:1;
  flex:0 0 auto;font-family:inherit}
.chsend{flex:0 0 auto;border:0;background:var(--accent);color:#fff;font-size:14px;
  font-weight:700;padding:11px 16px;border-radius:18px;font-family:inherit}
.chsend:disabled{opacity:.5}
/* 表情面板 */
.chemop{display:none;padding:8px 4px 2px;max-height:180px;overflow-y:auto}
.chemop.on{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}
.chemop span{font-size:24px;text-align:center;padding:5px 0;line-height:1.2}
/* 撤回菜单 */
.chmenu{position:fixed;z-index:80;background:#2a2a2f;color:#fff;border-radius:11px;
  font-size:13px;padding:9px 14px;display:none;box-shadow:0 6px 20px rgba(0,0,0,.28)}
.chmenu.on{display:block}
.chmenu:active{opacity:.75}

/* ================= 广场拆分：找搭子 / 朋友圈 ================= */
.plmain{
  display:flex;gap:0;padding:0 16px 12px;background:var(--bg);
  position:relative;
}
.plmain::before{
  content:"";position:absolute;left:19px;right:19px;top:0;bottom:12px;
  background:#eeeef1;border-radius:12px;
}
.plmain button{
  flex:1;border:0;background:transparent;font-family:inherit;
  font-size:14px;font-weight:700;color:var(--ink3);
  padding:8px 0;border-radius:10px;position:relative;z-index:1;
  transition:color .18s,background .18s,box-shadow .18s;
  margin:3px;
}
.plmain button.on{
  color:var(--ink);background:#fff;
  box-shadow:0 1.5px 4px rgba(0,0,0,.1);
}
.plmain button .cnt{
  font-size:10.5px;font-weight:700;color:var(--ink3);
  margin-left:5px;vertical-align:1px;opacity:.7;
}
.plmain button.on .cnt{color:var(--accent);opacity:1}

/* 搭子过期提示 */
.fd-oldbar{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin:6px 16px 22px;padding:11px;border-radius:12px;
  background:#fff;color:var(--ink3);font-size:12.5px;
  border:1px dashed var(--line);
}
.fd-oldbar:active{background:#fafafb}

/* 过期搭子卡（灰掉） */
.fd.expired{opacity:.55}
.fd.expired .fd-pic{filter:grayscale(1)}
.fd-exbadge{
  display:inline-block;margin-left:6px;padding:1px 7px;border-radius:8px;
  background:#ececef;color:var(--ink3);font-size:10.5px;font-weight:600;
  vertical-align:1px;
}

/* 作者区点击热区 */
.fd-av,.fd-nm{cursor:pointer}
.fd-chat{
  margin-left:auto;border:0;background:var(--accent-soft);color:var(--accent);
  font-family:inherit;font-size:12px;font-weight:700;
  padding:6px 11px;border-radius:14px;flex:0 0 auto;
}
.fd-chat:active{opacity:.7}
.fd-more{margin-left:8px}

.me-login{
  width:100%;border:0;background:var(--accent);color:#fff;font-size:15px;font-weight:700;
  padding:14px;border-radius:13px;margin-top:16px;font-family:inherit;
}
.me-login:active{opacity:.85}

/* ===== 图片全屏查看器 ===== */
#imgView{
  position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.96);
  display:none;opacity:0;transition:opacity .18s ease;
  touch-action:none;overscroll-behavior:contain;
}
#imgView.on{display:block;opacity:1}
#imgView .iv-stage{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
#imgView .iv-img{
  max-width:100%;max-height:100%;object-fit:contain;
  will-change:transform;transition:transform .16s ease;
  user-select:none;-webkit-user-drag:none;
}
#imgView.zoom #imgView .iv-img{transition:none}
#imgView .iv-close{
  position:absolute;top:calc(14px + env(safe-area-inset-top));right:14px;
  width:36px;height:36px;border:0;border-radius:50%;
  background:rgba(255,255,255,.16);color:#fff;font-size:19px;line-height:1;
  font-family:inherit;z-index:3;
}
#imgView .iv-close:active{background:rgba(255,255,255,.3)}
#imgView .iv-idx{
  position:absolute;top:calc(22px + env(safe-area-inset-top));left:50%;
  transform:translateX(-50%);color:#fff;font-size:13px;letter-spacing:.5px;
  background:rgba(0,0,0,.35);padding:4px 12px;border-radius:20px;z-index:3;
  display:none;
}
#imgView.multi .iv-idx{display:block}
#imgView .iv-dots{
  position:absolute;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;
  transform:translateX(-50%);display:none;gap:6px;z-index:3;
}
#imgView.multi .iv-dots{display:flex}
#imgView .iv-dots i{
  width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);
}
#imgView .iv-dots i.on{background:#fff;width:16px;border-radius:3px}
#imgView .iv-load{
  position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;
  border:2.5px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;
  animation:ivspin .7s linear infinite;z-index:2;display:none;
}
#imgView.loading .iv-load{display:block}
@keyframes ivspin{to{transform:rotate(360deg)}}

/* ============================================================
   v158 首页 APP 标准模式
   ============================================================ */
.topbar::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.12) 32%,rgba(0,0,0,.30) 62%,rgba(0,0,0,.82) 100%);
}
.topbar .hero{
  position:absolute;top:-1px;left:0;right:0;bottom:-1px;
  height:auto;margin:0;border-radius:0;z-index:0;
}
.topbar .hero img{opacity:1;transform:scale(1.02);transition:transform .6s ease}
.tb-inner{position:relative;z-index:2;display:flex;flex-direction:column;height:100%}
.tb-row1{display:flex;align-items:center;gap:8px;flex:0 0 auto}

/* 毛玻璃胶囊 */
.locbtn{
  display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;
  max-width:190px;height:32px;padding:0 13px;border-radius:16px;
  background:rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,.26);
  color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.2px;
  overflow:hidden;white-space:nowrap;
}
.locbtn .loci{
  width:6px;height:6px;border-radius:50%;background:#34d399;flex:0 0 auto;
  box-shadow:0 0 0 3px rgba(52,211,153,.28);
  font-size:0;line-height:0;text-indent:-99px;overflow:hidden;
}
.locbtn.warn .loci{background:#fbbf24;box-shadow:0 0 0 3px rgba(251,191,36,.28)}
.hero-btn{
  margin-left:auto;width:32px;height:32px;border-radius:50%;flex:0 0 auto;
  background:rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.26);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;color:#fff;
}

/* Hero 文字 */
.hero-text{
  margin-top:auto;padding:0 0 44px;color:#fff;
  position:relative;z-index:2;
  transition:opacity .22s ease;
}
.hero-text .eyebrow{
  font-size:11.5px;font-weight:700;letter-spacing:1.6px;opacity:.85;
  text-transform:uppercase;
}
.hero-text h1{
  font-size:27px;font-weight:800;line-height:1.16;letter-spacing:-.6px;
  margin-top:7px;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
}
.hero-text h1 em{font-style:normal;color:#ffd0b8}
.hero-text p{font-size:13px;opacity:.88;margin-top:7px;font-weight:500}

/* 悬浮搜索：压在 Hero 下沿 */
.hm-search{
  position:relative;z-index:6;
  flex:1;min-width:0;height:32px;margin:0;
  display:flex;align-items:center;gap:6px;padding:0 4px 0 11px;border-radius:16px;
  background:rgba(255,255,255,.20);
  -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  border:1px solid rgba(255,255,255,.26);
  transition:background .2s ease,border-color .2s ease;
}
.hm-search:focus-within{background:rgba(255,255,255,.94);border-color:transparent}
.hm-search .si{font-size:12.5px;opacity:.62;flex:0 0 auto}
.hm-search input{
  flex:1;border:0;outline:0;background:none;font-family:inherit;
  font-size:12.5px;font-weight:600;color:#fff;min-width:0;padding:0;
}
.hm-search input::placeholder{color:rgba(255,255,255,.72);font-weight:500}
.hm-search input::-webkit-search-cancel-button{-webkit-appearance:none}
.hm-search:focus-within input{color:var(--ink)}
.hm-search:focus-within input::placeholder{color:var(--ink3)}
.hm-search:focus-within .si{opacity:.4}
.hm-cam{
  width:24px;height:24px;border-radius:50%;
  background:rgba(255,255,255,.2);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:11px;
  flex:0 0 auto;
}
.hm-search:focus-within .hm-cam{background:var(--accent);color:#fff}
.topbar.on .hm-search{
  background:#fff;border-color:transparent;box-shadow:var(--sh);
}
.topbar.on .hm-search input{color:var(--ink)}
.topbar.on .hm-search input::placeholder{color:var(--ink3)}
.topbar.on .hm-search .si{opacity:.4}
.topbar.on .hm-search .hm-cam{background:var(--accent);color:#fff}

/* 数据条 */
.statline{
  margin:18px 16px 0;padding:13px 0;border-radius:16px;
  background:#fff;box-shadow:var(--sh);
}
.st{border-right:1px solid var(--line)}
.st:last-child{border-right:0}
.st .v{font-size:16.5px;font-weight:800;letter-spacing:-.4px}
.st .l{font-size:10.5px;color:var(--ink3);margin-top:3px;font-weight:500}

/* 玩法圆图标横滑 */
.catrow{
  display:flex;gap:6px;overflow-x:auto;padding:2px 16px 6px;margin:0 -16px;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.catrow::-webkit-scrollbar{display:none}
.cq{
  flex:0 0 auto;width:62px;padding:0;gap:0;
  display:flex;flex-direction:column;align-items:center;
}
.cq .ic{
  width:54px;height:54px;border-radius:19px;margin:0 0 7px;
  background:#fff;box-shadow:var(--sh);
  display:flex;align-items:center;justify-content:center;font-size:24px;
  transition:transform .16s;
}
.cq:active .ic{transform:scale(1.08)}
.cq .lb{font-size:11.5px;font-weight:700;color:var(--ink);line-height:1.2;text-align:center}
.cq .nm{font-size:10px;color:var(--ink3);margin-top:2px}

/* 精选大卡横滑 */
.hscroll{
  display:flex;gap:12px;overflow-x:auto;
  padding:2px 16px 10px;margin:0 -16px;
  scroll-snap-type:x mandatory;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.hscroll::-webkit-scrollbar{display:none}
.rec{
  flex:0 0 232px;width:232px;
  border-radius:20px;overflow:hidden;background:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.07),0 16px 36px rgba(0,0,0,.08);
  scroll-snap-align:start;position:relative;
}
.rec .im{width:100%;height:150px;object-fit:cover;display:block;background:#ddd}
.rec .rank{
  position:absolute;top:10px;left:10px;z-index:2;
  background:rgba(0,0,0,.38);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  color:#fff;font-size:10.5px;font-weight:700;
  border-radius:10px;padding:4px 9px;letter-spacing:.2px;
}
.rec .bd{
  padding:10px 13px 13px;display:flex;align-items:center;gap:6px;
}
.rec .t{
  font-size:15px;font-weight:800;letter-spacing:-.3px;
  flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.rec .m{
  font-size:11px;font-weight:700;color:var(--ink3);background:var(--bg);
  padding:3px 8px;border-radius:8px;flex:0 0 auto;
  max-width:104px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* 底部 Tab：5 等分，去掉中间球 */
.tabs{height:calc(58px + var(--safe-b));align-items:center;padding:0 4px var(--safe-b)}
.tab{
  flex:1;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:0;color:#9a9aa4;
}
.tab .i{font-size:20px;opacity:.85;transition:transform .18s,opacity .18s}
.tab .l{font-size:9.5px;font-weight:700;letter-spacing:.2px;opacity:1}
.tab.on{color:var(--accent)}
.tab.on .i{opacity:1;transform:translateY(-1px)}
.tab.on .l{font-weight:800}
.tab.on::after{display:none}
.tab.tab-mid{flex:1;height:100%;padding:0;justify-content:center}
.tab-mid .mid-ball{
  position:static;transform:none;width:auto;height:auto;border-radius:0;
  background:none;box-shadow:none;display:flex;
}
.tab-mid .mid-ico{font-size:20px;filter:none;opacity:.85}
.tab-mid .l{font-size:9.5px;font-weight:700;color:inherit;opacity:1}
.tab-mid.on .mid-ball{transform:none;box-shadow:none}
.tab-mid.on .mid-ico{opacity:1}
.tab-mid:active .mid-ball{transform:none}
.tabs .badge{
  position:absolute;top:8px;left:calc(50% + 6px);right:auto;
  min-width:15px;height:15px;border-radius:8px;background:#ff3b30;color:#fff;
  font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;
  padding:0 4px;
}

/* ============ 搜索面板（首页原地展开） ============ */
.sp-wrap{position:fixed;inset:0;z-index:900;background:#f6f7f9;display:none;flex-direction:column;-webkit-overflow-scrolling:touch}
.sp-wrap.on{display:flex;animation:spIn .18s ease-out}
@keyframes spIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sp-bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;
  box-shadow:0 1px 0 rgba(0,0,0,.06);position:sticky;top:0;z-index:2}
.sp-back{width:34px;height:34px;border:0;background:transparent;font-size:26px;line-height:1;
  color:#111;padding:0;display:flex;align-items:center;justify-content:center}
.sp-inbox{flex:1;display:flex;align-items:center;gap:7px;background:#f1f2f4;border-radius:18px;padding:0 12px;height:38px}
.sp-i{font-size:14px;opacity:.55;flex:0 0 auto}
.sp-inbox input{flex:1;border:0;outline:0;background:transparent;font-size:15px;color:#111;min-width:0;height:100%}
.sp-inbox input::-webkit-search-cancel-button{display:none}
.sp-clear{flex:0 0 auto;font-size:13px;color:#8b8f96;padding:4px;display:none}
.sp-clear.on{display:block}
.sp-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 0 40px;-webkit-overflow-scrolling:touch}

/* 分区 */
.sp-sec{margin:10px 0 0}
.sp-sec-h{display:flex;align-items:baseline;gap:6px;padding:0 14px 7px}
.sp-sec-t{font-size:13px;font-weight:700;color:#111;letter-spacing:.2px}
.sp-sec-n{font-size:12px;color:#a0a4ab;font-weight:400}
.sp-sec-more{margin-left:auto;font-size:12px;color:#2f6bff;padding:2px 0}

/* 景区行 */
.sp-spot{display:flex;align-items:center;gap:11px;background:#fff;margin:0 12px 8px;border-radius:12px;
  padding:9px 11px;box-shadow:0 1px 2px rgba(16,24,40,.05)}
.sp-spot:active{background:#f3f4f6}
.sp-spot img{width:52px;height:52px;border-radius:9px;object-fit:cover;flex:0 0 auto;background:#eceef1}
.sp-spot .bd{flex:1;min-width:0}
.sp-spot .t{font-size:14.5px;font-weight:600;color:#111;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-spot .t em{font-style:normal;color:#e8590c;background:#fff3e0;border-radius:3px;padding:0 1px}
.sp-spot .m{font-size:12px;color:#8b8f96;margin-top:3px;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-spot .tag{display:inline-block;font-size:11px;color:#565b63;background:#f1f2f4;
  border-radius:5px;padding:1px 6px;margin-top:5px}
.sp-spot .arw{color:#c8ccd2;font-size:19px;flex:0 0 auto;margin-left:2px}

/* 无结果 */
.sp-empty{padding:44px 24px;text-align:center;color:#8b8f96}
.sp-empty .e{font-size:38px;margin-bottom:12px}
.sp-empty .t{font-size:15px;color:#3c4149;font-weight:600;margin-bottom:6px}
.sp-empty .s{font-size:13px;line-height:1.7}

/* 热门景区卡（横滑） */
.sp-hots{display:flex;gap:9px;overflow-x:auto;padding:0 12px 4px;scrollbar-width:none}
.sp-hots::-webkit-scrollbar{display:none}
.sp-hot{flex:0 0 auto;width:126px;background:#fff;border-radius:12px;overflow:hidden;
  box-shadow:0 1px 2px rgba(16,24,40,.05)}
.sp-hot:active{transform:scale(.98)}
.sp-hot img{width:126px;height:86px;object-fit:cover;display:block;background:#eceef1}
.sp-hot .t{font-size:13px;font-weight:600;color:#111;padding:7px 8px 2px;line-height:1.3;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-hot .m{font-size:11px;color:#8b8f96;padding:0 8px 8px}
.sp-hot .rk{position:relative;margin-top:-86px;float:left;margin-left:7px;margin-top:-22px;
  background:rgba(232,89,12,.92);color:#fff;font-size:11px;font-weight:700;
  border-radius:5px;padding:1px 5px;position:relative;z-index:2}

/* 攻略行 */
.sp-gd{display:flex;gap:10px;background:#fff;margin:0 12px 8px;border-radius:12px;padding:11px 12px;
  box-shadow:0 1px 2px rgba(16,24,40,.05)}
.sp-gd:active{background:#f3f4f6}
.sp-gd .ic{flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:#eef3ff;
  display:flex;align-items:center;justify-content:center;font-size:16px}
.sp-gd .bd{flex:1;min-width:0}
.sp-gd .t{font-size:14px;font-weight:600;color:#111;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sp-gd .d{font-size:12.5px;color:#6b7076;margin-top:3px;line-height:1.45;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sp-gd .m{font-size:11.5px;color:#a0a4ab;margin-top:5px}

/* 搭子行 */
.sp-dz{display:flex;gap:10px;background:#fff;margin:0 12px 8px;border-radius:12px;padding:11px 12px;
  box-shadow:0 1px 2px rgba(16,24,40,.05)}
.sp-dz:active{background:#f3f4f6}
.sp-dz .av{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#e8f0ff;color:#2f6bff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}
.sp-dz .bd{flex:1;min-width:0}
.sp-dz .t{font-size:14px;font-weight:600;color:#111;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sp-dz .m{font-size:11.5px;color:#a0a4ab;margin-top:4px;display:flex;gap:8px;flex-wrap:wrap}
.sp-dz .m b{font-weight:600;color:#e8590c}
.sp-dz .go{flex:0 0 auto;align-self:center;font-size:12px;color:#2f6bff;
  border:1px solid #cfe0ff;border-radius:14px;padding:4px 11px;background:#f5f9ff}

/* 快捷搜索词（空搜索态） */
.sp-qs{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px}
.sp-qs .q{background:#fff;border-radius:16px;padding:7px 14px;font-size:13px;color:#3c4149;
  box-shadow:0 1px 2px rgba(16,24,40,.05)}
.sp-qs .q:active{background:#eef3ff;color:#2f6bff}

/* ================================================================
   全站返回兜底 UI 样式
   ================================================================ */
.fx-back{display:flex;align-items:center;gap:6px;padding:8px 12px 4px;background:#fff;
  border-bottom:1px solid rgba(0,0,0,.04);position:relative;z-index:6}
.fx-back-b{width:34px;height:34px;border:0;background:transparent;font-size:26px;line-height:1;
  color:#111;padding:0;display:flex;align-items:center;justify-content:center;border-radius:17px}
.fx-back-b:active{background:#f1f2f4}
.fx-back-t{font-size:14px;color:#3c4149}
