/* Website tokens: _sass/_settings.scss. Only presentation-specific styles live here. */
:root {
  --ink: #111827;
  --heading: #0F2C59;
  --muted: #4B5563;
  --accent: #167D9C;
  --hover: #A61D4C;
  --paper: #FFFFFF;
  --surface: #F4F7F9;
  --border: #E5E7EB;
  --body-font: "Inter", "Segoe UI", Arial, sans-serif;
  --heading-font: "Rajdhani", "Inter", "Segoe UI", Arial, sans-serif;
}
body { background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
::selection { background: #A61D4C2E; color: var(--heading); }
.reveal { font: 28px/1.4 var(--body-font); color: var(--ink); }
.reveal .slides { text-align: left; }
.reveal .slides section { box-sizing: border-box; padding: 36px 44px; }
.reveal h1, .reveal h2, .reveal h3 { font-family: var(--heading-font); color: var(--heading); text-transform: none; line-height: 1.15; font-weight: 700; letter-spacing: -.03em; }
.reveal h1 { font-size: 4.8em; letter-spacing: -.04em; margin: 12px 0 16px; }
.reveal h2 { font-size: 1.95em; margin: 0 0 28px; }
.reveal h3 { font-size: 1.75em; max-width: 1040px; margin: 0 0 28px; }
.reveal p { margin: 20px 0; }
.reveal strong { color: var(--heading); font-weight: 600; }
.reveal ul, .reveal ol { display: block; margin: 20px 0 20px 1.1em; }
.reveal li { margin: 14px 0; padding-left: 8px; }
.reveal li::marker { color: var(--accent); }
.reveal a { color: var(--accent); text-decoration: none; border-bottom: 1px solid #167D9C59; }
.reveal a:hover { color: var(--hover); border-bottom-color: var(--hover); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.reveal blockquote { background: var(--surface); box-shadow: none; font-style: normal; font-size: 1.12em; width: auto; border-left: 3px solid var(--accent); border-radius: 0 6px 6px 0; margin: 30px 0 0; padding: 12px 24px; }
.reveal table { font-size: .88em; width: 100%; border-collapse: collapse; margin: 24px 0; font-variant-numeric: tabular-nums; }
.reveal table th, .reveal table td { padding: 12px 16px; border-bottom: 1px solid var(--border); }
.reveal table th { background: var(--surface); color: var(--heading); font-weight: 600; border-top: 2px solid var(--accent); border-bottom: 1px solid var(--border); }
.reveal table tbody tr:last-child td { border-bottom: 1px solid var(--border); }
.reveal img { display: block; object-fit: contain; max-width: 100%; max-height: 350px; margin: 16px auto; background: white; }
.reveal .animation-slide img { max-height: 500px; }
.reveal .katex { font-size: 1em; }
.reveal .katex-display { margin: 28px 0; font-size: 1.15em; }
.reveal .muted { font-size: .78em; color: var(--muted); }
.reveal .caption, .reveal .source { font-size: .65em; color: var(--muted); margin: 10px 0 15px; }
.reveal .eyebrow { color: var(--accent); font-size: .68em; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; margin: 0 0 24px; }
.reveal .cover { padding-top: 66px; border-top: 3px solid var(--accent); }
.reveal .cover p { max-width: 1090px; }
.reveal .cover a { font-size: .88em; }
.reveal .progress { color: var(--accent); height: 3px; }
.reveal .controls { color: var(--accent); bottom: 30px; }
.reveal .slide-number { font: 13px var(--body-font); background: none; color: var(--muted); right: 30px; bottom: 12px; }
.deck-brand { position: fixed; top: 10px; left: 28px; z-index: 20; display: block; }
.deck-brand img { width: 80px; height: 45px; object-fit: contain; }
.deck-nav { position: fixed; top: 14px; right: 24px; display: flex; gap: 8px; z-index: 20; font: 13px var(--body-font); }
.deck-nav a, .deck-nav button { color: var(--heading); background: var(--surface); border: 1px solid var(--border); border-radius: 6px; padding: 7px 12px; cursor: pointer; font: inherit; text-decoration: none; }
.deck-nav a:hover, .deck-nav button:hover { color: var(--hover); border-color: var(--hover); }
.deck-footer { position: fixed; left: 28px; bottom: 12px; z-index: 10; color: var(--muted); font: 10px var(--body-font); letter-spacing: .08em; }
.deck-footer span { padding: 0 8px; color: var(--accent); }
.fallback { position: fixed; bottom: 40px; left: 30px; font: 20px var(--body-font); }
@media (max-width: 600px) {
  .deck-brand { top: 8px; left: 12px; }
  .deck-brand img { width: 56px; height: 32px; }
  .deck-nav { top: 10px; right: 12px; font-size: 10px; gap: 5px; }
  .deck-nav a, .deck-nav button { padding: 7px; }
  .deck-footer { left: 12px; font-size: 8px; }
}
@media print { .deck-brand, .deck-nav, .deck-footer { display: none; } }
.print-pdf .deck-brand, .print-pdf .deck-nav, .print-pdf .deck-footer { display: none; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
