html { font-size: 112.5%; }
body { margin: 0; background: #fbfaf5; color: #1f2a1f; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; }
.wrap { max-width: 44rem; margin: 0 auto; padding: 0 16px; }
.skip { position: absolute; left: -999px; top: 0; background: #1d5c3a; color: #ffffff; padding: 8px 12px; z-index: 10; }
.skip:focus { left: 8px; top: 8px; }
header.site { border-bottom: 1px solid #d8d6c6; background: #f3efe2; }
header.site .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; padding-top: 10px; padding-bottom: 10px; }
.brand { font-weight: 700; color: #1d5c3a; text-decoration: none; font-size: 1.05rem; }
header.site ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: 0.85rem; }
header.site nav a { color: #1f2a1f; }
header.site nav a[aria-current] { font-weight: 700; text-decoration: none; }
main { padding-top: 12px; padding-bottom: 32px; }
h1 { font-size: 1.9rem; line-height: 1.2; margin: 1.2rem 0 0.6rem; }
h2 { font-size: 1.35rem; line-height: 1.3; margin: 2rem 0 0.5rem; }
h3 { font-size: 1.1rem; margin: 1.4rem 0 0.4rem; }
p, li { max-width: 40rem; }
a { color: #1d5c3a; }
a:hover { color: #123d27; }
a:focus-visible, .btn:focus-visible { outline: 3px solid #b8860b; outline-offset: 2px; }
.lede { font-size: 1.1rem; }
.note { font-size: 0.9rem; color: #46503f; border-left: 4px solid #c9c4a8; padding-left: 12px; }
.rules li { margin-bottom: 0.6rem; }
.btn { display: inline-block; background: #1d5c3a; color: #ffffff; text-decoration: none; padding: 10px 16px; border-radius: 6px; font-weight: 600; }
.btn:hover { background: #123d27; color: #ffffff; }
.sample { background: #eef3ea; border: 1px solid #b9cdb4; border-radius: 8px; padding: 4px 16px; margin: 1rem 0; }
.products { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin: 1rem 0; }
.product { border: 1px solid #d8d6c6; background: #ffffff; border-radius: 8px; padding: 4px 16px 4px; }
.product h3 { margin-top: 0.8rem; }
.meta { font-weight: 600; margin: 0; color: #46503f; }
.cards { list-style: none; padding: 0; margin: 1.5rem 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.cards li { border: 1px solid #d8d6c6; background: #ffffff; border-radius: 8px; padding: 4px 16px 8px; }
.cards h2 { font-size: 1.15rem; margin: 0.8rem 0 0.3rem; }
.tablewrap { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; font-size: 0.9rem; background: #ffffff; }
caption { text-align: left; font-size: 0.85rem; color: #46503f; padding: 4px 0; }
th, td { border: 1px solid #b9b7a4; padding: 6px 8px; text-align: left; }
th { background: #e7efe4; }
.sources { font-size: 0.9rem; }
footer.site { border-top: 1px solid #d8d6c6; background: #f3efe2; font-size: 0.9rem; padding: 12px 0 20px; }
footer.site p { margin: 0.3rem 0; }
@media (prefers-color-scheme: dark) {
  body { background: #141a14; color: #e6eadf; }
  header.site, footer.site { background: #1b231b; border-color: #34402f; }
  header.site nav a { color: #e6eadf; }
  .brand, a { color: #8fd3a8; }
  a:hover { color: #b7e6c8; }
  .note { color: #b8c2b0; border-color: #4a5a44; }
  .meta, caption { color: #b8c2b0; }
  .btn, .skip { background: #8fd3a8; color: #0d1a10; }
  .btn:hover { background: #b7e6c8; color: #0d1a10; }
  .sample { background: #1c2a1f; border-color: #3d5a45; }
  .product, .cards li, table { background: #1b231b; border-color: #34402f; }
  th, td { border-color: #4a5a44; }
  th { background: #243124; }
}
