@aurea-uds/core 0.46.0 → 0.47.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 +706 -110
  2. package/package.json +1 -1
package/dist/aurea.css CHANGED
@@ -343,7 +343,7 @@
343
343
  --control-thumb:#ffffff;
344
344
  --warning-500:#d07612;
345
345
  }
346
- [data-brand="lory"][data-theme="dark"],[data-brand="lory"] [data-theme="dark"]{
346
+ [data-brand="ember"][data-theme="dark"],[data-brand="ember"] [data-theme="dark"]{
347
347
  --background:oklch(0.16 0.018 250);
348
348
  --foreground:oklch(0.96 0.006 250);
349
349
  --foreground-strong:oklch(1 0 0);
@@ -382,8 +382,8 @@
382
382
  --focus-strong:oklch(0.85 0.14 60);
383
383
  --selection:oklch(0.32 0.08 50);
384
384
  --control-selected:oklch(0.72 0.19 48);
385
- --control-selected-foreground:oklch(0.16 0.02 250);
386
- --control-selected-dot:oklch(0.16 0.02 250);
385
+ --control-selected-foreground:oklch(1 0 0);
386
+ --control-selected-dot:oklch(1 0 0);
387
387
  --primary-mark:oklch(0.16 0.02 250);
388
388
  --overlay:oklch(0 0 0 / 0.6);
389
389
  --chart-1:oklch(0.74 0.18 50);
@@ -409,9 +409,9 @@
409
409
  --info-bg:oklch(0.32 0.06 235);
410
410
  --brand-yellow-ink:#242424;
411
411
  --warning-foreground:#242424;
412
- --control-thumb:var(--primary-mark);
412
+ --control-thumb:oklch(1 0 0);
413
413
  }
414
- [data-brand="lory"][data-theme="light"],[data-brand="lory"] [data-theme="light"]{
414
+ [data-brand="ember"][data-theme="light"],[data-brand="ember"] [data-theme="light"]{
415
415
  --background:oklch(0.984 0.004 70);
416
416
  --foreground:oklch(0.24 0.022 250);
417
417
  --foreground-strong:oklch(0.16 0.02 250);
@@ -481,6 +481,572 @@
481
481
  --control-thumb:var(--primary-mark);
482
482
  --warning-500:oklch(0.727 0.149 60);
483
483
  }
484
+ [data-brand="sun"][data-theme="dark"],[data-brand="sun"] [data-theme="dark"]{
485
+ --primary:#facc15;
486
+ --primary-foreground:#18181b;
487
+ --primary-hover:#fbd34e;
488
+ --primary-active:#eabe13;
489
+ --primary-emphasis:#facc15;
490
+ --primary-outline:rgba(250,204,21,0.349);
491
+ --link:#facc15;
492
+ --link-hover:#facc15;
493
+ --link-mark:rgba(0,0,0,0);
494
+ --link-underline:#facc15;
495
+ --focus:#facc15;
496
+ --ring:#facc15;
497
+ --control-selected:#facc15;
498
+ --control-selected-foreground:#ffffff;
499
+ --control-selected-dot:#ffffff;
500
+ --primary-mark:#18181b;
501
+ --selection:rgba(250,204,21,0.2196);
502
+ --accent:#38311a;
503
+ --accent-foreground:#facc15;
504
+ --sidebar-primary:var(--primary-emphasis);
505
+ --sidebar-primary-foreground:#18181b;
506
+ --sidebar-ring:#facc15;
507
+ --sidebar-current-line:rgba(250,204,21,0.75);
508
+ }
509
+ [data-brand="sun"][data-theme="light"],[data-brand="sun"] [data-theme="light"]{
510
+ --primary:#facc15;
511
+ --primary-foreground:#18181b;
512
+ --primary-hover:#fbd34e;
513
+ --primary-active:#eabe13;
514
+ --primary-emphasis:var(--foreground);
515
+ --primary-outline:rgba(250,204,21,0.349);
516
+ --link:var(--foreground);
517
+ --link-hover:var(--foreground);
518
+ --link-mark:rgba(250,204,21,0.451);
519
+ --link-underline:#facc15;
520
+ --focus:#b27600;
521
+ --ring:#b27600;
522
+ --control-selected:#facc15;
523
+ --control-selected-foreground:#ffffff;
524
+ --control-selected-dot:#ffffff;
525
+ --primary-mark:#18181b;
526
+ --selection:rgba(250,204,21,0.1804);
527
+ --accent:#fef8de;
528
+ --accent-foreground:var(--foreground);
529
+ --sidebar-primary:var(--primary-emphasis);
530
+ --sidebar-primary-foreground:#18181b;
531
+ --sidebar-ring:#b27600;
532
+ --sidebar-current-line:rgba(250,204,21,0.75);
533
+ }
534
+ [data-brand="honey"][data-theme="dark"],[data-brand="honey"] [data-theme="dark"]{
535
+ --primary:#f5a524;
536
+ --primary-foreground:#18181b;
537
+ --primary-hover:#f7b04e;
538
+ --primary-active:#e59a21;
539
+ --primary-emphasis:#f5a524;
540
+ --primary-outline:rgba(245,165,36,0.349);
541
+ --link:#f5a524;
542
+ --link-hover:#f5a524;
543
+ --link-mark:rgba(0,0,0,0);
544
+ --link-underline:#f5a524;
545
+ --focus:#f5a524;
546
+ --ring:#f5a524;
547
+ --control-selected:#f5a524;
548
+ --control-selected-foreground:#ffffff;
549
+ --control-selected-dot:#ffffff;
550
+ --primary-mark:#18181b;
551
+ --selection:rgba(245,165,36,0.2196);
552
+ --accent:#372c1c;
553
+ --accent-foreground:#f5a524;
554
+ --sidebar-primary:var(--primary-emphasis);
555
+ --sidebar-primary-foreground:#18181b;
556
+ --sidebar-ring:#f5a524;
557
+ --sidebar-current-line:rgba(245,165,36,0.75);
558
+ }
559
+ [data-brand="honey"][data-theme="light"],[data-brand="honey"] [data-theme="light"]{
560
+ --primary:#f5a524;
561
+ --primary-foreground:#18181b;
562
+ --primary-hover:#f7b04e;
563
+ --primary-active:#e59a21;
564
+ --primary-emphasis:var(--foreground);
565
+ --primary-outline:rgba(245,165,36,0.349);
566
+ --link:var(--foreground);
567
+ --link-hover:var(--foreground);
568
+ --link-mark:rgba(245,165,36,0.451);
569
+ --link-underline:#f5a524;
570
+ --focus:#cc6700;
571
+ --ring:#cc6700;
572
+ --control-selected:#f5a524;
573
+ --control-selected-foreground:#ffffff;
574
+ --control-selected-dot:#ffffff;
575
+ --primary-mark:#18181b;
576
+ --selection:rgba(245,165,36,0.1804);
577
+ --accent:#fef2e0;
578
+ --accent-foreground:var(--foreground);
579
+ --sidebar-primary:var(--primary-emphasis);
580
+ --sidebar-primary-foreground:#18181b;
581
+ --sidebar-ring:#cc6700;
582
+ --sidebar-current-line:rgba(245,165,36,0.75);
583
+ }
584
+ [data-brand="orange"][data-theme="dark"],[data-brand="orange"] [data-theme="dark"]{
585
+ --primary:#ff7a1a;
586
+ --primary-foreground:#18181b;
587
+ --primary-hover:#ff8c46;
588
+ --primary-active:#ee7218;
589
+ --primary-emphasis:#ff904f;
590
+ --primary-outline:rgba(255,122,26,0.349);
591
+ --link:#ff904f;
592
+ --link-hover:#ff904f;
593
+ --link-mark:rgba(0,0,0,0);
594
+ --link-underline:#ff7a1a;
595
+ --focus:#ff7a1a;
596
+ --ring:#ff7a1a;
597
+ --control-selected:#ff7a1a;
598
+ --control-selected-foreground:#ffffff;
599
+ --control-selected-dot:#ffffff;
600
+ --primary-mark:#18181b;
601
+ --selection:rgba(255,122,26,0.2196);
602
+ --accent:#38261b;
603
+ --accent-foreground:#ff904f;
604
+ --sidebar-primary:var(--primary-emphasis);
605
+ --sidebar-primary-foreground:#18181b;
606
+ --sidebar-ring:#ff7a1a;
607
+ --sidebar-current-line:rgba(255,122,26,0.75);
608
+ --warning:#f5a524;
609
+ --warning-hover:#f7b04e;
610
+ --warning-400:#f5a524;
611
+ --warning-bg:#4a320b;
612
+ }
613
+ [data-brand="orange"][data-theme="light"],[data-brand="orange"] [data-theme="light"]{
614
+ --primary:#ff7a1a;
615
+ --primary-foreground:#18181b;
616
+ --primary-hover:#ff8c46;
617
+ --primary-active:#ee7218;
618
+ --primary-emphasis:#a44900;
619
+ --primary-outline:rgba(255,122,26,0.349);
620
+ --link:var(--foreground);
621
+ --link-hover:var(--foreground);
622
+ --link-mark:rgba(255,122,26,0.451);
623
+ --link-underline:#ff7a1a;
624
+ --focus:#d46100;
625
+ --ring:#d46100;
626
+ --control-selected:#ff7a1a;
627
+ --control-selected-foreground:#ffffff;
628
+ --control-selected-dot:#ffffff;
629
+ --primary-mark:#18181b;
630
+ --selection:rgba(255,122,26,0.1804);
631
+ --accent:#ffecdf;
632
+ --accent-foreground:#a44900;
633
+ --sidebar-primary:var(--primary-emphasis);
634
+ --sidebar-primary-foreground:#18181b;
635
+ --sidebar-ring:#d46100;
636
+ --sidebar-current-line:rgba(255,122,26,0.75);
637
+ --warning:#f5a524;
638
+ --warning-hover:#f7b04e;
639
+ --warning-400:#8c5b00;
640
+ --warning-bg:#fffbf6;
641
+ }
642
+ [data-brand="magenta"][data-theme="dark"],[data-brand="magenta"] [data-theme="dark"]{
643
+ --primary:#e0196e;
644
+ --primary-foreground:#ffffff;
645
+ --primary-hover:#bd135c;
646
+ --primary-active:#bd135c;
647
+ --primary-emphasis:#ff88a8;
648
+ --primary-outline:rgba(224,25,110,0.349);
649
+ --link:#ff88a8;
650
+ --link-hover:#ff88a8;
651
+ --link-mark:rgba(0,0,0,0);
652
+ --link-underline:#e0196e;
653
+ --focus:#ff4688;
654
+ --ring:#ff4688;
655
+ --control-selected:#e0196e;
656
+ --control-selected-foreground:#ffffff;
657
+ --control-selected-dot:#ffffff;
658
+ --primary-mark:#ffffff;
659
+ --selection:rgba(224,25,110,0.2196);
660
+ --accent:#341827;
661
+ --accent-foreground:#ff88a8;
662
+ --sidebar-primary:var(--primary-emphasis);
663
+ --sidebar-primary-foreground:#ffffff;
664
+ --sidebar-ring:#ff4688;
665
+ --sidebar-current-line:rgba(224,25,110,0.75);
666
+ --primary-gradient-end:oklch(0.4137 0.1594 3.94);
667
+ }
668
+ [data-brand="magenta"][data-theme="light"],[data-brand="magenta"] [data-theme="light"]{
669
+ --primary:#e0196e;
670
+ --primary-foreground:#ffffff;
671
+ --primary-hover:#bd135c;
672
+ --primary-active:#bd135c;
673
+ --primary-emphasis:#bb0059;
674
+ --primary-outline:rgba(224,25,110,0.349);
675
+ --link:var(--foreground);
676
+ --link-hover:var(--foreground);
677
+ --link-mark:rgba(224,25,110,0.451);
678
+ --link-underline:#e0196e;
679
+ --focus:#e0196e;
680
+ --ring:#e0196e;
681
+ --control-selected:#e0196e;
682
+ --control-selected-foreground:#ffffff;
683
+ --control-selected-dot:#ffffff;
684
+ --primary-mark:#ffffff;
685
+ --selection:rgba(224,25,110,0.1804);
686
+ --accent:#fbdfeb;
687
+ --accent-foreground:#bb0059;
688
+ --sidebar-primary:var(--primary-emphasis);
689
+ --sidebar-primary-foreground:#ffffff;
690
+ --sidebar-ring:#e0196e;
691
+ --sidebar-current-line:rgba(224,25,110,0.75);
692
+ --primary-gradient-end:oklch(0.4137 0.1594 3.94);
693
+ }
694
+ [data-brand="violet"][data-theme="dark"],[data-brand="violet"] [data-theme="dark"]{
695
+ --primary:#7c3aed;
696
+ --primary-foreground:#ffffff;
697
+ --primary-hover:#682fc8;
698
+ --primary-active:#682fc8;
699
+ --primary-emphasis:#b49eff;
700
+ --primary-outline:rgba(124,58,237,0.349);
701
+ --link:#b49eff;
702
+ --link-hover:#b49eff;
703
+ --link-mark:rgba(0,0,0,0);
704
+ --link-underline:#7c3aed;
705
+ --focus:#9c76ff;
706
+ --ring:#9c76ff;
707
+ --control-selected:#7c3aed;
708
+ --control-selected-foreground:#ffffff;
709
+ --control-selected-dot:#ffffff;
710
+ --primary-mark:#ffffff;
711
+ --selection:rgba(124,58,237,0.2196);
712
+ --accent:#261d38;
713
+ --accent-foreground:#b49eff;
714
+ --sidebar-primary:var(--primary-emphasis);
715
+ --sidebar-primary-foreground:#ffffff;
716
+ --sidebar-ring:#9c76ff;
717
+ --sidebar-current-line:rgba(124,58,237,0.75);
718
+ --primary-gradient-end:oklch(0.3789 0.1726 293.01);
719
+ }
720
+ [data-brand="violet"][data-theme="light"],[data-brand="violet"] [data-theme="light"]{
721
+ --primary:#7c3aed;
722
+ --primary-foreground:#ffffff;
723
+ --primary-hover:#682fc8;
724
+ --primary-active:#682fc8;
725
+ --primary-emphasis:#7530e4;
726
+ --primary-outline:rgba(124,58,237,0.349);
727
+ --link:var(--foreground);
728
+ --link-hover:var(--foreground);
729
+ --link-mark:rgba(124,58,237,0.451);
730
+ --link-underline:#7c3aed;
731
+ --focus:#7c3aed;
732
+ --ring:#7c3aed;
733
+ --control-selected:#7c3aed;
734
+ --control-selected-foreground:#ffffff;
735
+ --control-selected-dot:#ffffff;
736
+ --primary-mark:#ffffff;
737
+ --selection:rgba(124,58,237,0.1804);
738
+ --accent:#ede3fc;
739
+ --accent-foreground:#7530e4;
740
+ --sidebar-primary:var(--primary-emphasis);
741
+ --sidebar-primary-foreground:#ffffff;
742
+ --sidebar-ring:#7c3aed;
743
+ --sidebar-current-line:rgba(124,58,237,0.75);
744
+ --primary-gradient-end:oklch(0.3789 0.1726 293.01);
745
+ }
746
+ [data-brand="indigo"][data-theme="dark"],[data-brand="indigo"] [data-theme="dark"]{
747
+ --primary:#4f46e5;
748
+ --primary-foreground:#ffffff;
749
+ --primary-hover:#413ac1;
750
+ --primary-active:#413ac1;
751
+ --primary-emphasis:#9aa6ff;
752
+ --primary-outline:rgba(79,70,229,0.349);
753
+ --link:#9aa6ff;
754
+ --link-hover:#9aa6ff;
755
+ --link-mark:rgba(0,0,0,0);
756
+ --link-underline:#4f46e5;
757
+ --focus:#7982ff;
758
+ --ring:#7982ff;
759
+ --control-selected:#4f46e5;
760
+ --control-selected-foreground:#ffffff;
761
+ --control-selected-dot:#ffffff;
762
+ --primary-mark:#ffffff;
763
+ --selection:rgba(79,70,229,0.2196);
764
+ --accent:#201e37;
765
+ --accent-foreground:#9aa6ff;
766
+ --sidebar-primary:var(--primary-emphasis);
767
+ --sidebar-primary-foreground:#ffffff;
768
+ --sidebar-ring:#7982ff;
769
+ --sidebar-current-line:rgba(79,70,229,0.75);
770
+ --primary-gradient-end:oklch(0.3574 0.161 276.97);
771
+ }
772
+ [data-brand="indigo"][data-theme="light"],[data-brand="indigo"] [data-theme="light"]{
773
+ --primary:#4f46e5;
774
+ --primary-foreground:#ffffff;
775
+ --primary-hover:#413ac1;
776
+ --primary-active:#413ac1;
777
+ --primary-emphasis:#4e45e4;
778
+ --primary-outline:rgba(79,70,229,0.349);
779
+ --link:var(--foreground);
780
+ --link-hover:var(--foreground);
781
+ --link-mark:rgba(79,70,229,0.451);
782
+ --link-underline:#4f46e5;
783
+ --focus:#4f46e5;
784
+ --ring:#4f46e5;
785
+ --control-selected:#4f46e5;
786
+ --control-selected-foreground:#ffffff;
787
+ --control-selected-dot:#ffffff;
788
+ --primary-mark:#ffffff;
789
+ --selection:rgba(79,70,229,0.1804);
790
+ --accent:#e6e5fb;
791
+ --accent-foreground:#4e45e4;
792
+ --sidebar-primary:var(--primary-emphasis);
793
+ --sidebar-primary-foreground:#ffffff;
794
+ --sidebar-ring:#4f46e5;
795
+ --sidebar-current-line:rgba(79,70,229,0.75);
796
+ --primary-gradient-end:oklch(0.3574 0.161 276.97);
797
+ }
798
+ [data-brand="cobalt"][data-theme="dark"],[data-brand="cobalt"] [data-theme="dark"]{
799
+ --primary:#0246f1;
800
+ --primary-foreground:#ffffff;
801
+ --primary-hover:#013acb;
802
+ --primary-active:#013acb;
803
+ --primary-emphasis:#82acff;
804
+ --primary-outline:rgba(2,70,241,0.349);
805
+ --link:#82acff;
806
+ --link-hover:#82acff;
807
+ --link-mark:rgba(0,0,0,0);
808
+ --link-underline:#0246f1;
809
+ --focus:#548aff;
810
+ --ring:#548aff;
811
+ --control-selected:#0246f1;
812
+ --control-selected-foreground:#ffffff;
813
+ --control-selected-dot:#ffffff;
814
+ --primary-mark:#ffffff;
815
+ --selection:rgba(2,70,241,0.2196);
816
+ --accent:#151e39;
817
+ --accent-foreground:#82acff;
818
+ --sidebar-primary:var(--primary-emphasis);
819
+ --sidebar-primary-foreground:#ffffff;
820
+ --sidebar-ring:#548aff;
821
+ --sidebar-current-line:rgba(2,70,241,0.75);
822
+ --primary-gradient-end:oklch(0.3466 0.1812 263.46);
823
+ }
824
+ [data-brand="cobalt"][data-theme="light"],[data-brand="cobalt"] [data-theme="light"]{
825
+ --primary:#0246f1;
826
+ --primary-foreground:#ffffff;
827
+ --primary-hover:#013acb;
828
+ --primary-active:#013acb;
829
+ --primary-emphasis:#0246f1;
830
+ --primary-outline:rgba(2,70,241,0.349);
831
+ --link:var(--foreground);
832
+ --link-hover:var(--foreground);
833
+ --link-mark:rgba(2,70,241,0.451);
834
+ --link-underline:#0246f1;
835
+ --focus:#0246f1;
836
+ --ring:#0246f1;
837
+ --control-selected:#0246f1;
838
+ --control-selected-foreground:#ffffff;
839
+ --control-selected-dot:#ffffff;
840
+ --primary-mark:#ffffff;
841
+ --selection:rgba(2,70,241,0.1804);
842
+ --accent:#dce5fd;
843
+ --accent-foreground:#0246f1;
844
+ --sidebar-primary:var(--primary-emphasis);
845
+ --sidebar-primary-foreground:#ffffff;
846
+ --sidebar-ring:#0246f1;
847
+ --sidebar-current-line:rgba(2,70,241,0.75);
848
+ --primary-gradient-end:oklch(0.3466 0.1812 263.46);
849
+ }
850
+ [data-brand="cyan"][data-theme="dark"],[data-brand="cyan"] [data-theme="dark"]{
851
+ --primary:#06b6d4;
852
+ --primary-foreground:#18181b;
853
+ --primary-hover:#48bfd9;
854
+ --primary-active:#05aac6;
855
+ --primary-emphasis:#1cbcdb;
856
+ --primary-outline:rgba(6,182,212,0.349);
857
+ --link:#1cbcdb;
858
+ --link-hover:#1cbcdb;
859
+ --link-mark:rgba(0,0,0,0);
860
+ --link-underline:#06b6d4;
861
+ --focus:#06b6d4;
862
+ --ring:#06b6d4;
863
+ --control-selected:#06b6d4;
864
+ --control-selected-foreground:#ffffff;
865
+ --control-selected-dot:#ffffff;
866
+ --primary-mark:#18181b;
867
+ --selection:rgba(6,182,212,0.2196);
868
+ --accent:#152e35;
869
+ --accent-foreground:#1cbcdb;
870
+ --sidebar-primary:var(--primary-emphasis);
871
+ --sidebar-primary-foreground:#18181b;
872
+ --sidebar-ring:#06b6d4;
873
+ --sidebar-current-line:rgba(6,182,212,0.75);
874
+ }
875
+ [data-brand="cyan"][data-theme="light"],[data-brand="cyan"] [data-theme="light"]{
876
+ --primary:#06b6d4;
877
+ --primary-foreground:#18181b;
878
+ --primary-hover:#48bfd9;
879
+ --primary-active:#05aac6;
880
+ --primary-emphasis:#006d80;
881
+ --primary-outline:rgba(6,182,212,0.349);
882
+ --link:var(--foreground);
883
+ --link-hover:var(--foreground);
884
+ --link-mark:rgba(6,182,212,0.451);
885
+ --link-underline:#06b6d4;
886
+ --focus:#008fa8;
887
+ --ring:#008fa8;
888
+ --control-selected:#06b6d4;
889
+ --control-selected-foreground:#ffffff;
890
+ --control-selected-dot:#ffffff;
891
+ --primary-mark:#18181b;
892
+ --selection:rgba(6,182,212,0.1804);
893
+ --accent:#dcf5f9;
894
+ --accent-foreground:#006d80;
895
+ --sidebar-primary:var(--primary-emphasis);
896
+ --sidebar-primary-foreground:#18181b;
897
+ --sidebar-ring:#008fa8;
898
+ --sidebar-current-line:rgba(6,182,212,0.75);
899
+ }
900
+ [data-brand="turquoise"][data-theme="dark"],[data-brand="turquoise"] [data-theme="dark"]{
901
+ --primary:#14c8a8;
902
+ --primary-foreground:#18181b;
903
+ --primary-hover:#4ecfb2;
904
+ --primary-active:#12bb9d;
905
+ --primary-emphasis:#14c8a8;
906
+ --primary-outline:rgba(20,200,168,0.349);
907
+ --link:#14c8a8;
908
+ --link-hover:#14c8a8;
909
+ --link-mark:rgba(0,0,0,0);
910
+ --link-underline:#14c8a8;
911
+ --focus:#14c8a8;
912
+ --ring:#14c8a8;
913
+ --control-selected:#14c8a8;
914
+ --control-selected-foreground:#ffffff;
915
+ --control-selected-dot:#ffffff;
916
+ --primary-mark:#18181b;
917
+ --selection:rgba(20,200,168,0.2196);
918
+ --accent:#17312f;
919
+ --accent-foreground:#14c8a8;
920
+ --sidebar-primary:var(--primary-emphasis);
921
+ --sidebar-primary-foreground:#18181b;
922
+ --sidebar-ring:#14c8a8;
923
+ --sidebar-current-line:rgba(20,200,168,0.75);
924
+ }
925
+ [data-brand="turquoise"][data-theme="light"],[data-brand="turquoise"] [data-theme="light"]{
926
+ --primary:#14c8a8;
927
+ --primary-foreground:#18181b;
928
+ --primary-hover:#4ecfb2;
929
+ --primary-active:#12bb9d;
930
+ --primary-emphasis:#00715e;
931
+ --primary-outline:rgba(20,200,168,0.349);
932
+ --link:var(--foreground);
933
+ --link-hover:var(--foreground);
934
+ --link-mark:rgba(20,200,168,0.451);
935
+ --link-underline:#14c8a8;
936
+ --focus:#00937b;
937
+ --ring:#00937b;
938
+ --control-selected:#14c8a8;
939
+ --control-selected-foreground:#ffffff;
940
+ --control-selected-dot:#ffffff;
941
+ --primary-mark:#18181b;
942
+ --selection:rgba(20,200,168,0.1804);
943
+ --accent:#def7f3;
944
+ --accent-foreground:#00715e;
945
+ --sidebar-primary:var(--primary-emphasis);
946
+ --sidebar-primary-foreground:#18181b;
947
+ --sidebar-ring:#00937b;
948
+ --sidebar-current-line:rgba(20,200,168,0.75);
949
+ }
950
+ [data-brand="emerald"][data-theme="dark"],[data-brand="emerald"] [data-theme="dark"]{
951
+ --primary:#17c964;
952
+ --primary-foreground:#18181b;
953
+ --primary-hover:#4dd078;
954
+ --primary-active:#15bc5d;
955
+ --primary-emphasis:#17c964;
956
+ --primary-outline:rgba(23,201,100,0.349);
957
+ --link:#17c964;
958
+ --link-hover:#17c964;
959
+ --link-mark:rgba(0,0,0,0);
960
+ --link-underline:#17c964;
961
+ --focus:#17c964;
962
+ --ring:#17c964;
963
+ --control-selected:#17c964;
964
+ --control-selected-foreground:#ffffff;
965
+ --control-selected-dot:#ffffff;
966
+ --primary-mark:#18181b;
967
+ --selection:rgba(23,201,100,0.2196);
968
+ --accent:#183125;
969
+ --accent-foreground:#17c964;
970
+ --sidebar-primary:var(--primary-emphasis);
971
+ --sidebar-primary-foreground:#18181b;
972
+ --sidebar-ring:#17c964;
973
+ --sidebar-current-line:rgba(23,201,100,0.75);
974
+ }
975
+ [data-brand="emerald"][data-theme="light"],[data-brand="emerald"] [data-theme="light"]{
976
+ --primary:#17c964;
977
+ --primary-foreground:#18181b;
978
+ --primary-hover:#4dd078;
979
+ --primary-active:#15bc5d;
980
+ --primary-emphasis:#007435;
981
+ --primary-outline:rgba(23,201,100,0.349);
982
+ --link:var(--foreground);
983
+ --link-hover:var(--foreground);
984
+ --link-mark:rgba(23,201,100,0.451);
985
+ --link-underline:#17c964;
986
+ --focus:#009647;
987
+ --ring:#009647;
988
+ --control-selected:#17c964;
989
+ --control-selected-foreground:#ffffff;
990
+ --control-selected-dot:#ffffff;
991
+ --primary-mark:#18181b;
992
+ --selection:rgba(23,201,100,0.1804);
993
+ --accent:#dff7e9;
994
+ --accent-foreground:#007435;
995
+ --sidebar-primary:var(--primary-emphasis);
996
+ --sidebar-primary-foreground:#18181b;
997
+ --sidebar-ring:#009647;
998
+ --sidebar-current-line:rgba(23,201,100,0.75);
999
+ }
1000
+ [data-brand="lime"][data-theme="dark"],[data-brand="lime"] [data-theme="dark"]{
1001
+ --primary:#a3e635;
1002
+ --primary-foreground:#18181b;
1003
+ --primary-hover:#aeea5b;
1004
+ --primary-active:#98d731;
1005
+ --primary-emphasis:#a3e635;
1006
+ --primary-outline:rgba(163,230,53,0.349);
1007
+ --link:#a3e635;
1008
+ --link-hover:#a3e635;
1009
+ --link-mark:rgba(0,0,0,0);
1010
+ --link-underline:#a3e635;
1011
+ --focus:#a3e635;
1012
+ --ring:#a3e635;
1013
+ --control-selected:#a3e635;
1014
+ --control-selected-foreground:#ffffff;
1015
+ --control-selected-dot:#ffffff;
1016
+ --primary-mark:#18181b;
1017
+ --selection:rgba(163,230,53,0.2196);
1018
+ --accent:#2b351f;
1019
+ --accent-foreground:#a3e635;
1020
+ --sidebar-primary:var(--primary-emphasis);
1021
+ --sidebar-primary-foreground:#18181b;
1022
+ --sidebar-ring:#a3e635;
1023
+ --sidebar-current-line:rgba(163,230,53,0.75);
1024
+ }
1025
+ [data-brand="lime"][data-theme="light"],[data-brand="lime"] [data-theme="light"]{
1026
+ --primary:#a3e635;
1027
+ --primary-foreground:#18181b;
1028
+ --primary-hover:#aeea5b;
1029
+ --primary-active:#98d731;
1030
+ --primary-emphasis:#4c7200;
1031
+ --primary-outline:rgba(163,230,53,0.349);
1032
+ --link:var(--foreground);
1033
+ --link-hover:var(--foreground);
1034
+ --link-mark:rgba(163,230,53,0.451);
1035
+ --link-underline:#a3e635;
1036
+ --focus:#619000;
1037
+ --ring:#619000;
1038
+ --control-selected:#a3e635;
1039
+ --control-selected-foreground:#ffffff;
1040
+ --control-selected-dot:#ffffff;
1041
+ --primary-mark:#18181b;
1042
+ --selection:rgba(163,230,53,0.1804);
1043
+ --accent:#f2fce3;
1044
+ --accent-foreground:#4c7200;
1045
+ --sidebar-primary:var(--primary-emphasis);
1046
+ --sidebar-primary-foreground:#18181b;
1047
+ --sidebar-ring:#619000;
1048
+ --sidebar-current-line:rgba(163,230,53,0.75);
1049
+ }
484
1050
  [data-density="compact"]{
485
1051
  --control-h-xs:1.5rem;
486
1052
  --control-h-sm:1.75rem;
@@ -910,7 +1476,7 @@ img,svg { display:block; }
910
1476
  o painel do `Tabs`, o `KPI`). É a coluna "On this page" de uma documentação, como a da referência: os
911
1477
  itens soltos na página. Tira só a PINTURA — fundo, cor da borda, sombra — e guarda a geometria da
912
1478
  flutuante (margens, altura, a mesma borda de 1, agora invisível), então trocar de variante não mexe em
913
- nada de lugar. O texto continua na escala da lateral: medido nos quatro (Aurea e `lory`, claro e
1479
+ nada de lugar. O texto continua na escala da lateral: medido nos quatro (Aurea e `ember`, claro e
914
1480
  escuro), o `--sidebar-foreground` é o mesmo `--foreground` da página. */
915
1481
  .sidebar-plain { border-color:transparent; background:transparent; box-shadow:none; }
916
1482
  /* A COLUNA DA DIREITA do `AppShell` (`aside`): a terceira trilha, da largura da lateral, de 1280 para
@@ -1155,7 +1721,7 @@ img,svg { display:block; }
1155
1721
  /* A LATERAL SE PINTA COM OS TOKENS DELA, e isto é conserto de 20/08/2026 — o Victor viu.
1156
1722
  Estas duas regras usavam `--secondary` e `--foreground`, que são tokens da PÁGINA. Na Aurea
1157
1723
  isso nunca apareceu porque o painel e a página têm a mesma claridade nos dois temas; sob a
1158
- marca `lory`, onde a lateral é escura mesmo no tema claro (decisão de produto da marca), o
1724
+ marca `ember`, onde a lateral é escura mesmo no tema claro (decisão de produto da marca), o
1159
1725
  item atual virava uma pílula QUASE BRANCA com texto escuro em cima de um painel escuro. Ele
1160
1726
  chamou de "cores invertidas", e é exatamente o que era.
1161
1727
  `--sidebar-accent` e `--sidebar-accent-foreground` já eram PUBLICADOS e não tinham um único
@@ -1164,9 +1730,9 @@ img,svg { display:block; }
1164
1730
  /* O ITEM ESMAECIDO, como o da referência (ADR-0067, decisão do Victor de 13/10/2026, vendo os dois rodando:
1165
1731
  "B, igual ao dela"): o item que não é o atual fica cinza, e o título de grupo e o item atual ficam fortes;
1166
1732
  passando o mouse, o item acende. O cinza sai da ESCALA DA LATERAL (o texto dela, esmaecido), e não do
1167
- `--muted-foreground` da página — sob a marca `lory` a lateral é escura e a página não (a lição de
1733
+ `--muted-foreground` da página — sob a marca `ember` a lateral é escura e a página não (a lição de
1168
1734
  20/08/2026, logo abaixo). Medido contra o fundo da lateral (13/10/2026): 7,6:1 no escuro e 5,4:1 no
1169
- claro; na marca `lory`, 7,8:1 e 5,6:1 — o branco de antes era 14,5:1. */
1735
+ claro; na marca `ember`, 7,8:1 e 5,6:1 — o branco de antes era 14,5:1. */
1170
1736
  .sidebar-item:not([aria-current]) { color:color-mix(in oklab, var(--sidebar-foreground) 68%, transparent); }
1171
1737
  @media (hover:hover) and (pointer:fine) { .sidebar-item:hover { background:var(--sidebar-accent); } .sidebar-item:not([aria-current]):hover { color:var(--sidebar-foreground); } }
1172
1738
  /* A-05 (24/09/2026), decisão do Victor: o item atual da lateral passa a usar a MARCA DA CASA para
@@ -1174,7 +1740,7 @@ img,svg { display:block; }
1174
1740
  `SegmentedControl`, o `Button variant="nav"` e a navegação do catálogo (`.doc-nav`) já usavam.
1175
1741
  Era o único de fora: pílula cinza com texto branco, e um app copiou a regra da casa à mão.
1176
1742
  As cores saem da escala DA LATERAL (`--sidebar-accent`, `--sidebar-primary`), exatamente como o
1177
- `.doc-nav a.active` — não da página. Foi a lição de 20/08/2026 sob a marca `lory`: com
1743
+ `.doc-nav a.active` — não da página. Foi a lição de 20/08/2026 sob a marca `ember`: com
1178
1744
  `--secondary`/`--primary` da página, a lateral escura desenhava as cores invertidas.
1179
1745
  O FIO não mora aqui: a lateral entrou na lista da regra da casa (`.is-selected::after`, mais
1180
1746
  abaixo), com o do `.doc-nav`. Copiar a regra faria duas cópias do mesmo fio divergirem. */
@@ -1443,7 +2009,11 @@ img,svg { display:block; }
1443
2009
  decoração do item atual, é alerta.
1444
2010
  ⚠ Ponto não tem nome acessível — não há o que ler. Quem usa ponto põe o sentido no RÓTULO do
1445
2011
  item (`label: <>Updates <span className="sr-only">(new)</span></>`). Está na ficha. */
1446
- .bottom-nav-badge:empty { width:var(--space-2); height:var(--space-2); border-radius:var(--radius-full); background:var(--primary); }
2012
+ /* O CONTADOR E O PONTO SÃO VERMELHOS, como no nativo (o Victor, 28/10/2026: "Vermelho, igual"; "Vermelho sempre"; "Vermelho,
2013
+ como no nativo"). O ponto é o `--destructive`, o fundo do selo cheio de perigo — o que o `BottomNav` do nativo desenha. No
2014
+ item atual, a peça só inverte o selo da cor da MARCA (`.badge-primary`), que sumiria na cápsula da marca; o vermelho fica
2015
+ vermelho. Na barra inteira da marca (`bar-*`), o ponto continua na tinta: o vermelho no amarelo não chega a 3:1. */
2016
+ .bottom-nav-badge:empty { width:var(--space-2); height:var(--space-2); border-radius:var(--radius-full); background:var(--destructive); }
1447
2017
  /* SEM REALCE DE PASSAR O MOUSE, e isso é decisão do Victor em 20/08/2026: *"essa bola cinza
1448
2018
  que aparece quando mouse passar em cima pode retirar, é um recurso irrelevante no celular"*.
1449
2019
  Ele tem razão pelo escopo do componente: esta barra é o chrome de aplicativo de TELEFONE, e o
@@ -1563,7 +2133,7 @@ img,svg { display:block; }
1563
2133
  do Victor mostram. O gate de contraste reprovou no tema CLARO: sobre o amarelo sólido, nem o
1564
2134
  fundo do contador nem o anel branco chegam a 3:1. No escuro passava, e é assim que este defeito
1565
2135
  se esconde. Fio fino não substitui contraste quando as duas cores são claras. */
1566
- .bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] .badge { background:var(--primary-mark); color:var(--primary); border-color:transparent; }
2136
+ .bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] .badge-primary { background:var(--primary-mark); color:var(--primary); border-color:transparent; }
1567
2137
  .bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] .bottom-nav-badge { color:var(--primary-mark); }
1568
2138
  /* ── CÁPSULA (`capsule`) — a "A" da bancada do Victor, 03/10/2026: o modelo de uma das referências ─
1569
2139
  A moldura do ícone vira a cápsula de 56 × 32 do indicador ativo dessa referência
@@ -1578,7 +2148,7 @@ img,svg { display:block; }
1578
2148
  .bottom-nav-ind-capsule .bottom-nav-badge { inset-inline-end:calc((var(--bottomnav-bold,3.5rem) - var(--bottomnav-ring)) / 2 - var(--space-05)); }
1579
2149
  .bottom-nav-ind-capsule .bottom-nav-item[aria-current] .bottom-nav-mark { background:var(--primary); color:var(--primary-mark); }
1580
2150
  .bottom-nav-ind-capsule .bottom-nav-item[aria-current] .icon { opacity:1; }
1581
- .bottom-nav-ind-capsule .bottom-nav-item[aria-current] .badge { background:var(--primary-mark); color:var(--primary); border-color:transparent; }
2151
+ .bottom-nav-ind-capsule .bottom-nav-item[aria-current] .badge-primary { background:var(--primary-mark); color:var(--primary); border-color:transparent; }
1582
2152
  /* No `content`, o recheio de sempre (`--space-1`) e não o `--space-3`: com ele cada item teria 80. */
1583
2153
  .bottom-nav-content:not(.bottom-nav-edge).bottom-nav-ind-capsule .bottom-nav-item { padding-inline:var(--space-1); }
1584
2154
  /* ── EXPANDE (`expand`) — a "C" da bancada do Victor, 03/10/2026 ───────────────────────────────
@@ -1594,7 +2164,7 @@ img,svg { display:block; }
1594
2164
  .bottom-nav-ind-expand .bottom-nav-label { font-size:var(--text-sm); }
1595
2165
  .bottom-nav-ind-expand .bottom-nav-item[aria-current] { flex:none; inline-size:calc(var(--icon-lg) + var(--space-2) + var(--space-20) + 2 * var(--space-3)); padding-inline:var(--space-3); background:var(--primary); color:var(--primary-mark); }
1596
2166
  .bottom-nav-ind-expand .bottom-nav-item[aria-current] .icon { opacity:1; }
1597
- .bottom-nav-ind-expand .bottom-nav-item[aria-current] .badge { background:var(--primary-mark); color:var(--primary); border-color:transparent; }
2167
+ .bottom-nav-ind-expand .bottom-nav-item[aria-current] .badge-primary { background:var(--primary-mark); color:var(--primary); border-color:transparent; }
1598
2168
  .bottom-nav-content:not(.bottom-nav-edge).bottom-nav-ind-expand .bottom-nav-item:not([aria-current]) { flex:none; inline-size:var(--target-min); padding-inline:0; }
1599
2169
 
1600
2170
  /* ── A LINHA DE LISTA TOCÁVEL (§4.3 do CONSUMIDOR-1) ──────────────────────────
@@ -1687,9 +2257,9 @@ img,svg { display:block; }
1687
2257
  quatro níveis alternados (escuro > claro > escuro > claro) não são cobertos. Quem cobra:
1688
2258
  `tests/visual/tema-na-secao.spec.ts`, e o `tema-na-secao.test.tsx` reprova regra nova sem a
1689
2259
  guarda. */
1690
- /* A mistura de 45% ficou SÓ na `lory` (ADR-0083, 26/10/2026): na Aurea, a letra de destaque do claro é o grafite —
2260
+ /* A mistura de 45% ficou SÓ na `ember` (ADR-0083, 26/10/2026): na Aurea, a letra de destaque do claro é o grafite —
1691
2261
  a regra fica na seção "A paleta da 1.0", no fim da folha. */
1692
- [data-theme="light"] .eyebrow:where([data-brand="lory"],[data-brand="lory"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { color:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
2262
+ [data-theme="light"] .eyebrow:where([data-brand="ember"],[data-brand="ember"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { color:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
1693
2263
  .demo { min-width:0; padding:var(--card-pad); border:1px solid transparent; border-radius:var(--radius-card); background:var(--card); color:var(--card-foreground); box-shadow:none; }
1694
2264
 
1695
2265
  /* ========================================================================== */
@@ -1789,9 +2359,9 @@ img,svg { display:block; }
1789
2359
  .btn-danger-ghost:hover:not(:disabled):not([aria-disabled="true"]) { --btn-bg:color-mix(in oklab, var(--destructive) 14%, transparent); }
1790
2360
  [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:var(--danger-400); }
1791
2361
  /* A LETRA DA MARCA nos botões sem caixa é a de DESTAQUE (ADR-0081, 24/10/2026 — a ADR-0076 aplicada a eles): o azul no
1792
- claro, o amarelo no escuro, e na `lory` o laranja escuro dela. De 21/08 até aqui, o claro levava a mistura marrom
2362
+ claro, o amarelo no escuro, e na `ember` o laranja escuro dela. De 21/08 até aqui, o claro levava a mistura marrom
1793
2363
  (a marca a 45% no texto): passava sobre a página e caía para 4,22 dentro da barra de ferramentas; o azul dá 4,69. O
1794
- `--primary-outline` não serve de letra: na `lory` ele é translúcido (é do contorno). */
2364
+ `--primary-outline` não serve de letra: na `ember` ele é translúcido (é do contorno). */
1795
2365
  /* LINK: aparência de texto, sem cápsula e sem altura de controle — o sublinhado é o que diz
1796
2366
  que é clicável, então ele existe desde o repouso (revelar no hover esconde a affordance).
1797
2367
  Três tons: neutro, marca e destrutivo. No claro a marca aprofunda, senão não passa o AA. */
@@ -1973,8 +2543,11 @@ img,svg { display:block; }
1973
2543
  .btn-group-detached,.toggle-group-detached { flex-wrap:wrap; gap:var(--space-1); }
1974
2544
  .btn-group-full,.toggle-group-full { display:flex; inline-size:100%; }
1975
2545
  :is(.btn-group-full,.toggle-group-full) > .btn { flex:1 1 0%; min-inline-size:0; }
1976
- /* Toolbar: contêiner de controles; o roving tabindex vem do Base UI. */
1977
- .toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:6px; border:1px solid transparent; border-radius:var(--radius-control); background:var(--secondary); }
2546
+ /* Toolbar: contêiner de controles; o roving tabindex vem do Base UI.
2547
+ AS MEDIDAS DA REFERÊNCIA (o Victor, 28/10/2026, olhando as duas lado a lado: "Medidas da referência"): a barra "colada"
2548
+ dela tem 4 por dentro e 8 entre os botões. Eram 7 (6 de recheio + 1 da borda transparente) e 6, escritos à mão. O
2549
+ recheio desconta a borda, que o "sem linha" deixa transparente mas que ainda ocupa espaço: 4 − 1 = 3. */
2550
+ .toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-2); padding:calc(var(--space-1) - var(--border-width)); border:var(--border-width) solid transparent; border-radius:var(--radius-control); background:var(--secondary); }
1978
2551
  /* Vertical sai da pílula: --radius-control (999px) clampa em 50% da menor
1979
2552
  dimensão e vira um oval num container alto. */
1980
2553
  .toolbar[data-orientation="vertical"] { flex-direction:column; align-items:stretch; border-radius:var(--radius-lg); }
@@ -2505,8 +3078,8 @@ img,svg { display:block; }
2505
3078
  grita mais que o próprio rótulo. No tema CLARO o amarelo puro como texto dá 1.6:1, longe
2506
3079
  dos 4.5:1 do AA, então o rótulo aprofunda com --foreground e segue âmbar. */
2507
3080
  /* O BOTÃO LIGADO saiu desta linguagem na Aurea (ADR-0083, 26/10/2026): amarelo cheio, a letra do botão primário e
2508
- sem fio — a regra fica na seção "A paleta da 1.0", no fim da folha. Aqui ele continua só na `lory`. */
2509
- .is-selected,.btn-nav[aria-current]:not([aria-current="false"]),.btn[aria-pressed="true"]:where([data-brand="lory"],[data-brand="lory"] *),
3081
+ sem fio — a regra fica na seção "A paleta da 1.0", no fim da folha. Aqui ele continua só na `ember`. */
3082
+ .is-selected,.btn-nav[aria-current]:not([aria-current="false"]),.btn[aria-pressed="true"]:where([data-brand="ember"],[data-brand="ember"] *),
2510
3083
  .segmented :is(button,a).active { --btn-bg:var(--secondary); --btn-fg:var(--primary); position:relative; background:var(--secondary); color:var(--primary); }
2511
3084
  /* A CÁPSULA ELEVADA que a regra acima promete, e que no trilho não se via (ADR-0059, 08/10/2026):
2512
3085
  o segmento aceso e a aba escolhida vivem sobre --muted, e --secondary dava 1:1 contra ele no
@@ -2519,10 +3092,10 @@ img,svg { display:block; }
2519
3092
  da marca; o da Aurea é o "clarinho" (o amarelo a 10%, a receita do `.badge-primary` que o Victor
2520
3093
  escolheu para a página atual da paginação), aqui sobre o cinza, para o grupo colado continuar uma
2521
3094
  cápsula só. A letra da marca e o fio continuam os do "selecionado". */
2522
- .btn.toggle[data-pressed]:where([data-brand="lory"],[data-brand="lory"] *) { --btn-bg:color-mix(in oklab, var(--primary) 10%, var(--secondary)); background:var(--btn-bg); }
2523
- .btn.toggle[data-pressed]:hover:not(:disabled):not([aria-disabled="true"]):where([data-brand="lory"],[data-brand="lory"] *) { --btn-bg:color-mix(in oklab, var(--primary) 10%, var(--secondary-hover)); }
3095
+ .btn.toggle[data-pressed]:where([data-brand="ember"],[data-brand="ember"] *) { --btn-bg:color-mix(in oklab, var(--primary) 10%, var(--secondary)); background:var(--btn-bg); }
3096
+ .btn.toggle[data-pressed]:hover:not(:disabled):not([aria-disabled="true"]):where([data-brand="ember"],[data-brand="ember"] *) { --btn-bg:color-mix(in oklab, var(--primary) 10%, var(--secondary-hover)); }
2524
3097
  /* O ATIVO DA NAV DA LATERAL sai da escala DELA, e não da página (20/08/2026, o Victor viu sob a
2525
- marca `lory`). Ele dividia esta regra com o `.segmented`, que vive no conteúdo — e `--secondary`
3098
+ marca `ember`). Ele dividia esta regra com o `.segmented`, que vive no conteúdo — e `--secondary`
2526
3099
  é quase branco no tema claro. Numa lateral escura isso desenhava uma pílula branca com texto
2527
3100
  escuro: as cores invertidas que ele apontou.
2528
3101
  `--sidebar-accent` e `--sidebar-primary` já eram publicados e não tinham uso no core. O segundo
@@ -2533,7 +3106,7 @@ img,svg { display:block; }
2533
3106
  Os links da lateral do catálogo não têm atributo `class`, então `[data-theme="light"]
2534
3107
  a:not([class])` — a regra que existe para LINK DE PROSA — casa com eles. Ela pesa (0,2,1) e a
2535
3108
  `.doc-nav a` pesa (0,1,1): a regra de prosa ganhava e pintava o item com
2536
- `color-mix(--primary, --foreground)`. Sob a marca `lory` isso deu MARROM ESCURO
3109
+ `color-mix(--primary, --foreground)`. Sob a marca `ember` isso deu MARROM ESCURO
2537
3110
  (`oklab(0.44 0.059 0.051)`) sobre um painel escuro — ilegível, e foi o que ele viu.
2538
3111
  Mesmo peso, e depois na folha: quem manda no que está DENTRO da lateral é a lateral.
2539
3112
  `:not(.active)` NÃO é enfeite — a primeira versão desta linha não tinha, pesava igual à regra do
@@ -2541,7 +3114,7 @@ img,svg { display:block; }
2541
3114
  saíram com a mesma cor. Com o `:not` ela pesa (0,3,1) e só alcança quem está em repouso. */
2542
3115
  [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); }
2543
3116
  .is-selected::after,.btn-nav[aria-current]:not([aria-current="false"])::after,
2544
- .btn[aria-pressed="true"]:not(.btn-icon):where([data-brand="lory"],[data-brand="lory"] *)::after,.segmented :is(button,a).active::after,.tabs-secondary .tab[data-active]::after,
3117
+ .btn[aria-pressed="true"]:not(.btn-icon):where([data-brand="ember"],[data-brand="ember"] *)::after,.segmented :is(button,a).active::after,.tabs-secondary .tab[data-active]::after,
2545
3118
  .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); }
2546
3119
  /* e o fio do ativo da lateral segue a marca DELA, pelo mesmo motivo da regra de cor acima. */
2547
3120
  .doc-nav a.active::after,.sidebar-item[aria-current]::after { background:var(--sidebar-current-line, color-mix(in oklab, var(--sidebar-primary) 75%, transparent)); }
@@ -2549,18 +3122,18 @@ img,svg { display:block; }
2549
3122
  /* ADR-0076 (20/10/2026), o Victor olhando a bancada: "não quero ele azul, não pode ser na cor do botão?". No claro da Aurea
2550
3123
  padrão, o item atual da lateral é o botão primário: o fundo amarelo e a letra cinza-escura dele (8,13:1). O fundo já
2551
3124
  marca o estado, e o fio de baixo some (`--sidebar-current-line` transparente: regra no `::after` não aceitaria a guarda
2552
- de tema no fim). Só sem `data-brand` (a `lory` tem a lateral dela) e só no claro (no escuro, a letra amarela continua).
3125
+ de tema no fim). Só sem `data-brand` (a `ember` tem a lateral dela) e só no claro (no escuro, a letra amarela continua).
2553
3126
  Sobre o amarelo, a letra de destaque de DENTRO do item (o selo primário de contagem, um ícone de destaque) é a tinta do
2554
3127
  botão: o azul sobre o amarelo mede 3,49:1 — o axe da varredura achou, no "12" do exemplo da `Sidebar`. */
2555
3128
  [data-theme="light"] :is(.sidebar-item[aria-current],.doc-nav a.active):not(:where([data-brand],[data-brand] *,.sidebar[class*="sidebar-indicator-"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { --sidebar-current-line:transparent; --primary-emphasis:var(--primary-foreground); --sidebar-primary:var(--primary-foreground); background:var(--primary); color:var(--primary-foreground); }
2556
- /* A mistura de 45% (o "marrom") ficou SÓ na `lory` (ADR-0083, 26/10/2026). Na Aurea, o escolhido do claro tem a letra
3129
+ /* A mistura de 45% (o "marrom") ficou SÓ na `ember` (ADR-0083, 26/10/2026). Na Aurea, o escolhido do claro tem a letra
2557
3130
  grafite, e o botão ligado é amarelo — as duas regras ficam na seção "A paleta da 1.0", no fim da folha. */
2558
- [data-theme="light"] .is-selected:where([data-brand="lory"],[data-brand="lory"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-nav[aria-current]:not([aria-current="false"]):where([data-brand="lory"],[data-brand="lory"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
2559
- [data-theme="light"] .btn[aria-pressed="true"]:where([data-brand="lory"],[data-brand="lory"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .segmented :is(button,a).active:where([data-brand="lory"],[data-brand="lory"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *)
3131
+ [data-theme="light"] .is-selected:where([data-brand="ember"],[data-brand="ember"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .btn-nav[aria-current]:not([aria-current="false"]):where([data-brand="ember"],[data-brand="ember"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
3132
+ [data-theme="light"] .btn[aria-pressed="true"]:where([data-brand="ember"],[data-brand="ember"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),[data-theme="light"] .segmented :is(button,a).active:where([data-brand="ember"],[data-brand="ember"] *):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *)
2560
3133
  { --btn-fg:color-mix(in oklab, var(--primary) 45%, var(--foreground)); color:color-mix(in oklab, var(--primary) 45%, var(--foreground)); }
2561
3134
  /* A NAV DA LATERAL SAIU DESTA LISTA em 20/08/2026. O ajuste existe porque o amarelo puro não se lê
2562
3135
  sobre o claro — mas ele mistura o `--foreground` da PÁGINA, e o item da lateral não está sobre a
2563
- página: está sobre `--sidebar-accent`. Sob a marca `lory`, onde esse fundo é escuro no tema
3136
+ página: está sobre `--sidebar-accent`. Sob a marca `ember`, onde esse fundo é escuro no tema
2564
3137
  claro, a mistura escurecia o texto contra um fundo escuro. Quem manda ali é `--sidebar-primary`,
2565
3138
  que cada marca já publica com a claridade certa para o painel dela. */
2566
3139
 
@@ -2588,8 +3161,11 @@ img,svg { display:block; }
2588
3161
  .badge-primary { --badge-accent:var(--primary-emphasis); --badge-on:var(--primary-foreground); color:var(--primary-emphasis); border-color:transparent; background:color-mix(in srgb,var(--primary) 10%,transparent); }
2589
3162
  /* ADR-0076 (20/10/2026): na Aurea padrão a letra de destaque do claro é o AZUL, e o cheio continua o AMARELO — o fundo do
2590
3163
  selo cheio é o primário, e não o acento (com o acento, sairia a letra cinza no azul, 1,99:1). Só sem `data-brand`, como o
2591
- contorno lá embaixo: na `lory` do claro o primário com a letra dela mede 3,08:1, e o acento dela já é o fundo certo. */
2592
- .badge-primary:not(:where([data-brand],[data-brand] *)) { --badge-fill:var(--primary); }
3164
+ contorno lá embaixo: na `ember` do claro o primário com a letra dela mede 3,08:1, e o acento dela já é o fundo certo. */
3165
+ /* Passo C (28/10/2026): "sem `data-brand`" queria dizer "fora da `ember`" — ela era a única marca. Com as 11 marcas novas, o
3166
+ selo cheio delas saía no acento (a letra escura no grafite, 1,12:1 na Aurea Sun do claro; a branca no azul claro, 2,25:1
3167
+ na Cobalt do escuro). O selo cheio é o botão cheio em toda marca; só a Ember fica como era. */
3168
+ .badge-primary:not(:where([data-brand="ember"],[data-brand="ember"] *)) { --badge-fill:var(--primary); }
2593
3169
  /* TAMANHOS. O md é a base (24px), que não muda — é o que as 103 fichas já usam. */
2594
3170
  .badge-xs { min-height:var(--space-4); padding:0 var(--space-1); border-width:0; }
2595
3171
  .badge-sm { min-height:var(--space-5); padding:0 calc(var(--space-1) + var(--space-05) - var(--border-width)); }
@@ -3214,11 +3790,11 @@ button.tag-main { cursor:pointer; }
3214
3790
  alinham por construção em vez de por número copiado. Saem junto os 24px de recuo e os 7px
3215
3791
  do trilho — dois px crus a menos na catraca do check 12. */
3216
3792
  .timeline { position:relative; display:flex; flex-direction:column; gap:var(--space-5); margin:0; padding:0; list-style:none; }
3217
- /* O TRILHO POR BAIXO DOS PONTOS (ADR-0083, 27/10/2026, em todas as marcas — o Victor: o defeito "não tinha só na lory, no
3793
+ /* O TRILHO POR BAIXO DOS PONTOS (ADR-0083, 27/10/2026, em todas as marcas — o Victor: o defeito "não tinha só na ember, no
3218
3794
  tema padrão da Aurea também"). Era um `::before` da lista inteira, posicionado, e o ponto não: o navegador pinta o
3219
3795
  posicionado por cima, e a linha passava por CIMA da bolinha; e ia até o fim da lista, sobrando depois do último ponto.
3220
3796
  Agora cada item desenha o trecho até o ponto seguinte, centrado no ponto, e o ponto fica por cima. A cor é a da linha
3221
- (`--border`); a paleta da 1.0 a troca por `--input`, mais adiante, fora da lory. */
3797
+ (`--border`); a paleta da 1.0 a troca por `--input`, mais adiante, fora da ember. */
3222
3798
  .timeline > li { position:relative; display:flex; align-items:flex-start; gap:var(--space-3); }
3223
3799
  .timeline > li:not(:last-child)::before { content:""; position:absolute; inset-inline-start:calc(var(--space-3) / 2 - var(--border-width) / 2);
3224
3800
  inset-block-start:calc(var(--space-1) + var(--space-3)); inset-block-end:calc(-1 * (var(--space-5) + var(--space-1)));
@@ -4936,9 +5512,9 @@ button.graph-node-body { cursor:pointer; }
4936
5512
  /* Menos o primário da Aurea (ADR-0073, decisão do Victor de 18/10/2026, "A"): a letra é o próprio acento (o amarelo no
4937
5513
  escuro; o azul no claro, desde a ADR-0076), a mesma do selo suave e do botão de contorno da marca — misturado ao texto,
4938
5514
  o amarelo virava mostarda (2,36:1) só nesta peça. A
4939
- referência principal usa a mesma letra no suave e no contorno. Só sem `data-brand`: na `lory` do claro, sem a
5515
+ referência principal usa a mesma letra no suave e no contorno. Só sem `data-brand`: na `ember` do claro, sem a
4940
5516
  mistura, a letra cairia de 5,56 para 4,42:1. */
4941
- .badge-primary.badge-outline:not(:where([data-brand],[data-brand] *)) { color:var(--badge-accent); }
5517
+ .badge-primary.badge-outline:not(:where([data-brand="ember"],[data-brand="ember"] *)) { color:var(--badge-accent); }
4942
5518
  /* O registro ganhou o fundo dos campos; o nível `info` (o azul) caía a 4,08:1 sobre ele no claro. A mesma letra 20% para o texto. */
4943
5519
  .log-stream .log-level.info { color:color-mix(in oklab,var(--info-400) 80%,var(--foreground)); }
4944
5520
  .step:not(.step-done,.step-active,.step-error,.done,.active) .step-dot { background-color:var(--fill-3-solid); }
@@ -4955,25 +5531,34 @@ button.graph-node-body { cursor:pointer; }
4955
5531
  GRAFITE no claro (o amarelo vira fundo, traço ou indicador, nunca letra), o link com marca-texto, os campos brancos,
4956
5532
  as marcas brancas dentro dos controles, o botão ligado amarelo e a linha do tempo consertada. Os TOKENS mudaram na
4957
5533
  fonte (`aurea.tokens.json`); aqui ficam as REGRAS que mudam junto.
4958
- A `lory` fica 100% como é hoje (decisão do Victor, 26/10/2026): os tokens dela foram congelados na fonte, e toda
4959
- regra desta seção leva `:where(:not([data-brand="lory"],[data-brand="lory"] *))`, de força zero. Quem prova que
4960
- ela sai igual: `tests/visual/lory-congelada.spec.ts`. */
5534
+ A `ember` fica 100% como é hoje (decisão do Victor, 26/10/2026): os tokens dela foram congelados na fonte, e toda
5535
+ regra desta seção leva `:where(:not([data-brand="ember"],[data-brand="ember"] *))`, de força zero. Quem prova que
5536
+ ela sai igual: `tests/visual/ember-congelada.spec.ts`. */
4961
5537
 
4962
5538
  /* O ESCOLHIDO do claro tem a letra grafite (era a mistura de 45%, que dava marrom): a aba, o segmento aceso, o item de
4963
5539
  navegação atual e o rótulo `.eyebrow`. O fio amarelo de baixo continua. No escuro, a letra continua o amarelo. */
4964
- [data-theme="light"] .is-selected:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
4965
- [data-theme="light"] .eyebrow:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
4966
- [data-theme="light"] .btn-nav[aria-current]:not([aria-current="false"]):where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
4967
- [data-theme="light"] .segmented :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *)
5540
+ [data-theme="light"] .is-selected:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
5541
+ [data-theme="light"] .eyebrow:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
5542
+ [data-theme="light"] .btn-nav[aria-current]:not([aria-current="false"]):where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
5543
+ [data-theme="light"] .segmented :is(button,a).active:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *)
4968
5544
  { --btn-fg:var(--foreground); color:var(--foreground); }
5545
+ /* NO ESCURO, a letra do escolhido é o `--primary-emphasis`, a versão do primário feita para ser letra (a regra 2.1b da
5546
+ proposta; passo C, 28/10/2026). Na Aurea Gold ele é o próprio amarelo, e nada muda. Nas marcas escuras, o primário puro
5547
+ como letra media 1,56:1 (cobalt) a 4,3:1 (cyan) — o axe achou no banco das marcas, e também no `.eyebrow`, que a proposta
5548
+ não listava (2,98 a 4,29:1). Quem cobra: `tests/visual/marcas-passo-c.spec.ts`. */
5549
+ [data-theme="dark"] .is-selected:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="light"] *),[data-theme="light"] [data-theme="dark"] *),
5550
+ [data-theme="dark"] .eyebrow:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="light"] *),[data-theme="light"] [data-theme="dark"] *),
5551
+ [data-theme="dark"] .btn-nav[aria-current]:not([aria-current="false"]):where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="light"] *),[data-theme="light"] [data-theme="dark"] *),
5552
+ [data-theme="dark"] .segmented :is(button,a).active:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="light"] *),[data-theme="light"] [data-theme="dark"] *)
5553
+ { --btn-fg:var(--primary-emphasis); color:var(--primary-emphasis); }
4969
5554
 
4970
5555
  /* O BOTÃO LIGADO (Toggle, ToggleGroup, ToolbarButton): amarelo cheio com a letra do botão primário, nos dois temas, sem
4971
5556
  o fio de baixo e sem o fundo "clarinho". As cores passam por `--pressed-*` no próprio botão, para uma faixa com outro
4972
5557
  `data-theme` acertar e para os outros estilos aprovados (o cinza e o grafite) só trocarem as três variáveis. */
4973
- :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5558
+ :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):where(:not([data-brand="ember"],[data-brand="ember"] *)) {
4974
5559
  --pressed-bg:var(--primary); --pressed-bg-hover:var(--primary-hover); --pressed-fg:var(--primary-foreground);
4975
5560
  --btn-bg:var(--pressed-bg); --btn-fg:var(--pressed-fg); background:var(--pressed-bg); color:var(--pressed-fg); }
4976
- :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):hover:not(:disabled):not([aria-disabled="true"]):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5561
+ :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):hover:not(:disabled):not([aria-disabled="true"]):where(:not([data-brand="ember"],[data-brand="ember"] *)) {
4977
5562
  --btn-bg:var(--pressed-bg-hover); background:var(--pressed-bg-hover); }
4978
5563
 
4979
5564
  /* O LINK separa-se do texto por mais que a cor (WCAG 1.4.1): no claro a letra é o grafite e no escuro o amarelo — a
@@ -4982,7 +5567,7 @@ button.graph-node-body { cursor:pointer; }
4982
5567
  o marca-texto é para o link no meio do texto (medido no site em 27/10/2026: dos 596 links sem classe, 588 eram a
4983
5568
  chave Web | Native e 6 a trilha; só 2 estavam na prosa).
4984
5569
  A base, nos dois temas (e a VARIAÇÃO do claro): o sublinhado amarelo de 2 com 3 de afastamento. */
4985
- :is(a:not([class]),.link,.typography-tone-link):not(.breadcrumb a,nav a,.segmented a):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5570
+ :is(a:not([class]),.link,.typography-tone-link):not(.breadcrumb a,nav a,.segmented a):where(:not([data-brand="ember"],[data-brand="ember"] *)) {
4986
5571
  color:var(--link); text-decoration-line:underline; text-decoration-color:var(--link-underline);
4987
5572
  text-decoration-thickness:calc(2 * var(--border-width)); text-underline-offset:calc(3 * var(--border-width)); }
4988
5573
  /* O PADRÃO do claro: o MARCA-TEXTO — a faixa amarela a 45% atrás da metade de baixo das letras (o texto sobre ela mede
@@ -4991,32 +5576,32 @@ button.graph-node-body { cursor:pointer; }
4991
5576
  As medidas são PROPORÇÕES DA LETRA (em), medidas na bancada de 26/10/2026, e crescem com ela; provadas nos três
4992
5577
  navegadores em 27/10/2026. A variação (o sublinhado) se pede com `data-link="underline"` no próprio link, num
4993
5578
  contêiner ou no `<html>` — um atributo, e não uma classe: o core só tem classe que um componente produz. */
4994
- [data-theme="light"] :is(a:not([class]),.link,.typography-tone-link):not(.breadcrumb a,nav a,.segmented a):not([data-link="underline"],[data-link="underline"] *):where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5579
+ [data-theme="light"] :is(a:not([class]),.link,.typography-tone-link):not(.breadcrumb a,nav a,.segmented a):not([data-link="underline"],[data-link="underline"] *):where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
4995
5580
  text-decoration-color:var(--link-mark); text-decoration-thickness:.5em; text-underline-offset:-.32em; text-decoration-skip-ink:none;
4996
5581
  transition:text-decoration-thickness var(--duration-fast) var(--ease-standard),text-underline-offset var(--duration-fast) var(--ease-standard); }
4997
- [data-theme="light"] :is(a:not([class]),.link,.typography-tone-link):not(.breadcrumb a,nav a,.segmented a):not([data-link="underline"],[data-link="underline"] *):hover:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5582
+ [data-theme="light"] :is(a:not([class]),.link,.typography-tone-link):not(.breadcrumb a,nav a,.segmented a):not([data-link="underline"],[data-link="underline"] *):hover:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
4998
5583
  text-decoration-thickness:1.25em; text-underline-offset:-1.02em; }
4999
5584
  @media (prefers-reduced-motion:reduce) {
5000
- [data-theme="light"] :is(a:not([class]),.link,.typography-tone-link):where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { transition:none; }
5585
+ [data-theme="light"] :is(a:not([class]),.link,.typography-tone-link):where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) { transition:none; }
5001
5586
  }
5002
5587
 
5003
5588
  /* As TINTAS que saíam do destaque ficariam cinza com o destaque grafite: no claro, elas saem do próprio amarelo — o selo
5004
5589
  primário de contorno (16%) e a marca do item atual da barra de baixo de aro (15%). */
5005
- [data-theme="light"] .badge-primary.badge-outline:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5590
+ [data-theme="light"] .badge-primary.badge-outline:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5006
5591
  background-color:color-mix(in oklab, var(--primary) 16%, transparent); }
5007
- [data-theme="light"] .bottom-nav-ind-circle-outline .bottom-nav-item[aria-current] .bottom-nav-mark:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5592
+ [data-theme="light"] .bottom-nav-ind-circle-outline .bottom-nav-item[aria-current] .bottom-nav-mark:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5008
5593
  background:color-mix(in srgb, var(--primary) 15%, transparent); }
5009
5594
 
5010
5595
  /* O CAMPO no claro é BRANCO com a sombra fina em todo lugar, também DENTRO das superfícies brancas (era o cinza
5011
5596
  `--fill-2` ali — ADR-0078, item 2, revertido pela ADR-0083): dentro de um cartão branco, quem separa o campo é a
5012
5597
  sombra. A lista é a das superfícies da regra de campo, acima. No escuro, nada muda. */
5013
- [data-theme="light"] :is(.card:not(.card-outline):not(.card-inset),.content:not(.content-plain),.section-card,.demo,.dialog,.drawer,.popover,.menu,.command-palette,.alert,.banner-consent,.toast,.accordion-surface,.datagrid-detail,:is(.table,.table-wrap) tbody :is(td,th),.topbar-floating,.topbar-pill,.sortable-item,.app-shell-docs > .sidebar[popover]:popover-open):where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5598
+ [data-theme="light"] :is(.card:not(.card-outline):not(.card-inset),.content:not(.content-plain),.section-card,.demo,.dialog,.drawer,.popover,.menu,.command-palette,.alert,.banner-consent,.toast,.accordion-surface,.datagrid-detail,:is(.table,.table-wrap) tbody :is(td,th),.topbar-floating,.topbar-pill,.sortable-item,.app-shell-docs > .sidebar[popover]:popover-open):where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5014
5599
  --field-fill:var(--card); --field-lift:var(--field-lift-page); }
5015
5600
 
5016
5601
  /* O FOCO DOS CAMPOS no claro é o amarelo, uma linha só, como no escuro (decisão do Victor, 26/10/2026; a medida — 1,75:1
5017
5602
  na página, 1,91:1 no cartão, abaixo dos 3:1 — vai à bancada do passo A). Os botões e o resto continuam com o grafite. */
5018
- [data-theme="light"] :is(.input,.textarea,.select):focus-visible:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
5019
- [data-theme="light"] :is(.input-group,.combobox-multi):focus-within:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5603
+ [data-theme="light"] :is(.input,.textarea,.select):focus-visible:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
5604
+ [data-theme="light"] :is(.input-group,.combobox-multi):focus-within:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5020
5605
  outline-color:var(--primary); }
5021
5606
 
5022
5607
  /* "AUMENTAR CONTRASTE" do sistema (`prefers-contrast: more`: o "Aumentar contraste" do macOS, do iOS e do Android, o
@@ -5025,18 +5610,18 @@ button.graph-node-body { cursor:pointer; }
5025
5610
  linha que esta preferência acende, exceção nomeada à ADR-0072 pela ADR-0083), as quatro marcas dos controles na
5026
5611
  tinta, e o foco dos campos de volta ao grafite. Fora dela, nada disto existe. */
5027
5612
  @media (prefers-contrast:more) {
5028
- :is(.input,.textarea,.select,.input-group,.combobox-multi,.input-secondary,.textarea-secondary):where(:not([data-brand="lory"],[data-brand="lory"] *)) { border-color:var(--input-strong); }
5029
- .input-group > :is(.input,.select,.textarea):where(:not([data-brand="lory"],[data-brand="lory"] *)) { border:0; }
5030
- :root:where(:not([data-brand="lory"])),[data-theme]:where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5613
+ :is(.input,.textarea,.select,.input-group,.combobox-multi,.input-secondary,.textarea-secondary):where(:not([data-brand="ember"],[data-brand="ember"] *)) { border-color:var(--input-strong); }
5614
+ .input-group > :is(.input,.select,.textarea):where(:not([data-brand="ember"],[data-brand="ember"] *)) { border:0; }
5615
+ :root:where(:not([data-brand="ember"])),[data-theme]:where(:not([data-brand="ember"],[data-brand="ember"] *)) {
5031
5616
  --control-thumb:var(--brand-yellow-ink); --control-selected-foreground:var(--brand-yellow-ink); --control-selected-dot:var(--brand-yellow-ink); }
5032
- [data-theme="light"] :is(.input,.textarea,.select):focus-visible:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
5033
- [data-theme="light"] :is(.input-group,.combobox-multi):focus-within:where(:not([data-brand="lory"],[data-brand="lory"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5617
+ [data-theme="light"] :is(.input,.textarea,.select):focus-visible:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *),
5618
+ [data-theme="light"] :is(.input-group,.combobox-multi):focus-within:where(:not([data-brand="ember"],[data-brand="ember"] *)):where(:not([data-theme="dark"] *),[data-theme="dark"] [data-theme="light"] *) {
5034
5619
  outline-color:var(--focus-strong); }
5035
5620
  }
5036
5621
 
5037
5622
  /* A LINHA DO TEMPO: o trilho por baixo dos pontos é conserto de todas as marcas (na regra da linha do tempo, acima). Aqui
5038
5623
  só a cor: de `--border` para `--input` — na página do Zinco profundo, o `--border` quase não aparecia. */
5039
- .timeline > li:not(:last-child):where(:not([data-brand="lory"],[data-brand="lory"] *))::before { background:var(--input); }
5624
+ .timeline > li:not(:last-child):where(:not([data-brand="ember"],[data-brand="ember"] *))::before { background:var(--input); }
5040
5625
 
5041
5626
  /* ═══ AS CORES, passo B — os estilos novos (ADR-0084, 27/10/2026) ═════════════════════════════════════════════════
5042
5627
  Os estilos que o Victor aprovou em 26/10/2026, todos para construir, cada um uma VARIAÇÃO (o padrão de cada peça não
@@ -5046,62 +5631,73 @@ button.graph-node-body { cursor:pointer; }
5046
5631
  peça com o seu atributo ganha do contêiner (`:not([data-…])` no caminho do contêiner); contêiner dentro de contêiner
5047
5632
  vale o que vem depois aqui.
5048
5633
  As cores ficam NA PEÇA, e não num token herdado da raiz: assim uma faixa com outro `data-theme` acerta.
5049
- A `lory` fica de fora, como no passo A (a marca congelada): toda regra leva o `:where(:not(…lory…))` de força zero.
5634
+ ~~A `ember` fica de fora, como no passo A (a marca congelada): toda regra leva o `:where(:not(…ember…))` de força zero.~~
5635
+ → A Aurea Ember RECEBE os estilos, como as outras marcas (o Victor, 28/10/2026, vendo que na Ember as
5636
+ variações saíam todas iguais: "Sim, como as outras"). O padrão dela, sem estilo escolhido, continua congelado — as
5637
+ regras do passo A continuam sem alcançá-la. Por isso o botão ligado dela, com um estilo escolhido, ganha aqui a
5638
+ pintura que o passo A dá às outras marcas (logo abaixo do 2.8).
5050
5639
  As duas exceções desta seção, registradas na ADR-0084: o DEGRADÊ do `brand-gradient` (a segunda exceção à ADR-0007,
5051
5640
  depois da escolha de cor da ADR-0069) e os AROS dos estilos de aro (o desenho que dá nome ao estilo — exceção nomeada à
5052
5641
  ADR-0072, só quando o app escolhe o estilo). */
5053
5642
 
5054
5643
  /* 2.8 · O BOTÃO LIGADO (Toggle, ToggleGroup, ToolbarButton): o C, amarelo, é o padrão desde a 0.45.0 (a regra do passo A
5055
5644
  já escreve as três variáveis). Aqui o A (`neutral`, o cinza) e o B (`contrast`, o grafite, invertido) trocam só as três. */
5056
- :is([data-pressed-style="neutral"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="neutral"]):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5645
+ :is([data-pressed-style="neutral"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="neutral"]) {
5057
5646
  --pressed-bg:var(--input); --pressed-bg-hover:color-mix(in oklab, var(--foreground) 9%, var(--input)); --pressed-fg:var(--foreground); }
5058
- :is([data-pressed-style="contrast"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="contrast"]):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5647
+ :is([data-pressed-style="contrast"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="contrast"]) {
5059
5648
  --pressed-bg:var(--foreground); --pressed-bg-hover:color-mix(in oklab, var(--foreground) 84%, var(--background)); --pressed-fg:var(--background); }
5060
- :is([data-pressed-style="brand"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="brand"]):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5649
+ :is([data-pressed-style="brand"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="brand"]) {
5061
5650
  --pressed-bg:var(--primary); --pressed-bg-hover:var(--primary-hover); --pressed-fg:var(--primary-foreground); }
5651
+ /* A Ember com um estilo escolhido: a pintura do botão ligado (a do passo A, que não a alcança) e sem o fio de baixo do
5652
+ ligado dela de sempre. Sem estilo escolhido, o ligado da Ember continua o de antes. */
5653
+ :is([data-pressed-style] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style]):where([data-brand="ember"],[data-brand="ember"] *) {
5654
+ --btn-bg:var(--pressed-bg); --btn-fg:var(--pressed-fg); background:var(--pressed-bg); color:var(--pressed-fg); }
5655
+ :is([data-pressed-style] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style]):hover:not(:disabled):not([aria-disabled="true"]):where([data-brand="ember"],[data-brand="ember"] *) {
5656
+ --btn-bg:var(--pressed-bg-hover); background:var(--pressed-bg-hover); }
5657
+ :is([data-pressed-style] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style]):where([data-brand="ember"],[data-brand="ember"] *)::after { content:none; }
5062
5658
  /* O cinza é o mais discreto — o ligado fica perto do desligado. Quem pede mais contraste ganha o contorno de 3:1 (a mesma
5063
5659
  exceção dos campos, ADR-0083: a linha que só o "aumentar contraste" acende). */
5064
5660
  @media (prefers-contrast:more) {
5065
- :is([data-pressed-style="neutral"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="neutral"]):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5661
+ :is([data-pressed-style="neutral"] :is(.btn[aria-pressed="true"],.btn.toggle[data-pressed]):not([data-pressed-style]),:is(.btn[aria-pressed="true"],.btn.toggle[data-pressed])[data-pressed-style="neutral"]) {
5066
5662
  box-shadow:inset 0 0 0 var(--border-width) var(--input-strong); }
5067
5663
  }
5068
5664
 
5069
5665
  /* 2.9 · O SEGMENTO ACESO em seis: `current` (a cápsula elevada com o fio amarelo — o de sempre, o padrão), `neutral` (a
5070
5666
  mesma cápsula, sem fio), `contrast` (o grafite), `brand` (o amarelo), `ring` (a cápsula neutra com o aro amarelo) e
5071
5667
  `dot` (a cápsula neutra com um ponto amarelo antes do texto). Do `neutral` ao `dot`, o fio de baixo sai. */
5072
- :is([data-segment-style="neutral"] .segmented:not([data-segment-style]),.segmented[data-segment-style="neutral"]) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --seg-bg:var(--segment); --seg-fg:var(--foreground); --seg-shadow:var(--shadow-sm); }
5073
- :is([data-segment-style="contrast"] .segmented:not([data-segment-style]),.segmented[data-segment-style="contrast"]) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --seg-bg:var(--foreground); --seg-fg:var(--background); --seg-shadow:none; }
5074
- :is([data-segment-style="brand"] .segmented:not([data-segment-style]),.segmented[data-segment-style="brand"]) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --seg-bg:var(--primary); --seg-fg:var(--primary-foreground); --seg-shadow:none; }
5075
- :is([data-segment-style="ring"] .segmented:not([data-segment-style]),.segmented[data-segment-style="ring"]) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --seg-bg:var(--segment); --seg-fg:var(--foreground); --seg-shadow:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary), var(--shadow-sm); }
5076
- :is([data-segment-style="dot"] .segmented:not([data-segment-style]),.segmented[data-segment-style="dot"]) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --seg-bg:var(--segment); --seg-fg:var(--foreground); --seg-shadow:var(--shadow-sm); }
5077
- :is([data-segment-style]:not([data-segment-style="current"]) .segmented:not([data-segment-style]),.segmented[data-segment-style]:not([data-segment-style="current"])) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5668
+ :is([data-segment-style="neutral"] .segmented:not([data-segment-style]),.segmented[data-segment-style="neutral"]) :is(button,a).active { --seg-bg:var(--segment); --seg-fg:var(--foreground); --seg-shadow:var(--shadow-sm); }
5669
+ :is([data-segment-style="contrast"] .segmented:not([data-segment-style]),.segmented[data-segment-style="contrast"]) :is(button,a).active { --seg-bg:var(--foreground); --seg-fg:var(--background); --seg-shadow:none; }
5670
+ :is([data-segment-style="brand"] .segmented:not([data-segment-style]),.segmented[data-segment-style="brand"]) :is(button,a).active { --seg-bg:var(--primary); --seg-fg:var(--primary-foreground); --seg-shadow:none; }
5671
+ :is([data-segment-style="ring"] .segmented:not([data-segment-style]),.segmented[data-segment-style="ring"]) :is(button,a).active { --seg-bg:var(--segment); --seg-fg:var(--foreground); --seg-shadow:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary), var(--shadow-sm); }
5672
+ :is([data-segment-style="dot"] .segmented:not([data-segment-style]),.segmented[data-segment-style="dot"]) :is(button,a).active { --seg-bg:var(--segment); --seg-fg:var(--foreground); --seg-shadow:var(--shadow-sm); }
5673
+ :is([data-segment-style]:not([data-segment-style="current"]) .segmented:not([data-segment-style]),.segmented[data-segment-style]:not([data-segment-style="current"])) :is(button,a).active {
5078
5674
  --btn-bg:var(--seg-bg); --btn-fg:var(--seg-fg); background:var(--seg-bg); color:var(--seg-fg); box-shadow:var(--seg-shadow); }
5079
- :is([data-segment-style]:not([data-segment-style="current"]) .segmented:not([data-segment-style]),.segmented[data-segment-style]:not([data-segment-style="current"])) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *))::after { content:none; }
5675
+ :is([data-segment-style]:not([data-segment-style="current"]) .segmented:not([data-segment-style]),.segmented[data-segment-style]:not([data-segment-style="current"])) :is(button,a).active::after { content:none; }
5080
5676
  /* O ponto do `dot` tem o lugar reservado em TODOS os segmentos, para a largura não pular quando a escolha muda. 6 de
5081
5677
  diâmetro (a proposta) e 8 até o texto (a proposta dizia 7; o 8 é o `--space-2`, o vão de ícone e texto da escala). */
5082
- :is([data-segment-style="dot"] .segmented:not([data-segment-style]),.segmented[data-segment-style="dot"]) :is(button,a):where(:not([data-brand="lory"],[data-brand="lory"] *))::before {
5678
+ :is([data-segment-style="dot"] .segmented:not([data-segment-style]),.segmented[data-segment-style="dot"]) :is(button,a)::before {
5083
5679
  content:""; display:inline-block; inline-size:calc(var(--space-1) + var(--space-05)); block-size:calc(var(--space-1) + var(--space-05));
5084
5680
  margin-inline-end:var(--space-2); border-radius:var(--radius-full); vertical-align:.1em; background:transparent; }
5085
- :is([data-segment-style="dot"] .segmented:not([data-segment-style]),.segmented[data-segment-style="dot"]) :is(button,a).active:where(:not([data-brand="lory"],[data-brand="lory"] *))::before { background:var(--primary); }
5681
+ :is([data-segment-style="dot"] .segmented:not([data-segment-style]),.segmented[data-segment-style="dot"]) :is(button,a).active::before { background:var(--primary); }
5086
5682
 
5087
5683
  /* 2.12 · A LINHA DO TEMPO em cinco, todos sobre o conserto da ADR-0083: `default` (o ponto amarelo cheio — o padrão),
5088
5684
  `ring` (o ponto vazado com o aro amarelo de 2), `latest` (os pontos na cor fraca e só o último no amarelo, com halo de
5089
5685
  4), `time` (a hora numa coluna à esquerda, alinhada à direita) e `contrast` (os pontos na cor do texto). O `time` muda
5090
5686
  o arranjo pela grade e `display:contents` no `<div>` de dentro — a marcação do componente não muda. */
5091
- :is([data-timeline-style="ring"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="ring"]) .timeline-dot:where(:not([data-brand="lory"],[data-brand="lory"] *)) { background:transparent; box-shadow:inset 0 0 0 calc(2 * var(--border-width)) var(--primary); }
5092
- :is([data-timeline-style="latest"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="latest"]) .timeline-dot:where(:not([data-brand="lory"],[data-brand="lory"] *)) { background:var(--muted-foreground); }
5093
- :is([data-timeline-style="latest"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="latest"]) > li:last-child .timeline-dot:where(:not([data-brand="lory"],[data-brand="lory"] *)) { background:var(--primary); box-shadow:0 0 0 var(--space-1) color-mix(in oklab, var(--primary) 28%, transparent); }
5094
- :is([data-timeline-style="contrast"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="contrast"]) .timeline-dot:where(:not([data-brand="lory"],[data-brand="lory"] *)) { background:var(--foreground); }
5687
+ :is([data-timeline-style="ring"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="ring"]) .timeline-dot { background:transparent; box-shadow:inset 0 0 0 calc(2 * var(--border-width)) var(--primary); }
5688
+ :is([data-timeline-style="latest"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="latest"]) .timeline-dot { background:var(--muted-foreground); }
5689
+ :is([data-timeline-style="latest"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="latest"]) > li:last-child .timeline-dot { background:var(--primary); box-shadow:0 0 0 var(--space-1) color-mix(in oklab, var(--primary) 28%, transparent); }
5690
+ :is([data-timeline-style="contrast"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="contrast"]) .timeline-dot { background:var(--foreground); }
5095
5691
  /* A coluna da hora tem 52 (a proposta, medida com "10:02" e "Ontem"): `--space-12` + `--space-1`. */
5096
- :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li:where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5692
+ :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li {
5097
5693
  display:grid; grid-template-columns:calc(var(--space-12) + var(--space-1)) var(--space-3) minmax(0,1fr); column-gap:var(--space-3); row-gap:var(--space-05); align-items:start; }
5098
- :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div:where(:not([data-brand="lory"],[data-brand="lory"] *)) { display:contents; }
5099
- :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div > small:where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5694
+ :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div { display:contents; }
5695
+ :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div > small {
5100
5696
  grid-column:1; grid-row:1; text-align:end; font-variant-numeric:tabular-nums; line-height:calc(var(--text-sm) * var(--leading-normal)); }
5101
- :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) .timeline-dot:where(:not([data-brand="lory"],[data-brand="lory"] *)) { grid-column:2; grid-row:1; }
5102
- :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div > strong:where(:not([data-brand="lory"],[data-brand="lory"] *)) { grid-column:3; grid-row:1; }
5103
- :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div > p:where(:not([data-brand="lory"],[data-brand="lory"] *)) { grid-column:3; grid-row:2; }
5104
- :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li:not(:last-child):where(:not([data-brand="lory"],[data-brand="lory"] *))::before {
5697
+ :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) .timeline-dot { grid-column:2; grid-row:1; }
5698
+ :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div > strong { grid-column:3; grid-row:1; }
5699
+ :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li > div > p { grid-column:3; grid-row:2; }
5700
+ :is([data-timeline-style="time"] .timeline:not([data-timeline-style]),.timeline[data-timeline-style="time"]) > li:not(:last-child)::before {
5105
5701
  inset-inline-start:calc(var(--space-12) + var(--space-1) + var(--space-3) + var(--space-3) / 2 - var(--border-width) / 2); }
5106
5702
 
5107
5703
  /* 2.11 · O ITEM ATUAL DA BARRA DE BAIXO: o `indicator` escolhe a forma, o `currentStyle` a cor. O "fundo" é o do formato
@@ -5116,38 +5712,38 @@ button.graph-node-body { cursor:pointer; }
5116
5712
  2.13 · a barra inteira AMARELA, com todos os ícones e nomes na tinta (sem transparência: a tinta clareada sobre o
5117
5713
  amarelo vira marrom): bar-ink (I) a cápsula de tinta com o ícone amarelo · bar-ring (J) o aro de tinta · bar-plain (K)
5118
5714
  só o ícone cheio e o nome em semibold · bar-light (L) a cápsula amarelo-clara com a tinta. */
5119
- :is([data-current-style="neutral"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="neutral"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:var(--secondary); --bn-fg:var(--foreground); --bn-ring:none; }
5120
- :is([data-current-style="contrast"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="contrast"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:var(--foreground); --bn-fg:var(--background); --bn-ring:none; }
5121
- :is([data-current-style="brand"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="brand"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:var(--primary); --bn-fg:var(--primary-foreground); --bn-ring:none; }
5122
- :is([data-current-style="ring"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="ring"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:transparent; --bn-fg:var(--foreground); --bn-ring:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary); }
5123
- :is([data-current-style="plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="plain"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:transparent; --bn-fg:var(--foreground); --bn-ring:none; }
5124
- :is([data-current-style="brand-white"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="brand-white"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:var(--primary); --bn-fg:var(--white); --bn-ring:none; }
5125
- :is([data-current-style="white-ring"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="white-ring"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:var(--white); --bn-fg:var(--brand-yellow-ink); --bn-ring:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary); }
5126
- :is([data-current-style="brand-gradient"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="brand-gradient"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:linear-gradient(135deg, var(--primary) 20%, var(--primary-gradient-end, color-mix(in oklab, var(--primary) 30%, var(--white)))); --bn-fg:var(--primary-foreground); --bn-ring:none; }
5127
- :is([data-current-style="bar-ink"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-ink"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:var(--primary-foreground); --bn-fg:var(--primary); --bn-ring:none; }
5128
- :is([data-current-style="bar-ring"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-ring"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:transparent; --bn-fg:var(--primary-foreground); --bn-ring:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary-foreground); }
5129
- :is([data-current-style="bar-plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-plain"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:transparent; --bn-fg:var(--primary-foreground); --bn-ring:none; }
5130
- :is([data-current-style="bar-light"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-light"]) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { --bn-bg:color-mix(in oklab, var(--primary) 45%, var(--white)); --bn-fg:var(--brand-yellow-ink); --bn-ring:none; }
5715
+ :is([data-current-style="neutral"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="neutral"]) .bottom-nav-item[aria-current] { --bn-bg:var(--secondary); --bn-fg:var(--foreground); --bn-ring:none; }
5716
+ :is([data-current-style="contrast"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="contrast"]) .bottom-nav-item[aria-current] { --bn-bg:var(--foreground); --bn-fg:var(--background); --bn-ring:none; }
5717
+ :is([data-current-style="brand"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="brand"]) .bottom-nav-item[aria-current] { --bn-bg:var(--primary); --bn-fg:var(--primary-foreground); --bn-ring:none; }
5718
+ :is([data-current-style="ring"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="ring"]) .bottom-nav-item[aria-current] { --bn-bg:transparent; --bn-fg:var(--foreground); --bn-ring:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary); }
5719
+ :is([data-current-style="plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="plain"]) .bottom-nav-item[aria-current] { --bn-bg:transparent; --bn-fg:var(--foreground); --bn-ring:none; }
5720
+ :is([data-current-style="brand-white"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="brand-white"]) .bottom-nav-item[aria-current] { --bn-bg:var(--primary); --bn-fg:var(--white); --bn-ring:none; }
5721
+ :is([data-current-style="white-ring"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="white-ring"]) .bottom-nav-item[aria-current] { --bn-bg:var(--white); --bn-fg:var(--brand-yellow-ink); --bn-ring:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary); }
5722
+ :is([data-current-style="brand-gradient"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="brand-gradient"]) .bottom-nav-item[aria-current] { --bn-bg:linear-gradient(135deg, var(--primary) 20%, var(--primary-gradient-end, color-mix(in oklab, var(--primary) 30%, var(--white)))); --bn-fg:var(--primary-foreground); --bn-ring:none; }
5723
+ :is([data-current-style="bar-ink"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-ink"]) .bottom-nav-item[aria-current] { --bn-bg:var(--primary-foreground); --bn-fg:var(--primary); --bn-ring:none; }
5724
+ :is([data-current-style="bar-ring"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-ring"]) .bottom-nav-item[aria-current] { --bn-bg:transparent; --bn-fg:var(--primary-foreground); --bn-ring:inset 0 0 0 calc(1.5 * var(--border-width)) var(--primary-foreground); }
5725
+ :is([data-current-style="bar-plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-plain"]) .bottom-nav-item[aria-current] { --bn-bg:transparent; --bn-fg:var(--primary-foreground); --bn-ring:none; }
5726
+ :is([data-current-style="bar-light"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-light"]) .bottom-nav-item[aria-current] { --bn-bg:color-mix(in oklab, var(--primary) 45%, var(--white)); --bn-fg:var(--brand-yellow-ink); --bn-ring:none; }
5131
5727
  /* Onde vai a cor, por formato. O `:is()` com os dois caminhos (o atributo num contêiner, ou na barra) é o mesmo de cima. */
5132
- :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])):is(.bottom-nav-ind-pill,.bottom-nav-ind-subtle,.bottom-nav-ind-expand) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5728
+ :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])):is(.bottom-nav-ind-pill,.bottom-nav-ind-subtle,.bottom-nav-ind-expand) .bottom-nav-item[aria-current] {
5133
5729
  background:var(--bn-bg); color:var(--bn-fg); box-shadow:var(--bn-ring); }
5134
- :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])):is(.bottom-nav-ind-circle,.bottom-nav-ind-circle-outline,.bottom-nav-ind-circle-raised,.bottom-nav-ind-capsule) .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5730
+ :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])):is(.bottom-nav-ind-circle,.bottom-nav-ind-circle-outline,.bottom-nav-ind-circle-raised,.bottom-nav-ind-capsule) .bottom-nav-item[aria-current] {
5135
5731
  color:var(--foreground); }
5136
- :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])):is(.bottom-nav-ind-circle,.bottom-nav-ind-circle-outline,.bottom-nav-ind-circle-raised,.bottom-nav-ind-capsule) .bottom-nav-item[aria-current] .bottom-nav-mark:where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5732
+ :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])):is(.bottom-nav-ind-circle,.bottom-nav-ind-circle-outline,.bottom-nav-ind-circle-raised,.bottom-nav-ind-capsule) .bottom-nav-item[aria-current] .bottom-nav-mark {
5137
5733
  background:var(--bn-bg); color:var(--bn-fg); box-shadow:var(--bn-ring); border-color:transparent; }
5138
- :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])).bottom-nav-ind-circle-bold .bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { color:var(--bn-fg); }
5139
- :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])).bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] .bottom-nav-disc:where(:not([data-brand="lory"],[data-brand="lory"] *)) { background:var(--bn-bg); box-shadow:var(--bn-ring); }
5140
- :is([data-current-style="plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="plain"],[data-current-style="bar-plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-plain"]) .bottom-nav-item[aria-current] .bottom-nav-label:where(:not([data-brand="lory"],[data-brand="lory"] *)) { font-weight:var(--weight-semibold); }
5734
+ :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])).bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] { color:var(--bn-fg); }
5735
+ :is([data-current-style]:not([data-current-style="current"]) .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style]:not([data-current-style="current"])).bottom-nav-ind-circle-bold .bottom-nav-item[aria-current] .bottom-nav-disc { background:var(--bn-bg); box-shadow:var(--bn-ring); }
5736
+ :is([data-current-style="plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="plain"],[data-current-style="bar-plain"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style="bar-plain"]) .bottom-nav-item[aria-current] .bottom-nav-label { font-weight:var(--weight-semibold); }
5141
5737
  /* A barra amarela (2.13): a barra inteira na marca, todos os itens na tinta e o ícone sem transparência. Na fixa (`edge`)
5142
5738
  o core pinta `--background`; esta passa por cima. O ponto de selo vazio, que é amarelo, vai para a tinta. */
5143
- :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]):where(:not([data-brand="lory"],[data-brand="lory"] *)) {
5739
+ :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]) {
5144
5740
  --bottomnav-surface:var(--primary); background:var(--primary); color:var(--primary-foreground); border-color:transparent; }
5145
- :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]) .bottom-nav-item:where(:not([data-brand="lory"],[data-brand="lory"] *)) { color:var(--primary-foreground); }
5146
- :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]) .bottom-nav-item .icon:where(:not([data-brand="lory"],[data-brand="lory"] *)) { opacity:1; }
5147
- :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]) .bottom-nav-badge:empty:where(:not([data-brand="lory"],[data-brand="lory"] *)) { background:var(--primary-foreground); }
5741
+ :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]) .bottom-nav-item { color:var(--primary-foreground); }
5742
+ :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]) .bottom-nav-item .icon { opacity:1; }
5743
+ :is([data-current-style^="bar-"] .bottom-nav:not([data-current-style]),.bottom-nav[data-current-style^="bar-"]) .bottom-nav-badge:empty { background:var(--primary-foreground); }
5148
5744
  /* A classe DOBRADA é força, de propósito: a regra do nome na cor do texto (o 2.11, acima) também casa com a barra amarela,
5149
5745
  e no escuro pintaria o nome de branco sobre o amarelo. */
5150
- :is([data-current-style^="bar-"] .bottom-nav.bottom-nav:not([data-current-style]),.bottom-nav.bottom-nav[data-current-style^="bar-"]):is(.bottom-nav-ind-circle,.bottom-nav-ind-circle-outline,.bottom-nav-ind-circle-raised,.bottom-nav-ind-capsule) .bottom-nav-item.bottom-nav-item[aria-current]:where(:not([data-brand="lory"],[data-brand="lory"] *)) { color:var(--primary-foreground); }
5746
+ :is([data-current-style^="bar-"] .bottom-nav.bottom-nav:not([data-current-style]),.bottom-nav.bottom-nav[data-current-style^="bar-"]):is(.bottom-nav-ind-circle,.bottom-nav-ind-circle-outline,.bottom-nav-ind-circle-raised,.bottom-nav-ind-capsule) .bottom-nav-item.bottom-nav-item[aria-current] { color:var(--primary-foreground); }
5151
5747
 
5152
5748
  /* >>> camada responsiva — GERADA por scripts/build-responsive-layer.mjs <<< */
5153
5749
  /* As variáveis de passo NÃO HERDAM. Ver o comentário de VARIAVEIS no gerador: um ícone dentro
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aurea-uds/core",
3
- "version": "0.46.0",
3
+ "version": "0.47.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",