.candy{
    --animtion: candy-animation;
    --bg: #04C3FF;
    --fg: #ffffff;
    --cell: #ce006e;
    --scoreboard-bg: #ce006e;
    --scoreboard-fg: #fff;
    --x: #B51BC2;
    --o: #F5815C;
    --border-radius: 40%;
}
.cyberpunk{
    --animtion: cyberpunk-animation;
    --bg: #001343;
    --fg: #ffffff;
    --cell: #00FF1A;
    --scoreboard-bg: #00b512;
    --scoreboard-fg: #fff;
    --x: #00D1FF;
    --o: #FF00F5;
    --border-radius: 5px;
}
.desert{
    --animtion: desert-animation;
    --bg: #FEE4A2;
    --fg: #6D573D;
    --cell: #6D573D;
    --scoreboard-bg: #6D573D;
    --scoreboard-fg: #fff;
    --x: #6D573D;
    --o: #FF6B00;
    --border-radius: 0;
}
.dreamy{
    --animtion: dreamy-animation;
    --bg: #e3f2fa;
    --fg: #000000;
    --cell: #75B5FF;
    --scoreboard-bg: #75B5FF;
    --scoreboard-fg: #fff;
    --x: #75B5FF;
    --o: #E0ADFF;
    --border-radius: 50%;
}
.forest{
    --animtion: forest-animation;
    --bg: #00CD5E;
    --fg: #ffffff;
    --cell: #70523C;
    --scoreboard-bg: #70523C;
    --scoreboard-fg: #fff;
    --x: #70523C;
    --o: #81331B;
    --border-radius: 0;
}
.noir{
    --animtion: noir-animation;
    --bg: #262626;
    --fg: #ffffff;
    --cell: #FFFFFF;
    --scoreboard-bg: #191919;
    --scoreboard-fg: #fff;
    --x: #FFFFFF;
    --o: #AEACAC;
    --border-radius: 0;
}
.persia{
    --animtion: persia-animation;
    --bg: #4E4141;
    --fg: #ffffff;
    --cell: #D3A880;
    --scoreboard-bg: #F34747;
    --scoreboard-fg: #fff;
    --x: #F34747;
    --o: #FFB0B0;
    --border-radius: 20px;
}

body{
    background-color: var(--bg);
    color: var(--fg);
    width: 100vw !important;
    overflow-x: hidden;
}

@keyframes candy-animation {
    0%, 100% {
      transform: scale(1.0) translateY(0);
    }
    25% {
      transform: scale(1.05) translateY(-20px);
    }
    50% {
      transform: scale(1.0) translateY(20px);
    }
    62.5% {
      transform: scale(1.05) translateY(-20px);
    }
}

@keyframes cyberpunk-animation {
    0%, 50%, 100% {
      transform: translateY(0);
      filter: brightness(0.6);
    }
    25% {
      transform: translateX(-20px);
      filter: brightness(2.0);
    }
    75% {
      transform: translateX(20px);
      filter: brightness(2.0);
    }
}

@keyframes desert-animation {
    0%, 50%, 100% {
      transform: translateY(0);
    }
    25% {
        transform: translate(-20px, -20px)
    }
    75% {
      transform: translate(20px, 20px);
    }
}

@keyframes dreamy-animation {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(20px);
    }
}

@keyframes forest-animation {
    0%, 50%, 100% {
      transform: translateY(0);
    }
    25% {
      transform: translateX(-30px);
    }
    75% {
      transform: translateX(30px);
    }
}

@keyframes noir-animation {
    0%, 100% {
      transform: translate(0);
      filter: brightness(0.5);
    }
    50% {
        transform: translate(10px, 10px);
        filter: brightness(2.0);
    }
}

@keyframes persia-animation {
    0%, 100% {
      transform: translate(0);
      filter: brightness(2.0);
    }
    12.5% {
        transform: translate(-20px, 20px);
        filter: brightness(0.7);
    }
    25% {
        transform: translate(20px, 20px);
        filter: brightness(2.0);
    }
    50% {
        transform: translate(20px, 0px);
        filter: brightness(0.7);
    }
    62.5% {
        transform: translate(-20px, -20px);
        filter: brightness(2.0);
    }
    75% {
      transform: translate(0px, -20px);
      filter: brightness(0.7);
    }
}

@keyframes btn-hover {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-20px);
    }
}

a{
    color: var(--fg);
    font-weight: bolder;
    text-decoration: underline;
}

span{
    font-size: 0.95em;
}
* img{
    width: 100%;
    height: 100%;
}    
.x-user, .o-user{
    font-weight: bolder;
}
.world-option{
    background-color: var(--bg);
    color: var(--x);
    border: 5px solid var(--o);
    margin-top: 10px;
    margin-bottom: 10px;
    width: 100%;
    border-radius: 20px;
    font-size: 1.2em;
    font-weight: bolder;
    cursor: pointer;
}

.user-avatar-row{
    height: 10vh;
}
.user-avatar{
    margin: 0 auto;
}
.user-avatar .avatar{
    height: 10vh;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.hidden{
    display: none;
}
.back-icon{
    top: 0;
    left: 0;
    position: absolute;
    font-size: 1.2em;
    padding: 10px;
}
.settings-icon{
    top: 0;
    right: 0;
    position: absolute;
    font-size: 1.2em;
    padding: 10px;
}
.back-icon:hover, .back-icon:focus, .back-icon:active,
.back-icon a:hover, .back-icon a:focus, .back-icon a:active,
.settings-icon:hover, .settings-icon:focus, .settings-icon:active,
.settings-icon a:hover, .settings-icon a:focus, .settings-icon a:active {
    color: var(--fg);
    transform: scale(1.5)
}
.avatar-option, .avatar-option2{
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    height: 30vh;
}
.avatar-option.focused, .avatar-option2.focused{
    border: 3px solid var(--x);
}
.animation{
    animation: var(--animtion) 2s infinite ease;
}
.animation-reverse{
    animation: var(--animtion) 3.5s infinite ease;
}
.loading-icon{
    width: 20vw;
    margin: 0 auto;
    display: flex;
}
.loading-icon div{
    width: 50%;
    display: inline-block;
}
.amount-selector{
    padding: 10px;
    color: var(--fg);
    border: none;
    border-bottom: 2px solid var(--fg);
    background-color: transparent;
}
.amount-selector.focused, .amount-selector::selection, .amount-selector:focus, .amount-selector:active{
    outline: none !important;
}
.navigatable-element.focused, .navigatable-element:active, .navigatable-element:focus, .navigatable-element:active{
    outline-color: var(--x);
    filter: brightness(1.1);
    border: 1px solid var(--x);
    transition: transform 0.3s ease;
    animation: btn-hover 2s infinite ease;
}
.navigatable-element.focused.icon{
    color: var(--x);
    filter: brightness(1.1);
    outline: none !important;
}
.lang-btn, .mode-btn, .opp-btn{
    cursor: pointer;
    border: 1px solid #fff;
    background-color: var(--bg);
    color: var(--fg);
    margin-top: 25px;
    margin-bottom: 25px;
    text-align: center;
    font-size: 20px;
    padding: 20px;
    filter: brightness(0.9);
}

.lang-btn span, .mode-btn span, .opp-btn span{
    color: var(--fg) !important;
}
.lang-btn:hover, .lang-btn:focus, .lang-btn:active,
.mode-btn:hover, .mode-btn:focus, .mode-btn:active{
    filter: brightness(1.1);
    outline: none;
    transition: transform 0.3s ease; 
    animation: btn-hover 2s infinite ease;
}
.left{
    left: 0;
}
#message-section{
    font-size: 1.5;
    font-weight: bolder;
}
.accent-btn{
    background-color: var(--scoreboard-bg);
    color: var(--scoreboard-fg);
    border: none;
    border-radius: 20px;
    width: 100% !important;
    font-size: 1.2em;
    margin-top: 5px;
    padding: 5px;
}
.scoreboard{
    display: grid;
    grid-template-columns: repeat(3, auto);
    border-radius: 100px;
    font-weight: bold;
    width: 100%;
    padding: 10px;
    background-color: var(--scoreboard-bg);
}
.scoreboard .score-group{
    text-align: center;
    background-color: var(--scoreboard-bg);
    color: var(--scoreboard-fg);
}
.scoreboard .score-group *{
    padding-left: 10px;
    display: inline-block;
    z-index: 20;
}
.bottom-tray{
    bottom: 15px;
    width: 100vw;
    padding: 10px;
    position: absolute;
}
.bottom-tray2{
    bottom: 15px;
    width: 100vw;
    padding: 10px;
}
#toss-region{
    width: 100%;
    height: 50vh;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.board{
    margin: 0 auto;
    margin-top: 1vh;
    margin-bottom: 1vh;
    width: 40vw;
    padding: 0;
    transition: 0.5s; /* Add transition for a smooth effect */
}

.inner-board{
    display: grid;
    grid-template-columns: repeat(3, auto);
    width: 300px;
    margin: 0 auto;
}

.cell{
    border-radius: var(--border-radius);
    border: 5px solid var(--cell);
    display: grid;
    aspect-ratio: 1/1;
    text-align: center;
    padding-top: 50px;
    font-weight: bolder;
    margin: 10px;
    animation: var(--animtion) 2s infinite ease;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.cell.focused, .cell:active, .cell:focus, .cell:active{
    animation: var(--animtion) 2s infinite ease;
}
.settings-option{
    text-align: center;
    text-decoration: none;
    font-size: 1.3em;
    padding: 10px;
    width: 100%;
    color: var(--x) !important;
}
.settings-option:hover, .settings-option:focus, .settings-option:active{
    animation: var(--animtion) 2s infinite ease;
    outline: none !important;
}
.settings-option:hover *, .settings-option:focus *, .settings-option:active *{
    color: var(--x) !important;
    text-decoration: underline;
    animation: var(--animtion) 2s infinite ease;
    outline: none !important;
}
.minion img{
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 760px) {
    .board{
        width: 80vw;
        margin-left: 10vw;
    }
    .custom-heading{
        font-size: 1.5em;
    }
    .loading-icon{
        width: 50vw;
    }
}
@media screen and (min-width: 760px) {
    .board{
        width: 70vw;
        margin-left: 15vw;
    }
    .custom-heading{
        font-size: 1.4em;
    }
}
