*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    margin: 0;
    overflow: hidden;
}

#book {
    height: 100vh;
    overflow-y: auto;
    scroll-snap-type: y mandatory;
}

#status {
    position: fixed;
    top: 0;
    right: 0;
    padding: 10px;
    color: white;
    font-weight: bold;
}

#book p {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

/*p { margin:1.2em 0; } */
.badge { position: fixed; right:10px; bottom:10px; background:#222;color:#fff;padding:6px 10px;border-radius:6px;opacity:.85 }

/* ===================== */

* {
  font-family: abhaya-libre, serif;
  font-weight: 400;
  font-style: normal;

  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow-wrap: break-word;
  color: #181818;
  background-color: #eeeeee;
}

a {
  color: inherit;
}

article {
  line-height: 1.2;
}
#qmap {
  border: 1px solid;
  padding: 10px;
  margin: 15px;
  box-sizing: border-box;
  width: fit-content;
}

#qmap>a {
  text-decoration: none;
  color: inherit;
  font-size: 1.2em;
  font-family: monospace;
  display: inline-block;
  vertical-align: middle;
  padding: 5px;
}

#to-top {
  position: fixed;
  padding: 20px;
  border: 1px solid;
  bottom: 13px;
  right: 13px;
}

#stats {
  font-family: monospace;

  position: fixed;
  padding: 10px;
  border: 1px solid;
  top: 13px;
  right: 13px;
}

#scroller {
  position: fixed;
  padding: 10px;
  border: 1px solid;
  top: 53px;
  right: 13px;
  cursor: pointer;
}

@keyframes pulse {
    from { border-color: #f00;}
    to { border-color: #000;}
}

@media (prefers-color-scheme: dark) {
  * {
    color: white;
    background-color: black;
  }
}

@media screen and (max-width: 768px) {
  article {
    width: 100%;
    padding: 15px;
    font-size: 1.5em;
  }

  #qmap>a {
    font-size: 1.2em;
  }
}
