components/gradient.module.css
.conic-gradient {
  --border-darkness: 100%;

  @media (prefers-color-scheme: light) {
    --border-darkness: 0%;
  }
}

.conic-swatch {
  --swatch-border: 5px;

  border-radius: 25px;
  border: var(--swatch-border) solid hsl(0 0% var(--border-darkness) / 25%);
  aspect-ratio: 1;
  transition: aspect-ratio .5s ease;
  box-shadow: 0 20px 100px -45px var(--shadow, gray);
  cursor: pointer;

  &:focus-visible {
    outline-style: solid;
    outline-offset: 1vmin;
    outline-color: var(--shadow, gray);
  }

  @media (orientation: landscape) {
    & {
      aspect-ratio: 16/9;
    }
  }

  @supports not (aspect-ratio: 1) {
    & {
      height: 240px;
    }

    @media (width <= 720px) {
      & {
        height: 120px;
      }
    }
  }
}

.mini-swatch {
  display: flex;
  gap: 1ch;

  & > i {
    flex-shrink: 0;
    width: 2ch;
    aspect-ratio: 1;
    background-color: var(--color, transparent);
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px hsl(0deg 0% var(--border-darkness) / 25%);

    @supports not (aspect-ratio: 1) {
      & {
        height: 2ch;
      }
    }
  }

  @media (orientation: landscape) {
    @nest figcaption > &:nth-of-type(even) {
      flex-direction: row-reverse;
    }
  }

  @media (width <= 320px) {
    & {
      display: none;
    }
  }
}