@jonathankablan/noraivoire-core 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.
Files changed (39) hide show
  1. package/LICENSE +4 -2
  2. package/README.md +1 -1
  3. package/dist/flutter/noraivoire.dart +4 -4
  4. package/dist/flutter/noraivoire_fx.dart +1 -1
  5. package/dist/fx/fx-scroll.css +1 -1
  6. package/dist/fx/fx-scroll.js +1 -1
  7. package/dist/fx/fx-text.css +1 -1
  8. package/dist/fx/fx-text.js +1 -1
  9. package/dist/integrity.json +76 -76
  10. package/dist/llms-full.txt +1 -1
  11. package/dist/manifest.json +1 -1
  12. package/dist/noraivoire.auto.js +1 -1
  13. package/dist/noraivoire.css +3 -3
  14. package/dist/noraivoire.engine.d.ts +1 -1
  15. package/dist/noraivoire.engine.js +1 -1
  16. package/dist/noraivoire.legacy.min.css +1 -1
  17. package/dist/noraivoire.min.css +1 -1
  18. package/dist/noraivoire.types.ts +2 -2
  19. package/dist/react-native/noraivoire-fx.tsx +1 -1
  20. package/dist/react-native/noraivoire.tsx +4 -4
  21. package/dist/symfony/src/Enum/NoraComponent.php +1 -1
  22. package/dist/symfony/src/Enum/NoraSize.php +1 -1
  23. package/dist/symfony/src/Enum/NoraTone.php +1 -1
  24. package/dist/symfony/src/NoraManifest.php +3 -3
  25. package/dist/symfony/templates/components/Nora/Avatar.html.twig +1 -1
  26. package/dist/symfony/templates/components/Nora/Badge.html.twig +1 -1
  27. package/dist/symfony/templates/components/Nora/Btn.html.twig +1 -1
  28. package/dist/symfony/templates/components/Nora/Card.html.twig +1 -1
  29. package/dist/symfony/templates/components/Nora/Checkbox.html.twig +1 -1
  30. package/dist/symfony/templates/components/Nora/Field.html.twig +1 -1
  31. package/dist/symfony/templates/components/Nora/Input.html.twig +1 -1
  32. package/dist/symfony/templates/components/Nora/Link.html.twig +1 -1
  33. package/dist/symfony/templates/components/Nora/Media.html.twig +1 -1
  34. package/dist/symfony/templates/components/Nora/Navbar.html.twig +1 -1
  35. package/dist/symfony/templates/components/Nora/Radio.html.twig +1 -1
  36. package/dist/symfony/templates/components/Nora/Select.html.twig +1 -1
  37. package/dist/symfony/templates/components/Nora/Switch.html.twig +1 -1
  38. package/dist/symfony/templates/components/Nora/Textarea.html.twig +1 -1
  39. package/package.json +1 -1
package/LICENSE CHANGED
@@ -10,8 +10,10 @@ modèles (templates), sa documentation, ses jeux de tests et ses éléments grap
10
10
  1. ABSENCE DE LICENCE OPEN SOURCE
11
11
  Le Logiciel n'est pas distribué sous une licence open source. Aucun droit
12
12
  n'est concédé implicitement, par estoppel ou autrement. La simple mise à
13
- disposition du Logiciel, y compris dans un dépôt privé ou un registre de
14
- paquets privé, ne vaut pas concession de licence.
13
+ disposition du Logiciel, y compris dans un dépôt ou un registre de
14
+ paquets, public ou privé (notamment le registre npm public), et la
15
+ possibilité technique de le télécharger ou de l'installer ne valent pas
16
+ concession de licence.
15
17
 
16
18
  2. USAGE AUTORISÉ
17
19
  Tout usage du Logiciel est subordonné à un contrat de licence écrit et signé
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @jonathankablan/noraivoire-core
2
2
 
3
- Sorties compilées de **NoraIvoire** 0.1.0, langage de design multi-plateforme : une même spec produit la CSS, le moteur d'effets web, les widgets Flutter, les composants React Native, les types TypeScript, le manifest machine et `llms-full.txt` pour les agents IA. Zéro dépendance.
3
+ Sorties compilées de **NoraIvoire** 0.1.2, langage de design multi-plateforme : une même spec produit la CSS, le moteur d'effets web, les widgets Flutter, les composants React Native, les types TypeScript, le manifest machine et `llms-full.txt` pour les agents IA. Zéro dépendance.
4
4
 
5
5
  ```bash
6
6
  npm install @jonathankablan/noraivoire-core
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (dart) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (dart) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
  // ignore_for_file: lines_longer_than_80_chars
@@ -13,7 +13,7 @@ import 'package:flutter/material.dart';
13
13
  import 'package:flutter/services.dart';
14
14
 
15
15
  /// Version de la spec NoraIvoire ayant produit ce fichier.
16
- const String noraVersion = '0.1.0';
16
+ const String noraVersion = '0.1.2';
17
17
 
18
18
  enum NoraTone { primary, neutral, danger, success, warning }
19
19
 
@@ -62,7 +62,7 @@ class NoraColors {
62
62
  });
63
63
 
64
64
  static const light = NoraColors(
65
- primary: Color(0xFFC94A0B),
65
+ primary: Color(0xFFC1470B),
66
66
  onPrimary: Color(0xFFFFFFFF),
67
67
  neutral: Color(0xFF3B3F46),
68
68
  onNeutral: Color(0xFFFFFFFF),
@@ -70,7 +70,7 @@ class NoraColors {
70
70
  onDanger: Color(0xFFFFFFFF),
71
71
  success: Color(0xFF1B7F3B),
72
72
  onSuccess: Color(0xFFFFFFFF),
73
- warning: Color(0xFFB35C00),
73
+ warning: Color(0xFFAC5800),
74
74
  onWarning: Color(0xFFFFFFFF),
75
75
  surface: Color(0xFFFFFFFF),
76
76
  surface2: Color(0xFFF4F5F7),
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (dart) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (dart) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
  // Effets optionnels (paquets fx-*). À copier à côté de noraivoire.dart.
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * NoraIvoire 0.1.0 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main.
2
+ * NoraIvoire 0.1.2 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main.
3
3
  * © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  * Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  */
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * NoraIvoire 0.1.0 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main.
2
+ * NoraIvoire 0.1.2 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main.
3
3
  * © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  * Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  */
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
 
@@ -1,214 +1,214 @@
1
1
  {
2
2
  "name": "NoraIvoire",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "files": {
5
5
  "noraivoire.css": {
6
- "sha256": "d4940fc5e972196ae5c8a7b8eb4c5b00914cf59c4d26a201fada3fff92dfba73",
7
- "sri": "sha384-qHFndoVMy2+0HzN6hk0PPoPU4rTWsmPfPFwBzvJT1TbWZGO5v2Wit7wjJBT5w/dH",
6
+ "sha256": "8185304a67ea886477afa8165de35a6c03d0501da9281e6de735d806a5e5b3d5",
7
+ "sri": "sha384-yHR9FXXfC578BOrRP/5O5zlN2kT48+paCX0HG2rILFZ8K50FFZgkHWrxqv9VvDVz",
8
8
  "bytes": 38151,
9
- "gzip": 6880
9
+ "gzip": 6882
10
10
  },
11
11
  "noraivoire.min.css": {
12
- "sha256": "0efb759ac2a08fb977c90ab5e2cc6379313fe3c34045e7bac1f406b869592077",
13
- "sri": "sha384-yXxa7R/nyeiCZCsOZPofzCyDZXNq5t5PRRhcGQ15+BPbzE94uoiWH7uaRc4aBIMj",
12
+ "sha256": "449eda5451a4ceab13e627ad2e32436febf4a377ab2a95d250568d7e278d4fe2",
13
+ "sri": "sha384-xyNUwxDM908lUlzzFGnBU6oj9+TXcCkIBc+kN3+HIoqJMduDd8PvQD5jC06nJJ49",
14
14
  "bytes": 33433,
15
15
  "gzip": 6466
16
16
  },
17
17
  "noraivoire.legacy.min.css": {
18
- "sha256": "f161abf687f6f66c6144b7636af7e7c685f388d57d3a83fcd4aff61e43b03e8c",
19
- "sri": "sha384-MI3w9MdtUXfK3mV99Xy1sPqDGr437HkAlMnyDsXafrZW3adzDYH2wm4ZXbO0kHva",
18
+ "sha256": "f53eff2d3c87a7ed3b6fe89ca7bc26197352c1200c5112a596c9fc8cbeb33672",
19
+ "sri": "sha384-taF1EpTwMzmBPbiXKECAYK63tpqrR5fAsJDaqGnBzC6Ztvra84EzuMzi8HCndbzR",
20
20
  "bytes": 33186,
21
- "gzip": 6375
21
+ "gzip": 6376
22
22
  },
23
23
  "noraivoire.engine.js": {
24
- "sha256": "0e3b958be6b32ef2669c64399689bbcf9e06ec64b793f2668a1c0e518eae3645",
25
- "sri": "sha384-6ehvPfJcr/G0h+otDZYlDsMxEztndp4zL141UAMhJBBSuJx1RWa0Bz/2Sy+ElVr7",
24
+ "sha256": "ce917cf7550e5d112607f337ff1a26ce15ece6fb6ad8fea64321566640de205f",
25
+ "sri": "sha384-HIv6ewBID8K15wU1ekbY0i7JvVBZaZhP9RNvJa5TemZw10Z8UHQLBIMqnZNviFMb",
26
26
  "bytes": 9774,
27
27
  "gzip": 3385
28
28
  },
29
29
  "noraivoire.auto.js": {
30
- "sha256": "ada6db2f79c486107336e038e79ab87d5501e5ff86423c57aff9413d0bfe0565",
31
- "sri": "sha384-PWJF9/+Bef7ONOHSOm05vsKOq8V9fzQqdVpUKOQedjdxMUrlxcPlQJu3lmfZfiYk",
30
+ "sha256": "583149eb372e7454643e0c6db7b5ef1c993c6a89e62b9fadc3a35511abe96101",
31
+ "sri": "sha384-bEhm++iwTvGdrpmTN3t/edeUAbCBHZYg+QfQ3K+756q8OqX14EfN/lz/cmDnwcwQ",
32
32
  "bytes": 489,
33
33
  "gzip": 364
34
34
  },
35
35
  "noraivoire.engine.d.ts": {
36
- "sha256": "3862d0dfcb086e6966dab26c30b67d3b44abe1ef49ad0e6e36c48525d1bdb389",
37
- "sri": "sha384-NRdpjl6132s/+n47BrHrO1MMv83/enkWF83vHWJ29IBA52MFpspE2fwTuBf+V8fr",
36
+ "sha256": "521e30b437bfb3502443737a69199b9627cf00f98ae2df25a090956d637a89c2",
37
+ "sri": "sha384-Kj8/jvEv8ShZUJ5dpBVjTtGb9GYpZj9WsdQtqWuHGFrj9T1+ZZ4y7b1OA58udRPQ",
38
38
  "bytes": 1430,
39
39
  "gzip": 658
40
40
  },
41
41
  "noraivoire.types.ts": {
42
- "sha256": "b94687df32e4850bbb7b8e4fc89b97f26a77da981d072ae4bd3a91f839a49a6c",
43
- "sri": "sha384-hX8Nc7hnJONeem2tfHG24mEsPIXXJuh2jxIs8bnzjYjKMq2zsLFn7aaYRZnqBIzb",
42
+ "sha256": "c6d678ca78d5d5e63a11c2b691a6f09eb8d927bf713d63a0e041be22b8c2eca2",
43
+ "sri": "sha384-+lgUlA+jcL3pAdxvnKOwQlQ6XOxR/ogI6olvQ+drrQS/7rf8qtsYOJXqyrGQ1t6w",
44
44
  "bytes": 2087,
45
45
  "gzip": 968
46
46
  },
47
47
  "flutter/noraivoire.dart": {
48
- "sha256": "77bd899dad3fd1c533c8cf71f2bab58af38fcc9d8df227529b2c2a1f3a5bcd6e",
49
- "sri": "sha384-MvRBzO/DhfxqZxiqNja5VVIuukd2oWbv4cQUnd7iUOp/vIstKxD0ecA+3Bgx9dOr",
48
+ "sha256": "46f67d3abc4fef45b786f19b0a12d19c9aa9727db2804e0b75ce8cd11a520e83",
49
+ "sri": "sha384-lX+L2kbO8rxKsCCq13I6B73apBqy6oSPEvpjXm9q2HD5EfUQaMJPGWYdOTFuN63V",
50
50
  "bytes": 64230,
51
- "gzip": 12127
51
+ "gzip": 12128
52
52
  },
53
53
  "react-native/noraivoire.tsx": {
54
- "sha256": "db2eb0611fe356c24ef9412cf0d9eed121aba1414466162ef2792744fcf535a6",
55
- "sri": "sha384-agy7qVuCqrXBDsZNjN+9I0mMmXY/T0WBMxnENdm9w9mN4zWcWKaraCeGFmraQIoz",
54
+ "sha256": "e252afdb2e357277acea5cb16d7bc4d33a5492a6e48493cf8c67463e9bf749cf",
55
+ "sri": "sha384-DuMnC+SgekyCWnkxDl+o3wYQhOFEB0JNPGkUiIvMyzWO8BKiNMDrRoC59EH3mTJo",
56
56
  "bytes": 53212,
57
- "gzip": 11167
57
+ "gzip": 11168
58
58
  },
59
59
  "symfony/src/NoraManifest.php": {
60
- "sha256": "08f6635a31d3280bedbf3c5a84fc3e182fe11bbd3fe43985df75ceeea3396af1",
61
- "sri": "sha384-DVUZZZ2igPvSUqVq36kcSDoZ5msljRiwgQhmc/cEyv36tZqjNleICTsoIhSSnelw",
60
+ "sha256": "b4fb87f2453abf697fda0c79064e16e95c1e597f51f57a228b0f369ae4826d1d",
61
+ "sri": "sha384-D9jC3eqtMxA7bm3YmgszRqilKyXKt/CBw6l6dPik7Kfl8jSs4jVhAcFelH6i9y9C",
62
62
  "bytes": 6061,
63
63
  "gzip": 1242
64
64
  },
65
65
  "symfony/src/Enum/NoraTone.php": {
66
- "sha256": "34df4a2e3369ce410e10e0db1c67d97f806509cafc4e0676a796f663cf7c8219",
67
- "sri": "sha384-fBAZ9Mmzp8ie8Pyst0DSIgsUJc9BH6NM1p6X8Do+kc8pim2kwaJHNJaJg/gFExgd",
66
+ "sha256": "0bc98bb192d4bd95da52ab4fba16d6a483705f89bc20c1badddad1b436fd9331",
67
+ "sri": "sha384-53GOBfEQPMfGxUWuufKHkYlaNIQmxDMll1qEg/HeXAemnUppELRYTD3pgn2T/jDr",
68
68
  "bytes": 1052,
69
69
  "gzip": 616
70
70
  },
71
71
  "symfony/src/Enum/NoraSize.php": {
72
- "sha256": "535df640752998bf864e85d2a9dd0bfaf805ff224cd8f21632e3093a89d7f667",
73
- "sri": "sha384-6S47R+Y0DkzJiNbaHRO3X1I9DOjcSY0V1p1aOIRR4hx6BDGDQnY9B7xG5sqoPhkH",
72
+ "sha256": "fd85b8247c045aa262bf86aeea7b4a001c9633fa18c59f713646fb6fc10aa287",
73
+ "sri": "sha384-E0kGHg8mp2zwknXLmAm/z5Z36Wb1QMI4pAVr1PxajcfUJIa8RXW3IsvZJTluGYtw",
74
74
  "bytes": 1083,
75
- "gzip": 632
75
+ "gzip": 633
76
76
  },
77
77
  "symfony/src/Enum/NoraComponent.php": {
78
- "sha256": "c37dcbf4bb9cdf41f17c874199dfe32dc6557b740847fec79e72211d1b0dc9d0",
79
- "sri": "sha384-+e14ZlOrcezp2gfdv0JtT8wIxhehxpO7wM2O6McHAZXK+yP1jm0PdVuAXxDIrzL/",
78
+ "sha256": "33560db4697980d129416d9eb55ff84a8d2e8ecfa26a50ce2c709fd329bf2049",
79
+ "sri": "sha384-9U84DvHmOFptMioqr6JIn9u1tshIS6HKl1rHlIaEH6BLjvLpiHELXlFylC81YTJu",
80
80
  "bytes": 947,
81
81
  "gzip": 537
82
82
  },
83
83
  "symfony/templates/components/Nora/Avatar.html.twig": {
84
- "sha256": "aa2057e14e64d9089a32fcb06fee205fbfde1165ab826f6520b621e0c852c79d",
85
- "sri": "sha384-f+wkd+QyfkabSyLvtWbBAAHpD0QViBWlZdWyMOv06rRfzgZJw/9GROg9r2A9bcG1",
84
+ "sha256": "5105cd74edf9254476343fc789c4e2f7db403a70d84892e5f4e1557e1bf6b7d9",
85
+ "sri": "sha384-ViQ5yDUjoGjv7u79fGZKHzPPVJCCPNcKcsgcst1u2IVniLdvrpCDD9PnxG4kfqoB",
86
86
  "bytes": 1048,
87
87
  "gzip": 577
88
88
  },
89
89
  "symfony/templates/components/Nora/Badge.html.twig": {
90
- "sha256": "f7b8d9fa1d9ed77b2b38c18e7d158327bd8f208e31db4ae4e4795ec15ce98848",
91
- "sri": "sha384-0XYNNw2AcCdYsUivMCOpo9BaEjMKwrT2y/EMDW/N7SaMW89XSwj0wvqbyWiYAUqI",
90
+ "sha256": "be0e2756ef02488bf4eb65268ec6b11bedde32da3c75d2c131bf1d9324de7696",
91
+ "sri": "sha384-IunjrOsC1NhBLFn874ZYSMFm9TqVctVyzlWNRqCtmNlUs28ZQZioHThl7FOxtKUG",
92
92
  "bytes": 845,
93
93
  "gzip": 531
94
94
  },
95
95
  "symfony/templates/components/Nora/Btn.html.twig": {
96
- "sha256": "b733b47fc4577bbd7f42441661666bb2906d5bdc12aa1cb5bd5f571a1a16f8af",
97
- "sri": "sha384-ob2uEEMoYz6RZb5GeOaZVVnmTKoxbYuDdWtM9BweThiU9epCrzF6IdmrXr5Qvnv+",
96
+ "sha256": "3abff4f8cd8e8195b0b0beedeab52ceb7f7127def361ede61595b6e801c63a55",
97
+ "sri": "sha384-9ABLBgYVUwDzBPPNpKzGc3InBc40TBdtHXYZJ7jPioNrIri0uOxFCf2yez68IkEV",
98
98
  "bytes": 1482,
99
99
  "gzip": 724
100
100
  },
101
101
  "symfony/templates/components/Nora/Card.html.twig": {
102
- "sha256": "139d0e51be41420a7119391f54ed15f73b4abc61f4c5f0544b10ff24d87bc30f",
103
- "sri": "sha384-897w1Kumpbho1FfhFmXevckKl5Z26fr2D+5pAbDiKx9C4nLts7DfQ/tLA6gI22sE",
102
+ "sha256": "66fda083e2030bdc7f6873e75d48d1dc56f4e196ec23e9ce850f1c60e4432c2a",
103
+ "sri": "sha384-FqQj+TBfUCdkpEFArJz/vjY2ylOGhvtVnRH2H/0q6hHsJ+hwBWA57kJGsSJmWmna",
104
104
  "bytes": 1339,
105
105
  "gzip": 607
106
106
  },
107
107
  "symfony/templates/components/Nora/Checkbox.html.twig": {
108
- "sha256": "f5ab5b059bfaffb5bc39d83056e81396bf1915305632d600a44272e97c8c36e3",
109
- "sri": "sha384-VIeHTJl8HfCCaH733utHAEQKtTK0Km6y7vwLbjVcQCBUDZ7vsFwTUv9gQtnStByF",
108
+ "sha256": "6c684cb744addf9b6003e4a8131a12890c17943f2d47c0bf631179a6eb8ddbb5",
109
+ "sri": "sha384-6HajpECXS+z2WDiTXWf452IiYga/E9+b1g4L2LrUH8uDZFU8cMK6k4XizIAw1DRF",
110
110
  "bytes": 862,
111
111
  "gzip": 537
112
112
  },
113
113
  "symfony/templates/components/Nora/Field.html.twig": {
114
- "sha256": "6d019a2c220639141164de152eaf33824f0174a3bdbe928e0b2c88ef78f7f85a",
115
- "sri": "sha384-KuRGpUGsQtMOCYc+05BjmPM0/QoyQ8A3XsrVGXyz9w7EL69T4Sfc++VjdOHIDk41",
114
+ "sha256": "19214e9de270cdb62de0ae6ac42558c5b621450c9d283e663929c58e235fbe3f",
115
+ "sri": "sha384-Z25bp6JScLW7F2g4Bh7h3HaJR5aVseZKY44F+1Nfsq6I328K2syimz0ofbv5kNbc",
116
116
  "bytes": 2684,
117
117
  "gzip": 1143
118
118
  },
119
119
  "symfony/templates/components/Nora/Input.html.twig": {
120
- "sha256": "d0311043dd881920f5ac5b33aa866a33fb897670eb8b4a59325264b78ea9dae2",
121
- "sri": "sha384-d1B90lC4vmMhV7BZ1mRGr0E/Kl9ACSx+SFafS+/bRqPgKIa+tP40/0Uvf6nhcfxc",
120
+ "sha256": "3b573585990e047797cdf570f7e2b5a065f83f56035cc4e938d3defd9b031638",
121
+ "sri": "sha384-Kbw60ZVOShi4fpxHYa4vKe3J7rCZ2v+BfysY9ODiEAF91Gu6bXpQAXKtZivASuP9",
122
122
  "bytes": 769,
123
123
  "gzip": 484
124
124
  },
125
125
  "symfony/templates/components/Nora/Link.html.twig": {
126
- "sha256": "095c71574352569c89015a9a4ab9c11ab465ae68bcf199cc04d0f08c1dea1f0e",
127
- "sri": "sha384-KZjgYQLWlUfwKcBjU5uv2tOwIvNihsopf6fOYeZc0rdvstBxCOXbbHa78wv8qp3v",
126
+ "sha256": "3267caf104a7b97f67666080aee8ce84cc41a306a08994ab7b2876efa0fa24f4",
127
+ "sri": "sha384-aAI1B0Hs6wEdOVfDuUys8xiepz6JNlGvgqfbyawCuOnPWGuat4xO1aR8yT6bMME1",
128
128
  "bytes": 1253,
129
129
  "gzip": 658
130
130
  },
131
131
  "symfony/templates/components/Nora/Media.html.twig": {
132
- "sha256": "2c8fbf2427e843caa3bd432d966c4c2ea6954ce12b96d02be99c212e6b06f86e",
133
- "sri": "sha384-QBqIBB5wCa69n1fWBhMgXplRagtNZTCwbKcA9DlV7dxkZBBJEL9JJG8zuZ7Q5Sre",
132
+ "sha256": "1c0b70251826a92954e6a96a1c03c8842f1d6bff2426683c08d33b2acec51e65",
133
+ "sri": "sha384-cXs5D4h5Pu/GjmPHx5ZhOQyiuhtdrOVHWXUVUVgXQCm2v9ioGHkrUSFcyNilQu+t",
134
134
  "bytes": 1072,
135
135
  "gzip": 584
136
136
  },
137
137
  "symfony/templates/components/Nora/Navbar.html.twig": {
138
- "sha256": "eb42ff4e0175335ae0f8e94c780471255a868fa894de51787fa5bb6bf872ebc4",
139
- "sri": "sha384-2KQba8lDpa3knss3cGp9iauMebdQmjjaP4oCMB8TmGM61e0VI2LWrndYA5HeZ1WK",
138
+ "sha256": "cb98b385dc6fcd31a2762f7821265242f8682e92caa6e68bd8a33a850a559eb7",
139
+ "sri": "sha384-2BUOeWPkyY0C/uEj9Tntiv5Og9zm6dsVvOk2uEArVxqZt85ETgxqnukOB6z6urnv",
140
140
  "bytes": 809,
141
141
  "gzip": 510
142
142
  },
143
143
  "symfony/templates/components/Nora/Radio.html.twig": {
144
- "sha256": "bbf5a772cae54a5c9bf1ab982e5bafecb223b636a887a422e232275f10ac20ae",
145
- "sri": "sha384-3evR9/u56rNXGfIcmGMRVkzLDZ1gKoGvhfF3+oGhADrrodZcdTcpe/3YjxlCeOFj",
144
+ "sha256": "94219c2e8b993b71c1baca515bc78361460da422131bab1adba9151617e79b91",
145
+ "sri": "sha384-4I1O9TYxWWUHQvIWnODGr47Ihfl8KNTX25KCr0xY5gdaiuBKoAfN1DBjGLZOKcOf",
146
146
  "bytes": 853,
147
147
  "gzip": 533
148
148
  },
149
149
  "symfony/templates/components/Nora/Select.html.twig": {
150
- "sha256": "bdd83db2c7a42cc3f95459502fe1c0d5dbfad58b7603fa64895eab7e2d7e8eda",
151
- "sri": "sha384-dJ6dBRKSkrl0wtwf3CX2xuk1hrYwHigOqPeA1/5UfrPTwkrsK9ual0jWVib1LfBU",
150
+ "sha256": "148c2cb78da7097e84050fd0e465db05bb549b833cd8d1490923fd7b8aec38c2",
151
+ "sri": "sha384-41onPmFXkbuopfwJVeotexLTCfbSsxTlneIwyPsGQFiR/W0nGeyqgeAGsYmcspPa",
152
152
  "bytes": 815,
153
153
  "gzip": 510
154
154
  },
155
155
  "symfony/templates/components/Nora/Switch.html.twig": {
156
- "sha256": "304ce0d5b6b385d0e3ddf25e52a549c890ac975d99c6fa64035837ddd6600072",
157
- "sri": "sha384-Md2xCr2oONQOyAPYG0NhvWbudizhJTcANws2T47IaxDQmy+uHB+EiknxzZ7ozHgI",
156
+ "sha256": "2723ff2466cb35a66c7bee9ec61858f04437917e0603200ce22e5ab0d540629c",
157
+ "sri": "sha384-0OSrw6SC0q/cdRZzpdBpAQ2f8QcYwDMAwWHVEVQG56rZx7uIz5YOi9MTMyQb1VLc",
158
158
  "bytes": 856,
159
159
  "gzip": 535
160
160
  },
161
161
  "symfony/templates/components/Nora/Textarea.html.twig": {
162
- "sha256": "a23df8f0948b0a67fc002703505d9bdfdeb19f1afdc0ce94b75ce7bbccae72d2",
163
- "sri": "sha384-JSPl5V5oqzDfj/NdGrb/JnYrRRr7NXrXDXT2R0HkGCVTku7UA6l0H3OCQMHf9zU2",
162
+ "sha256": "392c8bea6b8b5009974fd8139984ffdbdaa9f04ee9d084edff417f55d0964e96",
163
+ "sri": "sha384-CDFFrVO8v2vFDp77ZLHkMcwNViBnzKQD3oabKdgouDjzT2dBuHqgt2mkfFkwOubr",
164
164
  "bytes": 825,
165
165
  "gzip": 512
166
166
  },
167
167
  "manifest.json": {
168
- "sha256": "8e51db1e88ae8c089521b195cefbc9e0131008838da5ac6eaf690f26aae37374",
169
- "sri": "sha384-A6KoLVolHGFOaffojfKpLj+RFw+/xNSJDXMCCA/+LAPOrH+XE5+qAW+RDFBdA2r8",
168
+ "sha256": "261a0f02420e59588d5b1c2d3f3f375dd5d8c4c3f7b73f5276f0cd3c30e0ac4f",
169
+ "sri": "sha384-sfKii/TJ2Mfo7zMZvBSK+trft/wmepHfawaG2qn8/+R8pMai74I/rbHa8DEYXpA/",
170
170
  "bytes": 29097,
171
171
  "gzip": 5758
172
172
  },
173
173
  "llms-full.txt": {
174
- "sha256": "4bc38d62e6bd8651ef143e0ed1dddea562754b88d2e62f0297570682a776483f",
175
- "sri": "sha384-Oy/IWoAR39Bv8l+dFXIKvCf/axx0JVAiN04/Dd6A6DNyL+04LUNSMuY4dpJjCC2t",
174
+ "sha256": "1b05391f1d60461d30ce18a3e259e3802bcd15200267e28d7a8571b2e07cf427",
175
+ "sri": "sha384-+TIA5j9/n4U79Wd/XHFDVHhbHE1AmLo7AZ9KF52aZuBab/KKsO6xKTeaWI1v+lvH",
176
176
  "bytes": 16080,
177
177
  "gzip": 4786
178
178
  },
179
179
  "fx/fx-scroll.js": {
180
- "sha256": "acdab3b1772d615e0f07cc893408a6ba776b482239cb4a3aa3a2b25f5ee0de6c",
181
- "sri": "sha384-VQbKp+gINmJJiVLobMq17yiuxlvlp8CSEBtte+WLihyNfXT5bJQsu0YayvARv+hI",
180
+ "sha256": "9dd2a584efb24a077b4c39fa4014013eac90685b8ab6a2a791d191b3746a26e6",
181
+ "sri": "sha384-HXxGXxh9xlOR5OawA/zAaWHuMk1OBoxhyu38aJb3zGBK8bduxtZgdzHtSLrvJFmE",
182
182
  "bytes": 3705,
183
183
  "gzip": 1373
184
184
  },
185
185
  "fx/fx-scroll.css": {
186
- "sha256": "ff3878573d76ec34d6aded8a76aa1cfbd1bb498ec833bcfc2cc43b8dc60a69bd",
187
- "sri": "sha384-htBawyvgJuvYwg81MnCJ+Lqcs/hkhGHlVi//Q1dUN3x5nrMSGYnQtg0OrOnCm/eJ",
186
+ "sha256": "8de26f7c22c5813e61675512d22f151213aba65b2c2a5337bf340065f8e8053b",
187
+ "sri": "sha384-nZBqhyMn4j/d+DutngEX5f+g9u3xcRZTVEL2AyvFcrb3d66VY8ArsXCknKhini4z",
188
188
  "bytes": 1066,
189
189
  "gzip": 574
190
190
  },
191
191
  "fx/fx-text.js": {
192
- "sha256": "0de0d5ee7c8809f132beb03a670332286f1511d316ecfad8515c117db9c1f979",
193
- "sri": "sha384-021vDaGtTuQA3cFJ5FC16rRPXQnNLs6o3wf/tRi0Uh38Q85cpT41Zy1TxMCKUyCc",
192
+ "sha256": "a3368b94921fdfbb071dafd3bd941bb784821f751b810117388a390c11d852b2",
193
+ "sri": "sha384-jmJHTRc9wmEy/V3/bmkOO1br6X/3Bwqxsm8kgtVbC/VDHStPqqoD9clAAg+sBicR",
194
194
  "bytes": 3872,
195
195
  "gzip": 1598
196
196
  },
197
197
  "fx/fx-text.css": {
198
- "sha256": "c84b17857e57b48389cff7384b27a68b228c269c07742a21d8865e2dcfa4cc24",
199
- "sri": "sha384-cohlnluVNDvbuEEuLQYq9GwddhteaMyqw5UR9DegCB0+EQQU2psfhuyq40TkR6hg",
198
+ "sha256": "84468dfe3576ab1e863947e4afb2d1bca2a39396f646b18030f96a7963464eec",
199
+ "sri": "sha384-duEN4c4vzoHkATt7O576zuuGcmqGjnlOefWGBb5UUfUEZl1WBhIat3x9E5boFnQ7",
200
200
  "bytes": 1155,
201
201
  "gzip": 631
202
202
  },
203
203
  "flutter/noraivoire_fx.dart": {
204
- "sha256": "f86670c340a51eca03d82c4adc93680342b3d2f7a46b1021fc025fe74b122ac8",
205
- "sri": "sha384-gWpnWbiX4f76jFqMEYU1gN67gYb53rEdc/q4Qg+Tj+5ay2SbcIqXKVAw6+PD2hUP",
204
+ "sha256": "7f7ab8a11fc4ae8bcf41239cc9c152a3a0993463cf62fa729da6c825ad163848",
205
+ "sri": "sha384-+TAUHw8YnI7bPs50F1T8+PHuHnER5l5bFmRodjOHYNlKT2+282MrbMUFBTWtPhdO",
206
206
  "bytes": 4204,
207
207
  "gzip": 1807
208
208
  },
209
209
  "react-native/noraivoire-fx.tsx": {
210
- "sha256": "ad041ee609ba1a33445bc2563d293b69c277e5b2bc68622c3d2bace8f8de41bb",
211
- "sri": "sha384-DQTu7f8U/2jMKVScZGxRblc1c0wLPpSVJbWU6ygQFLIgfgeLSDEB02why+6aQIlW",
210
+ "sha256": "8e910114029c24186acc259d15c2d54ae5457adaaa43def8ff67a3a21832283b",
211
+ "sri": "sha384-wNAIHqgecbp2brKDZN5NiqOcqn36O0jR0rYi5cF9YeXYRgQFfB0wH4en8yGryBsP",
212
212
  "bytes": 3464,
213
213
  "gzip": 1641
214
214
  }
@@ -1,4 +1,4 @@
1
- # NoraIvoire 0.1.0
1
+ # NoraIvoire 0.1.2
2
2
 
3
3
  > Langage de design universel : une spec → CSS (HTML, Twig, JSP, React, Next.js, Vue, Angular), Flutter et React Native.
4
4
  > Logiciel propriétaire © Jonathan KABLAN. Ce fichier est le contrat complet de l'API : n'utilise RIEN qui n'y figure pas.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://noraivoire.local/schema/manifest-1.json",
3
3
  "name": "NoraIvoire",
4
- "version": "0.1.0",
4
+ "version": "0.1.2",
5
5
  "license": "UNLICENSED — propriétaire, © Jonathan KABLAN",
6
6
  "grammar": {
7
7
  "component": ".{composant}",
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
 
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * NoraIvoire 0.1.0 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main.
2
+ * NoraIvoire 0.1.2 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main.
3
3
  * © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  * Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  */
@@ -17,7 +17,7 @@
17
17
  @layer nora.tokens {
18
18
  :root {
19
19
  color-scheme: light dark;
20
- --nora-color-primary: #C94A0B;
20
+ --nora-color-primary: #C1470B;
21
21
  --nora-color-on-primary: #FFFFFF;
22
22
  --nora-color-neutral: #3B3F46;
23
23
  --nora-color-on-neutral: #FFFFFF;
@@ -25,7 +25,7 @@
25
25
  --nora-color-on-danger: #FFFFFF;
26
26
  --nora-color-success: #1B7F3B;
27
27
  --nora-color-on-success: #FFFFFF;
28
- --nora-color-warning: #B35C00;
28
+ --nora-color-warning: #AC5800;
29
29
  --nora-color-on-warning: #FFFFFF;
30
30
  --nora-color-surface: #FFFFFF;
31
31
  --nora-color-surface-2: #F4F5F7;
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
  export type NoraOptionSchema = Record<string, { type: 'number'; default: number; min?: number; max?: number } | { type: 'boolean'; default: boolean }>;
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (js) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
 
@@ -1 +1 @@
1
- /*! * NoraIvoire 0.1.0 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main. * © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés. * Usage soumis au contrat de licence NoraIvoire. Redistribution interdite. */ *, *::before, *::after{box-sizing: border-box}:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd){margin: 0}:where(img, picture, video, canvas, svg){display: block;max-inline-size: 100%}:where(input, button, textarea, select){font: inherit}:where(p, h1, h2, h3){overflow-wrap: break-word}:root{color-scheme: light dark;--nora-color-primary: #C94A0B;--nora-color-on-primary: #FFFFFF;--nora-color-neutral: #3B3F46;--nora-color-on-neutral: #FFFFFF;--nora-color-danger: #C92A2A;--nora-color-on-danger: #FFFFFF;--nora-color-success: #1B7F3B;--nora-color-on-success: #FFFFFF;--nora-color-warning: #B35C00;--nora-color-on-warning: #FFFFFF;--nora-color-surface: #FFFFFF;--nora-color-surface-2: #F4F5F7;--nora-color-text: #16181D;--nora-color-text-muted: #5C626B;--nora-color-border: #DDE0E4;--nora-color-focus: #1C7ED6;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF;--nora-space-0: 0rem;--nora-space-1: 0.25rem;--nora-space-2: 0.5rem;--nora-space-3: 0.75rem;--nora-space-4: 1rem;--nora-space-6: 1.5rem;--nora-space-8: 2rem;--nora-space-12: 3rem;--nora-radius-none: 0px;--nora-radius-sm: 4px;--nora-radius-md: 8px;--nora-radius-lg: 16px;--nora-radius-full: 9999px;--nora-font-sm: 0.875rem;--nora-font-md: 1rem;--nora-font-lg: 1.125rem;--nora-font-xl: 1.5rem;--nora-duration-fast: 150ms;--nora-duration-base: 250ms;--nora-duration-slow: 400ms}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}}:root[data-theme="dark"]{--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}:where(body){font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size: var(--nora-font-md);line-height: 1.5;color: var(--nora-color-text);background: var(--nora-color-surface);-webkit-font-smoothing: antialiased}:where(:focus-visible){outline: 2px solid var(--nora-color-focus);outline-offset: 2px}@media (prefers-reduced-motion: reduce){:where(*, *::before, *::after){animation-duration: 0.01ms;animation-iteration-count: 1;transition-duration: 0.01ms;scroll-behavior: auto}}:where(.container){inline-size: min(100% - 2rem, 72rem);margin-inline: auto}:where(.stack){display: flex;flex-direction: column;gap: var(--stack-gap, var(--nora-space-4))}:where(.cluster){display: flex;flex-wrap: wrap;align-items: center;gap: var(--cluster-gap, var(--nora-space-2))}:where(.grid-auto){display: grid;gap: var(--grid-gap, var(--nora-space-4));grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min, 16rem)), 1fr))}:where(.cq){container-type: inline-size}:where(.avatar){--avatar-bg: var(--nora-color-neutral);--avatar-fg: var(--nora-color-on-neutral);--avatar-radius: var(--nora-radius-full);--avatar-ring: var(--nora-color-surface);--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-md);--avatar-box: 2.5rem;display: inline-flex;align-items: center;justify-content: center;flex: none;vertical-align: middle;inline-size: var(--avatar-box);block-size: var(--avatar-box);border-radius: var(--avatar-radius);overflow: hidden;background-color: var(--avatar-bg);color: var(--avatar-fg);font-size: var(--avatar-font);font-weight: 600;line-height: 1;text-transform: uppercase;object-fit: cover;user-select: none}:where(.avatar[data-tone="primary"]){--avatar-bg: var(--nora-color-primary);--avatar-fg: var(--nora-color-on-primary)}:where(.avatar[data-tone="danger"]){--avatar-bg: var(--nora-color-danger);--avatar-fg: var(--nora-color-on-danger)}:where(.avatar[data-tone="success"]){--avatar-bg: var(--nora-color-success);--avatar-fg: var(--nora-color-on-success)}:where(.avatar[data-tone="warning"]){--avatar-bg: var(--nora-color-warning);--avatar-fg: var(--nora-color-on-warning)}:where(.avatar[data-size="sm"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-sm);--avatar-box: 2rem}:where(.avatar[data-size="lg"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-xl);--avatar-box: 4rem}:where(.avatar-group){display: inline-flex;align-items: center}:where(.avatar-group > .avatar){box-shadow: 0 0 0 2px var(--avatar-ring)}:where(.avatar-group > .avatar + .avatar){margin-inline-start: calc(var(--avatar-box) * -0.25)}@media (forced-colors: active){:where(.avatar){border: 1px solid CanvasText}}:where(.badge){--badge-bg: var(--nora-color-neutral);--badge-fg: var(--nora-color-on-neutral);--badge-radius: var(--nora-radius-full);--badge-pad-y: 0.125rem;--badge-pad-x: 0.5rem;--badge-font: var(--nora-font-sm);padding-block: var(--badge-pad-y);padding-inline: var(--badge-pad-x);font-size: var(--badge-font);background: var(--badge-bg);color: var(--badge-fg);border-radius: var(--badge-radius);display: inline-flex;align-items: center;inline-size: fit-content;font-weight: 600;line-height: 1;white-space: nowrap}:where(.badge[data-tone="primary"]){--badge-bg: var(--nora-color-primary);--badge-fg: var(--nora-color-on-primary)}:where(.badge[data-tone="danger"]){--badge-bg: var(--nora-color-danger);--badge-fg: var(--nora-color-on-danger)}:where(.badge[data-tone="success"]){--badge-bg: var(--nora-color-success);--badge-fg: var(--nora-color-on-success)}:where(.badge[data-tone="warning"]){--badge-bg: var(--nora-color-warning);--badge-fg: var(--nora-color-on-warning)}:where(.badge[data-size="md"]){--badge-pad-y: 0.25rem;--badge-pad-x: 0.75rem;--badge-font: var(--nora-font-md)}:where(.btn){--btn-bg: var(--nora-color-primary);--btn-fg: var(--nora-color-on-primary);--btn-radius: var(--nora-radius-md);--btn-pad-y: 0.625rem;--btn-pad-x: 1.25rem;--btn-font: var(--nora-font-md);padding-block: var(--btn-pad-y);padding-inline: var(--btn-pad-x);font-size: var(--btn-font);background: var(--btn-bg);color: var(--btn-fg);border-radius: var(--btn-radius);display: inline-flex;align-items: center;justify-content: center;gap: 0.5em;min-block-size: 44px;min-inline-size: 44px;border: 0;font-weight: 600;line-height: 1.2;text-decoration: none;cursor: pointer;user-select: none;-webkit-tap-highlight-color: transparent;transition: background-color var(--nora-duration-fast) ease, transform var(--nora-duration-fast) ease}:where(.btn[data-tone="neutral"]){--btn-bg: var(--nora-color-neutral);--btn-fg: var(--nora-color-on-neutral)}:where(.btn[data-tone="danger"]){--btn-bg: var(--nora-color-danger);--btn-fg: var(--nora-color-on-danger)}:where(.btn[data-tone="success"]){--btn-bg: var(--nora-color-success);--btn-fg: var(--nora-color-on-success)}:where(.btn[data-tone="warning"]){--btn-bg: var(--nora-color-warning);--btn-fg: var(--nora-color-on-warning)}:where(.btn[data-size="sm"]){--btn-pad-y: 0.375rem;--btn-pad-x: 0.75rem;--btn-font: var(--nora-font-sm)}:where(.btn[data-size="lg"]){--btn-pad-y: 0.875rem;--btn-pad-x: 1.75rem;--btn-font: var(--nora-font-lg)}:where(.btn:hover:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 6%)}:where(.btn:active:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 12%);transform: scale(0.97)}:where(.btn:disabled, .btn[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.card){--card-bg: var(--nora-color-surface);--card-fg: var(--nora-color-text);--card-radius: var(--nora-radius-lg);--card-border: var(--nora-color-border);--card-pad-y: 1rem;--card-pad-x: 1rem;--card-font: var(--nora-font-md);padding-block: var(--card-pad-y);padding-inline: var(--card-pad-x);font-size: var(--card-font);background: var(--card-bg);color: var(--card-fg);border-radius: var(--card-radius);display: block;border: 1px solid var(--card-border)}:where(.card[data-size="sm"]){--card-pad-y: 0.75rem;--card-pad-x: 0.75rem;--card-font: var(--nora-font-sm)}:where(.card[data-size="lg"]){--card-pad-y: 1.5rem;--card-pad-x: 1.5rem;--card-font: var(--nora-font-md)}:where(.checkbox){--checkbox-bg: var(--nora-color-surface);--checkbox-fg: var(--nora-color-text);--checkbox-radius: var(--nora-radius-sm);--checkbox-border: var(--nora-color-text-muted);--checkbox-accent: var(--nora-color-primary);--checkbox-on-accent: var(--nora-color-on-primary);--checkbox-focus: var(--nora-color-focus);--checkbox-invalid: var(--nora-color-danger);--checkbox-pad-y: 0.375rem;--checkbox-pad-x: 0.625rem;--checkbox-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--checkbox-pad-x);min-block-size: 44px;padding-block: var(--checkbox-pad-y);font-size: var(--checkbox-font);line-height: 1.3;color: var(--checkbox-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.checkbox[data-tone="neutral"]){--checkbox-accent: var(--nora-color-neutral);--checkbox-on-accent: var(--nora-color-on-neutral)}:where(.checkbox[data-tone="danger"]){--checkbox-accent: var(--nora-color-danger);--checkbox-on-accent: var(--nora-color-on-danger)}:where(.checkbox[data-tone="success"]){--checkbox-accent: var(--nora-color-success);--checkbox-on-accent: var(--nora-color-on-success)}:where(.checkbox[data-tone="warning"]){--checkbox-accent: var(--nora-color-warning);--checkbox-on-accent: var(--nora-color-on-warning)}:where(.checkbox[data-size="sm"]){--checkbox-pad-y: 0.25rem;--checkbox-pad-x: 0.5rem;--checkbox-font: var(--nora-font-sm)}:where(.checkbox[data-size="lg"]){--checkbox-pad-y: 0.5rem;--checkbox-pad-x: 0.75rem;--checkbox-font: var(--nora-font-lg)}:where(.checkbox) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--checkbox-bg);border: 2px solid var(--checkbox-border);border-radius: var(--checkbox-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.checkbox) > :where(input)::before{content: "";inline-size: 0.7em;block-size: 0.7em;background: var(--checkbox-on-accent);clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.checkbox) > :where(input:indeterminate)::before{clip-path: inset(40% 0);transform: scale(1)}:where(.checkbox) > :where(input:checked)::before{transform: scale(1)}:where(.checkbox) > :where(input:checked, input:indeterminate){background-color: var(--checkbox-accent);border-color: var(--checkbox-accent)}:where(.checkbox) > :where(input:focus-visible){outline: 2px solid var(--checkbox-focus);outline-offset: 2px}:where(.checkbox) > :where(input[aria-invalid="true"]){border-color: var(--checkbox-invalid)}:where(.checkbox:has(> input:disabled), .checkbox[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.checkbox) > :where(input){appearance: auto}}:where(.field){--field-fg: var(--nora-color-text);--field-muted: var(--nora-color-text-muted);--field-invalid: var(--nora-color-danger);--field-pad-y: 0.375rem;--field-pad-x: 0rem;--field-font: var(--nora-font-md);display: flex;flex-direction: column;gap: var(--field-pad-y);min-inline-size: 0;margin: 0;padding: 0;border: 0;font-size: var(--field-font);color: var(--field-fg)}:where(.field[data-size="sm"]){--field-pad-y: 0.25rem;--field-pad-x: 0rem;--field-font: var(--nora-font-sm)}:where(.field[data-size="lg"]){--field-pad-y: 0.5rem;--field-pad-x: 0rem;--field-font: var(--nora-font-lg)}:where(.field-label){font-weight: 600;line-height: 1.3;padding: 0}:where(.field-help){margin: 0;font-size: 0.875em;color: var(--field-muted)}:where(.field-error){margin: 0;font-size: 0.875em;font-weight: 600;color: var(--field-invalid)}:where(.field-error:empty){display: none}:where(.field:has(:disabled):not(:has(:enabled))) > :where(.field-label){opacity: 0.5}:where(.input){--input-bg: var(--nora-color-surface);--input-fg: var(--nora-color-text);--input-radius: var(--nora-radius-md);--input-border: var(--nora-color-text-muted);--input-muted: var(--nora-color-text-muted);--input-focus: var(--nora-color-focus);--input-invalid: var(--nora-color-danger);--input-pad-y: 0.625rem;--input-pad-x: 0.75rem;--input-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--input-pad-y);padding-inline: var(--input-pad-x);font-size: var(--input-font);line-height: 1.4;color: var(--input-fg);background-color: var(--input-bg);border: 1px solid var(--input-border);border-radius: var(--input-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease}:where(.input[data-size="sm"]){--input-pad-y: 0.375rem;--input-pad-x: 0.625rem;--input-font: var(--nora-font-sm)}:where(.input[data-size="lg"]){--input-pad-y: 0.75rem;--input-pad-x: 1rem;--input-font: var(--nora-font-lg)}:where(.input)::placeholder{color: var(--input-muted);opacity: 1}:where(.input:focus-visible){outline: 2px solid var(--input-focus);outline-offset: 1px;border-color: var(--input-focus)}:where(.input[aria-invalid="true"]){border-color: var(--input-invalid)}:where(.input[aria-invalid="true"]:focus-visible){outline-color: var(--input-invalid)}:where(.input:disabled, .input[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.link){--link-fg: var(--nora-color-primary);--link-visited: var(--nora-color-text-muted);--link-focus: var(--nora-color-focus);--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-md);color: var(--link-fg);text-decoration-line: underline;text-decoration-thickness: 1px;text-underline-offset: 0.2em;border-radius: 2px;cursor: pointer;transition: text-decoration-thickness var(--nora-duration-fast) ease, color var(--nora-duration-fast) ease}:where(.link[data-tone="neutral"]){--link-fg: var(--nora-color-neutral)}:where(.link[data-tone="danger"]){--link-fg: var(--nora-color-danger)}:where(.link[data-tone="success"]){--link-fg: var(--nora-color-success)}:where(.link[data-tone="warning"]){--link-fg: var(--nora-color-warning)}:where(.link[data-size="sm"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-sm)}:where(.link[data-size="lg"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-lg)}:where(.link[data-size]){font-size: var(--link-font)}:where(.link:hover){text-decoration-thickness: 2px}:where(.link:focus-visible){outline: 2px solid var(--link-focus);outline-offset: 2px;text-decoration-thickness: 2px}:where(.link[data-visited]:visited){color: var(--link-visited)}:where(.link[target="_blank"], .link[rel~="external"])::after{content: "\2197";content: "\2197" / "";display: inline-block;margin-inline-start: 0.15em;text-decoration: none}:where(.link[target="_blank"]:dir(rtl), .link[rel~="external"]:dir(rtl))::after{content: "\2196";content: "\2196" / ""}:where(.media){--media-bg: var(--nora-color-surface-2);--media-fg: var(--nora-color-text-muted);--media-radius: var(--nora-radius-lg);--media-scrim: var(--nora-color-scrim);--media-on-scrim: var(--nora-color-on-scrim);--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 16 / 9;display: grid;margin: 0;min-inline-size: 0;isolation: isolate}:where(.media[data-size="standard"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 4 / 3}:where(.media[data-size="square"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 1 / 1}:where(.media[data-size="portrait"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 3 / 4}:where(.media) > :where(img, picture, video, svg, canvas, iframe){grid-area: 1 / 1;display: block;inline-size: 100%;block-size: auto;aspect-ratio: var(--media-ratio);object-fit: cover;border-radius: var(--media-radius);background-color: var(--media-bg);overflow: hidden}:where(.media) > :where(picture) > :where(img){inline-size: 100%;block-size: 100%;object-fit: cover}:where(.media-overlay){grid-area: 1 / 1;align-self: end;z-index: 1;padding-block: 3em var(--media-pad-y);padding-inline: var(--media-pad-x);color: var(--media-on-scrim);font-weight: 600;text-shadow: 0 1px 2px rgb(0 0 0 / 0.45);background: linear-gradient(to top, color-mix(in srgb, var(--media-scrim) 85%, transparent), transparent);border-end-start-radius: var(--media-radius);border-end-end-radius: var(--media-radius)}@media (forced-colors: active){:where(.media-overlay){background: Canvas;color: CanvasText;text-shadow: none}}:where(.media-caption){padding-block-start: var(--media-pad-y);font-size: var(--media-font);color: var(--media-fg)}:where(.navbar){--navbar-bg: var(--nora-color-surface);--navbar-fg: var(--nora-color-text);--navbar-muted: var(--nora-color-text-muted);--navbar-border: var(--nora-color-border);--navbar-active: var(--nora-color-primary);--navbar-focus: var(--nora-color-focus);--navbar-pad-y: 0.5rem;--navbar-pad-x: 1rem;--navbar-font: var(--nora-font-md);display: flex;flex-wrap: wrap;align-items: center;column-gap: var(--navbar-pad-x);row-gap: var(--navbar-pad-y);padding-block: var(--navbar-pad-y);padding-inline: var(--navbar-pad-x);font-size: var(--navbar-font);color: var(--navbar-fg);background-color: var(--navbar-bg);border-block-end: 1px solid var(--navbar-border)}:where(.navbar[data-size="sm"]){--navbar-pad-y: 0.25rem;--navbar-pad-x: 0.75rem;--navbar-font: var(--nora-font-sm)}:where(.navbar[data-size="lg"]){--navbar-pad-y: 0.75rem;--navbar-pad-x: 1.5rem;--navbar-font: var(--nora-font-lg)}:where(.navbar-brand){display: inline-flex;align-items: center;gap: 0.5em;min-block-size: 44px;margin-inline-end: auto;font-weight: 700;font-size: 1.125em;color: inherit;text-decoration: none}:where(.navbar-menu){display: flex;align-items: center;gap: 0.25em;min-inline-size: 0;margin: 0;padding: 0;list-style: none;overflow-x: auto;scroll-snap-type: x proximity;scrollbar-width: thin}:where(.navbar-menu) > :where(li){flex: none;scroll-snap-align: start}:where(.navbar-menu) :where(a){display: inline-flex;align-items: center;min-block-size: 44px;padding-inline: 0.75em;color: var(--navbar-muted);font-weight: 500;text-decoration: none;white-space: nowrap;border-radius: var(--nora-radius-md);transition: color var(--nora-duration-fast) ease, background-color var(--nora-duration-fast) ease}:where(.navbar-menu) :where(a:hover){color: var(--navbar-fg);background-color: color-mix(in srgb, var(--navbar-fg) 6%, transparent)}:where(.navbar-menu) :where(a:focus-visible){outline: 2px solid var(--navbar-focus);outline-offset: -2px}:where(.navbar-menu) :where(a[aria-current="page"]){color: var(--navbar-active);font-weight: 600;box-shadow: inset 0 -2px 0 var(--navbar-active)}@media (max-width: 40rem){:where(.navbar-menu){order: 3;flex-basis: 100%}}@media (forced-colors: active){:where(.navbar-menu) :where(a[aria-current="page"]){text-decoration: underline;text-decoration-thickness: 2px}}:where(.navbar-actions){display: flex;flex-wrap: wrap;align-items: center;gap: 0.5em}:where(.radio){--radio-bg: var(--nora-color-surface);--radio-fg: var(--nora-color-text);--radio-radius: var(--nora-radius-full);--radio-border: var(--nora-color-text-muted);--radio-accent: var(--nora-color-primary);--radio-on-accent: var(--nora-color-on-primary);--radio-focus: var(--nora-color-focus);--radio-invalid: var(--nora-color-danger);--radio-pad-y: 0.375rem;--radio-pad-x: 0.625rem;--radio-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--radio-pad-x);min-block-size: 44px;padding-block: var(--radio-pad-y);font-size: var(--radio-font);line-height: 1.3;color: var(--radio-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.radio[data-tone="neutral"]){--radio-accent: var(--nora-color-neutral);--radio-on-accent: var(--nora-color-on-neutral)}:where(.radio[data-tone="danger"]){--radio-accent: var(--nora-color-danger);--radio-on-accent: var(--nora-color-on-danger)}:where(.radio[data-tone="success"]){--radio-accent: var(--nora-color-success);--radio-on-accent: var(--nora-color-on-success)}:where(.radio[data-tone="warning"]){--radio-accent: var(--nora-color-warning);--radio-on-accent: var(--nora-color-on-warning)}:where(.radio[data-size="sm"]){--radio-pad-y: 0.25rem;--radio-pad-x: 0.5rem;--radio-font: var(--nora-font-sm)}:where(.radio[data-size="lg"]){--radio-pad-y: 0.5rem;--radio-pad-x: 0.75rem;--radio-font: var(--nora-font-lg)}:where(.radio) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--radio-bg);border: 2px solid var(--radio-border);border-radius: var(--radio-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.radio) > :where(input)::before{content: "";inline-size: 0.5em;block-size: 0.5em;border-radius: 50%;background: var(--radio-on-accent);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.radio) > :where(input:checked)::before{transform: scale(1)}:where(.radio) > :where(input:checked){background-color: var(--radio-accent);border-color: var(--radio-accent)}:where(.radio) > :where(input:focus-visible){outline: 2px solid var(--radio-focus);outline-offset: 2px}:where(.radio) > :where(input[aria-invalid="true"]){border-color: var(--radio-invalid)}:where(.radio:has(> input:disabled), .radio[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.radio) > :where(input){appearance: auto}}:where(.select){--select-bg: var(--nora-color-surface);--select-fg: var(--nora-color-text);--select-radius: var(--nora-radius-md);--select-border: var(--nora-color-text-muted);--select-muted: var(--nora-color-text-muted);--select-focus: var(--nora-color-focus);--select-invalid: var(--nora-color-danger);--select-pad-y: 0.625rem;--select-pad-x: 0.75rem;--select-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--select-pad-y);padding-inline: var(--select-pad-x);font-size: var(--select-font);line-height: 1.4;color: var(--select-fg);background-color: var(--select-bg);border: 1px solid var(--select-border);border-radius: var(--select-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;appearance: none;padding-inline-end: calc(var(--select-pad-x) + 1.25em);background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);background-position: calc(100% - var(--select-pad-x) - 0.375em) 50%, calc(100% - var(--select-pad-x)) 50%;background-size: 0.375em 0.375em;background-repeat: no-repeat}:where(.select[data-size="sm"]){--select-pad-y: 0.375rem;--select-pad-x: 0.625rem;--select-font: var(--nora-font-sm)}:where(.select[data-size="lg"]){--select-pad-y: 0.75rem;--select-pad-x: 1rem;--select-font: var(--nora-font-lg)}:where(.select[multiple], .select[size]){background-image: none;padding-inline-end: var(--select-pad-x)}:where(.select)::placeholder{color: var(--select-muted);opacity: 1}:where(.select:focus-visible){outline: 2px solid var(--select-focus);outline-offset: 1px;border-color: var(--select-focus)}:where(.select[aria-invalid="true"]){border-color: var(--select-invalid)}:where(.select[aria-invalid="true"]:focus-visible){outline-color: var(--select-invalid)}:where(.select:disabled, .select[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.switch){--switch-bg: var(--nora-color-surface);--switch-fg: var(--nora-color-text);--switch-radius: var(--nora-radius-full);--switch-border: var(--nora-color-text-muted);--switch-accent: var(--nora-color-primary);--switch-on-accent: var(--nora-color-on-primary);--switch-focus: var(--nora-color-focus);--switch-invalid: var(--nora-color-danger);--switch-pad-y: 0.375rem;--switch-pad-x: 0.625rem;--switch-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--switch-pad-x);min-block-size: 44px;padding-block: var(--switch-pad-y);font-size: var(--switch-font);line-height: 1.3;color: var(--switch-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.switch[data-tone="neutral"]){--switch-accent: var(--nora-color-neutral);--switch-on-accent: var(--nora-color-on-neutral)}:where(.switch[data-tone="danger"]){--switch-accent: var(--nora-color-danger);--switch-on-accent: var(--nora-color-on-danger)}:where(.switch[data-tone="success"]){--switch-accent: var(--nora-color-success);--switch-on-accent: var(--nora-color-on-success)}:where(.switch[data-tone="warning"]){--switch-accent: var(--nora-color-warning);--switch-on-accent: var(--nora-color-on-warning)}:where(.switch[data-size="sm"]){--switch-pad-y: 0.25rem;--switch-pad-x: 0.5rem;--switch-font: var(--nora-font-sm)}:where(.switch[data-size="lg"]){--switch-pad-y: 0.5rem;--switch-pad-x: 0.75rem;--switch-font: var(--nora-font-lg)}:where(.switch) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-flex;align-items: center;inline-size: 2.25em;block-size: 1.25em;background-color: var(--switch-border);border: 2px solid var(--switch-border);border-radius: var(--switch-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.switch) > :where(input)::before{content: "";inline-size: calc(1.25em - 8px);block-size: calc(1.25em - 8px);margin-inline-start: 2px;border-radius: 50%;background: var(--switch-bg);transition: transform var(--nora-duration-fast) ease}:where(.switch) > :where(input:checked)::before{transform: translateX(1em);background: var(--switch-on-accent)}:where(.switch:dir(rtl)) > :where(input:checked)::before{transform: translateX(-1em)}:where(.switch) > :where(input:checked){background-color: var(--switch-accent);border-color: var(--switch-accent)}:where(.switch) > :where(input:focus-visible){outline: 2px solid var(--switch-focus);outline-offset: 2px}:where(.switch) > :where(input[aria-invalid="true"]){border-color: var(--switch-invalid)}:where(.switch:has(> input:disabled), .switch[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.switch) > :where(input){appearance: auto}}:where(.textarea){--textarea-bg: var(--nora-color-surface);--textarea-fg: var(--nora-color-text);--textarea-radius: var(--nora-radius-md);--textarea-border: var(--nora-color-text-muted);--textarea-muted: var(--nora-color-text-muted);--textarea-focus: var(--nora-color-focus);--textarea-invalid: var(--nora-color-danger);--textarea-pad-y: 0.625rem;--textarea-pad-x: 0.75rem;--textarea-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 6rem;padding-block: var(--textarea-pad-y);padding-inline: var(--textarea-pad-x);font-size: var(--textarea-font);line-height: 1.4;color: var(--textarea-fg);background-color: var(--textarea-bg);border: 1px solid var(--textarea-border);border-radius: var(--textarea-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;resize: vertical}:where(.textarea[data-size="sm"]){--textarea-pad-y: 0.375rem;--textarea-pad-x: 0.625rem;--textarea-font: var(--nora-font-sm)}:where(.textarea[data-size="lg"]){--textarea-pad-y: 0.75rem;--textarea-pad-x: 1rem;--textarea-font: var(--nora-font-lg)}:where(.textarea)::placeholder{color: var(--textarea-muted);opacity: 1}:where(.textarea:focus-visible){outline: 2px solid var(--textarea-focus);outline-offset: 1px;border-color: var(--textarea-focus)}:where(.textarea[aria-invalid="true"]){border-color: var(--textarea-invalid)}:where(.textarea[aria-invalid="true"]:focus-visible){outline-color: var(--textarea-invalid)}:where(.textarea:disabled, .textarea[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}.fx-glass{background: var(--nora-color-surface)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.fx-glass{background: color-mix(in srgb, var(--nora-color-surface) 60%, transparent);-webkit-backdrop-filter: blur(16px) saturate(140%);backdrop-filter: blur(16px) saturate(140%)}}@keyframes nora-reveal{from{opacity: 0;transform: translateY(24px)}to{opacity: 1;transform: none}}@supports (animation-timeline: view()){[data-fx~="reveal"]{animation: nora-reveal linear both;animation-timeline: view();animation-range: entry 0% cover 30%}}@supports not (animation-timeline: view()){:root[data-nora-engine] [data-fx~="reveal"]{transition: opacity 400ms ease, transform 400ms ease}:root[data-nora-engine] [data-fx~="reveal"]:not([data-fx-visible]){opacity: 0;transform: translateY(24px)}}[data-fx~="tilt"]{position: relative;transform: perspective(800px) rotateX(var(--fx-rx, 0deg)) rotateY(var(--fx-ry, 0deg));transition: transform 150ms ease-out;transform-style: preserve-3d}[data-fx~="tilt"][data-fx-glare]::after{content: "";position: absolute;inset: 0;border-radius: inherit;pointer-events: none;background: radial-gradient(circle at var(--fx-gx, 50%) var(--fx-gy, 50%), rgb(255 255 255 / 0.28), transparent 60%);opacity: var(--fx-glare-o, 0);transition: opacity 200ms ease}@media (prefers-reduced-motion: reduce){[data-fx~="reveal"], [data-fx~="tilt"]{transform: none;animation: none;opacity: 1}}.p-0{padding: var(--nora-space-0)}.px-0{padding-inline: var(--nora-space-0)}.py-0{padding-block: var(--nora-space-0)}.m-0{margin: var(--nora-space-0)}.mx-0{margin-inline: var(--nora-space-0)}.my-0{margin-block: var(--nora-space-0)}.gap-0{gap: var(--nora-space-0)}.p-1{padding: var(--nora-space-1)}.px-1{padding-inline: var(--nora-space-1)}.py-1{padding-block: var(--nora-space-1)}.m-1{margin: var(--nora-space-1)}.mx-1{margin-inline: var(--nora-space-1)}.my-1{margin-block: var(--nora-space-1)}.gap-1{gap: var(--nora-space-1)}.p-2{padding: var(--nora-space-2)}.px-2{padding-inline: var(--nora-space-2)}.py-2{padding-block: var(--nora-space-2)}.m-2{margin: var(--nora-space-2)}.mx-2{margin-inline: var(--nora-space-2)}.my-2{margin-block: var(--nora-space-2)}.gap-2{gap: var(--nora-space-2)}.p-3{padding: var(--nora-space-3)}.px-3{padding-inline: var(--nora-space-3)}.py-3{padding-block: var(--nora-space-3)}.m-3{margin: var(--nora-space-3)}.mx-3{margin-inline: var(--nora-space-3)}.my-3{margin-block: var(--nora-space-3)}.gap-3{gap: var(--nora-space-3)}.p-4{padding: var(--nora-space-4)}.px-4{padding-inline: var(--nora-space-4)}.py-4{padding-block: var(--nora-space-4)}.m-4{margin: var(--nora-space-4)}.mx-4{margin-inline: var(--nora-space-4)}.my-4{margin-block: var(--nora-space-4)}.gap-4{gap: var(--nora-space-4)}.p-6{padding: var(--nora-space-6)}.px-6{padding-inline: var(--nora-space-6)}.py-6{padding-block: var(--nora-space-6)}.m-6{margin: var(--nora-space-6)}.mx-6{margin-inline: var(--nora-space-6)}.my-6{margin-block: var(--nora-space-6)}.gap-6{gap: var(--nora-space-6)}.p-8{padding: var(--nora-space-8)}.px-8{padding-inline: var(--nora-space-8)}.py-8{padding-block: var(--nora-space-8)}.m-8{margin: var(--nora-space-8)}.mx-8{margin-inline: var(--nora-space-8)}.my-8{margin-block: var(--nora-space-8)}.gap-8{gap: var(--nora-space-8)}.p-12{padding: var(--nora-space-12)}.px-12{padding-inline: var(--nora-space-12)}.py-12{padding-block: var(--nora-space-12)}.m-12{margin: var(--nora-space-12)}.mx-12{margin-inline: var(--nora-space-12)}.my-12{margin-block: var(--nora-space-12)}.gap-12{gap: var(--nora-space-12)}.mx-auto{margin-inline: auto}.rounded-none{border-radius: var(--nora-radius-none)}.rounded-sm{border-radius: var(--nora-radius-sm)}.rounded-md{border-radius: var(--nora-radius-md)}.rounded-lg{border-radius: var(--nora-radius-lg)}.rounded-full{border-radius: var(--nora-radius-full)}.text-sm{font-size: var(--nora-font-sm)}.text-md{font-size: var(--nora-font-md)}.text-lg{font-size: var(--nora-font-lg)}.text-xl{font-size: var(--nora-font-xl)}.text-muted{color: var(--nora-color-text-muted)}.text-center{text-align: center}.font-bold{font-weight: 700}.shadow-sm{box-shadow: 0 1px 2px rgb(0 0 0 / 0.08), 0 1px 3px rgb(0 0 0 / 0.06)}.shadow-lg{box-shadow: 0 10px 30px rgb(0 0 0 / 0.12), 0 4px 8px rgb(0 0 0 / 0.06)}.w-full{inline-size: 100%}.hidden{display: none}.sr-only{position: absolute;inline-size: 1px;block-size: 1px;padding: 0;margin: -1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}
1
+ /*! * NoraIvoire 0.1.2 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main. * © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés. * Usage soumis au contrat de licence NoraIvoire. Redistribution interdite. */ *, *::before, *::after{box-sizing: border-box}:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd){margin: 0}:where(img, picture, video, canvas, svg){display: block;max-inline-size: 100%}:where(input, button, textarea, select){font: inherit}:where(p, h1, h2, h3){overflow-wrap: break-word}:root{color-scheme: light dark;--nora-color-primary: #C1470B;--nora-color-on-primary: #FFFFFF;--nora-color-neutral: #3B3F46;--nora-color-on-neutral: #FFFFFF;--nora-color-danger: #C92A2A;--nora-color-on-danger: #FFFFFF;--nora-color-success: #1B7F3B;--nora-color-on-success: #FFFFFF;--nora-color-warning: #AC5800;--nora-color-on-warning: #FFFFFF;--nora-color-surface: #FFFFFF;--nora-color-surface-2: #F4F5F7;--nora-color-text: #16181D;--nora-color-text-muted: #5C626B;--nora-color-border: #DDE0E4;--nora-color-focus: #1C7ED6;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF;--nora-space-0: 0rem;--nora-space-1: 0.25rem;--nora-space-2: 0.5rem;--nora-space-3: 0.75rem;--nora-space-4: 1rem;--nora-space-6: 1.5rem;--nora-space-8: 2rem;--nora-space-12: 3rem;--nora-radius-none: 0px;--nora-radius-sm: 4px;--nora-radius-md: 8px;--nora-radius-lg: 16px;--nora-radius-full: 9999px;--nora-font-sm: 0.875rem;--nora-font-md: 1rem;--nora-font-lg: 1.125rem;--nora-font-xl: 1.5rem;--nora-duration-fast: 150ms;--nora-duration-base: 250ms;--nora-duration-slow: 400ms}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}}:root[data-theme="dark"]{--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}:where(body){font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size: var(--nora-font-md);line-height: 1.5;color: var(--nora-color-text);background: var(--nora-color-surface);-webkit-font-smoothing: antialiased}:where(:focus-visible){outline: 2px solid var(--nora-color-focus);outline-offset: 2px}@media (prefers-reduced-motion: reduce){:where(*, *::before, *::after){animation-duration: 0.01ms;animation-iteration-count: 1;transition-duration: 0.01ms;scroll-behavior: auto}}:where(.container){inline-size: min(100% - 2rem, 72rem);margin-inline: auto}:where(.stack){display: flex;flex-direction: column;gap: var(--stack-gap, var(--nora-space-4))}:where(.cluster){display: flex;flex-wrap: wrap;align-items: center;gap: var(--cluster-gap, var(--nora-space-2))}:where(.grid-auto){display: grid;gap: var(--grid-gap, var(--nora-space-4));grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min, 16rem)), 1fr))}:where(.cq){container-type: inline-size}:where(.avatar){--avatar-bg: var(--nora-color-neutral);--avatar-fg: var(--nora-color-on-neutral);--avatar-radius: var(--nora-radius-full);--avatar-ring: var(--nora-color-surface);--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-md);--avatar-box: 2.5rem;display: inline-flex;align-items: center;justify-content: center;flex: none;vertical-align: middle;inline-size: var(--avatar-box);block-size: var(--avatar-box);border-radius: var(--avatar-radius);overflow: hidden;background-color: var(--avatar-bg);color: var(--avatar-fg);font-size: var(--avatar-font);font-weight: 600;line-height: 1;text-transform: uppercase;object-fit: cover;user-select: none}:where(.avatar[data-tone="primary"]){--avatar-bg: var(--nora-color-primary);--avatar-fg: var(--nora-color-on-primary)}:where(.avatar[data-tone="danger"]){--avatar-bg: var(--nora-color-danger);--avatar-fg: var(--nora-color-on-danger)}:where(.avatar[data-tone="success"]){--avatar-bg: var(--nora-color-success);--avatar-fg: var(--nora-color-on-success)}:where(.avatar[data-tone="warning"]){--avatar-bg: var(--nora-color-warning);--avatar-fg: var(--nora-color-on-warning)}:where(.avatar[data-size="sm"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-sm);--avatar-box: 2rem}:where(.avatar[data-size="lg"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-xl);--avatar-box: 4rem}:where(.avatar-group){display: inline-flex;align-items: center}:where(.avatar-group > .avatar){box-shadow: 0 0 0 2px var(--avatar-ring)}:where(.avatar-group > .avatar + .avatar){margin-inline-start: calc(var(--avatar-box) * -0.25)}@media (forced-colors: active){:where(.avatar){border: 1px solid CanvasText}}:where(.badge){--badge-bg: var(--nora-color-neutral);--badge-fg: var(--nora-color-on-neutral);--badge-radius: var(--nora-radius-full);--badge-pad-y: 0.125rem;--badge-pad-x: 0.5rem;--badge-font: var(--nora-font-sm);padding-block: var(--badge-pad-y);padding-inline: var(--badge-pad-x);font-size: var(--badge-font);background: var(--badge-bg);color: var(--badge-fg);border-radius: var(--badge-radius);display: inline-flex;align-items: center;inline-size: fit-content;font-weight: 600;line-height: 1;white-space: nowrap}:where(.badge[data-tone="primary"]){--badge-bg: var(--nora-color-primary);--badge-fg: var(--nora-color-on-primary)}:where(.badge[data-tone="danger"]){--badge-bg: var(--nora-color-danger);--badge-fg: var(--nora-color-on-danger)}:where(.badge[data-tone="success"]){--badge-bg: var(--nora-color-success);--badge-fg: var(--nora-color-on-success)}:where(.badge[data-tone="warning"]){--badge-bg: var(--nora-color-warning);--badge-fg: var(--nora-color-on-warning)}:where(.badge[data-size="md"]){--badge-pad-y: 0.25rem;--badge-pad-x: 0.75rem;--badge-font: var(--nora-font-md)}:where(.btn){--btn-bg: var(--nora-color-primary);--btn-fg: var(--nora-color-on-primary);--btn-radius: var(--nora-radius-md);--btn-pad-y: 0.625rem;--btn-pad-x: 1.25rem;--btn-font: var(--nora-font-md);padding-block: var(--btn-pad-y);padding-inline: var(--btn-pad-x);font-size: var(--btn-font);background: var(--btn-bg);color: var(--btn-fg);border-radius: var(--btn-radius);display: inline-flex;align-items: center;justify-content: center;gap: 0.5em;min-block-size: 44px;min-inline-size: 44px;border: 0;font-weight: 600;line-height: 1.2;text-decoration: none;cursor: pointer;user-select: none;-webkit-tap-highlight-color: transparent;transition: background-color var(--nora-duration-fast) ease, transform var(--nora-duration-fast) ease}:where(.btn[data-tone="neutral"]){--btn-bg: var(--nora-color-neutral);--btn-fg: var(--nora-color-on-neutral)}:where(.btn[data-tone="danger"]){--btn-bg: var(--nora-color-danger);--btn-fg: var(--nora-color-on-danger)}:where(.btn[data-tone="success"]){--btn-bg: var(--nora-color-success);--btn-fg: var(--nora-color-on-success)}:where(.btn[data-tone="warning"]){--btn-bg: var(--nora-color-warning);--btn-fg: var(--nora-color-on-warning)}:where(.btn[data-size="sm"]){--btn-pad-y: 0.375rem;--btn-pad-x: 0.75rem;--btn-font: var(--nora-font-sm)}:where(.btn[data-size="lg"]){--btn-pad-y: 0.875rem;--btn-pad-x: 1.75rem;--btn-font: var(--nora-font-lg)}:where(.btn:hover:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 6%)}:where(.btn:active:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 12%);transform: scale(0.97)}:where(.btn:disabled, .btn[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.card){--card-bg: var(--nora-color-surface);--card-fg: var(--nora-color-text);--card-radius: var(--nora-radius-lg);--card-border: var(--nora-color-border);--card-pad-y: 1rem;--card-pad-x: 1rem;--card-font: var(--nora-font-md);padding-block: var(--card-pad-y);padding-inline: var(--card-pad-x);font-size: var(--card-font);background: var(--card-bg);color: var(--card-fg);border-radius: var(--card-radius);display: block;border: 1px solid var(--card-border)}:where(.card[data-size="sm"]){--card-pad-y: 0.75rem;--card-pad-x: 0.75rem;--card-font: var(--nora-font-sm)}:where(.card[data-size="lg"]){--card-pad-y: 1.5rem;--card-pad-x: 1.5rem;--card-font: var(--nora-font-md)}:where(.checkbox){--checkbox-bg: var(--nora-color-surface);--checkbox-fg: var(--nora-color-text);--checkbox-radius: var(--nora-radius-sm);--checkbox-border: var(--nora-color-text-muted);--checkbox-accent: var(--nora-color-primary);--checkbox-on-accent: var(--nora-color-on-primary);--checkbox-focus: var(--nora-color-focus);--checkbox-invalid: var(--nora-color-danger);--checkbox-pad-y: 0.375rem;--checkbox-pad-x: 0.625rem;--checkbox-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--checkbox-pad-x);min-block-size: 44px;padding-block: var(--checkbox-pad-y);font-size: var(--checkbox-font);line-height: 1.3;color: var(--checkbox-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.checkbox[data-tone="neutral"]){--checkbox-accent: var(--nora-color-neutral);--checkbox-on-accent: var(--nora-color-on-neutral)}:where(.checkbox[data-tone="danger"]){--checkbox-accent: var(--nora-color-danger);--checkbox-on-accent: var(--nora-color-on-danger)}:where(.checkbox[data-tone="success"]){--checkbox-accent: var(--nora-color-success);--checkbox-on-accent: var(--nora-color-on-success)}:where(.checkbox[data-tone="warning"]){--checkbox-accent: var(--nora-color-warning);--checkbox-on-accent: var(--nora-color-on-warning)}:where(.checkbox[data-size="sm"]){--checkbox-pad-y: 0.25rem;--checkbox-pad-x: 0.5rem;--checkbox-font: var(--nora-font-sm)}:where(.checkbox[data-size="lg"]){--checkbox-pad-y: 0.5rem;--checkbox-pad-x: 0.75rem;--checkbox-font: var(--nora-font-lg)}:where(.checkbox) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--checkbox-bg);border: 2px solid var(--checkbox-border);border-radius: var(--checkbox-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.checkbox) > :where(input)::before{content: "";inline-size: 0.7em;block-size: 0.7em;background: var(--checkbox-on-accent);clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.checkbox) > :where(input:indeterminate)::before{clip-path: inset(40% 0);transform: scale(1)}:where(.checkbox) > :where(input:checked)::before{transform: scale(1)}:where(.checkbox) > :where(input:checked, input:indeterminate){background-color: var(--checkbox-accent);border-color: var(--checkbox-accent)}:where(.checkbox) > :where(input:focus-visible){outline: 2px solid var(--checkbox-focus);outline-offset: 2px}:where(.checkbox) > :where(input[aria-invalid="true"]){border-color: var(--checkbox-invalid)}:where(.checkbox:has(> input:disabled), .checkbox[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.checkbox) > :where(input){appearance: auto}}:where(.field){--field-fg: var(--nora-color-text);--field-muted: var(--nora-color-text-muted);--field-invalid: var(--nora-color-danger);--field-pad-y: 0.375rem;--field-pad-x: 0rem;--field-font: var(--nora-font-md);display: flex;flex-direction: column;gap: var(--field-pad-y);min-inline-size: 0;margin: 0;padding: 0;border: 0;font-size: var(--field-font);color: var(--field-fg)}:where(.field[data-size="sm"]){--field-pad-y: 0.25rem;--field-pad-x: 0rem;--field-font: var(--nora-font-sm)}:where(.field[data-size="lg"]){--field-pad-y: 0.5rem;--field-pad-x: 0rem;--field-font: var(--nora-font-lg)}:where(.field-label){font-weight: 600;line-height: 1.3;padding: 0}:where(.field-help){margin: 0;font-size: 0.875em;color: var(--field-muted)}:where(.field-error){margin: 0;font-size: 0.875em;font-weight: 600;color: var(--field-invalid)}:where(.field-error:empty){display: none}:where(.field:has(:disabled):not(:has(:enabled))) > :where(.field-label){opacity: 0.5}:where(.input){--input-bg: var(--nora-color-surface);--input-fg: var(--nora-color-text);--input-radius: var(--nora-radius-md);--input-border: var(--nora-color-text-muted);--input-muted: var(--nora-color-text-muted);--input-focus: var(--nora-color-focus);--input-invalid: var(--nora-color-danger);--input-pad-y: 0.625rem;--input-pad-x: 0.75rem;--input-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--input-pad-y);padding-inline: var(--input-pad-x);font-size: var(--input-font);line-height: 1.4;color: var(--input-fg);background-color: var(--input-bg);border: 1px solid var(--input-border);border-radius: var(--input-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease}:where(.input[data-size="sm"]){--input-pad-y: 0.375rem;--input-pad-x: 0.625rem;--input-font: var(--nora-font-sm)}:where(.input[data-size="lg"]){--input-pad-y: 0.75rem;--input-pad-x: 1rem;--input-font: var(--nora-font-lg)}:where(.input)::placeholder{color: var(--input-muted);opacity: 1}:where(.input:focus-visible){outline: 2px solid var(--input-focus);outline-offset: 1px;border-color: var(--input-focus)}:where(.input[aria-invalid="true"]){border-color: var(--input-invalid)}:where(.input[aria-invalid="true"]:focus-visible){outline-color: var(--input-invalid)}:where(.input:disabled, .input[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.link){--link-fg: var(--nora-color-primary);--link-visited: var(--nora-color-text-muted);--link-focus: var(--nora-color-focus);--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-md);color: var(--link-fg);text-decoration-line: underline;text-decoration-thickness: 1px;text-underline-offset: 0.2em;border-radius: 2px;cursor: pointer;transition: text-decoration-thickness var(--nora-duration-fast) ease, color var(--nora-duration-fast) ease}:where(.link[data-tone="neutral"]){--link-fg: var(--nora-color-neutral)}:where(.link[data-tone="danger"]){--link-fg: var(--nora-color-danger)}:where(.link[data-tone="success"]){--link-fg: var(--nora-color-success)}:where(.link[data-tone="warning"]){--link-fg: var(--nora-color-warning)}:where(.link[data-size="sm"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-sm)}:where(.link[data-size="lg"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-lg)}:where(.link[data-size]){font-size: var(--link-font)}:where(.link:hover){text-decoration-thickness: 2px}:where(.link:focus-visible){outline: 2px solid var(--link-focus);outline-offset: 2px;text-decoration-thickness: 2px}:where(.link[data-visited]:visited){color: var(--link-visited)}:where(.link[target="_blank"], .link[rel~="external"])::after{content: "\2197";content: "\2197" / "";display: inline-block;margin-inline-start: 0.15em;text-decoration: none}:where(.link[target="_blank"]:dir(rtl), .link[rel~="external"]:dir(rtl))::after{content: "\2196";content: "\2196" / ""}:where(.media){--media-bg: var(--nora-color-surface-2);--media-fg: var(--nora-color-text-muted);--media-radius: var(--nora-radius-lg);--media-scrim: var(--nora-color-scrim);--media-on-scrim: var(--nora-color-on-scrim);--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 16 / 9;display: grid;margin: 0;min-inline-size: 0;isolation: isolate}:where(.media[data-size="standard"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 4 / 3}:where(.media[data-size="square"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 1 / 1}:where(.media[data-size="portrait"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 3 / 4}:where(.media) > :where(img, picture, video, svg, canvas, iframe){grid-area: 1 / 1;display: block;inline-size: 100%;block-size: auto;aspect-ratio: var(--media-ratio);object-fit: cover;border-radius: var(--media-radius);background-color: var(--media-bg);overflow: hidden}:where(.media) > :where(picture) > :where(img){inline-size: 100%;block-size: 100%;object-fit: cover}:where(.media-overlay){grid-area: 1 / 1;align-self: end;z-index: 1;padding-block: 3em var(--media-pad-y);padding-inline: var(--media-pad-x);color: var(--media-on-scrim);font-weight: 600;text-shadow: 0 1px 2px rgb(0 0 0 / 0.45);background: linear-gradient(to top, color-mix(in srgb, var(--media-scrim) 85%, transparent), transparent);border-end-start-radius: var(--media-radius);border-end-end-radius: var(--media-radius)}@media (forced-colors: active){:where(.media-overlay){background: Canvas;color: CanvasText;text-shadow: none}}:where(.media-caption){padding-block-start: var(--media-pad-y);font-size: var(--media-font);color: var(--media-fg)}:where(.navbar){--navbar-bg: var(--nora-color-surface);--navbar-fg: var(--nora-color-text);--navbar-muted: var(--nora-color-text-muted);--navbar-border: var(--nora-color-border);--navbar-active: var(--nora-color-primary);--navbar-focus: var(--nora-color-focus);--navbar-pad-y: 0.5rem;--navbar-pad-x: 1rem;--navbar-font: var(--nora-font-md);display: flex;flex-wrap: wrap;align-items: center;column-gap: var(--navbar-pad-x);row-gap: var(--navbar-pad-y);padding-block: var(--navbar-pad-y);padding-inline: var(--navbar-pad-x);font-size: var(--navbar-font);color: var(--navbar-fg);background-color: var(--navbar-bg);border-block-end: 1px solid var(--navbar-border)}:where(.navbar[data-size="sm"]){--navbar-pad-y: 0.25rem;--navbar-pad-x: 0.75rem;--navbar-font: var(--nora-font-sm)}:where(.navbar[data-size="lg"]){--navbar-pad-y: 0.75rem;--navbar-pad-x: 1.5rem;--navbar-font: var(--nora-font-lg)}:where(.navbar-brand){display: inline-flex;align-items: center;gap: 0.5em;min-block-size: 44px;margin-inline-end: auto;font-weight: 700;font-size: 1.125em;color: inherit;text-decoration: none}:where(.navbar-menu){display: flex;align-items: center;gap: 0.25em;min-inline-size: 0;margin: 0;padding: 0;list-style: none;overflow-x: auto;scroll-snap-type: x proximity;scrollbar-width: thin}:where(.navbar-menu) > :where(li){flex: none;scroll-snap-align: start}:where(.navbar-menu) :where(a){display: inline-flex;align-items: center;min-block-size: 44px;padding-inline: 0.75em;color: var(--navbar-muted);font-weight: 500;text-decoration: none;white-space: nowrap;border-radius: var(--nora-radius-md);transition: color var(--nora-duration-fast) ease, background-color var(--nora-duration-fast) ease}:where(.navbar-menu) :where(a:hover){color: var(--navbar-fg);background-color: color-mix(in srgb, var(--navbar-fg) 6%, transparent)}:where(.navbar-menu) :where(a:focus-visible){outline: 2px solid var(--navbar-focus);outline-offset: -2px}:where(.navbar-menu) :where(a[aria-current="page"]){color: var(--navbar-active);font-weight: 600;box-shadow: inset 0 -2px 0 var(--navbar-active)}@media (max-width: 40rem){:where(.navbar-menu){order: 3;flex-basis: 100%}}@media (forced-colors: active){:where(.navbar-menu) :where(a[aria-current="page"]){text-decoration: underline;text-decoration-thickness: 2px}}:where(.navbar-actions){display: flex;flex-wrap: wrap;align-items: center;gap: 0.5em}:where(.radio){--radio-bg: var(--nora-color-surface);--radio-fg: var(--nora-color-text);--radio-radius: var(--nora-radius-full);--radio-border: var(--nora-color-text-muted);--radio-accent: var(--nora-color-primary);--radio-on-accent: var(--nora-color-on-primary);--radio-focus: var(--nora-color-focus);--radio-invalid: var(--nora-color-danger);--radio-pad-y: 0.375rem;--radio-pad-x: 0.625rem;--radio-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--radio-pad-x);min-block-size: 44px;padding-block: var(--radio-pad-y);font-size: var(--radio-font);line-height: 1.3;color: var(--radio-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.radio[data-tone="neutral"]){--radio-accent: var(--nora-color-neutral);--radio-on-accent: var(--nora-color-on-neutral)}:where(.radio[data-tone="danger"]){--radio-accent: var(--nora-color-danger);--radio-on-accent: var(--nora-color-on-danger)}:where(.radio[data-tone="success"]){--radio-accent: var(--nora-color-success);--radio-on-accent: var(--nora-color-on-success)}:where(.radio[data-tone="warning"]){--radio-accent: var(--nora-color-warning);--radio-on-accent: var(--nora-color-on-warning)}:where(.radio[data-size="sm"]){--radio-pad-y: 0.25rem;--radio-pad-x: 0.5rem;--radio-font: var(--nora-font-sm)}:where(.radio[data-size="lg"]){--radio-pad-y: 0.5rem;--radio-pad-x: 0.75rem;--radio-font: var(--nora-font-lg)}:where(.radio) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--radio-bg);border: 2px solid var(--radio-border);border-radius: var(--radio-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.radio) > :where(input)::before{content: "";inline-size: 0.5em;block-size: 0.5em;border-radius: 50%;background: var(--radio-on-accent);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.radio) > :where(input:checked)::before{transform: scale(1)}:where(.radio) > :where(input:checked){background-color: var(--radio-accent);border-color: var(--radio-accent)}:where(.radio) > :where(input:focus-visible){outline: 2px solid var(--radio-focus);outline-offset: 2px}:where(.radio) > :where(input[aria-invalid="true"]){border-color: var(--radio-invalid)}:where(.radio:has(> input:disabled), .radio[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.radio) > :where(input){appearance: auto}}:where(.select){--select-bg: var(--nora-color-surface);--select-fg: var(--nora-color-text);--select-radius: var(--nora-radius-md);--select-border: var(--nora-color-text-muted);--select-muted: var(--nora-color-text-muted);--select-focus: var(--nora-color-focus);--select-invalid: var(--nora-color-danger);--select-pad-y: 0.625rem;--select-pad-x: 0.75rem;--select-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--select-pad-y);padding-inline: var(--select-pad-x);font-size: var(--select-font);line-height: 1.4;color: var(--select-fg);background-color: var(--select-bg);border: 1px solid var(--select-border);border-radius: var(--select-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;appearance: none;padding-inline-end: calc(var(--select-pad-x) + 1.25em);background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);background-position: calc(100% - var(--select-pad-x) - 0.375em) 50%, calc(100% - var(--select-pad-x)) 50%;background-size: 0.375em 0.375em;background-repeat: no-repeat}:where(.select[data-size="sm"]){--select-pad-y: 0.375rem;--select-pad-x: 0.625rem;--select-font: var(--nora-font-sm)}:where(.select[data-size="lg"]){--select-pad-y: 0.75rem;--select-pad-x: 1rem;--select-font: var(--nora-font-lg)}:where(.select[multiple], .select[size]){background-image: none;padding-inline-end: var(--select-pad-x)}:where(.select)::placeholder{color: var(--select-muted);opacity: 1}:where(.select:focus-visible){outline: 2px solid var(--select-focus);outline-offset: 1px;border-color: var(--select-focus)}:where(.select[aria-invalid="true"]){border-color: var(--select-invalid)}:where(.select[aria-invalid="true"]:focus-visible){outline-color: var(--select-invalid)}:where(.select:disabled, .select[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.switch){--switch-bg: var(--nora-color-surface);--switch-fg: var(--nora-color-text);--switch-radius: var(--nora-radius-full);--switch-border: var(--nora-color-text-muted);--switch-accent: var(--nora-color-primary);--switch-on-accent: var(--nora-color-on-primary);--switch-focus: var(--nora-color-focus);--switch-invalid: var(--nora-color-danger);--switch-pad-y: 0.375rem;--switch-pad-x: 0.625rem;--switch-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--switch-pad-x);min-block-size: 44px;padding-block: var(--switch-pad-y);font-size: var(--switch-font);line-height: 1.3;color: var(--switch-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.switch[data-tone="neutral"]){--switch-accent: var(--nora-color-neutral);--switch-on-accent: var(--nora-color-on-neutral)}:where(.switch[data-tone="danger"]){--switch-accent: var(--nora-color-danger);--switch-on-accent: var(--nora-color-on-danger)}:where(.switch[data-tone="success"]){--switch-accent: var(--nora-color-success);--switch-on-accent: var(--nora-color-on-success)}:where(.switch[data-tone="warning"]){--switch-accent: var(--nora-color-warning);--switch-on-accent: var(--nora-color-on-warning)}:where(.switch[data-size="sm"]){--switch-pad-y: 0.25rem;--switch-pad-x: 0.5rem;--switch-font: var(--nora-font-sm)}:where(.switch[data-size="lg"]){--switch-pad-y: 0.5rem;--switch-pad-x: 0.75rem;--switch-font: var(--nora-font-lg)}:where(.switch) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-flex;align-items: center;inline-size: 2.25em;block-size: 1.25em;background-color: var(--switch-border);border: 2px solid var(--switch-border);border-radius: var(--switch-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.switch) > :where(input)::before{content: "";inline-size: calc(1.25em - 8px);block-size: calc(1.25em - 8px);margin-inline-start: 2px;border-radius: 50%;background: var(--switch-bg);transition: transform var(--nora-duration-fast) ease}:where(.switch) > :where(input:checked)::before{transform: translateX(1em);background: var(--switch-on-accent)}:where(.switch:dir(rtl)) > :where(input:checked)::before{transform: translateX(-1em)}:where(.switch) > :where(input:checked){background-color: var(--switch-accent);border-color: var(--switch-accent)}:where(.switch) > :where(input:focus-visible){outline: 2px solid var(--switch-focus);outline-offset: 2px}:where(.switch) > :where(input[aria-invalid="true"]){border-color: var(--switch-invalid)}:where(.switch:has(> input:disabled), .switch[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.switch) > :where(input){appearance: auto}}:where(.textarea){--textarea-bg: var(--nora-color-surface);--textarea-fg: var(--nora-color-text);--textarea-radius: var(--nora-radius-md);--textarea-border: var(--nora-color-text-muted);--textarea-muted: var(--nora-color-text-muted);--textarea-focus: var(--nora-color-focus);--textarea-invalid: var(--nora-color-danger);--textarea-pad-y: 0.625rem;--textarea-pad-x: 0.75rem;--textarea-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 6rem;padding-block: var(--textarea-pad-y);padding-inline: var(--textarea-pad-x);font-size: var(--textarea-font);line-height: 1.4;color: var(--textarea-fg);background-color: var(--textarea-bg);border: 1px solid var(--textarea-border);border-radius: var(--textarea-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;resize: vertical}:where(.textarea[data-size="sm"]){--textarea-pad-y: 0.375rem;--textarea-pad-x: 0.625rem;--textarea-font: var(--nora-font-sm)}:where(.textarea[data-size="lg"]){--textarea-pad-y: 0.75rem;--textarea-pad-x: 1rem;--textarea-font: var(--nora-font-lg)}:where(.textarea)::placeholder{color: var(--textarea-muted);opacity: 1}:where(.textarea:focus-visible){outline: 2px solid var(--textarea-focus);outline-offset: 1px;border-color: var(--textarea-focus)}:where(.textarea[aria-invalid="true"]){border-color: var(--textarea-invalid)}:where(.textarea[aria-invalid="true"]:focus-visible){outline-color: var(--textarea-invalid)}:where(.textarea:disabled, .textarea[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}.fx-glass{background: var(--nora-color-surface)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.fx-glass{background: color-mix(in srgb, var(--nora-color-surface) 60%, transparent);-webkit-backdrop-filter: blur(16px) saturate(140%);backdrop-filter: blur(16px) saturate(140%)}}@keyframes nora-reveal{from{opacity: 0;transform: translateY(24px)}to{opacity: 1;transform: none}}@supports (animation-timeline: view()){[data-fx~="reveal"]{animation: nora-reveal linear both;animation-timeline: view();animation-range: entry 0% cover 30%}}@supports not (animation-timeline: view()){:root[data-nora-engine] [data-fx~="reveal"]{transition: opacity 400ms ease, transform 400ms ease}:root[data-nora-engine] [data-fx~="reveal"]:not([data-fx-visible]){opacity: 0;transform: translateY(24px)}}[data-fx~="tilt"]{position: relative;transform: perspective(800px) rotateX(var(--fx-rx, 0deg)) rotateY(var(--fx-ry, 0deg));transition: transform 150ms ease-out;transform-style: preserve-3d}[data-fx~="tilt"][data-fx-glare]::after{content: "";position: absolute;inset: 0;border-radius: inherit;pointer-events: none;background: radial-gradient(circle at var(--fx-gx, 50%) var(--fx-gy, 50%), rgb(255 255 255 / 0.28), transparent 60%);opacity: var(--fx-glare-o, 0);transition: opacity 200ms ease}@media (prefers-reduced-motion: reduce){[data-fx~="reveal"], [data-fx~="tilt"]{transform: none;animation: none;opacity: 1}}.p-0{padding: var(--nora-space-0)}.px-0{padding-inline: var(--nora-space-0)}.py-0{padding-block: var(--nora-space-0)}.m-0{margin: var(--nora-space-0)}.mx-0{margin-inline: var(--nora-space-0)}.my-0{margin-block: var(--nora-space-0)}.gap-0{gap: var(--nora-space-0)}.p-1{padding: var(--nora-space-1)}.px-1{padding-inline: var(--nora-space-1)}.py-1{padding-block: var(--nora-space-1)}.m-1{margin: var(--nora-space-1)}.mx-1{margin-inline: var(--nora-space-1)}.my-1{margin-block: var(--nora-space-1)}.gap-1{gap: var(--nora-space-1)}.p-2{padding: var(--nora-space-2)}.px-2{padding-inline: var(--nora-space-2)}.py-2{padding-block: var(--nora-space-2)}.m-2{margin: var(--nora-space-2)}.mx-2{margin-inline: var(--nora-space-2)}.my-2{margin-block: var(--nora-space-2)}.gap-2{gap: var(--nora-space-2)}.p-3{padding: var(--nora-space-3)}.px-3{padding-inline: var(--nora-space-3)}.py-3{padding-block: var(--nora-space-3)}.m-3{margin: var(--nora-space-3)}.mx-3{margin-inline: var(--nora-space-3)}.my-3{margin-block: var(--nora-space-3)}.gap-3{gap: var(--nora-space-3)}.p-4{padding: var(--nora-space-4)}.px-4{padding-inline: var(--nora-space-4)}.py-4{padding-block: var(--nora-space-4)}.m-4{margin: var(--nora-space-4)}.mx-4{margin-inline: var(--nora-space-4)}.my-4{margin-block: var(--nora-space-4)}.gap-4{gap: var(--nora-space-4)}.p-6{padding: var(--nora-space-6)}.px-6{padding-inline: var(--nora-space-6)}.py-6{padding-block: var(--nora-space-6)}.m-6{margin: var(--nora-space-6)}.mx-6{margin-inline: var(--nora-space-6)}.my-6{margin-block: var(--nora-space-6)}.gap-6{gap: var(--nora-space-6)}.p-8{padding: var(--nora-space-8)}.px-8{padding-inline: var(--nora-space-8)}.py-8{padding-block: var(--nora-space-8)}.m-8{margin: var(--nora-space-8)}.mx-8{margin-inline: var(--nora-space-8)}.my-8{margin-block: var(--nora-space-8)}.gap-8{gap: var(--nora-space-8)}.p-12{padding: var(--nora-space-12)}.px-12{padding-inline: var(--nora-space-12)}.py-12{padding-block: var(--nora-space-12)}.m-12{margin: var(--nora-space-12)}.mx-12{margin-inline: var(--nora-space-12)}.my-12{margin-block: var(--nora-space-12)}.gap-12{gap: var(--nora-space-12)}.mx-auto{margin-inline: auto}.rounded-none{border-radius: var(--nora-radius-none)}.rounded-sm{border-radius: var(--nora-radius-sm)}.rounded-md{border-radius: var(--nora-radius-md)}.rounded-lg{border-radius: var(--nora-radius-lg)}.rounded-full{border-radius: var(--nora-radius-full)}.text-sm{font-size: var(--nora-font-sm)}.text-md{font-size: var(--nora-font-md)}.text-lg{font-size: var(--nora-font-lg)}.text-xl{font-size: var(--nora-font-xl)}.text-muted{color: var(--nora-color-text-muted)}.text-center{text-align: center}.font-bold{font-weight: 700}.shadow-sm{box-shadow: 0 1px 2px rgb(0 0 0 / 0.08), 0 1px 3px rgb(0 0 0 / 0.06)}.shadow-lg{box-shadow: 0 10px 30px rgb(0 0 0 / 0.12), 0 4px 8px rgb(0 0 0 / 0.06)}.w-full{inline-size: 100%}.hidden{display: none}.sr-only{position: absolute;inline-size: 1px;block-size: 1px;padding: 0;margin: -1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}
@@ -1 +1 @@
1
- /*! * NoraIvoire 0.1.0 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main. * © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés. * Usage soumis au contrat de licence NoraIvoire. Redistribution interdite. */ @layer nora.reset, nora.tokens, nora.base, nora.layout, nora.components, nora.effects, nora.utilities;@layer nora.reset{*, *::before, *::after{box-sizing: border-box}:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd){margin: 0}:where(img, picture, video, canvas, svg){display: block;max-inline-size: 100%}:where(input, button, textarea, select){font: inherit}:where(p, h1, h2, h3){overflow-wrap: break-word}}@layer nora.tokens{:root{color-scheme: light dark;--nora-color-primary: #C94A0B;--nora-color-on-primary: #FFFFFF;--nora-color-neutral: #3B3F46;--nora-color-on-neutral: #FFFFFF;--nora-color-danger: #C92A2A;--nora-color-on-danger: #FFFFFF;--nora-color-success: #1B7F3B;--nora-color-on-success: #FFFFFF;--nora-color-warning: #B35C00;--nora-color-on-warning: #FFFFFF;--nora-color-surface: #FFFFFF;--nora-color-surface-2: #F4F5F7;--nora-color-text: #16181D;--nora-color-text-muted: #5C626B;--nora-color-border: #DDE0E4;--nora-color-focus: #1C7ED6;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF;--nora-space-0: 0rem;--nora-space-1: 0.25rem;--nora-space-2: 0.5rem;--nora-space-3: 0.75rem;--nora-space-4: 1rem;--nora-space-6: 1.5rem;--nora-space-8: 2rem;--nora-space-12: 3rem;--nora-radius-none: 0px;--nora-radius-sm: 4px;--nora-radius-md: 8px;--nora-radius-lg: 16px;--nora-radius-full: 9999px;--nora-font-sm: 0.875rem;--nora-font-md: 1rem;--nora-font-lg: 1.125rem;--nora-font-xl: 1.5rem;--nora-duration-fast: 150ms;--nora-duration-base: 250ms;--nora-duration-slow: 400ms}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}}:root[data-theme="dark"]{--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}}@layer nora.base{:where(body){font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size: var(--nora-font-md);line-height: 1.5;color: var(--nora-color-text);background: var(--nora-color-surface);-webkit-font-smoothing: antialiased}:where(:focus-visible){outline: 2px solid var(--nora-color-focus);outline-offset: 2px}@media (prefers-reduced-motion: reduce){:where(*, *::before, *::after){animation-duration: 0.01ms;animation-iteration-count: 1;transition-duration: 0.01ms;scroll-behavior: auto}}}@layer nora.layout{:where(.container){inline-size: min(100% - 2rem, 72rem);margin-inline: auto}:where(.stack){display: flex;flex-direction: column;gap: var(--stack-gap, var(--nora-space-4))}:where(.cluster){display: flex;flex-wrap: wrap;align-items: center;gap: var(--cluster-gap, var(--nora-space-2))}:where(.grid-auto){display: grid;gap: var(--grid-gap, var(--nora-space-4));grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min, 16rem)), 1fr))}:where(.cq){container-type: inline-size}}@layer nora.components{:where(.avatar){--avatar-bg: var(--nora-color-neutral);--avatar-fg: var(--nora-color-on-neutral);--avatar-radius: var(--nora-radius-full);--avatar-ring: var(--nora-color-surface);--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-md);--avatar-box: 2.5rem;display: inline-flex;align-items: center;justify-content: center;flex: none;vertical-align: middle;inline-size: var(--avatar-box);block-size: var(--avatar-box);border-radius: var(--avatar-radius);overflow: hidden;background-color: var(--avatar-bg);color: var(--avatar-fg);font-size: var(--avatar-font);font-weight: 600;line-height: 1;text-transform: uppercase;object-fit: cover;user-select: none}:where(.avatar[data-tone="primary"]){--avatar-bg: var(--nora-color-primary);--avatar-fg: var(--nora-color-on-primary)}:where(.avatar[data-tone="danger"]){--avatar-bg: var(--nora-color-danger);--avatar-fg: var(--nora-color-on-danger)}:where(.avatar[data-tone="success"]){--avatar-bg: var(--nora-color-success);--avatar-fg: var(--nora-color-on-success)}:where(.avatar[data-tone="warning"]){--avatar-bg: var(--nora-color-warning);--avatar-fg: var(--nora-color-on-warning)}:where(.avatar[data-size="sm"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-sm);--avatar-box: 2rem}:where(.avatar[data-size="lg"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-xl);--avatar-box: 4rem}:where(.avatar-group){display: inline-flex;align-items: center}:where(.avatar-group > .avatar){box-shadow: 0 0 0 2px var(--avatar-ring)}:where(.avatar-group > .avatar + .avatar){margin-inline-start: calc(var(--avatar-box) * -0.25)}@media (forced-colors: active){:where(.avatar){border: 1px solid CanvasText}}:where(.badge){--badge-bg: var(--nora-color-neutral);--badge-fg: var(--nora-color-on-neutral);--badge-radius: var(--nora-radius-full);--badge-pad-y: 0.125rem;--badge-pad-x: 0.5rem;--badge-font: var(--nora-font-sm);padding-block: var(--badge-pad-y);padding-inline: var(--badge-pad-x);font-size: var(--badge-font);background: var(--badge-bg);color: var(--badge-fg);border-radius: var(--badge-radius);display: inline-flex;align-items: center;inline-size: fit-content;font-weight: 600;line-height: 1;white-space: nowrap}:where(.badge[data-tone="primary"]){--badge-bg: var(--nora-color-primary);--badge-fg: var(--nora-color-on-primary)}:where(.badge[data-tone="danger"]){--badge-bg: var(--nora-color-danger);--badge-fg: var(--nora-color-on-danger)}:where(.badge[data-tone="success"]){--badge-bg: var(--nora-color-success);--badge-fg: var(--nora-color-on-success)}:where(.badge[data-tone="warning"]){--badge-bg: var(--nora-color-warning);--badge-fg: var(--nora-color-on-warning)}:where(.badge[data-size="md"]){--badge-pad-y: 0.25rem;--badge-pad-x: 0.75rem;--badge-font: var(--nora-font-md)}:where(.btn){--btn-bg: var(--nora-color-primary);--btn-fg: var(--nora-color-on-primary);--btn-radius: var(--nora-radius-md);--btn-pad-y: 0.625rem;--btn-pad-x: 1.25rem;--btn-font: var(--nora-font-md);padding-block: var(--btn-pad-y);padding-inline: var(--btn-pad-x);font-size: var(--btn-font);background: var(--btn-bg);color: var(--btn-fg);border-radius: var(--btn-radius);display: inline-flex;align-items: center;justify-content: center;gap: 0.5em;min-block-size: 44px;min-inline-size: 44px;border: 0;font-weight: 600;line-height: 1.2;text-decoration: none;cursor: pointer;user-select: none;-webkit-tap-highlight-color: transparent;transition: background-color var(--nora-duration-fast) ease, transform var(--nora-duration-fast) ease}:where(.btn[data-tone="neutral"]){--btn-bg: var(--nora-color-neutral);--btn-fg: var(--nora-color-on-neutral)}:where(.btn[data-tone="danger"]){--btn-bg: var(--nora-color-danger);--btn-fg: var(--nora-color-on-danger)}:where(.btn[data-tone="success"]){--btn-bg: var(--nora-color-success);--btn-fg: var(--nora-color-on-success)}:where(.btn[data-tone="warning"]){--btn-bg: var(--nora-color-warning);--btn-fg: var(--nora-color-on-warning)}:where(.btn[data-size="sm"]){--btn-pad-y: 0.375rem;--btn-pad-x: 0.75rem;--btn-font: var(--nora-font-sm)}:where(.btn[data-size="lg"]){--btn-pad-y: 0.875rem;--btn-pad-x: 1.75rem;--btn-font: var(--nora-font-lg)}:where(.btn:hover:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 6%)}:where(.btn:active:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 12%);transform: scale(0.97)}:where(.btn:disabled, .btn[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.card){--card-bg: var(--nora-color-surface);--card-fg: var(--nora-color-text);--card-radius: var(--nora-radius-lg);--card-border: var(--nora-color-border);--card-pad-y: 1rem;--card-pad-x: 1rem;--card-font: var(--nora-font-md);padding-block: var(--card-pad-y);padding-inline: var(--card-pad-x);font-size: var(--card-font);background: var(--card-bg);color: var(--card-fg);border-radius: var(--card-radius);display: block;border: 1px solid var(--card-border)}:where(.card[data-size="sm"]){--card-pad-y: 0.75rem;--card-pad-x: 0.75rem;--card-font: var(--nora-font-sm)}:where(.card[data-size="lg"]){--card-pad-y: 1.5rem;--card-pad-x: 1.5rem;--card-font: var(--nora-font-md)}:where(.checkbox){--checkbox-bg: var(--nora-color-surface);--checkbox-fg: var(--nora-color-text);--checkbox-radius: var(--nora-radius-sm);--checkbox-border: var(--nora-color-text-muted);--checkbox-accent: var(--nora-color-primary);--checkbox-on-accent: var(--nora-color-on-primary);--checkbox-focus: var(--nora-color-focus);--checkbox-invalid: var(--nora-color-danger);--checkbox-pad-y: 0.375rem;--checkbox-pad-x: 0.625rem;--checkbox-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--checkbox-pad-x);min-block-size: 44px;padding-block: var(--checkbox-pad-y);font-size: var(--checkbox-font);line-height: 1.3;color: var(--checkbox-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.checkbox[data-tone="neutral"]){--checkbox-accent: var(--nora-color-neutral);--checkbox-on-accent: var(--nora-color-on-neutral)}:where(.checkbox[data-tone="danger"]){--checkbox-accent: var(--nora-color-danger);--checkbox-on-accent: var(--nora-color-on-danger)}:where(.checkbox[data-tone="success"]){--checkbox-accent: var(--nora-color-success);--checkbox-on-accent: var(--nora-color-on-success)}:where(.checkbox[data-tone="warning"]){--checkbox-accent: var(--nora-color-warning);--checkbox-on-accent: var(--nora-color-on-warning)}:where(.checkbox[data-size="sm"]){--checkbox-pad-y: 0.25rem;--checkbox-pad-x: 0.5rem;--checkbox-font: var(--nora-font-sm)}:where(.checkbox[data-size="lg"]){--checkbox-pad-y: 0.5rem;--checkbox-pad-x: 0.75rem;--checkbox-font: var(--nora-font-lg)}:where(.checkbox) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--checkbox-bg);border: 2px solid var(--checkbox-border);border-radius: var(--checkbox-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.checkbox) > :where(input)::before{content: "";inline-size: 0.7em;block-size: 0.7em;background: var(--checkbox-on-accent);clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.checkbox) > :where(input:indeterminate)::before{clip-path: inset(40% 0);transform: scale(1)}:where(.checkbox) > :where(input:checked)::before{transform: scale(1)}:where(.checkbox) > :where(input:checked, input:indeterminate){background-color: var(--checkbox-accent);border-color: var(--checkbox-accent)}:where(.checkbox) > :where(input:focus-visible){outline: 2px solid var(--checkbox-focus);outline-offset: 2px}:where(.checkbox) > :where(input[aria-invalid="true"]){border-color: var(--checkbox-invalid)}:where(.checkbox:has(> input:disabled), .checkbox[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.checkbox) > :where(input){appearance: auto}}:where(.field){--field-fg: var(--nora-color-text);--field-muted: var(--nora-color-text-muted);--field-invalid: var(--nora-color-danger);--field-pad-y: 0.375rem;--field-pad-x: 0rem;--field-font: var(--nora-font-md);display: flex;flex-direction: column;gap: var(--field-pad-y);min-inline-size: 0;margin: 0;padding: 0;border: 0;font-size: var(--field-font);color: var(--field-fg)}:where(.field[data-size="sm"]){--field-pad-y: 0.25rem;--field-pad-x: 0rem;--field-font: var(--nora-font-sm)}:where(.field[data-size="lg"]){--field-pad-y: 0.5rem;--field-pad-x: 0rem;--field-font: var(--nora-font-lg)}:where(.field-label){font-weight: 600;line-height: 1.3;padding: 0}:where(.field-help){margin: 0;font-size: 0.875em;color: var(--field-muted)}:where(.field-error){margin: 0;font-size: 0.875em;font-weight: 600;color: var(--field-invalid)}:where(.field-error:empty){display: none}:where(.field:has(:disabled):not(:has(:enabled))) > :where(.field-label){opacity: 0.5}:where(.input){--input-bg: var(--nora-color-surface);--input-fg: var(--nora-color-text);--input-radius: var(--nora-radius-md);--input-border: var(--nora-color-text-muted);--input-muted: var(--nora-color-text-muted);--input-focus: var(--nora-color-focus);--input-invalid: var(--nora-color-danger);--input-pad-y: 0.625rem;--input-pad-x: 0.75rem;--input-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--input-pad-y);padding-inline: var(--input-pad-x);font-size: var(--input-font);line-height: 1.4;color: var(--input-fg);background-color: var(--input-bg);border: 1px solid var(--input-border);border-radius: var(--input-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease}:where(.input[data-size="sm"]){--input-pad-y: 0.375rem;--input-pad-x: 0.625rem;--input-font: var(--nora-font-sm)}:where(.input[data-size="lg"]){--input-pad-y: 0.75rem;--input-pad-x: 1rem;--input-font: var(--nora-font-lg)}:where(.input)::placeholder{color: var(--input-muted);opacity: 1}:where(.input:focus-visible){outline: 2px solid var(--input-focus);outline-offset: 1px;border-color: var(--input-focus)}:where(.input[aria-invalid="true"]){border-color: var(--input-invalid)}:where(.input[aria-invalid="true"]:focus-visible){outline-color: var(--input-invalid)}:where(.input:disabled, .input[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.link){--link-fg: var(--nora-color-primary);--link-visited: var(--nora-color-text-muted);--link-focus: var(--nora-color-focus);--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-md);color: var(--link-fg);text-decoration-line: underline;text-decoration-thickness: 1px;text-underline-offset: 0.2em;border-radius: 2px;cursor: pointer;transition: text-decoration-thickness var(--nora-duration-fast) ease, color var(--nora-duration-fast) ease}:where(.link[data-tone="neutral"]){--link-fg: var(--nora-color-neutral)}:where(.link[data-tone="danger"]){--link-fg: var(--nora-color-danger)}:where(.link[data-tone="success"]){--link-fg: var(--nora-color-success)}:where(.link[data-tone="warning"]){--link-fg: var(--nora-color-warning)}:where(.link[data-size="sm"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-sm)}:where(.link[data-size="lg"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-lg)}:where(.link[data-size]){font-size: var(--link-font)}:where(.link:hover){text-decoration-thickness: 2px}:where(.link:focus-visible){outline: 2px solid var(--link-focus);outline-offset: 2px;text-decoration-thickness: 2px}:where(.link[data-visited]:visited){color: var(--link-visited)}:where(.link[target="_blank"], .link[rel~="external"])::after{content: "\2197";content: "\2197" / "";display: inline-block;margin-inline-start: 0.15em;text-decoration: none}:where(.link[target="_blank"]:dir(rtl), .link[rel~="external"]:dir(rtl))::after{content: "\2196";content: "\2196" / ""}:where(.media){--media-bg: var(--nora-color-surface-2);--media-fg: var(--nora-color-text-muted);--media-radius: var(--nora-radius-lg);--media-scrim: var(--nora-color-scrim);--media-on-scrim: var(--nora-color-on-scrim);--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 16 / 9;display: grid;margin: 0;min-inline-size: 0;isolation: isolate}:where(.media[data-size="standard"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 4 / 3}:where(.media[data-size="square"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 1 / 1}:where(.media[data-size="portrait"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 3 / 4}:where(.media) > :where(img, picture, video, svg, canvas, iframe){grid-area: 1 / 1;display: block;inline-size: 100%;block-size: auto;aspect-ratio: var(--media-ratio);object-fit: cover;border-radius: var(--media-radius);background-color: var(--media-bg);overflow: hidden}:where(.media) > :where(picture) > :where(img){inline-size: 100%;block-size: 100%;object-fit: cover}:where(.media-overlay){grid-area: 1 / 1;align-self: end;z-index: 1;padding-block: 3em var(--media-pad-y);padding-inline: var(--media-pad-x);color: var(--media-on-scrim);font-weight: 600;text-shadow: 0 1px 2px rgb(0 0 0 / 0.45);background: linear-gradient(to top, color-mix(in srgb, var(--media-scrim) 85%, transparent), transparent);border-end-start-radius: var(--media-radius);border-end-end-radius: var(--media-radius)}@media (forced-colors: active){:where(.media-overlay){background: Canvas;color: CanvasText;text-shadow: none}}:where(.media-caption){padding-block-start: var(--media-pad-y);font-size: var(--media-font);color: var(--media-fg)}:where(.navbar){--navbar-bg: var(--nora-color-surface);--navbar-fg: var(--nora-color-text);--navbar-muted: var(--nora-color-text-muted);--navbar-border: var(--nora-color-border);--navbar-active: var(--nora-color-primary);--navbar-focus: var(--nora-color-focus);--navbar-pad-y: 0.5rem;--navbar-pad-x: 1rem;--navbar-font: var(--nora-font-md);display: flex;flex-wrap: wrap;align-items: center;column-gap: var(--navbar-pad-x);row-gap: var(--navbar-pad-y);padding-block: var(--navbar-pad-y);padding-inline: var(--navbar-pad-x);font-size: var(--navbar-font);color: var(--navbar-fg);background-color: var(--navbar-bg);border-block-end: 1px solid var(--navbar-border)}:where(.navbar[data-size="sm"]){--navbar-pad-y: 0.25rem;--navbar-pad-x: 0.75rem;--navbar-font: var(--nora-font-sm)}:where(.navbar[data-size="lg"]){--navbar-pad-y: 0.75rem;--navbar-pad-x: 1.5rem;--navbar-font: var(--nora-font-lg)}:where(.navbar-brand){display: inline-flex;align-items: center;gap: 0.5em;min-block-size: 44px;margin-inline-end: auto;font-weight: 700;font-size: 1.125em;color: inherit;text-decoration: none}:where(.navbar-menu){display: flex;align-items: center;gap: 0.25em;min-inline-size: 0;margin: 0;padding: 0;list-style: none;overflow-x: auto;scroll-snap-type: x proximity;scrollbar-width: thin}:where(.navbar-menu) > :where(li){flex: none;scroll-snap-align: start}:where(.navbar-menu) :where(a){display: inline-flex;align-items: center;min-block-size: 44px;padding-inline: 0.75em;color: var(--navbar-muted);font-weight: 500;text-decoration: none;white-space: nowrap;border-radius: var(--nora-radius-md);transition: color var(--nora-duration-fast) ease, background-color var(--nora-duration-fast) ease}:where(.navbar-menu) :where(a:hover){color: var(--navbar-fg);background-color: color-mix(in srgb, var(--navbar-fg) 6%, transparent)}:where(.navbar-menu) :where(a:focus-visible){outline: 2px solid var(--navbar-focus);outline-offset: -2px}:where(.navbar-menu) :where(a[aria-current="page"]){color: var(--navbar-active);font-weight: 600;box-shadow: inset 0 -2px 0 var(--navbar-active)}@media (max-width: 40rem){:where(.navbar-menu){order: 3;flex-basis: 100%}}@media (forced-colors: active){:where(.navbar-menu) :where(a[aria-current="page"]){text-decoration: underline;text-decoration-thickness: 2px}}:where(.navbar-actions){display: flex;flex-wrap: wrap;align-items: center;gap: 0.5em}:where(.radio){--radio-bg: var(--nora-color-surface);--radio-fg: var(--nora-color-text);--radio-radius: var(--nora-radius-full);--radio-border: var(--nora-color-text-muted);--radio-accent: var(--nora-color-primary);--radio-on-accent: var(--nora-color-on-primary);--radio-focus: var(--nora-color-focus);--radio-invalid: var(--nora-color-danger);--radio-pad-y: 0.375rem;--radio-pad-x: 0.625rem;--radio-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--radio-pad-x);min-block-size: 44px;padding-block: var(--radio-pad-y);font-size: var(--radio-font);line-height: 1.3;color: var(--radio-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.radio[data-tone="neutral"]){--radio-accent: var(--nora-color-neutral);--radio-on-accent: var(--nora-color-on-neutral)}:where(.radio[data-tone="danger"]){--radio-accent: var(--nora-color-danger);--radio-on-accent: var(--nora-color-on-danger)}:where(.radio[data-tone="success"]){--radio-accent: var(--nora-color-success);--radio-on-accent: var(--nora-color-on-success)}:where(.radio[data-tone="warning"]){--radio-accent: var(--nora-color-warning);--radio-on-accent: var(--nora-color-on-warning)}:where(.radio[data-size="sm"]){--radio-pad-y: 0.25rem;--radio-pad-x: 0.5rem;--radio-font: var(--nora-font-sm)}:where(.radio[data-size="lg"]){--radio-pad-y: 0.5rem;--radio-pad-x: 0.75rem;--radio-font: var(--nora-font-lg)}:where(.radio) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--radio-bg);border: 2px solid var(--radio-border);border-radius: var(--radio-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.radio) > :where(input)::before{content: "";inline-size: 0.5em;block-size: 0.5em;border-radius: 50%;background: var(--radio-on-accent);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.radio) > :where(input:checked)::before{transform: scale(1)}:where(.radio) > :where(input:checked){background-color: var(--radio-accent);border-color: var(--radio-accent)}:where(.radio) > :where(input:focus-visible){outline: 2px solid var(--radio-focus);outline-offset: 2px}:where(.radio) > :where(input[aria-invalid="true"]){border-color: var(--radio-invalid)}:where(.radio:has(> input:disabled), .radio[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.radio) > :where(input){appearance: auto}}:where(.select){--select-bg: var(--nora-color-surface);--select-fg: var(--nora-color-text);--select-radius: var(--nora-radius-md);--select-border: var(--nora-color-text-muted);--select-muted: var(--nora-color-text-muted);--select-focus: var(--nora-color-focus);--select-invalid: var(--nora-color-danger);--select-pad-y: 0.625rem;--select-pad-x: 0.75rem;--select-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--select-pad-y);padding-inline: var(--select-pad-x);font-size: var(--select-font);line-height: 1.4;color: var(--select-fg);background-color: var(--select-bg);border: 1px solid var(--select-border);border-radius: var(--select-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;appearance: none;padding-inline-end: calc(var(--select-pad-x) + 1.25em);background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);background-position: calc(100% - var(--select-pad-x) - 0.375em) 50%, calc(100% - var(--select-pad-x)) 50%;background-size: 0.375em 0.375em;background-repeat: no-repeat}:where(.select[data-size="sm"]){--select-pad-y: 0.375rem;--select-pad-x: 0.625rem;--select-font: var(--nora-font-sm)}:where(.select[data-size="lg"]){--select-pad-y: 0.75rem;--select-pad-x: 1rem;--select-font: var(--nora-font-lg)}:where(.select[multiple], .select[size]){background-image: none;padding-inline-end: var(--select-pad-x)}:where(.select)::placeholder{color: var(--select-muted);opacity: 1}:where(.select:focus-visible){outline: 2px solid var(--select-focus);outline-offset: 1px;border-color: var(--select-focus)}:where(.select[aria-invalid="true"]){border-color: var(--select-invalid)}:where(.select[aria-invalid="true"]:focus-visible){outline-color: var(--select-invalid)}:where(.select:disabled, .select[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.switch){--switch-bg: var(--nora-color-surface);--switch-fg: var(--nora-color-text);--switch-radius: var(--nora-radius-full);--switch-border: var(--nora-color-text-muted);--switch-accent: var(--nora-color-primary);--switch-on-accent: var(--nora-color-on-primary);--switch-focus: var(--nora-color-focus);--switch-invalid: var(--nora-color-danger);--switch-pad-y: 0.375rem;--switch-pad-x: 0.625rem;--switch-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--switch-pad-x);min-block-size: 44px;padding-block: var(--switch-pad-y);font-size: var(--switch-font);line-height: 1.3;color: var(--switch-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.switch[data-tone="neutral"]){--switch-accent: var(--nora-color-neutral);--switch-on-accent: var(--nora-color-on-neutral)}:where(.switch[data-tone="danger"]){--switch-accent: var(--nora-color-danger);--switch-on-accent: var(--nora-color-on-danger)}:where(.switch[data-tone="success"]){--switch-accent: var(--nora-color-success);--switch-on-accent: var(--nora-color-on-success)}:where(.switch[data-tone="warning"]){--switch-accent: var(--nora-color-warning);--switch-on-accent: var(--nora-color-on-warning)}:where(.switch[data-size="sm"]){--switch-pad-y: 0.25rem;--switch-pad-x: 0.5rem;--switch-font: var(--nora-font-sm)}:where(.switch[data-size="lg"]){--switch-pad-y: 0.5rem;--switch-pad-x: 0.75rem;--switch-font: var(--nora-font-lg)}:where(.switch) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-flex;align-items: center;inline-size: 2.25em;block-size: 1.25em;background-color: var(--switch-border);border: 2px solid var(--switch-border);border-radius: var(--switch-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.switch) > :where(input)::before{content: "";inline-size: calc(1.25em - 8px);block-size: calc(1.25em - 8px);margin-inline-start: 2px;border-radius: 50%;background: var(--switch-bg);transition: transform var(--nora-duration-fast) ease}:where(.switch) > :where(input:checked)::before{transform: translateX(1em);background: var(--switch-on-accent)}:where(.switch:dir(rtl)) > :where(input:checked)::before{transform: translateX(-1em)}:where(.switch) > :where(input:checked){background-color: var(--switch-accent);border-color: var(--switch-accent)}:where(.switch) > :where(input:focus-visible){outline: 2px solid var(--switch-focus);outline-offset: 2px}:where(.switch) > :where(input[aria-invalid="true"]){border-color: var(--switch-invalid)}:where(.switch:has(> input:disabled), .switch[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.switch) > :where(input){appearance: auto}}:where(.textarea){--textarea-bg: var(--nora-color-surface);--textarea-fg: var(--nora-color-text);--textarea-radius: var(--nora-radius-md);--textarea-border: var(--nora-color-text-muted);--textarea-muted: var(--nora-color-text-muted);--textarea-focus: var(--nora-color-focus);--textarea-invalid: var(--nora-color-danger);--textarea-pad-y: 0.625rem;--textarea-pad-x: 0.75rem;--textarea-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 6rem;padding-block: var(--textarea-pad-y);padding-inline: var(--textarea-pad-x);font-size: var(--textarea-font);line-height: 1.4;color: var(--textarea-fg);background-color: var(--textarea-bg);border: 1px solid var(--textarea-border);border-radius: var(--textarea-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;resize: vertical}:where(.textarea[data-size="sm"]){--textarea-pad-y: 0.375rem;--textarea-pad-x: 0.625rem;--textarea-font: var(--nora-font-sm)}:where(.textarea[data-size="lg"]){--textarea-pad-y: 0.75rem;--textarea-pad-x: 1rem;--textarea-font: var(--nora-font-lg)}:where(.textarea)::placeholder{color: var(--textarea-muted);opacity: 1}:where(.textarea:focus-visible){outline: 2px solid var(--textarea-focus);outline-offset: 1px;border-color: var(--textarea-focus)}:where(.textarea[aria-invalid="true"]){border-color: var(--textarea-invalid)}:where(.textarea[aria-invalid="true"]:focus-visible){outline-color: var(--textarea-invalid)}:where(.textarea:disabled, .textarea[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}}@layer nora.effects{.fx-glass{background: var(--nora-color-surface)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.fx-glass{background: color-mix(in srgb, var(--nora-color-surface) 60%, transparent);-webkit-backdrop-filter: blur(16px) saturate(140%);backdrop-filter: blur(16px) saturate(140%)}}@keyframes nora-reveal{from{opacity: 0;transform: translateY(24px)}to{opacity: 1;transform: none}}@supports (animation-timeline: view()){[data-fx~="reveal"]{animation: nora-reveal linear both;animation-timeline: view();animation-range: entry 0% cover 30%}}@supports not (animation-timeline: view()){:root[data-nora-engine] [data-fx~="reveal"]{transition: opacity 400ms ease, transform 400ms ease}:root[data-nora-engine] [data-fx~="reveal"]:not([data-fx-visible]){opacity: 0;transform: translateY(24px)}}[data-fx~="tilt"]{position: relative;transform: perspective(800px) rotateX(var(--fx-rx, 0deg)) rotateY(var(--fx-ry, 0deg));transition: transform 150ms ease-out;transform-style: preserve-3d}[data-fx~="tilt"][data-fx-glare]::after{content: "";position: absolute;inset: 0;border-radius: inherit;pointer-events: none;background: radial-gradient(circle at var(--fx-gx, 50%) var(--fx-gy, 50%), rgb(255 255 255 / 0.28), transparent 60%);opacity: var(--fx-glare-o, 0);transition: opacity 200ms ease}@media (prefers-reduced-motion: reduce){[data-fx~="reveal"], [data-fx~="tilt"]{transform: none;animation: none;opacity: 1}}}@layer nora.utilities{.p-0{padding: var(--nora-space-0)}.px-0{padding-inline: var(--nora-space-0)}.py-0{padding-block: var(--nora-space-0)}.m-0{margin: var(--nora-space-0)}.mx-0{margin-inline: var(--nora-space-0)}.my-0{margin-block: var(--nora-space-0)}.gap-0{gap: var(--nora-space-0)}.p-1{padding: var(--nora-space-1)}.px-1{padding-inline: var(--nora-space-1)}.py-1{padding-block: var(--nora-space-1)}.m-1{margin: var(--nora-space-1)}.mx-1{margin-inline: var(--nora-space-1)}.my-1{margin-block: var(--nora-space-1)}.gap-1{gap: var(--nora-space-1)}.p-2{padding: var(--nora-space-2)}.px-2{padding-inline: var(--nora-space-2)}.py-2{padding-block: var(--nora-space-2)}.m-2{margin: var(--nora-space-2)}.mx-2{margin-inline: var(--nora-space-2)}.my-2{margin-block: var(--nora-space-2)}.gap-2{gap: var(--nora-space-2)}.p-3{padding: var(--nora-space-3)}.px-3{padding-inline: var(--nora-space-3)}.py-3{padding-block: var(--nora-space-3)}.m-3{margin: var(--nora-space-3)}.mx-3{margin-inline: var(--nora-space-3)}.my-3{margin-block: var(--nora-space-3)}.gap-3{gap: var(--nora-space-3)}.p-4{padding: var(--nora-space-4)}.px-4{padding-inline: var(--nora-space-4)}.py-4{padding-block: var(--nora-space-4)}.m-4{margin: var(--nora-space-4)}.mx-4{margin-inline: var(--nora-space-4)}.my-4{margin-block: var(--nora-space-4)}.gap-4{gap: var(--nora-space-4)}.p-6{padding: var(--nora-space-6)}.px-6{padding-inline: var(--nora-space-6)}.py-6{padding-block: var(--nora-space-6)}.m-6{margin: var(--nora-space-6)}.mx-6{margin-inline: var(--nora-space-6)}.my-6{margin-block: var(--nora-space-6)}.gap-6{gap: var(--nora-space-6)}.p-8{padding: var(--nora-space-8)}.px-8{padding-inline: var(--nora-space-8)}.py-8{padding-block: var(--nora-space-8)}.m-8{margin: var(--nora-space-8)}.mx-8{margin-inline: var(--nora-space-8)}.my-8{margin-block: var(--nora-space-8)}.gap-8{gap: var(--nora-space-8)}.p-12{padding: var(--nora-space-12)}.px-12{padding-inline: var(--nora-space-12)}.py-12{padding-block: var(--nora-space-12)}.m-12{margin: var(--nora-space-12)}.mx-12{margin-inline: var(--nora-space-12)}.my-12{margin-block: var(--nora-space-12)}.gap-12{gap: var(--nora-space-12)}.mx-auto{margin-inline: auto}.rounded-none{border-radius: var(--nora-radius-none)}.rounded-sm{border-radius: var(--nora-radius-sm)}.rounded-md{border-radius: var(--nora-radius-md)}.rounded-lg{border-radius: var(--nora-radius-lg)}.rounded-full{border-radius: var(--nora-radius-full)}.text-sm{font-size: var(--nora-font-sm)}.text-md{font-size: var(--nora-font-md)}.text-lg{font-size: var(--nora-font-lg)}.text-xl{font-size: var(--nora-font-xl)}.text-muted{color: var(--nora-color-text-muted)}.text-center{text-align: center}.font-bold{font-weight: 700}.shadow-sm{box-shadow: 0 1px 2px rgb(0 0 0 / 0.08), 0 1px 3px rgb(0 0 0 / 0.06)}.shadow-lg{box-shadow: 0 10px 30px rgb(0 0 0 / 0.12), 0 4px 8px rgb(0 0 0 / 0.06)}.w-full{inline-size: 100%}.hidden{display: none}.sr-only{position: absolute;inline-size: 1px;block-size: 1px;padding: 0;margin: -1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}}
1
+ /*! * NoraIvoire 0.1.2 — fichier GÉNÉRÉ (css) depuis la spec. Ne pas modifier à la main. * © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés. * Usage soumis au contrat de licence NoraIvoire. Redistribution interdite. */ @layer nora.reset, nora.tokens, nora.base, nora.layout, nora.components, nora.effects, nora.utilities;@layer nora.reset{*, *::before, *::after{box-sizing: border-box}:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd){margin: 0}:where(img, picture, video, canvas, svg){display: block;max-inline-size: 100%}:where(input, button, textarea, select){font: inherit}:where(p, h1, h2, h3){overflow-wrap: break-word}}@layer nora.tokens{:root{color-scheme: light dark;--nora-color-primary: #C1470B;--nora-color-on-primary: #FFFFFF;--nora-color-neutral: #3B3F46;--nora-color-on-neutral: #FFFFFF;--nora-color-danger: #C92A2A;--nora-color-on-danger: #FFFFFF;--nora-color-success: #1B7F3B;--nora-color-on-success: #FFFFFF;--nora-color-warning: #AC5800;--nora-color-on-warning: #FFFFFF;--nora-color-surface: #FFFFFF;--nora-color-surface-2: #F4F5F7;--nora-color-text: #16181D;--nora-color-text-muted: #5C626B;--nora-color-border: #DDE0E4;--nora-color-focus: #1C7ED6;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF;--nora-space-0: 0rem;--nora-space-1: 0.25rem;--nora-space-2: 0.5rem;--nora-space-3: 0.75rem;--nora-space-4: 1rem;--nora-space-6: 1.5rem;--nora-space-8: 2rem;--nora-space-12: 3rem;--nora-radius-none: 0px;--nora-radius-sm: 4px;--nora-radius-md: 8px;--nora-radius-lg: 16px;--nora-radius-full: 9999px;--nora-font-sm: 0.875rem;--nora-font-md: 1rem;--nora-font-lg: 1.125rem;--nora-font-xl: 1.5rem;--nora-duration-fast: 150ms;--nora-duration-base: 250ms;--nora-duration-slow: 400ms}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}}:root[data-theme="dark"]{--nora-color-primary: #FF8A3D;--nora-color-on-primary: #1A0F08;--nora-color-neutral: #D5D8DD;--nora-color-on-neutral: #14161A;--nora-color-danger: #FF6B6B;--nora-color-on-danger: #1F0A0A;--nora-color-success: #51CF66;--nora-color-on-success: #08180C;--nora-color-warning: #FFC078;--nora-color-on-warning: #1E1204;--nora-color-surface: #16181D;--nora-color-surface-2: #1F2228;--nora-color-text: #EDEEF0;--nora-color-text-muted: #A0A6AF;--nora-color-border: #2E323A;--nora-color-focus: #74C0FC;--nora-color-scrim: #0B0C0F;--nora-color-on-scrim: #FFFFFF}}@layer nora.base{:where(body){font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;font-size: var(--nora-font-md);line-height: 1.5;color: var(--nora-color-text);background: var(--nora-color-surface);-webkit-font-smoothing: antialiased}:where(:focus-visible){outline: 2px solid var(--nora-color-focus);outline-offset: 2px}@media (prefers-reduced-motion: reduce){:where(*, *::before, *::after){animation-duration: 0.01ms;animation-iteration-count: 1;transition-duration: 0.01ms;scroll-behavior: auto}}}@layer nora.layout{:where(.container){inline-size: min(100% - 2rem, 72rem);margin-inline: auto}:where(.stack){display: flex;flex-direction: column;gap: var(--stack-gap, var(--nora-space-4))}:where(.cluster){display: flex;flex-wrap: wrap;align-items: center;gap: var(--cluster-gap, var(--nora-space-2))}:where(.grid-auto){display: grid;gap: var(--grid-gap, var(--nora-space-4));grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min, 16rem)), 1fr))}:where(.cq){container-type: inline-size}}@layer nora.components{:where(.avatar){--avatar-bg: var(--nora-color-neutral);--avatar-fg: var(--nora-color-on-neutral);--avatar-radius: var(--nora-radius-full);--avatar-ring: var(--nora-color-surface);--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-md);--avatar-box: 2.5rem;display: inline-flex;align-items: center;justify-content: center;flex: none;vertical-align: middle;inline-size: var(--avatar-box);block-size: var(--avatar-box);border-radius: var(--avatar-radius);overflow: hidden;background-color: var(--avatar-bg);color: var(--avatar-fg);font-size: var(--avatar-font);font-weight: 600;line-height: 1;text-transform: uppercase;object-fit: cover;user-select: none}:where(.avatar[data-tone="primary"]){--avatar-bg: var(--nora-color-primary);--avatar-fg: var(--nora-color-on-primary)}:where(.avatar[data-tone="danger"]){--avatar-bg: var(--nora-color-danger);--avatar-fg: var(--nora-color-on-danger)}:where(.avatar[data-tone="success"]){--avatar-bg: var(--nora-color-success);--avatar-fg: var(--nora-color-on-success)}:where(.avatar[data-tone="warning"]){--avatar-bg: var(--nora-color-warning);--avatar-fg: var(--nora-color-on-warning)}:where(.avatar[data-size="sm"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-sm);--avatar-box: 2rem}:where(.avatar[data-size="lg"]){--avatar-pad-y: 0rem;--avatar-pad-x: 0rem;--avatar-font: var(--nora-font-xl);--avatar-box: 4rem}:where(.avatar-group){display: inline-flex;align-items: center}:where(.avatar-group > .avatar){box-shadow: 0 0 0 2px var(--avatar-ring)}:where(.avatar-group > .avatar + .avatar){margin-inline-start: calc(var(--avatar-box) * -0.25)}@media (forced-colors: active){:where(.avatar){border: 1px solid CanvasText}}:where(.badge){--badge-bg: var(--nora-color-neutral);--badge-fg: var(--nora-color-on-neutral);--badge-radius: var(--nora-radius-full);--badge-pad-y: 0.125rem;--badge-pad-x: 0.5rem;--badge-font: var(--nora-font-sm);padding-block: var(--badge-pad-y);padding-inline: var(--badge-pad-x);font-size: var(--badge-font);background: var(--badge-bg);color: var(--badge-fg);border-radius: var(--badge-radius);display: inline-flex;align-items: center;inline-size: fit-content;font-weight: 600;line-height: 1;white-space: nowrap}:where(.badge[data-tone="primary"]){--badge-bg: var(--nora-color-primary);--badge-fg: var(--nora-color-on-primary)}:where(.badge[data-tone="danger"]){--badge-bg: var(--nora-color-danger);--badge-fg: var(--nora-color-on-danger)}:where(.badge[data-tone="success"]){--badge-bg: var(--nora-color-success);--badge-fg: var(--nora-color-on-success)}:where(.badge[data-tone="warning"]){--badge-bg: var(--nora-color-warning);--badge-fg: var(--nora-color-on-warning)}:where(.badge[data-size="md"]){--badge-pad-y: 0.25rem;--badge-pad-x: 0.75rem;--badge-font: var(--nora-font-md)}:where(.btn){--btn-bg: var(--nora-color-primary);--btn-fg: var(--nora-color-on-primary);--btn-radius: var(--nora-radius-md);--btn-pad-y: 0.625rem;--btn-pad-x: 1.25rem;--btn-font: var(--nora-font-md);padding-block: var(--btn-pad-y);padding-inline: var(--btn-pad-x);font-size: var(--btn-font);background: var(--btn-bg);color: var(--btn-fg);border-radius: var(--btn-radius);display: inline-flex;align-items: center;justify-content: center;gap: 0.5em;min-block-size: 44px;min-inline-size: 44px;border: 0;font-weight: 600;line-height: 1.2;text-decoration: none;cursor: pointer;user-select: none;-webkit-tap-highlight-color: transparent;transition: background-color var(--nora-duration-fast) ease, transform var(--nora-duration-fast) ease}:where(.btn[data-tone="neutral"]){--btn-bg: var(--nora-color-neutral);--btn-fg: var(--nora-color-on-neutral)}:where(.btn[data-tone="danger"]){--btn-bg: var(--nora-color-danger);--btn-fg: var(--nora-color-on-danger)}:where(.btn[data-tone="success"]){--btn-bg: var(--nora-color-success);--btn-fg: var(--nora-color-on-success)}:where(.btn[data-tone="warning"]){--btn-bg: var(--nora-color-warning);--btn-fg: var(--nora-color-on-warning)}:where(.btn[data-size="sm"]){--btn-pad-y: 0.375rem;--btn-pad-x: 0.75rem;--btn-font: var(--nora-font-sm)}:where(.btn[data-size="lg"]){--btn-pad-y: 0.875rem;--btn-pad-x: 1.75rem;--btn-font: var(--nora-font-lg)}:where(.btn:hover:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 6%)}:where(.btn:active:not(:disabled, [aria-disabled="true"])){background: color-mix(in srgb, var(--btn-bg), black 12%);transform: scale(0.97)}:where(.btn:disabled, .btn[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.card){--card-bg: var(--nora-color-surface);--card-fg: var(--nora-color-text);--card-radius: var(--nora-radius-lg);--card-border: var(--nora-color-border);--card-pad-y: 1rem;--card-pad-x: 1rem;--card-font: var(--nora-font-md);padding-block: var(--card-pad-y);padding-inline: var(--card-pad-x);font-size: var(--card-font);background: var(--card-bg);color: var(--card-fg);border-radius: var(--card-radius);display: block;border: 1px solid var(--card-border)}:where(.card[data-size="sm"]){--card-pad-y: 0.75rem;--card-pad-x: 0.75rem;--card-font: var(--nora-font-sm)}:where(.card[data-size="lg"]){--card-pad-y: 1.5rem;--card-pad-x: 1.5rem;--card-font: var(--nora-font-md)}:where(.checkbox){--checkbox-bg: var(--nora-color-surface);--checkbox-fg: var(--nora-color-text);--checkbox-radius: var(--nora-radius-sm);--checkbox-border: var(--nora-color-text-muted);--checkbox-accent: var(--nora-color-primary);--checkbox-on-accent: var(--nora-color-on-primary);--checkbox-focus: var(--nora-color-focus);--checkbox-invalid: var(--nora-color-danger);--checkbox-pad-y: 0.375rem;--checkbox-pad-x: 0.625rem;--checkbox-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--checkbox-pad-x);min-block-size: 44px;padding-block: var(--checkbox-pad-y);font-size: var(--checkbox-font);line-height: 1.3;color: var(--checkbox-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.checkbox[data-tone="neutral"]){--checkbox-accent: var(--nora-color-neutral);--checkbox-on-accent: var(--nora-color-on-neutral)}:where(.checkbox[data-tone="danger"]){--checkbox-accent: var(--nora-color-danger);--checkbox-on-accent: var(--nora-color-on-danger)}:where(.checkbox[data-tone="success"]){--checkbox-accent: var(--nora-color-success);--checkbox-on-accent: var(--nora-color-on-success)}:where(.checkbox[data-tone="warning"]){--checkbox-accent: var(--nora-color-warning);--checkbox-on-accent: var(--nora-color-on-warning)}:where(.checkbox[data-size="sm"]){--checkbox-pad-y: 0.25rem;--checkbox-pad-x: 0.5rem;--checkbox-font: var(--nora-font-sm)}:where(.checkbox[data-size="lg"]){--checkbox-pad-y: 0.5rem;--checkbox-pad-x: 0.75rem;--checkbox-font: var(--nora-font-lg)}:where(.checkbox) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--checkbox-bg);border: 2px solid var(--checkbox-border);border-radius: var(--checkbox-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.checkbox) > :where(input)::before{content: "";inline-size: 0.7em;block-size: 0.7em;background: var(--checkbox-on-accent);clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.checkbox) > :where(input:indeterminate)::before{clip-path: inset(40% 0);transform: scale(1)}:where(.checkbox) > :where(input:checked)::before{transform: scale(1)}:where(.checkbox) > :where(input:checked, input:indeterminate){background-color: var(--checkbox-accent);border-color: var(--checkbox-accent)}:where(.checkbox) > :where(input:focus-visible){outline: 2px solid var(--checkbox-focus);outline-offset: 2px}:where(.checkbox) > :where(input[aria-invalid="true"]){border-color: var(--checkbox-invalid)}:where(.checkbox:has(> input:disabled), .checkbox[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.checkbox) > :where(input){appearance: auto}}:where(.field){--field-fg: var(--nora-color-text);--field-muted: var(--nora-color-text-muted);--field-invalid: var(--nora-color-danger);--field-pad-y: 0.375rem;--field-pad-x: 0rem;--field-font: var(--nora-font-md);display: flex;flex-direction: column;gap: var(--field-pad-y);min-inline-size: 0;margin: 0;padding: 0;border: 0;font-size: var(--field-font);color: var(--field-fg)}:where(.field[data-size="sm"]){--field-pad-y: 0.25rem;--field-pad-x: 0rem;--field-font: var(--nora-font-sm)}:where(.field[data-size="lg"]){--field-pad-y: 0.5rem;--field-pad-x: 0rem;--field-font: var(--nora-font-lg)}:where(.field-label){font-weight: 600;line-height: 1.3;padding: 0}:where(.field-help){margin: 0;font-size: 0.875em;color: var(--field-muted)}:where(.field-error){margin: 0;font-size: 0.875em;font-weight: 600;color: var(--field-invalid)}:where(.field-error:empty){display: none}:where(.field:has(:disabled):not(:has(:enabled))) > :where(.field-label){opacity: 0.5}:where(.input){--input-bg: var(--nora-color-surface);--input-fg: var(--nora-color-text);--input-radius: var(--nora-radius-md);--input-border: var(--nora-color-text-muted);--input-muted: var(--nora-color-text-muted);--input-focus: var(--nora-color-focus);--input-invalid: var(--nora-color-danger);--input-pad-y: 0.625rem;--input-pad-x: 0.75rem;--input-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--input-pad-y);padding-inline: var(--input-pad-x);font-size: var(--input-font);line-height: 1.4;color: var(--input-fg);background-color: var(--input-bg);border: 1px solid var(--input-border);border-radius: var(--input-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease}:where(.input[data-size="sm"]){--input-pad-y: 0.375rem;--input-pad-x: 0.625rem;--input-font: var(--nora-font-sm)}:where(.input[data-size="lg"]){--input-pad-y: 0.75rem;--input-pad-x: 1rem;--input-font: var(--nora-font-lg)}:where(.input)::placeholder{color: var(--input-muted);opacity: 1}:where(.input:focus-visible){outline: 2px solid var(--input-focus);outline-offset: 1px;border-color: var(--input-focus)}:where(.input[aria-invalid="true"]){border-color: var(--input-invalid)}:where(.input[aria-invalid="true"]:focus-visible){outline-color: var(--input-invalid)}:where(.input:disabled, .input[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.link){--link-fg: var(--nora-color-primary);--link-visited: var(--nora-color-text-muted);--link-focus: var(--nora-color-focus);--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-md);color: var(--link-fg);text-decoration-line: underline;text-decoration-thickness: 1px;text-underline-offset: 0.2em;border-radius: 2px;cursor: pointer;transition: text-decoration-thickness var(--nora-duration-fast) ease, color var(--nora-duration-fast) ease}:where(.link[data-tone="neutral"]){--link-fg: var(--nora-color-neutral)}:where(.link[data-tone="danger"]){--link-fg: var(--nora-color-danger)}:where(.link[data-tone="success"]){--link-fg: var(--nora-color-success)}:where(.link[data-tone="warning"]){--link-fg: var(--nora-color-warning)}:where(.link[data-size="sm"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-sm)}:where(.link[data-size="lg"]){--link-pad-y: 0rem;--link-pad-x: 0rem;--link-font: var(--nora-font-lg)}:where(.link[data-size]){font-size: var(--link-font)}:where(.link:hover){text-decoration-thickness: 2px}:where(.link:focus-visible){outline: 2px solid var(--link-focus);outline-offset: 2px;text-decoration-thickness: 2px}:where(.link[data-visited]:visited){color: var(--link-visited)}:where(.link[target="_blank"], .link[rel~="external"])::after{content: "\2197";content: "\2197" / "";display: inline-block;margin-inline-start: 0.15em;text-decoration: none}:where(.link[target="_blank"]:dir(rtl), .link[rel~="external"]:dir(rtl))::after{content: "\2196";content: "\2196" / ""}:where(.media){--media-bg: var(--nora-color-surface-2);--media-fg: var(--nora-color-text-muted);--media-radius: var(--nora-radius-lg);--media-scrim: var(--nora-color-scrim);--media-on-scrim: var(--nora-color-on-scrim);--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 16 / 9;display: grid;margin: 0;min-inline-size: 0;isolation: isolate}:where(.media[data-size="standard"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 4 / 3}:where(.media[data-size="square"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 1 / 1}:where(.media[data-size="portrait"]){--media-pad-y: 0.5rem;--media-pad-x: 1rem;--media-font: var(--nora-font-sm);--media-ratio: 3 / 4}:where(.media) > :where(img, picture, video, svg, canvas, iframe){grid-area: 1 / 1;display: block;inline-size: 100%;block-size: auto;aspect-ratio: var(--media-ratio);object-fit: cover;border-radius: var(--media-radius);background-color: var(--media-bg);overflow: hidden}:where(.media) > :where(picture) > :where(img){inline-size: 100%;block-size: 100%;object-fit: cover}:where(.media-overlay){grid-area: 1 / 1;align-self: end;z-index: 1;padding-block: 3em var(--media-pad-y);padding-inline: var(--media-pad-x);color: var(--media-on-scrim);font-weight: 600;text-shadow: 0 1px 2px rgb(0 0 0 / 0.45);background: linear-gradient(to top, color-mix(in srgb, var(--media-scrim) 85%, transparent), transparent);border-end-start-radius: var(--media-radius);border-end-end-radius: var(--media-radius)}@media (forced-colors: active){:where(.media-overlay){background: Canvas;color: CanvasText;text-shadow: none}}:where(.media-caption){padding-block-start: var(--media-pad-y);font-size: var(--media-font);color: var(--media-fg)}:where(.navbar){--navbar-bg: var(--nora-color-surface);--navbar-fg: var(--nora-color-text);--navbar-muted: var(--nora-color-text-muted);--navbar-border: var(--nora-color-border);--navbar-active: var(--nora-color-primary);--navbar-focus: var(--nora-color-focus);--navbar-pad-y: 0.5rem;--navbar-pad-x: 1rem;--navbar-font: var(--nora-font-md);display: flex;flex-wrap: wrap;align-items: center;column-gap: var(--navbar-pad-x);row-gap: var(--navbar-pad-y);padding-block: var(--navbar-pad-y);padding-inline: var(--navbar-pad-x);font-size: var(--navbar-font);color: var(--navbar-fg);background-color: var(--navbar-bg);border-block-end: 1px solid var(--navbar-border)}:where(.navbar[data-size="sm"]){--navbar-pad-y: 0.25rem;--navbar-pad-x: 0.75rem;--navbar-font: var(--nora-font-sm)}:where(.navbar[data-size="lg"]){--navbar-pad-y: 0.75rem;--navbar-pad-x: 1.5rem;--navbar-font: var(--nora-font-lg)}:where(.navbar-brand){display: inline-flex;align-items: center;gap: 0.5em;min-block-size: 44px;margin-inline-end: auto;font-weight: 700;font-size: 1.125em;color: inherit;text-decoration: none}:where(.navbar-menu){display: flex;align-items: center;gap: 0.25em;min-inline-size: 0;margin: 0;padding: 0;list-style: none;overflow-x: auto;scroll-snap-type: x proximity;scrollbar-width: thin}:where(.navbar-menu) > :where(li){flex: none;scroll-snap-align: start}:where(.navbar-menu) :where(a){display: inline-flex;align-items: center;min-block-size: 44px;padding-inline: 0.75em;color: var(--navbar-muted);font-weight: 500;text-decoration: none;white-space: nowrap;border-radius: var(--nora-radius-md);transition: color var(--nora-duration-fast) ease, background-color var(--nora-duration-fast) ease}:where(.navbar-menu) :where(a:hover){color: var(--navbar-fg);background-color: color-mix(in srgb, var(--navbar-fg) 6%, transparent)}:where(.navbar-menu) :where(a:focus-visible){outline: 2px solid var(--navbar-focus);outline-offset: -2px}:where(.navbar-menu) :where(a[aria-current="page"]){color: var(--navbar-active);font-weight: 600;box-shadow: inset 0 -2px 0 var(--navbar-active)}@media (max-width: 40rem){:where(.navbar-menu){order: 3;flex-basis: 100%}}@media (forced-colors: active){:where(.navbar-menu) :where(a[aria-current="page"]){text-decoration: underline;text-decoration-thickness: 2px}}:where(.navbar-actions){display: flex;flex-wrap: wrap;align-items: center;gap: 0.5em}:where(.radio){--radio-bg: var(--nora-color-surface);--radio-fg: var(--nora-color-text);--radio-radius: var(--nora-radius-full);--radio-border: var(--nora-color-text-muted);--radio-accent: var(--nora-color-primary);--radio-on-accent: var(--nora-color-on-primary);--radio-focus: var(--nora-color-focus);--radio-invalid: var(--nora-color-danger);--radio-pad-y: 0.375rem;--radio-pad-x: 0.625rem;--radio-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--radio-pad-x);min-block-size: 44px;padding-block: var(--radio-pad-y);font-size: var(--radio-font);line-height: 1.3;color: var(--radio-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.radio[data-tone="neutral"]){--radio-accent: var(--nora-color-neutral);--radio-on-accent: var(--nora-color-on-neutral)}:where(.radio[data-tone="danger"]){--radio-accent: var(--nora-color-danger);--radio-on-accent: var(--nora-color-on-danger)}:where(.radio[data-tone="success"]){--radio-accent: var(--nora-color-success);--radio-on-accent: var(--nora-color-on-success)}:where(.radio[data-tone="warning"]){--radio-accent: var(--nora-color-warning);--radio-on-accent: var(--nora-color-on-warning)}:where(.radio[data-size="sm"]){--radio-pad-y: 0.25rem;--radio-pad-x: 0.5rem;--radio-font: var(--nora-font-sm)}:where(.radio[data-size="lg"]){--radio-pad-y: 0.5rem;--radio-pad-x: 0.75rem;--radio-font: var(--nora-font-lg)}:where(.radio) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-grid;place-content: center;inline-size: 1.25em;block-size: 1.25em;background-color: var(--radio-bg);border: 2px solid var(--radio-border);border-radius: var(--radio-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.radio) > :where(input)::before{content: "";inline-size: 0.5em;block-size: 0.5em;border-radius: 50%;background: var(--radio-on-accent);transform: scale(0);transition: transform var(--nora-duration-fast) ease}:where(.radio) > :where(input:checked)::before{transform: scale(1)}:where(.radio) > :where(input:checked){background-color: var(--radio-accent);border-color: var(--radio-accent)}:where(.radio) > :where(input:focus-visible){outline: 2px solid var(--radio-focus);outline-offset: 2px}:where(.radio) > :where(input[aria-invalid="true"]){border-color: var(--radio-invalid)}:where(.radio:has(> input:disabled), .radio[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.radio) > :where(input){appearance: auto}}:where(.select){--select-bg: var(--nora-color-surface);--select-fg: var(--nora-color-text);--select-radius: var(--nora-radius-md);--select-border: var(--nora-color-text-muted);--select-muted: var(--nora-color-text-muted);--select-focus: var(--nora-color-focus);--select-invalid: var(--nora-color-danger);--select-pad-y: 0.625rem;--select-pad-x: 0.75rem;--select-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 44px;padding-block: var(--select-pad-y);padding-inline: var(--select-pad-x);font-size: var(--select-font);line-height: 1.4;color: var(--select-fg);background-color: var(--select-bg);border: 1px solid var(--select-border);border-radius: var(--select-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;appearance: none;padding-inline-end: calc(var(--select-pad-x) + 1.25em);background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);background-position: calc(100% - var(--select-pad-x) - 0.375em) 50%, calc(100% - var(--select-pad-x)) 50%;background-size: 0.375em 0.375em;background-repeat: no-repeat}:where(.select[data-size="sm"]){--select-pad-y: 0.375rem;--select-pad-x: 0.625rem;--select-font: var(--nora-font-sm)}:where(.select[data-size="lg"]){--select-pad-y: 0.75rem;--select-pad-x: 1rem;--select-font: var(--nora-font-lg)}:where(.select[multiple], .select[size]){background-image: none;padding-inline-end: var(--select-pad-x)}:where(.select)::placeholder{color: var(--select-muted);opacity: 1}:where(.select:focus-visible){outline: 2px solid var(--select-focus);outline-offset: 1px;border-color: var(--select-focus)}:where(.select[aria-invalid="true"]){border-color: var(--select-invalid)}:where(.select[aria-invalid="true"]:focus-visible){outline-color: var(--select-invalid)}:where(.select:disabled, .select[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}:where(.switch){--switch-bg: var(--nora-color-surface);--switch-fg: var(--nora-color-text);--switch-radius: var(--nora-radius-full);--switch-border: var(--nora-color-text-muted);--switch-accent: var(--nora-color-primary);--switch-on-accent: var(--nora-color-on-primary);--switch-focus: var(--nora-color-focus);--switch-invalid: var(--nora-color-danger);--switch-pad-y: 0.375rem;--switch-pad-x: 0.625rem;--switch-font: var(--nora-font-md);display: inline-flex;align-items: center;gap: var(--switch-pad-x);min-block-size: 44px;padding-block: var(--switch-pad-y);font-size: var(--switch-font);line-height: 1.3;color: var(--switch-fg);cursor: pointer;-webkit-tap-highlight-color: transparent}:where(.switch[data-tone="neutral"]){--switch-accent: var(--nora-color-neutral);--switch-on-accent: var(--nora-color-on-neutral)}:where(.switch[data-tone="danger"]){--switch-accent: var(--nora-color-danger);--switch-on-accent: var(--nora-color-on-danger)}:where(.switch[data-tone="success"]){--switch-accent: var(--nora-color-success);--switch-on-accent: var(--nora-color-on-success)}:where(.switch[data-tone="warning"]){--switch-accent: var(--nora-color-warning);--switch-on-accent: var(--nora-color-on-warning)}:where(.switch[data-size="sm"]){--switch-pad-y: 0.25rem;--switch-pad-x: 0.5rem;--switch-font: var(--nora-font-sm)}:where(.switch[data-size="lg"]){--switch-pad-y: 0.5rem;--switch-pad-x: 0.75rem;--switch-font: var(--nora-font-lg)}:where(.switch) > :where(input){appearance: none;flex: none;margin: 0;padding: 0;cursor: inherit;display: inline-flex;align-items: center;inline-size: 2.25em;block-size: 1.25em;background-color: var(--switch-border);border: 2px solid var(--switch-border);border-radius: var(--switch-radius);transition: background-color var(--nora-duration-fast) ease, border-color var(--nora-duration-fast) ease}:where(.switch) > :where(input)::before{content: "";inline-size: calc(1.25em - 8px);block-size: calc(1.25em - 8px);margin-inline-start: 2px;border-radius: 50%;background: var(--switch-bg);transition: transform var(--nora-duration-fast) ease}:where(.switch) > :where(input:checked)::before{transform: translateX(1em);background: var(--switch-on-accent)}:where(.switch:dir(rtl)) > :where(input:checked)::before{transform: translateX(-1em)}:where(.switch) > :where(input:checked){background-color: var(--switch-accent);border-color: var(--switch-accent)}:where(.switch) > :where(input:focus-visible){outline: 2px solid var(--switch-focus);outline-offset: 2px}:where(.switch) > :where(input[aria-invalid="true"]){border-color: var(--switch-invalid)}:where(.switch:has(> input:disabled), .switch[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}@media (forced-colors: active){:where(.switch) > :where(input){appearance: auto}}:where(.textarea){--textarea-bg: var(--nora-color-surface);--textarea-fg: var(--nora-color-text);--textarea-radius: var(--nora-radius-md);--textarea-border: var(--nora-color-text-muted);--textarea-muted: var(--nora-color-text-muted);--textarea-focus: var(--nora-color-focus);--textarea-invalid: var(--nora-color-danger);--textarea-pad-y: 0.625rem;--textarea-pad-x: 0.75rem;--textarea-font: var(--nora-font-md);display: block;inline-size: 100%;min-block-size: 6rem;padding-block: var(--textarea-pad-y);padding-inline: var(--textarea-pad-x);font-size: var(--textarea-font);line-height: 1.4;color: var(--textarea-fg);background-color: var(--textarea-bg);border: 1px solid var(--textarea-border);border-radius: var(--textarea-radius);transition: border-color var(--nora-duration-fast) ease, outline-color var(--nora-duration-fast) ease;resize: vertical}:where(.textarea[data-size="sm"]){--textarea-pad-y: 0.375rem;--textarea-pad-x: 0.625rem;--textarea-font: var(--nora-font-sm)}:where(.textarea[data-size="lg"]){--textarea-pad-y: 0.75rem;--textarea-pad-x: 1rem;--textarea-font: var(--nora-font-lg)}:where(.textarea)::placeholder{color: var(--textarea-muted);opacity: 1}:where(.textarea:focus-visible){outline: 2px solid var(--textarea-focus);outline-offset: 1px;border-color: var(--textarea-focus)}:where(.textarea[aria-invalid="true"]){border-color: var(--textarea-invalid)}:where(.textarea[aria-invalid="true"]:focus-visible){outline-color: var(--textarea-invalid)}:where(.textarea:disabled, .textarea[aria-disabled="true"]){opacity: 0.5;cursor: not-allowed}}@layer nora.effects{.fx-glass{background: var(--nora-color-surface)}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.fx-glass{background: color-mix(in srgb, var(--nora-color-surface) 60%, transparent);-webkit-backdrop-filter: blur(16px) saturate(140%);backdrop-filter: blur(16px) saturate(140%)}}@keyframes nora-reveal{from{opacity: 0;transform: translateY(24px)}to{opacity: 1;transform: none}}@supports (animation-timeline: view()){[data-fx~="reveal"]{animation: nora-reveal linear both;animation-timeline: view();animation-range: entry 0% cover 30%}}@supports not (animation-timeline: view()){:root[data-nora-engine] [data-fx~="reveal"]{transition: opacity 400ms ease, transform 400ms ease}:root[data-nora-engine] [data-fx~="reveal"]:not([data-fx-visible]){opacity: 0;transform: translateY(24px)}}[data-fx~="tilt"]{position: relative;transform: perspective(800px) rotateX(var(--fx-rx, 0deg)) rotateY(var(--fx-ry, 0deg));transition: transform 150ms ease-out;transform-style: preserve-3d}[data-fx~="tilt"][data-fx-glare]::after{content: "";position: absolute;inset: 0;border-radius: inherit;pointer-events: none;background: radial-gradient(circle at var(--fx-gx, 50%) var(--fx-gy, 50%), rgb(255 255 255 / 0.28), transparent 60%);opacity: var(--fx-glare-o, 0);transition: opacity 200ms ease}@media (prefers-reduced-motion: reduce){[data-fx~="reveal"], [data-fx~="tilt"]{transform: none;animation: none;opacity: 1}}}@layer nora.utilities{.p-0{padding: var(--nora-space-0)}.px-0{padding-inline: var(--nora-space-0)}.py-0{padding-block: var(--nora-space-0)}.m-0{margin: var(--nora-space-0)}.mx-0{margin-inline: var(--nora-space-0)}.my-0{margin-block: var(--nora-space-0)}.gap-0{gap: var(--nora-space-0)}.p-1{padding: var(--nora-space-1)}.px-1{padding-inline: var(--nora-space-1)}.py-1{padding-block: var(--nora-space-1)}.m-1{margin: var(--nora-space-1)}.mx-1{margin-inline: var(--nora-space-1)}.my-1{margin-block: var(--nora-space-1)}.gap-1{gap: var(--nora-space-1)}.p-2{padding: var(--nora-space-2)}.px-2{padding-inline: var(--nora-space-2)}.py-2{padding-block: var(--nora-space-2)}.m-2{margin: var(--nora-space-2)}.mx-2{margin-inline: var(--nora-space-2)}.my-2{margin-block: var(--nora-space-2)}.gap-2{gap: var(--nora-space-2)}.p-3{padding: var(--nora-space-3)}.px-3{padding-inline: var(--nora-space-3)}.py-3{padding-block: var(--nora-space-3)}.m-3{margin: var(--nora-space-3)}.mx-3{margin-inline: var(--nora-space-3)}.my-3{margin-block: var(--nora-space-3)}.gap-3{gap: var(--nora-space-3)}.p-4{padding: var(--nora-space-4)}.px-4{padding-inline: var(--nora-space-4)}.py-4{padding-block: var(--nora-space-4)}.m-4{margin: var(--nora-space-4)}.mx-4{margin-inline: var(--nora-space-4)}.my-4{margin-block: var(--nora-space-4)}.gap-4{gap: var(--nora-space-4)}.p-6{padding: var(--nora-space-6)}.px-6{padding-inline: var(--nora-space-6)}.py-6{padding-block: var(--nora-space-6)}.m-6{margin: var(--nora-space-6)}.mx-6{margin-inline: var(--nora-space-6)}.my-6{margin-block: var(--nora-space-6)}.gap-6{gap: var(--nora-space-6)}.p-8{padding: var(--nora-space-8)}.px-8{padding-inline: var(--nora-space-8)}.py-8{padding-block: var(--nora-space-8)}.m-8{margin: var(--nora-space-8)}.mx-8{margin-inline: var(--nora-space-8)}.my-8{margin-block: var(--nora-space-8)}.gap-8{gap: var(--nora-space-8)}.p-12{padding: var(--nora-space-12)}.px-12{padding-inline: var(--nora-space-12)}.py-12{padding-block: var(--nora-space-12)}.m-12{margin: var(--nora-space-12)}.mx-12{margin-inline: var(--nora-space-12)}.my-12{margin-block: var(--nora-space-12)}.gap-12{gap: var(--nora-space-12)}.mx-auto{margin-inline: auto}.rounded-none{border-radius: var(--nora-radius-none)}.rounded-sm{border-radius: var(--nora-radius-sm)}.rounded-md{border-radius: var(--nora-radius-md)}.rounded-lg{border-radius: var(--nora-radius-lg)}.rounded-full{border-radius: var(--nora-radius-full)}.text-sm{font-size: var(--nora-font-sm)}.text-md{font-size: var(--nora-font-md)}.text-lg{font-size: var(--nora-font-lg)}.text-xl{font-size: var(--nora-font-xl)}.text-muted{color: var(--nora-color-text-muted)}.text-center{text-align: center}.font-bold{font-weight: 700}.shadow-sm{box-shadow: 0 1px 2px rgb(0 0 0 / 0.08), 0 1px 3px rgb(0 0 0 / 0.06)}.shadow-lg{box-shadow: 0 10px 30px rgb(0 0 0 / 0.12), 0 4px 8px rgb(0 0 0 / 0.06)}.w-full{inline-size: 100%}.hidden{display: none}.sr-only{position: absolute;inline-size: 1px;block-size: 1px;padding: 0;margin: -1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}}
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (ts) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (ts) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
  // Types web : React / Next.js (JSX), Vue (Volar) et Angular via ce module.
@@ -23,4 +23,4 @@ export function nora(component: NoraComponent, v: { tone?: NoraTone; size?: Nora
23
23
  return props;
24
24
  }
25
25
 
26
- export const noraManifestVersion = '0.1.0';
26
+ export const noraManifestVersion = '0.1.2';
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (tsx) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (tsx) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
  // Effets optionnels (paquets fx-*). À copier à côté de noraivoire.tsx.
@@ -1,4 +1,4 @@
1
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (tsx) depuis la spec. Ne pas modifier à la main.
1
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (tsx) depuis la spec. Ne pas modifier à la main.
2
2
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
3
3
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
4
4
  /* eslint-disable */
@@ -26,14 +26,14 @@ import {
26
26
  type ViewStyle,
27
27
  } from 'react-native';
28
28
 
29
- export const noraVersion = '0.1.0';
29
+ export const noraVersion = '0.1.2';
30
30
 
31
31
  export type NoraTone = 'primary' | 'neutral' | 'danger' | 'success' | 'warning';
32
32
  export type NoraSize = 'sm' | 'md' | 'lg' | 'wide' | 'standard' | 'square' | 'portrait';
33
33
 
34
34
  export const noraColors = {
35
35
  light: {
36
- primary: '#C94A0B',
36
+ primary: '#C1470B',
37
37
  onPrimary: '#FFFFFF',
38
38
  neutral: '#3B3F46',
39
39
  onNeutral: '#FFFFFF',
@@ -41,7 +41,7 @@ export const noraColors = {
41
41
  onDanger: '#FFFFFF',
42
42
  success: '#1B7F3B',
43
43
  onSuccess: '#FFFFFF',
44
- warning: '#B35C00',
44
+ warning: '#AC5800',
45
45
  onWarning: '#FFFFFF',
46
46
  surface: '#FFFFFF',
47
47
  surface2: '#F4F5F7',
@@ -1,6 +1,6 @@
1
1
  <?php
2
2
 
3
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
3
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
4
4
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
5
5
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
6
6
 
@@ -1,6 +1,6 @@
1
1
  <?php
2
2
 
3
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
3
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
4
4
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
5
5
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
6
6
 
@@ -1,6 +1,6 @@
1
1
  <?php
2
2
 
3
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
3
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
4
4
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
5
5
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
6
6
 
@@ -1,6 +1,6 @@
1
1
  <?php
2
2
 
3
- // NoraIvoire 0.1.0 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
3
+ // NoraIvoire 0.1.2 — fichier GÉNÉRÉ (php) depuis la spec. Ne pas modifier à la main.
4
4
  // © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
5
5
  // Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
6
6
 
@@ -8,10 +8,10 @@ declare(strict_types=1);
8
8
 
9
9
  namespace NoraIvoire\SymfonyBundle\Generated;
10
10
 
11
- /** Contrat NoraIvoire 0.1.0 exposé à PHP (lecture seule). */
11
+ /** Contrat NoraIvoire 0.1.2 exposé à PHP (lecture seule). */
12
12
  final class NoraManifest
13
13
  {
14
- public const VERSION = '0.1.0';
14
+ public const VERSION = '0.1.2';
15
15
 
16
16
  /** @var array<string, array{tones: list<string>, sizes: list<string>, defaults: array{tone: string, size: string}, elements: list<string>, shape: string, twig: string}> */
17
17
  public const COMPONENTS = [
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
@@ -1,5 +1,5 @@
1
1
  {#
2
- # NoraIvoire 0.1.0 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
2
+ # NoraIvoire 0.1.2 — fichier GÉNÉRÉ (twig) depuis la spec. Ne pas modifier à la main.
3
3
  # © 2026 Jonathan KABLAN — Logiciel propriétaire, tous droits réservés.
4
4
  # Usage soumis au contrat de licence NoraIvoire. Redistribution interdite.
5
5
  #}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jonathankablan/noraivoire-core",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Sorties compilées NoraIvoire (CSS, moteur, Dart, TSX, manifest). Propriétaire.",
6
6
  "author": "Jonathan KABLAN",