:root { color-scheme: dark; }

html, body {
  background: #0b0f14;
  color: #e6e8eb;
  overscroll-behavior: none;
  -ms-content-zooming: none;
  touch-action: manipulation;
}

/* Card container */
.card {
  display: block;
  border-radius: 1rem;
  overflow: hidden;
  background: #000;
  box-shadow: 0 10px 25px rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,0.1);
}

/* Title overlay */
.card-title {
  margin: 0;
  font-weight: 800;
  font-size: .9rem;
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0,0,0,.8);
}
.card-title.clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Gradient overlay */
.overlay-gradient {
  position: absolute;
  inset: auto 0 0 0;
  padding: .55rem .6rem .75rem;
  background-image: linear-gradient(
    to top,
    rgba(0,0,0,0.78),
    rgba(0,0,0,0.48),
    rgba(0,0,0,0)
  );
  display: flex;
  justify-content: center;
}

/* Skeleton shimmer */
.skeleton {
  position: relative;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
}
.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.08),
    rgba(255,255,255,0));
  animation: shimmer 1.2s infinite;
}
@keyframes shimmer { 100% { transform: translateX(100%); } }

/* Skeleton bar */
.skeleton-bar {
  height: 0.95rem;
  width: 62%;
  border-radius: 0.5rem;
  background: rgba(255,255,255,0.18);
  position: relative;
  overflow: hidden;
}
.skeleton-bar::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background-image: linear-gradient(90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,0.25),
    rgba(255,255,255,0));
  animation: shimmer 1.2s infinite;
  border-radius: inherit;
}

img, a, button, input { touch-action: manipulation; }
