/* ===========================================================
   分享组件样式（底部面板 / 微信引导 / 二维码 / 海报）
   =========================================================== */
.nsh{position:fixed;inset:0;z-index:400;display:none}
.nsh.on{display:block}
.nsh-mask{position:absolute;inset:0;background:rgba(15,17,21,.5);
  -webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);
  -webkit-animation:nshFade .22s ease;animation:nshFade .22s ease}
@-webkit-keyframes nshFade{from{opacity:0}to{opacity:1}}
@keyframes nshFade{from{opacity:0}to{opacity:1}}

.nsh-sheet{position:absolute;left:0;right:0;bottom:0;background:#fff;
  border-radius:18px 18px 0 0;padding:6px 0 calc(18px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 40px -12px rgba(0,0,0,.28);
  -webkit-animation:nshUp .26s cubic-bezier(.2,.9,.28,1);animation:nshUp .26s cubic-bezier(.2,.9,.28,1);
  max-height:92vh;overflow:auto;-webkit-overflow-scrolling:touch}
@-webkit-keyframes nshUp{from{-webkit-transform:translateY(100%);opacity:.6}to{-webkit-transform:translateY(0);opacity:1}}
@keyframes nshUp{from{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}

.nsh-hd{position:relative;text-align:center;font-size:15px;font-weight:600;color:var(--ink);
  padding:16px 20px 12px;letter-spacing:.02em}
.nsh-x{position:absolute;right:12px;top:10px;width:32px;height:32px;border-radius:50%;
  display:grid;place-items:center;color:var(--ink3)}
.nsh-x svg{width:19px;height:19px}
.nsh-x:active{background:var(--soft)}

.nsh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:4px 8px 10px}
@media(min-width:561px){.nsh-grid{grid-template-columns:repeat(6,1fr);max-width:520px;margin:0 auto}}
.nsh-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 2px 10px;
  border-radius:12px;transition:background .15s}
.nsh-item:active{background:var(--soft)}
.nsh-item i{width:48px;height:48px;border-radius:14px;background:var(--soft);display:grid;place-items:center}
.nsh-item svg{width:26px;height:26px}
.nsh-item span{font-size:12.5px;color:var(--ink2);line-height:1}

.nsh-urlbox{margin:4px 20px 4px;padding:10px 12px;background:var(--soft);border-radius:9px;
  font-size:11.5px;color:var(--ink3);line-height:1.6;word-break:break-all;text-align:center}

.nsh-row{display:flex;gap:10px;padding:12px 20px 4px;align-items:center}
.nsh-row input{flex:1;min-width:0;height:40px;padding:0 12px;border:1px solid var(--line);
  border-radius:9px;font-size:13px;color:var(--ink2);background:var(--soft2);outline:none}
.nsh-btn-red{height:40px;padding:0 18px;border-radius:9px;background:var(--red);color:#fff;
  font-size:14px;font-weight:500;white-space:nowrap}
.nsh-btn-red:active{background:var(--red-dark)}
.nsh-btn-line{height:40px;padding:0 18px;border-radius:9px;border:1px solid var(--line);color:var(--ink2);
  font-size:14px;line-height:40px;white-space:nowrap;text-decoration:none}

.nsh-qrbox{display:flex;justify-content:center;padding:6px 20px 14px}
.nsh-qrbox svg{width:200px;height:200px;border-radius:10px;border:1px solid var(--line)}
.nsh-tip{padding:0 24px 12px;text-align:center;font-size:12.5px;color:var(--ink3);line-height:1.8}
.nsh-tip b{color:var(--ink)}
.nsh-tip.bad{color:var(--red)}

/* 大按钮（朋友圈主路径：直接唤起微信） */
.nsh-big{display:flex;flex-direction:column;gap:10px;padding:4px 20px 10px}
.nsh-bigbtn{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--line);
  border-radius:12px;text-align:left;background:#fff;transition:.15s}
.nsh-bigbtn:active{background:var(--soft)}
.nsh-bigbtn.red{border-color:var(--red);background:#fdf3f1}
.nsh-bigbtn.red:active{background:#fbe3e0}
.nsh-bigbtn i{width:44px;height:44px;border-radius:12px;background:var(--soft);
  display:grid;place-items:center;flex:none}
.nsh-bigbtn.red i{background:#fbe3e0}
.nsh-bigbtn i svg{width:24px;height:24px}
.nsh-bigbtn b{display:block;font-size:15px;font-weight:600;color:var(--ink);line-height:1.3}
.nsh-bigbtn span{display:block;font-size:12px;color:var(--ink3);margin-top:2px;line-height:1.5}

.nsh-poster{display:flex;justify-content:center;padding:0 20px 10px}
.nsh-poster img{width:100%;max-width:320px;border-radius:12px;box-shadow:0 6px 24px -10px rgba(0,0,0,.3);
  display:block}

/* 微信内引导 */
.nsh.guide .nsh-mask{background:rgba(10,12,15,.86)}
.nsh-arrow{position:absolute;right:16px;top:8px;
  -webkit-animation:nshFloat 1.4s ease-in-out infinite;animation:nshFloat 1.4s ease-in-out infinite}
.nsh-arrow svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}
@-webkit-keyframes nshFloat{0%,100%{-webkit-transform:translate(0,0)}50%{-webkit-transform:translate(-6px,6px)}}
@keyframes nshFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(-6px,6px)}}
.nsh-guide-t{position:absolute;top:140px;left:0;right:0;text-align:center;padding:0 32px}
.nsh-guide-t b{display:block;font-size:19px;color:#fff;font-weight:600;margin-bottom:12px;line-height:1.7}
.nsh-guide-t b i{font-style:normal;color:#ffd85e;font-size:23px;letter-spacing:2px}
.nsh-guide-t p{margin:0;font-size:14.5px;color:rgba(255,255,255,.82);line-height:1.9}
.nsh-guide-btn{position:absolute;left:50%;bottom:calc(52px + env(safe-area-inset-bottom));
  transform:translateX(-50%);padding:11px 34px;border-radius:999px;border:1px solid rgba(255,255,255,.6);
  color:#fff;font-size:15px;background:transparent}
