@jeremyckahn/farmhand 1.19.23 → 1.19.25

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 (482) hide show
  1. package/dist/assets/index-7yyVeA_v.css +1 -0
  2. package/dist/assets/index-CfrPf88Z.js +840 -0
  3. package/dist/assets/index-CfrPf88Z.js.map +1 -0
  4. package/dist/assets/workbox-window.prod.es5-Cch4wiA5.js +3 -0
  5. package/dist/assets/workbox-window.prod.es5-Cch4wiA5.js.map +1 -0
  6. package/dist/index.html +2 -2
  7. package/dist/service-worker.js +2 -1
  8. package/dist/service-worker.js.map +1 -1
  9. package/dist/workbox-2fbc6a65.js +3 -0
  10. package/dist/{workbox-1ef09536.js.map → workbox-2fbc6a65.js.map} +1 -1
  11. package/package.json +16 -16
  12. package/src/common/services/randomNumber.ts +7 -17
  13. package/src/common/utils.test.ts +1 -1
  14. package/src/common/utils.ts +5 -7
  15. package/src/components/AccountingView/AccountingView.test.tsx +6 -3
  16. package/src/components/AccountingView/AccountingView.tsx +23 -15
  17. package/src/components/Achievement/Achievement.test.tsx +2 -2
  18. package/src/components/Achievement/Achievement.tsx +9 -1
  19. package/src/components/AchievementsView/AchievementsView.tsx +33 -19
  20. package/src/components/AnimatedNumber/AnimatedNumber.test.tsx +2 -1
  21. package/src/components/AnimatedNumber/AnimatedNumber.tsx +12 -15
  22. package/src/components/AppBar/AppBar.test.tsx +7 -4
  23. package/src/components/AppBar/AppBar.tsx +20 -17
  24. package/src/components/BailOutErrorBoundary/BailOutErrorBoundary.test.tsx +13 -1
  25. package/src/components/BailOutErrorBoundary/BailOutErrorBoundary.tsx +7 -8
  26. package/src/components/Cellar/CellarInventoryTabPanel.tsx +10 -20
  27. package/src/components/Cellar/FermentationTabPanel.tsx +7 -1
  28. package/src/components/Cellar/Keg.tsx +4 -19
  29. package/src/components/Cellar/TabPanel/index.tsx +6 -2
  30. package/src/components/Cellar/WinemakingTabPanel.tsx +7 -1
  31. package/src/components/ChatRoom/ChatRoom.tsx +0 -1
  32. package/src/components/ContextPane/ContextPane.test.tsx +10 -17
  33. package/src/components/ContextPane/ContextPane.tsx +16 -9
  34. package/src/components/CowCard/Bloodline/Bloodline.test.tsx +11 -6
  35. package/src/components/CowCard/Bloodline/Bloodline.tsx +6 -2
  36. package/src/components/CowCard/CowCard.test.tsx +10 -5
  37. package/src/components/CowCard/CowCard.tsx +100 -84
  38. package/src/components/CowCard/Subheader/Subheader.test.tsx +7 -1
  39. package/src/components/CowCard/Subheader/Subheader.tsx +52 -63
  40. package/src/components/CowPen/Cow.tsx +18 -39
  41. package/src/components/CowPen/CowPen.test.tsx +11 -24
  42. package/src/components/CowPen/CowPen.tsx +12 -10
  43. package/src/components/CowPen/Tumbleweeds.tsx +88 -25
  44. package/src/components/CowPenContextMenu/CowPenContextMenu.test.tsx +2 -2
  45. package/src/components/CowPenContextMenu/CowPenContextMenu.tsx +54 -21
  46. package/src/components/CowPenContextMenu/TabPanel/index.tsx +6 -2
  47. package/src/components/Farmhand/Farmhand.context.tsx +50 -38
  48. package/src/components/Farmhand/Farmhand.tsx +225 -322
  49. package/src/components/Farmhand/FarmhandReducers.tsx +82 -117
  50. package/src/components/Farmhand/helpers/getInventoryQuantities.ts +4 -6
  51. package/src/components/FermentationRecipeList/FermentationRecipe.tsx +10 -16
  52. package/src/components/FermentationRecipeList/FermentationRecipeList.test.tsx +32 -26
  53. package/src/components/FermentationRecipeList/FermentationRecipeList.tsx +4 -5
  54. package/src/components/Field/Field.test.tsx +71 -27
  55. package/src/components/Field/Field.tsx +81 -53
  56. package/src/components/Home/Home.test.tsx +8 -9
  57. package/src/components/Home/Home.tsx +18 -8
  58. package/src/components/Home/SnowBackground.tsx +9 -6
  59. package/src/components/IngredientsList/IngredientsList.test.tsx +1 -0
  60. package/src/components/IngredientsList/IngredientsList.tsx +4 -1
  61. package/src/components/Inventory/Inventory.test.tsx +31 -20
  62. package/src/components/Inventory/Inventory.tsx +68 -52
  63. package/src/components/Item/Item.test.tsx +13 -4
  64. package/src/components/Item/Item.tsx +75 -45
  65. package/src/components/KeybindingsView/KeybindingsView.test.tsx +1 -0
  66. package/src/components/KeybindingsView/KeybindingsView.tsx +3 -3
  67. package/src/components/LogView/LogView.test.tsx +30 -5
  68. package/src/components/LogView/LogView.tsx +75 -46
  69. package/src/components/Navigation/DayAndProgressContainer.tsx +22 -8
  70. package/src/components/Navigation/Navigation.test.tsx +21 -0
  71. package/src/components/Navigation/Navigation.tsx +60 -20
  72. package/src/components/NotificationSystem/NotificationSystem.test.tsx +6 -5
  73. package/src/components/NotificationSystem/NotificationSystem.tsx +11 -3
  74. package/src/components/OnlinePeersView/OnlinePeer/OnlinePeer.test.tsx +3 -2
  75. package/src/components/OnlinePeersView/OnlinePeer/OnlinePeer.tsx +10 -1
  76. package/src/components/OnlinePeersView/OnlinePeersView.test.tsx +9 -10
  77. package/src/components/OnlinePeersView/OnlinePeersView.tsx +25 -6
  78. package/src/components/Plot/Plot.test.tsx +32 -9
  79. package/src/components/Plot/Plot.tsx +70 -55
  80. package/src/components/PriceEventView/PriceEventView.test.tsx +6 -2
  81. package/src/components/PriceEventView/PriceEventView.tsx +17 -3
  82. package/src/components/ProgressBar/ProgressBar.test.tsx +27 -25
  83. package/src/components/ProgressBar/ProgressBar.tsx +6 -6
  84. package/src/components/QuantityInput/QuantityInput.test.tsx +7 -0
  85. package/src/components/QuantityInput/QuantityInput.tsx +29 -13
  86. package/src/components/QuickSelect/QuickSelect.test.tsx +8 -8
  87. package/src/components/QuickSelect/QuickSelect.tsx +29 -5
  88. package/src/components/Recipe/Recipe.test.tsx +13 -5
  89. package/src/components/Recipe/Recipe.tsx +28 -19
  90. package/src/components/RecipeList/RecipeList.tsx +9 -3
  91. package/src/components/SearchBar/SearchBar.test.tsx +4 -0
  92. package/src/components/SearchBar/SearchBar.tsx +9 -3
  93. package/src/components/SettingsView/RandomSeedInput.test.tsx +16 -9
  94. package/src/components/SettingsView/RandomSeedInput.tsx +8 -10
  95. package/src/components/SettingsView/SettingsView.test.tsx +10 -0
  96. package/src/components/SettingsView/SettingsView.tsx +32 -3
  97. package/src/components/Shop/Shop.test.tsx +11 -14
  98. package/src/components/Shop/Shop.tsx +101 -36
  99. package/src/components/Shop/TabPanel/index.tsx +6 -2
  100. package/src/components/Stage/Stage.test.tsx +2 -1
  101. package/src/components/Stage/Stage.tsx +19 -8
  102. package/src/components/StatsView/StatsView.test.tsx +4 -0
  103. package/src/components/StatsView/StatsView.tsx +39 -37
  104. package/src/components/TierPurchase/TierPurchase.test.tsx +3 -2
  105. package/src/components/TierPurchase/TierPurchase.tsx +32 -10
  106. package/src/components/Toolbelt/Toolbelt.test.tsx +4 -3
  107. package/src/components/Toolbelt/Toolbelt.tsx +33 -19
  108. package/src/components/UpgradePurchase/UpgradePurchase.test.tsx +1 -1
  109. package/src/components/UpgradePurchase/UpgradePurchase.tsx +22 -5
  110. package/src/components/WineRecipeList/WineRecipe.test.tsx +30 -30
  111. package/src/components/WineRecipeList/WineRecipe.tsx +24 -15
  112. package/src/components/WineRecipeList/WineRecipeList.tsx +0 -1
  113. package/src/components/Workshop/ForgeTabPanel.tsx +8 -2
  114. package/src/components/Workshop/KitchenTabPanel.tsx +11 -1
  115. package/src/components/Workshop/RecyclingTabPanel.tsx +11 -1
  116. package/src/components/Workshop/TabPanel/index.tsx +9 -2
  117. package/src/components/Workshop/Workshop.test.tsx +17 -14
  118. package/src/components/Workshop/Workshop.tsx +18 -3
  119. package/src/components/Workshop/getUpgradesAvailable.test.ts +0 -1
  120. package/src/components/Workshop/getUpgradesAvailable.ts +34 -17
  121. package/src/components/tsconfig.json +7 -0
  122. package/src/config.ts +7 -7
  123. package/src/constants.ts +13 -15
  124. package/src/data/__mocks__/maps.ts +16 -8
  125. package/src/data/__mocks__/recipes.ts +6 -3
  126. package/src/data/achievements.test.ts +9 -8
  127. package/src/data/achievements.ts +31 -40
  128. package/src/data/crop.ts +46 -45
  129. package/src/data/crops/asparagus.ts +2 -6
  130. package/src/data/crops/carrot.ts +2 -10
  131. package/src/data/crops/corn.ts +2 -6
  132. package/src/data/crops/garlic.ts +2 -6
  133. package/src/data/crops/grape.ts +33 -57
  134. package/src/data/crops/jalapeno.ts +2 -6
  135. package/src/data/crops/olive.ts +2 -6
  136. package/src/data/crops/onion.ts +2 -6
  137. package/src/data/crops/pea.ts +2 -6
  138. package/src/data/crops/potato.ts +2 -6
  139. package/src/data/crops/pumpkin.ts +2 -6
  140. package/src/data/crops/soybean.ts +2 -6
  141. package/src/data/crops/spinach.ts +2 -6
  142. package/src/data/crops/strawberry.ts +2 -6
  143. package/src/data/crops/sunflower.ts +2 -6
  144. package/src/data/crops/sweet-potato.ts +2 -6
  145. package/src/data/crops/tomato.ts +2 -6
  146. package/src/data/crops/watermelon.ts +2 -6
  147. package/src/data/crops/wheat.ts +2 -6
  148. package/src/data/items-map.ts +12 -9
  149. package/src/data/items.ts +24 -40
  150. package/src/data/levels.ts +20 -40
  151. package/src/data/maps.ts +30 -25
  152. package/src/data/ores/bronzeOre.ts +2 -3
  153. package/src/data/ores/coal.ts +2 -3
  154. package/src/data/ores/goldOre.ts +2 -3
  155. package/src/data/ores/ironOre.ts +2 -3
  156. package/src/data/ores/saltRock.ts +2 -3
  157. package/src/data/ores/silverOre.ts +2 -3
  158. package/src/data/ores/stone.ts +2 -3
  159. package/src/data/recipes.ts +95 -133
  160. package/src/data/shop-inventory.ts +1 -5
  161. package/src/data/upgrades.ts +7 -8
  162. package/src/enums.ts +47 -51
  163. package/src/factories/CoalFactory.test.ts +7 -7
  164. package/src/factories/CoalFactory.ts +8 -10
  165. package/src/factories/OreFactory.test.ts +2 -1
  166. package/src/factories/OreFactory.ts +9 -10
  167. package/src/factories/ResourceFactory.test.ts +15 -10
  168. package/src/factories/ResourceFactory.ts +22 -23
  169. package/src/factories/StoneFactory.test.ts +4 -3
  170. package/src/factories/StoneFactory.ts +4 -5
  171. package/src/farmhand.d.ts +139 -42
  172. package/src/fetch-utils.ts +2 -5
  173. package/src/fontsource.d.ts +3 -0
  174. package/src/game-logic/cows/cow-selection.test.ts +2 -1
  175. package/src/game-logic/field-purchase.test.ts +5 -9
  176. package/src/game-logic/item-purchase.test.ts +3 -2
  177. package/src/game-logic/item-sell.test.ts +5 -3
  178. package/src/game-logic/reducers/addCowToInventory.ts +4 -6
  179. package/src/game-logic/reducers/addExperience.test.ts +5 -4
  180. package/src/game-logic/reducers/addExperience.ts +4 -6
  181. package/src/game-logic/reducers/addItemToInventory.ts +6 -11
  182. package/src/game-logic/reducers/addKegToCellarInventory.ts +4 -7
  183. package/src/game-logic/reducers/addPeer.ts +6 -4
  184. package/src/game-logic/reducers/addRevenue.ts +5 -7
  185. package/src/game-logic/reducers/adjustLoan.ts +7 -6
  186. package/src/game-logic/reducers/applyCrows.test.ts +15 -12
  187. package/src/game-logic/reducers/applyCrows.ts +13 -24
  188. package/src/game-logic/reducers/applyLoanInterest.ts +4 -7
  189. package/src/game-logic/reducers/applyPrecipitation.test.ts +1 -1
  190. package/src/game-logic/reducers/applyPrecipitation.ts +6 -10
  191. package/src/game-logic/reducers/changeCowAutomaticHugState.test.ts +1 -1
  192. package/src/game-logic/reducers/changeCowAutomaticHugState.ts +6 -8
  193. package/src/game-logic/reducers/changeCowBreedingPenResident.test.ts +1 -1
  194. package/src/game-logic/reducers/changeCowBreedingPenResident.ts +13 -13
  195. package/src/game-logic/reducers/changeCowName.test.ts +1 -1
  196. package/src/game-logic/reducers/changeCowName.ts +5 -7
  197. package/src/game-logic/reducers/clearPlot.test.ts +1 -1
  198. package/src/game-logic/reducers/clearPlot.ts +11 -14
  199. package/src/game-logic/reducers/computeCowInventoryForNextDay.test.ts +1 -1
  200. package/src/game-logic/reducers/computeCowInventoryForNextDay.ts +3 -5
  201. package/src/game-logic/reducers/computeStateForNextDay.test.ts +9 -20
  202. package/src/game-logic/reducers/computeStateForNextDay.ts +19 -21
  203. package/src/game-logic/reducers/consumeIngredients.test.ts +51 -51
  204. package/src/game-logic/reducers/consumeIngredients.ts +11 -12
  205. package/src/game-logic/reducers/createPriceEvent.ts +6 -5
  206. package/src/game-logic/reducers/decrementItemFromInventory.test.ts +8 -8
  207. package/src/game-logic/reducers/decrementItemFromInventory.ts +5 -7
  208. package/src/game-logic/reducers/fertilizePlot.test.ts +5 -1
  209. package/src/game-logic/reducers/fertilizePlot.ts +7 -6
  210. package/src/game-logic/reducers/forRange.ts +19 -14
  211. package/src/game-logic/reducers/generatePriceEvents.test.ts +18 -21
  212. package/src/game-logic/reducers/generatePriceEvents.ts +4 -10
  213. package/src/game-logic/reducers/harvestPlot.test.ts +5 -3
  214. package/src/game-logic/reducers/harvestPlot.ts +20 -32
  215. package/src/game-logic/reducers/helpers.tsx +34 -37
  216. package/src/game-logic/reducers/hugCow.test.ts +1 -1
  217. package/src/game-logic/reducers/hugCow.ts +1 -6
  218. package/src/game-logic/reducers/incrementPlotContentAge.ts +4 -6
  219. package/src/game-logic/reducers/index.ts +0 -5
  220. package/src/game-logic/reducers/makeFermentationRecipe.ts +5 -12
  221. package/src/game-logic/reducers/makeRecipe.test.ts +1 -1
  222. package/src/game-logic/reducers/makeRecipe.ts +7 -8
  223. package/src/game-logic/reducers/makeWine.test.ts +2 -16
  224. package/src/game-logic/reducers/makeWine.ts +6 -9
  225. package/src/game-logic/reducers/minePlot.test.ts +6 -9
  226. package/src/game-logic/reducers/minePlot.ts +11 -12
  227. package/src/game-logic/reducers/modifyCow.ts +6 -5
  228. package/src/game-logic/reducers/modifyFieldPlotAt.ts +8 -8
  229. package/src/game-logic/reducers/offerCow.ts +4 -6
  230. package/src/game-logic/reducers/plantInPlot.test.ts +1 -1
  231. package/src/game-logic/reducers/plantInPlot.ts +9 -13
  232. package/src/game-logic/reducers/prependPendingPeerMessage.ts +4 -10
  233. package/src/game-logic/reducers/processCellar.ts +1 -4
  234. package/src/game-logic/reducers/processCellarSpoilage.test.ts +30 -21
  235. package/src/game-logic/reducers/processCellarSpoilage.ts +3 -7
  236. package/src/game-logic/reducers/processCowAttrition.test.ts +1 -1
  237. package/src/game-logic/reducers/processCowAttrition.ts +1 -5
  238. package/src/game-logic/reducers/processCowBreeding.test.ts +2 -2
  239. package/src/game-logic/reducers/processCowBreeding.ts +4 -6
  240. package/src/game-logic/reducers/processCowFertilizerProduction.test.ts +8 -6
  241. package/src/game-logic/reducers/processCowFertilizerProduction.ts +9 -16
  242. package/src/game-logic/reducers/processFeedingCows.test.ts +5 -4
  243. package/src/game-logic/reducers/processFeedingCows.ts +2 -6
  244. package/src/game-logic/reducers/processField.ts +8 -11
  245. package/src/game-logic/reducers/processLevelUp.test.ts +11 -3
  246. package/src/game-logic/reducers/processLevelUp.ts +11 -14
  247. package/src/game-logic/reducers/processMilkingCows.test.ts +12 -6
  248. package/src/game-logic/reducers/processMilkingCows.ts +6 -12
  249. package/src/game-logic/reducers/processNerfs.ts +1 -5
  250. package/src/game-logic/reducers/processSprinklers.test.ts +6 -5
  251. package/src/game-logic/reducers/processSprinklers.ts +3 -6
  252. package/src/game-logic/reducers/processWeather.test.ts +4 -7
  253. package/src/game-logic/reducers/processWeather.ts +2 -6
  254. package/src/game-logic/reducers/purchaseCellar.test.ts +5 -2
  255. package/src/game-logic/reducers/purchaseCellar.ts +6 -7
  256. package/src/game-logic/reducers/purchaseCombine.test.ts +3 -0
  257. package/src/game-logic/reducers/purchaseCombine.ts +5 -7
  258. package/src/game-logic/reducers/purchaseComposter.test.ts +6 -4
  259. package/src/game-logic/reducers/purchaseComposter.ts +5 -7
  260. package/src/game-logic/reducers/purchaseCow.test.ts +11 -8
  261. package/src/game-logic/reducers/purchaseCow.ts +7 -7
  262. package/src/game-logic/reducers/purchaseCowPen.test.ts +4 -0
  263. package/src/game-logic/reducers/purchaseCowPen.ts +6 -7
  264. package/src/game-logic/reducers/purchaseField.test.ts +7 -8
  265. package/src/game-logic/reducers/purchaseField.ts +8 -7
  266. package/src/game-logic/reducers/purchaseForest.test.tsx +6 -6
  267. package/src/game-logic/reducers/purchaseForest.ts +9 -7
  268. package/src/game-logic/reducers/purchaseItem.test.ts +6 -7
  269. package/src/game-logic/reducers/purchaseItem.ts +8 -12
  270. package/src/game-logic/reducers/purchaseSmelter.test.ts +6 -4
  271. package/src/game-logic/reducers/purchaseSmelter.ts +5 -7
  272. package/src/game-logic/reducers/purchaseStorageExpansion.test.ts +2 -1
  273. package/src/game-logic/reducers/purchaseStorageExpansion.ts +5 -6
  274. package/src/game-logic/reducers/removeCowFromInventory.ts +4 -6
  275. package/src/game-logic/reducers/removeFieldPlotAt.ts +5 -8
  276. package/src/game-logic/reducers/removeKegFromCellar.ts +1 -5
  277. package/src/game-logic/reducers/removePeer.ts +6 -7
  278. package/src/game-logic/reducers/rotateNotificationLogs.ts +5 -7
  279. package/src/game-logic/reducers/selectCow.test.ts +2 -1
  280. package/src/game-logic/reducers/selectCow.ts +7 -6
  281. package/src/game-logic/reducers/sellCow.test.ts +3 -2
  282. package/src/game-logic/reducers/sellCow.ts +7 -8
  283. package/src/game-logic/reducers/sellItem.test.ts +3 -4
  284. package/src/game-logic/reducers/sellItem.ts +11 -15
  285. package/src/game-logic/reducers/sellKeg.test.ts +6 -6
  286. package/src/game-logic/reducers/sellKeg.ts +7 -11
  287. package/src/game-logic/reducers/setScarecrow.test.ts +10 -6
  288. package/src/game-logic/reducers/setScarecrow.ts +6 -8
  289. package/src/game-logic/reducers/setSprinkler.test.ts +10 -6
  290. package/src/game-logic/reducers/setSprinkler.ts +6 -8
  291. package/src/game-logic/reducers/showNotification.test.ts +2 -0
  292. package/src/game-logic/reducers/showNotification.ts +8 -17
  293. package/src/game-logic/reducers/spawnWeeds.test.ts +6 -4
  294. package/src/game-logic/reducers/spawnWeeds.ts +8 -9
  295. package/src/game-logic/reducers/unlockTool.ts +4 -6
  296. package/src/game-logic/reducers/updateAchievements.test.ts +20 -17
  297. package/src/game-logic/reducers/updateAchievements.ts +34 -29
  298. package/src/game-logic/reducers/updateFinancialRecords.ts +6 -6
  299. package/src/game-logic/reducers/updateInventoryRecordsForNextDay.ts +10 -9
  300. package/src/game-logic/reducers/updateLearnedRecipes.ts +12 -11
  301. package/src/game-logic/reducers/updatePeer.test.ts +2 -2
  302. package/src/game-logic/reducers/updatePeer.ts +7 -8
  303. package/src/game-logic/reducers/updatePlotShoveledState.test.ts +1 -1
  304. package/src/game-logic/reducers/updatePlotShoveledState.ts +3 -5
  305. package/src/game-logic/reducers/updatePriceEvents.tsx +16 -19
  306. package/src/game-logic/reducers/upgradeTool.test.ts +15 -5
  307. package/src/game-logic/reducers/upgradeTool.ts +11 -8
  308. package/src/game-logic/reducers/waterAllPlots.ts +2 -5
  309. package/src/game-logic/reducers/waterField.ts +1 -5
  310. package/src/game-logic/reducers/waterPlot.test.ts +2 -1
  311. package/src/game-logic/reducers/waterPlot.ts +6 -8
  312. package/src/game-logic/reducers/withdrawCow.ts +4 -6
  313. package/src/handlers/peer-events.ts +32 -43
  314. package/src/handlers/ui-events.test.ts +7 -9
  315. package/src/handlers/ui-events.tsx +119 -309
  316. package/src/img/index.ts +1 -12
  317. package/src/index.tsx +1 -3
  318. package/src/interfaces/Factory.ts +1 -2
  319. package/src/react-app-env.d.ts +14 -0
  320. package/src/scripts/generate-crop-table.ts +22 -27
  321. package/src/services/cellar.test.ts +3 -3
  322. package/src/services/cellar.ts +8 -25
  323. package/src/services/wine.ts +14 -28
  324. package/src/setupTests.ts +42 -0
  325. package/src/shell/bootup.test.ts +3 -3
  326. package/src/shell/field.test.ts +1 -1
  327. package/src/shell/game-saving.test.ts +1 -0
  328. package/src/shell/navigation.test.ts +2 -2
  329. package/src/shell/notifications.test.ts +21 -38
  330. package/src/shell/pending-notifications.test.ts +5 -2
  331. package/src/templates.ts +128 -251
  332. package/src/test-utils/index.ts +27 -26
  333. package/src/test-utils/stubs/cowStub.ts +1 -4
  334. package/src/test-utils/stubs/farmhandStub.tsx +4 -4
  335. package/src/test-utils/stubs/getKegStub.ts +7 -10
  336. package/src/test-utils/stubs/itemStub.ts +1 -5
  337. package/src/test-utils/stubs/peerMetadataStub.ts +1 -2
  338. package/src/test-utils/stubs/saveDataStubFactory.ts +0 -3
  339. package/src/test-utils/ui.ts +5 -1
  340. package/src/utils/__snapshots__/getCowImage.test.ts.snap +3 -0
  341. package/src/utils/areHuggingMachinesInInventory.ts +8 -0
  342. package/src/utils/canMakeRecipe.test.ts +27 -0
  343. package/src/utils/canMakeRecipe.ts +7 -0
  344. package/src/utils/castToMoney.test.ts +15 -0
  345. package/src/utils/castToMoney.ts +1 -0
  346. package/src/utils/chooseRandom.ts +3 -0
  347. package/src/utils/chooseRandomIndex.ts +5 -0
  348. package/src/utils/clampNumber.ts +2 -0
  349. package/src/utils/computeMarketPositions.test.ts +73 -0
  350. package/src/utils/computeMarketPositions.ts +31 -0
  351. package/src/utils/convertStringToInteger.ts +2 -0
  352. package/src/utils/createNewField.ts +6 -0
  353. package/src/utils/createNewForest.ts +7 -0
  354. package/src/utils/doesInventorySpaceRemain.ts +5 -0
  355. package/src/utils/doesMenuObstructStage.ts +3 -0
  356. package/src/utils/doesPlotContainCrop.ts +8 -0
  357. package/src/utils/dollarString.test.ts +7 -0
  358. package/src/utils/dollarString.ts +13 -0
  359. package/src/utils/experienceNeededForLevel.test.ts +12 -0
  360. package/src/utils/experienceNeededForLevel.ts +2 -0
  361. package/src/utils/farmProductsSold.test.ts +14 -0
  362. package/src/utils/farmProductsSold.tsx +5 -8
  363. package/src/utils/filterItemIdsToSeeds.ts +5 -0
  364. package/src/utils/findCowById.ts +6 -0
  365. package/src/utils/findInField.test.ts +1 -2
  366. package/src/utils/findInField.ts +5 -7
  367. package/src/utils/generateCow.test.ts +78 -0
  368. package/src/utils/generateCow.ts +63 -0
  369. package/src/utils/generateOffspringCow.test.ts +164 -0
  370. package/src/utils/generateOffspringCow.ts +50 -0
  371. package/src/utils/get7DayAverage.test.ts +10 -0
  372. package/src/utils/get7DayAverage.ts +7 -0
  373. package/src/utils/getAdjustedItemValue.ts +7 -0
  374. package/src/utils/getAvailableShopInventory.test.ts +16 -0
  375. package/src/utils/getAvailableShopInventory.ts +16 -0
  376. package/src/utils/getCostOfNextStorageExpansion.ts +18 -0
  377. package/src/utils/getCowColorId.ts +15 -0
  378. package/src/utils/getCowDisplayName.ts +11 -0
  379. package/src/utils/getCowFertilizerItem.ts +9 -0
  380. package/src/utils/getCowFertilizerProductionRate.test.ts +62 -0
  381. package/src/utils/getCowFertilizerProductionRate.ts +20 -0
  382. package/src/utils/getCowImage.test.ts +22 -0
  383. package/src/utils/getCowImage.ts +107 -0
  384. package/src/utils/getCowMilkItem.ts +32 -0
  385. package/src/utils/getCowMilkRate.test.ts +58 -0
  386. package/src/utils/getCowMilkRate.ts +20 -0
  387. package/src/utils/getCowSellValue.ts +3 -0
  388. package/src/utils/getCowValue.test.ts +42 -0
  389. package/src/utils/getCowValue.ts +28 -0
  390. package/src/utils/getCowWeight.test.ts +10 -0
  391. package/src/utils/getCowWeight.ts +7 -0
  392. package/src/utils/getCropFromItemId.ts +8 -0
  393. package/src/utils/getCropLifeStage.test.ts +18 -0
  394. package/src/utils/getCropLifeStage.ts +19 -0
  395. package/src/utils/getCropLifecycleDuration.test.ts +1 -1
  396. package/src/utils/getCropLifecycleDuration.ts +7 -10
  397. package/src/utils/getCropsAvailableToFerment.ts +6 -17
  398. package/src/utils/getDefaultCowName.ts +6 -0
  399. package/src/utils/getFinalCropItemFromSeedItem.ts +12 -0
  400. package/src/utils/getFinalCropItemIdFromSeedItemId.test.ts +16 -0
  401. package/src/utils/getFinalCropItemIdFromSeedItemId.ts +14 -0
  402. package/src/utils/getGrowingPhase.test.ts +14 -0
  403. package/src/utils/getGrowingPhase.ts +28 -0
  404. package/src/utils/getInventoryQuantityMap.ts +4 -10
  405. package/src/utils/getItemBaseValue.ts +2 -5
  406. package/src/utils/getItemCurrentValue.test.ts +30 -0
  407. package/src/utils/getItemCurrentValue.ts +19 -0
  408. package/src/utils/getKegSpoilageRate.test.ts +2 -0
  409. package/src/utils/getKegSpoilageRate.ts +1 -4
  410. package/src/utils/getKegValue.ts +1 -6
  411. package/src/utils/getLevelEntitlements.ts +9 -18
  412. package/src/utils/getLifeStageRange.test.ts +22 -0
  413. package/src/utils/getLifeStageRange.ts +21 -0
  414. package/src/utils/getMaxYieldOfFermentationRecipe.ts +7 -17
  415. package/src/utils/getPeerMetadata.ts +19 -0
  416. package/src/utils/getPlayerName.ts +7 -0
  417. package/src/utils/getPlotContentFromItemId.ts +8 -0
  418. package/src/utils/getPlotContentType.ts +6 -0
  419. package/src/utils/getPlotImage.test.ts +83 -0
  420. package/src/utils/getPlotImage.ts +71 -0
  421. package/src/utils/getPriceEventForCrop.test.ts +12 -0
  422. package/src/utils/getPriceEventForCrop.ts +12 -0
  423. package/src/utils/getProfit.ts +4 -0
  424. package/src/utils/getProfitRecord.ts +8 -0
  425. package/src/utils/getRandomLevelUpReward.test.ts +13 -0
  426. package/src/utils/getRandomLevelUpReward.ts +12 -0
  427. package/src/utils/getRandomLevelUpRewardQuantity.ts +2 -0
  428. package/src/utils/getRandomUnlockedCrop.test.ts +19 -0
  429. package/src/utils/getRandomUnlockedCrop.ts +27 -0
  430. package/src/utils/getRangeCoords.test.ts +47 -0
  431. package/src/utils/getRangeCoords.ts +16 -0
  432. package/src/utils/getResaleValue.ts +4 -0
  433. package/src/utils/getSalePriceMultiplier.test.ts +39 -0
  434. package/src/utils/getSalePriceMultiplier.ts +17 -0
  435. package/src/utils/getSaltRequirementsForFermentationRecipe.ts +3 -5
  436. package/src/utils/getSeedItemIdFromFinalStageCropItemId.test.ts +15 -0
  437. package/src/utils/getSeedItemIdFromFinalStageCropItemId.ts +29 -0
  438. package/src/utils/getWineVarietiesAvailableToMake.ts +16 -28
  439. package/src/utils/getYeastRequiredForWine.ts +3 -8
  440. package/src/utils/integerString.test.ts +7 -0
  441. package/src/utils/integerString.ts +7 -0
  442. package/src/utils/inventorySpaceConsumed.ts +7 -0
  443. package/src/utils/inventorySpaceRemaining.ts +11 -0
  444. package/src/utils/isCowInBreedingPen.ts +5 -0
  445. package/src/utils/isDecember.ts +1 -0
  446. package/src/utils/isInViewport.ts +10 -0
  447. package/src/utils/isItemAFarmProduct.test.ts +15 -0
  448. package/src/utils/isItemAFarmProduct.ts +2 -7
  449. package/src/utils/isItemAGrownCrop.ts +1 -5
  450. package/src/utils/isItemSoldInShop.ts +13 -0
  451. package/src/utils/isOctober.ts +1 -0
  452. package/src/utils/levelAchieved.test.ts +18 -0
  453. package/src/utils/levelAchieved.ts +1 -5
  454. package/src/utils/maxYieldOfRecipe.test.ts +60 -0
  455. package/src/utils/maxYieldOfRecipe.ts +20 -0
  456. package/src/utils/memoizationSerializer.ts +4 -0
  457. package/src/utils/memoize.ts +15 -21
  458. package/src/utils/moneyString.ts +2 -3
  459. package/src/utils/moneyTotal.test.ts +11 -0
  460. package/src/utils/moneyTotal.ts +2 -0
  461. package/src/utils/nullArray.ts +8 -0
  462. package/src/utils/percentageString.test.ts +18 -0
  463. package/src/utils/percentageString.ts +2 -0
  464. package/src/utils/randomChoice.test.ts +35 -0
  465. package/src/utils/randomChoice.ts +32 -0
  466. package/src/utils/reduceByPersistedKeys.ts +14 -0
  467. package/src/utils/scaleNumber.ts +7 -0
  468. package/src/utils/shouldPrecipitateToday.ts +4 -0
  469. package/src/utils/shouldStormToday.ts +4 -0
  470. package/src/utils/sleep.ts +2 -0
  471. package/src/utils/sortItems.ts +34 -0
  472. package/src/utils/totalIngredientsInRecipe.ts +3 -5
  473. package/src/utils/transformStateDataForImport.test.ts +103 -0
  474. package/src/utils/transformStateDataForImport.ts +72 -0
  475. package/dist/assets/index-DGjrz_t2.js +0 -840
  476. package/dist/assets/index-DGjrz_t2.js.map +0 -1
  477. package/dist/assets/index-EAmLqUoU.css +0 -1
  478. package/dist/assets/workbox-window.prod.es5-BIl4cyR9.js +0 -3
  479. package/dist/assets/workbox-window.prod.es5-BIl4cyR9.js.map +0 -1
  480. package/dist/workbox-1ef09536.js +0 -2
  481. package/src/utils/index.test.ts +0 -1129
  482. package/src/utils/index.tsx +0 -1277
@@ -0,0 +1 @@
1
+ html{-webkit-text-size-adjust:100%}html:focus-within{scroll-behavior:smooth}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizespeed;width:100%;min-height:100vh;position:relative}*,:after,:before{box-sizing:border-box}a:not([class]){-webkit-text-decoration-skip:ink;-webkit-text-decoration-skip-ink:auto;text-decoration-skip-ink:auto}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}:focus{outline:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}input,input:required{box-shadow:none}input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 30px #fff}input:-webkit-autofill:active{-webkit-box-shadow:inset 0 0 0 30px #fff}input:-webkit-autofill:focus{-webkit-box-shadow:inset 0 0 0 30px #fff}input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 30px #fff}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none}input[type=search]::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]::-webkit-search-results-button{-webkit-appearance:none;-moz-appearance:none}input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none}input[type=search]{-webkit-appearance:none;-moz-appearance:none}input:focus{outline:none}audio,canvas,video{max-width:100%;display:inline-block}audio:not([controls]){height:0;display:none}[hidden]{display:none}a:active,a:hover{outline:none}img{vertical-align:middle;max-width:100%;height:auto}img,picture{display:inline-block}button,input{line-height:normal}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;background:0 0;border:0}button[disabled],html input[disabled]{cursor:default}[disabled]{pointer-events:none}input[type=checkbox],input[type=radio]{padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner{border:0;padding:0}input::-moz-focus-inner{border:0;padding:0}button{background:0 0;border:0}textarea{resize:vertical;vertical-align:top;overflow:auto}table{border-collapse:collapse;border-spacing:0;text-indent:0}hr{box-sizing:content-box;page-break-after:always;background:#000;border:0;width:100%;height:1px;margin:0;padding:0;line-height:0;overflow:visible}pre{font-family:monospace;font-size:100%}a{background-color:#0000}abbr[title]{border-bottom:none;text-decoration:none}code,kbd,pre,samp{font-family:monospace}small,sub,sup{font-size:75%}sub,sup{vertical-align:baseline;line-height:0;position:relative}sub{bottom:-5px}sup{top:-5px}button,input,optgroup,select,textarea{margin:0;padding:0;font-family:inherit;font-size:100%;line-height:1}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner{border-style:none;outline:0;padding:0}[type=reset]::-moz-focus-inner{border-style:none;outline:0;padding:0}[type=submit]::-moz-focus-inner{border-style:none;outline:0;padding:0}button::-moz-focus-inner{border-style:none;outline:0;padding:0}legend{color:inherit;white-space:normal;border:0;width:100%;max-width:100%;display:block}fieldset{min-width:0}body:not(:-moz-handler-blocked) fieldset{display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}template{display:none}:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animated{animation-duration:var(--animate-duration);animation-fill-mode:both}.animated.infinite{animation-iteration-count:infinite}.animated.repeat-1{animation-iteration-count:var(--animate-repeat)}.animated.repeat-2{animation-iteration-count:calc(var(--animate-repeat) * 2)}.animated.repeat-3{animation-iteration-count:calc(var(--animate-repeat) * 3)}.animated.delay-1s{animation-delay:var(--animate-delay)}.animated.delay-2s{animation-delay:calc(var(--animate-delay) * 2)}.animated.delay-3s{animation-delay:calc(var(--animate-delay) * 3)}.animated.delay-4s{animation-delay:calc(var(--animate-delay) * 4)}.animated.delay-5s{animation-delay:calc(var(--animate-delay) * 5)}.animated.faster{animation-duration:calc(var(--animate-duration) / 2)}.animated.fast{animation-duration:calc(var(--animate-duration) * .8)}.animated.slow{animation-duration:calc(var(--animate-duration) * 2)}.animated.slower{animation-duration:calc(var(--animate-duration) * 3)}@media print,(prefers-reduced-motion:reduce){.animated{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.animated[class*=Out]{opacity:0}}@keyframes heartBeat{0%{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.3)}70%{transform:scale(1)}}.heartBeat{animation-name:heartBeat;animation-duration:calc(var(--animate-duration) * 1.3);animation-timing-function:ease-in-out}body{overscroll-behavior:contain}.markdown p{margin:1em 0}.markdown ul li{margin-left:1em;list-style:outside}.markdown strong{font-weight:700}.Farmhand .markdown p{margin:1em 0}.Farmhand .markdown ul li{margin-left:1em;list-style:outside}.Farmhand .markdown strong{font-weight:700}.Farmhand{touch-action:manipulation;padding-top:3.5em;display:flex;position:fixed}.Farmhand.farmhand-root{opacity:0;transition:opacity,transform .2s;transform:scale(0)}.Farmhand.farmhand-root.has-booted{opacity:1;transform:scale(1)}.Farmhand.block-input button,.Farmhand.block-input input{filter:contrast(65%);pointer-events:none}.Farmhand.MuiDialog-root{display:block}.Farmhand,.Farmhand .MuiTypography-root{font-family:Public Sans,sans-serif}@media (width>=0) and (orientation:landscape){.Farmhand{padding-top:3em}}@media (width>=600px){.Farmhand{padding-top:4em}}.Farmhand img{image-rendering:pixelated}.Farmhand strong{font-weight:700}.Farmhand .visually_hidden:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.Farmhand .MuiDivider-root{margin:1.5em 0}.Farmhand .MuiPaper-rounded{background-color:#fff7e7}.Farmhand .MuiCard-root,.Farmhand .MuiTableContainer-root{background:#ffe3a1;border:2px solid #b68000;transition:background .225s cubic-bezier(0,0,.2,1)}.Farmhand .MuiCard-root.is-selected,.Farmhand .MuiTableContainer-root.is-selected{background:#ffeec7}.Farmhand .MuiCard-root .MuiCard-root,.Farmhand .MuiTableContainer-root .MuiCard-root{background:#ffd46e}.Farmhand .MuiCardHeader-avatar img{filter:drop-shadow(2px 2px 2px #64646466)}.Farmhand .MuiTableCell-root{border-color:#e9c777}.Farmhand .sidebar-wrapper{display:flex}.Farmhand .sidebar{box-sizing:border-box;z-index:20;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAv0lEQVRoQ+2aOw6AIBBEofAiHtqzeBrvYGNjsUaDBsFqMWw2eZZWDJ/HzGicVpFxCNWz7CF4eB/nTcTLYL/GeQk4p9+riEeAVxEvAR5FVAK8iYhQKAOwBQigkPVlB4WsqQWFchcIhRRIxgtZbJscHHihe9tarQSJrAzTvVcCCvWe8fLMQSEo1FiqkchIZOkQaWkGhaAQFEr1unW7oKUZvZD1ytEL0Qs1fg0lkWk9zF9ZGi+EF8IL4YVs/2pxT6EDTzqfZhoHJYMAAAAASUVORK5CYIIA);width:22em;padding:1em 1em 0;position:relative;overflow:auto}@media (width<=320px){.Farmhand .sidebar{width:320px}}.Farmhand .sidebar .button-array{flex-wrap:wrap;margin:.5em 0;display:flex}.Farmhand .bottom-controls{opacity:.85;z-index:20;flex-flow:column;justify-content:center;align-items:center;width:0;transition:left .225s cubic-bezier(0,0,.2,1);display:flex;position:fixed;bottom:1em;left:50%}@media (width<=400px){.Farmhand .bottom-controls{bottom:.5em}}.Farmhand .bottom-controls .MuiMobileStepper-root{background:0 0}.Farmhand .bottom-controls .fab-buttons{flex-flow:row;display:flex}.Farmhand .bottom-controls .fab-buttons button{margin:.5em;position:relative}@media (width<=400px){.Farmhand .bottom-controls .fab-buttons button{margin:.25em .5em}}@media (width<=320px){.Farmhand .bottom-controls .fab-buttons button{margin:.25em .1em}}@media (orientation:landscape){.Farmhand.menu-open .bottom-controls{left:calc(50vw + 11em)}}.Farmhand .end-day{position:fixed;top:5em;right:1em}@media (width>=600px){.Farmhand .end-day{top:5.5em;right:1.25em}}.Farmhand.use-alternate-end-day-button-position .end-day{left:1em;right:auto}@media (width>=600px){.Farmhand.use-alternate-end-day-button-position .end-day.use-alternate-end-day-button-position{left:1em;right:auto}}.Farmhand .menu-button{transition:transform .2s;transform:rotate(0)}.Farmhand .menu-button.is-open{transform:rotate(-90deg)}.Farmhand h4,.Farmhand h5,.Farmhand h6,.Farmhand p,.Farmhand p.MuiTypography-root{font-family:Public Sans,sans-serif}.Farmhand h3,.Farmhand h4,.Farmhand h5,.Farmhand h6{font-weight:700}.Farmhand h2{font-size:1.4em}.Farmhand h3,.Farmhand h4{margin:1em 0}.Farmhand p,.Farmhand .MuiTypography-body2{line-height:1.5em}.Farmhand ul.card-list{flex-grow:1;margin-bottom:1em}.Farmhand ul.card-list li{margin:1em 0}.Farmhand ul.card-list>li{max-width:550px;margin:1em auto}.Farmhand input[type=number]{min-width:140px}.Farmhand th{font-weight:700}.Farmhand .MuiCardContent-root:last-child{padding:16px}.Farmhand h1,.Farmhand h2,.Farmhand h3,.Farmhand h4,.Farmhand h5,.Farmhand h6,.Farmhand legend,.Farmhand td,.Farmhand th,.Farmhand .MuiTypography-h1,.Farmhand .MuiTypography-h2,.Farmhand .MuiTypography-h3,.Farmhand .MuiTypography-h4,.Farmhand .MuiTypography-h5,.Farmhand .MuiTypography-h6,.Farmhand .MuiButtonBase-root{font-family:Francois One,sans-serif}.Farmhand .MuiButtonBase-root{text-transform:none}.Farmhand .spacer{min-height:7.5em}.Farmhand .danger-text{color:#ce0000}.Farmhand .MuiTooltip-popper p{text-align:center}.Farmhand .MuiDialog-paper{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAiklEQVRoge3UsQnAMAwFUUd4Du8/Q8bJEK4CTpEuAYOrs+BUPjW/uuPsY7RafnfdpWTwaPV9fi+Lx46jVjx2HLXiMXtm8Jg9M3jsOGrFrRDtVoh2K0S7FaLdCtFuhWi3QrRbIdqtEO1WiHYrRLsVot0K0W6FaLdCtFsh2q0Q7VaIditEuxWiPX2FHsE1Al0X/e79AAAAAElFTkSuQmCC)}.Farmhand .MuiAlert-root{margin-bottom:1em}@media (width>=0) and (orientation:landscape){.Farmhand .MuiAlert-root{top:3.5em}}@media (width>=600px){.Farmhand .MuiAlert-root{top:4.5em}}.Farmhand .MuiAlert-root p{margin:1em 0}.Farmhand .MuiAlert-root p:first-child{margin-top:0}.Farmhand .MuiAlert-root p:last-child{margin-bottom:0}.Farmhand .MuiAlert-root strong{font-weight:700}.Farmhand .MuiAlert-root li{margin-left:1em}.Farmhand .MuiAlert-root ul li{list-style:outside}.Farmhand .MuiAlert-root ol li{list-style:decimal}.Farmhand hr{background:0 0}.Farmhand .MuiDivider-vertical{width:auto}.Farmhand.notification-container{margin-top:8em;padding-top:0}@media (width>=960px){.Farmhand.notification-container{margin-top:4em;margin-right:4em}}.Farmhand.notification-container .MuiCollapse-wrapperInner{width:100%}.Farmhand.notification-container .MuiCollapse-wrapper{margin-bottom:0}.AppBar .toolbar{display:flex}.AppBar .toolbar h2{color:#fff;font-family:Francois One,monospace;font-size:1.2em}.AppBar .toolbar .stage-header{margin-left:1em;display:none}@media (width>=400px){.AppBar .toolbar .stage-header{display:block}}.AppBar .toolbar .money-display{position:absolute;right:1em}.AppBar .toolbar .notification-indicator-container{display:flex}.AppBar .toolbar .notification-indicator-container .error-indicator{margin-left:1em}.ChatRoom .MuiDialog-container{height:calc(100% - 2em);padding:1em}.QuantityInput .MuiInput-root{margin:1px .25em 0}@media (width<=400px){.QuantityInput .MuiInput-root{margin:0 .25em 0 .5em}}.QuantityInput .MuiInput-root input{text-align:right}.QuantityInput .number-nudger-container{flex-direction:column;display:flex;position:absolute;top:.25em;right:0}.QuantityInput .number-nudger-container button{margin:.25em .5em}.QuantityInput .number-nudger-container button svg{margin-bottom:0}.Item{position:relative}.Item img{width:3em}.Item svg{margin-bottom:-.25em}.Item .MuiCardContent-root{padding-top:0}.Item .MuiCardContent-root p{padding-top:1em}.Item .MuiCardContent-root p.detail{color:#888}.Item .MuiCardHeader-subheader{-webkit-user-select:none;user-select:none}.search-bar{background-color:#fff;border-radius:1em;justify-content:center;align-items:center;max-width:100%;margin:1em 0;padding:.5em;display:flex;position:relative;box-shadow:0 .25em .5em #0000001a}.search-bar .MuiOutlinedInput-root{background-color:#0000;border-radius:.5em;width:100%;font-size:1em;transition:all .3s}.search-bar .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:#ffd24d}.search-bar .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#ffb913}.search-bar .MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{transition:border-color .3s}.search-bar .MuiOutlinedInput-root input{color:#333;caret-color:#333;transition:background-color .3s}.search-bar .MuiOutlinedInput-root input:focus{background-color:#fff}.search-bar .MuiOutlinedInput-root input::placeholder{color:#999;transition:color .3s}@media (width<=768px){.search-bar{margin:.5em 0;padding:1em}.search-bar .MuiOutlinedInput-root{font-size:.9em}}.Inventory .filter-container{transition:height .3s,opacity .3s;overflow:hidden}.Inventory .filter-container.hidden{opacity:0;pointer-events:none;height:0}.Inventory .filter-container.visible{opacity:1;height:auto}.Inventory .filter-toggle{cursor:pointer;text-align:center;color:#007bff;margin-bottom:10px;font-size:14px;font-weight:700}.Inventory .filter-section{background-color:#f7f7f7;border:1px solid #ccc;border-radius:5px;margin-bottom:20px;padding:10px}.Inventory .filter-section h4{color:#555;margin-bottom:10px;font-size:16px}.Inventory .filter-section .filter-checkbox{margin-bottom:8px;font-size:14px;display:block}.Inventory .filter-section .filter-checkbox input{margin-right:5px}.CowCard .Bloodline,.card-list .CowCard ul.Bloodline{margin:1em 0;display:flex}.CowCard .Bloodline li,.card-list .CowCard ul.Bloodline li{background:#000;border:1px solid #000;border-radius:50%;width:1.25em;height:1.25em;margin-top:0;margin-bottom:0;margin-right:.5em}.CowCard .Bloodline li.blue,.card-list .CowCard ul.Bloodline li.blue{background:#8ff0f9}.CowCard .Bloodline li.brown,.card-list .CowCard ul.Bloodline li.brown{background:#b45f28}.CowCard .Bloodline li.green,.card-list .CowCard ul.Bloodline li.green{background:#65f295}.CowCard .Bloodline li.orange,.card-list .CowCard ul.Bloodline li.orange{background:#ff7031}.CowCard .Bloodline li.purple,.card-list .CowCard ul.Bloodline li.purple{background:#d884f2}.CowCard .Bloodline li.white,.card-list .CowCard ul.Bloodline li.white{background:#fff}.CowCard .Bloodline li.yellow,.card-list .CowCard ul.Bloodline li.yellow{background:#fff931}.CowCard.is-purchased ul.Bloodline{margin:0 0 1em}.CowCard .Subheader .hearts [data-prefix=fas]{color:#ff4040}.CowCard .hearts{margin-top:.5em}.CowCard .hearts li{margin:0 .25em 0 0;display:inline}.card-list .CowCard .hearts{margin-top:.5em}.card-list .CowCard .hearts li{margin:0 .25em 0 0;display:inline}.CowCard.is-purchased .MuiCardHeader-root{padding-top:0}.CowCard.is-purchased .MuiCardHeader-title{align-items:baseline;display:flex}.CowCard-scroll-anchor{visibility:hidden;height:0;display:block;position:relative;top:-.75em}.CowPenContextMenu{flex-flow:column;display:flex}.CowPenContextMenu h3{text-align:center}.CowPenContextMenu .MuiTab-root{min-width:unset}.CowPenContextMenu .sort-wrapper{justify-content:flex-end;align-items:center;display:flex}.CowPenContextMenu .sort-wrapper .MuiFab-root{margin:0 1em}.CowPenContextMenu .sort-wrapper .sort-select{flex-grow:1}.ContextPane{max-width:600px;margin:0 auto}.ContextPane .MuiTabs-flexContainer{justify-content:center}.ContextPane>.MuiTabs-root{margin-top:4em}.ContextPane [role=tabpanel]{background:#ffffff80;border-radius:0 0 .5em .5em;padding:.5em}.ContextPane [role=tabpanel] .card-list>li:last-child{margin-bottom:0}.ContextPane{margin:0}.ContextPane h2{text-align:center;margin:.5em 0 1em}.ContextPane .is-selectable{cursor:pointer}.ContextPane .bulk-operations{display:flex}.ContextPane .bulk-operations button{flex-grow:1;margin:1em .5em 0}.AccountingView .loan-container p{margin:1em 0}.AccountingView .loan-container button{margin:1em}.AccountingView .MuiCardContent-root{padding-top:0}.ProgressBar{margin:0 auto}.ProgressBar p{text-align:center;line-height:2em}.ProgressBar .progress-wrapper{background:#ddd;border-radius:.5em;height:1em;overflow:hidden}.ProgressBar .progress{height:100%}.Achievement .MuiSvgIcon-root{color:#666}.Achievement.is-complete .MuiSvgIcon-root{color:#13b747}.AchievementsView h3{margin:0}.AchievementsView .ProgressBar{max-width:500px}.LogView h3{margin-bottom:1em}.LogView .MuiAlert-root p:last-child{margin-bottom:0}.RandomSeedInput{justify-content:center;display:flex}.SettingsView button{margin:.5em}.SettingsView fieldset{max-width:400px;margin:0 auto;display:block}.SettingsView .button-row{flex-direction:column;align-items:center;display:flex}.SettingsView .MuiFormControlLabel-root{margin:.5em 0}.StatsView h3,.StatsView .MuiTableContainer-root{max-width:400px;margin:0 auto 1em}.StatsView h3{margin-top:2em}.Navigation{flex-direction:column;flex-shrink:0;display:flex}.Navigation .version{text-align:center;font-family:Francois One,sans-serif}.Navigation .farm-name{margin:.25em 0;line-height:1.3em}.Navigation .farm-name .MuiInput-root{background:0 0;margin:0}.Navigation .farm-name .MuiInput-root input{text-align:center;padding-left:.5em;padding-right:.5em;font-family:Francois One}.Navigation .online-control-container{flex-direction:row;align-items:center;margin:1em 0;display:flex}.Navigation .online-control-container .toggle-container{min-width:155px}.sidebar .Navigation .button-array{margin-left:3em;margin-right:3em}@media (width<=320px){.sidebar .Navigation .button-array{margin-left:2em;margin-right:2em}}.Navigation .current-level{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.Navigation h1{font-size:3em;font-weight:700}@media (width<=320px){.Navigation h1{font-size:2.5em}}.Navigation button{min-width:56px;margin:.3em;font-size:1.3em}.Navigation h1,.Navigation h2,.Navigation h3{text-align:center}.Navigation .day-and-progress-container{align-items:center;margin:.5em auto;font-size:1.5em;display:flex}.Navigation .day-and-progress-container .MuiBox-root{margin-left:.5em;display:inline-flex;position:relative}.Navigation .inventory-info{font-size:1em}.Navigation .inventory-info.is-inventory-full{color:#ce0000}.Navigation .MuiSelect-select.MuiSelect-select{padding:1em}.Navigation .chat-placeholder{text-align:center;padding:.5em 0;font-size:.75em}.Plot{image-rendering:pixelated;background-repeat:no-repeat;background-size:cover;border:1px solid #000;flex-grow:1}.Plot:hover{cursor:pointer;background-color:#fffc}.Plot.is-in-hover-range{border-color:#fffc}.water-mode .Plot.crop:hover{cursor:pointer;background-color:#7df5ff99}.water-mode .Plot.is-in-hover-range{background-color:#7df5ff99}.fertilize-mode .Plot.can-be-fertilized{background-color:#7d3800bf}.fertilize-mode .Plot.can-be-fertilized:hover{cursor:pointer}.harvest-mode .Plot.can-be-harvested{background-color:#00ff0080}.harvest-mode .Plot.can-be-harvested:hover{cursor:pointer}.mine-mode .Plot.can-be-mined{background-color:#00ff0080}.mine-mode .Plot.can-be-mined:hover{cursor:pointer;border-color:#ffff00bf}.mine-mode .Plot.can-be-mined.is-in-hover-range{border-color:#ffff00bf}.cleanup-mode .Plot.crop{cursor:pointer;background-color:#ffff00bf}.harvest-mode.is-inventory-full .Plot.crop.can-be-harvested,.cleanup-mode.is-inventory-full .Plot.is-replantable{cursor:not-allowed;background-color:#ff000080}.cleanup-mode .Plot.is-replantable{cursor:pointer;background-color:#00ff0080}.cleanup-mode .Plot.can-be-harvested{cursor:auto;background-color:#00ff0080}.set-sprinkler-mode:hover .Plot:hover.is-empty img,.set-scarecrow-mode:hover .Plot:hover.is-empty img{cursor:pointer;opacity:.5}.set-sprinkler-mode:hover .Plot:hover:not(.is-empty),.set-scarecrow-mode:hover .Plot:hover:not(.is-empty){cursor:not-allowed;background-color:#ff000080;background-image:none}.set-sprinkler-mode:hover .Plot:hover.is-empty img{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlklEQVRIie1VQQqAMAzLxO/5AP+y4/7iA3zgPDikbG1XrYKIAWFsWRLSgcCPNyOXz8UL0qWUEgAgxujiDb14RYBLeIhrkJI1AlVC7cxsIAnBKm4xaEwoeuKAYQZenKqIg6eipv913tfTYp+DVBE7XAq6pzzl/gyUdIEzbkjKWa44mVZE9zWt8aK5mff4M/0Nbof1J/QhbIFgQxZVKNMbAAAAAElFTkSuQmCC)}.set-scarecrow-mode:hover .Plot:hover.is-empty img{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAA4UlEQVRIieWUvQ3CMBCF3yHEIEhsEadKQUHLEkgpvECWyBi0FBRUeIV0bEJjChzkOP45WyBF4kmWT9a9+86OY2Bh0mawRTnFn9d3sNnzvVzAp/goLmTFBBQr1EHWOcfqhXZA1oC+HDHOduzL5QK+JjbA6ngSp8S+RW5ROpxZ/qz/oMTLPSJd9wqDBAYJ1L3yAYsBepDzRbOWhKQAnC6jOeuAgez5tFW47QQaKACwYgE3F8638e3Am9g8lDeOeUIAuxsAoHsrZklmjQKeCZmromuapa6C7qq8h3A5b9H/An6uF4WMRHW3ug60AAAAAElFTkSuQmCC)}.Plot .was-just-shoveled{animation-name:fadeAwayShoveledContent}@keyframes fadeAwayShoveledContent{0%{opacity:1;transform:translate(0,0)scale(1)}to{opacity:0;visibility:hidden;transform:translateY(-100%)scale(.75)}}.Toolbelt button{flex-grow:1;margin:0 .5em}.Toolbelt .MuiButton-containedPrimary.selected{background-color:#0000;border:1px solid #000}.Toolbelt .MuiButton-containedPrimary.selected:hover{background-color:#ffffb3}.QuickSelect{max-width:calc(100% - 2em);position:fixed;bottom:7.5em;left:50%;transform:translate(-50%)}.QuickSelect.MuiPaper-root{background:#ffe3a1;border:2px solid #b68000;transition:background .225s cubic-bezier(0,0,.2,1)}.QuickSelect.MuiPaper-root.is-selected{background:#ffeec7}@media (orientation:landscape){.QuickSelect{bottom:auto}}@media (orientation:landscape) and (height<=450px){.QuickSelect{max-width:calc(100% - 12em);top:5em;left:calc(50% - 2.25em)}}@media (orientation:landscape) and (height>=450px){.QuickSelect{min-width:4em;max-height:calc(100vh - 20em);top:9em;left:auto;right:.75em;overflow:auto;transform:none}}@media (orientation:landscape) and (width<=960px){.menu-open .QuickSelect{display:none}}.QuickSelect .button-array{flex-flow:row;display:flex}@media (orientation:landscape) and (height>=450px){.QuickSelect .button-array{flex-flow:column}.QuickSelect{bottom:8em}}@media (orientation:portrait){.menu-open .QuickSelect{display:none}}.QuickSelect .MuiGrid-root{border-radius:.25em;padding:.5em;position:relative;overflow:scroll hidden}@media (orientation:landscape) and (height>=450px){.QuickSelect .MuiGrid-root{overflow-x:hidden}.QuickSelect .MuiGrid-root>*{align-items:center;width:3em}.QuickSelect .MuiGrid-root{flex-direction:column}}.QuickSelect .Toolbelt{flex-flow:column;justify-content:center;display:flex}.QuickSelect .MuiButton-root{min-width:3.5em;margin:0 .25em;padding:.5em}.QuickSelect .MuiButton-root img{filter:drop-shadow(2px 2px 2px #64646466)}.QuickSelect .MuiDivider-root{margin:0 .5em}@media (orientation:landscape) and (height>=450px){.QuickSelect .MuiDivider-root{width:100%;height:1px;margin:0 0 1em}}.QuickSelect .MuiButton-containedPrimary{background-color:#ffb913}.QuickSelect .MuiButton-containedPrimary:hover{background-color:#e5a000}.QuickSelect .MuiButton-textPrimary:hover{background-color:#fff7e4}.QuickSelect .quantity{color:#fff;background-color:#00000080;border-radius:1em;min-width:.5em;padding:.5em;font-size:.75em;line-height:calc(.75em - 1px);position:absolute;top:-2px;right:-2px}.Field{margin:0 auto}@media (orientation:portrait){.Field{margin-bottom:10.5em}}@media (orientation:portrait) and (width>=600px){.Field[data-purchased-field="0"]{max-width:calc(60vh - 215px)}.Field[data-purchased-field="1"]{max-width:calc(66.6667vh - 215px)}.Field[data-purchased-field="2"]{max-width:calc(62.5vh - 215px)}.Field[data-purchased-field="3"]{max-width:calc(66.6667vh - 215px)}}@media (orientation:landscape){.Field{margin:5em auto}}@media (orientation:landscape) and (height>=450px){.Field{margin-top:auto}}@media (orientation:landscape) and (height>=600px){.Field[data-purchased-field="0"]{max-width:calc(166.667vh - 395px)}.Field[data-purchased-field="1"]{max-width:calc(150vh - 395px)}.Field[data-purchased-field="2"]{max-width:calc(160vh - 395px)}.Field[data-purchased-field="3"]{max-width:calc(150vh - 395px)}}.Field .row{flex-direction:row;width:100%;display:flex}@media (orientation:landscape){.Field .row{flex-direction:column-reverse}}.Field .react-transform-component{width:auto;overflow:visible}.Field .react-transform-element{width:auto;height:auto;display:block}.Field .react-transform-element .row-wrapper{image-rendering:pixelated;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAACA0lEQVRYR6WXwWrEMAxEHViWQr+vp576ab332F8rlKWQ4lCHeKLnkdNclk1iWRqPZpTl47WsX49Snu+ltN+n+618P35K+3XP9f3yd1Gc9rzFPf5fakL1hm6qQa8mpUVGSVQw2rUnFCXlFjcEtGJNnoqJ3ls+325rPR69skHd8VIcKmJDKLu5InaqwtygfY5I7wjRWRPRqUIiNL2vCG8IUZfQ2btkXFKj7jtxSInquo1OiSTDcbVDiCpzxL2KcKRHO0IaVJGiFv9vsopY12UOTkqSkqIiSYTr/sv7S1mrUuqZO+I6RHV9llMhh5wuOSSVi474nQ41hLIVkTg6iaAiNPnOyxRWJwGuu2ZpsHGouT0tniWmG2HoJNo+HYecV7n5iHTMjTahl9FmmmT2WLOcUVoMEcoOZWQvxMHRUHByexrKiMCuO0dGWtdq0UOEssfodIsaJhJfnIdIqd3mkWEekaDn7f6leciNpU4qRkmh28+2MHUVEZukIPQyNxeRFMwacqR7nXWMztopueMctbomFc5DjrhkD7NdGSWJX66kyKRTxInMp09NrPMyt4mbZ2YRHSF8cntqWWcDVFS2+0K3J3twycwSegqhkfEdn7nJMRsnnBiJwGSMo6+GYyLZwf64Zv/qcHOPSyKbvIsT6pALTpxxOuS6scY9uX1WUZ2+ULe6BvgFS/BfKlY4GqkAAAAASUVORK5CYIIA);background-repeat:repeat;background-size:25%;border:1px solid #000;flex-direction:column;display:flex}@media (orientation:landscape){.Field .react-transform-element .row-wrapper{flex-direction:row;margin-right:4.5em}}.Field[data-purchased-field="1"] .react-transform-element{background-size:18.75%}.Field[data-purchased-field="2"] .react-transform-element{background-size:15%}.Field[data-purchased-field="3"] .react-transform-element{background-size:12.5%}.Field .slider-wrapper{background:#80808080;border-radius:2em;width:250px;padding:0 1em;transition:left .225s cubic-bezier(0,0,.2,1);position:fixed;bottom:7.5em;left:50%;transform:translate(-50%)}@media (orientation:portrait){.Field .slider-wrapper{bottom:13.5em}.menu-open .Field .slider-wrapper{display:none}}.menu-open .Field .slider-wrapper{left:calc(50vw + 11em)}.Field .zoom-controls{flex-direction:column;display:flex;position:fixed;bottom:1em}@media (orientation:portrait){.menu-open .Field .zoom-controls{display:none}}.Field .zoom-controls.zoom-in-wrapper{right:.5em}@media (orientation:portrait){.Field .zoom-controls.zoom-in-wrapper{right:.25em}}@media (orientation:landscape){.Field .zoom-controls.zoom-in-wrapper{bottom:5.5em}}@media (orientation:portrait){.Field .zoom-controls.zoom-out-wrapper{left:.5em}}@media (orientation:landscape){.Field .zoom-controls.zoom-out-wrapper{right:.5em}}@media (width<=400px){.Field .zoom-controls{bottom:.25em}}.Field .zoom-controls button{margin:.5em}.Field .MuiFormControl-root{align-items:center;padding:1em 0 0;display:flex}.Home{max-width:650px;margin:0 auto}.Home h1{text-align:center;margin-bottom:1em;font-size:3em}.Home h1.holiday-greeting{color:snow;line-height:1.25em}.Home p{margin-bottom:1em;font-size:1.2em;line-height:1.3em}.Home a{font-weight:700}.Home .MuiButton-containedPrimary{margin:0 auto;display:block}.CowPen{overflow:hidden}.CowPen .cow{opacity:0;z-index:20;transition:opacity .225s cubic-bezier(0,0,.2,1);position:absolute}.CowPen .cow:hover{cursor:pointer}.CowPen .cow:before{content:"";z-index:-1;background:#4d4d4d80;border-radius:50%;width:75px;height:16px;position:absolute;bottom:5px;left:16px}.CowPen .cow.is-loaded{opacity:1}.CowPen .cow.is-selected{z-index:40}.CowPen .cow.is-selected img{filter:drop-shadow(0 0 5px #fff)}.CowPen .cow img{width:100px;transition:filter .225s cubic-bezier(0,0,.2,1)}.CowPen .cow .fa-heart{color:#ff4040}.CowPen .cow .fa-heart.animation{opacity:0;position:absolute;top:10px;right:20px;transform:translateY(0)scale(1)}.CowPen .cow .fa-heart.animation.is-animating{animation-name:hug-indicator;animation-duration:.75s;animation-timing-function:ease-out;animation-iteration-count:1;animation-fill-mode:forwards}.CowPen .is-transitioning img{animation-name:cow-bounce;animation-duration:.5s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:forwards}.CowPen .happiness-boosts-today{z-index:-1;justify-content:space-evenly;width:80%;display:flex;position:absolute;bottom:-12px;left:10%}.CowPen .Tumbleweeds .Tumbleweed{animation-name:move-across-screen;animation-duration:5s;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:forwards}.CowPen .Tumbleweeds .Tumbleweed .bounce-container{animation-name:tumbleweed-bounce;animation-duration:1s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:forwards}.CowPen .Tumbleweeds .Tumbleweed:before{content:"";z-index:-1;background:#4d4d4d80;border-radius:50%;width:48px;height:16px;position:absolute;bottom:-5px;left:1px}@keyframes cow-bounce{0%,to{transform:translate(0)}20%,80%{transform:translateY(-32px)}40%,60%{transform:translateY(-48px)}}@keyframes tumbleweed-bounce{0%,to{transform:translate(0)}20%,80%{transform:translateY(-24px)}40%,60%{transform:translateY(-32px)}}@keyframes hug-indicator{0%{opacity:0;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-80px)scale(2)}to{opacity:0;transform:translateY(-80px)scale(2)}}@keyframes move-across-screen{0%{transform:translate(-48px)}to{transform:translate(calc(100% + 48px))}}.Shop{max-width:600px;margin:0 auto}.Shop .MuiTabs-flexContainer{justify-content:center}.Shop>.MuiTabs-root{margin-top:4em}.Shop [role=tabpanel]{background:#ffffff80;border-radius:0 0 .5em .5em;padding:.5em}.Shop [role=tabpanel] .card-list>li:last-child{margin-bottom:0}.Recipe{position:relative}.Recipe.can-be-made{cursor:pointer}.Recipe img{width:3em}.Recipe ul.card-list li,.Recipe ul.card-list li p{margin:0}.Recipe .out-of-stock{color:#ce0000}.Workshop{max-width:600px;margin:0 auto}.Workshop .MuiTabs-flexContainer{justify-content:center}.Workshop>.MuiTabs-root{margin-top:4em}.Workshop [role=tabpanel]{background:#ffffff80;border-radius:0 0 .5em .5em;padding:.5em}.Workshop [role=tabpanel] .card-list>li:last-child{margin-bottom:0}.Keg{position:relative}.Keg .MuiCardHeader-avatar img{filter:drop-shadow(1px 1px 2px #ff0083a1);width:3em}.FermentationRecipe{position:relative}.FermentationRecipe .MuiCardHeader-avatar img{filter:drop-shadow(1px 1px 2px #ff0083a1);width:3em}.fill{position:absolute;inset:0}img.square{background-repeat:no-repeat;background-size:cover;width:100%;display:block}.Cellar{max-width:600px;margin:0 auto}.Cellar .MuiTabs-flexContainer{justify-content:center}.Cellar>.MuiTabs-root{margin-top:4em}.Cellar [role=tabpanel]{background:#ffffff80;border-radius:0 0 .5em .5em;padding:.5em}.Cellar [role=tabpanel] .card-list>li:last-child{margin-bottom:0}.Stage{image-rendering:pixelated;background-size:96px;flex:2;margin-left:0;padding:1.5em 1.5em 0;transition:margin-left .225s cubic-bezier(0,0,.2,1);position:relative;overflow:auto}.Stage h3{text-align:center}.use-alternate-end-day-button-position .Stage{padding-top:4em}@media (width<=320px){.use-alternate-end-day-button-position .Stage{padding-top:4.5em}}.menu-open .Stage{transition-property:padding,margin-left}@media (width<=600px){.menu-open .Stage{padding:0}}.menu-open .Stage>*{opacity:1;transition:opacity .225s cubic-bezier(0,0,.2,1)}@media (width<=600px){.menu-open .Stage>*{opacity:0}}.menu-closed .Stage{margin-left:-22em;transition:margin-left .195s cubic-bezier(.4,0,.6,1)}@media (width<=320px){.menu-closed .Stage{margin-left:-320px}}.Stage[data-stage-focus=HOME]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAk0lEQVRoge2UoRGAMBAECZYS8HRDw5QSnxKig88gfgaxl59befPi12wZzz22idr6dp3HPEvu5UtgJXb6gb9YgCaPQG3980B9d4VoLECTU0ClMJHdFaKxAE0eAcXCRHZXiMYCNDkFVAoT2V0hGgvQ5BFQLExkd4VoLECTU0ClMJHdFaKxAE0eAcXCRHZXiMYCNMsLvBG5ypkvoIETAAAAAElFTkSuQmCC)}.Stage[data-stage-focus=HOME].is-october{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAYAAABNChwpAAAA4UlEQVRYR+2VMQ6DMAxFYe4R2LsxdOopuHBv0KkDW/ceoTOVK/0qhICd8K0wNBNyIv3nH5PfTrdhaiqu9vAAz9f768+5O7n4tOmAt7h0tAAIRde+mVbMACCoCTCv4wcQio+Pe9NfrjOOuMaCWACIEBYgUjU3AM1+7LsCVL0CdBjaLrV4JugOiEjVvwCdhxDoMlWzzop27vhZoHWwd//vgLsDWqK6AmjiyTjeO1S5cU51oOQhowGUxjkdIDfO6QDWGcIz7wKQE+cuAOKCNc5pAKVxTgWIISxxTgewDiHOVQf4AHx92LXFZzetAAAAAElFTkSuQmCC)}.Stage[data-stage-focus=HOME].is-december{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAQdJREFUeJztmcERgyAUBZ9pIjVRUa5UldT0K/BITnhKZpgYXYG3Bei6oyCwxFrKPb9EEznpTI/ISZK06PEsp931YkROcweQpBstQNMcoH4zo9EUoD78iBGaAtTR+Qqzxb/xIEgL0DgALUDTTYCjZiAPgrQAjQPQAjQOcNSFe1k3eBagBWgcgBagcYBeRuujmP4NWGIt2zQ44pbXN7aDkaucDFH4E/Cf4OQ4AC1A4wC0AI0D0AI0DkAL0DgALUDjALQAze4AkVM3hyCfmP4N8H4ALUDjALQAjQPQAjQOQAvQOAAtQDNEgD3rkSECSL+fbHstQAvQOAAtQOMAtACNA9ACFWJjNXLSG2nxQbKUEorlAAAAAElFTkSuQmCC)}.Stage[data-stage-focus=SHOP]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAx0lEQVRoQ+2WwQ3AIAwDYRVW6dx9dg1GKf1WlEcTAUks94maBHzGIt/taqn7aj1TKUe/nDyu59EBPjt3vMADWMMhATcEPCbMnySkhdxYyHoj2vm0kFa5WXVDApESiRaaZQVtHxLQKjerDodApOR5v5FwCMzy5O4+JLBb8X4eJoFIiYRJwNrXkvkkIFFrxb84BCIlD99CK7ys7YlzB7QKWNdhEoiUSJgErH0tmU8CErVW/ItDIFLy8C20wsvanjh3QKuAdV14Ag9MlnJUFzG78wAAAABJRU5ErkJgggAA)}.Stage[data-stage-focus=WORKSHOP]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAyUlEQVRoQ+2WwRGAIAwEQw0WYf/l+LQAPzaAXwd5mAyQ5OZ8MiaB2+OGcp+1SvNdh8i2t6siEddL7wDfrcdd4QG82ZBAGAIRE+ZPEtJCYSzkvRHrfFrIqtyoui6BTIlEC42ygrUPCViVG1WHQyBT8rzfSDgERnlydR8SWK14Ow+TQKZEwiTg7WvNfBLQqDXjXxwCmZKHb6EZXrb2xLkDVgW86zAJZEokTALevtbMJwGNWjP+xSGQKXn4FprhZWtPnDtgVcC7Lj2BB3XCNohEy6k2AAAAAElFTkSuQmCC)}.Stage[data-stage-focus=CELLAR]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAzUlEQVRoQ+2WwRGAIAwEoQDb8GEX/mzTpnzYhgXo10EekgkkuTmfjEng9rghb/t6p+I7ryPN01IuJ4/ruXaAz84dL/AA1nBIwA0BjwnzJwlpITcWst6IdD4tJFVOq65KIFIi0UJaVpD2IQGpclp1OAQiJc/7jYRDQMuTo/uQwGjFy3mYBCIlEiYBa1+3zCeBFrV6/ItDIFLy8C3Uw8vSnjh3QKqAdR0mgUiJhEnA2tct80mgRa0e/+IQiJQ8fAv18LK0J84dkCpgXReewAMJ+CZ83BE+2AAAAABJRU5ErkJgggAA)}.Stage[data-stage-focus=FIELD],.Stage[data-stage-focus=COW_PEN]{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAABp0lEQVRoQ92Y63HDMAyD5RE6QMfLCp2qi2SODtARkmt7yTmuJIAEeHbiv+LrIyjZ8vJxbpe28/P91drbe66IZQ2gBMql//Ni8o5sZAAm+RqOtd/aUQCzLo4CsAXdYrP2rN2DAhkAZXQcvjSAI1lFjBIAVn4H0K4ADtASALaz7EkzO8V+ARydYItWD4ptrVMAJ5gz1roJ0xFyJnXGogGiclcVOasjvYl7xT4VgGPTOmKkFXAkd8S4AyD50fqoGNZvZjdbex0Ah5xsDFYVJp60B7KFZP16d4pdAJjOsu8gCaCXRO1uFE6+E28TPj1AtIOqinCEqjuqfpIcEiCiIgRAwaoVmt3GftZKAdxwvXjL6bNdsv8lj6BOKYB6wqAGWUaISYLmOBrDcqVUkiLfyN75t4lZZ9YOFauO2SEBItDyMcp+NTJFZVSlATLBoz6Za2UpANN11mb0zUQDsIlYu6g6o81uAcgUk/HpQewG4Hq50b9V2NHI2ClqHAIgA33zgSOkdMcxJij/6wMo8lb5rlWBCkSLQJKjeIy/BIASoHUHgHQfUAtEANH1K9JWO4Tg58LYAAAAAElFTkSuQmCC);background-size:30%}@media (width>=960px){.Stage[data-stage-focus=FIELD],.Stage[data-stage-focus=COW_PEN]{background-size:10%}}.Stage h2{font-size:1.2em}.Stage .view-title{text-align:center;margin-bottom:.6em;font-size:2.5em}@media (width>=450px){.Stage .view-title{display:none}}.Stage section{padding:.5em 0}@media (width<=600px){.Stage section{font-size:1em}}@font-face{font-family:Francois One;font-style:normal;font-display:swap;font-weight:400;src:url(./francois-one-vietnamese-400-normal-BLIKeG5Y.woff2)format("woff2"),url(./francois-one-vietnamese-400-normal-CuWeHlXs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Francois One;font-style:normal;font-display:swap;font-weight:400;src:url(./francois-one-latin-ext-400-normal-CwRdWRZD.woff2)format("woff2"),url(./francois-one-latin-ext-400-normal-JvkpT0Av.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Francois One;font-style:normal;font-display:swap;font-weight:400;src:url(./francois-one-latin-400-normal-DD1rFI7H.woff2)format("woff2"),url(./francois-one-latin-400-normal-DNXs7uOx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./public-sans-vietnamese-400-normal-TxZB8OSn.woff2)format("woff2"),url(./public-sans-vietnamese-400-normal-BO1meqcx.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./public-sans-latin-ext-400-normal-mk90oQqJ.woff2)format("woff2"),url(./public-sans-latin-ext-400-normal-B02wwOdZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./public-sans-latin-400-normal-8Rpg0ruU.woff2)format("woff2"),url(./public-sans-latin-400-normal-SBbinRkI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}