.map-tip-prompt { position: fixed; z-index: 45; bottom: max(1rem, env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); display: flex; align-items: flex-start; gap: 1rem; width: min(360px, calc(100vw - 2rem)); padding: 1rem; border: 2px solid var(--color-aqua-400, #91f3fa); border-radius: .875rem; background: var(--color-night-900, #161a19); box-shadow: 0 8px 30px rgba(0,0,0,.3); color: var(--color-night-100, #e7eae9); }
.map-tip-prompt[hidden], .map-tip-prompt [hidden] { display: none; }
.map-tip-prompt p { font-size: .875rem; line-height: 1.6; margin: 0; }
.map-tip-prompt a { display: inline-block; margin-top: .5rem; color: var(--color-aqua-400, #91f3fa); font-size: .8125rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.map-tip-prompt button { flex: 0 0 32px; width: 32px; height: 32px; border-radius: .375rem; cursor: pointer; font-size: 1.375rem; color: var(--color-night-300, #a9adab); }
.map-tip-prompt button:hover { background: var(--color-night-800, #222927); }
.map-tip-prompt a:focus-visible, .map-tip-prompt button:focus-visible { outline: 2px solid var(--color-aqua-400, #91f3fa); outline-offset: 3px; }

.map-tip-prompt { isolation: isolate; }
.map-tip-prompt::before {
    content: "";
    position: absolute;
    inset: 2px;
    z-index: -1;
    border-radius: .7rem;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 43%, rgba(145,243,250,.12) 50%, transparent 57%);
    background-size: 200% 100%;
    background-repeat: no-repeat;
    opacity: 0;
    animation: map-tip-glow 12s ease-in-out .4s infinite both;
}
@keyframes map-tip-glow {
    0% { background-position: -100% 50%; opacity: 0; }
    5% { opacity: 1; }
    18% { opacity: 1; }
    24%, 100% { background-position: 200% 50%; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .map-tip-prompt::before { animation: none; }
}

.map-tip-prompt[data-inline-links="true"] a { display: inline; margin-top: 0; font-size: inherit; }
.map-tip-prompt[data-inline-links="false"] [data-tip-message] { display: block; }
