Top Digital Marketing Agency in Dhrangadhra | Website Development & Designing – Netbyzz
<!-- CODE = #A068 -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>NETBYZZ A068</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<form class="game">
<input type="checkbox" id="x-0" />
<svg class="x board__x" style="--x: 0; --y: 0" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-0" />
<svg class="o board__o" style="--x: 0; --y: 0" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-1" />
<svg class="x board__x" style="--x: 1; --y: 0" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-1" />
<svg class="o board__o" style="--x: 1; --y: 0" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-2" />
<svg class="x board__x" style="--x: 2; --y: 0" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-2" />
<svg class="o board__o" style="--x: 2; --y: 0" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-3" />
<svg class="x board__x" style="--x: 0; --y: 1" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-3" />
<svg class="o board__o" style="--x: 0; --y: 1" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-4" />
<svg class="x board__x" style="--x: 1; --y: 1" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-4" />
<svg class="o board__o" style="--x: 1; --y: 1" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-5" />
<svg class="x board__x" style="--x: 2; --y: 1" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-5" />
<svg class="o board__o" style="--x: 2; --y: 1" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-6" />
<svg class="x board__x" style="--x: 0; --y: 2" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-6" />
<svg class="o board__o" style="--x: 0; --y: 2" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-7" />
<svg class="x board__x" style="--x: 1; --y: 2" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-7" />
<svg class="o board__o" style="--x: 1; --y: 2" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<input type="checkbox" id="x-8" />
<svg class="x board__x" style="--x: 2; --y: 2" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
<input type="checkbox" id="o-8" />
<svg class="o board__o" style="--x: 2; --y: 2" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
<div class="board">
<svg
class="board__line"
viewBox="0 0 10 300"
style="--rotate: 0; --shift: -1; --delay: 0.75"
>
<path
d="M 5 5 L 5 295"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="300"
stroke-dashoffset="300"
></path>
</svg>
<svg
class="board__line"
viewBox="0 0 10 300"
style="--rotate: 1; --shift: -1; --delay: 0.5"
>
<path
d="M 5 5 L 5 295"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="300"
stroke-dashoffset="300"
></path>
</svg>
<svg
class="board__line"
viewBox="0 0 10 300"
style="--rotate: 0; --shift: 1; --delay: 1"
>
<path
d="M 5 5 L 5 295"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="300"
stroke-dashoffset="300"
></path>
</svg>
<svg
class="board__line"
viewBox="0 0 10 300"
style="--rotate: 1; --shift: 1; --delay: 0.25"
>
<path
d="M 5 5 L 5 295"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="300"
stroke-dashoffset="300"
></path>
</svg>
<div class="board__cell">
<label for="x-0">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-0">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-1">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-1">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-2">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-2">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-3">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-3">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-4">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-4">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-5">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-5">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-6">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-6">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-7">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-7">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
<div class="board__cell">
<label for="x-8">
<svg class="x ghost" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</label>
<label for="o-8">
<svg class="o ghost" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</label>
</div>
</div>
<div class="game__result game__result--x result">
<div
class="confetti"
style="--rotation: 88.67759328628091; --travel: -63.685700547037214"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 15.87210692179272; --travel: -73.49657461699755"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -40.252287833849266; --travel: -52.28111144109442"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -21.87256286694725; --travel: -19.279771602280917"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -3.932393690901776; --travel: -24.28802797188738"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -68.87444216048108; --travel: -99.12587245449056"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 78.81939577279019; --travel: -76.51192909192504"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 42.75534636643059; --travel: -43.446756161778666"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -78.87450041893254; --travel: -86.57507585776938"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -47.04571147893254; --travel: -5.41975411641229"
>
🎉
</div>
<div class="result__content">
<div class="result__title">Winner!</div>
<svg class="x result__winner" viewBox="0 0 100 100">
<path
class="cross"
d="M 80 20 L 20 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
<path
class="cross"
d="M 20 20 L 80 80"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="100"
stroke-dashoffset="100"
></path>
</svg>
</div>
</div>
<div class="game__result game__result--o result">
<div
class="confetti"
style="--rotation: 45.06286971095983; --travel: -16.861521028337112"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 23.518644839041997; --travel: -2.272243031230836"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -60.67831525982104; --travel: -0.3715893517440172"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 8.154722988929223; --travel: -46.92937076495796"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 33.94428346189427; --travel: -0.7907365629413521"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -57.38853099584911; --travel: -57.730814799503996"
>
🎉
</div>
<div
class="confetti"
style="--rotation: -61.01266807731401; --travel: -85.63100554838448"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 74.41973681241993; --travel: -78.0993218096159"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 41.92587914294856; --travel: -18.41257006989736"
>
🎉
</div>
<div
class="confetti"
style="--rotation: 0.9532374575441622; --travel: -60.71750172819319"
>
🎉
</div>
<div class="result__content">
<div class="result__title">Winner!</div>
<svg class="o result__winner" viewBox="0 0 100 100">
<circle
cx="50"
cy="50"
r="30"
fill="none"
stroke-width="10"
stroke-linecap="round"
stroke-dasharray="200"
stroke-dashoffset="200"
></circle>
</svg>
</div>
</div>
<div class="game__result game__result--draw result">
<div class="result__content">
<div class="result__title">Draw...</div>
<svg class="zzz result__winner" viewBox="0 0 24 24">
<path
d="M23,12H17V10L20.39,6H17V4H23V6L19.62,10H23V12M15,16H9V14L12.39,10H9V8H15V10L11.62,14H15V16M7,20H1V18L4.39,14H1V12H7V14L3.62,18H7V20Z"
></path>
</svg>
</div>
</div>
<button type="reset" title="Reset Board">
<svg class="reset" viewBox="0 0 24 24">
<path
d="M17.65,6.35C16.2,4.9 14.21,4 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20C15.73,20 18.84,17.45 19.73,14H17.65C16.83,16.33 14.61,18 12,18A6,6 0 0,1 6,12A6,6 0 0,1 12,6C13.66,6 15.14,6.69 16.22,7.78L13,11H20V4L17.65,6.35Z"
></path>
</svg>
</button>
</form>
</body>
</html>@font-face {
font-family: Cyber;
src: url("https://assets.codepen.io/605876/Blender-Pro-Bold.otf");
font-display: swap;
}
* {
box-sizing: border-box;
}
:root {
--size: 300px;
--piece-size: calc(var(--size) / 3);
--line: #e6e6e6;
--bg: #060d13;
--naught: #75f0b3;
--naught-alpha: rgba(117, 240, 179, 0.5);
--cross: #c775f0;
--cross-alpha: rgba(199, 117, 240, 0.5);
--draw-speed: 0.15;
--color: #2a2222;
}
@media (min-width: 768px) {
:root {
--size: 50vmin;
}
}
@media (max-height: 500px) {
:root {
--size: 300px;
}
}
body {
min-height: 100vh;
display: grid;
place-items: center;
margin: 0;
overflow: hidden;
background: var(--bg);
color: var(--color);
font-family: "Cyber", sans-serif;
text-transform: uppercase;
}
svg {
filter: drop-shadow(0 -0.25vmin 0.25vmin #000) drop-shadow(0 0 0.5vmin var(--alpha)) drop-shadow(0 0 1vmin var(--alpha)) drop-shadow(0 0 5vmin var(--stroke)) brightness(1.2);
stroke: var(--stroke);
}
form,
.board {
display: grid;
place-items: center;
position: relative;
}
.game__result {
display: none;
position: absolute;
width: calc(var(--size) * 1.5);
height: calc(var(--size) * 1.5);
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
}
label,
.o,
.x {
position: absolute;
display: inline-block;
height: var(--piece-size);
width: var(--piece-size);
}
label {
cursor: pointer;
}
label:hover .ghost {
opacity: 0.5;
}
.ghost {
opacity: 0;
transition: opacity calc(var(--draw-speed) * 1s);
}
.o {
--alpha: var(--naught-alpha);
--stroke: var(--naught);
transform: rotateX(180deg);
}
.x {
--alpha: var(--cross-alpha);
--stroke: var(--cross);
}
.x path:nth-of-type(2) {
--delay: var(--draw-speed);
}
:checked+.x {
display: block;
}
:checked+.o {
display: block;
}
.board {
height: var(--size);
width: var(--size);
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(3, 1fr);
}
.board__x,
.board__o {
display: none;
left: calc(var(--x) * (100% / 3));
top: calc(var(--y) * (100% / 3));
z-index: 2;
position: absolute;
}
.board__line {
--stroke: var(--line);
--alpha: rgba(230, 230, 230, 0.5);
width: calc(var(--size) * 0.05);
height: var(--size);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(calc(var(--rotate) * -90deg)) translate(calc(var(--shift) * ((var(--size) / 3) * 0.5)), 0);
}
.board__cell {
height: var(--piece-size);
width: var(--piece-size);
}
input,
button {
position: absolute;
}
button {
top: 125%;
background: transparent;
border: 0;
padding: 0;
height: 5vmin;
width: 5vmin;
min-height: 48px;
min-width: 48px;
outline: transparent;
cursor: pointer;
display: none;
transition: transform calc(var(--draw-speed) * 1s);
-webkit-animation: fadeIn calc(var(--draw-speed) * 4s) calc(var(--draw-speed) * 2s) both;
animation: fadeIn calc(var(--draw-speed) * 4s) calc(var(--draw-speed) * 2s) both;
}
button:hover {
transform: translate(0, -4%);
}
button:active {
transform: translate(0, 2%) scale(0.8);
}
.reset {
height: 100%;
fill: var(--line);
}
input {
position: fixed;
left: 100%;
}
.result {
-webkit-animation: flyIn calc(var(--draw-speed) * 3s) ease-in both;
animation: flyIn calc(var(--draw-speed) * 3s) ease-in both;
-webkit-backdrop-filter: blur(25px);
backdrop-filter: blur(25px);
z-index: 10;
}
.result__content {
height: 40%;
width: 40%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
position: absolute;
border-radius: 15%;
background: rgba(36, 51, 66, 0.8);
color: #fff;
align-items: center;
display: flex;
justify-content: center;
flex-direction: column;
font-weight: bold;
font-size: 2rem;
box-shadow: 0 3vmin 2.5vmin -2.5vmin #000;
}
.result__winner {
position: static;
height: calc(var(--size) / 3);
}
.zzz {
--stroke: #197fe6;
fill: var(--stroke);
}
:checked~.board .board__cell label:nth-of-type(odd),
:checked~ :checked~ :checked~.board .board__cell label:nth-of-type(odd),
:checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(odd),
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(odd),
:checked~ :checked~.board .board__cell label:nth-of-type(even),
:checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(even),
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(even),
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(even) {
display: block;
}
:checked~.board .board__cell label:nth-of-type(even),
:checked~ :checked~ :checked~.board .board__cell label:nth-of-type(even),
:checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(even),
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(even),
:checked~ :checked~.board .board__cell label:nth-of-type(odd),
:checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(odd),
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(odd),
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~.board .board__cell label:nth-of-type(odd) {
display: none;
}
#x-0:checked~#x-1:checked~#x-2:checked~.game__result--x,
#x-3:checked~#x-4:checked~#x-5:checked~.game__result--x,
#x-6:checked~#x-7:checked~#x-8:checked~.game__result--x,
#x-0:checked~#x-3:checked~#x-6:checked~.game__result--x,
#x-1:checked~#x-4:checked~#x-7:checked~.game__result--x,
#x-2:checked~#x-5:checked~#x-8:checked~.game__result--x,
#x-0:checked~#x-4:checked~#x-8:checked~.game__result--x,
#x-2:checked~#x-4:checked~#x-6:checked~.game__result--x,
#o-0:checked~#o-1:checked~#o-2:checked~.game__result--o,
#o-3:checked~#o-4:checked~#o-5:checked~.game__result--o,
#o-6:checked~#o-7:checked~#o-8:checked~.game__result--o,
#o-0:checked~#o-3:checked~#o-6:checked~.game__result--o,
#o-1:checked~#o-4:checked~#o-7:checked~.game__result--o,
#o-2:checked~#o-5:checked~#o-8:checked~.game__result--o,
#o-0:checked~#o-4:checked~#o-8:checked~.game__result--o,
#o-2:checked~#o-4:checked~#o-6:checked~.game__result--o {
display: flex;
}
#x-0:checked~#x-1:checked~#x-2:checked~.game__result--x~.game__result--draw,
#x-3:checked~#x-4:checked~#x-5:checked~.game__result--x~.game__result--draw,
#x-6:checked~#x-7:checked~#x-8:checked~.game__result--x~.game__result--draw,
#x-0:checked~#x-3:checked~#x-6:checked~.game__result--x~.game__result--draw,
#x-1:checked~#x-4:checked~#x-7:checked~.game__result--x~.game__result--draw,
#x-2:checked~#x-5:checked~#x-8:checked~.game__result--x~.game__result--draw,
#x-0:checked~#x-4:checked~#x-8:checked~.game__result--x~.game__result--draw,
#x-2:checked~#x-4:checked~#x-6:checked~.game__result--x~.game__result--draw,
#o-0:checked~#o-1:checked~#o-2:checked~.game__result--o~.game__result--draw,
#o-3:checked~#o-4:checked~#o-5:checked~.game__result--o~.game__result--draw,
#o-6:checked~#o-7:checked~#o-8:checked~.game__result--o~.game__result--draw,
#o-0:checked~#o-3:checked~#o-6:checked~.game__result--o~.game__result--draw,
#o-1:checked~#o-4:checked~#o-7:checked~.game__result--o~.game__result--draw,
#o-2:checked~#o-5:checked~#o-8:checked~.game__result--o~.game__result--draw,
#o-0:checked~#o-4:checked~#o-8:checked~.game__result--o~.game__result--draw,
#o-2:checked~#o-4:checked~#o-6:checked~.game__result--o~.game__result--draw {
display: none;
}
#x-0:checked~#x-1:checked~#x-2:checked~.game__result--x~button,
#x-3:checked~#x-4:checked~#x-5:checked~.game__result--x~button,
#x-6:checked~#x-7:checked~#x-8:checked~.game__result--x~button,
#x-0:checked~#x-3:checked~#x-6:checked~.game__result--x~button,
#x-1:checked~#x-4:checked~#x-7:checked~.game__result--x~button,
#x-2:checked~#x-5:checked~#x-8:checked~.game__result--x~button,
#x-0:checked~#x-4:checked~#x-8:checked~.game__result--x~button,
#x-2:checked~#x-4:checked~#x-6:checked~.game__result--x~button,
#o-0:checked~#o-1:checked~#o-2:checked~.game__result--o~button,
#o-3:checked~#o-4:checked~#o-5:checked~.game__result--o~button,
#o-6:checked~#o-7:checked~#o-8:checked~.game__result--o~button,
#o-0:checked~#o-3:checked~#o-6:checked~.game__result--o~button,
#o-1:checked~#o-4:checked~#o-7:checked~.game__result--o~button,
#o-2:checked~#o-5:checked~#o-8:checked~.game__result--o~button,
#o-0:checked~#o-4:checked~#o-8:checked~.game__result--o~button,
#o-2:checked~#o-4:checked~#o-6:checked~.game__result--o~button {
display: block;
}
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~.game__result--draw {
display: block;
}
:checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~ :checked~button {
display: block;
}
.board__line path,
.o circle,
.x path {
-webkit-animation: draw calc(var(--draw-speed) * 1s) calc(var(--delay, 0) * 1s) ease-in both;
animation: draw calc(var(--draw-speed) * 1s) calc(var(--delay, 0) * 1s) ease-in both;
}
.confetti {
position: absolute;
top: 50%;
left: 50%;
font-size: 2rem;
-webkit-animation: celebrate 1s forwards,
fadeOut calc(var(--draw-speed) * 1s) calc((1 - var(--draw-speed)) * 1s) forwards;
animation: celebrate 1s forwards,
fadeOut calc(var(--draw-speed) * 1s) calc((1 - var(--draw-speed)) * 1s) forwards;
}
@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
}
@-webkit-keyframes flyIn {
from {
opacity: 0;
transform: translate(-50%, 250%) scale(0);
}
}
@keyframes flyIn {
from {
opacity: 0;
transform: translate(-50%, 250%) scale(0);
}
}
@-webkit-keyframes draw {
to {
stroke-dashoffset: 0;
}
}
@keyframes draw {
to {
stroke-dashoffset: 0;
}
}
@-webkit-keyframes fadeOut {
to {
opacity: 0;
}
}
@keyframes fadeOut {
to {
opacity: 0;
}
}
@-webkit-keyframes celebrate {
from {
transform: translate(-50%, -50%) rotate(calc(var(--rotation) * 1deg)) scale(0) translate(0, 0);
}
to {
transform: translate(-50%, -50%) rotate(calc(var(--rotation) * 1deg)) scale(1) translate(0, calc(var(--travel) * 1vmin));
}
}
@keyframes celebrate {
from {
transform: translate(-50%, -50%) rotate(calc(var(--rotation) * 1deg)) scale(0) translate(0, 0);
}
to {
transform: translate(-50%, -50%) rotate(calc(var(--rotation) * 1deg)) scale(1) translate(0, calc(var(--travel) * 1vmin));
}
}