/* Copyright (C) 2026 Doan Luu Duc Tai This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ * { box-sizing: border-box; } :root { color-scheme: dark; font-family: "Courier New", monospace; background: #131715; color: #d4d8cd; line-height: 1.6; } body { margin: 0; } main { max-width: 58rem; margin: 2rem auto; padding: 0 1.25rem; } header, footer { border-top: 1px solid #667367; padding-top: 1rem; } header { display: flex; flex-wrap: wrap; gap: .6rem; } h1 { font-size: 1.8rem; color: #e3e3ce; } h2, h3 { font-size: 1.05rem; } a { color: #aec2a5; text-underline-offset: .2rem; } .status, .badge { color: #e0c46d; } .status { margin-left: auto; } .notice { border-left: 2px solid #c5ad68; padding-left: 1rem; } button, input, textarea { font: inherit; color: inherit; background: #1c231e; border: 1px solid #667367; border-radius: 0; padding: .55rem .7rem; } button { cursor: pointer; margin: .4rem .6rem .4rem 0; } button:hover, button:focus-visible { border-color: #d7c884; color: #f0e5b0; } button:disabled { opacity: .5; cursor: wait; } input, textarea { display: block; width: 100%; margin: .35rem 0 1rem; } input[type=number] { width: 8rem; } label { display: block; } section { margin: 1.5rem 0; } [hidden] { display: none !important; } .chat-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; } #fingerprint, #conversation-fingerprint { overflow-wrap: anywhere; font-size: .8rem; } #messages { padding: 0; list-style: none; } #messages li { border-top: 1px dashed #48564a; padding: 1rem 0; } #messages p { white-space: pre-wrap; overflow-wrap: anywhere; margin: .4rem 0; } #messages small { color: #a8b39e; } #status { min-height: 1.6rem; color: #e0c46d; } footer { margin-top: 3rem; padding-bottom: 2rem; } footer > a { display: block; width: fit-content; } footer p { position: relative; } #js-warning { display: none; max-width: 48rem; border: 1px solid #c5ad68; background: #1c231e; padding: 1rem; margin: .8rem 0; } .badge:hover + #js-warning, .badge:focus-visible + #js-warning { display: block; }