* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; display: flex; align-items: center; justify-content: center; }

.container { background: white; padding: 2rem; border-radius: 20px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); max-width: 500px; width: 90%; }

h1 { text-align: center; color: #333; margin-bottom: 2rem; }

.password-display { display: flex; gap: 10px; margin-bottom: 2rem; }
#password { flex: 1; padding: 1rem; font-size: 1.2rem; font-family: monospace; border: 2px solid #ddd; border-radius: 10px; background: #f8f9fa; }
#copyBtn { padding: 1rem; background: #28a745; color: white; border: none; border-radius: 10px; cursor: pointer; font-size: 1rem; }

.form-group { margin-bottom: 1.5rem; }
label { display: block; margin-bottom: 0.5rem; font-weight: 500; color: #555; }
#length { width: 100%; height: 8px; border-radius: 5px; background: #ddd; outline: none; }
#lengthValue { font-weight: bold; color: #667eea; font-size: 1.1rem; }

.checkbox-group { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2rem; }
.checkbox-group label { display: flex; align-items: center; gap: 10px; font-weight: normal; cursor: pointer; }

#generateBtn { width: 100%; padding: 1rem; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; border-radius: 10px; font-size: 1.1rem; cursor: pointer; transition: transform 0.2s; }
#generateBtn:hover { transform: translateY(-2px); }

@media (max-width: 600px) { .container { padding: 1.5rem; margin: 1rem; } }
