* { font-family: 'Lucida Bright', 'Times New Roman', Times, serif; }
body {
  font-size: large; padding: 1em 1.5em 0; margin: 0 auto;
  max-width: 620px; line-height: 1.3;
}
body.portrait-random { margin-left: 219px; }
h2 { font-weight: normal; margin-top: 1.2em; margin-bottom: 0.3em; }
h2:target:before {
  position: absolute;
  margin-left: -1.5em;
  content: '\2192';
  color: red;
  animation: blinker 1s linear infinite;
}
@keyframes blinker {
  50% { opacity: 0; }
}
img#portrait { position: absolute; left: 5em; border: none; }
ul { padding-left: 0; margin-left: -1em; padding-top: 0em;}
ul li { list-style-type: none; padding-left: 1em; padding-bottom: 0.1em; }
ul li:before { content: '\ff65'; margin-left: -1em; padding-right: 0.5em; }
li ul, li ol { margin-left: 0; padding-left: 0; }
li ul li { list-style-type: none; }
li ul li:before { content: '\fe58'; padding-right: 0; }
@media screen and (-webkit-min-device-pixel-ratio:0) {
  /* Blink/WebKit */
  li ul li:before { content: '\fe58'; padding-right: 0.5em; }
}
tt { font-family: monospace; }
a { color: maroon; text-decoration: none; }
pre a { font-family: monospace; color: inherit; text-decoration: inherit; }
.id { font-family: monospace; }
.handle { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: gray;
font-size: smaller; }
.discord-username { font-family: monospace; }
.discord-username span { font-family: inherit; color: gray; }
.pgp-key span { font-family: inherit; color: inherit; margin-right: 0.5em; }
.name-row {
  display: flex;
  align-items: center;
  column-gap: 0.80em;
  margin: 0px 0 30px -7px;
}
h1 { font-family: 'Spoqa Han Sans JP', sans-serif;
  font-size: 15px;
  font-weight: 200;
margin: -20px 0 30px -7px; padding-top: 0.0em; }
h1 ruby, h1 rb { font: inherit; }
h1 rb { font-size: 54px; }
h1 rt {
  font-family: 'Spoqa Han Sans';
  font-size: 15px; font-weight: 800;
  margin-bottom: -15px;
  text-transform: uppercase;
  opacity: 0.45;
}
h1.transformed { margin: -20px 0 30px -7px; }
h1.transformed ruby {
  display: inline-flex;
  flex-direction: column-reverse;
}
h1.transformed rb, h1.transformed rt {
  display: inline;
  line-height: 1;
  margin-bottom: 0;
}
h1.transformed rt { text-align: center; }
.name-row h1,
.name-row h1.transformed {
  margin: 0;
}
.thesis-label {
  font-family: 'Spoqa Han Sans JP', sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.08em;
  padding-top: 1.0em;
  padding-left: 0.5em;
  text-transform: uppercase;
  white-space: nowrap;
}
body > p:first-of-type { margin-top: 0; }
a[hreflang]:after {
  color: gray;
  content: ' (' attr(hreflang) ')';
  font-size: small;
  text-decoration: none;
  text-decoration-line: none;
  vertical-align: super;
}
.toggler { color: inherit; opacity: 0.5; cursor: pointer; }
.etc .hidden { display: none; }

@media (max-width: 560px) {
  body {
    box-sizing: border-box;
    max-width: none;
    overflow-wrap: break-word;
    padding: 0.9em 1em 0;
    width: 100%;
  }

  body.portrait-random {
    margin-left: 0;
  }

  .name-row {
    flex-wrap: wrap;
    row-gap: 0.35em;
    margin: 0 0 1.4em;
  }

  .name-row h1,
  .name-row h1.transformed {
    flex-basis: 100%;
  }

  .thesis-label {
    font-size: 16px;
    letter-spacing: 0.06em;
    padding-left: 0;
    padding-top: 0;
  }
}
