| * { | |
| box-sizing: border-box; | |
| margin: 0; | |
| padding: 0; | |
| } | |
| body { | |
| font-family: system-ui, sans-serif; | |
| background: #1a1a1a; | |
| color: #e0e0e0; | |
| min-height: 100vh; | |
| } | |
| .container { | |
| max-width: 900px; | |
| margin: 0 auto; | |
| padding: 2rem; | |
| } | |
| header { | |
| text-align: center; | |
| margin-bottom: 2rem; | |
| } | |
| header h1 { | |
| font-size: 2rem; | |
| margin-bottom: 0.5rem; | |
| } | |
| header p { | |
| color: #888; | |
| } | |
| .input-section { | |
| display: flex; | |
| gap: 1rem; | |
| margin-bottom: 2rem; | |
| } | |
| #prompt { | |
| flex: 1; | |
| padding: 1rem; | |
| font-size: 1rem; | |
| border: 1px solid #333; | |
| border-radius: 4px; | |
| background: #222; | |
| color: #e0e0e0; | |
| } | |
| button { | |
| padding: 1rem 2rem; | |
| font-size: 1rem; | |
| border: none; | |
| border-radius: 4px; | |
| background: #444; | |
| color: #e0e0e0; | |
| cursor: pointer; | |
| } | |
| button:hover { | |
| background: #555; | |
| } | |
| button:disabled { | |
| opacity: 0.5; | |
| cursor: not-allowed; | |
| } | |
| #generate { | |
| background: #2563eb; | |
| } | |
| #generate:hover { | |
| background: #1d4ed8; | |
| } | |
| .workplane-container { | |
| position: relative; | |
| background: #111; | |
| border: 1px solid #333; | |
| border-radius: 4px; | |
| margin-bottom: 1rem; | |
| } | |
| #workplane { | |
| width: 100%; | |
| height: 500px; | |
| display: block; | |
| } | |
| .controls { | |
| position: absolute; | |
| top: 1rem; | |
| right: 1rem; | |
| display: flex; | |
| gap: 0.5rem; | |
| } | |
| .controls button { | |
| padding: 0.5rem 1rem; | |
| font-size: 1.2rem; | |
| } | |
| .status-section { | |
| margin-bottom: 1rem; | |
| padding: 1rem; | |
| background: #222; | |
| border-radius: 4px; | |
| } | |
| #status { | |
| margin-bottom: 0.5rem; | |
| } | |
| #validation.valid { | |
| color: #22c55e; | |
| } | |
| #validation.invalid { | |
| color: #ef4444; | |
| } | |
| .download-section { | |
| display: flex; | |
| gap: 1rem; | |
| } | |
| .download-section button { | |
| flex: 1; | |
| } | |