*, *:before, *:after {
    box-sizing: border-box;
}

html, body {
    height: 100%;
    margin:0; padding: 0;
    font-family: monospace;
}

noscript {
    position: absolute;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100vh;
    padding: 2em;
    background: #111;
    color: white;
}

body {
    padding: 0;
    
    background: #111;
    font-size: 16px;
    display: flex;
    justify-content: center;
    background-color: #eee;
}

.wrapper {
    height: 100%;
    width: 100%;
    padding: 0% 0 0 0;
}

canvas {
    background: #fff;
    max-width: 100%;
    width: 100%;
    height: 100vh;/*50vh;*/
    margin: 0; padding: 0;
}

#no-worklet {
    text-align: center;
    font-size: 1.1em;
    font-weight: bold;
}

div#intro {
    padding: 1em;
    position: absolute;
    width: 100%;
    height: 100vh;
    overflow: auto;
    background: #faf; color: #9a4e9a;
    border: 0;
    opacity: 1;
}
div#intro > * {
    display: block;
    max-width: 100%;
    width: 50rem;
    margin: 1em auto;
}

div#intro h2, div#intro h3 { color: #fff }
div#intro h2 { font-size: 2em; font-weight: normal; margin-bottom: 0}
div#intro h3 { font-size: 1em; font-weight: normal; margin-top: 0}

p.description { font-size: 0.8em; font-style: italic }
.warning { color: #c52929; text-align: center }
.warning-note {
  text-align: left;
  font-size: 1rem;
  background: #ff70ff;
  padding: 0.75em 1em;
  color: #602d60;
}

div#onlineCheckbox {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5em;
    border-radius: 0.25em;
}
div#onlineCheckbox input[type=checkbox] { width: 2em; height: 2em; margin-right: 1em}


button#start {
    /*padding: 1em;
    position: absolute;
    width: 100%;
    height: 100vh;*/
    width: auto;
    padding: 0.5em 1em;
    background: #cf404f; color: white;
    border-radius: 0.5em;
    font-size: 2em;
    border: 0;
    cursor: pointer;
    margin: 0 auto;
}

button#start.started, div#intro.started {
    transition: 1s opacity ease-in;
    opacity: 0;
    pointer-events: none;
}
button#loading {
    /*padding: 1em;
    position: absolute;
    width: 100%;
    height: 100vh;*/
    display: none;
    width: auto;
    padding: 0.5em 1em;
    background: inherit; color: white;
    border-radius: 0.5em;
    font-size: 2em;
    border: 0;
    margin: 0 auto;
}
#intro.loading button#start { display: none }
#intro.loading button#loading { display: block }

#remoteGui {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10;
    margin: 1em;
    padding: 1em;

    font-size: 0.8em;
    color: white;
    background: rgba(0,0,0,0.7);

    opacity: 0;
    transition: 0.2s opacity;
}

#remoteGui.visible {
    opacity: 1;
    transition: 0.2s opacity;
}

#remoteGui #remoteStatus.online{
    color: lightgreen
}
