* { 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; }