Spaces:
Running
Running
| /* 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%; | |
| } | |
| } |