.float-rail{position:fixed;right:20px;top:50%;bottom:auto;transform:translateY(-50%);z-index:9999;display:flex;flex-direction:column;gap:12px}.float-btn{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:56px;min-height:56px;padding:10px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(15,23,42,.12);color:var(--text);font-size:14px;font-weight:600;cursor:pointer}.float-btn:hover{border-color:var(--brand);color:var(--brand-dark)}.float-ico{flex:0 0 auto;display:inline-flex;align-items:center;line-height:1}.float-ico svg{display:block}.float-to-top{opacity:0;pointer-events:none;transition:opacity .2s ease}.float-to-top.is-visible{opacity:1;pointer-events:auto}.weixin-dialog{border:1px solid var(--line);border-radius:12px;padding:20px;max-width:360px;text-align:center}.weixin-dialog::backdrop{background:rgba(15,23,42,.55)}.dialog-title{font-size:16px;font-weight:700;margin:0 0 12px}.weixin-img{margin:0 auto 14px;border-radius:8px}.dialog-close{position:absolute;right:10px;top:10px;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}@media (max-width:768px){.float-rail{right:12px}.float-btn{min-height:52px;padding:10px 14px}}.ad-bar{position:fixed;left:0;right:0;bottom:0;z-index:880;background:linear-gradient(90deg,#0ea5e9,#0369a1);color:#fff;box-shadow:0 -4px 16px rgba(15,23,42,.18)}.ad-bar-inner{max-width:1200px;margin:0 auto;padding:9px 16px 9px 44px;display:flex;align-items:center;gap:12px}.ad-bar-link{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:14px;flex:1;min-width:0}.ad-bar-link:hover{color:#fff;text-decoration:underline}.ad-bar-tag{flex:0 0 auto;background:rgba(255,255,255,.22);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}.ad-bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ad-bar-close{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:12px;background:rgba(255,255,255,.22);color:#fff;font-size:18px;line-height:1;cursor:pointer}.ad-bar-close:hover{background:rgba(255,255,255,.4)}.has-ad .float-rail{bottom:62px}.has-ad .site-footer{padding-bottom:58px}@media (max-width:768px){.ad-bar-inner{padding:8px 12px 8px 40px;font-size:13px}.ad-bar-close{left:8px;width:24px;height:24px}}