@charset "UTF-8";
/*
 * Fonts
 */
@font-face {
  font-family: "Inria Serif";
  src: local("Inria Serif"), local("InriaSerif"), local("InriaSerif-Regular"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Regular.eot") format("embedded-opentype"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Regular.woff") format("woff"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Regular.ttf") format("truetype"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Regular.svg") format("svg");
  font-style: normal;
}
@font-face {
  font-family: "Inria Serif";
  src: local("Inria Serif Bold"), local("InriaSerifBold"), local("InriaSerif-Bold"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Bold.eot") format("embedded-opentype"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Bold.woff") format("woff"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Bold.ttf") format("truetype"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Bold.svg") format("svg");
  font-style: normal;
  font-weight: bold;
}
@font-face {
  font-family: "Inria Serif";
  src: local("Inria Serif Italic"), local("InriaSerifItalic"), local("InriaSerif-Italic"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Italic.eot") format("embedded-opentype"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Italic.woff") format("woff"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Italic.ttf") format("truetype"), url("/assets/InriaFonts/fonts/InriaSerif/Web/InriaSerif-Italic.svg") format("svg");
  font-style: italic;
}
@font-face {
  font-family: "Inria Sans";
  src: local("Inria Sans"), local("InriaSans"), local("InriaSans-Regular"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Regular.eot") format("embedded-opentype"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Regular.woff") format("woff"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Regular.ttf") format("truetype"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Regular.svg") format("svg");
  font-style: normal;
}
@font-face {
  font-family: "Inria Sans";
  src: local("Inria Sans Bold"), local("InriaSansBold"), local("InriaSans-Bold"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Bold.eot") format("embedded-opentype"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Bold.woff") format("woff"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Bold.ttf") format("truetype"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Bold.svg") format("svg");
  font-style: normal;
  font-weight: bold;
}
@font-face {
  font-family: "Inria Sans";
  src: local("Inria Sans Italic"), local("InriaSansItalic"), local("InriaSans-Italic"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Italic.eot") format("embedded-opentype"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Italic.woff") format("woff"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Italic.ttf") format("truetype"), url("/assets/InriaFonts/fonts/InriaSans/Web/InriaSans-Italic.svg") format("svg");
  font-style: italic;
}
:root {
  --font-sans: Inria Sans, sans-serif;
  --font-serif: Inria Serif, serif;
  --background: white;
  --grey-on-white: hsl(0, 0%, 50%);
  --accent-lighter: hsl(var(--c-hue, 199), 98%, 88%);
  --accent-light: hsl(var(--c-hue, 199), 98%, 68%);
  --accent: hsl(var(--c-hue, 199), 98%, 50%);
  --accent-dark: hsl(var(--c-hue, 199), 98%, 32%);
  --accent-darker: hsl(var(--c-hue, 199), 98%, 12%);
  --accent-darkerer: hsl(var(--c-hue, 199), 98%, 6%);
  --margin-inter-section: calc(2rem + 10vh);
}

section {
  margin-bottom: calc(2rem + 10vh);
}

.measure {
  max-width: var(--content-width);
  margin: 0 auto;
  padding: 0.5rem;
  font-size: 16px;
}

:root {
  --wide-offset-left: 0;
  --wide-padding-left: 1rem;
  --wide-width: calc( 100% - 1rem;);
  --c-hue: 199;
}

@media (min-width: 31rem) {
  :root {
    --wide-offset-left: calc( -1 * (100vw - 1rem - var(--content-width))/4 );
    --wide-width: calc( ( 2 * (100vw - 1rem - var(--content-width))/4 ) + var(--content-width) );
  }
}
@media (min-width: 35rem) {
  /* 35 is what works for a smooth transition
   * between this rule and the 1rem rule;
   * I'm not sure of the math behind this
   */
  :root {
    --wide-padding-left: calc( -1 * var( --wide-offset-left ) );
  }
}
.alignwide,
figure {
  position: relative;
  left: var(--wide-offset-left);
  width: var(--wide-width);
}

.fullwidth {
  --width: 95vw;
  position: relative;
  left: calc((var(--width) - var(--content-width) - 1rem) / -2 - 0.5rem);
  width: var(--width);
}

p img {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}

figure {
  margin: 1rem 0;
}
figure img {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}
figure iframe {
  display: block;
}

figcaption {
  border: 1px solid hsl(0, 0%, 50%);
  padding: 1rem var(--wide-padding-left);
}
figcaption > :first-child {
  margin-top: 0;
}
figcaption > :last-child {
  margin-bottom: 0;
}

.draft-notice,
.author-note,
header {
  position: relative;
  left: var(--wide-offset-left);
  width: var(--wide-width);
  padding: 1rem var(--wide-padding-left);
  border: 1px solid hsl(0, 0%, 50%);
  box-sizing: border-box;
}

.author-note {
  border-color: hsl(var(--c-hue, 199), 98%, 32%);
  background: var(--background);
}

header + .author-note {
  margin-top: 1rem;
}

.author-note.citation p:first-child {
  margin-top: 0;
}
.author-note.citation textarea {
  width: 100%;
  height: fit-content;
}

.author-note,
header + p,
header + style + section,
header + section,
.author-note + p,
.footnotes,
footer {
  margin-top: calc(2rem + 10vh);
}

footer {
  margin-bottom: calc(2rem + 10vh);
}

.toc {
  margin: calc(1 * var(--margin-inter-section)) 0;
  background: white;
  padding: 1rem;
}

nav a {
  text-decoration: none;
}

nav ul {
  margin-top: 0;
}

nav li {
  list-style-type: upper-roman;
}

nav h3 {
  margin-bottom: 0.1em;
}

ol .breadcrumbs {
  padding-left: 0;
}
ol .breadcrumbs li {
  list-style-type: none;
}
ol .breadcrumbs li::before {
  content: "⤣";
  display: inline-block;
  width: 1em;
  margin-left: -1em;
  text-align: left;
}

nav.in-page {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 20;
  display: table;
  border-collapse: collapse;
  background: var(--background);
}
@media (min-width: 31rem) {
  nav.in-page {
    bottom: 0.5rem;
    left: 0.5rem;
  }
}
nav.in-page a {
  box-sizing: border-box;
  border: 1px solid var(--accent-dark);
  color: var(--accent-dark);
  font-family: var(--font-sans);
  display: table-cell;
  width: 1.75rem;
  height: 1.75rem;
  line-height: 1;
  vertical-align: middle;
  text-align: center;
  margin: 0;
  padding: 1px;
}

.subtitle {
  font-size: 1.3rem;
  font-weight: bold;
}

h1::first-letter, h2::first-letter, h3::first-letter, h4::first-letter, h5::first-letter, h6::first-letter,
hr + p::first-letter,
.browsewrap + p::first-letter,
.browsewrap + style + p::first-letter,
.author-note p:first-child::first-letter,
.author-note::first-letter,
i::first-letter,
blockquote p:first-child::first-letter {
  font-feature-settings: "ss01";
}

table {
  font-feature-settings: "tnum";
}

dl cite {
  opacity: 0.8;
}

dl cite:active,
dl cite:hover {
  opacity: 1;
}

dt {
  font-weight: bold;
}
dd + dt {
  margin-top: 0.5em;
}

dt,
dd {
  margin-bottom: 0.25em;
}

ul,
ol,
nav ul,
nav span,
nav h3 {
  padding-left: 2rem;
}

li p:first-child {
  margin-top: 0;
}
li p:last-child {
  margin-bottom: 0;
}

dd {
  margin-left: 2rem;
}

/*
 * remove dots on checklist
 *
 * there's no way to add a dot in front of an li that doesn't have a checkbox;
 * the markup for a list where the second item is not a checklist item is as follows:
 *     ul.task-list
 *         li.task-list-item
 *             input.task-list-item-checkbox
 *         li.task-list-item
 *         li.task-list-item
 *             input.task-list-item-checkbox
 * There's no difference in markup. There's also no way to do parent selectors.
 */
ul.task-list {
  list-style: none;
}
ul.task-list li {
  position: relative;
}
ul.task-list .task-list-item-checkbox {
  width: 1em;
  position: absolute;
  left: -1.5em;
  margin: 0.5em 0.3em;
  height: 1em;
}

blockquote {
  padding: 0 1rem;
  margin: 1rem 0;
  box-sizing: border-box;
  border: 2px solid hsl(var(--c-hue, 199), 98%, 88%);
}

p,
blockquote > cite {
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
}

blockquote > cite:last-child {
  text-align: right;
}

abbr {
  text-decoration-skip-ink: none;
}

mark {
  background-color: hsl(var(--c-hue, 199), 98%, 88%);
  box-shadow: 0px -0.15em 2px 2px hsl(var(--c-hue, 199), 98%, 88%);
  color: black;
}

del {
  text-decoration: line-through;
}

ins {
  font-style: italic;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  text-decoration: underline;
}

a {
  text-decoration-skip-ink: auto;
  color: hsl(var(--c-hue, 199), 98%, 32%);
}
a:hover, a:active {
  color: hsl(var(--c-hue, 199), 98%, 50%);
}
a:visited {
  color: hsl(var(--c-hue, 199), 98%, 12%);
}
a:visited:hover {
  color: hsl(var(--c-hue, 199), 98%, 50%);
}

.visually-hidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.stars {
  background-color: black;
  color: white;
  font-family: "Inria Sans", sans-serif;
  background-size: cover;
  background-size: contain;
  background-attachment: fixed;
}

.stars,
.stars-bg,
.stars-bg-before::before {
  /* background by SVGBackgrounds.com */
  background-color: #000000;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='100' height='50' viewBox='0 0 100 50'%3E%3Cdefs%3E%3Crect stroke='%23000000' stroke-width='0.8' width='1' height='1' id='s'/%3E%3Cpattern id='a' width='2' height='2' patternUnits='userSpaceOnUse'%3E%3Cg stroke='%23000000' stroke-width='0.8'%3E%3Crect fill='%23050505' width='1' height='1'/%3E%3Crect fill='%23000000' width='1' height='1' x='1' y='1'/%3E%3Crect fill='%230a0a0a' width='1' height='1' y='1'/%3E%3Crect fill='%230f0f0f' width='1' height='1' x='1'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='b' width='5' height='11' patternUnits='userSpaceOnUse'%3E%3Cg fill='%23141414'%3E%3Cuse xlink:href='%23s' x='2' y='0'/%3E%3Cuse xlink:href='%23s' x='4' y='1'/%3E%3Cuse xlink:href='%23s' x='1' y='2'/%3E%3Cuse xlink:href='%23s' x='2' y='4'/%3E%3Cuse xlink:href='%23s' x='4' y='6'/%3E%3Cuse xlink:href='%23s' x='0' y='8'/%3E%3Cuse xlink:href='%23s' x='3' y='9'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='c' width='7' height='7' patternUnits='userSpaceOnUse'%3E%3Cg fill='%231a1a1a'%3E%3Cuse xlink:href='%23s' x='1' y='1'/%3E%3Cuse xlink:href='%23s' x='3' y='4'/%3E%3Cuse xlink:href='%23s' x='5' y='6'/%3E%3Cuse xlink:href='%23s' x='0' y='3'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='d' width='11' height='5' patternUnits='userSpaceOnUse'%3E%3Cg fill='%23000000'%3E%3Cuse xlink:href='%23s' x='1' y='1'/%3E%3Cuse xlink:href='%23s' x='6' y='3'/%3E%3Cuse xlink:href='%23s' x='8' y='2'/%3E%3Cuse xlink:href='%23s' x='3' y='0'/%3E%3Cuse xlink:href='%23s' x='0' y='3'/%3E%3C/g%3E%3Cg fill='%231f1f1f'%3E%3Cuse xlink:href='%23s' x='8' y='3'/%3E%3Cuse xlink:href='%23s' x='4' y='2'/%3E%3Cuse xlink:href='%23s' x='5' y='4'/%3E%3Cuse xlink:href='%23s' x='10' y='0'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='e' width='47' height='23' patternUnits='userSpaceOnUse'%3E%3Cg fill='%235dcbfd'%3E%3Cuse xlink:href='%23s' x='2' y='5'/%3E%3Cuse xlink:href='%23s' x='23' y='13'/%3E%3Cuse xlink:href='%23s' x='4' y='18'/%3E%3Cuse xlink:href='%23s' x='35' y='9'/%3E%3C/g%3E%3C/pattern%3E%3Cpattern id='f' width='61' height='31' patternUnits='userSpaceOnUse'%3E%3Cg fill='%235dcbfd'%3E%3Cuse xlink:href='%23s' x='16' y='0'/%3E%3Cuse xlink:href='%23s' x='13' y='22'/%3E%3Cuse xlink:href='%23s' x='44' y='15'/%3E%3Cuse xlink:href='%23s' x='12' y='11'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23a)' width='100' height='50'/%3E%3Crect fill='url(%23b)' width='100' height='50'/%3E%3Crect fill='url(%23c)' width='100' height='50'/%3E%3Crect fill='url(%23d)' width='100' height='50'/%3E%3Crect fill='url(%23e)' width='100' height='50'/%3E%3Crect fill='url(%23f)' width='100' height='50'/%3E%3C/svg%3E");
}

.stars a {
  color: hsl(var(--c-hue, 199), 98%, 68%);
}
.stars a:hover {
  color: hsl(var(--c-hue, 199), 98%, 88%);
}
.stars section,
.stars article {
  background-color: black;
}

body {
  font-family: "Inria Serif", serif;
  line-height: 1.3;
}

@view-transition {
  navigation: auto;
}

/*# sourceMappingURL=style.css.map */