diff --git a/.gitignore b/.gitignore
index fc6eb82..a0ddddd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
+.thing
# dependencies
/node_modules
/.pnp
diff --git a/content/docs/getting-started/multiplayer-balance-changes.mdx b/content/docs/getting-started/multiplayer-balance-changes.mdx
deleted file mode 100644
index ce49e70..0000000
--- a/content/docs/getting-started/multiplayer-balance-changes.mdx
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title: Balance Changes
-description: Learn about the multiplayer balance changes in Balatro MP, including new jokers, planet cards, and adjustments to glass cards and tarot cards.
----
-
-## Jokers
-
-### Multiplayer Jokers
-
-There are **10 added multiplayer jokers**. All jokers added in the multiplayer mod are designed
-to **interact with your opponent** and will not show up in single player games.
-See page 11 for a list of added jokers.
-
-
- These jokers can be removed by unchecking the **"Enable Multiplayer Cards"** option in the lobby options.
-
-
-### Disabled Jokers
-The following jokers are **unavailable** in multiplayer due to their interaction with boss blinds:
-- **Chicot**
-- **Matador**
-- **Mr. Bones**
-- **Luchador**
-
-### Changes
-
-#### Hanging Chad
-Hanging Chad has been reworked to **retrigger the first 2 cards once** instead of the first card twice.
-
-## Planet cards
-
-
-### Asteroid
-
-**Removes one level** from your opponent's highest levelled planet.
-
-
- These planet cards can be removed by unchecking the **"Enable Multiplayer Cards"** option in the lobby options.
-
-
-## Tarot Cards
-
-### Justice
-
-This card is not available in the standard ruleset.
-
-## Enhancements
-### Glass Cards
-
-Glass cards are now **1.5x** instead of 2x multiplier and can **only** be found in:
-
-- Standard packs
-- Spectral cards that spawn cards (Grim, Incantation, and Familiar)
diff --git a/content/docs/meta.json b/content/docs/meta.json
index c3588d8..149a674 100644
--- a/content/docs/meta.json
+++ b/content/docs/meta.json
@@ -2,6 +2,7 @@
"pages": [
"index",
"getting-started",
+ "multiplayer-content",
"rulesets",
"ranked-matchmaking",
"advanced"
diff --git a/content/docs/multiplayer-content/jokers.mdx b/content/docs/multiplayer-content/jokers.mdx
new file mode 100644
index 0000000..e63aa76
--- /dev/null
+++ b/content/docs/multiplayer-content/jokers.mdx
@@ -0,0 +1,5 @@
+---
+title: Jokers
+description: Multiplayer-specific Jokers
+---
+
diff --git a/content/docs/multiplayer-content/meta.json b/content/docs/multiplayer-content/meta.json
new file mode 100644
index 0000000..de2ea3f
--- /dev/null
+++ b/content/docs/multiplayer-content/meta.json
@@ -0,0 +1,4 @@
+{
+ "pages": ["jokers"],
+ "defaultOpen": true
+}
diff --git a/content/docs/ranked-matchmaking/faq.mdx b/content/docs/ranked-matchmaking/faq.mdx
new file mode 100644
index 0000000..b70da5f
--- /dev/null
+++ b/content/docs/ranked-matchmaking/faq.mdx
@@ -0,0 +1,7 @@
+---
+title: FAQ
+description: Answers to common questions about the Ranked Matchmaking.
+---
+
+## what happens if you take a rare skip? does your opponent get that rare in the next shop?
+
diff --git a/content/docs/ranked-matchmaking/introduction.mdx b/content/docs/ranked-matchmaking/introduction.mdx
new file mode 100644
index 0000000..252e141
--- /dev/null
+++ b/content/docs/ranked-matchmaking/introduction.mdx
@@ -0,0 +1,15 @@
+---
+title: Introduction
+description: Learn how to play ranked matches in Balatro Multiplayer.
+---
+
+If you want to compete in ranked matches in Balatro Multiplayer and make your way to the leaderboards you have two options:
+
+## Ranked Queue
+
+The **Ranked Queue** is the default queue in Balatro Multiplayer. It is a queue where players can compete against other players in a ranked matchmaking system.
+
+One of the main differentiators of the Ranked Queue is that
+**it includes changes to the base game balance.**
+These changes are meant to make the game **less RNG-heavy and more balanced** for competitive play.
+
diff --git a/content/docs/ranked-matchmaking/meta.json b/content/docs/ranked-matchmaking/meta.json
new file mode 100644
index 0000000..2bc3fa1
--- /dev/null
+++ b/content/docs/ranked-matchmaking/meta.json
@@ -0,0 +1,5 @@
+{
+ "title": "Ranked Matchmaking",
+ "pages": ["introduction", "multiplayer-balance-changes", "faq"],
+ "defaultOpen": true
+}
diff --git a/content/docs/ranked-matchmaking/multiplayer-balance-changes.mdx b/content/docs/ranked-matchmaking/multiplayer-balance-changes.mdx
new file mode 100644
index 0000000..f2bd925
--- /dev/null
+++ b/content/docs/ranked-matchmaking/multiplayer-balance-changes.mdx
@@ -0,0 +1,281 @@
+---
+title: Balance Changes
+description: Learn about the multiplayer balance changes in Balatro MP, including new jokers, planet cards, and adjustments to glass cards and tarot cards.
+---
+
+## Jokers
+
+### Multiplayer Jokers
+
+There are **10 added multiplayer jokers**. All jokers added in the multiplayer mod are designed
+to **interact with your opponent** and will not show up in single player games.
+
+
+
+
+
+
Joker
+
Description
+
Notes
+
+
+
+
+
+ #### Defensive Joker [toc]
+
+
+
+ +125 Chips for every life less than your Nemesis.
+
+
+ There is a bug where this joker might appear in single player mode. To fix this, disable the multiplayer
+ mod when playing single player.
+
+
+
+
+
+ #### Skip-Off [toc]
+
+
+
+ +1 Hands and +1 Discards per additional blind skipped compared to your
+ Nemesis.
+
+
+
+
+
+ #### Let's Go Gambling [toc]
+
+
+
+
+ 1 in 4 chance for X4 Mult and $10
+ 1 in 8 chance to give your Nemesis $5
+
+
+
+ The effect applies on each hand played.
+
+
+
+
+ #### Speedrun [toc]
+
+
+
+ If you reach a PvP Blind before your Nemesis, create a
+ random Spectral card. Must have room.
+
+
+ There is a bug where the spectral card might not be created, but is is very rare. We're working on a
+ fix.
+
+
+
+
+ #### Conjoined Joker [toc]
+
+
+
+ While in a PvP Blind, gain
+ X1 Mult for every Hand
+ your Nemesis has left
+ (Max X5 Mult)
+
+
+
+
+
+ #### Penny Pincher [toc]
+
+
+
+ At start of shop, gain
+ $1 for every $3 your Nemesis spent last shop
+
+
+
+
+
+ #### Taxes [toc]
+
+
+
+ This Joker gains +5 Mult each time your Nemesis sells a card
+
+
+
+
+
+ #### Magnet [toc]
+
+
+
+ After 2 rounds, sell this card to Copy your Nemesis' highest sell cost Joker. Does not
+ copy Joker state.
+
+
+ If your Nemesis has multiple Jokers that have the highest sell cost, a random one will be copied.
+
+
+
+
+ #### Pizza [toc]
+
+
+
+
+ +6 Discards for all players
+ -1 Discard when any player selects a blind
+ Eaten when your Nemesis skips
+
+
+
+
+
+
+ #### Pacifist [toc]
+
+
+
+
+ X10 Mult while not in a PvP Blind
+
+
+
+
+
+
+
+
+
+ These jokers can be removed by unchecking the **"Enable Multiplayer Cards"** option in the lobby options.
+
+
+### Disabled Jokers
+The following jokers are **unavailable** in multiplayer due to their interaction with boss blinds:
+
+
+
+
+
+
Joker
+
Description
+
+
+
+
+
+ #### Chicot [toc]
+
+
+
+ Disables effect of every Boss Blind
+
+
+
+
+ #### Matador [toc]
+
+
+
+ Earn $8 if played hand triggers the Boss Blind ability
+
+
+
+
+ #### Mr. Bones [toc]
+
+
+
+ Prevents Death if chips scored are at least 25% of required chips.
+ Self destructs
+
+
+
+
+ #### Luchador [toc]
+
+
+
+ Sell this card to disable the current Boss Blind
+
+
+
+
+
+
+
+### Modified Jokers
+
+These jokers are modified versions of the original jokers.
+
+
+
+
+
+
Joker
+
Description
+
+
+
+
+
+ #### Hanging Chad [toc]
+
+
+
+ Retrigger first and second played cards used in
+ scoring 1 additional time
+
+
+
+
+
+
+## Planet cards
+
+
+
+
+
+
Joker
+
Description
+
+
+
+
+
+ ### Asteroid [toc]
+
+
+
+ Removes one level from your Nemesis' highest level poker hand.
+
+
+
+
+
+
+
+
+
+ These planet cards can be removed by unchecking the **"Enable Multiplayer Cards"** option in the lobby options.
+
+
+## Tarot Cards
+
+### Justice
+
+This card is not available in the standard ruleset.
+
+## Enhancements
+### Glass Cards
+
+Glass cards are now **1.5x** instead of 2x multiplier and can **only** be found in:
+
+- Standard packs
+- Spectral cards that spawn cards (Grim, Incantation, and Familiar)
diff --git a/public/images/players/bear.png b/public/images/players/bear.png
new file mode 100644
index 0000000..5940ea7
Binary files /dev/null and b/public/images/players/bear.png differ
diff --git a/public/images/players/doc.png b/public/images/players/doc.png
new file mode 100644
index 0000000..a21bb08
Binary files /dev/null and b/public/images/players/doc.png differ
diff --git a/public/images/players/edzy.png b/public/images/players/edzy.png
new file mode 100644
index 0000000..387c451
Binary files /dev/null and b/public/images/players/edzy.png differ
diff --git a/public/images/players/gothic.png b/public/images/players/gothic.png
new file mode 100644
index 0000000..b17c8c5
Binary files /dev/null and b/public/images/players/gothic.png differ
diff --git a/public/images/players/haelian.png b/public/images/players/haelian.png
new file mode 100644
index 0000000..7ea5b1c
Binary files /dev/null and b/public/images/players/haelian.png differ
diff --git a/public/images/players/malf.png b/public/images/players/malf.png
new file mode 100644
index 0000000..9318068
Binary files /dev/null and b/public/images/players/malf.png differ
diff --git a/public/images/players/nandre.jpg b/public/images/players/nandre.jpg
new file mode 100644
index 0000000..f35803e
Binary files /dev/null and b/public/images/players/nandre.jpg differ
diff --git a/public/images/players/neato.jpg b/public/images/players/neato.jpg
new file mode 100644
index 0000000..5d94617
Binary files /dev/null and b/public/images/players/neato.jpg differ
diff --git a/public/images/players/roffle.png b/public/images/players/roffle.png
new file mode 100644
index 0000000..276e1cf
Binary files /dev/null and b/public/images/players/roffle.png differ
diff --git a/public/images/players/seadubbs.png b/public/images/players/seadubbs.png
new file mode 100644
index 0000000..3f60a2d
Binary files /dev/null and b/public/images/players/seadubbs.png differ
diff --git a/public/images/players/skoottie.jpg b/public/images/players/skoottie.jpg
new file mode 100644
index 0000000..759aa6e
Binary files /dev/null and b/public/images/players/skoottie.jpg differ
diff --git a/public/images/players/zaino.png b/public/images/players/zaino.png
new file mode 100644
index 0000000..40caa64
Binary files /dev/null and b/public/images/players/zaino.png differ
diff --git a/src/app/(home)/major-league-balatro/_components/competitors.tsx b/src/app/(home)/major-league-balatro/_components/competitors.tsx
new file mode 100644
index 0000000..6c28b00
--- /dev/null
+++ b/src/app/(home)/major-league-balatro/_components/competitors.tsx
@@ -0,0 +1,55 @@
+import { PlayerCard } from '@/app/(home)/major-league-balatro/_components/player-card'
+import { players } from '@/app/(home)/major-league-balatro/_constants/players'
+import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'
+
+export function Competitors() {
+ return (
+
+
+
+ The Competitors
+
+
+ 12 talented creators split into Blue and Red divisions.
+
+
+ )
+}
diff --git a/src/app/(home)/major-league-balatro/_components/organizer.tsx b/src/app/(home)/major-league-balatro/_components/organizer.tsx
new file mode 100644
index 0000000..e58872f
--- /dev/null
+++ b/src/app/(home)/major-league-balatro/_components/organizer.tsx
@@ -0,0 +1,53 @@
+import { Button } from '@/components/ui/button'
+import { ExternalLink, Twitch, Users, Youtube } from 'lucide-react'
+import Link from 'next/link'
+
+export function Organizer() {
+ return (
+
+
+
+ About the Organizer
+
+
+
+
+
+
+
+
+
+
+
ZainoTV
+
+ ZainoTV is the creator and organizer of Major League Balatro. With a
+ passion for competitive gaming and the Balatro community, Zaino has
+ brought together 12 talented creators for this exciting tournament.
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/app/(home)/major-league-balatro/_components/player-avatar.tsx b/src/app/(home)/major-league-balatro/_components/player-avatar.tsx
new file mode 100644
index 0000000..ecbe107
--- /dev/null
+++ b/src/app/(home)/major-league-balatro/_components/player-avatar.tsx
@@ -0,0 +1,30 @@
+import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'
+interface PlayerAvatarProps {
+ playerName: string
+ img?: string
+ className?: string
+}
+
+export function PlayerAvatar({
+ playerName,
+ img,
+ className,
+}: PlayerAvatarProps) {
+ const initials = getInitials(playerName)
+ return (
+
+
+ {initials}
+
+ )
+}
+
+function getInitials(name: string) {
+ if (!name || name === 'TBD') return '?'
+
+ const parts = name.split(' ')
+ if (parts.length === 1) return name.substring(0, 2).toUpperCase()
+ return (
+ (parts?.[0]?.[0] ?? '') + (parts[parts.length - 1]?.[0] ?? '')
+ ).toUpperCase()
+}
diff --git a/src/app/(home)/major-league-balatro/_components/player-card.tsx b/src/app/(home)/major-league-balatro/_components/player-card.tsx
new file mode 100644
index 0000000..b45dbdf
--- /dev/null
+++ b/src/app/(home)/major-league-balatro/_components/player-card.tsx
@@ -0,0 +1,54 @@
+import type { Player } from '@/app/(home)/major-league-balatro/types'
+import { OptimizedImage } from '@/components/optimized-image'
+import { Button } from '@/components/ui/button'
+import { Card, CardContent } from '@/components/ui/card'
+import { SiTwitch, SiYoutube } from '@icons-pack/react-simple-icons'
+import Link from 'next/link'
+
+export type PlayerCardProps = {
+ picture: string
+ name: string
+ socials: Player['socials']
+}
+
+export function PlayerCard(player: PlayerCardProps) {
+ return (
+
+
+
+
+ )
+}
diff --git a/src/app/(home)/major-league-balatro/_components/prize-pool.tsx b/src/app/(home)/major-league-balatro/_components/prize-pool.tsx
new file mode 100644
index 0000000..7bba33d
--- /dev/null
+++ b/src/app/(home)/major-league-balatro/_components/prize-pool.tsx
@@ -0,0 +1,45 @@
+import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'
+import { Separator } from '@/components/ui/separator'
+import { Heart } from 'lucide-react'
+
+export function PrizePool() {
+ return (
+
+
+
+ Prize Pool
+
+
+ Playing for charity and glory.
+
+
+
+
+
+
+
+
+ Charity Prize Pool
+
+
+
+
+ $500+
+
+
+ The prize pool is creator-funded and will be donated to the
+ winner's charity of choice. We're hoping to add to this amount as
+ the tournament progresses.
+
+
+
+ Each creator is playing for a charity of their choice. The full
+ amount will be donated to the champion's selected charity at the
+ conclusion of the tournament.
+