:root{--bg:#f6f8fb;--card:#fff;--ink:#0b2e4f;--muted:#5b6572;--line:#e4e9f0;--brand2:#0b6bd6;--accent:#0b2e4f;--up:#0a7d3b;--down:#c0392b}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
a{color:var(--brand2);text-decoration:none}a:hover{text-decoration:underline}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
header.site{background:var(--accent);color:#fff;padding:.7rem 0}header.site .in{max-width:760px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
header.site a{color:#fff;font-weight:700;font-size:1.15rem}header.site nav a{font-weight:500;font-size:.9rem;margin-left:1rem;opacity:.9}
main{max-width:760px;margin:0 auto;padding:1.2rem 1rem 3rem}h1{font-size:1.6rem;margin:.2rem 0 .6rem}h2{font-size:1.15rem;margin:1.4rem 0 .6rem}
.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.2rem;box-shadow:0 1px 2px rgba(11,46,79,.04);margin:1rem 0}
.down-card{border-color:#f3cfcb;background:#fdf6f5}.up-card{border-color:#cfe8d8;background:#f6fbf8}
#check-form{display:flex;flex-direction:column;gap:.6rem}
.pw-row{display:flex;gap:.4rem}#pw-input{flex:1;font-size:1.05rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;font-family:monospace}
#toggle-visibility{background:#eef3f9;border:1px solid var(--line);border-radius:8px;padding:0 .8rem;cursor:pointer;font-size:1.1rem}
#check-form button[type="submit"]{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.65rem 1.1rem;font-weight:700;cursor:pointer}
.up{color:var(--up)}.down{color:var(--down)}
.strength-bars{display:flex;gap:.3rem;margin-bottom:.5rem}.strength-bars .bar{height:8px;flex:1;background:var(--line);border-radius:4px}.strength-bars .bar.filled{background:var(--brand2)}
.tips{margin:.5rem 0 0 1.1rem;font-size:.88rem;color:var(--muted)}
.adslot{margin:1.2rem 0;min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px dashed var(--line);border-radius:10px;font-size:.8rem}
.disclaimer{font-size:.78rem;color:var(--muted);margin-top:1.5rem}
footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;padding:1.5rem 1rem;text-align:center}