/* Article actions: minimal icons, isolated from theme share-button rules. */
.fy-share .fy-share-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 0;
    text-indent: 0;
}
.fy-share .fy-action {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 1 68px;
    min-width: 0;
    min-height: 62px;
    margin: 0 14px;
    padding: 4px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #ed665e;
    font: inherit;
    line-height: 1.5;
    text-decoration: none;
    text-indent: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.fy-share .fy-wechat { color: #24a664; }
.fy-share .fy-moments { color: #168dcc; }
.fy-share .fy-qzone { color: #dfa322; }
.fy-share .fy-icon { display: flex; align-items: center; justify-content: center; height: 32px; }
.fy-share .fy-icon svg { display: block; width: 25px; height: 25px; transition: transform .15s; }
.fy-share .fy-label { margin-top: 7px; color: #63717b; font-size: 12px; white-space: nowrap; }
.fy-share .fy-action:hover .fy-icon svg { transform: translateY(-2px); }
.fy-share .fy-action:hover .fy-label { color: inherit; }
.fy-share .fy-action:focus-visible,
.fy-share-overlay button:focus-visible,
.fy-share-overlay a:focus-visible { outline: 2px solid #168dcc; outline-offset: 4px; }
.fy-share-reward { margin-bottom: 20px; }

/* Appended to body: article overflow:hidden cannot clip the QR dialog. */
.fy-share-overlay {
    position: fixed;
    z-index: 100100;
    top: 0; right: 0; bottom: 0; left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    background: rgba(28, 48, 62, .48);
    font: 14px/1.65 "Microsoft YaHei", Arial, sans-serif;
    text-indent: 0;
}
.fy-share-overlay[hidden] { display: none !important; }
.fy-share-overlay, .fy-share-overlay * { box-sizing: border-box; }
.fy-share-dialog {
    position: relative;
    width: 340px;
    max-width: 100%;
    max-height: 100%;
    overflow-y: auto;
    padding: 30px 24px 24px;
    border: 1px solid #e1e8eb;
    border-radius: 16px;
    background: #fff;
    color: #27333e;
    text-align: center;
    box-shadow: 0 20px 80px rgba(26, 54, 72, .2);
}
.fy-share-dialog .fy-share-close {
    position: absolute; top: 8px; right: 9px;
    width: 36px; height: 36px; padding: 0;
    border: 0; border-radius: 50%; background: transparent;
    color: #81909c; font-size: 25px; line-height: 36px; cursor: pointer;
}
.fy-share-dialog .fy-share-close:hover { background: #f2f5f7; }
.fy-share-dialog h2 { margin: 0 12px 6px; font-size: 20px; line-height: 1.6; color: inherit; }
.fy-share-dialog p { margin: 0; padding: 0; color: #71818d; font-size: 13px; }
.fy-share-qr { width: 206px; max-width: 100%; padding: 6px; margin: 18px auto; border: 1px solid #edf0f2; border-radius: 6px; background: #fff; }
.fy-share-qr img { display: block; width: 100%; height: auto; margin: 0; border: 0; }
.fy-share-help { padding: 12px; background: #f5f8fa; color: #586b77; border-radius: 7px; font-size: 13px; text-align: left; }
.fy-share-dialog .fy-share-link { display: block; margin-top: 14px; color: #138cc2; font-size: 12px; overflow-wrap: break-word; }
html[data-theme="dark"] .fy-share .fy-label { color: #b7c3cb; }
html[data-theme="dark"] .fy-share-dialog { background: #202a35; color: #edf3f8; border-color: #394754; }
html[data-theme="dark"] .fy-share-help { background: #293744; color: #c5d2dc; }
@media (max-width: 480px) {
    .fy-share .fy-action { flex-basis: 68px; margin: 0 5px; }
    .fy-share .fy-label { font-size: 11px; }
    .fy-share .fy-share-actions { padding: 26px 0; }
}
@media (prefers-reduced-motion: reduce) {
    .fy-share .fy-icon svg { transition: none; }
}
