:root {
  --bg-color: #fff;
  --tag-gray: #888;
  --text: #333;
  --text-moderate: #666;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #222;
    --tag-gray: #bbb;
    --text: #eee;
    --text-moderate: #aaa;
  }
  #photo {
    filter: brightness(50%) !important;
  }
}
html {
  font-feature-settings: 'palt';
  font-size: 16px;
  height: 100%;
  line-height: 1.4;
}
body {
  background-color: var(--bg-color);
  color: var(--text);
  font-family: Lato, sans-serif;
  font-size: 1rem;
  height: 100%;
  line-height: 1.4;
  letter-spacing: 0.02rem;
  padding: 20px 3%;
  position: relative;
  -webkit-text-size-adjust: 100%;
}
@media screen and (min-width: 1200px) {
  #photo {
    background-image: url('./photo.jpg');
    background-position: right top;
    background-repeat: no-repeat;
    background-size: contain;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: -1;
  }
  #overlay {
    background-color: var(--bg-color);
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}
.nowrap,
#profile dl .duration,
#affiliation dl .duration {
  white-space: nowrap;
}
.label {
  border-radius: 3px;
  border-style: solid;
  border-width: 1px;
  font-size: 0.8rem;
  margin-left: 4px;
  padding: 1px 3px;
  user-select: none;
  vertical-align: text-bottom;
  white-space: nowrap;
}
.label.green {
  border-color: #26c45f;
  color: #26c45f;
}
.label.gray {
  border-color: var(--tag-gray);
  color: var(--tag-gray);
}
.label.red {
  border-color: #ff535c;
  color: #ff535c;
}
.label.yellow {
  border-color: #ff8900;
  color: #ff8900;
}
.label .fa {
  margin-right: 1px;
}
main a {
  text-decoration: none;
}
main a:link,
main a:visited {
  color: #3498db;
}
main a:hover {
  color: #26c45f;
  text-decoration: none;
}
main h1 {
  font-weight: bold;
}
main h2 {
  color: var(--text-moderate);
  font-size: 1.5rem;
  font-weight: bold;
}
main h2::before {
  content: '# ';
}
main h3::before {
  content: '## ';
}
main section {
  margin: 12px 0 24px;
}
main ul {
  padding-left: 0;
}
main ul li {
  list-style-type: none;
  margin-bottom: 0.2rem;
}
main ul li::before {
  content: '- ';
  color: var(--text-moderate);
}
main ul li ul {
  margin-left: 2rem;
}
#profile dl,
#affiliation dl {
  margin-left: 0;
}
#profile dl dt,
#affiliation dl dt {
  margin-bottom: 0.5rem;
  margin-top: 1rem;
}
#profile dl dt::before,
#affiliation dl dt::before {
  content: '## ';
}
#profile dl dd,
#affiliation dl dd {
  margin-bottom: 0.5rem;
  margin-left: 2rem;
}
#profile dl .duration,
#affiliation dl .duration {
  color: #888;
}
#products .product {
  padding: 5px 0 10px;
}
#products .product .description {
  padding: 0;
  text-align: justify;
}
#products .product h3 a {
  color: var(--text-moderate);
  font-weight: normal;
}
nav {
  bottom: 20px;
  padding: 10px;
  position: fixed;
  right: 20px;
  text-align: right;
}
nav ul {
  margin: 0;
  padding: 0;
}
nav ul li {
  list-style-type: none;
}
nav ul li a:link,
nav ul li a:active,
nav ul li a:visited {
  text-decoration: none;
}
nav ul li.active {
  color: #26c45f;
}
nav ul li.active a:link,
nav ul li.active a:active,
nav ul li.active a:visited {
  color: #26c45f;
  text-decoration: none;
}
