/* =========================
   Graphic Definition Stylesheet
   ========================= */

* {
  box-sizing: border-box;
}

body {
  background-color: black;
  color: rgb(128, 128, 0);
  font-family: 'Times New Roman', serif;
  margin: 0;
  line-height: 1.6;
  font-size: 22px; /* Base font size for all body text */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Images */
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border: 0;
}

/* Caption */
.caption {
  text-align: center;
  margin-top: 8px;
  margin-bottom: 20px;
  color: rgb(153, 153, 153);
  font-size: 22px; /* Match body text size */
}

/* Links */
a {
  color: #808000;
  text-decoration: none;
}

a:hover {
  color: #a0a000;
  text-decoration: underline;
}

a:focus {
  outline: 2px dashed #808000;
  outline-offset: 4px;
}

a:visited {
  color: rgb(153, 153, 153);
}

/* Utility text */
.text-light {
  color: white;
}

.text-muted {
  color: rgb(153, 153, 153);
}

.centered {
  text-align: center;
}

.narrow-block {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.margin-left-large {
  margin-left: 40px;
}

.margin-horizontal-large {
  margin-left: 50px;
  margin-right: 50px;
}

/* Word options block */
.word-options p {
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: center;
  font-size: 22px; /* Always match body text size */
}

/* Links block spacing */
.link-block p {
  margin-top: 18px;
  margin-bottom: 18px;
}

/* Responsive adjustments */
@media screen and (max-width: 768px) {
  body {
    padding: 10px;
    font-size: 22px; /* Keep body size consistent on mobile */
  }

  /* Right-align opening paragraph only on mobile */
  .text-light.margin-left-large p:first-of-type {
    text-align: left;
  }

  div, p {
    margin-left: 10px;
    margin-right: 10px;
  }
}
