.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.password-form{margin-top:20px}
.password-input-wrap{height:56px;display:flex;align-items:center;gap:10px;padding:0 13px 0 16px;border:1.5px solid #e5deef;border-radius:15px;background:rgba(255,255,255,.8);transition:.2s}
.password-input-wrap:focus-within{border-color:#9467fa;box-shadow:0 0 0 4px rgba(128,77,255,.09);background:#fff}
.password-input-wrap.error{border-color:#e3588c;animation:password-shake .3s}
.password-input-wrap>span{color:#8a65df;font-size:18px;transform:rotate(-15deg)}
.password-input-wrap input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--ink);font:600 15px "Noto Sans SC";letter-spacing:.12em}
.password-input-wrap input::placeholder{letter-spacing:0;color:#aaa4b2}
.reveal-button{border:0;background:transparent;color:#8c8497;font:600 11px "Noto Sans SC";cursor:pointer;padding:8px 2px}
.password-message{min-height:18px;margin:7px 3px 0;text-align:left;color:#d9487c;font-size:11px}
.password-message.success{color:#39a57c}
.hero-card .password-form .primary-button{margin-top:6px}
.couple-lock{width:96px;height:96px;margin:0 auto 18px;display:grid;place-items:center;border-radius:50%;font-size:51px;color:#fff;background:linear-gradient(145deg,#8862f2,#ed68bd);box-shadow:0 18px 35px rgba(146,74,201,.25)}
@keyframes password-shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
