@font-face {
font-family: "Caveat Brush";
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(https://fonts.gstatic.com/s/caveatbrush/v11/EYq0maZfwr9S9-ETZc3fKXtMWw.ttf) format("truetype");
}
body {
background-color: rgba(var(--active-background-color), 1);
/* background-image: radial-gradient(circle, rgba(var(--active-background-color), 1) 0%, color-mix(in srgb, rgba(var(--active-background-color), 1) 60%, black) 100%); */
background-image: radial-gradient(circle, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
color: #222;
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
max-height: 100vh;
width: 100vw;
max-width: 100vw;
overflow: hidden;
transition: background-color 0.6s ease-out;
}
#game-container {
padding: 20px;
border-radius: 8px;
text-align: center;
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.buttons {
position: relative;
z-index: 20;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 4px;
margin-top: 15px;
#new-game {
padding: 10px 20px;
background-color: #555;
border: none;
color: #fff;
font-size: 16px;
border-radius: 4px;
cursor: pointer;
}
#new-game:hover {
background-color: #777;
}
}
#status {
margin-bottom: 10px;
font-family: "Caveat Brush", serif;
font-size: 3rem;
font-weight: 600;
color: color-mix(in srgb, rgba(var(--active-background-color), 1) 30%, black);
}
#board {
display: grid;
grid-template-columns: repeat(8, 1fr);
gap: 2px;
margin: 0;
background-color: rgba(68, 68, 68, 1);
border: none;
border-radius: 0.35rem;
overflow: hidden;
padding: 8px;
width: 90%;
max-height: 90vw;
}
@media screen and (orientation: landscape) {
#game-container {
width: 100vh;
max-width: 100vh;
aspect-ratio: 4 / 3;
}
#board {
display: grid;
grid-template-columns: repeat(8, 1fr);
gap: 2px;
width: 70vh;
max-width: 70vh;
}
}
@media screen and (orientation: portrait) {
#game-container {
width: 90vw;
max-width: 90vw;
aspect-ratio: 4 / 3;
}
}
.cell {
width: 100%;
aspect-ratio: 1 / 1;
box-sizing: border-box;
position: relative;
cursor: pointer;
}
.light {
background-color: #666;
}
.dark {
background-color: rgb(68, 68, 68);
}
.cell.highlight:after {
background-image: repeating-linear-gradient(-45deg, rgba(var(--active-background-color), 0.1), rgba(var(--active-background-color), 0.1) 1rem, rgba(var(--active-background-color), 0.4) 1rem, rgba(var(--active-background-color), 0.4) 2rem);
background-size: 200% 200%;
animation: barberpole 10s linear infinite;
position: absolute;
content: "";
width: 80%;
height: 80%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
opacity: 0.4;
}
@keyframes barberpole {
100% {
background-position: 100% 100%;
}
}
.piece {
width: 80%;
height: 80%;
border-radius: 50%;
margin: 0;
position: relative;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: rgba(var(--player-color), 1);
/* border:0.35rem solid rgb(var(--player-color)); */
box-shadow: 0.2rem 0.2rem 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0 0.2rem inset rgba(0, 0, 0, 0.2);
/* filter: drop-shadow(0px 0px red);*/
}
.cell.selected .piece {
filter: brightness(0.6);
/* animation-name: pulse;
animation-duration: 1.4s;
animation-timing-function: linear;
animation-iteration-count: infinite; */
}
.piece.must-capture {
/* filter: brightness(0.6); */
animation-name: pulse;
animation-duration: 1.4s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
/* .piece::after {
position: absolute;
content: "";
width: 100%;
height: 100%;
border-radius: 50%;
margin: 0;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(0deg);
/* border:0.35rem var(--border-style) var(--border-color); * /
animation-duration: 6s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
.piece.spin-ani::after {
transform: translate(-50%, -50%) rotate(0deg);
border: 0.35rem var(--border-style) var(--border-color);
animation-name: spin;
} */
.piece.king {
background-image: url("data:image/svg+xml,");
background-size: 50%;
background-repeat: no-repeat;
background-position: center;
}
#winMessage {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #222;
padding: 20px 30px;
border: 8px solid rgb(68, 68, 68);
color: rgb(68, 68, 68);
border-radius: 8px;
font-size: 24px;
display: none;
z-index: 10;
cursor: pointer;
}
#setPlayerNamesWrapper {
position: absolute;
top: 50%;
left: 50%;
width: 40%;
aspect-ratio: 16 / 9;
transform: translate(-50%, -50%);
border-radius: 8px;
padding: 20px 30px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 0;
background-image: url(http://62.68.75.171/themes/prismify-bootstrap-starter-kit/assets/images/dame_header_image.png);
background-repeat: no-repeat;
background-size: contain;
background-position: center;
#setPlayerNamesInputs {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
input,
label {
font-family: "Caveat Brush", serif;
font-size: 2rem;
font-weight: 600;
border-radius: 4px;
border-width: 8px;
border-style: solid;
border-color: transparent;
background-color: transparent;
}
#inputPlayerName1 {
padding: 10px 20px;
background-color: rgb(var(--player1-color));
border-color: rgb(var(--player1-color));
color: color-mix(in srgb, rgba(var(--player1-color), 1) 20%, rgb(14, 14, 64));
transform: rotate(0.2deg);
margin-left: 4px;
margin-right: -4px;
}
#modeSelect {
padding: 10px 20px;
background-color: rgb(var(--player2-color));
border-color: rgb(var(--player2-color));
transform: rotate(-0.2deg);
border-radius: 4px;
border-width: 8px;
margin-top: -8px;
max-width: 60%;
margin-left: 60px;
#inputPlayerName2 {
color: color-mix(in srgb, rgba(var(--player2-color), 1) 20%, rgb(38, 7, 7));
text-align: right;
max-width: calc(100% - 60px);
}
#cpuToggle {
display: none;
}
label {
padding: 10px 20px;
background-color: rgb(var(--player2-color));
border: 8px solid rgb(var(--player2-color));
color: #555;
font-size: 16px;
cursor: pointer;
transition: all 0.3s ease-in-out;
background-repeat: no-repeat;
background-image: url("data:image/svg+xml,");
}
label:has(#cpuToggle:checked) {
background-image: url("data:image/svg+xml,");
}
}
input:focus {
outline: none;
}
span#vs {
position: absolute;
top: 50%;
margin-top: -10px;
font-family: "Caveat Brush", serif;
font-size: 2rem;
font-weight: 600;
left: 50%;
transform: translate(-50%, -50%);
color: rgba(255, 255, 255, 1);
text-shadow: #444 2px 2px 0px, #444 2px -2px 0px, #444 -2px 2px 0px, #444 -2px -2px 0px, #444 2px 0px 0px, #444 0px 2px 0px, #444 -2px 0px 0px, #444 0px -2px 0px;
}
}
#savePlayerNames {
padding: 10px 20px;
background-color: #555;
border: none;
color: #fff;
font-size: 16px;
border-radius: 4px;
cursor: pointer;
margin-top: 12px;
}
}
#setPlayerNamesWrapperBackdrop {
position: absolute;
content: "";
width: 100vw;
height: 100vh;
top: 0px;
left: 0;
backdrop-filter: blur(10px);
}
@keyframes pulse {
0% {
filter: brightness(1);
}
50% {
filter: brightness(0.4);
}
100% {
filter: brightness(1);
}
}
@keyframes spin {
from {
transform: translate(-50%, -50%) rotate(0deg);
}
to {
transform: translate(-50%, -50%) rotate(360deg);
}
}