/* ===== Reset ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===== Background ===== */
body {
  min-height: 100vh;
  background: linear-gradient(
    120deg,
    #a7ffd1,
    #c8ffdc,
    #e2ffe9,
    #f3fff6
  );
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  overflow: hidden;
}

/* ===== Canvas ===== */
#canvas {
  position: relative;
  width: 100vw;
  height: 100vh;
}

/* ===== Card Base ===== */
.card {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;

  text-decoration: none;
  color: #1f3f2f;
  text-transform: lowercase;
  letter-spacing: 0.05em;

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.5);

  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.08),
    inset 0 0 20px rgba(255,255,255,0.3);

  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover glow */
.card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.12),
    0 0 25px rgba(180, 255, 220, 0.6);
}

/* ===== Sizes ===== */
.large {
  width: 260px;
  height: 180px;
  top: 120px;
  left: 140px;
}

.medium {
  width: 200px;
  height: 140px;
}

.small {
  width: 140px;
  height: 100px;
}

.tall {
  width: 180px;
  height: 260px;
}

/* ===== Positions ===== */
.medium.pale {
  top: 80px;
  left: 440px;
}

.small.mint-glow {
  top: 320px;
  left: 180px;
}

.medium.soft {
  top: 260px;
  left: 460px;
}

.tall.pale {
  top: 100px;
  right: 160px;
}

.small.soft {
  bottom: 120px;
  left: 360px;
}

/* ===== Color Variants ===== */
.mint {
  background: rgba(167, 255, 209, 0.55);
}

.mint-glow {
  background: rgba(167, 255, 209, 0.45);
}

.pale {
  background: rgba(226, 255, 233, 0.6);
}

.soft {
  background: rgba(243, 255, 246, 0.75);
}

/* ===== Text ===== */
.card span {
  font-size: 1.1rem;
}
