/* Read-only star display — fractional fill via a clipped overlay. Theme-aware. */
.pp-starsv {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    line-height: 1;
    vertical-align: middle;
}
.pp-starsv-track,
.pp-starsv-fill {
    letter-spacing: 1px;
}
.pp-starsv-track { color: var(--pp-border, #cbd5e1); }
.pp-starsv-fill {
    color: var(--pp-warning, #f59e0b);
    position: absolute;
    top: 0; left: 0;
    width: 0;
    overflow: hidden;
    white-space: nowrap;
}
.pp-starsv.is-sm { font-size: 1rem; }
.pp-starsv.is-md { font-size: 1.25rem; }
.pp-starsv.is-lg { font-size: 1.6rem; }
.pp-starsv-num {
    margin-inline-start: .4rem;
    font-size: .82em;
    color: var(--pp-text-muted, #64748b);
    vertical-align: middle;
}
