/* Self-contained: system fonts, local Reveal, no external stylesheet imports. */
:root { --ink: #233342; --accent: #107895; --paper: #fff; --muted: #526471; }
.reveal-viewport { background: var(--paper); }
.reveal { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; font-size: 32px; color: var(--ink); }
.reveal h1, .reveal h2, .reveal h3 { font-family: inherit; color: var(--ink); text-transform: none; letter-spacing: 0; font-weight: 650; }
.reveal h1 { font-size: 1.7em; line-height: 1.45; }
.reveal h2 { font-size: 1.35em; line-height: 1.4; margin-bottom: 0.75em; }
.reveal p, .reveal li { line-height: 1.65; }
.reveal ul { display: block; margin: 0.7em 1.1em; }
.reveal li { margin-bottom: 0.45em; }
.reveal b, .reveal strong { color: var(--accent); }
.reveal a { color: var(--accent); text-decoration: none; }
.reveal img { border: 0; box-shadow: none; background: none; max-width: 100%; }
.reveal table { width: 96%; font-size: 0.84em; border-collapse: collapse; }
.reveal table th, .reveal table td { border: 0; border-bottom: 1px solid #ccd9dd; padding: 0.55em 0.6em; line-height: 1.5; }
.reveal .subtitle, .reveal .eyebrow { color: var(--accent); }
.reveal .eyebrow { font-size: 0.62em; letter-spacing: 0.1em; }
.reveal .small, .reveal .source { font-size: 0.57em; color: var(--muted); line-height: 1.55; }
.reveal .source { margin-top: 0.8em; }
.reveal .takeaway { margin: 0.8em 0 0; padding: 0.45em 0.75em; background: #edf5f7; border-left: 5px solid var(--accent); text-align: left; font-weight: 600; }
.reveal .columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; align-items: center; text-align: left; }
.reveal .cards { display: grid; grid-template-columns: 1fr 1fr; gap: 1em; }
.reveal .card { border: 2px solid #d7e5e9; border-radius: 14px; padding: 0.65em; background: #f6f9fa; }
.reveal .card p { margin: 0.3em 0; }
.reveal .equation { font-family: Georgia, serif; font-size: 1.2em; margin: 0.4em 0; }
.reveal .curve { width: 1000px; height: 414px; object-fit: contain; margin: 0; }
.reveal .isoflop-layout { grid-template-columns: 1fr 0.9fr; gap: 0.55em; }
.reveal .isoflop-panel { display: block; width: 100%; max-height: 445px; object-fit: contain; margin: 0; }
#slide-pilot .isoflop-layout p { margin: 0.3em 0; }
#slide-pilot .source { margin-top: 0.25em; }
.reveal .opt-equation { display: flex; justify-content: center; align-items: baseline; gap: 0.4em; font-family: Georgia, "Yu Mincho", serif; font-size: 1.05em; white-space: nowrap; margin: 0.6em 0 0.25em; }
.reveal .opt-equation sub { font-size: 0.55em; }
.reveal .opt-operator { display: inline-flex; flex-direction: column; align-items: center; }
.reveal .opt-constraint { font-size: 0.48em; line-height: 1.35; margin-top: 0.15em; }
.reveal .research-map { width: 100%; font-size: 0.62em; line-height: 1.4; }
.reveal .research-map th, .reveal .research-map td { padding: 0.55em 0.45em; vertical-align: middle; }
.reveal #slide-references { text-align: left; }
.reveal #slide-references .csl-bib-body { font-size: 0.48em; line-height: 1.4; overflow-wrap: anywhere; }
.reveal #slide-references .csl-entry { margin-bottom: 0.8em; }
.reveal .hoffmann-plot { display: block; width: 920px; height: 475px; object-fit: contain; margin: 0 auto; }
.reveal .comparison { font-size: 0.72em; margin: 0.1em 0; }
#slide-chinchilla .takeaway { margin-top: 0.35em; }
#slide-chinchilla .source { margin-top: 0.4em; }
.reveal .title-qr { display: flex; justify-content: center; align-items: center; gap: 1em; margin-top: 0.8em; }
.reveal .title-qr img { width: 210px; height: 210px; margin: 0; image-rendering: pixelated; }
.reveal .title-qr p { text-align: left; font-size: 0.65em; overflow-wrap: anywhere; max-width: 520px; }
.reveal .slide-number { font-size: 15px; }
@media print { .reveal .source { font-size: 0.55em; } }
