:root {
  font-size: 20px;

  background: #ffd060;
  color: #b4afac;

  align-content: center;
}

@media screen and (max-height: 860px) {
  :root {
    font-size: 12px;
  }
}

body {
  height: 100svh;
  margin: 0;
}

#root {
  min-height: 100%;
  padding: 3rem 0;

  display: flex;
  flex-flow: column-reverse;
  row-gap: 1rem;

  justify-content: center;
}

.signboard {
  text-align: center;

  display: flex;
  flex-flow: column;

  gap: 1rem;
}

.signboard-copyright {
  font-size: 0.8rem
}

.signboard-orgname > .inline-accent {
  color: transparent;
  text-shadow: #b4afac 1px 0 4px;
}

main {
  margin: 0 auto;

  border: #b4afac 8px solid;
  font-weight: bolder;

  padding: 3rem 1rem;
  display: flex;
}

.info {
  font-size: 1.2rem;
  max-width: 100%;

  flex-grow: 1;
  text-align: center;
}

.info > section > h2 {
  margin: 2rem;
  padding: 1rem;
  border-bottom: #b4afac dotted 4px;
}

.info > section > :not(h2) {
  text-align: left;
}

section[name="member"] > .member-list,
section[name="activity"] > .activity-list {
  display: flex;
  column-gap: 1rem;
}

section[name="member"] > .member-list {
  justify-content: center;
}

.profile {
  display: grid;
  gap: 0.75rem;
  text-align: center;

  text-decoration: none;
}

a:hover,
a:focus {
  transition: all 0.2s 0s ease;
  filter: blur(2px) drop-shadow(0 0 1rem yellow);
}

.profile-icon {
  max-width: 4rem;

  border-radius: 100%;
  overflow: hidden;
}

.profile-hn {
  display: flex;
  flex-flow: column;
  line-height: 1.0rem;
}

.profile-hn__aka {
  font-size: 0.6em;
}

.profile-hn > * {
  color: transparent;
  text-shadow: #9c9591 0 0 3px;
}

.profile-hn__aka {
  text-decoration: none;
}

.profile-hn__aka:before {
  content: "@"
}

aside[name="whoarewe"] {
  font-size: 1.25rem;
  word-break: auto-phrase;
  text-wrap: balance;
}