:root { color-scheme: light; font-family: system-ui, sans-serif; line-height: 1.5; }
body { margin: 0; color: #17212b; background: #f7f8fa; }
.site-header { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem max(1rem, calc((100% - 70rem) / 2)); background: #17212b; }
.site-header a { color: white; margin-right: 1rem; }
.brand { font-weight: 700; }
main { max-width: 70rem; margin: 0 auto; padding: 2rem 1rem 4rem; }
form, .scheme-card, .evidence-card, .token-panel { padding: 1.25rem; margin: 1rem 0; background: white; border: 1px solid #ccd3da; border-radius: .35rem; }
label { display: block; margin: 1rem 0; }
input:not([type=radio]):not([type=checkbox]), select, textarea { display: block; width: min(100%, 38rem); padding: .55rem; box-sizing: border-box; }
button { padding: .65rem 1rem; border: 0; border-radius: .25rem; background: #075aa5; color: white; font-weight: 700; cursor: pointer; }
button.secondary { background: #53606d; }
.candidate span { display: block; margin-left: 1.5rem; }
.error { padding: .75rem; border-left: .35rem solid #b42318; background: #fff0ed; }
.token-panel { border: .2rem solid #a15c00; background: #fff8e6; }
.overall-note { padding: 1rem; border-left: .35rem solid #075aa5; background: #eaf4ff; font-weight: 650; }
.submitter-note { margin: 1rem 0; padding: .75rem 1rem; border: 1px dashed #8a6d1d; background: #fffbea; }
.submitter-note h3 { margin-top: 0; font-size: 1rem; }
.status { display: inline-block; padding: .2rem .5rem; background: #e6eaf0; border-radius: 1rem; }
.tag { text-transform: uppercase; font-size: .8rem; }
.risk { color: #4b5563; }
code { overflow-wrap: anywhere; }
@media (max-width: 38rem) { .site-header { display: block; } .site-header nav { margin-top: .75rem; } }
