body {
  margin: 0;
  padding: 0;
  font-size: 100%;
  background-image: url("snowflake.png");
}
strong { color: blue; }
i { color: red; }
em { color: #a00; font-weight: 500; font-style: normal; }
.invisible { display: none; }
.wrapper { width: 100ch; margin: 0 auto; padding: 0.5em 1em; }
.flushright { text-align: right; }
:target { background: #fee; }

/* header */
header h1 { display: inline; color: #88d; }
header, header a, header a:visited {
  color: #88d; 
  background: #eef;
}
header a.logo {
  font-size: xx-large;
  font-weight: bold;
  text-decoration: none;
}

/* nav */
nav {
  color: #44c;
  background: #eef;
  border-bottom: solid 1px #aaf;
  margin: 0;
  padding: 0;
}
nav div.wrapper { padding: 2ex 1em 0 1em; }
nav ul {
  margin: 0 0 -1px 0;
  padding: 0;
  display: inline-flex;
  list-style: none;
  column-gap: 1em;
  justify-content: flex-start;
}
nav li {
  padding: 1ex 1em;
  display: inline-box;
}
nav li.selected {
  background: white;
  border-radius: 0.5ex 0.5ex 0 0;
  box-shadow: 1px 0 #aaf, inset 1px 1px #aaf;
}
nav a { font-weight: bold; margin: 0; }

/* main */
main nav { border: none; background: #eef; }
main nav ul { margin-left: 1rem; justify-content: flex-end; }
h1   { color: #44a; font-size: x-large; }
h2   { color: #a00; font-size: large; margin-top: 2em; }
h3   { font-size: 110%; margin-top: 1.5em; }
article {
  padding: 0.25em 1em; 
  margin: 1em 0; 
  border-top: solid 2px;
  border-bottom: solid 2px;
}
article.definition {
  background:    #efe;
  border-color:  #9d9;
}
article.theorem {
  background:    #fed;
  border-color:  #dba;
}
article.example {
  background:    #f8ffff;
  border-color:  #9dd;
}
article.lemma {
  background:   #ffe;
  border-color: #f88;
}
article h3 {
  margin: 0;
  font-size: 100%;
}
article.exercise {
  background:   #eef;
  border-color: #88f;
}
pre {
  border-left: solid 3px #aaa;
  margin: 1em 1em;
  padding: 0 0 0 1em;
}
dl {
  display: grid;
  grid-template-columns: max-content auto;
}
dt {
  color: darkblue;
  margin: 0.1em 1em;
  grid-column: 1;
}
dd {
  margin: 0.1em 1em;
  grid-column: 2;
  text-align: justify;
}

footer {
  color: #88d;
  background: #eef;
  border-top: solid 1px #aaf;
}
