.image-stack { position: relative; width: 300px; height: 360px; } .image-stack .layer { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; } .image-stack .bg { z-index: 1; } .image-stack .fg { padding: 50px; z-index: 2; } .image-stack .frame { z-index: 3; } .deathclock-wrapper { min-height: 150px; margin: 0; display: grid; place-items: center; font-family: "Courier New", monospace; overflow: hidden; } .deathclock { display: flex; gap: 5px; padding: 5px; } .digit { position: relative; width: 50px; height: 90px; perspective: 700px; } .flipcard { position: absolute; inset: 0; border-radius: 10px; background: linear-gradient(#1d1d1d, #050505); color: #f2e7c9; font-size: 56px; font-weight: bold; line-height: 95px; text-align: center; overflow: hidden; } .flipcard::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: #000; box-shadow: 0 -1px rgba(255,255,255,0.08), 0 1px rgba(255,255,255,0.05); z-index: 3; } .top, .bottom { position: absolute; left: 0; width: 100%; height: 50%; overflow: hidden; background: linear-gradient(#202020, #080808); color: #f2e7c9; font-size: 56px; font-weight: bold; text-align: center; backface-visibility: hidden; } .top { top: 0; line-height: 90px; border-radius: 10px 10px 0 0; transform-origin: bottom; } .bottom { bottom: 0; line-height: 0; border-radius: 0 0 10px 10px; transform-origin: top; } .flip-top { animation: flipTop 0.28s ease-in forwards; z-index: 5; } .flip-bottom { animation: flipBottom 0.28s ease-out forwards; z-index: 5; } @keyframes flipTop { from { transform: rotateX(0deg); } to { transform: rotateX(-90deg); } } @keyframes flipBottom { from { transform: rotateX(90deg); } to { transform: rotateX(0deg); } } .shine { position: absolute; inset: 0; border-radius: 10px; pointer-events: none; background: linear-gradient( 115deg, rgba(255,255,255,0.12), transparent 35%, transparent 70%, rgba(255,255,255,0.05) ); z-index: 10; }