/*
 * 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.
 */

/*
 * Blog post body typography (PRD 031). Restores heading/list/quote hierarchy
 * that Tailwind preflight resets so Action Text output on `/blog/:slug`
 * renders with visible structure. Scoped to `.trix-content` so it never
 * bleeds into marketing pages, admin forms, or any non-blog surface that
 * also reaches application.css. Values align with Tailwind v4's spacing
 * scale (rem-based) but ship as plain CSS so this file does not need to
 * go through the Tailwind compiler.
 *
 * Why this lives here instead of actiontext.css being added to the
 * public layout: actiontext.css carries Trix toolbar/button-icon rules
 * that have no place on public pages, and PRD 015 deliberately kept the
 * public stylesheet manifest minimal. This block ships exactly the
 * typographic restoration the public blog needs, nothing more.
 */
.trix-content h1 { font-size: 1.875rem; font-weight: 700; line-height: 2.25rem; margin-top: 2rem; margin-bottom: 1rem; }
.trix-content h2 { font-size: 1.5rem;   font-weight: 700; line-height: 2rem;    margin-top: 1.75rem; margin-bottom: 0.75rem; }
.trix-content h3 { font-size: 1.25rem;  font-weight: 600; line-height: 1.75rem; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.trix-content p          { margin-top: 1rem; line-height: 1.625; }
.trix-content ul         { list-style: disc;    padding-left: 1.5rem; margin-top: 1rem; }
.trix-content ol         { list-style: decimal; padding-left: 1.5rem; margin-top: 1rem; }
.trix-content li         { margin-top: 0.25rem; }
.trix-content blockquote { border-left: 4px solid #e5e7eb; padding-left: 1rem; color: #4b5563; margin-top: 1rem; font-style: italic; }
.trix-content a          { color: #2563eb; text-decoration: underline; }
.trix-content a:hover    { color: #1d4ed8; }
.trix-content img        { max-width: 100%; height: auto; margin-top: 1rem; border-radius: 0.5rem; }
.trix-content pre        { background-color: #f3f4f6; padding: 0.75rem; border-radius: 0.375rem; overflow-x: auto; margin-top: 1rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9rem; }
.trix-content code       { background-color: #f3f4f6; padding: 0.1em 0.3em; border-radius: 0.25rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9rem; }
.trix-content strong     { font-weight: 700; }
.trix-content em         { font-style: italic; }
