html, body {
  height: 100%;
  margin: 0;
  background: #0b1d3a;
}

/* 2x2 の全画面グリッド */
.match-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 20px;
  width: 100vw;
  height: 100vh;
}

/* 楕円防止：aspect-ratio と vmin を使用して常に正円 */
.match-circle {
  aspect-ratio: 1 / 1;         /* 幅:高さ = 1:1 を強制 */
  width: min(80%, 38vmin);      /* 画面の短辺に合わせてサイズ調整 */
  border-radius: 50%;           /* 真円 */
  border: 8px solid orange;
  background: #1e3a5f;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  place-self: center;           /* セル中央に配置 */
  box-shadow: 0 0 20px rgba(0,0,0,0.5);

  /* テキストは円サイズに追随 */
  font-size: clamp(24px, 36vmin, 128px);
  font-weight: bold;
}

.match-circle span {
  margin-top: 0.6em;
  font-size: clamp(12px, 10.0vmin, 36px);
}

.match-circle .label {
  display: inline-block;
  padding: 0.2em 0.6em;
  border-radius: 6px;
  color: #fff;
  font-size: clamp(12px, 10vmin, 36px);
}

/* マットごとに色を変える */
#mat1 .label { background-color: crimson; }
#mat2 .label { background-color: crimson; }
#mat3 .label { background-color: crimson; }
#mat4 .label { background-color: crimson; }