*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

#retrobg {
    position: fixed;      /* Make it fixed to the viewport */
    top: 0;
    left: 0;
    width: 100vw;         /* Full viewport width */
    height: 100vh;        /* Full viewport height */
    z-index: 0;           /* Behind everything else */
    overflow: hidden;
    color: #a3c;
    background-color: #000;
}

/* ............................................................... */
#retrobg-sky {
	position: absolute;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	top: 0;
	width: 100%;
	height: 55%;
	background: linear-gradient( #214 75%, #249 );
}

/* ............................................................... */
#retrobg-sunWrap {
	position: relative;
	width: 40%;
	margin-bottom: -15%;
}
#retrobg-sun {
	--glow-color: #d44;
	padding-top: 100%;
	border-radius: 50%;
	background-image: linear-gradient( #fcdf11, #ff623f, #fe2085 50% );
	box-shadow: 0 0 160px 80px var( --glow-color );
	animation: 2s ease infinite alternate retrobg-sun-glow-anim;
}
.retrobg-shutdown #retrobg-sun {
	background-image: linear-gradient( #000, #000 40% );
	--glow-color: #000;
}
@keyframes retrobg-sun-glow-anim {
	from { box-shadow: 0 0 160px 80px var( --glow-color ); }
	to   { box-shadow: 0 0 200px 95px var( --glow-color ); }
}

/* ............................................................... */
#retrobg-stars {
	position: absolute;
	width: 100%;
	height: 100%;
}
.retrobg-star {
	position: absolute;
	border-radius: 50%;
	width: 2px;
	height: 2px;
	background-color: #fff;
}

/* ............................................................... */
#retrobg-mountains {
	position: absolute;
	width: 100%;
	height: 30%;
}
.retrobg-mountain {
	position: absolute;
	width: 30%;
	height: 100%;
	background-image: linear-gradient( #000 70%, #111 85%, #fff1 );
}
#retrobg-mountains-left { left: 0; clip-path: polygon( 0% 100%,0% 55%,5% 60%,10% 55%,20% 50%,25% 42%,30% 38%,33% 35%,40% 45%,50% 50%,60% 70%,70% 85%,75% 82%,80% 91%,85% 90%,90% 95%,95% 98%,100% 100% ); }
#retrobg-mountains-right { right: 0; clip-path: polygon( 0% 100%,5% 95%,10% 85%,15% 87%,20% 80%,25% 78%,30% 65%,40% 70%,50% 57%,60% 53%,67% 68%,70% 70%,75% 66%,80% 55%,90% 50%,95% 60%,100% 57%,100% 100% ); }

/* ............................................................... */
#retrobg-cityWrap {
	position: absolute;
	width: 50%;
	margin-left: -1%;
}
#retrobg-city {
	padding-top: 20%;
}
.retrobg-building {
	position: absolute;
	width: 5%;
	height: 100%;
	bottom: 0;
	border-radius: 4px 4px 0 0;
	background-image: linear-gradient( 0deg, rgba( 17, 17, 34, 0 ), #112 30px, #000 );
}
.retrobg-building:nth-child( odd ) {
	background-image: linear-gradient( 0deg, rgba( 24, 24, 42, 0 ), #223 30px, #000 );
}
.retrobg-antenna::after {
	content: "";
	position: absolute;
	left: 50%;
	margin-left: calc( -1px - 5% );
	bottom: 100%;
	width: 10%;
	min-width: 2px;
	height: 33%;
	background-color: #000;
}

/* ............................................................... */
#retrobg-ground {
	position: absolute;
	overflow: hidden;
	width: 100%;
	height: 45%;
	bottom: 0;
	border-top: 2px solid #bf578c;
	background-color: #000;
}
.retrobg-shutdown #retrobg-ground {
	border-color: #000;
}
#retrobg-groundShadow {
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient( #000 0%, transparent );
}

/* ............................................................... */
#retrobg-linesWrap {
	height: 100%;
	perspective: 1000px;
	perspective-origin: center top;
}
#retrobg-lines {
	position: absolute;
	width: 100%;
	height: 100%;
	transform-origin: top center;
	animation: .35s linear infinite retrobg-lines-anim;
}
.retrobg-shutdown #retrobg-lines {
	animation-duration: 5s;
}
@keyframes retrobg-lines-anim {
	from { transform: rotateX( 84deg ) translateY( 0 ); }
	to { transform: rotateX( 84deg ) translateY( 100px ); }
}
#retrobg-hlines,
#retrobg-vlines {
	position: absolute;
	left: calc( ( 900% - 100% ) / -2 );
	width: 900%;
	height: 500%;
}
#retrobg-vlines {
	display: flex;
	justify-content: center;
}
.retrobg-hline,
.retrobg-vline {
	width: 100%;
	height: 100%;
	background-color: currentColor;
}
.retrobg-hline { height: 3px; }
.retrobg-vline { width: 3px; }
.retrobg-hline + .retrobg-hline { margin-top: 98px; }
.retrobg-vline + .retrobg-vline { margin-left: 48px; }

body {
    min-height: 100vh;
    background: linear-gradient(-125deg, #95d8ff, #e52e2e);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.container {
    position: relative;
    z-index: 1;
	width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2em;
    color: white;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 4em;
    padding: 4em 3em;
    /* Remove margin-top and margin-bottom for centering */
	margin: 0 auto;
	top: 10%;
    
}
.menu {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 5;
    background-color: rgba(255,255,255);
    border-radius: 1em;
    font-size: 30px;
    display: none;
    align-items: center;
    padding: 1em 2em;
    margin: 0; /* Remove margin-top and margin-bottom */
	font-family: 'Roboto', 'Segoe UI', Arial, sans-serif; 

}
.menu.active {
    display: block;
}

#menu-button{
	background-image: url("menu.png");
	background-size: cover;
	background-color: transparent;
	position: fixed;
	top: 1em;
	right: 1em;
	z-index: 4; /* Above everything else */
	width : 40px;
	height: 40px;
	border: none;
	cursor: pointer;
	transition: transform 0.2s ease-in-out;
}

.title{
    font-size: 3em;
}
hr{
    width : 100%;
    background-color: white;
    height : 5px;
    border-radius : 1em;
    border: none;
}
#timer{
    font-size: 10em;    
    font-weight : 700;
}
.button-wrapper{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;

}

.button-wrapper2{
    display: flex;
    justify-content: center;
    align-items: center;
	margin-top: 1em;
    gap: 1em;

}

button{
    font-size: 1em;
    font-weight: 800;
    letter-spacing: 1px;
    padding: 0.5em 1.5em;
    border-radius : 0.5em;
    border: none;
    color: white;
    cursor: pointer;
    transition : 0.2s ease-in-out;
}
button:hover{
    transform: translateY(-10px);
}
#start{
    background-color: #1eb50b;
}
#stop{
    background-color: #d51313;
}
#reset{
    background-color: #943fb3;
}
#addTime{
	background-color: rgb(51, 171, 204);
}
#shortenTime{
	background-color: rgb(51, 171, 204);
}