:root { font-family: system-ui, sans-serif; color: #1c3119; background: #f6fcf1; line-height: 1.6; }
body { margin: 0; padding: 1rem; } main { max-width: 48rem; margin: 2rem auto; border: 1px solid #497d44; border-radius: 1rem; padding: clamp(1rem, 4vw, 2.5rem); background: white; }
header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
button, a { color: #003b80; font: inherit; } button { border: 1px solid currentColor; border-radius: .3rem; background: white; padding: .4rem .8rem; cursor: pointer; }
:focus-visible { outline: 3px solid #003b80; outline-offset: 3px; } #catalogue-state { font-weight: bold; } li { overflow-wrap: anywhere; }
[hidden] { display: none !important; }

header img { max-width: 45%; height: auto; object-fit: contain; }
html[data-text-size="125"] { font-size: 125%; }
html[data-text-size="150"] { font-size: 150%; }
html[data-contrast="high"], html[data-contrast="high"] main { background: white; color: black; border-color: black; }
