
:root { --paper: #f3ecdf; --ink: #221c16; --rule: #c9bba6; --bad: #8c2f2f; --quiet: #5c5348; }
body { margin: 0; font: 18px/1.45 Georgia, serif; background: var(--paper); color: var(--ink); }
main { max-width: 42rem; margin: 0 auto; padding: 1.5rem 1rem 3rem; }
a { color: inherit; }
header a { display: inline-block; }
header img { height: 4.5rem; width: auto; }
nav, h1, h2 { font-family: Inter, sans-serif; }
nav { font-size: 16px; font-weight: 500; line-height: 1.2; margin-bottom: 1.4rem; }
nav a { margin-right: 1rem; }
h1 { font-size: 1.8rem; font-weight: 600; line-height: 1.15; margin-bottom: 0.4rem; }
h2 { font-size: 1.25rem; font-weight: 600; margin: 1.6rem 0 0.3rem; }
footer.legal { font-family: "Source Serif 4", serif; font-size: 15px; line-height: 1.4; color: var(--quiet); border-top: 1px solid var(--rule); margin-top: 2.5rem; padding-top: 0.8rem; }
.map { height: 280px; margin: 0.6rem 0 1.2rem; border: 1px solid var(--rule); }
.leaflet-control-attribution { font: 10px/1.2 Georgia, serif; padding: 0 3px; background: rgba(243, 236, 223, 0.92); color: var(--quiet); white-space: nowrap; }
.leaflet-control-attribution a { color: inherit; }
.stale, .error { color: var(--bad); }
.quiet, .meta { color: var(--quiet); }
.meta { font-size: 15px; line-height: 1.3; margin: 0 0 0.8rem; }
input[type="search"] { width: 100%; box-sizing: border-box; font: 17px/1.3 system-ui, sans-serif; padding: 0.45rem 0.55rem; margin: 0.8rem 0 1.2rem; background: #fff; border: 1px solid var(--rule); }
.event { border-top: 1px solid var(--rule); padding: 0.9rem 0 0.2rem; }
.upcoming .when { font-family: Inter, sans-serif; font-weight: 600; font-size: 1.25rem; margin: 0; }
.upcoming .where { margin: 0.15rem 0; }
.upcoming .event-name { margin: 0.15rem 0 0.4rem; }
.event h2 { margin-top: 0; }
ol.roster, ul.plain { padding-left: 1.2rem; }
ol.roster li, ul.plain li { margin: 0.35rem 0; }
.rank { display: inline-flex; align-items: center; gap: 0.2rem; font-family: Inter, sans-serif; font-size: 13px; font-weight: 600; line-height: 1; padding: 0.15rem 0.45rem; border: 1px solid #a7842f; border-radius: 999px; background: #f4e2a8; color: #6b4e10; vertical-align: 0.1rem; }
form.digest { border-top: 1px solid var(--rule); margin-top: 2rem; padding-top: 1rem; }
input, button { font: inherit; }
