:root { color-scheme: light; font-family: Arial, Helvetica, sans-serif; color: #142035; background: #f5f7fb; }
* { box-sizing: border-box; }
body { min-height: 100vh; margin: 0; display: grid; place-items: center; padding: 16px; }
main { width: min(100%, 480px); padding: clamp(20px, 5vw, 34px); border: 1px solid #e0e7f2; border-radius: 20px; background: white; }
h1 { margin: 0 0 12px; font-size: 26px; }
p, .helptext, li { color: #5c687c; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
label { display: block; margin: 16px 0 7px; font-size: 14px; font-weight: 700; }
input:not([type=checkbox]), textarea { width: 100%; min-width: 0; min-height: 44px; padding: 11px 12px; border: 1px solid #cbd5e1; border-radius: 10px; font: inherit; }
input[type=checkbox] { width: 20px; height: 20px; vertical-align: middle; }
input:focus-visible, textarea:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #9bbdf5; outline-offset: 3px; }
button { width: 100%; min-height: 44px; margin-top: 16px; padding: 12px; border: 0; border-radius: 10px; background: #2468e8; color: white; font: inherit; font-weight: 700; cursor: pointer; }
.notice { padding: 12px; border-radius: 10px; background: #ecf5ff; color: #18416d; }
.error, .errorlist { padding: 12px; border-radius: 10px; background: #fff0f0; color: #982929; }
nav { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
a { display: inline-flex; align-items: center; min-height: 44px; color: #2468e8; font-size: 14px; }
dt { margin-top: 12px; font-size: 13px; font-weight: 700; }
dd { margin: 4px 0 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
