/* Optional proof beside the contract. No empty block is rendered. */
.devlock{min-width:0;padding:16px;border:1px solid var(--hairline);border-radius:20px;background:var(--tint);box-shadow:none}
.devlock__head{display:flex;align-items:center;gap:10px}
.devlock__head svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--ink);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.devlock__head h2{margin:0;font:600 15px/1.4 var(--font-body);letter-spacing:0}
.devlock__note{margin:10px 0 0;font:400 13px/1.6 var(--font-body);color:var(--ink-soft);overflow-wrap:anywhere}
.devlock__actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.devlock__actions .btn{min-height:48px;border-color:var(--ink);font-size:13px;padding:10px 14px}
.devlock__host{font:400 11px/1.5 var(--font-mono);color:var(--ink-soft);overflow-wrap:anywhere;min-width:0}
.live-arriving .devlock__shackle{animation:devlock-close 420ms var(--ease-out-expo) 420ms both}
@keyframes devlock-close{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}
@media(max-width:479px){.devlock__actions{align-items:flex-start;flex-direction:column}.devlock__actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.live-arriving .devlock__shackle{animation:none;stroke-dashoffset:0}.live-arriving .devlock{animation:ca-fade 160ms linear both}}
