:root { color-scheme: light; font-family: system-ui, sans-serif; color: #20252b; background: #fff; line-height: 1.6; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 46rem; margin: 0 auto; padding: 2rem 1.25rem 3rem; }
.brand { color: #303b48; font-weight: 700; text-decoration: none; }
h1 { font-size: clamp(1.8rem, 5vw, 2.4rem); line-height: 1.2; margin: 1.5rem 0 1rem; }
h2 { font-size: 1.25rem; line-height: 1.35; }
p, li, label { font-size: 1rem; overflow-wrap: anywhere; }
li + li { margin-top: .75rem; }
ul { padding-left: 1.25rem; }
section { margin: 2rem 0; }
.action { padding: 1.25rem; border: 1px solid #9ba6b2; border-top: 4px solid #303b48; }
.action h2 { margin-top: 0; }
button { display: block; width: 100%; min-height: 3rem; padding: .75rem 1rem; font: inherit; font-weight: 600; border: 1px solid transparent; background: #253d5c; color: #fff; border-radius: .25rem; cursor: pointer; margin-top: 1rem; }
button:disabled { background: #e8eaed; color: #626970; cursor: default; }
button.danger:not(:disabled) { background: #9e202c; }
button.secondary { color: #253d5c; background: transparent; border-color: #9ba6b2; }
a { color: #234f83; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 3px solid #086cb7; outline-offset: 4px; }
.check { display: flex; align-items: flex-start; gap: .6rem; }
.check input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: .2rem; }
#status { margin-bottom: 0; }
footer { border-top: 1px solid #d8dde3; padding-top: 1.25rem; display: flex; flex-wrap: wrap; gap: .75rem 2rem; }
[hidden] { display: none !important; }
