@aurea-uds/core 0.18.0 → 0.22.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.
Files changed (2) hide show
  1. package/dist/aurea.css +224 -104
  2. package/package.json +1 -1
package/dist/aurea.css CHANGED
@@ -40,6 +40,7 @@
40
40
  --radius-md:10px;
41
41
  --radius-lg:16px;
42
42
  --radius-card:22px;
43
+ --radius-sheet:32px;
43
44
  --radius-control:999px;
44
45
  --radius-full:var(--radius-control);
45
46
  --border-width:1px;
@@ -496,12 +497,44 @@ img,svg { display:block; }
496
497
  .grid-fixed { grid-template-columns:repeat(var(--grid-cols,1),minmax(0,1fr)); }
497
498
  /* AN-08 (03/10/2026): a largura mínima da coluna, por nome — a trava de um consumidor reprova medida
498
499
  escrita, e `min="sm"` virava UMA coluna sem aviso (o `--grid-min` inválido derruba a regra inteira).
499
- O HeroUI não tem `Grid`; nenhum número é novo, cada um já mede uma grade ou uma caixa daqui:
500
+ A referência não tem `Grid`; nenhum número é novo, cada um já mede uma grade ou uma caixa daqui:
500
501
  xs 8rem — a miniatura da `.gallery` (`--gallery-min`)
501
502
  sm 12rem — a célula da `.health-matrix`
502
503
  md 15rem — o padrão do `.grid`, logo acima (sem classe)
503
- lg 20rem — o `.dialog-xs`, o `max-w-xs` do HeroUI */
504
+ lg 20rem — o `.dialog-xs`, a menor largura de diálogo da referência */
504
505
  .grid-min-xs { --grid-min:8rem; } .grid-min-sm { --grid-min:12rem; } .grid-min-lg { --grid-min:20rem; }
506
+ /* GAR-03 (06/10/2026): `Grid.Item span` — o item ocupa N colunas da grade, o "7 de 12" de página
507
+ de site (`<Grid columns={12}>`). Estas são as regras do valor SIMPLES; o valor por tela
508
+ (`vp-md:grid-span-7`) e por contêiner (`ct-sm:grid-span-6`) é gerado na camada responsiva, no
509
+ fim deste arquivo, e o gerador confere que os corpos são idênticos aos daqui. */
510
+ .grid-span-1 { grid-column:span 1 / span 1; } .grid-span-2 { grid-column:span 2 / span 2; } .grid-span-3 { grid-column:span 3 / span 3; }
511
+ .grid-span-4 { grid-column:span 4 / span 4; } .grid-span-5 { grid-column:span 5 / span 5; } .grid-span-6 { grid-column:span 6 / span 6; }
512
+ .grid-span-7 { grid-column:span 7 / span 7; } .grid-span-8 { grid-column:span 8 / span 8; } .grid-span-9 { grid-column:span 9 / span 9; }
513
+ .grid-span-10 { grid-column:span 10 / span 10; } .grid-span-11 { grid-column:span 11 / span 11; } .grid-span-12 { grid-column:span 12 / span 12; }
514
+ .grid-item { min-width:0; }
515
+ /* GAR-02 (06/10/2026): `Container` — a largura de leitura de uma página de SITE, centrada, com o
516
+ respiro dos lados que cresce com a tela. A referência principal não tem; na fila de referências,
517
+ a primeira que tem usa um contêiner de 1280px (na folha de tema dela) e o respiro de 16
518
+ que vira 32 na tela média (o cabeçalho dela). Nenhum número é novo: 1280 é
519
+ o `--breakpoint-xl`, 16 e 32 são `--space-4` e `--space-8`, e o ponto da troca é o
520
+ `--breakpoint-md` (768 — `@media` não lê `var()`, daí o literal, como na camada responsiva).
521
+ `size` usa os mesmos nomes da escala de pontos; `full` tira o teto. */
522
+ .container { box-sizing:border-box; inline-size:100%; max-inline-size:var(--breakpoint-xl); margin-inline:auto; padding-inline:var(--space-4); }
523
+ .container-sm { max-inline-size:var(--breakpoint-sm); } .container-md { max-inline-size:var(--breakpoint-md); }
524
+ .container-lg { max-inline-size:var(--breakpoint-lg); } .container-2xl { max-inline-size:var(--breakpoint-2xl); }
525
+ .container-full { max-inline-size:none; }
526
+ @media (min-width:768px) { .container { padding-inline:var(--space-8); } }
527
+ /* GAR-04 e GAR-05 (06/10/2026): `Section` — a faixa de ponta a ponta de uma página de site, com
528
+ fundo próprio e respiro vertical de site. Nenhuma referência aberta tem a peça (as seções de uma
529
+ delas são pagas, não lidas), então o respiro é escolha da Aurea, com tokens que já existem: `--space-16`
530
+ (64) e `--space-24` (96) a partir do `md`; `sm` é a metade, `--space-8` e `--space-12`. O fundo e a letra
531
+ saem dos tokens do PRÓPRIO elemento: com `theme="dark"` a seção vira uma faixa escura dentro da
532
+ página clara, e as regras de tema claro não vazam para dentro dela (a guarda do GAR-05). */
533
+ .section { box-sizing:border-box; inline-size:100%; padding-block:var(--space-16); background:var(--background); color:var(--foreground); }
534
+ .section-card { background:var(--card); color:var(--card-foreground); }
535
+ .section-inset { background:var(--surface-inset); }
536
+ .section-spacing-sm { padding-block:var(--space-8); }
537
+ @media (min-width:768px) { .section { padding-block:var(--space-24); } .section-spacing-sm { padding-block:var(--space-12); } }
505
538
 
506
539
  /* ========================================================================== */
507
540
  /* 03. APP SHELL E DOCUMENTAÇÃO */
@@ -572,8 +605,8 @@ img,svg { display:block; }
572
605
  Esta regra é a de `b0599be`, íntegra: estado conhecido bom, provado pelo portão de pixel em vez
573
606
  de reafinado à mão. */
574
607
  .sidebar { --shell-top:calc(var(--topbar-height) + var(--space-4)*2); position:sticky; top:var(--shell-top); align-self:start; height:calc(100vh - var(--shell-top) - var(--space-4)); max-height:calc(100% - var(--space-4)*2); margin:var(--space-4); display:flex; flex-direction:column; gap:var(--space-1); padding:var(--space-1); overflow:auto; border:1px solid var(--sidebar-border); border-radius:var(--radius-card); background:var(--sidebar); color:var(--sidebar-foreground); }
575
- /* RENTE É A VARIANTE, e ela existe porque o Victor mediu quatro aplicativos que rodam na mão:
576
- Cloudflare, Sophos, o app do Claude e o painel do próprio HeroUI. Nenhum flutua a lateral — ela
608
+ /* RENTE É A VARIANTE, e ela existe porque o Victor mediu quatro aplicativos que rodam na mão,
609
+ um deles o painel da própria referência de desenho. Nenhum flutua a lateral — ela
577
610
  encosta nas bordas, ocupa a altura toda e se separa do conteúdo por UM TRAÇO, não por um vão.
578
611
  É a ÚNICA exceção à caixa flutuante nesta casa, e não generaliza: card, diálogo e painel seguem
579
612
  flutuando.
@@ -710,7 +743,7 @@ img,svg { display:block; }
710
743
  sozinho não nomeia nada, e essa é a falha clássica do padrão de trilho. */
711
744
  .sidebar-collapsed { padding-inline:var(--space-2); }
712
745
  /* NO TRILHO O ITEM É QUADRADO E CENTRADO, não uma linha esticada. Medido no fonte da referência
713
- em 18/08/2026: `NavButton` com `iconOnly` é `size-9` — 36×36, exatamente o nosso `--control-h-md`.
746
+ em 18/08/2026: o botão de navegação só de ícone é 36×36, exatamente o nosso `--control-h-md`.
714
747
  Antes o item herdava `width:100%` e virava 71×36 dentro de um trilho de 88: um retângulo largo
715
748
  que, com o raio de linha, fechava nas pontas e lia como CÁPSULA. Quadrado é o que a referência
716
749
  desenha, e é o que o olho reconhece como botão de ícone. */
@@ -783,13 +816,13 @@ img,svg { display:block; }
783
816
  A primeira versão pendurava no ITEM, com `inset-inline-start:50%`: em barra de coluna passa
784
817
  despercebido, e na variante de LINHA os 50% do item caem no meio do RÓTULO. O Victor achou
785
818
  assim, com o número cobrindo o nome inteiro (17/08/2026).
786
- A pesquisa que corrigiu: Material 3 põe o distintivo "sobre o ícone, no canto superior
787
- direito", e os guias de barra de abas do iOS dizem o mesmo com a razão junto — encostar na
819
+ A pesquisa que corrigiu: uma das referências de desenho põe o distintivo "sobre o ícone, no
820
+ canto superior direito", e os guias de barra de abas do iOS dizem o mesmo com a razão junto — encostar na
788
821
  borda é para ser visto, sobrepor conteúdo é hesitação num controle que se usa o tempo todo.
789
822
  `inset-inline-end` e não `right`: o eixo espelha sozinho em RTL, e transform não espelharia.
790
823
  O `min-` da caixa é para o contador ter onde se ancorar quando o item não tem ícone.
791
824
  A CAIXA É `--icon-lg` (24px) e o contador `--space-4` (16px) porque a PROPORÇÃO foi medida
792
- em aplicativo que roda: WhatsApp, YouTube, Mercado Livre e Shopee, nos prints do Victor de
825
+ em aplicativo que roda: um de mensagens, um de vídeo e duas lojas, nos prints do Victor de
793
826
  17/08/2026 — ícone ~24, contador ~16, razão **0,67**. A primeira versão tinha ícone de 16 e
794
827
  contador de 18: razão 1,12, o contador MAIOR que o ícone. Foi o que ele viu e mandou refazer. */
795
828
  /* A MOLDURA É FIXA E VALE PARA OS SETE INDICADORES. Medido em 20/08/2026, e quem viu foi o
@@ -802,13 +835,13 @@ img,svg { display:block; }
802
835
 
803
836
  O NÚMERO É PESQUISADO, e a exigência é do Victor em 20/08/2026: *"vá pesquisar e descubra qual
804
837
  padrão é usado, pesquise não invente medidas"*. Ele pegou 2.25rem saído da minha cabeça.
805
- `2rem` = 32px é a ALTURA DO INDICADOR ATIVO do Material 3 (`m3.material.io/components/
806
- navigation-bar/specs` e a doc do `material-components-android`: indicador 64×32dp, canto
838
+ `2rem` = 32px é a ALTURA DO INDICADOR ATIVO de uma das referências de desenho (a especificação
839
+ da barra de navegação dela e a doc da implementação dela para Android: indicador 64×32dp, canto
807
840
  totalmente arredondado, sobre um ícone de 24dp). 24 de ícone dentro de 32 deixa 4 de folga de
808
- cada lado, que é a mesma folga de 4dp que o M3 usa entre o indicador e o rótulo.
841
+ cada lado, que é a mesma folga de 4dp que essa referência usa entre o indicador e o rótulo.
809
842
  O ALVO DE TOQUE não é este número e continua sendo o `min-height` do item: `--control-h-lg`
810
- entrega 42px em comfortable e 48 em spacious, contra os 44pt mínimos da HIG da Apple e os
811
- 48dp do Material. A moldura é a caixa do DESENHO; o alvo é o item inteiro. */
843
+ entrega 42px em comfortable e 48 em spacious, contra os 44pt mínimos das diretrizes do iOS e
844
+ os 48dp da mesma referência. A moldura é a caixa do DESENHO; o alvo é o item inteiro. */
812
845
  .bottom-nav-mark { position:relative; flex:none; display:inline-flex; align-items:center; justify-content:center; width:var(--bottomnav-ring); height:var(--bottomnav-ring); border-radius:var(--radius-control); }
813
846
  /* A BARRA MAIS BAIXA — pedido do Victor, 30/09/2026, aprovado pela imagem: *"ele é muito largo, e
814
847
  é assim por conta da distância entre o ícone em cima e o texto embaixo"*. A moldura de 32 só
@@ -817,7 +850,7 @@ img,svg { display:block; }
817
850
  ícone e o texto. Fora dos redondos (e na barra sem classe de indicador, a do HTML puro) a
818
851
  moldura fica da altura do ícone, e o vão do item cai para
819
852
  `--space-05`. A largura continua 32: é ela que dá o canto ao contador. O mesmo conserto está no
820
- nativo (`navigation.tsx`). ~~A folga de 4dp do M3 entre o indicador e o rótulo~~ vale só para
853
+ nativo (`navigation.tsx`). ~~A folga de 4dp da referência entre o indicador e o rótulo~~ vale só para
821
854
  os redondos agora. */
822
855
  .bottom-nav-mark { height:var(--icon-lg); }
823
856
  .bottom-nav-ind-circle .bottom-nav-mark, .bottom-nav-ind-circle-raised .bottom-nav-mark, .bottom-nav-ind-circle-outline .bottom-nav-mark { height:var(--bottomnav-ring); }
@@ -830,7 +863,7 @@ img,svg { display:block; }
830
863
  ÚNICA por contrato, e uma regra contextual fazia o mesmo nome medir 16px numa página e 24px
831
864
  noutra. Tamanho é do componente, não do lugar onde ele cai. */
832
865
  /* SEM NÚMERO, É PONTO. Três dos quatro aplicativos medidos usam o ponto puro para "tem coisa
833
- nova" — YouTube (Inscrições), WhatsApp (Atualizações e Você). O consumidor pede pelo vazio:
866
+ nova" — o de vídeo (na aba de inscrições) e o de mensagens (em duas abas). O consumidor pede pelo vazio:
834
867
  `badge: ""`. A cor é a de AVISO e não a da marca, também como nos quatro: o contador não é
835
868
  decoração do item atual, é alerta.
836
869
  ⚠ Ponto não tem nome acessível — não há o que ler. Quem usa ponto põe o sentido no RÓTULO do
@@ -848,21 +881,22 @@ img,svg { display:block; }
848
881
  /* O PESO DO RÓTULO NÃO MUDA COM A ESCOLHA — 03/10/2026, pedido do Victor: *"quero ele estático,
849
882
  apenas os botões dinâmicos"*. Era `--weight-medium` só no escolhido, e texto mais grosso é texto
850
883
  mais LARGO: no `width="content"` a barra mudava de largura a cada toque, nos sete indicadores
851
- (medido: 247,7 contra 249,0). Agora todos os rótulos são `--weight-medium` — o "Label medium" do
852
- Material 3, que no Expressive também deixou de engrossar o escolhido. O que marca a escolha é a
884
+ (medido: 247,7 contra 249,0). Agora todos os rótulos são `--weight-medium` — o rótulo médio de
885
+ uma das referências de desenho, que na revisão mais nova também deixou de engrossar o escolhido. O que marca a escolha é a
853
886
  cor, o ícone cheio e a forma. Quem cobra: `geometry.spec`, "a barra não se mexe". */
854
887
  .bottom-nav-item { font-weight:var(--weight-medium); }
855
- /* A ALTURA DO TELEGRAM — 03/10/2026, pedido do Victor (*"ainda acho ele muito largo comparado a
856
- bottomnav como do telegram"*; "largo" é a grossura). Medido no fonte do Telegram para Android
857
- 12.10.6: pílula de 56, botão de 48, ícone de 24, nome de 12 numa linha de 16. O recheio de cima
858
- e de baixo cai de `--space-1` para `--space-05`, e a linha do nome é a do Telegram: o tamanho
888
+ /* A ALTURA DE REFERÊNCIA — 03/10/2026, pedido do Victor (*"ainda acho ele muito largo comparado a
889
+ bottomnav como do [aplicativo de mensagens]"*; "largo" é a grossura). Medido no fonte desse
890
+ aplicativo para Android: pílula de 56, botão de 48, ícone de 24, nome de 12 numa
891
+ linha de 16. O recheio de cima
892
+ e de baixo cai de `--space-1` para `--space-05`, e a linha do nome é a desse aplicativo: o tamanho
859
893
  mais `--space-1` (12 + 4). Com a do corpo (1,5) ela media 18; com a `--leading-tight` (14,4) a
860
894
  perna do "j" passava 1 da caixa, e a caixa corta (`overflow:hidden`, para as reticências).
861
- Fica 56 nos indicadores sem moldura e 64 nos que têm a de 32 — a altura do Material 3
862
- Expressive. O mesmo no `navigation.tsx`. */
895
+ Fica 56 nos indicadores sem moldura e 64 nos que têm a de 32 — a altura de uma das referências
896
+ de desenho. O mesmo no `navigation.tsx`. */
863
897
  .bottom-nav-item { padding-block:var(--space-05); }
864
898
  /* O NOME COLADO NO ÍCONE — 03/10/2026, pedido do Victor (*"o texto pode ficar mais próximo do
865
- ícone"*): vão ZERO, como no Telegram, em que o nome começa onde a caixa do ícone acaba. O
899
+ ícone"*): vão ZERO, como no aplicativo de mensagens medido, em que o nome começa onde a caixa do ícone acaba. O
866
900
  `--space-05` de 30/09/2026 somava 2 aos 2 de folga da linha do nome: medido de tinta a tinta,
867
901
  eram 9 no `pill` e 13 no `circle-bold`. No `circle-bold` a moldura de 32 também sai (logo
868
902
  abaixo): lá o círculo é o disco, não ela. */
@@ -915,7 +949,7 @@ img,svg { display:block; }
915
949
  .bottom-nav-ind-subtle .bottom-nav-item { border-radius:calc(var(--radius-card) - var(--space-1)); }
916
950
  .bottom-nav-ind-pill .bottom-nav-item { border-radius:var(--radius-control); }
917
951
  /* OS QUATRO REDONDOS envolvem SÓ O ÍCONE, e o rótulo fica embaixo, fora da forma. É o que as
918
- quatro telas do Victor mostram e o que o WhatsApp faz no aplicativo que roda; pintar o item
952
+ quatro telas do Victor mostram e o que um aplicativo de mensagens faz rodando; pintar o item
919
953
  inteiro não aparece em nenhum dos dois lugares. A moldura vira quadrado de lado fixo para ser
920
954
  CÍRCULO e não elipse — o rótulo é que é largo, e ele está fora daqui. */
921
955
  .bottom-nav-ind-circle .bottom-nav-mark,.bottom-nav-ind-circle-raised .bottom-nav-mark,.bottom-nav-ind-circle-outline .bottom-nav-mark { border-radius:var(--radius-full); }
@@ -931,8 +965,8 @@ img,svg { display:block; }
931
965
  A auditoria recusou a antiga `pill` sólida (achado 5: "o ativo assume presença de CTA"), e a
932
966
  diferença aqui é a FORMA: círculo do tamanho do alvo de toque lê como destino marcado; cápsula
933
967
  larga, esticada pelo rótulo, lê como botão de ação primária dentro da navegação. */
934
- /* 3.5rem = 56px, e também é número de fora: é a largura do indicador ativo do Material 3
935
- Expressive (56dp) e a altura do indicador expandido na mesma doc. É a única forma aqui que
968
+ /* 3.5rem = 56px, e também é número de fora: é a largura do indicador ativo de uma das referências
969
+ de desenho (56dp) e a altura do indicador expandido na mesma doc. É a única forma aqui que
936
970
  envolve ícone E rótulo, então usa a medida expandida e não a de 32. */
937
971
  /* `padding-inline: space-1` — o recheio de sempre do item (`.bottom-nav-item`). No `width="content"`
938
972
  o item ganha `space-3` dos lados, e dentro dos 56 sobravam 32 para o rótulo: "Avisos" (35)
@@ -954,8 +988,8 @@ img,svg { display:block; }
954
988
  se esconde. Fio fino não substitui contraste quando as duas cores são claras. */
955
989
  .bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] .badge { background:var(--primary-foreground); color:var(--primary); border-color:transparent; }
956
990
  .bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] .bottom-nav-badge { color:var(--primary-foreground); }
957
- /* ── CÁPSULA (`capsule`) — a "A" da bancada do Victor, 03/10/2026: o Material 3 Expressive ────
958
- A moldura do ícone vira a cápsula de 56 × 32 do indicador ativo do M3 Expressive
991
+ /* ── CÁPSULA (`capsule`) — a "A" da bancada do Victor, 03/10/2026: o modelo de uma das referências ─
992
+ A moldura do ícone vira a cápsula de 56 × 32 do indicador ativo dessa referência
959
993
  (`--bottomnav-bold` × `--bottomnav-ring`), em TODOS os itens; só a do escolhido é pintada, de
960
994
  amarelo sólido. O rótulo fica embaixo, fora dela — é isso que a separa do antigo bloco amarelo
961
995
  que a auditoria de 20/08/2026 recusou (achado 5): a forma não estica com o nome.
@@ -1031,8 +1065,8 @@ img,svg { display:block; }
1031
1065
  folga no print: com o `--card-pad` de 20px o realce da linha começava a 21px da borda e o texto
1032
1066
  a 65px, e a linha ocupava só 88% da largura — realce flutuando no meio de uma caixa grande em
1033
1067
  vez de preencher o painel. `--card-pad` é padding de CONTEÚDO; lista de linhas tocáveis quer
1034
- outra escala. É a anatomia dos dois exemplos de `NavigationMenu` que ele mandou: o item leva
1035
- `p-3` (que a nossa linha já tem) e o contêiner quase não leva nada.
1068
+ outra escala. É a anatomia dos dois exemplos de menu de navegação que ele mandou: o item leva
1069
+ o recheio que a nossa linha já tem, e o contêiner quase não leva nada.
1036
1070
  Filho DIRETO de propósito: um card com layout grande e uma lista pequena dentro não pode perder
1037
1071
  o padding dele. E `:has()` já é idioma desta folha (quatro usos antes deste). */
1038
1072
  .card:has(> .nav-list) { padding:var(--space-1); }
@@ -1062,7 +1096,17 @@ img,svg { display:block; }
1062
1096
  .eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--primary); font-size:12px; font-weight:var(--weight-bold); letter-spacing:var(--tracking-widest); text-transform:uppercase; }
1063
1097
  /* No claro o amarelo puro como texto não alcança 4.5:1 (axe). Aprofundar com --foreground
1064
1098
  mantém o matiz da marca e passa o AA; no escuro segue o amarelo cheio. */
1065
- [data-theme="light"] .eyebrow { color:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1099
+ /* GAR-05 (06/10/2026): TODA regra `[data-theme="light"] X` deste arquivo leva a guarda
1100
+ `:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *)`. Sem ela, uma
1101
+ faixa ESCURA dentro de uma página clara (`<section data-theme="dark">`) herdava as 22 regras de
1102
+ tema claro: o botão de contorno saía com a tinta escurecida do claro sobre o fundo escuro. A
1103
+ guarda diz "não vale dentro de uma faixa escura, a não ser que haja de novo uma faixa clara
1104
+ dentro dela", e é `:where` para a força de cada regra não mudar — a ordem entre elas continua a
1105
+ de sempre, e numa página sem faixa escura o computado é o mesmo byte a byte. Limite declarado:
1106
+ quatro níveis alternados (escuro > claro > escuro > claro) não são cobertos. Quem cobra:
1107
+ `tests/visual/tema-na-secao.spec.ts`, e o `tema-na-secao.test.tsx` reprova regra nova sem a
1108
+ guarda. */
1109
+ [data-theme="light"] .eyebrow:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { color:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1066
1110
  .demo { min-width:0; padding:var(--card-pad); border:1px solid var(--border); border-radius:var(--radius-card); background:var(--card); color:var(--card-foreground); box-shadow:none; }
1067
1111
 
1068
1112
  /* ========================================================================== */
@@ -1075,8 +1119,8 @@ img,svg { display:block; }
1075
1119
  .btn:hover:not(:disabled):not([aria-disabled="true"]) { transform:none; } .btn:active:not(:disabled) { transform:scale(.97); opacity:.9; }
1076
1120
  /* Duas formas de "não dá para fazer isto", e a diferença é QUEM alcança a explicação.
1077
1121
  `:disabled` tira o controle da ordem de foco — medido em 13/08/2026: quem usa teclado nunca
1078
- chega nele, então uma dica pendurada ali não é lida por ninguém. O embrulho de <span> que a
1079
- referência do MUI documenta resolve o ponteiro e NÃO resolve o teclado (o span nasce com
1122
+ chega nele, então uma dica pendurada ali não é lida por ninguém. O embrulho de <span> que uma
1123
+ das referências documenta resolve o ponteiro e NÃO resolve o teclado (o span nasce com
1080
1124
  tabIndex -1, medido). `[aria-disabled="true"]` mantém o controle focável e inerte — é ele
1081
1125
  que se usa quando existe um PORQUÊ a dizer. A pele é a mesma; o que muda é o alcance. */
1082
1126
  .btn:disabled,.btn[aria-disabled="true"] { opacity:.45; cursor:not-allowed; }
@@ -1104,7 +1148,7 @@ img,svg { display:block; }
1104
1148
  Medido em 21/08/2026: existia só no `apps/docs/index.html`, escrito à mão. O core não tinha,
1105
1149
  o `AppShell` não tinha, e as 200 páginas do catálogo não tinham — ou seja, a página de
1106
1150
  demonstração era acessível e o componente que o consumidor instala não era. Achado ao
1107
- conferir se o `skip-nav` da `shark-ui` era gap de verdade (`G-A11Y-03`).
1151
+ conferir se o `skip-nav` de uma das referências era gap de verdade (`G-A11Y-03`).
1108
1152
  Fora da tela por TRANSFORMAÇÃO, não por `display:none` nem por `left:-9999px`: o primeiro
1109
1153
  tira do foco (e um link que não recebe foco não pula nada), e o segundo faz o navegador
1110
1154
  rolar a página lateralmente ao focar. Aparece no foco, que é o único momento em que precisa
@@ -1138,16 +1182,16 @@ img,svg { display:block; }
1138
1182
  .btn-danger-outline:hover:not(:disabled):not([aria-disabled="true"]) { --btn-bg:color-mix(in oklab, var(--destructive) 14%, transparent); }
1139
1183
  .btn-danger-ghost { --btn-bg:transparent; --btn-fg:var(--destructive); --btn-border:transparent; }
1140
1184
  .btn-danger-ghost:hover:not(:disabled):not([aria-disabled="true"]) { --btn-bg:color-mix(in oklab, var(--destructive) 14%, transparent); }
1141
- [data-theme="light"] .btn-danger-outline,[data-theme="light"] .btn-danger-ghost,[data-theme="light"] .btn-link-danger { --btn-fg:color-mix(in oklab, var(--destructive) 62%, var(--foreground)); }
1185
+ [data-theme="light"] .btn-danger-outline:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-danger-ghost:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-link-danger:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --btn-fg:color-mix(in oklab, var(--destructive) 62%, var(--foreground)); }
1142
1186
  /* A MESMA correção para a marca, que estava faltando. Medido em 21/08/2026 na varredura de AA
1143
1187
  da matriz de tom: `.btn-primary-outline` e `.btn-primary-ghost` pintavam o rótulo com
1144
1188
  `--primary` cru, e no tema claro isso dá **1.73:1** — reprovação grave, em componente
1145
1189
  publicado. O `.btn-link-primary` logo abaixo já tinha a correção; as duas irmãs nasceram sem
1146
1190
  ela. Não é conserto local: é a mesma pergunta do §21 — quem MAIS tem esse problema? — e a
1147
1191
  resposta foram estas duas, mais a borda, que é componente de UI e pede 3:1. */
1148
- [data-theme="light"] .btn-primary-outline,[data-theme="light"] .btn-primary-ghost { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1149
- [data-theme="light"] .btn-primary-outline { --btn-border:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1150
- [data-theme="light"] .btn-outline.btn-tone-brand { --btn-border:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1192
+ [data-theme="light"] .btn-primary-outline:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-primary-ghost:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1193
+ [data-theme="light"] .btn-primary-outline:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --btn-border:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1194
+ [data-theme="light"] .btn-outline.btn-tone-brand:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --btn-border:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1151
1195
  /* LINK: aparência de texto, sem cápsula e sem altura de controle — o sublinhado é o que diz
1152
1196
  que é clicável, então ele existe desde o repouso (revelar no hover esconde a affordance).
1153
1197
  Três tons: neutro, marca e destrutivo. No claro a marca aprofunda, senão não passa o AA. */
@@ -1157,7 +1201,7 @@ img,svg { display:block; }
1157
1201
  .btn-link { height:auto; min-height:24px; padding:0; gap:6px; border:0; border-radius:var(--radius-sm); --btn-bg:transparent; --btn-fg:var(--foreground); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
1158
1202
  .btn-link:hover:not(:disabled):not([aria-disabled="true"]) { text-decoration-thickness:2px; }
1159
1203
  .btn-link-primary { --btn-fg:var(--primary); }
1160
- [data-theme="light"] .btn-link-primary { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1204
+ [data-theme="light"] .btn-link-primary:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1161
1205
  .btn-link-danger { --btn-fg:var(--destructive); }
1162
1206
  /* pressed entra na linguagem única de "selecionado" acima; só-ícone não leva o fio. */
1163
1207
  /* Kbd — a tecla que dispara a ação, dentro ou fora do botão. Peça própria, não decoração. */
@@ -1204,11 +1248,11 @@ img,svg { display:block; }
1204
1248
  /* e o mesmo tom SEM caixa: contorno, fantasma, link e navegação. O token de tom já é
1205
1249
  "esta cor, legível contra a superfície DESTE tema", então não há correção por tema aqui. */
1206
1250
  .btn-tone-brand,.btn-tone-brand:hover:not(:disabled) { --btn-fg:var(--primary); }
1207
- [data-theme="light"] .btn-tone-brand,[data-theme="light"] .btn-tone-brand:hover:not(:disabled) { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1251
+ [data-theme="light"] .btn-tone-brand:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-tone-brand:hover:not(:disabled):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1208
1252
  .btn-outline.btn-tone-brand { --btn-border:var(--primary); }
1209
1253
  .btn-tone-brand:not(.btn-link):hover:not(:disabled) { --btn-bg:color-mix(in oklab, var(--primary) 14%, transparent); }
1210
1254
  .btn-tone-danger,.btn-tone-danger:hover:not(:disabled) { --btn-fg:var(--destructive); }
1211
- [data-theme="light"] .btn-tone-danger,[data-theme="light"] .btn-tone-danger:hover:not(:disabled) { --btn-fg:color-mix(in oklab, var(--destructive) 62%, var(--foreground)); }
1255
+ [data-theme="light"] .btn-tone-danger:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-tone-danger:hover:not(:disabled):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --btn-fg:color-mix(in oklab, var(--destructive) 62%, var(--foreground)); }
1212
1256
  .btn-outline.btn-tone-danger { --btn-border:var(--destructive); }
1213
1257
  .btn-tone-danger:not(.btn-link):hover:not(:disabled) { --btn-bg:color-mix(in oklab, var(--destructive) 14%, transparent); }
1214
1258
  .btn-tone-success,.btn-tone-success:hover:not(:disabled) { --btn-fg:var(--success); }
@@ -1222,8 +1266,8 @@ img,svg { display:block; }
1222
1266
  .btn-tone-warning:not(.btn-link):not(.btn-solid):hover:not(:disabled) { --btn-bg:color-mix(in oklab, var(--warning) 14%, transparent); }
1223
1267
  .btn-nav:hover:not(:disabled):not([aria-disabled="true"]) { --btn-fg:var(--foreground); }
1224
1268
  /* O botão só de ícone é REDONDO, em todos os tamanhos — decisão do Victor, 25/09/2026
1225
- (ADR-0052). Era um quadrado de canto 10px (6px nos dois menores). O HeroUI 3.2.6 faz o botão só
1226
- de ícone redondo, e os botões de texto da Aurea já são cápsula: o de ícone era o único quadrado. */
1269
+ (ADR-0052). Era um quadrado de canto 10px (6px nos dois menores). A referência faz o
1270
+ botão só de ícone redondo, e os botões de texto da Aurea já são cápsula: o de ícone era o único quadrado. */
1227
1271
  .btn-icon { width:var(--control-h-md); padding:0; border-radius:var(--radius-full); }
1228
1272
  .btn-icon.btn-xs { width:var(--control-h-xs); }
1229
1273
  .btn-icon.btn-sm { width:var(--control-h-sm); } .btn-icon.btn-lg { width:var(--control-h-lg); }
@@ -1302,14 +1346,14 @@ img,svg { display:block; }
1302
1346
  .textarea { min-block-size:104px; padding-block:var(--space-3); padding-inline:var(--step-field-px,14px); resize:vertical; border-radius:var(--radius-lg); }
1303
1347
  /* chevron: cor = --muted-foreground de cada tema (dark #a1a1a1, light #505050); tokenizar na Fase 1 */
1304
1348
  .select { appearance:none; padding-inline-end:var(--step-select-pe,38px); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23a1a1a1' stroke-width='1.6'/%3E%3C/svg%3E"); background-position:calc(100% - 12px) 50%; background-size:12px 8px; background-repeat:no-repeat; }
1305
- [data-theme="light"] .select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23505050' stroke-width='1.6'/%3E%3C/svg%3E"); }
1349
+ [data-theme="light"] .select:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23505050' stroke-width='1.6'/%3E%3C/svg%3E"); }
1306
1350
  /* Widgets nativos dos campos (calendário do type=date, dropdown do select, scrollbar do textarea) seguem o tema */
1307
1351
  .input,.textarea,.select { color-scheme:dark; font-size:var(--step-fs,inherit); }
1308
- /* ESCALA DO HEROUI (ADR-0050, 24/09/2026): no computador o texto digitado é 14, como toda peça; no
1309
- telefone ele sobe para 16. É a regra deles (`text-base sm:text-sm`, a partir de 640px), e a razão
1352
+ /* ESCALA DA REFERÊNCIA (ADR-0050, 24/09/2026): no computador o texto digitado é 14, como toda peça;
1353
+ no telefone ele sobe para 16. É a regra dela (a troca é em 640px), e a razão
1310
1354
  é do Safari do iPhone: campo com letra menor que 16 faz a página AMPLIAR sozinha ao ganhar foco. */
1311
1355
  @media (max-width:639.98px) { .input,.textarea,.number-field-input,.select-value { font-size:var(--text-base); } }
1312
- [data-theme="light"] .input,[data-theme="light"] .textarea,[data-theme="light"] .select { color-scheme:light; }
1356
+ [data-theme="light"] .input:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .textarea:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .select:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { color-scheme:light; }
1313
1357
  /* NumberField (Lote 1): menos · campo · mais numa peça só, que é onde as referências convergem.
1314
1358
  O campo é `.input` — a mesma altura, o mesmo raio, o mesmo foco de qualquer campo do sistema.
1315
1359
  Largura em token para caber de 3 a 4 dígitos sem virar caixa de texto. */
@@ -1386,7 +1430,7 @@ img,svg { display:block; }
1386
1430
  .input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); }
1387
1431
  /* ADORNO EM BLOCO — a barra de ações ACIMA ou ABAIXO do campo, dentro da mesma moldura. É a
1388
1432
  forma da caixa de composição moderna: o texto em cima, os controles embaixo, tudo numa caixa
1389
- só. Vem do `G-AXIS-01`; a `shadcn` e a `reui` têm as quatro posições e a Aurea tinha duas.
1433
+ só. Vem do `G-AXIS-01`; duas das referências têm as quatro posições e a Aurea tinha duas.
1390
1434
  Registro de correção: escrevi neste lugar que o `MessageComposer` da Aurea já desenhava essa
1391
1435
  forma à mão, e fui conferir — NÃO desenha. Ele é uma LINHA (`.message-composer` é flex com o
1392
1436
  grupo e o botão lado a lado). Então isto não é consolidação de solução local como foi o
@@ -1429,8 +1473,8 @@ img,svg { display:block; }
1429
1473
  .select` fixavam --control-h-md e não havia modificador nenhum. Os tokens de altura já
1430
1474
  existiam e o `.btn-*` já os usava desde sempre — o campo é que tinha ficado para trás.
1431
1475
  `md` é a classe base e não tem modificador, como não existe `.btn-md`.
1432
- O que muda por tamanho é o que converge nas referências (Untitled UI `input.tsx` e
1433
- `select.tsx`, MUI `InputBase` com sizeSmall) e o que o `.btn-*` daqui já fazia: altura,
1476
+ O que muda por tamanho é o que converge nas referências (o campo e a lista de uma delas, o
1477
+ campo base de outra no tamanho pequeno) e o que o `.btn-*` daqui já fazia: altura,
1434
1478
  padding inline e corpo do texto. Tudo em token: a catraca do check 12 não aceita px cru novo,
1435
1479
  e é ela que obrigou o `calc()` em vez de um 44 escrito na mão. */
1436
1480
  /* G-AXIS-04 — as classes de tamanho do campo passam a SETAR variáveis, como as do botão. A
@@ -1536,6 +1580,11 @@ img,svg { display:block; }
1536
1580
  .segmented { display:inline-flex; gap:3px; padding:3px; min-height:var(--control-h-md); border-radius:var(--radius-control); background:var(--muted); border:1px solid transparent; box-shadow:none; }
1537
1581
  .segmented button { padding:0 14px; border:0; border-radius:var(--radius-control); color:var(--muted-foreground); background:transparent; cursor:pointer; }
1538
1582
  .segmented button.active { color:var(--foreground); background:var(--secondary); box-shadow:none; border:0; }
1583
+ /* `fullWidth` (A5, 06/10/2026): ocupa a linha, e cada segmento cresce a partir do rótulo sem
1584
+ encolher abaixo dele — o mesmo desenho do nativo. `1 0 auto` e não `1` (= `1 1 0%`): base zero
1585
+ reparte a largura em partes iguais, e é isso que quebrava o rótulo no nativo rodando no
1586
+ navegador. Quando não cabe, rola pela regra de tela estreita, como sem a prop. */
1587
+ .segmented-full { display:flex; } .segmented-full button { flex:1 0 auto; }
1539
1588
  /* Toggle (Lote 1): pressionado usa o MESMO par de tokens do segmento aceso, logo acima. Um
1540
1589
  toggle solto e um segmento selecionado dizem a mesma coisa — se parecessem diferentes, o
1541
1590
  sistema teria dois idiomas para "isto está ligado". O estado vem do motor (`data-pressed`),
@@ -1568,14 +1617,14 @@ img,svg { display:block; }
1568
1617
  `:not(.active)` NÃO é enfeite — a primeira versão desta linha não tinha, pesava igual à regra do
1569
1618
  item atual e, vindo depois, APAGAVA o laranja dele. Medido no mesmo minuto: ativo e inativo
1570
1619
  saíram com a mesma cor. Com o `:not` ela pesa (0,3,1) e só alcança quem está em repouso. */
1571
- [data-theme="light"] .doc-nav a:not(.active) { color:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent); }
1620
+ [data-theme="light"] .doc-nav a:not(.active):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { color:color-mix(in oklab, var(--sidebar-foreground) 72%, transparent); }
1572
1621
  .is-selected::after,.btn-nav[aria-current]:not([aria-current="false"])::after,
1573
1622
  .btn[aria-pressed="true"]:not(.btn-icon)::after,.segmented button.active::after,
1574
1623
  .doc-nav a.active::after,.sidebar-item[aria-current]::after { content:""; position:absolute; inset-inline:15px; bottom:0; height:2px; border-radius:var(--radius-full); background:color-mix(in oklab, var(--primary) 75%, transparent); }
1575
1624
  /* e o fio do ativo da lateral segue a marca DELA, pelo mesmo motivo da regra de cor acima. */
1576
1625
  .doc-nav a.active::after,.sidebar-item[aria-current]::after { background:color-mix(in oklab, var(--sidebar-primary) 75%, transparent); }
1577
- [data-theme="light"] .is-selected,[data-theme="light"] .btn-nav[aria-current]:not([aria-current="false"]),
1578
- [data-theme="light"] .btn[aria-pressed="true"],[data-theme="light"] .segmented button.active
1626
+ [data-theme="light"] .is-selected:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-nav[aria-current]:not([aria-current="false"]):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
1627
+ [data-theme="light"] .btn[aria-pressed="true"]:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .segmented button.active:where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *)
1579
1628
  { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); color:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1580
1629
  /* A NAV DA LATERAL SAIU DESTA LISTA em 20/08/2026. O ajuste existe porque o amarelo puro não se lê
1581
1630
  sobre o claro — mas ele mistura o `--foreground` da PÁGINA, e o item da lateral não está sobre a
@@ -1614,14 +1663,14 @@ img,svg { display:block; }
1614
1663
  deixado uma SEGUNDA cópia delas aqui em cima, sem o acento: mesma especificidade, e a de
1615
1664
  baixo vencia por ordem de fonte. Quatro regras mortas, medidas em 29/08/2026. */
1616
1665
  /* ── O BADGE SOBREPOSTO — contador no canto de outra coisa ──────────────────────────
1617
- Anatomia da `Badge.js` da MUI, medida no fonte: raiz `relative/inline-flex/flex-shrink:0`,
1666
+ Anatomia do selo de uma das referências, medida no fonte: raiz `relative/inline-flex/flex-shrink:0`,
1618
1667
  o contador `absolute` com `z-index:1`, e o deslocamento do canto valendo **0 para caixa
1619
- quadrada e 14% para redonda** — é `overlap`, e sem ele o contador de um avatar fica solto
1668
+ quadrada e 14% para redonda** — é a prop de sobreposição dela, e sem ele o contador de um avatar fica solto
1620
1669
  fora do círculo.
1621
1670
  O ANEL DE RECORTE é o que faltava e o que fazia parecer sujo: um fio da cor da superfície
1622
- entre o contador e o que está atrás. Três fontes independentes: `ring-[1.5px] ring-bg-primary`
1623
- da Untitled UI, `border-background border-2` do ReUI e `box-shadow: 0 0 0 2px background.paper`
1624
- do exemplo de contato da MUI.
1671
+ entre o contador e o que está atrás. Três fontes independentes, todas entre as referências:
1672
+ um anel de 1,5px da cor do fundo, uma borda de 2 da cor do fundo e uma sombra `0 0 0 2px` da
1673
+ cor da superfície (esta no exemplo de contato da mesma referência da anatomia).
1625
1674
  A superfície de trás NÃO é adivinhável em CSS — dentro de um card ela é `--card`, não
1626
1675
  `--background`. Por isso ela é uma propriedade: sobrescreva `--badge-ring` no contêiner. */
1627
1676
  .badge-anchor { position:relative; display:inline-flex; vertical-align:middle; flex-shrink:0; }
@@ -1692,8 +1741,8 @@ img,svg { display:block; }
1692
1741
  /* padding="none" (C-05): sem respiro, e a mídia recortada no raio 22 do próprio cartão. */
1693
1742
  .card-flush { padding:0; overflow:hidden; }
1694
1743
  /* Card.Media e orientation (A-14). Vertical: a mídia primeira sangra até a borda de cima e dos
1695
- lados. Horizontal (o modo lista): a mídia à esquerda, 96 de largura (o `size-24` do exemplo do
1696
- HeroUI, nosso --space-24), 16 até o texto, e o raio concêntrico da casa. */
1744
+ lados. Horizontal (o modo lista): a mídia à esquerda, 96 de largura (a do exemplo da
1745
+ referência, nosso --space-24), 16 até o texto, e o raio concêntrico da casa. */
1697
1746
  .card-media { display:block; overflow:hidden; }
1698
1747
  .card-media > :is(img,video,.image) { display:block; width:100%; }
1699
1748
  .card:not(.card-horizontal) > .card-media:first-child { margin:calc(var(--card-pad) * -1) calc(var(--card-pad) * -1) var(--card-pad); border-radius:calc(var(--radius-card) - var(--border-width)) calc(var(--radius-card) - var(--border-width)) 0 0; }
@@ -1708,14 +1757,26 @@ img,svg { display:block; }
1708
1757
  centraliza o texto, encolhe até o conteúdo e é inline-block. Sem elas o cartão-botão desenharia
1709
1758
  diferente do cartão-div, e a identidade dependeria de qual elemento o consumidor escolheu.
1710
1759
  É a mesma lição do `.step-trigger` (G-A11Y-10): o elemento certo precisa da pele certa. */
1711
- .card-interactive { cursor:pointer; display:block; inline-size:100%; font:inherit; text-align:inherit; color:inherit; transition:transform var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast); }
1760
+ /* GAR-08 (06/10/2026): o `display:block` daqui vinha DEPOIS do `.card-horizontal { display:grid }`,
1761
+ com a mesma força, e ganhava — o cartão clicável na horizontal perdia a coluna da foto. Agora o
1762
+ bloco é só o padrão do alvo (um `<a>` ou `<button>` nasceria em linha), com força ZERO
1763
+ (`:where`): qualquer orientação ganha dele, sem depender da ordem das regras. */
1764
+ :where(.card-interactive) { display:block; }
1765
+ /* E o sublinhado (achado ao medir o GAR-08, 06/10/2026): o cartão clicável costuma ser um `<a>`
1766
+ (o `render` do `Card`), e todo o texto dele saía sublinhado pelo navegador. Os outros alvos que
1767
+ viram link (`.btn`, `.sidebar-item`, `.nav-list-row`…) já tiravam; o cartão e o item de menu
1768
+ não. Quem cobra é o `link-sem-sublinhado.spec.ts`. */
1769
+ .card-interactive { cursor:pointer; inline-size:100%; text-decoration:none; font:inherit; text-align:inherit; color:inherit; transition:transform var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast); }
1712
1770
  .card-interactive:hover { transform:translateY(-2px); border-color:var(--border-strong); background:var(--surface-2); }
1713
1771
  .card-selected { border-color:var(--primary-outline); box-shadow:inset 0 0 0 1px var(--primary-outline); }
1714
1772
  .card-danger { border-color:color-mix(in srgb,var(--danger-400) 50%,var(--border)); background:var(--danger-bg); }
1715
1773
  .card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
1716
1774
  .card-title { margin:0; font-size:var(--text-sm); font-weight:var(--weight-medium); } .card-subtitle { margin:3px 0 0; color:var(--muted-foreground); font-size:var(--text-sm); }
1717
1775
 
1718
- .alert { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:12px; padding:14px 16px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--secondary); box-shadow:none; }
1776
+ /* HER-02 (06/10/2026): o `.alert` e o `.toast` eram `--radius-lg` (16). Painel e superfície
1777
+ flutuante são `--radius-card` (22) na identidade da Aurea, como o `.popover`, o `.dialog` e o
1778
+ `.banner`; a referência usa 24 nos dois. */
1779
+ .alert { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:12px; padding:14px 16px; border:1px solid var(--border); border-radius:var(--radius-card); background:var(--secondary); box-shadow:none; }
1719
1780
  /* Banner: aviso de largura de página. Base ANTES das variantes — mesma
1720
1781
  especificidade, então a última regra vence e a base apagaria as cores. */
1721
1782
  .banner { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 18px; border:1px solid var(--border); border-radius:var(--radius-card); background:var(--secondary); }
@@ -1734,9 +1795,9 @@ img,svg { display:block; }
1734
1795
  @media (max-width:640px) { .banner { grid-template-columns:auto minmax(0,1fr); } .banner>:last-child { grid-column:2; justify-self:start; } }
1735
1796
  .progress { height:8px; overflow:hidden; border-radius:999px; background:var(--surface-3); }
1736
1797
  .progress>span { display:block; height:100%; border-radius:inherit; background:var(--primary); }
1737
- /* AN-07 (03/10/2026): a caixa de fora, o texto de apoio e o tom. A anatomia é a do `ProgressBar` do
1738
- HeroUI 3.2.6 (`@heroui/styles`, progress-bar.css): a saída no alto à direita, `text-sm` médio com
1739
- algarismos de largura igual, e `gap-1` até o trilho. O tom é a lista fechada do `ButtonTone`:
1798
+ /* AN-07 (03/10/2026): a caixa de fora, o texto de apoio e o tom. A anatomia é a da barra de progresso da
1799
+ referência (o pacote de estilos dela): a saída no alto à direita, `text-sm` médio com
1800
+ algarismos de largura igual, e um vão pequeno até o trilho. O tom é a lista fechada do `ButtonTone`:
1740
1801
  pausado é `neutral`, falha é `danger`. */
1741
1802
  .progress-field { display:grid; gap:var(--space-1); }
1742
1803
  .progress-detail { justify-self:end; color:var(--muted-foreground); font-size:var(--text-sm); font-weight:var(--weight-medium); font-variant-numeric:tabular-nums; }
@@ -1745,8 +1806,8 @@ img,svg { display:block; }
1745
1806
  .progress-tone-warning>span { background:var(--warning); }
1746
1807
  .progress-tone-danger>span { background:var(--destructive); }
1747
1808
  .progress-tone-info>span { background:var(--info); }
1748
- /* Sem total, um pedaço de 2/5 corre pelo trilho: os números do HeroUI (`w-2/5`, de -100% a 350% da
1749
- própria largura, 1,5 s, a curva dele). O HeroUI anda com `translateX`; aqui anda a MARGEM LÓGICA
1809
+ /* Sem total, um pedaço de 2/5 corre pelo trilho: os números da referência (a largura de 2/5, de -100% a 350%
1810
+ da própria largura, 1,5 s, a curva dela). A referência anda com `translateX`; aqui anda a MARGEM LÓGICA
1750
1811
  (de -40% a 140% do trilho, o mesmo percurso), para correr ao contrário na escrita da direita para
1751
1812
  a esquerda sem `:dir(rtl)` — o empacotador do app reescreve `:dir()` como lista de idiomas e a
1752
1813
  regra deixa de pegar (medido no Vite, 03/10/2026). O pedaço tem 8 de altura: a conta por quadro é
@@ -1778,6 +1839,11 @@ img,svg { display:block; }
1778
1839
  .tabs[data-orientation="vertical"] .tab { min-block-size:var(--control-h-md); text-align:start; }
1779
1840
  .tab { position:relative; padding:0 14px; border:0; border-radius:var(--radius-control); background:transparent; color:var(--muted-foreground); cursor:pointer; }
1780
1841
  .tab.active,.tab[data-active] { color:var(--foreground); background:var(--secondary); } .tab.active:after,.tab[data-active]:after { display:none; }
1842
+ /* `panel="plain"` (MNT-05 e C9, 06/10/2026): o painel sem caixa, como o painel de abas da
1843
+ referência. Sem recheio dos lados — o conteúdo começa na linha do que está fora do `Tabs` —, e o
1844
+ espaço de cima é o mesmo `space-3` do painel do nativo. Na vertical, quem separa é o `gap` da
1845
+ grade da raiz, então o espaço de cima não entra. */
1846
+ .tabs-panel { min-width:0; } .tabs-root:not([data-orientation="vertical"])>.tabs-panel { padding-block-start:var(--space-3); }
1781
1847
  .breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:var(--muted-foreground); font-size:var(--text-sm); }
1782
1848
  .breadcrumb a { color:inherit; text-decoration:none; } .breadcrumb a:hover { color:var(--foreground); }
1783
1849
  .pagination { display:flex; gap:6px; align-items:center; }
@@ -1895,7 +1961,7 @@ img,svg { display:block; }
1895
1961
  .timeline > li > div { display:flex; flex-direction:column; gap:var(--space-05); min-width:0; }
1896
1962
  .timeline > li > div > p { margin:0; }
1897
1963
  .timeline-dot { flex:none; width:var(--space-3); height:var(--space-3); border-radius:var(--radius-full); margin-block-start:var(--space-1); background:var(--primary); box-shadow:0 0 0 var(--space-05) var(--surface-1); }
1898
- /* Accordion: anatomia medida no Carbon em 30/07/2026 (REFERENCES.md) — cabeçalho na altura de
1964
+ /* Accordion: anatomia medida numa das referências de desenho em 30/07/2026 (REFERENCES.md) — cabeçalho na altura de
1899
1965
  controle, divisória de 1px por item, corpo com respiro pequeno em cima e grande embaixo.
1900
1966
  O marcador é o NATIVO do <summary>: gira sozinho e custa zero código, e é por isso que o
1901
1967
  summary continua `display:list-item` — pôr flex nele apagaria o marcador. */
@@ -2027,6 +2093,40 @@ img,svg { display:block; }
2027
2093
  /* Chat React (Fase 5.4): estrutura fixa em classe, não inline (auditoria 18/07, M14). */
2028
2094
  .message-status { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-3); margin-block-start:var(--space-2); }
2029
2095
  .message-composer { display:flex; align-items:center; gap:var(--space-3); flex-wrap:nowrap; } .message-composer .input-group { flex:1; min-width:0; }
2096
+ /* AN-03 (Lote H, 04/10/2026). A FAIXA ACIMA DO CAMPO é o adorno em bloco da casa, empilhado: a
2097
+ citação (responder ou editar) em cima, os anexos embaixo. Com ela o grupo vira superfície (raio
2098
+ de cartão, a regra do adorno em bloco) e o botão de enviar desce para a linha do campo, onde
2099
+ está o texto — sem faixa, nada muda.
2100
+ A CITAÇÃO é a da prosa: o fio no começo da linha, apagado, com o recuo de dentro. O fio tem a
2101
+ espessura do `blockquote` da `.prose` (2), escrita a partir do `--border-width`. O título leva o
2102
+ peso médio, e o corpo fica numa linha só, com reticências. Ela serve também ao cabeçalho de
2103
+ resposta do `MessageList` (AN-02). */
2104
+ .message-composer:has(.message-composer-context) { align-items:flex-end; }
2105
+ .message-composer-context { flex-direction:column; align-items:stretch; gap:var(--space-2); color:var(--foreground); }
2106
+ .message-composer-context > .file-list { margin:0; }
2107
+ .message-quote { display:flex; align-items:center; gap:var(--space-2); padding-inline-start:var(--space-3); border-inline-start:calc(var(--border-width) * 2) solid var(--border-strong); color:var(--muted-foreground); font-size:var(--text-sm); }
2108
+ .message-quote > .icon { flex:none; }
2109
+ .message-quote-text { display:grid; flex:1; min-inline-size:0; }
2110
+ .message-quote-title { color:var(--foreground); font-weight:var(--weight-medium); }
2111
+ .message-quote-body { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
2112
+ /* AN-02 (Lote H, 04/10/2026). O LADO DA MENSAGEM. Quem declara `direction` ganha a bolha do
2113
+ tamanho do texto e uma folga do lado oposto igual ao avatar mais o vão (`--control-h-md` +
2114
+ `--space-3`): a conversa fica em duas margens, como em todo app de mensagem. Quem não declara
2115
+ continua como antes, com a bolha na largura toda.
2116
+ A MINHA vai para o fim, sem avatar, com o canto pequeno (`--radius-xs`, os mesmos 6 da bolha de
2117
+ sempre) do lado dela, e o fundo tingido da marca — o mesmo tom do nó escolhido do `TreeView`, que
2118
+ já é a forma desta folha de dizer "é seu" sem o amarelo cheio. Os cantos são lógicos: viram
2119
+ sozinhos na escrita da direita para a esquerda.
2120
+ O ÁLBUM é a `Gallery`, e a medida dela: no máximo duas miniaturas por linha (`--gallery-min` ×2
2121
+ mais o vão), e `auto-fit` para uma foto só ocupar a largura. */
2122
+ .message-in { padding-inline-end:calc(var(--control-h-md) + var(--space-3)); }
2123
+ .message-out { grid-template-columns:minmax(0,1fr); padding-inline-start:calc(var(--control-h-md) + var(--space-3)); }
2124
+ .message-in > .message-bubble { justify-self:start; border-radius:var(--radius-lg); border-start-start-radius:var(--radius-xs); }
2125
+ .message-out > .message-bubble { justify-self:end; border-radius:var(--radius-lg); border-start-end-radius:var(--radius-xs); background:color-mix(in srgb,var(--primary) 14%,transparent); }
2126
+ .message-day { display:flex; justify-content:center; }
2127
+ .message-forwarded { display:flex; align-items:center; gap:var(--space-1); color:var(--muted-foreground); font-size:var(--text-sm); }
2128
+ .message-bubble > .message-forwarded, .message-bubble > .message-quote, .message-bubble > .message-album, .message-bubble > .file-list { margin-block:0 var(--space-2); }
2129
+ .message-album { inline-size:min(100%, calc(var(--gallery-min,8rem) * 2 + var(--space-3))); grid-template-columns:repeat(auto-fit,minmax(var(--gallery-min,8rem),1fr)); }
2030
2130
 
2031
2131
  /* ========================================================================== */
2032
2132
  /* 07. MÍDIA */
@@ -2039,7 +2139,7 @@ img,svg { display:block; }
2039
2139
  `MediaPlayer` não repassa `style` para esta caixa (as props sobrando vão para o `<video>`, de
2040
2140
  propósito). Quem sabe quanta altura tem é a página, e altura não vira prop (check 23).
2041
2141
  ⚠ `--media-ar:auto` SÓ é seguro junto com `--media-h`. A razão do `aspect-ratio` aqui não é
2042
- estética: é CLS. O exemplo de playlist do `media-chrome` declara o mesmo com o motivo escrito —
2142
+ estética: é CLS. O exemplo de playlist de uma das referências declara o mesmo com o motivo escrito —
2043
2143
  sem proporção fixa, um player com `preload=none` mede zero até a mídia chegar e a página SALTA.
2044
2144
  Tirar a proporção sem fixar a altura devolve o salto. */
2045
2145
  /* A cor do foco no player é a do contexto, não uma regra à parte (B-09, 24/09/2026). O fundo do
@@ -2133,13 +2233,25 @@ img,svg { display:block; }
2133
2233
  qualquer forma — ele é `buttonface`, não transparente. */
2134
2234
  .gallery-tile:not(.is-selected) { background:transparent; color:var(--muted-foreground); }
2135
2235
  .gallery-caption { font-size:var(--text-sm); }
2136
-
2137
- /* TIPOGRAFIA (B-02, 25/09/2026) — `Text`, `Heading`, `Paragraph` e `Code`, no molde do HeroUI
2138
- 3.2.6 (`typography.css`), por ordem do Victor: HeroUI sempre primeiro. O que vem dele é a FORMA:
2236
+ /* AN-05 (Lote H, 04/10/2026). O VÍDEO não inventa peça: é o `Badge` da casa, pousado no canto do
2237
+ fim da foto, com as cores do reprodutor: o véu (`--media-scrim`, preto a 82%) e a letra dele
2238
+ (`--media-foreground`). O `--media-track` que o `.media-player` dá ao `Badge` é branco a 18% e só
2239
+ funciona sobre o véu: sobre foto clara, o tempo sumia (visto no banco em 04/10/2026). O canto é lógico (`inset-inline-end`), então vira sozinho na escrita da
2240
+ direita para a esquerda; o recuo do canto é `--space-2`.
2241
+ A LINHA DE "CARREGANDO MAIS" tem a medida da linha de "carregar mais" da tabela da referência (centrada): é
2242
+ ela que o observador vigia, então existe também parada, sem a rodinha. A do `MessageList` (AN-02),
2243
+ nas duas pontas da conversa, é a mesma linha. */
2244
+ .gallery-media { position:relative; display:block; }
2245
+ .gallery-media > .gallery-duration { position:absolute; inset-block-end:var(--space-2); inset-inline-end:var(--space-2); border-color:var(--media-scrim); background:var(--media-scrim); color:var(--media-foreground); }
2246
+ .gallery-more,.message-more { display:flex; align-items:center; justify-content:center; min-block-size:var(--icon-sm); padding-block:var(--space-3); color:var(--muted-foreground); }
2247
+
2248
+ /* TIPOGRAFIA (B-02, 25/09/2026) — `Text`, `Heading`, `Paragraph` e `Code`, no molde da
2249
+ referência (a folha de tipografia dela), por ordem do Victor: a referência sempre primeiro.
2250
+ O que vem dela é a FORMA:
2139
2251
  uma LISTA FECHADA de papéis em vez de tamanhos soltos (título 1–6, texto, texto pequeno, texto
2140
2252
  mínimo, código), cor só normal ou apagada, quatro pesos. O que é nosso são os números, todos de
2141
- token: a escala de letras é a dele desde a ADR-0050, a entrelinha do texto é `--leading-relaxed`
2142
- (27, 24 e 20px, contra os 28, 24 e 20 dele) e o código reusa a pele do `code` do `.prose`.
2253
+ token: a escala de letras é a dela desde a ADR-0050, a entrelinha do texto é `--leading-relaxed`
2254
+ (27, 24 e 20px, contra os 28, 24 e 20 dela) e o código reusa a pele do `code` do `.prose`.
2143
2255
  A margem vai a zero porque `h1`…`h6` e `p` trazem a do navegador; o espaço entre blocos é de
2144
2256
  quem os empilha (`Stack`), não do texto. */
2145
2257
  .typography { margin:0; color:var(--foreground); }
@@ -2280,9 +2392,9 @@ img,svg { display:block; }
2280
2392
  @media (hover:hover) and (pointer:fine) { .icon-tile:hover { color:var(--foreground); border-color:var(--primary); transform:translateY(-1px); } } .icon-tile:focus-visible { color:var(--foreground); border-color:var(--primary); } .icon-tile span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; font:11px var(--font-code); }
2281
2393
  .dialog-backdrop { position:fixed; inset:0; z-index:var(--z-modal); background:var(--overlay); backdrop-filter:blur(5px); }
2282
2394
  .dialog { position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:var(--z-modal); width:min(28rem,calc(100vw - 40px)); max-height:calc(100vh - 40px); overflow:auto; padding:24px; border:1px solid var(--border); border-radius:var(--radius-card); background:var(--popover); color:var(--popover-foreground); box-shadow:var(--shadow-lg); }
2283
- /* size (B-03), decisão do Victor em 24/09/2026: as quatro larguras do HeroUI — `max-w-xs` a
2284
- `max-w-lg` do @heroui/styles 3.2.6, 20/24/28/32rem = 320/384/448/512 — mais 1024 (o token
2285
- --breakpoint-lg) e a tela cheia. O padrão passou a ser o `md` do HeroUI, 448; até a 0.8.14
2395
+ /* size (B-03), decisão do Victor em 24/09/2026: as quatro larguras da referência — as do
2396
+ pacote de estilos dela, 20/24/28/32rem = 320/384/448/512 — mais 1024
2397
+ (o token --breakpoint-lg) e a tela cheia. O padrão passou a ser o `md` da referência, 448; até a 0.8.14
2286
2398
  era 560. */
2287
2399
  .dialog-xs { width:min(20rem,calc(100vw - 40px)); }
2288
2400
  .dialog-sm { width:min(24rem,calc(100vw - 40px)); }
@@ -2299,7 +2411,7 @@ img,svg { display:block; }
2299
2411
  .drawer-wrap { position:fixed; inset:0; z-index:var(--z-drawer); display:none; background:var(--overlay); } .drawer-wrap.open { display:block; }
2300
2412
  .drawer-backdrop { position:fixed; inset:0; z-index:var(--z-drawer); background:var(--overlay); }
2301
2413
  .drawer { position:fixed; top:0; bottom:0; z-index:var(--z-drawer); width:min(480px,92vw); padding:24px; background:var(--surface-1); box-shadow:var(--shadow-lg); overflow:auto; } .drawer-right { right:0; border-left:1px solid var(--border); } .drawer-left { left:0; border-right:1px solid var(--border); }
2302
- .toast-stack { position:fixed; inset-inline-end:22px; bottom:22px; z-index:var(--z-toast); width:min(360px,calc(100vw - 44px)); display:flex; flex-direction:column; gap:10px; } .toast { display:flex; align-items:center; gap:11px; padding:14px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--popover); color:var(--popover-foreground); box-shadow:var(--shadow-md); transition:opacity .28s var(--ease-standard), transform .28s var(--ease-emphasized); } .toast>:first-child { flex:1; min-width:0; } .toast-text { display:flex; flex-direction:column; gap:2px; min-width:0; } .toast[data-starting-style],.toast[data-ending-style] { opacity:0; transform:translateY(12px); }
2414
+ .toast-stack { position:fixed; inset-inline-end:22px; bottom:22px; z-index:var(--z-toast); width:min(360px,calc(100vw - 44px)); display:flex; flex-direction:column; gap:10px; } .toast { display:flex; align-items:center; gap:11px; padding:14px; border:1px solid var(--border); border-radius:var(--radius-card); background:var(--popover); color:var(--popover-foreground); box-shadow:var(--shadow-md); transition:opacity .28s var(--ease-standard), transform .28s var(--ease-emphasized); } .toast>:first-child { flex:1; min-width:0; } .toast-text { display:flex; flex-direction:column; gap:2px; min-width:0; } .toast[data-starting-style],.toast[data-ending-style] { opacity:0; transform:translateY(12px); }
2303
2415
  /* As quatro faces do `AureaToastType`, escritas em 16/08/2026 — elas NÃO existiam, e o tipo
2304
2416
  publicado não pintava nada. O `system.tsx` emite `toast-${t.type}` desde sempre; classe por
2305
2417
  template é o ponto CEGO do check 18, que só enxerga classe literal — o mesmo defeito que o
@@ -2335,11 +2447,11 @@ img,svg { display:block; }
2335
2447
  e `--space-1` de respiro. Vale para toda lista que usa `.menu`: Combobox, MultiCombobox,
2336
2448
  DropdownMenu, ContextMenu, Menubar e a lista da CommandPalette. */
2337
2449
  .menu { --menu-px:10px; z-index:var(--z-modal); min-width:200px; max-width:min(320px,calc(100vw - 32px)); padding:var(--space-1); border:1px solid var(--border); border-radius:var(--radius-card); background:var(--popover); color:var(--popover-foreground); box-shadow:var(--shadow-lg); }
2338
- .menu-item { display:flex; align-items:center; gap:10px; width:100%; min-height:var(--control-h-md); padding:0 var(--menu-px,10px); border:0; border-radius:calc(var(--radius-card) - var(--space-1)); background:transparent; color:var(--foreground); font:inherit; text-align:start; cursor:pointer; }
2450
+ .menu-item { display:flex; align-items:center; gap:10px; width:100%; min-height:var(--control-h-md); padding:0 var(--menu-px,10px); border:0; border-radius:calc(var(--radius-card) - var(--space-1)); background:transparent; color:var(--foreground); font:inherit; text-align:start; text-decoration:none; cursor:pointer; }
2339
2451
  .menu-item[data-highlighted],.menu-item:hover:not([data-disabled]) { background:var(--surface-3); }
2340
2452
  /* Foco de TECLADO no item: a linha de foco, por dentro, porque a lista recorta o que passa da borda
2341
- (B-09 e a ordem de 25/09/2026, "HeroUI sempre primeiro": o `menu-item` do HeroUI 3.2.6 leva o
2342
- `status-focused` no foco de teclado). Até aqui a regra de cima apagava a linha com
2453
+ (B-09 e a ordem de 25/09/2026, "a referência sempre primeiro": o item de menu dela
2454
+ leva a linha de foco no foco de teclado). Até aqui a regra de cima apagava a linha com
2343
2455
  `outline:none` e vencia a global: com o teclado, o item em foco era só o fundo cinza — igual ao
2344
2456
  do mouse em cima. O mouse continua só com o fundo: `:focus-visible` não acende por ponteiro.
2345
2457
  ⚠ Onde o foco fica no CAMPO (`Combobox`, `CommandPalette`: o item é destacado por
@@ -2520,22 +2632,30 @@ img,svg { display:block; }
2520
2632
  /* TreeView (Fase 4) — árvore headless própria (Base UI 1.6 não tem tree).
2521
2633
  role=tree/treeitem/group + roving tabindex vêm do React; aqui só a pele.
2522
2634
  A indentação por nível é padding-inline-start inline (style). Espaço novo
2523
- tokenizado; a linha não é pill (radius-sm, como o .menu-item). */
2635
+ tokenizado. A linha é CÁPSULA (`--radius-control`): o escolhido e o realce de passar o mouse
2636
+ são cápsula, como os campos, as abas e os botões de texto — regra do Victor, dita olhando a
2637
+ bancada do Lote H em 04/10/2026. Antes era `--radius-sm` (8). O texto do nó é uma linha só
2638
+ (`.tree-label` não quebra), então a cápsula não deforma. */
2524
2639
  .tree, .tree-group { margin:0; padding:0; list-style:none; }
2525
2640
  .tree-item { outline:none; }
2526
- .tree-node { display:flex; align-items:center; gap:var(--space-2); min-height:var(--control-h-md); padding-block:var(--space-1); padding-inline-end:var(--space-3); border-radius:var(--radius-sm); color:var(--foreground); cursor:pointer; user-select:none; }
2641
+ .tree-node { display:flex; align-items:center; gap:var(--space-2); min-height:var(--control-h-md); padding-block:var(--space-1); padding-inline-end:var(--space-3); border-radius:var(--radius-control); color:var(--foreground); cursor:pointer; user-select:none; }
2527
2642
  .tree-node:hover { background:var(--surface-3); }
2528
2643
  .tree-item:focus-visible > .tree-node { outline:var(--focus-width) solid var(--focus-strong); outline-offset:calc(-1 * var(--focus-width)); }
2529
2644
  .tree-node[data-selected] { background:color-mix(in srgb,var(--primary) 14%,transparent); }
2530
- .tree-twist { flex:none; color:var(--muted-foreground); transition:transform var(--duration-fast); }
2531
- .tree-item[aria-expanded="true"] > .tree-node > .tree-twist { transform:rotate(90deg); }
2532
- .tree-item[aria-expanded="false"]:dir(rtl) > .tree-node > .tree-twist { transform:rotate(180deg); }
2645
+ /* A seta gira pela propriedade `rotate`, e não por `transform`: assim a rodinha que ocupa o lugar
2646
+ dela enquanto o nó carrega (AN-06) continua girando pela animação dela, que é `transform`.
2647
+ Na escrita da direita para a esquerda a seta fechada aponta para a esquerda. Quem diz a direção é
2648
+ o React, pela direção do provedor (`.tree-twist-rtl`), e não `:dir(rtl)` — o empacotador do app
2649
+ reescreve `:dir()` como lista de idiomas e a regra deixa de pegar (medido no Vite, 03/10/2026). */
2650
+ .tree-twist { flex:none; color:var(--muted-foreground); transition:rotate var(--duration-fast); }
2651
+ .tree-twist-rtl { rotate:180deg; }
2652
+ .tree-item[aria-expanded="true"] > .tree-node > .tree-twist { rotate:90deg; }
2533
2653
  .tree-indent { flex:none; width:1rem; }
2534
2654
  .tree-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
2535
2655
 
2536
2656
  /* NotificationCenter (Fase 4) — compõe o .popover; aqui só o gatilho com count,
2537
2657
  o cabeçalho e as linhas do feed. Espaço novo tokenizado; a linha usa radius-sm
2538
- (não é pill, como o .menu-item/.tree-node). O painel NÃO é live region — a
2658
+ (não é pill, como o .menu-item; o .tree-node virou cápsula em 04/10/2026). O painel NÃO é live region — a
2539
2659
  chegada é anunciada por um role=status à parte no React. */
2540
2660
  .notification-trigger { position:relative; display:inline-flex; }
2541
2661
  .notification-count { position:absolute; inset-block-start:-4px; inset-inline-end:-4px; display:inline-flex; align-items:center; justify-content:center; min-width:18px; height:18px; padding:0 var(--space-1); border-radius:var(--radius-control); background:var(--primary); color:var(--primary-foreground); font-size:var(--text-xs); font-weight:var(--weight-semibold); line-height:var(--leading-none); pointer-events:none; }
@@ -2559,7 +2679,7 @@ button.notification-item:hover { background:var(--surface-3); }
2559
2679
  /* EmptyState é o membro GRANDE da família "aqui não há nada" — .notification-empty acima e
2560
2680
  .datagrid-empty abaixo já respondiam a mesma pergunta do mesmo jeito (centralizado, muted),
2561
2681
  e o componente público era o único dos três sem regra (achado A13). A ordem das partes
2562
- (imagem → título → corpo → ação) é a do padrão de empty state do Carbon, registrado em
2682
+ (imagem → título → corpo → ação) é a do padrão de empty state de uma das referências, registrado em
2563
2683
  REFERENCES.md; a pele é Aurea. O título vinha com o h3 do NAVEGADOR (16,38px). */
2564
2684
  .empty-state { display:flex; flex-direction:column; align-items:center; gap:var(--space-3); padding:var(--space-10) var(--space-6); color:var(--muted-foreground); text-align:center; }
2565
2685
  .empty-state > .icon { color:var(--subtle-foreground); }
@@ -2745,7 +2865,7 @@ th[aria-sort] .datagrid-sort-icon { color:var(--primary); }
2745
2865
  .health-name { font-weight:var(--weight-medium); }
2746
2866
 
2747
2867
  /* H.e — custo e memória.
2748
- O número total é o `TotalMetric` da referência, e ele é UMA linha de arranjo: a escala
2868
+ O número total é a métrica total da referência, e ele é UMA linha de arranjo: a escala
2749
2869
  tipográfica da Aurea vai só até `--text-base`, e o `text-3xl` de lá é a identidade DELA.
2750
2870
  Aqui o destaque vem do peso e do contraste com o rótulo em `--text-xs`, não de um degrau
2751
2871
  de fonte que a escala não tem. Compartilhado pelo ModelUsage e pelo CostMeter porque é a
@@ -2887,7 +3007,7 @@ button.graph-node-body { cursor:pointer; }
2887
3007
  /* superfície (overflow, borda, fundo, raio) mora junto com a do `.table-wrap` lá em cima — aqui
2888
3008
  fica só o que é DESTA região: ela é focável, e o foco dela é a linha de dentro, abaixo. Era um
2889
3009
  halo de `--focus` a 38% (B-09, 24/09/2026): claro demais para se ver, e fora do contrato de foco.
2890
- A linha vai para DENTRO porque a região é o próprio contêiner recortado — como no HeroUI 3.2.6,
3010
+ A linha vai para DENTRO porque a região é o próprio contêiner recortado — como na referência,
2891
3011
  que desenha o foco da tabela com `inset 0 0 0 2px var(--focus)`. */
2892
3012
  .table-region{outline:none}
2893
3013
  .table-region:focus-visible{outline:var(--focus-width) solid var(--focus-strong);outline-offset:calc(-1 * var(--focus-width));box-shadow:none}
@@ -2944,7 +3064,7 @@ button.graph-node-body { cursor:pointer; }
2944
3064
  /* ========================================================================== */
2945
3065
  /* 99. EIXO RESPONSIVO — a infraestrutura do G-AXIS-04 */
2946
3066
  /* ========================================================================== */
2947
- /* A Aurea tinha ZERO eixo responsivo e a Radix Themes tem em 47 de 50. O Victor decidiu que a
3067
+ /* A Aurea tinha ZERO eixo responsivo e uma das referências tem em 47 de 50. O Victor decidiu que a
2948
3068
  Aurea terá os DOIS mecanismos, explícitos na API, e que a abstração vem ANTES dos componentes:
2949
3069
  uma camada compartilhada, não uma solução diferente por peça.
2950
3070
 
@@ -3000,19 +3120,19 @@ button.graph-node-body { cursor:pointer; }
3000
3120
  .container-scope { container:aurea / inline-size; }
3001
3121
 
3002
3122
  /* por VIEWPORT — a decisão depende do tamanho da APLICAÇÃO */
3003
- @media (min-width:360px) { .vp-2xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-2xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-2xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-2xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-2xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-2xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-2xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-2xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-2xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-2xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-2xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-2xs\:field-horizontal>*:not(.label) { grid-column:2; } .vp-2xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-2xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-2xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-2xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-2xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-2xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-2xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-2xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3004
- @media (min-width:480px) { .vp-xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-xs\:field-horizontal>*:not(.label) { grid-column:2; } .vp-xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3005
- @media (min-width:640px) { .vp-sm\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-sm\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-sm\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-sm\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-sm\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-sm\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-sm\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-sm\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-sm\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-sm\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-sm\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-sm\:field-horizontal>*:not(.label) { grid-column:2; } .vp-sm\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-sm\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-sm\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-sm\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-sm\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-sm\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-sm\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-sm\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3006
- @media (min-width:768px) { .vp-md\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-md\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-md\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-md\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-md\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-md\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-md\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-md\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-md\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-md\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-md\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-md\:field-horizontal>*:not(.label) { grid-column:2; } .vp-md\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-md\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-md\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-md\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-md\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-md\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-md\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-md\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3007
- @media (min-width:1024px) { .vp-lg\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-lg\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-lg\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-lg\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-lg\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-lg\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-lg\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-lg\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-lg\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-lg\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-lg\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-lg\:field-horizontal>*:not(.label) { grid-column:2; } .vp-lg\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-lg\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-lg\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-lg\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-lg\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-lg\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-lg\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-lg\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3008
- @media (min-width:1280px) { .vp-xl\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-xl\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-xl\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-xl\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-xl\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-xl\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-xl\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-xl\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-xl\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-xl\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-xl\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-xl\:field-horizontal>*:not(.label) { grid-column:2; } .vp-xl\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-xl\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-xl\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-xl\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-xl\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-xl\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-xl\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-xl\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3009
- @media (min-width:1536px) { .vp-2xl\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-2xl\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-2xl\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-2xl\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-2xl\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-2xl\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-2xl\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-2xl\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-2xl\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-2xl\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-2xl\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-2xl\:field-horizontal>*:not(.label) { grid-column:2; } .vp-2xl\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-2xl\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-2xl\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-2xl\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-2xl\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-2xl\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-2xl\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-2xl\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3123
+ @media (min-width:360px) { .vp-2xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-2xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-2xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-2xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-2xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-2xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-2xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-2xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-2xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-2xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-2xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-2xs\:field-horizontal>*:not(.label) { grid-column:2; } .vp-2xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-2xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-2xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-2xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-2xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-2xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-2xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-2xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .vp-2xs\:grid-span-1 { grid-column:span 1 / span 1; } .vp-2xs\:grid-span-2 { grid-column:span 2 / span 2; } .vp-2xs\:grid-span-3 { grid-column:span 3 / span 3; } .vp-2xs\:grid-span-4 { grid-column:span 4 / span 4; } .vp-2xs\:grid-span-5 { grid-column:span 5 / span 5; } .vp-2xs\:grid-span-6 { grid-column:span 6 / span 6; } .vp-2xs\:grid-span-7 { grid-column:span 7 / span 7; } .vp-2xs\:grid-span-8 { grid-column:span 8 / span 8; } .vp-2xs\:grid-span-9 { grid-column:span 9 / span 9; } .vp-2xs\:grid-span-10 { grid-column:span 10 / span 10; } .vp-2xs\:grid-span-11 { grid-column:span 11 / span 11; } .vp-2xs\:grid-span-12 { grid-column:span 12 / span 12; } }
3124
+ @media (min-width:480px) { .vp-xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-xs\:field-horizontal>*:not(.label) { grid-column:2; } .vp-xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .vp-xs\:grid-span-1 { grid-column:span 1 / span 1; } .vp-xs\:grid-span-2 { grid-column:span 2 / span 2; } .vp-xs\:grid-span-3 { grid-column:span 3 / span 3; } .vp-xs\:grid-span-4 { grid-column:span 4 / span 4; } .vp-xs\:grid-span-5 { grid-column:span 5 / span 5; } .vp-xs\:grid-span-6 { grid-column:span 6 / span 6; } .vp-xs\:grid-span-7 { grid-column:span 7 / span 7; } .vp-xs\:grid-span-8 { grid-column:span 8 / span 8; } .vp-xs\:grid-span-9 { grid-column:span 9 / span 9; } .vp-xs\:grid-span-10 { grid-column:span 10 / span 10; } .vp-xs\:grid-span-11 { grid-column:span 11 / span 11; } .vp-xs\:grid-span-12 { grid-column:span 12 / span 12; } }
3125
+ @media (min-width:640px) { .vp-sm\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-sm\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-sm\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-sm\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-sm\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-sm\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-sm\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-sm\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-sm\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-sm\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-sm\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-sm\:field-horizontal>*:not(.label) { grid-column:2; } .vp-sm\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-sm\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-sm\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-sm\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-sm\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-sm\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-sm\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-sm\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .vp-sm\:grid-span-1 { grid-column:span 1 / span 1; } .vp-sm\:grid-span-2 { grid-column:span 2 / span 2; } .vp-sm\:grid-span-3 { grid-column:span 3 / span 3; } .vp-sm\:grid-span-4 { grid-column:span 4 / span 4; } .vp-sm\:grid-span-5 { grid-column:span 5 / span 5; } .vp-sm\:grid-span-6 { grid-column:span 6 / span 6; } .vp-sm\:grid-span-7 { grid-column:span 7 / span 7; } .vp-sm\:grid-span-8 { grid-column:span 8 / span 8; } .vp-sm\:grid-span-9 { grid-column:span 9 / span 9; } .vp-sm\:grid-span-10 { grid-column:span 10 / span 10; } .vp-sm\:grid-span-11 { grid-column:span 11 / span 11; } .vp-sm\:grid-span-12 { grid-column:span 12 / span 12; } }
3126
+ @media (min-width:768px) { .vp-md\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-md\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-md\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-md\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-md\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-md\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-md\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-md\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-md\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-md\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-md\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-md\:field-horizontal>*:not(.label) { grid-column:2; } .vp-md\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-md\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-md\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-md\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-md\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-md\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-md\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-md\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .vp-md\:grid-span-1 { grid-column:span 1 / span 1; } .vp-md\:grid-span-2 { grid-column:span 2 / span 2; } .vp-md\:grid-span-3 { grid-column:span 3 / span 3; } .vp-md\:grid-span-4 { grid-column:span 4 / span 4; } .vp-md\:grid-span-5 { grid-column:span 5 / span 5; } .vp-md\:grid-span-6 { grid-column:span 6 / span 6; } .vp-md\:grid-span-7 { grid-column:span 7 / span 7; } .vp-md\:grid-span-8 { grid-column:span 8 / span 8; } .vp-md\:grid-span-9 { grid-column:span 9 / span 9; } .vp-md\:grid-span-10 { grid-column:span 10 / span 10; } .vp-md\:grid-span-11 { grid-column:span 11 / span 11; } .vp-md\:grid-span-12 { grid-column:span 12 / span 12; } }
3127
+ @media (min-width:1024px) { .vp-lg\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-lg\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-lg\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-lg\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-lg\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-lg\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-lg\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-lg\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-lg\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-lg\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-lg\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-lg\:field-horizontal>*:not(.label) { grid-column:2; } .vp-lg\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-lg\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-lg\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-lg\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-lg\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-lg\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-lg\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-lg\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .vp-lg\:grid-span-1 { grid-column:span 1 / span 1; } .vp-lg\:grid-span-2 { grid-column:span 2 / span 2; } .vp-lg\:grid-span-3 { grid-column:span 3 / span 3; } .vp-lg\:grid-span-4 { grid-column:span 4 / span 4; } .vp-lg\:grid-span-5 { grid-column:span 5 / span 5; } .vp-lg\:grid-span-6 { grid-column:span 6 / span 6; } .vp-lg\:grid-span-7 { grid-column:span 7 / span 7; } .vp-lg\:grid-span-8 { grid-column:span 8 / span 8; } .vp-lg\:grid-span-9 { grid-column:span 9 / span 9; } .vp-lg\:grid-span-10 { grid-column:span 10 / span 10; } .vp-lg\:grid-span-11 { grid-column:span 11 / span 11; } .vp-lg\:grid-span-12 { grid-column:span 12 / span 12; } }
3128
+ @media (min-width:1280px) { .vp-xl\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-xl\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-xl\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-xl\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-xl\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-xl\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-xl\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-xl\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-xl\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-xl\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-xl\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-xl\:field-horizontal>*:not(.label) { grid-column:2; } .vp-xl\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-xl\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-xl\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-xl\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-xl\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-xl\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-xl\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-xl\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .vp-xl\:grid-span-1 { grid-column:span 1 / span 1; } .vp-xl\:grid-span-2 { grid-column:span 2 / span 2; } .vp-xl\:grid-span-3 { grid-column:span 3 / span 3; } .vp-xl\:grid-span-4 { grid-column:span 4 / span 4; } .vp-xl\:grid-span-5 { grid-column:span 5 / span 5; } .vp-xl\:grid-span-6 { grid-column:span 6 / span 6; } .vp-xl\:grid-span-7 { grid-column:span 7 / span 7; } .vp-xl\:grid-span-8 { grid-column:span 8 / span 8; } .vp-xl\:grid-span-9 { grid-column:span 9 / span 9; } .vp-xl\:grid-span-10 { grid-column:span 10 / span 10; } .vp-xl\:grid-span-11 { grid-column:span 11 / span 11; } .vp-xl\:grid-span-12 { grid-column:span 12 / span 12; } }
3129
+ @media (min-width:1536px) { .vp-2xl\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .vp-2xl\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .vp-2xl\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .vp-2xl\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .vp-2xl\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .vp-2xl\:btn-group-vertical { flex-direction:column; align-items:stretch; } .vp-2xl\:btn-group-horizontal { flex-direction:row; align-items:center; } .vp-2xl\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .vp-2xl\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .vp-2xl\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .vp-2xl\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .vp-2xl\:field-horizontal>*:not(.label) { grid-column:2; } .vp-2xl\:field-vertical { display:flex; flex-direction:column; gap:7px; } .vp-2xl\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .vp-2xl\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .vp-2xl\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .vp-2xl\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .vp-2xl\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .vp-2xl\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .vp-2xl\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .vp-2xl\:grid-span-1 { grid-column:span 1 / span 1; } .vp-2xl\:grid-span-2 { grid-column:span 2 / span 2; } .vp-2xl\:grid-span-3 { grid-column:span 3 / span 3; } .vp-2xl\:grid-span-4 { grid-column:span 4 / span 4; } .vp-2xl\:grid-span-5 { grid-column:span 5 / span 5; } .vp-2xl\:grid-span-6 { grid-column:span 6 / span 6; } .vp-2xl\:grid-span-7 { grid-column:span 7 / span 7; } .vp-2xl\:grid-span-8 { grid-column:span 8 / span 8; } .vp-2xl\:grid-span-9 { grid-column:span 9 / span 9; } .vp-2xl\:grid-span-10 { grid-column:span 10 / span 10; } .vp-2xl\:grid-span-11 { grid-column:span 11 / span 11; } .vp-2xl\:grid-span-12 { grid-column:span 12 / span 12; } }
3010
3130
 
3011
3131
  /* por CONTAINER — o componente responde ao ESPAÇO EM QUE FOI COLOCADO */
3012
- @container aurea (min-width:360px) { .ct-2xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-2xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-2xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-2xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-2xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-2xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-2xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-2xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-2xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-2xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-2xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-2xs\:field-horizontal>*:not(.label) { grid-column:2; } .ct-2xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-2xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-2xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-2xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-2xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-2xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-2xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-2xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3013
- @container aurea (min-width:480px) { .ct-xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-xs\:field-horizontal>*:not(.label) { grid-column:2; } .ct-xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3014
- @container aurea (min-width:640px) { .ct-sm\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-sm\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-sm\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-sm\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-sm\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-sm\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-sm\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-sm\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-sm\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-sm\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-sm\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-sm\:field-horizontal>*:not(.label) { grid-column:2; } .ct-sm\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-sm\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-sm\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-sm\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-sm\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-sm\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-sm\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-sm\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3015
- @container aurea (min-width:768px) { .ct-md\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-md\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-md\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-md\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-md\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-md\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-md\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-md\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-md\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-md\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-md\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-md\:field-horizontal>*:not(.label) { grid-column:2; } .ct-md\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-md\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-md\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-md\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-md\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-md\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-md\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-md\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3016
- @container aurea (min-width:1024px) { .ct-lg\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-lg\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-lg\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-lg\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-lg\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-lg\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-lg\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-lg\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-lg\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-lg\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-lg\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-lg\:field-horizontal>*:not(.label) { grid-column:2; } .ct-lg\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-lg\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-lg\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-lg\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-lg\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-lg\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-lg\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-lg\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } }
3132
+ @container aurea (min-width:360px) { .ct-2xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-2xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-2xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-2xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-2xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-2xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-2xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-2xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-2xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-2xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-2xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-2xs\:field-horizontal>*:not(.label) { grid-column:2; } .ct-2xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-2xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-2xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-2xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-2xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-2xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-2xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-2xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .ct-2xs\:grid-span-1 { grid-column:span 1 / span 1; } .ct-2xs\:grid-span-2 { grid-column:span 2 / span 2; } .ct-2xs\:grid-span-3 { grid-column:span 3 / span 3; } .ct-2xs\:grid-span-4 { grid-column:span 4 / span 4; } .ct-2xs\:grid-span-5 { grid-column:span 5 / span 5; } .ct-2xs\:grid-span-6 { grid-column:span 6 / span 6; } .ct-2xs\:grid-span-7 { grid-column:span 7 / span 7; } .ct-2xs\:grid-span-8 { grid-column:span 8 / span 8; } .ct-2xs\:grid-span-9 { grid-column:span 9 / span 9; } .ct-2xs\:grid-span-10 { grid-column:span 10 / span 10; } .ct-2xs\:grid-span-11 { grid-column:span 11 / span 11; } .ct-2xs\:grid-span-12 { grid-column:span 12 / span 12; } }
3133
+ @container aurea (min-width:480px) { .ct-xs\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-xs\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-xs\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-xs\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-xs\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-xs\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-xs\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-xs\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-xs\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-xs\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-xs\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-xs\:field-horizontal>*:not(.label) { grid-column:2; } .ct-xs\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-xs\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-xs\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-xs\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-xs\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-xs\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-xs\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-xs\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .ct-xs\:grid-span-1 { grid-column:span 1 / span 1; } .ct-xs\:grid-span-2 { grid-column:span 2 / span 2; } .ct-xs\:grid-span-3 { grid-column:span 3 / span 3; } .ct-xs\:grid-span-4 { grid-column:span 4 / span 4; } .ct-xs\:grid-span-5 { grid-column:span 5 / span 5; } .ct-xs\:grid-span-6 { grid-column:span 6 / span 6; } .ct-xs\:grid-span-7 { grid-column:span 7 / span 7; } .ct-xs\:grid-span-8 { grid-column:span 8 / span 8; } .ct-xs\:grid-span-9 { grid-column:span 9 / span 9; } .ct-xs\:grid-span-10 { grid-column:span 10 / span 10; } .ct-xs\:grid-span-11 { grid-column:span 11 / span 11; } .ct-xs\:grid-span-12 { grid-column:span 12 / span 12; } }
3134
+ @container aurea (min-width:640px) { .ct-sm\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-sm\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-sm\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-sm\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-sm\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-sm\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-sm\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-sm\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-sm\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-sm\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-sm\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-sm\:field-horizontal>*:not(.label) { grid-column:2; } .ct-sm\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-sm\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-sm\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-sm\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-sm\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-sm\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-sm\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-sm\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .ct-sm\:grid-span-1 { grid-column:span 1 / span 1; } .ct-sm\:grid-span-2 { grid-column:span 2 / span 2; } .ct-sm\:grid-span-3 { grid-column:span 3 / span 3; } .ct-sm\:grid-span-4 { grid-column:span 4 / span 4; } .ct-sm\:grid-span-5 { grid-column:span 5 / span 5; } .ct-sm\:grid-span-6 { grid-column:span 6 / span 6; } .ct-sm\:grid-span-7 { grid-column:span 7 / span 7; } .ct-sm\:grid-span-8 { grid-column:span 8 / span 8; } .ct-sm\:grid-span-9 { grid-column:span 9 / span 9; } .ct-sm\:grid-span-10 { grid-column:span 10 / span 10; } .ct-sm\:grid-span-11 { grid-column:span 11 / span 11; } .ct-sm\:grid-span-12 { grid-column:span 12 / span 12; } }
3135
+ @container aurea (min-width:768px) { .ct-md\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-md\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-md\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-md\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-md\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-md\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-md\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-md\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-md\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-md\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-md\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-md\:field-horizontal>*:not(.label) { grid-column:2; } .ct-md\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-md\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-md\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-md\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-md\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-md\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-md\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-md\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .ct-md\:grid-span-1 { grid-column:span 1 / span 1; } .ct-md\:grid-span-2 { grid-column:span 2 / span 2; } .ct-md\:grid-span-3 { grid-column:span 3 / span 3; } .ct-md\:grid-span-4 { grid-column:span 4 / span 4; } .ct-md\:grid-span-5 { grid-column:span 5 / span 5; } .ct-md\:grid-span-6 { grid-column:span 6 / span 6; } .ct-md\:grid-span-7 { grid-column:span 7 / span 7; } .ct-md\:grid-span-8 { grid-column:span 8 / span 8; } .ct-md\:grid-span-9 { grid-column:span 9 / span 9; } .ct-md\:grid-span-10 { grid-column:span 10 / span 10; } .ct-md\:grid-span-11 { grid-column:span 11 / span 11; } .ct-md\:grid-span-12 { grid-column:span 12 / span 12; } }
3136
+ @container aurea (min-width:1024px) { .ct-lg\:size-xs{--step-h:var(--control-h-xs);--step-fs:var(--text-xs);--step-gap:6px;--step-px:10px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8)} .ct-lg\:size-sm{--step-h:var(--control-h-sm);--step-fs:var(--text-sm);--step-gap:8px;--step-px:12px;--step-field-px:var(--space-3);--step-select-pe:var(--space-8);--step-icon:var(--icon-sm);--step-qr:7.5rem;--step-avatar-fs:var(--text-xs)} .ct-lg\:size-md{--step-h:var(--control-h-md);--step-fs:var(--text-sm);--step-gap:8px;--step-px:15px;--step-field-px:13px;--step-select-pe:38px;--step-icon:var(--icon-md);--step-qr:10rem} .ct-lg\:size-lg{--step-h:var(--control-h-lg);--step-fs:var(--text-base);--step-gap:8px;--step-px:20px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-lg);--step-qr:15rem} .ct-lg\:size-xl{--step-h:var(--control-h-xl);--step-fs:var(--text-base);--step-gap:10px;--step-px:26px;--step-field-px:var(--space-4);--step-select-pe:calc(var(--space-10) + var(--space-1));--step-icon:var(--icon-xl)} .ct-lg\:btn-group-vertical { flex-direction:column; align-items:stretch; } .ct-lg\:btn-group-horizontal { flex-direction:row; align-items:center; } .ct-lg\:range-vertical { writing-mode:vertical-rl; direction:rtl; inline-size:var(--range-vertical-size,10rem); width:auto; } .ct-lg\:range-horizontal { writing-mode:horizontal-tb; direction:inherit; inline-size:auto; width:100%; } .ct-lg\:field-horizontal { display:grid; grid-template-columns:minmax(0,var(--field-label-width,12rem)) minmax(0,1fr); align-items:center; column-gap:var(--space-4); row-gap:var(--space-1); } .ct-lg\:field-horizontal>.label { grid-column:1; flex-direction:column; align-items:flex-start; justify-content:center; gap:var(--space-05); } .ct-lg\:field-horizontal>*:not(.label) { grid-column:2; } .ct-lg\:field-vertical { display:flex; flex-direction:column; gap:7px; } .ct-lg\:field-vertical>.label { flex-direction:row; align-items:stretch; justify-content:space-between; gap:12px; } .ct-lg\:input-group-addon-inline { inline-size:auto; justify-content:normal; } .ct-lg\:input-group-addon-inline.input-group-addon-start { padding-inline:var(--space-3); } .ct-lg\:input-group-addon-inline.input-group-addon-end { padding-inline-end:var(--space-1); } .ct-lg\:input-group-addon-block { inline-size:100%; justify-content:flex-start; } .ct-lg\:input-group-addon-block.input-group-addon-start { padding:var(--space-2) var(--space-3) 0; } .ct-lg\:input-group-addon-block.input-group-addon-end { padding:0 var(--space-3) var(--space-2); } .ct-lg\:grid-span-1 { grid-column:span 1 / span 1; } .ct-lg\:grid-span-2 { grid-column:span 2 / span 2; } .ct-lg\:grid-span-3 { grid-column:span 3 / span 3; } .ct-lg\:grid-span-4 { grid-column:span 4 / span 4; } .ct-lg\:grid-span-5 { grid-column:span 5 / span 5; } .ct-lg\:grid-span-6 { grid-column:span 6 / span 6; } .ct-lg\:grid-span-7 { grid-column:span 7 / span 7; } .ct-lg\:grid-span-8 { grid-column:span 8 / span 8; } .ct-lg\:grid-span-9 { grid-column:span 9 / span 9; } .ct-lg\:grid-span-10 { grid-column:span 10 / span 10; } .ct-lg\:grid-span-11 { grid-column:span 11 / span 11; } .ct-lg\:grid-span-12 { grid-column:span 12 / span 12; } }
3017
3137
  /* <<< fim da camada responsiva >>> */
3018
3138
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aurea-uds/core",
3
- "version": "0.18.0",
3
+ "version": "0.22.0",
4
4
  "description": "O CSS da Aurea UDS e o comportamento em JavaScript puro. Importe @aurea-uds/fonts/css antes deste.",
5
5
  "keywords": [
6
6
  "aurea",