html {
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}
* {
    box-sizing: border-box;
    outline:none;
}

body {
    background: #bcbdc2;
    font-family: 'Source Sans Pro', Verdana, Arial, sans-serif;
    font-size: 16px;
    padding:0px;
    margin:0px;
}
@media screen and (min-width: 220px) {
    body {
        font-size: 18px;
    }
}
@media screen and (min-width: 240px) {
    body {
        font-size: 20px;
    }
}
@media screen and (min-width: 260px) {
    body {
        font-size: 22px;
    }
}
@media screen and (min-width: 280px) {
    body {
        font-size: 24px;
    }
}
@media screen and (min-width: 300px) {
    body {
        font-size: 26px;
    }
}
@media screen and (min-width: 320px) {
    body {
        font-size: 28px;
    }
}
@media screen and (min-width: 340px) {
    body {
        font-size: 30px;
    }
}
@media screen and (min-width: 360px) {
    body {
        font-size: 32px;
    }
}
@media screen and (min-width: 380px) {
    body {
        font-size: 34px;
    }
}
@media screen and (min-width: 400px) {
    body {
        font-size: 36px;
    }
}
@media screen and (min-width: 420px) {
    body {
        font-size: 38px;
    }
}
@media screen and (min-width: 440px) {
    body {
        font-size: 40px;
    }
}

.system {
    display:block;
    position:relative;
    padding: 5px;
    width: 100%;
    max-width: 460px;
    margin: 0 auto ;
}

.screen-border {
    position:relative;
    background: #636c7b;
    padding: .5em .5em;
    border-radius: .25em .25em .25em .25em;
}

.screen {
    display:block;
}
.controls {
    position: relative;
    display:block;
    padding-bottom: 30px;
}

.button {
    cursor: pointer;
    box-shadow: 0 0 3px 1px #555;
    color: #474881;
    text-align: center;
}
.button:hover {
    box-shadow: 0 0 5px 1px #333;
}
.button:active {
    box-shadow: 0 0 5px 1px #333 inset;
}
.button .label {
    font-size: .4em;
    position: relative;
    text-transform: uppercase;
}

.system-name {
    color: #474881;
    font-style: italic;
    font-weight: bold;
    letter-spacing: -1px;
    text-transform: uppercase;
    font-size: .4em;
    margin:0px;
    padding-bottom: 30px;
}

.d-pad {
    margin-left: 30px;
    width: 3em;
    height: 3em;
    position: relative;
}
.d-pad .label, .label {border:none 0px;background-color:transparent;font-size:30px;}
.d {
    border:none;
    width: 3em;
    height: 3em;
    background: #1d2323;
    position: absolute;
    border-top: 0.05em solid #7b9191;
    border-bottom: 0.05em solid black;
}
.d:hover, .d:active {
    background: #404d4d;
}

.up {
    left: 39px;
    top: 0;
    border-radius: .25em .25em 0 0;
}

.right {
    top: 40px;
    left: 80px;
    border-radius: 0 .25em .25em 0;
}

.down {
    left: 40px;
    top: 80px;
    border-radius: 0 0 .25em .25em;
}


.left {
    top: 40px;
    left: -1px;
    border-radius: .25em 0 0 .25em;
}

.control-buttons {
    position: absolute;
    right: .5em;
    top: 50px;
    background: #afb2b6;
    border-radius: 2em;
    padding:5px;
}

.control {
    border:none;
    background: #79215b;
    width: 4em;
    height: 4em;
    border-radius: 50%;
    float: right;
    margin: .25em;
    border-top: 0.05em solid #de88c1;
    border-bottom: 0.05em solid #290b1f;
}
.control:hover, .control:active {
    background: #8d266a;
}
.control .label {
    bottom: -2.3em;
    font-size:20px;
}

.meta-buttons {
    position: absolute;
    background: #afb2b6;
    bottom: -10px;
    left: 33%;
    border-radius: 2em;
    padding:5px;
}

.meta {
    border:none;
    background: #717b85;
    width: 4.6em;
    height: 1.5em;
    border-radius: .4em;
    float: right;
    margin: .25em;
    border-top: 0.05em solid #8c959d;
    border-bottom: 0.05em solid #5a6269;
}
.meta:hover, .meta:active {
    background: #7e8891;
}
.meta .label {
    bottom: -2.5em;
    font-size:10px;
}

.message {
    font-size: .5em;
    color: #474881;
    font-style: italic;
}

.control-key {
    padding: 1.6em;
    font-size: .4em;
    float: left;
    border: 1px solid #474881;
    color: #474881;
}
.control-key ul {
    padding-left: 2em;
}
.system .screen {
    width: 100%;
    max-width: 450px;
    max-height: 450px;
}
#play {
    width: 100%;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 400px) {
    .meta-buttons {
        bottom: -50px;
    }
}

/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {


}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {

}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {

}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {

}