.school-map .maplibregl-canvas:focus-visible,.school-map .maplibregl-ctrl button:focus-visible,.school-map .maplibregl-popup-close-button:focus-visible{outline:3px solid #85d9cf;outline-offset:2px}.school-map .maplibregl-ctrl-group{overflow:hidden;border:1px solid rgba(165,189,199,.28);border-radius:.375rem;background:#071e2b;box-shadow:0 5px 14px rgba(7,30,43,.3)}.school-map .maplibregl-ctrl-group button{width:44px;height:44px;background-color:#071e2b}.school-map .maplibregl-ctrl-group button+button{border-top-color:rgba(165,189,199,.2)}.school-map .maplibregl-ctrl-group button:hover{background-color:#0d2b3a}.school-map .maplibregl-ctrl-icon{filter:invert(93%) sepia(12%) saturate(366%) hue-rotate(126deg) brightness(103%) contrast(93%)}.school-map .maplibregl-popup-content{width:min(22rem,calc(100vw - 2rem));max-width:none;padding:1.25rem;border:1px solid rgba(165,189,199,.25);border-radius:.375rem;background:#071e2b;color:#edf4f3;box-shadow:0 16px 36px rgba(7,30,43,.42)}.school-map .maplibregl-popup-tip{border-top-color:#071e2b;border-bottom-color:#071e2b}.school-map .maplibregl-popup-close-button{width:44px;height:44px;color:#a5bdc7;font-size:1.25rem}.school-map .maplibregl-popup-close-button:hover{background:#0d2b3a;color:#edf4f3}.school-map .school-popup{padding-right:1.5rem}.school-map .school-popup-name{display:block;color:#edf4f3;font-size:1.125rem;line-height:1.35;letter-spacing:-.02em}.school-map .school-popup-location{margin-top:.25rem;color:#a5bdc7;font-size:.9375rem;line-height:1.45}.school-map .school-popup-precision{display:inline-flex;align-items:center;min-height:1.75rem;margin-top:.75rem;padding:0 .625rem;border:1px solid rgba(133,217,207,.28);border-radius:.25rem;background:rgba(133,217,207,.12);color:#85d9cf;font-size:.75rem;font-weight:650}.school-map .school-popup-precision.is-approximate{border-color:rgba(216,164,90,.32);background:rgba(216,164,90,.12);color:#e4b66f}.school-map .school-popup-summary{display:-webkit-box;overflow:hidden;margin-top:.875rem;color:#c7d9dd;font-size:.875rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.school-map .school-popup-facts{display:grid;gap:.5rem;margin-top:1rem;padding-top:.875rem;border-top:1px solid rgba(165,189,199,.18)}.school-map .school-popup-facts div{display:grid;grid-template-columns:4.25rem 1fr;gap:.75rem;font-size:.8125rem;line-height:1.4}.school-map .school-popup-facts dt{color:#a5bdc7;font-weight:600}.school-map .school-popup-facts dd{color:#edf4f3;font-weight:550}.school-map .school-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}.school-map .school-popup-actions a{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border-radius:.25rem;font-size:.8125rem;font-weight:650;text-align:center}.school-map .school-popup-primary{background:#85d9cf;color:#071e2b}.school-map .school-popup-primary:hover{background:#a4e5dd}.school-map .school-popup-secondary{border:1px solid rgba(165,189,199,.3);color:#edf4f3}.school-map .school-popup-secondary:hover{background:#0d2b3a}.school-map .school-popup-actions a:focus-visible{outline:3px solid #85d9cf;outline-offset:2px}.school-map .maplibregl-ctrl-attrib{border-radius:0;background:rgba(7,30,43,.88);color:#a5bdc7;font-size:.6875rem}.school-map .maplibregl-ctrl-attrib a{color:#85d9cf}.school-map .school-favicon-marker{display:grid;width:26px;height:26px;overflow:hidden;place-items:center;border:3px solid #071e2b;border-radius:50%;background:#85d9cf;box-shadow:0 2px 7px rgba(7,30,43,.56);color:#071e2b;font:700 11px/1 system-ui,sans-serif;cursor:pointer}.school-map .school-favicon-marker:focus-visible{outline:3px solid #edf4f3;outline-offset:3px}.school-map .school-favicon-marker[hidden]{display:none}.school-map .school-favicon-marker.is-approximate{background:#d8a45a;outline:2px solid rgba(216,164,90,.55)}.school-map .school-favicon-marker.is-selected{width:34px;height:34px;border-width:4px;box-shadow:0 3px 10px rgba(7,30,43,.68)}.school-map .school-favicon-fallback,.school-map .school-favicon-marker img{width:100%;height:100%}.school-map .school-favicon-marker img{object-fit:cover;background:#edf4f3}.school-map .school-favicon-fallback{display:grid;place-items:center}@media (prefers-reduced-motion:reduce){.school-map .maplibregl-canvas{scroll-behavior:auto}}