@charset "utf-8";
:root {
  overflow-x: hidden;
  --pad: calc((100vw - 600px) / 2);
}

a[href^="#f-"] {
  vertical-align: top;
  font-size: 0.7em;
}

blockquote {
  margin: 0;
  padding: 0;
}

header {
  margin: 2em;
  text-align: center;
}

h1 {
  text-align: center;
}
h2, h3, h4, h5, h6 {
  margin: 2em 0 1em;
}
hr {
  border: none;
  height: 1em;
}

.katex-display {
  margin-left: 1em;
}
.katex-display, .katex-html {
  text-align: left;
}

dl.num {
  counter-reset: dl-num;
  padding-inline-start: 40px;
}
dl.num dd {
  margin-inline-start: 0;
}
dl.num > dt {
  position: relative;
}
dl.num > dt::before {
  position: absolute;
  top: 0;
  right: 100%;
  margin-inline-end: 0.25em;
  counter-increment: dl-num;
  content: counters(dl-num, ".") ". ";
}

.prop {
  position: relative;
  background-color: #eeeef5;
  outline-offset: 3px;
  outline: #eeeef5 3px solid;
  padding: 1.5em var(--pad) 1.5em var(--pad);
  margin: 2em calc(-1 * var(--pad));
}
@media(max-width: 628px) {
  .prop {
    padding: 1em 1em;
    margin: 2em -1em;
  }
}

.prop[data-title]::before {
  content: attr(data-title);
  display: block;
  float: left;
  margin: 0 0.5em -0.1em 0;
  font-size: 1.1em;
  line-height: 1.9;
  color: #347;
  font-weight: bold;
}

.proof, .because {
  position: relative;
  margin-bottom: 0.5em;
}
.proof > :last-child::after, .because > :last-child::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 0;
}
.proof::after, .because::after {
  position: absolute;
  bottom: 0.45em;
  right: 0;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-color: #347;
}

.because {
  padding-left: 1.25em;
}
.because::before {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0 0.5em -0.1em 0;
  font-size: 1.1em;
  line-height: 1.9;
  content: "∵";
}

.prop h2,
.prop h3,
.prop h4,
.prop h5,
.prop h6,
.proof h2,
.proof h3,
.proof h4,
.proof h5,
.proof h6 {
  float: left;
  margin: 0 0.5em -0.1em 0;
  font-size: 1.1em;
  line-height: 1.9;
}

.prop-proof {
  margin: 2em 0;
}

.prop-proof .prop {
  margin-bottom: 0.5em;
}
.prop-proof .proof {
  margin-top: 1em;
}


aside.footnote {
  margin-top: 2em;
  font-size: 90%;
  display: table;
}
aside.footnote > div {
  display: table-row;
}
aside.footnote > div > dt, aside.footnote > div > dd {
  display: table-cell;
}
aside.footnote > div > dt {
  text-align: right;
  padding-right: 0.5em;
}

a.foot-link::before {
  content: "[";
}
a.foot-link::after {
  content: "]";
}

aside.footnote > div > dt a {
  margin: 0;
}
aside.footnote > div > dt::before {
  content: "[";
}
aside.footnote > div > dt::after {
  content: "]:";
}


footer.global time {
  color: #9ab;
}