/* Copyright (c) 2023 Julian Müller (ChaoticByte) */ :root { --background: #1f1f1f; --background2: #303030; --background3: #161616; --background4: #131313; --background5: #1a1a1a; --button-bg: #3b3b3b; --button-bg2: #4f4f4f; --icon-button-fill: #ffffff; --send-icon-button-fill: #29c76d; --color: #fafafa; --color2: #bbbbbb; --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; } .sidebar-container { padding: .5rem; height: 100%; background-color: var(--background5); box-sizing: border-box; } .sidebar-container.sidebar-hidden > .sidebar { display: none; } .sidebar { margin-left: .5rem; margin-right: .5rem; margin-top: .4rem; gap: .5rem; align-items: flex-end; min-width: fit-content; } .settings { margin-top: 1rem; margin-bottom: 1rem; gap: .5rem; } .setting { gap: .5rem; } .setting > div:first-child { flex-grow: 1; } .main { flex-grow: 1; justify-content: flex-end; padding: 1rem; } .messages { gap: 1rem; margin-bottom: 1rem; overflow-y: scroll; max-height: 89vh; align-items: center; flex-grow: 2; } .message { display: flex; flex-direction: column; flex-wrap: wrap; gap: 1rem; } .message-type { color: var(--color2); text-align: center; } .message-text { white-space: pre-wrap; padding: .5rem .8rem; border-radius: var(--border-radius); } .message-bg-assistant > .message-text { background: var(--background2); } .message-bg-user > .message-text { background: var(--background3); } button { padding: .5rem .7rem; border: none; outline: none; color: var(--color); background: var(--button-bg); border-radius: var(--border-radius); font-size: .9rem; } button:disabled, input:disabled, textarea:disabled { opacity: 50%; } button:hover { background: var(--button-bg2); } .flex { display: flex; } .flex-column { flex-direction: column; } .max-width { width: 100%; } .input-container { margin-top: auto; flex-direction: row; align-items: center; gap: .5rem; } .text-input { margin: 0; flex-grow: 1; background-color: var(--background4); border: none; outline: none; padding: .8rem 1.1rem; border-radius: var(--border-radius); color: var(--color); resize: none; font-size: .9rem; } .icon-button { width: fit-content; height: fit-content; padding: .2rem; display: flex; align-items: center; justify-content: center; background: transparent; } .icon-button:hover { background: transparent; } .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); } .hidden { display: none; } @media only screen and (max-width: 600px) { body { height: 100dvh; } .sidebar-container { position: absolute; width: 100%; height: 100%; z-index: 1; } .sidebar-container.sidebar-hidden { position: absolute; width: unset; height: unset; left: auto; right: 0; background: transparent; } .sidebar-container > #sidebar-toggle-close { margin-right: auto; } .sidebar { margin-right: auto; padding-right: 2.5rem; } }