* { box-sizing: border-box; } body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; font-family: Arial, sans-serif; background: radial-gradient(circle at top, #f7f7fb, #eff1f8); color: #111827; padding: 24px; } h1 { font-size: clamp(32px, 4vw, 48px); margin-bottom: 32px; text-align: center; } .upload-container { width: min(640px, 100%); background: #ffffffdd; border-radius: 20px; box-shadow: 0 20px 45px -20px rgba(15, 23, 42, 0.65); padding: 32px; display: flex; flex-direction: column; gap: 24px; backdrop-filter: blur(8px); } .dropzone { border: 2px dashed #6366f1; border-radius: 16px; padding: 48px 24px; text-align: center; transition: all 0.2s ease; background: rgba(99, 102, 241, 0.04); cursor: pointer; position: relative; } .dropzone.dragover { background: rgba(99, 102, 241, 0.12); transform: translateY(-2px); box-shadow: 0 14px 28px -24px rgba(99, 102, 241, 0.65); } .dropzone input[type="file"] { position: absolute; inset: 0; opacity: 0; cursor: pointer; } .dropzone p { margin: 8px 0; color: #4b5563; font-size: 16px; } .dropzone p.strong { font-weight: 600; color: #1f2937; font-size: 18px; } button { background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; border: none; border-radius: 12px; padding: 14px 20px; font-size: 16px; font-weight: 600; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; } button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 16px 32px -24px rgba(99, 102, 241, 0.8); } button:disabled { background: #cbd5f5; cursor: not-allowed; box-shadow: none; } .status { min-height: 24px; font-size: 15px; color: #374151; line-height: 1.5; word-break: break-all; } .status.error { color: #dc2626; } .status.success { color: #166534; } .file-info { text-align: center; padding: 24px; } .file-info h2 { margin: 0 0 16px 0; font-size: 24px; color: #1f2937; } .file-size { margin: 0 0 24px 0; color: #6b7280; font-size: 16px; } .download-button { display: inline-block; background: linear-gradient(135deg, #6366f1, #8b5cf6); color: white; border: none; border-radius: 12px; padding: 14px 32px; font-size: 16px; font-weight: 600; text-decoration: none; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; font-family: inherit; } .download-button:hover { transform: translateY(-1px); box-shadow: 0 16px 32px -24px rgba(99, 102, 241, 0.8); } .download-button:active { transform: translateY(0); }