@layer fc.components {
.fc-segmented {
display: inline-flex;
max-inline-size: 100%;
margin: 0;
padding: 0;
border: 0;
min-inline-size: 0;
isolation: isolate;
}
.fc-segmented__item {
position: relative;
display: inline-flex;
flex: 1 1 auto;
min-inline-size: var(--fc-size-target-comfortable);
overflow-wrap: anywhere;
align-items: center;
justify-content: center;
gap: var(--fc-space-1-5);
min-block-size: var(--fc-size-target-comfortable);
padding-block: var(--fc-space-2);
padding-inline: var(--fc-space-4);
background-color: var(--fc-color-bg-surface);
color: var(--fc-color-text-default);
border: var(--fc-border-width-thin) solid var(--fc-segmented-border, var(--fc-color-border-interactive));
font-size: var(--fc-font-size-sm);
font-weight: var(--fc-font-weight-medium);
line-height: var(--fc-line-height-snug);
text-align: center;
cursor: pointer;
user-select: none;
touch-action: manipulation;
transition:
background-color var(--fc-duration-fast) var(--fc-easing-standard),
color var(--fc-duration-fast) var(--fc-easing-standard);
}
.fc-segmented__item + .fc-segmented__item {
margin-inline-start: calc(var(--fc-border-width-thin) * -1);
}
.fc-segmented__item:first-of-type {
border-start-start-radius: var(--fc-radius-full);
border-end-start-radius: var(--fc-radius-full);
padding-inline-start: var(--fc-space-5);
}
.fc-segmented__item:last-of-type {
border-start-end-radius: var(--fc-radius-full);
border-end-end-radius: var(--fc-radius-full);
padding-inline-end: var(--fc-space-5);
}
.fc-segmented__input {
position: absolute;
inset: 0;
inline-size: 100%;
block-size: 100%;
margin: 0;
opacity: 0;
cursor: inherit;
}
.fc-segmented__check {
display: var(--fc-segmented-check, none);
inline-size: 0.6em;
block-size: 1em;
border-block-end: var(--fc-border-width-thick) solid currentColor;
border-inline-end: var(--fc-border-width-thick) solid currentColor;
rotate: 45deg;
translate: 0 -0.1em;
direction: ltr;
}
.fc-segmented__item:has(:checked) {
--fc-segmented-check: block;
z-index: var(--fc-z-raised);
background-color: var(--fc-color-selected-bg);
color: var(--fc-color-selected-fg);
}
@media (hover: hover) {
.fc-segmented__item:hover {
background-color: color-mix(in oklab, currentColor calc(var(--fc-opacity-hover-overlay) * 100%), var(--fc-color-bg-surface));
}
.fc-segmented__item:has(:checked):hover {
background-color: color-mix(in oklab, currentColor calc(var(--fc-opacity-hover-overlay) * 100%), var(--fc-color-selected-bg));
}
}
.fc-segmented__item:active {
background-color: color-mix(in oklab, currentColor calc(var(--fc-opacity-pressed-overlay) * 100%), var(--fc-color-bg-surface));
}
.fc-segmented__item:has(:focus-visible) {
z-index: var(--fc-z-sticky);
outline: var(--fc-border-width-thick) solid var(--fc-color-focus-ring);
outline-offset: var(--fc-border-width-thick);
}
.fc-segmented__item:has(:disabled) {
background-color: var(--fc-color-disabled-bg);
color: var(--fc-color-disabled-fg);
border-color: var(--fc-color-disabled-border);
cursor: not-allowed;
}
.fc-segmented:has([aria-invalid="true"], :user-invalid) {
--fc-segmented-border: var(--fc-color-danger-border);
}
@media (forced-colors: active) {
.fc-segmented__item {
border-color: ButtonText;
}
.fc-segmented__item:has(:checked) {
background-color: Highlight;
color: HighlightText;
forced-color-adjust: none;
}
.fc-segmented__item:has(:disabled) {
color: GrayText;
border-color: GrayText;
}
}
}