body {
    font-family: sans-serif;
    text-align: center;
    max-width: 800px;
    margin: auto;
    line-height: 1.5;
    background: url("bg.jpg");
}
button {
    background: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
    border: none;
}
button:active {
    transform: scale(1.25);
}
button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}
h1 {
    color: white
}
a {
    color: #cc4;
}
a:visited {
    color: #cc4;
}
#history {
    background: #006459;
    padding: 1em;
    color: #cff;
    text-align: left;
    display: none;
}
#status {
    color: white;
}
#error {
    color: #fcc;
    background-color: #c00;
}
.typing-cursor {
    width: 40px;
    height: 14px;
    background: linear-gradient(-90deg, #006459, transparent);
    transform: translate(-30px, 0px);
    display: inline-block;
    margin-left: 2px;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
p.user-message {
    color: #cc4;
}
p.ai-message {
    color: #cff;
}

.prodimg {
    max-width: 100px;
}

.article-container {
    display: flex;
    flex-direction: row;
    align-items: start;
}

.article-container p {
    margin-right: 1.5em;
    transition: opacity 1s ease-in-out;
}

.invisible {
    opacity: 0;
}

.visible {
    opacity: 1;
}

.textinput-wrapper {
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-content: center;
}

.textinput-wrapper button {
    background-color: #006c62;
    color: white;
    padding: 0.5em;
    margin-left: 0.5em;
}

.textinput-wrapper textarea {
    height: 4em;
}
