.pin-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg);padding:32px 16px}.pin-lockup{display:flex;flex-direction:column;align-items:center;margin-bottom:32px}.pin-lockup .mark{width:64px;height:64px}.pin-lockup .wordmark{font-size:14px;letter-spacing:.32em;margin-top:12px;font-weight:500;color:var(--color-ink)}.pin-card{background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--r-3);padding:32px 32px 24px;width:100%;max-width:360px}.pin-dots{display:flex;justify-content:center;gap:12px;margin-bottom:24px}.pin-dot{width:14px;height:14px;border-radius:50%;background:var(--color-line);transition:background .12s,transform .12s}.pin-dot.filled{background:var(--color-ink);transform:scale(1.05)}.pin-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pin-key{height:var(--touch-key);border-radius:var(--r-2);border:1px solid var(--color-line);background:var(--color-card);font-size:20px;font-weight:500;cursor:pointer;font-family:var(--font-mono);color:var(--color-ink);transition:background .08s,transform .08s}.pin-key:hover{background:var(--color-card-tint)}.pin-key:active{transform:scale(.97);background:var(--color-line)}.pin-key.text{font-family:var(--font-ui);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.pin-error{margin-top:16px;text-align:center;font-size:12px;color:var(--color-error-ink);min-height:16px}.pin-shake{animation:pinShake .28s ease-in-out}@keyframes pinShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}
