:root{--bg:#f4f3fb;--surface:#fff;--border:#ddd9ec;--text:#1c1730;--text-muted:#675e85;--accent:#7c3aed;--accent-contrast:#fff;--error-bg:#fdeceb;--error-border:#e5534b;--error-text:#8a1f16;--strength-weak:#e5534b;--strength-fair:#e0a92c;--strength-strong:#14b8a6;--strength-very-strong:#7c3aed;--font-display:"Fraunces", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--font-sans:"Inter", system-ui, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#120f1e;--surface:#1b1730;--border:#33294f;--text:#ece8f8;--text-muted:#a297c4;--accent:#a78bfa;--accent-contrast:#1c1330;--error-bg:#3a1c1c;--error-border:#e5534b;--error-text:#ffb4ac;--strength-weak:#f0776d;--strength-fair:#f0c25c;--strength-strong:#34d1a8;--strength-very-strong:#a78bfa;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0}#root{min-height:100svh}.page{justify-content:center;min-height:100%;padding:3rem 1.25rem;display:flex}.shell{flex-direction:column;gap:.75rem;width:100%;max-width:600px;display:flex}.site-header{align-items:center;gap:10px;padding:0 .25rem;display:flex}.site-header__brand{font-family:var(--font-mono);letter-spacing:.04em;color:var(--accent);white-space:nowrap;font-size:.8rem;font-weight:700;text-decoration:none}.site-header__brand:hover{text-decoration:underline}.site-header__divider{color:var(--text-muted);font-weight:400}.site-header__title{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;font-size:.8rem;font-weight:500}.toolbar-spacer{flex:1}.toggle-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:.35rem .55rem;line-height:1}.toggle-btn:hover{border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:100%;padding:2.5rem 2.25rem;box-shadow:0 30px 60px -35px #00000059}.eyebrow{font-family:var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);margin:0 0 .75rem;font-size:.75rem}h1{font-family:var(--font-display);color:var(--text);margin:0 0 .75rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:600;line-height:1.25}.subhead{color:var(--text-muted);margin:0 0 1.75rem;font-size:.9rem;line-height:1.5}.readout-row{gap:.5rem;display:flex}.password-output{background:var(--bg);border:1px solid var(--border);min-width:0;color:var(--text);font-family:var(--font-mono);white-space:nowrap;-webkit-user-select:all;user-select:all;border-radius:10px;flex:1;padding:.7rem .8rem;font-size:1.05rem;display:block;overflow-x:auto}.icon-action{background:var(--accent);color:var(--accent-contrast);font-family:var(--font-sans);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;padding:.7rem 1rem;font-size:.85rem;font-weight:600;transition:filter .15s,transform .15s}.icon-action:hover{filter:brightness(1.08)}.icon-action:active{transform:translateY(1px)}.icon-action:disabled{opacity:.5;cursor:not-allowed}.error{text-align:left;min-height:1.2rem;color:var(--error-text);margin:.5rem 0 0;font-size:.82rem}.strength{margin-top:.9rem}.strength-bar{background:var(--border);border-radius:999px;height:8px;overflow:hidden}.strength-bar__fill{border-radius:999px;height:100%;transition:width .2s}.strength-bar__fill--weak{background:var(--strength-weak)}.strength-bar__fill--fair{background:var(--strength-fair)}.strength-bar__fill--strong{background:var(--strength-strong)}.strength-bar__fill--very-strong{background:var(--strength-very-strong)}.strength-label{color:var(--text-muted);margin-top:.4rem;font-size:.75rem;display:block}.form{border-top:1px solid var(--border);margin-top:1.75rem;padding-top:1.75rem}.field{text-align:left;margin-bottom:1.25rem}.field label{color:var(--text-muted);justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;display:flex}.field-value{font-family:var(--font-mono);color:var(--text);font-weight:600}.field input[type=range]{width:100%;accent-color:var(--accent)}.checkbox-grid{text-align:left;grid-template-columns:1fr 1fr;gap:.75rem 1rem;display:grid}.checkbox{color:var(--text);align-items:center;gap:.5rem;font-size:.88rem;display:flex}.checkbox input{accent-color:var(--accent);width:16px;height:16px}.checkbox--wide{grid-column:1/-1}@media (width<=480px){.card{padding:2rem 1.4rem}.readout-row{flex-wrap:wrap}.password-output{flex-basis:100%}.checkbox-grid{grid-template-columns:1fr}}
