@inchurch/matcha-theme 22.39.0 → 22.40.1

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.
Files changed (93) hide show
  1. package/abstracts/_colors.scss +291 -291
  2. package/abstracts/_elevation.scss +108 -108
  3. package/abstracts/_functions.scss +321 -321
  4. package/abstracts/_media-breakpoint.scss +26 -26
  5. package/abstracts/_theme-api.scss +224 -224
  6. package/abstracts/_typography.scss +128 -128
  7. package/base/_reset.scss +487 -487
  8. package/components/app-page-header.scss +260 -260
  9. package/components/matcha-accordion.scss +297 -297
  10. package/components/matcha-audio-player.scss +31 -31
  11. package/components/matcha-autocomplete.scss +145 -145
  12. package/components/matcha-avatar.scss +426 -426
  13. package/components/matcha-badge.scss +120 -120
  14. package/components/matcha-breadcrumb.scss +231 -231
  15. package/components/matcha-button-toggle.scss +484 -484
  16. package/components/matcha-buttons.scss +973 -973
  17. package/components/matcha-calendar.scss +253 -253
  18. package/components/matcha-cards.scss +212 -212
  19. package/components/matcha-chart-card.scss +53 -53
  20. package/components/matcha-checkbox.scss +266 -266
  21. package/components/matcha-chip.scss +311 -311
  22. package/components/matcha-color-pick.scss +34 -34
  23. package/components/matcha-command-palette.scss +316 -316
  24. package/components/matcha-crop.scss +419 -419
  25. package/components/matcha-date.scss +81 -81
  26. package/components/matcha-divider.scss +100 -100
  27. package/components/matcha-draggable.scss +23 -23
  28. package/components/matcha-drawer.scss +376 -376
  29. package/components/matcha-drop-image.scss +14 -14
  30. package/components/matcha-drop-list.scss +430 -430
  31. package/components/matcha-emoji.scss +69 -69
  32. package/components/matcha-empty-state.scss +230 -230
  33. package/components/matcha-file-uploader.scss +650 -650
  34. package/components/matcha-flag.scss +103 -103
  35. package/components/matcha-footer.scss +91 -91
  36. package/components/matcha-form-field.scss +883 -883
  37. package/components/matcha-form-section.scss +100 -100
  38. package/components/matcha-header.scss +135 -135
  39. package/components/matcha-highlight.scss +164 -164
  40. package/components/matcha-hint-text.scss +90 -90
  41. package/components/matcha-horizontal-tree.scss +247 -247
  42. package/components/matcha-icon.scss +111 -111
  43. package/components/matcha-image.scss +60 -60
  44. package/components/matcha-list.scss +211 -211
  45. package/components/matcha-menu.scss +99 -99
  46. package/components/matcha-modal.scss +210 -210
  47. package/components/matcha-nav.scss +770 -770
  48. package/components/matcha-notification.scss +417 -417
  49. package/components/matcha-option.scss +170 -170
  50. package/components/matcha-page-builder.scss +4196 -4196
  51. package/components/matcha-paginator.scss +699 -699
  52. package/components/matcha-panel.scss +216 -216
  53. package/components/matcha-period.scss +174 -174
  54. package/components/matcha-profile-card.scss +50 -50
  55. package/components/matcha-progress-bar.scss +355 -355
  56. package/components/matcha-radio.scss +325 -325
  57. package/components/matcha-ripple.scss +7 -7
  58. package/components/matcha-scrollbar.scss +33 -33
  59. package/components/matcha-scrollbox-shadow.scss +120 -120
  60. package/components/matcha-section.scss +102 -102
  61. package/components/matcha-select-multiple.scss +56 -56
  62. package/components/matcha-select.scss +643 -629
  63. package/components/matcha-skeleton.scss +182 -182
  64. package/components/matcha-slide-toggle.scss +369 -369
  65. package/components/matcha-slider.scss +285 -285
  66. package/components/matcha-snack-bar.scss +259 -259
  67. package/components/matcha-spin.scss +164 -164
  68. package/components/matcha-spinner.scss +97 -97
  69. package/components/matcha-stepper.scss +376 -376
  70. package/components/matcha-table-cell.scss +107 -107
  71. package/components/matcha-table.scss +722 -722
  72. package/components/matcha-tabs.scss +642 -642
  73. package/components/matcha-text-editor.scss +111 -111
  74. package/components/matcha-time.scss +33 -33
  75. package/components/matcha-timepicker.scss +13 -13
  76. package/components/matcha-toolbar.scss +366 -366
  77. package/components/matcha-tooltip.scss +235 -235
  78. package/components/matcha-tree-view.scss +658 -658
  79. package/layout/matcha-page-layout.scss +778 -778
  80. package/main.scss +334 -334
  81. package/package.json +1 -1
  82. package/tokens/_animations-tokens.scss +37 -37
  83. package/tokens/_breakpoints-tokens.scss +35 -35
  84. package/tokens/_color-tokens.scss +288 -288
  85. package/tokens/_elevation-tokens.scss +33 -33
  86. package/tokens/_emit-tokens.scss +329 -329
  87. package/tokens/_material-palette.scss +1149 -1149
  88. package/tokens/_primitives.scss +98 -98
  89. package/tokens/_semantic-aliases.scss +120 -120
  90. package/tokens/_spacing-tokens.scss +94 -94
  91. package/tokens/_static-tokens.scss +137 -137
  92. package/tokens/_typography-tokens.scss +65 -65
  93. package/vendors/charts.scss +90 -90
@@ -1,329 +1,329 @@
1
- @use "elevation-tokens" as *;
2
- @use "static-tokens" as *;
3
- @use "color-tokens" as *;
4
- @use "semantic-aliases" as *;
5
- @use "material-palette" as *;
6
- @use "../abstracts/theme-api" as *;
7
- // =============================================================================
8
- // MATCHA — EMISSÃO DOS TOKENS DO TEMA (CSS custom properties)
9
- // =============================================================================
10
- // Lógica de emissão À MÃO (NÃO é gerado). Monta as --matcha-* de um tema.
11
- // Os DADOS vêm de arquivos próprios, Figma-sourced:
12
- // - cor: _color-tokens.scss ($matcha-color-tokens — synced via sync-tokens)
13
- // - primitivas: _primitives.scss (gerado · --matcha-prim-*)
14
- // - aliases: _semantic-aliases.scss (gerado · papel → primitiva)
15
- // - não-cor: migrarão p/ _static-tokens.scss (gerado de global.json — A2)
16
- // O mixin matcha-css-custom-properties($theme) (API PÚBLICA — nome preservado) emite
17
- // cor (via matcha-emit-color-properties) + estáticos + mode-dependent + aliases.
18
- // IMPORT ORDER: main.scss importa _color-tokens ANTES deste arquivo.
19
- // =============================================================================
20
- @use "sass:map";
21
-
22
- // matcha-emit-color-properties() foi MOVIDO para abstracts/_theme-api.scss (quebra o
23
- // ciclo @use emit-tokens↔theme-api). Aqui fica disponível via `@use theme-api` (topo).
24
-
25
- // ═══════════════════════════════════════════════════════════════════════════
26
- // 4. MIXIN CANÔNICO — assinatura preservada (retrocompat).
27
- // ═══════════════════════════════════════════════════════════════════════════
28
- @mixin matcha-css-custom-properties($is-dark: false) {
29
- // API nova: recebe SÓ o modo (is-dark). As cores vêm das synced tokens do Figma
30
- // ($matcha-colors-light/dark), não de um mapa $theme construído por light-theme().
31
-
32
- // ── Cores semânticas (ver $matcha-color-tokens acima) ────────────────────
33
- // Aliases sólidos → var(--matcha-prim-*); derivados/alphas/cross-semantic → hex literal.
34
- @include matcha-emit-color-properties(
35
- if($is-dark, $matcha-colors-dark, $matcha-colors-light),
36
- if($is-dark, $matcha-prim-aliases-dark, $matcha-prim-aliases-light)
37
- );
38
-
39
- // ── Cores de PALETA como tokens (base mode-flipped) ───────────────────────
40
- // Alimentam as utility classes .color-red/.background-grey/.{name} etc. via var(),
41
- // substituindo o caminho compile-time getRed($theme)/Material. Value-preserving:
42
- // mesmo valor que getRed/getRedAlpha/getRedContrast (shade 500 light / 100 dark).
43
- // Mantém as classes funcionando (painel intacto) e theme-agnósticas no ponto de uso.
44
- $-palette-shade: if($is-dark, 100, 500);
45
- @each $-name, $-pal in (
46
- "red": $red, "pink": $pink, "purple": $purple, "deep-purple": $deep-purple, "indigo": $indigo,
47
- "blue": $blue, "light-blue": $light-blue, "cyan": $cyan, "teal": $teal, "green": $green,
48
- "light-green": $light-green, "lime": $lime, "yellow": $yellow, "amber": $amber, "orange": $orange,
49
- "deep-orange": $deep-orange, "brown": $brown, "grey": $grey, "blue-grey": $blue-grey
50
- ) {
51
- $-c: map.get($-pal, $-palette-shade);
52
- $-cc: map.get(map.get($-pal, 'contrast'), $-palette-shade);
53
- --matcha-color-#{$-name}: #{$-c};
54
- --matcha-color-#{$-name}-alpha: #{rgba($-c, 0.1)};
55
- --matcha-color-#{$-name}-contrast: #{$-cc};
56
- --matcha-color-#{$-name}-contrast-alpha: #{rgba($-cc, 0.1)};
57
- }
58
-
59
- // ── Feedback namespace (matcha/color/feedback/* canon DSV3) ───────────────
60
- // Aliases semânticos pros tokens base — namespace dedicado pra status/banners/
61
- // table row variants. Naming match Figma DSV3 (flat: feedback/info, sem suffix).
62
- --matcha-color-feedback-info: var(--matcha-color-info);
63
- --matcha-color-feedback-success: var(--matcha-color-success);
64
- --matcha-color-feedback-warn: var(--matcha-color-warn);
65
- --matcha-color-feedback-danger: var(--matcha-color-danger);
66
-
67
- // Variantes alpha pra row backgrounds, badges filled-alpha, etc.
68
- --matcha-color-feedback-info-alpha: var(--matcha-color-info-alpha);
69
- --matcha-color-feedback-success-alpha: var(--matcha-color-success-alpha);
70
- --matcha-color-feedback-warn-alpha: var(--matcha-color-warn-alpha);
71
- --matcha-color-feedback-danger-alpha: var(--matcha-color-danger-alpha);
72
-
73
- // Surface hover (bg tinted pra hover em row de table)
74
- --matcha-color-feedback-info-surface-hover: var(--matcha-color-info-surface-hover);
75
- --matcha-color-feedback-success-surface-hover: var(--matcha-color-success-surface-hover);
76
- --matcha-color-feedback-warn-surface-hover: var(--matcha-color-warn-surface-hover);
77
- --matcha-color-feedback-danger-surface-hover: var(--matcha-color-danger-surface-hover);
78
-
79
- // ── Spacing (14 tokens — matches matcha/space/* exato) ────────────────────
80
- // ── Tokens não-cor (gerados do Figma) — ver _static-tokens.scss (A2) ──
81
- @include matcha-static-tokens();
82
-
83
-
84
- // ── Border radius (8 tokens — matches matcha/radius/* exato) ─────────────
85
- // Alias legado pra usos em páginas de doc (refatorar depois pra usar radius-2xl)
86
- --matcha-radius-card: var(--matcha-radius-2xl);
87
-
88
- // ── Border width (4 tokens — matches matcha/border/* exato) ──────────────
89
-
90
- // ── Font family (1 token) ────────────────────────────────────────────────
91
-
92
- // ── Font size (13 tokens — matches matcha/font/size/* from Figma) ─────────
93
-
94
- // ── Font weight (8 tokens — matches matcha/font/weight/* exato) ──────────
95
- // Canônico Figma: extralight (200), light (300), normal (400), medium (500),
96
- // semi-bold (600), bold (700), extrabold (800), black (900)
97
- // Código mantém regular/semibold por retrocompat + aliases Figma-exatos
98
- --matcha-weight-regular: 400;
99
- --matcha-weight-semibold: 600;
100
-
101
- // ── Typography — 15 canonical text styles (1:1 com matcha/text/* Figma) ──
102
- // 13 styles publicados + `display` e `p-tiny` (recriados no Figma 2026-06-03).
103
- --matcha-text-display-hero: 36px; // matcha/text/Stat Card (EB 36/40/-1.2)
104
- --matcha-text-display: 32px; // matcha/text/display (Bold 32/40/-0.3)
105
- --matcha-text-headline: 24px; // matcha/text/headline (Bold 24/32/-0.3)
106
- --matcha-text-title-lg: 20px; // matcha/text/title-large (SemiBold 20/28)
107
- --matcha-text-title-md: 18px; // matcha/text/title-medium (SemiBold 18/24)
108
- --matcha-text-title-sm: 16px; // matcha/text/title-small (SemiBold 16/22)
109
- --matcha-text-title-xs: 14px; // matcha/text/title-tiny (ExtraBold 14/20)
110
- --matcha-text-body-lg: 16px; // matcha/text/p-large (Regular 16/24)
111
- --matcha-text-body-md: 14px; // matcha/text/p-medium (Regular 14/20)
112
- --matcha-text-body-sm: 12px; // matcha/text/p-small (Regular 12/16)
113
- --matcha-text-p-tiny: 11px; // matcha/text/p-tiny (Regular 11/14/0.3)
114
- --matcha-text-label-lg: 16px; // matcha/text/label-large (Medium 16/22)
115
- --matcha-text-label-md: 14px; // matcha/text/label-medium (Medium 14/20)
116
- --matcha-text-label-sm: 12px; // matcha/text/label-small (Medium 12/16)
117
- --matcha-text-overline: 10px; // matcha/text/Uppercase (SemiBold 10/14/1)
118
-
119
- // Shorthand aliases (usados massivamente em components/*.scss)
120
- // 2xs fecha o degrau abaixo de xs. Valor literal de propósito: o 10px do
121
- // Figma só existe hoje dentro do style Uppercase (SemiBold + caps), então
122
- // aliasar `--matcha-text-overline` acoplaria micro-labels em caixa mista a
123
- // um style que não tem relação com eles. Pendente de style próprio no Figma.
124
- --matcha-text-2xs: 10px; // 10px — micro-labels (nav-rail labeled)
125
- --matcha-text-xs: var(--matcha-text-p-tiny); // 11px — legendas, metadados
126
- --matcha-text-sm: var(--matcha-text-body-sm); // 12px — texto auxiliar
127
- --matcha-text-md: var(--matcha-text-body-md); // 14px — corpo padrão
128
- --matcha-text-lg: var(--matcha-text-body-lg); // 16px — texto de destaque
129
- --matcha-text-xl: var(--matcha-text-title-md); // 18px — títulos de grupo
130
-
131
- // ── Line heights — canônico (matches Figma text styles) ──────────────────
132
- --matcha-leading-display-hero: 40px; // Stat Card
133
- --matcha-leading-display: 40px;
134
- --matcha-leading-headline: 32px;
135
- --matcha-leading-title-lg: 28px;
136
- --matcha-leading-title-md: 24px;
137
- --matcha-leading-title-sm: 22px;
138
- --matcha-leading-title-xs: 20px; // title-tiny
139
- --matcha-leading-body-lg: 24px;
140
- --matcha-leading-body-md: 20px;
141
- --matcha-leading-body-sm: 16px;
142
- --matcha-leading-p-tiny: 14px;
143
- --matcha-leading-label-lg: 22px;
144
- --matcha-leading-label-md: 20px;
145
- --matcha-leading-label-sm: 16px;
146
- --matcha-leading-overline: 14px; // Uppercase
147
-
148
- // ── Tracking (letter-spacing) — só styles com valor não-zero ─────────────
149
- --matcha-tracking-display-hero: -1.2px; // Stat Card
150
- --matcha-tracking-display: -0.3px;
151
- --matcha-tracking-headline: -0.3px;
152
- --matcha-tracking-overline: 1px; // Uppercase
153
- --matcha-tracking-p-tiny: 0.3px;
154
-
155
- // Shorthand aliases para line-heights (acompanham --matcha-text-*)
156
- --matcha-leading-xs: var(--matcha-leading-p-tiny); // 14px
157
- --matcha-leading-sm: var(--matcha-leading-body-sm); // 16px
158
- --matcha-leading-md: var(--matcha-leading-body-md); // 20px
159
- --matcha-leading-lg: var(--matcha-leading-body-lg); // 24px
160
- --matcha-leading-xl: var(--matcha-leading-title-md); // 24px
161
-
162
- // ── Line height primitives (4 tokens — matches matcha/line-height/*) ─────
163
-
164
- // ── Letter spacing (primitives + semantic aliases) ───────────────────────
165
- // Semantic aliases alinhados com Figma text styles
166
- --matcha-letter-spacing-button: 0.2px; // matcha/text/button-*
167
- --matcha-letter-spacing-caption: 0.3px; // matcha/text/caption + link-sm
168
-
169
- // ── Elevation (4 shadow tokens) ──────────────────────────────────────────
170
- --matcha-shadow-1: #{if($is-dark, $shadow-1-dark, $shadow-1-light)};
171
- --matcha-shadow-2: #{if($is-dark, $shadow-2-dark, $shadow-2-light)};
172
- --matcha-shadow-3: #{if($is-dark, $shadow-3-dark, $shadow-3-light)};
173
- --matcha-shadow-4: #{if($is-dark, $shadow-4-dark, $shadow-4-light)};
174
-
175
- // ── Vars estruturais de componente (mode-dependentes, ex-@if $is-dark) ───
176
- // Bordas que só existiam no dark + shimmer do skeleton. No light viram no-op
177
- // (0/transparent) pra não alterar layout. O $is-dark aqui é o seletor de modo
178
- // legítimo da emissão (mesmo papel dos shadows acima) — não é o $is-dark
179
- // espalhado nos componentes, que foi eliminado na migração runtime-theming.
180
- --matcha-skeleton-shimmer: #{if($is-dark, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.5))};
181
- --matcha-chart-card-border: #{if($is-dark, 1px solid rgba(#212121, 0.06), 0 solid transparent)};
182
- --matcha-section-border: #{if($is-dark, 1px solid rgba(#212121, 0.06), 0 solid transparent)};
183
- --matcha-calendar-border: #{if($is-dark, 1px solid var(--matcha-color-surface-border), 0 solid transparent)};
184
- --matcha-drawer-border: #{if($is-dark, 1px solid var(--matcha-color-surface-border), 0 solid transparent)};
185
- // .text-boxed (tarja de texto) — alpha sobre branco no dark / sobre preto no light.
186
- --matcha-color-text-boxed-bg: #{if($is-dark, rgba(255, 255, 255, 0.12), rgba(0, 0, 0, 0.12))};
187
- --matcha-color-text-boxed-fg: #{if($is-dark, rgba(255, 255, 255, 0.54), rgba(0, 0, 0, 0.54))};
188
-
189
- // ── Animation (4 tokens — matches matcha/duration/* from Figma) ──────────
190
-
191
- // ── Easing (4 tokens — matches matcha/easing/* from Figma) ───────────────
192
-
193
- // ── Opacity (7 tokens — matches matcha/opacity/* from Figma) ─────────────
194
- --matcha-opacity-overlay-soft: 0.40;
195
- // Específico do matcha/option (Figma DSV3 14237:113) — diferente do disabled global (0.38)
196
- --matcha-opacity-option-disabled: 0.5;
197
-
198
- // ── State layers (matches matcha/state-layer/* from Figma) ────────────────
199
- // Aliases legados (usados nos componentes atuais)
200
- --matcha-state-hover: var(--matcha-state-layer-hover);
201
- --matcha-state-active: var(--matcha-state-layer-pressed);
202
- --matcha-state-focus-ring-width: 2px;
203
- --matcha-state-focus-ring-offset: 2px;
204
-
205
- // ── Scrim / Overlay (Figma matcha/overlay Type=Modal / Type=Drawer) ──────
206
- --matcha-scrim-modal: rgba(0, 0, 0, 0.5);
207
- --matcha-scrim-modal-blur: 6px;
208
- --matcha-scrim-drawer: rgba(0, 0, 0, 0.3);
209
- --matcha-scrim-drawer-blur: 4px;
210
-
211
- // ── Icon sizes (4 tokens — matches matcha/icon/size/* exato) ─────────────
212
-
213
- // ── Avatar sizes (1:1 com Figma matcha/avatar — Type=Photo, Size variants)
214
- --matcha-avatar-xs: 24px;
215
- --matcha-avatar-sm: 32px;
216
- --matcha-avatar-md: 40px;
217
- --matcha-avatar-lg: 56px;
218
- --matcha-avatar-xl: 80px;
219
- --matcha-avatar-2xl: 96px;
220
- // Status indicator — 1:1 com Figma (Status ellipse em cada Size variant)
221
- --matcha-avatar-status-xs: 6px;
222
- --matcha-avatar-status-sm: 8px;
223
- --matcha-avatar-status-md: 10px;
224
- --matcha-avatar-status-lg: 12px;
225
- --matcha-avatar-status-xl: 14px;
226
- --matcha-avatar-status-2xl: 16px;
227
-
228
- // ── Z-index (8 tokens — matches matcha/z-index/* from Figma) ─────────────
229
- // Panel flutuante (matcha-panel) — acima de modal pra suportar select/menu
230
- // dentro de modal. Renderizado via portal-to-body fora de stacking contexts.
231
- --matcha-z-popover-floating: 10001;
232
-
233
- // ── Grid (22 tokens — 1:1 com matcha/grid/* do Figma) ────────────────────
234
- // Frames (breakpoints)
235
- // Chrome
236
- --matcha-grid-header-height-mobile: 48px;
237
- // Gutters (espaço entre colunas)
238
- // Column widths (largura INDIVIDUAL de coluna) — Figma verdadeiro
239
- // Content widths (área útil total) — Figma verdadeiro
240
-
241
- // Public-facing column widths (site institucional/landing — breakpoint-aware)
242
-
243
- // Horizontal offsets (distância da borda do frame ao primeiro col da grid)
244
-
245
- // ── Breakpoints (6 tokens — Tailwind-aligned, expostos como CSS vars) ────
246
- // Pra container queries, JS-side responsive logic (`matchMedia`) e media
247
- // queries inline (`@media (min-width: var(...))` em CSS moderno). Valores
248
- // alinhados ao padrão Tailwind/Chakra — familiares e cobrem todos os tiers
249
- // (mobile pequeno até desktop wide). 1:1 com Figma `matcha/bp/*`.
250
- //
251
- // NOTA: SCSS `@mixin breakpoint(...)` em `_breakpoints-tokens.scss` usa
252
- // valores Angular Material legacy (600/1024/1440/1920) — DESALINHADO destes.
253
- // Em refactors novos, prefira CSS custom prop `var(--matcha-bp-md)` em vez
254
- // do mixin SCSS.
255
-
256
- // ═════════════════════════════════════════════════════════════════════════
257
- // 16. NAMING-PARITY ALIASES
258
- // Aliases que espelham o nome exato das variables do Figma, garantindo que
259
- // dev possa referenciar o token pelo nome que vê no Figma.
260
- // ═════════════════════════════════════════════════════════════════════════
261
-
262
- // Figma: matcha/color/surface/background → ↔ --matcha-color-surface-bg
263
- --matcha-color-surface-background: var(--matcha-color-surface-bg);
264
- --matcha-color-surface-background-alpha: var(--matcha-color-surface-bg-alpha);
265
- --matcha-color-surface-background-inverse: var(--matcha-color-surface-bg-inverse);
266
-
267
- // Figma: matcha/color/neutral/default → ↔ --matcha-color-neutral
268
- --matcha-color-neutral-default: var(--matcha-color-neutral);
269
-
270
- // Figma: matcha/color/interaction/focus-ring → ↔ --matcha-color-focus-ring
271
- --matcha-color-interaction-focus-ring: var(--matcha-color-focus-ring);
272
-
273
- // Figma: matcha/z-index/{base,dropdown,…} → ↔ --matcha-z-{base,dropdown,…}
274
- --matcha-z-index-base: var(--matcha-z-base);
275
- --matcha-z-index-dropdown: var(--matcha-z-dropdown);
276
- --matcha-z-index-sticky: var(--matcha-z-sticky);
277
- --matcha-z-index-popover: var(--matcha-z-popover);
278
- --matcha-z-index-tooltip: var(--matcha-z-tooltip);
279
- --matcha-z-index-modal-bg: var(--matcha-z-modal-bg);
280
- --matcha-z-index-modal: var(--matcha-z-modal);
281
- --matcha-z-index-overlay: var(--matcha-z-overlay);
282
- --matcha-z-index-popover-floating: var(--matcha-z-popover-floating);
283
-
284
- // Figma: matcha/font/weight/semi-bold → ↔ --matcha-weight-semibold
285
- --matcha-font-weight-extralight: var(--matcha-weight-extralight);
286
- --matcha-font-weight-light: var(--matcha-weight-light);
287
- --matcha-font-weight-semi-bold: var(--matcha-weight-semibold);
288
- --matcha-font-weight-regular: var(--matcha-weight-regular);
289
- --matcha-font-weight-medium: var(--matcha-weight-medium);
290
- --matcha-font-weight-bold: var(--matcha-weight-bold);
291
- --matcha-font-weight-extrabold: var(--matcha-weight-extrabold);
292
- --matcha-font-weight-black: var(--matcha-weight-black);
293
-
294
- // ═════════════════════════════════════════════════════════════════════════
295
- // 17. GRADIENTS
296
- // Gradients tonais semânticos. Compostos por 2 stops (alpha → surface-card)
297
- // pra dar fade lateral em banners. Mantém compat com Figma — lá cada stop
298
- // é uma variable separada (gradients não são tipo nativo de variable).
299
- // Centralizar aqui evita repetir o linear-gradient em cada componente.
300
- // ═════════════════════════════════════════════════════════════════════════
301
-
302
- // Figma DSV3 (matcha/banner 19080:308): tone="info" mapeia pra primary-alpha
303
- // (#64b5f6 azul), não info-alpha (cyan/turquesa) — alinhamento visual com border + eyebrow.
304
- --matcha-gradient-banner-info: linear-gradient(
305
- 90deg,
306
- var(--matcha-color-primary-alpha) 0%,
307
- var(--matcha-color-surface-card) 100%
308
- );
309
- --matcha-gradient-banner-success: linear-gradient(
310
- 90deg,
311
- var(--matcha-color-success-alpha) 0%,
312
- var(--matcha-color-surface-card) 100%
313
- );
314
- --matcha-gradient-banner-warning: linear-gradient(
315
- 90deg,
316
- var(--matcha-color-warn-alpha) 0%,
317
- var(--matcha-color-surface-card) 100%
318
- );
319
- --matcha-gradient-banner-accent: linear-gradient(
320
- 90deg,
321
- var(--matcha-color-accent-alpha) 0%,
322
- var(--matcha-color-surface-card) 100%
323
- );
324
- --matcha-gradient-banner-danger: linear-gradient(
325
- 90deg,
326
- var(--matcha-color-danger-alpha) 0%,
327
- var(--matcha-color-surface-card) 100%
328
- );
329
- }
1
+ @use "elevation-tokens" as *;
2
+ @use "static-tokens" as *;
3
+ @use "color-tokens" as *;
4
+ @use "semantic-aliases" as *;
5
+ @use "material-palette" as *;
6
+ @use "../abstracts/theme-api" as *;
7
+ // =============================================================================
8
+ // MATCHA — EMISSÃO DOS TOKENS DO TEMA (CSS custom properties)
9
+ // =============================================================================
10
+ // Lógica de emissão À MÃO (NÃO é gerado). Monta as --matcha-* de um tema.
11
+ // Os DADOS vêm de arquivos próprios, Figma-sourced:
12
+ // - cor: _color-tokens.scss ($matcha-color-tokens — synced via sync-tokens)
13
+ // - primitivas: _primitives.scss (gerado · --matcha-prim-*)
14
+ // - aliases: _semantic-aliases.scss (gerado · papel → primitiva)
15
+ // - não-cor: migrarão p/ _static-tokens.scss (gerado de global.json — A2)
16
+ // O mixin matcha-css-custom-properties($theme) (API PÚBLICA — nome preservado) emite
17
+ // cor (via matcha-emit-color-properties) + estáticos + mode-dependent + aliases.
18
+ // IMPORT ORDER: main.scss importa _color-tokens ANTES deste arquivo.
19
+ // =============================================================================
20
+ @use "sass:map";
21
+
22
+ // matcha-emit-color-properties() foi MOVIDO para abstracts/_theme-api.scss (quebra o
23
+ // ciclo @use emit-tokens↔theme-api). Aqui fica disponível via `@use theme-api` (topo).
24
+
25
+ // ═══════════════════════════════════════════════════════════════════════════
26
+ // 4. MIXIN CANÔNICO — assinatura preservada (retrocompat).
27
+ // ═══════════════════════════════════════════════════════════════════════════
28
+ @mixin matcha-css-custom-properties($is-dark: false) {
29
+ // API nova: recebe SÓ o modo (is-dark). As cores vêm das synced tokens do Figma
30
+ // ($matcha-colors-light/dark), não de um mapa $theme construído por light-theme().
31
+
32
+ // ── Cores semânticas (ver $matcha-color-tokens acima) ────────────────────
33
+ // Aliases sólidos → var(--matcha-prim-*); derivados/alphas/cross-semantic → hex literal.
34
+ @include matcha-emit-color-properties(
35
+ if($is-dark, $matcha-colors-dark, $matcha-colors-light),
36
+ if($is-dark, $matcha-prim-aliases-dark, $matcha-prim-aliases-light)
37
+ );
38
+
39
+ // ── Cores de PALETA como tokens (base mode-flipped) ───────────────────────
40
+ // Alimentam as utility classes .color-red/.background-grey/.{name} etc. via var(),
41
+ // substituindo o caminho compile-time getRed($theme)/Material. Value-preserving:
42
+ // mesmo valor que getRed/getRedAlpha/getRedContrast (shade 500 light / 100 dark).
43
+ // Mantém as classes funcionando (painel intacto) e theme-agnósticas no ponto de uso.
44
+ $-palette-shade: if($is-dark, 100, 500);
45
+ @each $-name, $-pal in (
46
+ "red": $red, "pink": $pink, "purple": $purple, "deep-purple": $deep-purple, "indigo": $indigo,
47
+ "blue": $blue, "light-blue": $light-blue, "cyan": $cyan, "teal": $teal, "green": $green,
48
+ "light-green": $light-green, "lime": $lime, "yellow": $yellow, "amber": $amber, "orange": $orange,
49
+ "deep-orange": $deep-orange, "brown": $brown, "grey": $grey, "blue-grey": $blue-grey
50
+ ) {
51
+ $-c: map.get($-pal, $-palette-shade);
52
+ $-cc: map.get(map.get($-pal, 'contrast'), $-palette-shade);
53
+ --matcha-color-#{$-name}: #{$-c};
54
+ --matcha-color-#{$-name}-alpha: #{rgba($-c, 0.1)};
55
+ --matcha-color-#{$-name}-contrast: #{$-cc};
56
+ --matcha-color-#{$-name}-contrast-alpha: #{rgba($-cc, 0.1)};
57
+ }
58
+
59
+ // ── Feedback namespace (matcha/color/feedback/* canon DSV3) ───────────────
60
+ // Aliases semânticos pros tokens base — namespace dedicado pra status/banners/
61
+ // table row variants. Naming match Figma DSV3 (flat: feedback/info, sem suffix).
62
+ --matcha-color-feedback-info: var(--matcha-color-info);
63
+ --matcha-color-feedback-success: var(--matcha-color-success);
64
+ --matcha-color-feedback-warn: var(--matcha-color-warn);
65
+ --matcha-color-feedback-danger: var(--matcha-color-danger);
66
+
67
+ // Variantes alpha pra row backgrounds, badges filled-alpha, etc.
68
+ --matcha-color-feedback-info-alpha: var(--matcha-color-info-alpha);
69
+ --matcha-color-feedback-success-alpha: var(--matcha-color-success-alpha);
70
+ --matcha-color-feedback-warn-alpha: var(--matcha-color-warn-alpha);
71
+ --matcha-color-feedback-danger-alpha: var(--matcha-color-danger-alpha);
72
+
73
+ // Surface hover (bg tinted pra hover em row de table)
74
+ --matcha-color-feedback-info-surface-hover: var(--matcha-color-info-surface-hover);
75
+ --matcha-color-feedback-success-surface-hover: var(--matcha-color-success-surface-hover);
76
+ --matcha-color-feedback-warn-surface-hover: var(--matcha-color-warn-surface-hover);
77
+ --matcha-color-feedback-danger-surface-hover: var(--matcha-color-danger-surface-hover);
78
+
79
+ // ── Spacing (14 tokens — matches matcha/space/* exato) ────────────────────
80
+ // ── Tokens não-cor (gerados do Figma) — ver _static-tokens.scss (A2) ──
81
+ @include matcha-static-tokens();
82
+
83
+
84
+ // ── Border radius (8 tokens — matches matcha/radius/* exato) ─────────────
85
+ // Alias legado pra usos em páginas de doc (refatorar depois pra usar radius-2xl)
86
+ --matcha-radius-card: var(--matcha-radius-2xl);
87
+
88
+ // ── Border width (4 tokens — matches matcha/border/* exato) ──────────────
89
+
90
+ // ── Font family (1 token) ────────────────────────────────────────────────
91
+
92
+ // ── Font size (13 tokens — matches matcha/font/size/* from Figma) ─────────
93
+
94
+ // ── Font weight (8 tokens — matches matcha/font/weight/* exato) ──────────
95
+ // Canônico Figma: extralight (200), light (300), normal (400), medium (500),
96
+ // semi-bold (600), bold (700), extrabold (800), black (900)
97
+ // Código mantém regular/semibold por retrocompat + aliases Figma-exatos
98
+ --matcha-weight-regular: 400;
99
+ --matcha-weight-semibold: 600;
100
+
101
+ // ── Typography — 15 canonical text styles (1:1 com matcha/text/* Figma) ──
102
+ // 13 styles publicados + `display` e `p-tiny` (recriados no Figma 2026-06-03).
103
+ --matcha-text-display-hero: 36px; // matcha/text/Stat Card (EB 36/40/-1.2)
104
+ --matcha-text-display: 32px; // matcha/text/display (Bold 32/40/-0.3)
105
+ --matcha-text-headline: 24px; // matcha/text/headline (Bold 24/32/-0.3)
106
+ --matcha-text-title-lg: 20px; // matcha/text/title-large (SemiBold 20/28)
107
+ --matcha-text-title-md: 18px; // matcha/text/title-medium (SemiBold 18/24)
108
+ --matcha-text-title-sm: 16px; // matcha/text/title-small (SemiBold 16/22)
109
+ --matcha-text-title-xs: 14px; // matcha/text/title-tiny (ExtraBold 14/20)
110
+ --matcha-text-body-lg: 16px; // matcha/text/p-large (Regular 16/24)
111
+ --matcha-text-body-md: 14px; // matcha/text/p-medium (Regular 14/20)
112
+ --matcha-text-body-sm: 12px; // matcha/text/p-small (Regular 12/16)
113
+ --matcha-text-p-tiny: 11px; // matcha/text/p-tiny (Regular 11/14/0.3)
114
+ --matcha-text-label-lg: 16px; // matcha/text/label-large (Medium 16/22)
115
+ --matcha-text-label-md: 14px; // matcha/text/label-medium (Medium 14/20)
116
+ --matcha-text-label-sm: 12px; // matcha/text/label-small (Medium 12/16)
117
+ --matcha-text-overline: 10px; // matcha/text/Uppercase (SemiBold 10/14/1)
118
+
119
+ // Shorthand aliases (usados massivamente em components/*.scss)
120
+ // 2xs fecha o degrau abaixo de xs. Valor literal de propósito: o 10px do
121
+ // Figma só existe hoje dentro do style Uppercase (SemiBold + caps), então
122
+ // aliasar `--matcha-text-overline` acoplaria micro-labels em caixa mista a
123
+ // um style que não tem relação com eles. Pendente de style próprio no Figma.
124
+ --matcha-text-2xs: 10px; // 10px — micro-labels (nav-rail labeled)
125
+ --matcha-text-xs: var(--matcha-text-p-tiny); // 11px — legendas, metadados
126
+ --matcha-text-sm: var(--matcha-text-body-sm); // 12px — texto auxiliar
127
+ --matcha-text-md: var(--matcha-text-body-md); // 14px — corpo padrão
128
+ --matcha-text-lg: var(--matcha-text-body-lg); // 16px — texto de destaque
129
+ --matcha-text-xl: var(--matcha-text-title-md); // 18px — títulos de grupo
130
+
131
+ // ── Line heights — canônico (matches Figma text styles) ──────────────────
132
+ --matcha-leading-display-hero: 40px; // Stat Card
133
+ --matcha-leading-display: 40px;
134
+ --matcha-leading-headline: 32px;
135
+ --matcha-leading-title-lg: 28px;
136
+ --matcha-leading-title-md: 24px;
137
+ --matcha-leading-title-sm: 22px;
138
+ --matcha-leading-title-xs: 20px; // title-tiny
139
+ --matcha-leading-body-lg: 24px;
140
+ --matcha-leading-body-md: 20px;
141
+ --matcha-leading-body-sm: 16px;
142
+ --matcha-leading-p-tiny: 14px;
143
+ --matcha-leading-label-lg: 22px;
144
+ --matcha-leading-label-md: 20px;
145
+ --matcha-leading-label-sm: 16px;
146
+ --matcha-leading-overline: 14px; // Uppercase
147
+
148
+ // ── Tracking (letter-spacing) — só styles com valor não-zero ─────────────
149
+ --matcha-tracking-display-hero: -1.2px; // Stat Card
150
+ --matcha-tracking-display: -0.3px;
151
+ --matcha-tracking-headline: -0.3px;
152
+ --matcha-tracking-overline: 1px; // Uppercase
153
+ --matcha-tracking-p-tiny: 0.3px;
154
+
155
+ // Shorthand aliases para line-heights (acompanham --matcha-text-*)
156
+ --matcha-leading-xs: var(--matcha-leading-p-tiny); // 14px
157
+ --matcha-leading-sm: var(--matcha-leading-body-sm); // 16px
158
+ --matcha-leading-md: var(--matcha-leading-body-md); // 20px
159
+ --matcha-leading-lg: var(--matcha-leading-body-lg); // 24px
160
+ --matcha-leading-xl: var(--matcha-leading-title-md); // 24px
161
+
162
+ // ── Line height primitives (4 tokens — matches matcha/line-height/*) ─────
163
+
164
+ // ── Letter spacing (primitives + semantic aliases) ───────────────────────
165
+ // Semantic aliases alinhados com Figma text styles
166
+ --matcha-letter-spacing-button: 0.2px; // matcha/text/button-*
167
+ --matcha-letter-spacing-caption: 0.3px; // matcha/text/caption + link-sm
168
+
169
+ // ── Elevation (4 shadow tokens) ──────────────────────────────────────────
170
+ --matcha-shadow-1: #{if($is-dark, $shadow-1-dark, $shadow-1-light)};
171
+ --matcha-shadow-2: #{if($is-dark, $shadow-2-dark, $shadow-2-light)};
172
+ --matcha-shadow-3: #{if($is-dark, $shadow-3-dark, $shadow-3-light)};
173
+ --matcha-shadow-4: #{if($is-dark, $shadow-4-dark, $shadow-4-light)};
174
+
175
+ // ── Vars estruturais de componente (mode-dependentes, ex-@if $is-dark) ───
176
+ // Bordas que só existiam no dark + shimmer do skeleton. No light viram no-op
177
+ // (0/transparent) pra não alterar layout. O $is-dark aqui é o seletor de modo
178
+ // legítimo da emissão (mesmo papel dos shadows acima) — não é o $is-dark
179
+ // espalhado nos componentes, que foi eliminado na migração runtime-theming.
180
+ --matcha-skeleton-shimmer: #{if($is-dark, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.5))};
181
+ --matcha-chart-card-border: #{if($is-dark, 1px solid rgba(#212121, 0.06), 0 solid transparent)};
182
+ --matcha-section-border: #{if($is-dark, 1px solid rgba(#212121, 0.06), 0 solid transparent)};
183
+ --matcha-calendar-border: #{if($is-dark, 1px solid var(--matcha-color-surface-border), 0 solid transparent)};
184
+ --matcha-drawer-border: #{if($is-dark, 1px solid var(--matcha-color-surface-border), 0 solid transparent)};
185
+ // .text-boxed (tarja de texto) — alpha sobre branco no dark / sobre preto no light.
186
+ --matcha-color-text-boxed-bg: #{if($is-dark, rgba(255, 255, 255, 0.12), rgba(0, 0, 0, 0.12))};
187
+ --matcha-color-text-boxed-fg: #{if($is-dark, rgba(255, 255, 255, 0.54), rgba(0, 0, 0, 0.54))};
188
+
189
+ // ── Animation (4 tokens — matches matcha/duration/* from Figma) ──────────
190
+
191
+ // ── Easing (4 tokens — matches matcha/easing/* from Figma) ───────────────
192
+
193
+ // ── Opacity (7 tokens — matches matcha/opacity/* from Figma) ─────────────
194
+ --matcha-opacity-overlay-soft: 0.40;
195
+ // Específico do matcha/option (Figma DSV3 14237:113) — diferente do disabled global (0.38)
196
+ --matcha-opacity-option-disabled: 0.5;
197
+
198
+ // ── State layers (matches matcha/state-layer/* from Figma) ────────────────
199
+ // Aliases legados (usados nos componentes atuais)
200
+ --matcha-state-hover: var(--matcha-state-layer-hover);
201
+ --matcha-state-active: var(--matcha-state-layer-pressed);
202
+ --matcha-state-focus-ring-width: 2px;
203
+ --matcha-state-focus-ring-offset: 2px;
204
+
205
+ // ── Scrim / Overlay (Figma matcha/overlay Type=Modal / Type=Drawer) ──────
206
+ --matcha-scrim-modal: rgba(0, 0, 0, 0.5);
207
+ --matcha-scrim-modal-blur: 6px;
208
+ --matcha-scrim-drawer: rgba(0, 0, 0, 0.3);
209
+ --matcha-scrim-drawer-blur: 4px;
210
+
211
+ // ── Icon sizes (4 tokens — matches matcha/icon/size/* exato) ─────────────
212
+
213
+ // ── Avatar sizes (1:1 com Figma matcha/avatar — Type=Photo, Size variants)
214
+ --matcha-avatar-xs: 24px;
215
+ --matcha-avatar-sm: 32px;
216
+ --matcha-avatar-md: 40px;
217
+ --matcha-avatar-lg: 56px;
218
+ --matcha-avatar-xl: 80px;
219
+ --matcha-avatar-2xl: 96px;
220
+ // Status indicator — 1:1 com Figma (Status ellipse em cada Size variant)
221
+ --matcha-avatar-status-xs: 6px;
222
+ --matcha-avatar-status-sm: 8px;
223
+ --matcha-avatar-status-md: 10px;
224
+ --matcha-avatar-status-lg: 12px;
225
+ --matcha-avatar-status-xl: 14px;
226
+ --matcha-avatar-status-2xl: 16px;
227
+
228
+ // ── Z-index (8 tokens — matches matcha/z-index/* from Figma) ─────────────
229
+ // Panel flutuante (matcha-panel) — acima de modal pra suportar select/menu
230
+ // dentro de modal. Renderizado via portal-to-body fora de stacking contexts.
231
+ --matcha-z-popover-floating: 10001;
232
+
233
+ // ── Grid (22 tokens — 1:1 com matcha/grid/* do Figma) ────────────────────
234
+ // Frames (breakpoints)
235
+ // Chrome
236
+ --matcha-grid-header-height-mobile: 48px;
237
+ // Gutters (espaço entre colunas)
238
+ // Column widths (largura INDIVIDUAL de coluna) — Figma verdadeiro
239
+ // Content widths (área útil total) — Figma verdadeiro
240
+
241
+ // Public-facing column widths (site institucional/landing — breakpoint-aware)
242
+
243
+ // Horizontal offsets (distância da borda do frame ao primeiro col da grid)
244
+
245
+ // ── Breakpoints (6 tokens — Tailwind-aligned, expostos como CSS vars) ────
246
+ // Pra container queries, JS-side responsive logic (`matchMedia`) e media
247
+ // queries inline (`@media (min-width: var(...))` em CSS moderno). Valores
248
+ // alinhados ao padrão Tailwind/Chakra — familiares e cobrem todos os tiers
249
+ // (mobile pequeno até desktop wide). 1:1 com Figma `matcha/bp/*`.
250
+ //
251
+ // NOTA: SCSS `@mixin breakpoint(...)` em `_breakpoints-tokens.scss` usa
252
+ // valores Angular Material legacy (600/1024/1440/1920) — DESALINHADO destes.
253
+ // Em refactors novos, prefira CSS custom prop `var(--matcha-bp-md)` em vez
254
+ // do mixin SCSS.
255
+
256
+ // ═════════════════════════════════════════════════════════════════════════
257
+ // 16. NAMING-PARITY ALIASES
258
+ // Aliases que espelham o nome exato das variables do Figma, garantindo que
259
+ // dev possa referenciar o token pelo nome que vê no Figma.
260
+ // ═════════════════════════════════════════════════════════════════════════
261
+
262
+ // Figma: matcha/color/surface/background → ↔ --matcha-color-surface-bg
263
+ --matcha-color-surface-background: var(--matcha-color-surface-bg);
264
+ --matcha-color-surface-background-alpha: var(--matcha-color-surface-bg-alpha);
265
+ --matcha-color-surface-background-inverse: var(--matcha-color-surface-bg-inverse);
266
+
267
+ // Figma: matcha/color/neutral/default → ↔ --matcha-color-neutral
268
+ --matcha-color-neutral-default: var(--matcha-color-neutral);
269
+
270
+ // Figma: matcha/color/interaction/focus-ring → ↔ --matcha-color-focus-ring
271
+ --matcha-color-interaction-focus-ring: var(--matcha-color-focus-ring);
272
+
273
+ // Figma: matcha/z-index/{base,dropdown,…} → ↔ --matcha-z-{base,dropdown,…}
274
+ --matcha-z-index-base: var(--matcha-z-base);
275
+ --matcha-z-index-dropdown: var(--matcha-z-dropdown);
276
+ --matcha-z-index-sticky: var(--matcha-z-sticky);
277
+ --matcha-z-index-popover: var(--matcha-z-popover);
278
+ --matcha-z-index-tooltip: var(--matcha-z-tooltip);
279
+ --matcha-z-index-modal-bg: var(--matcha-z-modal-bg);
280
+ --matcha-z-index-modal: var(--matcha-z-modal);
281
+ --matcha-z-index-overlay: var(--matcha-z-overlay);
282
+ --matcha-z-index-popover-floating: var(--matcha-z-popover-floating);
283
+
284
+ // Figma: matcha/font/weight/semi-bold → ↔ --matcha-weight-semibold
285
+ --matcha-font-weight-extralight: var(--matcha-weight-extralight);
286
+ --matcha-font-weight-light: var(--matcha-weight-light);
287
+ --matcha-font-weight-semi-bold: var(--matcha-weight-semibold);
288
+ --matcha-font-weight-regular: var(--matcha-weight-regular);
289
+ --matcha-font-weight-medium: var(--matcha-weight-medium);
290
+ --matcha-font-weight-bold: var(--matcha-weight-bold);
291
+ --matcha-font-weight-extrabold: var(--matcha-weight-extrabold);
292
+ --matcha-font-weight-black: var(--matcha-weight-black);
293
+
294
+ // ═════════════════════════════════════════════════════════════════════════
295
+ // 17. GRADIENTS
296
+ // Gradients tonais semânticos. Compostos por 2 stops (alpha → surface-card)
297
+ // pra dar fade lateral em banners. Mantém compat com Figma — lá cada stop
298
+ // é uma variable separada (gradients não são tipo nativo de variable).
299
+ // Centralizar aqui evita repetir o linear-gradient em cada componente.
300
+ // ═════════════════════════════════════════════════════════════════════════
301
+
302
+ // Figma DSV3 (matcha/banner 19080:308): tone="info" mapeia pra primary-alpha
303
+ // (#64b5f6 azul), não info-alpha (cyan/turquesa) — alinhamento visual com border + eyebrow.
304
+ --matcha-gradient-banner-info: linear-gradient(
305
+ 90deg,
306
+ var(--matcha-color-primary-alpha) 0%,
307
+ var(--matcha-color-surface-card) 100%
308
+ );
309
+ --matcha-gradient-banner-success: linear-gradient(
310
+ 90deg,
311
+ var(--matcha-color-success-alpha) 0%,
312
+ var(--matcha-color-surface-card) 100%
313
+ );
314
+ --matcha-gradient-banner-warning: linear-gradient(
315
+ 90deg,
316
+ var(--matcha-color-warn-alpha) 0%,
317
+ var(--matcha-color-surface-card) 100%
318
+ );
319
+ --matcha-gradient-banner-accent: linear-gradient(
320
+ 90deg,
321
+ var(--matcha-color-accent-alpha) 0%,
322
+ var(--matcha-color-surface-card) 100%
323
+ );
324
+ --matcha-gradient-banner-danger: linear-gradient(
325
+ 90deg,
326
+ var(--matcha-color-danger-alpha) 0%,
327
+ var(--matcha-color-surface-card) 100%
328
+ );
329
+ }