@hxdhxd/harmony-flow-ui 0.1.0 → 0.1.2

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/index.css CHANGED
@@ -8,6 +8,11 @@
8
8
  --hf-color-text: #142033;
9
9
  --hf-color-text-muted: #66758c;
10
10
  --hf-color-border: #dce9f7;
11
+ --hf-radius-control: 6px;
12
+ --hf-radius-panel: 8px;
13
+ --hf-radius-overlay: 10px;
14
+ --hf-shadow-popover: 0 8px 24px rgba(41, 106, 168, .12);
15
+ --hf-shadow-modal: 0 18px 48px rgba(41, 106, 168, .16);
11
16
  --hf-radius-md: 14px;
12
17
  --hf-radius-lg: 24px;
13
18
  --hf-shadow-elevated: 0 18px 48px rgba(41, 106, 168, .16);
@@ -41,7 +46,7 @@
41
46
  .hf-button {
42
47
  align-items: center;
43
48
  border: 0;
44
- border-radius: 999px;
49
+ border-radius: var(--hf-radius-control);
45
50
  cursor: pointer;
46
51
  display: inline-flex;
47
52
  font: inherit;
@@ -50,9 +55,9 @@
50
55
  justify-content: center;
51
56
  letter-spacing: .01em;
52
57
  transition:
53
- transform var(--hf-motion-duration) cubic-bezier(.2, .8, .2, 1),
54
58
  background var(--hf-motion-duration),
55
- box-shadow var(--hf-motion-duration);
59
+ border-color var(--hf-motion-duration),
60
+ color var(--hf-motion-duration);
56
61
  }
57
62
  .hf-button--sm {
58
63
  min-height: 34px;
@@ -67,13 +72,13 @@
67
72
  padding: 13px 26px;
68
73
  }
69
74
  .hf-button--rounded {
70
- border-radius: var(--hf-radius-md);
75
+ border-radius: var(--hf-radius-control);
71
76
  }
72
77
  .hf-button--pill {
73
78
  border-radius: 999px;
74
79
  }
75
80
  .hf-button--square {
76
- border-radius: 12px;
81
+ border-radius: var(--hf-radius-control);
77
82
  }
78
83
  .hf-button--full {
79
84
  width: 100%;
@@ -86,12 +91,10 @@
86
91
  }
87
92
  .hf-button--primary {
88
93
  background: var(--hf-color-primary);
89
- box-shadow: 0 8px 20px color-mix(in srgb, var(--hf-color-primary) 26%, transparent);
90
94
  color: #fff;
91
95
  }
92
96
  .hf-button--primary:hover {
93
97
  background: var(--hf-color-primary-hover);
94
- transform: translateY(-1px);
95
98
  }
96
99
  .hf-button--secondary {
97
100
  background: color-mix(in srgb, var(--hf-color-primary) 10%, #fff);
@@ -107,7 +110,6 @@
107
110
  }
108
111
  .hf-button--danger {
109
112
  background: #e5484d;
110
- box-shadow: 0 8px 20px rgba(229, 72, 77, .2);
111
113
  color: #fff;
112
114
  }
113
115
  .hf-button--danger:hover {
@@ -122,13 +124,12 @@
122
124
  color: var(--hf-color-text-muted);
123
125
  }
124
126
  .hf-button:active {
125
- transform: scale(.97);
127
+ filter: brightness(.96);
126
128
  }
127
129
  .hf-button:disabled {
128
130
  cursor: not-allowed;
129
131
  filter: saturate(.4);
130
132
  opacity: .5;
131
- transform: none;
132
133
  }
133
134
  .hf-button:focus-visible,
134
135
  .hf-input:focus-visible,
@@ -157,7 +158,7 @@
157
158
  align-items: center;
158
159
  background: var(--hf-color-surface);
159
160
  border: 1px solid var(--hf-color-border);
160
- border-radius: var(--hf-radius-md);
161
+ border-radius: var(--hf-radius-control);
161
162
  display: flex;
162
163
  min-height: 46px;
163
164
  padding: 0 14px;
@@ -235,12 +236,12 @@
235
236
  }
236
237
  .hf-segmented {
237
238
  background: #eaf3fc;
238
- border: 0;
239
- border-radius: 999px;
239
+ border: 1px solid color-mix(in srgb, var(--hf-color-border) 86%, white);
240
+ border-radius: var(--hf-radius-panel);
240
241
  display: inline-flex;
241
242
  gap: 2px;
242
243
  margin: 0;
243
- padding: 4px;
244
+ padding: 3px;
244
245
  }
245
246
  .hf-segmented__option {
246
247
  cursor: pointer;
@@ -252,38 +253,30 @@
252
253
  width: 1px;
253
254
  }
254
255
  .hf-segmented span {
255
- border-radius: 999px;
256
+ border-radius: var(--hf-radius-control);
256
257
  color: var(--hf-color-text-muted);
257
258
  display: block;
258
259
  font-size: 14px;
259
260
  font-weight: 600;
260
261
  padding: 8px 16px;
261
- transition:
262
- background var(--hf-motion-duration),
263
- color var(--hf-motion-duration),
264
- box-shadow var(--hf-motion-duration);
262
+ transition: background var(--hf-motion-duration), color var(--hf-motion-duration);
265
263
  }
266
264
  .hf-segmented input:checked + span {
267
265
  background: #fff;
268
- box-shadow: 0 4px 12px rgba(65, 114, 158, .12);
269
266
  color: var(--hf-color-primary);
270
267
  }
271
268
  .hf-card {
272
- background: color-mix(in srgb, var(--hf-color-surface) 92%, transparent);
273
- border: 1px solid color-mix(in srgb, var(--hf-color-border) 86%, transparent);
274
- border-radius: var(--hf-radius-lg);
269
+ background: var(--hf-color-surface);
270
+ border: 1px solid var(--hf-color-border);
271
+ border-radius: var(--hf-radius-panel);
275
272
  padding: 22px;
276
273
  }
277
274
  .hf-card--interactive {
278
- transition:
279
- border var(--hf-motion-duration),
280
- box-shadow var(--hf-motion-duration),
281
- transform var(--hf-motion-duration);
275
+ transition: background var(--hf-motion-duration), border-color var(--hf-motion-duration);
282
276
  }
283
277
  .hf-card--interactive:hover {
284
- border-color: color-mix(in srgb, var(--hf-color-primary) 30%, var(--hf-color-border));
285
- box-shadow: var(--hf-shadow-elevated);
286
- transform: translateY(-3px);
278
+ background: color-mix(in srgb, var(--hf-color-primary) 2%, var(--hf-color-surface));
279
+ border-color: color-mix(in srgb, var(--hf-color-primary) 34%, var(--hf-color-border));
287
280
  }
288
281
  .hf-card__header {
289
282
  align-items: flex-start;
@@ -319,14 +312,13 @@
319
312
  padding: 20px;
320
313
  position: fixed;
321
314
  z-index: 1000;
322
- backdrop-filter: blur(10px);
323
315
  }
324
316
  .hf-modal {
325
317
  animation: hf-enter 260ms cubic-bezier(.2, .9, .2, 1);
326
318
  background: var(--hf-color-surface);
327
- border: 1px solid rgba(255, 255, 255, .7);
328
- border-radius: 28px;
329
- box-shadow: var(--hf-shadow-elevated);
319
+ border: 1px solid var(--hf-color-border);
320
+ border-radius: var(--hf-radius-overlay);
321
+ box-shadow: var(--hf-shadow-modal);
330
322
  max-width: 480px;
331
323
  outline: 0;
332
324
  overflow: hidden;
@@ -358,11 +350,11 @@
358
350
  .hf-toast {
359
351
  align-items: center;
360
352
  animation: hf-toast-in 260ms cubic-bezier(.2, .9, .2, 1);
361
- background: rgba(24, 39, 58, .92);
362
- border: 1px solid rgba(255, 255, 255, .18);
363
- border-radius: 999px;
353
+ background: #18273a;
354
+ border: 1px solid #2b3c50;
355
+ border-radius: var(--hf-radius-overlay);
364
356
  bottom: 28px;
365
- box-shadow: 0 14px 38px rgba(12, 31, 51, .24);
357
+ box-shadow: var(--hf-shadow-popover);
366
358
  color: #fff;
367
359
  display: flex;
368
360
  gap: 10px;
@@ -371,7 +363,6 @@
371
363
  position: fixed;
372
364
  transform: translateX(-50%);
373
365
  z-index: 1100;
374
- backdrop-filter: blur(16px);
375
366
  }
376
367
  .hf-toast__mark {
377
368
  background: #72d69a;
@@ -531,7 +522,7 @@
531
522
  .hf-badge,
532
523
  .hf-tag {
533
524
  align-items: center;
534
- border-radius: 999px;
525
+ border-radius: var(--hf-radius-control);
535
526
  display: inline-flex;
536
527
  font-size: 12px;
537
528
  font-weight: 680;
@@ -634,7 +625,7 @@
634
625
  .hf-textarea {
635
626
  background: var(--hf-color-surface);
636
627
  border: 1px solid var(--hf-color-border);
637
- border-radius: var(--hf-radius-md);
628
+ border-radius: var(--hf-radius-control);
638
629
  color: var(--hf-color-text);
639
630
  font: inherit;
640
631
  line-height: 1.55;
@@ -768,7 +759,7 @@
768
759
  .hf-alert {
769
760
  align-items: flex-start;
770
761
  border: 1px solid;
771
- border-radius: 14px;
762
+ border-radius: var(--hf-radius-panel);
772
763
  display: flex;
773
764
  gap: 12px;
774
765
  padding: 14px 16px;
@@ -827,7 +818,7 @@
827
818
  }
828
819
  .hf-empty__icon {
829
820
  background: #edf5fd;
830
- border-radius: 16px;
821
+ border-radius: var(--hf-radius-panel);
831
822
  color: var(--hf-color-primary);
832
823
  display: grid;
833
824
  margin-bottom: 14px;
@@ -1085,6 +1076,15 @@
1085
1076
  .hf-picker-trigger.is-error {
1086
1077
  border-color: #e5484d;
1087
1078
  }
1079
+ .hf-picker-trigger__chevron {
1080
+ color: var(--hf-color-primary);
1081
+ flex: 0 0 auto;
1082
+ transition: transform var(--hf-motion-duration);
1083
+ }
1084
+ .hf-picker-trigger[aria-expanded=true] .hf-picker-trigger__chevron,
1085
+ .hf-color-picker__trigger[aria-expanded=true] .hf-picker-trigger__chevron {
1086
+ transform: rotate(180deg);
1087
+ }
1088
1088
  .hf-date-picker,
1089
1089
  .hf-time-picker {
1090
1090
  position: relative;
@@ -1308,16 +1308,14 @@
1308
1308
  .hf-floating-nav,
1309
1309
  .hf-shrink-nav {
1310
1310
  align-items: center;
1311
- background: color-mix(in srgb, var(--hf-color-surface) 78%, transparent);
1312
- border: 1px solid rgba(255, 255, 255, .84);
1313
- border-radius: 22px;
1314
- box-shadow: 0 12px 36px rgba(41, 106, 168, .1);
1311
+ background: var(--hf-color-surface);
1312
+ border: 1px solid var(--hf-color-border);
1313
+ border-radius: var(--hf-radius-panel);
1315
1314
  display: grid;
1316
1315
  gap: 18px;
1317
1316
  grid-template-columns: 1fr auto 1fr;
1318
1317
  min-height: 58px;
1319
1318
  padding: 8px 12px 8px 18px;
1320
- backdrop-filter: blur(18px);
1321
1319
  }
1322
1320
  .hf-floating-nav__brand,
1323
1321
  .hf-shrink-nav__brand {
@@ -1377,19 +1375,37 @@
1377
1375
  overflow: hidden;
1378
1376
  white-space: nowrap;
1379
1377
  }
1380
- .hf-sidebar__top button {
1381
- background: var(--hf-color-background);
1382
- border: 0;
1383
- border-radius: 10px;
1384
- color: var(--hf-color-text-muted);
1378
+ .hf-sidebar__collapse {
1379
+ align-items: center;
1380
+ background: color-mix(in srgb, var(--hf-color-primary) 7%, var(--hf-color-surface));
1381
+ border: 1px solid color-mix(in srgb, var(--hf-color-primary) 16%, var(--hf-color-border));
1382
+ border-radius: var(--hf-radius-control);
1383
+ color: var(--hf-color-primary);
1385
1384
  cursor: pointer;
1386
- flex: 0 0 30px;
1387
- font-size: 22px;
1388
- height: 30px;
1389
- transition: transform var(--hf-motion-duration);
1385
+ display: inline-flex;
1386
+ flex: 0 0 34px;
1387
+ height: 34px;
1388
+ justify-content: center;
1389
+ padding: 0;
1390
+ transition:
1391
+ background var(--hf-motion-duration),
1392
+ border-color var(--hf-motion-duration),
1393
+ color var(--hf-motion-duration);
1390
1394
  }
1391
- .hf-sidebar--collapsed .hf-sidebar__top button {
1395
+ .hf-sidebar__collapse .hf-icon {
1392
1396
  transform: rotate(180deg);
1397
+ transition: transform var(--hf-motion-duration) cubic-bezier(.2, .8, .2, 1);
1398
+ }
1399
+ .hf-sidebar--collapsed .hf-sidebar__collapse .hf-icon {
1400
+ transform: rotate(0deg);
1401
+ }
1402
+ .hf-sidebar__collapse:hover {
1403
+ background: color-mix(in srgb, var(--hf-color-primary) 13%, var(--hf-color-surface));
1404
+ border-color: color-mix(in srgb, var(--hf-color-primary) 28%, var(--hf-color-border));
1405
+ }
1406
+ .hf-sidebar__collapse:focus-visible {
1407
+ outline: 2px solid color-mix(in srgb, var(--hf-color-primary) 42%, transparent);
1408
+ outline-offset: 2px;
1393
1409
  }
1394
1410
  .hf-sidebar--collapsed .hf-sidebar__brand {
1395
1411
  display: none;
@@ -1473,41 +1489,51 @@
1473
1489
  }
1474
1490
  .hf-menu > button {
1475
1491
  align-items: center;
1476
- background: transparent;
1477
- border: 0;
1478
- border-radius: 12px;
1492
+ background: var(--hf-color-surface);
1493
+ border: 1px solid var(--hf-color-border);
1494
+ border-radius: var(--hf-radius-control);
1479
1495
  color: var(--hf-color-text);
1480
1496
  cursor: pointer;
1481
- display: flex;
1497
+ display: inline-flex;
1482
1498
  font: inherit;
1483
1499
  font-weight: 650;
1484
- gap: 7px;
1485
- padding: 9px 12px;
1500
+ gap: 9px;
1501
+ min-height: 40px;
1502
+ padding: 7px 9px 7px 13px;
1486
1503
  }
1487
1504
  .hf-menu > button:hover,
1488
1505
  .hf-menu > button[aria-expanded=true] {
1489
1506
  background: color-mix(in srgb, var(--hf-color-primary) 9%, transparent);
1490
1507
  color: var(--hf-color-primary);
1491
1508
  }
1492
- .hf-menu > button span {
1493
- transition: transform var(--hf-motion-duration);
1509
+ .hf-menu__chevron {
1510
+ background: color-mix(in srgb, var(--hf-color-primary) 8%, transparent);
1511
+ border-radius: 7px;
1512
+ box-sizing: content-box;
1513
+ color: var(--hf-color-primary);
1514
+ padding: 3px;
1515
+ transition: background var(--hf-motion-duration), transform var(--hf-motion-duration);
1494
1516
  }
1495
- .hf-menu > button[aria-expanded=true] span {
1517
+ .hf-menu > button[aria-expanded=true] .hf-menu__chevron {
1518
+ background: color-mix(in srgb, var(--hf-color-primary) 15%, transparent);
1496
1519
  transform: rotate(180deg);
1497
1520
  }
1521
+ .hf-menu > button:focus-visible {
1522
+ outline: 2px solid color-mix(in srgb, var(--hf-color-primary) 42%, transparent);
1523
+ outline-offset: 2px;
1524
+ }
1498
1525
  .hf-menu__panel,
1499
1526
  .hf-mega-menu__panel {
1500
1527
  animation: hf-nav-panel-in var(--hf-motion-duration) cubic-bezier(.2, .9, .2, 1);
1501
- background: color-mix(in srgb, var(--hf-color-surface) 94%, transparent);
1502
- border: 1px solid rgba(255, 255, 255, .9);
1503
- border-radius: 18px;
1504
- box-shadow: var(--hf-shadow-elevated);
1528
+ background: var(--hf-color-surface);
1529
+ border: 1px solid var(--hf-color-border);
1530
+ border-radius: var(--hf-radius-overlay);
1531
+ box-shadow: var(--hf-shadow-popover);
1505
1532
  left: 0;
1506
1533
  padding: 8px;
1507
1534
  position: absolute;
1508
1535
  top: calc(100% + 8px);
1509
1536
  z-index: 100;
1510
- backdrop-filter: blur(20px);
1511
1537
  }
1512
1538
  .hf-menu__panel {
1513
1539
  display: grid;
@@ -1572,7 +1598,7 @@
1572
1598
  align-items: center;
1573
1599
  background: var(--hf-color-surface);
1574
1600
  border: 1px solid var(--hf-color-border);
1575
- border-radius: 18px;
1601
+ border-radius: var(--hf-radius-panel);
1576
1602
  display: flex;
1577
1603
  font-weight: 750;
1578
1604
  justify-content: space-between;
@@ -1601,11 +1627,10 @@
1601
1627
  inset: 0;
1602
1628
  position: fixed;
1603
1629
  z-index: 1000;
1604
- backdrop-filter: blur(8px);
1605
1630
  }
1606
1631
  .hf-mobile-nav__panel {
1607
1632
  background: var(--hf-color-surface);
1608
- box-shadow: var(--hf-shadow-elevated);
1633
+ box-shadow: var(--hf-shadow-modal);
1609
1634
  display: grid;
1610
1635
  grid-template-rows: auto 1fr;
1611
1636
  height: 100%;
@@ -1711,8 +1736,8 @@
1711
1736
  justify-self: end;
1712
1737
  }
1713
1738
  .hf-shrink-nav--compact {
1714
- background: color-mix(in srgb, var(--hf-color-surface) 92%, transparent);
1715
- box-shadow: 0 8px 28px rgba(41, 106, 168, .1);
1739
+ background: var(--hf-color-surface);
1740
+ box-shadow: var(--hf-shadow-popover);
1716
1741
  min-height: 48px;
1717
1742
  }
1718
1743
  .hf-shrink-nav:not(.hf-shrink-nav--compact) {
@@ -1758,6 +1783,10 @@
1758
1783
  .hf-mega-menu__panel {
1759
1784
  animation: none;
1760
1785
  }
1786
+ .hf-sidebar__collapse .hf-icon,
1787
+ .hf-menu__chevron {
1788
+ transition: none;
1789
+ }
1761
1790
  }
1762
1791
 
1763
1792
  /* src/batch-two.parts/part-01.css */
@@ -1869,8 +1898,8 @@
1869
1898
  .hf-select-menu {
1870
1899
  background: var(--hf-color-surface);
1871
1900
  border: 1px solid var(--hf-color-border);
1872
- border-radius: 12px;
1873
- box-shadow: var(--hf-shadow-elevated);
1901
+ border-radius: var(--hf-radius-overlay);
1902
+ box-shadow: var(--hf-shadow-popover);
1874
1903
  display: grid;
1875
1904
  gap: 2px;
1876
1905
  left: -1px;
@@ -1998,13 +2027,12 @@
1998
2027
  inset: 0;
1999
2028
  z-index: 1000;
2000
2029
  background: #0c1c3052;
2001
- backdrop-filter: blur(5px);
2002
2030
  animation: hf-fade var(--hf-motion-duration);
2003
2031
  }
2004
2032
  .hf-drawer {
2005
2033
  position: absolute;
2006
2034
  background: var(--hf-color-surface);
2007
- box-shadow: var(--hf-shadow-elevated);
2035
+ box-shadow: var(--hf-shadow-modal);
2008
2036
  display: flex;
2009
2037
  flex-direction: column;
2010
2038
  outline: 0;
@@ -2028,7 +2056,7 @@
2028
2056
  right: 0;
2029
2057
  bottom: 0;
2030
2058
  max-height: 88vh;
2031
- border-radius: 24px 24px 0 0;
2059
+ border-radius: var(--hf-radius-overlay) var(--hf-radius-overlay) 0 0;
2032
2060
  animation: hf-slide-up .26s cubic-bezier(.2, .8, .2, 1);
2033
2061
  }
2034
2062
  .hf-drawer--sm {
@@ -2072,11 +2100,10 @@
2072
2100
  width: max-content;
2073
2101
  max-width: min(320px, 85vw);
2074
2102
  padding: 14px;
2075
- border: 1px solid color-mix(in srgb, var(--hf-color-border) 78%, white);
2076
- border-radius: 16px;
2077
- background: color-mix(in srgb, var(--hf-color-surface) 94%, transparent);
2078
- box-shadow: 0 16px 42px #1c4b7429;
2079
- backdrop-filter: blur(18px);
2103
+ border: 1px solid var(--hf-color-border);
2104
+ border-radius: var(--hf-radius-overlay);
2105
+ background: var(--hf-color-surface);
2106
+ box-shadow: var(--hf-shadow-popover);
2080
2107
  animation: hf-pop .16s ease-out;
2081
2108
  }
2082
2109
  .hf-popover__content--bottom {
@@ -2438,13 +2465,9 @@
2438
2465
 
2439
2466
  /* src/experience.css */
2440
2467
  .hf-auth {
2441
- background:
2442
- linear-gradient(
2443
- 145deg,
2444
- #eff7ff,
2445
- #fff);
2468
+ background: var(--hf-color-surface);
2446
2469
  border: 1px solid var(--hf-color-border);
2447
- border-radius: 28px;
2470
+ border-radius: var(--hf-radius-panel);
2448
2471
  display: grid;
2449
2472
  min-height: 520px;
2450
2473
  overflow: hidden;
@@ -2464,10 +2487,9 @@
2464
2487
  padding: 64px 7% 34px;
2465
2488
  }
2466
2489
  .hf-auth__card {
2467
- background: rgba(255, 255, 255, .94);
2468
- border: 1px solid rgba(255, 255, 255, .8);
2469
- border-radius: 22px;
2470
- box-shadow: var(--hf-shadow-elevated);
2490
+ background: var(--hf-color-surface);
2491
+ border: 1px solid var(--hf-color-border);
2492
+ border-radius: var(--hf-radius-panel);
2471
2493
  max-width: 390px;
2472
2494
  padding: 28px;
2473
2495
  width: 100%;
@@ -2485,22 +2507,22 @@
2485
2507
  }
2486
2508
  .hf-auth--split .hf-auth__aside {
2487
2509
  align-items: flex-end;
2488
- background:
2489
- linear-gradient(
2490
- 145deg,
2491
- color-mix(in srgb, var(--hf-color-primary) 82%, #6cc8ff),
2492
- #d8efff);
2493
- color: white;
2510
+ background: #e8f3ff;
2511
+ border-right: 1px solid var(--hf-color-border);
2512
+ color: var(--hf-color-text);
2494
2513
  display: flex;
2495
2514
  padding: 56px;
2496
2515
  }
2497
2516
  .hf-auth--immersive {
2517
+ background-color: #e8f3ff;
2518
+ }
2519
+ .hf-auth--immersive[style] {
2498
2520
  background-image:
2499
2521
  linear-gradient(
2500
2522
  90deg,
2501
2523
  rgba(13, 41, 72, .48),
2502
2524
  rgba(10, 124, 255, .18)),
2503
- var(--hf-auth-image,linear-gradient(145deg,#0a7cff,#84c8ff));
2525
+ var(--hf-auth-image);
2504
2526
  background-position: center;
2505
2527
  background-size: cover;
2506
2528
  }
@@ -2508,8 +2530,7 @@
2508
2530
  align-items: flex-end;
2509
2531
  }
2510
2532
  .hf-auth--immersive .hf-auth__card {
2511
- backdrop-filter: blur(20px);
2512
- background: rgba(255, 255, 255, .86);
2533
+ background: var(--hf-color-surface);
2513
2534
  }
2514
2535
  .hf-auth--step .hf-auth__steps {
2515
2536
  display: flex;
@@ -2529,19 +2550,15 @@
2529
2550
  }
2530
2551
  .hf-hero {
2531
2552
  align-items: center;
2532
- background:
2533
- linear-gradient(
2534
- 145deg,
2535
- #fff,
2536
- #f1f8ff);
2553
+ background: var(--hf-color-surface);
2537
2554
  border: 1px solid var(--hf-color-border);
2538
- border-radius: 32px;
2555
+ border-radius: var(--hf-radius-panel);
2539
2556
  display: grid;
2540
2557
  gap: 40px;
2541
2558
  grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr);
2542
- min-height: 430px;
2559
+ min-height: 360px;
2543
2560
  overflow: hidden;
2544
- padding: clamp(34px, 6vw, 72px);
2561
+ padding: clamp(28px, 4vw, 48px);
2545
2562
  position: relative;
2546
2563
  }
2547
2564
  .hf-hero__content {
@@ -2557,9 +2574,9 @@
2557
2574
  text-transform: uppercase;
2558
2575
  }
2559
2576
  .hf-hero h1 {
2560
- font-size: clamp(38px, 5vw, 66px);
2561
- letter-spacing: -.055em;
2562
- line-height: 1.02;
2577
+ font-size: clamp(34px, 4vw, 52px);
2578
+ letter-spacing: -.045em;
2579
+ line-height: 1.08;
2563
2580
  margin: 0;
2564
2581
  max-width: 780px;
2565
2582
  }
@@ -2597,37 +2614,6 @@
2597
2614
  margin-left: auto;
2598
2615
  margin-right: auto;
2599
2616
  }
2600
- .hf-hero--personal {
2601
- background:
2602
- linear-gradient(
2603
- 145deg,
2604
- #fff 40%,
2605
- #eef5ff);
2606
- }
2607
- .hf-hero--event:after {
2608
- background:
2609
- radial-gradient(
2610
- circle,
2611
- var(--hf-color-primary) 0 2px,
2612
- transparent 3px);
2613
- background-size: 22px 22px;
2614
- content: "";
2615
- inset: 0;
2616
- mask-image:
2617
- linear-gradient(
2618
- 90deg,
2619
- transparent 30%,
2620
- #000);
2621
- opacity: .12;
2622
- position: absolute;
2623
- }
2624
- .hf-hero--commerce {
2625
- background:
2626
- linear-gradient(
2627
- 145deg,
2628
- #fff,
2629
- #edf7ff);
2630
- }
2631
2617
  @media (max-width: 760px) {
2632
2618
  .hf-auth--split {
2633
2619
  grid-template-columns: 1fr;
@@ -2769,10 +2755,16 @@
2769
2755
  min-width: 160px;
2770
2756
  padding: 6px;
2771
2757
  position: absolute;
2772
- right: 0;
2758
+ left: 0;
2773
2759
  top: calc(100% + 6px);
2774
2760
  z-index: 80;
2775
2761
  }
2762
+ .hf-split-button > .hf-button:nth-child(2) .hf-icon {
2763
+ transition: transform var(--hf-motion-duration);
2764
+ }
2765
+ .hf-split-button > .hf-button:nth-child(2)[aria-expanded=true] .hf-icon {
2766
+ transform: rotate(180deg);
2767
+ }
2776
2768
  .hf-split-button__menu button {
2777
2769
  background: transparent;
2778
2770
  border: 0;
@@ -3107,8 +3099,7 @@
3107
3099
  }
3108
3100
  .hf-loading-overlay__veil {
3109
3101
  align-items: center;
3110
- backdrop-filter: blur(5px);
3111
- background: color-mix(in srgb, var(--hf-color-surface) 78%, transparent);
3102
+ background: color-mix(in srgb, var(--hf-color-surface) 94%, var(--hf-color-primary));
3112
3103
  border-radius: inherit;
3113
3104
  display: flex;
3114
3105
  flex-direction: column;
@@ -3188,11 +3179,19 @@
3188
3179
  min-height: 32px;
3189
3180
  width: 40px;
3190
3181
  }
3182
+ .hf-combobox__control > button .hf-icon {
3183
+ display: block;
3184
+ margin: auto;
3185
+ transition: transform var(--hf-motion-duration);
3186
+ }
3187
+ .hf-combobox__control.is-open > button .hf-icon {
3188
+ transform: rotate(180deg);
3189
+ }
3191
3190
  .hf-combobox__menu {
3192
3191
  background: var(--hf-color-surface);
3193
3192
  border: 1px solid var(--hf-color-border);
3194
- border-radius: 12px;
3195
- box-shadow: var(--hf-shadow-elevated);
3193
+ border-radius: var(--hf-radius-overlay);
3194
+ box-shadow: var(--hf-shadow-popover);
3196
3195
  display: grid;
3197
3196
  gap: 2px;
3198
3197
  left: 0;
@@ -3301,12 +3300,53 @@
3301
3300
  text-align: left;
3302
3301
  width: 100%;
3303
3302
  }
3304
- .hf-accordion h3 button span:last-child {
3305
- transition: transform var(--hf-motion-duration);
3303
+ .hf-accordion__toggle {
3304
+ align-items: center;
3305
+ background: color-mix(in srgb, var(--hf-color-primary) 8%, var(--hf-color-surface));
3306
+ border: 1px solid color-mix(in srgb, var(--hf-color-primary) 14%, var(--hf-color-border));
3307
+ border-radius: var(--hf-radius-control);
3308
+ color: var(--hf-color-primary);
3309
+ display: inline-flex;
3310
+ flex: 0 0 30px;
3311
+ height: 30px;
3312
+ justify-content: center;
3313
+ margin-left: 12px;
3314
+ position: relative;
3315
+ transition: background var(--hf-motion-duration), border-color var(--hf-motion-duration);
3316
+ }
3317
+ .hf-accordion__toggle i {
3318
+ background: currentColor;
3319
+ border-radius: 1px;
3320
+ height: 1.5px;
3321
+ position: absolute;
3322
+ transition: opacity var(--hf-motion-duration), transform var(--hf-motion-duration) cubic-bezier(.2, .8, .2, 1);
3323
+ width: 12px;
3324
+ }
3325
+ .hf-accordion__toggle i:last-child {
3326
+ transform: rotate(90deg);
3306
3327
  }
3307
- .hf-accordion section.is-open h3 button span:last-child {
3328
+ .hf-accordion section.is-open .hf-accordion__toggle {
3329
+ background: color-mix(in srgb, var(--hf-color-primary) 14%, var(--hf-color-surface));
3330
+ }
3331
+ .hf-accordion section.is-open .hf-accordion__toggle i:first-child {
3308
3332
  transform: rotate(180deg);
3309
3333
  }
3334
+ .hf-accordion section.is-open .hf-accordion__toggle i:last-child {
3335
+ opacity: 0;
3336
+ transform: rotate(180deg) scaleX(.45);
3337
+ }
3338
+ .hf-accordion h3 button:hover .hf-accordion__toggle {
3339
+ background: color-mix(in srgb, var(--hf-color-primary) 14%, var(--hf-color-surface));
3340
+ }
3341
+ .hf-accordion h3 button:focus-visible {
3342
+ outline: 2px solid color-mix(in srgb, var(--hf-color-primary) 42%, transparent);
3343
+ outline-offset: -3px;
3344
+ }
3345
+ @media (prefers-reduced-motion: reduce) {
3346
+ .hf-accordion__toggle i {
3347
+ transition: none;
3348
+ }
3349
+ }
3310
3350
  .hf-accordion__panel {
3311
3351
  background: #f8fbfe;
3312
3352
  color: var(--hf-color-text-muted);
@@ -3321,8 +3361,8 @@
3321
3361
  .hf-popconfirm__panel {
3322
3362
  background: var(--hf-color-surface);
3323
3363
  border: 1px solid var(--hf-color-border);
3324
- border-radius: 16px;
3325
- box-shadow: var(--hf-shadow-elevated);
3364
+ border-radius: var(--hf-radius-overlay);
3365
+ box-shadow: var(--hf-shadow-popover);
3326
3366
  display: grid;
3327
3367
  gap: 8px;
3328
3368
  padding: 16px;
@@ -3567,6 +3607,7 @@
3567
3607
  }
3568
3608
  .hf-steps li {
3569
3609
  flex: 1;
3610
+ min-width: 0;
3570
3611
  position: relative;
3571
3612
  }
3572
3613
  .hf-steps li:not(:last-child):after {
@@ -3589,7 +3630,10 @@
3589
3630
  display: flex;
3590
3631
  gap: 10px;
3591
3632
  padding: 0 14px 0 0;
3633
+ position: relative;
3592
3634
  text-align: left;
3635
+ width: 100%;
3636
+ z-index: 1;
3593
3637
  }
3594
3638
  .hf-steps button > span:first-child {
3595
3639
  background: #edf3f8;
@@ -3609,12 +3653,20 @@
3609
3653
  color: #fff;
3610
3654
  }
3611
3655
  .hf-steps button > span:last-child {
3656
+ background: var(--hf-color-surface);
3612
3657
  display: grid;
3613
3658
  gap: 3px;
3659
+ min-width: 0;
3660
+ padding-right: 8px;
3614
3661
  padding-top: 7px;
3662
+ position: relative;
3663
+ z-index: 2;
3615
3664
  }
3616
3665
  .hf-steps strong {
3666
+ display: block;
3617
3667
  font-size: 13px;
3668
+ line-height: 20px;
3669
+ overflow-wrap: anywhere;
3618
3670
  }
3619
3671
  .hf-steps small {
3620
3672
  color: var(--hf-color-text-muted);
@@ -3636,8 +3688,8 @@
3636
3688
  .hf-dropdown__menu {
3637
3689
  background: var(--hf-color-surface);
3638
3690
  border: 1px solid var(--hf-color-border);
3639
- border-radius: 14px;
3640
- box-shadow: var(--hf-shadow-elevated);
3691
+ border-radius: var(--hf-radius-overlay);
3692
+ box-shadow: var(--hf-shadow-popover);
3641
3693
  display: grid;
3642
3694
  min-width: 220px;
3643
3695
  padding: 6px;
@@ -3695,9 +3747,9 @@
3695
3747
  }
3696
3748
  .hf-command {
3697
3749
  background: var(--hf-color-surface);
3698
- border: 1px solid rgba(255, 255, 255, .8);
3699
- border-radius: 20px;
3700
- box-shadow: 0 30px 90px #0f2f4c47;
3750
+ border: 1px solid var(--hf-color-border);
3751
+ border-radius: var(--hf-radius-overlay);
3752
+ box-shadow: var(--hf-shadow-modal);
3701
3753
  max-width: 620px;
3702
3754
  overflow: hidden;
3703
3755
  width: 100%;
@@ -3793,7 +3845,7 @@
3793
3845
  display: flex;
3794
3846
  gap: 8px;
3795
3847
  }
3796
- .hf-cascader select,
3848
+ .hf-cascader__level,
3797
3849
  .hf-date-range input {
3798
3850
  background: var(--hf-color-surface);
3799
3851
  border: 1px solid var(--hf-color-border);
@@ -3802,6 +3854,12 @@
3802
3854
  min-height: 42px;
3803
3855
  padding: 8px 10px;
3804
3856
  }
3857
+ .hf-cascader__level {
3858
+ min-width: 110px;
3859
+ }
3860
+ .hf-cascader__level .hf-select {
3861
+ min-height: 42px;
3862
+ }
3805
3863
  .hf-date-range > div {
3806
3864
  align-items: center;
3807
3865
  }
@@ -3811,8 +3869,8 @@
3811
3869
  .hf-tree-select > div {
3812
3870
  background: var(--hf-color-surface);
3813
3871
  border: 1px solid var(--hf-color-border);
3814
- border-radius: 12px;
3815
- box-shadow: var(--hf-shadow-elevated);
3872
+ border-radius: var(--hf-radius-overlay);
3873
+ box-shadow: var(--hf-shadow-popover);
3816
3874
  display: grid;
3817
3875
  left: 0;
3818
3876
  max-height: 260px;
@@ -3972,8 +4030,8 @@
3972
4030
  .hf-color-picker__panel {
3973
4031
  background: var(--hf-color-surface);
3974
4032
  border: 1px solid var(--hf-color-border);
3975
- border-radius: 14px;
3976
- box-shadow: var(--hf-shadow-elevated);
4033
+ border-radius: var(--hf-radius-overlay);
4034
+ box-shadow: var(--hf-shadow-popover);
3977
4035
  display: grid;
3978
4036
  gap: 12px;
3979
4037
  left: 0;
@@ -4016,8 +4074,8 @@
4016
4074
  .hf-context-menu {
4017
4075
  background: var(--hf-color-surface);
4018
4076
  border: 1px solid var(--hf-color-border);
4019
- border-radius: 12px;
4020
- box-shadow: var(--hf-shadow-elevated);
4077
+ border-radius: var(--hf-radius-overlay);
4078
+ box-shadow: var(--hf-shadow-popover);
4021
4079
  display: grid;
4022
4080
  min-width: 190px;
4023
4081
  padding: 6px;
@@ -4143,7 +4201,7 @@
4143
4201
  border: 1px solid var(--hf-color-border);
4144
4202
  border-radius: 14px;
4145
4203
  color: var(--hf-color-text);
4146
- overflow: hidden;
4204
+ overflow: visible;
4147
4205
  }
4148
4206
  .hf-rich-editor__header,
4149
4207
  .hf-code-editor > header,
@@ -4202,8 +4260,8 @@
4202
4260
  .hf-mention-input__menu {
4203
4261
  background: var(--hf-color-surface);
4204
4262
  border: 1px solid var(--hf-color-border);
4205
- border-radius: 12px;
4206
- box-shadow: var(--hf-shadow-elevated);
4263
+ border-radius: var(--hf-radius-overlay);
4264
+ box-shadow: var(--hf-shadow-popover);
4207
4265
  display: grid;
4208
4266
  left: 0;
4209
4267
  padding: 5px;
@@ -4359,7 +4417,6 @@
4359
4417
  justify-content: flex-start;
4360
4418
  gap: 8px;
4361
4419
  }
4362
- .hf-query-builder select,
4363
4420
  .hf-query-builder input {
4364
4421
  background: var(--hf-color-surface);
4365
4422
  border: 1px solid var(--hf-color-border);
@@ -4368,6 +4425,16 @@
4368
4425
  min-height: 35px;
4369
4426
  padding: 6px 8px;
4370
4427
  }
4428
+ .hf-query-builder__select {
4429
+ min-width: 0;
4430
+ }
4431
+ .hf-query-builder__select .hf-select {
4432
+ padding-block: 6px;
4433
+ }
4434
+ .hf-query-builder__select .hf-select-shell {
4435
+ border-radius: 8px;
4436
+ min-height: 35px;
4437
+ }
4371
4438
  .hf-query-builder > div {
4372
4439
  display: grid;
4373
4440
  gap: 7px;
@@ -4746,9 +4813,9 @@
4746
4813
  border: 1px solid var(--hf-color-border);
4747
4814
  border-radius: 10px;
4748
4815
  display: flex;
4749
- overflow: hidden;
4816
+ overflow: visible;
4750
4817
  }
4751
- .hf-filter-builder__item select,
4818
+ .hf-filter-builder__select .hf-select,
4752
4819
  .hf-filter-builder__item input {
4753
4820
  background: transparent;
4754
4821
  border: 0;
@@ -4757,6 +4824,16 @@
4757
4824
  min-height: 37px;
4758
4825
  padding: 7px 9px;
4759
4826
  }
4827
+ .hf-filter-builder__select {
4828
+ min-width: 110px;
4829
+ }
4830
+ .hf-filter-builder__select .hf-select-shell {
4831
+ min-width: 110px;
4832
+ }
4833
+ .hf-filter-builder__select .hf-select {
4834
+ border-radius: 0;
4835
+ min-height: 37px;
4836
+ }
4760
4837
  .hf-filter-builder__item input {
4761
4838
  max-width: 150px;
4762
4839
  }
@@ -5393,8 +5470,25 @@
5393
5470
  display: grid;
5394
5471
  flex: 0 0 42px;
5395
5472
  height: 42px;
5473
+ line-height: 0;
5474
+ padding: 0;
5396
5475
  place-items: center;
5397
5476
  }
5477
+ .hf-voice-input__record-icon,
5478
+ .hf-voice-input__stop-icon {
5479
+ background: currentColor;
5480
+ display: block;
5481
+ }
5482
+ .hf-voice-input__record-icon {
5483
+ clip-path: circle(50%);
5484
+ height: 10px;
5485
+ width: 10px;
5486
+ }
5487
+ .hf-voice-input__stop-icon {
5488
+ border-radius: 2px;
5489
+ height: 9px;
5490
+ width: 9px;
5491
+ }
5398
5492
  .hf-voice-input.is-listening .hf-voice-input__main {
5399
5493
  animation: hf-voice-pulse 1.5s infinite;
5400
5494
  background: #e5484d;
@@ -5470,11 +5564,18 @@
5470
5564
  color: var(--hf-color-text-muted);
5471
5565
  font-style: normal;
5472
5566
  }
5567
+ .hf-model-selector__chevron {
5568
+ color: var(--hf-color-primary);
5569
+ transition: transform var(--hf-motion-duration);
5570
+ }
5571
+ .hf-model-selector__trigger[aria-expanded=true] .hf-model-selector__chevron {
5572
+ transform: rotate(180deg);
5573
+ }
5473
5574
  .hf-model-selector__menu {
5474
5575
  background: var(--hf-color-surface);
5475
5576
  border: 1px solid var(--hf-color-border);
5476
- border-radius: 14px;
5477
- box-shadow: var(--hf-shadow-elevated);
5577
+ border-radius: var(--hf-radius-overlay);
5578
+ box-shadow: var(--hf-shadow-popover);
5478
5579
  display: grid;
5479
5580
  left: 0;
5480
5581
  min-width: 300px;
@@ -6193,14 +6294,64 @@
6193
6294
  .hf-member-picker__menu {
6194
6295
  background: var(--hf-color-surface);
6195
6296
  border: 1px solid var(--hf-color-border);
6196
- border-radius: 11px;
6197
- box-shadow: var(--hf-shadow-elevated);
6297
+ border-radius: var(--hf-radius-overlay);
6298
+ box-shadow: var(--hf-shadow-popover);
6198
6299
  display: grid;
6199
6300
  padding: 5px;
6200
6301
  position: absolute;
6302
+ left: 0;
6303
+ top: calc(100% + 6px);
6201
6304
  width: 100%;
6202
6305
  z-index: 170;
6203
6306
  }
6307
+ .hf-member-picker__menu > button {
6308
+ align-items: center;
6309
+ background: transparent;
6310
+ border: 0;
6311
+ border-radius: 8px;
6312
+ color: var(--hf-color-text);
6313
+ cursor: pointer;
6314
+ display: flex;
6315
+ gap: 8px;
6316
+ min-height: 40px;
6317
+ padding: 7px 10px;
6318
+ text-align: left;
6319
+ width: 100%;
6320
+ }
6321
+ .hf-member-picker__menu > button:hover,
6322
+ .hf-member-picker__menu > button:focus-visible {
6323
+ background: color-mix(in srgb, var(--hf-color-primary) 8%, var(--hf-color-surface));
6324
+ outline: 0;
6325
+ }
6326
+ .hf-member-picker__menu > button > span {
6327
+ display: grid;
6328
+ gap: 2px;
6329
+ }
6330
+ .hf-member-picker__menu small {
6331
+ color: var(--hf-color-text-muted);
6332
+ }
6333
+ .hf-member-picker > div:first-child > span {
6334
+ align-items: center;
6335
+ display: inline-flex;
6336
+ gap: 5px;
6337
+ }
6338
+ .hf-member-picker > div:first-child > span > button {
6339
+ align-items: center;
6340
+ background: color-mix(in srgb, var(--hf-color-primary) 7%, var(--hf-color-surface));
6341
+ border: 0;
6342
+ border-radius: var(--hf-radius-control);
6343
+ color: var(--hf-color-text-muted);
6344
+ cursor: pointer;
6345
+ display: inline-flex;
6346
+ height: 26px;
6347
+ justify-content: center;
6348
+ padding: 0;
6349
+ width: 26px;
6350
+ }
6351
+ .hf-member-picker > div:first-child > span > button:hover {
6352
+ background: color-mix(in srgb, var(--hf-color-primary) 12%, var(--hf-color-surface));
6353
+ color: var(--hf-color-primary);
6354
+ }
6204
6355
  .hf-share-panel > header,
6205
6356
  .hf-share-panel > footer {
6206
6357
  border-bottom: 1px solid var(--hf-color-border);
@@ -6208,6 +6359,11 @@
6208
6359
  justify-content: space-between;
6209
6360
  padding: 12px;
6210
6361
  }
6362
+ .hf-share-panel > footer {
6363
+ align-items: center;
6364
+ border-bottom: 0;
6365
+ border-top: 1px solid var(--hf-color-border);
6366
+ }
6211
6367
  .hf-share-panel__scope {
6212
6368
  display: grid;
6213
6369
  padding: 8px;
@@ -6269,15 +6425,23 @@
6269
6425
  display: flex;
6270
6426
  gap: 8px;
6271
6427
  }
6272
- .hf-recurrence select,
6273
- .hf-recurrence input,
6274
- .hf-timezone {
6428
+ .hf-recurrence input {
6275
6429
  background: var(--hf-color-surface);
6276
6430
  border: 1px solid var(--hf-color-border);
6277
6431
  border-radius: 9px;
6278
6432
  color: var(--hf-color-text);
6279
6433
  padding: 8px;
6280
6434
  }
6435
+ .hf-recurrence__select .hf-select-shell,
6436
+ .hf-timezone .hf-select-shell {
6437
+ border-radius: 9px;
6438
+ }
6439
+ .hf-recurrence__select {
6440
+ min-width: 112px;
6441
+ }
6442
+ .hf-timezone {
6443
+ width: 100%;
6444
+ }
6281
6445
  .hf-availability {
6282
6446
  overflow: auto;
6283
6447
  }