:root{--primary:#2c3e50;--accent:#e74c3c;--accent-hover:#c0392b;--secondary:#3498db;--success:#27ae60;--success-hover:#219e50;--gray:#95a5a6;--light-gray:#ecf0f1;--text:#2c3e50;--bg-gradient:linear-gradient(135deg, #74ebd5, #9face6);--container-bg:white;--shadow:0 10px 25px rgba(0, 0, 0, 0.25);--border-radius:18px;--transition:all 0.3s ease}body.dark-mode{--primary:#ecf0f1;--text:#ecf0f1;--success:#27ae60;--container-bg:#1E123C;--shadow:0 10px 25px rgba(0, 0, 0, 0.4);--bg-gradient:linear-gradient(135deg, #16213e, #0f3460)}.password-container{max-width:100%;margin:auto;background:var(--container-bg);border-radius:0;padding:50px 30px;overflow:hidden;position:relative;transition:background 0.5s}.theme-toggle{position:absolute;top:5px;right:35px;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--primary);cursor:pointer;z-index:10;background:rgb(255 255 255 / .1);backdrop-filter:blur(5px);padding:8px 12px;border-radius:20px;border:1px solid rgb(255 255 255 / .2);box-shadow:0 2px 10px rgb(0 0 0 / .1)}body.dark-mode .theme-toggle{background:rgb(0 0 0 / .3);border-color:rgb(255 255 255 / .1)}.random-password-title-suite{color:#e74c3ce6!important}.random-password-title{color:#ffffff!important}.theme-toggle .sun{opacity:1}.theme-toggle .moon{opacity:.25}body.dark-mode .theme-toggle .sun{opacity:.25}body.dark-mode .theme-toggle .moon{opacity:1}.tool-wrapper{width:100%;max-width:82rem;margin-left:auto;margin-right:auto;display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:2rem;align-items:start;padding-bottom:30px}@media (min-width:1024px){.tool-wrapper{grid-template-columns:repeat(12,minmax(0,1fr))}}.controls{color:var(--text);border-radius:1rem;box-shadow:0 20px 25px -5px rgb(0 0 0 / .1),0 10px 10px -5px rgb(0 0 0 / .04);padding:1.5rem;border:1px solid #e5e7eb}@media (min-width:1024px){.controls{grid-column:span 5 / span 5}}body.dark-mode .controls{border-color:rgb(255 255 255 / .1)}.password-display-section{display:flex;gap:40px;margin-bottom:30px}.password-output-wrapper{flex:1;position:relative;padding-bottom:5px}.password-output{width:100%;padding:16px 20px;padding-right:120px;font-size:1.1rem;font-family:'Courier New',monospace;font-weight:600;border:2px solid #bdc3c7;border-radius:12px;background:#fff;color:var(--primary);transition:var(--transition)}body.dark-mode .password-output{background:#2c2c3e;border-color:#555;color:#fff}.password-output:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgb(231 76 60 / .1)}.strength-indicator{position:absolute;right:0;top:130%;transform:translateY(-50%)}.strength-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:capitalize}.strength-weak{background:#FEE2E2;color:#991B1B}.strength-fair{background:#FED7AA;color:#9A3412}.strength-good{background:#FEF3C7;color:#92400E}.strength-strong{background:#D1FAE5;color:#065F46}.strength-very-strong{background:#D0F0C0;color:#14532D}.copy-btn{padding:10px 15px;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;box-shadow:0 4px 12px rgb(0 0 0 / .15)}.copy-btn:hover{opacity:.9;transform:translateY(-2px)}.copy-btn:active{transform:translateY(0)}.copy-btn.copied{background:var(--secondary)}.control-section{margin-bottom:30px}.length-control label{display:block;font-size:1rem;font-weight:600;color:var(--text);margin-bottom:12px}.length-value{color:var(--accent);font-size:1.2rem;margin-left:4px}.slider-wrapper{display:flex;align-items:center;gap:15px}.slider-btn{width:40px;height:40px;border-radius:50%;border:2px solid #bdc3c7;background:#fff;color:var(--text);font-size:1.5rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center}body.dark-mode .slider-btn{background:#2c2c3e;border-color:#555;color:#fff}.slider-btn:hover{border-color:var(--accent);color:var(--accent);background:rgb(231 76 60 / .05)}.slider{flex:1;height:8px;border-radius:4px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) 40%,#bdc3c7 40%,#bdc3c7 100%);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--accent);cursor:pointer;box-shadow:0 2px 5px rgb(0 0 0 / .2);transition:var(--transition)}.slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 10px rgb(0 0 0 / .3)}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#fff;border:3px solid var(--accent);cursor:pointer;box-shadow:0 2px 5px rgb(0 0 0 / .2);transition:var(--transition)}.slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 4px 10px rgb(0 0 0 / .3)}.options-section{margin-bottom:30px}.options-title{font-size:1rem;font-weight:600;margin-bottom:15px;color:var(--text)!important}.checkbox-group{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:12px 20px;border:2px solid #bdc3c7;border-radius:12px;background:#fff;transition:var(--transition);user-select:none}body.dark-mode .checkbox-label{background:#2c2c3e;border-color:#555}.checkbox-label:hover{border-color:var(--accent);background:rgb(231 76 60 / .02)}.checkbox-label input[type="checkbox"]{display:none}.checkbox-custom{width:22px;height:22px;border:2px solid #bdc3c7;border-radius:6px;position:relative;transition:var(--transition);flex-shrink:0}body.dark-mode .checkbox-custom{border-color:#555}.checkbox-label input[type="checkbox"]:checked+.checkbox-custom{background:var(--accent);border-color:var(--accent)}.checkbox-label input[type="checkbox"]:checked+.checkbox-custom::after{content:'';position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-text{font-size:1rem;font-weight:600;color:var(--text)}.action-section{margin-bottom:20px}.generate-btn{width:100%;padding:18px 16px;background:var(--success);color:#fff;border:none;border-radius:12px;font-size:17px;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 8px 20px rgb(0 0 0 / .15)}.generate-btn:hover{opacity:.9;transform:translateY(-2px)}.generate-btn:active{transform:translateY(0)}.generate-btn.generating{animation:pulse 0.3s ease-in-out}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(.98)}}.generate-btn svg{transition:transform 0.3s ease}.generate-btn:hover svg{animation:rotate 1s linear infinite}@keyframes rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.advanced-section{border-top:2px solid rgb(0 0 0 / .1);padding-top:20px}body.dark-mode .advanced-section{border-top-color:rgb(255 255 255 / .1)}.advanced-section details{cursor:pointer}.advanced-section summary{font-weight:600;padding:10px;list-style:none;display:flex;align-items:center;gap:8px;color:var(--text);transition:var(--transition)}.advanced-section summary:hover{color:var(--accent)}.advanced-section summary::before{content:'▶';font-size:.8rem;transition:transform 0.3s}.advanced-section details[open] summary::before{transform:rotate(90deg)}.advanced-content{padding:20px 10px 10px;display:flex;flex-direction:column;gap:12px}.advanced-content .checkbox-label{padding:10px 15px}.advanced-content .checkbox-text{font-size:.95rem;font-weight:500}.password-history{margin-top:30px;padding-top:30px;border-top:2px solid rgb(0 0 0 / .1)}body.dark-mode .password-history{border-top-color:rgb(255 255 255 / .1)}.password-history h3{font-size:18px;margin-bottom:15px;color:var(--text)!important;font-weight:600}#historyList{max-height:300px;overflow-y:auto;margin-bottom:15px}#historyList::-webkit-scrollbar{width:6px}#historyList::-webkit-scrollbar-track{background:rgb(0 0 0 / .05);border-radius:3px}body.dark-mode #historyList::-webkit-scrollbar-track{background:rgb(255 255 255 / .05)}#historyList::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}.no-history{text-align:center;padding:20px;color:var(--text);opacity:.5;font-style:italic}.history-item{background:rgb(0 0 0 / .03);padding:12px;border-radius:8px;margin-bottom:10px;transition:all 0.3s}body.dark-mode .history-item{background:rgb(255 255 255 / .05)}.history-item:hover{background:rgb(0 0 0 / .06);transform:translateX(5px)}body.dark-mode .history-item:hover{background:rgb(255 255 255 / .08)}.history-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px;opacity:.7}.history-time{color:var(--text)}.history-strength{font-weight:600}.history-password{font-family:'Courier New',monospace;font-size:14px;color:var(--text);word-break:break-all}.clear-btn{width:100%;padding:10px;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all 0.3s;font-size:14px}.clear-btn:hover{opacity:.9;transform:translateY(-2px)}.info-display-container{display:flex;flex-direction:column;gap:30px}@media (min-width:1024px){.info-display-container{grid-column:span 7 / span 7}}.steps-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.step{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--container-bg);border-radius:14px;box-shadow:0 3px 10px rgb(0 0 0 / .06);transition:all 0.3s ease;text-align:left;border:1px solid #e5e7eb}body.dark-mode .step{border-color:rgb(255 255 255 / .1)}.step:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgb(0 0 0 / .12)}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#d70932;color:#fff;font-weight:700;border-radius:50%;flex-shrink:0;font-size:15px;box-shadow:0 4px 8px rgb(0 0 0 / .2)}.step p{margin:0;font-size:13px;color:var(--text)}.steps-grid-mobile{display:none}.info-section{display:grid;grid-template-columns:1fr;gap:20px}.info-card{background:var(--container-bg);padding:25px;border-radius:var(--border-radius);box-shadow:0 3px 10px rgb(0 0 0 / .06);border:1px solid #e5e7eb}body.dark-mode .info-card{border-color:rgb(255 255 255 / .1)}.info-card h3{font-size:1.2rem;margin-bottom:15px;color:var(--text)!important}.info-card ul{list-style:none;padding:0;margin:0}.info-card li{padding:8px 0;padding-left:25px;position:relative;color:var(--text);line-height:1.6}.info-card li::before{content:'✓';position:absolute;left:0;color:var(--success);font-weight:700}.strength-info{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--text);font-size:.95rem}.strength-dot{width:16px;height:16px;border-radius:50%;flex-shrink:0}.strength-dot.weak{background:#EF4444}.strength-dot.fair{background:#F59E0B}.strength-dot.good{background:#EAB308}.strength-dot.strong{background:#10B981}.strength-dot.very-strong{background:#22C55E}@media (max-width:768px){.password-container{padding:50px 0}.controls{margin-top:0;border:none!important;box-shadow:none!important}.tool-wrapper{width:95%;gap:0!important}.password-display-section{flex-direction:column}.password-output{padding-right:120px;font-size:.95rem}.checkbox-group{grid-template-columns:repeat(2,1fr)}.steps-grid{display:none}.steps-grid-mobile{display:block!important;padding-bottom:50px}.steps-grid-mobile .step{margin-bottom:16px}.info-section{padding:0 10px}.generate-btn{padding:18px 5px}.random-password-title{font-size:25px}}@media (max-width:480px){.strength-badge{font-size:.75rem;padding:5px 10px}.copy-btn{padding:14px 24px;font-size:.95rem}}