:root { color-scheme: light; font: 16px/1.55 system-ui, sans-serif; color: #1b2f37; background: #f3f6f6; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(1040px, 100% - 2rem); margin: 2rem auto 4rem; }
header, .row { display: flex; gap: .8rem; align-items: end; flex-wrap: wrap; }
header, .space { justify-content: space-between; align-items: center; }
header span, .hint, small { color: #4c6269; }
.brand { font-weight: 800; text-decoration: none; letter-spacing: -.02em; }
a { color: #185769; }
h1 { font-size: clamp(1.9rem, 5vw, 3.2rem); margin: 1.4rem 0 .7rem; line-height: 1.08; letter-spacing: -.04em; }
h2 { font-size: 1.12rem; margin: 0 0 .65rem; }
p { margin: .55rem 0; }
section, article { background: #fff; border: 1px solid #dce5e5; border-radius: .85rem; padding: 1rem; }
section { margin-bottom: 1rem; }
article { margin-top: .85rem; }
form { margin: 0; }
label { display: block; margin: 0 0 .8rem; font-weight: 550; }
input, textarea, select { display: block; width: 100%; padding: .52rem .64rem; margin-top: .28rem; border: 1px solid #a6b8ba; border-radius: .45rem; background: #fff; color: inherit; font: inherit; }
textarea { resize: vertical; }
button, .action { font: inherit; font-weight: 650; padding: .52rem .8rem; border: 1px solid transparent; border-radius: .45rem; background: #185769; color: #fff; cursor: pointer; text-decoration: none; }
.secondary { color: #185769; background: #edf4f5; }
.grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1rem; }
.intro, article button { margin-bottom: .6rem; }
.row label { margin-bottom: .6rem; }
.badge { border-radius: 2rem; background: #f4eee0; color: #634a20; padding: .18rem .6rem; font-size: .84rem; }
.badge.verified, .issued { background: #e9f4ee; color: #225444; }
.hint { font-size: .9rem; }
.contact { margin-top: 1rem; border-top: 1px solid #dce5e5; padding-top: .75rem; }
.contact small { display: block; margin-bottom: .4rem; }
.check { display: flex; align-items: baseline; gap: .5rem; }
.check input { width: auto; margin: 0; }
.pin { font: 700 1.7rem ui-monospace, monospace; letter-spacing: .2em; }
.note { white-space: pre-wrap; overflow-wrap: anywhere; }
.draft { padding: .65rem .85rem; background: #eef5f7; border-radius: .45rem; margin-bottom: .6rem; }
blockquote { margin: .35rem 0; overflow-wrap: anywhere; }
@media (max-width: 660px) { .grid { grid-template-columns: 1fr; } }
