/* Spacious ESR theory slides with local, embedded assets. */
:root { --violet: #6c2392; --ink: #272333; --muted: #655e70; --rule: #ded4e5; }
.reveal { font-family: "Segoe UI", Helvetica, Arial, sans-serif; font-size: 30px; color: var(--ink); line-height: 1.45; }
.reveal .slides { text-align: left; }
.reveal h1, .reveal h2, .reveal h3 { font-family: inherit; text-transform: none; letter-spacing: -0.025em; font-weight: 650; line-height: 1.15; }
.reveal h2 { color: var(--violet); font-size: 1.5em; margin: 0 0 0.8em; padding: 0 90px 0.3em 0; border-bottom: 1px solid var(--rule); }
.reveal h3 { font-size: 1.04em; color: var(--violet); margin: 0.7em 0 0.45em; }
.reveal p { margin: 0.6em 0; }
.reveal ul, .reveal ol { display: block; margin: 0.6em 0 0.8em 1.05em; }
.reveal li { padding-left: 0.15em; margin: 0.45em 0; }
.reveal strong { color: var(--violet); font-weight: 650; }
.reveal .lead { font-size: 1.32em; line-height: 1.35; margin: 0.8em 0; max-width: 24em; }
.reveal .equation { font-size: 1.12em; color: var(--violet); margin: 0.9em 0; }
.reveal .takeaway { border-left: 3px solid var(--violet); padding-left: 0.7em; margin-top: 0.9em; }
.reveal .columns { gap: 1.6em; }
.reveal .column p { margin: 0.65em 0; }
.reveal a { color: var(--violet); text-decoration: underline; text-underline-offset: 4px; }
.reveal #title-slide { padding-top: 120px; text-align: center; }
.reveal #title-slide .title { color: var(--violet); font-size: 2.15em; max-width: 15em; margin-left: auto; margin-right: auto; }
.reveal #title-slide .subtitle { font-size: 1.05em; color: var(--muted); margin-top: 0.8em; }
.reveal #title-slide .quarto-title-authors { justify-content: center; margin-top: 2.4em; }
.reveal #title-slide .quarto-title-author { padding: 0; }
.reveal #title-slide .quarto-title-author-name { font-size: 0.65em; color: var(--muted); }
.reveal .slide-logo { top: 16px !important; right: 22px !important; bottom: auto !important; max-height: 50px !important; height: 50px !important; width: auto !important; }
.reveal .slide-number { top: auto !important; bottom: 20px !important; right: 100px !important; background: transparent !important; color: var(--muted) !important; font-size: 16px !important; }
.reveal .slide-number a { color: inherit; text-decoration: none; }
.reveal .controls { color: var(--violet); }
.reveal .progress { color: var(--violet); height: 3px; }
.reveal math { font-size: 0.95em; }
.reveal math[display="block"] { margin: 0.75em 0; }
.reveal .source { font-size: 0.62em; color: var(--muted); margin-top: 0.8em; }
.reveal #references { font-size: 0.8em; }
/* Section slides: white, title + orange rule + subtitle on the left, image on the right */
.reveal .section-slide h1 { color: var(--violet); font-size: 2.3em; font-weight: 800; width: fit-content; max-width: 50%; padding-bottom: 0.15em; margin: 0 0 0.45em; border-bottom: 5px solid #f28c28; }
.reveal .section-slide .sec-sub { display: block; color: var(--muted); font-size: 1em; line-height: 1.35; }
.reveal .section-slide .columns { display: block; }
.reveal .section-slide .columns .column:first-child { width: 50% !important; }
.reveal .section-slide .columns .column:first-child p { margin: 0; }
.reveal .section-slide .columns .column:last-child { position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 45% !important; text-align: center; }
.reveal .section-slide .columns .column:last-child img { max-height: 520px; width: auto !important; max-width: 100%; margin: 0; }
@media print { .reveal .slide-logo { max-height: 40px !important; } }

/* Illustrated concept section: 55% copy on the left, 45% artwork on the right. */
.reveal .esr-illustrated .esr-columns { display: grid; grid-template-columns: 55fr 45fr; gap: 24px; align-items: center; }
.reveal .esr-illustrated .esr-columns > .column { width: auto !important; min-width: 0; }
.reveal .esr-illustrated .esr-copy { font-size: 24px; line-height: 1.35; }
.reveal .esr-illustrated .esr-copy p { margin: 0.55em 0; }
.reveal .esr-illustrated .esr-copy li { margin: 0.35em 0; }
.reveal .esr-illustrated .lead { font-size: 1.12em; }
.reveal .esr-illustrated .esr-art { text-align: center; }
.reveal .esr-illustrated .esr-art img { display: block; width: 100%; max-width: 100%; max-height: 490px; object-fit: contain; margin: 0 auto; border: 0; box-shadow: none; }
.reveal .esr-illustrated .esr-art p { margin: 0; }
.reveal .section-slide.esr-illustrated h1 { max-width: 53%; font-size: 2em; }
.reveal .section-slide.esr-illustrated .esr-columns .column:first-child { width: auto !important; }
.reveal .section-slide.esr-illustrated .esr-columns .esr-art { position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 44% !important; }
.reveal #title-slide { text-align: left; padding-top: 90px; }
.reveal #title-slide .title { max-width: 53%; margin-left: 0; font-size: 1.95em; }
.reveal #title-slide .quarto-title-authors { justify-content: flex-start; max-width: 53%; margin-top: 1.5em; }
.reveal #title-slide::after { content: ''; position: absolute; right: 0; top: 55px; width: 44%; height: 490px; background: url('www/01-title.png') center / contain no-repeat; }

/* Table screenshot above its explanation. */
.reveal .esr-image-top h2 { margin-bottom: 0.45em; }
.reveal .esr-image-top .esr-top-art p { margin: 0; }
.reveal .esr-image-top .esr-top-art img { display: block; width: 100%; max-height: 285px; object-fit: contain; margin: 0 auto 18px; }
.reveal .esr-image-top .esr-bottom-copy { font-size: 24px; line-height: 1.35; }
.reveal .esr-image-top .esr-bottom-copy p { margin: 0.5em 0; }
/* 2x2 icon-card grid (seed-difference slide) */
.reveal .esr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5em; margin-top: 0.4em; }
.reveal .esr-card { background: #f8f4fa; border: 1px solid var(--rule); border-radius: 10px; padding: 0.55em 0.6em 0.6em; text-align: center; font-size: 0.56em; line-height: 1.35; }
.reveal .esr-card p { margin: 0.2em 0 0; color: var(--muted); }
.reveal .esr-card p:has(strong) { margin-top: 0.35em; }
.reveal .esr-card strong { font-size: 1.12em; }
.reveal .esr-icon { display: inline-flex; width: 2em; height: 2em; border-radius: 50%; background: #efe6f4; color: var(--violet); align-items: center; justify-content: center; }
.reveal .esr-icon svg { width: 1.2em; height: 1.2em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.reveal .esr-card.esr-warn { background: #fdf1e5; border-color: #f6c99a; }
.reveal .esr-card.esr-warn .esr-icon { background: #fbe0c4; color: #c46a12; }
.reveal .esr-card.esr-warn strong { color: #c46a12; }
