kofdai's picture
Deploy NullAI Knowledge System to Spaces
075a2b6 verified
:root {
font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #1a1a1a;
}
body {
margin: 0;
}
/* New 3-Panel Grid Layout */
.app-container {
display: grid;
grid-template-columns: 320px 1fr 400px; /* System | Main | Knowledge */
grid-template-rows: auto 1fr; /* Header | Content */
grid-template-areas:
"header header header"
"system-panel main-panel knowledge-panel";
height: 100vh;
width: 100vw;
overflow: hidden;
}
.app-header {
grid-area: header;
padding: 1rem 2rem;
border-bottom: 1px solid #333;
background-color: #242424;
}
.header-content {
display: flex;
justify-content: space-between;
align-items: center;
}
.tagline {
color: #888;
font-size: 0.9rem;
margin: 0.2rem 0 0 0;
}
.system-panel,
.main-panel,
.knowledge-panel {
padding: 1rem;
overflow-y: auto;
height: calc(100vh - 80px); /* Adjust based on header height */
}
.system-panel {
grid-area: system-panel;
background-color: #202020;
border-right: 1px solid #333;
}
.main-panel {
grid-area: main-panel;
display: flex;
flex-direction: column;
}
.knowledge-panel {
grid-area: knowledge-panel;
background-color: #202020;
border-left: 1px solid #333;
}
.panel-section {
margin-bottom: 2rem;
border: 1px solid #333;
border-radius: 8px;
padding: 1rem;
}
.panel-section h3 {
margin-top: 0;
color: #00aaff;
}
/* General Component Styles */
button {
padding: 10px 20px;
border-radius: 6px;
border: 1px solid transparent;
background-color: #007acc;
color: white;
font-size: 1em;
font-weight: 500;
cursor: pointer;
transition: all 0.15s ease;
user-select: none;
}
button:disabled {
background-color: #444;
cursor: not-allowed;
opacity: 0.6;
}
button:hover:not(:disabled) {
background-color: #0099e6;
transform: translateY(-1px);
box-shadow: 0 2px 8px rgba(0, 122, 204, 0.3);
}
button:active:not(:disabled) {
transform: translateY(0) scale(0.98);
box-shadow: 0 1px 4px rgba(0, 122, 204, 0.2);
}
input, select, textarea {
width: 100%;
padding: 10px 15px;
border-radius: 6px;
border: 1px solid #555;
background-color: #333;
color: white;
font-size: 1em;
box-sizing: border-box;
}
/* Chat/Inference Styles (re-purposed) */
.chat-container {
display: flex;
flex-direction: column;
height: 100%;
}
.messages {
flex-grow: 1;
overflow-y: auto;
padding-right: 10px;
margin-bottom: 1rem;
}
.message {
margin-bottom: 1.5rem;
padding: 1rem;
border-radius: 8px;
line-height: 1.6;
}
.question {
background-color: #3a3a3a;
align-self: flex-end;
max-width: 80%;
margin-left: auto;
}
.response {
background-color: #2a2a2a;
border: 1px solid #4a4a4a;
max-width: 95%;
}
.input-area {
margin-top: 1rem;
display: flex;
gap: 10px;
}
/* Save button disabled state */
.save-btn:disabled {
background-color: #555;
cursor: not-allowed;
}
/* Loading Dots Animation */
.loading-dots {
display: inline-block;
width: 1.5em; /* Adjust as needed */
text-align: left;
}
.loading-dots span {
animation: blink 1.4s infinite;
}
.loading-dots span:nth-child(2) {
animation-delay: 0.2s;
}
.loading-dots span:nth-child(3) {
animation-delay: 0.4s;
}
@keyframes blink {
0% { opacity: 0.2; }
20% { opacity: 1; }
100% { opacity: 0.2; }
}