.vcp-gate { min-height: 55vh; padding: 4rem 1rem; }
.vcp-dialog { box-sizing: border-box; position: relative; width: min(440px, calc(100% - 32px)); max-height: calc(100vh - 40px); overflow: auto; margin: auto; padding: 32px; border: 0; border-radius: 12px; background: #fff; color: #252525; box-shadow: 0 16px 70px #0004; text-align: center; font-family: inherit; }
.vcp-dialog::backdrop { background: rgb(0 0 0 / 55%); }
.vcp-dialog h1 { font-size: 26px; color: #252525; }
.vcp-dialog .vcp-pin { display: block; box-sizing: border-box; width: 160px; margin: 12px auto; padding: 10px; text-align: center; letter-spacing: .5em; font-size: 24px; border: 1px solid #888; border-radius: 5px; }
.vcp-dialog button { cursor: pointer; display: block; width: 100%; margin: 12px 0 20px; padding: 12px; background: #252525; color: #fff; border: 0; border-radius: 5px; font: inherit; }
.vcp-dialog a { color: #555; text-decoration: underline; }
.vcp-dialog .vcp-error { color: #a11414; }
.vcp-placeholder { padding: 20px; text-align: center; }
.vcp-dialog :focus-visible { outline: 3px solid #987222; outline-offset: 3px; }
