.share-menu { --share-arrow-offset: 2.75rem; }
.share-menu__panel { position: absolute; right: 0; top: calc(100% + .75rem); z-index: 20; display: flex; align-items: center; gap: .5rem; width: max-content; max-width: calc(100vw - 1.5rem); padding: 1.125rem 1.25rem; background: #fff; border-radius: .375rem; box-shadow: 0 5px 25px rgb(0 0 0 / 12%); }
.share-menu__panel::before { position: absolute; right: calc(var(--share-arrow-offset) - .4375rem); top: -.4375rem; width: .875rem; height: .875rem; background: #fff; transform: rotate(45deg); content: ""; }
.share-menu__option { display: grid; flex: 0 0 auto; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.share-menu__option img { display: block; width: 100%; height: 100%; border-radius: 50%; }
.share-menu__option:hover { transform: translateY(-2px); }
.share-menu__option:focus-visible { outline: 2px solid #333; outline-offset: 3px; }
.news-detail__share { --share-arrow-offset: 1.5rem; }
.wechat-share { width: min(18.75rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; padding: 1.25rem; overflow: auto; color: #333; background: #fff; border: 0; }
.wechat-share::backdrop { background: rgb(78 98 113 / 55%); }
.wechat-share__header { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.wechat-share__header h2 { margin: 0; font-size: 1.25rem; font-weight: 400; line-height: 1.4; }
.wechat-share__close { display: grid; flex: 0 0 auto; place-items: center; width: 1.875rem; height: 1.875rem; padding: 0; color: #66717e; background: transparent; border: 0; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.wechat-share__close:focus-visible { outline: 2px solid #333; outline-offset: 2px; }
.wechat-share__qr { display: block; width: 15rem; max-width: 100%; height: auto; margin: 1.5rem auto 0; image-rendering: pixelated; }
.wechat-share__qr[hidden], .wechat-share__error[hidden] { display: none; }
.wechat-share__error { margin: 1.5rem 0 0; font-size: .875rem; }
html:has(.wechat-share[open]) { overflow: hidden; scrollbar-gutter: stable; }
@media (max-width: 700px) {
  .share-menu { --share-arrow-offset: 1rem; }
}
