::highlight(ifis-key-points) {
    background-color: rgba(90, 90, 90, .11);
}

.ifis-keypoint-host {
    position: relative;
}

.ifis-keypoint-marker {
    position: absolute;
    z-index: 3;
    left: -30px;
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--text-muted, #777);
    opacity: .56;
    cursor: pointer;
    transform: translateY(-2px);
}

.ifis-keypoint-marker::before {
    content: '❞';
    display: block;
    font-size: 15px;
    line-height: 24px;
    text-align: center;
}

.ifis-keypoint-marker:hover,
.ifis-keypoint-marker:focus-visible {
    opacity: 1;
}

.ifis-keypoint-marker:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 2px;
    border-radius: 50%;
}

.ifis-keypoint-marker[hidden] {
    display: none;
}

.ifis-keypoints-menu-source {
    display: none !important;
}

/* Fallback für Browser ohne CSS Custom Highlight API. */
.ifis-keypoint-fallback {
    box-shadow: inset 2px 0 0 rgba(90, 90, 90, .24);
}

@media (prefers-color-scheme: dark) {
    ::highlight(ifis-key-points) {
        background-color: rgba(255, 255, 255, .10);
    }

    .ifis-keypoint-fallback {
        box-shadow: inset 2px 0 0 rgba(255, 255, 255, .18);
    }
}

@media (max-width: 600px) {
    .ifis-keypoint-marker {
        left: -25px;
        width: 21px;
        height: 28px;
    }

    .ifis-keypoint-marker::before {
        font-size: 14px;
        line-height: 28px;
    }
}

@media (hover: none) and (pointer: coarse) {
    .ifis-keypoint-marker {
        opacity: .68;
    }

    .ifis-keypoint-marker:focus,
    .ifis-keypoint-marker:focus-visible {
        outline: none;
        box-shadow: none;
    }
}
