splatoon-ui 0.1.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 (351) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +5 -0
  3. package/README.md +233 -0
  4. package/README_EN.md +236 -0
  5. package/README_JA.md +230 -0
  6. package/dist/chunk-KUURJUBW.js +2344 -0
  7. package/dist/chunk-KUURJUBW.js.map +1 -0
  8. package/dist/client.css +2634 -0
  9. package/dist/client.css.map +1 -0
  10. package/dist/client.d.ts +1012 -0
  11. package/dist/client.js +7708 -0
  12. package/dist/client.js.map +1 -0
  13. package/dist/server.css +1091 -0
  14. package/dist/server.css.map +1 -0
  15. package/dist/server.d.ts +813 -0
  16. package/dist/server.js +117 -0
  17. package/dist/server.js.map +1 -0
  18. package/dist/styles.css +4225 -0
  19. package/package.json +119 -0
  20. package/public/_images/backgrounds/base-bg-pattern-2x.jpg +0 -0
  21. package/public/_images/backgrounds/base-bg-pattern.jpg +0 -0
  22. package/public/_images/backgrounds/camo-black-2x.png +0 -0
  23. package/public/_images/backgrounds/camo-black-2x.webp +0 -0
  24. package/public/_images/backgrounds/camo-black.png +0 -0
  25. package/public/_images/backgrounds/camo-green-2x.png +0 -0
  26. package/public/_images/backgrounds/camo-green.png +0 -0
  27. package/public/_images/backgrounds/camo-orange-2x.png +0 -0
  28. package/public/_images/backgrounds/camo-orange.png +0 -0
  29. package/public/_images/backgrounds/camo-purple-2x.png +0 -0
  30. package/public/_images/backgrounds/camo-purple-revised-2x.png +0 -0
  31. package/public/_images/backgrounds/camo-purple-revised.png +0 -0
  32. package/public/_images/backgrounds/camo-purple.png +0 -0
  33. package/public/_images/backgrounds/camo-red-2x.png +0 -0
  34. package/public/_images/backgrounds/camo-red.png +0 -0
  35. package/public/_images/backgrounds/camo-white-2x.png +0 -0
  36. package/public/_images/backgrounds/camo-white-outline-2x.png +0 -0
  37. package/public/_images/backgrounds/camo-white-outline.png +0 -0
  38. package/public/_images/backgrounds/camo-white.png +0 -0
  39. package/public/_images/backgrounds/chip-white-2x.png +0 -0
  40. package/public/_images/backgrounds/chip-white.png +0 -0
  41. package/public/_images/backgrounds/circles-green-2x.png +0 -0
  42. package/public/_images/backgrounds/circles-green.png +0 -0
  43. package/public/_images/backgrounds/graffiti-2x.jpg +0 -0
  44. package/public/_images/backgrounds/graffiti-medium-up-2x.jpg +0 -0
  45. package/public/_images/backgrounds/graffiti-medium-up.jpg +0 -0
  46. package/public/_images/backgrounds/graffiti.jpg +0 -0
  47. package/public/_images/backgrounds/hardware-background-2x.png +0 -0
  48. package/public/_images/backgrounds/hardware-background-medium-up-2x.png +0 -0
  49. package/public/_images/backgrounds/hardware-background-medium-up.png +0 -0
  50. package/public/_images/backgrounds/hardware-background.png +0 -0
  51. package/public/_images/backgrounds/monsters-black-2x.png +0 -0
  52. package/public/_images/backgrounds/monsters-black.png +0 -0
  53. package/public/_images/backgrounds/octo-black-2x.png +0 -0
  54. package/public/_images/backgrounds/octo-black.png +0 -0
  55. package/public/_images/backgrounds/octo-red-2x.png +0 -0
  56. package/public/_images/backgrounds/octo-red.png +0 -0
  57. package/public/_images/backgrounds/octoarrow-green-2x.png +0 -0
  58. package/public/_images/backgrounds/octoarrow-green.png +0 -0
  59. package/public/_images/backgrounds/octoarrow-orange-2x.png +0 -0
  60. package/public/_images/backgrounds/octoarrow-orange.png +0 -0
  61. package/public/_images/backgrounds/squid-black-2x.png +0 -0
  62. package/public/_images/backgrounds/squid-black.png +0 -0
  63. package/public/_images/backgrounds/tapes-black-2x.jpg +0 -0
  64. package/public/_images/backgrounds/tapes-black-2x.webp +0 -0
  65. package/public/_images/backgrounds/tapes-black.jpg +0 -0
  66. package/public/_images/backgrounds/tapes-black.webp +0 -0
  67. package/public/_images/backgrounds/tapes-green-2x.jpg +0 -0
  68. package/public/_images/backgrounds/tapes-green-2x.webp +0 -0
  69. package/public/_images/backgrounds/tapes-green.jpg +0 -0
  70. package/public/_images/backgrounds/tapes-green.webp +0 -0
  71. package/public/_images/backgrounds/tapes-pattern-2x.jpg +0 -0
  72. package/public/_images/backgrounds/tapes-pattern.jpg +0 -0
  73. package/public/_images/backgrounds/tapes-purple-2x.jpg +0 -0
  74. package/public/_images/backgrounds/tapes-purple-2x.webp +0 -0
  75. package/public/_images/backgrounds/tapes-purple.jpg +0 -0
  76. package/public/_images/backgrounds/tapes-purple.webp +0 -0
  77. package/public/_images/banners/banner-blue-2x.png +0 -0
  78. package/public/_images/banners/banner-blue-medium-up-2x.png +0 -0
  79. package/public/_images/banners/banner-blue-medium-up.png +0 -0
  80. package/public/_images/banners/banner-blue.png +0 -0
  81. package/public/_images/banners/banner-design1-2x.png +0 -0
  82. package/public/_images/banners/banner-design1-medium-up-2x.png +0 -0
  83. package/public/_images/banners/banner-design1-medium-up.png +0 -0
  84. package/public/_images/banners/banner-design1.png +0 -0
  85. package/public/_images/banners/banner-design2-2x.png +0 -0
  86. package/public/_images/banners/banner-design2-medium-up-2x.png +0 -0
  87. package/public/_images/banners/banner-design2-medium-up.png +0 -0
  88. package/public/_images/banners/banner-design2.png +0 -0
  89. package/public/_images/banners/banner-design3-2x.png +0 -0
  90. package/public/_images/banners/banner-design3-medium-up-2x.png +0 -0
  91. package/public/_images/banners/banner-design3-medium-up.png +0 -0
  92. package/public/_images/banners/banner-design3.png +0 -0
  93. package/public/_images/banners/banner-green-2x.png +0 -0
  94. package/public/_images/banners/banner-green-medium-up-2x.png +0 -0
  95. package/public/_images/banners/banner-green-medium-up.png +0 -0
  96. package/public/_images/banners/banner-green.png +0 -0
  97. package/public/_images/banners/banner-orange-2x.png +0 -0
  98. package/public/_images/banners/banner-orange-medium-up-2x.png +0 -0
  99. package/public/_images/banners/banner-orange-medium-up.png +0 -0
  100. package/public/_images/banners/banner-orange.png +0 -0
  101. package/public/_images/banners/banner-purple-2x.png +0 -0
  102. package/public/_images/banners/banner-purple-medium-up-2x.png +0 -0
  103. package/public/_images/banners/banner-purple-medium-up.png +0 -0
  104. package/public/_images/banners/banner-purple.png +0 -0
  105. package/public/_images/banners/banner-red-2x.png +0 -0
  106. package/public/_images/banners/banner-red-medium-up-2x.png +0 -0
  107. package/public/_images/banners/banner-red-medium-up.png +0 -0
  108. package/public/_images/banners/banner-red.png +0 -0
  109. package/public/_images/banners/banner-yellow-2x.png +0 -0
  110. package/public/_images/banners/banner-yellow-medium-up-2x.png +0 -0
  111. package/public/_images/banners/banner-yellow-medium-up.png +0 -0
  112. package/public/_images/banners/banner-yellow.png +0 -0
  113. package/public/_images/characters/char-10.png +0 -0
  114. package/public/_images/characters/char-11.png +0 -0
  115. package/public/_images/characters/char-12.png +0 -0
  116. package/public/_images/characters/char-13.png +0 -0
  117. package/public/_images/characters/char-14.png +0 -0
  118. package/public/_images/characters/char-15.png +0 -0
  119. package/public/_images/characters/char-17.png +0 -0
  120. package/public/_images/characters/char-18.png +0 -0
  121. package/public/_images/characters/char-2.png +0 -0
  122. package/public/_images/characters/char-3.png +0 -0
  123. package/public/_images/characters/char-4.png +0 -0
  124. package/public/_images/characters/char-5.png +0 -0
  125. package/public/_images/characters/char-7.png +0 -0
  126. package/public/_images/characters/char-8.png +0 -0
  127. package/public/_images/characters/game-pack.png +0 -0
  128. package/public/_images/characters/salmonid.png +0 -0
  129. package/public/_images/events/active-splat-2x.webp +0 -0
  130. package/public/_images/events/active-splat.webp +0 -0
  131. package/public/_images/events/big-run-callout.jpg +0 -0
  132. package/public/_images/events/golden-egg.png +0 -0
  133. package/public/_images/events/splatnet-blade.jpg +0 -0
  134. package/public/_images/events/splatnet-next-page.png +0 -0
  135. package/public/_images/gameplay/battle-online/gameplay-battle-online-anarchy-1.jpg +0 -0
  136. package/public/_images/gameplay/battle-online/gameplay-battle-online-turfwar-left-screen.jpg +0 -0
  137. package/public/_images/gameplay/battle-online/gameplay-battle-online-turfwar-right-screen.jpg +0 -0
  138. package/public/_images/gameplay/gameplay-salmonrun.jpg +0 -0
  139. package/public/_images/gameplay/splatfest/gameplay-splatfest-1.jpg +0 -0
  140. package/public/_images/gameplay/splatfest/gameplay-splatfest-2.jpg +0 -0
  141. package/public/_images/home/character.png +0 -0
  142. package/public/_images/home/header-back.jpg +0 -0
  143. package/public/_images/home/s3-home-intro-blade.jpg +0 -0
  144. package/public/_images/news/news-staple-left.png +0 -0
  145. package/public/_images/news/news-staple-right.png +0 -0
  146. package/public/_images/news/next-page.png +0 -0
  147. package/public/_images/screenshots/video-trailer.jpg +0 -0
  148. package/public/_images/squid/ika.png +0 -0
  149. package/public/_images/squid/loader-morph-sprite.png +0 -0
  150. package/public/_images/squid/loader-swim-sprite.png +0 -0
  151. package/public/_images/squid/loader_ika.gif +0 -0
  152. package/public/_images/svg/icon-pagination.svg +1 -0
  153. package/public/_images/svg/left-black-tape-container.svg +1 -0
  154. package/public/_images/svg/left-tape.svg +9 -0
  155. package/public/_images/svg/left-yellow-tape-container.svg +1 -0
  156. package/public/_images/svg/pagination-splat.svg +1 -0
  157. package/public/_images/svg/paper-tear-down.svg +3 -0
  158. package/public/_images/svg/paper-tear-up.svg +3 -0
  159. package/public/_images/svg/right-black-tape-container.svg +1 -0
  160. package/public/_images/svg/right-tape.svg +10 -0
  161. package/public/_images/svg/right-yellow-tape-container.svg +1 -0
  162. package/public/_images/svg/styled-photo-background.svg +1 -0
  163. package/public/_images/tape-assets/sticker-1-2x.png +0 -0
  164. package/public/_images/tape-assets/sticker-1-2x.webp +0 -0
  165. package/public/_images/tape-assets/sticker-1-medium-up-2x.png +0 -0
  166. package/public/_images/tape-assets/sticker-1-medium-up-2x.webp +0 -0
  167. package/public/_images/tape-assets/sticker-1-medium-up.png +0 -0
  168. package/public/_images/tape-assets/sticker-1-medium-up.webp +0 -0
  169. package/public/_images/tape-assets/sticker-1.png +0 -0
  170. package/public/_images/tape-assets/sticker-1.webp +0 -0
  171. package/public/_images/tape-assets/sticker-10-2x.png +0 -0
  172. package/public/_images/tape-assets/sticker-10-2x.webp +0 -0
  173. package/public/_images/tape-assets/sticker-10-medium-up-2x.png +0 -0
  174. package/public/_images/tape-assets/sticker-10-medium-up-2x.webp +0 -0
  175. package/public/_images/tape-assets/sticker-10-medium-up.png +0 -0
  176. package/public/_images/tape-assets/sticker-10-medium-up.webp +0 -0
  177. package/public/_images/tape-assets/sticker-10.png +0 -0
  178. package/public/_images/tape-assets/sticker-10.webp +0 -0
  179. package/public/_images/tape-assets/sticker-11-2x.png +0 -0
  180. package/public/_images/tape-assets/sticker-11-2x.webp +0 -0
  181. package/public/_images/tape-assets/sticker-11-medium-up-2x.png +0 -0
  182. package/public/_images/tape-assets/sticker-11-medium-up-2x.webp +0 -0
  183. package/public/_images/tape-assets/sticker-11-medium-up.png +0 -0
  184. package/public/_images/tape-assets/sticker-11-medium-up.webp +0 -0
  185. package/public/_images/tape-assets/sticker-11.png +0 -0
  186. package/public/_images/tape-assets/sticker-11.webp +0 -0
  187. package/public/_images/tape-assets/sticker-12-2x.png +0 -0
  188. package/public/_images/tape-assets/sticker-12-2x.webp +0 -0
  189. package/public/_images/tape-assets/sticker-12-medium-up-2x.png +0 -0
  190. package/public/_images/tape-assets/sticker-12-medium-up-2x.webp +0 -0
  191. package/public/_images/tape-assets/sticker-12-medium-up.png +0 -0
  192. package/public/_images/tape-assets/sticker-12-medium-up.webp +0 -0
  193. package/public/_images/tape-assets/sticker-12.png +0 -0
  194. package/public/_images/tape-assets/sticker-12.webp +0 -0
  195. package/public/_images/tape-assets/sticker-2-red-2x.png +0 -0
  196. package/public/_images/tape-assets/sticker-2-red-2x.webp +0 -0
  197. package/public/_images/tape-assets/sticker-2-red-medium-up-2x.png +0 -0
  198. package/public/_images/tape-assets/sticker-2-red-medium-up-2x.webp +0 -0
  199. package/public/_images/tape-assets/sticker-2-red-medium-up.png +0 -0
  200. package/public/_images/tape-assets/sticker-2-red-medium-up.webp +0 -0
  201. package/public/_images/tape-assets/sticker-2-red.png +0 -0
  202. package/public/_images/tape-assets/sticker-2-red.webp +0 -0
  203. package/public/_images/tape-assets/sticker-3-2x.png +0 -0
  204. package/public/_images/tape-assets/sticker-3-2x.webp +0 -0
  205. package/public/_images/tape-assets/sticker-3-medium-up-2x.png +0 -0
  206. package/public/_images/tape-assets/sticker-3-medium-up-2x.webp +0 -0
  207. package/public/_images/tape-assets/sticker-3-medium-up.png +0 -0
  208. package/public/_images/tape-assets/sticker-3-medium-up.webp +0 -0
  209. package/public/_images/tape-assets/sticker-3.png +0 -0
  210. package/public/_images/tape-assets/sticker-3.webp +0 -0
  211. package/public/_images/tape-assets/sticker-4-2x.png +0 -0
  212. package/public/_images/tape-assets/sticker-4-2x.webp +0 -0
  213. package/public/_images/tape-assets/sticker-4-medium-up-2x.png +0 -0
  214. package/public/_images/tape-assets/sticker-4-medium-up-2x.webp +0 -0
  215. package/public/_images/tape-assets/sticker-4-medium-up.png +0 -0
  216. package/public/_images/tape-assets/sticker-4-medium-up.webp +0 -0
  217. package/public/_images/tape-assets/sticker-4.png +0 -0
  218. package/public/_images/tape-assets/sticker-4.webp +0 -0
  219. package/public/_images/tape-assets/sticker-5-2x.png +0 -0
  220. package/public/_images/tape-assets/sticker-5-2x.webp +0 -0
  221. package/public/_images/tape-assets/sticker-5-medium-up-2x.png +0 -0
  222. package/public/_images/tape-assets/sticker-5-medium-up-2x.webp +0 -0
  223. package/public/_images/tape-assets/sticker-5-medium-up.png +0 -0
  224. package/public/_images/tape-assets/sticker-5-medium-up.webp +0 -0
  225. package/public/_images/tape-assets/sticker-5.png +0 -0
  226. package/public/_images/tape-assets/sticker-5.webp +0 -0
  227. package/public/_images/tape-assets/sticker-6-2x.png +0 -0
  228. package/public/_images/tape-assets/sticker-6-2x.webp +0 -0
  229. package/public/_images/tape-assets/sticker-6-medium-up-2x.png +0 -0
  230. package/public/_images/tape-assets/sticker-6-medium-up-2x.webp +0 -0
  231. package/public/_images/tape-assets/sticker-6-medium-up.png +0 -0
  232. package/public/_images/tape-assets/sticker-6-medium-up.webp +0 -0
  233. package/public/_images/tape-assets/sticker-6.png +0 -0
  234. package/public/_images/tape-assets/sticker-6.webp +0 -0
  235. package/public/_images/tape-assets/sticker-7-2x.png +0 -0
  236. package/public/_images/tape-assets/sticker-7-2x.webp +0 -0
  237. package/public/_images/tape-assets/sticker-7-medium-up-2x.png +0 -0
  238. package/public/_images/tape-assets/sticker-7-medium-up-2x.webp +0 -0
  239. package/public/_images/tape-assets/sticker-7-medium-up.png +0 -0
  240. package/public/_images/tape-assets/sticker-7-medium-up.webp +0 -0
  241. package/public/_images/tape-assets/sticker-7.png +0 -0
  242. package/public/_images/tape-assets/sticker-7.webp +0 -0
  243. package/public/_images/tape-assets/sticker-8-2x.png +0 -0
  244. package/public/_images/tape-assets/sticker-8-2x.webp +0 -0
  245. package/public/_images/tape-assets/sticker-8-medium-up-2x.png +0 -0
  246. package/public/_images/tape-assets/sticker-8-medium-up-2x.webp +0 -0
  247. package/public/_images/tape-assets/sticker-8-medium-up.png +0 -0
  248. package/public/_images/tape-assets/sticker-8-medium-up.webp +0 -0
  249. package/public/_images/tape-assets/sticker-8.png +0 -0
  250. package/public/_images/tape-assets/sticker-8.webp +0 -0
  251. package/public/_images/tape-assets/sticker-9-2x.png +0 -0
  252. package/public/_images/tape-assets/sticker-9-2x.webp +0 -0
  253. package/public/_images/tape-assets/sticker-9-medium-up-2x.png +0 -0
  254. package/public/_images/tape-assets/sticker-9-medium-up-2x.webp +0 -0
  255. package/public/_images/tape-assets/sticker-9-medium-up.png +0 -0
  256. package/public/_images/tape-assets/sticker-9-medium-up.webp +0 -0
  257. package/public/_images/tape-assets/sticker-9.png +0 -0
  258. package/public/_images/tape-assets/sticker-9.webp +0 -0
  259. package/public/_images/tape-assets/tape-1.png +0 -0
  260. package/public/_images/tape-assets/tape-2-2x.png +0 -0
  261. package/public/_images/tape-assets/tape-2-2x.webp +0 -0
  262. package/public/_images/tape-assets/tape-2-medium-up-2x.png +0 -0
  263. package/public/_images/tape-assets/tape-2-medium-up-2x.webp +0 -0
  264. package/public/_images/tape-assets/tape-2-medium-up.png +0 -0
  265. package/public/_images/tape-assets/tape-2-medium-up.webp +0 -0
  266. package/public/_images/tape-assets/tape-2.png +0 -0
  267. package/public/_images/tape-assets/tape-2.webp +0 -0
  268. package/public/_images/tape-assets/tape-3-2x.png +0 -0
  269. package/public/_images/tape-assets/tape-3-2x.webp +0 -0
  270. package/public/_images/tape-assets/tape-3-medium-up-2x.png +0 -0
  271. package/public/_images/tape-assets/tape-3-medium-up-2x.webp +0 -0
  272. package/public/_images/tape-assets/tape-3-medium-up.png +0 -0
  273. package/public/_images/tape-assets/tape-3-medium-up.webp +0 -0
  274. package/public/_images/tape-assets/tape-3.png +0 -0
  275. package/public/_images/tape-assets/tape-3.webp +0 -0
  276. package/public/_images/tape-assets/tape-4-medium-up-2x.png +0 -0
  277. package/public/_images/tape-assets/tape-4-medium-up-2x.webp +0 -0
  278. package/public/_images/tape-assets/tape-4-medium-up.png +0 -0
  279. package/public/_images/tape-assets/tape-4-medium-up.webp +0 -0
  280. package/public/_images/tape-assets/tape-5-2x.png +0 -0
  281. package/public/_images/tape-assets/tape-5-2x.webp +0 -0
  282. package/public/_images/tape-assets/tape-5-medium-up-2x.png +0 -0
  283. package/public/_images/tape-assets/tape-5-medium-up-2x.webp +0 -0
  284. package/public/_images/tape-assets/tape-5-medium-up.png +0 -0
  285. package/public/_images/tape-assets/tape-5-medium-up.webp +0 -0
  286. package/public/_images/tape-assets/tape-5.png +0 -0
  287. package/public/_images/tape-assets/tape-5.webp +0 -0
  288. package/public/_images/tape-assets/tape-6-2x.png +0 -0
  289. package/public/_images/tape-assets/tape-6-2x.webp +0 -0
  290. package/public/_images/tape-assets/tape-6-medium-up-2x.png +0 -0
  291. package/public/_images/tape-assets/tape-6-medium-up-2x.webp +0 -0
  292. package/public/_images/tape-assets/tape-6-medium-up.png +0 -0
  293. package/public/_images/tape-assets/tape-6-medium-up.webp +0 -0
  294. package/public/_images/tape-assets/tape-6.png +0 -0
  295. package/public/_images/tape-assets/tape-6.webp +0 -0
  296. package/public/_images/tape-assets/tape-7-2x.png +0 -0
  297. package/public/_images/tape-assets/tape-7-2x.webp +0 -0
  298. package/public/_images/tape-assets/tape-7.png +0 -0
  299. package/public/_images/tape-assets/tape-7.webp +0 -0
  300. package/public/_images/weapons/marquee/s3_weapons_social-1.jpg +0 -0
  301. package/public/_images/weapons/marquee/s3_weapons_social-10.jpg +0 -0
  302. package/public/_images/weapons/marquee/s3_weapons_social-11.jpg +0 -0
  303. package/public/_images/weapons/marquee/s3_weapons_social-12.jpg +0 -0
  304. package/public/_images/weapons/marquee/s3_weapons_social-13.jpg +0 -0
  305. package/public/_images/weapons/marquee/s3_weapons_social-14.jpg +0 -0
  306. package/public/_images/weapons/marquee/s3_weapons_social-15.jpg +0 -0
  307. package/public/_images/weapons/marquee/s3_weapons_social-16.jpg +0 -0
  308. package/public/_images/weapons/marquee/s3_weapons_social-17.jpg +0 -0
  309. package/public/_images/weapons/marquee/s3_weapons_social-18.jpg +0 -0
  310. package/public/_images/weapons/marquee/s3_weapons_social-19.jpg +0 -0
  311. package/public/_images/weapons/marquee/s3_weapons_social-2.jpg +0 -0
  312. package/public/_images/weapons/marquee/s3_weapons_social-20.jpg +0 -0
  313. package/public/_images/weapons/marquee/s3_weapons_social-21.jpg +0 -0
  314. package/public/_images/weapons/marquee/s3_weapons_social-22.jpg +0 -0
  315. package/public/_images/weapons/marquee/s3_weapons_social-3.jpg +0 -0
  316. package/public/_images/weapons/marquee/s3_weapons_social-4.jpg +0 -0
  317. package/public/_images/weapons/marquee/s3_weapons_social-5.jpg +0 -0
  318. package/public/_images/weapons/marquee/s3_weapons_social-6.jpg +0 -0
  319. package/public/_images/weapons/marquee/s3_weapons_social-7.jpg +0 -0
  320. package/public/_images/weapons/marquee/s3_weapons_social-8.jpg +0 -0
  321. package/public/_images/weapons/marquee/s3_weapons_social-9.jpg +0 -0
  322. package/public/_images/weapons/shops-gallery/coco-icon.png +0 -0
  323. package/public/_images/weapons/shops-gallery/coco.png +0 -0
  324. package/public/_images/weapons/shops-gallery/eddy-icon.png +0 -0
  325. package/public/_images/weapons/shops-gallery/eddy.png +0 -0
  326. package/public/_images/weapons/shops-gallery/harmony-icon.png +0 -0
  327. package/public/_images/weapons/shops-gallery/harmony.png +0 -0
  328. package/public/_images/weapons/shops-gallery/jella-icon.png +0 -0
  329. package/public/_images/weapons/shops-gallery/jella.png +0 -0
  330. package/public/_images/weapons/shops-gallery/sheldon-icon.png +0 -0
  331. package/public/_images/weapons/shops-gallery/sheldon.png +0 -0
  332. package/public/_images/weapons/shops-gallery/weapons-express-ammo-knights-2.jpg +0 -0
  333. package/public/_images/weapons/shops-gallery/weapons-express-crush-station-5.jpg +0 -0
  334. package/public/_images/weapons/shops-gallery/weapons-express-hotlantis-1.jpg +0 -0
  335. package/public/_images/weapons/shops-gallery/weapons-express-manoward-4.jpg +0 -0
  336. package/public/_images/weapons/shops-gallery/weapons-express-naut-couture-3.jpg +0 -0
  337. package/public/fonts/foo-webfont.woff +0 -0
  338. package/public/fonts/foo-webfont.woff2 +0 -0
  339. package/public/fonts/montserrat-v24-latin-500.woff +0 -0
  340. package/public/fonts/montserrat-v24-latin-500.woff2 +0 -0
  341. package/public/fonts/montserrat-v24-latin-600.woff2 +0 -0
  342. package/public/fonts/montserrat-v24-latin-700.woff2 +0 -0
  343. package/public/fonts/montserrat-v24-latin-900.woff2 +0 -0
  344. package/public/fonts/montserrat-v24-latin-regular.woff +0 -0
  345. package/public/fonts/montserrat-v24-latin-regular.woff2 +0 -0
  346. package/public/fonts/obviously-narrow-600.woff2 +0 -0
  347. package/public/svgs/paper-tear-down.svg +3 -0
  348. package/public/svgs/paper-tear-up.svg +3 -0
  349. package/public/svgs/rip-left.svg +3 -0
  350. package/public/svgs/rip-right.svg +3 -0
  351. package/public/svgs/wave.svg +3 -0
@@ -0,0 +1,2634 @@
1
+ /* src/components/ui/card-slot.module.css */
2
+ .cardSlot {
3
+ position: absolute;
4
+ z-index: 20;
5
+ pointer-events: none;
6
+ }
7
+
8
+ /* src/components/ui/torn-card.module.css */
9
+ .tape {
10
+ display: block;
11
+ transform: rotate(var(--tape-rotate, 0deg));
12
+ }
13
+ .alertContent {
14
+ padding: calc(var(--base-space, 8px) * 4);
15
+ }
16
+ @container (min-width: 400px) {
17
+ .alertContent {
18
+ padding: calc(var(--base-space, 8px) * 6) calc(var(--base-space, 8px) * 4);
19
+ }
20
+ }
21
+ .imgDesktop {
22
+ display: none;
23
+ }
24
+ @container (min-width: 400px) {
25
+ .imgMobile {
26
+ display: none;
27
+ }
28
+ .imgDesktop {
29
+ display: block;
30
+ }
31
+ }
32
+
33
+ /* src/components/ui/black-tape-container.module.css */
34
+ .blackTapeContainer {
35
+ --tape-offset: 16px;
36
+ --tape-safe-bleed: min(var(--tape-offset), max(0px, calc((100cqw - 100%) / 2)));
37
+ --tape-width: 30px;
38
+ margin-left: calc(var(--tape-safe-bleed) * -1);
39
+ margin-right: calc(var(--tape-safe-bleed) * -1);
40
+ overflow-x: clip;
41
+ padding: 0 var(--tape-offset);
42
+ position: relative;
43
+ }
44
+ .blackTapeContainer::before,
45
+ .blackTapeContainer::after {
46
+ background-repeat: repeat-y;
47
+ content: "";
48
+ height: 100%;
49
+ position: absolute;
50
+ top: 0;
51
+ width: var(--tape-width);
52
+ z-index: 1;
53
+ }
54
+ .blackTapeContainer::before {
55
+ background-image: url(/_images/svg/left-black-tape-container.svg);
56
+ background-position: calc(100% - 1px) top;
57
+ left: 0;
58
+ }
59
+ .blackTapeContainer::after {
60
+ background-image: url(/_images/svg/right-black-tape-container.svg);
61
+ background-position: 1px top;
62
+ right: 0;
63
+ }
64
+ .blackTapeContainerInner {
65
+ background: var(--color-black-alt, #0e0e0e);
66
+ padding: 1.5em;
67
+ }
68
+ .tapeYellow .blackTapeContainerInner {
69
+ background: var(--color-yellow, #eaff3d);
70
+ color: var(--color-black, #0d0d0d);
71
+ }
72
+ .tapeYellow::before {
73
+ background-image: url(/_images/svg/left-yellow-tape-container.svg);
74
+ }
75
+ .tapeYellow::after {
76
+ background-image: url(/_images/svg/right-yellow-tape-container.svg);
77
+ }
78
+ .noVerticalPadding .blackTapeContainerInner {
79
+ padding: 0 1.5em;
80
+ }
81
+ @media screen and (min-width: 640px) {
82
+ .blackTapeContainer {
83
+ --tape-offset: 38px;
84
+ --tape-width: 40px;
85
+ }
86
+ .blackTapeContainerInner {
87
+ padding: 2em;
88
+ }
89
+ .noVerticalPadding .blackTapeContainerInner {
90
+ padding: 0 2em;
91
+ }
92
+ }
93
+ @media screen and (min-width: 1024px) {
94
+ .blackTapeContainer {
95
+ --tape-offset: 58px;
96
+ --tape-width: 60px;
97
+ }
98
+ }
99
+
100
+ /* src/components/ui/button-arrow.module.css */
101
+ .buttonArrow {
102
+ color: var(--color);
103
+ display: inline-block;
104
+ font-family: var(--font-alt);
105
+ font-size: 1.5rem;
106
+ line-height: 1;
107
+ text-decoration: none;
108
+ }
109
+ .buttonArrow:hover .iconWrap {
110
+ transform: translateX(10px);
111
+ }
112
+ .iconWrap {
113
+ display: inline-flex;
114
+ margin-left: 0.5rem;
115
+ }
116
+ .iconWrap svg {
117
+ height: 16px;
118
+ transform: translateX(5px);
119
+ transition: transform 0.2s;
120
+ width: 8px;
121
+ }
122
+ @media screen and (min-width: 1024px) {
123
+ .buttonArrow {
124
+ font-size: 1.625rem;
125
+ }
126
+ }
127
+
128
+ /* src/components/ui/button-drip.module.css */
129
+ .button {
130
+ --bg-color: var(--color-primary);
131
+ --text-color: var(--color-primary-alt);
132
+ --hover-bg-color: var(--color-accent);
133
+ --hover-text-color: var(--color-accent-alt);
134
+ --speed: calc(var(--duration-factor) * 1.8s);
135
+ --drip-speed-factor: 1;
136
+ --drip-in-start: polygon(0 100%, 0 100%, 100% 100%, 100% 100%);
137
+ --drip-in-end: polygon(0 0, 0 100%, 100% 100%, 100% 0);
138
+ --drip-out-start: polygon(0 0, 0 0, 100% 0, 100% 0);
139
+ --drip-out-end: polygon(0 0, 0 100%, 100% 100%, 100% 0);
140
+ border-radius: 0.5rem;
141
+ box-sizing: border-box;
142
+ cursor: pointer;
143
+ display: inline-block;
144
+ font-family: var(--font-alt);
145
+ font-weight: var(--font-weight-bold);
146
+ line-height: 1;
147
+ overflow: hidden;
148
+ position: relative;
149
+ text-align: center;
150
+ text-decoration: none;
151
+ transition: border calc(var(--duration-factor) * 0.2s) calc(var(--duration-factor) * 0.25s);
152
+ width: 100%;
153
+ }
154
+ .button > *:not(.icon) {
155
+ width: 100%;
156
+ }
157
+ .icon {
158
+ height: 26px;
159
+ margin-right: var(--base-space, 8px);
160
+ padding-top: var(--base-space, 8px);
161
+ width: 20px;
162
+ }
163
+ .content,
164
+ .hoverContent {
165
+ align-items: center;
166
+ background-color: var(--bg-color);
167
+ color: var(--text-color);
168
+ display: flex;
169
+ font-size: 1.5rem;
170
+ height: 100%;
171
+ justify-content: center;
172
+ padding: calc(var(--base-space, 8px) * 1.5) calc(var(--base-space, 8px) * 5.5) calc(var(--base-space, 8px) * 2.5) calc(var(--base-space, 8px) * 5.5);
173
+ transition: background-color calc(var(--duration-factor) * 0.2s) ease;
174
+ width: 100%;
175
+ }
176
+ .content span,
177
+ .hoverContent span {
178
+ position: relative;
179
+ white-space: nowrap;
180
+ z-index: 1;
181
+ }
182
+ .content .icon,
183
+ .hoverContent .icon {
184
+ fill: var(--text-color);
185
+ }
186
+ .hoverContent {
187
+ animation: calc(var(--speed) * var(--drip-speed-factor)) button-drip_drip-leave 0.2s ease forwards;
188
+ animation-fill-mode: forwards;
189
+ background-color: var(--hover-bg-color);
190
+ border-radius: 0.5rem;
191
+ box-shadow: inset 0 0 0 2px var(--hover-bg-color);
192
+ color: var(--hover-text-color);
193
+ height: 100%;
194
+ left: 0;
195
+ opacity: 0;
196
+ pointer-events: none;
197
+ position: absolute;
198
+ top: 0;
199
+ transition: box-shadow 0.2s;
200
+ transition-delay: 0.6s;
201
+ width: 100%;
202
+ z-index: 2;
203
+ }
204
+ @media (hover: hover) {
205
+ .button:hover .hoverContent {
206
+ animation: calc(var(--speed) * var(--drip-speed-factor)) button-drip_drip-enter 0.2s ease forwards;
207
+ box-shadow: inset 0 0 0 2px var(--hover-text-color);
208
+ opacity: 1;
209
+ }
210
+ }
211
+ .accentColors {
212
+ --bg-color: var(--color-accent);
213
+ --text-color: var(--color-accent-alt);
214
+ --hover-bg-color: var(--color-primary);
215
+ --hover-text-color: var(--color-primary-alt);
216
+ }
217
+ @-webkit-keyframes button-drip_drip-enter {
218
+ 0% {
219
+ -webkit-clip-path: var(--drip-in-start);
220
+ clip-path: var(--drip-in-start);
221
+ }
222
+ to {
223
+ -webkit-clip-path: var(--drip-in-end);
224
+ clip-path: var(--drip-in-end);
225
+ }
226
+ }
227
+ @keyframes button-drip_drip-enter {
228
+ 0% {
229
+ -webkit-clip-path: var(--drip-in-start);
230
+ clip-path: var(--drip-in-start);
231
+ }
232
+ to {
233
+ -webkit-clip-path: var(--drip-in-end);
234
+ clip-path: var(--drip-in-end);
235
+ }
236
+ }
237
+ @-webkit-keyframes button-drip_drip-leave {
238
+ 0% {
239
+ -webkit-clip-path: var(--drip-out-start);
240
+ clip-path: var(--drip-out-start);
241
+ }
242
+ to {
243
+ -webkit-clip-path: var(--drip-out-end);
244
+ clip-path: var(--drip-out-end);
245
+ }
246
+ }
247
+ @keyframes button-drip_drip-leave {
248
+ 0% {
249
+ -webkit-clip-path: var(--drip-out-start);
250
+ clip-path: var(--drip-out-start);
251
+ }
252
+ to {
253
+ -webkit-clip-path: var(--drip-out-end);
254
+ clip-path: var(--drip-out-end);
255
+ }
256
+ }
257
+
258
+ /* src/components/ui/event-callout.module.css */
259
+ .callout {
260
+ background: var(--color-black, #0d0d0d);
261
+ border: 3px solid var(--color-black, #0d0d0d);
262
+ border-radius: 8px;
263
+ color: var(--color-white, #fff);
264
+ overflow: hidden;
265
+ position: relative;
266
+ }
267
+ .background {
268
+ block-size: 100%;
269
+ filter: saturate(1.18) contrast(1.05);
270
+ inline-size: 100%;
271
+ inset: 0;
272
+ object-fit: cover;
273
+ opacity: 0.32;
274
+ position: absolute;
275
+ transform: scale(1.08) rotate(-1deg);
276
+ }
277
+ .content {
278
+ display: grid;
279
+ gap: clamp(18px, 4vw, 30px);
280
+ grid-template-columns: minmax(0, 1fr);
281
+ padding: clamp(18px, 4vw, 30px);
282
+ position: relative;
283
+ z-index: 1;
284
+ }
285
+ .mediaFrame {
286
+ aspect-ratio: 382 / 215;
287
+ background: var(--color-white, #fff);
288
+ border: 4px solid var(--color-white, #fff);
289
+ box-shadow: 8px 10px 0 rgb(0 0 0 / 0.35);
290
+ position: relative;
291
+ transform: rotate(-1.5deg);
292
+ }
293
+ .media {
294
+ block-size: 100%;
295
+ display: block;
296
+ inline-size: 100%;
297
+ object-fit: cover;
298
+ }
299
+ .iconBadge {
300
+ align-items: center;
301
+ background: var(--color-yellow, #eaff3d);
302
+ border: 3px solid var(--color-black, #0d0d0d);
303
+ border-radius: 999px;
304
+ box-shadow: 4px 5px 0 rgb(0 0 0 / 0.35);
305
+ display: flex;
306
+ inline-size: clamp(46px, 12vw, 64px);
307
+ justify-content: center;
308
+ padding: 7px;
309
+ position: absolute;
310
+ right: -14px;
311
+ top: -18px;
312
+ transform: rotate(8deg);
313
+ }
314
+ .iconBadge img {
315
+ block-size: auto;
316
+ display: block;
317
+ inline-size: 100%;
318
+ }
319
+ .body {
320
+ align-self: center;
321
+ display: flex;
322
+ flex-direction: column;
323
+ gap: 10px;
324
+ min-inline-size: 0;
325
+ }
326
+ .eyebrow {
327
+ color: var(--color-yellow, #eaff3d);
328
+ font-size: 0.75rem;
329
+ font-weight: 900;
330
+ letter-spacing: 0.18em;
331
+ line-height: 1;
332
+ margin: 0;
333
+ text-transform: uppercase;
334
+ }
335
+ .title {
336
+ font-family: var(--font-heading), sans-serif;
337
+ font-size: clamp(1.875rem, 7vw, 3.25rem);
338
+ font-weight: 900;
339
+ letter-spacing: 0;
340
+ line-height: 0.9;
341
+ margin: 0;
342
+ text-transform: uppercase;
343
+ }
344
+ .description {
345
+ color: rgb(255 255 255 / 0.82);
346
+ font-size: 0.95rem;
347
+ font-weight: 700;
348
+ line-height: 1.45;
349
+ margin: 0;
350
+ max-inline-size: 34rem;
351
+ }
352
+ .action {
353
+ display: flex;
354
+ flex-wrap: wrap;
355
+ gap: 10px;
356
+ margin-block-start: 8px;
357
+ }
358
+ @media (min-width: 760px) {
359
+ .content {
360
+ align-items: center;
361
+ grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1fr);
362
+ }
363
+ .mediaFrame {
364
+ transform: rotate(-2deg);
365
+ }
366
+ }
367
+
368
+ /* src/components/ui/heading-tape.module.css */
369
+ .headingTapeSection {
370
+ container-type: inline-size;
371
+ display: flex;
372
+ justify-content: center;
373
+ margin-bottom: calc(var(--base-space, 8px) * var(--margin-offset, 2));
374
+ min-inline-size: 0;
375
+ position: relative;
376
+ width: 100%;
377
+ }
378
+ .overlapTop {
379
+ margin-top: -30px;
380
+ }
381
+ .headingTapeContainer {
382
+ position: relative;
383
+ transform: rotate(-3deg);
384
+ width: fit-content;
385
+ }
386
+ .headingTapeDecorations {
387
+ height: 100%;
388
+ left: 0;
389
+ pointer-events: none;
390
+ position: absolute;
391
+ top: 0;
392
+ width: 100%;
393
+ z-index: 0;
394
+ }
395
+ .headingTapeDecoration {
396
+ display: block;
397
+ inline-size: var(--heading-tape-decoration-inline-size, 100%);
398
+ max-inline-size: var(--heading-tape-decoration-max-inline-size, 100%);
399
+ position: absolute;
400
+ }
401
+ .decorationTopLeft {
402
+ left: var(--heading-tape-decoration-inline-offset, -19px);
403
+ top: var(--heading-tape-decoration-block-offset, -15px);
404
+ transform: rotate(var(--heading-tape-decoration-rotate, 0deg));
405
+ }
406
+ .decorationTopRight {
407
+ right: var(--heading-tape-decoration-inline-offset, -17px);
408
+ top: var(--heading-tape-decoration-block-offset, -15px);
409
+ transform: rotate(var(--heading-tape-decoration-rotate, 0deg));
410
+ }
411
+ .decorationBottomLeft {
412
+ bottom: var(--heading-tape-decoration-block-offset, -17px);
413
+ left: var(--heading-tape-decoration-inline-offset, -19px);
414
+ transform: rotate(var(--heading-tape-decoration-rotate, 0deg));
415
+ }
416
+ .decorationBottomRight {
417
+ bottom: var(--heading-tape-decoration-block-offset, -17px);
418
+ right: var(--heading-tape-decoration-inline-offset, -17px);
419
+ transform: rotate(var(--heading-tape-decoration-rotate, 0deg));
420
+ }
421
+ .headingTapeDecorationImage {
422
+ block-size: auto;
423
+ display: block;
424
+ inline-size: auto;
425
+ max-inline-size: 100%;
426
+ }
427
+ .headingTapeDecorationImageDesktop {
428
+ display: none;
429
+ }
430
+ .headingTapeText {
431
+ background: var(--color-white, #ffffff);
432
+ border-radius: 10px;
433
+ color: var(--color-black, #0d0d0d);
434
+ display: inline-block;
435
+ font-family: var(--font-heading, inherit);
436
+ font-size: 1.875rem;
437
+ font-weight: 700;
438
+ letter-spacing: 0;
439
+ line-height: 1;
440
+ max-inline-size: 100%;
441
+ overflow-wrap: break-word;
442
+ padding: calc(var(--base-space, 8px) * 2) 40px;
443
+ position: relative;
444
+ text-align: center;
445
+ text-transform: uppercase;
446
+ z-index: 1;
447
+ }
448
+ .compact .headingTapeText {
449
+ border-radius: 8px;
450
+ font-size: 1.375rem;
451
+ padding: calc(var(--base-space, 8px) * 1.25) 24px;
452
+ }
453
+ @container (min-width: 640px) {
454
+ .headingTapeDecorationImageMobile {
455
+ display: none;
456
+ }
457
+ .headingTapeDecorationImageDesktop {
458
+ display: block;
459
+ }
460
+ }
461
+ @container (min-width: 640px) {
462
+ .headingTapeText {
463
+ padding: calc(var(--base-space, 8px) * 2) 60px;
464
+ }
465
+ .compact .headingTapeText {
466
+ font-size: 2rem;
467
+ padding: calc(var(--base-space, 8px) * 1.5) 36px;
468
+ }
469
+ }
470
+ @container (min-width: 1024px) {
471
+ .headingTapeText {
472
+ font-size: 3.125rem;
473
+ }
474
+ .compact .headingTapeText {
475
+ font-size: 2.5rem;
476
+ }
477
+ }
478
+
479
+ /* src/components/ui/photo-frame.module.css */
480
+ .photoFrame {
481
+ --border-offset-x: 3px;
482
+ --border-offset-y: 4px;
483
+ --tape-rotation: 6deg;
484
+ --margin-offset: 6;
485
+ --photo-aspect-ratio: auto;
486
+ aspect-ratio: var(--photo-aspect-ratio);
487
+ container-type: inline-size;
488
+ display: inline-block;
489
+ filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
490
+ line-height: 0;
491
+ margin-top: calc(var(--base-space, 8px) * var(--margin-offset));
492
+ padding: calc(var(--border-offset-y) * 2) calc(var(--border-offset-x) * 2);
493
+ position: relative;
494
+ transform: rotate(var(--end-rotate, 0deg));
495
+ }
496
+ .photoFrame::before {
497
+ background-image: url(/_images/svg/styled-photo-background.svg);
498
+ background-position: 50% center;
499
+ background-repeat: no-repeat;
500
+ background-size: 100% 100%;
501
+ content: "";
502
+ height: calc(100% + var(--border-offset-y) * 2);
503
+ left: calc(var(--border-offset-x) * -1);
504
+ position: absolute;
505
+ top: calc(var(--border-offset-y) * -1);
506
+ width: calc(100% + var(--border-offset-x) * 2);
507
+ pointer-events: none;
508
+ }
509
+ .fillWidth {
510
+ --photo-aspect-ratio: 16 / 9;
511
+ display: block;
512
+ width: 100%;
513
+ }
514
+ .nested {
515
+ max-width: 350px;
516
+ }
517
+ .nested.photoFrame {
518
+ --border-offset-x: 2px;
519
+ --border-offset-y: 3px;
520
+ --margin-offset: 4;
521
+ }
522
+ .thinBorder.photoFrame,
523
+ .photoFrame.thinBorder {
524
+ --border-offset-x: 2px;
525
+ --border-offset-y: 3px;
526
+ }
527
+ .mediumBorder.photoFrame,
528
+ .photoFrame.mediumBorder {
529
+ --border-offset-x: 2px;
530
+ --border-offset-y: 4px;
531
+ }
532
+ .photo {
533
+ mask-image: url(/_images/svg/styled-photo-background.svg);
534
+ mask-position: center;
535
+ mask-repeat: no-repeat;
536
+ mask-size: 100% 100%;
537
+ object-fit: contain;
538
+ position: relative;
539
+ width: 100%;
540
+ height: 100%;
541
+ }
542
+ .noContainer {
543
+ container-type: unset;
544
+ }
545
+ .tape {
546
+ position: absolute;
547
+ z-index: 20;
548
+ pointer-events: none;
549
+ }
550
+ .tapeMobile {
551
+ display: block;
552
+ }
553
+ .tapeDesktop {
554
+ display: none;
555
+ }
556
+ @container (min-width: 400px) {
557
+ .tapeMobile {
558
+ display: none;
559
+ }
560
+ .tapeDesktop {
561
+ display: block;
562
+ }
563
+ }
564
+ .tapeCenter {
565
+ top: 0;
566
+ left: 50%;
567
+ transform: translate(-50%, -50%) rotate(var(--tape-rotate, 6deg));
568
+ }
569
+ .tapeLeft {
570
+ top: 0;
571
+ left: var(--slot-offset, 15%);
572
+ transform: translateY(-50%) rotate(var(--tape-rotate, 6deg));
573
+ }
574
+ .tapeRight {
575
+ top: 0;
576
+ right: var(--slot-offset, 15%);
577
+ transform: translateY(-50%) rotate(var(--tape-rotate, 6deg));
578
+ }
579
+ .tapeBottomCenter {
580
+ bottom: 0;
581
+ left: 50%;
582
+ transform: translate(-50%, 50%) rotate(var(--tape-rotate, 6deg));
583
+ }
584
+ .tapeBottomLeft {
585
+ bottom: 0;
586
+ left: var(--slot-offset, 15%);
587
+ transform: translateY(50%) rotate(var(--tape-rotate, 6deg));
588
+ }
589
+ .tapeBottomRight {
590
+ bottom: 0;
591
+ right: var(--slot-offset, 15%);
592
+ transform: translateY(50%) rotate(var(--tape-rotate, 6deg));
593
+ }
594
+ .decoration {
595
+ pointer-events: none;
596
+ position: absolute;
597
+ z-index: 20;
598
+ }
599
+ .decorationMobile {
600
+ display: block;
601
+ }
602
+ .decorationDesktop {
603
+ display: none;
604
+ }
605
+ @container (min-width: 400px) {
606
+ .decorationMobile {
607
+ display: none;
608
+ }
609
+ .decorationDesktop {
610
+ display: block;
611
+ }
612
+ }
613
+ .decorationBottomLeft {
614
+ --slot-offset: 15%;
615
+ bottom: 0;
616
+ left: var(--slot-offset);
617
+ transform: translateY(50%);
618
+ }
619
+ .decorationTopRight {
620
+ --slot-offset: 15%;
621
+ top: 0;
622
+ right: var(--slot-offset);
623
+ transform: translateY(-50%);
624
+ }
625
+ .decorationBottomRight {
626
+ --slot-offset: 15%;
627
+ bottom: 0;
628
+ right: var(--slot-offset);
629
+ transform: translateY(50%);
630
+ }
631
+ .decorationCenter {
632
+ top: 0;
633
+ left: 50%;
634
+ transform: translate(-50%, -50%);
635
+ }
636
+ @media screen and (min-width: 640px) {
637
+ .decorationBottomLeft,
638
+ .decorationBottomRight {
639
+ --slot-offset: 15%;
640
+ }
641
+ .decorationTopRight {
642
+ --slot-offset: 15%;
643
+ }
644
+ }
645
+ @media screen and (min-width: 640px) {
646
+ .photoFrame {
647
+ --border-offset-x: 4px;
648
+ --border-offset-y: 3px;
649
+ }
650
+ }
651
+
652
+ /* src/components/ui/section-background.module.css */
653
+ .sectionBackground {
654
+ background-position: top;
655
+ min-height: 100px;
656
+ }
657
+ .patternBaseBgPattern {
658
+ background-image: url(/_images/backgrounds/base-bg-pattern.jpg);
659
+ background-image: image-set(url(/_images/backgrounds/base-bg-pattern.jpg) 1x, url(/_images/backgrounds/base-bg-pattern-2x.jpg) 2x);
660
+ }
661
+ .patternCamoBlack {
662
+ background-image: url(/_images/backgrounds/camo-black.png);
663
+ background-image: image-set(url(/_images/backgrounds/camo-black.png) 1x, url(/_images/backgrounds/camo-black-2x.png) 2x);
664
+ }
665
+ .patternCamoGreen {
666
+ background-image: url(/_images/backgrounds/camo-green.png);
667
+ background-image: image-set(url(/_images/backgrounds/camo-green.png) 1x, url(/_images/backgrounds/camo-green-2x.png) 2x);
668
+ }
669
+ .patternCamoPurple {
670
+ background-image: url(/_images/backgrounds/camo-purple.png);
671
+ background-image: image-set(url(/_images/backgrounds/camo-purple.png) 1x, url(/_images/backgrounds/camo-purple-2x.png) 2x);
672
+ }
673
+ .patternCamoPurpleRevised {
674
+ background-image: url(/_images/backgrounds/camo-purple-revised.png);
675
+ background-image: image-set(url(/_images/backgrounds/camo-purple-revised.png) 1x, url(/_images/backgrounds/camo-purple-revised-2x.png) 2x);
676
+ }
677
+ .patternCamoOrange {
678
+ background-image: url(/_images/backgrounds/camo-orange.png);
679
+ background-image: image-set(url(/_images/backgrounds/camo-orange.png) 1x, url(/_images/backgrounds/camo-orange-2x.png) 2x);
680
+ }
681
+ .patternCamoRed {
682
+ background-image: url(/_images/backgrounds/camo-red.png);
683
+ background-image: image-set(url(/_images/backgrounds/camo-red.png) 1x, url(/_images/backgrounds/camo-red-2x.png) 2x);
684
+ }
685
+ .patternCamoWhite {
686
+ background-image: url(/_images/backgrounds/camo-white.png);
687
+ background-image: image-set(url(/_images/backgrounds/camo-white.png) 1x, url(/_images/backgrounds/camo-white-2x.png) 2x);
688
+ }
689
+ .patternCamoWhiteOutline {
690
+ background-image: url(/_images/backgrounds/camo-white-outline.png);
691
+ background-image: image-set(url(/_images/backgrounds/camo-white-outline.png) 1x, url(/_images/backgrounds/camo-white-outline-2x.png) 2x);
692
+ }
693
+ .patternHardwareBackground {
694
+ background-image: url(/_images/backgrounds/hardware-background.png);
695
+ background-image: image-set(url(/_images/backgrounds/hardware-background.png) 1x, url(/_images/backgrounds/hardware-background-2x.png) 2x);
696
+ background-position: 50%;
697
+ background-repeat: no-repeat;
698
+ background-size: contain;
699
+ }
700
+ @media screen and (min-width: 640px) {
701
+ .patternHardwareBackground {
702
+ background-image: url(/_images/backgrounds/hardware-background-medium-up.png);
703
+ background-image: image-set(url(/_images/backgrounds/hardware-background-medium-up.png) 1x, url(/_images/backgrounds/hardware-background-medium-up-2x.png) 2x);
704
+ }
705
+ }
706
+ .patternOctoBlack {
707
+ background-image: url(/_images/backgrounds/octo-black.png);
708
+ background-image: image-set(url(/_images/backgrounds/octo-black.png) 1x, url(/_images/backgrounds/octo-black-2x.png) 2x);
709
+ }
710
+ .patternOctoRed {
711
+ background-image: url(/_images/backgrounds/octo-red.png);
712
+ background-image: image-set(url(/_images/backgrounds/octo-red.png) 1x, url(/_images/backgrounds/octo-red-2x.png) 2x);
713
+ }
714
+ .patternOctoarrowGreen {
715
+ background-image: url(/_images/backgrounds/octoarrow-green.png);
716
+ background-image: image-set(url(/_images/backgrounds/octoarrow-green.png) 1x, url(/_images/backgrounds/octoarrow-green-2x.png) 2x);
717
+ }
718
+ .patternOctoarrowOrange {
719
+ background-image: url(/_images/backgrounds/octoarrow-orange.png);
720
+ background-image: image-set(url(/_images/backgrounds/octoarrow-orange.png) 1x, url(/_images/backgrounds/octoarrow-orange-2x.png) 2x);
721
+ }
722
+ .patternSquidBlack {
723
+ background-image: url(/_images/backgrounds/squid-black.png);
724
+ background-image: image-set(url(/_images/backgrounds/squid-black.png) 1x, url(/_images/backgrounds/squid-black-2x.png) 2x);
725
+ }
726
+ .patternCirclesGreen {
727
+ background-image: url(/_images/backgrounds/circles-green.png);
728
+ background-image: image-set(url(/_images/backgrounds/circles-green.png) 1x, url(/_images/backgrounds/circles-green-2x.png) 2x);
729
+ }
730
+ .patternChipWhite {
731
+ background-image: url(/_images/backgrounds/chip-white.png);
732
+ background-image: image-set(url(/_images/backgrounds/chip-white.png) 1x, url(/_images/backgrounds/chip-white-2x.png) 2x);
733
+ }
734
+ .patternMonstersBlack {
735
+ background-image: url(/_images/backgrounds/monsters-black.png);
736
+ background-image: image-set(url(/_images/backgrounds/monsters-black.png) 1x, url(/_images/backgrounds/monsters-black-2x.png) 2x);
737
+ background-size: 50%;
738
+ }
739
+ .patternGraffiti {
740
+ background-image: url(/_images/backgrounds/graffiti.jpg);
741
+ background-image: image-set(url(/_images/backgrounds/graffiti.jpg) 1x, url(/_images/backgrounds/graffiti-2x.jpg) 2x);
742
+ background-position: 50%;
743
+ background-repeat: no-repeat;
744
+ background-size: cover;
745
+ }
746
+ @media screen and (min-width: 640px) {
747
+ .patternGraffiti {
748
+ background-image: url(/_images/backgrounds/graffiti-medium-up.jpg);
749
+ background-image: image-set(url(/_images/backgrounds/graffiti-medium-up.jpg) 1x, url(/_images/backgrounds/graffiti-medium-up-2x.jpg) 2x);
750
+ }
751
+ }
752
+ .patternTapesBlack {
753
+ background-image: url(/_images/backgrounds/tapes-black.jpg);
754
+ background-image: image-set(url(/_images/backgrounds/tapes-black.webp) type("image/webp") 1x, url(/_images/backgrounds/tapes-black.jpg) 1x, url(/_images/backgrounds/tapes-black-2x.webp) type("image/webp") 2x, url(/_images/backgrounds/tapes-black-2x.jpg) 2x);
755
+ }
756
+ .patternTapesGreen {
757
+ background-image: url(/_images/backgrounds/tapes-green.jpg);
758
+ background-image: image-set(url(/_images/backgrounds/tapes-green.webp) type("image/webp") 1x, url(/_images/backgrounds/tapes-green.jpg) 1x, url(/_images/backgrounds/tapes-green-2x.webp) type("image/webp") 2x, url(/_images/backgrounds/tapes-green-2x.jpg) 2x);
759
+ }
760
+ .patternTapesPattern {
761
+ background-image: url(/_images/backgrounds/tapes-pattern.jpg);
762
+ background-image: image-set(url(/_images/backgrounds/tapes-pattern.jpg) 1x, url(/_images/backgrounds/tapes-pattern-2x.jpg) 2x);
763
+ }
764
+ .patternTapesPurple {
765
+ background-image: url(/_images/backgrounds/tapes-purple.jpg);
766
+ background-image: image-set(url(/_images/backgrounds/tapes-purple.webp) type("image/webp") 1x, url(/_images/backgrounds/tapes-purple.jpg) 1x, url(/_images/backgrounds/tapes-purple-2x.webp) type("image/webp") 2x, url(/_images/backgrounds/tapes-purple-2x.jpg) 2x);
767
+ }
768
+
769
+ /* src/components/ui/staple-card.module.css */
770
+ .stapleCard {
771
+ filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.14));
772
+ height: 100%;
773
+ }
774
+ .card {
775
+ display: flex;
776
+ flex-direction: column;
777
+ height: 100%;
778
+ position: relative;
779
+ transition: transform calc(var(--duration-factor) * 0.3s) var(--ease-in-out);
780
+ }
781
+ .card.hoverTilt:hover {
782
+ transform: rotate(2deg);
783
+ }
784
+ .cardLayout {
785
+ background-color: var(--color-white, #fff);
786
+ color: var(--color-black, #0d0d0d);
787
+ display: grid;
788
+ grid-template-rows: auto 1fr;
789
+ height: 100%;
790
+ padding: calc(var(--base-space, 8px) * 0) calc(var(--base-space, 8px) * 4) calc(var(--base-space, 8px) * 3) calc(var(--base-space, 8px) * 4);
791
+ position: relative;
792
+ }
793
+ .image {
794
+ align-items: center;
795
+ display: flex;
796
+ justify-content: center;
797
+ transform: rotate(-1deg);
798
+ width: 100%;
799
+ }
800
+ .image img {
801
+ object-fit: contain;
802
+ }
803
+ .stapleLeft {
804
+ bottom: 0;
805
+ left: 20px;
806
+ position: absolute;
807
+ width: 20%;
808
+ }
809
+ .stapleRight {
810
+ bottom: 0;
811
+ position: absolute;
812
+ right: 20px;
813
+ width: 10%;
814
+ }
815
+ .tape {
816
+ display: block;
817
+ }
818
+ .tapeImage {
819
+ display: block;
820
+ height: auto;
821
+ width: 100%;
822
+ }
823
+ .imgDesktop {
824
+ display: none;
825
+ }
826
+ @container (min-width: 400px) {
827
+ .imgMobile {
828
+ display: none;
829
+ }
830
+ .imgDesktop {
831
+ display: block;
832
+ }
833
+ }
834
+ .cardBottom {
835
+ margin-top: -2px;
836
+ width: 100%;
837
+ }
838
+ .cardTop {
839
+ margin-bottom: -2px;
840
+ width: 100%;
841
+ }
842
+ .info {
843
+ align-items: center;
844
+ display: flex;
845
+ flex-direction: column;
846
+ height: 100%;
847
+ justify-content: flex-start;
848
+ padding: calc(var(--base-space, 8px) * 2) 0;
849
+ }
850
+ .surfaceDark .cardLayout {
851
+ background-color: var(--color-black-alt, #0e0e0e);
852
+ color: var(--color-white, #fff);
853
+ }
854
+ .title {
855
+ font-size: 1.25rem;
856
+ font-weight: 700;
857
+ line-height: 2;
858
+ }
859
+ .subtitle {
860
+ margin-top: calc(var(--base-space, 8px) * 1);
861
+ font-size: 0.875rem;
862
+ opacity: 0.75;
863
+ }
864
+
865
+ /* src/components/ui/tape-divider.module.css */
866
+ .tapeDivider {
867
+ position: relative;
868
+ width: 100%;
869
+ z-index: 2;
870
+ pointer-events: none;
871
+ line-height: 0;
872
+ }
873
+ .tapePrimary {
874
+ background-image: url(/_images/tape-assets/tape-2.png);
875
+ background-image: image-set(url(/_images/tape-assets/tape-2.png) 1x, url(/_images/tape-assets/tape-2-2x.png) 2x);
876
+ background-position: center;
877
+ background-repeat: repeat-x;
878
+ background-size: auto 100%;
879
+ height: 36px;
880
+ width: 100%;
881
+ }
882
+ .tapeSecondary {
883
+ background-image: url(/_images/tape-assets/tape-3.png);
884
+ background-image: image-set(url(/_images/tape-assets/tape-3.png) 1x, url(/_images/tape-assets/tape-3-2x.png) 2x);
885
+ background-position: center;
886
+ background-repeat: repeat-x;
887
+ background-size: auto 100%;
888
+ height: 38px;
889
+ width: 100%;
890
+ }
891
+ .primaryOnly .tapePrimary {
892
+ height: 36px;
893
+ }
894
+ .double .tapePrimary {
895
+ position: relative;
896
+ z-index: 1;
897
+ }
898
+ .double .tapeSecondary {
899
+ margin-top: -18px;
900
+ position: relative;
901
+ z-index: 0;
902
+ }
903
+ .rotateLeft {
904
+ transform: rotate(-2deg);
905
+ }
906
+ .rotateRight {
907
+ transform: rotate(2deg);
908
+ }
909
+ .rotateStrong {
910
+ transform: rotate(-4deg);
911
+ }
912
+ .overlap {
913
+ margin-top: -36px;
914
+ padding-top: 36px;
915
+ }
916
+ @media screen and (min-width: 640px) {
917
+ .tapePrimary {
918
+ height: 48px;
919
+ }
920
+ .tapeSecondary {
921
+ height: 50px;
922
+ }
923
+ .double .tapeSecondary {
924
+ margin-top: -24px;
925
+ }
926
+ .overlap {
927
+ margin-top: -48px;
928
+ padding-top: 48px;
929
+ }
930
+ }
931
+ @media screen and (min-width: 1024px) {
932
+ .tapePrimary {
933
+ height: 60px;
934
+ }
935
+ .tapeSecondary {
936
+ height: 62px;
937
+ }
938
+ .double .tapeSecondary {
939
+ margin-top: -30px;
940
+ }
941
+ .overlap {
942
+ margin-top: -60px;
943
+ padding-top: 60px;
944
+ }
945
+ }
946
+
947
+ /* src/components/ui/tape-title.module.css */
948
+ .container {
949
+ --tape-title-left-bleed: 61px;
950
+ --tape-title-right-bleed: 59px;
951
+ --tape-color: var(--color-true-black, #000);
952
+ background: var(--color-black, #0d0d0d);
953
+ color: var(--color-white, #fff);
954
+ display: inline-block;
955
+ margin-inline: var(--tape-title-left-bleed) var(--tape-title-right-bleed);
956
+ position: relative;
957
+ transform: rotate(-4deg);
958
+ z-index: 2;
959
+ }
960
+ .container::before {
961
+ background-color: var(--tape-color);
962
+ mask-image: url(/_images/svg/left-tape.svg);
963
+ mask-position: 100% center;
964
+ mask-repeat: no-repeat;
965
+ mask-size: contain;
966
+ content: " ";
967
+ height: 100%;
968
+ left: -61px;
969
+ position: absolute;
970
+ width: 62px;
971
+ }
972
+ .container::after {
973
+ background-color: var(--tape-color);
974
+ mask-image: url(/_images/svg/right-tape.svg);
975
+ mask-position: 0 center;
976
+ mask-repeat: no-repeat;
977
+ mask-size: contain;
978
+ content: " ";
979
+ height: 100%;
980
+ position: absolute;
981
+ right: -58px;
982
+ top: 0;
983
+ width: 59px;
984
+ }
985
+ .red {
986
+ --tape-color: var(--color-red, #ff505e);
987
+ background: var(--color-red, #ff505e);
988
+ color: var(--color-black, #0d0d0d);
989
+ }
990
+ .yellow {
991
+ --tape-color: var(--color-yellow, #eaff3d);
992
+ background: var(--color-yellow, #eaff3d);
993
+ color: var(--color-black, #0d0d0d);
994
+ }
995
+ .title {
996
+ font-family: var(--font-alt);
997
+ font-weight: 600;
998
+ font-size: 1.5rem;
999
+ line-height: 1;
1000
+ padding: 8px 16px 16px;
1001
+ text-transform: none;
1002
+ white-space: nowrap;
1003
+ }
1004
+ @media screen and (min-width: 1024px) {
1005
+ .title {
1006
+ font-size: 2.3125rem;
1007
+ padding: 16px 40px 24px;
1008
+ }
1009
+ }
1010
+
1011
+ /* src/components/ui/wave-button.module.css */
1012
+ .morph {
1013
+ animation: morph calc(var(--duration-factor, 1) * 3s) linear infinite;
1014
+ border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
1015
+ transform: translateZ(0);
1016
+ }
1017
+ @keyframes morph {
1018
+ 0%, 100% {
1019
+ border-radius: 40% 60% 70% 30% / 40% 40% 60% 50%;
1020
+ }
1021
+ 34% {
1022
+ border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%;
1023
+ }
1024
+ 67% {
1025
+ border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%;
1026
+ }
1027
+ }
1028
+ .iconWrap {
1029
+ background-color: var(--color-yellow, #eaff3d);
1030
+ display: grid;
1031
+ flex-shrink: 0;
1032
+ height: 48px;
1033
+ place-content: center;
1034
+ width: 48px;
1035
+ }
1036
+ .icon {
1037
+ --line-w: 19px;
1038
+ --line-h: 4px;
1039
+ --line-y: calc(var(--line-h) * -1.5);
1040
+ background-color: var(--color-blue, #603bff);
1041
+ display: block;
1042
+ height: var(--line-h);
1043
+ position: relative;
1044
+ width: var(--line-w);
1045
+ transition: background-color 0.1s linear;
1046
+ }
1047
+ .icon::before,
1048
+ .icon::after {
1049
+ --line-rotation: 0deg;
1050
+ background-color: var(--color-blue, #603bff);
1051
+ content: "";
1052
+ height: 100%;
1053
+ left: 0;
1054
+ position: absolute;
1055
+ top: 0;
1056
+ transform: translateY(var(--line-y)) rotate(var(--line-rotation));
1057
+ transition: transform 0.25s cubic-bezier(0.21, 0.12, 0.35, 1.43), background-color 0.1s linear;
1058
+ width: 100%;
1059
+ }
1060
+ .icon::after {
1061
+ --line-y: calc(var(--line-h) * 1.5);
1062
+ }
1063
+ .pressed .icon {
1064
+ background-color: transparent;
1065
+ }
1066
+ .pressed .icon::before {
1067
+ --line-y: 0px;
1068
+ --line-rotation: 45deg;
1069
+ }
1070
+ .pressed .icon::after {
1071
+ --line-y: 0px;
1072
+ --line-rotation: -45deg;
1073
+ }
1074
+ .yellow {
1075
+ background-color: var(--color-yellow, #eaff3d);
1076
+ }
1077
+ .white {
1078
+ background-color: var(--color-white);
1079
+ }
1080
+ .ghost {
1081
+ background-color: transparent;
1082
+ }
1083
+ .md {
1084
+ height: 48px;
1085
+ width: 48px;
1086
+ }
1087
+ .lg {
1088
+ height: 64px;
1089
+ width: 64px;
1090
+ }
1091
+
1092
+ /* src/components/ui/in-view.module.css */
1093
+ .anim {
1094
+ opacity: var(--start-alpha, 0);
1095
+ transform: translate(var(--start-x, 0), var(--start-y, 0)) scale(var(--start-scale, 1)) rotate(var(--start-rotate, 0deg));
1096
+ transition-delay: 0s;
1097
+ transition-duration: calc(var(--duration-hide, 0.4s) * var(--duration-factor, 1));
1098
+ transition-property: transform, opacity;
1099
+ transition-timing-function: var(--easing-fn-hide, ease);
1100
+ }
1101
+ .inView .anim {
1102
+ opacity: var(--end-alpha, 1);
1103
+ transform: translate(var(--end-x, 0), var(--end-y, 0)) scale(var(--end-scale, 1)) rotate(var(--end-rotate, 0deg));
1104
+ transition-delay: var(--in-view-delay, 0s);
1105
+ transition-duration: calc(var(--duration-show, 0.4s) * var(--duration-factor, 1));
1106
+ transition-timing-function: var(--easing-fn-show, ease);
1107
+ }
1108
+ .left {
1109
+ --start-x: 50%;
1110
+ --start-y: 0;
1111
+ --start-scale: 1;
1112
+ --easing-fn-show: var(--ease-out, cubic-bezier(0.35, 0.91, 0.3, 0.99));
1113
+ }
1114
+ .right {
1115
+ --start-x: -50%;
1116
+ --start-y: 0;
1117
+ --start-scale: 1;
1118
+ --easing-fn-show: var(--ease-out, cubic-bezier(0.35, 0.91, 0.3, 0.99));
1119
+ }
1120
+ .up {
1121
+ --start-x: 0;
1122
+ --start-y: 50%;
1123
+ --start-scale: 1;
1124
+ --easing-fn-show: var(--ease-out, cubic-bezier(0.35, 0.91, 0.3, 0.99));
1125
+ }
1126
+ .upMin {
1127
+ --start-x: 0;
1128
+ --start-y: 30px;
1129
+ --start-scale: 1;
1130
+ --easing-fn-show: var(--ease-out, cubic-bezier(0.35, 0.91, 0.3, 0.99));
1131
+ }
1132
+ .down {
1133
+ --start-x: 0;
1134
+ --start-y: -50%;
1135
+ --start-scale: 1;
1136
+ --easing-fn-show: var(--ease-out, cubic-bezier(0.35, 0.91, 0.3, 0.99));
1137
+ }
1138
+ .pop {
1139
+ --start-x: 0;
1140
+ --start-y: 0;
1141
+ --start-scale: 0.5;
1142
+ --easing-fn-show: var(--ease-back-out, cubic-bezier(0.21, 0.12, 0.35, 1.43));
1143
+ --easing-fn-hide: var(--ease-back-in, cubic-bezier(0.38, -0.37, 0.83, 0.23));
1144
+ }
1145
+ .drop {
1146
+ --start-scale: 1.1;
1147
+ --easing-fn-show: var(--ease-out, cubic-bezier(0.35, 0.91, 0.3, 0.99));
1148
+ }
1149
+ .dropSlow {
1150
+ --start-scale: 1.1;
1151
+ --duration-show: 0.6s;
1152
+ --easing-fn-show: var(--ease-out, cubic-bezier(0.35, 0.91, 0.3, 0.99));
1153
+ }
1154
+ .delay1 {
1155
+ --in-view-delay: calc(0.1 * 1s * var(--duration-factor, 1));
1156
+ }
1157
+ .delay2 {
1158
+ --in-view-delay: calc(0.2 * 1s * var(--duration-factor, 1));
1159
+ }
1160
+ .delay3 {
1161
+ --in-view-delay: calc(0.3 * 1s * var(--duration-factor, 1));
1162
+ }
1163
+ .delay4 {
1164
+ --in-view-delay: calc(0.4 * 1s * var(--duration-factor, 1));
1165
+ }
1166
+ .delay5 {
1167
+ --in-view-delay: calc(0.5 * 1s * var(--duration-factor, 1));
1168
+ }
1169
+ .delay6 {
1170
+ --in-view-delay: calc(0.6 * 1s * var(--duration-factor, 1));
1171
+ }
1172
+ .delay7 {
1173
+ --in-view-delay: calc(0.7 * 1s * var(--duration-factor, 1));
1174
+ }
1175
+ .delay8 {
1176
+ --in-view-delay: calc(0.8 * 1s * var(--duration-factor, 1));
1177
+ }
1178
+ .delay9 {
1179
+ --in-view-delay: calc(0.9 * 1s * var(--duration-factor, 1));
1180
+ }
1181
+ .delay10 {
1182
+ --in-view-delay: calc(1 * 1s * var(--duration-factor, 1));
1183
+ }
1184
+ .delay11 {
1185
+ --in-view-delay: calc(1.1 * 1s * var(--duration-factor, 1));
1186
+ }
1187
+ .delay12 {
1188
+ --in-view-delay: calc(1.2 * 1s * var(--duration-factor, 1));
1189
+ }
1190
+ .delay13 {
1191
+ --in-view-delay: calc(1.3 * 1s * var(--duration-factor, 1));
1192
+ }
1193
+ .delay14 {
1194
+ --in-view-delay: calc(1.4 * 1s * var(--duration-factor, 1));
1195
+ }
1196
+ .delay15 {
1197
+ --in-view-delay: calc(1.5 * 1s * var(--duration-factor, 1));
1198
+ }
1199
+ .delay16 {
1200
+ --in-view-delay: calc(1.6 * 1s * var(--duration-factor, 1));
1201
+ }
1202
+ .delay17 {
1203
+ --in-view-delay: calc(1.7 * 1s * var(--duration-factor, 1));
1204
+ }
1205
+ .delay18 {
1206
+ --in-view-delay: calc(1.8 * 1s * var(--duration-factor, 1));
1207
+ }
1208
+ .delay19 {
1209
+ --in-view-delay: calc(1.9 * 1s * var(--duration-factor, 1));
1210
+ }
1211
+ .delay20 {
1212
+ --in-view-delay: calc(2 * 1s * var(--duration-factor, 1));
1213
+ }
1214
+ .stagger {
1215
+ --in-view-stagger-delay: var(--in-view-delay, 0s);
1216
+ }
1217
+ .stagger > * {
1218
+ opacity: var(--start-alpha, 0);
1219
+ transform: translate(var(--start-x, 0), var(--start-y, 0)) scale(var(--start-scale, 1)) rotate(var(--start-rotate, 0deg));
1220
+ transition-delay: 0s;
1221
+ transition-duration: calc(var(--duration-hide, 0.4s) * var(--duration-factor, 1));
1222
+ transition-property: transform, opacity;
1223
+ transition-timing-function: var(--easing-fn-hide, ease);
1224
+ }
1225
+ .inView.stagger > * {
1226
+ opacity: var(--end-alpha, 1);
1227
+ transform: translate(var(--end-x, 0), var(--end-y, 0)) scale(var(--end-scale, 1)) rotate(var(--end-rotate, 0deg));
1228
+ transition-delay: var(--in-view-delay, 0s);
1229
+ transition-duration: calc(var(--duration-show, 0.4s) * var(--duration-factor, 1));
1230
+ transition-timing-function: var(--easing-fn-show, ease);
1231
+ }
1232
+ .inView .stagger > * {
1233
+ opacity: var(--end-alpha, 1);
1234
+ transform: translate(var(--end-x, 0), var(--end-y, 0)) scale(var(--end-scale, 1)) rotate(var(--end-rotate, 0deg));
1235
+ transition-delay: var(--in-view-delay, 0s);
1236
+ transition-duration: calc(var(--duration-show, 0.4s) * var(--duration-factor, 1));
1237
+ transition-timing-function: var(--easing-fn-show, ease);
1238
+ }
1239
+ .inView.stagger > :first-child {
1240
+ --in-view-delay: calc( (0 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1241
+ }
1242
+ .inView.stagger > :nth-child(2) {
1243
+ --in-view-delay: calc( (1 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1244
+ }
1245
+ .inView.stagger > :nth-child(3) {
1246
+ --in-view-delay: calc( (2 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1247
+ }
1248
+ .inView.stagger > :nth-child(4) {
1249
+ --in-view-delay: calc( (3 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1250
+ }
1251
+ .inView.stagger > :nth-child(5) {
1252
+ --in-view-delay: calc( (4 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1253
+ }
1254
+ .inView.stagger > :nth-child(6) {
1255
+ --in-view-delay: calc( (5 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1256
+ }
1257
+ .inView.stagger > :nth-child(7) {
1258
+ --in-view-delay: calc( (6 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1259
+ }
1260
+ .inView.stagger > :nth-child(8) {
1261
+ --in-view-delay: calc( (7 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1262
+ }
1263
+ .inView.stagger > :nth-child(9) {
1264
+ --in-view-delay: calc( (8 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1265
+ }
1266
+ .inView.stagger > :nth-child(10) {
1267
+ --in-view-delay: calc( (9 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1268
+ }
1269
+ .inView .stagger > :first-child {
1270
+ --in-view-delay: calc( (0 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1271
+ }
1272
+ .inView .stagger > :nth-child(2) {
1273
+ --in-view-delay: calc( (1 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1274
+ }
1275
+ .inView .stagger > :nth-child(3) {
1276
+ --in-view-delay: calc( (2 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1277
+ }
1278
+ .inView .stagger > :nth-child(4) {
1279
+ --in-view-delay: calc( (3 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1280
+ }
1281
+ .inView .stagger > :nth-child(5) {
1282
+ --in-view-delay: calc( (4 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1283
+ }
1284
+ .inView .stagger > :nth-child(6) {
1285
+ --in-view-delay: calc( (5 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1286
+ }
1287
+ .inView .stagger > :nth-child(7) {
1288
+ --in-view-delay: calc( (6 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1289
+ }
1290
+ .inView .stagger > :nth-child(8) {
1291
+ --in-view-delay: calc( (7 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1292
+ }
1293
+ .inView .stagger > :nth-child(9) {
1294
+ --in-view-delay: calc( (8 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1295
+ }
1296
+ .inView .stagger > :nth-child(10) {
1297
+ --in-view-delay: calc( (9 * var(--in-view-stagger-amount, 0.2s) + var(--in-view-stagger-delay, 0s)) * var(--duration-factor, 1) );
1298
+ }
1299
+ .staggerUpMin {
1300
+ --start-x: 0;
1301
+ --start-y: 30px;
1302
+ --start-scale: 1;
1303
+ }
1304
+ .staggerPop {
1305
+ --start-x: 0;
1306
+ --start-y: 0;
1307
+ --start-scale: 0.5;
1308
+ --easing-fn-show: var(--ease-back-out, cubic-bezier(0.21, 0.12, 0.35, 1.43));
1309
+ --easing-fn-hide: var(--ease-back-in, cubic-bezier(0.38, -0.37, 0.83, 0.23));
1310
+ }
1311
+ @media (prefers-reduced-motion: reduce) {
1312
+ .anim,
1313
+ .stagger > * {
1314
+ opacity: 1;
1315
+ }
1316
+ }
1317
+ :global(.is-reduced-motion) .anim,
1318
+ :global(.is-reduced-motion) .stagger > * {
1319
+ opacity: 1;
1320
+ }
1321
+
1322
+ /* src/components/ui/banner-divider.module.css */
1323
+ .bannerDividerGroup {
1324
+ --banner-divider-height: 47px;
1325
+ --banner-divider-stack-offset: var(--banner-divider-max-offset, 0px);
1326
+ --banner-divider-viewport-height: calc( var(--banner-divider-height) + var(--banner-divider-stack-offset) );
1327
+ block-size: 0;
1328
+ isolation: isolate;
1329
+ pointer-events: none;
1330
+ position: relative;
1331
+ z-index: 2;
1332
+ }
1333
+ .bannerDividerGroupSpacer {
1334
+ block-size: var(--banner-divider-height);
1335
+ }
1336
+ .bannerDividerViewport {
1337
+ block-size: var(--banner-divider-viewport-height);
1338
+ inset-inline: 0;
1339
+ overflow-x: clip;
1340
+ overflow-y: visible;
1341
+ pointer-events: none;
1342
+ position: absolute;
1343
+ top: var(--banner-divider-anchor-y, calc(var(--banner-divider-height) * -0.5));
1344
+ z-index: 0;
1345
+ }
1346
+ @media screen and (min-width: 640px) {
1347
+ .bannerDividerGroup {
1348
+ --banner-divider-height: 65px;
1349
+ --banner-divider-stack-offset: var( --banner-divider-max-offset-medium, var(--banner-divider-max-offset, 0px) );
1350
+ }
1351
+ }
1352
+ @media screen and (min-width: 1024px) {
1353
+ .bannerDividerGroup {
1354
+ --banner-divider-height: 90px;
1355
+ }
1356
+ }
1357
+ @media screen and (min-width: 1440px) {
1358
+ .bannerDividerGroup {
1359
+ --banner-divider-height: 110px;
1360
+ }
1361
+ }
1362
+ .bannerDividerTape {
1363
+ background-position: 50%;
1364
+ background-repeat: repeat-x;
1365
+ background-size: auto 100%;
1366
+ height: 47px;
1367
+ left: 50%;
1368
+ position: absolute;
1369
+ width: 110vw;
1370
+ z-index: 0;
1371
+ }
1372
+ @media screen and (min-width: 640px) {
1373
+ .bannerDividerTape {
1374
+ height: 65px;
1375
+ top: var(--banner-offset-medium, 0);
1376
+ }
1377
+ }
1378
+ @media screen and (min-width: 1024px) {
1379
+ .bannerDividerTape {
1380
+ height: 90px;
1381
+ }
1382
+ }
1383
+ @media screen and (min-width: 1440px) {
1384
+ .bannerDividerTape {
1385
+ height: 110px;
1386
+ }
1387
+ }
1388
+ .bannerDivider {
1389
+ background-position: 50%;
1390
+ background-repeat: repeat-x;
1391
+ background-size: auto 100%;
1392
+ height: 47px;
1393
+ left: -5vw;
1394
+ position: absolute;
1395
+ width: 110vw;
1396
+ z-index: 2;
1397
+ }
1398
+ @media screen and (min-width: 640px) {
1399
+ .bannerDivider {
1400
+ height: 65px;
1401
+ top: var(--banner-offset-medium, 0);
1402
+ }
1403
+ }
1404
+ @media screen and (min-width: 1024px) {
1405
+ .bannerDivider {
1406
+ height: 90px;
1407
+ }
1408
+ }
1409
+ @media screen and (min-width: 1440px) {
1410
+ .bannerDivider {
1411
+ height: 110px;
1412
+ }
1413
+ }
1414
+ .rotateUp {
1415
+ transform: rotate(1deg);
1416
+ transform-origin: 90% 50%;
1417
+ }
1418
+ .rotateDown {
1419
+ transform: rotate(-1deg);
1420
+ transform-origin: 90% 50%;
1421
+ }
1422
+ .banner-divider--design1 {
1423
+ background-image: url(/_images/banners/banner-design1.png);
1424
+ background-image: image-set(url(/_images/banners/banner-design1.png) 1x, url(/_images/banners/banner-design1-2x.png) 2x);
1425
+ }
1426
+ @media screen and (min-width: 640px) {
1427
+ .banner-divider--design1 {
1428
+ background-image: url(/_images/banners/banner-design1-medium-up.png);
1429
+ background-image: image-set(url(/_images/banners/banner-design1-medium-up.png) 1x, url(/_images/banners/banner-design1-medium-up-2x.png) 2x);
1430
+ }
1431
+ }
1432
+ .banner-divider--design2 {
1433
+ background-image: url(/_images/banners/banner-design2.png);
1434
+ background-image: image-set(url(/_images/banners/banner-design2.png) 1x, url(/_images/banners/banner-design2-2x.png) 2x);
1435
+ }
1436
+ @media screen and (min-width: 640px) {
1437
+ .banner-divider--design2 {
1438
+ background-image: url(/_images/banners/banner-design2-medium-up.png);
1439
+ background-image: image-set(url(/_images/banners/banner-design2-medium-up.png) 1x, url(/_images/banners/banner-design2-medium-up-2x.png) 2x);
1440
+ }
1441
+ }
1442
+ .banner-divider--design3 {
1443
+ background-image: url(/_images/banners/banner-design3.png);
1444
+ background-image: image-set(url(/_images/banners/banner-design3.png) 1x, url(/_images/banners/banner-design3-2x.png) 2x);
1445
+ }
1446
+ @media screen and (min-width: 640px) {
1447
+ .banner-divider--design3 {
1448
+ background-image: url(/_images/banners/banner-design3-medium-up.png);
1449
+ background-image: image-set(url(/_images/banners/banner-design3-medium-up.png) 1x, url(/_images/banners/banner-design3-medium-up-2x.png) 2x);
1450
+ }
1451
+ }
1452
+ .banner-divider--yellow {
1453
+ background-image: url(/_images/banners/banner-yellow.png);
1454
+ background-image: image-set(url(/_images/banners/banner-yellow.png) 1x, url(/_images/banners/banner-yellow-2x.png) 2x);
1455
+ }
1456
+ @media screen and (min-width: 640px) {
1457
+ .banner-divider--yellow {
1458
+ background-image: url(/_images/banners/banner-yellow-medium-up.png);
1459
+ background-image: image-set(url(/_images/banners/banner-yellow-medium-up.png) 1x, url(/_images/banners/banner-yellow-medium-up-2x.png) 2x);
1460
+ }
1461
+ }
1462
+ .banner-divider--blue {
1463
+ background-image: url(/_images/banners/banner-blue.png);
1464
+ background-image: image-set(url(/_images/banners/banner-blue.png) 1x, url(/_images/banners/banner-blue-2x.png) 2x);
1465
+ }
1466
+ @media screen and (min-width: 640px) {
1467
+ .banner-divider--blue {
1468
+ background-image: url(/_images/banners/banner-blue-medium-up.png);
1469
+ background-image: image-set(url(/_images/banners/banner-blue-medium-up.png) 1x, url(/_images/banners/banner-blue-medium-up-2x.png) 2x);
1470
+ }
1471
+ }
1472
+ .banner-divider--green {
1473
+ background-image: url(/_images/banners/banner-green.png);
1474
+ background-image: image-set(url(/_images/banners/banner-green.png) 1x, url(/_images/banners/banner-green-2x.png) 2x);
1475
+ }
1476
+ @media screen and (min-width: 640px) {
1477
+ .banner-divider--green {
1478
+ background-image: url(/_images/banners/banner-green-medium-up.png);
1479
+ background-image: image-set(url(/_images/banners/banner-green-medium-up.png) 1x, url(/_images/banners/banner-green-medium-up-2x.png) 2x);
1480
+ }
1481
+ }
1482
+ .banner-divider--purple {
1483
+ background-image: url(/_images/banners/banner-purple.png);
1484
+ background-image: image-set(url(/_images/banners/banner-purple.png) 1x, url(/_images/banners/banner-purple-2x.png) 2x);
1485
+ }
1486
+ @media screen and (min-width: 640px) {
1487
+ .banner-divider--purple {
1488
+ background-image: url(/_images/banners/banner-purple-medium-up.png);
1489
+ background-image: image-set(url(/_images/banners/banner-purple-medium-up.png) 1x, url(/_images/banners/banner-purple-medium-up-2x.png) 2x);
1490
+ }
1491
+ }
1492
+ .banner-divider--orange {
1493
+ background-image: url(/_images/banners/banner-orange.png);
1494
+ background-image: image-set(url(/_images/banners/banner-orange.png) 1x, url(/_images/banners/banner-orange-2x.png) 2x);
1495
+ }
1496
+ @media screen and (min-width: 640px) {
1497
+ .banner-divider--orange {
1498
+ background-image: url(/_images/banners/banner-orange-medium-up.png);
1499
+ background-image: image-set(url(/_images/banners/banner-orange-medium-up.png) 1x, url(/_images/banners/banner-orange-medium-up-2x.png) 2x);
1500
+ }
1501
+ }
1502
+ .banner-divider--red {
1503
+ background-image: url(/_images/banners/banner-red.png);
1504
+ background-image: image-set(url(/_images/banners/banner-red.png) 1x, url(/_images/banners/banner-red-2x.png) 2x);
1505
+ }
1506
+ @media screen and (min-width: 640px) {
1507
+ .banner-divider--red {
1508
+ background-image: url(/_images/banners/banner-red-medium-up.png);
1509
+ background-image: image-set(url(/_images/banners/banner-red-medium-up.png) 1x, url(/_images/banners/banner-red-medium-up-2x.png) 2x);
1510
+ }
1511
+ }
1512
+
1513
+ /* src/components/ui/button.module.css */
1514
+ .dripRoot[data-drip-state=entering] .dripHoverContent,
1515
+ .dripRoot[data-drip-state=entered] .dripHoverContent,
1516
+ .dripRoot[data-drip-state=leaving] .dripHoverContent {
1517
+ opacity: 1;
1518
+ }
1519
+ .dripHoverContent {
1520
+ animation: splat-drip-leave calc(1.8s * var(--drip-speed-factor)) ease forwards;
1521
+ animation-fill-mode: forwards;
1522
+ background-color: var(--hover-bg-color);
1523
+ clip-path: var(--drip-out-start);
1524
+ opacity: 0;
1525
+ overflow: hidden;
1526
+ pointer-events: none;
1527
+ }
1528
+ .dripFill {
1529
+ display: none;
1530
+ }
1531
+ .dripFrame {
1532
+ border-radius: inherit;
1533
+ box-shadow: inset 0 0 0 2px var(--hover-text-color);
1534
+ inset: 0;
1535
+ position: absolute;
1536
+ }
1537
+ .dripRoot[data-drip-state=entering] .dripHoverContent {
1538
+ animation: splat-drip-enter calc(1.8s * var(--drip-speed-factor)) ease forwards;
1539
+ }
1540
+ .dripRoot[data-drip-state=entered] .dripHoverContent {
1541
+ animation: none;
1542
+ clip-path: var(--drip-in-end);
1543
+ }
1544
+ .dripRoot[data-drip-state=leaving] .dripHoverContent {
1545
+ animation: splat-drip-leave calc(1.8s * var(--drip-speed-factor)) ease forwards;
1546
+ }
1547
+ @keyframes splat-drip-enter {
1548
+ 0% {
1549
+ clip-path: var(--drip-in-start);
1550
+ }
1551
+ 100% {
1552
+ clip-path: var(--drip-in-end);
1553
+ }
1554
+ }
1555
+ @keyframes splat-drip-leave {
1556
+ 0% {
1557
+ clip-path: var(--drip-out-start);
1558
+ }
1559
+ 100% {
1560
+ clip-path: var(--drip-out-end);
1561
+ }
1562
+ }
1563
+
1564
+ /* src/components/ui/carousel-pagination.module.css */
1565
+ .pagination {
1566
+ --gap: 10px;
1567
+ display: flex;
1568
+ flex-wrap: wrap;
1569
+ justify-content: center;
1570
+ list-style: none;
1571
+ margin: 0 auto calc(var(--gap) * -1);
1572
+ padding: 0;
1573
+ width: 100%;
1574
+ z-index: 10;
1575
+ }
1576
+ .item {
1577
+ display: inline-block;
1578
+ }
1579
+ .item:not(:last-child) {
1580
+ margin-right: var(--gap);
1581
+ }
1582
+ .item button {
1583
+ background: none;
1584
+ border: none;
1585
+ cursor: pointer;
1586
+ display: block;
1587
+ min-height: 44px;
1588
+ min-width: 44px;
1589
+ padding: 7px;
1590
+ }
1591
+ .item:focus-visible .paginationIcon,
1592
+ .item:hover .paginationIcon {
1593
+ transform: translateY(-5px);
1594
+ }
1595
+ .iconContainer {
1596
+ display: block;
1597
+ position: relative;
1598
+ }
1599
+ .paginationIcon {
1600
+ display: block;
1601
+ height: 28px;
1602
+ width: 30px;
1603
+ background: var(--chaos-black, #0d0d0d);
1604
+ mask-image: url(/_images/svg/icon-pagination.svg);
1605
+ mask-size: contain;
1606
+ mask-repeat: no-repeat;
1607
+ -webkit-mask-image: url(/_images/svg/icon-pagination.svg);
1608
+ -webkit-mask-size: contain;
1609
+ -webkit-mask-repeat: no-repeat;
1610
+ opacity: 0.3;
1611
+ transition: transform 0.2s ease;
1612
+ }
1613
+ .paginationActive {
1614
+ background: var(--color-primary, #6af7ce);
1615
+ opacity: 1;
1616
+ }
1617
+ .imagePaginationButton {
1618
+ --scale: 0;
1619
+ position: relative;
1620
+ }
1621
+ .imagePaginationButton::before {
1622
+ background-image: url(/_images/svg/pagination-splat.svg);
1623
+ background-repeat: no-repeat;
1624
+ content: "";
1625
+ height: 78px;
1626
+ left: 0;
1627
+ pointer-events: none;
1628
+ position: absolute;
1629
+ top: 0;
1630
+ transform: translate(-35%, -35%) rotate(var(--rotate, 0deg)) scale(var(--scale));
1631
+ transition: transform calc(var(--duration-factor, 1) * 0.1s) var(--ease-in, ease-in);
1632
+ width: 74px;
1633
+ z-index: 1;
1634
+ }
1635
+ .imagePaginationButton:not(.imagePaginationActive):focus-visible .imagePaginationImage,
1636
+ .imagePaginationButton:not(.imagePaginationActive):hover .imagePaginationImage {
1637
+ background-color: var(--color-green);
1638
+ border-color: var(--color-green);
1639
+ }
1640
+ .imagePaginationActive {
1641
+ --scale: 1;
1642
+ }
1643
+ .imagePaginationActive .imagePaginationImage {
1644
+ border-color: var(--color-accent);
1645
+ }
1646
+ .imagePaginationImage {
1647
+ --size: 56px;
1648
+ background-clip: padding-box;
1649
+ background-color: var(--color-green);
1650
+ border: 4px solid transparent;
1651
+ border-radius: 50%;
1652
+ display: flex;
1653
+ height: var(--size);
1654
+ overflow: hidden;
1655
+ position: relative;
1656
+ width: var(--size);
1657
+ z-index: 2;
1658
+ }
1659
+ @media screen and (min-width: 640px) {
1660
+ .imagePaginationImage {
1661
+ --size: 72px;
1662
+ }
1663
+ }
1664
+ @media screen and (min-width: 1024px) {
1665
+ .imagePaginationImage {
1666
+ --size: 90px;
1667
+ }
1668
+ }
1669
+ .imagePaginationImage img {
1670
+ display: block;
1671
+ width: 100%;
1672
+ height: 100%;
1673
+ object-fit: cover;
1674
+ opacity: 1;
1675
+ transition: opacity 0.2s ease;
1676
+ }
1677
+ .imagePaginationActive .imagePaginationImage img {
1678
+ opacity: 1;
1679
+ }
1680
+
1681
+ /* src/components/ui/icon-button.module.css */
1682
+ .shell {
1683
+ --size: 60px;
1684
+ --icon-size: calc(var(--size) * 0.5);
1685
+ --scale: 1;
1686
+ display: inline-flex;
1687
+ align-items: center;
1688
+ justify-content: center;
1689
+ border-radius: var(--size);
1690
+ border: none;
1691
+ outline: none;
1692
+ cursor: pointer;
1693
+ flex-shrink: 0;
1694
+ overflow: hidden;
1695
+ width: var(--size);
1696
+ height: var(--size);
1697
+ background-color: var(--color-primary, #6af7ce);
1698
+ color: var(--color-primary-alt, #0d0d0d);
1699
+ -webkit-tap-highlight-color: transparent;
1700
+ text-decoration: none;
1701
+ line-height: 1;
1702
+ }
1703
+ .shell:focus-visible {
1704
+ outline: 2px solid currentColor;
1705
+ outline-offset: 2px;
1706
+ }
1707
+ .shell:disabled,
1708
+ .shell[aria-disabled=true] {
1709
+ visibility: hidden;
1710
+ pointer-events: none;
1711
+ }
1712
+ .sm {
1713
+ --size: 40px;
1714
+ }
1715
+ .md {
1716
+ --size: 48px;
1717
+ }
1718
+ .lg {
1719
+ --size: 60px;
1720
+ }
1721
+ .shell[data-size=sm] {
1722
+ --size: 40px;
1723
+ }
1724
+ .shell[data-size=md] {
1725
+ --size: 48px;
1726
+ }
1727
+ .shell[data-size=lg] {
1728
+ --size: 60px;
1729
+ }
1730
+ .icon {
1731
+ display: block;
1732
+ fill: currentcolor;
1733
+ margin: auto;
1734
+ position: relative;
1735
+ width: var(--icon-size);
1736
+ height: var(--icon-size);
1737
+ }
1738
+ .carousel {
1739
+ --size: 50px;
1740
+ background-color: var(--color-green, #6af7ce);
1741
+ color: var(--color-primary-alt, #0d0d0d);
1742
+ }
1743
+ @media screen and (min-width: 640px) {
1744
+ .carousel {
1745
+ --size: 60px;
1746
+ }
1747
+ }
1748
+ @media screen and (min-width: 1024px) {
1749
+ .carousel {
1750
+ --size: 86px;
1751
+ }
1752
+ }
1753
+ .primary {
1754
+ background-color: var(--color-blue, #603bff);
1755
+ color: var(--color-white, #fff);
1756
+ }
1757
+ .ghost {
1758
+ background-color: transparent;
1759
+ color: currentColor;
1760
+ }
1761
+ .yellow {
1762
+ background-color: var(--color-yellow, #eaff3d);
1763
+ color: var(--color-black, #0d0d0d);
1764
+ }
1765
+ .outline {
1766
+ background-color: transparent;
1767
+ color: currentColor;
1768
+ border: 2px solid currentColor;
1769
+ }
1770
+ .accent {
1771
+ background-color: var(--color-accent, #eaff3d);
1772
+ color: var(--color-accent-alt, #0d0d0d);
1773
+ }
1774
+ @media (hover: hover) {
1775
+ .shell:not(:disabled):not([aria-disabled=true]):hover {
1776
+ --scale: 1.1;
1777
+ }
1778
+ }
1779
+ .squish {
1780
+ animation: squish calc(var(--duration-factor, 1) * 2s) ease-out infinite;
1781
+ }
1782
+ .squishLeft {
1783
+ --squish-direction: -1;
1784
+ }
1785
+ .squishRight {
1786
+ --squish-direction: 1;
1787
+ }
1788
+ @keyframes squish {
1789
+ 0%, 100% {
1790
+ transform: scale(calc(var(--scale) * 1));
1791
+ }
1792
+ 30% {
1793
+ transform: scaleX(calc(var(--scale) * 0.9)) scaleY(calc(var(--scale) * 1.1)) translateX(calc(15% * var(--squish-direction, 1)));
1794
+ }
1795
+ 45% {
1796
+ transform: scaleX(calc(var(--scale) * 1.05)) scaleY(calc(var(--scale) * 1)) translateX(calc(8% * var(--squish-direction, 1)));
1797
+ }
1798
+ 60% {
1799
+ transform: scaleX(calc(var(--scale) * 0.95)) scaleY(calc(var(--scale) * 1.05)) translateX(calc(8% * var(--squish-direction, 1)));
1800
+ }
1801
+ }
1802
+ .pulse {
1803
+ animation: pulse 2s ease-in-out infinite;
1804
+ }
1805
+ @keyframes pulse {
1806
+ 0%, 100% {
1807
+ transform: scale(calc(var(--scale) * 1));
1808
+ }
1809
+ 50% {
1810
+ transform: scale(calc(var(--scale) * 1.05));
1811
+ }
1812
+ }
1813
+ @media (prefers-reduced-motion: reduce) {
1814
+ .shell,
1815
+ .shell:hover,
1816
+ .shell:active {
1817
+ transition: none;
1818
+ transform: none;
1819
+ animation: none;
1820
+ }
1821
+ }
1822
+
1823
+ /* src/components/ui/card-stack-carousel.module.css */
1824
+ .shell {
1825
+ display: flex;
1826
+ align-items: center;
1827
+ justify-content: center;
1828
+ border-radius: 9999px;
1829
+ transform: translateY(-50%) scale(1);
1830
+ will-change: transform, opacity;
1831
+ box-shadow: none;
1832
+ --scale: 1;
1833
+ --squish-direction: 1;
1834
+ background-color: var(--color-green, #6af7ce);
1835
+ color: var(--color-black, #0d0d0d);
1836
+ touch-action: pan-y;
1837
+ }
1838
+ .left {
1839
+ --squish-direction: -1;
1840
+ --icon-button-size: 86px;
1841
+ --icon-button-icon-size: 40px;
1842
+ }
1843
+ .right {
1844
+ --squish-direction: 1;
1845
+ --icon-button-size: 86px;
1846
+ --icon-button-icon-size: 40px;
1847
+ }
1848
+ .shell:not(:disabled):not([aria-disabled=true]):hover {
1849
+ --scale: 1.1;
1850
+ }
1851
+ .shell:disabled {
1852
+ background-color: transparent;
1853
+ cursor: auto;
1854
+ opacity: 0.2;
1855
+ }
1856
+ .icon {
1857
+ width: 40px;
1858
+ height: 40px;
1859
+ display: block;
1860
+ }
1861
+ .intro {
1862
+ animation: icon-button_squish 2s ease-out infinite;
1863
+ }
1864
+ @-webkit-keyframes icon-button_squish {
1865
+ 0%, 100% {
1866
+ transform: translateY(-50%) scale(calc(var(--scale) * 1));
1867
+ }
1868
+ 30% {
1869
+ transform: translateY(-50%) scaleX(calc(var(--scale) * .9)) scaleY(calc(var(--scale) * 1.1)) translateX(calc(15% * var(--squish-direction)));
1870
+ }
1871
+ 45% {
1872
+ transform: translateY(-50%) scaleX(calc(var(--scale) * 1.05)) scaleY(calc(var(--scale) * 1)) translateX(calc(8% * var(--squish-direction)));
1873
+ }
1874
+ 60% {
1875
+ transform: translateY(-50%) scaleX(calc(var(--scale) * .95)) scaleY(calc(var(--scale) * 1.05)) translateX(calc(8% * var(--squish-direction)));
1876
+ }
1877
+ }
1878
+ @keyframes icon-button_squish {
1879
+ 0%, 100% {
1880
+ transform: translateY(-50%) scale(calc(var(--scale) * 1));
1881
+ }
1882
+ 30% {
1883
+ transform: translateY(-50%) scaleX(calc(var(--scale) * .9)) scaleY(calc(var(--scale) * 1.1)) translateX(calc(15% * var(--squish-direction)));
1884
+ }
1885
+ 45% {
1886
+ transform: translateY(-50%) scaleX(calc(var(--scale) * 1.05)) scaleY(calc(var(--scale) * 1)) translateX(calc(8% * var(--squish-direction)));
1887
+ }
1888
+ 60% {
1889
+ transform: translateY(-50%) scaleX(calc(var(--scale) * .95)) scaleY(calc(var(--scale) * 1.05)) translateX(calc(8% * var(--squish-direction)));
1890
+ }
1891
+ }
1892
+ @media (prefers-reduced-motion: reduce) {
1893
+ .shell,
1894
+ .shell:hover,
1895
+ .shell:active {
1896
+ transition: none;
1897
+ transform: none;
1898
+ animation: none;
1899
+ }
1900
+ }
1901
+
1902
+ /* src/components/ui/footer.module.css */
1903
+ .footer {
1904
+ background-color: var(--color-black, #0d0d0d);
1905
+ color: var(--color-white, #fff);
1906
+ position: relative;
1907
+ z-index: 1;
1908
+ }
1909
+ .inner {
1910
+ margin: 0 auto;
1911
+ max-width: 64rem;
1912
+ padding: 3rem 1.5rem 2.5rem;
1913
+ position: relative;
1914
+ z-index: 20;
1915
+ }
1916
+ @media (min-width: 768px) {
1917
+ .inner {
1918
+ padding: 4rem 2rem 3rem;
1919
+ }
1920
+ }
1921
+ .brandBlock {
1922
+ display: grid;
1923
+ gap: 0.75rem;
1924
+ justify-items: center;
1925
+ margin: 0 auto 1.75rem;
1926
+ max-width: 42rem;
1927
+ text-align: center;
1928
+ }
1929
+ .kicker {
1930
+ background: var(--color-yellow, #eaff3d);
1931
+ color: var(--color-black, #0d0d0d);
1932
+ display: inline-block;
1933
+ font-family: var(--font-alt, sans-serif);
1934
+ font-size: 0.8125rem;
1935
+ font-weight: 900;
1936
+ letter-spacing: 0.08em;
1937
+ line-height: 1;
1938
+ padding: 0.35rem 0.75rem;
1939
+ text-transform: uppercase;
1940
+ transform: rotate(-2deg);
1941
+ }
1942
+ .brandTitle {
1943
+ color: var(--color-white, #fff);
1944
+ font-family: var(--font-heading, sans-serif);
1945
+ font-size: clamp(2rem, 8vw, 4.5rem);
1946
+ line-height: 0.9;
1947
+ margin: 0;
1948
+ text-transform: uppercase;
1949
+ }
1950
+ .brandCopy {
1951
+ color: rgba(255, 255, 255, 0.74);
1952
+ font-size: 0.95rem;
1953
+ font-weight: 600;
1954
+ line-height: 1.7;
1955
+ margin: 0;
1956
+ max-width: 36rem;
1957
+ }
1958
+ .projectActions {
1959
+ align-items: center;
1960
+ display: flex;
1961
+ flex-direction: column;
1962
+ gap: 1rem;
1963
+ justify-content: center;
1964
+ }
1965
+ @media (min-width: 640px) {
1966
+ .projectActions {
1967
+ flex-direction: row;
1968
+ }
1969
+ }
1970
+ .linkRow {
1971
+ align-items: center;
1972
+ display: flex;
1973
+ flex-wrap: wrap;
1974
+ gap: 0.75rem;
1975
+ justify-content: center;
1976
+ }
1977
+ .navLink {
1978
+ color: rgba(255, 255, 255, 0.72);
1979
+ font-size: 0.875rem;
1980
+ font-weight: 800;
1981
+ text-decoration: none;
1982
+ text-transform: uppercase;
1983
+ transition: color 0.15s ease;
1984
+ }
1985
+ .navLink:hover {
1986
+ color: var(--color-yellow, #eaff3d);
1987
+ }
1988
+ .divider {
1989
+ border: none;
1990
+ border-top: 1px solid rgba(255, 255, 255, 0.15);
1991
+ margin: 2rem 0 1.5rem;
1992
+ }
1993
+ .legalRow {
1994
+ align-items: center;
1995
+ display: grid;
1996
+ gap: 0.5rem;
1997
+ justify-items: center;
1998
+ text-align: center;
1999
+ }
2000
+ .copyright {
2001
+ color: rgba(255, 255, 255, 0.48);
2002
+ font-size: 0.72rem;
2003
+ line-height: 1.5;
2004
+ max-width: 46rem;
2005
+ }
2006
+
2007
+ /* src/components/ui/gallery-base.module.css */
2008
+ .galleryWrapper {
2009
+ --photo-offset: 0;
2010
+ --photo-ease: var(--ease-out);
2011
+ --gallery-opacity: 0;
2012
+ --gallery-transition-delay: calc(var(--duration-factor, 1) * 0.4s);
2013
+ --delay: 0s;
2014
+ --ease: var(--ease-back-in);
2015
+ --controls-scale: 1;
2016
+ --controls-spread: 0px;
2017
+ margin: 0;
2018
+ padding: 0 16px;
2019
+ position: relative;
2020
+ touch-action: pan-y;
2021
+ width: 100%;
2022
+ }
2023
+ .gallery {
2024
+ display: grid;
2025
+ grid-template-areas: "item";
2026
+ padding-top: 16px;
2027
+ position: relative;
2028
+ }
2029
+ .galleryItem {
2030
+ display: block;
2031
+ grid-area: item;
2032
+ margin: 0 auto;
2033
+ opacity: 0;
2034
+ transition: opacity 0s ease-in-out;
2035
+ transition-delay: var(--gallery-transition-delay);
2036
+ width: 100%;
2037
+ will-change: opacity, transform;
2038
+ z-index: 0;
2039
+ }
2040
+ .galleryItemActive {
2041
+ --gallery-opacity: 1;
2042
+ --ease: var(--ease-out);
2043
+ --delay: var(--gallery-transition-delay);
2044
+ opacity: 1;
2045
+ transition-property: opacity;
2046
+ transition-duration: calc(var(--duration-factor, 1) * 0.4s);
2047
+ transition-timing-function: var(--photo-ease);
2048
+ transition-delay: var(--delay);
2049
+ z-index: 10;
2050
+ }
2051
+ .galleryControls {
2052
+ --display-type: flex;
2053
+ align-items: center;
2054
+ display: var(--display-type);
2055
+ flex-direction: row;
2056
+ height: 0;
2057
+ justify-content: space-between;
2058
+ left: 50%;
2059
+ max-width: 100%;
2060
+ position: absolute;
2061
+ top: 50%;
2062
+ transform: translate(-50%, -50%);
2063
+ width: 100%;
2064
+ z-index: 50;
2065
+ }
2066
+ .galleryControls > * {
2067
+ filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2));
2068
+ position: relative;
2069
+ }
2070
+ .galleryControls > :first-child {
2071
+ transform: translateX(calc(-150% - var(--controls-spread))) scale(var(--controls-scale));
2072
+ }
2073
+ .galleryControls > :nth-child(2) {
2074
+ transform: translateX(calc(100% + var(--controls-spread))) scale(var(--controls-scale));
2075
+ }
2076
+ @media screen and (max-width: 639px) {
2077
+ .galleryControls {
2078
+ left: 0;
2079
+ max-width: 100%;
2080
+ transform: translateY(-50%);
2081
+ width: 100%;
2082
+ }
2083
+ .galleryControls > :first-child,
2084
+ .galleryControls > :nth-child(2) {
2085
+ transform: none;
2086
+ }
2087
+ }
2088
+ .galleryContentFade {
2089
+ opacity: var(--gallery-opacity);
2090
+ transition-delay: var(--delay);
2091
+ transition-duration: calc(var(--duration-factor, 1) * 0.4s);
2092
+ transition-property: opacity;
2093
+ transition-timing-function: var(--photo-ease);
2094
+ }
2095
+ .galleryFrame {
2096
+ --photo-aspect-ratio: 16 / 9;
2097
+ display: block;
2098
+ filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
2099
+ margin: 0 auto;
2100
+ max-width: 600px;
2101
+ width: 100%;
2102
+ transform: translateX(calc(50% * var(--photo-offset))) rotate(calc(var(--rotateDirection, 1) * var(--rotateAmount, 3deg) + var(--rotateDirection, 1) * 20deg * var(--photo-offset)));
2103
+ transition-delay: var(--delay);
2104
+ transition-duration: calc(var(--duration-factor, 1) * 0.4s);
2105
+ transition-property: transform;
2106
+ transition-timing-function: var(--ease);
2107
+ will-change: transform;
2108
+ }
2109
+
2110
+ /* src/components/ui/marquee-carousel.module.css */
2111
+ .photoFrame {
2112
+ grid-area: photo;
2113
+ }
2114
+ .galleryControls {
2115
+ max-width: 100%;
2116
+ }
2117
+
2118
+ /* src/components/ui/icon-paginated-carousel.module.css */
2119
+ .galleryBounce {
2120
+ width: 100%;
2121
+ }
2122
+ .galleryItemContent {
2123
+ align-items: center;
2124
+ display: flex;
2125
+ flex-direction: column;
2126
+ height: 100%;
2127
+ justify-content: center;
2128
+ width: 100%;
2129
+ }
2130
+ .galleryItemText {
2131
+ text-align: center;
2132
+ width: 100%;
2133
+ }
2134
+ .imagePagination {
2135
+ margin: 0;
2136
+ padding: 8px 0;
2137
+ position: relative;
2138
+ z-index: 10;
2139
+ }
2140
+
2141
+ /* src/components/ui/ink-trail.module.css */
2142
+ .inkTrailRoot {
2143
+ position: relative;
2144
+ width: 100%;
2145
+ pointer-events: auto;
2146
+ overflow: hidden;
2147
+ }
2148
+ .inkTrailCanvas {
2149
+ position: absolute;
2150
+ inset: 0;
2151
+ width: 100%;
2152
+ height: 100%;
2153
+ pointer-events: none;
2154
+ }
2155
+
2156
+ /* src/components/ui/loader.module.css */
2157
+ .loader {
2158
+ --color: var(--color-true-black, #000);
2159
+ --size: 1em;
2160
+ --loader-shadow: rgb(0 0 0 / 0.35);
2161
+ block-size: var(--size);
2162
+ border-radius: 999px;
2163
+ display: inline-grid;
2164
+ inline-size: var(--size);
2165
+ line-height: 0;
2166
+ margin: auto;
2167
+ place-items: center;
2168
+ vertical-align: middle;
2169
+ }
2170
+ .blue {
2171
+ --color: var(--color-blue, #603bff);
2172
+ }
2173
+ .red {
2174
+ --color: var(--color-red, #ff505e);
2175
+ }
2176
+ .surface {
2177
+ background: var(--color);
2178
+ block-size: 100%;
2179
+ border-radius: inherit;
2180
+ box-shadow: 0 0 0 max(2px, calc(var(--size) * 0.08)) var(--color), calc(var(--size) * 0.12) calc(var(--size) * 0.14) 0 var(--loader-shadow);
2181
+ box-sizing: border-box;
2182
+ display: grid;
2183
+ inline-size: 100%;
2184
+ overflow: hidden;
2185
+ padding: max(2px, calc(var(--size) * 0.12));
2186
+ place-items: center;
2187
+ transform: rotate(-5deg);
2188
+ }
2189
+ .image {
2190
+ block-size: 100%;
2191
+ inline-size: 100%;
2192
+ object-fit: contain;
2193
+ pointer-events: none;
2194
+ user-select: none;
2195
+ }
2196
+ .sprite {
2197
+ block-size: 100%;
2198
+ display: block;
2199
+ inline-size: 100%;
2200
+ pointer-events: none;
2201
+ user-select: none;
2202
+ }
2203
+ .morphSprite {
2204
+ animation: loaderMorphSprite var(--loader-sprite-duration) steps(64, end) infinite;
2205
+ background-image: var(--loader-sprite-url);
2206
+ background-position: 0 0;
2207
+ background-repeat: no-repeat;
2208
+ background-size: 6400% 100%;
2209
+ }
2210
+ .swimSprite {
2211
+ animation: loaderSwimSprite var(--loader-sprite-duration) steps(31, end) infinite;
2212
+ background-color: var(--color);
2213
+ mask-image: var(--loader-sprite-url);
2214
+ mask-position: 0 0;
2215
+ mask-repeat: no-repeat;
2216
+ mask-size: 3100% 100%;
2217
+ -webkit-mask-image: var(--loader-sprite-url);
2218
+ -webkit-mask-position: 0 0;
2219
+ -webkit-mask-repeat: no-repeat;
2220
+ -webkit-mask-size: 3100% 100%;
2221
+ }
2222
+ @keyframes loaderMorphSprite {
2223
+ to {
2224
+ background-position-x: calc(var(--size) * -64);
2225
+ }
2226
+ }
2227
+ @keyframes loaderSwimSprite {
2228
+ to {
2229
+ mask-position: calc(var(--size) * -31) 0;
2230
+ -webkit-mask-position: calc(var(--size) * -31) 0;
2231
+ }
2232
+ }
2233
+
2234
+ /* src/components/ui/nav-menu-button.module.css */
2235
+ .trigger {
2236
+ align-items: center;
2237
+ color: var(--color-yellow, #eaff3d);
2238
+ display: grid;
2239
+ gap: 8px;
2240
+ grid-template-columns: auto 1fr;
2241
+ padding: 8px 88px 8px 16px;
2242
+ position: relative;
2243
+ width: max-content;
2244
+ z-index: 5;
2245
+ font-family: var(--font-alt);
2246
+ font-size: 18px;
2247
+ font-weight: 600;
2248
+ line-height: 1;
2249
+ outline: none;
2250
+ user-select: none;
2251
+ }
2252
+ .label {
2253
+ display: block;
2254
+ font-size: inherit;
2255
+ font-weight: 700;
2256
+ line-height: 1;
2257
+ text-transform: none;
2258
+ letter-spacing: normal;
2259
+ position: relative;
2260
+ top: -0.2em;
2261
+ white-space: nowrap;
2262
+ }
2263
+ @media screen and (min-width: 1024px) {
2264
+ .trigger {
2265
+ gap: 12px;
2266
+ font-size: 24px;
2267
+ padding-right: 100px;
2268
+ }
2269
+ }
2270
+
2271
+ /* src/components/ui/navigation.module.css */
2272
+ .reducedMotion {
2273
+ align-items: center;
2274
+ color: var(--color-white, #fff);
2275
+ display: inline-flex;
2276
+ font-family: var(--font-alt);
2277
+ font-size: 16px;
2278
+ font-weight: 700;
2279
+ line-height: 1;
2280
+ padding: 12px 16px;
2281
+ }
2282
+ .reducedMotionIcon {
2283
+ --dimension: 13px;
2284
+ align-items: center;
2285
+ border: 2px solid var(--color-yellow, currentColor);
2286
+ border-radius: 50%;
2287
+ display: inline-flex;
2288
+ height: var(--dimension);
2289
+ justify-content: center;
2290
+ margin-inline-end: 10px;
2291
+ position: relative;
2292
+ flex-shrink: 0;
2293
+ width: var(--dimension);
2294
+ }
2295
+ .reducedMotionIconInner {
2296
+ --inner-dimension: calc(var(--dimension) - 8px);
2297
+ background-color: currentColor;
2298
+ border-radius: 50%;
2299
+ height: var(--inner-dimension);
2300
+ width: var(--inner-dimension);
2301
+ }
2302
+ .reducedMotionLabel {
2303
+ position: relative;
2304
+ top: -0.1em;
2305
+ }
2306
+
2307
+ /* src/components/ui/section-side-nav.module.css */
2308
+ .sidebar {
2309
+ --section-side-nav-fit-scale: 1;
2310
+ --section-side-nav-center-y: 50%;
2311
+ --section-side-nav-max-block-size: none;
2312
+ opacity: 0;
2313
+ position: fixed;
2314
+ right: var(--base-space, 8px);
2315
+ top: var(--section-side-nav-center-y);
2316
+ transform: translateY(-50%) scale(var(--section-side-nav-fit-scale));
2317
+ transform-origin: right center;
2318
+ transition: opacity 0.3s ease, visibility 0.3s ease;
2319
+ visibility: hidden;
2320
+ z-index: 9;
2321
+ }
2322
+ .sidebar[data-overflow=scroll] {
2323
+ max-block-size: var(--section-side-nav-max-block-size);
2324
+ overflow-y: auto;
2325
+ overscroll-behavior: contain;
2326
+ scrollbar-width: none;
2327
+ }
2328
+ .sidebar[data-overflow=scroll]::-webkit-scrollbar {
2329
+ display: none;
2330
+ }
2331
+ .sidebarShow {
2332
+ opacity: 1;
2333
+ visibility: visible;
2334
+ }
2335
+ .menu {
2336
+ align-items: center;
2337
+ display: flex;
2338
+ flex-direction: column;
2339
+ gap: calc(var(--base-space, 8px) * 2);
2340
+ position: relative;
2341
+ }
2342
+ .menu::before {
2343
+ background: var(--color-purple, #603bff);
2344
+ content: "";
2345
+ height: 100%;
2346
+ left: 50%;
2347
+ margin-left: -3px;
2348
+ position: absolute;
2349
+ top: 0;
2350
+ width: 6px;
2351
+ }
2352
+ .item {
2353
+ --dimension: 42px;
2354
+ --border: 4px;
2355
+ background: var(--color-purple, #603bff);
2356
+ border: solid var(--border) var(--color-purple, #603bff);
2357
+ border-radius: 50%;
2358
+ display: grid;
2359
+ height: var(--dimension);
2360
+ place-items: center;
2361
+ position: relative;
2362
+ text-decoration: none;
2363
+ width: var(--dimension);
2364
+ cursor: pointer;
2365
+ transition: background-color 0.2s ease;
2366
+ }
2367
+ .item:hover {
2368
+ background: var(--color-black, #000);
2369
+ }
2370
+ .item:hover.itemActive {
2371
+ background: var(--color-purple, #603bff);
2372
+ }
2373
+ .itemActive .itemSplat {
2374
+ opacity: 1;
2375
+ transform: translate(-50%, -50%) scale(1);
2376
+ visibility: visible;
2377
+ }
2378
+ .itemSplat {
2379
+ --width: 62px;
2380
+ --height: 55px;
2381
+ color: var(--color-black, #000);
2382
+ height: var(--height);
2383
+ left: 45%;
2384
+ opacity: 0;
2385
+ pointer-events: none;
2386
+ position: absolute;
2387
+ top: 45%;
2388
+ transform: translate(-50%, -50%) scale(0);
2389
+ transition: transform 0.3s ease, opacity 0.3s ease;
2390
+ visibility: hidden;
2391
+ width: var(--width);
2392
+ }
2393
+ .itemText {
2394
+ font-family: var(--font-alt, "obviously-narrow", sans-serif);
2395
+ font-weight: var(--font-weight-bold, 700);
2396
+ position: relative;
2397
+ top: -0.16em;
2398
+ color: var(--color-white, #fff);
2399
+ display: block;
2400
+ font-size: 1.375rem;
2401
+ line-height: 1;
2402
+ text-decoration: none;
2403
+ }
2404
+ .itemBackToTop {
2405
+ --dimension: 34px;
2406
+ }
2407
+ .backToTopArrow {
2408
+ --width: 13px;
2409
+ --height: 7.69px;
2410
+ color: var(--color-white, #fff);
2411
+ height: var(--height);
2412
+ transform: rotate(-180deg);
2413
+ width: var(--width);
2414
+ }
2415
+ @media (prefers-reduced-motion: reduce) {
2416
+ .sidebar,
2417
+ .item,
2418
+ .itemSplat {
2419
+ transition-duration: 0.01ms !important;
2420
+ }
2421
+ }
2422
+ @media (min-width: 640px) {
2423
+ .sidebar {
2424
+ right: calc(var(--base-space, 8px) * 2);
2425
+ }
2426
+ .menu {
2427
+ gap: calc(var(--base-space, 8px) * 4);
2428
+ }
2429
+ .item {
2430
+ --dimension: 60px;
2431
+ --border: 6px;
2432
+ }
2433
+ .itemSplat {
2434
+ --width: 81px;
2435
+ --height: 72px;
2436
+ }
2437
+ .itemText {
2438
+ font-size: 1.75rem;
2439
+ }
2440
+ .itemBackToTop {
2441
+ --dimension: 44px;
2442
+ }
2443
+ .backToTopArrow {
2444
+ --width: 20px;
2445
+ --height: 11.82px;
2446
+ }
2447
+ }
2448
+ @media (min-width: 1024px) {
2449
+ .sidebar {
2450
+ right: calc(var(--base-space, 8px) * 5);
2451
+ }
2452
+ }
2453
+
2454
+ /* src/components/ui/sheet.module.css */
2455
+ .sideTop,
2456
+ .sideRight,
2457
+ .sideBottom,
2458
+ .sideLeft {
2459
+ position: fixed;
2460
+ z-index: var(--z-sheet);
2461
+ }
2462
+ .sideTop {
2463
+ top: 0;
2464
+ left: 0;
2465
+ right: 0;
2466
+ height: auto;
2467
+ }
2468
+ .sideRight {
2469
+ top: 0;
2470
+ right: 0;
2471
+ bottom: 0;
2472
+ width: 75%;
2473
+ max-width: 24rem;
2474
+ }
2475
+ .sideBottom {
2476
+ bottom: 0;
2477
+ left: 0;
2478
+ right: 0;
2479
+ height: auto;
2480
+ }
2481
+ .sideLeft {
2482
+ top: 0;
2483
+ left: 0;
2484
+ bottom: 0;
2485
+ width: 75%;
2486
+ max-width: 24rem;
2487
+ }
2488
+
2489
+ /* src/components/ui/video-dialog.module.css */
2490
+ .thumbnailTrigger {
2491
+ container-type: inline-size;
2492
+ }
2493
+ .tape1,
2494
+ .tape2 {
2495
+ --trailer-tape-safe-bleed: min( var(--trailer-tape-bleed), max(0px, calc((100vw - 100cqw) / 2 - var(--trailer-tape-tilt-guard, 0px))) );
2496
+ }
2497
+ .tape1 {
2498
+ --trailer-tape-bleed: 19px;
2499
+ left: calc(var(--trailer-tape-safe-bleed) * -1);
2500
+ top: -20px;
2501
+ }
2502
+ .tape2 {
2503
+ --trailer-tape-bleed: 15px;
2504
+ --trailer-tape-tilt-guard: 8px;
2505
+ bottom: 0;
2506
+ right: calc(var(--trailer-tape-safe-bleed) * -1);
2507
+ }
2508
+ .tapeImage {
2509
+ display: block;
2510
+ height: auto;
2511
+ width: 100%;
2512
+ }
2513
+ .tape1 .tapeImage {
2514
+ transform: rotate(-25deg);
2515
+ }
2516
+ .tape2 .tapeImage {
2517
+ transform: rotate(-24deg);
2518
+ }
2519
+ .tapeMobile {
2520
+ display: block;
2521
+ }
2522
+ .tapeDesktop {
2523
+ display: none;
2524
+ }
2525
+ .tape1 .tapeMobile {
2526
+ inline-size: 82px;
2527
+ }
2528
+ .tape2 .tapeMobile {
2529
+ inline-size: 97px;
2530
+ }
2531
+ @container (min-width: 400px) {
2532
+ .tapeMobile {
2533
+ display: none;
2534
+ }
2535
+ .tapeDesktop {
2536
+ display: block;
2537
+ }
2538
+ }
2539
+ @container (min-width: 400px) and (max-width: 639px) {
2540
+ .tape1 {
2541
+ --trailer-tape-bleed: 25px;
2542
+ top: -40px;
2543
+ }
2544
+ .tape1 .tapeDesktop {
2545
+ inline-size: 133px;
2546
+ }
2547
+ .tape2 {
2548
+ --trailer-tape-bleed: 50px;
2549
+ bottom: 10px;
2550
+ }
2551
+ .tape2 .tapeDesktop {
2552
+ inline-size: 162px;
2553
+ }
2554
+ }
2555
+ @container (min-width: 640px) {
2556
+ .tape1 {
2557
+ --trailer-tape-bleed: 25px;
2558
+ top: -50px;
2559
+ }
2560
+ .tape1 .tapeDesktop {
2561
+ inline-size: 166px;
2562
+ }
2563
+ .tape2 {
2564
+ --trailer-tape-bleed: 50px;
2565
+ bottom: 20px;
2566
+ }
2567
+ .tape2 .tapeDesktop {
2568
+ inline-size: 202px;
2569
+ }
2570
+ }
2571
+ @container (min-width: 760px) {
2572
+ .tape1 {
2573
+ --trailer-tape-bleed: 40px;
2574
+ }
2575
+ .tape2 {
2576
+ --trailer-tape-bleed: 40px;
2577
+ }
2578
+ }
2579
+
2580
+ /* src/components/ui/weapons-gallery-carousel.module.css */
2581
+ .galleryWrapper {
2582
+ --controls-spread: 30px;
2583
+ }
2584
+ .galleryControls {
2585
+ max-width: 100%;
2586
+ padding-top: 0;
2587
+ }
2588
+ @media screen and (min-width: 640px) {
2589
+ .galleryControls {
2590
+ max-width: 50%;
2591
+ }
2592
+ }
2593
+ .photoFrame {
2594
+ transform: translateX(calc(100% * var(--photo-offset))) rotate(calc(var(--rotateDirection, 1) * var(--rotateAmount, 2deg) + var(--rotateDirection, 1) * 20deg * var(--photo-offset)));
2595
+ }
2596
+ .itemLayout {
2597
+ display: grid;
2598
+ grid-template-rows: 1fr auto;
2599
+ gap: var(--gutter-width);
2600
+ }
2601
+ @media screen and (min-width: 640px) {
2602
+ .itemLayout {
2603
+ grid-template-columns: 1fr 1fr;
2604
+ grid-template-rows: none;
2605
+ }
2606
+ }
2607
+ .galleryContent {
2608
+ align-items: center;
2609
+ display: flex;
2610
+ flex-direction: column;
2611
+ height: 100%;
2612
+ justify-content: center;
2613
+ padding-bottom: calc(var(--base-space, 8px) * 2);
2614
+ width: 100%;
2615
+ }
2616
+ @media screen and (min-width: 640px) {
2617
+ .galleryContent {
2618
+ padding-bottom: calc(var(--base-space, 8px) * 5);
2619
+ }
2620
+ }
2621
+ .galleryPagination {
2622
+ margin: 0;
2623
+ position: relative;
2624
+ z-index: 10;
2625
+ }
2626
+ @media screen and (min-width: 640px) {
2627
+ .galleryPagination {
2628
+ bottom: 0;
2629
+ position: absolute;
2630
+ right: 0;
2631
+ width: calc(50% - var(--gutter-width, 1rem) * 0.5);
2632
+ }
2633
+ }
2634
+ /*# sourceMappingURL=client.css.map */