* {
    box-sizing: border-box;
}

html, body {
    width:100%;
    height: 100%;
    margin:0;
    padding:0;

    font-family:system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
    font-size:14px;
}

body {
    display: flex;
    flex-direction: column;
    background:black;
    text-align:center;
}

aside {
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    background:black;
    color:white;
    width:100%;
    max-width:540px;
    padding:30px 35px 30px 35px;
    font-size:14px;
    line-height:19px;
    border:1px solid white;
    border-radius:22px;
    cursor:pointer;
    text-align:left;
}

main {
    flex: 1;
    position:relative;
    width:100%;
}

canvas {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
}

footer {
    padding:0px 50px 20px 50px;
    display: flex;
    align-items: center;
}

.title {
    color:white;
    display:inline-block;
    background: repeating-conic-gradient(red 0deg 10deg, green 10deg 20deg, blue 20deg 30deg);
    padding:9px 13px 10px 13px;
    margin:0;
    border-radius: 100px;
    font-size:14px;
    cursor:pointer;
}

.title:hover{
    background: repeating-conic-gradient(red 0deg 5deg, green 10deg 10deg, blue 20deg 15deg);
}

.nav {
    display:inline-block;
    margin-left:auto;
}

.image-nav, .webcam-nav {
    display:inline-block;
    color:black;
    color:white;
    border:1px solid white;

    padding:4px 4px 4px 13px;
    border-radius:100px;
}

.nav-label {
    display:inline-block;
    margin:0;
    padding:0 8px 0 4px;
}

.upload {
    display:inline-block;
}

#image-upload {
    display: none;
}

button, .file-upload {
    background: none;
    padding:9px 13px 10px 13px;
    margin:0;
    border:none;
    border-radius: 100px;
    cursor:pointer;

    font-size:14px;
    background:white;
    color:black;
}

button:hover, .file-upload:hover {
    background: repeating-conic-gradient(red 0deg 10deg, green 10deg 20deg, blue 20deg 30deg);
    color:white;
}

.red {
    color:red;
}

.green {
    color:green;
}

span {
    margin:0;
    padding:0;
}

.hide {
    display:none;
}

.loading {
    position:absolute;
    color:white;
    text-align:center;
    left:50%;
    top:50%;
    transform:translate(-50%, -50%);
}