body, html {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', sans-serif;
  height: 100%;
  background-color: #f4f4f4;;
  height: inherit;
}
* {
  box-sizing: border-box;
}

.theme-light {
  --background-color: #eef;
  --user--background-color: #ccc;
  --other--background-color: #123;
  --info--background-color: #123;
}

.m-icon {
  vertical-align: middle !important;
}

a {
  color: inherit;
  text-decoration: none;
}

div.frame {
  max-width: 40em;
  border: 2px solid #0a0;
  display: flex;
  flex-direction: column;
  height: 80vh;
  background-color: var(--background-color);
}
div.inputs {
  min-height: 3.0em; /* Avoid constant resizing */
  border: 1px solid #888;
}
div.inputs > div {
  padding: 0.3em 1em 0.3em 1em;
  display: none; /* Normally hidden */
}

div.inputs[data-input="message"] > div.input--message {
  display: block;
}

div.inputs[data-input="voice"] > div.input--voice {
  background-color: #faa;
  display: block;
}
div.inputs[data-input="voice"] .m-icon {
  color: red;
}

div.input--text {
  display: flex;
}
div.input--text-field {
  padding: 0.3em;
  background-color: #fff;
  flex-grow: 100;
}

div.messages {
  margin: 0;
  padding: 1.0em;
  border: 1px solid #888;
  overflow-y: scroll;
  flex-grow: 100;
  scroll-behavior: smooth;
}
div.messages > div { 
  margin: 0.2em;
  padding: 0.5em 1em 0.5em 1em;
  border-radius: 0.5em;
}

div.messages div.q {
  background-color: orange;
  max-width: 80%;
  display: inline-block;
}
div.messages div.a {
  background-color: #444;
  color: white;
  border: 1px solid #bbb;
  width: 80%;
  margin-left: auto;
  margin-right: 0;
}
div.messages div.info {
  background-color: #ccc;
  margin: 0.5em auto 0.5em auto;
  width: 80%;
}

div.messages p {
  margin: 0;
}
div.messages div.temp {
  background: #aaa;
}

span.button {
  border: 1px solid #444;
  padding: 0.1em 0.6em 0.1em 0.6em;
  border-radius: 1em;
  background: #fff;
  color: rgba(0,0,0,0.5);
  cursor: pointer;
}
span.button:hover {
  background-color: #afa;
}

div.messages div.ok {
  background-color: #0a0;
  color: white;
}
div.messages div.bad {
  background-color: #a00;
  color: white;
}

_div {
  overflow: auto;
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

div.controls {
  //overflow: auto;
  //position: absolute;
  //bottom: 0;
  //right: 0;
  //left: 0;
}

button {
  margin: 0 auto;
  display: block;
  font-size: 1.1rem;
  width: 170px;
  line-height: 2;
  margin-top: 30px;
}

/*
@media all and (max-height: 410px) {
  div {
    position: static;
  }
}
*/

.phrase {
  font-weight: bold;
}

.output {
  font-style: italic;
}

@media screen and (max-width: 768px) {
  ::-webkit-scrollbar {
      -webkit-appearance: none;
      display: none;
  }
}
