@font-face {
  font-family: "Saitamaar";
  src: url("https://keage.tokyo/fonts/Saitamaar.woff2") format("woff2");
}
@keyframes show {
  from {
    opacity: 0;
    transform: translate(-4rem, 0);
  }

  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes hide {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
body {
  height: 100dvh;
  margin: 0;
  padding: 0;
  width: 100dvw;
}
main {
  margin: 15px;
  padding: 0;
}
footer {
  bottom: 0 !important;
  padding-bottom: 16px;
  z-index: 100 !important;
}
progress {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translateX(-50%)
             translateY(-50%);
}
article {
  word-break: break-all;
  overflow-wrap : break-word;
}
.form {
  position: relative;
}
.submit,
.voice {
  position: absolute;
  z-index: 100;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}
p {
  white-space: pre-wrap;
  font-size: 16px;
}
textarea[name="message"] {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.textarea > progress {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#messages {
  padding-top: 100px;
  padding-bottom: 100px;
}
.time {
  color: var(--on-surface-variant);
}
header {
  z-index: 100;
  width: 100%;
}
.search_input_container {
  width: 100%;
}
.extended {
  height: 150px !important;
}
p.aa {
  font-family: "Saitamaar", monospace;
  overflow: scroll;
  white-space: pre-wrap;
  line-height: 18px;
}
.name-wrapper {
  min-width: 0;
}
.name {
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  min-width: 0;
}
.description {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 2;
}
.section {
  overflow-y: scroll;
  height: 100dvh;
  max-height: stretch;
}
.account_icon {
  position: absolute;
  right: 16px;
}
.thread_header {
  background: var(--surface-container) !important;
  color: var(--on-surface-container);
}
.message_header {
  background: var(--surface-container-high);
  color: var(--on-surface);
}
.thread_card {
  background: var(--surface);
  color: var(--on-surface);
}
.thread_card.active {
  background: var(--primary-container);
  color: var(--on-primary-container);
}
.thread {
  background: var(--surface);
  color: var(--on-surface);
  opacity: 0;
}
.thread.show {
  opacity: 1;
  animation: 0.4s show ease;
}
.others_message {
  background: var(--tertiary);
  color: var(--on-tertiary);
  max-width: 80%;
  white-space: pre-wrap;
}
.users_message {
  background: var(--secondary);
  color: var(--on-secondary);
  max-width: 80%;
  white-space: pre-wrap;
}
div[name="threads"] {
  background: var(--surface-container);
}
div[name="messages"] {
  background: var(--surface-container-low);
}
.no_thread, #messages {
  height: stretch;
}
.img_preview {
  display: none;
}
.snackbar {
  z-index: 1000;
}
.chat_img {
  width: 250px;
  margin: 16px;
  object-fit: cover;
}
.img_modal_content {
  margin: auto;
  display: block;
  width: 100%;
  height: stretch;
}
#img_modal {
  width: 100% !important;
  height: 100% !important;
}
.message {
  margin-top: 0;
  margin-bottom: 0;
}
.loader {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  right: 0;
  bottom: 0;
  background: var(--surface-container);
  opacity: 1;
  visibility: visible;
  transition:
    opacity .4s ease,
    visibility .4s ease;
}
.loader.hide {
  opacity: 0;
  visibility: hidden;
}
#mode_list > button {
  width: 75px;
}
#mode_list > button.active {
  background-color: var(--surface-variant) !important;
  color: var(--on-surface-variant) !important;
}
#mode_list > button.active::before {
  font-family: "Material Icons";
  content: "\e5ca";
}