.gauge {
    position: relative;
    background: var(--gauge-bg);
    border: 0.05em solid #222222;
    border-radius: 50%;
    min-width: 100px;
    min-height: 100px;
    font-weight: bold;
    font-size: 24px;
}

.gauge .ticks {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0%;
    left: 0%;
}

.gauge .ticks .min {
    background: black;
    position: relative;
    left: 0%;
    top: 50%;
    width: 100%;
    height: 1%;
    margin-bottom: -1%;
    background: linear-gradient(90deg, rgba(2, 0, 36, 0) 0%, rgba(0, 0, 0, 0) 4%, rgba(0, 0, 0, 1) 4%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 15%);
    transform: rotate(-45deg);
}

.gauge .ticks .mid {
    background: black;
    position: relative;
    left: 0%;
    top: 50%;
    width: 100%;
    height: 1%;
    margin-bottom: -1%;
    background: linear-gradient(90deg, rgba(2, 0, 36, 0) 0%, rgba(0, 0, 0, 0) 4%, rgba(0, 0, 0, 1) 4%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 15%);
    transform: rotate(90deg);
}

.gauge .ticks .max {
    background: black;
    position: relative;
    left: 0%;
    top: 50%;
    width: 100%;
    height: 1%;
    margin-bottom: -1%;
    background: linear-gradient(90deg, rgba(2, 0, 36, 0) 0%, rgba(0, 0, 0, 0) 4%, rgba(0, 0, 0, 1) 4%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 15%);
    transform: rotate(225deg);
}

.gauge .ticks .tithe {
    transform: rotate(calc(27deg * var(--gauge-tithe-tick) - 45deg));
    background: black;
    position: relative;
    left: 0%;
    top: 50%;
    width: 100%;
    height: 1%;
    margin-bottom: -1%;
    background: linear-gradient(90deg, rgba(2, 0, 36, 0) 0%, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, 1) 10%, rgba(0, 0, 0, 1) 15%, rgba(0, 0, 0, 0) 15%);
}

.gauge .tick-circlebackground {
    position: absolute;
    top: 0.5%;
    left: 0.5%;
    width: calc(99%);
    height: calc(99%);
    border-left: 0em solid;
    border-top: 0em solid;
    border-right: 0em solid;
    border-bottom: 0em solid transparent;
    border-radius: 50%;
    background: white;
}

.gauge .tick-circle {
    position: absolute;
    top: 15%;
    left: 15%;
    width: calc(70% - 0.1em);
    height: calc(70% - 0.1em);
    border-left: 0.1em solid;
    border-top: 0.1em solid;
    border-right: 0.1em solid;
    border-bottom: 0.1em solid transparent;
    border-radius: 50%;
}

.gauge .tick-circlegradient {
    position: absolute;
    top: 10%;
    left: 10%;
    width: calc(80%);
    height: calc(80%);
    border-radius: 50%;
    background-image: conic-gradient(from -135deg, green 0deg, yellow 135deg, red 270deg, transparent 270deg, transparent 360deg );
}

.gauge .tick-circlegradient-mask {
    position: absolute;
    top: 15%;
    left: 15%;
    width: calc(70%);
    height: calc(70%);
    border-radius: 50%;
    background: white;
}

.gauge .needle {
    /* Gauge value range 0-100 */
    transform: rotate(calc(270deg * calc(var(--gauge-value, 0deg) / 100) - 45deg));
    background: black;
    position: relative;
    left: 0%;
    top: 49%;
    width: 100%;
    height: 4%;
    margin-bottom: -4%;
    background: linear-gradient(90deg, rgba(2, 0, 36, 0) 0%, rgba(0, 0, 0, 0) 24%, rgba(0, 0, 0, 1) 24%, rgba(0, 0, 0, 1) 30%, rgba(0, 0, 0, 0) 50%);
}

.gauge .needle .needle-head {
    position: relative;
    top: 15%;
    left: 22.5%;
    width: 2.7%;
    height: 70%;
    background-color: black;
    transform: rotate(-45deg);
}

.gauge .labels {
    position: absolute;
    width: 100%;
    height: 100%;
}

.gauge .labels .value-label {
    position: relative;
    top: 75%;
    text-align: center;
}

.gauge .labels .value-label::after {
    counter-reset: gauge-value var(--gauge-display-value);
    content: counter(gauge-value);
}

.gauge_label {
    position: relative;
    top: 0%;
    left: 0%;
    text-align: center;
    margin: auto;
}

.guide-x, .guide-y {
    background-color: orange;
    visibility: visible;
    position: absolute;
    left: 50%;
    top: 0;
    width: 1px;
    height: 100%;
}

.guide-y {
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
}

/* New layout for combined gauges */
.gauges-box {
    display: flex;
    gap: 20px;
    align-items: center;
    margin: 12px 0;
}

.gauge-with-thumbs {
    display: flex;
    flex-direction: column; /* label sits below the inner gauge row */
    align-items: center;
    gap: 8px;
}

.gauge-with-thumbs .gauge-inner {
    display: flex;
    align-items: center; /* center thumbs with the gauge itself */
    gap: 6px; /* nudged closer to the gauge */
}

.gauge-with-thumbs .thumb {
    width: 30px;
    height: 30px;
    display: inline-block;
    transition: transform 0.12s ease, opacity 0.12s ease; /* smooth hover */
}

.gauge-with-thumbs .thumb:hover,
.gauge-with-thumbs .thumb:focus {
    transform: scale(1.08);
    opacity: 0.98;
    outline: none;
}

.gauge-with-thumbs .thumb-up {
    width: calc(44px - 24px * var(--gauge-value, 0) / 100);
    height: calc(44px - 24px * var(--gauge-value, 0) / 100);
    transform: translateY(0); /* center on gauge */
    color: #79f18d;
}

.gauge-with-thumbs .thumb-down {
    width: calc(20px + 24px * var(--gauge-value, 0) / 100);
    height: calc(20px + 24px * var(--gauge-value, 0) / 100);
    transform: translateY(0); /* center on gauge */
    color: #eb5858;
}

/* Keep label centered and separate from the gauge row */
.gauge_label {
    margin-top: 4px;
    text-align: center;
    font-size: 0.95rem;
    color: #333;
}

/* Slightly separate label for the hidden value so both gauges look aligned */
.gauge_with_label {
    display: inline-block;
    text-align: center;
}

/* Per-gauge transparent boxes to blend with content */
.gauge-box {
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(182, 205, 247, 0.55);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.349) inset;
    border: 1px solid rgba(0, 0, 0, 0.247);
}

.gauge-box--teal {
    background: rgba(48, 190, 166, 0.616);
    border-color: rgba(48, 190, 166, 0.459);
}

.gauge-box--red {
    background: rgba(240,39,39,0.616);
    border-color: rgba(240,39,39,0.459);
}
