* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --border: 6px solid black;
}

body {
    font-family: Arial, sans-serif;
}

h1 {
    padding: 16px;
    text-align: center;
}

.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0 30vw;
}

.grid-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    font-size: 10vw;
}

.grid > div:nth-child(2),
.grid > div:nth-child(8) {
    border-left: var(--border);
    border-right: var(--border  );
}

.grid > div:nth-child(4),
.grid > div:nth-child(6) {
    border-top: var(--border);
    border-bottom: var(--border);
}

.grid > div:nth-child(5) {
    border: var(--border);
}

form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

dialog::backdrop {
  background: rgba(0, 0, 0, 0.5); 
}

dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 32px;
    border: 1px solid black;
    border-radius: 8px;
}

button {
    border: 1px solid black;
    border-radius: 4px;
    padding: 8px;
    background-color: white;
}

button:hover {
    filter: brightness(95%);
}

button:active {
    filter: brightness(85%);
}

.reset {
    display: flex;
    justify-self: center;
    padding: 2px 16px;
    margin-bottom: 24px;
}