body, html {
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-family: ui-sans-serif, -apple-system, "system-ui", "Segoe UI", Helvetica, "Apple Color Emoji", Arial, "sans-serif", "Segoe UI Emoji", "Segoe UI Symbol";
}

html {
	animation: 180s shimmer steps(180) infinite;
	padding: 0 1em 0 1em;
}

*, *:before, *:after {
	box-sizing: border-box;
}

.container {
	margin-left: auto;
	margin-right: auto;
	max-width: 800px;
	min-width: 300px;
	padding-left: 20px;
	padding-right: 20px;
	/* background-color: rgba(255, 0, 0, 0.3); */
}

a, a:link, a:visited {
	color: #000077;
	text-decoration: none;
}

a:hover {
	color: #0000AA;
	text-decoration: underline;
}

a:active {
	color: #0000EE;
	text-decoration: none;
}

.initial {
	text-align: center;
	font-weight: normal;
}

#pseudoform {
	width: 95%;
	min-width: 280px;
	margin: 0 auto;
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
}

#pseudoform textarea {
	background-color: #303030;
	width: 100%;
	min-height: 5em;
	margin-left: auto;
	margin-right: auto;
	border: none;
	border-radius: 15px;
	padding: 1em;
	display: block;
	color: #FFFFFF;
	field-sizing: content;
	resize: none;
	font-size: 16px;
}

#pseudoform textarea::placeholder {
	color: #AAAAAA;
}

#pseudoform button {
	border: none;
	border-radius: 1em;
	background-color: #FFFFFF;
	color: #000000;
	font-size: 1.2em;
	position: absolute;
	right: 10px;
	bottom: 10px;
	text-align: center;
}

#pseudoform button:active {
	box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.9);
	transform: translateY(1px);
}

.container:first-child {
	padding-top:  2em;
	margin-top: 0;
	width:  100%;
	max-width: 1200px;
	min-height: 100%;
	position: relative;
	/* background-color: #212121; */
	color: #FFFFFF;
}

#conversation {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  max-height: 100%;
  overflow-y: auto;
  scrollbar-width: none;
  padding-bottom: 200px;
}

#conversation .input,
#conversation .output {
	width: auto;
	max-width: 600px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	margin-bottom: 0.9em;
	white-space: pre-wrap !important;
}

#conversation .input {
	background-color: #303030;
	border: none;
	border-radius: 10px;
	padding: 1em;
	text-align: right;
	width: fit-content;
	display: block;
	margin-left: auto;
}

#conversation .output {
  white-space: pre-wrap !important;
  min-width: 0;           /* crucial for flex children to shrink */
  align-self: flex-start; /* avoid stretch forcing one line */
  display: block;
  word-wrap: break-word;
  overflow-wrap: break-word;
}


@keyframes shimmer {
	0%   { background-color: #261B1B; }
	5%   { background-color: #261E1B; }
	10%  { background-color: #26221B; }
	15%  { background-color: #26251B; }
	20%  { background-color: #24261B; }
	25%  { background-color: #21261B; }
	30%  { background-color: #1D261B; }
	35%  { background-color: #1B261C; }
	40%  { background-color: #1B261F; }
	45%  { background-color: #1B2623; }
	50%  { background-color: #1B2626; }
	55%  { background-color: #1B2326; }
	60%  { background-color: #1B1F26; }
	65%  { background-color: #1B1C26; }
	70%  { background-color: #1D1B26; }
	75%  { background-color: #211B26; }
	80%  { background-color: #241B26; }
	85%  { background-color: #261B25; }
	90%  { background-color: #261B22; }
	95%  { background-color: #261B1E; }
	100% { background-color: #261B1B; }
}