#log {
  display: flex;
  flex-direction: column;
}

#transcript { margin-top: auto; }

.list-row {
  padding: 2px 6px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.list-row:hover { background: #000; color: #fff; }

.line { padding: 0 8px; white-space: pre-wrap; overflow-wrap: anywhere; }
.line .ts { margin-right: 8px; color: #6f6a62; font-size: 12px; }

#say {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  padding: 16px 12px 14px;
  background: #f4f1ea;
  color: #000;
}

.say-field { position: relative; min-width: 0; }

.say-label {
  position: absolute;
  top: 0;
  left: 10px;
  transform: translateY(-50%);
  background: #3f2a1a;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
  padding: 1px 6px;
}

#box, #send {
  border: 3px solid #3f2a1a;
  box-shadow: 4px 4px 0 #c46a28;
  height: 48px;
}

#box {
  width: 100%;
  background: #fff;
  color: #000;
  caret-color: #000;
  padding: 0 12px;
}

#box::placeholder {
  color: #9a9a9a;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

#send {
  background: #e87820;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  min-width: 92px;
  padding: 0 16px;
}

#send:active,
#send.pressed {
  transform: translate(4px, 4px);
  box-shadow: none;
  background: #e87820;
  color: #fff;
}
