|
| 1 | +.info-card-screen { |
| 2 | + min-height: 100%; |
| 3 | + height: 100%; |
| 4 | + display: flex; |
| 5 | + align-items: center; |
| 6 | + justify-content: center; |
| 7 | + padding: clamp(1rem, 3vw, 2rem); |
| 8 | + background: transparent; |
| 9 | + overflow: hidden; |
| 10 | +} |
| 11 | + |
| 12 | +.info-card-shell { |
| 13 | + --info-card-max-height: calc((100vh - var(--screen-closed-height)) * 0.75); |
| 14 | + --info-card-deal-tilt: 0deg; |
| 15 | + --info-card-rest-tilt-scale: 0.56; |
| 16 | + --info-card-entry-tilt-scale: 1.85; |
| 17 | + --info-card-mid-tilt-scale: 0.45; |
| 18 | + width: min(calc(var(--info-card-max-height) * 1.3333333), calc(100vw - 2.5rem)); |
| 19 | + height: min(var(--info-card-max-height), calc((100vw - 2.5rem) * 0.75)); |
| 20 | + aspect-ratio: 4 / 3; |
| 21 | + border: var(--frame-strong); |
| 22 | + background: var(--surface); |
| 23 | + box-shadow: var(--underlay-shadow); |
| 24 | + border-radius: 0.5rem; |
| 25 | + padding: var(--info-card-padding, clamp(1.3rem, 3.2vw, 2.25rem)); |
| 26 | + display: flex; |
| 27 | + flex-direction: column; |
| 28 | + align-items: center; |
| 29 | + justify-content: center; |
| 30 | + gap: var(--info-card-gap, clamp(0.375rem, 0.825vw, 0.5rem)); |
| 31 | + text-align: center; |
| 32 | + transform-origin: center 115%; |
| 33 | + animation: info-card-deal-in 820ms cubic-bezier(0.2, 0.82, 0.22, 1) both; |
| 34 | + will-change: transform; |
| 35 | +} |
| 36 | + |
| 37 | +@media (min-width: 901px) { |
| 38 | + .info-card-shell { |
| 39 | + --info-card-rest-tilt-scale: 1; |
| 40 | + --info-card-entry-tilt-scale: 3.4; |
| 41 | + --info-card-mid-tilt-scale: 0.86; |
| 42 | + } |
| 43 | +} |
| 44 | + |
| 45 | +@keyframes info-card-deal-in { |
| 46 | + 0% { |
| 47 | + transform: translate3d(0, 120vh, 0) rotate(calc(var(--info-card-deal-tilt) * var(--info-card-entry-tilt-scale))); |
| 48 | + } |
| 49 | + 72% { |
| 50 | + transform: translate3d(0, -0.8rem, 0) rotate(calc(var(--info-card-deal-tilt) * var(--info-card-mid-tilt-scale))); |
| 51 | + } |
| 52 | + 100% { |
| 53 | + transform: translate3d(0, 0, 0) rotate(calc(var(--info-card-deal-tilt) * var(--info-card-rest-tilt-scale))); |
| 54 | + } |
| 55 | +} |
| 56 | + |
| 57 | +@media (prefers-reduced-motion: reduce) { |
| 58 | + .info-card-shell { |
| 59 | + animation: none; |
| 60 | + transform: rotate(calc(var(--info-card-deal-tilt) * var(--info-card-rest-tilt-scale))); |
| 61 | + will-change: auto; |
| 62 | + } |
| 63 | +} |
0 commit comments