.article-content > .ifis-read {
    opacity: .76;
    transition: opacity .18s ease;
}
.article-content > .ifis-read:hover,
.article-content > .ifis-read:focus-within { opacity: 1; }

.ifis-reading-marker {
    --marker-color: #b87024;
    position: absolute;
    z-index: 4;
    width: 28px;
    height: 12px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transform: translateY(-50%);
}
.ifis-reading-marker::before {
    content: '';
    position: absolute;
    top: 50%; left: 0;
    width: 100%; height: 1px;
    background: var(--marker-color);
    opacity: .72;
}
.ifis-reading-marker--left { transform: translate(-100%, -50%); margin-left: -10px; }
.ifis-reading-marker--right { margin-left: 10px; }

.ifis-reading-line {
    --marker-color: #b87024;
    position: absolute;
    z-index: 3;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: color-mix(in srgb, var(--marker-color) 13%, transparent);
    box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--marker-color) 42%, transparent);
    transform: translateY(-50%);
    cursor: pointer;
}

.ifis-reading-offer {
    position: absolute; z-index: 8;
    transform: translate(calc(-100% - 10px), -50%);
    margin: 0; padding: 3px 6px;
    border: 0; border-radius: 6px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 1px 8px rgba(0,0,0,.07);
    color: rgba(20,20,20,.48);
    font: inherit; font-size: .68rem; line-height: 1.2;
    letter-spacing: .02em; white-space: nowrap; cursor: pointer;
}
.ifis-reading-offer:hover,
.ifis-reading-offer:focus-visible { color: rgba(184,112,36,.9); background: #fff; }

.ifis-reading-palette {
    position: absolute; z-index: 10;
    display: flex; gap: 7px; align-items: center;
    padding: 6px 7px;
    border-radius: 14px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 2px 12px rgba(0,0,0,.10);
    transform: translateY(-50%);
}
.ifis-reading-palette.is-left { transform: translate(-100%,-50%); }
.ifis-reading-palette.is-mobile { transform: translate(-50%,-100%); }
.ifis-reading-color {
    --swatch: #b87024;
    width: 10px; height: 10px;
    padding: 0; border: 0; border-radius: 50%;
    background: var(--swatch); opacity: .62; cursor: pointer;
}
.ifis-reading-color:hover,
.ifis-reading-color:focus-visible,
.ifis-reading-color.is-active { opacity: 1; }
.ifis-reading-color.is-active { box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(20,20,20,.18); }

@media (hover: none) and (pointer: coarse) {
    .article-content > .ifis-read:active { opacity: 1; }
    .ifis-reading-marker { display: none; }
    .ifis-reading-line { min-height: 22px; }
    .ifis-reading-offer {
        transform: translate(-50%,-100%);
        font-size: .68rem;
        padding: 5px 7px;
        box-shadow: 0 2px 10px rgba(0,0,0,.08);
    }
    .ifis-reading-color { width: 12px; height: 12px; }
}
@media (prefers-reduced-motion: reduce) { .article-content > .ifis-read { transition: none; } }