/* Reset and base styles */ *, *::before, *::after { box-sizing: border-box; } * { margin: 0; } body { line-height: 1.5; -webkit-font-smoothing: antialiased; background: #ffffff; color: #1a1a1a; } img, picture, video, canvas, svg { display: block; max-width: 100%; } input, button, textarea, select { font: inherit; } p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; } /* Utility classes */ .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* Common button styles */ button { padding: 0.75rem 1.5rem; border: none; border-radius: 0.5rem; cursor: pointer; font-weight: 500; transition: all 0.2s ease; background: #007bff; color: white; } button:hover:not(:disabled) { background: #0056b3; transform: translateY(-1px); } button:disabled { background: #9ac7ff; cursor: not-allowed; transform: none; } /* Form styles */ input[type="text"], input[type="file"], select { padding: 0.75rem; border: 1px solid #ccc; border-radius: 0.375rem; width: 100%; transition: border-color 0.2s ease; } input[type="text"]:focus, select:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); } label { display: block; margin-bottom: 0.5rem; font-weight: 600; color: #333; } /* Video styles */ video { width: 100%; max-height: 60vh; border-radius: 0.5rem; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); } /* Responsive design */ @media (max-width: 768px) { body { font-size: 14px; } button { padding: 0.5rem 1rem; } input[type="text"], input[type="file"], select { padding: 0.5rem; } }