.ppg-container{margin:20px auto;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;max-width:900px;width:100%}
.ppg-password-generator{background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border-radius:24px;padding:35px 30px;box-shadow:0 25px 50px -12px rgba(0,0,0,.15),0 0 0 1px rgba(255,255,255,.8),inset 0 1px 0 rgba(255,255,255,.9);border:1px solid rgba(226,232,240,.8);position:relative;overflow:hidden}
.ppg-password-generator::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea 0%,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe 100%);border-radius:24px 24px 0 0}
.ppg-header{text-align:center;margin-bottom:35px}
.ppg-title{color:#1a202c;font-size:22px;font-weight:800;margin:0 0 10px 0;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;white-space:nowrap;line-height:1.3}
.ppg-subtitle{color:#64748b;font-size:15px;margin:0 0 20px 0;font-weight:500}
.ppg-presets-dropdown{position:relative;margin-top:20px}
.ppg-presets-btn{width:100%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:12px;padding:14px 18px;font-size:14px;font-weight:600;color:white;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 15px rgba(102,126,234,.3)}
.ppg-presets-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.4)}
.ppg-dropdown-arrow{transition:transform .3s ease;font-size:12px}
.ppg-presets-btn.ppg-active .ppg-dropdown-arrow{transform:rotate(180deg)}
.ppg-presets-menu{position:absolute;top:100%;left:0;right:0;background:white;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.15);z-index:10;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease;margin-top:8px;overflow:hidden}
.ppg-presets-menu.ppg-active{opacity:1;visibility:visible;transform:translateY(0)}
.ppg-preset-item{padding:15px 18px;font-size:14px;font-weight:500;color:#4a5568;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f1f5f9}
.ppg-preset-item:last-child{border-bottom:none}
.ppg-preset-item:hover{background:linear-gradient(135deg,rgba(102,126,234,.1) 0%,rgba(118,75,162,.1) 100%);color:#2d3748;transform:translateX(5px)}
.ppg-main-content{display:flex;flex-direction:column;gap:30px}
.ppg-left-column,.ppg-right-column{flex:1}
.ppg-password-display{background:linear-gradient(135deg,#f8fafc 0%,#fff 100%);border:2px solid #e2e8f0;border-radius:16px;padding:25px;margin-bottom:30px;position:relative;min-height:90px;box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}
.ppg-password-text{font-family:'SF Mono',Monaco,Inconsolata,'Roboto Mono','Courier New',monospace;font-size:18px;color:#2d3748;word-break:break-all;margin-bottom:20px;min-height:28px;display:flex;align-items:center;font-weight:600;letter-spacing:1px}
.ppg-password-text.ppg-hidden{filter:blur(6px);user-select:none}
.ppg-action-buttons{display:flex;gap:12px;justify-content:space-between}
.ppg-action-btn{flex:1;border:none;border-radius:10px;padding:12px 8px;font-size:12px;cursor:pointer;transition:all .3s ease;font-weight:600;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.ppg-copy-btn{background:linear-gradient(135deg,#4299e1 0%,#3182ce 100%);color:white}
.ppg-copy-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(66,153,225,.4)}
.ppg-copy-btn.ppg-copied{background:linear-gradient(135deg,#48bb78 0%,#38a169 100%)}
.ppg-show-btn{background:linear-gradient(135deg,#805ad5 0%,#6b46c1 100%);color:white}
.ppg-show-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(128,90,213,.4)}
.ppg-show-btn.ppg-hiding{background:linear-gradient(135deg,#f56565 0%,#e53e3e 100%)}
.ppg-new-btn{background:linear-gradient(135deg,#38a169 0%,#2f855a 100%);color:white}
.ppg-new-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(56,161,105,.4)}
.ppg-controls{margin-bottom:30px}
.ppg-control-group{margin-bottom:25px}
.ppg-label{display:block;color:#2d3748;font-weight:700;margin-bottom:12px;font-size:15px}
.ppg-slider-container{position:relative;margin-bottom:20px}
.ppg-length-slider{width:100%;height:8px;border-radius:4px;background:linear-gradient(to right,#e2e8f0 0%,#cbd5e0 100%);outline:none;-webkit-appearance:none}
.ppg-length-slider::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);cursor:pointer;box-shadow:0 4px 12px rgba(102,126,234,.4);transition:all .2s ease}
.ppg-length-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(102,126,234,.6)}
.ppg-length-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);cursor:pointer;border:none;box-shadow:0 4px 12px rgba(102,126,234,.4)}
.ppg-length-display{text-align:center;font-weight:800;color:#667eea;font-size:22px;margin-top:12px;text-shadow:0 2px 4px rgba(102,126,234,.2)}
.ppg-checkbox-group{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:25px}
.ppg-checkbox-item{display:flex;align-items:center;background:linear-gradient(135deg,#f8fafc 0%,#fff 100%);padding:16px;border-radius:12px;border:2px solid #e2e8f0;transition:all .3s ease;cursor:pointer}
.ppg-checkbox-item:hover{background:linear-gradient(135deg,#edf2f7 0%,#f7fafc 100%);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.ppg-checkbox-item.ppg-active{border-color:#667eea;background:linear-gradient(135deg,rgba(102,126,234,.1) 0%,rgba(118,75,162,.1) 100%);box-shadow:0 4px 15px rgba(102,126,234,.2)}
.ppg-checkbox-item input[type="checkbox"]{width:20px;height:20px;margin-right:12px;accent-color:#667eea;cursor:pointer}
.ppg-checkbox-item label{font-size:14px;font-weight:600;color:#4a5568;margin:0;cursor:pointer}
.ppg-generate-btn{width:100%;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;border:none;border-radius:16px;padding:18px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px rgba(102,126,234,.4);text-transform:uppercase;letter-spacing:1px}
.ppg-generate-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(102,126,234,.5)}
.ppg-generate-btn:active{transform:translateY(-1px)}
.ppg-strength-meter{margin-top:20px;text-align:center}
.ppg-strength-bar{height:8px;background:linear-gradient(to right,#f1f5f9 0%,#e2e8f0 100%);border-radius:4px;overflow:hidden;margin-bottom:12px;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}
.ppg-strength-fill{height:100%;transition:all .4s ease;border-radius:4px;position:relative}
.ppg-strength-fill::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,rgba(255,255,255,.3) 0%,transparent 50%,rgba(255,255,255,.3) 100%);animation:shimmer 2s infinite}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.ppg-strength-text{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.ppg-strength-weak{background:linear-gradient(135deg,#f56565 0%,#e53e3e 100%);color:#f56565}
.ppg-strength-medium{background:linear-gradient(135deg,#ed8936 0%,#dd6b20 100%);color:#ed8936}
.ppg-strength-strong{background:linear-gradient(135deg,#48bb78 0%,#38a169 100%);color:#48bb78}
.ppg-strength-very-strong{background:linear-gradient(135deg,#38a169 0%,#2f855a 100%);color:#38a169}
@media (min-width:768px){.ppg-container{max-width:900px;padding:0 20px}.ppg-password-generator{padding:40px}.ppg-title{font-size:28px}.ppg-main-content{flex-direction:row;gap:40px;align-items:flex-start}.ppg-left-column{flex:1.2}.ppg-right-column{flex:1}.ppg-password-display{padding:35px;margin-bottom:25px;min-height:120px}.ppg-password-text{font-size:20px;min-height:32px;margin-bottom:25px}.ppg-action-buttons{gap:15px}.ppg-action-btn{padding:14px 12px;font-size:13px}.ppg-checkbox-group{grid-template-columns:1fr;gap:12px}.ppg-checkbox-item{padding:18px}.ppg-generate-btn{padding:20px;font-size:19px;margin-top:10px}.ppg-strength-meter{margin-top:25px}}
@media (min-width:1024px){.ppg-container{max-width:1000px}.ppg-password-generator{padding:45px}.ppg-main-content{gap:50px}.ppg-password-display{padding:40px;min-height:140px}.ppg-password-text{font-size:22px;min-height:36px}}
@media (max-width:767px){.ppg-password-generator{padding:30px 25px;margin:15px;border-radius:20px}.ppg-checkbox-group{grid-template-columns:1fr;gap:12px}.ppg-password-text{font-size:16px}.ppg-title{font-size:20px}}
@media (max-width:480px){.ppg-password-generator{padding:25px 20px;margin:10px}.ppg-password-display{padding:20px}.ppg-password-text{margin-bottom:15px;text-align:center;font-size:14px}.ppg-action-btn{font-size:11px;padding:10px 6px}.ppg-presets-btn{font-size:13px;padding:12px 15px}.ppg-preset-item{padding:12px 15px;font-size:13px}.ppg-title{font-size:18px}.ppg-generate-btn{font-size:16px;padding:16px}}
@media (max-width:360px){.ppg-title{font-size:16px}}
@media (prefers-color-scheme:dark){.ppg-password-generator{background:linear-gradient(145deg,#1a202c 0%,#2d3748 100%);border-color:#4a5568}.ppg-title{color:#f7fafc}.ppg-subtitle{color:#a0aec0}.ppg-password-display{background:linear-gradient(135deg,#2d3748 0%,#4a5568 100%);border-color:#4a5568}.ppg-password-text{color:#f7fafc}.ppg-checkbox-item{background:linear-gradient(135deg,#2d3748 0%,#4a5568 100%);border-color:#4a5568}.ppg-checkbox-item label{color:#e2e8f0}.ppg-label{color:#f7fafc}}