body { font: 15px/1.5 system-ui, sans-serif; margin: 0; color: #222; background: #fff; }
main { max-width: 980px; margin: 0 auto; padding: 1rem; }
h1 { font-size: 1.4rem; margin: 0.5rem 0; }
h2 { font-size: 1.1rem; margin-top: 2rem; }
.lead { font-size: 1.05rem; background: #f6f6f6; padding: 0.75rem; border-left: 4px solid #b2182b; }
#map { height: 520px; border: 1px solid #ccc; background: #f4f4f0; }
#controls { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin: 0.5rem 0; }
#controls fieldset { border: 1px solid #ccc; padding: 0.2rem 0.6rem; }
#controls fieldset label { margin-right: 0.6rem; }
.slider input { width: 260px; vertical-align: middle; }
#legend { display: flex; gap: 0.6rem; flex-wrap: wrap; font-size: 0.85rem; margin-top: 0.3rem; }
#legend span i { display: inline-block; width: 14px; height: 14px; vertical-align: middle; margin-right: 3px; border: 1px solid #999; }
.small { font-size: 0.85rem; color: #555; }
table.dl { border-collapse: collapse; width: 100%; font-size: 0.85rem; }
table.dl td, table.dl th { border-bottom: 1px solid #ddd; padding: 0.25rem 0.4rem; text-align: left; vertical-align: top; }
table.dl code { font-size: 0.75rem; word-break: break-all; }
td.num { text-align: right; }
footer { margin-top: 2rem; border-top: 1px solid #ddd; padding-top: 0.5rem; }
