:root { color-scheme: light; color: #211b1a; background: #faf4e8; font-family: Georgia, serif; }
body { margin: 0; }
main { max-width: 40rem; padding: 1rem; }
.standalone main { margin: 2rem auto; }
.publication, .note { color: #62554d; font-size: .94rem; line-height: 1.5; }
.publication a { color: #5c3d69; }
h1 { font-size: clamp(1.65rem, 6vw, 2.4rem); line-height: 1.15; }
h2 { font-size: 1.3rem; }
fieldset { border: 0; margin: 0 0 .9rem; padding: 0; }
label { display: flex; align-items: center; gap: .55rem; min-height: 2.55rem; cursor: pointer; }
input { margin: 0; accent-color: #5c3d69; }
button { background: #5c3d69; color: #fff; border: 0; padding: .7rem 1rem; font: 600 1rem system-ui, sans-serif; cursor: pointer; }
button:hover { background: #3d2848; }
button:focus-visible, a:focus-visible { outline: 2px solid #5c3d69; outline-offset: 3px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
