:root { color-scheme: light; font-family: system-ui, sans-serif; line-height: 1.6; color: #172b3a; background: #f4f7f9; }
body { max-width: 60rem; margin: auto; padding: 1rem; }
header, footer { padding: 1rem 0; }
main { background: white; padding: clamp(1rem, 4vw, 2rem); border-radius: .5rem; }
a { color: #005a85; text-underline-offset: .15em; }
h1 { font-size: clamp(1.5rem, 5vw, 2.2rem); line-height: 1.2; }
.notice { border-left: .3rem solid #8a5600; background: #fff5dd; padding: 1rem; }
.field { margin: 1rem 0; }
label, small { display: block; }
input { font: inherit; box-sizing: border-box; width: 100%; max-width: 28rem; padding: .65rem; border: 1px solid #506778; border-radius: .2rem; }
button { font: inherit; padding: .7rem 1.5rem; background: #005a85; color: white; border: 0; border-radius: .2rem; cursor: pointer; }
:focus-visible { outline: 3px solid #b05b00; outline-offset: 3px; }
dt { font-weight: bold; margin-top: .7rem; }
dd { margin-left: 0; overflow-wrap: anywhere; }
li { margin: .6rem 0; }
