@use '$src/themes/spacing' as *; @use '$src/themes/layout' as *; @use '$src/themes/colors' as *; @use '$src/themes/typography' as *; .repSegment { position: relative; flex: 1; min-width: 0; padding: 0; background: transparent; border: none; border-radius: $item-corner; cursor: pointer; transition: all 0.2s ease; &:hover { background: $grey-100; } &:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; } &.selected .wrapper, &:hover .wrapper { opacity: 1; } &:hover .label { color: var(--text-primary); } } .indicator { position: absolute; inset: 0; background: $grey-100; border-radius: $item-corner; opacity: 0; transition: opacity 0.2s ease; [data-state='checked'] & { opacity: 1; } } .wrapper { position: relative; display: flex; flex-direction: column; align-items: center; gap: $unit; padding: $unit; opacity: 0.7; transition: opacity 0.2s ease; [data-state='checked'] & { opacity: 1; } } .content { width: 100%; min-height: 60px; display: flex; align-items: center; justify-content: center; } .label { font-size: $font-small; font-weight: $medium; color: var(--text-secondary); white-space: nowrap; [data-state='checked'] & { color: var(--text-primary); } }