@import url("https://fonts.googleapis.com/css2?family=New+Tegomin&display=swap");
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    background-image: linear-gradient(180deg, #07d1ff, #00ff95);
    display: grid;
    justify-content: center;
    align-items: center;
}
button{
    border: 0;
    outline: 0;
}
.container{
    margin:40px ;
    width:400px;
    height: 600px;
    padding: 10px 25px;
    background: rgb(47, 164, 231);
    border-radius: 10px;
    box-shadow: 0px 3px 7px #0000009e;
    font-family: 'New Tegomin', serif;
}
.container .title{
    font-size: 1.5rem;
    color: white;
    text-shadow: 0 0 5px black;
    margin: 15px 0 0;
    text-align: center;
}
.result{
    position: relative;
    width: 100%;
    height: 65px;
}
i{
    position: absolute;
    margin-top: -4rem;
    margin-left: 20rem;
}
.display{
    width: 100%;
    height: 100%;
    background: rgba(50, 214, 255, 0.719);
    border-radius:10px;
    color: #fff;
    text-align: center;
    line-height: 65px;
    box-shadow: 0 0 5px black;
    margin: 45px 0;
}
.range{
    position: relative;
	width: 100%;
    height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
    border-radius: 8px;
	margin: 25px 0;
    background: rgba(50, 214, 255, 0.719);
    box-shadow:0 0 5px rgb(131, 65, 4);
}
.range::after{
    position: relative;
	color: #fff;
	font-size: 0.9rem;
	font-weight: bold;
    content: attr(data-max);
    left: 10px; 
    text-shadow: 0 0 2px black;
}
.range::before{
    position: relative;
	color: #fff;
	font-size: 0.9rem;
    text-shadow: 0 0 2px black;
	font-weight: bold;
    content: attr(data-min);
    right: 10px;
}
.showrange,.option-title{
    position: absolute;
    top: -10px;
    left: 8px;
    transform: translateY(-60%);
    font-weight: 600;
    color: rgb(255, 255, 255);
    text-shadow: 0 0 2px black;
    text-transform: uppercase;
    font-size: 0.75rem;
    pointer-events: none;
    user-select: none;
}
.showrange::after{
    content: attr(data-length);
    position: absolute;
    right: -16px;
    font-variant-numeric: tabular-nums;
}
:root {
    --variable-width : 60px;
    --range-track-height: 2px;
    --field-height: 65px;
}
#slider{
    -webkit-appearance: none;
    width: calc(100% - var(--variable-width) + 5px);
    height: var(--range-track-height);
    border-radius: 5px;
    box-shadow: 0 0 2px black;
    outline: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}
#slider::-webkit-slider-thumb{
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgb(25, 94, 223);
    cursor: pointer;
    transition: all 0.15s ease-in-out;
}
#slider::-webkit-slider-thumb:hover{
    transform: scale(1.2);
    background: rgb(10, 134, 236);
    box-shadow: 0 0 2px black;
}
#slider::-moz-range-thumb{
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: rgb(5, 93, 209);
    cursor: pointer;
    transition:all 0.15s ease-in-out;
}
#slider::-moz-range-thumb:hover{
    background: rgb(86, 4, 218);
}
.options{
    width: 100%;
    height: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    text-transform: uppercase;
    text-shadow: 0 0 2px black;
}
.options .option{
    position: relative;
    width: 100%;
    height: calc(var(--field-height)-10px);
    background: rgba(46, 230, 236, 0.644);
    box-shadow:0 0 5px rgb(131, 65, 4);
    border-radius: 8px;
    display: flex;
    align-items: center;
    padding: 25px 25px;
    color: white;
    margin-bottom: 8px;
}
.options .option input{
    opacity: 0;
    position: absolute;
}
.options .option input label{
    user-select: none;
}
.options .option label::after{
    content: "";
    position: absolute;
    transition: 150ms cubic-bezier(0.23, 1, 0.320, 1);
    transform: translateY(-50%);
    top: 50%;
    right: 10px;
    cursor: pointer;
    height: 24px;
    width: 24px;
    border-radius: 30px;
    right: 32px;
    background: #fff;
}
.options .option label::before{
    content: "";
    position: absolute;
    transition: 150ms cubic-bezier(0.23, 1, 0.320, 1);
    transform: translateY(-50%);
    top: 50%;
    right: 10px;
    cursor: pointer;
    height: 30px;
    width: 50px;
    border-radius: 30px;
    background: rgba(214, 214, 214, 0.434);
}
.options .option input:disabled,label::before{
    cursor: not-allowed;
    background: #4f4f6a ;
}
.options .option input:disabled,label::after{
    background: #909090 ;
}
.options .option input:checked+label::before{
    background: black;
    transition: all 150ms cubic-bezier(0, 0, 0, 0.1);
}
.options .option input:checked+label::after{
    right: 14px;
}
.options .option input:focus,label::before{
    box-shadow: 0 0 3px black;
}
.btn.generate {
    text-shadow: 0 0 2px black;
	user-select: none;
	position: relative;
	width: 100%;
	height: 50px;
	margin: 10px 0;
	border-radius: 25px;
	color: #fff;
	border: none;
	background-image: linear-gradient(135deg, #00bee0 0%, #1dec96 100%);
	letter-spacing: 1px;
	font-weight: bold;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 150ms ease;
    box-shadow: 0 0 5px black;
}
.btn.generate:active{
    transform: scale(0.9);
}