coziSoul's picture
Upload 11 files
47285f7 verified
/* ---
TMM-OS VIS v2.0 - Chatbot Implementation
Primary Font: Helvetica Neue
Base Color: Cosmic Latte (#FFF8E7)
--- */
/* 1.0 General & Body Styles */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
background-color: #FFF8E7; /* Primary Base: Cosmic Latte */
color: #000000; /* Primary Text: System Black */
display: flex;
flex-direction: column;
min-height: 100vh;
}
/* 2.0 Main Layout & Header */
.chat-container {
width: 100%;
max-width: 900px;
margin: auto;
padding: 20px;
display: flex;
flex-direction: column;
flex-grow: 1;
}
.chat-header h1 {
font-size: 48px; /* H1 Style */
font-weight: bold; /* Bold is often better than Black for web */
text-transform: uppercase; /* H1 Style */
text-align: center;
margin-bottom: 20px;
}
/* 3.0 Message Container */
.messages-container {
flex-grow: 1;
overflow-y: auto;
padding: 10px;
border: 1px solid #ddd;
border-radius: 8px;
background-color: rgba(255, 255, 255, 0.6);
margin-bottom: 20px;
}
/* 4.0 Individual Message Bubbles */
.message {
display: flex;
align-items: flex-start;
margin-bottom: 15px;
max-width: 80%;
opacity: 0;
transform: translateY(20px);
animation: fade-in-bottom 0.4s forwards;
}
.message img {
width: 40px;
height: 40px;
border-radius: 50%;
flex-shrink: 0;
border: 2px solid #fff;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.message p {
padding: 12px 16px;
border-radius: 18px;
line-height: 1.5;
font-size: 16px; /* Body Large Style */
}
/* User Message */
.user {
flex-direction: row-reverse;
margin-left: auto;
}
.user img {
margin-left: 10px;
}
.user p {
background-color: #f0f0f0;
border-bottom-right-radius: 5px;
}
/* AI Bot Message */
.aibot {
margin-right: auto;
}
.aibot img {
margin-right: 10px;
}
.aibot p {
background-color: #ffffff;
border: 1px solid #e0e0e0;
border-bottom-left-radius: 5px;
}
/* Error Message */
.error {
margin-right: auto;
}
.error img {
margin-right: 10px;
}
.error p {
background-color: #FFDDDD; /* Subtle version of Art (Red) */
border: 1px solid #FF0000;
color: #000000;
border-bottom-left-radius: 5px;
}
/* 5.0 Loading Indicator */
.loading-container {
display: flex;
align-items: center;
}
.loading-animation {
width: 40px;
height: 40px;
border-radius: 50%;
border: 4px solid #e0e0e0;
border-top-color: #0000FF; /* Sound (Blue) Accent */
animation: spin 1s linear infinite;
margin-right: 10px;
}
.loading-text {
font-size: 16px;
color: #555;
}
/* 6.0 Input Form */
.chat-form {
display: flex;
align-items: stretch;
}
.chat-form textarea {
flex-grow: 1;
padding: 12px;
border-radius: 8px;
border: 1px solid #ccc;
font-size: 16px; /* Body Large Style */
font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
resize: none;
overflow-y: hidden;
line-height: 1.4;
transition: border-color 0.2s, box-shadow 0.2s;
}
.chat-form textarea:focus {
outline: none;
border-color: #0000FF; /* Sound (Blue) Accent */
box-shadow: 0 0 0 2px rgba(0, 0, 255, 0.2);
}
.chat-form button {
margin-left: 10px;
padding: 0 20px;
border: none;
border-radius: 8px;
cursor: pointer;
background-color: #000000; /* System Black */
color: #FFF8E7; /* Cosmic Latte */
font-size: 15px; /* UI Label Style */
font-weight: bold; /* UI Label Style */
text-transform: uppercase; /* UI Label Style */
transition: background-color 0.2s;
}
.chat-form button:hover {
background-color: #0000FF; /* Sound (Blue) Accent on hover */
}
/* 7.0 Footer */
footer {
padding: 20px;
text-align: center;
font-size: 14px; /* Body Small Style */
color: #555;
}
footer a {
color: #0000FF; /* Sound (Blue) Accent */
font-weight: bold;
text-decoration: none;
}
footer a:hover {
text-decoration: underline;
}
/* 8.0 Animations */
@keyframes fade-in-bottom {
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes spin {
to {
transform: rotate(360deg);
}
}