@nordcode/ui 2.0.2 → 2.0.4

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.
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AgentMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AskMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="Ask2AgentMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="EditMigrationStateService">
4
+ <option name="migrationStatus" value="COMPLETED" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/ui.iml" filepath="$PROJECT_DIR$/.idea/ui.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
package/.idea/ui.iml ADDED
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="JAVA_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="inheritedJdk" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
5
+ </component>
6
+ </project>
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## 2.0.4 (2025-10-05)
2
+
3
+ ### improvements
4
+
5
+ -tweaks to css reset
6
+
7
+ ## 2.0.3 (2025-09-11)
8
+
9
+ ### improvements
10
+
11
+ - add :active state to buttons
12
+ - use more accessbile emhpasis color for selections
13
+
14
+ ### removals
15
+
16
+ - remove unused .buttonReset class
17
+
1
18
  ## 2.0.2 (2025-05-10)
2
19
 
3
20
  ### improvements
package/out/bundle.css CHANGED
@@ -352,6 +352,8 @@
352
352
  font-kerning: normal;
353
353
  -moz-osx-font-smoothing: grayscale;
354
354
  -webkit-font-smoothing: antialiased;
355
+ hanging-punctuation: first allow-end last;
356
+ word-break: break-word;
355
357
  }
356
358
 
357
359
  :where(body) {
@@ -415,9 +417,19 @@
415
417
  letter-spacing: inherit;
416
418
  }
417
419
 
418
- :where(html):has(dialog:modal) {
419
- scrollbar-gutter: stable;
420
- overflow: hidden;
420
+ :where(html) {
421
+ overflow-y: scroll;
422
+ }
423
+
424
+ @supports (scrollbar-gutter: stable) {
425
+ :where(html) {
426
+ scrollbar-gutter: stable;
427
+ overflow-y: auto;
428
+ }
429
+ }
430
+
431
+ :where(pre) {
432
+ white-space: pre-wrap;
421
433
  }
422
434
  }
423
435
 
@@ -617,12 +629,12 @@
617
629
 
618
630
  ::selection {
619
631
  background-color: var(--color-brand-primary-base);
620
- color: var(--color-surface-base);
632
+ color: var(--color-brand-primary-emphasis);
621
633
  }
622
634
 
623
635
  ::target-text {
624
636
  background-color: var(--color-brand-primary-base);
625
- color: var(--color-surface-base);
637
+ color: var(--color-brand-primary-emphasis);
626
638
  }
627
639
 
628
640
  :where(a, .nc-link) {
@@ -134,6 +134,8 @@
134
134
  font-kerning: normal;
135
135
  -moz-osx-font-smoothing: grayscale;
136
136
  -webkit-font-smoothing: antialiased;
137
+ hanging-punctuation: first allow-end last;
138
+ word-break: break-word;
137
139
  }
138
140
 
139
141
  :where(body) {
@@ -197,9 +199,19 @@
197
199
  letter-spacing: inherit;
198
200
  }
199
201
 
200
- :where(html):has(dialog:modal) {
201
- scrollbar-gutter: stable;
202
- overflow: hidden;
202
+ :where(html) {
203
+ overflow-y: scroll;
204
+ }
205
+
206
+ @supports (scrollbar-gutter: stable) {
207
+ :where(html) {
208
+ scrollbar-gutter: stable;
209
+ overflow-y: auto;
210
+ }
211
+ }
212
+
213
+ :where(pre) {
214
+ white-space: pre-wrap;
203
215
  }
204
216
  }
205
217
 
@@ -399,12 +411,12 @@
399
411
 
400
412
  ::selection {
401
413
  background-color: var(--color-brand-primary-base);
402
- color: var(--color-surface-base);
414
+ color: var(--color-brand-primary-emphasis);
403
415
  }
404
416
 
405
417
  ::target-text {
406
418
  background-color: var(--color-brand-primary-base);
407
- color: var(--color-surface-base);
419
+ color: var(--color-brand-primary-emphasis);
408
420
  }
409
421
 
410
422
  :where(a, .nc-link) {
package/out/complete.css CHANGED
@@ -352,6 +352,8 @@
352
352
  font-kerning: normal;
353
353
  -moz-osx-font-smoothing: grayscale;
354
354
  -webkit-font-smoothing: antialiased;
355
+ hanging-punctuation: first allow-end last;
356
+ word-break: break-word;
355
357
  }
356
358
 
357
359
  :where(body) {
@@ -415,9 +417,19 @@
415
417
  letter-spacing: inherit;
416
418
  }
417
419
 
418
- :where(html):has(dialog:modal) {
419
- scrollbar-gutter: stable;
420
- overflow: hidden;
420
+ :where(html) {
421
+ overflow-y: scroll;
422
+ }
423
+
424
+ @supports (scrollbar-gutter: stable) {
425
+ :where(html) {
426
+ scrollbar-gutter: stable;
427
+ overflow-y: auto;
428
+ }
429
+ }
430
+
431
+ :where(pre) {
432
+ white-space: pre-wrap;
421
433
  }
422
434
  }
423
435
 
@@ -617,12 +629,12 @@
617
629
 
618
630
  ::selection {
619
631
  background-color: var(--color-brand-primary-base);
620
- color: var(--color-surface-base);
632
+ color: var(--color-brand-primary-emphasis);
621
633
  }
622
634
 
623
635
  ::target-text {
624
636
  background-color: var(--color-brand-primary-base);
625
- color: var(--color-surface-base);
637
+ color: var(--color-brand-primary-emphasis);
626
638
  }
627
639
 
628
640
  :where(a, .nc-link) {
@@ -1514,12 +1526,6 @@
1514
1526
  }
1515
1527
 
1516
1528
  @layer components.buttons {
1517
- .buttonReset {
1518
- background: none;
1519
- border: none;
1520
- padding: 0;
1521
- }
1522
-
1523
1529
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), input[type="file"]:not([class]), .nc-button) {
1524
1530
  --_button-background: var(--button-background, var(--surface-hover));
1525
1531
  --_button-color: var(--button-color, var(--text-hover));
@@ -1551,6 +1557,7 @@
1551
1557
  box-shadow: var(--_button-box-shadow);
1552
1558
  -webkit-user-select: none;
1553
1559
  user-select: none;
1560
+ text-box: cap alphabetic;
1554
1561
  -webkit-tap-highlight-color: transparent;
1555
1562
  -webkit-touch-callout: none;
1556
1563
  line-height: var(--line-height-base);
@@ -1575,8 +1582,14 @@
1575
1582
  transform: none;
1576
1583
  }
1577
1584
 
1578
- :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button):active {
1585
+ :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button):is(:active, .-active) {
1586
+ background-color: var(--_button-background-hover);
1587
+ color: var(--_button-color-hover);
1588
+ border-color: var(--_button-border-color-hover);
1579
1589
  box-shadow: none;
1590
+ filter: contrast(1.2) saturate(1.1);
1591
+ -webkit-backdrop-filter: contrast(2);
1592
+ backdrop-filter: contrast(2);
1580
1593
  transform: none;
1581
1594
  }
1582
1595
 
@@ -1593,14 +1606,6 @@
1593
1606
  transform: none !important;
1594
1607
  }
1595
1608
 
1596
- :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-active {
1597
- background-color: var(--_button-background-hover);
1598
- color: var(--_button-color-hover);
1599
- border-color: var(--_button-border-color-hover);
1600
- box-shadow: none;
1601
- transform: none;
1602
- }
1603
-
1604
1609
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-outline {
1605
1610
  color: var(--text);
1606
1611
  border-color: var(--border);
@@ -1617,8 +1622,6 @@
1617
1622
  color: var(--text);
1618
1623
  background-color: #0000;
1619
1624
  border-color: #0000;
1620
- box-shadow: none !important;
1621
- transform: none !important;
1622
1625
  }
1623
1626
 
1624
1627
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-stealth:hover {
@@ -1627,6 +1630,11 @@
1627
1630
  border-color: #0000;
1628
1631
  }
1629
1632
 
1633
+ :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-stealth {
1634
+ box-shadow: none !important;
1635
+ transform: none !important;
1636
+ }
1637
+
1630
1638
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-small {
1631
1639
  --_button-padding-inline: var(--control-spacing-near, .5em);
1632
1640
  min-block-size: var(--control-height-small);
@@ -1753,6 +1761,20 @@
1753
1761
  --_card-padding-inline: var(--card-padding-inline, var(--spacing-base));
1754
1762
  --_card-padding-block: var(--card-padding-block, var(--spacing-far));
1755
1763
  --_card-border-radius: var(--card-border-radius, var(--border-radius-large));
1764
+ }
1765
+
1766
+ :where(.nc-card)[data-size="xs"] {
1767
+ --_card-padding-inline: var(--card-padding-inline, var(--spacing-nearest));
1768
+ --_card-padding-block: var(--card-padding-block, var(--spacing-near));
1769
+ --_card-border-radius: var(--card-border-radius, var(--border-radius-medium));
1770
+ }
1771
+
1772
+ :where(.nc-card)[data-size="sm"] {
1773
+ --_card-padding-inline: var(--card-padding-inline, var(--spacing-near));
1774
+ --_card-padding-block: var(--card-padding-block, var(--spacing-base));
1775
+ }
1776
+
1777
+ :where(.nc-card) {
1756
1778
  box-sizing: border-box;
1757
1779
  inline-size: 100%;
1758
1780
  padding-inline: var(--_card-padding-inline);
@@ -1768,24 +1790,13 @@
1768
1790
  overflow: hidden;
1769
1791
  }
1770
1792
 
1771
- :where(.nc-card)[data-size="xs"] {
1772
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-nearest));
1773
- --_card-padding-block: var(--card-padding-block, var(--spacing-near));
1774
- --_card-border-radius: var(--card-border-radius, var(--border-radius-medium));
1775
- }
1776
-
1777
- :where(.nc-card)[data-size="sm"] {
1778
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-near));
1779
- --_card-padding-block: var(--card-padding-block, var(--spacing-base));
1780
- }
1781
-
1782
- @media (min-width: 480px) {
1793
+ @media (width >= 480px) {
1783
1794
  :where(.nc-card) {
1784
1795
  --_card-padding-inline: var(--card-padding-inline, var(--spacing-far));
1785
1796
  }
1786
1797
  }
1787
1798
 
1788
- @media (min-width: 1024px) {
1799
+ @media (width >= 1024px) {
1789
1800
  :where(.nc-card) {
1790
1801
  --_card-padding-inline: var(--card-padding-inline, var(--spacing-farthest));
1791
1802
  }
@@ -1857,7 +1868,7 @@
1857
1868
  overflow: clip;
1858
1869
  }
1859
1870
 
1860
- @media (min-width: 36rem) {
1871
+ @media (width >= 36rem) {
1861
1872
  :where(.nc-dialog) {
1862
1873
  --_dialog-radius: var(--dialog-radius, var(--border-radius-medium));
1863
1874
  inline-size: calc(100dvw - 2 * var(--_dialog-layout-padding));
@@ -2192,7 +2203,7 @@
2192
2203
  }
2193
2204
 
2194
2205
  :where(textarea:not([class]), .nc-textarea) {
2195
- min-block-size: calc(5lh + 2 * var(--_input-padding-block));
2206
+ min-block-size: calc(8lh + 2 * var(--_input-padding-block));
2196
2207
  max-block-size: 80svh;
2197
2208
  min-inline-size: var(--input-inline-size, 100%);
2198
2209
  max-inline-size: 100%;
@@ -134,6 +134,8 @@
134
134
  font-kerning: normal;
135
135
  -moz-osx-font-smoothing: grayscale;
136
136
  -webkit-font-smoothing: antialiased;
137
+ hanging-punctuation: first allow-end last;
138
+ word-break: break-word;
137
139
  }
138
140
 
139
141
  :where(body) {
@@ -197,9 +199,19 @@
197
199
  letter-spacing: inherit;
198
200
  }
199
201
 
200
- :where(html):has(dialog:modal) {
201
- scrollbar-gutter: stable;
202
- overflow: hidden;
202
+ :where(html) {
203
+ overflow-y: scroll;
204
+ }
205
+
206
+ @supports (scrollbar-gutter: stable) {
207
+ :where(html) {
208
+ scrollbar-gutter: stable;
209
+ overflow-y: auto;
210
+ }
211
+ }
212
+
213
+ :where(pre) {
214
+ white-space: pre-wrap;
203
215
  }
204
216
  }
205
217
 
@@ -399,12 +411,12 @@
399
411
 
400
412
  ::selection {
401
413
  background-color: var(--color-brand-primary-base);
402
- color: var(--color-surface-base);
414
+ color: var(--color-brand-primary-emphasis);
403
415
  }
404
416
 
405
417
  ::target-text {
406
418
  background-color: var(--color-brand-primary-base);
407
- color: var(--color-surface-base);
419
+ color: var(--color-brand-primary-emphasis);
408
420
  }
409
421
 
410
422
  :where(a, .nc-link) {
@@ -1296,12 +1308,6 @@
1296
1308
  }
1297
1309
 
1298
1310
  @layer components.buttons {
1299
- .buttonReset {
1300
- background: none;
1301
- border: none;
1302
- padding: 0;
1303
- }
1304
-
1305
1311
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), input[type="file"]:not([class]), .nc-button) {
1306
1312
  --_button-background: var(--button-background, var(--surface-hover));
1307
1313
  --_button-color: var(--button-color, var(--text-hover));
@@ -1333,6 +1339,7 @@
1333
1339
  box-shadow: var(--_button-box-shadow);
1334
1340
  -webkit-user-select: none;
1335
1341
  user-select: none;
1342
+ text-box: cap alphabetic;
1336
1343
  -webkit-tap-highlight-color: transparent;
1337
1344
  -webkit-touch-callout: none;
1338
1345
  line-height: var(--line-height-base);
@@ -1357,8 +1364,14 @@
1357
1364
  transform: none;
1358
1365
  }
1359
1366
 
1360
- :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button):active {
1367
+ :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button):is(:active, .-active) {
1368
+ background-color: var(--_button-background-hover);
1369
+ color: var(--_button-color-hover);
1370
+ border-color: var(--_button-border-color-hover);
1361
1371
  box-shadow: none;
1372
+ filter: contrast(1.2) saturate(1.1);
1373
+ -webkit-backdrop-filter: contrast(2);
1374
+ backdrop-filter: contrast(2);
1362
1375
  transform: none;
1363
1376
  }
1364
1377
 
@@ -1375,14 +1388,6 @@
1375
1388
  transform: none !important;
1376
1389
  }
1377
1390
 
1378
- :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-active {
1379
- background-color: var(--_button-background-hover);
1380
- color: var(--_button-color-hover);
1381
- border-color: var(--_button-border-color-hover);
1382
- box-shadow: none;
1383
- transform: none;
1384
- }
1385
-
1386
1391
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-outline {
1387
1392
  color: var(--text);
1388
1393
  border-color: var(--border);
@@ -1399,8 +1404,6 @@
1399
1404
  color: var(--text);
1400
1405
  background-color: #0000;
1401
1406
  border-color: #0000;
1402
- box-shadow: none !important;
1403
- transform: none !important;
1404
1407
  }
1405
1408
 
1406
1409
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-stealth:hover {
@@ -1409,6 +1412,11 @@
1409
1412
  border-color: #0000;
1410
1413
  }
1411
1414
 
1415
+ :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-stealth {
1416
+ box-shadow: none !important;
1417
+ transform: none !important;
1418
+ }
1419
+
1412
1420
  :where(button:not([class]), button[type]:not([class]), input[type="button"]:not([class]), input[type="submit"]:not([class]), input[type="reset"]:not([class]), .nc-button).-small {
1413
1421
  --_button-padding-inline: var(--control-spacing-near, .5em);
1414
1422
  min-block-size: var(--control-height-small);
@@ -1535,6 +1543,20 @@
1535
1543
  --_card-padding-inline: var(--card-padding-inline, var(--spacing-base));
1536
1544
  --_card-padding-block: var(--card-padding-block, var(--spacing-far));
1537
1545
  --_card-border-radius: var(--card-border-radius, var(--border-radius-large));
1546
+ }
1547
+
1548
+ :where(.nc-card)[data-size="xs"] {
1549
+ --_card-padding-inline: var(--card-padding-inline, var(--spacing-nearest));
1550
+ --_card-padding-block: var(--card-padding-block, var(--spacing-near));
1551
+ --_card-border-radius: var(--card-border-radius, var(--border-radius-medium));
1552
+ }
1553
+
1554
+ :where(.nc-card)[data-size="sm"] {
1555
+ --_card-padding-inline: var(--card-padding-inline, var(--spacing-near));
1556
+ --_card-padding-block: var(--card-padding-block, var(--spacing-base));
1557
+ }
1558
+
1559
+ :where(.nc-card) {
1538
1560
  box-sizing: border-box;
1539
1561
  inline-size: 100%;
1540
1562
  padding-inline: var(--_card-padding-inline);
@@ -1550,24 +1572,13 @@
1550
1572
  overflow: hidden;
1551
1573
  }
1552
1574
 
1553
- :where(.nc-card)[data-size="xs"] {
1554
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-nearest));
1555
- --_card-padding-block: var(--card-padding-block, var(--spacing-near));
1556
- --_card-border-radius: var(--card-border-radius, var(--border-radius-medium));
1557
- }
1558
-
1559
- :where(.nc-card)[data-size="sm"] {
1560
- --_card-padding-inline: var(--card-padding-inline, var(--spacing-near));
1561
- --_card-padding-block: var(--card-padding-block, var(--spacing-base));
1562
- }
1563
-
1564
- @media (min-width: 480px) {
1575
+ @media (width >= 480px) {
1565
1576
  :where(.nc-card) {
1566
1577
  --_card-padding-inline: var(--card-padding-inline, var(--spacing-far));
1567
1578
  }
1568
1579
  }
1569
1580
 
1570
- @media (min-width: 1024px) {
1581
+ @media (width >= 1024px) {
1571
1582
  :where(.nc-card) {
1572
1583
  --_card-padding-inline: var(--card-padding-inline, var(--spacing-farthest));
1573
1584
  }
@@ -1639,7 +1650,7 @@
1639
1650
  overflow: clip;
1640
1651
  }
1641
1652
 
1642
- @media (min-width: 36rem) {
1653
+ @media (width >= 36rem) {
1643
1654
  :where(.nc-dialog) {
1644
1655
  --_dialog-radius: var(--dialog-radius, var(--border-radius-medium));
1645
1656
  inline-size: calc(100dvw - 2 * var(--_dialog-layout-padding));
@@ -1974,7 +1985,7 @@
1974
1985
  }
1975
1986
 
1976
1987
  :where(textarea:not([class]), .nc-textarea) {
1977
- min-block-size: calc(5lh + 2 * var(--_input-padding-block));
1988
+ min-block-size: calc(8lh + 2 * var(--_input-padding-block));
1978
1989
  max-block-size: 80svh;
1979
1990
  min-inline-size: var(--input-inline-size, 100%);
1980
1991
  max-inline-size: 100%;
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "type": "git",
13
13
  "url": "https://github.com/nordcode-agency/nordcode/tree/main/packages/ui"
14
14
  },
15
- "version": "2.0.2",
15
+ "version": "2.0.4",
16
16
  "publishConfig": {
17
17
  "access": "public"
18
18
  },
@@ -1,10 +1,4 @@
1
1
  @layer components.buttons {
2
- .buttonReset {
3
- padding: 0;
4
- border: none;
5
- background: none;
6
- }
7
-
8
2
  :where(
9
3
  button:not([class]),
10
4
  button[type]:not([class]),
@@ -57,6 +51,7 @@
57
51
  text-decoration: unset;
58
52
  box-shadow: var(--_button-box-shadow);
59
53
  user-select: none;
54
+ text-box: cap alphabetic;
60
55
  -webkit-tap-highlight-color: transparent;
61
56
  -webkit-touch-callout: none;
62
57
 
@@ -71,6 +66,7 @@
71
66
  input[type="reset"]:not([class]),
72
67
  .nc-button
73
68
  ) {
69
+
74
70
  &:hover {
75
71
  background: var(--_button-background-hover);
76
72
  color: var(--_button-color-hover);
@@ -84,9 +80,15 @@
84
80
  font-weight: var(--font-weight-active);
85
81
  }
86
82
 
87
- &:active {
83
+ &:is(:active, .-active) {
84
+ background-color: var(--_button-background-hover);
85
+ color: var(--_button-color-hover);
86
+ border-color: var(--_button-border-color-hover);
87
+
88
88
  box-shadow: none;
89
89
  transform: none;
90
+ filter: contrast(1.2) saturate(1.1);
91
+ backdrop-filter: contrast(2);
90
92
  }
91
93
 
92
94
  &[disabled] {
@@ -103,15 +105,6 @@
103
105
  cursor: not-allowed;
104
106
  }
105
107
 
106
- &.-active {
107
- background-color: var(--_button-background-hover);
108
- color: var(--_button-color-hover);
109
- border-color: var(--_button-border-color-hover);
110
-
111
- box-shadow: none;
112
- transform: none;
113
- }
114
-
115
108
  &.-outline {
116
109
  background-color: transparent;
117
110
  color: var(--text);
@@ -137,7 +137,7 @@
137
137
  }
138
138
 
139
139
  :where(textarea:not([class]), .nc-textarea) {
140
- min-block-size: calc(5lh + 2 * var(--_input-padding-block));
140
+ min-block-size: calc(8lh + 2 * var(--_input-padding-block));
141
141
  max-block-size: 80svh;
142
142
  min-inline-size: var(--input-inline-size, 100%);
143
143
  max-inline-size: 100%;
@@ -202,7 +202,7 @@
202
202
  ::selection,
203
203
  ::target-text {
204
204
  background-color: var(--color-brand-primary-base);
205
- color: var(--color-surface-base);
205
+ color: var(--color-brand-primary-emphasis);
206
206
  }
207
207
 
208
208
  :where(a, .nc-link) {
@@ -53,6 +53,9 @@
53
53
  font-kerning: normal;
54
54
  -moz-osx-font-smoothing: grayscale;
55
55
  -webkit-font-smoothing: antialiased;
56
+
57
+ hanging-punctuation: first allow-end last;
58
+ word-break: break-word;
56
59
  }
57
60
 
58
61
  :where(body) {
@@ -141,8 +144,18 @@
141
144
  letter-spacing: inherit;
142
145
  }
143
146
 
144
- :where(html):has(dialog:modal) {
145
- scrollbar-gutter: stable;
146
- overflow: hidden;
147
+ :where(html) {
148
+ overflow-y: scroll;
149
+ }
150
+
151
+ @supports (scrollbar-gutter: stable) {
152
+ :where(html) {
153
+ overflow-y: auto;
154
+ scrollbar-gutter: stable;
155
+ }
156
+ }
157
+
158
+ :where(pre) {
159
+ white-space: pre-wrap;
147
160
  }
148
161
  }