/* ==========================================================================
   vertical.css — the tall front-to-back vial.
   ========================================================================== */

.instrument {
    padding: 4px 0 8px;
}

.vial-stage {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 14px;
    padding: 4px 0;
}

.vial--tall {
    position: relative;
    flex: none;
    width: 104px;
    height: 300px;
    border-radius: 52px;
    background: linear-gradient(90deg, var(--vial-glass) 0%, var(--vial-fluid) 45%, var(--vial-glass) 100%);
}

.vial--tall .tol-zone {
    left: 0;
    right: 0;
    top: 50%;
    height: 84px;
    transform: translateY(-50%);
}

.vial--tall .groove {
    left: 10px;
    right: 10px;
    height: 2px;
}

.vial--tall .groove.a {
    top: calc(50% - 42px);
}

.vial--tall .groove.b {
    top: calc(50% + 40px);
}

.vial--tall .bubble {
    width: 74px;
    height: 74px;
    margin: -37px 0 0 -37px;
    transition: transform .42s var(--ease-spring), box-shadow .3s;
}

/* Degree scale running up the side of the vial. */
.scale {
    position: relative;
    flex: none;
    width: 52px;
}

.scale .tick {
    position: absolute;
    right: 0;
    top: auto;
    height: 1px;
    width: 8px;
    background: var(--outline-variant);
    transform: translateY(-50%);
}

.scale .tick.major {
    width: 14px;
    height: 1.5px;
    background: var(--outline);
}

.scale .tick-label {
    position: absolute;
    right: 18px;
    top: auto;
    transform: translateY(-50%);
    font-family: var(--mono);
    font-size: .625rem;
    font-weight: 500;
    color: var(--on-surface-variant);
}

.edge-labels {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 0;
    width: 74px;
    flex: none;
}

.edge-labels span {
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--on-surface-variant);
    max-width: 100%;
    line-height: 1.3;
    text-wrap: balance;
}

@media (max-width: 420px) {
    .vial--tall {
        width: 88px;
        height: 260px;
        border-radius: 44px;
    }

    .vial--tall .bubble {
        width: 64px;
        height: 64px;
        margin: -32px 0 0 -32px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .vial--tall .bubble {
        transition: none;
    }
}
