/* private-screen-shield.css — privacy-louvre cover. Opaque, theme-aware, no blur. */
.pss-lock{
  --bg:#000;--fg:#fff;--sub:rgba(235,235,245,.5);--hair:rgba(255,255,255,.14);--tint:#ff453a;
  --snap:cubic-bezier(.2,.9,.25,1);
  position:fixed;inset:0;z-index:2147482900;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:calc(24px + env(safe-area-inset-top,0px)) 28px calc(28px + env(safe-area-inset-bottom,0px));
  text-align:center;color:var(--fg);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",Inter,system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;touch-action:none;overscroll-behavior:none;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  visibility:hidden;pointer-events:none;transition:visibility 0s linear .34s}
.pss-lock.pss-light{--bg:#f2f2f7;--fg:#000;--sub:rgba(60,60,67,.55);--hair:rgba(0,0,0,.12);--tint:#ff3b30}
.pss-lock.on{visibility:visible;pointer-events:auto;transition:visibility 0s}

#social .x-chat.pss-blur .x-chi{visibility:hidden;pointer-events:none}

/* louvre slats: close top→bottom, open bottom→top */
.pss-slats{position:absolute;inset:0;display:flex;flex-direction:column}
.pss-slats i{flex:1;margin-bottom:-1px;background:var(--bg);transform:scaleY(0);transform-origin:50% 0;
  transition:transform .16s cubic-bezier(.5,0,.75,0) calc((16 - var(--i)) * 9ms)}
.pss-lock.on .pss-slats i{transform:scaleY(1.04);transition:transform .22s var(--snap) calc(var(--i) * 11ms)}

.pss-top,.pss-mid,.pss-bot{position:relative;opacity:0}
.pss-top{position:absolute;top:calc(22px + env(safe-area-inset-top,0px));left:0;right:0;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sub)}
.pss-top i{width:6px;height:6px;border-radius:50%;background:var(--tint)}
.pss-lock.on .pss-top i{animation:pssDot 1.4s ease-in-out infinite}

.pss-lk{display:block;width:clamp(54px,17vw,68px);height:auto;margin:0 auto 30px;color:var(--tint);transform:translateY(14px) scale(.8)}
.pss-lock.on .pss-lk{transform:none;transition:transform .55s cubic-bezier(.34,1.56,.64,1) .1s}
.pss-n{display:block;font-size:clamp(110px,34vw,148px);line-height:.9;font-weight:200;letter-spacing:-.05em;
  font-variant-numeric:tabular-nums;transform:translateY(14px)}
.pss-l{display:block;margin-top:14px;font-size:19px;font-weight:500;letter-spacing:-.015em;transform:translateY(14px)}
.pss-rule{width:36px;height:1px;margin:22px auto 0;background:var(--hair);transform:scaleX(0)}
.pss-bot{position:absolute;left:0;right:0;bottom:calc(30px + env(safe-area-inset-bottom,0px));
  font-size:14px;color:var(--sub);letter-spacing:-.005em}

.pss-lock.on .pss-top{opacity:1;transition:opacity .2s linear .16s}
.pss-lock.on .pss-mid{opacity:1;transition:opacity .16s linear .12s}
.pss-lock.on .pss-n{transform:none;transition:transform .5s var(--snap) .12s}
.pss-lock.on .pss-l{transform:none;transition:transform .5s var(--snap) .17s}
.pss-lock.on .pss-rule{transform:none;transition:transform .5s var(--snap) .25s}
.pss-lock.on .pss-bot{opacity:1;transition:opacity .25s linear .3s}
.pss-lock:not(.on) .pss-top,.pss-lock:not(.on) .pss-mid,.pss-lock:not(.on) .pss-bot{transition:opacity .08s linear}

@keyframes pssDot{0%,100%{opacity:1}50%{opacity:.3}}
@media (prefers-reduced-motion:reduce){.pss-lock *{animation:none!important;transition-duration:.01s!important;transition-delay:0s!important}}
