.museum-utilities { position: fixed; z-index: 40; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); display: flex; gap: 8px; }
.museum-utilities button { position: relative; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #ffffff50; border-radius: 50%; background: #082b4dd9; color: white; font: 26px/1 "Segoe UI Symbol", sans-serif; cursor: pointer; }
.museum-utilities button:hover { background: #145d9f; }
.museum-utilities button:focus-visible { outline: 3px solid #f0d58b; outline-offset: 3px; }
.museum-utilities__tooltip { position: absolute; bottom: calc(100% + 12px); right: 0; width: max-content; padding: 8px 12px; border-radius: 6px; background: #082b4d; color: white; font: 13px/1.5 "Segoe UI", sans-serif; opacity: 0; visibility: hidden; pointer-events: none; }
.museum-utilities button:hover .museum-utilities__tooltip, .museum-utilities button:focus-visible .museum-utilities__tooltip { opacity: 1; visibility: visible; }
.museum-utilities__status { position: absolute; right: 0; bottom: 64px; width: max-content; max-width: calc(100vw - 36px); border-radius: 6px; background: #082b4d; color: white; font: 14px/1.5 "Segoe UI", sans-serif; }
.museum-utilities__status:not(:empty) { padding: 10px 14px; }
