ook narf zbang

HTML


            

CSS

input[type=range] {
    width: 70%;
    margin: 2em;
}

output.bubble {
    background: red;
    color: white;
    position: absolute;
    transform: translateX(-50%) translateY(calc(-50% - 3px));
    left: 0;
    padding: .15em .35em;
    border-radius: 3px;
}

output.bubble:before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-top: 5px solid red;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    top: 100%;
    left: 50%;
    margin-left: -3px;
    margin-top: -1px;
}

div.anchor {
    display: inline-block;
    width: 0;
    height: 1em;
    position: relative;
}

div.anchor label, div.anchor p {
    position: absolute;
    right: 0;
    width: max-content;
    margin: 0;
}

.container {
    width: 75%;
    text-align: center;
    margin: 0 auto;
}

.hidden {
    visibility: hidden;
}

.error {
    color: red;
    text-align: center;
}

javascript