.crt { margin: 1rem 0 1rem; border-radius: var(--rounded-corner); background: radial-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.85)), var(--primary-color); box-shadow: 0 0 0 1px var(--primary-color-alpha), 0 2px 6px 2px var(--primary-color-alpha), 0 4px 24px 4px var(--primary-color-alpha); pre { color: var(--primary-color); padding: 1rem 1rem; text-shadow: var(--primary-color-alpha) 0 0 4px, var(--primary-color) 0 0 12px; // Unset some
stuff background-color: unset; box-shadow: unset; margin: unset; animation: flicker 250ms alternate infinite; @keyframes flicker { from { opacity: 1; } 25%{ opacity: 0.95; } 50% { opacity: 0.85; } 75% { opacity: 1; } to { opacity: 0.9; } } @media (prefers-reduced-motion) { animation: none; } } } .scanlines { position: relative; overflow: hidden; &::before { animation: scanlines 250ms linear infinite; background: repeating-linear-gradient( to top, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.25) 1px, transparent 3px, transparent 4px ); content: ""; display: block; height: calc(100% + 0.5rem); left: 0; pointer-events: none; position: absolute; top: 0; width: 100%; @keyframes scanlines { from { transform: translateY(-0.5rem); } to { transform: translateY(0); } } @media (prefers-reduced-motion) { animation: none; } } &::after { animation: scanline 5s linear infinite; background: linear-gradient( to top, transparent 0%, var(--primary-color-alpha) 10%, transparent 100% ); bottom: 100%; content: ""; display: block; height: 8rem; left: 0; pointer-events: none; position: absolute; width: 100%; @keyframes scanline { from { bottom: 100%; } 50% { bottom: 100%; } to { bottom: -8rem; } } @media (prefers-reduced-motion) { animation: none; } } } .cursor { animation: cursor-blink 1s infinite; @keyframes cursor-blink { from { opacity: 1; } 50% { opacity: 0; } 75% { opacity: 1; } } @media (prefers-reduced-motion) { animation: none; } }