/* :root {
  --brand-primary: #4169E1;
  --brand-accent: #5dd2d0;
  --brand-text: #cfd290;
  --page-bg-color: #000;
  --section-bg-color: rgba(0,0,0,0.6);
}

:root:not(.app-dark) {
  --brand-primary: #051136;
  --brand-accent: #362978;
  --brand-text: #333333;
  --page-bg-color: #ffffff;
  --section-bg-color: rgba(255,255,255,0.6);
}
*/
body {
  font-family: 'Lato', sans-serif;
  font-size: 1.125rem;
  line-height: 1.8;
  color: var(--brand-text);
  background-color: var(--page-bg-color);
  background-size: cover;
  background-position: center;
  min-height: 100vh;
  word-wrap: break-word;
  /* Prevent text from breaking at arbitrary points */
  overflow-wrap: normal;
}

p {
  margin: 1rem 0;
  line-height: 1.6;
}

header, section, footer, article {
  background-color: var(--section-bg-color);
  padding: 1rem;
  margin: 1rem auto;
  border-radius: 0.5rem;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--brand-primary);
  font-weight: bold;
}

a {
  color: var(--brand-accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

strong {
  color: var(--brand-accent);
}

/* Ensure topbar menu items stay on one line on mobile */
@media (max-width: 767px) {
  .layout-topbar .p-menubar-root-list {
    flex-wrap: nowrap;
  }
  .layout-topbar .p-menuitem-link {
    white-space: nowrap;
  }
}
