.svg-stack {
    display: grid;
    grid-template-areas: "layer";
    width: 200px;
    height: 200px;
    position: relative;
    filter: invert(1);
    margin: 0;
}

/* Assign every SVG to the exact same cell */
.svg-stack>svg,
.svg-stack>img  {
    grid-area: layer;
    width: 100%;
    height: 100%;
    user-select: none;
    pointer-events: none;
}

#eye {
    width: 50%;
    height: auto;
    place-self: center;
    will-change: transform;
}

.pupil-container {
    grid-area: layer;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    z-index: 2;
    mask-mode: alpha;
    /* Mask this layer using the external SVG file */
    -webkit-mask-image: url('assets/clip-mask.svg');
    mask-image: url('assets/clip-mask.svg');
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

/* Control z-index and pointer behavior */
.layer-base {
    z-index: 1;
}

.layer-middle {
    z-index: 2;
}

.layer-top {
    z-index: 3;
    pointer-events: none;
}

/* lets clicks pass through if needed */