nimiq-branding-cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/LICENSE +25 -0
  2. package/NOTICE.md +32 -0
  3. package/README.md +73 -0
  4. package/assets/css/legacy/nimiq-style.icons.svg +1 -0
  5. package/assets/css/legacy/nimiq-style.min.css +5 -0
  6. package/assets/css/modern/animations.css +179 -0
  7. package/assets/css/modern/atomic.css +148 -0
  8. package/assets/css/modern/colors.css +82 -0
  9. package/assets/css/modern/fonts.css +17 -0
  10. package/assets/css/modern/index.css +8 -0
  11. package/assets/css/modern/preflight.css +190 -0
  12. package/assets/css/modern/spacing.css +1023 -0
  13. package/assets/css/modern/static-content.css +300 -0
  14. package/assets/css/modern/typography.css +632 -0
  15. package/assets/css/modern/utilities.css +861 -0
  16. package/assets/fonts/mulish-0b696a2e.woff2 +0 -0
  17. package/assets/fonts/mulish-294ced17.woff2 +0 -0
  18. package/assets/fonts/mulish-4eb440e1.woff2 +0 -0
  19. package/assets/fonts/mulish-78a2d471.woff2 +0 -0
  20. package/assets/fonts/mulish-81f6c1ba.woff2 +0 -0
  21. package/assets/fonts/mulish-c1a61bc6.woff2 +0 -0
  22. package/assets/fonts/mulish-c7803f2b.woff2 +0 -0
  23. package/assets/fonts/mulish-e64de9e7.woff2 +0 -0
  24. package/assets/fonts/mulish-ecf98336.woff2 +0 -0
  25. package/assets/fonts/mulish-f727ad98.woff2 +0 -0
  26. package/assets/icons/duotone/duotone-arrow-to-top-left-from-corner.svg +1 -0
  27. package/assets/icons/duotone/duotone-bank-building.svg +1 -0
  28. package/assets/icons/duotone/duotone-bell.svg +1 -0
  29. package/assets/icons/duotone/duotone-block-stairs.svg +1 -0
  30. package/assets/icons/duotone/duotone-btc-invoice.svg +1 -0
  31. package/assets/icons/duotone/duotone-cactus.svg +1 -0
  32. package/assets/icons/duotone/duotone-cash-register.svg +1 -0
  33. package/assets/icons/duotone/duotone-column-chart.svg +1 -0
  34. package/assets/icons/duotone/duotone-credit-card.svg +1 -0
  35. package/assets/icons/duotone/duotone-crypto-currencies-btc-eth.svg +1 -0
  36. package/assets/icons/duotone/duotone-crypto-currencies-btc-usdc.svg +1 -0
  37. package/assets/icons/duotone/duotone-cryptos-pizza.svg +1 -0
  38. package/assets/icons/duotone/duotone-dashboard.svg +1 -0
  39. package/assets/icons/duotone/duotone-displaced-hamburguer.svg +1 -0
  40. package/assets/icons/duotone/duotone-document-text.svg +1 -0
  41. package/assets/icons/duotone/duotone-document-vertical-line.svg +1 -0
  42. package/assets/icons/duotone/duotone-document.svg +1 -0
  43. package/assets/icons/duotone/duotone-employee.svg +1 -0
  44. package/assets/icons/duotone/duotone-envelope.svg +1 -0
  45. package/assets/icons/duotone/duotone-fiat-currencies.svg +1 -0
  46. package/assets/icons/duotone/duotone-fiat-exchange.svg +1 -0
  47. package/assets/icons/duotone/duotone-fluctuations.svg +1 -0
  48. package/assets/icons/duotone/duotone-gamepad.svg +1 -0
  49. package/assets/icons/duotone/duotone-globe.svg +1 -0
  50. package/assets/icons/duotone/duotone-group.svg +1 -0
  51. package/assets/icons/duotone/duotone-handshake.svg +1 -0
  52. package/assets/icons/duotone/duotone-high-five.svg +1 -0
  53. package/assets/icons/duotone/duotone-htlc-box.svg +1 -0
  54. package/assets/icons/duotone/duotone-incognito.svg +1 -0
  55. package/assets/icons/duotone/duotone-key-puzzle.svg +1 -0
  56. package/assets/icons/duotone/duotone-languages.svg +1 -0
  57. package/assets/icons/duotone/duotone-magnifying-glass.svg +1 -0
  58. package/assets/icons/duotone/duotone-medal.svg +1 -0
  59. package/assets/icons/duotone/duotone-network.svg +1 -0
  60. package/assets/icons/duotone/duotone-nim-phone.svg +1 -0
  61. package/assets/icons/duotone/duotone-nimiq-environment.svg +1 -0
  62. package/assets/icons/duotone/duotone-no-chargeback.svg +1 -0
  63. package/assets/icons/duotone/duotone-oasis-puzzle.svg +1 -0
  64. package/assets/icons/duotone/duotone-paper-plane.svg +1 -0
  65. package/assets/icons/duotone/duotone-peer-to-peer.svg +1 -0
  66. package/assets/icons/duotone/duotone-pin-with-shadow.svg +1 -0
  67. package/assets/icons/duotone/duotone-safe-lock.svg +1 -0
  68. package/assets/icons/duotone/duotone-smart-contract.svg +1 -0
  69. package/assets/icons/duotone/duotone-sparkling-swap.svg +1 -0
  70. package/assets/icons/duotone/duotone-speedmeter.svg +1 -0
  71. package/assets/icons/duotone/duotone-staking-ripple.svg +1 -0
  72. package/assets/icons/duotone/duotone-successful-sequence.svg +1 -0
  73. package/assets/icons/duotone/duotone-three-hands-hexagon.svg +1 -0
  74. package/assets/icons/nimiq-flags.json +1274 -0
  75. package/assets/icons/nimiq-icons.json +1631 -0
  76. package/assets/img/bg-hexagons.svg +1 -0
  77. package/assets/img/cpl-preview.webp +0 -0
  78. package/assets/img/gods-light.webp +0 -0
  79. package/assets/img/iqons.min.svg +1 -0
  80. package/assets/img/multisig-preview.svg +1 -0
  81. package/assets/img/nimiq-pay-preview.webp +0 -0
  82. package/assets/img/nimiq-wallet-preview.webp +0 -0
  83. package/assets/img/world-map.svg +1 -0
  84. package/assets/logos/nimiq-icons-logos/logos-bitcoin-mono.svg +1 -0
  85. package/assets/logos/nimiq-icons-logos/logos-bitcoin-outline-mono.svg +1 -0
  86. package/assets/logos/nimiq-icons-logos/logos-bitcoin-outline.svg +1 -0
  87. package/assets/logos/nimiq-icons-logos/logos-bitcoin.svg +1 -0
  88. package/assets/logos/nimiq-icons-logos/logos-colones-outline-mono.svg +1 -0
  89. package/assets/logos/nimiq-icons-logos/logos-colones-outline.svg +1 -0
  90. package/assets/logos/nimiq-icons-logos/logos-cpl-horizontal-mono.svg +1 -0
  91. package/assets/logos/nimiq-icons-logos/logos-cpl-horizontal.svg +1 -0
  92. package/assets/logos/nimiq-icons-logos/logos-cpl-tag-mono.svg +1 -0
  93. package/assets/logos/nimiq-icons-logos/logos-cpl-tag.svg +1 -0
  94. package/assets/logos/nimiq-icons-logos/logos-cpl-white-horizontal.svg +1 -0
  95. package/assets/logos/nimiq-icons-logos/logos-crypto-map-horizontal-mono.svg +1 -0
  96. package/assets/logos/nimiq-icons-logos/logos-crypto-map-horizontal.svg +1 -0
  97. package/assets/logos/nimiq-icons-logos/logos-crypto-map-mono.svg +1 -0
  98. package/assets/logos/nimiq-icons-logos/logos-crypto-map-white-horizontal.svg +1 -0
  99. package/assets/logos/nimiq-icons-logos/logos-crypto-map.svg +1 -0
  100. package/assets/logos/nimiq-icons-logos/logos-cryptocity-horizontal-mono.svg +1 -0
  101. package/assets/logos/nimiq-icons-logos/logos-cryptocity-horizontal.svg +1 -0
  102. package/assets/logos/nimiq-icons-logos/logos-cryptocity-mono.svg +1 -0
  103. package/assets/logos/nimiq-icons-logos/logos-cryptocity-white-horizontal.svg +1 -0
  104. package/assets/logos/nimiq-icons-logos/logos-cryptocity.svg +1 -0
  105. package/assets/logos/nimiq-icons-logos/logos-developer-center-horizontal-mono.svg +1 -0
  106. package/assets/logos/nimiq-icons-logos/logos-developer-center-horizontal.svg +1 -0
  107. package/assets/logos/nimiq-icons-logos/logos-developer-center-white-horizontal.svg +1 -0
  108. package/assets/logos/nimiq-icons-logos/logos-discord-mono.svg +1 -0
  109. package/assets/logos/nimiq-icons-logos/logos-discord.svg +1 -0
  110. package/assets/logos/nimiq-icons-logos/logos-ethereum-mono.svg +1 -0
  111. package/assets/logos/nimiq-icons-logos/logos-ethereum.svg +1 -0
  112. package/assets/logos/nimiq-icons-logos/logos-euro-outline-mono.svg +1 -0
  113. package/assets/logos/nimiq-icons-logos/logos-euro-outline.svg +1 -0
  114. package/assets/logos/nimiq-icons-logos/logos-facebook-mono.svg +1 -0
  115. package/assets/logos/nimiq-icons-logos/logos-facebook.svg +1 -0
  116. package/assets/logos/nimiq-icons-logos/logos-fm-horizontal-mono.svg +1 -0
  117. package/assets/logos/nimiq-icons-logos/logos-fm-horizontal.svg +1 -0
  118. package/assets/logos/nimiq-icons-logos/logos-fm-mono.svg +1 -0
  119. package/assets/logos/nimiq-icons-logos/logos-fm-white-horizontal.svg +1 -0
  120. package/assets/logos/nimiq-icons-logos/logos-fm.svg +1 -0
  121. package/assets/logos/nimiq-icons-logos/logos-github-mono.svg +1 -0
  122. package/assets/logos/nimiq-icons-logos/logos-github.svg +1 -0
  123. package/assets/logos/nimiq-icons-logos/logos-gmaps-pin-mono.svg +1 -0
  124. package/assets/logos/nimiq-icons-logos/logos-gmaps-pin.svg +1 -0
  125. package/assets/logos/nimiq-icons-logos/logos-instagram-mono.svg +1 -0
  126. package/assets/logos/nimiq-icons-logos/logos-instagram.svg +1 -0
  127. package/assets/logos/nimiq-icons-logos/logos-lightning-bitcoin-mono.svg +1 -0
  128. package/assets/logos/nimiq-icons-logos/logos-lightning-bitcoin-outline-mono.svg +1 -0
  129. package/assets/logos/nimiq-icons-logos/logos-lightning-bitcoin-outline.svg +1 -0
  130. package/assets/logos/nimiq-icons-logos/logos-lightning-bitcoin.svg +1 -0
  131. package/assets/logos/nimiq-icons-logos/logos-multisig-mono.svg +1 -0
  132. package/assets/logos/nimiq-icons-logos/logos-multisig.svg +1 -0
  133. package/assets/logos/nimiq-icons-logos/logos-nimiq-forum-mono.svg +1 -0
  134. package/assets/logos/nimiq-icons-logos/logos-nimiq-forum.svg +1 -0
  135. package/assets/logos/nimiq-icons-logos/logos-nimiq-hexagon-outline-mono.svg +1 -0
  136. package/assets/logos/nimiq-icons-logos/logos-nimiq-hexagon-outline.svg +1 -0
  137. package/assets/logos/nimiq-icons-logos/logos-nimiq-horizontal-mono.svg +1 -0
  138. package/assets/logos/nimiq-icons-logos/logos-nimiq-horizontal.svg +1 -0
  139. package/assets/logos/nimiq-icons-logos/logos-nimiq-mono.svg +1 -0
  140. package/assets/logos/nimiq-icons-logos/logos-nimiq-pay-horizontal-mono.svg +1 -0
  141. package/assets/logos/nimiq-icons-logos/logos-nimiq-pay-horizontal.svg +1 -0
  142. package/assets/logos/nimiq-icons-logos/logos-nimiq-pay-vertical-mono.svg +1 -0
  143. package/assets/logos/nimiq-icons-logos/logos-nimiq-pay-vertical.svg +1 -0
  144. package/assets/logos/nimiq-icons-logos/logos-nimiq-pay-white-horizontal.svg +1 -0
  145. package/assets/logos/nimiq-icons-logos/logos-nimiq-vertical-mono.svg +1 -0
  146. package/assets/logos/nimiq-icons-logos/logos-nimiq-vertical.svg +1 -0
  147. package/assets/logos/nimiq-icons-logos/logos-nimiq-wallet-horizontal-mono.svg +1 -0
  148. package/assets/logos/nimiq-icons-logos/logos-nimiq-wallet-horizontal.svg +1 -0
  149. package/assets/logos/nimiq-icons-logos/logos-nimiq-wallet-white-horizontal.svg +1 -0
  150. package/assets/logos/nimiq-icons-logos/logos-nimiq-white-horizontal.svg +1 -0
  151. package/assets/logos/nimiq-icons-logos/logos-nimiq-white-vertical.svg +1 -0
  152. package/assets/logos/nimiq-icons-logos/logos-nimiq.svg +1 -0
  153. package/assets/logos/nimiq-icons-logos/logos-reddit-mono.svg +1 -0
  154. package/assets/logos/nimiq-icons-logos/logos-reddit.svg +1 -0
  155. package/assets/logos/nimiq-icons-logos/logos-shiny-nim-mono.svg +1 -0
  156. package/assets/logos/nimiq-icons-logos/logos-shiny-nim.svg +1 -0
  157. package/assets/logos/nimiq-icons-logos/logos-super-simple-swap-mono.svg +1 -0
  158. package/assets/logos/nimiq-icons-logos/logos-super-simple-swap-text-mono.svg +1 -0
  159. package/assets/logos/nimiq-icons-logos/logos-super-simple-swap-text.svg +1 -0
  160. package/assets/logos/nimiq-icons-logos/logos-super-simple-swap.svg +1 -0
  161. package/assets/logos/nimiq-icons-logos/logos-telegram-mono.svg +1 -0
  162. package/assets/logos/nimiq-icons-logos/logos-telegram.svg +1 -0
  163. package/assets/logos/nimiq-icons-logos/logos-twitter-mono.svg +1 -0
  164. package/assets/logos/nimiq-icons-logos/logos-twitter.svg +1 -0
  165. package/assets/logos/nimiq-icons-logos/logos-usd-outline-mono.svg +1 -0
  166. package/assets/logos/nimiq-icons-logos/logos-usd-outline.svg +1 -0
  167. package/assets/logos/nimiq-icons-logos/logos-usdc-mono.svg +1 -0
  168. package/assets/logos/nimiq-icons-logos/logos-usdc.svg +1 -0
  169. package/assets/logos/nimiq-icons-logos/logos-usdt-mono.svg +1 -0
  170. package/assets/logos/nimiq-icons-logos/logos-usdt.svg +1 -0
  171. package/assets/logos/nimiq-icons-logos/logos-youtube-mono.svg +1 -0
  172. package/assets/logos/nimiq-icons-logos/logos-youtube.svg +1 -0
  173. package/assets/logos/official/black/nimiq_logo_black_horizontal.svg +1 -0
  174. package/assets/logos/official/black/nimiq_logo_black_vertical.svg +1 -0
  175. package/assets/logos/official/black/nimiq_signet_black_16x16.svg +1 -0
  176. package/assets/logos/official/black/nimiq_signet_black_32x32.svg +1 -0
  177. package/assets/logos/official/black/nimiq_signet_black_64x64.svg +1 -0
  178. package/assets/logos/official/black/nimiq_signet_black_base_size.svg +1 -0
  179. package/assets/logos/official/colored/_extended/nimiq_keyguard.svg +1 -0
  180. package/assets/logos/official/colored/_extended/nimiq_miner.svg +1 -0
  181. package/assets/logos/official/colored/_extended/nimiq_safe.svg +1 -0
  182. package/assets/logos/official/colored/_extended/nimiq_shop.svg +1 -0
  183. package/assets/logos/official/colored/nimiq_logo_rgb_horizontal.svg +1 -0
  184. package/assets/logos/official/colored/nimiq_logo_rgb_vertical.svg +1 -0
  185. package/assets/logos/official/colored/nimiq_logo_rgb_white_horizontal.svg +1 -0
  186. package/assets/logos/official/colored/nimiq_logo_rgb_white_vertical.svg +1 -0
  187. package/assets/logos/official/colored/nimiq_signet_rgb_16x16.svg +1 -0
  188. package/assets/logos/official/colored/nimiq_signet_rgb_32x32.svg +1 -0
  189. package/assets/logos/official/colored/nimiq_signet_rgb_64x64.svg +1 -0
  190. package/assets/logos/official/colored/nimiq_signet_rgb_base_size.svg +1 -0
  191. package/assets/logos/official/nimiq-logo.min.svg +1 -0
  192. package/assets/logos/official/white/nimiq_logo_white_horizontal.svg +1 -0
  193. package/assets/logos/official/white/nimiq_logo_white_vertical.svg +1 -0
  194. package/assets/logos/official/white/nimiq_signet_white_16x16.svg +1 -0
  195. package/assets/logos/official/white/nimiq_signet_white_32x32.svg +1 -0
  196. package/assets/logos/official/white/nimiq_signet_white_64x64.svg +1 -0
  197. package/assets/logos/official/white/nimiq_signet_white_base_size.svg +1 -0
  198. package/assets/tokens.md +28 -0
  199. package/bin/nq.js +274 -0
  200. package/package.json +51 -0
  201. package/registry/components/account-header/meta.json +70 -0
  202. package/registry/components/account-list/meta.json +84 -0
  203. package/registry/components/account-ring/meta.json +48 -0
  204. package/registry/components/address-display/meta.json +22 -0
  205. package/registry/components/address-input/meta.json +24 -0
  206. package/registry/components/amount/meta.json +26 -0
  207. package/registry/components/amount-input/meta.json +25 -0
  208. package/registry/components/amount-with-fee/meta.json +25 -0
  209. package/registry/components/app-showcase-card/meta.json +24 -0
  210. package/registry/components/backup-banner/meta.json +15 -0
  211. package/registry/components/balance-distribution/meta.json +20 -0
  212. package/registry/components/buttons/meta.json +22 -0
  213. package/registry/components/card/meta.json +18 -0
  214. package/registry/components/close-button/meta.json +18 -0
  215. package/registry/components/consensus-icon/meta.json +20 -0
  216. package/registry/components/copyable/meta.json +20 -0
  217. package/registry/components/fiat-amount/meta.json +24 -0
  218. package/registry/components/hero-section/meta.json +56 -0
  219. package/registry/components/honeycomb-band/meta.json +30 -0
  220. package/registry/components/identicon/meta.json +38 -0
  221. package/registry/components/label-input/meta.json +24 -0
  222. package/registry/components/loading-spinner/meta.json +18 -0
  223. package/registry/components/page-body/meta.json +18 -0
  224. package/registry/components/page-footer/meta.json +18 -0
  225. package/registry/components/page-header/meta.json +23 -0
  226. package/registry/components/payment-info-line/meta.json +97 -0
  227. package/registry/components/price-chart/meta.json +21 -0
  228. package/registry/components/qr-code/meta.json +60 -0
  229. package/registry/components/search-bar/meta.json +20 -0
  230. package/registry/components/select-bar/meta.json +22 -0
  231. package/registry/components/slider-toggle/meta.json +23 -0
  232. package/registry/components/small-page/meta.json +18 -0
  233. package/registry/components/status-alert/meta.json +22 -0
  234. package/registry/components/status-screen/meta.json +27 -0
  235. package/registry/components/swap-balance-bar/meta.json +97 -0
  236. package/registry/components/timer/meta.json +25 -0
  237. package/registry/components/toast-notification/meta.json +24 -0
  238. package/registry/components/tooltip/meta.json +28 -0
  239. package/registry/components/transaction-list/meta.json +48 -0
  240. package/registry/index.json +394 -0
  241. package/scripts/snap.mjs +42 -0
  242. package/scripts/verify.mjs +76 -0
@@ -0,0 +1,300 @@
1
+ :root {
2
+ /* Viewport widths */
3
+ --f-space-width-min: 320;
4
+ --f-space-width-max: 1440;
5
+ }
6
+
7
+ body:not(.nq-raw) {
8
+ /* Base styles */
9
+ background-color: var(--colors-neutral-100);
10
+
11
+ --nq-max-width: 73rem;
12
+
13
+ &:not(:where(.nq-no-color, [nq-no-color], .nq-prose, [nq-prose], .nq-prose-compact, [nq-prose-compact])) {
14
+ color: var(--colors-neutral-800);
15
+ }
16
+
17
+ :not(:has(:is(.nq-raw, [nq-raw], .nq-prose, [nq-prose], .nq-prose-compact, [nq-prose-compact]) *)):not(
18
+ :is(.nq-raw, [nq-raw], .nq-prose, [nq-prose], .nq-prose-compact, [nq-prose-compact]) *
19
+ ) {
20
+ --f-space-width-range: calc(var(--f-space-width-max) - var(--f-space-width-min));
21
+ --f-space-scale-factor: calc((100vw - (1px * var(--f-space-width-min))) / var(--f-space-width-range));
22
+
23
+ --f-font-size-range: calc(var(--font-size-max) - var(--font-size-min));
24
+ --f-font-size-fluid: calc(1px * var(--font-size-min) + var(--f-font-size-range) * var(--f-space-scale-factor));
25
+ --f-font-size: clamp(calc(1px * var(--font-size-min)), var(--f-font-size-fluid), calc(var(--font-size-max) * 1px));
26
+
27
+ &:where(h1) {
28
+ font-weight: 600;
29
+ max-width: 26ch;
30
+ text-align: left;
31
+ margin: 0;
32
+ line-height: 1.3;
33
+
34
+ --font-size-min: 44;
35
+ --font-size-max: 48;
36
+ font-size: var(--f-font-size);
37
+
38
+ &:where(.nq-heading-lg, [nq-heading-lg]) {
39
+ --font-size-min: 44;
40
+ --font-size-max: 64;
41
+ }
42
+
43
+ @media screen and (min-width: 768px) {
44
+ text-align: center;
45
+ }
46
+
47
+ & + p {
48
+ margin-top: 24px;
49
+ max-width: 42ch;
50
+
51
+ line-height: 1.5;
52
+ --font-size-min: 20;
53
+ --font-size-max: 22;
54
+ font-size: var(--f-font-size);
55
+
56
+ @media screen and (min-width: 768px) {
57
+ text-align: center;
58
+ }
59
+ }
60
+ }
61
+
62
+ &:where(h2) {
63
+ font-weight: 600;
64
+
65
+ *:not(.nq-no-color):not([nq-no-color]):not(.nq-no-color *):not([nq-no-color] *) & {
66
+ color: var(--colors-neutral);
67
+ }
68
+
69
+ max-width: 33ch;
70
+ margin: 0;
71
+
72
+ --font-size-min: 32;
73
+ --font-size-max: 40;
74
+ font-size: var(--f-font-size);
75
+ line-height: 1.3;
76
+
77
+ &:where(.nq-heading, [nq-heading]) {
78
+ --font-size-min: 36;
79
+ --font-size-max: 44;
80
+ }
81
+
82
+ text-align: left;
83
+
84
+ @media screen and (min-width: 768px) {
85
+ text-align: center;
86
+ }
87
+
88
+ & + p {
89
+ margin-top: 16px;
90
+ color: color-mix(in oklch, var(--colors-neutral-800) 85%, transparent);
91
+
92
+ max-width: 70ch;
93
+
94
+ line-height: 1.5;
95
+ --font-size-min: 20;
96
+ --font-size-max: 22;
97
+ font-size: var(--f-font-size);
98
+
99
+ @media screen and (min-width: 768px) {
100
+ text-align: center;
101
+ }
102
+ }
103
+ }
104
+
105
+ &:where(h3) {
106
+ font-weight: 600;
107
+ line-height: 1.3;
108
+ --font-size-min: 26;
109
+ --font-size-max: 30;
110
+ font-size: var(--f-font-size);
111
+
112
+ *:not(.nq-no-color):not([nq-no-color]):not(.nq-no-color *):not([nq-no-color] *) & {
113
+ color: var(--colors-neutral);
114
+ }
115
+
116
+ & + p {
117
+ margin-top: 16px;
118
+
119
+ line-height: 1.5;
120
+ --font-size-min: 18;
121
+ --font-size-max: 20;
122
+ font-size: var(--f-font-size);
123
+ }
124
+ }
125
+
126
+ &:where(h4) {
127
+ font-weight: 600;
128
+ line-height: 1.3;
129
+ --font-size-min: 22;
130
+ --font-size-max: 26;
131
+ font-size: var(--f-font-size);
132
+
133
+ /* We change the color except if there is parent that change the color */
134
+ *:not(.nq-no-color):not([nq-no-color]):not(.nq-no-color *):not([nq-no-color] *) & {
135
+ color: var(--colors-neutral);
136
+ }
137
+ }
138
+ }
139
+
140
+ :where(section, [data-section]) {
141
+ display: flex;
142
+ flex-direction: column;
143
+ justify-content: center;
144
+
145
+ @media screen and (min-width: 769px) {
146
+ align-items: center;
147
+ }
148
+
149
+ margin-left: auto;
150
+ margin-right: auto;
151
+
152
+ --f-space-width-range: calc(var(--f-space-width-max) - var(--f-space-width-min));
153
+ --f-space-scale-factor: calc((100vw - (1px * var(--f-space-width-min))) / var(--f-space-width-range));
154
+ --f-space-width-min: 320;
155
+ --f-space-width-max: 1440;
156
+
157
+ --f-pt-range: calc(var(--f-pt-max) - var(--f-pt-min));
158
+ --f-pt-fluid: calc(1px * var(--f-pt-min) + var(--f-pt-range) * var(--f-space-scale-factor));
159
+ --f-pt: clamp(calc(1px * var(--f-pt-min)), var(--f-pt-fluid), calc(var(--f-pt-max) * 1px));
160
+ --pt: var(--f-pt);
161
+
162
+ --f-pb-range: calc(var(--f-pb-max) - var(--f-pb-min));
163
+ --f-pb-fluid: calc(1px * var(--f-pb-min) + var(--f-pb-range) * var(--f-space-scale-factor));
164
+ --f-pb: clamp(calc(1px * var(--f-pb-min)), var(--f-pb-fluid), calc(var(--f-pb-max) * 1px));
165
+ --pb: var(--f-pb);
166
+
167
+ --f-px-range: calc(var(--f-px-max) - var(--f-px-min));
168
+ --f-px-fluid: calc(1px * var(--f-px-min) + var(--f-px-range) * var(--f-space-scale-factor));
169
+ --f-px: clamp(calc(1px * var(--f-px-min)), var(--f-px-fluid), calc(var(--f-px-max) * 1px));
170
+ --px: var(--f-px);
171
+
172
+ --nq-max-width: calc(100vw - 4rem);
173
+
174
+ @media screen and (min-width: 1152px) {
175
+ --nq-max-width: calc(100vw - 9rem);
176
+ }
177
+
178
+ @media screen and (min-width: 1440px) {
179
+ --nq-max-width: 73rem;
180
+ }
181
+
182
+ &:is(.nq-wide, [nq-wide]) {
183
+ --nq-max-width: none;
184
+ --px: 0;
185
+ width: 100%;
186
+ margin: 0 auto;
187
+ align-items: center;
188
+ }
189
+
190
+ &:is(.bg-darkblue, [bg-darkblue], .bg-darkerblue, [bg-darkerblue]) {
191
+ color-scheme: dark;
192
+ }
193
+
194
+ padding: var(--pt, 0) var(--px, 0) var(--pb, 0) var(--px, 0);
195
+
196
+ > :where(*) {
197
+ max-width: var(--nq-max-width);
198
+ }
199
+
200
+ --f-px-min: 32;
201
+ --f-px-max: 80;
202
+
203
+ --f-pt-min: 160;
204
+ --f-pt-max: 200;
205
+
206
+ :is(
207
+ &:where(.bg-darkblue, [bg-darkblue]):has(
208
+ + :where(section, [data-section]):not(:where(.nq-section-gap, [nq-section-gap])):where(
209
+ .bg-darkblue,
210
+ [bg-darkblue]
211
+ )
212
+ ),
213
+ &:where(.bg-darkerblue, [bg-darkerblue]):has(
214
+ + :where(section, [data-section]):not(:where(.nq-section-gap, [nq-section-gap])):where(
215
+ .bg-darkerblue,
216
+ [bg-darkerblue]
217
+ )
218
+ ),
219
+ &:where(.bg-neutral-100, [bg-neutral-100]):has(
220
+ + :where(section, [data-section]):not(:where(.nq-section-gap, [nq-section-gap])):where(
221
+ .bg-neutral-100,
222
+ [bg-neutral-100]
223
+ )
224
+ ),
225
+ &:where(.bg-neutral-0, [bg-neutral-0]):has(
226
+ + :where(section, [data-section]):not(:where(.nq-section-gap, [nq-section-gap])):where(
227
+ .bg-neutral-0,
228
+ [bg-neutral-0]
229
+ )
230
+ )
231
+ ) {
232
+ --f-pb-min: 36;
233
+ --f-pb-max: 48;
234
+
235
+ + :where(section, [data-section]) {
236
+ --f-pt-min: 36;
237
+ --f-pt-max: 48;
238
+ }
239
+ }
240
+
241
+ &:where(.bg-darkblue, [bg-darkblue], .bg-darkerblue, [bg-darkerblue]):has(
242
+ + :where(section, [data-section]):where(
243
+ .bg-neutral-100,
244
+ .bg-neutral-0,
245
+ [bg-neutral-100],
246
+ [bg-neutral-0],
247
+ .nq-section-gap,
248
+ [nq-section-gap]
249
+ )
250
+ ),
251
+ &:where(.bg-neutral-0, [bg-neutral-0], .bg-neutral-100, [bg-neutral-100]):has(
252
+ + :where(section, [data-section]):where(
253
+ .bg-darkblue,
254
+ [bg-darkblue],
255
+ .bg-darkerblue,
256
+ [bg-darkerblue],
257
+ .nq-section-gap,
258
+ [nq-section-gap]
259
+ )
260
+ ),
261
+ &:where(.bg-neutral-0, [bg-neutral-0]):has(
262
+ + :where(section, [data-section]):where(
263
+ .bg-neutral-100,
264
+ [bg-neutral-100],
265
+ .bg-darkblue,
266
+ [bg-darkblue],
267
+ .bg-darkerblue,
268
+ [bg-darkerblue],
269
+ .nq-section-gap,
270
+ [nq-section-gap]
271
+ )
272
+ ),
273
+ &:where(.bg-darkblue, [bg-darkblue], .bg-neutral-100, [bg-neutral-100], .bg-darkerblue, [bg-darkerblue]):has(
274
+ + :where(section, [data-section]):where(.bg-neutral-0, [bg-neutral-0], .nq-section-gap, [nq-section-gap])
275
+ ),
276
+ &:where(.bg-neutral-100, [bg-neutral-100]):has(
277
+ + :where(section, [data-section]):where(
278
+ .bg-darkblue,
279
+ [bg-darkblue],
280
+ .bg-neutral-0,
281
+ [bg-neutral-0],
282
+ .bg-darkerblue,
283
+ [bg-darkerblue],
284
+ .nq-section-gap,
285
+ [nq-section-gap]
286
+ )
287
+ ),
288
+ &:where(.bg-neutral-0, [bg-neutral-0], .bg-darkblue, [bg-darkblue], .bg-darkerblue, [bg-darkerblue]):has(
289
+ + :where(section, [data-section]):where(.bg-neutral-100, [bg-neutral-100], .nq-section-gap, [nq-section-gap])
290
+ ) {
291
+ --f-pb-min: 160;
292
+ --f-pb-max: 200;
293
+ }
294
+
295
+ &:last-child {
296
+ --f-pb-min: 32;
297
+ --f-pb-max: 48;
298
+ }
299
+ }
300
+ }