Static-Playground / style.css
workbykait's picture
Update style.css
8dc7256 verified
/* Base styles */
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
background: #ffffff;
color: #111827;
min-height: 100vh;
line-height: 1.6;
}
.app {
display: flex;
height: 100vh;
}
/* Chat Panel */
.chat-panel {
flex: 0 0 30%;
display: flex;
flex-direction: column;
border-right: 1px solid #e5e7eb;
background: #fafafa;
height: 100vh;
}
.chat-header {
padding: 1rem 1.5rem;
border-bottom: 1px solid #e5e7eb;
background: #ffffff;
}
.chat-header h1 {
font-size: 1.25rem;
font-weight: 600;
color: #111827;
}
.chat-messages {
flex: 1;
padding: 1rem 1.5rem;
overflow-y: auto;
display: flex;
flex-direction: column;
gap: 1rem;
}
.message {
display: flex;
}
.message.system {
justify-content: flex-start;
}
.message.user {
justify-content: flex-end;
}
.message-content {
max-width: 80%;
padding: 0.75rem 1rem;
border-radius: 4px;
background: #ffffff;
border: 1px solid #e5e7eb;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.message.system .message-content {
background: #ffffff;
}
.message.user .message-content {
background: #111827;
color: #ffffff;
}
.chat-input {
padding: 1rem 1.5rem;
border-top: 1px solid #e5e7eb;
background: #ffffff;
display: flex;
gap: 0.5rem;
align-items: flex-end;
}
.chat-input textarea {
flex: 1;
min-height: 2.5rem;
max-height: 6rem;
padding: 0.75rem;
border: 1px solid #d1d5db;
border-radius: 4px;
resize: none;
outline: none;
font-family: inherit;
font-size: 0.875rem;
transition: border-color 0.2s;
}
.chat-input textarea:focus {
border-color: #9ca3af;
}
.send-button {
padding: 0.75rem 1rem;
background: #111827;
color: #ffffff;
border: none;
border-radius: 4px;
font-size: 0.875rem;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s;
}
.send-button:hover {
background: #374151;
}
/* Workspace Panel */
.workspace-panel {
flex: 0 0 70%;
display: flex;
flex-direction: column;
background: #ffffff;
height: 100vh;
}
.workspace-header {
padding: 0.75rem 1.5rem;
border-bottom: 1px solid #e5e7eb;
background: #fafafa;
display: flex;
gap: 0.5rem;
}
.tab-button {
padding: 0.5rem 1rem;
background: #ffffff;
color: #6b7280;
border: 1px solid #e5e7eb;
border-radius: 4px;
font-size: 0.875rem;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
}
.tab-button.active {
background: #111827;
color: #ffffff;
border-color: #111827;
}
.tab-button:hover:not(.active) {
background: #f3f4f6;
}
.workspace-content {
flex: 1;
position: relative;
}
.view {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
.view.active {
opacity: 1;
visibility: visible;
}
.preview-container {
height: 100%;
padding: 1rem;
display: flex;
align-items: center;
justify-content: center;
}
#preview-iframe {
width: 100%;
height: 100%;
border: 1px solid #e5e7eb;
border-radius: 4px;
background: #ffffff;
}
.spinner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 24px;
height: 24px;
border: 2px solid #e5e7eb;
border-top: 2px solid #6b7280;
border-radius: 50%;
animation: spin 1s linear infinite;
}
.hidden {
display: none;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.editors-container {
height: 100%;
padding: 1rem;
display: flex;
flex-direction: column;
gap: 1rem;
overflow-y: auto;
}
.editor-group {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
}
.editor-group label {
font-size: 0.875rem;
font-weight: 500;
color: #6b7280;
margin-bottom: 0.5rem;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.code-editor {
flex: 1;
font-family: 'Fira Code', 'JetBrains Mono', 'Monaco', 'Cascadia Code', monospace;
font-size: 13px;
line-height: 1.5;
padding: 1rem;
border: 1px solid #d1d5db;
border-radius: 4px;
background: #ffffff;
resize: none;
outline: none;
transition: border-color 0.2s;
min-height: 150px;
}
.code-editor:focus {
border-color: #9ca3af;
}
.image-upload {
display: flex;
gap: 0.5rem;
align-items: center;
padding: 0.5rem 0;
}
.image-upload input {
flex: 1;
padding: 0.5rem 0.75rem;
border: 1px solid #d1d5db;
border-radius: 4px;
font-size: 0.875rem;
outline: none;
transition: border-color 0.2s;
}
.image-upload input:focus {
border-color: #9ca3af;
}
/* Responsive */
@media (max-width: 900px) {
.app {
flex-direction: column;
height: auto;
}
.chat-panel {
flex: none;
height: 50vh;
border-right: none;
border-bottom: 1px solid #e5e7eb;
}
.workspace-panel {
flex: none;
height: 50vh;
}
.workspace-content {
height: 100%;
}
.editors-container {
height: 100%;
}
}