body{margin:0}

.menu-btn{
    position: fixed;
    top: 16px;
    left: 16px;

    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #1f1033;

    color: #fff;
    font-size: 28px;
    line-height: 1;

    border: 2px solid rgba(255,255,255,.85);
    border-radius: 16px;

    cursor: pointer;

    z-index: 1001;

    box-shadow:
        0 4px 12px rgba(0,0,0,.25);

    transition:
        background .25s ease,
        transform .2s ease,
        box-shadow .25s ease,
        opacity .25s ease;
}

.menu-btn:hover{
    background:#2b1846;
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(0,0,0,.30);
}

.menu-btn:active{
    transform:scale(.95);
}

.menu-btn span{
    position:relative;
    width:20px;
    height:2px;
    background:#fff;
    border-radius:2px;
}

.menu-btn span::before,
.menu-btn span::after{
    content:"";
    position:absolute;
    left:0;
    width:20px;
    height:2px;
    background:#fff;
    border-radius:2px;
}

.menu-btn span::before{
    top:-6px;
}

.menu-btn span::after{
    top:6px;
}

.menu-btn.hidden{
    opacity:0;
    transform:scale(.8);
    pointer-events:none;
}

#overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,.45);
opacity:0;
visibility:hidden;
transition:.25s;
z-index:998;
}

#overlay.active{opacity:1;visibility:visible}

#sideMenu{
position:fixed;
left:0;
top:0;
width:220px;
height:100vh;
box-sizing:border-box;
padding:18px;
background:#1f1033;
border-radius:0 18px 18px 0;
transform:translateX(-100%);
transition:transform .28s ease;
z-index:999;
box-shadow:0 8px 30px rgba(0,0,0,.35);
}

#sideMenu.active{
	transform:translateX(0)
}

#closeBtn{
position:absolute;
right:12px;
top:10px;
background:none;
border:none;
color:#fff;
font-size:30px;
cursor:pointer;
}

#sideMenu a{
display:block;
padding:12px;
margin:4px 0;
border-radius:10px;
color:#fff;
text-decoration:none;
font-family:Arial,sans-serif;
transition:.2s;
}

#sideMenu a:hover{
	background:rgba(255,255,255,.08)
}

#sideMenu a.disabled{
	opacity:.45;pointer-events:none
}

#sideMenu hr{
border:none;
border-top:1px solid rgba(255,255,255,.35);
margin:18px 0;
}

