@maxsteinwender/sort-ui 1.1.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/styles.css CHANGED
@@ -13007,14 +13007,20 @@
13007
13007
  content: "\f69d";
13008
13008
  }
13009
13009
 
13010
- /* ===== Redaction — Local Font Faces ===== */
13010
+ /*
13011
+ * ===== Redaction — Local Font Faces =====
13012
+ * Brand rule: Redaction MUST always render in its Regular weight, never Bold —
13013
+ * for headlines and quotes alike. The Bold faces are intentionally omitted and
13014
+ * the Regular/Italic faces span the full weight range (100–900), so any
13015
+ * requested font-weight maps to Regular with no synthetic bolding.
13016
+ */
13011
13017
 
13012
13018
  @font-face {
13013
13019
  font-family: 'Redaction';
13014
13020
 
13015
13021
  src: url('./fonts/Redaction/webfonts/Redaction-Regular.woff2') format('woff2');
13016
13022
 
13017
- font-weight: 400;
13023
+ font-weight: 100 900;
13018
13024
 
13019
13025
  font-style: normal;
13020
13026
 
@@ -13026,33 +13032,21 @@
13026
13032
 
13027
13033
  src: url('./fonts/Redaction/webfonts/Redaction-Italic.woff2') format('woff2');
13028
13034
 
13029
- font-weight: 400;
13035
+ font-weight: 100 900;
13030
13036
 
13031
13037
  font-style: italic;
13032
13038
 
13033
13039
  font-display: swap;
13034
13040
  }
13035
13041
 
13036
- @font-face {
13037
- font-family: 'Redaction';
13038
-
13039
- src: url('./fonts/Redaction/webfonts/Redaction-Bold.woff2') format('woff2');
13040
-
13041
- font-weight: 700;
13042
-
13043
- font-style: normal;
13044
-
13045
- font-display: swap;
13046
- }
13047
-
13048
- /* ===== Redaction 35 — Local Font Faces ===== */
13042
+ /* ===== Redaction 35 — Local Font Faces (Regular weight only, see above) ===== */
13049
13043
 
13050
13044
  @font-face {
13051
13045
  font-family: 'Redaction 35';
13052
13046
 
13053
13047
  src: url('./fonts/Redaction/webfonts/Redaction_35-Regular.woff2') format('woff2');
13054
13048
 
13055
- font-weight: 400;
13049
+ font-weight: 100 900;
13056
13050
 
13057
13051
  font-style: normal;
13058
13052
 
@@ -13064,25 +13058,13 @@
13064
13058
 
13065
13059
  src: url('./fonts/Redaction/webfonts/Redaction_35-Italic.woff2') format('woff2');
13066
13060
 
13067
- font-weight: 400;
13061
+ font-weight: 100 900;
13068
13062
 
13069
13063
  font-style: italic;
13070
13064
 
13071
13065
  font-display: swap;
13072
13066
  }
13073
13067
 
13074
- @font-face {
13075
- font-family: 'Redaction 35';
13076
-
13077
- src: url('./fonts/Redaction/webfonts/Redaction_35-Bold.woff2') format('woff2');
13078
-
13079
- font-weight: 700;
13080
-
13081
- font-style: normal;
13082
-
13083
- font-display: swap;
13084
- }
13085
-
13086
13068
  *, ::before, ::after {
13087
13069
  --tw-border-spacing-x: 0;
13088
13070
  --tw-border-spacing-y: 0;
@@ -13663,7 +13645,8 @@ video {
13663
13645
  --ring: 221 96.9% 62.5%;
13664
13646
  --radius: 0.5rem;
13665
13647
  /* Sort UI Font Family Tokens — Font A (default) */
13666
- --font-headline: var(--font-geist-sans);
13648
+ /* Headlines use Redaction (display); body/UI stays Geist. */
13649
+ --font-headline: 'Redaction', Georgia, serif;
13667
13650
  --font-body: var(--font-geist-sans);
13668
13651
  --font-quote: 'Redaction', Georgia, serif;
13669
13652
  --font-quote-alt: 'Redaction 35', Georgia, serif;
@@ -13706,49 +13689,171 @@ video {
13706
13689
  --shadow-tab-active: inset 0px 0px 0px 1px var(--border-darker), 0px 1px 2px 0px rgba(0,0,0,0.05), inset 0px -1px 0px 0px rgba(0,0,0,0.08);
13707
13690
  --shadow-text: 0px 0.5px 1px rgba(0,0,0,0.15);
13708
13691
  /* --shadow-tooltip removed — use --shadow-modal-sm instead */
13709
- /* Sort UI Font Size Tokens — Desktop */
13710
- --font-size-xs: 12px;
13711
- --font-size-sm: 14px;
13712
- --font-size-md: 16px;
13713
- --font-size-lg: 18px;
13714
- --font-size-xl: 20px;
13715
- --font-size-2xl: 24px;
13716
- --font-size-3xl: 30px;
13717
- --font-size-4xl: 36px;
13718
- --font-size-5xl: 48px;
13719
- --font-size-6xl: 60px;
13720
- --font-size-7xl: 72px;
13721
- --font-size-8xl: 96px;
13722
- --font-size-9xl: 128px;
13723
- /* Sort UI Font Weight Tokens */
13724
- --font-weight-light: 300;
13692
+ /* Sort UI Font Size Tokens — Desktop (rem-based, 16px root) */
13693
+ --font-size-xs: 0.75rem;
13694
+ /* 12px */
13695
+ --font-size-sm: 0.875rem;
13696
+ /* 14px */
13697
+ --font-size-md: 1rem;
13698
+ /* 16px */
13699
+ --font-size-lg: 1.125rem;
13700
+ /* 18px */
13701
+ --font-size-xl: 1.25rem;
13702
+ /* 20px */
13703
+ --font-size-2xl: 1.5rem;
13704
+ /* 24px */
13705
+ --font-size-3xl: 1.875rem;
13706
+ /* 30px */
13707
+ --font-size-4xl: 2.25rem;
13708
+ /* 36px */
13709
+ --font-size-5xl: 3rem;
13710
+ /* 48px */
13711
+ --font-size-6xl: 3.75rem;
13712
+ /* 60px */
13713
+ --font-size-7xl: 4.5rem;
13714
+ /* 72px */
13715
+ --font-size-8xl: 6rem;
13716
+ /* 96px */
13717
+ --font-size-9xl: 8rem;
13718
+ /* 128px */
13719
+ /* Sort UI Font Weight Tokens — Regular to Bold only (no Light/Extrabold/Black) */
13725
13720
  --font-weight-normal: 400;
13726
13721
  --font-weight-medium: 500;
13727
13722
  --font-weight-semibold: 600;
13728
13723
  --font-weight-bold: 700;
13729
- --font-weight-extrabold: 800;
13730
- --font-weight-black: 900;
13731
- /* Sort UI Line Height Tokens — Desktop */
13732
- --leading-3: 12px;
13733
- --leading-4: 16px;
13734
- --leading-5: 20px;
13735
- --leading-6: 24px;
13736
- --leading-7: 28px;
13737
- --leading-8: 32px;
13738
- --leading-9: 36px;
13739
- --leading-10: 40px;
13740
- --leading-11: 48px;
13741
- --leading-12: 60px;
13742
- --leading-13: 72px;
13743
- --leading-14: 96px;
13744
- --leading-15: 128px;
13745
- /* Sort UI Letter Spacing Tokens */
13746
- --tracking-tighter: -0.8px;
13747
- --tracking-tight: -0.4px;
13748
- --tracking-normal: 0px;
13749
- --tracking-wide: 0.4px;
13750
- --tracking-wider: 0.8px;
13751
- --tracking-widest: 1.6px;
13724
+ /* Sort UI Line Height Tokens — Desktop (rem-based, paired with Font Size scale) */
13725
+ --leading-3: 0.75rem;
13726
+ /* 12px */
13727
+ --leading-4: 1rem;
13728
+ /* 16px */
13729
+ --leading-5: 1.25rem;
13730
+ /* 20px */
13731
+ --leading-6: 1.5rem;
13732
+ /* 24px */
13733
+ --leading-7: 1.75rem;
13734
+ /* 28px */
13735
+ --leading-8: 2rem;
13736
+ /* 32px */
13737
+ --leading-9: 2.25rem;
13738
+ /* 36px */
13739
+ --leading-10: 2.5rem;
13740
+ /* 40px */
13741
+ --leading-11: 3rem;
13742
+ /* 48px */
13743
+ --leading-12: 3.75rem;
13744
+ /* 60px */
13745
+ --leading-13: 4.5rem;
13746
+ /* 72px */
13747
+ --leading-14: 6rem;
13748
+ /* 96px */
13749
+ --leading-15: 8rem;
13750
+ /* 128px */
13751
+ /* Sort UI Letter Spacing Tokens — em-based (scales with each element's own font-size, matches Tailwind's default scale) */
13752
+ --tracking-tighter: -0.05em;
13753
+ /* -0.8px at 16px */
13754
+ --tracking-tight: -0.025em;
13755
+ /* -0.4px at 16px */
13756
+ --tracking-normal: 0em;
13757
+ --tracking-wide: 0.025em;
13758
+ /* 0.4px at 16px */
13759
+ --tracking-wider: 0.05em;
13760
+ /* 0.8px at 16px */
13761
+ --tracking-widest: 0.1em;
13762
+ /* 1.6px at 16px */
13763
+ /* Sort UI Type Scale Tokens — semantic size/weight/leading/family/tracking per role
13764
+ (aligned to shadcn/ui typography — see docs/superpowers/specs/2026-07-06-type-scale-shadcn-alignment-design.md)
13765
+ Note: --text-{role}-* here is an unrelated naming coincidence with the pre-existing
13766
+ --text-muted color token (theme-scoped, defined elsewhere in this file) — --text-muted-size
13767
+ is a Type Scale property, --text-muted is a color; they don't collide, just look similar. */
13768
+ --text-display-1-size: var(--font-size-8xl);
13769
+ --text-display-1-weight: var(--font-weight-bold);
13770
+ --text-display-1-leading: var(--leading-14);
13771
+ --text-display-1-family: var(--font-quote);
13772
+ --text-display-1-tracking: var(--tracking-tighter);
13773
+ --text-display-2-size: var(--font-size-7xl);
13774
+ --text-display-2-weight: var(--font-weight-bold);
13775
+ --text-display-2-leading: var(--leading-13);
13776
+ --text-display-2-family: var(--font-quote);
13777
+ --text-display-2-tracking: var(--tracking-tighter);
13778
+ --text-display-3-size: var(--font-size-6xl);
13779
+ --text-display-3-weight: var(--font-weight-bold);
13780
+ --text-display-3-leading: var(--leading-12);
13781
+ --text-display-3-family: var(--font-quote);
13782
+ --text-display-3-tracking: var(--tracking-tight);
13783
+ --text-display-4-size: var(--font-size-5xl);
13784
+ --text-display-4-weight: var(--font-weight-bold);
13785
+ --text-display-4-leading: var(--leading-11);
13786
+ --text-display-4-family: var(--font-quote);
13787
+ --text-display-4-tracking: var(--tracking-tight);
13788
+ --text-h1-size: var(--font-size-4xl);
13789
+ --text-h1-weight: var(--font-weight-semibold);
13790
+ --text-h1-leading: var(--leading-10);
13791
+ --text-h1-family: var(--font-headline);
13792
+ --text-h1-tracking: var(--tracking-tight);
13793
+ --text-h2-size: var(--font-size-3xl);
13794
+ --text-h2-weight: var(--font-weight-semibold);
13795
+ --text-h2-leading: var(--leading-9);
13796
+ --text-h2-family: var(--font-headline);
13797
+ --text-h2-tracking: var(--tracking-normal);
13798
+ --text-h3-size: var(--font-size-2xl);
13799
+ --text-h3-weight: var(--font-weight-bold);
13800
+ --text-h3-leading: var(--leading-8);
13801
+ --text-h3-family: var(--font-body);
13802
+ --text-h3-tracking: var(--tracking-normal);
13803
+ --text-h4-size: var(--font-size-xl);
13804
+ --text-h4-weight: var(--font-weight-bold);
13805
+ --text-h4-leading: var(--leading-7);
13806
+ --text-h4-family: var(--font-body);
13807
+ --text-h4-tracking: var(--tracking-normal);
13808
+ --text-large-size: var(--font-size-lg);
13809
+ --text-large-weight: var(--font-weight-semibold);
13810
+ --text-large-leading: var(--leading-7);
13811
+ --text-large-family: var(--font-body);
13812
+ --text-large-tracking: var(--tracking-normal);
13813
+ --text-p-size: var(--font-size-md);
13814
+ --text-p-weight: var(--font-weight-normal);
13815
+ --text-p-leading: var(--leading-6);
13816
+ --text-p-family: var(--font-body);
13817
+ --text-p-tracking: var(--tracking-normal);
13818
+ --text-lead-size: var(--font-size-xl);
13819
+ --text-lead-weight: var(--font-weight-normal);
13820
+ --text-lead-leading: var(--leading-7);
13821
+ --text-lead-family: var(--font-body);
13822
+ --text-lead-tracking: var(--tracking-normal);
13823
+ --text-small-size: var(--font-size-sm);
13824
+ --text-small-weight: var(--font-weight-medium);
13825
+ --text-small-leading: 1;
13826
+ --text-small-family: var(--font-body);
13827
+ --text-small-tracking: var(--tracking-normal);
13828
+ --text-muted-size: var(--font-size-sm);
13829
+ --text-muted-weight: var(--font-weight-normal);
13830
+ --text-muted-leading: var(--leading-5);
13831
+ --text-muted-family: var(--font-body);
13832
+ --text-muted-tracking: var(--tracking-normal);
13833
+ --text-code-size: var(--font-size-sm);
13834
+ --text-code-weight: var(--font-weight-normal);
13835
+ --text-code-leading: var(--leading-5);
13836
+ --text-code-family: var(--font-code);
13837
+ --text-code-tracking: var(--tracking-normal);
13838
+ --text-inline-code-size: var(--font-size-sm);
13839
+ --text-inline-code-weight: var(--font-weight-semibold);
13840
+ --text-inline-code-family: var(--font-code);
13841
+ --text-inline-code-tracking: var(--tracking-normal);
13842
+ --text-blockquote-size: var(--font-size-md);
13843
+ --text-blockquote-weight: var(--font-weight-normal);
13844
+ --text-blockquote-leading: var(--leading-6);
13845
+ --text-blockquote-family: var(--font-quote);
13846
+ --text-blockquote-tracking: var(--tracking-normal);
13847
+ --text-table-size: var(--font-size-md);
13848
+ --text-table-weight: var(--font-weight-normal);
13849
+ --text-table-leading: var(--leading-6);
13850
+ --text-table-family: var(--font-body);
13851
+ --text-table-tracking: var(--tracking-normal);
13852
+ --text-list-size: var(--font-size-md);
13853
+ --text-list-weight: var(--font-weight-normal);
13854
+ --text-list-leading: var(--leading-6);
13855
+ --text-list-family: var(--font-body);
13856
+ --text-list-tracking: var(--tracking-normal);
13752
13857
  /* Sort UI Spacing Tokens */
13753
13858
  --spacing-none: 0px;
13754
13859
  --spacing-1: 1px;
@@ -13847,6 +13952,7 @@ video {
13847
13952
  --icon-informative: #437dfc;
13848
13953
  --icon-success: #4fc660;
13849
13954
  --icon-warning: #f27313;
13955
+ --icon-on-primary: #ffffff;
13850
13956
  /* text tokens */
13851
13957
  --text-default: #111115;
13852
13958
  --text-subtle: #4e4e55;
@@ -13869,6 +13975,7 @@ video {
13869
13975
  --text-informative: #2b5df3;
13870
13976
  --text-success: #3ea44b;
13871
13977
  --text-warning: #e35706;
13978
+ --text-on-primary: #ffffff;
13872
13979
  /* border tokens */
13873
13980
  --border-default: rgba(39, 39, 42, 0.1);
13874
13981
  --border-darker: rgba(39, 39, 42, 0.15);
@@ -14063,6 +14170,8 @@ video {
14063
14170
  --bg-state-soft-loading: rgba(39, 39, 42, 0.06);
14064
14171
  --bg-state-ghost-loading: rgba(39, 39, 42, 0.06);
14065
14172
  --bg-state-ghost-loading-inverted: rgba(255, 255, 255, 0.08);
14173
+ --overlay-on-primary: rgba(255, 255, 255, 0.1);
14174
+ --overlay-on-primary-border: rgba(255, 255, 255, 0.2);
14066
14175
  /* === GENERATED TOKENS END === */
14067
14176
  /* Social button brand colors */
14068
14177
  --social-brand-default: #111115;
@@ -14159,6 +14268,7 @@ video {
14159
14268
  --icon-informative: #9ac4fe;
14160
14269
  --icon-success: #99efae;
14161
14270
  --icon-warning: #f7bb77;
14271
+ --icon-on-primary: #ffffff;
14162
14272
  /* text tokens */
14163
14273
  --text-default: #ffffff;
14164
14274
  --text-subtle: rgba(255, 255, 255, 0.7);
@@ -14181,6 +14291,7 @@ video {
14181
14291
  --text-informative: #65a0fd;
14182
14292
  --text-success: #66dc7e;
14183
14293
  --text-warning: #f38f36;
14294
+ --text-on-primary: #ffffff;
14184
14295
  /* border tokens */
14185
14296
  --border-default: rgba(255, 255, 255, 0.1);
14186
14297
  --border-darker: rgba(255, 255, 255, 0.15);
@@ -14372,70 +14483,76 @@ video {
14372
14483
  --bg-state-soft-loading: rgba(255, 255, 255, 0.08);
14373
14484
  --bg-state-ghost-loading: rgba(255, 255, 255, 0.08);
14374
14485
  --bg-state-ghost-loading-inverted: rgba(39, 39, 42, 0.04);
14486
+ --overlay-on-primary: rgba(255, 255, 255, 0.1);
14487
+ --overlay-on-primary-border: rgba(255, 255, 255, 0.2);
14375
14488
  /* === GENERATED TOKENS END === */
14376
14489
  }
14377
14490
 
14378
14491
  /* ===== Sort UI Theme 2 — Light ===== */
14379
14492
 
14493
+ /* Structurally identical to Theme 1 Light — see docs/superpowers/specs/2026-07-06-theme-2-neutral-violet-redesign-design.md.
14494
+ Only two deviations: Primary Button is zinc/black (Group A), accent is violet instead of blue (Group B). */
14495
+
14380
14496
  .theme-2 {
14381
14497
  --background: 0 0% 100%;
14382
- --foreground: 30 9.1% 12.9%;
14498
+ --foreground: 240 10.5% 7.5%;
14383
14499
  --card: 0 0% 100%;
14384
- --card-foreground: 30 9.1% 12.9%;
14500
+ --card-foreground: 240 10.5% 7.5%;
14385
14501
  --popover: 0 0% 100%;
14386
- --popover-foreground: 30 9.1% 12.9%;
14387
- --primary: 26 89.6% 51.2%;
14502
+ --popover-foreground: 240 10.5% 7.5%;
14503
+ /* Group A — Primary Button: zinc-900 (shadcn "zinc" preset value) */
14504
+ --primary: 240 5.9% 10%;
14388
14505
  --primary-foreground: 0 0% 100%;
14389
14506
  --secondary: 0 0% 100%;
14390
- --secondary-foreground: 30 9.1% 12.9%;
14391
- --muted: 60 4.8% 95.9%;
14392
- --muted-foreground: 26 6.1% 44.7%;
14393
- --accent: 60 9.1% 97.8%;
14394
- --accent-foreground: 30 9.1% 12.9%;
14395
- --destructive: 350 81.2% 58.2%;
14507
+ --secondary-foreground: 240 10.5% 7.5%;
14508
+ --muted: 240 4.8% 95.9%;
14509
+ --muted-foreground: 240 3.5% 45.1%;
14510
+ --accent: 0 0% 98%;
14511
+ --accent-foreground: 240 10.5% 7.5%;
14512
+ --destructive: 1 77.6% 58%;
14396
14513
  --destructive-foreground: 0 0% 100%;
14397
- --border: 30 6% 88%;
14398
- --input: 30 6% 88%;
14399
- --ring: 26 89.6% 51.2%;
14514
+ --border: 240 5.9% 90%;
14515
+ --input: 240 5.9% 90%;
14516
+ /* Group B — Accent: violet */
14517
+ --ring: 258 90% 66%;
14400
14518
  /* Sort UI State Tokens */
14401
- --primary-hover: 26 89.6% 45%;
14402
- --primary-press: 26 89.6% 39%;
14403
- --destructive-hover: 350 81.2% 52%;
14404
- --destructive-press: 350 81.2% 46%;
14519
+ --primary-hover: 240 3.7% 15.9%;
14520
+ --primary-press: 240 5.9% 4%;
14521
+ --destructive-hover: 1 77.6% 52%;
14522
+ --destructive-press: 1 77.6% 46%;
14405
14523
  /* Sort UI Extended Semantic Tokens */
14406
14524
  --success: 129 51.1% 54.3%;
14407
14525
  --success-foreground: 0 0% 100%;
14408
14526
  --warning: 46 84.8% 49%;
14409
14527
  --warning-foreground: 0 0% 100%;
14410
- --informative: 26 89.6% 51.2%;
14528
+ --informative: 258 90% 66%;
14411
14529
  --informative-foreground: 0 0% 100%;
14412
14530
  --overlay: 0 0% 0%;
14413
14531
  /* Sort UI Text Tokens */
14414
- --text-default: 30 9.1% 12.9%;
14415
- --text-subtle: 30 6% 28%;
14416
- --text-muted: 26 6.1% 44.7%;
14417
- --text-hint: 26 4% 60%;
14418
- /* Chart Colors */
14419
- --chart-1: 26 89.6% 51.2%;
14420
- --chart-2: 171 46% 49.4%;
14421
- --chart-3: 46 84.8% 49%;
14422
- --chart-4: 350 81.2% 58.2%;
14423
- --chart-5: 193 65.7% 54.3%;
14424
- /* Sidebar vars verified 2026-04-14 — Theme-2 uses warm neutral palette (hue ~26-30°) */
14532
+ --text-default: 240 10.5% 7.5%;
14533
+ --text-subtle: 240 4.2% 26%;
14534
+ --text-muted: 240 3.5% 45.1%;
14535
+ --text-hint: 240 2.5% 62%;
14536
+ /* Chart Colors — same palette as Theme 1, chart-1 swapped to violet */
14537
+ --chart-1: 258 90% 66%;
14538
+ --chart-2: 129 51.1% 54.3%;
14539
+ --chart-3: 26 89.6% 51.2%;
14540
+ --chart-4: 1 77.6% 58%;
14541
+ --chart-5: 268 97.8% 64.9%;
14425
14542
  /* Sidebar */
14426
14543
  --sidebar-background: 0 0% 100%;
14427
- --sidebar-foreground: 30 9.1% 12.9%;
14428
- --sidebar-primary: 26 89.6% 51.2%;
14544
+ --sidebar-foreground: 240 10.5% 7.5%;
14545
+ --sidebar-primary: 258 90% 66%;
14429
14546
  --sidebar-primary-foreground: 0 0% 100%;
14430
- --sidebar-accent: 60 4.8% 95.9%;
14431
- --sidebar-accent-foreground: 30 9.1% 12.9%;
14432
- --sidebar-border: 30 6% 88%;
14433
- --sidebar-ring: 26 89.6% 51.2%;
14547
+ --sidebar-accent: 240 4.8% 95.9%;
14548
+ --sidebar-accent-foreground: 240 10.5% 7.5%;
14549
+ --sidebar-border: 240 5.9% 90%;
14550
+ --sidebar-ring: 258 90% 66%;
14434
14551
  /* === GENERATED TOKENS START === Theme-2-Light */
14435
14552
  /* icon tokens */
14436
- --icon-default: #24211e;
14437
- --icon-default-subtle: #57534d;
14438
- --icon-default-muted: #79716b;
14553
+ --icon-default: #111115;
14554
+ --icon-default-subtle: #4e4e55;
14555
+ --icon-default-muted: #6f6f77;
14439
14556
  --icon-default-disabled: rgba(39, 39, 42, 0.25);
14440
14557
  --icon-inverted-default: #ffffff;
14441
14558
  --icon-inverted-subtle: rgba(255, 255, 255, 0.65);
@@ -14445,18 +14562,19 @@ video {
14445
14562
  --icon-white-subtle: rgba(255, 255, 255, 0.65);
14446
14563
  --icon-white-muted: rgba(255, 255, 255, 0.5);
14447
14564
  --icon-white-disabled: rgba(255, 255, 255, 0.35);
14448
- --icon-black-default: #24211e;
14449
- --icon-black-subtle: #57534d;
14450
- --icon-black-muted: #79716b;
14565
+ --icon-black-default: #111115;
14566
+ --icon-black-subtle: #4e4e55;
14567
+ --icon-black-muted: #6f6f77;
14451
14568
  --icon-black-disabled: rgba(39, 39, 42, 0.35);
14452
- --icon-destructive: #eb3e5b;
14453
- --icon-informative: #f27313;
14454
- --icon-success: #44b8a7;
14455
- --icon-warning: #e7b413;
14569
+ --icon-destructive: #e74341;
14570
+ --icon-informative: #8655fd;
14571
+ --icon-success: #4fc660;
14572
+ --icon-warning: #f27313;
14573
+ --icon-on-primary: #ffffff;
14456
14574
  /* text tokens */
14457
- --text-default: #24211e;
14458
- --text-subtle: #57534d;
14459
- --text-muted: #79716b;
14575
+ --text-default: #111115;
14576
+ --text-subtle: #4e4e55;
14577
+ --text-muted: #6f6f77;
14460
14578
  --text-hint: rgba(39, 39, 42, 0.3);
14461
14579
  --text-inverted-default: #ffffff;
14462
14580
  --text-inverted-subtle: rgba(255, 255, 255, 0.7);
@@ -14466,24 +14584,25 @@ video {
14466
14584
  --text-white-subtle: rgba(255, 255, 255, 0.7);
14467
14585
  --text-white-muted: rgba(255, 255, 255, 0.5);
14468
14586
  --text-white-hint: rgba(255, 255, 255, 0.3);
14469
- --text-dark-default: #24211e;
14470
- --text-dark-subtle: #57534d;
14471
- --text-dark-muted: #79716b;
14587
+ --text-dark-default: #111115;
14588
+ --text-dark-subtle: #4e4e55;
14589
+ --text-dark-muted: #6f6f77;
14472
14590
  --text-dark-hint: rgba(39, 39, 42, 0.35);
14473
- --text-destructive: #d91a45;
14474
- --text-primary: #f27313;
14475
- --text-informative: #e35706;
14476
- --text-success: #35966a;
14477
- --text-warning: #c68b0b;
14591
+ --text-destructive: #d42422;
14592
+ --text-primary: #8655fd;
14593
+ --text-informative: #762bf5;
14594
+ --text-success: #3ea44b;
14595
+ --text-warning: #e35706;
14596
+ --text-on-primary: #ffffff;
14478
14597
  /* border tokens */
14479
14598
  --border-default: rgba(39, 39, 42, 0.1);
14480
14599
  --border-darker: rgba(39, 39, 42, 0.15);
14481
- --border-accent: #24211e;
14600
+ --border-accent: #111115;
14482
14601
  --border-accent-inverted: #ffffff;
14483
- --border-destructive: #eb3e5b;
14484
- --border-informative: #3eb5d7;
14485
- --border-success: #44b8a7;
14486
- --border-warning: #e7b413;
14602
+ --border-destructive: #e74341;
14603
+ --border-informative: #8655fd;
14604
+ --border-success: #4fc660;
14605
+ --border-warning: #f27313;
14487
14606
  --border-red: rgba(238, 110, 108, 0.2);
14488
14607
  --border-orange: rgba(243, 143, 54, 0.2);
14489
14608
  --border-amber: rgba(245, 189, 30, 0.2);
@@ -14503,41 +14622,39 @@ video {
14503
14622
  --border-rose: rgba(241, 110, 129, 0.2);
14504
14623
  --border-inverted: rgba(255, 255, 255, 0.2);
14505
14624
  --border-white: rgba(255, 255, 255, 0.2);
14506
- --border-highlight: rgba(243, 143, 54, 0.4);
14507
- --border-highlight-destructive: rgba(241, 110, 129, 0.4);
14625
+ --border-highlight: rgba(161, 133, 253, 0.4);
14626
+ --border-highlight-destructive: rgba(238, 110, 108, 0.4);
14508
14627
  --border-strong: rgba(39, 39, 42, 0.25);
14509
- --border-input-highlight: rgba(243, 143, 54, 0.4);
14628
+ --border-input-highlight: rgba(39, 39, 42, 0.4);
14510
14629
  /* bg tokens */
14511
14630
  --bg-default: #ffffff;
14512
- --bg-subtle: #fafaf9;
14513
- --bg-muted: #f5f5f4;
14631
+ --bg-subtle: #fafafa;
14632
+ --bg-muted: #f4f4f5;
14514
14633
  --bg-card: #ffffff;
14515
- --bg-inverted: #24211e;
14516
- /* WCAG AA — primary states meet 4.5:1 against white text.
14517
- Was #f27313 (2.90:1) — critical fail. Tailwind orange-700/800/900. */
14518
- --bg-state-primary: #c2410c;
14519
- /* 6.50:1 */
14520
- --bg-state-primary-hover: #9a3412;
14521
- /* 8.50:1 — darker on hover */
14522
- --bg-state-primary-press: #7c2d12;
14523
- /* 11.0:1 — darker on press */
14634
+ --bg-inverted: #18181b;
14635
+ --bg-state-primary: #18181b;
14636
+ /* zinc-900 */
14637
+ --bg-state-primary-hover: #222225;
14638
+ /* zinc-800 */
14639
+ --bg-state-primary-press: #09090b;
14640
+ /* zinc-950 */
14524
14641
  --bg-state-disabled: rgba(39, 39, 42, 0.08);
14525
14642
  --bg-state-secondary: #ffffff;
14526
- --bg-state-secondary-hover: #fafaf9;
14527
- --bg-state-secondary-press: #f5f5f4;
14643
+ --bg-state-secondary-hover: #fafafa;
14644
+ --bg-state-secondary-press: #f4f4f5;
14528
14645
  --bg-state-soft: rgba(39, 39, 42, 0.06);
14529
14646
  --bg-state-soft-hover: rgba(39, 39, 42, 0.08);
14530
14647
  --bg-state-soft-press: rgba(39, 39, 42, 0.1);
14531
14648
  --bg-state-ghost: rgba(39, 39, 42, 0.0001);
14532
14649
  --bg-state-ghost-hover: rgba(39, 39, 42, 0.06);
14533
14650
  --bg-state-ghost-press: rgba(39, 39, 42, 0.08);
14534
- --bg-state-destructive: #c4334d;
14535
- --bg-state-destructive-hover: #d4445f;
14536
- --bg-state-destructive-press: #c4334d;
14537
- --bg-state-brand: #f27313;
14538
- --bg-state-brand-hover: #f38f36;
14539
- --bg-state-brand-press: #f27313;
14540
- --bg-badge-inverted: #24211e;
14651
+ --bg-state-destructive: #c0392b;
14652
+ --bg-state-destructive-hover: #d44538;
14653
+ --bg-state-destructive-press: #c0392b;
14654
+ --bg-state-brand: #8655fd;
14655
+ --bg-state-brand-hover: #a185fd;
14656
+ --bg-state-brand-press: #8655fd;
14657
+ --bg-badge-inverted: #111115;
14541
14658
  --bg-badge-default: #ffffff;
14542
14659
  --bg-badge-red: rgba(238, 110, 108, 0.1);
14543
14660
  --bg-badge-orange: rgba(243, 143, 54, 0.1);
@@ -14560,12 +14677,12 @@ video {
14560
14677
  --bg-input: #ffffff;
14561
14678
  --bg-input-soft: rgba(39, 39, 42, 0.06);
14562
14679
  --bg-badge-white: rgba(255, 255, 255, 0.1);
14563
- --bg-switch-default: #e7e5e4;
14680
+ --bg-switch-default: #e9e9ec;
14564
14681
  --bg-switch-handle: #ffffff;
14565
- --bg-switch-handle-disabled: #fafaf9;
14566
- --bg-switch-active: #44b8a7;
14567
- --bg-state-primary-loading: #f7bb77;
14568
- --bg-state-destructive-loading: #f49fa9;
14682
+ --bg-switch-handle-disabled: #fafafa;
14683
+ --bg-switch-active: #4fc660;
14684
+ --bg-state-primary-loading: #a1a1a9;
14685
+ --bg-state-destructive-loading: #f4a6a5;
14569
14686
  --bg-basic-red-subtle: #fae3e3;
14570
14687
  --bg-basic-red-accent: #e74341;
14571
14688
  --bg-basic-red-contrast: #77221f;
@@ -14634,149 +14751,157 @@ video {
14634
14751
  --bg-basic-fuchsia-strong: #9a15b1;
14635
14752
  --bg-basic-pink-strong: #b61a5c;
14636
14753
  --bg-basic-rose-strong: #b6133a;
14637
- --bg-basic-gray-subtle: #f5f5f4;
14638
- --bg-basic-gray-accent: #79716b;
14639
- --bg-basic-gray-strong: #44403b;
14640
- --bg-basic-gray-contrast: #24211e;
14754
+ --bg-basic-gray-subtle: #f4f4f5;
14755
+ --bg-basic-gray-accent: #6f6f77;
14756
+ --bg-basic-gray-strong: #36363a;
14757
+ --bg-basic-gray-contrast: #18181b;
14641
14758
  --bg-checkbox-default: #ffffff;
14642
- --bg-checkbox-active: #f27313;
14759
+ --bg-checkbox-active: #8655fd;
14643
14760
  --bg-checkbox-disabled: rgba(39, 39, 42, 0.06);
14644
- --bg-checkbox-active-hover: #f38f36;
14761
+ --bg-checkbox-active-hover: #a185fd;
14645
14762
  --bg-basic-gray-alpha-10: rgba(39, 39, 42, 0.1);
14646
14763
  --bg-input-disabled: rgba(39, 39, 42, 0.06);
14647
- --bg-switch-disabled: #f5f5f4;
14648
- --bg-switch-active-disabled: #adf4e5;
14649
- --bg-switch-default-hover: #d6d3d1;
14650
- --bg-switch-active-hover: #359489;
14651
- --bg-card-inverted: #312c2b;
14764
+ --bg-switch-disabled: #f4f4f5;
14765
+ --bg-switch-active-disabled: #c6f6d2;
14766
+ --bg-switch-default-hover: #dadadd;
14767
+ --bg-switch-active-hover: #3ea44b;
14768
+ --bg-card-inverted: #222225;
14652
14769
  --bg-state-ghost-inverted: rgba(255, 255, 255, 0.0001);
14653
14770
  --bg-state-ghost-hover-inverted: rgba(255, 255, 255, 0.08);
14654
14771
  --bg-state-ghost-press-inverted: rgba(255, 255, 255, 0.15);
14655
14772
  --bg-basic-gray-alpha-2: rgba(39, 39, 42, 0.02);
14656
14773
  --bg-basic-gray-alpha-4: rgba(39, 39, 42, 0.04);
14657
14774
  --bg-basic-gray-alpha-15: rgba(39, 39, 42, 0.15);
14658
- --bg-state-gray: #24211e;
14775
+ --bg-state-gray: #111115;
14659
14776
  --bg-sidebar: #ffffff;
14660
- --bg-sidebar-subtle: #fef8ee;
14661
- --bg-card-subtle: #fafaf9;
14777
+ --bg-sidebar-subtle: #fafafa;
14778
+ --bg-card-subtle: #fafafa;
14662
14779
  --bg-overlay: rgba(39, 39, 42, 0.06);
14663
- --bg-state-brand-loading: #f7bb77;
14664
- --bg-switch-default-2: #14110f;
14780
+ --bg-state-brand-loading: #beb0fd;
14781
+ --bg-switch-default-2: #111115;
14665
14782
  --bg-state-secondary-loading: #ffffff;
14666
14783
  --bg-state-soft-loading: rgba(39, 39, 42, 0.06);
14667
14784
  --bg-state-ghost-loading: rgba(39, 39, 42, 0.06);
14668
14785
  --bg-state-ghost-loading-inverted: rgba(255, 255, 255, 0.08);
14786
+ --overlay-on-primary: rgba(255, 255, 255, 0.1);
14787
+ --overlay-on-primary-border: rgba(255, 255, 255, 0.2);
14669
14788
  /* === GENERATED TOKENS END === */
14670
14789
  }
14671
14790
 
14672
14791
  /* ===== Sort UI Theme 2 — Dark ===== */
14673
14792
 
14793
+ /* Structurally identical to Theme 1 Dark — see docs/superpowers/specs/2026-07-06-theme-2-neutral-violet-redesign-design.md.
14794
+ Group A — Primary Button is INVERTED (near-white bg, dark text via --text-on-primary/--icon-on-primary).
14795
+ Group B — accent is violet instead of orange. */
14796
+
14674
14797
  .theme-2.dark {
14675
- --background: 30 9.1% 12.9%;
14798
+ --background: 240 5.9% 10%;
14676
14799
  --foreground: 0 0% 100%;
14677
- --card: 10 6.5% 18%;
14800
+ --card: 240 4.2% 13.9%;
14678
14801
  --card-foreground: 0 0% 100%;
14679
- --popover: 10 6.5% 18%;
14802
+ --popover: 240 4.2% 13.9%;
14680
14803
  --popover-foreground: 0 0% 100%;
14681
- --primary: 22 94.8% 45.7%;
14682
- --primary-foreground: 0 0% 100%;
14683
- --secondary: 10 6.5% 18%;
14804
+ --primary: 0 0% 98%;
14805
+ --primary-foreground: 240 5.9% 10%;
14806
+ --secondary: 240 3.7% 15.9%;
14684
14807
  --secondary-foreground: 0 0% 100%;
14685
14808
  --muted: 0 0% 0%;
14686
- --muted-foreground: 30 5% 60%;
14687
- --accent: 24 14.3% 6.9%;
14809
+ --muted-foreground: 240 5% 64.9%;
14810
+ --accent: 240 10.5% 7.5%;
14688
14811
  --accent-foreground: 0 0% 100%;
14689
- --destructive: 350 81.2% 58.2%;
14812
+ --destructive: 1 77.6% 58%;
14690
14813
  --destructive-foreground: 0 0% 100%;
14691
- --border: 10 6% 22%;
14692
- --input: 10 6% 22%;
14693
- --ring: 22 94.8% 45.7%;
14814
+ --border: 240 3.7% 20%;
14815
+ --input: 240 3.7% 20%;
14816
+ --ring: 252 89% 71%;
14694
14817
  /* Sort UI State Tokens */
14695
- --primary-hover: 22 94.8% 40%;
14696
- --primary-press: 22 94.8% 34%;
14697
- --destructive-hover: 350 81.2% 52%;
14698
- --destructive-press: 350 81.2% 46%;
14818
+ --primary-hover: 0 0% 89%;
14819
+ --primary-press: 0 0% 83%;
14820
+ --destructive-hover: 1 77.6% 52%;
14821
+ --destructive-press: 1 77.6% 46%;
14699
14822
  /* Sort UI Extended Semantic Tokens */
14700
14823
  --success: 132 62.8% 63.1%;
14701
14824
  --success-foreground: 0 0% 100%;
14702
14825
  --warning: 49 92% 51%;
14703
14826
  --warning-foreground: 0 0% 100%;
14704
- --informative: 28 88.7% 58.2%;
14827
+ --informative: 252 89% 71%;
14705
14828
  --informative-foreground: 0 0% 100%;
14706
14829
  --overlay: 0 0% 0%;
14707
14830
  /* Sort UI Text Tokens */
14708
14831
  --text-default: 0 0% 100%;
14709
- --text-subtle: 30 5% 72%;
14710
- --text-muted: 30 5% 60%;
14711
- --text-hint: 30 4% 48%;
14712
- /* Chart Colors */
14713
- --chart-1: 28 88.7% 58.2%;
14714
- --chart-2: 171 58.5% 57.5%;
14715
- --chart-3: 49 92% 51%;
14716
- --chart-4: 351 82.4% 68.8%;
14717
- --chart-5: 191 83.8% 61.4%;
14832
+ --text-subtle: 240 3% 75%;
14833
+ --text-muted: 240 5% 64.9%;
14834
+ --text-hint: 240 3% 50%;
14835
+ /* Chart Colors — same palette as Theme 1, chart-1 swapped to violet */
14836
+ --chart-1: 252 89% 71%;
14837
+ --chart-2: 132 62.8% 63.1%;
14838
+ --chart-3: 28 88.7% 58.2%;
14839
+ --chart-4: 1 79.2% 66.1%;
14840
+ --chart-5: 267 98.5% 74.5%;
14718
14841
  /* Sidebar */
14719
- --sidebar-background: 30 9.1% 12.9%;
14842
+ --sidebar-background: 240 5.9% 10%;
14720
14843
  --sidebar-foreground: 0 0% 100%;
14721
- --sidebar-primary: 22 94.8% 45.7%;
14844
+ --sidebar-primary: 252 89% 71%;
14722
14845
  --sidebar-primary-foreground: 0 0% 100%;
14723
- --sidebar-accent: 10 6.5% 18%;
14846
+ --sidebar-accent: 240 3.7% 15.9%;
14724
14847
  --sidebar-accent-foreground: 0 0% 100%;
14725
- --sidebar-border: 10 6% 22%;
14726
- --sidebar-ring: 22 94.8% 45.7%;
14848
+ --sidebar-border: 240 3.7% 20%;
14849
+ --sidebar-ring: 252 89% 71%;
14727
14850
  /* === GENERATED TOKENS START === Theme-2-Dark */
14728
14851
  /* icon tokens */
14729
14852
  --icon-default: #ffffff;
14730
14853
  --icon-default-subtle: rgba(255, 255, 255, 0.7);
14731
14854
  --icon-default-muted: rgba(255, 255, 255, 0.5);
14732
14855
  --icon-default-disabled: rgba(255, 255, 255, 0.25);
14733
- --icon-inverted-default: #24211e;
14734
- --icon-inverted-subtle: #57534d;
14735
- --icon-inverted-muted: #a6a09b;
14856
+ --icon-inverted-default: #111115;
14857
+ --icon-inverted-subtle: #4e4e55;
14858
+ --icon-inverted-muted: #a1a1a9;
14736
14859
  --icon-inverted-disabled: rgba(39, 39, 42, 0.35);
14737
14860
  --icon-white-default: #ffffff;
14738
14861
  --icon-white-subtle: rgba(255, 255, 255, 0.7);
14739
14862
  --icon-white-muted: rgba(255, 255, 255, 0.5);
14740
14863
  --icon-white-disabled: rgba(255, 255, 255, 0.4);
14741
- --icon-black-default: #24211e;
14742
- --icon-black-subtle: #57534d;
14743
- --icon-black-muted: #79716b;
14864
+ --icon-black-default: #111115;
14865
+ --icon-black-subtle: #4e4e55;
14866
+ --icon-black-muted: #6f6f77;
14744
14867
  --icon-black-disabled: rgba(39, 39, 42, 0.35);
14745
- --icon-destructive: #f49fa9;
14746
- --icon-informative: #f7bb77;
14747
- --icon-success: #7ce9d5;
14748
- --icon-warning: #f5ca0f;
14868
+ --icon-destructive: #f4a6a5;
14869
+ --icon-informative: #beb0fd;
14870
+ --icon-success: #99efae;
14871
+ --icon-warning: #f7bb77;
14872
+ --icon-on-primary: #18181b;
14749
14873
  /* text tokens */
14750
14874
  --text-default: #ffffff;
14751
14875
  --text-subtle: rgba(255, 255, 255, 0.7);
14752
14876
  --text-muted: rgba(255, 255, 255, 0.5);
14753
14877
  --text-hint: rgba(255, 255, 255, 0.3);
14754
- --text-inverted-default: #24211e;
14755
- --text-inverted-subtle: #57534d;
14756
- --text-inverted-muted: #79716b;
14878
+ --text-inverted-default: #111115;
14879
+ --text-inverted-subtle: #4e4e55;
14880
+ --text-inverted-muted: #6f6f77;
14757
14881
  --text-inverted-hint: rgba(39, 39, 42, 0.35);
14758
14882
  --text-white-default: #ffffff;
14759
14883
  --text-white-subtle: rgba(255, 255, 255, 0.7);
14760
14884
  --text-white-muted: rgba(255, 255, 255, 0.5);
14761
14885
  --text-white-hint: rgba(255, 255, 255, 0.3);
14762
- --text-dark-default: #24211e;
14763
- --text-dark-subtle: #57534d;
14764
- --text-dark-muted: #79716b;
14886
+ --text-dark-default: #111115;
14887
+ --text-dark-subtle: #4e4e55;
14888
+ --text-dark-muted: #6f6f77;
14765
14889
  --text-dark-hint: rgba(39, 39, 42, 0.35);
14766
- --text-destructive: #f16e81;
14767
- --text-primary: #f38f36;
14768
- --text-informative: #f38f36;
14769
- --text-success: #56d197;
14770
- --text-warning: #f5ca0f;
14890
+ --text-destructive: #ed6664;
14891
+ --text-primary: #a185fd;
14892
+ --text-informative: #a185fd;
14893
+ --text-success: #66dc7e;
14894
+ --text-warning: #f38f36;
14895
+ --text-on-primary: #18181b;
14771
14896
  /* border tokens */
14772
14897
  --border-default: rgba(255, 255, 255, 0.1);
14773
14898
  --border-darker: rgba(255, 255, 255, 0.15);
14774
14899
  --border-accent: #ffffff;
14775
- --border-accent-inverted: #24211e;
14776
- --border-destructive: #f16e81;
14777
- --border-informative: #4ad0ef;
14778
- --border-success: #53d2be;
14779
- --border-warning: #f5ca0f;
14900
+ --border-accent-inverted: #111115;
14901
+ --border-destructive: #ed6664;
14902
+ --border-informative: #a185fd;
14903
+ --border-success: #66dc7e;
14904
+ --border-warning: #f38f36;
14780
14905
  --border-red: rgba(238, 110, 108, 0.2);
14781
14906
  --border-orange: rgba(243, 143, 54, 0.2);
14782
14907
  --border-amber: rgba(245, 189, 30, 0.2);
@@ -14796,24 +14921,22 @@ video {
14796
14921
  --border-rose: rgba(241, 110, 129, 0.2);
14797
14922
  --border-inverted: rgba(39, 39, 42, 0.1);
14798
14923
  --border-white: rgba(255, 255, 255, 0.2);
14799
- --border-highlight: rgba(243, 143, 54, 0.4);
14800
- --border-highlight-destructive: rgba(241, 110, 129, 0.4);
14924
+ --border-highlight: rgba(161, 133, 253, 0.4);
14925
+ --border-highlight-destructive: rgba(238, 110, 108, 0.4);
14801
14926
  --border-strong: rgba(255, 255, 255, 0.25);
14802
- --border-input-highlight: rgba(243, 143, 54, 0.4);
14927
+ --border-input-highlight: rgba(255, 255, 255, 0.45);
14803
14928
  /* bg tokens */
14804
- --bg-default: #301108;
14805
- --bg-subtle: #14110f;
14806
- --bg-muted: #0c0a09;
14807
- --bg-card: #301108;
14929
+ --bg-default: #18181b;
14930
+ --bg-subtle: #111115;
14931
+ --bg-muted: #09090b;
14932
+ --bg-card: #222225;
14808
14933
  --bg-inverted: #ffffff;
14809
- /* WCAG AA — primary states meet 4.5:1 against white text.
14810
- Was #e35706 (3.73:1) failed AA. Tailwind orange-700/800/900. */
14811
- --bg-state-primary: #c2410c;
14812
- /* 6.50:1 */
14813
- --bg-state-primary-hover: #9a3412;
14814
- /* 8.50:1 — darker on hover */
14815
- --bg-state-primary-press: #7c2d12;
14816
- /* 11.0:1 — darker on press */
14934
+ --bg-state-primary: #fafafa;
14935
+ /* zinc-50inverted per user decision */
14936
+ --bg-state-primary-hover: #e9e9ec;
14937
+ /* zinc-200 */
14938
+ --bg-state-primary-press: #dadadd;
14939
+ /* zinc-300 */
14817
14940
  --bg-state-disabled: rgba(255, 255, 255, 0.08);
14818
14941
  --bg-state-secondary: rgba(255, 255, 255, 0.04);
14819
14942
  --bg-state-secondary-hover: rgba(255, 255, 255, 0.08);
@@ -14824,12 +14947,12 @@ video {
14824
14947
  --bg-state-ghost: rgba(255, 255, 255, 0.0001);
14825
14948
  --bg-state-ghost-hover: rgba(255, 255, 255, 0.08);
14826
14949
  --bg-state-ghost-press: rgba(255, 255, 255, 0.15);
14827
- --bg-state-destructive: #c4334d;
14828
- --bg-state-destructive-hover: #d4445f;
14829
- --bg-state-destructive-press: #c4334d;
14830
- --bg-state-brand: #e35706;
14831
- --bg-state-brand-hover: #f27313;
14832
- --bg-state-brand-press: #e35706;
14950
+ --bg-state-destructive: #c0392b;
14951
+ --bg-state-destructive-hover: #d44538;
14952
+ --bg-state-destructive-press: #c0392b;
14953
+ --bg-state-brand: #8655fd;
14954
+ --bg-state-brand-hover: #a185fd;
14955
+ --bg-state-brand-press: #8655fd;
14833
14956
  --bg-badge-inverted: #ffffff;
14834
14957
  --bg-badge-default: rgba(255, 255, 255, 0.1);
14835
14958
  --bg-badge-red: rgba(238, 110, 108, 0.1);
@@ -14853,12 +14976,12 @@ video {
14853
14976
  --bg-input: rgba(255, 255, 255, 0.06);
14854
14977
  --bg-input-soft: rgba(255, 255, 255, 0.08);
14855
14978
  --bg-badge-white: rgba(255, 255, 255, 0.1);
14856
- --bg-switch-default: #57534d;
14979
+ --bg-switch-default: #4e4e55;
14857
14980
  --bg-switch-handle: #ffffff;
14858
- --bg-switch-handle-disabled: #fafaf9;
14859
- --bg-switch-active: #44b8a7;
14860
- --bg-state-primary-loading: #f7bb77;
14861
- --bg-state-destructive-loading: #f49fa9;
14981
+ --bg-switch-handle-disabled: #fafafa;
14982
+ --bg-switch-active: #4fc660;
14983
+ --bg-state-primary-loading: #6f6f77;
14984
+ --bg-state-destructive-loading: #f4a6a5;
14862
14985
  --bg-basic-red-subtle: #77221f;
14863
14986
  --bg-basic-red-accent: #e74341;
14864
14987
  --bg-basic-red-contrast: #fae3e3;
@@ -14927,20 +15050,20 @@ video {
14927
15050
  --bg-basic-fuchsia-strong: #dd72fa;
14928
15051
  --bg-basic-pink-strong: #ea6eb3;
14929
15052
  --bg-basic-rose-strong: #f16e81;
14930
- --bg-basic-gray-subtle: #24211e;
14931
- --bg-basic-gray-accent: #79716b;
14932
- --bg-basic-gray-strong: #a6a09b;
14933
- --bg-basic-gray-contrast: #f5f5f4;
15053
+ --bg-basic-gray-subtle: #18181b;
15054
+ --bg-basic-gray-accent: #6f6f77;
15055
+ --bg-basic-gray-strong: #a1a1a9;
15056
+ --bg-basic-gray-contrast: #f4f4f5;
14934
15057
  --bg-checkbox-default: rgba(255, 255, 255, 0.06);
14935
- --bg-checkbox-active: #f27313;
15058
+ --bg-checkbox-active: #8655fd;
14936
15059
  --bg-checkbox-disabled: rgba(255, 255, 255, 0.06);
14937
- --bg-checkbox-active-hover: #f38f36;
15060
+ --bg-checkbox-active-hover: #a185fd;
14938
15061
  --bg-basic-gray-alpha-10: rgba(255, 255, 255, 0.15);
14939
15062
  --bg-input-disabled: rgba(255, 255, 255, 0.15);
14940
- --bg-switch-disabled: #d6d3d1;
14941
- --bg-switch-active-disabled: #adf4e5;
14942
- --bg-switch-default-hover: #79716b;
14943
- --bg-switch-active-hover: #53d2be;
15063
+ --bg-switch-disabled: #dadadd;
15064
+ --bg-switch-active-disabled: #c6f6d2;
15065
+ --bg-switch-default-hover: #6f6f77;
15066
+ --bg-switch-active-hover: #66dc7e;
14944
15067
  --bg-card-inverted: #ffffff;
14945
15068
  --bg-state-ghost-inverted: rgba(39, 39, 42, 0.0001);
14946
15069
  --bg-state-ghost-hover-inverted: rgba(39, 39, 42, 0.04);
@@ -14949,16 +15072,18 @@ video {
14949
15072
  --bg-basic-gray-alpha-4: rgba(255, 255, 255, 0.08);
14950
15073
  --bg-basic-gray-alpha-15: rgba(255, 255, 255, 0.2);
14951
15074
  --bg-state-gray: #ffffff;
14952
- --bg-sidebar: #301108;
14953
- --bg-sidebar-subtle: #441c0d;
14954
- --bg-card-subtle: #301108;
15075
+ --bg-sidebar: #18181b;
15076
+ --bg-sidebar-subtle: #18181b;
15077
+ --bg-card-subtle: #36363a;
14955
15078
  --bg-overlay: rgba(9, 9, 11, 0.65);
14956
- --bg-state-brand-loading: #f7bb77;
15079
+ --bg-state-brand-loading: #beb0fd;
14957
15080
  --bg-switch-default-2: #ffffff;
14958
15081
  --bg-state-secondary-loading: rgba(255, 255, 255, 0.04);
14959
15082
  --bg-state-soft-loading: rgba(255, 255, 255, 0.08);
14960
15083
  --bg-state-ghost-loading: rgba(255, 255, 255, 0.08);
14961
15084
  --bg-state-ghost-loading-inverted: rgba(39, 39, 42, 0.04);
15085
+ --overlay-on-primary: rgba(24, 24, 27, 0.1);
15086
+ --overlay-on-primary-border: rgba(24, 24, 27, 0.2);
14962
15087
  /* === GENERATED TOKENS END === */
14963
15088
  }
14964
15089
 
@@ -15005,6 +15130,14 @@ body {
15005
15130
  text-rendering: optimizeLegibility;
15006
15131
  }
15007
15132
 
15133
+ /* Headline 1–3 use the headline font (Redaction by default). h4–h6 inherit body. */
15134
+
15135
+ h1,
15136
+ h2,
15137
+ h3 {
15138
+ font-family: var(--font-headline), Georgia, serif;
15139
+ }
15140
+
15008
15141
  /* #55 Document selection styling */
15009
15142
 
15010
15143
  ::-moz-selection {
@@ -15090,6 +15223,207 @@ button,
15090
15223
  }
15091
15224
  }
15092
15225
 
15226
+ .text-display-1 {
15227
+ font-size: var(--text-display-1-size);
15228
+ font-weight: var(--text-display-1-weight);
15229
+ line-height: var(--text-display-1-leading);
15230
+ font-family: var(--text-display-1-family);
15231
+ letter-spacing: var(--text-display-1-tracking);
15232
+ }
15233
+
15234
+ .text-display-2 {
15235
+ font-size: var(--text-display-2-size);
15236
+ font-weight: var(--text-display-2-weight);
15237
+ line-height: var(--text-display-2-leading);
15238
+ font-family: var(--text-display-2-family);
15239
+ letter-spacing: var(--text-display-2-tracking);
15240
+ }
15241
+
15242
+ .text-display-3 {
15243
+ font-size: var(--text-display-3-size);
15244
+ font-weight: var(--text-display-3-weight);
15245
+ line-height: var(--text-display-3-leading);
15246
+ font-family: var(--text-display-3-family);
15247
+ letter-spacing: var(--text-display-3-tracking);
15248
+ }
15249
+
15250
+ .text-display-4 {
15251
+ font-size: var(--text-display-4-size);
15252
+ font-weight: var(--text-display-4-weight);
15253
+ line-height: var(--text-display-4-leading);
15254
+ font-family: var(--text-display-4-family);
15255
+ letter-spacing: var(--text-display-4-tracking);
15256
+ }
15257
+
15258
+ .text-h1 {
15259
+ font-size: var(--text-h1-size);
15260
+ font-weight: var(--text-h1-weight);
15261
+ line-height: var(--text-h1-leading);
15262
+ font-family: var(--text-h1-family);
15263
+ letter-spacing: var(--text-h1-tracking);
15264
+ }
15265
+
15266
+ .text-h2 {
15267
+ font-size: var(--text-h2-size);
15268
+ font-weight: var(--text-h2-weight);
15269
+ line-height: var(--text-h2-leading);
15270
+ font-family: var(--text-h2-family);
15271
+ letter-spacing: var(--text-h2-tracking);
15272
+ }
15273
+
15274
+ .text-h3 {
15275
+ font-size: var(--text-h3-size);
15276
+ font-weight: var(--text-h3-weight);
15277
+ line-height: var(--text-h3-leading);
15278
+ font-family: var(--text-h3-family);
15279
+ letter-spacing: var(--text-h3-tracking);
15280
+ }
15281
+
15282
+ .text-h4 {
15283
+ font-size: var(--text-h4-size);
15284
+ font-weight: var(--text-h4-weight);
15285
+ line-height: var(--text-h4-leading);
15286
+ font-family: var(--text-h4-family);
15287
+ letter-spacing: var(--text-h4-tracking);
15288
+ }
15289
+
15290
+ .text-large {
15291
+ font-size: var(--text-large-size);
15292
+ font-weight: var(--text-large-weight);
15293
+ line-height: var(--text-large-leading);
15294
+ font-family: var(--text-large-family);
15295
+ letter-spacing: var(--text-large-tracking);
15296
+ }
15297
+
15298
+ .text-p {
15299
+ font-size: var(--text-p-size);
15300
+ font-weight: var(--text-p-weight);
15301
+ line-height: var(--text-p-leading);
15302
+ font-family: var(--text-p-family);
15303
+ letter-spacing: var(--text-p-tracking);
15304
+ }
15305
+
15306
+ .text-lead {
15307
+ font-size: var(--text-lead-size);
15308
+ font-weight: var(--text-lead-weight);
15309
+ line-height: var(--text-lead-leading);
15310
+ font-family: var(--text-lead-family);
15311
+ letter-spacing: var(--text-lead-tracking);
15312
+ color: var(--text-muted);
15313
+ }
15314
+
15315
+ .text-small {
15316
+ font-size: var(--text-small-size);
15317
+ font-weight: var(--text-small-weight);
15318
+ line-height: var(--text-small-leading);
15319
+ font-family: var(--text-small-family);
15320
+ letter-spacing: var(--text-small-tracking);
15321
+ }
15322
+
15323
+ /* !important on color only: Tailwind auto-generates a `.text-muted { color: hsl(var(--muted)) }`
15324
+ utility from the pre-existing `colors.muted.DEFAULT` theme entry (tailwind.config.ts) — utilities
15325
+ always beat components regardless of specificity, so without !important this role's color is
15326
+ silently hijacked to the wrong (background-surface) muted token instead of --text-muted. */
15327
+
15328
+ .text-muted {
15329
+ font-size: var(--text-muted-size);
15330
+ font-weight: var(--text-muted-weight);
15331
+ line-height: var(--text-muted-leading);
15332
+ font-family: var(--text-muted-family);
15333
+ letter-spacing: var(--text-muted-tracking);
15334
+ color: var(--text-muted) !important;
15335
+ }
15336
+
15337
+ .text-code {
15338
+ font-size: var(--text-code-size);
15339
+ font-weight: var(--text-code-weight);
15340
+ line-height: var(--text-code-leading);
15341
+ font-family: var(--text-code-family);
15342
+ letter-spacing: var(--text-code-tracking);
15343
+ }
15344
+
15345
+ .text-inline-code {
15346
+ font-size: var(--text-inline-code-size);
15347
+ font-weight: var(--text-inline-code-weight);
15348
+ font-family: var(--text-inline-code-family);
15349
+ letter-spacing: var(--text-inline-code-tracking);
15350
+ position: relative;
15351
+ border-radius: var(--radius-xs);
15352
+ background-color: hsl(var(--muted));
15353
+ padding: 0.2rem 0.3rem;
15354
+ }
15355
+
15356
+ .text-blockquote {
15357
+ font-size: var(--text-blockquote-size);
15358
+ font-weight: var(--text-blockquote-weight);
15359
+ line-height: var(--text-blockquote-leading);
15360
+ font-family: var(--text-blockquote-family);
15361
+ letter-spacing: var(--text-blockquote-tracking);
15362
+ font-style: italic;
15363
+ margin-top: 1.5rem;
15364
+ border-left: 2px solid hsl(var(--border));
15365
+ padding-left: 1.5rem;
15366
+ }
15367
+
15368
+ .text-table-wrapper {
15369
+ margin-top: 1.5rem;
15370
+ margin-bottom: 1.5rem;
15371
+ width: 100%;
15372
+ overflow-y: auto;
15373
+ }
15374
+
15375
+ .text-table {
15376
+ width: 100%;
15377
+ font-size: var(--text-table-size);
15378
+ font-weight: var(--text-table-weight);
15379
+ line-height: var(--text-table-leading);
15380
+ font-family: var(--text-table-family);
15381
+ letter-spacing: var(--text-table-tracking);
15382
+ }
15383
+
15384
+ .text-table-row {
15385
+ margin: 0;
15386
+ border-top: 1px solid hsl(var(--border));
15387
+ padding: 0;
15388
+ }
15389
+
15390
+ .text-table-row:nth-child(even) {
15391
+ background-color: hsl(var(--muted));
15392
+ }
15393
+
15394
+ .text-table-cell {
15395
+ border: 1px solid hsl(var(--border));
15396
+ padding: 0.5rem 1rem;
15397
+ text-align: left;
15398
+ }
15399
+
15400
+ .text-table-header-cell {
15401
+ border: 1px solid hsl(var(--border));
15402
+ padding: 0.5rem 1rem;
15403
+ text-align: left;
15404
+ font-weight: var(--font-weight-bold);
15405
+ }
15406
+
15407
+ .text-list {
15408
+ margin-top: 1.5rem;
15409
+ margin-bottom: 1.5rem;
15410
+ margin-left: 1.5rem;
15411
+ list-style-type: disc;
15412
+ font-size: var(--text-list-size);
15413
+ font-weight: var(--text-list-weight);
15414
+ line-height: var(--text-list-leading);
15415
+ font-family: var(--text-list-family);
15416
+ letter-spacing: var(--text-list-tracking);
15417
+ }
15418
+
15419
+ .text-list > li {
15420
+ margin-top: 0.5rem;
15421
+ }
15422
+
15423
+ .text-list > li::marker {
15424
+ color: hsl(var(--primary));
15425
+ }
15426
+
15093
15427
  .sr-only {
15094
15428
  position: absolute;
15095
15429
  width: 1px;
@@ -16113,6 +16447,10 @@ button,
16113
16447
  width: 80%;
16114
16448
  }
16115
16449
 
16450
+ .w-44 {
16451
+ width: 11rem;
16452
+ }
16453
+
16116
16454
  .w-48 {
16117
16455
  width: 12rem;
16118
16456
  }
@@ -16121,6 +16459,10 @@ button,
16121
16459
  width: 1.25rem;
16122
16460
  }
16123
16461
 
16462
+ .w-56 {
16463
+ width: 14rem;
16464
+ }
16465
+
16124
16466
  .w-6 {
16125
16467
  width: 1.5rem;
16126
16468
  }
@@ -16708,6 +17050,14 @@ button,
16708
17050
  resize: both;
16709
17051
  }
16710
17052
 
17053
+ .snap-x {
17054
+ scroll-snap-type: x var(--tw-scroll-snap-strictness);
17055
+ }
17056
+
17057
+ .snap-mandatory {
17058
+ --tw-scroll-snap-strictness: mandatory;
17059
+ }
17060
+
16711
17061
  .scroll-m-20 {
16712
17062
  scroll-margin: 5rem;
16713
17063
  }
@@ -17184,6 +17534,10 @@ button,
17184
17534
  border-color: var(--bg-checkbox-active);
17185
17535
  }
17186
17536
 
17537
+ .border-\[var\(--overlay-on-primary-border\)\] {
17538
+ border-color: var(--overlay-on-primary-border);
17539
+ }
17540
+
17187
17541
  .border-destructive\/50 {
17188
17542
  border-color: hsl(var(--destructive) / 0.5);
17189
17543
  }
@@ -17196,10 +17550,6 @@ button,
17196
17550
  border-color: hsl(var(--sidebar-border));
17197
17551
  }
17198
17552
 
17199
- .border-sui-bg-basic-blue-accent {
17200
- border-color: var(--bg-basic-blue-accent);
17201
- }
17202
-
17203
17553
  .border-sui-bg-default {
17204
17554
  border-color: var(--bg-default);
17205
17555
  }
@@ -17352,6 +17702,26 @@ button,
17352
17702
  background-color: var(--color-bg);
17353
17703
  }
17354
17704
 
17705
+ .bg-\[hsl\(var\(--chart-1\)\)\] {
17706
+ background-color: hsl(var(--chart-1));
17707
+ }
17708
+
17709
+ .bg-\[hsl\(var\(--chart-2\)\)\] {
17710
+ background-color: hsl(var(--chart-2));
17711
+ }
17712
+
17713
+ .bg-\[hsl\(var\(--chart-3\)\)\] {
17714
+ background-color: hsl(var(--chart-3));
17715
+ }
17716
+
17717
+ .bg-\[hsl\(var\(--chart-4\)\)\] {
17718
+ background-color: hsl(var(--chart-4));
17719
+ }
17720
+
17721
+ .bg-\[hsl\(var\(--chart-5\)\)\] {
17722
+ background-color: hsl(var(--chart-5));
17723
+ }
17724
+
17355
17725
  .bg-\[rgba\(255\2c 255\2c 255\2c 0\.1\)\] {
17356
17726
  background-color: rgba(255,255,255,0.1);
17357
17727
  }
@@ -17368,6 +17738,10 @@ button,
17368
17738
  background-color: var(--bg-checkbox-disabled);
17369
17739
  }
17370
17740
 
17741
+ .bg-\[var\(--overlay-on-primary\)\] {
17742
+ background-color: var(--overlay-on-primary);
17743
+ }
17744
+
17371
17745
  .bg-\[var\(--sb-bg\2c var\(--social-brand-default\)\)\] {
17372
17746
  background-color: var(--sb-bg,var(--social-brand-default));
17373
17747
  }
@@ -17377,6 +17751,10 @@ button,
17377
17751
  background-color: rgb(245 158 11 / var(--tw-bg-opacity, 1));
17378
17752
  }
17379
17753
 
17754
+ .bg-background {
17755
+ background-color: hsl(var(--background));
17756
+ }
17757
+
17380
17758
  .bg-black\/80 {
17381
17759
  background-color: rgb(0 0 0 / 0.8);
17382
17760
  }
@@ -17428,6 +17806,10 @@ button,
17428
17806
  background-color: rgb(99 102 241 / var(--tw-bg-opacity, 1));
17429
17807
  }
17430
17808
 
17809
+ .bg-informative {
17810
+ background-color: hsl(var(--informative));
17811
+ }
17812
+
17431
17813
  .bg-muted {
17432
17814
  background-color: hsl(var(--muted));
17433
17815
  }
@@ -18544,7 +18926,7 @@ button,
18544
18926
  }
18545
18927
 
18546
18928
  .font-black {
18547
- font-weight: var(--font-weight-black);
18929
+ font-weight: 900;
18548
18930
  }
18549
18931
 
18550
18932
  .font-bold {
@@ -18552,11 +18934,11 @@ button,
18552
18934
  }
18553
18935
 
18554
18936
  .font-extrabold {
18555
- font-weight: var(--font-weight-extrabold);
18937
+ font-weight: 800;
18556
18938
  }
18557
18939
 
18558
18940
  .font-light {
18559
- font-weight: var(--font-weight-light);
18941
+ font-weight: 300;
18560
18942
  }
18561
18943
 
18562
18944
  .font-medium {
@@ -18660,10 +19042,42 @@ button,
18660
19042
  line-height: 1.25;
18661
19043
  }
18662
19044
 
19045
+ .-tracking-normal {
19046
+ letter-spacing: calc(var(--tracking-normal) * -1);
19047
+ }
19048
+
19049
+ .-tracking-tight {
19050
+ letter-spacing: calc(var(--tracking-tight) * -1);
19051
+ }
19052
+
19053
+ .-tracking-tighter {
19054
+ letter-spacing: calc(var(--tracking-tighter) * -1);
19055
+ }
19056
+
19057
+ .-tracking-wide {
19058
+ letter-spacing: calc(var(--tracking-wide) * -1);
19059
+ }
19060
+
19061
+ .-tracking-wider {
19062
+ letter-spacing: calc(var(--tracking-wider) * -1);
19063
+ }
19064
+
19065
+ .-tracking-widest {
19066
+ letter-spacing: calc(var(--tracking-widest) * -1);
19067
+ }
19068
+
19069
+ .tracking-normal {
19070
+ letter-spacing: var(--tracking-normal);
19071
+ }
19072
+
18663
19073
  .tracking-tight {
18664
19074
  letter-spacing: var(--tracking-tight);
18665
19075
  }
18666
19076
 
19077
+ .tracking-tighter {
19078
+ letter-spacing: var(--tracking-tighter);
19079
+ }
19080
+
18667
19081
  .tracking-wide {
18668
19082
  letter-spacing: var(--tracking-wide);
18669
19083
  }
@@ -18754,6 +19168,10 @@ button,
18754
19168
  color: var(--icon-inverted-subtle);
18755
19169
  }
18756
19170
 
19171
+ .text-icon-on-primary {
19172
+ color: var(--icon-on-primary);
19173
+ }
19174
+
18757
19175
  .text-icon-success {
18758
19176
  color: var(--icon-success);
18759
19177
  }
@@ -18778,10 +19196,6 @@ button,
18778
19196
  color: var(--icon-white-subtle);
18779
19197
  }
18780
19198
 
18781
- .text-informative {
18782
- color: hsl(var(--informative));
18783
- }
18784
-
18785
19199
  .text-muted {
18786
19200
  color: hsl(var(--muted));
18787
19201
  }
@@ -18898,6 +19312,10 @@ button,
18898
19312
  color: var(--text-muted);
18899
19313
  }
18900
19314
 
19315
+ .text-sui-text-on-primary {
19316
+ color: var(--text-on-primary);
19317
+ }
19318
+
18901
19319
  .text-sui-text-primary {
18902
19320
  color: var(--text-primary);
18903
19321
  }
@@ -19207,6 +19625,10 @@ button,
19207
19625
  --tw-ring-color: hsl(var(--primary));
19208
19626
  }
19209
19627
 
19628
+ .ring-ring {
19629
+ --tw-ring-color: hsl(var(--ring));
19630
+ }
19631
+
19210
19632
  .ring-sidebar-ring {
19211
19633
  --tw-ring-color: hsl(var(--sidebar-ring));
19212
19634
  }
@@ -19448,6 +19870,50 @@ button,
19448
19870
  --lexical-indent-base-value: 40px;
19449
19871
  }
19450
19872
 
19873
+ .\[--scroll-fade-reveal\:8rem\] {
19874
+ --scroll-fade-reveal: 8rem;
19875
+ }
19876
+
19877
+ .\[--scroll-fade-size\:16px\] {
19878
+ --scroll-fade-size: 16px;
19879
+ }
19880
+
19881
+ .\[--scroll-fade-size\:2rem\] {
19882
+ --scroll-fade-size: 2rem;
19883
+ }
19884
+
19885
+ .\[--scroll-fade-size\:3rem\] {
19886
+ --scroll-fade-size: 3rem;
19887
+ }
19888
+
19889
+ .\[--scroll-fade-t-size\:2rem\] {
19890
+ --scroll-fade-t-size: 2rem;
19891
+ }
19892
+
19893
+ .\[--shimmer-angle\:45deg\] {
19894
+ --shimmer-angle: 45deg;
19895
+ }
19896
+
19897
+ .\[--shimmer-color\:\.\.\.\] {
19898
+ --shimmer-color: ...;
19899
+ }
19900
+
19901
+ .\[--shimmer-duration\:3\.5s\] {
19902
+ --shimmer-duration: 3.5s;
19903
+ }
19904
+
19905
+ .\[--shimmer-duration\:3s\] {
19906
+ --shimmer-duration: 3s;
19907
+ }
19908
+
19909
+ .\[--shimmer-spread\:3rem\] {
19910
+ --shimmer-spread: 3rem;
19911
+ }
19912
+
19913
+ .\[--shimmer-spread\:4rem\] {
19914
+ --shimmer-spread: 4rem;
19915
+ }
19916
+
19451
19917
  .\[text-decoration\:underline_line-through\] {
19452
19918
  text-decoration: underline line-through;
19453
19919
  }
@@ -19474,28 +19940,489 @@ button,
19474
19940
 
19475
19941
  @media (max-width: 767px) {
19476
19942
  :root {
19477
- --font-size-lg: 16px;
19478
- --font-size-xl: 18px;
19479
- --font-size-2xl: 20px;
19480
- --font-size-3xl: 24px;
19481
- --font-size-4xl: 30px;
19482
- --font-size-5xl: 36px;
19483
- --font-size-6xl: 48px;
19484
- --font-size-7xl: 60px;
19485
- --font-size-8xl: 72px;
19486
- --font-size-9xl: 96px;
19487
- --leading-7: 24px;
19488
- --leading-8: 28px;
19489
- --leading-9: 32px;
19490
- --leading-10: 36px;
19491
- --leading-11: 40px;
19492
- --leading-12: 48px;
19493
- --leading-13: 60px;
19494
- --leading-14: 72px;
19495
- --leading-15: 96px;
19943
+ --font-size-lg: 1rem;
19944
+ /* 16px */
19945
+ --font-size-xl: 1.125rem;
19946
+ /* 18px */
19947
+ --font-size-2xl: 1.25rem;
19948
+ /* 20px */
19949
+ --font-size-3xl: 1.5rem;
19950
+ /* 24px */
19951
+ --font-size-4xl: 1.875rem;
19952
+ /* 30px */
19953
+ --font-size-5xl: 2.25rem;
19954
+ /* 36px */
19955
+ --font-size-6xl: 3rem;
19956
+ /* 48px */
19957
+ --font-size-7xl: 3.75rem;
19958
+ /* 60px */
19959
+ --font-size-8xl: 4.5rem;
19960
+ /* 72px */
19961
+ --font-size-9xl: 6rem;
19962
+ /* 96px */
19963
+ --leading-7: 1.5rem;
19964
+ /* 24px */
19965
+ --leading-8: 1.75rem;
19966
+ /* 28px */
19967
+ --leading-9: 2rem;
19968
+ /* 32px */
19969
+ --leading-10: 2.25rem;
19970
+ /* 36px */
19971
+ --leading-11: 2.5rem;
19972
+ /* 40px */
19973
+ --leading-12: 3rem;
19974
+ /* 48px */
19975
+ --leading-13: 3.75rem;
19976
+ /* 60px */
19977
+ --leading-14: 4.5rem;
19978
+ /* 72px */
19979
+ --leading-15: 6rem;
19980
+ /* 96px */
19981
+ }
19982
+ }
19983
+
19984
+ /* ===== Sort UI Shimmer — animated text-highlight utility ===== */
19985
+
19986
+ /* Ported from shadcn/ui's `shimmer` util (ui.shadcn.com/docs/utils/shimmer).
19987
+ The shadcn source is Tailwind v4 (@utility/@theme/--value); this project is
19988
+ Tailwind v3, so it's ported to raw utility classes + @property + an explicit
19989
+ dark-theme override. The effect derives its base color from `currentColor`,
19990
+ so it automatically follows whatever `text-sui-*` token is applied — no
19991
+ hardcoded colors. Customize via arbitrary CSS vars, e.g.
19992
+ `[--shimmer-duration:3s] [--shimmer-spread:3rem] [--shimmer-angle:45deg]`. */
19993
+
19994
+ @property --shimmer-angle {
19995
+ syntax: "<angle>";
19996
+
19997
+ inherits: true;
19998
+
19999
+ initial-value: 20deg;
20000
+ }
20001
+
20002
+ @keyframes sui-shimmer {
20003
+ from {
20004
+ background-position: 100% 0;
20005
+ }
20006
+
20007
+ to {
20008
+ background-position: 0 0;
20009
+ }
20010
+ }
20011
+
20012
+ /* Unlayered (NOT inside @layer utilities) on purpose: Tailwind v3's JIT purges
20013
+ @layer utilities/components rules whose class names don't literally appear in
20014
+ the scanned content. `shimmer` may be applied dynamically or copied from
20015
+ shadcn examples, so keeping these raw keeps them from being tree-shaken away. */
20016
+
20017
+ .shimmer {
20018
+ --_spread: var(--shimmer-spread, calc(3ch + 40px));
20019
+ --_base: currentColor;
20020
+ --_highlight: var(--shimmer-color, oklch(from currentColor l c h / calc(alpha * 0.2)));
20021
+ background-image: var(--shimmer-image, linear-gradient(
20022
+ calc(90deg + var(--shimmer-angle)),
20023
+ var(--_base) calc(50% - var(--_spread)),
20024
+ color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% - var(--_spread) * 0.5),
20025
+ var(--_highlight) 50%,
20026
+ color-mix(in oklch, var(--_highlight), var(--_base) 50%) calc(50% + var(--_spread) * 0.5),
20027
+ var(--_base) calc(50% + var(--_spread))
20028
+ ));
20029
+ background-repeat: no-repeat;
20030
+ background-size: calc(200% + var(--_spread) * 2) 100%;
20031
+ background-position: 0 0;
20032
+ background-clip: text;
20033
+ -webkit-background-clip: text;
20034
+ -webkit-text-fill-color: var(--shimmer-text-fill, transparent);
20035
+ animation: sui-shimmer var(--shimmer-duration, 2s) linear infinite;
20036
+ }
20037
+
20038
+ .shimmer:where([dir="rtl"], [dir="rtl"] *) {
20039
+ animation-direction: reverse;
20040
+ }
20041
+
20042
+ .shimmer-once {
20043
+ animation-iteration-count: 1;
20044
+ }
20045
+
20046
+ .shimmer-reverse {
20047
+ animation-direction: reverse;
20048
+ }
20049
+
20050
+ .shimmer-none {
20051
+ --shimmer-image: none;
20052
+ --shimmer-text-fill: currentColor;
20053
+ }
20054
+
20055
+ /* Dark themes (.dark and .theme-2.dark both carry the `dark` class) get a
20056
+ brighter highlight so the sweep stays visible on dark surfaces. Unlayered,
20057
+ so it wins over the @layer utilities base rule. */
20058
+
20059
+ .dark .shimmer {
20060
+ --_highlight: var(--shimmer-color, oklch(from currentColor max(0.8, calc(l + 0.4)) c h / calc(alpha + 0.4)));
20061
+ }
20062
+
20063
+ @media (prefers-reduced-motion: reduce) {
20064
+ .shimmer {
20065
+ animation: none;
20066
+ background-image: none;
20067
+ -webkit-text-fill-color: currentColor;
20068
+ }
20069
+ }
20070
+
20071
+ /* ===== Sort UI Scroll Fade — scroll-aware edge fade for scroll containers ===== */
20072
+
20073
+ /* Ported from shadcn/ui's `scroll-fade` util (ui.shadcn.com/docs/utils/scroll-fade).
20074
+ Same v4→v3 porting approach as shimmer above: raw utility classes instead of
20075
+ @utility/@theme, kept unlayered so Tailwind's JIT purge can't tree-shake them.
20076
+ Uses CSS scroll-driven animations (animation-timeline: scroll()) to track scroll
20077
+ position where supported (Chromium); @supports not(...) provides a static
20078
+ always-faded fallback for browsers without scroll-timeline support (Safari/Firefox
20079
+ as of this writing). Depth defaults (min(12%, 2.5rem) fade size, 6rem reveal
20080
+ distance) match shadcn's v4 defaults (--spacing * 10 / * 24 with the default
20081
+ 0.25rem --spacing unit) — hardcoded since this project has no global --spacing
20082
+ scalar to reference. */
20083
+
20084
+ @property --scroll-fade-t {
20085
+ syntax: "<length-percentage>";
20086
+
20087
+ inherits: false;
20088
+
20089
+ initial-value: 0px;
20090
+ }
20091
+
20092
+ @property --scroll-fade-b {
20093
+ syntax: "<length-percentage>";
20094
+
20095
+ inherits: false;
20096
+
20097
+ initial-value: 0px;
20098
+ }
20099
+
20100
+ @property --scroll-fade-s {
20101
+ syntax: "<length-percentage>";
20102
+
20103
+ inherits: false;
20104
+
20105
+ initial-value: 0px;
20106
+ }
20107
+
20108
+ @property --scroll-fade-e {
20109
+ syntax: "<length-percentage>";
20110
+
20111
+ inherits: false;
20112
+
20113
+ initial-value: 0px;
20114
+ }
20115
+
20116
+ @property --scroll-fade-mask {
20117
+ syntax: "*";
20118
+
20119
+ inherits: false;
20120
+ }
20121
+
20122
+ @keyframes scroll-fade-reveal-t {
20123
+ from {
20124
+ --scroll-fade-t: 0px;
20125
+ }
20126
+
20127
+ to {
20128
+ --scroll-fade-t: var(--_scroll-fade-size-t, var(--scroll-fade-size, min(12%, 2.5rem)));
20129
+ }
20130
+ }
20131
+
20132
+ @keyframes scroll-fade-reveal-b {
20133
+ from {
20134
+ --scroll-fade-b: var(--_scroll-fade-size-b, var(--scroll-fade-size, min(12%, 2.5rem)));
20135
+ }
20136
+
20137
+ to {
20138
+ --scroll-fade-b: 0px;
20139
+ }
20140
+ }
20141
+
20142
+ @keyframes scroll-fade-reveal-s {
20143
+ from {
20144
+ --scroll-fade-s: 0px;
20145
+ }
20146
+
20147
+ to {
20148
+ --scroll-fade-s: var(--_scroll-fade-size-s, var(--scroll-fade-size, min(12%, 2.5rem)));
20149
+ }
20150
+ }
20151
+
20152
+ @keyframes scroll-fade-reveal-e {
20153
+ from {
20154
+ --scroll-fade-e: var(--_scroll-fade-size-e, var(--scroll-fade-size, min(12%, 2.5rem)));
20155
+ }
20156
+
20157
+ to {
20158
+ --scroll-fade-e: 0px;
20159
+ }
20160
+ }
20161
+
20162
+ /* scroll-fade / scroll-fade-y — vertical edge fade (top + bottom) */
20163
+
20164
+ .scroll-fade,
20165
+ .scroll-fade-y {
20166
+ --_scroll-fade-size-t: var(--scroll-fade-t-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20167
+ --_scroll-fade-size-b: var(--scroll-fade-b-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20168
+ --scroll-fade-block: linear-gradient(
20169
+ to bottom,
20170
+ transparent 0,
20171
+ #000 var(--scroll-fade-t, 0px),
20172
+ #000 calc(100% - var(--scroll-fade-b, 0px)),
20173
+ transparent 100%
20174
+ );
20175
+ -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-block));
20176
+ mask-image: var(--scroll-fade-mask, var(--scroll-fade-block));
20177
+ -webkit-mask-composite: source-in;
20178
+ mask-composite: intersect;
20179
+ -webkit-mask-repeat: no-repeat;
20180
+ mask-repeat: no-repeat;
20181
+ }
20182
+
20183
+ @supports (animation-timeline: scroll()) {
20184
+ .scroll-fade,
20185
+ .scroll-fade-y {
20186
+ animation: scroll-fade-reveal-t 1ms ease-in-out, scroll-fade-reveal-b 1ms ease-in-out;
20187
+ animation-timeline: scroll(self y), scroll(self y);
20188
+ animation-range: 0 var(--scroll-fade-reveal, 6rem), calc(100% - var(--scroll-fade-reveal, 6rem)) 100%;
20189
+ animation-fill-mode: both;
20190
+ }
20191
+ }
20192
+
20193
+ @supports not (animation-timeline: scroll()) {
20194
+ .scroll-fade,
20195
+ .scroll-fade-y {
20196
+ --scroll-fade-t: var(--_scroll-fade-size-t);
20197
+ --scroll-fade-b: var(--_scroll-fade-size-b);
20198
+ }
20199
+ }
20200
+
20201
+ /* scroll-fade-x — horizontal edge fade (start + end, RTL-aware) */
20202
+
20203
+ .scroll-fade-x {
20204
+ --_scroll-fade-size-s: var(--scroll-fade-s-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20205
+ --_scroll-fade-size-e: var(--scroll-fade-e-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20206
+ --scroll-fade-inline: linear-gradient(
20207
+ to right,
20208
+ transparent 0,
20209
+ #000 var(--scroll-fade-s, 0px),
20210
+ #000 calc(100% - var(--scroll-fade-e, 0px)),
20211
+ transparent 100%
20212
+ );
20213
+ -webkit-mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
20214
+ mask-image: var(--scroll-fade-mask, var(--scroll-fade-inline));
20215
+ -webkit-mask-composite: source-in;
20216
+ mask-composite: intersect;
20217
+ -webkit-mask-repeat: no-repeat;
20218
+ mask-repeat: no-repeat;
20219
+ }
20220
+
20221
+ .scroll-fade-x:where([dir="rtl"], [dir="rtl"] *) {
20222
+ --scroll-fade-inline: linear-gradient(
20223
+ to left,
20224
+ transparent 0,
20225
+ #000 var(--scroll-fade-s, 0px),
20226
+ #000 calc(100% - var(--scroll-fade-e, 0px)),
20227
+ transparent 100%
20228
+ );
20229
+ }
20230
+
20231
+ @supports (animation-timeline: scroll()) {
20232
+ .scroll-fade-x {
20233
+ animation: scroll-fade-reveal-s 1ms ease-in-out, scroll-fade-reveal-e 1ms ease-in-out;
20234
+ animation-timeline: scroll(self inline), scroll(self inline);
20235
+ animation-range: 0 var(--scroll-fade-reveal, 6rem), calc(100% - var(--scroll-fade-reveal, 6rem)) 100%;
20236
+ animation-fill-mode: both;
19496
20237
  }
19497
20238
  }
19498
20239
 
20240
+ @supports not (animation-timeline: scroll()) {
20241
+ .scroll-fade-x {
20242
+ --scroll-fade-s: var(--_scroll-fade-size-s);
20243
+ --scroll-fade-e: var(--_scroll-fade-size-e);
20244
+ }
20245
+ }
20246
+
20247
+ /* scroll-fade-t / -b — single top/bottom edge fade */
20248
+
20249
+ .scroll-fade-t {
20250
+ --_scroll-fade-size-t: var(--scroll-fade-t-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20251
+ --scroll-fade-mask: linear-gradient(to bottom, transparent 0, #000 var(--scroll-fade-t, 0px), #000 100%);
20252
+ -webkit-mask-image: var(--scroll-fade-mask);
20253
+ mask-image: var(--scroll-fade-mask);
20254
+ -webkit-mask-composite: source-in;
20255
+ mask-composite: intersect;
20256
+ -webkit-mask-repeat: no-repeat;
20257
+ mask-repeat: no-repeat;
20258
+ }
20259
+
20260
+ @supports (animation-timeline: scroll()) {
20261
+ .scroll-fade-t {
20262
+ animation: scroll-fade-reveal-t 1ms ease-in-out;
20263
+ animation-timeline: scroll(self y);
20264
+ animation-range: 0 var(--scroll-fade-reveal, 6rem);
20265
+ animation-fill-mode: both;
20266
+ }
20267
+ }
20268
+
20269
+ @supports not (animation-timeline: scroll()) {
20270
+ .scroll-fade-t {
20271
+ --scroll-fade-t: var(--_scroll-fade-size-t);
20272
+ }
20273
+ }
20274
+
20275
+ .scroll-fade-b {
20276
+ --_scroll-fade-size-b: var(--scroll-fade-b-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20277
+ --scroll-fade-mask: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--scroll-fade-b, 0px)), transparent 100%);
20278
+ -webkit-mask-image: var(--scroll-fade-mask);
20279
+ mask-image: var(--scroll-fade-mask);
20280
+ -webkit-mask-composite: source-in;
20281
+ mask-composite: intersect;
20282
+ -webkit-mask-repeat: no-repeat;
20283
+ mask-repeat: no-repeat;
20284
+ }
20285
+
20286
+ @supports (animation-timeline: scroll()) {
20287
+ .scroll-fade-b {
20288
+ animation: scroll-fade-reveal-b 1ms ease-in-out;
20289
+ animation-timeline: scroll(self y);
20290
+ animation-range: calc(100% - var(--scroll-fade-reveal, 6rem)) 100%;
20291
+ animation-fill-mode: both;
20292
+ }
20293
+ }
20294
+
20295
+ @supports not (animation-timeline: scroll()) {
20296
+ .scroll-fade-b {
20297
+ --scroll-fade-b: var(--_scroll-fade-size-b);
20298
+ }
20299
+ }
20300
+
20301
+ /* scroll-fade-l / -r — single left/right edge fade (physical, not RTL-aware) */
20302
+
20303
+ .scroll-fade-l {
20304
+ --_scroll-fade-size-s: var(--scroll-fade-s-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20305
+ --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s, 0px), #000 100%);
20306
+ -webkit-mask-image: var(--scroll-fade-mask);
20307
+ mask-image: var(--scroll-fade-mask);
20308
+ -webkit-mask-composite: source-in;
20309
+ mask-composite: intersect;
20310
+ -webkit-mask-repeat: no-repeat;
20311
+ mask-repeat: no-repeat;
20312
+ }
20313
+
20314
+ @supports (animation-timeline: scroll()) {
20315
+ .scroll-fade-l {
20316
+ animation: scroll-fade-reveal-s 1ms ease-in-out;
20317
+ animation-timeline: scroll(self x);
20318
+ animation-range: 0 var(--scroll-fade-reveal, 6rem);
20319
+ animation-fill-mode: both;
20320
+ }
20321
+ }
20322
+
20323
+ @supports not (animation-timeline: scroll()) {
20324
+ .scroll-fade-l {
20325
+ --scroll-fade-s: var(--_scroll-fade-size-s);
20326
+ }
20327
+ }
20328
+
20329
+ .scroll-fade-r {
20330
+ --_scroll-fade-size-e: var(--scroll-fade-e-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20331
+ --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100%);
20332
+ -webkit-mask-image: var(--scroll-fade-mask);
20333
+ mask-image: var(--scroll-fade-mask);
20334
+ -webkit-mask-composite: source-in;
20335
+ mask-composite: intersect;
20336
+ -webkit-mask-repeat: no-repeat;
20337
+ mask-repeat: no-repeat;
20338
+ }
20339
+
20340
+ @supports (animation-timeline: scroll()) {
20341
+ .scroll-fade-r {
20342
+ animation: scroll-fade-reveal-e 1ms ease-in-out;
20343
+ animation-timeline: scroll(self x);
20344
+ animation-range: calc(100% - var(--scroll-fade-reveal, 6rem)) 100%;
20345
+ animation-fill-mode: both;
20346
+ }
20347
+ }
20348
+
20349
+ @supports not (animation-timeline: scroll()) {
20350
+ .scroll-fade-r {
20351
+ --scroll-fade-e: var(--_scroll-fade-size-e);
20352
+ }
20353
+ }
20354
+
20355
+ /* scroll-fade-s / -e — single logical start/end edge fade (RTL-aware) */
20356
+
20357
+ .scroll-fade-s {
20358
+ --_scroll-fade-size-s: var(--scroll-fade-s-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20359
+ --scroll-fade-mask: linear-gradient(to right, transparent 0, #000 var(--scroll-fade-s, 0px), #000 100%);
20360
+ -webkit-mask-image: var(--scroll-fade-mask);
20361
+ mask-image: var(--scroll-fade-mask);
20362
+ -webkit-mask-composite: source-in;
20363
+ mask-composite: intersect;
20364
+ -webkit-mask-repeat: no-repeat;
20365
+ mask-repeat: no-repeat;
20366
+ }
20367
+
20368
+ .scroll-fade-s:where([dir="rtl"], [dir="rtl"] *) {
20369
+ --scroll-fade-mask: linear-gradient(to left, transparent 0, #000 var(--scroll-fade-s, 0px), #000 100%);
20370
+ }
20371
+
20372
+ @supports (animation-timeline: scroll()) {
20373
+ .scroll-fade-s {
20374
+ animation: scroll-fade-reveal-s 1ms ease-in-out;
20375
+ animation-timeline: scroll(self inline);
20376
+ animation-range: 0 var(--scroll-fade-reveal, 6rem);
20377
+ animation-fill-mode: both;
20378
+ }
20379
+ }
20380
+
20381
+ @supports not (animation-timeline: scroll()) {
20382
+ .scroll-fade-s {
20383
+ --scroll-fade-s: var(--_scroll-fade-size-s);
20384
+ }
20385
+ }
20386
+
20387
+ .scroll-fade-e {
20388
+ --_scroll-fade-size-e: var(--scroll-fade-e-size, var(--scroll-fade-size, min(12%, 2.5rem)));
20389
+ --scroll-fade-mask: linear-gradient(to right, #000 0, #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100%);
20390
+ -webkit-mask-image: var(--scroll-fade-mask);
20391
+ mask-image: var(--scroll-fade-mask);
20392
+ -webkit-mask-composite: source-in;
20393
+ mask-composite: intersect;
20394
+ -webkit-mask-repeat: no-repeat;
20395
+ mask-repeat: no-repeat;
20396
+ }
20397
+
20398
+ .scroll-fade-e:where([dir="rtl"], [dir="rtl"] *) {
20399
+ --scroll-fade-mask: linear-gradient(to left, #000 0, #000 calc(100% - var(--scroll-fade-e, 0px)), transparent 100%);
20400
+ }
20401
+
20402
+ @supports (animation-timeline: scroll()) {
20403
+ .scroll-fade-e {
20404
+ animation: scroll-fade-reveal-e 1ms ease-in-out;
20405
+ animation-timeline: scroll(self inline);
20406
+ animation-range: calc(100% - var(--scroll-fade-reveal, 6rem)) 100%;
20407
+ animation-fill-mode: both;
20408
+ }
20409
+ }
20410
+
20411
+ @supports not (animation-timeline: scroll()) {
20412
+ .scroll-fade-e {
20413
+ --scroll-fade-e: var(--_scroll-fade-size-e);
20414
+ }
20415
+ }
20416
+
20417
+ .scroll-fade-none {
20418
+ --scroll-fade-mask: none;
20419
+ }
20420
+
20421
+ /* No prefers-reduced-motion override here (unlike .shimmer above) — the scroll-
20422
+ timeline drives a mask purely off actual user-initiated scroll position, not an
20423
+ autoplaying/decorative effect, so it isn't the kind of motion that setting
20424
+ targets. shadcn's upstream source doesn't disable it either. */
20425
+
19499
20426
  .file\:border-0::file-selector-button {
19500
20427
  border-width: 0px;
19501
20428
  }
@@ -19779,6 +20706,10 @@ button,
19779
20706
  content: var(--tw-content);
19780
20707
  }
19781
20708
 
20709
+ .last\:border-b-0:last-child {
20710
+ border-bottom-width: 0px;
20711
+ }
20712
+
19782
20713
  .focus-within\:bg-sui-bg-input:focus-within {
19783
20714
  background-color: var(--bg-input);
19784
20715
  }
@@ -20124,8 +21055,8 @@ button,
20124
21055
  color: var(--text-muted);
20125
21056
  }
20126
21057
 
20127
- .group.toast .group-\[\.toast\]\:text-sui-text-white-default {
20128
- color: var(--text-white-default);
21058
+ .group.toast .group-\[\.toast\]\:text-sui-text-on-primary {
21059
+ color: var(--text-on-primary);
20129
21060
  }
20130
21061
 
20131
21062
  .group.toaster .group-\[\.toaster\]\:text-sui-text-default {
@@ -20473,9 +21404,9 @@ button,
20473
21404
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
20474
21405
  }
20475
21406
 
20476
- .data-\[state\=active\]\:shadow-sm[data-state="active"] {
20477
- --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
20478
- --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
21407
+ .data-\[state\=active\]\:shadow-default[data-state="active"] {
21408
+ --tw-shadow: var(--shadow-default);
21409
+ --tw-shadow-colored: var(--shadow-default);
20479
21410
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
20480
21411
  }
20481
21412
 
@@ -21231,6 +22162,10 @@ button,
21231
22162
  flex-shrink: 0;
21232
22163
  }
21233
22164
 
22165
+ .\[\&\>\*\]\:snap-start>* {
22166
+ scroll-snap-align: start;
22167
+ }
22168
+
21234
22169
  .\[\&\>button\:first-child\]\:rounded-l-md>button:first-child {
21235
22170
  border-top-left-radius: var(--radius-md);
21236
22171
  border-bottom-left-radius: var(--radius-md);
@@ -21632,12 +22567,16 @@ button,
21632
22567
  color: var(--icon-destructive);
21633
22568
  }
21634
22569
 
22570
+ .\[\&_i\]\:text-icon-on-primary i {
22571
+ color: var(--icon-on-primary);
22572
+ }
22573
+
21635
22574
  .\[\&_i\]\:text-icon-white-default i {
21636
22575
  color: var(--icon-white-default);
21637
22576
  }
21638
22577
 
21639
- .\[\&_i\]\:text-sui-bg-basic-blue-strong i {
21640
- color: var(--bg-basic-blue-strong);
22578
+ .\[\&_i\]\:text-sui-text-informative i {
22579
+ color: var(--text-informative);
21641
22580
  }
21642
22581
 
21643
22582
  .\[\&_i\]\:\[text-shadow\:none\] i {
@@ -21668,6 +22607,16 @@ button,
21668
22607
  color: var(--bg-basic-blue-strong);
21669
22608
  }
21670
22609
 
22610
+ .\[\&_img\]\:size-full img {
22611
+ width: 100%;
22612
+ height: 100%;
22613
+ }
22614
+
22615
+ .\[\&_img\]\:object-cover img {
22616
+ -o-object-fit: cover;
22617
+ object-fit: cover;
22618
+ }
22619
+
21671
22620
  .\[\&_p\]\:leading-relaxed p {
21672
22621
  line-height: 1.625;
21673
22622
  }
@@ -21737,12 +22686,16 @@ button,
21737
22686
  color: var(--icon-destructive);
21738
22687
  }
21739
22688
 
22689
+ .\[\&_svg\]\:text-icon-on-primary svg {
22690
+ color: var(--icon-on-primary);
22691
+ }
22692
+
21740
22693
  .\[\&_svg\]\:text-icon-white-default svg {
21741
22694
  color: var(--icon-white-default);
21742
22695
  }
21743
22696
 
21744
- .\[\&_svg\]\:text-sui-bg-basic-blue-strong svg {
21745
- color: var(--bg-basic-blue-strong);
22697
+ .\[\&_svg\]\:text-sui-text-informative svg {
22698
+ color: var(--text-informative);
21746
22699
  }
21747
22700
 
21748
22701
  .\[\&_svg\]\:\[text-shadow\:none\] svg {
@@ -21806,12 +22759,12 @@ button,
21806
22759
  background-color: color-mix(in srgb,#fff 15%,var(--sb-bg,var(--social-brand-default)));
21807
22760
  }
21808
22761
 
21809
- .\[\@media\(hover\:hover\)\]\:hover\:bg-sidebar-accent:hover {
21810
- background-color: hsl(var(--sidebar-accent));
22762
+ .\[\@media\(hover\:hover\)\]\:hover\:bg-informative:hover {
22763
+ background-color: hsl(var(--informative));
21811
22764
  }
21812
22765
 
21813
- .\[\@media\(hover\:hover\)\]\:hover\:bg-sui-bg-basic-blue-accent:hover {
21814
- background-color: var(--bg-basic-blue-accent);
22766
+ .\[\@media\(hover\:hover\)\]\:hover\:bg-sidebar-accent:hover {
22767
+ background-color: hsl(var(--sidebar-accent));
21815
22768
  }
21816
22769
 
21817
22770
  .\[\@media\(hover\:hover\)\]\:hover\:bg-sui-bg-basic-gray-alpha-2:hover {
@@ -21866,10 +22819,6 @@ button,
21866
22819
  color: hsl(var(--sidebar-accent-foreground));
21867
22820
  }
21868
22821
 
21869
- .\[\@media\(hover\:hover\)\]\:hover\:text-sui-bg-basic-blue-strong:hover {
21870
- color: var(--bg-basic-blue-strong);
21871
- }
21872
-
21873
22822
  .\[\@media\(hover\:hover\)\]\:hover\:text-sui-text-default:hover {
21874
22823
  color: var(--text-default);
21875
22824
  }