/* NSFW paywall A/B (web/nsfw-paywall.js): a translucent blur over the whole call, between the
   video layers (.media-frame, .scene-backdrop, .scene-shade z 3) and the controls (.call-overlay z 4). */
/* The fade runs on the veil and the card themselves: an ancestor with opacity < 1 would become the
   backdrop root and the blur would only snap on at the end of the ramp. */
.nsfw-paywall{position:absolute;inset:0;z-index:3;pointer-events:none}
.nsfw-paywall[hidden]{display:none}
.nsfw-paywall-veil,.nsfw-paywall-card{opacity:0;transition:opacity 1s linear}
.nsfw-paywall.on .nsfw-paywall-veil,.nsfw-paywall.on .nsfw-paywall-card{opacity:1}
.nsfw-paywall.instant .nsfw-paywall-veil,.nsfw-paywall.instant .nsfw-paywall-card{transition:none}
.nsfw-paywall-veil{position:absolute;inset:0;background:rgba(30,19,41,.32);-webkit-backdrop-filter:blur(28px) saturate(1.05);backdrop-filter:blur(28px) saturate(1.05)}
/* No backdrop blur (old WebViews): cover instead of showing the clip. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.nsfw-paywall-veil{background:rgba(30,19,41,.95)}}
.nsfw-paywall-card{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:min(340px,calc(100% - 40px));padding:22px 20px 16px;border:1px solid #ffffff38;border-radius:22px;background:#21172ee0;box-shadow:0 12px 45px #10081766;text-align:center;color:#fff;pointer-events:auto}
.nsfw-paywall-lock{display:block;font-size:24px;margin-bottom:8px}
.nsfw-paywall-card h2{margin:0;font-size:18px;line-height:1.45;word-break:keep-all}
.nsfw-paywall-card p{margin:9px 0 14px;font-size:12.5px;line-height:1.65;color:#e4d8ef;word-break:keep-all}
.nsfw-paywall-open{width:100%;min-height:46px;border:0;border-radius:14px;background:#a86ee8;color:#fff;font-size:15px;font-weight:700;cursor:pointer}
.nsfw-paywall-open:active{transform:scale(.98)}
@media(max-height:650px){.nsfw-paywall-card{top:38%;padding:14px 16px 12px}.nsfw-paywall-card h2{font-size:16px}.nsfw-paywall-card p{font-size:11.5px;margin:6px 0 10px}}
/* Album: a gated clip stays behind the same blur until a payment. */
.album-card.nsfw-paywall-locked .album-card-image{position:relative;overflow:hidden}
.album-card.nsfw-paywall-locked .album-card-image img{filter:blur(18px) saturate(.9);transform:scale(1.08)}
.album-paywall-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:7px 11px;border-radius:999px;background:#21172ee6;color:#fff;font-size:12px;white-space:nowrap;pointer-events:none}
/* Character page: the saved scene's idle/poster of a gated scene. */
video.nsfw-paywall-blur{filter:blur(28px) saturate(1.05)}
