:root { color-scheme: light; font-family: system-ui, sans-serif; color: #202020; background: #fafafa; }
* { box-sizing: border-box; }
body { margin: 0; }
header, main { max-width: 64rem; margin: auto; padding: 1.5rem; }
header { display: flex; justify-content: space-between; gap: 1rem; border-bottom: 1px solid #ccc; }
a { color: inherit; }
section { margin-top: 3rem; }
article { border-top: 1px solid #ccc; padding: 1rem 0; overflow-wrap: anywhere; }
form { max-width: 36rem; display: grid; gap: 1rem; margin: 1rem 0; }
label { display: grid; gap: .4rem; }
input, select, textarea, button { font: inherit; padding: .7rem; max-width: 100%; min-width: 0; }
input, select, textarea { width: 100%; border: 1px solid #777; background: white; border-radius: .2rem; }
textarea { min-height: 6rem; }
button { justify-self: start; cursor: pointer; }
summary { cursor: pointer; padding: .7rem 0; }
:focus-visible { outline: 3px solid #205bb5; outline-offset: 3px; }
[role=alert] { border-left: 4px solid #9a2020; padding: 1rem; }
@media (max-width: 35rem) { header, main { padding: 1rem; } h1 { font-size: 1.7rem; } }
@media print { header, form, details { display: none; } body { background: white; } article { break-inside: avoid; } }
