fokus-styles 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/css/components.css +22 -0
- package/dist/css/components.css.map +1 -1
- package/dist/css/components.min.css +1 -1
- package/dist/css/components.min.css.map +1 -1
- package/dist/css/fokus-components.css +22 -0
- package/dist/css/fokus-components.css.map +1 -1
- package/dist/css/fokus-components.min.css +1 -1
- package/dist/css/fokus-components.min.css.map +1 -1
- package/dist/css/fokus-core.css +22 -0
- package/dist/css/fokus-core.css.map +1 -1
- package/dist/css/fokus-core.min.css +1 -1
- package/dist/css/fokus-core.min.css.map +1 -1
- package/dist/css/fokus-dark.css +10 -0
- package/dist/css/fokus-dark.css.map +1 -1
- package/dist/css/fokus-dark.min.css +1 -1
- package/dist/css/fokus-dark.min.css.map +1 -1
- package/dist/css/fokus-rtl.css +8552 -0
- package/dist/css/fokus-rtl.css.map +1 -0
- package/dist/css/fokus-rtl.min.css +2 -0
- package/dist/css/fokus-rtl.min.css.map +1 -0
- package/dist/css/fokus-utilities.css +22 -0
- package/dist/css/fokus-utilities.css.map +1 -1
- package/dist/css/fokus-utilities.min.css +1 -1
- package/dist/css/fokus-utilities.min.css.map +1 -1
- package/dist/css/fokus.css +22 -0
- package/dist/css/fokus.css.map +1 -1
- package/dist/css/fokus.min.css +1 -1
- package/dist/css/fokus.min.css.map +1 -1
- package/dist/css/forms.css +22 -0
- package/dist/css/forms.css.map +1 -1
- package/dist/css/forms.min.css +1 -1
- package/dist/css/forms.min.css.map +1 -1
- package/dist/css/helpers.css +22 -0
- package/dist/css/helpers.css.map +1 -1
- package/dist/css/helpers.min.css +1 -1
- package/dist/css/helpers.min.css.map +1 -1
- package/dist/css/layout.css +22 -0
- package/dist/css/layout.css.map +1 -1
- package/dist/css/layout.min.css +1 -1
- package/dist/css/layout.min.css.map +1 -1
- package/docs/guides/rtl-and-system-preferences.md +28 -0
- package/docs/reference/size-baseline.json +11 -11
- package/package.json +2 -1
- package/packages/fokus-core/scss/base/_accessibility.scss +14 -0
- package/packages/fokus-core/scss/tokens/_root.scss +11 -0
- package/scss/entries/rtl-entry.scss +11 -0
package/dist/css/fokus-core.css
CHANGED
|
@@ -67,6 +67,8 @@
|
|
|
67
67
|
--fs-component-overlay-backdrop: rgb(0 0 0 / 55%);
|
|
68
68
|
--fs-component-panel-radius: var(--fs-radius-md);
|
|
69
69
|
--fs-component-panel-shadow: var(--fs-shadow-lg);
|
|
70
|
+
--fs-contrast-border-width: var(--fs-border-width);
|
|
71
|
+
--fs-contrast-focus-width: var(--fs-focus-width);
|
|
70
72
|
--fs-cq-sm: 320px;
|
|
71
73
|
--fs-cq-md: 480px;
|
|
72
74
|
--fs-cq-lg: 640px;
|
|
@@ -145,6 +147,14 @@
|
|
|
145
147
|
--fs-feedback-info-bg: oklch(96.4918490239% 0.0173174767 286.0707018324deg);
|
|
146
148
|
}
|
|
147
149
|
}
|
|
150
|
+
@media (prefers-contrast: more) {
|
|
151
|
+
:root {
|
|
152
|
+
--fs-contrast-border-width: 2px;
|
|
153
|
+
--fs-contrast-focus-width: 3px;
|
|
154
|
+
--fs-focus-width: var(--fs-contrast-focus-width);
|
|
155
|
+
--fs-border-width: var(--fs-contrast-border-width);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
148
158
|
}
|
|
149
159
|
@layer tokens {
|
|
150
160
|
:root {
|
|
@@ -267,6 +277,18 @@
|
|
|
267
277
|
outline: 2px solid CanvasText;
|
|
268
278
|
outline-offset: 2px;
|
|
269
279
|
}
|
|
280
|
+
button,
|
|
281
|
+
[role=button],
|
|
282
|
+
input,
|
|
283
|
+
select,
|
|
284
|
+
textarea,
|
|
285
|
+
.fs-btn {
|
|
286
|
+
border-color: ButtonText;
|
|
287
|
+
forced-color-adjust: auto;
|
|
288
|
+
}
|
|
289
|
+
.fs-u-focus-ring:focus-visible {
|
|
290
|
+
outline: 3px solid Highlight;
|
|
291
|
+
}
|
|
270
292
|
}
|
|
271
293
|
}
|
|
272
294
|
@layer utilities {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_root.scss","../../scss/entries/core-entry.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_semantic.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_charts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_reset.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_motion.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_accessibility.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_cluster.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_containers.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tools/_mixins.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/settings/_breakpoints.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_grid.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_sidebar.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_stack.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_brands.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_dark.scss"],"names":[],"mappings":"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","file":"fokus-core.css","sourcesContent":["@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Ordem canônica das camadas: declarada uma única vez aqui porque `tokens`\n// é sempre o primeiro `@use` de cada entry point (ver scss/entries/*.scss e\n// scss/fokus.scss) — evita repetir a declaração em cada bundle.\n@layer reset, tokens, base, layout, components, utilities, overrides;\n\n@layer tokens {\n // Bloco incondicional: fallback sRGB, aplicado em todo navegador. Os\n // valores de cor aqui vêm de `rgb-fallback()` (gamut-mapeado a partir do\n // primitivo OKLCH) — ver `tools/_mixins.scss`. É sempre sobrescrito pelo\n // bloco `@supports` abaixo em navegadores com suporte a `oklch()`; um\n // `--fs-*` de cor nunca deve ser lido só daqui em código novo.\n :root {\n --fs-color-white: #{$color-white};\n --fs-color-black: #{$color-black};\n --fs-color-text: #{rgb-fallback($color-gray-900)};\n --fs-color-muted: #{rgb-fallback($color-gray-600)};\n --fs-color-border: #{rgb-fallback($color-gray-300)};\n --fs-color-surface: #{$color-white};\n --fs-color-subtle: #{rgb-fallback($color-gray-100)};\n --fs-font-sans: #{$font-family-sans};\n --fs-font-mono: #{$font-family-mono};\n --fs-font-size-md: #{$font-size-md};\n --fs-font-size-h1: #{$font-size-h1};\n --fs-font-size-h2: #{$font-size-h2};\n --fs-font-size-h3: #{$font-size-h3};\n --fs-font-size-h4: #{$font-size-h4};\n --fs-font-size-h5: #{$font-size-h5};\n --fs-font-size-h6: #{$font-size-h6};\n --fs-font-weight-semibold: #{$font-weight-semibold};\n --fs-line-height-base: #{$line-height-base};\n --fs-line-height-heading: #{$line-height-heading};\n --fs-radius-sm: #{$radius-sm};\n --fs-radius-md: #{$radius-md};\n --fs-radius-lg: #{$radius-lg};\n --fs-gutter-x: #{map.get($spacers, 4)};\n --fs-gutter-y: 0px;\n\n @each $name, $space in $spacers {\n --fs-space-#{$name}: #{$space};\n }\n\n @each $name, $z-index in $z-indexes {\n --fs-z-#{$name}: #{$z-index};\n }\n\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-color: var(--fs-color-primary);\n --fs-focus-ring-size: 3px;\n --fs-focus-ring-color: color-mix(in srgb, var(--fs-focus-color) 22%, transparent);\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-motion-duration-fast: var(--fs-transition-fast);\n --fs-motion-duration-normal: var(--fs-transition-normal);\n --fs-motion-ease-standard: var(--fs-ease-standard);\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n --fs-safe-area-top: env(safe-area-inset-top, 0px);\n --fs-safe-area-right: env(safe-area-inset-right, 0px);\n --fs-safe-area-bottom: env(safe-area-inset-bottom, 0px);\n --fs-safe-area-left: env(safe-area-inset-left, 0px);\n --fs-component-control-height: var(--fs-control-height);\n --fs-component-overlay-backdrop: rgb(0 0 0 / 55%);\n --fs-component-panel-radius: var(--fs-radius-md);\n --fs-component-panel-shadow: var(--fs-shadow-lg);\n\n // Referência dos limiares usados pelos utilitários `@container` (ver\n // `packages/fokus-utilities/scss/utilities/_container-queries.scss`).\n // Só informativas: a condição de um `@container` precisa de um valor\n // literal em tempo de build, não aceita `var()` — mudar aqui não\n // recalibra as regras já compiladas, só documenta os valores usados.\n @each $name, $width in $container-breakpoints {\n --fs-cq-#{$name}: #{$width};\n }\n\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-900)};\n --fs-tooltip-text: #{$color-white};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback($color)};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{rgb-fallback(tint-color($color))};\n --fs-alert-#{$name}-text: #{rgb-fallback(shade-color($color))};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{rgb-fallback($bg)};\n }\n }\n\n // Bloco condicional: valores nativos em OKLCH. `@supports (color: oklch(0%\n // 0 0))` só passa em navegadores que entendem a função — os demais ignoram\n // o bloco inteiro e mantêm o fallback sRGB acima. Só propriedades de cor\n // entram aqui; o resto (fontes, raio, sombra, gutter) não tem equivalente\n // \"melhor\" em OKLCH e já está definido de forma incondicional.\n @supports (color: oklch(0% 0 0)) {\n :root {\n --fs-color-text: #{$color-gray-900};\n --fs-color-muted: #{$color-gray-600};\n --fs-color-border: #{$color-gray-300};\n --fs-color-subtle: #{$color-gray-100};\n --fs-tooltip-bg: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{$color};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{tint-color($color)};\n --fs-alert-#{$name}-text: #{shade-color($color)};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{$bg};\n }\n }\n }\n}\n","@layer reset, tokens, base, layout, components, utilities, overrides;\n@layer tokens {\n :root {\n --fs-color-white: #ffffff;\n --fs-color-black: #000000;\n --fs-color-text: #1e293b;\n --fs-color-muted: #64748b;\n --fs-color-border: #e2e8f0;\n --fs-color-surface: #ffffff;\n --fs-color-subtle: #f8fafc;\n --fs-font-sans: Plus Jakarta Sans, sans-serif;\n --fs-font-mono: Source Code Pro, monospace;\n --fs-font-size-md: 0.8125rem;\n --fs-font-size-h1: 1.75rem;\n --fs-font-size-h2: 1.5rem;\n --fs-font-size-h3: 1.3125rem;\n --fs-font-size-h4: 1.125rem;\n --fs-font-size-h5: 1rem;\n --fs-font-size-h6: 0.875rem;\n --fs-font-weight-semibold: 600;\n --fs-line-height-base: 1.5;\n --fs-line-height-heading: 1.25;\n --fs-radius-sm: 4px;\n --fs-radius-md: 6px;\n --fs-radius-lg: 8px;\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 0px;\n --fs-space-0: 0;\n --fs-space-1: 0.25rem;\n --fs-space-2: 0.5rem;\n --fs-space-3: 1rem;\n --fs-space-4: 1.5rem;\n --fs-space-5: 3rem;\n --fs-z-base: 0;\n --fs-z-dropdown: 1000;\n --fs-z-sticky: 1020;\n --fs-z-modal: 1050;\n --fs-z-offcanvas: 1060;\n --fs-z-notification: 1080;\n --fs-z-toast: 1090;\n --fs-z-tooltip: 1100;\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-color: var(--fs-color-primary);\n --fs-focus-ring-size: 3px;\n --fs-focus-ring-color: color-mix(in srgb, var(--fs-focus-color) 22%, transparent);\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-motion-duration-fast: var(--fs-transition-fast);\n --fs-motion-duration-normal: var(--fs-transition-normal);\n --fs-motion-ease-standard: var(--fs-ease-standard);\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n --fs-safe-area-top: env(safe-area-inset-top, 0px);\n --fs-safe-area-right: env(safe-area-inset-right, 0px);\n --fs-safe-area-bottom: env(safe-area-inset-bottom, 0px);\n --fs-safe-area-left: env(safe-area-inset-left, 0px);\n --fs-component-control-height: var(--fs-control-height);\n --fs-component-overlay-backdrop: rgb(0 0 0 / 55%);\n --fs-component-panel-radius: var(--fs-radius-md);\n --fs-component-panel-shadow: var(--fs-shadow-lg);\n --fs-cq-sm: 320px;\n --fs-cq-md: 480px;\n --fs-cq-lg: 640px;\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #1e293b;\n --fs-tooltip-text: #ffffff;\n --fs-color-primary: #1a61e6;\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: rgb(220.3846532222, 232.689549371, 254.1042117072);\n --fs-alert-primary-text: rgb(4.2540793692, 32.6552622518, 88.5748738661);\n --fs-color-secondary: #64748b;\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: rgb(230.2895610064, 233.0325853352, 236.9919508609);\n --fs-alert-secondary-text: rgb(33.9166068747, 40.6437781967, 50.3140869721);\n --fs-color-success: rgb(13, 209, 87);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: rgb(228.9046733915, 249.1514320752, 230.8709345684);\n --fs-alert-success-text: rgb(1.6574790861, 79.745461506, 28.4507801755);\n --fs-color-warning: #fab633;\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: rgb(254.9170612621, 244.6528756631, 228.9710928247);\n --fs-alert-warning-text: rgb(96.9838380187, 68.3933599001, 13.3146447009);\n --fs-color-danger: #cc3335;\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: rgb(251.9225977632, 226.389403069, 223.5618211362);\n --fs-alert-danger-text: rgb(77.6432204678, 13.3146447009, 14.1555411162);\n --fs-color-info: #5e5cc7;\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: rgb(228.2395257626, 230.4806192824, 248.3934544766);\n --fs-alert-info-text: rgb(31.3939176289, 30.5530212136, 75.5409794297);\n --fs-feedback-primary-bg: #e6f0ff;\n --fs-feedback-secondary-bg: #f8fafc;\n --fs-feedback-success-bg: #e6fff2;\n --fs-feedback-warning-bg: #fff9e6;\n --fs-feedback-danger-bg: #fff2f3;\n --fs-feedback-info-bg: #f2f2ff;\n }\n @supports (color: oklch(0% 0 0deg)) {\n :root {\n --fs-color-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-muted: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-border: oklch(92.876126719% 0.0126187744 255.5078854448deg);\n --fs-color-subtle: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-bg: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(53.5630074284% 0.2132145174 261.6264320248deg);\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: oklch(93.0344511143% 0.0319821776 261.6264320248deg);\n --fs-alert-primary-text: oklch(26.7815037142% 0.1066072587 261.6264320248deg);\n --fs-color-secondary: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: oklch(93.3158651149% 0.0061075564 257.4166191214deg);\n --fs-alert-secondary-text: oklch(27.7195503831% 0.0203585215 257.4166191214deg);\n --fs-color-success: oklch(75.151587899% 0.2146126169 148.125846236deg);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: oklch(96.2727381849% 0.0321918925 148.125846236deg);\n --fs-alert-success-text: oklch(37.5757939495% 0.1073063085 148.125846236deg);\n --fs-color-warning: oklch(81.9510815663% 0.1562613975 78.6575213966deg);\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: oklch(97.2926622349% 0.0234392096 78.6575213966deg);\n --fs-alert-warning-text: oklch(40.9755407832% 0.0781306987 78.6575213966deg);\n --fs-color-danger: oklch(55.9653139301% 0.1897270855 25.2407937498deg);\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: oklch(93.3947970895% 0.0284590628 25.2407937498deg);\n --fs-alert-danger-text: oklch(27.982656965% 0.0948635427 25.2407937498deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: oklch(93.0003967004% 0.0243019669 280.2231949375deg);\n --fs-alert-info-text: oklch(26.6679890014% 0.0810065564 280.2231949375deg);\n --fs-feedback-primary-bg: oklch(95.2067827456% 0.0228899025 258.359342143deg);\n --fs-feedback-secondary-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-feedback-success-bg: oklch(97.8305614459% 0.0311593614 163.2740567608deg);\n --fs-feedback-warning-bg: oklch(98.17094418% 0.025708244 92.3886876566deg);\n --fs-feedback-danger-bg: oklch(97.1603097552% 0.0140720277 12.0135639679deg);\n --fs-feedback-info-bg: oklch(96.4918490239% 0.0173174767 286.0707018324deg);\n }\n }\n}\n@layer tokens {\n :root {\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n/* stylelint-disable property-no-deprecated, selector-not-notation */\n@layer reset {\n :focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n }\n @media (forced-colors: active) {\n :focus-visible {\n outline: 2px solid CanvasText;\n outline-offset: 2px;\n }\n }\n}\n@layer utilities {\n .fs-u-visually-hidden:not(:focus):not(:focus-within),\n .fs-u-visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .fs-skip-link {\n position: fixed;\n z-index: 1000;\n inset-block-start: var(--fs-space-2);\n inset-inline-start: var(--fs-space-2);\n transform: translateY(-200%);\n padding: var(--fs-space-2) var(--fs-space-3);\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n border-radius: var(--fs-radius-sm);\n }\n .fs-skip-link:focus {\n transform: translateY(0);\n }\n}\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, 0.5rem);\n }\n .fs-cluster-gap-0 {\n --fs-cluster-gap: 0;\n }\n .fs-cluster-gap-1 {\n --fs-cluster-gap: 0.25rem;\n }\n .fs-cluster-gap-2 {\n --fs-cluster-gap: 0.5rem;\n }\n .fs-cluster-gap-3 {\n --fs-cluster-gap: 1rem;\n }\n .fs-cluster-gap-4 {\n --fs-cluster-gap: 1.5rem;\n }\n .fs-cluster-gap-5 {\n --fs-cluster-gap: 3rem;\n }\n}\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n @media (min-width: 640px) {\n .fs-container,\n .fs-container-sm {\n max-width: 600px;\n }\n }\n @media (min-width: 768px) {\n .fs-container,\n .fs-container-md {\n max-width: 720px;\n }\n }\n @media (min-width: 1024px) {\n .fs-container,\n .fs-container-lg {\n max-width: 960px;\n }\n }\n @media (min-width: 1280px) {\n .fs-container,\n .fs-container-xl {\n max-width: 1200px;\n }\n }\n @media (min-width: 1536px) {\n .fs-container,\n .fs-container-xxl {\n max-width: 1440px;\n }\n }\n @media (min-width: 1920px) {\n .fs-container,\n .fs-container-xxxl {\n max-width: 1800px;\n }\n }\n}\n@layer layout {\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n .fs-row-fluid {\n width: 100%;\n }\n .fs-col-fluid {\n width: 100%;\n }\n .fs-row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-0 {\n order: 0;\n }\n .fs-order-1 {\n order: 1;\n }\n .fs-order-2 {\n order: 2;\n }\n .fs-order-3 {\n order: 3;\n }\n .fs-order-4 {\n order: 4;\n }\n .fs-order-5 {\n order: 5;\n }\n .fs-order-6 {\n order: 6;\n }\n .fs-order-7 {\n order: 7;\n }\n .fs-order-8 {\n order: 8;\n }\n .fs-order-9 {\n order: 9;\n }\n .fs-order-10 {\n order: 10;\n }\n .fs-order-11 {\n order: 11;\n }\n .fs-order-12 {\n order: 12;\n }\n .fs-col {\n flex: 1 0 0%;\n }\n .fs-col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n @media (min-width: 640px) {\n .fs-row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-sm-0 {\n order: 0;\n }\n .fs-order-sm-1 {\n order: 1;\n }\n .fs-order-sm-2 {\n order: 2;\n }\n .fs-order-sm-3 {\n order: 3;\n }\n .fs-order-sm-4 {\n order: 4;\n }\n .fs-order-sm-5 {\n order: 5;\n }\n .fs-order-sm-6 {\n order: 6;\n }\n .fs-order-sm-7 {\n order: 7;\n }\n .fs-order-sm-8 {\n order: 8;\n }\n .fs-order-sm-9 {\n order: 9;\n }\n .fs-order-sm-10 {\n order: 10;\n }\n .fs-order-sm-11 {\n order: 11;\n }\n .fs-order-sm-12 {\n order: 12;\n }\n .fs-col-sm {\n flex: 1 0 0%;\n }\n .fs-col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 768px) {\n .fs-row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-md-0 {\n order: 0;\n }\n .fs-order-md-1 {\n order: 1;\n }\n .fs-order-md-2 {\n order: 2;\n }\n .fs-order-md-3 {\n order: 3;\n }\n .fs-order-md-4 {\n order: 4;\n }\n .fs-order-md-5 {\n order: 5;\n }\n .fs-order-md-6 {\n order: 6;\n }\n .fs-order-md-7 {\n order: 7;\n }\n .fs-order-md-8 {\n order: 8;\n }\n .fs-order-md-9 {\n order: 9;\n }\n .fs-order-md-10 {\n order: 10;\n }\n .fs-order-md-11 {\n order: 11;\n }\n .fs-order-md-12 {\n order: 12;\n }\n .fs-col-md {\n flex: 1 0 0%;\n }\n .fs-col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1024px) {\n .fs-row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-lg-0 {\n order: 0;\n }\n .fs-order-lg-1 {\n order: 1;\n }\n .fs-order-lg-2 {\n order: 2;\n }\n .fs-order-lg-3 {\n order: 3;\n }\n .fs-order-lg-4 {\n order: 4;\n }\n .fs-order-lg-5 {\n order: 5;\n }\n .fs-order-lg-6 {\n order: 6;\n }\n .fs-order-lg-7 {\n order: 7;\n }\n .fs-order-lg-8 {\n order: 8;\n }\n .fs-order-lg-9 {\n order: 9;\n }\n .fs-order-lg-10 {\n order: 10;\n }\n .fs-order-lg-11 {\n order: 11;\n }\n .fs-order-lg-12 {\n order: 12;\n }\n .fs-col-lg {\n flex: 1 0 0%;\n }\n .fs-col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1280px) {\n .fs-row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xl-0 {\n order: 0;\n }\n .fs-order-xl-1 {\n order: 1;\n }\n .fs-order-xl-2 {\n order: 2;\n }\n .fs-order-xl-3 {\n order: 3;\n }\n .fs-order-xl-4 {\n order: 4;\n }\n .fs-order-xl-5 {\n order: 5;\n }\n .fs-order-xl-6 {\n order: 6;\n }\n .fs-order-xl-7 {\n order: 7;\n }\n .fs-order-xl-8 {\n order: 8;\n }\n .fs-order-xl-9 {\n order: 9;\n }\n .fs-order-xl-10 {\n order: 10;\n }\n .fs-order-xl-11 {\n order: 11;\n }\n .fs-order-xl-12 {\n order: 12;\n }\n .fs-col-xl {\n flex: 1 0 0%;\n }\n .fs-col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1536px) {\n .fs-row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xxl-0 {\n order: 0;\n }\n .fs-order-xxl-1 {\n order: 1;\n }\n .fs-order-xxl-2 {\n order: 2;\n }\n .fs-order-xxl-3 {\n order: 3;\n }\n .fs-order-xxl-4 {\n order: 4;\n }\n .fs-order-xxl-5 {\n order: 5;\n }\n .fs-order-xxl-6 {\n order: 6;\n }\n .fs-order-xxl-7 {\n order: 7;\n }\n .fs-order-xxl-8 {\n order: 8;\n }\n .fs-order-xxl-9 {\n order: 9;\n }\n .fs-order-xxl-10 {\n order: 10;\n }\n .fs-order-xxl-11 {\n order: 11;\n }\n .fs-order-xxl-12 {\n order: 12;\n }\n .fs-col-xxl {\n flex: 1 0 0%;\n }\n .fs-col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1920px) {\n .fs-row-cols-xxxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xxxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xxxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xxxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xxxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xxxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xxxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xxxl-0 {\n order: 0;\n }\n .fs-order-xxxl-1 {\n order: 1;\n }\n .fs-order-xxxl-2 {\n order: 2;\n }\n .fs-order-xxxl-3 {\n order: 3;\n }\n .fs-order-xxxl-4 {\n order: 4;\n }\n .fs-order-xxxl-5 {\n order: 5;\n }\n .fs-order-xxxl-6 {\n order: 6;\n }\n .fs-order-xxxl-7 {\n order: 7;\n }\n .fs-order-xxxl-8 {\n order: 8;\n }\n .fs-order-xxxl-9 {\n order: 9;\n }\n .fs-order-xxxl-10 {\n order: 10;\n }\n .fs-order-xxxl-11 {\n order: 11;\n }\n .fs-order-xxxl-12 {\n order: 12;\n }\n .fs-col-xxxl {\n flex: 1 0 0%;\n }\n .fs-col-xxxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n}\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, 1rem);\n }\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n .fs-sidebar-gap-0 {\n --fs-sidebar-gap: 0;\n }\n .fs-sidebar-gap-1 {\n --fs-sidebar-gap: 0.25rem;\n }\n .fs-sidebar-gap-2 {\n --fs-sidebar-gap: 0.5rem;\n }\n .fs-sidebar-gap-3 {\n --fs-sidebar-gap: 1rem;\n }\n .fs-sidebar-gap-4 {\n --fs-sidebar-gap: 1.5rem;\n }\n .fs-sidebar-gap-5 {\n --fs-sidebar-gap: 3rem;\n }\n .fs-sidebar-width-sm {\n --fs-sidebar-width: 120px;\n }\n .fs-sidebar-width-md {\n --fs-sidebar-width: 240px;\n }\n .fs-sidebar-width-lg {\n --fs-sidebar-width: 360px;\n }\n .fs-sidebar-width-xl {\n --fs-sidebar-width: 480px;\n }\n .fs-sidebar-width-xxl {\n --fs-sidebar-width: 600px;\n }\n .fs-sidebar-width-xxxl {\n --fs-sidebar-width: 720px;\n }\n}\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, 1rem);\n }\n .fs-stack-gap-0 {\n --fs-stack-gap: 0;\n }\n .fs-stack-gap-1 {\n --fs-stack-gap: 0.25rem;\n }\n .fs-stack-gap-2 {\n --fs-stack-gap: 0.5rem;\n }\n .fs-stack-gap-3 {\n --fs-stack-gap: 1rem;\n }\n .fs-stack-gap-4 {\n --fs-stack-gap: 1.5rem;\n }\n .fs-stack-gap-5 {\n --fs-stack-gap: 3rem;\n }\n}\n@layer tokens {\n [data-fs-brand=violet] {\n --fs-color-primary: #6d28d9;\n --fs-alert-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n --fs-alert-primary-text: rgb(37.7006407433, 8.7385189481, 83.109047167);\n --fs-feedback-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: rgb(114.6495158739, 57.1165361442, 219.9746158745);\n --fs-alert-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n --fs-alert-primary-text: rgb(167.4962913963, 147.746130571, 240.0249534535);\n --fs-feedback-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=violet] {\n --fs-color-primary: oklch(49.0666497236% 0.2412317343 292.5809393311deg);\n --fs-alert-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n --fs-alert-primary-text: oklch(24.5333248618% 0.1206158672 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: oklch(51.6133172374% 0.2291701476 292.5809393311deg);\n --fs-alert-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n --fs-alert-primary-text: oklch(71.986657348% 0.1326774539 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n }\n }\n [data-fs-brand=corporate] {\n --fs-color-primary: #1d4e89;\n --fs-alert-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n --fs-alert-primary-text: rgb(5.0598830676, 24.6667463069, 49.4731905568);\n --fs-feedback-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: rgb(40.8593466225, 86.5224214637, 143.0926598584);\n --fs-alert-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n --fs-alert-primary-text: rgb(127.9940036809, 155.4045223568, 190.9765129762);\n --fs-feedback-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: #f2542d;\n --fs-alert-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n --fs-alert-primary-text: rgb(93.6202523577, 27.1894355526, 10.7919554552);\n --fs-feedback-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: rgb(244.0763687777, 94.774513804, 58.7750761343);\n --fs-alert-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n --fs-alert-primary-text: rgb(255, 166.953251087, 144.6609410048);\n --fs-feedback-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=corporate] {\n --fs-color-primary: oklch(42.3377990386% 0.1112359961 255.1073474093deg);\n --fs-alert-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n --fs-alert-primary-text: oklch(21.1688995193% 0.055617998 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: oklch(45.2209090867% 0.1056741963 255.1073474093deg);\n --fs-alert-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n --fs-alert-primary-text: oklch(68.2857894712% 0.0611797979 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(65.5786741493% 0.2007639921 34.7814711243deg);\n --fs-alert-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n --fs-alert-primary-text: oklch(32.7893370747% 0.1003819961 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(67.2997404419% 0.1907257925 34.7814711243deg);\n --fs-alert-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n --fs-alert-primary-text: oklch(81.0682707821% 0.1104201957 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n }\n }\n}\n@layer overrides {\n [data-fs-brand=vibrant] .fs-btn-primary,\n [data-fs-brand=vibrant] .fs-badge-primary {\n --fs-btn-color: #000000;\n --fs-badge-color: #000000;\n }\n [data-fs-brand=vibrant] .fs-check {\n --fs-check-mark: #000000;\n }\n}\n@layer tokens {\n [data-theme=dark],\n [data-fs-theme=dark] {\n --fs-color-text: #f1f3f4;\n --fs-color-muted: #bdc1c6;\n --fs-color-border: #3c4043;\n --fs-color-surface: #202124;\n --fs-color-subtle: #2b2c2f;\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #f8fafc;\n --fs-tooltip-text: #1e293b;\n --fs-color-primary: rgb(39.8728684152, 106.2372587275, 232.1894887664);\n --fs-alert-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-alert-primary-text: rgb(130.6636212695, 172.0850768824, 246.4419684583);\n --fs-feedback-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-color-secondary: rgb(114.3557068426, 129.039220146, 150.1520317181);\n --fs-alert-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-alert-secondary-text: rgb(166.7597509121, 176.2809684237, 189.9919576187);\n --fs-feedback-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-color-success: rgb(134.4501166043, 226.9563331209, 149.6185042518);\n --fs-alert-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-alert-success-text: rgb(155.0475916512, 231.7231823866, 166.1609492581);\n --fs-feedback-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-color-warning: rgb(252.9400238762, 208.7461261831, 137.9221837268);\n --fs-alert-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-alert-warning-text: rgb(253.5439861058, 216.1213263099, 157.1705651606);\n --fs-feedback-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-color-danger: rgb(208.1189955268, 64.9740184262, 63.4302936954);\n --fs-alert-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-alert-danger-text: rgb(235.4050745756, 149.9650253478, 142.4924034553);\n --fs-feedback-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-color-info: #5e5cc7;\n --fs-alert-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n --fs-alert-info-text: rgb(160.628671266, 165.881962789, 227.610600335);\n --fs-feedback-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-theme=dark],\n [data-fs-theme=dark] {\n --fs-color-text: oklch(96.2913383165% 0.002529697 228.7848682695deg);\n --fs-color-muted: oklch(80.9268110646% 0.0083071608 253.8653061211deg);\n --fs-color-border: oklch(36.8827622528% 0.0074489239 240.018838067deg);\n --fs-color-surface: oklch(24.7936263361% 0.0058460141 271.1764187765deg);\n --fs-color-subtle: oklch(29.3286259539% 0.0055990771 271.2234269855deg);\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(55.884857057% 0.2025537915 261.6264320248deg);\n --fs-alert-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-alert-primary-text: oklch(74.4596540856% 0.1172679846 261.6264320248deg);\n --fs-feedback-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-color-secondary: oklch(59.8951906896% 0.0366453387 257.4166191214deg);\n --fs-alert-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-alert-secondary-text: oklch(75.4915054214% 0.0223943736 257.4166191214deg);\n --fs-feedback-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-color-success: oklch(83.8485321344% 0.139498201 148.125846236deg);\n --fs-alert-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-alert-success-text: oklch(86.3333733445% 0.1180369393 148.125846236deg);\n --fs-feedback-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-color-warning: oklch(88.2682030181% 0.1015699084 78.6575213966deg);\n --fs-alert-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-alert-warning-text: oklch(90.0730948615% 0.0859437686 78.6575213966deg);\n --fs-feedback-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-color-danger: oklch(58.1670482336% 0.1802407312 25.2407937498deg);\n --fs-alert-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-alert-danger-text: oklch(75.7809226615% 0.104349897 25.2407937498deg);\n --fs-feedback-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-alert-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n --fs-alert-info-text: oklch(74.3347879016% 0.0891072121 280.2231949375deg);\n --fs-feedback-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-fs-theme=auto] {\n --fs-color-text: #f1f3f4;\n --fs-color-muted: #bdc1c6;\n --fs-color-border: #3c4043;\n --fs-color-surface: #202124;\n --fs-color-subtle: #2b2c2f;\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-tooltip-bg: #f8fafc;\n --fs-tooltip-text: #1e293b;\n }\n }\n @media (forced-colors: active) {\n :root,\n [data-theme=dark],\n [data-fs-theme=light],\n [data-fs-theme=dark],\n [data-fs-theme=auto] {\n --fs-color-border: CanvasText;\n --fs-color-text: CanvasText;\n --fs-color-surface: Canvas;\n --fs-color-subtle: Canvas;\n --fs-focus-color: Highlight;\n }\n }\n}","// Camada semântica: nomeia tokens por PAPEL (o que a cor faz na interface),\n// não por valor. Cada token aqui é um alias `var()` de um token primitivo\n// (`_root.scss`) — não introduz nenhuma cor nova, só um vocabulário estável\n// entre o primitivo e o consumo por componente (ver `_component-buttons.scss`\n// como referência de como um componente deve consumir esta camada).\n// Por que alias e não recalcular o valor: um `var()` encadeado continua\n// resolvendo o fallback sRGB/OKLCH já decidido em `_root.scss` — não precisa\n// repetir a lógica de `@supports` aqui.\n@layer tokens {\n :root {\n // Superfícies\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n\n // Texto\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n\n // Bordas\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n\n // Ação (mapeiam para a cor de tema correspondente — existem para dar um\n // nome estável a \"a cor de ação primária\", independente de qual token\n // primitivo ela usa por baixo).\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n","// Tokens de gráficos: agnósticos de biblioteca — não é um wrapper de\n// Chart.js/ECharts/Recharts/etc., só cores/tema que qualquer uma delas pode\n// consumir via `getComputedStyle`/CSS custom properties. Aliases da camada\n// semântica já existente (mesma técnica de `_semantic.scss`), então\n// acompanham `data-theme`/`data-fs-brand` automaticamente sem token novo por\n// tema. Ver docs/guides/charts.md.\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n","@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n\n [hidden] {\n display: none !important;\n }\n}\n","// As declarações @font-face das fontes self-hosted ficam em `_fonts.scss`,\n// distribuído à parte (dist/css/fonts.css) e fora dos bundles principais —\n// ver a nota nesse arquivo. Aqui só aplicamos as pilhas de `font-family`\n// (com fallback sans-serif/monospace, que valem mesmo sem fonts.css).\n\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n","// Respeita a preferência do sistema sem remover a funcionalidade dos\n// componentes: apenas reduz transições e animações ao estado final.\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n\n // Spinner comunica uma operação em curso; congelá-lo o transforma em um\n // ícone ambíguo. Mantemos a animação, porém em ritmo mais lento, para\n // respeitar a preferência sem perder o significado de carregamento.\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n","/* stylelint-disable property-no-deprecated, selector-not-notation */\n@layer reset {\n :focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n }\n\n @media (forced-colors: active) {\n :focus-visible {\n outline: 2px solid CanvasText;\n outline-offset: 2px;\n }\n }\n}\n\n@layer utilities {\n .fs-u-visually-hidden:not(:focus):not(:focus-within),\n .fs-u-visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n\n .fs-skip-link {\n position: fixed;\n z-index: 1000;\n inset-block-start: var(--fs-space-2);\n inset-inline-start: var(--fs-space-2);\n transform: translateY(-200%);\n padding: var(--fs-space-2) var(--fs-space-3);\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-skip-link:focus {\n transform: translateY(0);\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Agrupa itens horizontalmente com quebra de linha automática e\n// espaçamento consistente nos dois eixos — ideal para grupos de\n// tags/botões/badges que precisam \"fluir\" sem estourar o container.\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, #{map.get($spacers, 2)});\n }\n\n @each $key, $value in $spacers {\n .fs-cluster-gap-#{$key} {\n --fs-cluster-gap: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n\n @each $breakpoint, $width in $container-max-widths {\n @include media-breakpoint-up($breakpoint) {\n .fs-container,\n .fs-container-#{$breakpoint} {\n max-width: $width;\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:color\";\n@use \"../settings\" as *;\n\n@mixin fs-fluid-type($min, $max, $min-vw: 320px, $max-vw: 1280px) {\n font-size: clamp($min, calc(#{$min} + (#{ $max } - #{ $min }) * ((100vw - #{ $min-vw }) / (#{ $max-vw } - #{ $min-vw }))), $max);\n}\n\n@mixin fs-fluid-value($property, $min, $max, $min-vw: 320px, $max-vw: 1280px) {\n #{$property}: clamp($min, calc(#{$min} + (#{ $max } - #{ $min }) * ((100vw - #{ $min-vw }) / (#{ $max-vw } - #{ $min-vw }))), $max);\n}\n\n@mixin media-breakpoint-up($name) {\n $min: map.get($breakpoints, $name);\n\n @if $min == null {\n @error \"Unknown breakpoint `#{$name}`.\";\n }\n\n @if $min == 0 {\n @content;\n } @else {\n @media (min-width: $min) {\n @content;\n }\n }\n}\n\n@function breakpoint-infix($name) {\n @if $name == xs {\n @return \"\";\n }\n\n @return \"-#{$name}\";\n}\n\n@mixin focus-ring($color: var(--fs-color-primary)) {\n outline: var(--fs-focus-width) solid $color;\n outline-offset: var(--fs-focus-offset);\n border-color: $color;\n box-shadow: 0 0 0 3px color-mix(in srgb, #{$color} 22%, transparent);\n}\n\n@mixin truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@function linearize-channel($value) {\n $c: math.div($value, 255);\n\n @if $c <= 0.0393 {\n @return math.div($c, 12.92);\n }\n\n @return math.pow(math.div($c + 0.055, 1.055), 2.4);\n}\n\n@function relative-luminance($color) {\n $r: linearize-channel(color.channel($color, \"red\", $space: rgb));\n $g: linearize-channel(color.channel($color, \"green\", $space: rgb));\n $b: linearize-channel(color.channel($color, \"blue\", $space: rgb));\n\n @return (0.2126 * $r) + (0.7152 * $g) + (0.0722 * $b);\n}\n\n@function color-contrast($background, $min-contrast: 4.5) {\n $contrast-with-white: math.div(1.05, relative-luminance($background) + 0.05);\n\n @if $contrast-with-white >= $min-contrast {\n @return $color-white;\n }\n\n @return $color-black;\n}\n\n// Razão de contraste WCAG entre duas cores (1–21). Usada pelo relatório de\n// contraste do build (`npm run contrast`, `scripts/contrast-report.scss`) —\n// ver docs/reference/contrast-report.md para os pares auditados.\n@function contrast-ratio($foreground, $background) {\n $l1: relative-luminance($foreground) + 0.05;\n $l2: relative-luminance($background) + 0.05;\n\n @if $l1 > $l2 {\n @return math.div($l1, $l2);\n }\n\n @return math.div($l2, $l1);\n}\n\n@function tint-color($color, $weight: 15%) {\n @return color.mix($color, $color-white, $weight, $method: oklch);\n}\n\n@function shade-color($color, $weight: 50%) {\n @return color.mix($color, $color-black, $weight, $method: oklch);\n}\n\n// Fallback sRGB de uma cor OKLCH para navegadores sem suporte a `oklch()`\n// (ver `@supports` em tokens/_root.scss e themes/_dark.scss). Faz gamut\n// mapping antes da conversão — misturas em OKLCH frequentemente caem fora do\n// gamut sRGB, e converter sem mapear gera `rgb()`/`hsl()` com canais\n// inválidos (saturação > 100%, etc.).\n@function rgb-fallback($color) {\n $mapped: color.to-gamut($color, $space: rgb, $method: local-minde);\n\n @return color.to-space($mapped, rgb);\n}\n","// Escala alinhada às larguras lógicas de tela mais comuns do mercado atual:\n// sm/tablet retrato (~768 já cobria isso; 640 cobre phablets/tablets pequenos\n// antes desse corte), lg = tablet paisagem/iPad (1024), xl = laptop comum\n// (1280), xxl = notebook/desktop com escala (Mac/Windows a 1536 lógico),\n// xxxl = monitor externo Full HD sem escala (1920).\n$breakpoints: (\n xs: 0,\n sm: 640px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n xxl: 1536px,\n xxxl: 1920px\n) !default;\n\n$container-max-widths: (\n sm: 600px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n xxl: 1440px,\n xxxl: 1800px\n) !default;\n\n$column-max-widths: (\n sm: 120px,\n md: 240px,\n lg: 360px,\n xl: 480px,\n xxl: 600px,\n xxxl: 720px\n) !default;\n","@use \"sass:math\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n $grid-columns: 12;\n\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n\n .fs-row-fluid {\n width: 100%;\n }\n\n .fs-col-fluid {\n width: 100%;\n }\n\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n .fs-row-cols#{$infix}-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n @for $count from 1 through 6 {\n .fs-row-cols#{$infix}-#{$count} > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n }\n\n @for $order from 0 through $grid-columns {\n .fs-order#{$infix}-#{$order} {\n order: $order;\n }\n }\n\n .fs-col#{$infix} {\n flex: 1 0 0%;\n }\n\n .fs-col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n @for $i from 1 through $grid-columns {\n .fs-col#{$infix}-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, $grid-columns));\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Um lado com largura fixa (a \"aside\") e o outro preenchendo o espaço\n// restante, quebrando para empilhado quando o container fica estreito\n// demais — sem media query: `.fs-sidebar-content` força a quebra via\n// `min-width` quando não cabe ao lado da aside na mesma linha.\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, #{map.get($spacers, 3)});\n }\n\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n\n @each $key, $value in $spacers {\n .fs-sidebar-gap-#{$key} {\n --fs-sidebar-gap: #{$value};\n }\n }\n\n @each $key, $value in $column-max-widths {\n .fs-sidebar-width-#{$key} {\n --fs-sidebar-width: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Empilha os filhos diretos verticalmente com espaçamento consistente —\n// `gap` em vez de margin, evita o problema clássico de \"último filho não\n// deve ter margin-bottom\" sem seletor extra.\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, #{map.get($spacers, 3)});\n }\n\n @each $key, $value in $spacers {\n .fs-stack-gap-#{$key} {\n --fs-stack-gap: #{$value};\n }\n }\n}\n","@use \"sass:color\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Theming multi-brand: um `data-fs-brand=\"x\"` sobrescreve só a cor de AÇÃO\n// PRIMÁRIA (--fs-color-primary e os tokens derivados) — secondary/success/\n// warning/danger/info continuam universais entre marcas, porque são\n// semânticos (sucesso é sempre verde, erro sempre vermelho, independente\n// de qual marca está ativa). Composto com `data-theme=\"dark\"` do mesmo\n// jeito que `_dark.scss` faz para a paleta padrão: mistura o primitivo com\n// branco/preto em OKLCH, não recalcula do zero.\n// Limitação conhecida: `.fs-btn-primary`/`.fs-badge-primary` (preenchimento\n// sólido) calculam a cor do texto em tempo de build via `color-contrast()`\n// a partir do primary padrão (azul) — não recalculam por marca. Escolha um\n// primitivo de marca escuro o bastante pro texto branco continuar legível\n// (como o exemplo abaixo), ou sobrescreva `--fs-btn-color`/`--fs-badge-color`\n// manualmente se o primitivo da marca for muito claro. Ver\n// `docs/guides/theming.md#multi-brand`.\n@layer tokens {\n // Marca de exemplo (\"violet\") — mesmo tom usado no exemplo de\n // customização do README, só pra provar que a troca funciona em runtime\n // sem recompilar CSS. Um projeto real substitui/adiciona marcas\n // definindo o próprio primitivo antes de `@use` este arquivo.\n $brand-violet-primary: color.to-space(#6d28d9, oklch) !default;\n\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback($brand-violet-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-violet-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{$brand-violet-primary};\n --fs-alert-primary-bg: #{tint-color($brand-violet-primary)};\n --fs-alert-primary-text: #{shade-color($brand-violet-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-violet-primary)};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{color.mix($brand-violet-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-violet-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n\n // Preset \"corporate\" — azul-marinho/steel blue, tom sóbrio para\n // aplicações internas/B2B. Mesma técnica de mistura OKLCH acima.\n $brand-corporate-primary: color.to-space(#1d4e89, oklch) !default;\n\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback($brand-corporate-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-corporate-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n // Preset \"vibrant\" — laranja energético, tom para produtos de consumo/\n // marketing que queiram uma ação primária mais chamativa.\n $brand-vibrant-primary: color.to-space(#f2542d, oklch) !default;\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback($brand-vibrant-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-vibrant-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{$brand-corporate-primary};\n --fs-alert-primary-bg: #{tint-color($brand-corporate-primary)};\n --fs-alert-primary-text: #{shade-color($brand-corporate-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-corporate-primary)};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n }\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{$brand-vibrant-primary};\n --fs-alert-primary-bg: #{tint-color($brand-vibrant-primary)};\n --fs-alert-primary-text: #{shade-color($brand-vibrant-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-vibrant-primary)};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n}\n\n// Ao contrário de violet/corporate, o primitivo \"vibrant\" (laranja) é claro\n// o bastante pra o texto branco padrão de `.fs-btn-primary`/`.fs-badge-primary`\n// (calculado em tempo de build a partir do primary PADRÃO, não do de marca —\n// ver nota no topo do arquivo) cair abaixo de 4.5:1 — exatamente o caso que\n// a mitigação documentada em docs/guides/theming.md#multi-brand cobre.\n// Precisa estar em `@layer overrides` (a camada de maior prioridade — ver\n// `tokens/_root.scss`): `.fs-btn-primary`/`.fs-badge-primary` setam\n// `--fs-btn-color`/`--fs-badge-color` no próprio elemento dentro de\n// `@layer components`, e cascade layers ignoram especificidade — um\n// seletor mais específico em `@layer tokens` (onde vivem os blocos acima)\n// perderia mesmo assim.\n@layer overrides {\n [data-fs-brand=\"vibrant\"] .fs-btn-primary,\n [data-fs-brand=\"vibrant\"] .fs-badge-primary {\n --fs-btn-color: #{$color-black};\n --fs-badge-color: #{$color-black};\n }\n\n [data-fs-brand=\"vibrant\"] .fs-check {\n --fs-check-mark: #{$color-black};\n }\n}\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Peso (% da cor original mantida, ver color.mix()) de cada cor de estado no\n// tema escuro. O limite de cada uma é o quanto dá pra clarear em direção ao\n// branco antes de virar o texto branco/preto que color-contrast() já\n// pré-calculou para os preenchimentos sólidos (botões, badges) no tema claro\n// — passar do limite deixaria esse texto ilegível. `primary` e `danger` têm\n// texto branco no preenchimento, então clareiam pouco (clarear reduz o\n// contraste com o branco); `info` não tem margem e fica sem alteração (100%).\n// Misturas em `$method: oklch` (ver tools/_mixins.scss) — recalibrado e\n// revalidado com `npm run contrast` após a migração para OKLCH.\n@layer tokens {\n $dark-color-weights: (\n primary: 95%,\n secondary: 90%,\n success: 65%,\n warning: 65%,\n danger: 95%,\n info: 100%\n ) !default;\n\n $dark-text: color.to-space(#f1f3f4, oklch) !default;\n $dark-muted: color.to-space(#bdc1c6, oklch) !default;\n $dark-border: color.to-space(#3c4043, oklch) !default;\n $dark-surface: color.to-space(#202124, oklch) !default;\n $dark-subtle: color.to-space(#2b2c2f, oklch) !default;\n\n // Pesos de alert/feedback bg+text no escuro: validados por\n // `npm run contrast` para ≥4.5:1 (texto normal) em todas as 6 cores —\n // não abaixe sem reconferir o relatório.\n $dark-alert-bg-weight: 15%;\n $dark-alert-text-weight: 55%;\n\n [data-theme=\"dark\"],\n [data-fs-theme=\"dark\"] {\n --fs-color-text: #{rgb-fallback($dark-text)};\n --fs-color-muted: #{rgb-fallback($dark-muted)};\n --fs-color-border: #{rgb-fallback($dark-border)};\n --fs-color-surface: #{rgb-fallback($dark-surface)};\n --fs-color-subtle: #{rgb-fallback($dark-subtle)};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-100)};\n --fs-tooltip-text: #{rgb-fallback($color-gray-900)};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback(color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch))};\n --fs-alert-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n --fs-alert-#{$name}-text: #{rgb-fallback(color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch))};\n --fs-feedback-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n }\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-theme=\"dark\"],\n [data-fs-theme=\"dark\"] {\n --fs-color-text: #{$dark-text};\n --fs-color-muted: #{$dark-muted};\n --fs-color-border: #{$dark-border};\n --fs-color-surface: #{$dark-surface};\n --fs-color-subtle: #{$dark-subtle};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: #{$color-gray-100};\n --fs-tooltip-text: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch)};\n --fs-alert-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n --fs-alert-#{$name}-text: #{color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch)};\n --fs-feedback-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n }\n }\n }\n\n @media (prefers-color-scheme: dark) {\n [data-fs-theme=\"auto\"] {\n --fs-color-text: #{rgb-fallback($dark-text)};\n --fs-color-muted: #{rgb-fallback($dark-muted)};\n --fs-color-border: #{rgb-fallback($dark-border)};\n --fs-color-surface: #{rgb-fallback($dark-surface)};\n --fs-color-subtle: #{rgb-fallback($dark-subtle)};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-100)};\n --fs-tooltip-text: #{rgb-fallback($color-gray-900)};\n }\n }\n\n @media (forced-colors: active) {\n :root,\n [data-theme=\"dark\"],\n [data-fs-theme=\"light\"],\n [data-fs-theme=\"dark\"],\n [data-fs-theme=\"auto\"] {\n --fs-color-border: CanvasText;\n --fs-color-text: CanvasText;\n --fs-color-surface: Canvas;\n --fs-color-subtle: Canvas;\n --fs-focus-color: Highlight;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_root.scss","../../scss/entries/core-entry.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_semantic.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tokens/_charts.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_reset.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_typography.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_motion.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/base/_accessibility.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_cluster.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_containers.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/tools/_mixins.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/settings/_breakpoints.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_grid.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_sidebar.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/layout/_stack.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_brands.scss","file:///home/runner/work/fokus-styles/fokus-styles/packages/fokus-core/scss/themes/_dark.scss"],"names":[],"mappings":"AAOA,oEAAA;AAEA;EAME;IACE,yBAAA;IACA,yBAAA;IACA,wBAAA;IACA,yBAAA;IACA,0BAAA;IACA,2BAAA;IACA,0BAAA;IACA,6CAAA;IACA,0CAAA;IACA,4BAAA;IACA,0BAAA;IACA,yBAAA;IACA,4BAAA;IACA,2BAAA;IACA,uBAAA;IACA,2BAAA;IACA,8BAAA;IACA,0BAAA;IACA,8BAAA;IACA,mBAAA;IACA,mBAAA;IACA,mBAAA;IACA,qBAAA;IACA,kBAAA;IAGE,eAAA;IAAA,qBAAA;IAAA,oBAAA;IAAA,kBAAA;IAAA,oBAAA;IAAA,kBAAA;IAIA,cAAA;IAAA,qBAAA;IAAA,mBAAA;IAAA,kBAAA;IAAA,sBAAA;IAAA,yBAAA;IAAA,kBAAA;IAAA,oBAAA;IAGF,yBAAA;IACA,4BAAA;IACA,4BAAA;IACA,4BAAA;IACA,8BAAA;IACA,+BAAA;IACA,qBAAA;IACA,sBAAA;IACA,yCAAA;IACA,yBAAA;IACA,iFAAA;IACA,0BAAA;IACA,2BAAA;IACA,6BAAA;IACA,oDAAA;IACA,wDAAA;IACA,kDAAA;IACA,8CAAA;IACA,sBAAA;IACA,0BAAA;IACA,iDAAA;IACA,qDAAA;IACA,uDAAA;IACA,mDAAA;IACA,uDAAA;IACA,iDAAA;IACA,gDAAA;IACA,gDAAA;IACA,kDAAA;IACA,gDAAA;IAQE,iBAAA;IAAA,iBAAA;IAAA,iBAAA;IAGF,sEAAA;IACA,uEAAA;IACA,yEAAA;IACA,wBAAA;IACA,0BAAA;IAGE,2BAAA;IACA,8BAAA;IACA,yEAAA;IACA,wEAAA;IAHA,6BAAA;IACA,gCAAA;IACA,4EAAA;IACA,2EAAA;IAHA,oCAAA;IACA,8BAAA;IACA,0EAAA;IACA,uEAAA;IAHA,2BAAA;IACA,8BAAA;IACA,0EAAA;IACA,yEAAA;IAHA,0BAAA;IACA,6BAAA;IACA,wEAAA;IACA,wEAAA;IAHA,wBAAA;IACA,2BAAA;IACA,uEAAA;IACA,sEAAA;IAIA,iCAAA;IAAA,mCAAA;IAAA,iCAAA;IAAA,iCAAA;IAAA,gCAAA;IAAA,8BAAA;ECMJ;EDGA;IACE;MACE,qEAAA;MACA,qEAAA;MACA,sEAAA;MACA,uEAAA;MACA,qEAAA;MAGE,wEAAA;MACA,8BAAA;MACA,2EAAA;MACA,6EAAA;MAHA,yEAAA;MACA,gCAAA;MACA,6EAAA;MACA,+EAAA;MAHA,sEAAA;MACA,8BAAA;MACA,0EAAA;MACA,4EAAA;MAHA,uEAAA;MACA,8BAAA;MACA,0EAAA;MACA,4EAAA;MAHA,sEAAA;MACA,6BAAA;MACA,yEAAA;MACA,0EAAA;MAHA,qEAAA;MACA,2BAAA;MACA,wEAAA;MACA,0EAAA;MAIA,6EAAA;MAAA,gFAAA;MAAA,8EAAA;MAAA,0EAAA;MAAA,4EAAA;MAAA,2EAAA;ICmBJ;EACF;EDfA;IACE;MACE,+BAAA;MACA,8BAAA;MACA,gDAAA;MACA,kDAAA;ICiBF;EACF;AACF;ACrJA;EACE;IAEE,8CAAA;IACA,4CAAA;IAGA,6CAAA;IACA,4CAAA;IAGA,iDAAA;IACA,yCAAA;IACA,kDAAA;IACA,sDAAA;IAKA,kDAAA;IACA,gDAAA;ED8IF;AACF;AErKA;EACE;IACE,4CAAA;IACA,4CAAA;IACA,4CAAA;IACA,2CAAA;IACA,yCAAA;IACA,8CAAA;IACA,uCAAA;IACA,sCAAA;IACA,2CAAA;IACA,+CAAA;EFuKF;AACF;AGzLA;EACE;;;IAGE,sBAAA;EH2LF;EGxLA;IACE,uCAAA;IACA,8BAAA;YAAA,sBAAA;EH0LF;EGvLA;IACE,SAAA;IACA,2BAAA;IACA,yCAAA;EHyLF;EGtLA;IACE,wBAAA;EHwLF;AACF;AIvMA;EACE;;;;;IAKE,gCAAA;IACA,iCAAA;EJyMF;EItMA;;;;IAIE,gCAAA;EJwMF;EIrMA;;;;;;IAME,aAAA;IACA,2CAAA;IACA,0CAAA;EJuMF;EIpMA;IACE,iCAAA;EJsMF;EInMA;IACE,iCAAA;EJqMF;EIlMA;IACE,iCAAA;EJoMF;EIjMA;IACE,iCAAA;EJmMF;EIhMA;IACE,iCAAA;EJkMF;EI/LA;IACE,iCAAA;EJiMF;AACF;AKtPA;EACE;IACE;;;MAGE,gCAAA;MACA,sCAAA;MACA,qCAAA;MACA,uCAAA;ILwPF;IKlPA;;;MAGE,mCAAA;MACA,8CAAA;ILoPF;EACF;AACF;AM1QA,oEAAA;AACA;EACE;IACE,0DAAA;IACA,sCAAA;EN4QF;EMzQA;IACE;MACE,6BAAA;MACA,mBAAA;IN2QF;IMxQA;;;;;;MAME,wBAAA;MACA,yBAAA;IN0QF;IMvQA;MACE,4BAAA;INyQF;EACF;AACF;AMtQA;EACE;;IAEE,6BAAA;IACA,qBAAA;IACA,sBAAA;IACA,qBAAA;IACA,uBAAA;IACA,2BAAA;IACA,gCAAA;IACA,8BAAA;IACA,oBAAA;ENwQF;EMrQA;IACE,eAAA;IACA,aAAA;IACA,oCAAA;IACA,qCAAA;IACA,4BAAA;IACA,4CAAA;IACA,iCAAA;IACA,mCAAA;IACA,kCAAA;ENuQF;EMpQA;IACE,wBAAA;ENsQF;AACF;AOzTA;EACE;IACE,aAAA;IACA,eAAA;IACA,mBAAA;IACA,kCAAA;EP2TF;EOvTE;IACE,mBAAA;EPyTJ;EO1TE;IACE,yBAAA;EP4TJ;EO7TE;IACE,wBAAA;EP+TJ;EOhUE;IACE,sBAAA;EPkUJ;EOnUE;IACE,wBAAA;EPqUJ;EOtUE;IACE,sBAAA;EPwUJ;AACF;AQrVA;EACE;;;;;;;;IAQE,WAAA;IACA,kBAAA;IACA,iBAAA;ERuVF;ES/UE;IDHE;;MAEE,gBEPe;IV4VnB;EACF;ESrVE;IDHE;;MAEE,gBEPe;IVkWnB;EACF;ES3VE;IDHE;;MAEE,gBEPe;IVwWnB;EACF;ESjWE;IDHE;;MAEE,iBEPe;IV8WnB;EACF;ESvWE;IDHE;;MAEE,iBEPe;IVoXnB;EACF;ES7WE;IDHE;;MAEE,iBEPe;IV0XnB;EACF;AACF;AWvYA;EAGE;IACE,aAAA;IACA,eAAA;IACA,yCAAA;IACA,2CAAA;IACA,0CAAA;EXuYF;EWpYA;IACE,8BAAA;IACA,2CAAA;IACA,0CAAA;EXsYF;EWnYA;IACE,WAAA;EXqYF;EWlYA;IACE,WAAA;EXoYF;EW7XI;IACE,cAAA;IACA,WAAA;EX+XN;EW3XM;IACE,cAAA;IACA,WAAA;EX6XR;EW/XM;IACE,cAAA;IACA,UAAA;EXiYR;EWnYM;IACE,cAAA;IACA,qBAAA;EXqYR;EWvYM;IACE,cAAA;IACA,UAAA;EXyYR;EW3YM;IACE,cAAA;IACA,UAAA;EX6YR;EW/YM;IACE,cAAA;IACA,qBAAA;EXiZR;EW5YM;IACE,QAFa;EXgZrB;EW/YM;IACE,QAFa;EXmZrB;EWlZM;IACE,QAFa;EXsZrB;EWrZM;IACE,QAFa;EXyZrB;EWxZM;IACE,QAFa;EX4ZrB;EW3ZM;IACE,QAFa;EX+ZrB;EW9ZM;IACE,QAFa;EXkarB;EWjaM;IACE,QAFa;EXqarB;EWpaM;IACE,QAFa;EXwarB;EWvaM;IACE,QAFa;EX2arB;EW1aM;IACE,SAFa;EX8arB;EW7aM;IACE,SAFa;EXibrB;EWhbM;IACE,SAFa;EXobrB;EW9aI;IACE,YAAA;EXgbN;EW7aI;IACE,cAAA;IACA,WAAA;EX+aN;EW3aM;IACE,cAAA;IACA,oBAAA;EX6aR;EW/aM;IACE,cAAA;IACA,qBAAA;EXibR;EWnbM;IACE,cAAA;IACA,UAAA;EXqbR;EWvbM;IACE,cAAA;IACA,qBAAA;EXybR;EW3bM;IACE,cAAA;IACA,qBAAA;EX6bR;EW/bM;IACE,cAAA;IACA,UAAA;EXicR;EWncM;IACE,cAAA;IACA,qBAAA;EXqcR;EWvcM;IACE,cAAA;IACA,qBAAA;EXycR;EW3cM;IACE,cAAA;IACA,UAAA;EX6cR;EW/cM;IACE,cAAA;IACA,qBAAA;EXidR;EWndM;IACE,cAAA;IACA,qBAAA;EXqdR;EWvdM;IACE,cAAA;IACA,WAAA;EXydR;ESjgBE;IEUE;MACE,cAAA;MACA,WAAA;IX0fJ;IWtfI;MACE,cAAA;MACA,WAAA;IXwfN;IW1fI;MACE,cAAA;MACA,UAAA;IX4fN;IW9fI;MACE,cAAA;MACA,qBAAA;IXggBN;IWlgBI;MACE,cAAA;MACA,UAAA;IXogBN;IWtgBI;MACE,cAAA;MACA,UAAA;IXwgBN;IW1gBI;MACE,cAAA;MACA,qBAAA;IX4gBN;IWvgBI;MACE,QAFa;IX2gBnB;IW1gBI;MACE,QAFa;IX8gBnB;IW7gBI;MACE,QAFa;IXihBnB;IWhhBI;MACE,QAFa;IXohBnB;IWnhBI;MACE,QAFa;IXuhBnB;IWthBI;MACE,QAFa;IX0hBnB;IWzhBI;MACE,QAFa;IX6hBnB;IW5hBI;MACE,QAFa;IXgiBnB;IW/hBI;MACE,QAFa;IXmiBnB;IWliBI;MACE,QAFa;IXsiBnB;IWriBI;MACE,SAFa;IXyiBnB;IWxiBI;MACE,SAFa;IX4iBnB;IW3iBI;MACE,SAFa;IX+iBnB;IWziBE;MACE,YAAA;IX2iBJ;IWxiBE;MACE,cAAA;MACA,WAAA;IX0iBJ;IWtiBI;MACE,cAAA;MACA,oBAAA;IXwiBN;IW1iBI;MACE,cAAA;MACA,qBAAA;IX4iBN;IW9iBI;MACE,cAAA;MACA,UAAA;IXgjBN;IWljBI;MACE,cAAA;MACA,qBAAA;IXojBN;IWtjBI;MACE,cAAA;MACA,qBAAA;IXwjBN;IW1jBI;MACE,cAAA;MACA,UAAA;IX4jBN;IW9jBI;MACE,cAAA;MACA,qBAAA;IXgkBN;IWlkBI;MACE,cAAA;MACA,qBAAA;IXokBN;IWtkBI;MACE,cAAA;MACA,UAAA;IXwkBN;IW1kBI;MACE,cAAA;MACA,qBAAA;IX4kBN;IW9kBI;MACE,cAAA;MACA,qBAAA;IXglBN;IWllBI;MACE,cAAA;MACA,WAAA;IXolBN;EACF;ES7nBE;IEUE;MACE,cAAA;MACA,WAAA;IXsnBJ;IWlnBI;MACE,cAAA;MACA,WAAA;IXonBN;IWtnBI;MACE,cAAA;MACA,UAAA;IXwnBN;IW1nBI;MACE,cAAA;MACA,qBAAA;IX4nBN;IW9nBI;MACE,cAAA;MACA,UAAA;IXgoBN;IWloBI;MACE,cAAA;MACA,UAAA;IXooBN;IWtoBI;MACE,cAAA;MACA,qBAAA;IXwoBN;IWnoBI;MACE,QAFa;IXuoBnB;IWtoBI;MACE,QAFa;IX0oBnB;IWzoBI;MACE,QAFa;IX6oBnB;IW5oBI;MACE,QAFa;IXgpBnB;IW/oBI;MACE,QAFa;IXmpBnB;IWlpBI;MACE,QAFa;IXspBnB;IWrpBI;MACE,QAFa;IXypBnB;IWxpBI;MACE,QAFa;IX4pBnB;IW3pBI;MACE,QAFa;IX+pBnB;IW9pBI;MACE,QAFa;IXkqBnB;IWjqBI;MACE,SAFa;IXqqBnB;IWpqBI;MACE,SAFa;IXwqBnB;IWvqBI;MACE,SAFa;IX2qBnB;IWrqBE;MACE,YAAA;IXuqBJ;IWpqBE;MACE,cAAA;MACA,WAAA;IXsqBJ;IWlqBI;MACE,cAAA;MACA,oBAAA;IXoqBN;IWtqBI;MACE,cAAA;MACA,qBAAA;IXwqBN;IW1qBI;MACE,cAAA;MACA,UAAA;IX4qBN;IW9qBI;MACE,cAAA;MACA,qBAAA;IXgrBN;IWlrBI;MACE,cAAA;MACA,qBAAA;IXorBN;IWtrBI;MACE,cAAA;MACA,UAAA;IXwrBN;IW1rBI;MACE,cAAA;MACA,qBAAA;IX4rBN;IW9rBI;MACE,cAAA;MACA,qBAAA;IXgsBN;IWlsBI;MACE,cAAA;MACA,UAAA;IXosBN;IWtsBI;MACE,cAAA;MACA,qBAAA;IXwsBN;IW1sBI;MACE,cAAA;MACA,qBAAA;IX4sBN;IW9sBI;MACE,cAAA;MACA,WAAA;IXgtBN;EACF;ESzvBE;IEUE;MACE,cAAA;MACA,WAAA;IXkvBJ;IW9uBI;MACE,cAAA;MACA,WAAA;IXgvBN;IWlvBI;MACE,cAAA;MACA,UAAA;IXovBN;IWtvBI;MACE,cAAA;MACA,qBAAA;IXwvBN;IW1vBI;MACE,cAAA;MACA,UAAA;IX4vBN;IW9vBI;MACE,cAAA;MACA,UAAA;IXgwBN;IWlwBI;MACE,cAAA;MACA,qBAAA;IXowBN;IW/vBI;MACE,QAFa;IXmwBnB;IWlwBI;MACE,QAFa;IXswBnB;IWrwBI;MACE,QAFa;IXywBnB;IWxwBI;MACE,QAFa;IX4wBnB;IW3wBI;MACE,QAFa;IX+wBnB;IW9wBI;MACE,QAFa;IXkxBnB;IWjxBI;MACE,QAFa;IXqxBnB;IWpxBI;MACE,QAFa;IXwxBnB;IWvxBI;MACE,QAFa;IX2xBnB;IW1xBI;MACE,QAFa;IX8xBnB;IW7xBI;MACE,SAFa;IXiyBnB;IWhyBI;MACE,SAFa;IXoyBnB;IWnyBI;MACE,SAFa;IXuyBnB;IWjyBE;MACE,YAAA;IXmyBJ;IWhyBE;MACE,cAAA;MACA,WAAA;IXkyBJ;IW9xBI;MACE,cAAA;MACA,oBAAA;IXgyBN;IWlyBI;MACE,cAAA;MACA,qBAAA;IXoyBN;IWtyBI;MACE,cAAA;MACA,UAAA;IXwyBN;IW1yBI;MACE,cAAA;MACA,qBAAA;IX4yBN;IW9yBI;MACE,cAAA;MACA,qBAAA;IXgzBN;IWlzBI;MACE,cAAA;MACA,UAAA;IXozBN;IWtzBI;MACE,cAAA;MACA,qBAAA;IXwzBN;IW1zBI;MACE,cAAA;MACA,qBAAA;IX4zBN;IW9zBI;MACE,cAAA;MACA,UAAA;IXg0BN;IWl0BI;MACE,cAAA;MACA,qBAAA;IXo0BN;IWt0BI;MACE,cAAA;MACA,qBAAA;IXw0BN;IW10BI;MACE,cAAA;MACA,WAAA;IX40BN;EACF;ESr3BE;IEUE;MACE,cAAA;MACA,WAAA;IX82BJ;IW12BI;MACE,cAAA;MACA,WAAA;IX42BN;IW92BI;MACE,cAAA;MACA,UAAA;IXg3BN;IWl3BI;MACE,cAAA;MACA,qBAAA;IXo3BN;IWt3BI;MACE,cAAA;MACA,UAAA;IXw3BN;IW13BI;MACE,cAAA;MACA,UAAA;IX43BN;IW93BI;MACE,cAAA;MACA,qBAAA;IXg4BN;IW33BI;MACE,QAFa;IX+3BnB;IW93BI;MACE,QAFa;IXk4BnB;IWj4BI;MACE,QAFa;IXq4BnB;IWp4BI;MACE,QAFa;IXw4BnB;IWv4BI;MACE,QAFa;IX24BnB;IW14BI;MACE,QAFa;IX84BnB;IW74BI;MACE,QAFa;IXi5BnB;IWh5BI;MACE,QAFa;IXo5BnB;IWn5BI;MACE,QAFa;IXu5BnB;IWt5BI;MACE,QAFa;IX05BnB;IWz5BI;MACE,SAFa;IX65BnB;IW55BI;MACE,SAFa;IXg6BnB;IW/5BI;MACE,SAFa;IXm6BnB;IW75BE;MACE,YAAA;IX+5BJ;IW55BE;MACE,cAAA;MACA,WAAA;IX85BJ;IW15BI;MACE,cAAA;MACA,oBAAA;IX45BN;IW95BI;MACE,cAAA;MACA,qBAAA;IXg6BN;IWl6BI;MACE,cAAA;MACA,UAAA;IXo6BN;IWt6BI;MACE,cAAA;MACA,qBAAA;IXw6BN;IW16BI;MACE,cAAA;MACA,qBAAA;IX46BN;IW96BI;MACE,cAAA;MACA,UAAA;IXg7BN;IWl7BI;MACE,cAAA;MACA,qBAAA;IXo7BN;IWt7BI;MACE,cAAA;MACA,qBAAA;IXw7BN;IW17BI;MACE,cAAA;MACA,UAAA;IX47BN;IW97BI;MACE,cAAA;MACA,qBAAA;IXg8BN;IWl8BI;MACE,cAAA;MACA,qBAAA;IXo8BN;IWt8BI;MACE,cAAA;MACA,WAAA;IXw8BN;EACF;ESj/BE;IEUE;MACE,cAAA;MACA,WAAA;IX0+BJ;IWt+BI;MACE,cAAA;MACA,WAAA;IXw+BN;IW1+BI;MACE,cAAA;MACA,UAAA;IX4+BN;IW9+BI;MACE,cAAA;MACA,qBAAA;IXg/BN;IWl/BI;MACE,cAAA;MACA,UAAA;IXo/BN;IWt/BI;MACE,cAAA;MACA,UAAA;IXw/BN;IW1/BI;MACE,cAAA;MACA,qBAAA;IX4/BN;IWv/BI;MACE,QAFa;IX2/BnB;IW1/BI;MACE,QAFa;IX8/BnB;IW7/BI;MACE,QAFa;IXigCnB;IWhgCI;MACE,QAFa;IXogCnB;IWngCI;MACE,QAFa;IXugCnB;IWtgCI;MACE,QAFa;IX0gCnB;IWzgCI;MACE,QAFa;IX6gCnB;IW5gCI;MACE,QAFa;IXghCnB;IW/gCI;MACE,QAFa;IXmhCnB;IWlhCI;MACE,QAFa;IXshCnB;IWrhCI;MACE,SAFa;IXyhCnB;IWxhCI;MACE,SAFa;IX4hCnB;IW3hCI;MACE,SAFa;IX+hCnB;IWzhCE;MACE,YAAA;IX2hCJ;IWxhCE;MACE,cAAA;MACA,WAAA;IX0hCJ;IWthCI;MACE,cAAA;MACA,oBAAA;IXwhCN;IW1hCI;MACE,cAAA;MACA,qBAAA;IX4hCN;IW9hCI;MACE,cAAA;MACA,UAAA;IXgiCN;IWliCI;MACE,cAAA;MACA,qBAAA;IXoiCN;IWtiCI;MACE,cAAA;MACA,qBAAA;IXwiCN;IW1iCI;MACE,cAAA;MACA,UAAA;IX4iCN;IW9iCI;MACE,cAAA;MACA,qBAAA;IXgjCN;IWljCI;MACE,cAAA;MACA,qBAAA;IXojCN;IWtjCI;MACE,cAAA;MACA,UAAA;IXwjCN;IW1jCI;MACE,cAAA;MACA,qBAAA;IX4jCN;IW9jCI;MACE,cAAA;MACA,qBAAA;IXgkCN;IWlkCI;MACE,cAAA;MACA,WAAA;IXokCN;EACF;ES7mCE;IEUE;MACE,cAAA;MACA,WAAA;IXsmCJ;IWlmCI;MACE,cAAA;MACA,WAAA;IXomCN;IWtmCI;MACE,cAAA;MACA,UAAA;IXwmCN;IW1mCI;MACE,cAAA;MACA,qBAAA;IX4mCN;IW9mCI;MACE,cAAA;MACA,UAAA;IXgnCN;IWlnCI;MACE,cAAA;MACA,UAAA;IXonCN;IWtnCI;MACE,cAAA;MACA,qBAAA;IXwnCN;IWnnCI;MACE,QAFa;IXunCnB;IWtnCI;MACE,QAFa;IX0nCnB;IWznCI;MACE,QAFa;IX6nCnB;IW5nCI;MACE,QAFa;IXgoCnB;IW/nCI;MACE,QAFa;IXmoCnB;IWloCI;MACE,QAFa;IXsoCnB;IWroCI;MACE,QAFa;IXyoCnB;IWxoCI;MACE,QAFa;IX4oCnB;IW3oCI;MACE,QAFa;IX+oCnB;IW9oCI;MACE,QAFa;IXkpCnB;IWjpCI;MACE,SAFa;IXqpCnB;IWppCI;MACE,SAFa;IXwpCnB;IWvpCI;MACE,SAFa;IX2pCnB;IWrpCE;MACE,YAAA;IXupCJ;IWppCE;MACE,cAAA;MACA,WAAA;IXspCJ;IWlpCI;MACE,cAAA;MACA,oBAAA;IXopCN;IWtpCI;MACE,cAAA;MACA,qBAAA;IXwpCN;IW1pCI;MACE,cAAA;MACA,UAAA;IX4pCN;IW9pCI;MACE,cAAA;MACA,qBAAA;IXgqCN;IWlqCI;MACE,cAAA;MACA,qBAAA;IXoqCN;IWtqCI;MACE,cAAA;MACA,UAAA;IXwqCN;IW1qCI;MACE,cAAA;MACA,qBAAA;IX4qCN;IW9qCI;MACE,cAAA;MACA,qBAAA;IXgrCN;IWlrCI;MACE,cAAA;MACA,UAAA;IXorCN;IWtrCI;MACE,cAAA;MACA,qBAAA;IXwrCN;IW1rCI;MACE,cAAA;MACA,qBAAA;IX4rCN;IW9rCI;MACE,cAAA;MACA,WAAA;IXgsCN;EACF;AACF;AY1vCA;EACE;IACE,aAAA;IACA,eAAA;IACA,gCAAA;EZ4vCF;EYzvCA;IACE,0CAAA;IACA,YAAA;EZ2vCF;EYxvCA;IACE,aAAA;IACA,cAAA;IACA,cAAA;EZ0vCF;EYvvCA;IACE,2BAAA;EZyvCF;EYrvCE;IACE,mBAAA;EZuvCJ;EYxvCE;IACE,yBAAA;EZ0vCJ;EY3vCE;IACE,wBAAA;EZ6vCJ;EY9vCE;IACE,sBAAA;EZgwCJ;EYjwCE;IACE,wBAAA;EZmwCJ;EYpwCE;IACE,sBAAA;EZswCJ;EYjwCE;IACE,yBAAA;EZmwCJ;EYpwCE;IACE,yBAAA;EZswCJ;EYvwCE;IACE,yBAAA;EZywCJ;EY1wCE;IACE,yBAAA;EZ4wCJ;EY7wCE;IACE,yBAAA;EZ+wCJ;EYhxCE;IACE,yBAAA;EZkxCJ;AACF;AalzCA;EACE;IACE,aAAA;IACA,sBAAA;IACA,8BAAA;EbozCF;EahzCE;IACE,iBAAA;EbkzCJ;EanzCE;IACE,uBAAA;EbqzCJ;EatzCE;IACE,sBAAA;EbwzCJ;EazzCE;IACE,oBAAA;Eb2zCJ;Ea5zCE;IACE,sBAAA;Eb8zCJ;Ea/zCE;IACE,oBAAA;Ebi0CJ;AACF;Ac/zCA;EAOE;IACE,2BAAA;IACA,0EAAA;IACA,uEAAA;IACA,6EAAA;Ed2zCF;EcxzCA;;IAEE,sEAAA;IACA,uEAAA;IACA,2EAAA;IACA,0EAAA;Ed0zCF;EcvzCA;IACE;MACE,wEAAA;MACA,2EAAA;MACA,6EAAA;MACA,8EAAA;IdyzCF;IctzCA;;MAEE,wEAAA;MACA,yEAAA;MACA,4EAAA;MACA,4EAAA;IdwzCF;EACF;EcjzCA;IACE,2BAAA;IACA,0EAAA;IACA,wEAAA;IACA,6EAAA;EdmzCF;EchzCA;;IAEE,qEAAA;IACA,uEAAA;IACA,4EAAA;IACA,0EAAA;EdkzCF;Ec3yCA;IACE,2BAAA;IACA,+DAAA;IACA,yEAAA;IACA,kEAAA;Ed6yCF;Ec1yCA;;IAEE,oEAAA;IACA,uEAAA;IACA,gEAAA;IACA,0EAAA;Ed4yCF;EczyCA;IACE;MACE,wEAAA;MACA,2EAAA;MACA,4EAAA;MACA,8EAAA;Id2yCF;IcxyCA;;MAEE,wEAAA;MACA,2EAAA;MACA,6EAAA;MACA,8EAAA;Id0yCF;IcvyCA;MACE,uEAAA;MACA,0EAAA;MACA,4EAAA;MACA,6EAAA;IdyyCF;IctyCA;;MAEE,uEAAA;MACA,2EAAA;MACA,4EAAA;MACA,8EAAA;IdwyCF;EACF;AACF;Ac1xCA;EACE;;IAEE,uBAAA;IACA,yBAAA;Ed4xCF;EczxCA;IACE,wBAAA;Ed2xCF;AACF;Aej6CA;EAsBE;;IAEE,wBAAA;IACA,yBAAA;IACA,0BAAA;IACA,2BAAA;IACA,0BAAA;IACA,8CAAA;IACA,4CAAA;IACA,kDAAA;IACA,sDAAA;IACA,6CAAA;IACA,4CAAA;IACA,iDAAA;IACA,yCAAA;IACA,kDAAA;IACA,gDAAA;IACA,sEAAA;IACA,uEAAA;IACA,yEAAA;IACA,wBAAA;IACA,0BAAA;IAGE,sEAAA;IACA,sEAAA;IACA,4EAAA;IACA,yEAAA;IAHA,wEAAA;IACA,yEAAA;IACA,8EAAA;IACA,4EAAA;IAHA,uEAAA;IACA,uEAAA;IACA,4EAAA;IACA,0EAAA;IAHA,uEAAA;IACA,uEAAA;IACA,4EAAA;IACA,0EAAA;IAHA,oEAAA;IACA,sEAAA;IACA,2EAAA;IACA,yEAAA;IAHA,wBAAA;IACA,oEAAA;IACA,sEAAA;IACA,uEAAA;Efg6CJ;Ee55CA;IACE;;MAEE,oEAAA;MACA,sEAAA;MACA,sEAAA;MACA,wEAAA;MACA,uEAAA;MACA,8CAAA;MACA,4CAAA;MACA,kDAAA;MACA,sDAAA;MACA,6CAAA;MACA,4CAAA;MACA,iDAAA;MACA,yCAAA;MACA,kDAAA;MACA,gDAAA;MACA,qEAAA;MACA,uEAAA;MAGE,uEAAA;MACA,2EAAA;MACA,6EAAA;MACA,8EAAA;MAHA,0EAAA;MACA,6EAAA;MACA,+EAAA;MACA,gFAAA;MAHA,sEAAA;MACA,2EAAA;MACA,4EAAA;MACA,8EAAA;MAHA,uEAAA;MACA,2EAAA;MACA,4EAAA;MACA,8EAAA;MAHA,sEAAA;MACA,yEAAA;MACA,0EAAA;MACA,4EAAA;MAHA,qEAAA;MACA,wEAAA;MACA,0EAAA;MACA,2EAAA;Ifg7CJ;EACF;Ee56CA;IACE;MACE,wBAAA;MACA,yBAAA;MACA,0BAAA;MACA,2BAAA;MACA,0BAAA;MACA,8CAAA;MACA,4CAAA;MACA,kDAAA;MACA,sDAAA;MACA,6CAAA;MACA,4CAAA;MACA,iDAAA;MACA,yCAAA;MACA,wBAAA;MACA,0BAAA;If86CF;EACF;Ee36CA;IACE;;;;;MAKE,6BAAA;MACA,2BAAA;MACA,0BAAA;MACA,yBAAA;MACA,2BAAA;If66CF;EACF;AACF","file":"fokus-core.css","sourcesContent":["@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Ordem canônica das camadas: declarada uma única vez aqui porque `tokens`\n// é sempre o primeiro `@use` de cada entry point (ver scss/entries/*.scss e\n// scss/fokus.scss) — evita repetir a declaração em cada bundle.\n@layer reset, tokens, base, layout, components, utilities, overrides;\n\n@layer tokens {\n // Bloco incondicional: fallback sRGB, aplicado em todo navegador. Os\n // valores de cor aqui vêm de `rgb-fallback()` (gamut-mapeado a partir do\n // primitivo OKLCH) — ver `tools/_mixins.scss`. É sempre sobrescrito pelo\n // bloco `@supports` abaixo em navegadores com suporte a `oklch()`; um\n // `--fs-*` de cor nunca deve ser lido só daqui em código novo.\n :root {\n --fs-color-white: #{$color-white};\n --fs-color-black: #{$color-black};\n --fs-color-text: #{rgb-fallback($color-gray-900)};\n --fs-color-muted: #{rgb-fallback($color-gray-600)};\n --fs-color-border: #{rgb-fallback($color-gray-300)};\n --fs-color-surface: #{$color-white};\n --fs-color-subtle: #{rgb-fallback($color-gray-100)};\n --fs-font-sans: #{$font-family-sans};\n --fs-font-mono: #{$font-family-mono};\n --fs-font-size-md: #{$font-size-md};\n --fs-font-size-h1: #{$font-size-h1};\n --fs-font-size-h2: #{$font-size-h2};\n --fs-font-size-h3: #{$font-size-h3};\n --fs-font-size-h4: #{$font-size-h4};\n --fs-font-size-h5: #{$font-size-h5};\n --fs-font-size-h6: #{$font-size-h6};\n --fs-font-weight-semibold: #{$font-weight-semibold};\n --fs-line-height-base: #{$line-height-base};\n --fs-line-height-heading: #{$line-height-heading};\n --fs-radius-sm: #{$radius-sm};\n --fs-radius-md: #{$radius-md};\n --fs-radius-lg: #{$radius-lg};\n --fs-gutter-x: #{map.get($spacers, 4)};\n --fs-gutter-y: 0px;\n\n @each $name, $space in $spacers {\n --fs-space-#{$name}: #{$space};\n }\n\n @each $name, $z-index in $z-indexes {\n --fs-z-#{$name}: #{$z-index};\n }\n\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-color: var(--fs-color-primary);\n --fs-focus-ring-size: 3px;\n --fs-focus-ring-color: color-mix(in srgb, var(--fs-focus-color) 22%, transparent);\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-motion-duration-fast: var(--fs-transition-fast);\n --fs-motion-duration-normal: var(--fs-transition-normal);\n --fs-motion-ease-standard: var(--fs-ease-standard);\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n --fs-safe-area-top: env(safe-area-inset-top, 0px);\n --fs-safe-area-right: env(safe-area-inset-right, 0px);\n --fs-safe-area-bottom: env(safe-area-inset-bottom, 0px);\n --fs-safe-area-left: env(safe-area-inset-left, 0px);\n --fs-component-control-height: var(--fs-control-height);\n --fs-component-overlay-backdrop: rgb(0 0 0 / 55%);\n --fs-component-panel-radius: var(--fs-radius-md);\n --fs-component-panel-shadow: var(--fs-shadow-lg);\n --fs-contrast-border-width: var(--fs-border-width);\n --fs-contrast-focus-width: var(--fs-focus-width);\n\n // Referência dos limiares usados pelos utilitários `@container` (ver\n // `packages/fokus-utilities/scss/utilities/_container-queries.scss`).\n // Só informativas: a condição de um `@container` precisa de um valor\n // literal em tempo de build, não aceita `var()` — mudar aqui não\n // recalibra as regras já compiladas, só documenta os valores usados.\n @each $name, $width in $container-breakpoints {\n --fs-cq-#{$name}: #{$width};\n }\n\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-900)};\n --fs-tooltip-text: #{$color-white};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback($color)};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{rgb-fallback(tint-color($color))};\n --fs-alert-#{$name}-text: #{rgb-fallback(shade-color($color))};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{rgb-fallback($bg)};\n }\n }\n\n // Bloco condicional: valores nativos em OKLCH. `@supports (color: oklch(0%\n // 0 0))` só passa em navegadores que entendem a função — os demais ignoram\n // o bloco inteiro e mantêm o fallback sRGB acima. Só propriedades de cor\n // entram aqui; o resto (fontes, raio, sombra, gutter) não tem equivalente\n // \"melhor\" em OKLCH e já está definido de forma incondicional.\n @supports (color: oklch(0% 0 0)) {\n :root {\n --fs-color-text: #{$color-gray-900};\n --fs-color-muted: #{$color-gray-600};\n --fs-color-border: #{$color-gray-300};\n --fs-color-subtle: #{$color-gray-100};\n --fs-tooltip-bg: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{$color};\n --fs-color-on-#{$name}: #{color-contrast($color)};\n --fs-alert-#{$name}-bg: #{tint-color($color)};\n --fs-alert-#{$name}-text: #{shade-color($color)};\n }\n\n @each $name, $bg in $theme-bg-colors {\n --fs-feedback-#{$name}-bg: #{$bg};\n }\n }\n }\n\n @media (prefers-contrast: more) {\n :root {\n --fs-contrast-border-width: 2px;\n --fs-contrast-focus-width: 3px;\n --fs-focus-width: var(--fs-contrast-focus-width);\n --fs-border-width: var(--fs-contrast-border-width);\n }\n }\n}\n","@layer reset, tokens, base, layout, components, utilities, overrides;\n@layer tokens {\n :root {\n --fs-color-white: #ffffff;\n --fs-color-black: #000000;\n --fs-color-text: #1e293b;\n --fs-color-muted: #64748b;\n --fs-color-border: #e2e8f0;\n --fs-color-surface: #ffffff;\n --fs-color-subtle: #f8fafc;\n --fs-font-sans: Plus Jakarta Sans, sans-serif;\n --fs-font-mono: Source Code Pro, monospace;\n --fs-font-size-md: 0.8125rem;\n --fs-font-size-h1: 1.75rem;\n --fs-font-size-h2: 1.5rem;\n --fs-font-size-h3: 1.3125rem;\n --fs-font-size-h4: 1.125rem;\n --fs-font-size-h5: 1rem;\n --fs-font-size-h6: 0.875rem;\n --fs-font-weight-semibold: 600;\n --fs-line-height-base: 1.5;\n --fs-line-height-heading: 1.25;\n --fs-radius-sm: 4px;\n --fs-radius-md: 6px;\n --fs-radius-lg: 8px;\n --fs-gutter-x: 1.5rem;\n --fs-gutter-y: 0px;\n --fs-space-0: 0;\n --fs-space-1: 0.25rem;\n --fs-space-2: 0.5rem;\n --fs-space-3: 1rem;\n --fs-space-4: 1.5rem;\n --fs-space-5: 3rem;\n --fs-z-base: 0;\n --fs-z-dropdown: 1000;\n --fs-z-sticky: 1020;\n --fs-z-modal: 1050;\n --fs-z-offcanvas: 1060;\n --fs-z-notification: 1080;\n --fs-z-toast: 1090;\n --fs-z-tooltip: 1100;\n --fs-control-height: 38px;\n --fs-control-height-sm: 30px;\n --fs-control-height-lg: 46px;\n --fs-control-padding-x: 12px;\n --fs-control-padding-x-sm: 8px;\n --fs-control-padding-x-lg: 16px;\n --fs-focus-width: 2px;\n --fs-focus-offset: 2px;\n --fs-focus-color: var(--fs-color-primary);\n --fs-focus-ring-size: 3px;\n --fs-focus-ring-color: color-mix(in srgb, var(--fs-focus-color) 22%, transparent);\n --fs-focus-ring-alpha: 22%;\n --fs-transition-fast: 150ms;\n --fs-transition-normal: 220ms;\n --fs-motion-duration-fast: var(--fs-transition-fast);\n --fs-motion-duration-normal: var(--fs-transition-normal);\n --fs-motion-ease-standard: var(--fs-ease-standard);\n --fs-ease-standard: cubic-bezier(0.2, 0, 0, 1);\n --fs-border-width: 1px;\n --fs-disabled-opacity: 0.5;\n --fs-safe-area-top: env(safe-area-inset-top, 0px);\n --fs-safe-area-right: env(safe-area-inset-right, 0px);\n --fs-safe-area-bottom: env(safe-area-inset-bottom, 0px);\n --fs-safe-area-left: env(safe-area-inset-left, 0px);\n --fs-component-control-height: var(--fs-control-height);\n --fs-component-overlay-backdrop: rgb(0 0 0 / 55%);\n --fs-component-panel-radius: var(--fs-radius-md);\n --fs-component-panel-shadow: var(--fs-shadow-lg);\n --fs-contrast-border-width: var(--fs-border-width);\n --fs-contrast-focus-width: var(--fs-focus-width);\n --fs-cq-sm: 320px;\n --fs-cq-md: 480px;\n --fs-cq-lg: 640px;\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 15%), 0 1px 2px rgb(0 0 0 / 10%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 15%), 0 3px 6px rgb(0 0 0 / 10%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 18%), 0 6px 12px rgb(0 0 0 / 12%);\n --fs-tooltip-bg: #1e293b;\n --fs-tooltip-text: #ffffff;\n --fs-color-primary: #1a61e6;\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: rgb(220.3846532222, 232.689549371, 254.1042117072);\n --fs-alert-primary-text: rgb(4.2540793692, 32.6552622518, 88.5748738661);\n --fs-color-secondary: #64748b;\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: rgb(230.2895610064, 233.0325853352, 236.9919508609);\n --fs-alert-secondary-text: rgb(33.9166068747, 40.6437781967, 50.3140869721);\n --fs-color-success: rgb(13, 209, 87);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: rgb(228.9046733915, 249.1514320752, 230.8709345684);\n --fs-alert-success-text: rgb(1.6574790861, 79.745461506, 28.4507801755);\n --fs-color-warning: #fab633;\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: rgb(254.9170612621, 244.6528756631, 228.9710928247);\n --fs-alert-warning-text: rgb(96.9838380187, 68.3933599001, 13.3146447009);\n --fs-color-danger: #cc3335;\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: rgb(251.9225977632, 226.389403069, 223.5618211362);\n --fs-alert-danger-text: rgb(77.6432204678, 13.3146447009, 14.1555411162);\n --fs-color-info: #5e5cc7;\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: rgb(228.2395257626, 230.4806192824, 248.3934544766);\n --fs-alert-info-text: rgb(31.3939176289, 30.5530212136, 75.5409794297);\n --fs-feedback-primary-bg: #e6f0ff;\n --fs-feedback-secondary-bg: #f8fafc;\n --fs-feedback-success-bg: #e6fff2;\n --fs-feedback-warning-bg: #fff9e6;\n --fs-feedback-danger-bg: #fff2f3;\n --fs-feedback-info-bg: #f2f2ff;\n }\n @supports (color: oklch(0% 0 0deg)) {\n :root {\n --fs-color-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-muted: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-border: oklch(92.876126719% 0.0126187744 255.5078854448deg);\n --fs-color-subtle: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-bg: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(53.5630074284% 0.2132145174 261.6264320248deg);\n --fs-color-on-primary: #ffffff;\n --fs-alert-primary-bg: oklch(93.0344511143% 0.0319821776 261.6264320248deg);\n --fs-alert-primary-text: oklch(26.7815037142% 0.1066072587 261.6264320248deg);\n --fs-color-secondary: oklch(55.4391007662% 0.040717043 257.4166191214deg);\n --fs-color-on-secondary: #ffffff;\n --fs-alert-secondary-bg: oklch(93.3158651149% 0.0061075564 257.4166191214deg);\n --fs-alert-secondary-text: oklch(27.7195503831% 0.0203585215 257.4166191214deg);\n --fs-color-success: oklch(75.151587899% 0.2146126169 148.125846236deg);\n --fs-color-on-success: #000000;\n --fs-alert-success-bg: oklch(96.2727381849% 0.0321918925 148.125846236deg);\n --fs-alert-success-text: oklch(37.5757939495% 0.1073063085 148.125846236deg);\n --fs-color-warning: oklch(81.9510815663% 0.1562613975 78.6575213966deg);\n --fs-color-on-warning: #000000;\n --fs-alert-warning-bg: oklch(97.2926622349% 0.0234392096 78.6575213966deg);\n --fs-alert-warning-text: oklch(40.9755407832% 0.0781306987 78.6575213966deg);\n --fs-color-danger: oklch(55.9653139301% 0.1897270855 25.2407937498deg);\n --fs-color-on-danger: #ffffff;\n --fs-alert-danger-bg: oklch(93.3947970895% 0.0284590628 25.2407937498deg);\n --fs-alert-danger-text: oklch(27.982656965% 0.0948635427 25.2407937498deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-color-on-info: #ffffff;\n --fs-alert-info-bg: oklch(93.0003967004% 0.0243019669 280.2231949375deg);\n --fs-alert-info-text: oklch(26.6679890014% 0.0810065564 280.2231949375deg);\n --fs-feedback-primary-bg: oklch(95.2067827456% 0.0228899025 258.359342143deg);\n --fs-feedback-secondary-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-feedback-success-bg: oklch(97.8305614459% 0.0311593614 163.2740567608deg);\n --fs-feedback-warning-bg: oklch(98.17094418% 0.025708244 92.3886876566deg);\n --fs-feedback-danger-bg: oklch(97.1603097552% 0.0140720277 12.0135639679deg);\n --fs-feedback-info-bg: oklch(96.4918490239% 0.0173174767 286.0707018324deg);\n }\n }\n @media (prefers-contrast: more) {\n :root {\n --fs-contrast-border-width: 2px;\n --fs-contrast-focus-width: 3px;\n --fs-focus-width: var(--fs-contrast-focus-width);\n --fs-border-width: var(--fs-contrast-border-width);\n }\n }\n}\n@layer tokens {\n :root {\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n [hidden] {\n display: none !important;\n }\n}\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n/* stylelint-disable property-no-deprecated, selector-not-notation */\n@layer reset {\n :focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n }\n @media (forced-colors: active) {\n :focus-visible {\n outline: 2px solid CanvasText;\n outline-offset: 2px;\n }\n button,\n [role=button],\n input,\n select,\n textarea,\n .fs-btn {\n border-color: ButtonText;\n forced-color-adjust: auto;\n }\n .fs-u-focus-ring:focus-visible {\n outline: 3px solid Highlight;\n }\n }\n}\n@layer utilities {\n .fs-u-visually-hidden:not(:focus):not(:focus-within),\n .fs-u-visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n .fs-skip-link {\n position: fixed;\n z-index: 1000;\n inset-block-start: var(--fs-space-2);\n inset-inline-start: var(--fs-space-2);\n transform: translateY(-200%);\n padding: var(--fs-space-2) var(--fs-space-3);\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n border-radius: var(--fs-radius-sm);\n }\n .fs-skip-link:focus {\n transform: translateY(0);\n }\n}\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, 0.5rem);\n }\n .fs-cluster-gap-0 {\n --fs-cluster-gap: 0;\n }\n .fs-cluster-gap-1 {\n --fs-cluster-gap: 0.25rem;\n }\n .fs-cluster-gap-2 {\n --fs-cluster-gap: 0.5rem;\n }\n .fs-cluster-gap-3 {\n --fs-cluster-gap: 1rem;\n }\n .fs-cluster-gap-4 {\n --fs-cluster-gap: 1.5rem;\n }\n .fs-cluster-gap-5 {\n --fs-cluster-gap: 3rem;\n }\n}\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n @media (min-width: 640px) {\n .fs-container,\n .fs-container-sm {\n max-width: 600px;\n }\n }\n @media (min-width: 768px) {\n .fs-container,\n .fs-container-md {\n max-width: 720px;\n }\n }\n @media (min-width: 1024px) {\n .fs-container,\n .fs-container-lg {\n max-width: 960px;\n }\n }\n @media (min-width: 1280px) {\n .fs-container,\n .fs-container-xl {\n max-width: 1200px;\n }\n }\n @media (min-width: 1536px) {\n .fs-container,\n .fs-container-xxl {\n max-width: 1440px;\n }\n }\n @media (min-width: 1920px) {\n .fs-container,\n .fs-container-xxxl {\n max-width: 1800px;\n }\n }\n}\n@layer layout {\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n .fs-row-fluid {\n width: 100%;\n }\n .fs-col-fluid {\n width: 100%;\n }\n .fs-row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-0 {\n order: 0;\n }\n .fs-order-1 {\n order: 1;\n }\n .fs-order-2 {\n order: 2;\n }\n .fs-order-3 {\n order: 3;\n }\n .fs-order-4 {\n order: 4;\n }\n .fs-order-5 {\n order: 5;\n }\n .fs-order-6 {\n order: 6;\n }\n .fs-order-7 {\n order: 7;\n }\n .fs-order-8 {\n order: 8;\n }\n .fs-order-9 {\n order: 9;\n }\n .fs-order-10 {\n order: 10;\n }\n .fs-order-11 {\n order: 11;\n }\n .fs-order-12 {\n order: 12;\n }\n .fs-col {\n flex: 1 0 0%;\n }\n .fs-col-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n @media (min-width: 640px) {\n .fs-row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-sm-0 {\n order: 0;\n }\n .fs-order-sm-1 {\n order: 1;\n }\n .fs-order-sm-2 {\n order: 2;\n }\n .fs-order-sm-3 {\n order: 3;\n }\n .fs-order-sm-4 {\n order: 4;\n }\n .fs-order-sm-5 {\n order: 5;\n }\n .fs-order-sm-6 {\n order: 6;\n }\n .fs-order-sm-7 {\n order: 7;\n }\n .fs-order-sm-8 {\n order: 8;\n }\n .fs-order-sm-9 {\n order: 9;\n }\n .fs-order-sm-10 {\n order: 10;\n }\n .fs-order-sm-11 {\n order: 11;\n }\n .fs-order-sm-12 {\n order: 12;\n }\n .fs-col-sm {\n flex: 1 0 0%;\n }\n .fs-col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-sm-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-sm-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-sm-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-sm-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-sm-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-sm-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-sm-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-sm-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 768px) {\n .fs-row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-md-0 {\n order: 0;\n }\n .fs-order-md-1 {\n order: 1;\n }\n .fs-order-md-2 {\n order: 2;\n }\n .fs-order-md-3 {\n order: 3;\n }\n .fs-order-md-4 {\n order: 4;\n }\n .fs-order-md-5 {\n order: 5;\n }\n .fs-order-md-6 {\n order: 6;\n }\n .fs-order-md-7 {\n order: 7;\n }\n .fs-order-md-8 {\n order: 8;\n }\n .fs-order-md-9 {\n order: 9;\n }\n .fs-order-md-10 {\n order: 10;\n }\n .fs-order-md-11 {\n order: 11;\n }\n .fs-order-md-12 {\n order: 12;\n }\n .fs-col-md {\n flex: 1 0 0%;\n }\n .fs-col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-md-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-md-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-md-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-md-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-md-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-md-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-md-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-md-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1024px) {\n .fs-row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-lg-0 {\n order: 0;\n }\n .fs-order-lg-1 {\n order: 1;\n }\n .fs-order-lg-2 {\n order: 2;\n }\n .fs-order-lg-3 {\n order: 3;\n }\n .fs-order-lg-4 {\n order: 4;\n }\n .fs-order-lg-5 {\n order: 5;\n }\n .fs-order-lg-6 {\n order: 6;\n }\n .fs-order-lg-7 {\n order: 7;\n }\n .fs-order-lg-8 {\n order: 8;\n }\n .fs-order-lg-9 {\n order: 9;\n }\n .fs-order-lg-10 {\n order: 10;\n }\n .fs-order-lg-11 {\n order: 11;\n }\n .fs-order-lg-12 {\n order: 12;\n }\n .fs-col-lg {\n flex: 1 0 0%;\n }\n .fs-col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-lg-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-lg-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-lg-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-lg-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-lg-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-lg-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-lg-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-lg-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1280px) {\n .fs-row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xl-0 {\n order: 0;\n }\n .fs-order-xl-1 {\n order: 1;\n }\n .fs-order-xl-2 {\n order: 2;\n }\n .fs-order-xl-3 {\n order: 3;\n }\n .fs-order-xl-4 {\n order: 4;\n }\n .fs-order-xl-5 {\n order: 5;\n }\n .fs-order-xl-6 {\n order: 6;\n }\n .fs-order-xl-7 {\n order: 7;\n }\n .fs-order-xl-8 {\n order: 8;\n }\n .fs-order-xl-9 {\n order: 9;\n }\n .fs-order-xl-10 {\n order: 10;\n }\n .fs-order-xl-11 {\n order: 11;\n }\n .fs-order-xl-12 {\n order: 12;\n }\n .fs-col-xl {\n flex: 1 0 0%;\n }\n .fs-col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1536px) {\n .fs-row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xxl-0 {\n order: 0;\n }\n .fs-order-xxl-1 {\n order: 1;\n }\n .fs-order-xxl-2 {\n order: 2;\n }\n .fs-order-xxl-3 {\n order: 3;\n }\n .fs-order-xxl-4 {\n order: 4;\n }\n .fs-order-xxl-5 {\n order: 5;\n }\n .fs-order-xxl-6 {\n order: 6;\n }\n .fs-order-xxl-7 {\n order: 7;\n }\n .fs-order-xxl-8 {\n order: 8;\n }\n .fs-order-xxl-9 {\n order: 9;\n }\n .fs-order-xxl-10 {\n order: 10;\n }\n .fs-order-xxl-11 {\n order: 11;\n }\n .fs-order-xxl-12 {\n order: 12;\n }\n .fs-col-xxl {\n flex: 1 0 0%;\n }\n .fs-col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n @media (min-width: 1920px) {\n .fs-row-cols-xxxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-row-cols-xxxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .fs-row-cols-xxxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-row-cols-xxxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-row-cols-xxxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-row-cols-xxxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .fs-row-cols-xxxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-order-xxxl-0 {\n order: 0;\n }\n .fs-order-xxxl-1 {\n order: 1;\n }\n .fs-order-xxxl-2 {\n order: 2;\n }\n .fs-order-xxxl-3 {\n order: 3;\n }\n .fs-order-xxxl-4 {\n order: 4;\n }\n .fs-order-xxxl-5 {\n order: 5;\n }\n .fs-order-xxxl-6 {\n order: 6;\n }\n .fs-order-xxxl-7 {\n order: 7;\n }\n .fs-order-xxxl-8 {\n order: 8;\n }\n .fs-order-xxxl-9 {\n order: 9;\n }\n .fs-order-xxxl-10 {\n order: 10;\n }\n .fs-order-xxxl-11 {\n order: 11;\n }\n .fs-order-xxxl-12 {\n order: 12;\n }\n .fs-col-xxxl {\n flex: 1 0 0%;\n }\n .fs-col-xxxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .fs-col-xxxl-1 {\n flex: 0 0 auto;\n width: 8.3333333333%;\n }\n .fs-col-xxxl-2 {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .fs-col-xxxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .fs-col-xxxl-4 {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .fs-col-xxxl-5 {\n flex: 0 0 auto;\n width: 41.6666666667%;\n }\n .fs-col-xxxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .fs-col-xxxl-7 {\n flex: 0 0 auto;\n width: 58.3333333333%;\n }\n .fs-col-xxxl-8 {\n flex: 0 0 auto;\n width: 66.6666666667%;\n }\n .fs-col-xxxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .fs-col-xxxl-10 {\n flex: 0 0 auto;\n width: 83.3333333333%;\n }\n .fs-col-xxxl-11 {\n flex: 0 0 auto;\n width: 91.6666666667%;\n }\n .fs-col-xxxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n }\n}\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, 1rem);\n }\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n .fs-sidebar-gap-0 {\n --fs-sidebar-gap: 0;\n }\n .fs-sidebar-gap-1 {\n --fs-sidebar-gap: 0.25rem;\n }\n .fs-sidebar-gap-2 {\n --fs-sidebar-gap: 0.5rem;\n }\n .fs-sidebar-gap-3 {\n --fs-sidebar-gap: 1rem;\n }\n .fs-sidebar-gap-4 {\n --fs-sidebar-gap: 1.5rem;\n }\n .fs-sidebar-gap-5 {\n --fs-sidebar-gap: 3rem;\n }\n .fs-sidebar-width-sm {\n --fs-sidebar-width: 120px;\n }\n .fs-sidebar-width-md {\n --fs-sidebar-width: 240px;\n }\n .fs-sidebar-width-lg {\n --fs-sidebar-width: 360px;\n }\n .fs-sidebar-width-xl {\n --fs-sidebar-width: 480px;\n }\n .fs-sidebar-width-xxl {\n --fs-sidebar-width: 600px;\n }\n .fs-sidebar-width-xxxl {\n --fs-sidebar-width: 720px;\n }\n}\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, 1rem);\n }\n .fs-stack-gap-0 {\n --fs-stack-gap: 0;\n }\n .fs-stack-gap-1 {\n --fs-stack-gap: 0.25rem;\n }\n .fs-stack-gap-2 {\n --fs-stack-gap: 0.5rem;\n }\n .fs-stack-gap-3 {\n --fs-stack-gap: 1rem;\n }\n .fs-stack-gap-4 {\n --fs-stack-gap: 1.5rem;\n }\n .fs-stack-gap-5 {\n --fs-stack-gap: 3rem;\n }\n}\n@layer tokens {\n [data-fs-brand=violet] {\n --fs-color-primary: #6d28d9;\n --fs-alert-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n --fs-alert-primary-text: rgb(37.7006407433, 8.7385189481, 83.109047167);\n --fs-feedback-primary-bg: rgb(229.8834406263, 225.8717327657, 252.5458384302);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: rgb(114.6495158739, 57.1165361442, 219.9746158745);\n --fs-alert-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n --fs-alert-primary-text: rgb(167.4962913963, 147.746130571, 240.0249534535);\n --fs-feedback-primary-bg: rgb(31.4819726714, 47.0564006856, 82.6607876597);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=violet] {\n --fs-color-primary: oklch(49.0666497236% 0.2412317343 292.5809393311deg);\n --fs-alert-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n --fs-alert-primary-text: oklch(24.5333248618% 0.1206158672 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(92.3599974585% 0.0361847601 292.5809393311deg);\n }\n [data-fs-brand=violet][data-theme=dark],\n [data-theme=dark] [data-fs-brand=violet] {\n --fs-color-primary: oklch(51.6133172374% 0.2291701476 292.5809393311deg);\n --fs-alert-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n --fs-alert-primary-text: oklch(71.986657348% 0.1326774539 292.5809393311deg);\n --fs-feedback-primary-bg: oklch(31.117092664% 0.067505667 264.9134801836deg);\n }\n }\n [data-fs-brand=corporate] {\n --fs-color-primary: #1d4e89;\n --fs-alert-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n --fs-alert-primary-text: rgb(5.0598830676, 24.6667463069, 49.4731905568);\n --fs-feedback-primary-bg: rgb(219.2237954153, 227.2186121739, 237.6990809983);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: rgb(40.8593466225, 86.5224214637, 143.0926598584);\n --fs-alert-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n --fs-alert-primary-text: rgb(127.9940036809, 155.4045223568, 190.9765129762);\n --fs-feedback-primary-bg: rgb(31.2586947979, 46.3186220749, 70.1321749545);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: #f2542d;\n --fs-alert-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n --fs-alert-primary-text: rgb(93.6202523577, 27.1894355526, 10.7919554552);\n --fs-feedback-primary-bg: rgb(255, 231.3637253432, 224.6456124112);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: rgb(244.0763687777, 94.774513804, 58.7750761343);\n --fs-alert-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n --fs-alert-primary-text: rgb(255, 166.953251087, 144.6609410048);\n --fs-feedback-primary-bg: rgb(48.9487024594, 50.7990197305, 85.9119190034);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-fs-brand=corporate] {\n --fs-color-primary: oklch(42.3377990386% 0.1112359961 255.1073474093deg);\n --fs-alert-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n --fs-alert-primary-text: oklch(21.1688995193% 0.055617998 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(91.3506698558% 0.0166853994 255.1073474093deg);\n }\n [data-fs-brand=corporate][data-theme=dark],\n [data-theme=dark] [data-fs-brand=corporate] {\n --fs-color-primary: oklch(45.2209090867% 0.1056741963 255.1073474093deg);\n --fs-alert-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n --fs-alert-primary-text: oklch(68.2857894712% 0.0611797979 255.1073474093deg);\n --fs-feedback-primary-bg: oklch(30.1077650613% 0.0480063062 259.2924413953deg);\n }\n [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(65.5786741493% 0.2007639921 34.7814711243deg);\n --fs-alert-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n --fs-alert-primary-text: oklch(32.7893370747% 0.1003819961 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(94.8368011224% 0.0301145988 34.7814711243deg);\n }\n [data-fs-brand=vibrant][data-theme=dark],\n [data-theme=dark] [data-fs-brand=vibrant] {\n --fs-color-primary: oklch(67.2997404419% 0.1907257925 34.7814711243deg);\n --fs-alert-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n --fs-alert-primary-text: oklch(81.0682707821% 0.1104201957 34.7814711243deg);\n --fs-feedback-primary-bg: oklch(33.5938963279% 0.0614355056 280.2435599526deg);\n }\n }\n}\n@layer overrides {\n [data-fs-brand=vibrant] .fs-btn-primary,\n [data-fs-brand=vibrant] .fs-badge-primary {\n --fs-btn-color: #000000;\n --fs-badge-color: #000000;\n }\n [data-fs-brand=vibrant] .fs-check {\n --fs-check-mark: #000000;\n }\n}\n@layer tokens {\n [data-theme=dark],\n [data-fs-theme=dark] {\n --fs-color-text: #f1f3f4;\n --fs-color-muted: #bdc1c6;\n --fs-color-border: #3c4043;\n --fs-color-surface: #202124;\n --fs-color-subtle: #2b2c2f;\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #f8fafc;\n --fs-tooltip-text: #1e293b;\n --fs-color-primary: rgb(39.8728684152, 106.2372587275, 232.1894887664);\n --fs-alert-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-alert-primary-text: rgb(130.6636212695, 172.0850768824, 246.4419684583);\n --fs-feedback-primary-bg: rgb(30.765779113, 49.9974662348, 82.3021425489);\n --fs-color-secondary: rgb(114.3557068426, 129.039220146, 150.1520317181);\n --fs-alert-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-alert-secondary-text: rgb(166.7597509121, 176.2809684237, 189.9919576187);\n --fs-feedback-secondary-bg: rgb(39.6548148226, 51.4270943358, 70.2648514061);\n --fs-color-success: rgb(134.4501166043, 226.9563331209, 149.6185042518);\n --fs-alert-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-alert-success-text: rgb(155.0475916512, 231.7231823866, 166.1609492581);\n --fs-feedback-success-bg: rgb(24.8621518491, 61.9088085702, 89.0318819222);\n --fs-color-warning: rgb(252.9400238762, 208.7461261831, 137.9221837268);\n --fs-alert-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-alert-warning-text: rgb(253.5439861058, 216.1213263099, 157.1705651606);\n --fs-feedback-warning-bg: rgb(59.1359779173, 56.6792370273, 88.6687774507);\n --fs-color-danger: rgb(208.1189955268, 64.9740184262, 63.4302936954);\n --fs-alert-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-alert-danger-text: rgb(235.4050745756, 149.9650253478, 142.4924034553);\n --fs-feedback-danger-bg: rgb(44.6823973866, 47.5125073063, 81.2083778204);\n --fs-color-info: #5e5cc7;\n --fs-alert-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n --fs-alert-info-text: rgb(160.628671266, 165.881962789, 227.610600335);\n --fs-feedback-info-bg: rgb(35.0058091619, 49.6887857769, 78.5757788254);\n }\n @supports (color: oklch(0% 0 0deg)) {\n [data-theme=dark],\n [data-fs-theme=dark] {\n --fs-color-text: oklch(96.2913383165% 0.002529697 228.7848682695deg);\n --fs-color-muted: oklch(80.9268110646% 0.0083071608 253.8653061211deg);\n --fs-color-border: oklch(36.8827622528% 0.0074489239 240.018838067deg);\n --fs-color-surface: oklch(24.7936263361% 0.0058460141 271.1764187765deg);\n --fs-color-subtle: oklch(29.3286259539% 0.0055990771 271.2234269855deg);\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: oklch(98.4151869501% 0.0034126992 247.8577745944deg);\n --fs-tooltip-text: oklch(27.9495237712% 0.0368481257 260.0309873929deg);\n --fs-color-primary: oklch(55.884857057% 0.2025537915 261.6264320248deg);\n --fs-alert-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-alert-primary-text: oklch(74.4596540856% 0.1172679846 261.6264320248deg);\n --fs-feedback-primary-bg: oklch(31.7915463198% 0.0633030844 260.2703040876deg);\n --fs-color-secondary: oklch(59.8951906896% 0.0366453387 257.4166191214deg);\n --fs-alert-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-alert-secondary-text: oklch(75.4915054214% 0.0223943736 257.4166191214deg);\n --fs-feedback-secondary-bg: oklch(32.0729603204% 0.0374284633 259.6388321521deg);\n --fs-color-success: oklch(83.8485321344% 0.139498201 148.125846236deg);\n --fs-alert-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-alert-success-text: oklch(86.3333733445% 0.1180369393 148.125846236deg);\n --fs-feedback-success-bg: oklch(35.0298333903% 0.0635127994 243.2452162193deg);\n --fs-color-warning: oklch(88.2682030181% 0.1015699084 78.6575213966deg);\n --fs-alert-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-alert-warning-text: oklch(90.0730948615% 0.0859437686 78.6575213966deg);\n --fs-feedback-warning-bg: oklch(36.0497574404% 0.0547601164 286.8249674934deg);\n --fs-color-danger: oklch(58.1670482336% 0.1802407312 25.2407937498deg);\n --fs-alert-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-alert-danger-text: oklch(75.7809226615% 0.104349897 25.2407937498deg);\n --fs-feedback-danger-bg: oklch(32.151892295% 0.0597799696 278.8124583464deg);\n --fs-color-info: oklch(53.3359780029% 0.1620131129 280.2231949375deg);\n --fs-alert-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n --fs-alert-info-text: oklch(74.3347879016% 0.0891072121 280.2231949375deg);\n --fs-feedback-info-bg: oklch(31.7574919059% 0.0556228738 263.0598185246deg);\n }\n }\n @media (prefers-color-scheme: dark) {\n [data-fs-theme=auto] {\n --fs-color-text: #f1f3f4;\n --fs-color-muted: #bdc1c6;\n --fs-color-border: #3c4043;\n --fs-color-surface: #202124;\n --fs-color-subtle: #2b2c2f;\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-tooltip-bg: #f8fafc;\n --fs-tooltip-text: #1e293b;\n }\n }\n @media (forced-colors: active) {\n :root,\n [data-theme=dark],\n [data-fs-theme=light],\n [data-fs-theme=dark],\n [data-fs-theme=auto] {\n --fs-color-border: CanvasText;\n --fs-color-text: CanvasText;\n --fs-color-surface: Canvas;\n --fs-color-subtle: Canvas;\n --fs-focus-color: Highlight;\n }\n }\n}","// Camada semântica: nomeia tokens por PAPEL (o que a cor faz na interface),\n// não por valor. Cada token aqui é um alias `var()` de um token primitivo\n// (`_root.scss`) — não introduz nenhuma cor nova, só um vocabulário estável\n// entre o primitivo e o consumo por componente (ver `_component-buttons.scss`\n// como referência de como um componente deve consumir esta camada).\n// Por que alias e não recalcular o valor: um `var()` encadeado continua\n// resolvendo o fallback sRGB/OKLCH já decidido em `_root.scss` — não precisa\n// repetir a lógica de `@supports` aqui.\n@layer tokens {\n :root {\n // Superfícies\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n\n // Texto\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n\n // Bordas\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n\n // Ação (mapeiam para a cor de tema correspondente — existem para dar um\n // nome estável a \"a cor de ação primária\", independente de qual token\n // primitivo ela usa por baixo).\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n }\n}\n","// Tokens de gráficos: agnósticos de biblioteca — não é um wrapper de\n// Chart.js/ECharts/Recharts/etc., só cores/tema que qualquer uma delas pode\n// consumir via `getComputedStyle`/CSS custom properties. Aliases da camada\n// semântica já existente (mesma técnica de `_semantic.scss`), então\n// acompanham `data-theme`/`data-fs-brand` automaticamente sem token novo por\n// tema. Ver docs/guides/charts.md.\n@layer tokens {\n :root {\n --fs-chart-series-1: var(--fs-color-primary);\n --fs-chart-series-2: var(--fs-color-success);\n --fs-chart-series-3: var(--fs-color-warning);\n --fs-chart-series-4: var(--fs-color-danger);\n --fs-chart-series-5: var(--fs-color-info);\n --fs-chart-series-6: var(--fs-color-secondary);\n --fs-chart-grid: var(--fs-color-border);\n --fs-chart-axis: var(--fs-color-muted);\n --fs-chart-tooltip-bg: var(--fs-tooltip-bg);\n --fs-chart-tooltip-text: var(--fs-tooltip-text);\n }\n}\n","@layer reset {\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n html {\n line-height: var(--fs-line-height-base);\n text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n color: var(--fs-color-text);\n background-color: var(--fs-color-surface);\n }\n\n [hidden] {\n display: none !important;\n }\n}\n","// As declarações @font-face das fontes self-hosted ficam em `_fonts.scss`,\n// distribuído à parte (dist/css/fonts.css) e fora dos bundles principais —\n// ver a nota nesse arquivo. Aqui só aplicamos as pilhas de `font-family`\n// (com fallback sans-serif/monospace, que valem mesmo sem fonts.css).\n\n@layer base {\n body,\n button,\n input,\n select,\n textarea {\n font-family: var(--fs-font-sans);\n font-size: var(--fs-font-size-md);\n }\n\n code,\n kbd,\n pre,\n samp {\n font-family: var(--fs-font-mono);\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-top: 0;\n font-weight: var(--fs-font-weight-semibold);\n line-height: var(--fs-line-height-heading);\n }\n\n h1 {\n font-size: var(--fs-font-size-h1);\n }\n\n h2 {\n font-size: var(--fs-font-size-h2);\n }\n\n h3 {\n font-size: var(--fs-font-size-h3);\n }\n\n h4 {\n font-size: var(--fs-font-size-h4);\n }\n\n h5 {\n font-size: var(--fs-font-size-h5);\n }\n\n h6 {\n font-size: var(--fs-font-size-h6);\n }\n}\n","// Respeita a preferência do sistema sem remover a funcionalidade dos\n// componentes: apenas reduz transições e animações ao estado final.\n@layer base {\n @media (prefers-reduced-motion: reduce) {\n *,\n *::before,\n *::after {\n scroll-behavior: auto !important;\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n\n // Spinner comunica uma operação em curso; congelá-lo o transforma em um\n // ícone ambíguo. Mantemos a animação, porém em ritmo mais lento, para\n // respeitar a preferência sem perder o significado de carregamento.\n .fs-spinner,\n .fs-progress-bar-animated,\n .fs-progress-indeterminate .fs-progress-bar {\n animation-duration: 1.5s !important;\n animation-iteration-count: infinite !important;\n }\n }\n}\n","/* stylelint-disable property-no-deprecated, selector-not-notation */\n@layer reset {\n :focus-visible {\n outline: var(--fs-focus-width) solid var(--fs-focus-color);\n outline-offset: var(--fs-focus-offset);\n }\n\n @media (forced-colors: active) {\n :focus-visible {\n outline: 2px solid CanvasText;\n outline-offset: 2px;\n }\n\n button,\n [role=\"button\"],\n input,\n select,\n textarea,\n .fs-btn {\n border-color: ButtonText;\n forced-color-adjust: auto;\n }\n\n .fs-u-focus-ring:focus-visible {\n outline: 3px solid Highlight;\n }\n }\n}\n\n@layer utilities {\n .fs-u-visually-hidden:not(:focus):not(:focus-within),\n .fs-u-visually-hidden-focusable:not(:focus):not(:focus-within) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip-path: inset(50%) !important;\n white-space: nowrap !important;\n border: 0 !important;\n }\n\n .fs-skip-link {\n position: fixed;\n z-index: 1000;\n inset-block-start: var(--fs-space-2);\n inset-inline-start: var(--fs-space-2);\n transform: translateY(-200%);\n padding: var(--fs-space-2) var(--fs-space-3);\n color: var(--fs-color-on-primary);\n background: var(--fs-color-primary);\n border-radius: var(--fs-radius-sm);\n }\n\n .fs-skip-link:focus {\n transform: translateY(0);\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Agrupa itens horizontalmente com quebra de linha automática e\n// espaçamento consistente nos dois eixos — ideal para grupos de\n// tags/botões/badges que precisam \"fluir\" sem estourar o container.\n@layer layout {\n .fs-cluster {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--fs-cluster-gap, #{map.get($spacers, 2)});\n }\n\n @each $key, $value in $spacers {\n .fs-cluster-gap-#{$key} {\n --fs-cluster-gap: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n .fs-container,\n .fs-container-sm,\n .fs-container-md,\n .fs-container-lg,\n .fs-container-xl,\n .fs-container-xxl,\n .fs-container-xxxl,\n .fs-container-fluid {\n width: 100%;\n margin-right: auto;\n margin-left: auto;\n }\n\n @each $breakpoint, $width in $container-max-widths {\n @include media-breakpoint-up($breakpoint) {\n .fs-container,\n .fs-container-#{$breakpoint} {\n max-width: $width;\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:color\";\n@use \"../settings\" as *;\n\n@mixin fs-fluid-type($min, $max, $min-vw: 320px, $max-vw: 1280px) {\n font-size: clamp($min, calc(#{$min} + (#{ $max } - #{ $min }) * ((100vw - #{ $min-vw }) / (#{ $max-vw } - #{ $min-vw }))), $max);\n}\n\n@mixin fs-fluid-value($property, $min, $max, $min-vw: 320px, $max-vw: 1280px) {\n #{$property}: clamp($min, calc(#{$min} + (#{ $max } - #{ $min }) * ((100vw - #{ $min-vw }) / (#{ $max-vw } - #{ $min-vw }))), $max);\n}\n\n@mixin media-breakpoint-up($name) {\n $min: map.get($breakpoints, $name);\n\n @if $min == null {\n @error \"Unknown breakpoint `#{$name}`.\";\n }\n\n @if $min == 0 {\n @content;\n } @else {\n @media (min-width: $min) {\n @content;\n }\n }\n}\n\n@function breakpoint-infix($name) {\n @if $name == xs {\n @return \"\";\n }\n\n @return \"-#{$name}\";\n}\n\n@mixin focus-ring($color: var(--fs-color-primary)) {\n outline: var(--fs-focus-width) solid $color;\n outline-offset: var(--fs-focus-offset);\n border-color: $color;\n box-shadow: 0 0 0 3px color-mix(in srgb, #{$color} 22%, transparent);\n}\n\n@mixin truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@function linearize-channel($value) {\n $c: math.div($value, 255);\n\n @if $c <= 0.0393 {\n @return math.div($c, 12.92);\n }\n\n @return math.pow(math.div($c + 0.055, 1.055), 2.4);\n}\n\n@function relative-luminance($color) {\n $r: linearize-channel(color.channel($color, \"red\", $space: rgb));\n $g: linearize-channel(color.channel($color, \"green\", $space: rgb));\n $b: linearize-channel(color.channel($color, \"blue\", $space: rgb));\n\n @return (0.2126 * $r) + (0.7152 * $g) + (0.0722 * $b);\n}\n\n@function color-contrast($background, $min-contrast: 4.5) {\n $contrast-with-white: math.div(1.05, relative-luminance($background) + 0.05);\n\n @if $contrast-with-white >= $min-contrast {\n @return $color-white;\n }\n\n @return $color-black;\n}\n\n// Razão de contraste WCAG entre duas cores (1–21). Usada pelo relatório de\n// contraste do build (`npm run contrast`, `scripts/contrast-report.scss`) —\n// ver docs/reference/contrast-report.md para os pares auditados.\n@function contrast-ratio($foreground, $background) {\n $l1: relative-luminance($foreground) + 0.05;\n $l2: relative-luminance($background) + 0.05;\n\n @if $l1 > $l2 {\n @return math.div($l1, $l2);\n }\n\n @return math.div($l2, $l1);\n}\n\n@function tint-color($color, $weight: 15%) {\n @return color.mix($color, $color-white, $weight, $method: oklch);\n}\n\n@function shade-color($color, $weight: 50%) {\n @return color.mix($color, $color-black, $weight, $method: oklch);\n}\n\n// Fallback sRGB de uma cor OKLCH para navegadores sem suporte a `oklch()`\n// (ver `@supports` em tokens/_root.scss e themes/_dark.scss). Faz gamut\n// mapping antes da conversão — misturas em OKLCH frequentemente caem fora do\n// gamut sRGB, e converter sem mapear gera `rgb()`/`hsl()` com canais\n// inválidos (saturação > 100%, etc.).\n@function rgb-fallback($color) {\n $mapped: color.to-gamut($color, $space: rgb, $method: local-minde);\n\n @return color.to-space($mapped, rgb);\n}\n","// Escala alinhada às larguras lógicas de tela mais comuns do mercado atual:\n// sm/tablet retrato (~768 já cobria isso; 640 cobre phablets/tablets pequenos\n// antes desse corte), lg = tablet paisagem/iPad (1024), xl = laptop comum\n// (1280), xxl = notebook/desktop com escala (Mac/Windows a 1536 lógico),\n// xxxl = monitor externo Full HD sem escala (1920).\n$breakpoints: (\n xs: 0,\n sm: 640px,\n md: 768px,\n lg: 1024px,\n xl: 1280px,\n xxl: 1536px,\n xxxl: 1920px\n) !default;\n\n$container-max-widths: (\n sm: 600px,\n md: 720px,\n lg: 960px,\n xl: 1200px,\n xxl: 1440px,\n xxxl: 1800px\n) !default;\n\n$column-max-widths: (\n sm: 120px,\n md: 240px,\n lg: 360px,\n xl: 480px,\n xxl: 600px,\n xxxl: 720px\n) !default;\n","@use \"sass:math\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n@layer layout {\n $grid-columns: 12;\n\n .fs-row {\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--fs-gutter-y) * -1);\n margin-right: calc(var(--fs-gutter-x) / -2);\n margin-left: calc(var(--fs-gutter-x) / -2);\n }\n\n .fs-row > * {\n margin-top: var(--fs-gutter-y);\n padding-right: calc(var(--fs-gutter-x) / 2);\n padding-left: calc(var(--fs-gutter-x) / 2);\n }\n\n .fs-row-fluid {\n width: 100%;\n }\n\n .fs-col-fluid {\n width: 100%;\n }\n\n @each $breakpoint, $min in $breakpoints {\n $infix: breakpoint-infix($breakpoint);\n\n @include media-breakpoint-up($breakpoint) {\n .fs-row-cols#{$infix}-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n @for $count from 1 through 6 {\n .fs-row-cols#{$infix}-#{$count} > * {\n flex: 0 0 auto;\n width: math.percentage(math.div(1, $count));\n }\n }\n\n @for $order from 0 through $grid-columns {\n .fs-order#{$infix}-#{$order} {\n order: $order;\n }\n }\n\n .fs-col#{$infix} {\n flex: 1 0 0%;\n }\n\n .fs-col#{$infix}-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n @for $i from 1 through $grid-columns {\n .fs-col#{$infix}-#{$i} {\n flex: 0 0 auto;\n width: math.percentage(math.div($i, $grid-columns));\n }\n }\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Um lado com largura fixa (a \"aside\") e o outro preenchendo o espaço\n// restante, quebrando para empilhado quando o container fica estreito\n// demais — sem media query: `.fs-sidebar-content` força a quebra via\n// `min-width` quando não cabe ao lado da aside na mesma linha.\n@layer layout {\n .fs-sidebar {\n display: flex;\n flex-wrap: wrap;\n gap: var(--fs-sidebar-gap, #{map.get($spacers, 3)});\n }\n\n .fs-sidebar-aside {\n flex-basis: var(--fs-sidebar-width, 16rem);\n flex-grow: 1;\n }\n\n .fs-sidebar-content {\n flex-basis: 0;\n flex-grow: 999;\n min-width: 50%;\n }\n\n .fs-sidebar-reverse {\n flex-direction: row-reverse;\n }\n\n @each $key, $value in $spacers {\n .fs-sidebar-gap-#{$key} {\n --fs-sidebar-gap: #{$value};\n }\n }\n\n @each $key, $value in $column-max-widths {\n .fs-sidebar-width-#{$key} {\n --fs-sidebar-width: #{$value};\n }\n }\n}\n","@use \"sass:map\";\n@use \"../settings\" as *;\n\n// Empilha os filhos diretos verticalmente com espaçamento consistente —\n// `gap` em vez de margin, evita o problema clássico de \"último filho não\n// deve ter margin-bottom\" sem seletor extra.\n@layer layout {\n .fs-stack {\n display: flex;\n flex-direction: column;\n gap: var(--fs-stack-gap, #{map.get($spacers, 3)});\n }\n\n @each $key, $value in $spacers {\n .fs-stack-gap-#{$key} {\n --fs-stack-gap: #{$value};\n }\n }\n}\n","@use \"sass:color\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Theming multi-brand: um `data-fs-brand=\"x\"` sobrescreve só a cor de AÇÃO\n// PRIMÁRIA (--fs-color-primary e os tokens derivados) — secondary/success/\n// warning/danger/info continuam universais entre marcas, porque são\n// semânticos (sucesso é sempre verde, erro sempre vermelho, independente\n// de qual marca está ativa). Composto com `data-theme=\"dark\"` do mesmo\n// jeito que `_dark.scss` faz para a paleta padrão: mistura o primitivo com\n// branco/preto em OKLCH, não recalcula do zero.\n// Limitação conhecida: `.fs-btn-primary`/`.fs-badge-primary` (preenchimento\n// sólido) calculam a cor do texto em tempo de build via `color-contrast()`\n// a partir do primary padrão (azul) — não recalculam por marca. Escolha um\n// primitivo de marca escuro o bastante pro texto branco continuar legível\n// (como o exemplo abaixo), ou sobrescreva `--fs-btn-color`/`--fs-badge-color`\n// manualmente se o primitivo da marca for muito claro. Ver\n// `docs/guides/theming.md#multi-brand`.\n@layer tokens {\n // Marca de exemplo (\"violet\") — mesmo tom usado no exemplo de\n // customização do README, só pra provar que a troca funciona em runtime\n // sem recompilar CSS. Um projeto real substitui/adiciona marcas\n // definindo o próprio primitivo antes de `@use` este arquivo.\n $brand-violet-primary: color.to-space(#6d28d9, oklch) !default;\n\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback($brand-violet-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-violet-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-violet-primary))};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-violet-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{$brand-violet-primary};\n --fs-alert-primary-bg: #{tint-color($brand-violet-primary)};\n --fs-alert-primary-text: #{shade-color($brand-violet-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-violet-primary)};\n }\n\n [data-fs-brand=\"violet\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"violet\"] {\n --fs-color-primary: #{color.mix($brand-violet-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-violet-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-violet-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n\n // Preset \"corporate\" — azul-marinho/steel blue, tom sóbrio para\n // aplicações internas/B2B. Mesma técnica de mistura OKLCH acima.\n $brand-corporate-primary: color.to-space(#1d4e89, oklch) !default;\n\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback($brand-corporate-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-corporate-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-corporate-primary))};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n // Preset \"vibrant\" — laranja energético, tom para produtos de consumo/\n // marketing que queiram uma ação primária mais chamativa.\n $brand-vibrant-primary: color.to-space(#f2542d, oklch) !default;\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback($brand-vibrant-primary)};\n --fs-alert-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n --fs-alert-primary-text: #{rgb-fallback(shade-color($brand-vibrant-primary))};\n --fs-feedback-primary-bg: #{rgb-fallback(tint-color($brand-vibrant-primary))};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch))};\n --fs-alert-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n --fs-alert-primary-text: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch))};\n --fs-feedback-primary-bg: #{rgb-fallback(color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch))};\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{$brand-corporate-primary};\n --fs-alert-primary-bg: #{tint-color($brand-corporate-primary)};\n --fs-alert-primary-text: #{shade-color($brand-corporate-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-corporate-primary)};\n }\n\n [data-fs-brand=\"corporate\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"corporate\"] {\n --fs-color-primary: #{color.mix($brand-corporate-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-corporate-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-corporate-primary, $color-gray-900, 15%, $method: oklch)};\n }\n\n [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{$brand-vibrant-primary};\n --fs-alert-primary-bg: #{tint-color($brand-vibrant-primary)};\n --fs-alert-primary-text: #{shade-color($brand-vibrant-primary)};\n --fs-feedback-primary-bg: #{tint-color($brand-vibrant-primary)};\n }\n\n [data-fs-brand=\"vibrant\"][data-theme=\"dark\"],\n [data-theme=\"dark\"] [data-fs-brand=\"vibrant\"] {\n --fs-color-primary: #{color.mix($brand-vibrant-primary, $color-white, 95%, $method: oklch)};\n --fs-alert-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n --fs-alert-primary-text: #{color.mix($brand-vibrant-primary, $color-white, 55%, $method: oklch)};\n --fs-feedback-primary-bg: #{color.mix($brand-vibrant-primary, $color-gray-900, 15%, $method: oklch)};\n }\n }\n}\n\n// Ao contrário de violet/corporate, o primitivo \"vibrant\" (laranja) é claro\n// o bastante pra o texto branco padrão de `.fs-btn-primary`/`.fs-badge-primary`\n// (calculado em tempo de build a partir do primary PADRÃO, não do de marca —\n// ver nota no topo do arquivo) cair abaixo de 4.5:1 — exatamente o caso que\n// a mitigação documentada em docs/guides/theming.md#multi-brand cobre.\n// Precisa estar em `@layer overrides` (a camada de maior prioridade — ver\n// `tokens/_root.scss`): `.fs-btn-primary`/`.fs-badge-primary` setam\n// `--fs-btn-color`/`--fs-badge-color` no próprio elemento dentro de\n// `@layer components`, e cascade layers ignoram especificidade — um\n// seletor mais específico em `@layer tokens` (onde vivem os blocos acima)\n// perderia mesmo assim.\n@layer overrides {\n [data-fs-brand=\"vibrant\"] .fs-btn-primary,\n [data-fs-brand=\"vibrant\"] .fs-badge-primary {\n --fs-btn-color: #{$color-black};\n --fs-badge-color: #{$color-black};\n }\n\n [data-fs-brand=\"vibrant\"] .fs-check {\n --fs-check-mark: #{$color-black};\n }\n}\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"../settings\" as *;\n@use \"../tools\" as *;\n\n// Peso (% da cor original mantida, ver color.mix()) de cada cor de estado no\n// tema escuro. O limite de cada uma é o quanto dá pra clarear em direção ao\n// branco antes de virar o texto branco/preto que color-contrast() já\n// pré-calculou para os preenchimentos sólidos (botões, badges) no tema claro\n// — passar do limite deixaria esse texto ilegível. `primary` e `danger` têm\n// texto branco no preenchimento, então clareiam pouco (clarear reduz o\n// contraste com o branco); `info` não tem margem e fica sem alteração (100%).\n// Misturas em `$method: oklch` (ver tools/_mixins.scss) — recalibrado e\n// revalidado com `npm run contrast` após a migração para OKLCH.\n@layer tokens {\n $dark-color-weights: (\n primary: 95%,\n secondary: 90%,\n success: 65%,\n warning: 65%,\n danger: 95%,\n info: 100%\n ) !default;\n\n $dark-text: color.to-space(#f1f3f4, oklch) !default;\n $dark-muted: color.to-space(#bdc1c6, oklch) !default;\n $dark-border: color.to-space(#3c4043, oklch) !default;\n $dark-surface: color.to-space(#202124, oklch) !default;\n $dark-subtle: color.to-space(#2b2c2f, oklch) !default;\n\n // Pesos de alert/feedback bg+text no escuro: validados por\n // `npm run contrast` para ≥4.5:1 (texto normal) em todas as 6 cores —\n // não abaixe sem reconferir o relatório.\n $dark-alert-bg-weight: 15%;\n $dark-alert-text-weight: 55%;\n\n [data-theme=\"dark\"],\n [data-fs-theme=\"dark\"] {\n --fs-color-text: #{rgb-fallback($dark-text)};\n --fs-color-muted: #{rgb-fallback($dark-muted)};\n --fs-color-border: #{rgb-fallback($dark-border)};\n --fs-color-surface: #{rgb-fallback($dark-surface)};\n --fs-color-subtle: #{rgb-fallback($dark-subtle)};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-shadow-sm: 0 1px 3px rgb(0 0 0 / 50%), 0 1px 2px rgb(0 0 0 / 40%);\n --fs-shadow-md: 0 6px 12px rgb(0 0 0 / 55%), 0 3px 6px rgb(0 0 0 / 45%);\n --fs-shadow-lg: 0 15px 30px rgb(0 0 0 / 60%), 0 6px 12px rgb(0 0 0 / 50%);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-100)};\n --fs-tooltip-text: #{rgb-fallback($color-gray-900)};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{rgb-fallback(color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch))};\n --fs-alert-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n --fs-alert-#{$name}-text: #{rgb-fallback(color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch))};\n --fs-feedback-#{$name}-bg: #{rgb-fallback(color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch))};\n }\n }\n\n @supports (color: oklch(0% 0 0)) {\n [data-theme=\"dark\"],\n [data-fs-theme=\"dark\"] {\n --fs-color-text: #{$dark-text};\n --fs-color-muted: #{$dark-muted};\n --fs-color-border: #{$dark-border};\n --fs-color-surface: #{$dark-surface};\n --fs-color-subtle: #{$dark-subtle};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-color-action-primary: var(--fs-color-primary);\n --fs-color-action-danger: var(--fs-color-danger);\n --fs-tooltip-bg: #{$color-gray-100};\n --fs-tooltip-text: #{$color-gray-900};\n\n @each $name, $color in $theme-colors {\n --fs-color-#{$name}: #{color.mix($color, $color-white, map.get($dark-color-weights, $name), $method: oklch)};\n --fs-alert-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n --fs-alert-#{$name}-text: #{color.mix($color, $color-white, $dark-alert-text-weight, $method: oklch)};\n --fs-feedback-#{$name}-bg: #{color.mix($color, $color-gray-900, $dark-alert-bg-weight, $method: oklch)};\n }\n }\n }\n\n @media (prefers-color-scheme: dark) {\n [data-fs-theme=\"auto\"] {\n --fs-color-text: #{rgb-fallback($dark-text)};\n --fs-color-muted: #{rgb-fallback($dark-muted)};\n --fs-color-border: #{rgb-fallback($dark-border)};\n --fs-color-surface: #{rgb-fallback($dark-surface)};\n --fs-color-subtle: #{rgb-fallback($dark-subtle)};\n --fs-color-bg-surface: var(--fs-color-surface);\n --fs-color-bg-subtle: var(--fs-color-subtle);\n --fs-color-surface-raised: var(--fs-color-surface);\n --fs-color-surface-interactive: var(--fs-color-subtle);\n --fs-color-text-primary: var(--fs-color-text);\n --fs-color-text-muted: var(--fs-color-muted);\n --fs-color-border-default: var(--fs-color-border);\n --fs-color-focus: var(--fs-color-primary);\n --fs-tooltip-bg: #{rgb-fallback($color-gray-100)};\n --fs-tooltip-text: #{rgb-fallback($color-gray-900)};\n }\n }\n\n @media (forced-colors: active) {\n :root,\n [data-theme=\"dark\"],\n [data-fs-theme=\"light\"],\n [data-fs-theme=\"dark\"],\n [data-fs-theme=\"auto\"] {\n --fs-color-border: CanvasText;\n --fs-color-text: CanvasText;\n --fs-color-surface: Canvas;\n --fs-color-subtle: Canvas;\n --fs-focus-color: Highlight;\n }\n }\n}\n"]}
|