:root{--bg: #0b1220;--surface: #131c2e;--surface-2: #1b2740;--border: #2a3856;--text: #e8edf6;--muted: #9aa7bf;--accent: #4f7cff;--accent-hover: #6b91ff;--weak: #e5534b;--average: #e0a030;--strong: #36b37e;--radius: 12px;--maxw: 760px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;display:flex;flex-direction:column;min-height:100vh}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 1rem}a{color:var(--accent-hover);text-decoration:none}a:hover{text-decoration:underline}.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:.5rem 1rem;z-index:100}.skip-link:focus{left:0}.site-header{border-bottom:1px solid var(--border);background:#0b1220cc}.nav{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;padding-bottom:.85rem}.brand{font-weight:700;font-size:1.1rem;color:var(--text)}.nav-right{display:flex;align-items:center;gap:1.25rem}.nav-links{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}.nav-links a{color:var(--muted)}.nav-links a:hover{color:var(--text);text-decoration:none}.lang-switch{display:flex;align-items:center;gap:.25rem;border:1px solid var(--border);border-radius:8px;padding:.15rem}.lang-link{font-size:.8rem;font-weight:600;color:var(--muted);padding:.15rem .5rem;border-radius:6px;line-height:1.4}.lang-link:hover{color:var(--text);text-decoration:none}.lang-link.active{background:var(--accent);color:#fff}main{flex:1;padding:2rem 1rem 3rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem}h1{font-size:1.8rem;margin:0 0 .5rem;line-height:1.25}.lead{color:var(--muted);margin-top:0}.password-display{display:flex;align-items:stretch;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin-top:1.25rem}.password-text{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.35rem;word-break:break-all;display:flex;align-items:center;min-height:2.2rem}.password-actions{display:flex;gap:.5rem}button{font-family:inherit;cursor:pointer}.icon-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:0 .9rem;font-weight:600;font-size:.9rem;transition:background .15s ease}.icon-btn:hover{background:var(--accent-hover)}.icon-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.copy-status{min-height:1.2rem;margin:.5rem 0 0;color:var(--strong);font-size:.9rem}.strength{display:flex;align-items:center;gap:.75rem;margin:1rem 0 1.5rem}.strength-bar{flex:1;height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.strength-fill{display:block;height:100%;width:0;background:var(--strong);transition:width .2s ease,background .2s ease}.strength-fill[data-level=weak]{background:var(--weak)}.strength-fill[data-level=average]{background:var(--average)}.strength-fill[data-level=strong]{background:var(--strong)}.strength-label{font-weight:600;font-size:.9rem;min-width:4.5rem;text-align:right}.controls{display:grid;gap:1.5rem}.control label{display:block;margin-bottom:.5rem}input[type=range]{width:100%;accent-color:var(--accent)}fieldset.control-options{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}legend{padding:0 .5rem;color:var(--muted);font-size:.9rem}.checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;cursor:pointer}.checkbox input{accent-color:var(--accent);width:1.05rem;height:1.05rem}.prose{margin-top:1rem}.prose h2{margin-top:2rem;font-size:1.3rem}.prose h3{margin-top:1.5rem;font-size:1.1rem}.prose p,.prose li{color:var(--text)}.muted{color:var(--muted)}.site-footer{border-top:1px solid var(--border);padding:1.5rem 0;text-align:center;font-size:.9rem;color:var(--muted)}.site-footer p{margin:.25rem 0}@media(max-width:520px){.nav-right{gap:.75rem}.nav-links{gap:.85rem;font-size:.9rem}.password-text{font-size:1.1rem}h1{font-size:1.5rem}}
