:root {
    --black: #000;
    --white: #fff;

    --blue-dark: #0b4260;
    --blue: #2b00a0;

    --purple-dark: #130547;
    --purple-dark-85: #130547d9;
    --purple: #452577;

    --orange-dark: #c6590e;
    --orange: #d8741a;
    --orange-light: #ff872e;

    --green-neon: #72fa17;
    --green: #b7b729;
    --green-light: #f4f7cb;

    --yellow: #f1ff30;

    --shadow-reset: 2px 2px 5px rgba(0, 0, 0, 0.8);
    --shadow-final: 4px 4px 7px rgba(0, 0, 0, 0.5);
}

.game-wrapper {
    width: 1920px;
    height: 1080px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    background-color: var(--green-light);
    color: var(--blue-dark);
}

#pick-overlay {
    background-color: var(--purple-dark-85);
    z-index: 12;
    transition: opacity 0.3s;
    pointer-events: none;
}

#pick-overlay .message {
    position: absolute;
    top: 31%;
    left: 70px;
    width: 300px;
    height: auto;
    padding: 5px 0;
    background-color: var(--yellow);
    border: solid 5px var(--green);
    font-size: 35px;
    color: var(--blue-dark);
    border-radius: 20px;
}

.spotlight {
    position: relative;
    z-index: 13;
    box-shadow: 0 0 25px 12px var(--green-neon);
}

.foreground {
    z-index: 13 !important;
}

.hide {
    display: none;
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
}

.disabled {
    pointer-events: none;
    opacity: 0.3;
    /* make it all gray */
    filter: grayscale(100%);
}

.invisible {
    opacity: 0;
}

button:hover {
    cursor: pointer;
}

.h-100 {
    height: 100%;
}

.w-100 {
    width: 100%;
}

.flex-row {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.flex-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.space-between {
    justify-content: space-between;
}

.space-around {
    justify-content: space-around;
}

.space-evenly {
    justify-content: space-evenly;
}

.align-center {
    align-items: center;
}

.align-start {
    align-items: flex-start;
}

.flex-wrap {
    flex-wrap: wrap;
}

.text-center {
    text-align: center;
}

/* 1920 = 50 + 350 + 50 + 1420 + 50 */

#controls {
    width: 350px;
    /* apply same space (50px) around main elements */
    height: calc(100% - 100px);
}

h2 {
    font-size: 40px;
    line-height: 1;
    margin: 0 0 12px;
    color: var(--blue-dark);
}

h3 {
    font-size: 22px;
    line-height: 1;
    margin: 8px 0;
    color: var(--blue-dark);
}

.swatch {
    width: 105px;
    height: 105px;
    margin: 0 0 10px 0;
    border: solid 5px var(--green);
    border-radius: 20px;
    padding: 0;
    overflow: hidden;
}

.swatch:hover {
    cursor: pointer;
}

.swatch.active {
    border-color: var(--orange);
    border-width: 7px;
}

.swatch img {
    width: 100%;
    height: 100%;
}

#scene {
    width: 1420px;
    height: 980px;
    position: relative;
    border: solid 9px var(--green);
    border-radius: 40px;
    overflow: hidden;
}

#scene-bg {
    z-index: 1;
}

#skin {
    z-index: 2;
}

.pattern {
    z-index: 3;
}

#nails {
    z-index: 4;
}

#outline {
    z-index: 5;
}

#grayscale {
    z-index: 6;
}

#scratch {
    z-index: 7;
}

#scratch-info {
    z-index: 8;
    font-size: 40px;
    color: var(--black);
}

#skip {
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 9;
}

.btn-rounded {
    padding: 12px 22px;
    border-radius: 20px;
    border: solid 5px var(--purple-dark);
    background-color: var(--blue);
    color: var(--orange-light);
    font-size: 24px;
    transition:
        background-color 0.2s,
        color 0.2s;
}

.btn-rounded:hover,
.btn-rounded:focus,
.btn-rounded:active {
    cursor: pointer;
    background-color: var(--orange-light);
    color: var(--purple);
}

input[type='range'] {
    width: 100%;
    height: 20px;
    border-radius: 999px;
    appearance: none;
    outline: none;
    background: #2a3446;
    border: solid 4px var(--white);
}
/* WebKit thumb */
input[type='range']::-webkit-slider-thumb {
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
    cursor: pointer;
}
/* Firefox thumb */
input[type='range']::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
    cursor: pointer;
}
