
body{margin:0;background:#eef2f5;color:#1a2332;font:15px/1.5 ui-sans-serif,system-ui,sans-serif}
main{max-width:820px;margin:0 auto;padding:1.5rem}
h1{margin:0;font-size:1.6rem}.sub{color:#5b6776;margin:.3rem 0 1rem}
.card{background:#fbfcfd;border:1px solid #b7c2cd;padding:.9rem 1rem;margin-bottom:1rem}
h2{font-size:1.05rem;margin:0 0 .5rem}.n{display:inline-block;width:1.5rem;height:1.5rem;border-radius:50%;
background:#2c4a7c;color:#fff;text-align:center;font-size:.85rem;line-height:1.5rem;margin-right:.4rem}
.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
button{border:1px solid #2c4a7c;background:#2c4a7c;color:#fff;padding:.4rem .75rem;font:inherit;cursor:pointer}
button.secondary{background:#fff;color:#2c4a7c}select,input{font:inherit;padding:.3rem}
.muted{color:#5b6776;font-size:.88rem}code{font-size:.85em}
.status-line{font-weight:600}.ok{color:#1f6b4a}.bad{color:#8f2d22}
table{width:100%;border-collapse:collapse}td{padding:.3rem .4rem;border-bottom:1px solid #dde3e9}
td.v{font-family:ui-monospace,monospace;text-align:right;width:6rem}
#log{list-style:none;padding:0;margin:0;font-size:.88rem}#log li{border-bottom:1px solid #dde3e9;padding:.25rem 0}
label.block{display:block;margin:.6rem 0}textarea{display:block;width:100%;box-sizing:border-box;font:inherit;padding:.3rem}
#sign-outcome{white-space:pre-line;margin:.6rem 0 0}
