/* v103 — locked content: frosted cover with a glass icon that names the lock type */
.lock103,.lock103-mini{position:relative;overflow:hidden;isolation:isolate;color:#fff}
.lock103-backdrop{position:absolute;inset:0;z-index:-1;display:block;background:var(--lock-tint103,var(--tp-p800))}
.lock103-backdrop img{position:absolute;inset:-18%;width:136%;height:136%;object-fit:cover;filter:blur(26px) saturate(1.25);opacity:.85;transform:scale(1.05)}
.lock103-backdrop i{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 40%,color-mix(in srgb,var(--lock-tint103,var(--tp-p800)) 35%,transparent),color-mix(in srgb,var(--lock-tint103,var(--tp-p800)) 78%,#000 22%))}
.lock103-backdrop em{position:absolute;inset:auto 8% 14% 8%;font-style:normal;font-weight:800;font-size:clamp(18px,6vw,34px);line-height:1.25;text-align:center;filter:blur(9px);opacity:.55;overflow:hidden;max-height:3.8em}
.lock103-glass{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.38);box-shadow:0 8px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.35);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}
.lock103-glass svg{width:26px;height:26px}
.lock103-glass-lg{width:84px;height:84px}
.lock103-glass-lg svg{width:38px;height:38px}

/* Cards and tiles */
.lock103-mini{display:grid!important;place-items:center;width:100%;height:100%;min-height:120px;padding:0!important;border:0;background:none}
.lock103-mini-center{display:grid;justify-items:center;gap:8px;padding:12px;text-align:center;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.lock103-mini-center b{font-size:13px;font-weight:700;line-height:1.3}
.profile-tile-media9.lock103-mini .lock103-glass,.tile-file7.lock103-mini .lock103-glass{width:44px;height:44px}
.profile-tile-media9.lock103-mini .lock103-glass svg,.tile-file7.lock103-mini .lock103-glass svg{width:21px;height:21px}
.profile-tile-media9.lock103-mini b,.tile-file7.lock103-mini b{font-size:11px}

/* Full lock screen (story, post details, reels) */
.lock103{display:grid;place-items:center;min-height:min(70vh,560px);width:100%;padding:28px 18px;border-radius:inherit}
.lock103-host{padding:0!important;background:none!important;border:0!important}
.lock103-center{display:grid;justify-items:center;gap:10px;width:min(340px,100%);text-align:center}
.lock103-center h2{margin:6px 0 0;font-size:20px;font-weight:800;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.lock103-center p{margin:0;font-size:14px;opacity:.9}
.lock103-form{display:flex;gap:8px;width:100%;margin-top:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.lock103-form input{flex:1;min-width:0;border:0!important;background:transparent!important;color:#fff!important;font-size:16px;padding:8px 12px;outline:none;box-shadow:none!important}
.lock103-form input::placeholder{color:rgba(255,255,255,.75)}
.lock103-form button{border:0;border-radius:999px;padding:9px 20px;font-weight:800;background:#fff;color:var(--tp-n900);cursor:pointer;min-height:40px}
.lock103-request{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;margin-top:2px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.14);color:#fff;font-weight:700;cursor:pointer;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.lock103-request svg{width:20px;height:20px}
.lock103-request:disabled{opacity:.8;cursor:default}
.lock103-or{font-size:12px;opacity:.75}
.lock103-status{min-height:1.2em;font-size:13px;color:#ffe2e2}
.lock103-shake .lock103-form{animation:lock103shake .38s}
@keyframes lock103shake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.lock103-open .lock103-glass-lg{animation:lock103open .3s ease-out forwards}
@keyframes lock103open{to{transform:scale(1.25);opacity:0}}

/* Locked story dialog */
dialog.lock103-story{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000;color:#fff;z-index:2147483000}
dialog.lock103-story::backdrop{background:rgba(0,0,0,.85)}
dialog.lock103-story .lock103{position:absolute;inset:0;min-height:100%;border-radius:0}
@media(min-width:700px){dialog.lock103-story .lock103{inset:16px auto 16px 50%;width:min(440px,calc(100vh * 9 / 16));transform:translateX(-50%);border-radius:22px}}
.lock103-head{position:absolute;inset:0 0 auto 0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:max(14px,env(safe-area-inset-top)) 16px 14px;background:linear-gradient(rgba(0,0,0,.45),transparent)}
.lock103-owner{display:flex;align-items:center;gap:8px;font-size:14px}
.lock103-owner img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.7)}
.lock103-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:#fff;font-size:17px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}

/* Trim sheet hint when music is capped to the video */
.trim-cap103{display:block;margin:6px 4px 0;font-size:12px;opacity:.8;text-align:center}

/* Profile: one account-type label only */
.profile-info>.profile-kind7~.profile-kind7{display:none}

@media(prefers-reduced-motion:reduce){.lock103-shake .lock103-form,.lock103-open .lock103-glass-lg{animation:none}}

/* v104: locked story inside the viewer — taps on the sides still move between stories */
.lock103-story-layer{position:absolute;inset:0;z-index:6;pointer-events:none;display:grid;place-items:center}
.lock103-story-layer .lock103{position:absolute;inset:0;min-height:100%;border-radius:inherit}
.lock103-story-layer .lock103-center{pointer-events:auto;margin-top:20px}
.story-screen.story-locked103 #storyTouch .story-base,.story-screen.story-locked103 .story-text{visibility:hidden}
.story-screen.story-locked103 .story-header-v5,.story-screen.story-locked103 .story-progress-v5,.story-screen.story-locked103 .story-reply-v5,.story-screen.story-locked103 .story-owner-lane51{z-index:8}
.story-screen.story-locked103 .story-header-v5,.story-screen.story-locked103 .story-progress-v5,.story-screen.story-locked103 .story-reply-v5{position:relative}
/* Locked post shared inside a story, blog, ad or chat */
.lock103-shared{position:absolute!important;inset:0;z-index:3;min-height:0!important;border-radius:inherit}
/* Share button on the locked post page */
.lock103-share{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin-top:4px;padding:0 16px;border-radius:999px;border:1px dashed rgba(255,255,255,.45);background:transparent;color:#fff;font-weight:600;cursor:pointer}
.lock103-share svg{width:18px;height:18px}

/* v105: a locked reel looks like a reel — full-size lock, owner and actions stay */
.rx30-media .lock103-host,.rx30-media .lock103{position:absolute;inset:0;min-height:100%;border-radius:inherit}
.rx30-media .rx30-gate.lock103-host{display:block}
.rx30-locked103 .rx30-actions [data-action="like"],.rx30-locked103 .rx30-actions [data-comments11],.rx30-locked103 .rx30-actions [data-action="save"],.rx30-locked103 .rx30-actions [data-rx31-download]{opacity:.4;pointer-events:none}
.rx30-locked103 .rx30-actions{z-index:5}
.rx30-locked103 .rx30-actions button,.rx30-locked103 .rx30-actions small{color:#fff!important;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55))}

/* v106: compact lock in the story viewer so the sides stay free for next/previous taps */
.lock103-story-layer .lock103-center{width:min(220px,58%);gap:7px;padding:16px 12px;border-radius:22px;background:rgba(0,0,0,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.lock103-story-layer .lock103-glass-lg{width:58px;height:58px}
.lock103-story-layer .lock103-glass-lg svg{width:27px;height:27px}
.lock103-story-layer .lock103-center h2{font-size:16px;margin-top:2px}
.lock103-story-layer .lock103-center p{font-size:12px}
.lock103-story-layer .lock103-form{flex-direction:column;border-radius:18px;padding:6px;gap:6px}
.lock103-story-layer .lock103-form input{text-align:center;padding:7px 8px;font-size:15px}
.lock103-story-layer .lock103-form button,.lock103-story-layer .lock103-request{min-height:38px;font-size:13px;padding:0 12px}
.lock103-story-layer .lock103-or{font-size:11px}
/* Locked post details: everything about the post stays; only reading actions wait for the unlock */
.pv28-locked103 .pv28-actions [data-action="like"],.pv28-locked103 .pv28-actions [data-comments11],.pv28-locked103 .pv28-actions [data-action="save"]{opacity:.4;pointer-events:none}
/* Framed story in fit mode: zoom is applied by script; keep it smooth */
.story-fit33.framed-story97 #storyTouch{transition:transform .25s ease}
