:root{--color-primary:#1a5fb4;--color-primary-dark:#14509a;--color-primary-light:#3584e4;--color-success:#26a269;--color-warning:#e66100;--color-danger:#c01c28;--color-bg:#fafafa;--color-surface:#fff;--color-text:#1a1a1a;--color-text-secondary:#5e5e5e;--color-border:#d4d4d4;--radius:8px;--radius-lg:12px;--shadow:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--max-width:800px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);flex-direction:column;min-height:100vh;line-height:1.6;display:flex}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 16px}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;padding:12px 0;position:sticky;top:0}.header .container{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--color-primary);font-size:1.25rem;font-weight:700}.nav{gap:16px;display:flex}.nav a{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.nav a:hover{color:var(--color-primary)}.hero{text-align:center;padding:48px 0 32px}.hero h1{margin-bottom:12px;font-size:2rem;font-weight:800;line-height:1.2}.hero-subtitle{color:var(--color-text-secondary);max-width:600px;margin:0 auto;font-size:1.1rem}section{padding:32px 0}section h2{margin-bottom:16px;font-size:1.5rem;font-weight:700}.generator-card,.link-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px}.password-display{gap:8px;margin-bottom:16px;display:flex}.password-display input{border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex:1;padding:12px 16px;font-family:Courier New,monospace;font-size:1.125rem}.password-display input:focus{border-color:var(--color-primary);outline:none}.password-options{margin-bottom:16px}.option-group{margin-bottom:12px}.option-group label{margin-bottom:4px;font-weight:500;display:block}.option-group input[type=range]{width:100%;margin-top:4px}.checkbox-group{flex-wrap:wrap;gap:8px;display:flex}.checkbox-group label{cursor:pointer;align-items:center;gap:4px;font-size:.875rem;font-weight:400;display:flex}.complexity-profiles{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.profile-label{color:var(--color-text-secondary);font-size:.875rem;font-weight:500}.password-strength{align-items:center;gap:8px;display:flex}.strength-bar{background:var(--color-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.strength-bar:after{content:"";background:var(--color-success);border-radius:3px;width:100%;height:100%;transition:width .3s,background .3s;display:block}#strength-label{text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:600}.btn{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:var(--color-surface);color:var(--color-text);justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn:hover{background:var(--color-bg)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);width:100%;padding:12px 24px;font-size:1rem}.btn-primary:hover{background:var(--color-primary-dark)}.btn-copy{background:var(--color-success);color:#fff;border-color:var(--color-success)}.btn-copy:hover{opacity:.9}.btn-refresh{background:var(--color-primary-light);color:#fff;border-color:var(--color-primary-light)}.btn-refresh:hover{opacity:.9}.btn-profile{padding:4px 12px;font-size:.75rem}.btn-profile.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.form-group{margin-bottom:16px}.form-group label{margin-bottom:4px;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-size:.9rem;font-family:var(--font);background:var(--color-surface);color:var(--color-text);padding:10px 12px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #1a5fb426}.form-row{gap:12px;display:flex}.form-row .form-group{flex:1}.turnstile-container{min-height:65px;margin-bottom:16px}.result-box{border-radius:var(--radius);background:#f0f6ff;border:1px solid #cce0ff;margin-top:16px;padding:16px}.result-box label{text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.result-box input{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;margin-bottom:8px;padding:8px 12px;font-family:Courier New,monospace;font-size:.875rem}.hidden{display:none}.steps{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.step{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;padding:20px}.step-number{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:8px;font-size:1.125rem;font-weight:700;display:inline-flex}.step h3{margin-bottom:4px;font-size:1rem}.step p{color:var(--color-text-secondary);font-size:.85rem}.security-list{flex-direction:column;gap:12px;list-style:none;display:flex}.security-list li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 16px;font-size:.9rem}.faq-list{flex-direction:column;gap:8px;display:flex}.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.faq-item summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:12px 16px;font-weight:500}.faq-item summary:hover{background:var(--color-bg)}.faq-item p{color:var(--color-text-secondary);padding:0 16px 12px;font-size:.9rem}.footer{border-top:1px solid var(--color-border);text-align:center;margin-top:auto;padding:24px 0}.footer-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:8px;display:flex}.footer-links a{color:var(--color-text-secondary);font-size:.8rem}.footer-copy{color:var(--color-text-secondary);font-size:.75rem}@media (width<=640px){.hero h1{font-size:1.5rem}.hero-subtitle{font-size:1rem}.form-row{flex-direction:column;gap:0}.nav{gap:8px}.nav a{font-size:.75rem}.password-display{flex-wrap:wrap}.password-display input{min-width:100%}.checkbox-group{flex-direction:column}.steps{grid-template-columns:1fr}}
