:root { color-scheme: light; font: 100%/1.5 system-ui,sans-serif; color: #17324d; background: #eef3f6; }
body { margin: 0; padding: clamp(1rem,6vw,4rem) 1rem; }
main { box-sizing: border-box; max-width: 29rem; margin: 0 auto; padding: clamp(1rem,5vw,2rem); background: white; border: 1px solid #d8e2e8; border-radius: .8rem; }
h1 { margin: 0 0 .5rem; }
label { display: grid; gap: .25rem; font-weight: 650; }
input, button { box-sizing: border-box; width: 100%; min-height: 44px; font: inherit; border-radius: .4rem; padding: .5rem .65rem; }
input { border: 1px solid #647b90; color: inherit; background: white; }
button { background: #245d73; color: white; border: 1px solid #245d73; font-weight: 700; }
:focus-visible { outline: 3px solid #17324d; outline-offset: 2px; }
[role="alert"] { color: #8d2727; }
