* {
    box-sizing: border-box;
}

html, body {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
    max-width: 100%;
    max-height: 100%;
    padding: 0;
    margin: 0;
    background: black;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ball {
    background-color: rgb(50, 50, 100);
    width: 5vw;
    height: 5vw;
    border-radius: 50%;
    display: flex;
    content: '';
    margin: 1em;
}

.letter {
    background-color: rgb(160, 0, 0);
    color: rgb(10, 10, 50);
    text-shadow:
        0 0 0.1em rgba(255, 255, 255, 0.3),
        0 0 0.2em rgba(0, 0, 0, 0.8);
    box-shadow: 0 0 0.2em rgba(100, 50, 50, 0.5);
    width: 10vw;
    height: 10vw;
    margin: 0.25em;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: sans-serif;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 5em;
    user-select: none;
}

/* glass effect */
.sphere {
	background-image: radial-gradient(
        circle closest-side,
        rgba(167, 162, 162, 0.2),
        rgba(0, 0, 0, 0.62)
    );
	background-size: 100%;
	border-radius: 50%;
	position: relative;
}
.sphere::before {
 	position: absolute;
	width: 56%;
	height: 26%;
	top: 4%;
	left: 22%;
	border-radius: 50%;
	background-image: linear-gradient(
        to bottom,
        rgba(231, 231, 231, 0.05),
        rgba(30, 30, 30, 0.05)
    );
	content: '';
}
.sphere::after {
 	position: absolute;
	width: 38%;
	height: 19%;
	bottom: 3%;
	left: 31%;
	border-radius: 50%;
	background-image: linear-gradient(
        to bottom,
        rgba(93, 93, 93, 0.06),
        rgba(0, 0, 0, 0.1)
    );
	content: '';
}
