* {
margin:0;
padding:0;
box-sizing:border-box;
font-family:system-ui;
}

html,body {
width:100%;
height:100%;
overflow:hidden;
background:#000;
}

#app {
width:100vw;
height:100vh;
position:relative;
background:linear-gradient(#111,#222);
}

/* HUD */

#hud {
position:absolute;
top:10px;
left:10px;
right:10px;
display:flex;
justify-content:space-between;
z-index:10;
background:rgba(0,0,0,.6);
padding:10px 15px;
border-radius:10px;
color:#fff;
font-weight:600;
}

/* GAME */

#game {
width:100%;
height:100%;
position:relative;
background:url("https://picsum.photos/1280/720?blur=2") center/cover;
}

/* Scope */

#scope {
width:180px;
height:180px;
border:3px solid red;
border-radius:50%;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
pointer-events:none;
box-shadow:0 0 0 9999px rgba(0,0,0,.6);
}

/* Rifle */

#rifle {
width:180px;
position:absolute;
bottom:0;
right:20px;
opacity:.9;
}

/* Overlay */

#overlay {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,.9);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
color:white;
z-index:20;
}

#overlay h1 {
font-size:48px;
color:#ff0033;
}

#overlay p {
margin:20px 0;
}

#overlay button {
padding:12px 30px;
border:none;
border-radius:30px;
background:#ff0033;
color:#fff;
font-size:18px;
cursor:pointer;
}
