/* Cadre de surveillance fictif : décor uniquement, aucune capture vidéo. */
.rv-rec-frame{position:fixed;inset:13px;z-index:32;pointer-events:none;opacity:0;visibility:hidden;transition:opacity 1.2s,visibility 1.2s;color:#d8a6a2;font-family:"DM Sans",sans-serif;letter-spacing:.17em;text-shadow:0 0 9px #6e1b28a0;--rv-rec-stroke:rgba(181,80,83,.46)}
body[data-world="secret"] .rv-rec-frame{opacity:.78;visibility:visible}
.rv-rec-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) left top/44px 1px no-repeat,linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) left top/1px 44px no-repeat,linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) right top/44px 1px no-repeat,linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) right top/1px 44px no-repeat,linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) left bottom/44px 1px no-repeat,linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) left bottom/1px 44px no-repeat,linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) right bottom/44px 1px no-repeat,linear-gradient(var(--rv-rec-stroke),var(--rv-rec-stroke)) right bottom/1px 44px no-repeat;animation:rv-rec-flicker 13s steps(1,end) infinite}
.rv-rec-top{position:absolute;top:19px;left:23px;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700}
.rv-rec-dot{width:9px;height:9px;border-radius:50%;background:#e16b69;box-shadow:0 0 11px #f1464b;animation:rv-rec-blink 1.8s steps(1,end) infinite}
.rv-rec-tag{position:relative;animation:rv-rec-glitch 17s steps(1,end) infinite}
.rv-rec-tag:after{content:attr(data-text);position:absolute;inset:0;color:#86d1d1;opacity:0;transform:translateX(3px);animation:rv-rec-ghost 17s steps(1,end) infinite}
.rv-rec-topright{position:absolute;top:19px;right:23px;font-size:10px;opacity:.68}
.rv-rec-bottom{position:absolute;bottom:17px;left:23px;font-size:9px;opacity:.62}
.rv-rec-bottomright{position:absolute;bottom:17px;right:23px;font-size:9px;opacity:.62}
.rv-rec-scan{position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,#ba6c7260,transparent);opacity:.16;animation:rv-rec-scan 19s linear infinite}
@keyframes rv-rec-blink{0%,48%,100%{opacity:1}49%,80%{opacity:.18}}
@keyframes rv-rec-flicker{0%,93%,95%,100%{opacity:1}94%{opacity:.3}96%{opacity:.65}}
@keyframes rv-rec-glitch{0%,91%,93%,100%{transform:none}92%{transform:translateX(-3px) skewX(9deg)}}
@keyframes rv-rec-ghost{0%,91%,93%,100%{opacity:0}92%{opacity:.9}}
@keyframes rv-rec-scan{from{transform:translateY(0)}to{transform:translateY(100vh)}}
@media(max-width:600px){.rv-rec-frame{inset:8px}.rv-rec-top{top:12px;left:13px;font-size:10px}.rv-rec-topright{top:12px;right:13px;font-size:8px}.rv-rec-bottom{bottom:10px;left:13px;font-size:8px}.rv-rec-bottomright{bottom:10px;right:13px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.rv-rec-frame *,.rv-rec-frame:before{animation:none!important}}
