:root { --fg: #212529; --bg: #fff; --url: #0242f2; }

body {
  color: var(--fg);
  background: var(--bg);
  max-width: 800px;
  margin: 40px auto;
  padding: 0 10px;
  font-family: sans-serif;
  font-size: 18px;
  line-height: 1.6;
}

nav, footer, header, h1, h2, h3 { line-height: 1.2; }
footer { border-top: 1px solid var(--fg); font-size: 14px; }

nav { border-bottom: 1px solid var(--fg); }
nav ul { list-style: none; padding: 0; }
nav ul li { display: inline-block; }
nav ul li:after { content: "·" }
nav ul li:last-child:after { content: "" }


a { color: var(--url); text-decoration: none; }
a:hover { text-decoration: underline; }

figcaption { padding-top: 10px; text-align: center; color: gray; }
img, iframe { display: block; max-width: 100%; }
iframe { margin-top: 1em; }

.gallery { padding-left: 0; text-align: center; margin: auto; width: 90%; }
.ghero { width: 90%; max-width: 1040px; margin: auto; margin-top: 5px; margin-bottom: 5px; }
.gallery ul {
  display: grid;
  grid-template-columns: auto auto auto;
  list-style: none;
  gap: 5px;
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 1040px;
}
.gallery li {
  display: inline-block;
  overflow: hidden;
  -o-object-fit: cover;
  object-fit: cover;
  margin: 0;
}
.avatar { width: 200px; margin: 0 0 1em 1em; border-radius: 100%; float: right; }

@media screen and (max-width: 720px) {
  .gallery, .ghero, figure {
    margin-left: -1em;
    margin-right: -1em;
    width: 100%;
    max-width: calc(100% + 2em);
    width: calc(100% + 2em);
  }
  .gallery li { display: block; }
  figure img, .gallery li img, .ghero img { width: 100%; height: 100%; }
}

@media screen and (max-width: 700px) {
  .gallery ul { gap: 1px; }
  .ghero { margin-bottom: 1px; margin-top: 1px; }
  .avatar { float: none; margin: 1em auto; }
}

@media (prefers-color-scheme: dark) { :root { --fg: #f8f9fa; --bg: #212529; --url: #3395ff; } }
