body{
    font-family:'Press Start 2P',cursive;
    background:#2f2f2f;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:100vh;
    margin:0;
    padding:20px;
}

.gameboy{
    position:relative;
    background:linear-gradient(
        145deg,
        #d9d9c8,
        #c8c8b5
    );

    box-shadow:
        inset -4px -4px 8px rgba(0,0,0,.2),
        inset 4px 4px 8px rgba(255,255,255,.4),
        0 10px 30px rgba(0,0,0,.6);

    width:360px;
    border-radius:1rem;
    padding:1.5rem;
}

.screen-shell{
    background:#8bac0f;
    padding:20px;
    border-radius:6px;
    box-shadow:
        inset 0 0 20px rgba(0,0,0,.5);

    margin-bottom:1.5rem;
}

.screen-text{
    color:#0f380f;
    font-size:10px;
    line-height:1.8;
    height:200px;
    overflow:hidden;
}

@keyframes ledBlink{
    0%,49%{
        background:red;
        box-shadow:0 0 8px red;
    }

    50%,100%{
        background:#500;
        box-shadow:none;
    }
}

.led{
    width:10px;
    height:10px;
    border-radius:9999px;
    animation:ledBlink 2s infinite;
}

.btn-power{
    font-size:8px;
    color:#444;
    cursor:pointer;
    padding:2px 5px;
    border-radius:4px;
    background:#cccbc0;

    box-shadow:
        1px 1px 0 #888,
        -1px -1px 0 #fff;
}

.loading{
    animation:blink 1s infinite;
}

@keyframes blink{
    0%,100%{opacity:1}
    50%{opacity:0}
}

.menu-item{
    position:relative;
    padding-left:14px;
}

.menu-item.selected::before{
    content:">";
    position:absolute;
    left:0;
    animation:cursorPop .15s ease;
}

@keyframes cursorPop{
    0%{
        transform:scale(.6);
        opacity:.6;
    }

    100%{
        transform:scale(1.2);
        opacity:1;
    }
}

.dpad button{
    background:#3a3a3a;
    box-shadow:
        inset -3px -3px 6px rgba(0,0,0,.7);

    border:none;
    border-radius:4px;
}

.btn-round{
    width:60px;
    height:60px;
    border-radius:9999px;
    color:white;
    font-size:16px;
    border:none;
    cursor:pointer;

    box-shadow:
        inset -4px -4px 6px rgba(0,0,0,.6),
        0 6px 10px rgba(0,0,0,.5);
}

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

.small-btn{
    background:#777;
    color:#fff;
    border:none;
    cursor:pointer;

    padding:6px 18px;
    font-size:8px;
    border-radius:20px;

    box-shadow:
        1px 2px 0 #444;
}

.speaker-line{
    height:4px;
    background:#777;
    margin:4px 0;
    border-radius:4px;
    opacity:.4;
}

canvas{
    background:#9dbb26;
    display:block;
    margin:5px auto;
    border:1px solid #0f380f;
}