Perspective tilt

Perspective tilt: a CSS card. Copy the rules, or the prompt that rebuilds it.

3dtiltperspectivehoverdarkshine

01

Perspective tilt

Rotates in 3D on hover, with the badge floating above the surface.

CSS
.card-037 {
  width: 280px;
  perspective: 900px;
  font-family: system-ui,sans-serif
}
.card-037__in {
  position: relative;
  padding: 24px;
  background: linear-gradient(145deg,#1e293b,#0f172a);
  border-radius: 16px;
  color: #f8fafc;
  transform-style: preserve-3d;
  transition: transform .4s ease,box-shadow .4s;
  box-shadow: 0 10px 30px rgba(0,0,0,.3);
  overflow: hidden
}
.card-037__in::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg,rgba(255,255,255,0) 40%,rgba(255,255,255,.12) 50%,rgba(255,255,255,0) 60%);
  transform: translateX(-100%);
  transition: transform .6s
}
.card-037:hover .card-037__in {
  transform: rotateX(8deg) rotateY(-12deg);
  box-shadow: -16px 24px 40px rgba(0,0,0,.4)
}
.card-037:hover .card-037__in::after {
  transform: translateX(100%)
}
.card-037__badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 8px;
  background: #38bdf8;
  color: #0f172a;
  font-weight: 800;
  font-size: 12px;
  transform: translateZ(40px)
}
.card-037 h3 {
  margin: 14px 0 6px;
  font-size: 20px;
  transform: translateZ(20px)
}
.card-037 p {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #94a3b8
}
HTML
<div class="card-037">
  <article class="card-037__in">
    <span class="card-037__badge">01</span>
    <h3>Perspective tilt</h3>
    <p>Rotates in 3D on hover, with the badge floating above the surface.</p>
  </article>
</div>
Prompt

Make a 280px card with a 3D tilt illusion. Wrapper has perspective 900px. The inner panel: 24px padding, 145deg gradient #1e293b to #0f172a, 16px radius, transform-style preserve-3d, shadow 0 10px 30px rgba(0,0,0,.3). On hover rotate it rotateX(8deg) rotateY(-12deg) over 400ms and shift the shadow to -16px 24px 40px. A sky-blue badge "01" (#38bdf8, 8px radius) is pushed 40px forward with translateZ and the 20px title 20px forward, so they float. A diagonal white shine (12% opacity band) sweeps across from left to right on hover.