@orchard9ai/design-system
Version:
DaisyUI-based component library for Orchard9 applications
1,527 lines • 256 kB
CSS
/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
:root, :host {
--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
"Courier New", monospace;
--color-red-500: oklch(63.7% 0.237 25.331);
--color-red-800: oklch(44.4% 0.177 26.899);
--color-yellow-50: oklch(98.7% 0.026 102.212);
--color-yellow-200: oklch(94.5% 0.129 101.54);
--color-yellow-400: oklch(85.2% 0.199 91.936);
--color-yellow-700: oklch(55.4% 0.135 66.442);
--color-yellow-800: oklch(47.6% 0.114 61.907);
--color-green-50: oklch(98.2% 0.018 155.826);
--color-green-200: oklch(92.5% 0.084 155.995);
--color-green-500: oklch(72.3% 0.219 149.579);
--color-green-600: oklch(62.7% 0.194 149.214);
--color-green-700: oklch(52.7% 0.154 150.069);
--color-green-800: oklch(44.8% 0.119 151.328);
--color-emerald-300: oklch(84.5% 0.143 164.978);
--color-emerald-400: oklch(76.5% 0.177 163.223);
--color-teal-500: oklch(70.4% 0.14 182.503);
--color-blue-300: oklch(80.9% 0.105 251.813);
--color-blue-500: oklch(62.3% 0.214 259.815);
--color-blue-600: oklch(54.6% 0.245 262.881);
--color-purple-50: oklch(97.7% 0.014 308.299);
--color-purple-100: oklch(94.6% 0.033 307.174);
--color-purple-200: oklch(90.2% 0.063 306.703);
--color-purple-400: oklch(71.4% 0.203 305.504);
--color-purple-500: oklch(62.7% 0.265 303.9);
--color-purple-600: oklch(55.8% 0.288 302.321);
--color-purple-700: oklch(49.6% 0.265 301.924);
--color-purple-800: oklch(43.8% 0.218 303.724);
--color-pink-500: oklch(65.6% 0.241 354.308);
--color-pink-600: oklch(59.2% 0.249 0.584);
--color-gray-100: oklch(96.7% 0.003 264.542);
--color-gray-200: oklch(92.8% 0.006 264.531);
--color-gray-300: oklch(87.2% 0.01 258.338);
--color-gray-500: oklch(55.1% 0.027 264.364);
--color-gray-600: oklch(44.6% 0.03 256.802);
--color-gray-900: oklch(21% 0.034 264.665);
--color-black: #000;
--color-white: #fff;
--spacing: 0.25rem;
--breakpoint-sm: 40rem;
--breakpoint-md: 48rem;
--breakpoint-lg: 64rem;
--breakpoint-xl: 80rem;
--breakpoint-2xl: 96rem;
--container-xs: 20rem;
--container-sm: 24rem;
--container-md: 28rem;
--container-lg: 32rem;
--container-xl: 36rem;
--container-2xl: 42rem;
--container-4xl: 56rem;
--container-6xl: 72rem;
--container-7xl: 80rem;
--text-xs: 0.75rem;
--text-xs--line-height: calc(1 / 0.75);
--text-sm: 0.875rem;
--text-sm--line-height: calc(1.25 / 0.875);
--text-base: 1rem;
--text-base--line-height: calc(1.5 / 1);
--text-lg: 1.125rem;
--text-lg--line-height: calc(1.75 / 1.125);
--text-xl: 1.25rem;
--text-xl--line-height: calc(1.75 / 1.25);
--text-2xl: 1.5rem;
--text-2xl--line-height: calc(2 / 1.5);
--text-3xl: 1.875rem;
--text-3xl--line-height: calc(2.25 / 1.875);
--text-4xl: 2.25rem;
--text-4xl--line-height: calc(2.5 / 2.25);
--text-5xl: 3rem;
--text-5xl--line-height: 1;
--text-6xl: 3.75rem;
--text-6xl--line-height: 1;
--text-7xl: 4.5rem;
--text-7xl--line-height: 1;
--text-8xl: 6rem;
--text-8xl--line-height: 1;
--font-weight-thin: 100;
--font-weight-light: 300;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700;
--font-weight-extrabold: 800;
--tracking-tight: -0.025em;
--tracking-wide: 0.025em;
--tracking-wider: 0.05em;
--tracking-widest: 0.1em;
--leading-tight: 1.25;
--leading-snug: 1.375;
--leading-normal: 1.5;
--leading-relaxed: 1.625;
--leading-loose: 2;
--radius-sm: 0.25rem;
--radius-md: 0.375rem;
--radius-lg: 0.5rem;
--radius-xl: 0.75rem;
--radius-2xl: 1rem;
--radius-3xl: 1.5rem;
--ease-out: cubic-bezier(0, 0, 0.2, 1);
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
--animate-spin: spin 1s linear infinite;
--animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
--animate-bounce: bounce 1s infinite;
--blur-sm: 8px;
--blur-xl: 24px;
--aspect-video: 16 / 9;
--default-transition-duration: 150ms;
--default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
--default-font-family: var(--font-sans);
--default-mono-font-family: var(--font-mono);
}
}
@layer base {
*, ::after, ::before, ::backdrop, ::file-selector-button {
box-sizing: border-box;
margin: 0;
padding: 0;
border: 0 solid;
}
html, :host {
line-height: 1.5;
-webkit-text-size-adjust: 100%;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
font-feature-settings: var(--default-font-feature-settings, normal);
font-variation-settings: var(--default-font-variation-settings, normal);
-webkit-tap-highlight-color: transparent;
}
hr {
height: 0;
color: inherit;
border-top-width: 1px;
}
abbr:where([title]) {
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
}
h1, h2, h3, h4, h5, h6 {
font-size: inherit;
font-weight: inherit;
}
a {
color: inherit;
-webkit-text-decoration: inherit;
text-decoration: inherit;
}
b, strong {
font-weight: bolder;
}
code, kbd, samp, pre {
font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
font-feature-settings: var(--default-mono-font-feature-settings, normal);
font-variation-settings: var(--default-mono-font-variation-settings, normal);
font-size: 1em;
}
small {
font-size: 80%;
}
sub, sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
table {
text-indent: 0;
border-color: inherit;
border-collapse: collapse;
}
:-moz-focusring {
outline: auto;
}
progress {
vertical-align: baseline;
}
summary {
display: list-item;
}
ol, ul, menu {
list-style: none;
}
img, svg, video, canvas, audio, iframe, embed, object {
display: block;
vertical-align: middle;
}
img, video {
max-width: 100%;
height: auto;
}
button, input, select, optgroup, textarea, ::file-selector-button {
font: inherit;
font-feature-settings: inherit;
font-variation-settings: inherit;
letter-spacing: inherit;
color: inherit;
border-radius: 0;
background-color: transparent;
opacity: 1;
}
:where(select:is([multiple], [size])) optgroup {
font-weight: bolder;
}
:where(select:is([multiple], [size])) optgroup option {
padding-inline-start: 20px;
}
::file-selector-button {
margin-inline-end: 4px;
}
::-moz-placeholder {
opacity: 1;
}
::placeholder {
opacity: 1;
}
@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
::-moz-placeholder {
color: currentcolor;
@supports (color: color-mix(in lab, red, red)) {
color: color-mix(in oklab, currentcolor 50%, transparent);
}
}
::placeholder {
color: currentcolor;
@supports (color: color-mix(in lab, red, red)) {
color: color-mix(in oklab, currentcolor 50%, transparent);
}
}
}
textarea {
resize: vertical;
}
::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-date-and-time-value {
min-height: 1lh;
text-align: inherit;
}
::-webkit-datetime-edit {
display: inline-flex;
}
::-webkit-datetime-edit-fields-wrapper {
padding: 0;
}
::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
padding-block: 0;
}
:-moz-ui-invalid {
box-shadow: none;
}
button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
height: auto;
}
[hidden]:where(:not([hidden="until-found"])) {
display: none !important;
}
}
@layer utilities {
.diff {
position: relative;
display: grid;
width: 100%;
overflow: hidden;
webkit-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
direction: ltr;
container-type: inline-size;
grid-template-columns: auto 1fr;
&:focus-visible, &:has(.diff-item-1:focus-visible) {
outline-style: var(--tw-outline-style);
outline-width: 2px;
outline-offset: 1px;
outline-color: var(--color-base-content);
}
&:focus-visible {
outline-style: var(--tw-outline-style);
outline-width: 2px;
outline-offset: 1px;
outline-color: var(--color-base-content);
.diff-resizer {
min-width: 90cqi;
max-width: 90cqi;
}
}
&:has(.diff-item-2:focus-visible) {
outline-style: var(--tw-outline-style);
outline-width: 2px;
outline-offset: 1px;
.diff-resizer {
min-width: 10cqi;
max-width: 10cqi;
}
}
@supports (-webkit-overflow-scrolling: touch) and (overflow: -webkit-paged-x) {
&:focus {
.diff-resizer {
min-width: 10cqi;
max-width: 10cqi;
}
}
&:has(.diff-item-1:focus) {
.diff-resizer {
min-width: 90cqi;
max-width: 90cqi;
}
}
}
}
.modal {
pointer-events: none;
visibility: hidden;
position: fixed;
inset: calc(0.25rem * 0);
margin: calc(0.25rem * 0);
display: grid;
height: 100%;
max-height: none;
width: 100%;
max-width: none;
align-items: center;
justify-items: center;
background-color: transparent;
padding: calc(0.25rem * 0);
color: inherit;
overflow-x: hidden;
transition: translate 0.3s ease-out, visibility 0.3s allow-discrete, background-color 0.3s ease-out, opacity 0.1s ease-out;
overflow-y: hidden;
overscroll-behavior: contain;
z-index: 999;
&::backdrop {
display: none;
}
&.modal-open, &[open], &:target {
pointer-events: auto;
visibility: visible;
opacity: 100%;
background-color: oklch(0% 0 0/ 0.4);
.modal-box {
translate: 0 0;
scale: 1;
opacity: 1;
}
}
@starting-style {
&.modal-open, &[open], &:target {
visibility: hidden;
opacity: 0%;
}
}
}
.drawer-side {
pointer-events: none;
visibility: hidden;
position: fixed;
inset-inline-start: calc(0.25rem * 0);
top: calc(0.25rem * 0);
z-index: 1;
grid-column-start: 1;
grid-row-start: 1;
display: grid;
width: 100%;
grid-template-columns: repeat(1, minmax(0, 1fr));
grid-template-rows: repeat(1, minmax(0, 1fr));
align-items: flex-start;
justify-items: start;
overflow-x: hidden;
overflow-y: hidden;
overscroll-behavior: contain;
opacity: 0%;
transition: opacity 0.2s ease-out 0.1s allow-discrete, visibility 0.3s ease-out 0.1s allow-discrete;
height: 100vh;
height: 100dvh;
> .drawer-overlay {
position: sticky;
top: calc(0.25rem * 0);
cursor: pointer;
place-self: stretch;
background-color: oklch(0% 0 0 / 40%);
}
> * {
grid-column-start: 1;
grid-row-start: 1;
}
> *:not(.drawer-overlay) {
will-change: transform;
transition: translate 0.3s ease-out;
translate: -100%;
[dir="rtl"] & {
translate: 100%;
}
}
}
.drawer-toggle {
position: fixed;
height: calc(0.25rem * 0);
width: calc(0.25rem * 0);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
opacity: 0%;
&:checked {
& ~ .drawer-side {
pointer-events: auto;
visibility: visible;
overflow-y: auto;
opacity: 100%;
& > *:not(.drawer-overlay) {
translate: 0%;
}
}
}
&:focus-visible ~ .drawer-content label.drawer-button {
outline: 2px solid;
outline-offset: 2px;
}
}
.tooltip {
position: relative;
display: inline-block;
--tt-bg: var(--color-neutral);
--tt-off: calc(100% + 0.5rem);
--tt-tail: calc(100% + 1px + 0.25rem);
> :where(.tooltip-content), &:where([data-tip]):before {
position: absolute;
max-width: 20rem;
border-radius: var(--radius-field);
padding-inline: calc(0.25rem * 2);
padding-block: calc(0.25rem * 1);
text-align: center;
white-space: normal;
color: var(--color-neutral-content);
opacity: 0%;
font-size: 0.875rem;
line-height: 1.25;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;
background-color: var(--tt-bg);
width: -moz-max-content;
width: max-content;
pointer-events: none;
z-index: 2;
--tw-content: attr(data-tip);
content: var(--tw-content);
}
&:after {
position: absolute;
position: absolute;
opacity: 0%;
background-color: var(--tt-bg);
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 75ms;
content: "";
pointer-events: none;
width: 0.625rem;
height: 0.25rem;
display: block;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: -1px 0;
mask-position: -1px 0;
--mask-tooltip: url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");
-webkit-mask-image: var(--mask-tooltip);
mask-image: var(--mask-tooltip);
}
&.tooltip-open, &[data-tip]:not([data-tip=""]):hover, &:not(:has(.tooltip-content:empty)):has(.tooltip-content):hover, &:has(:focus-visible) {
> .tooltip-content, &[data-tip]:before, &:after {
opacity: 100%;
--tt-pos: 0rem;
transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) 0ms;
}
}
> .tooltip-content, &[data-tip]:before {
transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
inset: auto auto var(--tt-off) 50%;
}
&:after {
transform: translateX(-50%) translateY(var(--tt-pos, 0.25rem));
inset: auto auto var(--tt-tail) 50%;
}
}
.tab {
position: relative;
display: inline-flex;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
flex-wrap: wrap;
align-items: center;
justify-content: center;
text-align: center;
webkit-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
&:hover {
@media (hover: hover) {
color: var(--color-base-content);
}
}
--tab-p: 1rem;
--tab-bg: var(--color-base-100);
--tab-border-color: var(--color-base-300);
--tab-radius-ss: 0;
--tab-radius-se: 0;
--tab-radius-es: 0;
--tab-radius-ee: 0;
--tab-order: 0;
--tab-radius-min: calc(0.75rem - var(--border));
border-color: #0000;
order: var(--tab-order);
height: var(--tab-height);
font-size: 0.875rem;
padding-inline-start: var(--tab-p);
padding-inline-end: var(--tab-p);
&:is(input[type="radio"]) {
min-width: -moz-fit-content;
min-width: fit-content;
&:after {
content: attr(aria-label);
}
}
&:is(label) {
position: relative;
input {
position: absolute;
inset: calc(0.25rem * 0);
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
opacity: 0%;
}
}
&:checked, &:is(label:has(:checked)), &:is(.tab-active, [aria-selected="true"]) {
& + .tab-content {
display: block;
height: calc(100% - var(--tab-height) + var(--border));
}
}
&:not(:checked, label:has(:checked), :hover, .tab-active, [aria-selected="true"]) {
color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
color: color-mix(in oklab, var(--color-base-content) 50%, transparent);
}
}
&:not(input):empty {
flex-grow: 1;
cursor: default;
}
&:focus {
--tw-outline-style: none;
outline-style: none;
@media (forced-colors: active) {
outline: 2px solid transparent;
outline-offset: 2px;
}
}
&:focus-visible, &:is(label:has(:checked:focus-visible)) {
outline: 2px solid currentColor;
outline-offset: -5px;
}
&[disabled] {
pointer-events: none;
opacity: 40%;
}
}
.menu {
display: flex;
width: -moz-fit-content;
width: fit-content;
flex-direction: column;
flex-wrap: wrap;
padding: calc(0.25rem * 2);
--menu-active-fg: var(--color-neutral-content);
--menu-active-bg: var(--color-neutral);
font-size: 0.875rem;
:where(li ul) {
position: relative;
margin-inline-start: calc(0.25rem * 4);
padding-inline-start: calc(0.25rem * 2);
white-space: nowrap;
&:before {
position: absolute;
inset-inline-start: calc(0.25rem * 0);
top: calc(0.25rem * 3);
bottom: calc(0.25rem * 3);
background-color: var(--color-base-content);
opacity: 10%;
width: var(--border);
content: "";
}
}
:where(li > .menu-dropdown:not(.menu-dropdown-show)) {
display: none;
}
:where(li:not(.menu-title) > *:not(ul, details, .menu-title, .btn)), :where(li:not(.menu-title) > details > summary:not(.menu-title)) {
display: grid;
grid-auto-flow: column;
align-content: flex-start;
align-items: center;
gap: calc(0.25rem * 2);
border-radius: var(--radius-field);
padding-inline: calc(0.25rem * 3);
padding-block: calc(0.25rem * 1.5);
text-align: start;
transition-property: color, background-color, box-shadow;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
grid-auto-columns: minmax(auto, max-content) auto max-content;
text-wrap: balance;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
}
:where(li > details > summary) {
--tw-outline-style: none;
outline-style: none;
@media (forced-colors: active) {
outline: 2px solid transparent;
outline-offset: 2px;
}
&::-webkit-details-marker {
display: none;
}
}
:where(li > details > summary), :where(li > .menu-dropdown-toggle) {
&:after {
justify-self: flex-end;
display: block;
height: 0.375rem;
width: 0.375rem;
rotate: -135deg;
translate: 0 -1px;
transition-property: rotate, translate;
transition-duration: 0.2s;
content: "";
transform-origin: 50% 50%;
box-shadow: 2px 2px inset;
pointer-events: none;
}
}
:where(li > details[open] > summary):after, :where(li > .menu-dropdown-toggle.menu-dropdown-show):after {
rotate: 45deg;
translate: 0 1px;
}
:where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title), li:not(.menu-title, .disabled) > details > summary:not(.menu-title) ):not(.menu-active, :active, .btn) {
&.menu-focus, &:focus-visible {
cursor: pointer;
background-color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
}
color: var(--color-base-content);
--tw-outline-style: none;
outline-style: none;
@media (forced-colors: active) {
outline: 2px solid transparent;
outline-offset: 2px;
}
}
}
:where( li:not(.menu-title, .disabled) > *:not(ul, details, .menu-title):not(.menu-active, :active, .btn):hover, li:not(.menu-title, .disabled) > details > summary:not(.menu-title):not(.menu-active, :active, .btn):hover ) {
cursor: pointer;
background-color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
}
--tw-outline-style: none;
outline-style: none;
@media (forced-colors: active) {
outline: 2px solid transparent;
outline-offset: 2px;
}
box-shadow: 0 1px oklch(0% 0 0 / 0.01) inset, 0 -1px oklch(100% 0 0 / 0.01) inset;
}
:where(li:empty) {
background-color: var(--color-base-content);
opacity: 10%;
margin: 0.5rem 1rem;
height: 1px;
}
:where(li) {
position: relative;
display: flex;
flex-shrink: 0;
flex-direction: column;
flex-wrap: wrap;
align-items: stretch;
.badge {
justify-self: flex-end;
}
& > *:not(ul, .menu-title, details, .btn):active, & > *:not(ul, .menu-title, details, .btn).menu-active, & > details > summary:active {
--tw-outline-style: none;
outline-style: none;
@media (forced-colors: active) {
outline: 2px solid transparent;
outline-offset: 2px;
}
color: var(--menu-active-fg);
background-color: var(--menu-active-bg);
background-size: auto, calc(var(--noise) * 100%);
background-image: none, var(--fx-noise);
&:not(&:active) {
box-shadow: 0 2px calc(var(--depth) * 3px) -2px var(--menu-active-bg);
}
}
&.menu-disabled {
pointer-events: none;
color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
color: color-mix(in oklab, var(--color-base-content) 20%, transparent);
}
}
}
.dropdown:focus-within {
.menu-dropdown-toggle:after {
rotate: 45deg;
translate: 0 1px;
}
}
.dropdown-content {
margin-top: calc(0.25rem * 2);
padding: calc(0.25rem * 2);
&:before {
display: none;
}
}
}
.collapse-arrow {
> .collapse-title:after {
position: absolute;
display: block;
height: 0.5rem;
width: 0.5rem;
transform: translateY(-100%) rotate(45deg);
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 0.2s;
top: 1.9rem;
inset-inline-end: 1.4rem;
content: "";
transform-origin: 75% 75%;
box-shadow: 2px 2px;
pointer-events: none;
}
}
.dock {
position: fixed;
right: calc(0.25rem * 0);
bottom: calc(0.25rem * 0);
left: calc(0.25rem * 0);
z-index: 1;
display: flex;
width: 100%;
flex-direction: row;
align-items: center;
justify-content: space-around;
background-color: var(--color-base-100);
padding: calc(0.25rem * 2);
color: currentColor;
border-top: 0.5px solid var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
border-top: 0.5px solid color-mix(in oklab, var(--color-base-content) 5%, #0000);
}
height: 4rem;
height: calc(4rem + env(safe-area-inset-bottom));
padding-bottom: env(safe-area-inset-bottom);
> * {
position: relative;
margin-bottom: calc(0.25rem * 2);
display: flex;
height: 100%;
max-width: calc(0.25rem * 32);
flex-shrink: 1;
flex-basis: 100%;
cursor: pointer;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 1px;
border-radius: var(--radius-box);
background-color: transparent;
transition: opacity 0.2s ease-out;
@media (hover: hover) {
&:hover {
opacity: 80%;
}
}
&[aria-disabled="true"], &[disabled] {
&, &:hover {
pointer-events: none;
color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
}
opacity: 100%;
}
}
.dock-label {
font-size: 0.6875rem;
}
&:after {
content: "";
position: absolute;
height: calc(0.25rem * 1);
width: calc(0.25rem * 6);
border-radius: calc(infinity * 1px);
background-color: transparent;
bottom: 0.2rem;
border-top: 3px solid transparent;
transition: background-color 0.1s ease-out, text-color 0.1s ease-out, width 0.1s ease-out;
}
}
}
.dropdown {
position: relative;
display: inline-block;
position-area: var(--anchor-v, bottom) var(--anchor-h, span-right);
& > *:not(summary):focus {
--tw-outline-style: none;
outline-style: none;
@media (forced-colors: active) {
outline: 2px solid transparent;
outline-offset: 2px;
}
}
.dropdown-content {
position: absolute;
}
&:not(details, .dropdown-open, .dropdown-hover:hover, :focus-within) {
.dropdown-content {
display: none;
transform-origin: top;
opacity: 0%;
scale: 95%;
}
}
&[popover], .dropdown-content {
z-index: 999;
animation: dropdown 0.2s;
transition-property: opacity, scale, display;
transition-behavior: allow-discrete;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
@starting-style {
&[popover], .dropdown-content {
scale: 95%;
opacity: 0;
}
}
&.dropdown-open, &:not(.dropdown-hover):focus, &:focus-within {
> [tabindex]:first-child {
pointer-events: none;
}
.dropdown-content {
opacity: 100%;
}
}
&.dropdown-hover:hover {
.dropdown-content {
opacity: 100%;
scale: 100%;
}
}
&:is(details) {
summary {
&::-webkit-details-marker {
display: none;
}
}
}
&.dropdown-open, &:focus, &:focus-within {
.dropdown-content {
scale: 100%;
}
}
&:where([popover]) {
background: #0000;
}
&[popover] {
position: fixed;
color: inherit;
@supports not (position-area: bottom) {
margin: auto;
&.dropdown-open:not(:popover-open) {
display: none;
transform-origin: top;
opacity: 0%;
scale: 95%;
}
&::backdrop {
background-color: color-mix(in oklab, #000 30%, #0000);
}
}
&:not(.dropdown-open, :popover-open) {
display: none;
transform-origin: top;
opacity: 0%;
scale: 95%;
}
}
}
.btn {
:where(&) {
width: unset;
}
display: inline-flex;
flex-shrink: 0;
cursor: pointer;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
gap: calc(0.25rem * 1.5);
text-align: center;
vertical-align: middle;
outline-offset: 2px;
webkit-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
padding-inline: var(--btn-p);
color: var(--btn-fg);
--tw-prose-links: var(--btn-fg);
height: var(--size);
font-size: var(--fontsize, 0.875rem);
font-weight: 600;
outline-color: var(--btn-color, var(--color-base-content));
transition-property: color, background-color, border-color, box-shadow;
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
transition-duration: 0.2s;
border-start-start-radius: var(--join-ss, var(--radius-field));
border-start-end-radius: var(--join-se, var(--radius-field));
border-end-start-radius: var(--join-es, var(--radius-field));
border-end-end-radius: var(--join-ee, var(--radius-field));
background-color: var(--btn-bg);
background-size: auto, calc(var(--noise) * 100%);
background-image: none, var(--btn-noise);
border-width: var(--border);
border-style: solid;
border-color: var(--btn-border);
text-shadow: 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 0.15));
touch-action: manipulation;
box-shadow: 0 0.5px 0 0.5px oklch(100% 0 0 / calc(var(--depth) * 6%)) inset, var(--btn-shadow);
--size: calc(var(--size-field, 0.25rem) * 10);
--btn-bg: var(--btn-color, var(--color-base-200));
--btn-fg: var(--color-base-content);
--btn-p: 1rem;
--btn-border: var(--btn-bg);
@supports (color: color-mix(in lab, red, red)) {
--btn-border: color-mix(in oklab, var(--btn-bg), #000 calc(var(--depth) * 5%));
}
--btn-shadow: 0 3px 2px -2px var(--btn-bg),
0 4px 3px -2px var(--btn-bg);
@supports (color: color-mix(in lab, red, red)) {
--btn-shadow: 0 3px 2px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000),
0 4px 3px -2px color-mix(in oklab, var(--btn-bg) calc(var(--depth) * 30%), #0000);
}
--btn-noise: var(--fx-noise);
.prose & {
text-decoration-line: none;
}
@media (hover: hover) {
&:hover {
--btn-bg: var(--btn-color, var(--color-base-200));
@supports (color: color-mix(in lab, red, red)) {
--btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
}
}
}
&:focus-visible {
outline-width: 2px;
outline-style: solid;
isolation: isolate;
}
&:active:not(.btn-active) {
translate: 0 0.5px;
--btn-bg: var(--btn-color, var(--color-base-200));
@supports (color: color-mix(in lab, red, red)) {
--btn-bg: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 5%);
}
--btn-border: var(--btn-color, var(--color-base-200));
@supports (color: color-mix(in lab, red, red)) {
--btn-border: color-mix(in oklab, var(--btn-color, var(--color-base-200)), #000 7%);
}
--btn-shadow: 0 0 0 0 oklch(0% 0 0/0), 0 0 0 0 oklch(0% 0 0/0);
}
&:is(:disabled, [disabled], .btn-disabled) {
&:not(.btn-link, .btn-ghost) {
background-color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-base-content) 10%, transparent);
}
box-shadow: none;
}
pointer-events: none;
--btn-border: #0000;
--btn-noise: none;
--btn-fg: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
--btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
}
@media (hover: hover) {
&:hover {
pointer-events: none;
background-color: var(--color-neutral);
@supports (color: color-mix(in lab, red, red)) {
background-color: color-mix(in oklab, var(--color-neutral) 20%, transparent);
}
--btn-border: #0000;
--btn-fg: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
--btn-fg: color-mix(in oklch, var(--color-base-content) 20%, #0000);
}
}
}
}
&:is(input[type="checkbox"], input[type="radio"]) {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
&::after {
content: attr(aria-label);
}
}
&:where(input:checked:not(.filter .btn)) {
--btn-color: var(--color-primary);
--btn-fg: var(--color-primary-content);
isolation: isolate;
}
}
.\!loading {
pointer-events: none !important;
display: inline-block !important;
aspect-ratio: 1 / 1 !important;
background-color: currentColor !important;
vertical-align: middle !important;
width: calc(var(--size-selector, 0.25rem) * 6) !important;
-webkit-mask-size: 100% !important;
mask-size: 100% !important;
-webkit-mask-repeat: no-repeat !important;
mask-repeat: no-repeat !important;
-webkit-mask-position: center !important;
mask-position: center !important;
-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E") !important;
mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E") !important;
}
.loading {
pointer-events: none;
display: inline-block;
aspect-ratio: 1 / 1;
background-color: currentColor;
vertical-align: middle;
width: calc(var(--size-selector, 0.25rem) * 6);
-webkit-mask-size: 100%;
mask-size: 100%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
-webkit-mask-position: center;
mask-position: center;
-webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");
}
.tab-disabled {
pointer-events: none;
opacity: 40%;
}
.pointer-events-none {
pointer-events: none;
}
.collapse {
&:not(td, tr, colgroup) {
visibility: visible;
}
position: relative;
display: grid;
overflow: hidden;
border-radius: var(--radius-box, 1rem);
width: 100%;
grid-template-rows: max-content 0fr;
transition: grid-template-rows 0.2s;
isolation: isolate;
> input:is([type="checkbox"], [type="radio"]) {
grid-column-start: 1;
grid-row-start: 1;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
opacity: 0;
z-index: 1;
width: 100%;
padding: 1rem;
padding-inline-end: 3rem;
min-height: 1lh;
transition: background-color 0.2s ease-out;
}
&:is([open], :focus:not(.collapse-close)), &:not(.collapse-close):has(> input:is([type="checkbox"], [type="radio"]):checked) {
grid-template-rows: max-content 1fr;
}
&:is([open], :focus:not(.collapse-close)) > .collapse-content, &:not(.collapse-close) > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
visibility: visible;
min-height: -moz-fit-content;
min-height: fit-content;
}
&:focus-visible, &:has(> input:is([type="checkbox"], [type="radio"]):focus-visible) {
outline-color: var(--color-base-content);
outline-style: solid;
outline-width: 2px;
outline-offset: 2px;
}
&:not(.collapse-close) {
> input[type="checkbox"], > input[type="radio"]:not(:checked), > .collapse-title {
cursor: pointer;
}
}
&:focus:not(.collapse-close, .collapse[open]) > .collapse-title {
cursor: unset;
}
&:is([open], :focus:not(.collapse-close)) > :where(.collapse-content), &:not(.collapse-close) > :where(input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-content) {
padding-bottom: 1rem;
transition: padding 0.2s ease-out, background-color 0.2s ease-out;
}
&:is([open]) {
&.collapse-arrow {
> .collapse-title:after {
transform: translateY(-50%) rotate(225deg);
}
}
}
&.collapse-open {
&.collapse-arrow {
> .collapse-title:after {
transform: translateY(-50%) rotate(225deg);
}
}
&.collapse-plus {
> .collapse-title:after {
content: "−";
}
}
}
&.collapse-arrow:focus:not(.collapse-close) {
> .collapse-title:after {
transform: translateY(-50%) rotate(225deg);
}
}
&.collapse-arrow:not(.collapse-close) {
> input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
transform: translateY(-50%) rotate(225deg);
}
}
&[open] {
&.collapse-plus {
> .collapse-title:after {
content: "−";
}
}
}
&.collapse-plus:focus:not(.collapse-close) {
> .collapse-title:after {
content: "−";
}
}
&.collapse-plus:not(.collapse-close) {
> input:is([type="checkbox"], [type="radio"]):checked ~ .collapse-title:after {
content: "−";
}
}
&:is(details) {
width: 100%;
& summary {
position: relative;
display: block;
&::-webkit-details-marker {
display: none;
}
}
}
&:is(details) summary {
outline: none;
}
}
.collapse-content {
grid-column-start: 1;
grid-row-start: 1;
visibility: hidden;
grid-column-start: 1;
grid-row-start: 2;
min-height: 0;
padding-left: 1rem;
padding-right: 1rem;
cursor: unset;
transition: visibility 0.2s, padding 0.2s ease-out, background-color 0.2s ease-out;
}
.collapse-open {
grid-template-rows: max-content 1fr;
> .collapse-content {
visibility: visible;
min-height: -moz-fit-content;
min-height: fit-content;
padding-bottom: 1rem;
transition: padding 0.2s ease-out, background-color 0.2s ease-out;
}
}
.collapse {
visibility: collapse;
}
.visible {
visibility: visible;
}
.radial-progress {
position: relative;
display: inline-grid;
height: var(--size);
width: var(--size);
place-content: center;
border-radius: calc(infinity * 1px);
background-color: transparent;
vertical-align: middle;
box-sizing: content-box;
--value: 0;
--size: 5rem;
--thickness: calc(var(--size) / 10);
--radialprogress: calc(var(--value) * 1%);
transition: --radialprogress 0.3s linear;
&:before {
position: absolute;
inset: calc(0.25rem * 0);
border-radius: calc(infinity * 1px);
content: "";
background: radial-gradient(farthest-side, currentColor 98%, #0000) top/var(--thickness) var(--thickness) no-repeat, conic-gradient(currentColor var(--radialprogress), #0000 0);
webkit-mask: radial-gradient( farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + 0.5px - var(--thickness)) );
-webkit-mask: radial-gradient( farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + 0.5px - var(--thickness)) );
mask: radial-gradient( farthest-side, #0000 calc(100% - var(--thickness)), #000 calc(100% + 0.5px - var(--thickness)) );
}
&:after {
position: absolute;
border-radius: calc(infinity * 1px);
background-color: currentColor;
transition: transform 0.3s linear;
content: "";
inset: calc(50% - var(--thickness) / 2);
transform: rotate(calc(var(--value) * 3.6deg - 90deg)) translate(calc(var(--size) / 2 - 50%));
}
}
.list {
display: flex;
flex-direction: column;
font-size: 0.875rem;
:where(.list-row) {
--list-grid-cols: minmax(0, auto) 1fr;
position: relative;
display: grid;
grid-auto-flow: column;
gap: calc(0.25rem * 4);
border-radius: var(--radius-box);
padding: calc(0.25rem * 4);
word-break: break-word;
grid-template-columns: var(--list-grid-cols);
&:has(.list-col-grow:nth-child(1)) {
--list-grid-cols: 1fr;
}
&:has(.list-col-grow:nth-child(2)) {
--list-grid-cols: minmax(0, auto) 1fr;
}
&:has(.list-col-grow:nth-child(3)) {
--list-grid-cols: minmax(0, auto) minmax(0, auto) 1fr;
}
&:has(.list-col-grow:nth-child(4)) {
--list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
}
&:has(.list-col-grow:nth-child(5)) {
--list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto) 1fr;
}
&:has(.list-col-grow:nth-child(6)) {
--list-grid-cols: minmax(0, auto) minmax(0, auto) minmax(0, auto) minmax(0, auto)
minmax(0, auto) 1fr;
}
:not(.list-col-wrap) {
grid-row-start: 1;
}
}
& > :not(:last-child) {
&.list-row, .list-row {
&:after {
content: "";
border-bottom: var(--border) solid;
inset-inline: var(--radius-box);
position: absolute;
bottom: calc(0.25rem * 0);
border-color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
border-color: color-mix(in oklab, var(--color-base-content) 5%, transparent);
}
}
}
}
}
.toast {
position: fixed;
inset-inline-start: auto;
inset-inline-end: calc(0.25rem * 4);
top: auto;
bottom: calc(0.25rem * 4);
display: flex;
flex-direction: column;
gap: calc(0.25rem * 2);
background-color: transparent;
translate: var(--toast-x, 0) var(--toast-y, 0);
width: -moz-max-content;
width: max-content;
max-width: calc(100vw - 2rem);
& > * {
animation: toast 0.25s ease-out;
}
&:where(.toast-start) {
inset-inline-start: calc(0.25rem * 4);
inset-inline-end: auto;
--toast-x: 0;
}
&:where(.toast-center) {
inset-inline-start: calc(1/2 * 100%);
inset-inline-end: calc(1/2 * 100%);
--toast-x: -50%;
}
&:where(.toast-end) {
inset-inline-start: auto;
inset-inline-end: calc(0.25rem * 4);
--toast-x: 0;
}
&:where(.toast-bottom) {
top: auto;
bottom: calc(0.25rem * 4);
--toast-y: 0;
}
&:where(.toast-middle) {
top: calc(1/2 * 100%);
bottom: auto;
--toast-y: -50%;
}
&:where(.toast-top) {
top: calc(0.25rem * 4);
bottom: auto;
--toast-y: 0;
}
}
.toggle {
border: var(--border) solid currentColor;
color: var(--input-color);
position: relative;
display: inline-grid;
flex-shrink: 0;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
place-content: center;
vertical-align: middle;
webkit-user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
grid-template-columns: 0fr 1fr 1fr;
--radius-selector-max: calc(
var(--radius-selector) + var(--radius-selector) + var(--radius-selector)
);
border-radius: calc( var(--radius-selector) + min(var(--toggle-p), var(--radius-selector-max)) + min(var(--border), var(--radius-selector-max)) );
padding: var(--toggle-p);
box-shadow: 0 1px currentColor inset;
@supports (color: color-mix(in lab, red, red)) {
box-shadow: 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000) inset;
}
transition: color 0.3s, grid-template-columns 0.2s;
--input-color: var(--color-base-content);
@supports (color: color-mix(in lab, red, red)) {
--input-color: color-mix(in oklab, var(--color-base-content) 50%, #0000);
}
--toggle-p: calc(var(--size) * 0.125);
--size: calc(var(--size-selector, 0.25rem) * 6);
width: calc((var(--size) * 2) - (var(--border) + var(--toggle-p)) * 2);
height: var(--size);
> * {
z-index: 1;
grid-column: span 1 / span 1;
grid-column-start: 2;
grid-row-start: 1;
height: 100%;
cursor: pointer;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: transparent;
padding: calc(0.25rem * 0.5);
transition: opacity 0.2s, rotate 0.4s;
border: none;
&:focus {
--tw-outline-style: none;
outline-style: none;
@media (forced-colors: active) {
outline: 2px solid transparent;
outline-offset: 2px;
}
}
&:nth-child(2) {
color: var(--color-base-100);
rotate: 0deg;
}
&:nth-child(3) {
color: var(--color-base-100);
opacity: 0%;
rotate: -15deg;
}
}
&:has(:checked) {
> :nth-child(2) {
opacity: 0%;
rotate: 15deg;
}
> :nth-child(3) {
opacity: 100%;
rotate: 0deg;
}
}
&:before {
position: relative;
inset-inline-start: calc(0.25rem * 0);
grid-column-start: 2;
grid-row-start: 1;
aspect-ratio: 1 / 1;
height: 100%;
border-radius: var(--radius-selector);
background-color: currentColor;
translate: 0;
--tw-content: "";
content: var(--tw-content);
transition: background-color 0.1s, translate 0.2s, inset-inline-start 0.2s;
box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px currentColor;
@supports (color: color-mix(in lab, red, red)) {
box-shadow: 0 -1px oklch(0% 0 0 / calc(var(--depth) * 0.1)) inset, 0 8px 0 -4px oklch(100% 0 0 / calc(var(--depth) * 0.1)) inset, 0 1px color-mix(in oklab, currentColor calc(var(--depth) * 10%), #0000);
}
background-size: auto, calc(var(--noise) * 100%);
background-image: none, var(--fx-noise);
}
@media (forced-colors: active) {
&:before {
outline-style: var(--tw-outline-style);
outline-width: 1px;
outline-offset: calc(1px * -1);
}
}
@media print {
&:before {
outline: 0.25rem solid;
outline-offset: -1rem;
}
}
&:focus-visible, &:has(:focus-visible) {
outline: 2px solid currentColor;
outline-offset: 2px;
}
&:checked, &[aria-checked="true"], &:has(> input:checked) {
grid-template-columns: 1fr 1fr 0fr;
background-color: var(--color-base-100);
--input-color: var(--color-base-content);
&:before {
background-color: currentColor;
}
@starting-style {
&:before {
opacity: 0;
}
}
}
&:indeterminate {
grid-template-columns: 0.5fr 1fr 0.5fr;
}
&:disabled {
cursor: not-allowed;
opacity: 30%;
&:before {
background-color: transparent;
border: var(--border) solid currentColor;
}
}
}
.input {
cursor: text;
border: var(--border) solid #0000;
position: relative;
display: inline-flex;
flex-shrink: 1;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
align-items: center;
gap: calc(0.25rem * 2);
background-color: var(--color-base-100);
padding-inline: calc(0.25rem * 3);
vertical-align: middle;
white-space: nowrap;
width: clamp(3rem, 20rem, 100%);
height: var(--size);
font-size