.IFkBnW_figure{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:12px 0 0;overflow:hidden}.IFkBnW_map{background:var(--surface-muted);width:100%;height:360px}.IFkBnW_map.IFkBnW_compact{height:220px}.IFkBnW_placeholder.IFkBnW_compact,.IFkBnW_message.IFkBnW_compact,.IFkBnW_skeleton.IFkBnW_compact{background-color:#e6ebf2;background-image:linear-gradient(90deg,#1b3a6b14 1px,#0000 1px),linear-gradient(0deg,#1b3a6b14 1px,#0000 1px);background-size:28px 28px;height:140px;min-height:140px;padding:12px 16px}.IFkBnW_placeholderPin{background:var(--primary);color:#fff;border:3px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex;box-shadow:0 1px 5px #0f172a59}.IFkBnW_placeholder.IFkBnW_compact strong{font-size:14px}.IFkBnW_placeholder.IFkBnW_compact span:not(.IFkBnW_placeholderPin){font-size:12px}.IFkBnW_captionCompact{padding:6px 12px}.IFkBnW_skeleton{background:linear-gradient(100deg, var(--surface-muted) 30%, var(--border) 50%, var(--surface-muted) 70%);background-size:200% 100%;animation:1.4s ease-in-out infinite IFkBnW_map-pulse}.IFkBnW_placeholder{background:var(--surface-muted);height:auto;min-height:200px;color:var(--primary);cursor:pointer;text-align:center;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px 16px;display:flex}.IFkBnW_placeholder strong{font-size:16px;font-weight:800}.IFkBnW_placeholder span{color:var(--text-secondary);font-size:14px}.IFkBnW_placeholder:hover{background:var(--info-bg)}.IFkBnW_message{color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex}.IFkBnW_message strong{color:var(--text)}.IFkBnW_caption{min-width:0;color:var(--text-secondary);overflow-wrap:anywhere;flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;display:flex}.IFkBnW_caption a{min-height:44px;color:var(--text-secondary);text-underline-offset:2px;align-self:flex-start;align-items:center;font-size:12px;font-weight:500;text-decoration:underline;display:inline-flex}.IFkBnW_textAlternative{min-width:0}.IFkBnW_textAlternative summary{min-height:44px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:500;list-style:none;display:flex}.IFkBnW_textAlternative summary::-webkit-details-marker{display:none}.IFkBnW_textAlternative summary:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:5px solid;width:0;height:0;transition:transform .15s}.IFkBnW_textAlternative[open] summary:before{transform:rotate(90deg)}.IFkBnW_textAlternative ol,.IFkBnW_textAlternative p{margin:0 0 12px}.IFkBnW_textAlternative ol{padding-left:24px}.IFkBnW_textAlternative li+li{margin-top:6px}button.IFkBnW_marker{background:var(--marker-color);color:#fff;cursor:pointer;border:3px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:28px;min-width:0;height:28px;min-height:0;padding:0;font:600 13px/1 inherit;display:flex;box-shadow:0 1px 5px #0f172a73}.IFkBnW_marker:focus-visible{outline-offset:2px;outline:3px solid #f4b400}button.IFkBnW_endpoint{width:34px;height:34px;font-size:15px;font-weight:800}.IFkBnW_campus{box-shadow:0 0 0 3px var(--primary), 0 1px 5px #0f172a73}button.IFkBnW_current{background:var(--primary);width:36px;height:36px;font-size:15px;font-weight:800;box-shadow:0 0 0 6px #1b3a6b38,0 1px 6px #0f172a73}.IFkBnW_recenter{color:#334155;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:29px;height:29px;padding:0;display:flex}.IFkBnW_map .maplibregl-ctrl-group button{width:44px;height:44px}.IFkBnW_map .maplibregl-ctrl-group button:focus-visible{box-shadow:inset 0 0 0 3px #f4b400}.IFkBnW_recenter{width:44px;height:44px}.IFkBnW_map .maplibregl-popup-content{color:#0f172a;border-radius:10px;flex-direction:column;gap:4px;padding:10px 28px 10px 12px;font-family:inherit;font-size:14px;display:flex}.IFkBnW_map .maplibregl-popup-content span{color:#475569;font-size:12px}.IFkBnW_map .maplibregl-popup-content a{color:#1b3a6b;font-weight:600;text-decoration:underline}.IFkBnW_map .maplibregl-popup-close-button{width:28px;height:28px;font-size:18px}.IFkBnW_map .maplibregl-ctrl-attrib{color:#334155;background:#ffffffe0;padding:2px 4px;font-size:10px}.IFkBnW_map .maplibregl-ctrl-attrib a{color:#1b3a6b}@keyframes IFkBnW_map-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.IFkBnW_skeleton{animation:none}}
