@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&display=swap'); body { background: #0a0a0a; min-height: 100vh; font-family: 'DM Sans', sans-serif; } .glass-effect { background: rgba(100, 100, 100, 0.15); backdrop-filter: blur(20px); border: 1px solid rgba(100, 100, 100, 0.3); } .password-field { background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(10px); border: 1px solid rgba(100, 100, 100, 0.2); } .slider { background: rgba(100, 100, 100, 0.3); height: 6px; border-radius: 10px; outline: none; -webkit-appearance: none; } .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 22px; height: 22px; border-radius: 50%; background: #5985ff; cursor: pointer; border: 3px solid white; box-shadow: 0 4px 8px rgba(0,0,0,0.3); } .slider::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #5985ff; cursor: pointer; border: 3px solid white; box-shadow: 0 4px 8px rgba(0,0,0,0.3); } .checkbox-custom { appearance: none; width: 18px; height: 18px; border: 2px solid rgba(100, 100, 100, 0.5); border-radius: 4px; background: rgba(100, 100, 100, 0.1); position: relative; cursor: pointer; flex-shrink: 0; } .checkbox-custom:checked { background: #5985ff; border-color: white; } .checkbox-custom:checked::after { content: '✓'; position: absolute; top: -4px; left: 2.5px; color: white; font-size: 14px; font-weight: bold; } .generate-btn { background: #5985ff;; transition: all 0.3s ease; } .generate-btn:hover { background: #5985ff;; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(100, 107, 107, 0.4); } .copy-btn:hover { transform: scale(1.05); } .strength-weak { color: #ff3131; } .strength-medium { color: #ffd93d; } .strength-strong { color: #6ecf6b; } .strength-verystrong { color: #40a83d; } .fade-in { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Mobile specific styles */ @media (max-width: 640px) { .password-display-mobile { word-break: break-all; font-size: 14px; line-height: 1.3; max-height: 60px; overflow-y: auto; } .mobile-header { font-size: 2rem; } .mobile-icon { width: 2.5rem; height: 2.5rem; } .mobile-controls { flex-direction: column; gap: 8px; } .mobile-controls button { width: 100%; } .checkbox-row { flex-direction: column; align-items: flex-start; gap: 8px; } .checkbox-row .checkbox-info { margin-left: 0; } }