.page-map{position:relative;margin-left:auto;z-index:70;font-size:14px;flex:0 0 auto}
.page-map>button{background:#e4efe7;color:#214f40;border:1px solid #8aad9b;border-radius:999px;padding:.5em .85em;box-shadow:0 2px 7px #17382d18;font-size:1em}
body>header{flex-wrap:wrap}
.page-map-panel{position:absolute;right:0;top:calc(100% + .5rem);width:360px;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 6rem);overflow:auto;overscroll-behavior:contain;background:#f4f8f4;color:#213d32;border:1px solid #8aad9b;border-left:4px solid #2a6b51;border-radius:12px;padding:1em;box-shadow:0 10px 35px #10251b33;line-height:1.45}
.page-map-panel[hidden]{display:none}
.page-map-wide .page-map-panel{width:650px}
.page-map-heading{display:flex;align-items:center;justify-content:space-between;gap:1em}
.page-map-heading h2{font-size:1.15em;margin:0}
.page-map-panel button,.page-map-panel a{font-size:1em}
.page-map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;margin:.8em 0;padding-bottom:.8em;border-bottom:1px solid #bdcfbf}
.page-map-tools label{display:flex;align-items:center;flex-wrap:wrap;gap:.5em;font-size:.9em;margin:0}
.page-map-tools input{width:110px;padding:0;margin:0}
.page-map-panel nav{display:flex;flex-direction:column;gap:.4em;margin:0}
.page-map-panel nav a,.page-map-panel nav button{display:block;text-align:left;padding:.6em .75em;border:1px solid #c1d5c6;border-radius:6px;background:#fff;color:#215f48;white-space:normal;overflow-wrap:anywhere;text-decoration:underline}
.page-map-panel button:disabled{opacity:.5;cursor:default}
.page-map-panel button[aria-pressed="true"]{background:#245d47;color:#fff}
.page-map button:focus-visible,.page-map a:focus-visible,.page-map input:focus-visible{outline:3px solid #357e60;outline-offset:3px}
@media(max-width:650px){.page-map{margin-left:auto}.page-map-panel{max-width:calc(100vw - 2rem)}}
@media print{.page-map{display:none}body>header{padding-right:0}}
