:root{
  --ink:#23373b;
  --accent:#b5121b;
  --accent-soft:#f3d9da;
  --muted:#5b6b6e;
  --line:#d7dddd;
  --bg:#ffffff;
  --blue:#1f4e79;
  --red:#b5121b;
  --gray:#8a9495;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:#0d1415;
  font-family:'Fira Sans',sans-serif;
  color:var(--ink);
  overflow:hidden;
}
#deck{position:fixed;inset:0;}
.slide{
  position:absolute;inset:0;
  display:flex;
  flex-direction:column;
  background:var(--bg);
  padding:54px 72px 64px;
  overflow-y:auto;overflow-x:hidden;
  opacity:0;
  visibility:hidden;
  transform:translateX(var(--enter,44px));
  transition:opacity .42s ease, transform .42s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;
  z-index:1;
}
.slide{scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.slide::-webkit-scrollbar{width:8px;height:8px}
.slide::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.slide::-webkit-scrollbar-track{background:transparent}
.slide.active{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
  pointer-events:auto;
  z-index:2;
}
.slide.exit{
  opacity:0;
  visibility:visible;
  transform:translateX(var(--exit,-44px));
  z-index:1;
}
@media (prefers-reduced-motion: reduce){
  .slide{transition:opacity .2s ease;transform:none!important}
}
.slide h1{
  font-weight:600;font-size:30px;color:var(--ink);
  letter-spacing:-.2px;line-height:1.15;
  padding-bottom:10px;margin-bottom:22px;
  border-bottom:2px solid var(--accent);
}
.body{flex:1;display:flex;flex-direction:column;justify-content:flex-start;min-height:0}
.body > *{flex-shrink:0}
.block{flex-shrink:0}
ul{list-style:none;padding-left:0}
li{position:relative;padding-left:22px;margin:9px 0;font-size:21px;line-height:1.4}
li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;background:var(--accent);border-radius:2px}
li li{font-size:19px;margin:6px 0}
li li::before{background:var(--muted);width:6px;height:6px;border-radius:50%;top:10px}
li li li::before{background:var(--line)}
ul ul{margin-top:4px;margin-left:6px}
b,strong{font-weight:600;color:var(--ink)}
.muted{color:var(--muted)}
.spacer{height:14px}
p{font-size:21px;line-height:1.45;margin:8px 0}
.mathline{font-size:21px;margin:14px 0;text-align:center}
.block{
  background:#eef2f2;border-radius:4px;margin:10px 0;overflow:hidden;
  border:1px solid var(--line);
}
.block .bt{background:var(--ink);color:#fff;font-weight:500;font-size:18px;padding:7px 16px}
.block .bb{padding:13px 18px;font-size:20px;line-height:1.4}
.block.accent .bt{background:var(--accent)}
.def .bt{background:var(--muted)}
.title-slide{justify-content:center;align-items:flex-start;background:var(--ink);color:#fff;padding:0 84px}
.title-slide .t{font-size:54px;font-weight:600;letter-spacing:-1px;line-height:1.05}
.title-slide .t .paren{color:#ff8f96}
.title-slide .rule{width:88px;height:4px;background:var(--accent);margin:26px 0 28px}
.title-slide .au{font-size:25px;font-weight:400}
.title-slide .au b{color:#fff}
.title-slide .af{font-size:18px;color:#aebcbe;margin-top:8px}
.title-slide .ev{position:absolute;bottom:54px;left:84px;font-size:16px;color:#8a9c9e;letter-spacing:.5px;text-transform:uppercase}
.section-slide{justify-content:center;background:var(--ink);color:#fff;padding-left:84px}
.section-slide .sn{font-size:17px;color:#ff8f96;letter-spacing:3px;text-transform:uppercase}
.section-slide .st{font-size:46px;font-weight:600;margin-top:12px;letter-spacing:-.5px}
.section-slide .rule{width:70px;height:4px;background:var(--accent);margin-top:22px}
.fig{display:flex;justify-content:center;align-items:center;margin:6px 0}
figcaption{text-align:center;color:var(--muted);font-size:16px;margin-top:4px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.fignote{font-size:19px;line-height:1.4}
#bar{position:fixed;left:0;bottom:0;height:4px;background:var(--accent);width:0;z-index:30;transition:width .25s}
#foot{position:fixed;bottom:14px;right:22px;font-size:13px;color:var(--gray);z-index:30;letter-spacing:.5px}
#sec{position:fixed;bottom:14px;left:22px;font-size:12px;color:var(--gray);z-index:30;text-transform:uppercase;letter-spacing:1.5px}
svg text{font-family:'KaTeX_Math','KaTeX_Main','STIX Two Text',serif}
svg tspan.sub{baseline-shift:sub;font-size:72%}
svg tspan.sup{baseline-shift:super;font-size:72%}
.axis{stroke:var(--ink);stroke-width:2;fill:none}
.tick{stroke:var(--ink);stroke-width:2}
.lblB{fill:var(--blue)} .lblR{fill:var(--red)}
.cv-blue{stroke:var(--blue);stroke-width:2.5;fill:none}
.cv-red{stroke:var(--red);stroke-width:2.5;fill:none}
.cv-gray{stroke:var(--gray);stroke-width:2;fill:none;stroke-dasharray:5 4}
.cv-black{stroke:var(--ink);stroke-width:2.5;fill:none}
.dash{stroke:var(--gray);stroke-width:1.4;stroke-dasharray:4 3;fill:none}
.region{fill:#1f4e79;opacity:.08}
.fr{opacity:0;transform:translateY(9px)}
.slide.active .fr{transition:opacity .34s ease, transform .34s cubic-bezier(.22,.61,.36,1)}
.fr.on{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){ .fr{transform:none} .slide.active .fr{transition:opacity .15s ease} }
@media (max-width:820px){
 .slide{padding:30px 26px 50px}
 .slide h1{font-size:23px}
 li{font-size:17px} p,.mathline{font-size:17px}
 .title-slide .t{font-size:34px}
 .two{grid-template-columns:1fr}
}
