/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* ============================================================
   Reader — the home of the Anagnostirio direction.

   Everything reads from the design tokens in tailwind/application.css,
   so there are no .dark overrides here: the tokens flip, the reader
   follows. Newsreader carries the text; the measure is set by
   .t-page-form; brass marks links and quotes.
   ============================================================ */

.reader-content {
  font-family: "Newsreader", Georgia, "Times New Roman", serif;
  font-optical-sizing: auto;
  font-size: 1.2rem;
  line-height: 1.75;
  color: var(--t-ink);
}

.reader-content h1,
.reader-content h2,
.reader-content h3,
.reader-content h4,
.reader-content h5,
.reader-content h6 {
  font-weight: 600;
  line-height: 1.25;
  margin-top: 1.8em;
  margin-bottom: 0.6em;
  color: var(--t-ink-strong);
}

.reader-content h1 { font-size: 1.9em; }
.reader-content h2 { font-size: 1.5em; }
.reader-content h3 { font-size: 1.25em; }
.reader-content h4 { font-size: 1.1em; }

.reader-content p {
  margin-bottom: 1.2em;
}

.reader-content a {
  color: var(--t-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.reader-content a:hover {
  color: var(--t-ink-strong);
}

.reader-content strong,
.reader-content b {
  font-weight: 600;
  color: var(--t-ink-strong);
}

.reader-content em,
.reader-content i {
  font-style: italic;
}

.reader-content ul,
.reader-content ol {
  margin-bottom: 1.2em;
  padding-left: 1.5em;
}

.reader-content ul { list-style-type: disc; }
.reader-content ol { list-style-type: decimal; }

.reader-content li { margin-bottom: 0.45em; }

.reader-content li > ul,
.reader-content li > ol {
  margin-top: 0.45em;
  margin-bottom: 0;
}

.reader-content blockquote {
  border-left: 2px solid var(--t-accent);
  padding-left: 1.1em;
  margin: 1.6em 0;
  font-style: italic;
  color: var(--t-ink-2);
}

/* Code steps out of the serif and into the mono, on the raised ground */
.reader-content pre {
  background-color: var(--t-bg-2);
  border: 1px solid var(--t-line-soft);
  border-radius: 2px;
  padding: 1em 1.1em;
  overflow-x: auto;
  margin: 1.6em 0;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.72em;
  line-height: 1.6;
}

.reader-content code {
  background-color: var(--t-bg-2);
  padding: 0.1em 0.35em;
  border-radius: 2px;
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.78em;
}

.reader-content pre code {
  background: none;
  padding: 0;
  font-size: 1em;
}

.reader-content img {
  max-width: 100%;
  height: auto;
  margin: 1.6em auto;
  border-radius: 2px;
}

.reader-content figure { margin: 1.6em 0; }

.reader-content figcaption {
  text-align: center;
  font-size: 0.8em;
  color: var(--t-ink-3);
  margin-top: 0.5em;
}

.reader-content hr {
  border: none;
  border-top: 1px solid var(--t-line);
  margin: 2.2em 0;
}

.reader-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.6em 0;
  font-size: 0.85em;
}

.reader-content th,
.reader-content td {
  border: 1px solid var(--t-line);
  padding: 0.6em 0.75em;
  text-align: left;
}

.reader-content th {
  background-color: var(--t-bg-2);
  font-weight: 600;
  color: var(--t-ink-strong);
}
