.reading-map{margin:32px 0;padding:clamp(20px,4vw,38px);border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--paper,#f6f3e9);color:var(--ink)}.reading-map h3{font-size:clamp(23px,4vw,30px);font-weight:400;margin:10px 0}.reading-map>p{max-width:740px}.reading-map fieldset{border:0;padding:0;margin:22px 0;min-width:0}.reading-map legend{font-size:14px;margin-bottom:10px}.reading-choices{display:flex;flex-wrap:wrap;gap:10px}.reading-choices label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);cursor:pointer;font-size:13px;min-height:44px}.reading-choices label:has(input:checked){border-color:var(--gold);box-shadow:inset 0 -2px var(--gold)}.reading-choices input{accent-color:var(--gold);width:17px;height:17px;margin:0}.reading-map button{font:inherit;cursor:pointer;min-height:44px}.reading-map-results{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.reading-step{padding:24px;border:1px solid var(--line);min-width:0}.reading-step small{color:var(--gold)}.reading-step h4{font-size:21px;font-weight:400;margin:12px 0}.reading-step p{font-size:14px}.reading-step a{text-decoration:underline;text-underline-offset:5px;display:inline-block;padding:8px 0}.reading-step:focus{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:600px){.reading-map-results{grid-template-columns:1fr}.reading-choices label{flex:1 1 42%}.reading-step{padding:20px}}

.book-access{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.book-availability{display:block;font-size:12px;font-weight:400;color:var(--ink)}.book-read-link{display:inline-block;padding:10px 0;text-decoration:underline;text-underline-offset:4px;min-height:44px}.book-access .fine{line-height:1.9}#book-reading-filter{max-width:400px;margin-top:4px}#book-filters{margin-bottom:20px}

.visit-summary{max-width:1160px;margin:0 auto;padding:16px 7%;border-top:1px solid var(--line);font-size:13px}.visit-summary a{display:inline-flex;gap:10px;align-items:center;flex-wrap:wrap;color:var(--ink);text-decoration:none}.visit-summary strong{font-size:22px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--gold)}.visit-summary span{font-size:11px}#visits-refresh{font:inherit;padding:10px 16px;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--ink);cursor:pointer}.visit-counter{flex-wrap:wrap}
