/* styles.css
   Inter font (via Google Fonts); background image: Haeckel_Muscinae.jpg
   All text color: #efbe5b
*/

/* Design tokens / variables */
:root {
    color-scheme: light dark;
    --font-stack: "Donegal One", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --max-width: 65ch;
    --padding: 2rem;
    --radius: 10px;
  
    --text-color: #fca800;     /* all text */
    --link-color: #fca800;     /* links match text */
    --content-bg: rgba(255,255,255,0.86);
    --overlay: rgba(0,0,0,0.70); /* adjust for contrast if needed */
  }
  
  /* Page layout */
  html, body {
    height: 100%;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  
  body {
    font-family: var(--font-stack);
    line-height: 1.5;
    color: var(--text-color);
    background-image: url('images/Haeckel_Muscinae.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
  
  /* Respect reduced-motion preference */
  @media (prefers-reduced-motion: reduce) {
    body {
      background-attachment: scroll;
    }
  }
  
  /* Darkening overlay to improve contrast against busy artwork */
  body::before {
    content: "";
    position: fixed;
    inset: 0;
    background: var(--overlay);
    pointer-events: none;
    z-index: 0;
  }
  
  /* Content container and panel
     Note: footer is included here for layout but we override its padding/margin below */
  .container, header, main, footer {
    position: relative;
    z-index: 1;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: var(--padding);
  }
  
  /* Slightly translucent panel for legibility */
  .content-panel {
    background: linear-gradient(var(--content-bg), rgba(255,255,255,0.80));
    border-radius: var(--radius);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    color: var(--text-color);
  }
  
  /* Typography and spacing (moved from inline styles) */
  header {
    margin-bottom: 1rem;
  }
  
  h1 {
    margin: 0 0 0.5rem 0;
    font-size: 4rem;
    line-height: 4rem;
  }
  
  /* Keep paragraph spacing everywhere by default */
  p {
    margin: 0 0 2rem 0;
    font-size: 1.5rem;
  }
  
  /* Social links */
  .social {
    margin-top: 1rem;
    font-size: 1.5rem;
  }
  
  .social a {
    color: var(--link-color);
    text-decoration: underline;
  }
  
  .social a:focus,
  .social a:hover {
    text-decoration: underline;
  }
  
  /* Pronunciation line (kept simple) */
  .pronunciation {
    margin-top: 0.25rem;
    font-size: 1.5rem;
    color: var(--text-color);
  }
  
  /* Footer: remove margin/padding and remove paragraph margins inside it */
  footer {
    padding: 0;   /* removes the padding applied by the grouped rule */
    margin: 0;    /* ensure no outer margin */
    position: relative;
    z-index: 1;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
    padding: 2rem;
  }
  
  footer p {
    margin: 0;               /* no paragraph margins inside footer */
    font-size: 0.9rem;
    color: #efbe5bb3;
  }
  
  /* Accessibility: stronger contrast for users who request it */
  @media (prefers-contrast: more) {
    .content-panel {
      background: #fff;
    }
  }
  