:root { --primary-color: #6366f1; --secondary-color: #818cf8; --background-color: #f3f4f6; --text-color: #1e293b; --border-color: #e2e8f0; --card-bg: #ffffff; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', system-ui, -apple-system, sans-serif; background-color: var(--background-color); color: var(--text-color); line-height: 1.6; } #app { min-height: 100vh; display: flex; flex-direction: column; } main { flex: 1; max-width: 1200px; margin: 0 auto; padding: 2rem; } .hero { text-align: center; margin-bottom: 2rem; position: relative; padding-bottom: 2rem; } .hero h1 { font-size: 2.5rem; margin-bottom: 1rem; color: var(--text-color); } .hero p { color: #64748b; max-width: 800px; margin: 0 auto; } .hero-border { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 800px; height: 2px; background: linear-gradient(to right, transparent, var(--primary-color), transparent); } .upload-container { max-width: 1000px; margin: 0 auto; } .card { background: var(--card-bg); border-radius: 1rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); padding: 2rem; } .flex-container { display: flex; gap: 2rem; margin-bottom: 2rem; } .upload-section { flex: 1; } .upload-area { border: 2px dashed #e5e7eb; border-radius: 0.5rem; padding: 2rem; text-align: center; cursor: pointer; transition: all 0.3s ease; background-color: #f9fafb; height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; } .upload-area:hover, .upload-area.drag-over { border-color: var(--primary-color); background-color: #f3f4f6; } .upload-icon { color: var(--primary-color); margin-bottom: 1rem; } .upload-text p { margin-bottom: 0.5rem; } .upload-formats { color: #64748b; font-size: 0.875rem; } .file-input { display: none; } .preview-section { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; background-color: #f9fafb; border-radius: 0.5rem; } .music-icon { margin-bottom: 1rem; } .preview-text { color: #64748b; font-size: 0.875rem; } .input-section { display: flex; flex-direction: column; gap: 1rem; } .sound-input { width: 100%; padding: 0.75rem; border: 1px solid var(--border-color); border-radius: 0.375rem; font-size: 0.875rem; outline: none; } .sound-input:focus { border-color: var(--primary-color); box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.1); } .generate-btn { background-color: var(--primary-color); color: white; border: none; padding: 0.75rem; border-radius: 0.375rem; cursor: pointer; font-size: 0.875rem; font-weight: 500; display: flex; align-items: center; justify-content: center; gap: 0.5rem; transition: background-color 0.3s ease; text-decoration: none; } .btn-icon { font-size: 1.25rem; } .generate-btn:hover { background-color: var(--secondary-color); } @media (max-width: 768px) { .hero h1 { font-size: 1.75rem; } main { padding: 1rem; } .card { padding: 1rem; } .flex-container { flex-direction: column; gap: 1rem; } .upload-area { padding: 1.5rem; } }