:root{--pg-primary:#6366f1;--pg-primary-dark:#4f46e5;--pg-primary-light:#818cf8;--pg-success:#10b981;--pg-warning:#f59e0b;--pg-danger:#ef4444;--pg-bg-primary:#0f172a;--pg-bg-secondary:#1e293b;--pg-bg-card:#1e293b;--pg-text-primary:#f1f5f9;--pg-text-secondary:#94a3b8;--pg-border:#334155;--pg-shadow:rgba(0,0,0,0.3)}.pg-container{max-width:550px;width:100%;margin:2rem auto;padding:20px}.pg-card{background:var(--pg-bg-card);border-radius:24px;padding:40px;box-shadow:0 20px 60px var(--pg-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--pg-border)}.pg-header{text-align:center;margin-bottom:32px}.pg-header h1{font-size:2rem;font-weight:700;color:var(--pg-text-primary);margin-bottom:8px}.pg-subtitle{color:var(--pg-text-secondary);font-size:.95rem}.pg-password-display{position:relative;margin-bottom:24px}.pg-password-display input{width:100%;padding:16px 50px 16px 16px;background:var(--pg-bg-secondary);border:2px solid var(--pg-border);border-radius:12px;color:var(--pg-text-primary);font-size:1rem;font-family:Courier New,monospace;transition:all .3s ease}.pg-password-display input:focus{outline:none;border-color:var(--pg-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1)}.pg-icon-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:var(--pg-primary);border:none;border-radius:8px;padding:10px;cursor:pointer;color:white;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.pg-icon-btn:hover{background:var(--pg-primary-dark);transform:translateY(-50%) scale(1.05)}.pg-icon-btn:active{transform:translateY(-50%) scale(.95)}.pg-strength-indicator{margin-bottom:28px}.pg-strength-bar{height:8px;background:var(--pg-bg-secondary);border-radius:4px;overflow:hidden;margin-bottom:8px}.pg-strength-fill{height:100%;width:0;border-radius:4px;transition:all .4s ease}.pg-strength-fill.weak{width:33%;background:var(--pg-danger)}.pg-strength-fill.medium{width:66%;background:var(--pg-warning)}.pg-strength-fill.strong{width:100%;background:var(--pg-success)}.pg-strength-text{font-size:.875rem;color:var(--pg-text-secondary);font-weight:500}.pg-options{margin-bottom:28px}.pg-option-group{margin-bottom:24px}.pg-option-group label{display:flex;justify-content:space-between;font-size:.95rem;margin-bottom:12px;color:var(--pg-text-primary);font-weight:500}.pg-length-value{color:var(--pg-primary-light);font-weight:700}.pg-option-group input[type=range]{width:100%;height:8px;background:var(--pg-bg-secondary);border-radius:4px;outline:none;-webkit-appearance:none}.pg-option-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--pg-primary);border-radius:50%;cursor:pointer;-webkit-transition:all .3s ease;transition:all .3s ease}.pg-option-group input[type=range]::-webkit-slider-thumb:hover{background:var(--pg-primary-dark);transform:scale(1.2)}.pg-option-group input[type=range]::-moz-range-thumb{width:20px;height:20px;background:var(--pg-primary);border-radius:50%;cursor:pointer;border:none;-moz-transition:all .3s ease;transition:all .3s ease}.pg-option-group input[type=range]::-moz-range-thumb:hover{background:var(--pg-primary-dark);transform:scale(1.2)}.pg-checkbox-group{display:flex;flex-direction:column;gap:12px}.pg-checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:.95rem;color:var(--pg-text-primary);transition:color .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pg-checkbox-label:hover{color:var(--pg-primary-light)}.pg-checkbox-label input[type=checkbox]{position:absolute;opacity:0;cursor:pointer}.pg-checkmark{position:relative;height:22px;width:22px;background:var(--pg-bg-secondary);border:2px solid var(--pg-border);border-radius:6px;margin-right:12px;transition:all .3s ease}.pg-checkbox-label:hover .pg-checkmark{border-color:var(--pg-primary)}.pg-checkbox-label input:checked~.pg-checkmark{background:var(--pg-primary);border-color:var(--pg-primary)}.pg-checkmark:after{content:"";position:absolute;display:none;left:6px;top:2px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.pg-checkbox-label input:checked~.pg-checkmark:after{display:block}.pg-generate-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--pg-primary) 0,var(--pg-primary-dark) 100%);border:none;border-radius:12px;color:white;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 15px rgba(99,102,241,.4)}.pg-generate-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(99,102,241,.6)}.pg-generate-btn:active{transform:translateY(0)}.pg-generate-btn svg{animation:pg-rotate 0s ease}.pg-generate-btn.generating svg{animation:pg-rotate .6s ease}@keyframes pg-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pg-history-section{margin-top:24px;background:var(--pg-bg-card);border-radius:16px;padding:24px;box-shadow:0 8px 24px var(--pg-shadow);border:1px solid var(--pg-border)}.pg-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.pg-history-header h3{font-size:1.1rem;color:var(--pg-text-primary);margin:0}.pg-clear-btn{background:var(--pg-danger);border:none;border-radius:8px;padding:8px 16px;color:white;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.pg-clear-btn:hover{background:#dc2626;transform:scale(1.05)}.pg-clear-btn:active{transform:scale(.95)}.pg-history-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.pg-history-list::-webkit-scrollbar{width:8px}.pg-history-list::-webkit-scrollbar-track{background:var(--pg-bg-secondary);border-radius:4px}.pg-history-list::-webkit-scrollbar-thumb{background:var(--pg-border);border-radius:4px}.pg-history-list::-webkit-scrollbar-thumb:hover{background:var(--pg-primary)}.pg-empty-history{text-align:center;color:var(--pg-text-secondary);padding:32px;font-size:.95rem}.pg-history-item{background:var(--pg-bg-secondary);border:1px solid var(--pg-border);border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;transition:all .3s ease;animation:pg-slideInLeft .3s ease}.pg-history-item:hover{border-color:var(--pg-primary);transform:translateX(4px)}@keyframes pg-slideInLeft{0%{transform:translateX(-20px);opacity:0}to{transform:translateX(0);opacity:1}}.pg-history-item-content{flex:1;min-width:0}.pg-history-password{font-family:Courier New,monospace;font-size:.9rem;color:var(--pg-text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-history-meta{display:flex;gap:12px;font-size:.75rem;color:var(--pg-text-secondary)}.pg-history-strength,.pg-history-time{display:flex;align-items:center;gap:4px}.pg-history-strength.weak{color:var(--pg-danger)}.pg-history-strength.medium{color:var(--pg-warning)}.pg-history-strength.strong{color:var(--pg-success)}.pg-history-actions{display:flex;gap:8px}.pg-history-btn{background:var(--pg-primary);border:none;border-radius:6px;padding:8px;cursor:pointer;color:white;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.pg-history-btn:hover{background:var(--pg-primary-dark);transform:scale(1.1)}.pg-history-btn:active{transform:scale(.9)}.pg-history-btn.pg-delete-btn{background:var(--pg-danger)}.pg-history-btn.pg-delete-btn:hover{background:#dc2626}.pg-tips{margin-top:24px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.2)}.pg-tips h3{font-size:1.1rem;margin-bottom:12px;color:var(--pg-text-primary)}.pg-tips ul{list-style:none;padding-left:0}.pg-tips li{padding:8px 0 8px 24px;position:relative;color:var(--pg-text-secondary);font-size:.9rem;line-height:1.5}.pg-tips li:before{content:"✓";position:absolute;left:0;color:var(--pg-success);font-weight:700}.pg-copied-notification{position:fixed;bottom:30px;right:30px;background:var(--pg-success);color:white;padding:16px 24px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.3);animation:pg-slideIn .3s ease,pg-slideOut .3s ease 2.7s;font-weight:600;z-index:1000}.pg-copied-notification.error{background:var(--pg-danger)}@keyframes pg-slideIn{0%{transform:translateX(400px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes pg-slideOut{0%{transform:translateX(0);opacity:1}to{transform:translateX(400px);opacity:0}}@media (max-width:600px){.pg-card{padding:28px 24px}.pg-header h1{font-size:1.75rem}.pg-tips{padding:20px}}