@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); } }