/* Andromeda presentation colours, with readable contrast and consistent spacing. */
.reveal { --accent: #cbc3e3; --blue: #add8e6; --ink: #263846; }
.reveal h1 { color: #6b5888; font-size: 1.65em; text-align: center; }
.reveal h2 { color: #2d566a; font-size: 1.12em; margin-bottom: 0.65em; }
.reveal p, .reveal li { font-size: 0.78em; line-height: 1.42; }
.reveal p { margin: 0.55em 0; }
.reveal .slide-logo { max-height: 5.2rem !important; }
.reveal .columns { display: flex; gap: 1.6rem; align-items: flex-start; }
.reveal .columns > .column { flex-shrink: 1; min-width: 0; box-sizing: border-box; padding: 0; }
.reveal .columns > .column:first-child > :not(ul, ol),
.reveal .columns > .column:last-child > :not(ul, ol) { margin-left: 0; margin-right: 0; }
.reveal .column > :first-child { margin-top: 0; }
.reveal pre { width: 100%; box-sizing: border-box; font-size: 0.66em; box-shadow: none; margin: 0.6em 0; }
.reveal pre code { line-height: 1.3; padding: 0.7em 0.85em; max-height: none; }
.reveal div.sourceCode { border: 1px solid #9aa9b4; border-radius: 5px; background: #f7f9fb; }
.reveal pre:not(.sourceCode) { border-left: 4px solid var(--blue); background: #f4f7f9; }
.reveal pre:not(.sourceCode) code { white-space: pre-wrap; overflow-wrap: anywhere; }
.reveal .column pre { font-size: 0.59em; }
.reveal table { width: 100%; font-size: 0.66em; line-height: 1.4; margin: 0.8em 0; }
.reveal table th, .reveal table td { padding: 0.45em 0.55em; vertical-align: top; }
.reveal table th { color: #2d566a; border-bottom: 2px solid var(--blue); }
.reveal .label { font-size: 0.58em; font-weight: 700; color: #426d83; margin: 0.6em 0 0.25em; }
.reveal .label p { font-size: 1em; margin: 0; }
.reveal .prompt, .reveal .annotation, .reveal .source-preview {
  border-left: 4px solid var(--accent); background: #f5f2fa;
  padding: 0.5em 0.75em; margin: 0.75em 0;
}
.reveal .prompt p { font-size: 0.74em; margin: 0.2em 0; }
.reveal .prompt .label p { font-size: 1em; }
.reveal .annotation { border-color: var(--blue); background: #f1f7fa; }
.reveal .annotation p { font-size: 0.66em; margin: 0.15em 0; }
.reveal .source-preview { border-color: var(--blue); background: #f1f7fa; }
.reveal .source-preview p { font-size: 0.7em; }
.reveal .source-preview .label p { font-size: 1em; }
.reveal .source { font-size: 0.43em; line-height: 1.35; color: #566570; margin-top: 0.65em; }
.reveal .source p { font-size: 1em; margin: 0; }
.reveal .steps { display: flex; gap: 0.75em; align-items: stretch; margin: 0.8em 0; }
.reveal .step { flex: 1; border-top: 4px solid var(--blue); background: #f2f6f8;
  padding: 0.65em 0.4em; text-align: center; position: relative; }
.reveal .step p { font-size: 0.64em; margin: 0; }
.reveal .step:not(:last-child)::after { content: '→'; position: absolute; right: -0.65em;
  top: 25%; color: #6b5888; font-size: 0.75em; z-index: 1; }
.reveal .family-tree { text-align: center; margin: 0.9em 0; }
.reveal .family-parents, .reveal .family-root, .reveal .family-child {
  padding: 0.5em; background: #f2f6f8; border-top: 3px solid var(--blue);
}
.reveal .family-root { background: #f5f2fa; border-color: var(--accent); }
.reveal .family-tree p { font-size: 0.66em; margin: 0.15em 0; }
.reveal .family-link { color: #6b5888; padding: 0.25em; }
.reveal .delegation-diagram { margin: 0.75em auto; width: 75%; text-align: center; }
.reveal .coordinator { background: #f5f2fa; border-top: 3px solid var(--accent); padding: 0.25em; }
.reveal .workers { display: flex; gap: 1em; padding: 0.5em 0; }
.reveal .worker { flex: 1; background: #f1f7fa; border-top: 3px solid var(--blue); padding: 0.25em; }
.reveal .delegation-diagram p { font-size: 0.66em; margin: 0.2em 0; }
.reveal .references p { font-size: 0.7em; margin: 0.65em 0; }
.reveal .footer { font-size: 0.4em; }
