﻿.ux-scale {
    --_fg: var(--ux-fg);
    --_bg: var(--ux-bg);
    --_soft: var(--ux-soft);
    --_border: var(--ux-border);
    --_accent: var(--ux-accent);
    --size: clamp(320px, 60vw, 680px);
    display: grid;
    gap: 10px;
    justify-items: center;
}

/* Square, centered */
.ux-scale__stage {
    position: relative;
    inline-size: var(--size);
    aspect-ratio: 1 / 1;
    border: 1px solid var(--_border);
    border-radius: 12px;
    background: var(--_soft);
    overflow: hidden;
}

.ux-scale__svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}

/* Grid & labels */
.ux-scale__ground {
    stroke: var(--_border);
}

.ux-scale__tick {
    stroke: color-mix(in oklab, var(--_border) 70%, transparent);
    stroke-width: 1.2;
}

.ux-scale__label {
    fill: var(--_fg);
    font-size: 12px;
    opacity: .95;
}

/* Silhouettes */
.ux-scale__sil--target {
    fill: var(--_accent);
    stroke: var(--_border);
    stroke-width: 1.2;
    vector-effect: non-scaling-stroke;
}

.ux-scale__sil--ref {
    fill: color-mix(in oklab, var(--_accent) 30%, transparent);
    stroke: var(--_border);
    stroke-width: 1.2;
    vector-effect: non-scaling-stroke;
}

.ux-scale__handle {
    fill: var(--_bg);
    stroke: var(--_accent);
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    cursor: ns-resize;
    pointer-events: all;
}

/* Overlay controls inside the square */
.ux-scale__controls {
    position: absolute;
    inset: 6px 8px auto 8px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    inline-size: calc(100% - 16px);
    pointer-events: none; /* children re-enable */
    color: var(--_fg);
    font-size: 12px;
    opacity: .95;
}

.ux-scale__left, .ux-scale__right {
    pointer-events: auto;
}

.ux-scale__select {
    background: color-mix(in oklab, var(--_bg) 70%, transparent);
    color: var(--_fg);
    border: 1px solid var(--_border);
    border-radius: 8px;
    padding: .25rem .4rem;
    font-size: 12px;
}

.ux-scale[aria-disabled="true"] {
    opacity: .6;
    pointer-events: none;
}
