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,861 @@
1
+ .nq-subline {
2
+ font-size: 1.375rem;
3
+ line-height: 1.2;
4
+ margin-bottom: 2.75rem;
5
+ color: var(--colors-neutral-800);
6
+
7
+ @media (min-width: 769px) {
8
+ font-size: 1.5rem;
9
+ }
10
+ }
11
+
12
+ .nq-label {
13
+ text-transform: uppercase;
14
+ letter-spacing: 0.17em;
15
+ font-weight: 700;
16
+ line-height: 1;
17
+ color: var(--colors-neutral-800);
18
+
19
+ :where([data-inverted] *) & {
20
+ color: color-mix(in oklch, var(--colors-neutral-0) 80%, transparent);
21
+ }
22
+
23
+ :where(.dark, [data-theme='dark']) & {
24
+ color: color-mix(in oklch, var(--colors-white) 70%, transparent);
25
+ }
26
+ }
27
+
28
+ .nq-arrow {
29
+ /* We select the arrow OR the closest parent with href to an http */
30
+ a[href^='http'] &::after,
31
+ &[href^='http']::after {
32
+ margin-bottom: 1px;
33
+ rotate: 0.375turn;
34
+ }
35
+
36
+ &::after {
37
+ content: '';
38
+ position: relative;
39
+ display: inline-block;
40
+ -webkit-mask: var(--nq-icon) no-repeat;
41
+ mask: var(--nq-icon) no-repeat;
42
+ -webkit-mask-size: 100% 100%;
43
+ mask-size: 100% 100%;
44
+ background-color: currentColor;
45
+ color: inherit;
46
+ top: 0;
47
+ right: 0;
48
+ bottom: 0;
49
+ left: 0;
50
+ z-index: inherit;
51
+ margin-left: 0.4em;
52
+ transition: transform 100ms ease-out;
53
+ width: 0.7em;
54
+ height: 0.7em;
55
+ --nq-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTIgMTIiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTQuNjY2IDEwIDEgNmwzLjY2Ny00TTIuNjE5IDZIMTEiLz48L3N2Zz4=');
56
+ }
57
+
58
+ /* We select the arrow OR the closest parent with href starting with local href */
59
+ a:where(:not([href^='http'])) &::after,
60
+ &:where(:not([href^='http']))::after {
61
+ margin-bottom: 1px;
62
+ rotate: 0.5turn;
63
+ }
64
+
65
+ &:hover::after {
66
+ transform: translateX(-0.25em);
67
+ }
68
+
69
+ a:hover &::after {
70
+ transform: translateX(-0.25em);
71
+ }
72
+ }
73
+
74
+ .nq-arrow-back {
75
+ &::before {
76
+ content: '';
77
+ position: relative;
78
+ display: inline-block;
79
+ -webkit-mask: var(--nq-icon) no-repeat;
80
+ mask: var(--nq-icon) no-repeat;
81
+ -webkit-mask-size: 100% 100%;
82
+ mask-size: 100% 100%;
83
+ background-color: currentColor;
84
+ color: inherit;
85
+ top: 0;
86
+ right: 0;
87
+ bottom: 0;
88
+ left: 0;
89
+ z-index: inherit;
90
+ transition: transform 100ms ease-out;
91
+ width: 0.7em;
92
+ height: 0.7em;
93
+ --nq-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTIgMTIiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTQuNjY2IDEwIDEgNmwzLjY2Ny00TTIuNjE5IDZIMTEiLz48L3N2Zz4=');
94
+ margin-right: 0.4em;
95
+ margin-bottom: 1px;
96
+ }
97
+
98
+ &:hover::before {
99
+ transform: translateX(-0.25em);
100
+ }
101
+
102
+ a:hover &::before {
103
+ transform: translateX(-0.25em);
104
+ }
105
+ }
106
+
107
+ @property --nq-gradient-from {
108
+ syntax: '<color>';
109
+ inherits: false;
110
+ initial-value: #0000;
111
+ }
112
+
113
+ @property --nq-gradient-to {
114
+ syntax: '<color>';
115
+ inherits: false;
116
+ initial-value: #0000;
117
+ }
118
+
119
+ @property --nq-gradient-stops {
120
+ syntax: '*';
121
+ inherits: false;
122
+ }
123
+
124
+ .nq-pill,
125
+ .nq-pill-lg,
126
+ .nq-pill-xl,
127
+ .nq-pill-blue,
128
+ .nq-pill-white,
129
+ .nq-pill-gold,
130
+ .nq-pill-green,
131
+ .nq-pill-orange,
132
+ .nq-pill-red,
133
+ .nq-pill-secondary,
134
+ .nq-pill-tertiary {
135
+ position: relative;
136
+ font-weight: bold;
137
+ font-size: 0.875rem;
138
+ padding: 0.1875rem 0.8125rem;
139
+ border: none;
140
+ border-radius: 999px;
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: center;
144
+ gap: 0.125rem;
145
+ line-height: 1.5;
146
+ height: max-content;
147
+ width: max-content;
148
+ text-decoration: none;
149
+ color: white;
150
+ outline: none;
151
+ background-image: radial-gradient(at 100% 100% in oklab, var(--nq-gradient-from) 0%, var(--nq-gradient-to) 100%);
152
+ --transitions: --nq-gradient-from 200ms var(--nq-ease), --nq-gradient-to 200ms var(--nq-ease);
153
+ transition: var(--transitions);
154
+
155
+ &:where(.nq-pill-lg, [nq-pill-lg]) {
156
+ font-size: 1rem;
157
+ padding: 0.3125rem 1rem;
158
+ }
159
+
160
+ &:where(.nq-pill-xl, [nq-pill-xl]) {
161
+ box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15);
162
+ cursor: pointer;
163
+ transition:
164
+ transform 450ms var(--nq-ease),
165
+ box-shadow 450ms var(--nq-ease),
166
+ background-color 250ms var(--nq-ease),
167
+ var(--transitions);
168
+ will-change: box-shadow;
169
+ text-transform: uppercase;
170
+ letter-spacing: 0.094em;
171
+ min-width: 12.5rem;
172
+ flex: 1;
173
+ padding: 1.25rem 2rem;
174
+ line-height: 1.25rem;
175
+ font-size: 1rem;
176
+ gap: 0.5rem;
177
+ border-radius: 9999px;
178
+ margin: 1rem;
179
+
180
+ &:where(:hover, :focus) {
181
+ box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.2);
182
+ transform: translate3D(0, -2px, 0);
183
+ }
184
+
185
+ &:active {
186
+ outline: none;
187
+ box-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.2);
188
+ transform: translate3D(0, 1px, 0);
189
+ transition:
190
+ transform 200ms cubic-bezier(0.41, 0.34, 0.26, 1.55),
191
+ box-shadow 200ms cubic-bezier(0.41, 0.34, 0.26, 1.55),
192
+ background-color 200ms var(--nq-ease),
193
+ var(--transitions);
194
+ }
195
+ }
196
+
197
+ &:where([disabled]) {
198
+ pointer-events: none;
199
+ cursor: not-allowed;
200
+ opacity: 0.5;
201
+ }
202
+
203
+ &:not([disabled]):where(:hover, :active, :focus)::before {
204
+ opacity: 1;
205
+ }
206
+
207
+ &:focus-visible {
208
+ outline: 2px solid var(--colors-blue);
209
+ outline-offset: 3px;
210
+ }
211
+ }
212
+
213
+ .nq-pill-blue {
214
+ --nq-gradient-from: var(--colors-blue-gradient-from);
215
+ --nq-gradient-to: var(--colors-blue-gradient-to);
216
+
217
+ &:hover,
218
+ &:focus-visible {
219
+ --nq-gradient-from: var(--colors-blue-gradient-darkened-from);
220
+ --nq-gradient-to: var(--colors-blue-gradient-darkened-to);
221
+ }
222
+ }
223
+
224
+ .nq-pill-white {
225
+ background: var(--colors-white);
226
+ background-image: none;
227
+ color: var(--colors-blue);
228
+ --transitions: background 200ms var(--nq-ease);
229
+
230
+ &:hover,
231
+ &:focus-visible {
232
+ background: #fafafa;
233
+ }
234
+ }
235
+
236
+ .nq-pill-green {
237
+ --nq-gradient-from: var(--colors-green-gradient-from);
238
+ --nq-gradient-to: var(--colors-green-gradient-to);
239
+
240
+ &:hover,
241
+ &:focus-visible {
242
+ --nq-gradient-from: var(--colors-green-gradient-darkened-from);
243
+ --nq-gradient-to: var(--colors-green-gradient-darkened-to);
244
+ }
245
+ }
246
+
247
+ .nq-pill-red {
248
+ --nq-gradient-from: var(--colors-red-gradient-from);
249
+ --nq-gradient-to: var(--colors-red-gradient-to);
250
+
251
+ &:hover,
252
+ &:focus-visible {
253
+ --nq-gradient-from: var(--colors-red-gradient-darkened-from);
254
+ --nq-gradient-to: var(--colors-red-gradient-darkened-to);
255
+ }
256
+ }
257
+
258
+ .nq-pill-gold {
259
+ --nq-gradient-from: var(--colors-gold-gradient-from);
260
+ --nq-gradient-to: var(--colors-gold-gradient-to);
261
+
262
+ &:hover,
263
+ &:focus-visible {
264
+ --nq-gradient-from: var(--colors-gold-gradient-darkened-from);
265
+ --nq-gradient-to: var(--colors-gold-gradient-darkened-to);
266
+ }
267
+ }
268
+
269
+ .nq-pill-orange {
270
+ --nq-gradient-from: var(--colors-orange-gradient-from);
271
+ --nq-gradient-to: var(--colors-orange-gradient-to);
272
+
273
+ &:hover,
274
+ &:focus-visible {
275
+ --nq-gradient-from: var(--colors-orange-gradient-darkened-from);
276
+ --nq-gradient-to: var(--colors-orange-gradient-darkened-to);
277
+ }
278
+ }
279
+
280
+ .nq-pill-secondary {
281
+ background: var(--colors-neutral-400);
282
+ color: var(--colors-neutral);
283
+ transition: background 200ms ease-in-out;
284
+
285
+ &:hover,
286
+ &:focus-visible {
287
+ background: var(--colors-neutral-500);
288
+ }
289
+
290
+ :where(
291
+ .dark,
292
+ [data-theme='dark'],
293
+ :where(.bg-darkblue &, &:where(.bg-darkblue, [bg-darkblue])),
294
+ :where(.bg-neutral &, &:where(.bg-neutral, [bg-neutral])),
295
+ :where(.bg-darkerblue &, &:where(.bg-darkerblue, [bg-darkerblue]))
296
+ )
297
+ & {
298
+ background: color-mix(in oklch, var(--colors-white) 10%, transparent);
299
+
300
+ &:hover,
301
+ &:focus-visible {
302
+ background: color-mix(in oklch, var(--colors-white) 20%, transparent);
303
+ }
304
+ }
305
+ }
306
+
307
+ .nq-pill-tertiary {
308
+ outline: 0 0 0 1.5px var(--colors-neutral-500);
309
+ color: var(--colors-neutral);
310
+ background: var(--colors-neutral-0);
311
+
312
+ &:hover {
313
+ background: var(--colors-neutral-50);
314
+ outline-color: var(--colors-neutral-600);
315
+
316
+ .dark & {
317
+ background: var(--colors-neutral-200);
318
+ }
319
+ }
320
+ }
321
+
322
+ .nq-ghost-btn {
323
+ margin-right: 1px;
324
+ margin-bottom: 1px;
325
+ padding: 6px 8px;
326
+ border-radius: 6px;
327
+ font-size: 12px;
328
+ line-height: 1;
329
+ font-weight: 600;
330
+ color: var(--colors-neutral-700);
331
+ background: inherit;
332
+ transition: 100ms background var(--nq-ease, ease-out);
333
+ outline: 1.5px var(--colors-neutral-400);
334
+ height: max-content;
335
+ width: max-content;
336
+
337
+ :where(.dark, [data-theme='dark']) &,
338
+ :where([data-inverted] *) & {
339
+ color: color-mix(in oklch, var(--colors-neutral-0) 80%, transparent);
340
+ }
341
+
342
+ &:hover {
343
+ background: var(--colors-neutral-100);
344
+ }
345
+
346
+ &:focus-visible {
347
+ outline: 2px solid var(--colors-blue);
348
+ outline-offset: 3px;
349
+ }
350
+ }
351
+
352
+ .nq-close-btn {
353
+ width: 1em;
354
+ height: 1em;
355
+ background-color: var(--colors-neutral-500);
356
+ border-radius: 1em;
357
+ transition: 100ms background var(--nq-ease, ease-out);
358
+ position: relative;
359
+
360
+ &::after {
361
+ content: '';
362
+ --cross-icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTIgMTIiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0ibTEgMSAxMCAxMG0wLTEwTDEgMTEiLz48L3N2Zz4=');
363
+ -webkit-mask: var(--cross-icon) no-repeat;
364
+ mask: var(--cross-icon) no-repeat;
365
+ -webkit-mask-size: 100% 100%;
366
+ mask-size: 100% 100%;
367
+ background-color: currentColor;
368
+ color: var(--colors-neutral-0);
369
+ width: 0.42em;
370
+ height: 0.42em;
371
+ margin: auto;
372
+ display: block;
373
+ position: absolute;
374
+ inset: 0;
375
+ right: -1px;
376
+ }
377
+
378
+ &:where(:hover, :focus) {
379
+ background-color: var(--colors-neutral-600);
380
+ }
381
+
382
+ &:focus-visible {
383
+ outline: 2px solid var(--colors-blue);
384
+ outline-offset: 3px;
385
+ }
386
+ }
387
+
388
+ .nq-switch {
389
+ &:where(input[type='checkbox']) {
390
+ --active-color: var(--colors-neutral-300);
391
+ appearance: none;
392
+ font-size: 1em;
393
+ width: 2em;
394
+ height: max-content;
395
+ aspect-ratio: 1.625;
396
+ border-radius: 2em;
397
+ background: var(--active-color);
398
+ position: relative;
399
+ cursor: pointer;
400
+
401
+ &::before {
402
+ content: '';
403
+ position: absolute;
404
+ transform: translate(-50%, -50%);
405
+ top: 50%;
406
+ left: 0.6em;
407
+ width: 0.9em;
408
+ height: 0.9em;
409
+ border: 1px solid color-mix(in oklch, var(--colors-neutral) 2%, transparent);
410
+ border-radius: 50%;
411
+ background: #ffffff;
412
+ transition: left 100ms ease-out;
413
+ box-shadow: var(--nq-shadow);
414
+ }
415
+
416
+ &:checked {
417
+ --active-color: var(--colors-blue);
418
+
419
+ &::before {
420
+ left: 1.4em;
421
+ }
422
+ }
423
+
424
+ @media (prefers-reduced-motion) {
425
+ transition-duration: 0s;
426
+
427
+ &::before {
428
+ transition-duration: 0s;
429
+ }
430
+ }
431
+
432
+ &[disabled] {
433
+ opacity: 0.6;
434
+ cursor: not-allowed;
435
+ }
436
+ }
437
+ }
438
+
439
+ .nq-curtain-y {
440
+ overflow: auto;
441
+ position: sticky;
442
+ /* You need to set top-0 or bottom-0! */
443
+ --mask-size: 2rem;
444
+ transition: mask-size 0.25s
445
+ linear(
446
+ 0 0%,
447
+ 0.0027 3.64%,
448
+ 0.0106 7.29%,
449
+ 0.0425 14.58%,
450
+ 0.0957 21.87%,
451
+ 0.1701 29.16%,
452
+ 0.2477 35.19%,
453
+ 0.3401 41.23%,
454
+ 0.5982 55.18%,
455
+ 0.7044 61.56%,
456
+ 0.7987 68.28%,
457
+ 0.875 75%,
458
+ 0.9297 81.25%,
459
+ 0.9687 87.5%,
460
+ 0.9922 93.75%,
461
+ 1 100%
462
+ );
463
+ scroll-timeline: --scroller;
464
+ --curtain-color: var(--colors-neutral);
465
+ mask:
466
+ linear-gradient(var(--curtain-color), transparent) 0 0 / 100% 0 no-repeat,
467
+ linear-gradient(var(--curtain-color), var(--curtain-color)) 0 50% / 100% 100% no-repeat,
468
+ linear-gradient(transparent, var(--curtain-color)) 0 100% / 100% var(--mask-size) no-repeat;
469
+ mask-composite: exclude;
470
+ mask-repeat: none;
471
+ animation:
472
+ mask-up both linear,
473
+ mask-down both linear;
474
+ animation-timeline: scroll(self);
475
+ animation-range:
476
+ 0 2rem,
477
+ 2rem 100%;
478
+ }
479
+
480
+ @keyframes mask-up {
481
+ 100% {
482
+ mask-size:
483
+ 100% var(--mask-size),
484
+ 100% 100%,
485
+ 100% var(--mask-size);
486
+ }
487
+ }
488
+
489
+ @keyframes mask-down {
490
+ 100% {
491
+ mask-size:
492
+ 100% var(--mask-size),
493
+ 100% 100%,
494
+ 100% 0;
495
+ }
496
+ }
497
+
498
+ .nq-card-lg {
499
+ max-width: 37.5rem;
500
+ background: var(--colors-neutral-0);
501
+ color: var(--colors-neutral);
502
+ border-radius: 0.625rem;
503
+ box-shadow: var(--nq-shadow);
504
+ outline: 1.5px solid color-mix(in oklch, var(--colors-neutral) 6%, transparent);
505
+ outline-offset: -1.5px;
506
+ margin: 1rem 0.5rem;
507
+
508
+ @media screen and (min-width: 450px) {
509
+ margin: 1rem;
510
+ }
511
+
512
+ header {
513
+ padding: 1.5rem;
514
+ text-align: center;
515
+
516
+ @media screen and (min-width: 450px) {
517
+ padding: 2rem;
518
+ }
519
+
520
+ h1,
521
+ h2 {
522
+ margin: 0;
523
+ }
524
+
525
+ .nq-notice {
526
+ margin: 1.5rem 0 0;
527
+ }
528
+ }
529
+
530
+ section {
531
+ padding: 1.5rem;
532
+
533
+ @media screen and (min-width: 450px) {
534
+ padding: 2rem;
535
+ }
536
+
537
+ header + & {
538
+ padding-top: 0.5rem;
539
+ }
540
+
541
+ > *:first-child {
542
+ margin-top: 0;
543
+ }
544
+
545
+ > *:last-child {
546
+ margin-bottom: 0;
547
+ }
548
+ }
549
+
550
+ footer {
551
+ padding: 0.5rem;
552
+
553
+ section + & {
554
+ padding-top: 0;
555
+ }
556
+ }
557
+ }
558
+
559
+ .nq-input-box {
560
+ font-size: 1em;
561
+ line-height: 1.5;
562
+ padding: 0.28125em 0.875em;
563
+ height: max-content;
564
+ min-width: min(8em, 220px);
565
+
566
+ border-radius: 0.125em;
567
+ width: 100%;
568
+ background-color: transparent;
569
+ transition:
570
+ colors 0.2s var(--nq-ease),
571
+ box-shadow 0.1s var(--nq-ease);
572
+
573
+ --color: var(--colors-neutral);
574
+ --placeholder-color: var(--colors-neutral-700);
575
+ --outline-color: var(--colors-neutral-500);
576
+
577
+ outline: 1.5px solid var(--outline-color);
578
+ color: var(--color);
579
+
580
+ :where([data-inverted] *) & {
581
+ --placeholder-color: color-mix(in oklch, var(--colors-neutral-0) 80%, transparent);
582
+ }
583
+
584
+ &::placeholder {
585
+ color: var(--placeholder-color);
586
+ }
587
+
588
+ &:not(.nq-invalid, :user-invalid):where(:hover, :focus, :focus-within) {
589
+ --color: var(--colors-blue);
590
+ --outline-color: color-mix(in oklch, var(--colors-blue) 30%, transparent);
591
+
592
+ &::placeholder {
593
+ --placeholder-color: color-mix(in oklch, var(--colors-blue) 60%, transparent);
594
+ }
595
+
596
+ &:focus:valid,
597
+ &:focus-within:valid {
598
+ --outline-color: var(--colors-blue);
599
+ }
600
+ }
601
+
602
+ &:where(.nq-invalid, :user-invalid) {
603
+ --color: var(--colors-orange);
604
+ outline-color: color-mix(in oklch, var(--colors-orange) 40%, transparent);
605
+
606
+ &::placeholder {
607
+ --placeholder-color: color-mix(in oklch, var(--colors-orange) 70%, transparent);
608
+ }
609
+
610
+ &:hover,
611
+ &:focus,
612
+ &:focus-within {
613
+ outline-color: var(--colors-orange);
614
+ }
615
+ }
616
+
617
+ &:where(textarea, :has(textarea)) {
618
+ --padding: 0.25em;
619
+ min-height: calc(3lh + 2 * var(--padding));
620
+ max-height: calc(5lh + 2 * var(--padding));
621
+ field-sizing: content;
622
+ padding: var(--padding) calc(var(--padding) + ((1lh - 1ex) / 2));
623
+ }
624
+ }
625
+
626
+ .nq-focusable {
627
+ outline-color: var(--colors-blue);
628
+
629
+ &:focus-visible {
630
+ outline: 2px solid;
631
+ outline-offset: 3px;
632
+ }
633
+ }
634
+
635
+ .nq-card {
636
+ & {
637
+ background-color: var(--colors-neutral-50);
638
+ color: var(--colors-neutral);
639
+ border-radius: 0.5rem;
640
+ display: flex;
641
+ flex-direction: column;
642
+ overflow: hidden;
643
+ position: relative;
644
+ outline: 1.5px solid color-mix(in oklch, var(--colors-neutral) 4%, transparent);
645
+ outline-offset: -1.5px;
646
+ padding: 1.5rem;
647
+ }
648
+ }
649
+
650
+ .nq-hoverable,
651
+ .nq-hoverable-blue,
652
+ .nq-hoverable-green,
653
+ .nq-hoverable-orange,
654
+ .nq-hoverable-red,
655
+ .nq-hoverable-gold {
656
+ --nq-gradient-from: var(--colors-neutral-300);
657
+ --nq-gradient-to: color-mix(in oklch, var(--colors-neutral-300) 65%, transparent);
658
+ background-image: radial-gradient(at 100% 100% in oklab, var(--nq-gradient-from) 0%, var(--nq-gradient-to) 100%);
659
+ color: var(--colors-neutral);
660
+ border-radius: 0.5rem;
661
+ outline: 1.5px solid color-mix(in oklch, var(--colors-neutral) 4%, transparent);
662
+ outline-offset: -1.5px;
663
+ display: flex;
664
+ flex-direction: column;
665
+ overflow: hidden;
666
+ position: relative;
667
+ padding: 1.5rem;
668
+ cursor: pointer;
669
+ transition:
670
+ --nq-gradient-from 300ms var(--nq-ease),
671
+ --nq-gradient-to 300ms var(--nq-ease),
672
+ transform 200ms ease-out,
673
+ box-shadow 200ms ease-out,
674
+ color 200ms ease-out,
675
+ outline-color 200ms ease-out;
676
+
677
+ @media (hover: hover) {
678
+ &:where(:hover, :focus-visible) {
679
+ --nq-gradient-from: var(--colors-white);
680
+ --nq-gradient-to: var(--colors-white);
681
+ color: var(--hoverable-text, var(--colors-darkblue));
682
+ box-shadow: var(--nq-shadow);
683
+ outline-color: color-mix(in oklch, var(--colors-neutral) 2%, transparent);
684
+ transform: translateY(-0.375rem);
685
+ }
686
+
687
+ > * {
688
+ z-index: 1;
689
+ }
690
+ }
691
+ }
692
+
693
+ .nq-hoverable-blue {
694
+ --nq-gradient-from: var(--colors-blue-gradient-from);
695
+ --nq-gradient-to: var(--colors-blue-gradient-to);
696
+
697
+ &:hover,
698
+ &:focus-visible {
699
+ --nq-gradient-from: var(--colors-blue-gradient-darkened-from);
700
+ --nq-gradient-to: var(--colors-blue-gradient-darkened-to);
701
+ --hoverable-text: var(--colors-white);
702
+ }
703
+ }
704
+
705
+ .nq-hoverable-green {
706
+ --nq-gradient-from: var(--colors-green-gradient-from);
707
+ --nq-gradient-to: var(--colors-green-gradient-to);
708
+
709
+ &:hover,
710
+ &:focus-visible {
711
+ --nq-gradient-from: var(--colors-green-gradient-darkened-from);
712
+ --nq-gradient-to: var(--colors-green-gradient-darkened-to);
713
+ --hoverable-text: var(--colors-white);
714
+ }
715
+ }
716
+
717
+ .nq-hoverable-orange {
718
+ --nq-gradient-from: var(--colors-orange-gradient-from);
719
+ --nq-gradient-to: var(--colors-orange-gradient-to);
720
+
721
+ &:hover,
722
+ &:focus-visible {
723
+ --nq-gradient-from: var(--colors-orange-gradient-darkened-from);
724
+ --nq-gradient-to: var(--colors-orange-gradient-darkened-to);
725
+ --hoverable-text: var(--colors-white);
726
+ }
727
+ }
728
+
729
+ .nq-hoverable-red {
730
+ --nq-gradient-from: var(--colors-red-gradient-from);
731
+ --nq-gradient-to: var(--colors-red-gradient-to);
732
+
733
+ &:hover,
734
+ &:focus-visible {
735
+ --nq-gradient-from: var(--colors-red-gradient-darkened-from);
736
+ --nq-gradient-to: var(--colors-red-gradient-darkened-to);
737
+ --hoverable-text: var(--colors-white);
738
+ }
739
+ }
740
+
741
+ .nq-hoverable-gold {
742
+ --nq-gradient-from: var(--colors-gold-gradient-from);
743
+ --nq-gradient-to: var(--colors-gold-gradient-to);
744
+
745
+ &:hover,
746
+ &:focus-visible {
747
+ --nq-gradient-from: var(--colors-gold-gradient-darkened-from);
748
+ --nq-gradient-to: var(--colors-gold-gradient-darkened-to);
749
+ --hoverable-text: var(--colors-white);
750
+ }
751
+ }
752
+
753
+ .nq-hoverable-cta {
754
+ transform-style: preserve-3d;
755
+ position: relative;
756
+
757
+ &::after {
758
+ width: 100%;
759
+ content: var(--nq-content, 'Learn more');
760
+ --font-size-min: 0.75;
761
+ --font-size-max: 1;
762
+ font-size: var(--font-size);
763
+ white-space: nowrap;
764
+ background-color: transparent;
765
+ font-weight: bold;
766
+ text-transform: none;
767
+ letter-spacing: normal;
768
+ color: var(--colors-blue);
769
+ position: absolute;
770
+ bottom: -1lh;
771
+ opacity: 0;
772
+ transition:
773
+ opacity 150ms ease-out,
774
+ bottom 150ms ease-out,
775
+ background-color 200ms var(--nq-ease);
776
+ }
777
+
778
+ :where(.nq-hoverable, [nq-hoverable]):where(:hover, :focus-visible) &::after {
779
+ background-color: var(--colors-white);
780
+ opacity: 1;
781
+ bottom: 0;
782
+ }
783
+ }
784
+
785
+ .nq-hide-scrollbar,
786
+ .nq-scrollbar-hide {
787
+ scrollbar-width: none;
788
+ -ms-overflow-style: none;
789
+
790
+ &::-webkit-scrollbar {
791
+ display: none;
792
+ }
793
+ }
794
+
795
+ .nq-scrollbar {
796
+ &::-webkit-scrollbar {
797
+ width: 0.8rem;
798
+ height: 0.8rem;
799
+ margin: 2px;
800
+ scrollbar-gutter: stable;
801
+
802
+ @media screen and (min-width: 769px) {
803
+ width: 1rem;
804
+ height: 1rem;
805
+ }
806
+ }
807
+
808
+ &::-webkit-scrollbar-thumb {
809
+ border-radius: 0.4rem;
810
+ background-color: var(--nq-thumb);
811
+ background-clip: padding-box;
812
+ border: 2px transparent solid;
813
+ }
814
+
815
+ &::-webkit-scrollbar-track {
816
+ background-color: var(--nq-track);
817
+ }
818
+
819
+ &.nq-scroll-sm::-webkit-scrollbar {
820
+ width: 0.5rem;
821
+ height: 0.5rem;
822
+ }
823
+
824
+ &.nq-scroll-sm::-webkit-scrollbar-thum {
825
+ border-radius: 0.25rem;
826
+ }
827
+ }
828
+
829
+ .nq-scrollbar-sm {
830
+ &::-webkit-scrollbar {
831
+ width: 0.5rem;
832
+ height: 0.5rem;
833
+ margin: 2px;
834
+ scrollbar-gutter: stable;
835
+
836
+ @media screen and (min-width: 769px) {
837
+ width: 1rem;
838
+ height: 1rem;
839
+ }
840
+ }
841
+
842
+ &::-webkit-scrollbar-thumb {
843
+ border-radius: 0.25rem;
844
+ background-color: var(--nq-thumb);
845
+ background-clip: padding-box;
846
+ border: 2px transparent solid;
847
+ }
848
+
849
+ &::-webkit-scrollbar-track {
850
+ background-color: var(--nq-track);
851
+ }
852
+
853
+ &.nq-scroll-sm::-webkit-scrollbar {
854
+ width: 0.4rem;
855
+ height: 0.4rem;
856
+ }
857
+
858
+ &.nq-scroll-sm::-webkit-scrollbar-thum {
859
+ border-radius: 0.25rem;
860
+ }
861
+ }