<input type="checkbox" id="trick">
<div class="content">
	<div class="equalizer">
		<input type="range" id="eqz" value="0" autocomplete="off" max="100" onclick="document.body.style.setProperty('--eqz', this.value);" oninput="document.body.style.setProperty('--eqz', this.value);">
		<div class="number"></div>
	</div>
</div>
<label for="trick">TRICK</label>
<ul>
	<li>
		<a href="https://codepen.io/josetxu/full/oNQxxyZ" target="_top">Curved</a>
	</li>
	<li>
		<a href="https://codepen.io/josetxu/full/MWzyZzX" target="_top" class="selected">Ovoid</a>
	</li>
	<li>
		<a href="https://codepen.io/josetxu/full/poQymMX" target="_top">Recurved</a>
	</li>
</ul>
@import url('https://fonts.googleapis.com/css2?family=Gochi+Hand&display=swap');

:root {
	--sz: 1vmin;
	--bg-trick: #fff0;
	--eqz: 0;
}	

*, *:before, *:after {
	box-sizing: border-box;
	transition: all 0s ease 0s;
	font-family: 'Gochi Hand', Arial, serif;
}

body {
	margin: 0;
	padding: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #3a3d44, #3b3e45, #383b42);
}

body:before, body:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background: 
		repeating-conic-gradient(#0002 0.000095%, #fff0 .0005%, #fff0 .005%, #fff0 .0005%), 
		repeating-conic-gradient(#0002 0.00001%, #fff0 .00009%, #fff0 .00075%, #fff0 .000025%);
	opacity: 0.75;
	filter: blur(0.75px);
	z-index: -1;
}

.content {
	position: relative;
	width: calc(var(--sz) * 50);
	height: calc(var(--sz) * 20);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: calc(var(--sz) * 20);
}

.content:before, .content:after {
	content: "";
	position: absolute;
	width: calc(var(--sz) * 23.5);
	height: calc(var(--sz) * 17);
	border: var(--sz) solid #ffffff;
	border-radius: 80% 40% 40% 80% / 60% 60% 60% 60%;
	top: calc(var(--sz) * 1.1);
	left: calc(var(--sz) * 2.5);
	transform: rotate(0deg);
	transform-origin: 0 0;
	z-index: -5;
	clip-path: polygon(0 30%, 0 0, 100% 0, 100% 100%, 0 100%, 0 70%, 10% 65%, 15% 45%);
}

.content:after {
	border-color: #0006;
	top: calc(var(--sz) * 1.5);
	left: calc(var(--sz) * 2.5);
	filter: blur(2px);
	z-index: -6;
}


.equalizer {
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.equalizer:before, .equalizer:after {
	content: "";
	--ss: #fff;
	background: radial-gradient(#fff0 calc(var(--sz) * 2.6), var(--ss) calc(calc(var(--sz) * 2.6) + 1px));
	width: calc(var(--sz) * 7);
	position: absolute;
	height: calc(var(--sz) * 7);
	border-radius: 100%;
	left: calc(var(--sz) * -1);
	top: calc(var(--sz) * 6.3);
	z-index: -5;
}

.equalizer:after {
	--ss: #0006;
	filter: blur(2px);
	left: calc(var(--sz) * -0.5);
	top: calc(var(--sz) * 6.5);
	z-index: -6;
}


/* Range Styles */

input[type='range'] {
	width: 100%;
	height: calc(var(--sz) * 3);
	position: absolute;
	background: var(--bg-trick);
	--bg-thumb: radial-gradient(#ff3a3a calc(var(
		--sz) * 2.35), #fff0 0 100%);
	--bs-thumb: 0 0 0px calc(var(
		--sz) * 0.5) #3a3d44 inset;
	transform: rotate(calc(var(--eqz) * 1.8125deg));
	transform-origin: 50% 50%;
	filter: hue-rotate(calc(var(--eqz) * -2.25deg));
}

input[type='range']:focus,
input[type=range]:focus::-webkit-slider-runnable-track {
	outline: none;
}

input[type='range'],
input[type='range']::-webkit-slider-runnable-track,
input[type='range']::-webkit-slider-thumb {
	-webkit-appearance: none;
}


/*** Range Thumb***/

input[type=range]::-webkit-slider-thumb {
	width: calc(var(--sz) * 5);
	height: calc(var(--sz) * 5);
	border-radius: calc(var(--sz) * 5);
	cursor: pointer;
	margin-top: calc(var(--sz) * -1);
	background: var(--bg-thumb);
	box-shadow: var(--bs-thumb);
}

input[type=range]::-moz-range-thumb {
	width: calc(var(--sz) * 5);
	height: calc(var(--sz) * 5);
	border-radius: calc(var(--sz) * 5);
	cursor: pointer;
	margin-top: calc(var(--sz) * -1);
	background: var(--bg-thumb);
	box-shadow: var(--bs-thumb);
}


/*** Range Track ***/

input[type=range]::-webkit-slider-runnable-track {
	background: #fff0;
	height: calc(var(--sz) * 3.5);
}

input[type=range]::-moz-range-track {
	background: #fff0;
	height: calc(var(--sz) * 3.5);
}


/*** Number ***/

.number {
	position: absolute;
	bottom: calc(var(--sz) * 14);
	left: calc(var(--sz) * 7);
	color: #fff;
	font-size: calc(var(--sz) * 8);
	z-index: 333;
	font-family: 'Alarm Clock', Arial, serif;
	transform: rotate(-3deg);
	text-shadow: calc(var(--sz) * 0.25) calc(var(--sz) * 0.25) calc(var(--sz) * 0.25) #0008;
}

.number:before {
	counter-reset: variable var(--eqz);
	content: counter(variable);
	position: absolute;
	text-align: center;
	width: calc(var(--sz) * 15);
	overflow: hidden;
}




/*** Trick ***/

#trick {
	display: none;
}

label[for=trick] {
	font-size: calc(var(--sz) * 3.5);
	position: absolute;
	bottom: calc(var(--sz) * 10);
	--cc: #fff;
	color: var(--cc);
	cursor: pointer;
	text-shadow: calc(var(--sz) * 0.25) calc(var(--sz) * 0.25) calc(var(--sz) * 0.25) #0008;
}

#trick:checked + .content {
	--bg-trick: #fff2;
}

label[for=trick]:hover {
	--cc: #2196F3;
} 

label[for=trick]:before {
	content: "SHOW";
	margin-right: var(--sz);
}

input#trick:checked ~ label[for=trick] {
	color: var(--cc);
}

input#trick:checked ~ label[for=trick]:before {
	content: "HIDE";
}




input[type='range']:before, input[type='range']:after {
	content: "this is the range input";
	position: absolute;
	right: calc(var(--sz) * 4.25);
	font-size: calc(var(--sz) * 1.75);
	color: #0000;
	z-index: -1;
	top: calc(var(--sz) * -0.25);
}

input[type='range']:after {
	content: "slide to see the trick";
	top: calc(var(--sz) * 1.25);
	right: calc(var(--sz) * 4.25);
}



input#trick:checked + .content input[type='range']:before, 
input#trick:checked + .content  input[type='range']:after  {
	color: #0008;
}






/* Ranges Menu */
ul {
    position: absolute;
    top: calc(var(--sz) * 6);
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul li {
    display: inline-block;
    margin: calc(var(--sz) * 2);
    width: calc(var(--sz) * 7);
    height: calc(var(--sz) * 7);
    position: relative;
}

ul li a {
    display: block;
    --clr: #222;
    position: absolute;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 15% 40%, #fff0 calc(var(--sz) * 0.25), var(--clr) calc(calc(var(--sz) * 0.25) + 1px) calc(var(--sz) * 0.5), #fff0 calc(calc(var(--sz) * 0.5) + 1px) ),
        radial-gradient(circle at 85% 37%, #fff0 calc(var(--sz) * 0.25), var(--clr) calc(calc(var(--sz) * 0.25) + 1px) calc(var(--sz) * 0.5), #fff0 calc(calc(var(--sz) * 0.5) + 1px) );
    display: flex;
    align-items: flex-end;
    justify-content: center;
    text-decoration: none;
    color: var(--clr);
}

ul li a:before, ul li:nth-child(3) a:after {
    content: "";
    position: absolute;
    width: calc(var(--sz) * 5);
    height: calc(var(--sz) * 5);
    border: calc(var(--sz) * 0.33) solid var(--clr);
    border-radius: 155% 75%;
    top: calc(var(--sz) * 0.5);
    left: calc(var(--sz) * 1.1);
    transform: rotate(8deg);
    transform-origin: 0 0;
    clip-path: polygon(0 0, 100% 0, 100% 21%, 0 41%);
    clip-path: polygon(0 0, 100% 0, 99% 22%, 82% 28%, 20% 38%, 0 41%);
}



ul li:nth-child(2) a {
    background: 
        radial-gradient(circle at 30% 35%, #fff0 calc(var(--sz) * 0.25), var(--clr) calc(calc(var(--sz) * 0.25) + 1px) calc(var(--sz) * 0.5), #fff0 calc(calc(var(--sz) * 0.5) + 1px) );
}

ul li:nth-child(2) a:before {
    width: calc(var(--sz) * 3.5);
    height: calc(var(--sz) * 2.5);
    border-radius: 80% 40% 40% 80% / 60% 60% 60% 60%;
    top: calc(var(--sz) * 1.15);
    left: calc(var(--sz) * 2);
    transform: rotate(0deg);
    clip-path: polygon(0 30%, 0 0, 100% 0, 100% 100%, 0 100%, 0 70%, 10% 65%, 15% 45%);
}





ul li:nth-child(3) a {
    background: 
        radial-gradient(circle at 15% 40%, #fff0 calc(var(--sz) * 0.25), var(--clr) calc(calc(var(--sz) * 0.25) + 1px) calc(var(--sz) * 0.5), #fff0 calc(calc(var(--sz) * 0.5) + 1px) ),
        radial-gradient(circle at 50% 39%, #fff0 calc(var(--sz) * 0.25), var(--clr) calc(calc(var(--sz) * 0.25) + 1px) calc(var(--sz) * 0.5), #fff0 calc(calc(var(--sz) * 0.5) + 1px) ),
        radial-gradient(circle at 85% 37%, #fff0 calc(var(--sz) * 0.25), var(--clr) calc(calc(var(--sz) * 0.25) + 1px) calc(var(--sz) * 0.5), #fff0 calc(calc(var(--sz) * 0.5) + 1px) );
}

ul li:nth-child(3) a:before { 
    width: calc(var(--sz) * 2.5);
    height: calc(var(--sz) * 2.5);
    top: calc(var(--sz) * 1.5);
}


ul li:nth-child(3) a:after { 
    width: calc(var(--sz) * 2.5);
    height: calc(var(--sz) * 2.5);
    top: calc(var(--sz) * 3.8);
    transform: rotate(180deg);
    transform-origin: 100% 0;
}

a.selected {
    cursor: default;
    --clr: #fff;
}

a:hover {
    --clr: #fff;
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.