body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
    "Ubuntu", "Cantarell", sans-serif;
  line-height: 1.65;
  color: #1a1a1a;
  max-width: 48rem;
  margin: 0 auto;
  padding: 20px;
  font-size: 1.1em;
}

/* --------------------
   Layout
-------------------- */

header#ai-study {
  margin: 0 0 2.5em;
}

main {
  display: block;
}

section {
  margin: 2.5em 0;
}

section > h2 {
  margin-top: 0;
}

/* --------------------
   Headings
-------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #1f2d3a;
  margin-top: 2.2em;
  margin-bottom: 0.6em;
  line-height: 1.3;
}

h1 {
  font-size: 2.2em;
  letter-spacing: 0.02em;
  border-bottom: 2px solid #cbd5e1;
  padding-bottom: 0.35em;
}

h2 {
  font-size: 1.6em;
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 0.25em;
}

h3 {
  font-size: 1.3em;
}

h4 {
  font-size: 1.15em;
}

h5,
h6 {
  font-size: 1em;
  font-weight: 600;
}

/* --------------------
   Inline code & blocks
-------------------- */

code {
  background-color: #f8fafc;
  color: #111827;
  padding: 0.15em 0.35em;
  border-radius: 4px;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", monospace;
  font-size: 85%;
}

pre {
  background-color: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 1em;
  overflow-x: auto;
  margin: 1.2em 0;
}

pre code {
  background-color: transparent;
  color: #111827;
  padding: 0;
  font-size: 0.9em;
}

/* --------------------
   Blockquotes
-------------------- */

blockquote {
  margin: 1.2em 0;
  padding-left: 1em;
  border-left: 4px solid #cbd5e1;
  color: #374151;
}

/* --------------------
   Links
-------------------- */

a {
  color: #2b5f8a;
  text-decoration: none;
}

a:hover {
  color: #1f2d3a;
  text-decoration: underline;
}

/* --------------------
   Lists & separators
-------------------- */

ul,
ol {
  padding-left: 2em;
}

hr {
  border: none;
  height: 1px;
  background-color: #e5e7eb;
  margin: 2.5em 0;
}

/* --------------------
   Meta text
-------------------- */

sup {
  color: #4b5563;
  font-size: 0.8em;
  vertical-align: super;
}

/* --------------------
   Table of contents
-------------------- */

.toc {
  background-color: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  padding: 0.1em 0.2em;
  margin: 1.5em 0;
}

.toc a {
  color: #1f2d3a;
}

/* --------------------
   Scrollable prompt blocks
-------------------- */

.vertical-scroll-prompt {
  max-height: 220px;
  overflow-y: auto;
  background-color: #f8fafc;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  padding: 0.8em;
  font-size: 0.95em;
}

p {
  margin-bottom: 1.05em;
}

ul,
ol {
  padding-left: 2em;
  margin: 1em 0;
}

ul ul {
  margin: 0;
}

li {
  margin: 0 0;
}

li li {
  margin: 0 0;
}

em {
  color: #111827;
}

a em {
  color: #2b5f8a;
}

strong {
  color: #0f172a;
  font-weight: 600;
}

.vertical-scroll-prompt {
  scrollbar-width: thin;
}

sup {
  margin-left: 0.1em;
}

#bibliography p {
  font-weight: 400;
}

#bibliography p em {
  font-style: italic;
  font-weight: 600;
}

.footnote {
  color: #4b5563;
  font-size: 0.9em;
}

.standout {
  font-size: 1.1rem;
  color: #000000;
  border: 2px solid black;
  padding: 0 1em 0 1em;
  margin: 2em 0;
}
