:root { font-family: system-ui, sans-serif; color: #183a33; background: #f4f8f5; line-height: 1.6; }
* { box-sizing: border-box; }
body { margin: 0; padding: 1rem; }
main { max-width: 38rem; margin: 2rem auto; padding: clamp(1rem, 4vw, 2rem); background: white; border-radius: 1rem; }
.brand { font-size: 1.5rem; font-weight: 750; }
h1, h2 { line-height: 1.25; overflow-wrap: anywhere; }
h2 { font-size: 1.25rem; }
label { display: block; font-weight: 650; }
input { width: 100%; padding: .8rem; font: inherit; margin: .5rem 0 1rem; border: 1px solid #637b73; border-radius: .4rem; }
button, .button { display: inline-block; padding: .8rem 1.1rem; font: inherit; font-weight: 650; color: white; background: #185b4d; border: 0; border-radius: .5rem; text-decoration: none; cursor: pointer; }
:focus-visible { outline: 3px solid #8c4900; outline-offset: 4px; }
.note { font-size: .95rem; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto; } }
