/* Copyright (c) 2023 Julian Müller (ChaoticByte) */
:root {
--background: #1f1f1f;
--background2: #303030;
--background3: #161616;
--background4: #131313;
--button-bg: #3b3b3b;
--button-bg2: #4f4f4f;
--icon-button-fill: #ffffff;
--send-icon-button-fill: #29c76d;
--color: #fafafa;
--border-radius: .5rem;
}
body {
margin: 0;
padding: 0;
background: var(--background);
color: var(--color);
font-family: sans-serif;
flex-direction: row;
height: 100vh;
input[type="number"] {
width: 4rem;
.sidepanel {
gap: .5rem;
align-items: flex-end;
padding: 1rem;
padding-left: 0;
min-width: fit-content;
.settings {
margin-top: 1rem;
margin-bottom: 1rem;
.setting {
.setting > div:first-child {
flex-grow: 1;
.main {
justify-content: flex-end;
.messages {
gap: 1.1rem;
overflow-y: scroll;
max-height: 89vh;
.message {
display: flex;
padding: .5rem;
border-radius: var(--border-radius);
max-width: fit-content;
button {
padding: .5rem .7rem;
border: none;
outline: none;
background: var(--button-bg);
font-size: .9rem;
button:disabled, input:disabled, textarea:disabled {
opacity: 50%;
button:hover {
background: var(--button-bg2);
.flex {
.flex-column {
flex-direction: column;
.max-width {
width: 100%;
.message-bg-assistant {
background: var(--background2);
.message-bg-user {
background: var(--background3);
.message-type {
min-width: 3.5rem;
padding-left: .1rem;
.input-container {
margin-top: auto;
align-items: center;
.text-input {
background-color: var(--background4);
padding: .8rem 1.1rem;
resize: none;
.icon-button {
padding: .2rem;
justify-content: center;
background: transparent;
.icon-button:hover {
.icon-button > svg {
height: 1.5rem;
width: auto;
fill: var(--icon-button-fill);
.icon-button:hover > svg {
transform: scale(1.1);
.send-btn > svg {
height: 2.2rem;
fill: var(--send-icon-button-fill);