/* lerobot.js Web Interface Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; color: #333; } .lerobot-app { background: white; border-radius: 12px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); max-width: 800px; width: 90%; padding: 2rem; margin: 2rem; } .lerobot-header { text-align: center; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid #eee; } .lerobot-header h1 { font-size: 2.5rem; color: #2c3e50; margin-bottom: 0.5rem; } .lerobot-header p { color: #7f8c8d; font-size: 1.1rem; } .lerobot-main { display: grid; gap: 2rem; } .tool-section { background: #f8f9fa; padding: 1.5rem; border-radius: 8px; border-left: 4px solid #3498db; } .tool-section h2 { color: #2c3e50; margin-bottom: 0.5rem; font-size: 1.4rem; } .tool-section p { color: #7f8c8d; margin-bottom: 1rem; } .button-group { display: flex; gap: 0.5rem; margin-bottom: 1rem; flex-wrap: wrap; } .info-box { background: #e8f4fd; border: 1px solid #3498db; border-radius: 6px; padding: 12px 16px; margin-bottom: 1rem; display: flex; align-items: center; gap: 8px; color: #2c3e50; } .info-icon { font-size: 1.1rem; flex-shrink: 0; } .info-text { font-size: 0.95rem; line-height: 1.4; } .primary-btn, .secondary-btn { border: none; padding: 12px 24px; border-radius: 6px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; } .primary-btn { background: linear-gradient(135deg, #3498db, #2980b9); color: white; } .secondary-btn { background: linear-gradient(135deg, #95a5a6, #7f8c8d); color: white; } .primary-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(52, 152, 219, 0.3); } .secondary-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 6px 12px rgba(149, 165, 166, 0.3); } .primary-btn:disabled, .secondary-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; } .results-area { background: #2c3e50; color: #ecf0f1; padding: 1rem; border-radius: 6px; font-family: "Fira Code", "Courier New", monospace; font-size: 0.9rem; line-height: 1.4; max-height: 300px; overflow-y: auto; min-height: 100px; } .results-area:empty::before { content: "Results will appear here..."; color: #7f8c8d; font-style: italic; } .results-area .log { margin: 0.25rem 0; color: #bdc3c7; } .results-area .status { margin: 0.25rem 0; color: #3498db; font-weight: 600; } .results-area .error { margin: 0.25rem 0; color: #e74c3c; font-weight: 600; } .results-area .success { margin: 0.25rem 0; color: #27ae60; font-weight: 600; } .info-section { background: #fff3cd; padding: 1.5rem; border-radius: 8px; border-left: 4px solid #ffc107; } .info-section h3 { color: #856404; margin-bottom: 0.5rem; font-size: 1.2rem; } .info-section p { color: #856404; margin-bottom: 0.5rem; } .info-section ul { color: #856404; margin-left: 1.5rem; } .info-section li { margin-bottom: 0.25rem; } .info-section a { color: #0056b3; text-decoration: none; } .info-section a:hover { text-decoration: underline; } .info-section code { background: #f5f5f5; padding: 2px 6px; border-radius: 3px; font-family: "Fira Code", "Courier New", monospace; font-size: 0.9em; color: #333; } /* Responsive design */ @media (max-width: 600px) { .lerobot-app { margin: 1rem; padding: 1.5rem; } .lerobot-header h1 { font-size: 2rem; } .lerobot-header p { font-size: 1rem; } }