/* Размытые упоминания Instagram, Facebook, WhatsApp (сервисы Meta, запрещённой в РФ): common/meta_blur.py,
   js/custom/meta-blur.js. Нажатие — окно с пояснением, после «Я понял» слово плавно проявляется. */
.pl-meta {
    display: inline;
    position: relative;
    padding: 0 .14em;
    margin: 0 -.02em;
    border-radius: 6px;
    color: inherit;
    cursor: pointer;
    filter: blur(5px);
    -webkit-user-select: none;
    user-select: none;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    background-color: rgba(124, 92, 255, .08);
    background-image: linear-gradient(110deg, rgba(124, 92, 255, .06) 0%, rgba(124, 92, 255, .30) 42%,
                                      rgba(56, 189, 248, .28) 58%, rgba(124, 92, 255, .06) 100%);
    background-size: 260% 100%;
    animation: plMetaShimmer 2.8s ease-in-out infinite;
    transition: filter .45s cubic-bezier(.2, .8, .2, 1), background-color .45s ease;
}
.pl-meta:hover { filter: blur(3.6px); background-color: rgba(124, 92, 255, .14); }
.pl-meta:focus-visible { outline: none; filter: blur(3.6px); box-shadow: 0 0 0 2px rgba(124, 92, 255, .55); }
.pl-meta a { pointer-events: none; }          /* пока размыто, ссылка не открывается */

.pl-meta.is-revealed {
    cursor: auto;
    filter: none;
    -webkit-user-select: text;
    user-select: text;
    background-image: none;
    background-color: transparent;
    animation: plMetaReveal 1.1s cubic-bezier(.2, .8, .2, 1) 1;
}
.pl-meta.is-revealed a { pointer-events: auto; }

@keyframes plMetaShimmer {
    0% { background-position: 110% 0; }
    100% { background-position: -150% 0; }
}
@keyframes plMetaReveal {
    0% { filter: blur(5px); background-color: rgba(124, 92, 255, .30); letter-spacing: .06em; }
    45% { filter: blur(0); background-color: rgba(124, 92, 255, .22); letter-spacing: 0; }
    100% { filter: none; background-color: transparent; }
}

/* окно */
.pl-meta-modal {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(15, 18, 30, .46);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    opacity: 0;
    transition: opacity .22s ease;
}
.pl-meta-modal[hidden] { display: none; }
.pl-meta-modal.is-open { opacity: 1; }
.pl-meta-modal__box {
    width: 100%;
    max-width: 420px;
    padding: 28px 24px 20px;
    border-radius: 20px;
    background: #fff;
    color: #1b1d29;
    text-align: center;
    box-shadow: 0 24px 64px rgba(15, 18, 30, .30);
    transform: translateY(14px) scale(.96);
    transition: transform .32s cubic-bezier(.2, .9, .25, 1.15);
}
.pl-meta-modal.is-open .pl-meta-modal__box { transform: none; }
.pl-meta-modal__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #fff1e6, #ffe0e0);
    color: #e0473a;
    box-shadow: 0 0 0 8px rgba(224, 71, 58, .07);
}
.pl-meta-modal__icon svg { width: 28px; height: 28px; }
.pl-meta-modal__title { margin: 0 0 10px; font-size: 18px; line-height: 1.3; font-weight: 700; }
.pl-meta-modal__text { margin: 0 0 8px; font-size: 14.5px; line-height: 1.55; color: #4a4f63; }
.pl-meta-modal__note { margin: 0 0 20px; font-size: 12.5px; line-height: 1.45; color: #8a8fa3; }
.pl-meta-modal__ok {
    width: 100%;
    height: 48px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #7c5cff, #5b8cff);
    color: #fff;
    font: inherit;
    font-size: 15.5px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(108, 99, 255, .32);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
}
.pl-meta-modal__ok:hover { filter: brightness(1.06); box-shadow: 0 10px 26px rgba(108, 99, 255, .4); }
.pl-meta-modal__ok:active { transform: scale(.98); }
.pl-meta-modal__ok:focus-visible { outline: none; box-shadow: 0 0 0 3px #fff, 0 0 0 5px #7c5cff; }

@media (prefers-reduced-motion: reduce) {
    .pl-meta, .pl-meta.is-revealed { animation: none; transition: none; }
    .pl-meta-modal, .pl-meta-modal__box { transition: none; }
}
