@import url('https://fonts.googleapis.com/css2?family=Jura:wght@700&family=Playfair+Display:ital@1&display=swap');

body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    background-color: #f4f4f4;
    overflow: hidden;
    cursor: crosshair;
}

.container {
    position: relative;
    width: 100vw;
    height: 100vh;
}

h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    font-size: 15rem;
    pointer-events: none;
}

/* Base human layer */
.human-txt {
    font-family: 'Playfair Display', serif;
    color: #ccaa90;
    z-index: 1;
}

/* Machine layer hidden by mask */
.machine-txt {
    font-family: 'Jura', sans-serif;
    color: #00ffcc;
    z-index: 2;
    text-shadow: 0 0 20px #00ffcc;
    /* We use the mask to reveal this layer where the cursor is */
    -webkit-mask-image: radial-gradient(circle 250px at var(--x, 50%) var(--y, 50%), black 0%, transparent 100%);
    mask-image: radial-gradient(circle 250px at var(--x, 50%) var(--y, 50%), black 0%, transparent 100%);
}

.reveal-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 255, 204, 0.1) 2px,
        rgba(0, 255, 204, 0.1) 4px
    );
    z-index: 3;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle 250px at var(--x, 50%) var(--y, 50%), black 0%, transparent 100%);
    mask-image: radial-gradient(circle 250px at var(--x, 50%) var(--y, 50%), black 0%, transparent 100%);
}
