/* yellow: #F8DF6D; */
/* green: #A0C35A */
/* blue: #B0C5F0 */
/* purple: #BB80C4 */

*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
  font: inherit; /* Get rid of all font sizes and heights */
}

html {
  color-scheme: light;
}

body {
  min-height: 100vh;
}

/* Media responsive */
img, picture, svg, video {
  display: block;
  max-width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}

p {
  max-width: 75ch;
  text-wrap: wrap; /* Prevents orphans on lines */
}

.container {
    margin: auto;
    max-width: 800px;
}

.heading {
    font-family: "Bevan", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 2rem;
    padding-block-start: 1rem;
    text-align: center;
}

.sub-heading {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
}

.instruction {
    font-family: "Libre Franklin", sans-serif;
    padding-block: 1rem;
    text-align: left;
}

.stats {
    font-family: "Libre Franklin", sans-serif;
    padding-block: 1rem;
    text-align: right;
}


.grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    gap: 1em;
}

.square {
    border: none;
    background-color: #efefe6;
    border-radius: 6px;
    padding-inline: 0.25rem;
    padding-block: 1rem;
    display: flex;
    justify-content: center;
    font-size: 1rem;
    font-family: "Libre Franklin", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    text-transform: uppercase;
    cursor:pointer;
}

.square:active,
.clicked 
{
    background-color: #5a594e;
    color: #fff;
}

:modal {
    background-color: white;
    border: none;
    border-radius: 6px;
    max-width: 400px;
}

.hint-heading {
   font-family: "Libre Franklin", sans-serif;
   text-transform: uppercase;
   margin: 1rem;
   display: flex;
   justify-content: center;
   font-weight: bold;
}

.hint {
    font-family: "Libre Franklin", sans-serif;
    padding: 2em;
    margin: 1em;
    border-radius: 6px;

}

.hint-ok-button,
.start-again-button {
    padding-block: 1em;
    padding-inline: 3em;
    margin: 2em auto;
    display: block;
    border: 1px solid black;
    border-radius: 30px;
    font-family: "Libre Franklin", sans-serif;
    text-transform: capitalize;
    background-color: white;
    color: black;
    cursor:pointer;
}

.well-done-text {
    font-family: "Bevan", serif;
    font-size: 2rem;
    padding: 1em;
    margin: 1em;
    border-radius: 6px;
}
.yellow {
    background-color: #F8DF6D;
}

.green {
    background-color: #A0C35A;
}

.blue {
    background-color: #B0C5F0;
}

.purple {
    background-color: #BB80C4;
}


.disabled {
    pointer-events: none;
    cursor: not-allowed;
}

.button-row {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.submit-button,
.start-button,
.hint-button {
    padding-block: 1em;
    padding-inline: 3em;
    margin: 1rem auto;
    border: 1px solid black;
    border-radius: 30px;
    font-family: "Libre Franklin", sans-serif;
    text-transform: capitalize;
    background-color: white;
    color: black;
    cursor:pointer;
}

.submit-button:active,
.submit-button:hover {
  opacity: .75;
}

.submit-button.disabled {
    background-color: white;
    border: 1px solid gray;
    color: gray;
}

@media (prefers-reduced-motion: no-preference) {
  :has(:target) {
    scroll-behavior: smooth;
    scroll-padding-top: 3rem;
  }
}


