/* EGH 补丁 108（2026-10-18）
   ① 5 线边栏：**全站统一**收起态 = 贴右边缘的细胶囊（12×100），三颗走动的灯珠
   ② 点击 = 展开成原来那条 5 线；按住往左拉 = 从胶囊大小长大到展开
   ③ 760–1100 汉堡抽屉底色 = 登录页那套浅蓝
   独立成文件：style.css 末尾有历史遗留的多余右括号，追加规则会被吞。 */

.egh-rail{touch-action:none}
.egh-rail:not(.open){
  right:0 !important;width:12px !important;height:100px !important;padding:0 !important;
  border:0 !important;border-radius:6px 0 0 6px !important;
  background:linear-gradient(180deg,#93A0B4 0%,#75849C 100%) !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.92), 0 3px 10px rgba(16,24,40,.22) !important;
  transform:translateY(calc(-50% + var(--rail-dy,0px))) !important;
  cursor:grab;transition:opacity .18s ease,box-shadow .18s ease;
}
.egh-rail:not(.open):active{cursor:grabbing}
.egh-rail:not(.open)::before{
  content:"";position:absolute;top:-10px;bottom:-10px;left:-18px;right:-4px;
}
.egh-rail:not(.open) .egh-rail-arw{
  position:relative;padding:0 !important;border:0 !important;background:none !important;height:100% !important;
}
.egh-rail:not(.open) .egh-rail-curic{display:none !important}
.egh-rail:not(.open) .egh-rail-arw-h{display:none !important}

.egh-rail:not(.open) .egh-dots{
  display:flex !important;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);pointer-events:none;
}
.egh-rail:not(.open) .egh-dots i{
  width:3px;height:3px;border-radius:50%;background:#fff;opacity:.40;
  animation:eghRailDot 1.75s ease-in-out infinite;
}
.egh-rail:not(.open) .egh-dots i:nth-child(2){animation-delay:.22s}
.egh-rail:not(.open) .egh-dots i:nth-child(3){animation-delay:.44s}

.egh-rail:not(.open).is-dragging{
  opacity:.62 !important;
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  box-shadow:0 0 0 2px rgba(255,255,255,.55), 0 6px 18px rgba(16,24,40,.18) !important;
}
.egh-rail:not(.open).is-dragging .egh-dots i{animation-play-state:paused;opacity:.85}
html[data-theme=dark] .egh-rail:not(.open){
  background:linear-gradient(180deg,#5A6678 0%,#414C5C 100%) !important;
}

@keyframes eghRailDot{
  0%,62%,100%{opacity:.40;transform:scale(.85)}
  16%{opacity:1;transform:scale(1.25)}
}

/* 左拉：从胶囊大小长成展开面板（右边缘固定）
   遮罩 = 面板自身的底色，从黑渐渐变透明；里面的 5 线内容始终不透明 */
.egh-rail.is-growing{
  transform:translateY(calc(-50% + var(--rail-dy,0px)))
            scale(calc(.22 + .78 * var(--grow,0)), calc(.26 + .74 * var(--grow,0))) !important;
  transform-origin:100% 50% !important;
  transition:transform .12s linear, background .12s linear !important;
  overflow:hidden;
  border-radius:14px 0 0 14px !important;
  border:0 !important;
}
.egh-rail.is-growing > *{opacity:1 !important}

/* 面板：按内容撑开、不要滚动条（原来那套 overflow:hidden，水印照旧裁掉） */
.egh-rail-pn{overflow:hidden}


/* 汉堡：先占位 + 呼吸延后，避免加载时跳一下 */
@media (max-width:1099px){
  .egh-nav-r #eghBurger{display:flex;flex:0 0 36px;width:36px;min-width:36px;height:36px}
  .egh-nav-r{min-height:36px;gap:12px}
  .egh-nav-in .egh-logo{min-height:36px}
}
.egh-burger{animation-delay:1.2s !important}

/* 拉大时：边栏本体白底不透明；黑色遮罩是它自己内部的一层（::before），
   从黑渐透明，内容永远在上面、永远不透明 */
.egh-rail.is-growing{position:fixed;background:#fff !important}
.egh-rail.is-growing::before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  border-radius:inherit;
  background:rgba(10,14,22,.66);opacity:calc(1 - var(--grow,0));will-change:opacity;
}
.egh-rail.is-growing > *{position:relative;z-index:1;opacity:1 !important}
/* 遮罩就是那条拉条：紧贴右边、盖在 5 线上面 */
.egh-rail.is-growing{right:0 !important}

/* 拉的时候必须跟手：关掉所有过渡/动画干扰，只跟指针走 */
.egh-rail.is-growing,
.egh-rail.is-growing *{
  transition:none !important;
  -webkit-transition:none !important;
  animation:none !important;
}
.egh-rail.is-growing{will-change:transform}
/* 松手那一刻才允许回弹过渡（保持展开时用这个类做一次性过渡） */
.egh-rail.is-growing.is-settling{
  transition:transform .22s cubic-bezier(.2,.8,.3,1) !important;
}

/* 拉的过程中不允许任何选择/点击：还没到最大就是纯放大，松手到位后才能选 */
.egh-rail.is-growing > *{pointer-events:none !important;user-select:none !important;-webkit-user-select:none !important}
.egh-rail.is-growing{cursor:grabbing}

/* 拉动结束后短暂屏蔽 hover，避免手停在图标上直接把面板弹出来 */
.egh-rail.suppress-hover > *{pointer-events:none !important}

/* 展开态也保持纵向位置：摘掉 .is-growing 后不会弹回屏幕正中 */
.egh-rail.open:not(.is-growing){transform:translateY(calc(-50% + var(--rail-dy,0px)))}

/* ---------- 屏蔽浏览器左右滑返回（能屏蔽的部分）+ 防止拉条被顶动 ---------- */
html,body{overscroll-behavior-x:none}          /* Chrome/Android：禁止横向过滚触发上一页 */
.egh-rail, .egh-rail *{touch-action:none}      /* 拉条上的手势完全自己接管，浏览器别抢 */

/* 纵向基准用 px 冻结（由 rail-drag.js 写 --rail-base），避免地址栏收合时跳动 */
.egh-rail{top:var(--rail-base,50%) !important}

/* 头部 logo 用 <img>：占位固定、走浏览器图片缓存，切页不再"闪空" */
.egh-logo i{width:36px;height:36px;flex:0 0 36px;display:block}
.egh-logo i .egh-logo-img{
  display:block;width:36px;height:36px;object-fit:contain;border-radius:0;
  background:transparent;
}

/* hero 标签行：按"最多两行"预留高度，JS 填充后不再把下面顶下去 */
.egh-hero-tags{min-height:32px}
@media (max-width:760px){ .egh-hero-tags{min-height:64px} }
/* 卡片里的要点列表同样是 JS 填的，先占住三行的高度 */
.egh-pts{min-height:66px}


/* 给开场动画把位置留够：标题至少占一行，动画期间不改变 H1 高度 */
.egh-go-h1{min-height:1.16em}
.egh-hero-act{min-height:44px}

/* 拉开抽屉时，抽屉与内容之间那条空白露出的是 body 底色 → 直接用登录页右侧那套蓝把它补上 */
body.egh-dw-split{
  background:linear-gradient(158deg,#2a5cf0 0%,#1F4FD8 46%,#163a9e 100%) !important;
}
html[data-theme=dark] body.egh-dw-split{
  background:linear-gradient(158deg,#17336b 0%,#122a5c 50%,#0d1f45 100%) !important;
}

/* 抽屉右侧那条"白条"其实是抽屉自己的滚动条轨道 —— 隐掉即可（不影响滚动） */
.egh-drawer{scrollbar-width:none;-ms-overflow-style:none}
.egh-drawer::-webkit-scrollbar{width:0 !important;height:0 !important;background:transparent !important}
.egh-drawer::-webkit-scrollbar-thumb{background:transparent !important}

/* 那条"白条"其实是拉杆本体外面那圈 2px 纯白描边（.egh-dwgrip:before 的 box-shadow）。
   在浅色抽屉上极其显眼，还会盖住内容区顶部的登录按钮。改成极淡描边 + 柔和投影。 */
.egh-dwgrip:before{
  box-shadow:0 0 0 1px rgba(255,255,255,.55), 0 2px 8px rgba(16,24,40,.20) !important;
  background:#8A97AB !important;
}
html[data-theme=dark] .egh-dwgrip:before{background:#5A6678 !important}


/* ---------- 全站滚动条：细、圆、低对比 ---------- */
html{scrollbar-width:thin;scrollbar-color:rgba(16,24,40,.22) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{
  background:rgba(16,24,40,.18);
  border:2px solid transparent;background-clip:content-box;border-radius:10px;
}
::-webkit-scrollbar-thumb:hover{background:rgba(16,24,40,.32);background-clip:content-box}
::-webkit-scrollbar-corner{background:transparent}
html[data-theme=dark]{scrollbar-color:rgba(255,255,255,.20) transparent}
html[data-theme=dark] ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.20);background-clip:content-box}
html[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.34);background-clip:content-box}
/* 抽屉里不需要滚动条，早已隐藏；这里再兜一层 */
.egh-drawer, .egh-drawer *{scrollbar-width:none}

/* 抽屉拉开后内容区变窄，但 H1 开场动画的舞台是按"打开前"的字号算死的 px —— 直接整体缩放兜住 */
body.egh-dw-split .egh-go-h1{
  scale:.60;transform-origin:0 50%;
}

/* ---------- 抽屉拉宽后露出的推广面板 ---------- */
.dw-promo{
  position:absolute;left:320px;top:0;bottom:0;overflow:hidden;
  /* 固定 380 宽，用位移"从菜单后面滑出来"：pos=320 时完全藏在菜单后，pos=700 时完全露出 */
  width:calc(var(--dw-pos, 320px) - 320px);right:auto;
  background:linear-gradient(158deg,#2a5cf0 0%,#1F4FD8 48%,#163a9e 100%);
  color:#fff;display:flex;align-items:center;z-index:2;
}
.dw-promo{opacity:var(--m-op,1)}
.dw-promo-in{padding:0 26px;width:100%;min-width:320px;max-width:none;position:relative;z-index:1}
.dw-promo-k{font:600 12px/1 -apple-system,"PingFang SC",sans-serif;letter-spacing:.08em;opacity:.7}
.dw-promo-in h3{margin:10px 0 8px;font:600 clamp(15px,1.5vw,22px)/1.45 -apple-system,"PingFang SC",sans-serif;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.dw-promo-in p{margin:0 0 14px;font:13px/1.6 -apple-system,"PingFang SC",sans-serif;opacity:.75}
.dw-promo-btn{display:inline-block;padding:10px 18px;border-radius:10px;background:#fff;color:#1F4FD8;
  font:600 14px/1 -apple-system,"PingFang SC",sans-serif;text-decoration:none}
.dw-promo-wm{position:absolute;right:-10px;bottom:-24px;font:800 92px/1 -apple-system,sans-serif;
  color:rgba(255,255,255,.08);letter-spacing:-.02em;pointer-events:none}
html[data-theme=dark] .dw-promo{background:linear-gradient(158deg,#17336b 0%,#122a5c 50%,#0d1f45 100%)}

/* 会员区：登录态 / 未登录两块 */
.dw-m-btns{display:flex;gap:10px;align-items:center}
.dw-m-btn{display:inline-flex;align-items:center;justify-content:center;
  padding:10px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.42);
  background:transparent;color:#fff;font:600 14px/1 -apple-system,"PingFang SC",sans-serif;
  text-decoration:none;cursor:pointer}
.dw-m-main{background:#fff;color:#1F4FD8;border-color:#fff}
.dw-m-user{display:flex;align-items:center;gap:10px;margin:14px 0 16px}
.dw-m-user img,.dw-m-ava{width:40px;height:40px;border-radius:12px;object-fit:cover;background:rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;font:600 16px/1 -apple-system,sans-serif;color:#fff}
.dw-m-user b{font:600 16px/1.3 -apple-system,"PingFang SC",sans-serif;color:#fff}
.dw-m-links{display:flex;flex-direction:column;gap:2px}
.dw-m-link{display:block;padding:9px 0;color:rgba(255,255,255,.86);text-decoration:none;
  font:14px/1.4 -apple-system,"PingFang SC",sans-serif;border-top:1px solid rgba(255,255,255,.14)}
.dw-m-link:first-child{border-top:0}
.dw-m-link:active{color:#fff}

/* 缝隙上的"会员"提示：只在完全收起时可见，拉开淡出；不拦任何点击 */
.dw-hint{
  position:absolute;left:302px;top:50%;transform:translateY(-50%);
  width:18px;padding:10px 0;border-radius:10px 0 0 10px;z-index:3;
  background:linear-gradient(90deg,rgba(31,79,216,.10),rgba(31,79,216,.02));
  display:flex;align-items:center;justify-content:center;pointer-events:none;
  transition:opacity .18s linear;
}
.dw-hint span{
  writing-mode:vertical-rl;letter-spacing:.18em;
  font:600 10px/1 -apple-system,"PingFang SC",sans-serif;color:rgba(31,79,216,.55);
}
@media (max-width:759px){ .dw-hint{display:none} }
html[data-theme=dark] .dw-hint{background:linear-gradient(90deg,rgba(255,255,255,.10),rgba(255,255,255,.02))}
html[data-theme=dark] .dw-hint span{color:rgba(255,255,255,.5)}

/* 手机档（<760）不显示会员区：那里没有"拉开"的空间 */
@media (max-width:759px){ .dw-promo{display:none !important} }

/* ---------- 小屏（<760）：页脚只留备案那一行，其余链接列收起来 ---------- */
@media (max-width:759px){
  .egh-foot{padding:18px 0 26px !important}
  .egh-foot .egh-foot-cols{display:none !important}
  .egh-foot-bot{
    display:flex !important;flex-direction:column;gap:6px;
    padding:0 !important;border:0 !important;font-size:12px !important;line-height:1.6;
    text-align:center;color:var(--egh-ink-3);
  }
  .egh-foot-bot span{display:block}
  .egh-foot-bot a{color:inherit}
}

/* 会员面板在窄窗口里更紧凑一些；内容超高可滚动，不被裁 */
.dw-promo{overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}
.dw-promo::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important}
@media (max-width:900px){
  .dw-promo-in{padding:0 18px}
  .dw-promo-in h3{font-size:16px !important}
  .dw-promo-in p{font-size:12.5px !important}
  .dw-m-btn{padding:9px 14px;font-size:13px}
  body.egh-dw-split .egh-go-h1{scale:.5}
}

/* 会员中心页面：抽屉拉开后内容区变窄，两栏要塌成一栏（原来只在 <760 视口才塌） */
body.egh-dw-split .egh-mem-in2{grid-template-columns:1fr !important;gap:14px !important}
body.egh-dw-split .egh-mem-dl{grid-template-columns:1fr !important}
body.egh-dw-split .egh-mem-box{width:100% !important;max-width:100% !important}
body.egh-dw-split .egh-mem-nav{width:100% !important}

/* 拉开的会员区按"手机宽度"做，和右侧站点是两块独立的东西 */
.dw-promo-in.dw-phone{
  width:380px;min-width:380px;max-width:380px;
}
/* 拉开到位后才居中；拉的过程中内容不跟着滑（避免"一边拉一边动"） */
.dw-promo.is-docked .dw-promo-in.dw-phone{
  margin-left:clamp(0px, calc((100% - 420px) / 2), 420px);
}
.dw-promo{justify-content:flex-start}
.dw-login{display:flex;flex-direction:column;gap:10px;margin:14px 0 10px}
.dw-login input{height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.38);background:rgba(255,255,255,.14);
  color:#fff;padding:0 12px;font:14px/1 -apple-system,"PingFang SC",sans-serif;outline:none}
.dw-login input::placeholder{color:rgba(255,255,255,.7)}
.dw-login input:focus{border-color:#fff;background:rgba(255,255,255,.2)}
.dw-login-btn{width:100%;height:40px;margin-top:2px;font-size:14px}
.dw-login-foot{display:flex;gap:16px;margin-top:6px}
.dw-login-foot a{color:rgba(255,255,255,.8);text-decoration:none;font:13px/1 -apple-system,"PingFang SC",sans-serif}
.dw-login-foot a:hover{color:#fff}

/* ---- 拉开的会员面板：手机尺寸（360），登录与会员两个视图 ---- */
.dw-promo-in.dw-phone{
  width:380px;min-width:380px;max-width:380px;
}
/* 拉开到位后才居中；拉的过程中内容不跟着滑（避免"一边拉一边动"） */
.dw-promo.is-docked .dw-promo-in.dw-phone{
  margin-left:clamp(0px, calc((100% - 420px) / 2), 420px);
}
.dw-promo{justify-content:flex-start}
.dw-ph-user{display:flex;align-items:center;gap:12px;margin:16px 0 18px}
.dw-ph-user img,.dw-ph-user .dw-m-ava{width:46px;height:46px;border-radius:14px;object-fit:cover;
  background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;
  font:600 18px/1 -apple-system,"PingFang SC",sans-serif;color:#fff}
.dw-ph-meta b{display:block;font:600 17px/1.3 -apple-system,"PingFang SC",sans-serif;color:#fff;
  max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dw-ph-meta span{display:block;margin-top:3px;font:12px/1 -apple-system,"PingFang SC",sans-serif;color:rgba(255,255,255,.66)}
.dw-ph-list{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.16)}
.dw-ph-row{display:flex;align-items:center;justify-content:space-between;
  padding:13px 2px;border-bottom:1px solid rgba(255,255,255,.16);
  color:rgba(255,255,255,.92);text-decoration:none;font:14.5px/1.3 -apple-system,"PingFang SC",sans-serif}
.dw-ph-row span{color:rgba(255,255,255,.5);font-size:13px}
.dw-ph-row:active{color:#fff}
.dw-ph-out{color:#FFD9D9}
.dw-ph-note{margin:16px 0 0;font:12px/1.6 -apple-system,"PingFang SC",sans-serif;color:rgba(255,255,255,.6)}

/* 760–1100：三个按钮（搜索/通知/主题）固定在 320 菜单里，不跟着拉条走（跟着也看不见）
   <760 保持原样 */
@media (min-width:760px) and (max-width:1100px){
  body.egh-dw-split .egh-drawer .dw-acts{transform:none !important}
  /* 抽屉本体比 320 宽，顶栏默认铺满整条 → 三个按钮被推到看不见的地方。把顶栏锁在 320 内 */
  body.egh-dw-split .egh-drawer .dw-top{width:320px !important;max-width:320px !important}
}

/* ---------- 会员页验证码弹窗（提交时才弹，和迷你登录同款交互） ---------- */
.mcap-hide{display:none !important}
html.mcap-on{overflow:hidden}
.mcap-mask{position:fixed;inset:0;z-index:2147483000;background:rgba(16,24,40,.42);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:20px}
.mcap-mask[hidden]{display:none}
.mcap-box{width:min(420px,100%);background:#fff;border-radius:16px;padding:22px 22px 18px;
  box-shadow:0 30px 80px -30px rgba(16,24,40,.5)}
.mcap-box h4{margin:0 0 14px;font:600 17px/1.3 -apple-system,"PingFang SC",sans-serif;color:#131A26;text-align:center}
.mcap-row{display:flex;align-items:center;gap:10px}
.mcap-img{width:126px;height:40px;border-radius:8px;object-fit:cover;cursor:pointer;background:#F1F4F9;flex:0 0 auto}
.mcap-in{flex:1 1 auto;min-width:0;height:40px;border:1px solid #D9E1EE;border-radius:8px;padding:0 12px;
  font:14px/1 -apple-system,"PingFang SC",sans-serif;color:#131A26;outline:none}
.mcap-in:focus{border-color:#1F4FD8;box-shadow:0 0 0 3px rgba(31,79,216,.12)}
.mcap-ref{width:40px;height:40px;flex:0 0 40px;display:flex;align-items:center;justify-content:center;
  border:1px solid #D9E1EE;border-radius:8px;background:#fff;color:#5B6779;cursor:pointer}
.mcap-ref:hover{color:#1F4FD8;border-color:#BcC9de}
.mcap-btns{display:flex;gap:10px;margin-top:16px}
.mcap-btn{flex:1 1 0;height:40px;border-radius:8px;border:1px solid #D9E1EE;background:#fff;
  font:600 14px/1 -apple-system,"PingFang SC",sans-serif;color:#3C4858;cursor:pointer}
.mcap-btn.mcap-main{background:linear-gradient(135deg,#2a5cf0,#1F4FD8);border-color:transparent;color:#fff}
html[data-theme=dark] .mcap-box{background:#141C29}
html[data-theme=dark] .mcap-box h4{color:#E6EBF5}
html[data-theme=dark] .mcap-in{background:#0F1724;border-color:#243146;color:#E6EBF5}
html[data-theme=dark] .mcap-ref{background:#0F1724;border-color:#243146;color:#A9B4C6}
html[data-theme=dark] .mcap-btn{background:#0F1724;border-color:#243146;color:#C9D3E3}


/* 抽屉登录的就地错误提示 */
.dw-login-err{
  margin:8px 0 0;padding:9px 12px;border-radius:8px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.34);
  color:#fff;font:13px/1.5 -apple-system,"PingFang SC",sans-serif;
}
