Password Generate CSS

<style> :root { --primary: #6366f1; --primary-hover: #4f46e5; --bg-gradient-start: #0f172a; --bg-gradient-end: #1e1b4b; --glass-bg: rgba(255, 255, 255, 0.05); --glass-border: rgba(255, 255, 255, 0.1); --text-main: #ffffff; --text-muted: #94a3b8; --strength-weak: #ef4444; --strength-medium: #eab308; --strength-strong: #22c55e; --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Outfit', sans-serif; } body { min-height: 100vh; background: radial-gradient(circle at top left, #4338ca, transparent 40%), radial-gradient(circle at bottom right, #db2777, transparent 40%), linear-gradient(135deg, var(--bg-gradient-start), var(--bg-gradient-end)); display: flex; align-items: center; justify-content: center; color: var(--text-main); overflow: hidden; } .container { width: 100%; max-width: 480px; padding: 20px; } .glass-card { background: var(--glass-bg); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid var(--glass-border); border-radius: 24px; padding: 40px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); position: relative; overflow: hidden; } /* Decorative header glow */ .glass-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--primary), transparent); opacity: 0.7; } h1 { font-size: 2rem; font-weight: 700; text-align: center; margin-bottom: 0.5rem; background: linear-gradient(135deg, #fff 0%, #a5b4fc 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .subtitle { text-align: center; color: var(--text-muted); margin-bottom: 32px; font-size: 0.95rem; } /* Password Display Area */ .display-container { position: relative; background: rgba(0, 0, 0, 0.3); border-radius: 12px; padding: 16px 20px; margin-bottom: 24px; display: flex; align-items: center; justify-content: space-between; border: 1px solid rgba(255, 255, 255, 0.05); transition: var(--transition); } .display-container:hover { border-color: rgba(99, 102, 241, 0.3); box-shadow: 0 0 15px rgba(99, 102, 241, 0.1); } #password-output { background: transparent; border: none; color: #fff; font-size: 1.25rem; width: 100%; font-family: 'Courier New', monospace; /* Monospace for passwords */ outline: none; letter-spacing: 1px; } .copy-btn { background: transparent; border: none; color: var(--primary); cursor: pointer; padding: 8px; border-radius: 8px; transition: var(--transition); display: flex; align-items: center; justify-content: center; } .copy-btn:hover { background: rgba(99, 102, 241, 0.1); transform: scale(1.1); } .copy-btn svg { width: 20px; height: 20px; fill: currentColor; } /* Controls */ .controls { display: flex; flex-direction: column; gap: 20px; } .control-group { display: flex; flex-direction: column; gap: 10px; } .label-row { display: flex; justify-content: space-between; align-items: center; font-size: 0.9rem; color: var(--text-muted); } #length-val { color: var(--primary); font-weight: 700; font-size: 1.1rem; } /* Range Slider Styling */ input[type="range"] { -webkit-appearance: none; width: 100%; height: 6px; border-radius: 3px; background: rgba(255, 255, 255, 0.1); outline: none; cursor: pointer; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--primary); cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 10px rgba(99, 102, 241, 0.5); transition: var(--transition); } input[type="range"]::-webkit-slider-thumb:hover { transform: scale(1.2); } /* Checkboxes */ .options-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 10px; } .checkbox-wrapper { display: flex; align-items: center; background: rgba(255, 255, 255, 0.03); padding: 12px; border-radius: 10px; cursor: pointer; transition: var(--transition); user-select: none; border: 1px solid transparent; } .checkbox-wrapper:hover { background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.1); } .checkbox-wrapper input { display: none; } .custom-checkbox { width: 18px; height: 18px; border: 2px solid var(--text-muted); border-radius: 4px; margin-right: 10px; display: flex; align-items: center; justify-content: center; transition: var(--transition); } .checkbox-wrapper input:checked+.custom-checkbox { background: var(--primary); border-color: var(--primary); box-shadow: 0 0 8px rgba(99, 102, 241, 0.4); } .checkbox-wrapper input:checked+.custom-checkbox::after { content: '✓'; color: white; font-size: 12px; font-weight: bold; } .check-label { font-size: 0.9rem; color: #e2e8f0; } /* Strength Meter */ .strength-section { background: rgba(0, 0, 0, 0.2); padding: 16px; border-radius: 12px; margin-top: 20px; } .strength-header { display: flex; justify-content: space-between; font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; color: var(--text-muted); margin-bottom: 8px; } .strength-text { font-weight: 700; } .strength-bars { display: flex; gap: 4px; height: 6px; } .bar { flex: 1; background: rgba(255, 255, 255, 0.1); border-radius: 2px; transition: var(--transition); } /* Generate Button */ .btn-generate { width: 100%; padding: 16px; margin-top: 24px; background: linear-gradient(135deg, var(--primary), var(--primary-hover)); border: none; border-radius: 12px; color: #fff; font-size: 1rem; font-weight: 600; cursor: pointer; transition: var(--transition); text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 4px 15px rgba(79, 70, 229, 0.4); position: relative; overflow: hidden; } .btn-generate::after { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); transition: 0.5s; } .btn-generate:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(79, 70, 229, 0.6); } .btn-generate:hover::after { left: 100%; } .btn-generate:active { transform: translateY(0); } /* Tooltip */ .tooltip { position: absolute; top: -30px; right: 0; background: var(--primary); color: white; padding: 4px 8px; border-radius: 4px; font-size: 0.75rem; opacity: 0; transform: translateY(10px); pointer-events: none; transition: var(--transition); } .tooltip.show { opacity: 1; transform: translateY(0); } </style>

Public Last updated: 2026-08-25 08:48:22 AM