diff --git a/stream/index.html b/stream/index.html index 0159d55..b7207dd 100644 --- a/stream/index.html +++ b/stream/index.html @@ -27,7 +27,40 @@ content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 30% 20%, rgba(20,16,34,.72), rgba(13,11,20,.9) 75%); } + /* Ambiance cathodique synthwave, purement décorative (au-dessus de tout, + mais transparent aux clics). Deux couches superposées : + - .scanlines : fines lignes horizontales fixes, comme la trame d'un + vieux moniteur, à peine visibles ; + - .scanbeam : une bande lumineuse qui balaie l'écran de haut en bas en + boucle, évoquant le rafraîchissement d'un tube cathodique. */ + .crt { position: fixed; inset: 0; z-index: 0; pointer-events: none; + overflow: hidden; } + .scanlines { + position: absolute; inset: 0; opacity: .35; + background: repeating-linear-gradient( + 180deg, rgba(0,0,0,0) 0, rgba(0,0,0,0) 2px, + rgba(0,0,0,.25) 3px, rgba(0,0,0,0) 4px); + } + .scanbeam { + position: absolute; left: 0; right: 0; top: 0; height: 22vh; + background: linear-gradient( + 180deg, rgba(155,140,255,0) 0%, + rgba(155,140,255,.06) 45%, rgba(214,153,255,.14) 50%, + rgba(155,140,255,.06) 55%, rgba(155,140,255,0) 100%); + mix-blend-mode: screen; + animation: scan 16s linear infinite; + } + /* Le faisceau part au-dessus du cadre et repasse sous le bas, pour un + balayage continu sans saut visible. */ + @keyframes scan { + 0% { transform: translateY(-22vh); } + 100% { transform: translateY(100vh); } + } + @media (prefers-reduced-motion: reduce) { + .scanbeam { animation: none; opacity: 0; } + } .card { + position: relative; z-index: 1; width: min(90vw, 420px); padding: 2.5rem 2rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 18px; box-shadow: 0 20px 60px rgba(0,0,0,.45); @@ -136,6 +169,7 @@
+