.radial-wheel {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 500;
    transform: scale(calc(var(--rw-fit-scale, 1) * 0.92));
    opacity: 0;
    transition: opacity 120ms ease, transform 140ms ease;
    pointer-events: none;
    touch-action: none;
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, 0.25));
    border-radius: 50%;
    backdrop-filter: blur(8px) saturate(130%);
    -webkit-backdrop-filter: blur(8px) saturate(130%);
}

.radial-wheel.visible {
    opacity: 1;
    transform: scale(var(--rw-fit-scale, 1));
    pointer-events: auto;
}

.radial-wheel.hidden {
    display: none;
}

.radial-wheel-svg {
    overflow: visible;
}

.rw-segment {
    transition: fill 100ms ease;
    stroke-width: 0;
    stroke-linejoin: round;
    stroke-linecap: round;
}

.rw-inner {
    fill: url(#rwInnerGrad);
    stroke: none;
}

.rw-outer {
    fill: url(#rwOuterGrad);
    stroke: none;
}

.rw-segment.active {
    fill: rgba(255, 196, 87, 0.95);
    filter: drop-shadow(0 0 6px rgba(255, 210, 130, 0.45));
}

.rw-label {
    font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    user-select: none;
    pointer-events: none;
    transition: fill 100ms ease;
}

.rw-inner-label {
    font-size: 17px;
    font-weight: 600;
    fill: #2d3f8f;
}

.rw-outer-label {
    font-size: 14px;
    font-weight: 700;
    fill: #ffffff;
}

.rw-label.active {
    fill: #111827;
}

.rw-center-hole {
    fill: rgba(255, 255, 255, 0.13);
    stroke: rgba(255, 255, 255, 0.7);
    stroke-width: 1.2;
}
